diff --git a/.gitmodules b/.gitmodules index 274a00851..826649f0a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -65,3 +65,9 @@ [submodule "resources/language-submodules/tree-sitter-php"] path = resources/language-submodules/tree-sitter-php url = https://github.com/tree-sitter/tree-sitter-php +[submodule "resources/language-submodules/tree-sitter-cpp"] + path = resources/language-submodules/tree-sitter-cpp + url = https://github.com/tree-sitter/tree-sitter-cpp +[submodule "resources/language-submodules/tree-sitter-c"] + path = resources/language-submodules/tree-sitter-c + url = https://github.com/tree-sitter/tree-sitter-c diff --git a/Cargo.lock b/Cargo.lock index c42860b50..27c3e4163 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -481,12 +481,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.90" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1855,9 +1856,9 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -2207,6 +2208,7 @@ dependencies = [ "serde", "serde_json", "tree-sitter-c-sharp", + "tree-sitter-cpp", "tree-sitter-css", "tree-sitter-facade-sg", "tree-sitter-go", @@ -3111,9 +3113,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", @@ -4099,6 +4101,14 @@ dependencies = [ "tree-sitter", ] +[[package]] +name = "tree-sitter-cpp" +version = "0.22.1" +dependencies = [ + "cc", + "tree-sitter", +] + [[package]] name = "tree-sitter-css" version = "0.20.0" diff --git a/crates/core/src/test.rs b/crates/core/src/test.rs index d0a53b23b..6247e0b64 100644 --- a/crates/core/src/test.rs +++ b/crates/core/src/test.rs @@ -14987,3 +14987,54 @@ fn or_file() { }) .unwrap(); } + +#[test] +fn cpp_simple() { + run_test_expected({ + TestArgExpected { + pattern: r#" + |language cpp + |`char* editor = $string_literal;` => `char* editor = "emacs";` + |"# + .trim_margin() + .unwrap(), + source: r#"char* editor = "vim";"#.to_owned(), + expected: r#"char* editor = "emacs";"#.to_owned(), + } + }) + .unwrap(); +} + +#[test] +fn cpp_rename_variable_name() { + run_test_expected({ + TestArgExpected { + pattern: r#" + |language cpp + |`char* $name = $val;` => `char* new_name = $val;` + |"# + .trim_margin() + .unwrap(), + source: r#"char* my_string = "hey";"#.to_owned(), + expected: r#"char* new_name = "hey";"#.to_owned(), + } + }) + .unwrap(); +} + +#[test] +fn cpp_change_float_to_double() { + run_test_expected({ + TestArgExpected { + pattern: r#" + |language cpp + |`int $foo` => `int what` + |"# + .trim_margin() + .unwrap(), + source: r#"int foo"#.to_owned(), + expected: r#"int foo"#.to_owned(), + } + }) + .unwrap(); +} diff --git a/crates/language/Cargo.toml b/crates/language/Cargo.toml index 4d10e62c7..3fd7d0ac0 100644 --- a/crates/language/Cargo.toml +++ b/crates/language/Cargo.toml @@ -15,6 +15,7 @@ rust.unused_crate_dependencies = "warn" [dependencies] tree-sitter = { path = "../../vendor/tree-sitter-facade", package = "tree-sitter-facade-sg" } tree-sitter-gritql = { path = "../../vendor/tree-sitter-gritql", optional = true } +tree-sitter-cpp = { path = "../../resources/language-metavariables/tree-sitter-cpp", optional = true } tree-sitter-css = { path = "../../resources/language-metavariables/tree-sitter-css", optional = true } tree-sitter-json = { path = "../../resources/language-metavariables/tree-sitter-json", optional = true } tree-sitter-solidity = { path = "../../resources/language-metavariables/tree-sitter-solidity", optional = true } @@ -64,6 +65,7 @@ builtin-parser = [ "tree-sitter-javascript", "tree-sitter-html", "tree-sitter-java", + "tree-sitter-cpp", "tree-sitter-c-sharp", "tree-sitter-python", "tree-sitter-md", diff --git a/crates/language/src/cpp.rs b/crates/language/src/cpp.rs new file mode 100644 index 000000000..99f639da2 --- /dev/null +++ b/crates/language/src/cpp.rs @@ -0,0 +1,105 @@ +use crate::language::{fields_for_nodes, Field, MarzanoLanguage, NodeTypes, SortId, TSLanguage}; +use grit_util::Language; +use marzano_util::node_with_source::NodeWithSource; +use std::sync::OnceLock; + +static NODE_TYPES_STRING: &str = include_str!("../../../resources/node-types/cpp-node-types.json"); +static NODE_TYPES: OnceLock>> = OnceLock::new(); +static LANGUAGE: OnceLock = OnceLock::new(); + +#[cfg(not(feature = "builtin-parser"))] +fn language() -> TSLanguage { + unimplemented!( + "tree-sitter parser must be initialized before use when [builtin-parser] is off." + ) +} +#[cfg(feature = "builtin-parser")] +fn language() -> TSLanguage { + tree_sitter_cpp::language().into() +} + +#[derive(Debug, Clone)] +pub struct Cpp { + node_types: &'static [Vec], + metavariable_sort: SortId, + comment_sort: SortId, + language: &'static TSLanguage, +} + +impl Cpp { + pub(crate) fn new(lang: Option) -> Self { + let language = LANGUAGE.get_or_init(|| lang.unwrap_or_else(language)); + let node_types = NODE_TYPES.get_or_init(|| fields_for_nodes(language, NODE_TYPES_STRING)); + let metavariable_sort = language.id_for_node_kind("grit_metavariable", true); + let comment_sort = language.id_for_node_kind("comment", true); + Self { + node_types, + metavariable_sort, + comment_sort, + language, + } + } + + pub(crate) fn is_initialized() -> bool { + LANGUAGE.get().is_some() + } +} + +impl NodeTypes for Cpp { + fn node_types(&self) -> &[Vec] { + self.node_types + } +} + +impl Language for Cpp { + use_marzano_delegate!(); + + fn language_name(&self) -> &'static str { + // TODO: Confirm C++ vs Cpp, etc. here. + "C++" + } + + fn snippet_context_strings(&self) -> &[(&'static str, &'static str)] { + // TODO: Unclear about other good additions here. Presumably, there are many. + // TODO: Unclear if the following additions are good or bad. + &[ + ("", ""), + ("", ";"), + ("{", "}"), + ("", " void GRIT_FN() {}"), + ("void GRIT_FN(", "){}"), + ("void GRIT_FN(){", "}"), + ] + } +} + +impl<'a> MarzanoLanguage<'a> for Cpp { + fn get_ts_language(&self) -> &TSLanguage { + self.language + } + + fn is_comment_sort(&self, id: SortId) -> bool { + id == self.comment_sort + } + + fn metavariable_sort(&self) -> SortId { + self.metavariable_sort + } +} + +#[cfg(test)] +mod tests { + + use crate::language::nodes_from_indices; + + use super::*; + + #[test] + fn snippet_nodes_not_empty() { + let snippet = r#"std::cout << "Hello World!";"#; + let lang = Cpp::new(None); + let snippets = lang.parse_snippet_contexts(snippet); + let nodes = nodes_from_indices(&snippets); + assert!(!nodes.is_empty()); + } +} diff --git a/crates/language/src/lib.rs b/crates/language/src/lib.rs index ba809abe2..2005e9382 100644 --- a/crates/language/src/lib.rs +++ b/crates/language/src/lib.rs @@ -56,6 +56,7 @@ macro_rules! use_marzano_delegate { }; } +pub mod cpp; pub mod csharp; pub mod css; pub mod foreign_language; diff --git a/resources/edit_grammars.mjs b/resources/edit_grammars.mjs index 3fea0cd0a..a330a2f1d 100644 --- a/resources/edit_grammars.mjs +++ b/resources/edit_grammars.mjs @@ -42,6 +42,8 @@ process.on('uncaughtException', (err) => { /////////////////////////////////////////////////// const allLanguages = [ 'c-sharp', + 'c', + 'cpp', 'css', 'go', 'hcl', diff --git a/resources/language-metavariables/tree-sitter-c/.editorconfig b/resources/language-metavariables/tree-sitter-c/.editorconfig new file mode 100644 index 000000000..d3a8b5b69 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/.editorconfig @@ -0,0 +1,39 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.rs] +indent_style = space +indent_size = 4 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.{py,pyi}] +indent_style = space +indent_size = 4 + +[*.swift] +indent_style = space +indent_size = 4 + +[*.go] +indent_style = tab +indent_size = 8 + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/resources/language-metavariables/tree-sitter-c/.gitattributes b/resources/language-metavariables/tree-sitter-c/.gitattributes new file mode 100644 index 000000000..ffb52abec --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/.gitattributes @@ -0,0 +1,11 @@ +* text 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/resources/language-metavariables/tree-sitter-c/.gitignore b/resources/language-metavariables/tree-sitter-c/.gitignore new file mode 100644 index 000000000..27fc43f72 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/.gitignore @@ -0,0 +1,38 @@ +# Rust artifacts +Cargo.lock +target/ + +# Node artifacts +build/ +prebuilds/ +node_modules/ +*.tgz + +# Swift artifacts +.build/ + +# Go artifacts +go.sum +_obj/ + +# Python artifacts +.venv/ +dist/ +*.egg-info +*.whl + +# C artifacts +*.a +*.so +*.so.* +*.dylib +*.dll +*.pc + +# Example dirs +/examples/*/ + +# Grammar volatiles +*.wasm +*.obj +*.o diff --git a/resources/language-metavariables/tree-sitter-c/Cargo.toml b/resources/language-metavariables/tree-sitter-c/Cargo.toml new file mode 100644 index 000000000..80caf7ca0 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "tree-sitter-c" +description = "C grammar for tree-sitter" +version = "0.21.4" +authors = [ + "Max Brunsfeld ", + "Amaan Qureshi ", +] +license = "MIT" +keywords = ["incremental", "parsing", "tree-sitter", "c"] +categories = ["parsing", "text-editors"] +repository = "https://github.com/tree-sitter/tree-sitter-c" +edition = "2021" +autoexamples = false + +build = "bindings/rust/build.rs" +include = ["bindings/rust/*", "grammar.js", "queries/*", "src/*"] + +[lib] +path = "bindings/rust/lib.rs" + +[dependencies] +tree-sitter = "~0.20" + +[build-dependencies] +cc = "1.0.90" diff --git a/resources/language-metavariables/tree-sitter-c/LICENSE b/resources/language-metavariables/tree-sitter-c/LICENSE new file mode 100644 index 000000000..4b52d191c --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Max Brunsfeld + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/resources/language-metavariables/tree-sitter-c/Makefile b/resources/language-metavariables/tree-sitter-c/Makefile new file mode 100644 index 000000000..405cb51f5 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/Makefile @@ -0,0 +1,111 @@ +VERSION := 0.21.4 + +LANGUAGE_NAME := tree-sitter-c + +# 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 + +# ABI versioning +SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION))) +SONAME_MINOR := $(word 2,$(subst ., ,$(VERSION))) + +# install directory layout +PREFIX ?= /usr/local +INCLUDEDIR ?= $(PREFIX)/include +LIBDIR ?= $(PREFIX)/lib +PCLIBDIR ?= $(LIBDIR)/pkgconfig + +# object files +OBJS := $(patsubst %.c,%.o,$(wildcard $(SRC_DIR)/*.c)) + +# flags +ARFLAGS := rcs +override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC + +# OS-specific bits +ifeq ($(OS),Windows_NT) + $(error "Windows is not supported") +else ifeq ($(shell uname),Darwin) + SOEXT = dylib + SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib + SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib + LINKSHARED := $(LINKSHARED)-dynamiclib -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS), + endif + LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks +else + SOEXT = so + SOEXTVER_MAJOR = so.$(SONAME_MAJOR) + SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR) + LINKSHARED := $(LINKSHARED)-shared -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS) + endif + LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).so.$(SONAME_MAJOR) +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)|' $< > $@ + +$(SRC_DIR)/parser.c: grammar.js + $(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 + $(TS) parse examples/* --quiet --time + +.PHONY: all install uninstall clean test diff --git a/resources/language-metavariables/tree-sitter-c/Package.swift b/resources/language-metavariables/tree-sitter-c/Package.swift new file mode 100644 index 000000000..e409f263d --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/Package.swift @@ -0,0 +1,46 @@ +// swift-tools-version:5.3 +import PackageDescription + +let package = Package( + name: "TreeSitterC", + products: [ + .library(name: "TreeSitterC", targets: ["TreeSitterC"]), + ], + dependencies: [], + targets: [ + .target(name: "TreeSitterC", + 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", + ], + resources: [ + .copy("queries") + ], + publicHeadersPath: "bindings/swift", + cSettings: [.headerSearchPath("src")]) + ], + cLanguageStandard: .c11 +) diff --git a/resources/language-metavariables/tree-sitter-c/README.md b/resources/language-metavariables/tree-sitter-c/README.md new file mode 100644 index 000000000..162d6b41e --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/README.md @@ -0,0 +1,18 @@ +# tree-sitter-c + +[![CI][ci]](https://github.com/tree-sitter/tree-sitter-c/actions/workflows/ci.yml) +[![discord][discord]](https://discord.gg/w7nTvsVJhm) +[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org) +[![crates][crates]](https://crates.io/crates/tree-sitter-c) +[![npm][npm]](https://www.npmjs.com/package/tree-sitter-c) +[![pypi][pypi]](https://pypi.org/project/tree-sitter-c) + +C grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter). +Adapted from [this C99 grammar](http://slps.github.io/zoo/c/iso-9899-tc3.html). + +[ci]: https://img.shields.io/github/actions/workflow/status/tree-sitter/tree-sitter-c/ci.yml?logo=github&label=CI +[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord&label=discord +[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix&label=matrix +[npm]: https://img.shields.io/npm/v/tree-sitter-c?logo=npm +[crates]: https://img.shields.io/crates/v/tree-sitter-c?logo=rust +[pypi]: https://img.shields.io/pypi/v/tree-sitter-c?logo=pypi&logoColor=ffd242 diff --git a/resources/language-metavariables/tree-sitter-c/binding.gyp b/resources/language-metavariables/tree-sitter-c/binding.gyp new file mode 100644 index 000000000..46623442c --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/binding.gyp @@ -0,0 +1,20 @@ +{ + "targets": [ + { + "target_name": "tree_sitter_c_binding", + "dependencies": [ + " + +typedef struct TSLanguage TSLanguage; + +extern "C" TSLanguage *tree_sitter_c(); + +// "tree-sitter", "language" hashed with BLAKE2 +const napi_type_tag LANGUAGE_TYPE_TAG = { + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 +}; + +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports["name"] = Napi::String::New(env, "c"); + auto language = Napi::External::New(env, tree_sitter_c()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; + return exports; +} + +NODE_API_MODULE(tree_sitter_c_binding, Init) diff --git a/resources/language-metavariables/tree-sitter-c/bindings/node/index.d.ts b/resources/language-metavariables/tree-sitter-c/bindings/node/index.d.ts new file mode 100644 index 000000000..efe259eed --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/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/resources/language-metavariables/tree-sitter-c/bindings/node/index.js b/resources/language-metavariables/tree-sitter-c/bindings/node/index.js new file mode 100644 index 000000000..6657bcf42 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/node/index.js @@ -0,0 +1,7 @@ +const root = require("path").join(__dirname, "..", ".."); + +module.exports = require("node-gyp-build")(root); + +try { + module.exports.nodeTypeInfo = require("../../src/node-types.json"); +} catch (_) {} diff --git a/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py new file mode 100644 index 000000000..714cba64d --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py @@ -0,0 +1,5 @@ +"C grammar for tree-sitter" + +from ._binding import language + +__all__ = ["language"] diff --git a/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi new file mode 100644 index 000000000..5416666fc --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi @@ -0,0 +1 @@ +def language() -> int: ... diff --git a/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/binding.c b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/binding.c new file mode 100644 index 000000000..8b35f2826 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/binding.c @@ -0,0 +1,27 @@ +#include + +typedef struct TSLanguage TSLanguage; + +TSLanguage *tree_sitter_c(void); + +static PyObject* _binding_language(PyObject *self, PyObject *args) { + return PyLong_FromVoidPtr(tree_sitter_c()); +} + +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/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/py.typed b/resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/resources/language-metavariables/tree-sitter-c/bindings/rust/build.rs b/resources/language-metavariables/tree-sitter-c/bindings/rust/build.rs new file mode 100644 index 000000000..cbbaf006b --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/rust/build.rs @@ -0,0 +1,15 @@ +fn main() { + let src_dir = std::path::Path::new("src"); + + let mut c_config = cc::Build::new(); + 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()); + + c_config.compile("tree-sitter-c"); +} diff --git a/resources/language-metavariables/tree-sitter-c/bindings/rust/lib.rs b/resources/language-metavariables/tree-sitter-c/bindings/rust/lib.rs new file mode 100644 index 000000000..7351f38c7 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/rust/lib.rs @@ -0,0 +1,58 @@ +//! This crate provides C 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: +//! +//! ``` +//! use tree_sitter::Parser; +//! +//! let code = r#" +//! int double(int x) { +//! return x * 2; +//! } +//! "#; +//! let mut parser = Parser::new(); +//! parser.set_language(&tree_sitter_c::language()).expect("Error loading C grammar"); +//! let tree = parser.parse(code, None).unwrap(); +//! assert!(!tree.root_node().has_error()); +//! ``` +//! +//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html +//! [language func]: fn.language.html +//! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html +//! [tree-sitter]: https://tree-sitter.github.io/ + +use tree_sitter::Language; + +extern "C" { + fn tree_sitter_c() -> Language; +} + +/// 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_c() } +} + +/// 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: &str = include_str!("../../src/node-types.json"); + +/// The syntax highlighting query for this language. +pub const HIGHLIGHT_QUERY: &str = include_str!("../../queries/highlights.scm"); + +/// The symbol tagging query for this language. +pub const TAGS_QUERY: &str = include_str!("../../queries/tags.scm"); + +#[cfg(test)] +mod tests { + #[test] + fn test_can_load_grammar() { + let mut parser = tree_sitter::Parser::new(); + parser + .set_language(&super::language()) + .expect("Error loading C grammar"); + } +} diff --git a/resources/language-metavariables/tree-sitter-c/bindings/swift/TreeSitterC/c.h b/resources/language-metavariables/tree-sitter-c/bindings/swift/TreeSitterC/c.h new file mode 100644 index 000000000..e725f1e2a --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/bindings/swift/TreeSitterC/c.h @@ -0,0 +1,16 @@ +#ifndef TREE_SITTER_C_H_ +#define TREE_SITTER_C_H_ + +typedef struct TSLanguage TSLanguage; + +#ifdef __cplusplus +extern "C" { +#endif + +const TSLanguage *tree_sitter_c(void); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_C_H_ diff --git a/resources/language-metavariables/tree-sitter-c/examples/cluster.c b/resources/language-metavariables/tree-sitter-c/examples/cluster.c new file mode 100644 index 000000000..77ec2f1b1 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/examples/cluster.c @@ -0,0 +1,5446 @@ +/* Redis Cluster implementation. + * + * Copyright (c) 2009-2012, Salvatore Sanfilippo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Redis nor the names of its contributors may be used + * to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "server.h" +#include "cluster.h" +#include "endianconv.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +/* A global reference to myself is handy to make code more clear. + * Myself always points to server.cluster->myself, that is, the clusterNode + * that represents this node. */ +clusterNode *myself = NULL; + +clusterNode *createClusterNode(char *nodename, int flags); +int clusterAddNode(clusterNode *node); +void clusterAcceptHandler(aeEventLoop *el, int fd, void *privdata, int mask); +void clusterReadHandler(aeEventLoop *el, int fd, void *privdata, int mask); +void clusterSendPing(clusterLink *link, int type); +void clusterSendFail(char *nodename); +void clusterSendFailoverAuthIfNeeded(clusterNode *node, clusterMsg *request); +void clusterUpdateState(void); +int clusterNodeGetSlotBit(clusterNode *n, int slot); +sds clusterGenNodesDescription(int filter); +clusterNode *clusterLookupNode(char *name); +int clusterNodeAddSlave(clusterNode *master, clusterNode *slave); +int clusterAddSlot(clusterNode *n, int slot); +int clusterDelSlot(int slot); +int clusterDelNodeSlots(clusterNode *node); +int clusterNodeSetSlotBit(clusterNode *n, int slot); +void clusterSetMaster(clusterNode *n); +void clusterHandleSlaveFailover(void); +void clusterHandleSlaveMigration(int max_slaves); +int bitmapTestBit(unsigned char *bitmap, int pos); +void clusterDoBeforeSleep(int flags); +void clusterSendUpdate(clusterLink *link, clusterNode *node); +void resetManualFailover(void); +void clusterCloseAllSlots(void); +void clusterSetNodeAsMaster(clusterNode *n); +void clusterDelNode(clusterNode *delnode); +sds representClusterNodeFlags(sds ci, uint16_t flags); +uint64_t clusterGetMaxEpoch(void); +int clusterBumpConfigEpochWithoutConsensus(void); + +/* ----------------------------------------------------------------------------- + * Initialization + * -------------------------------------------------------------------------- */ + +/* Load the cluster config from 'filename'. + * + * If the file does not exist or is zero-length (this may happen because + * when we lock the nodes.conf file, we create a zero-length one for the + * sake of locking if it does not already exist), C_ERR is returned. + * If the configuration was loaded from the file, C_OK is returned. */ +int clusterLoadConfig(char *filename) { + FILE *fp = fopen(filename,"r"); + struct stat sb; + char *line; + int maxline, j; + + if (fp == NULL) { + if (errno == ENOENT) { + return C_ERR; + } else { + serverLog(LL_WARNING, + "Loading the cluster node config from %s: %s", + filename, strerror(errno)); + exit(1); + } + } + + /* Check if the file is zero-length: if so return C_ERR to signal + * we have to write the config. */ + if (fstat(fileno(fp),&sb) != -1 && sb.st_size == 0) { + fclose(fp); + return C_ERR; + } + + /* Parse the file. Note that single lines of the cluster config file can + * be really long as they include all the hash slots of the node. + * This means in the worst possible case, half of the Redis slots will be + * present in a single line, possibly in importing or migrating state, so + * together with the node ID of the sender/receiver. + * + * To simplify we allocate 1024+CLUSTER_SLOTS*128 bytes per line. */ + maxline = 1024+CLUSTER_SLOTS*128; + line = zmalloc(maxline); + while(fgets(line,maxline,fp) != NULL) { + int argc; + sds *argv; + clusterNode *n, *master; + char *p, *s; + + /* Skip blank lines, they can be created either by users manually + * editing nodes.conf or by the config writing process if stopped + * before the truncate() call. */ + if (line[0] == '\n' || line[0] == '\0') continue; + + /* Split the line into arguments for processing. */ + argv = sdssplitargs(line,&argc); + if (argv == NULL) goto fmterr; + + /* Handle the special "vars" line. Don't pretend it is the last + * line even if it actually is when generated by Redis. */ + if (strcasecmp(argv[0],"vars") == 0) { + for (j = 1; j < argc; j += 2) { + if (strcasecmp(argv[j],"currentEpoch") == 0) { + server.cluster->currentEpoch = + strtoull(argv[j+1],NULL,10); + } else if (strcasecmp(argv[j],"lastVoteEpoch") == 0) { + server.cluster->lastVoteEpoch = + strtoull(argv[j+1],NULL,10); + } else { + serverLog(LL_WARNING, + "Skipping unknown cluster config variable '%s'", + argv[j]); + } + } + sdsfreesplitres(argv,argc); + continue; + } + + /* Regular config lines have at least eight fields */ + if (argc < 8) goto fmterr; + + /* Create this node if it does not exist */ + n = clusterLookupNode(argv[0]); + if (!n) { + n = createClusterNode(argv[0],0); + clusterAddNode(n); + } + /* Address and port */ + if ((p = strrchr(argv[1],':')) == NULL) goto fmterr; + *p = '\0'; + memcpy(n->ip,argv[1],strlen(argv[1])+1); + char *port = p+1; + char *busp = strchr(port,'@'); + if (busp) { + *busp = '\0'; + busp++; + } + n->port = atoi(port); + /* In older versions of nodes.conf the "@busport" part is missing. + * In this case we set it to the default offset of 10000 from the + * base port. */ + n->cport = busp ? atoi(busp) : n->port + CLUSTER_PORT_INCR; + + /* Parse flags */ + p = s = argv[2]; + while(p) { + p = strchr(s,','); + if (p) *p = '\0'; + if (!strcasecmp(s,"myself")) { + serverAssert(server.cluster->myself == NULL); + myself = server.cluster->myself = n; + n->flags |= CLUSTER_NODE_MYSELF; + } else if (!strcasecmp(s,"master")) { + n->flags |= CLUSTER_NODE_MASTER; + } else if (!strcasecmp(s,"slave")) { + n->flags |= CLUSTER_NODE_SLAVE; + } else if (!strcasecmp(s,"fail?")) { + n->flags |= CLUSTER_NODE_PFAIL; + } else if (!strcasecmp(s,"fail")) { + n->flags |= CLUSTER_NODE_FAIL; + n->fail_time = mstime(); + } else if (!strcasecmp(s,"handshake")) { + n->flags |= CLUSTER_NODE_HANDSHAKE; + } else if (!strcasecmp(s,"noaddr")) { + n->flags |= CLUSTER_NODE_NOADDR; + } else if (!strcasecmp(s,"noflags")) { + /* nothing to do */ + } else { + serverPanic("Unknown flag in redis cluster config file"); + } + if (p) s = p+1; + } + + /* Get master if any. Set the master and populate master's + * slave list. */ + if (argv[3][0] != '-') { + master = clusterLookupNode(argv[3]); + if (!master) { + master = createClusterNode(argv[3],0); + clusterAddNode(master); + } + n->slaveof = master; + clusterNodeAddSlave(master,n); + } + + /* Set ping sent / pong received timestamps */ + if (atoi(argv[4])) n->ping_sent = mstime(); + if (atoi(argv[5])) n->pong_received = mstime(); + + /* Set configEpoch for this node. */ + n->configEpoch = strtoull(argv[6],NULL,10); + + /* Populate hash slots served by this instance. */ + for (j = 8; j < argc; j++) { + int start, stop; + + if (argv[j][0] == '[') { + /* Here we handle migrating / importing slots */ + int slot; + char direction; + clusterNode *cn; + + p = strchr(argv[j],'-'); + serverAssert(p != NULL); + *p = '\0'; + direction = p[1]; /* Either '>' or '<' */ + slot = atoi(argv[j]+1); + p += 3; + cn = clusterLookupNode(p); + if (!cn) { + cn = createClusterNode(p,0); + clusterAddNode(cn); + } + if (direction == '>') { + server.cluster->migrating_slots_to[slot] = cn; + } else { + server.cluster->importing_slots_from[slot] = cn; + } + continue; + } else if ((p = strchr(argv[j],'-')) != NULL) { + *p = '\0'; + start = atoi(argv[j]); + stop = atoi(p+1); + } else { + start = stop = atoi(argv[j]); + } + while(start <= stop) clusterAddSlot(n, start++); + } + + sdsfreesplitres(argv,argc); + } + /* Config sanity check */ + if (server.cluster->myself == NULL) goto fmterr; + + zfree(line); + fclose(fp); + + serverLog(LL_NOTICE,"Node configuration loaded, I'm %.40s", myself->name); + + /* Something that should never happen: currentEpoch smaller than + * the max epoch found in the nodes configuration. However we handle this + * as some form of protection against manual editing of critical files. */ + if (clusterGetMaxEpoch() > server.cluster->currentEpoch) { + server.cluster->currentEpoch = clusterGetMaxEpoch(); + } + return C_OK; + +fmterr: + serverLog(LL_WARNING, + "Unrecoverable error: corrupted cluster config file."); + zfree(line); + if (fp) fclose(fp); + exit(1); +} + +/* Cluster node configuration is exactly the same as CLUSTER NODES output. + * + * This function writes the node config and returns 0, on error -1 + * is returned. + * + * Note: we need to write the file in an atomic way from the point of view + * of the POSIX filesystem semantics, so that if the server is stopped + * or crashes during the write, we'll end with either the old file or the + * new one. Since we have the full payload to write available we can use + * a single write to write the whole file. If the pre-existing file was + * bigger we pad our payload with newlines that are anyway ignored and truncate + * the file afterward. */ +int clusterSaveConfig(int do_fsync) { + sds ci; + size_t content_size; + struct stat sb; + int fd; + + server.cluster->todo_before_sleep &= ~CLUSTER_TODO_SAVE_CONFIG; + + /* Get the nodes description and concatenate our "vars" directive to + * save currentEpoch and lastVoteEpoch. */ + ci = clusterGenNodesDescription(CLUSTER_NODE_HANDSHAKE); + ci = sdscatprintf(ci,"vars currentEpoch %llu lastVoteEpoch %llu\n", + (unsigned long long) server.cluster->currentEpoch, + (unsigned long long) server.cluster->lastVoteEpoch); + content_size = sdslen(ci); + + if ((fd = open(server.cluster_configfile,O_WRONLY|O_CREAT,0644)) + == -1) goto err; + + /* Pad the new payload if the existing file length is greater. */ + if (fstat(fd,&sb) != -1) { + if (sb.st_size > (off_t)content_size) { + ci = sdsgrowzero(ci,sb.st_size); + memset(ci+content_size,'\n',sb.st_size-content_size); + } + } + if (write(fd,ci,sdslen(ci)) != (ssize_t)sdslen(ci)) goto err; + if (do_fsync) { + server.cluster->todo_before_sleep &= ~CLUSTER_TODO_FSYNC_CONFIG; + fsync(fd); + } + + /* Truncate the file if needed to remove the final \n padding that + * is just garbage. */ + if (content_size != sdslen(ci) && ftruncate(fd,content_size) == -1) { + /* ftruncate() failing is not a critical error. */ + } + close(fd); + sdsfree(ci); + return 0; + +err: + if (fd != -1) close(fd); + sdsfree(ci); + return -1; +} + +void clusterSaveConfigOrDie(int do_fsync) { + if (clusterSaveConfig(do_fsync) == -1) { + serverLog(LL_WARNING,"Fatal: can't update cluster config file."); + exit(1); + } +} + +/* Lock the cluster config using flock(), and leaks the file descritor used to + * acquire the lock so that the file will be locked forever. + * + * This works because we always update nodes.conf with a new version + * in-place, reopening the file, and writing to it in place (later adjusting + * the length with ftruncate()). + * + * On success C_OK is returned, otherwise an error is logged and + * the function returns C_ERR to signal a lock was not acquired. */ +int clusterLockConfig(char *filename) { +/* flock() does not exist on Solaris + * and a fcntl-based solution won't help, as we constantly re-open that file, + * which will release _all_ locks anyway + */ +#if !defined(__sun) + /* To lock it, we need to open the file in a way it is created if + * it does not exist, otherwise there is a race condition with other + * processes. */ + int fd = open(filename,O_WRONLY|O_CREAT,0644); + if (fd == -1) { + serverLog(LL_WARNING, + "Can't open %s in order to acquire a lock: %s", + filename, strerror(errno)); + return C_ERR; + } + + if (flock(fd,LOCK_EX|LOCK_NB) == -1) { + if (errno == EWOULDBLOCK) { + serverLog(LL_WARNING, + "Sorry, the cluster configuration file %s is already used " + "by a different Redis Cluster node. Please make sure that " + "different nodes use different cluster configuration " + "files.", filename); + } else { + serverLog(LL_WARNING, + "Impossible to lock %s: %s", filename, strerror(errno)); + } + close(fd); + return C_ERR; + } + /* Lock acquired: leak the 'fd' by not closing it, so that we'll retain the + * lock to the file as long as the process exists. */ +#endif /* __sun */ + + return C_OK; +} + +void clusterInit(void) { + int saveconf = 0; + + server.cluster = zmalloc(sizeof(clusterState)); + server.cluster->myself = NULL; + server.cluster->currentEpoch = 0; + server.cluster->state = CLUSTER_FAIL; + server.cluster->size = 1; + server.cluster->todo_before_sleep = 0; + server.cluster->nodes = dictCreate(&clusterNodesDictType,NULL); + server.cluster->nodes_black_list = + dictCreate(&clusterNodesBlackListDictType,NULL); + server.cluster->failover_auth_time = 0; + server.cluster->failover_auth_count = 0; + server.cluster->failover_auth_rank = 0; + server.cluster->failover_auth_epoch = 0; + server.cluster->cant_failover_reason = CLUSTER_CANT_FAILOVER_NONE; + server.cluster->lastVoteEpoch = 0; + for (int i = 0; i < CLUSTERMSG_TYPE_COUNT; i++) { + server.cluster->stats_bus_messages_sent[i] = 0; + server.cluster->stats_bus_messages_received[i] = 0; + } + server.cluster->stats_pfail_nodes = 0; + memset(server.cluster->slots,0, sizeof(server.cluster->slots)); + clusterCloseAllSlots(); + + /* Lock the cluster config file to make sure every node uses + * its own nodes.conf. */ + if (clusterLockConfig(server.cluster_configfile) == C_ERR) + exit(1); + + /* Load or create a new nodes configuration. */ + if (clusterLoadConfig(server.cluster_configfile) == C_ERR) { + /* No configuration found. We will just use the random name provided + * by the createClusterNode() function. */ + myself = server.cluster->myself = + createClusterNode(NULL,CLUSTER_NODE_MYSELF|CLUSTER_NODE_MASTER); + serverLog(LL_NOTICE,"No cluster configuration found, I'm %.40s", + myself->name); + clusterAddNode(myself); + saveconf = 1; + } + if (saveconf) clusterSaveConfigOrDie(1); + + /* We need a listening TCP port for our cluster messaging needs. */ + server.cfd_count = 0; + + /* Port sanity check II + * The other handshake port check is triggered too late to stop + * us from trying to use a too-high cluster port number. */ + if (server.port > (65535-CLUSTER_PORT_INCR)) { + serverLog(LL_WARNING, "Redis port number too high. " + "Cluster communication port is 10,000 port " + "numbers higher than your Redis port. " + "Your Redis port number must be " + "lower than 55535."); + exit(1); + } + + if (listenToPort(server.port+CLUSTER_PORT_INCR, + server.cfd,&server.cfd_count) == C_ERR) + { + exit(1); + } else { + int j; + + for (j = 0; j < server.cfd_count; j++) { + if (aeCreateFileEvent(server.el, server.cfd[j], AE_READABLE, + clusterAcceptHandler, NULL) == AE_ERR) + serverPanic("Unrecoverable error creating Redis Cluster " + "file event."); + } + } + + /* The slots -> keys map is a radix tree. Initialize it here. */ + server.cluster->slots_to_keys = raxNew(); + memset(server.cluster->slots_keys_count,0, + sizeof(server.cluster->slots_keys_count)); + + /* Set myself->port / cport to my listening ports, we'll just need to + * discover the IP address via MEET messages. */ + myself->port = server.port; + myself->cport = server.port+CLUSTER_PORT_INCR; + if (server.cluster_announce_port) + myself->port = server.cluster_announce_port; + if (server.cluster_announce_bus_port) + myself->cport = server.cluster_announce_bus_port; + + server.cluster->mf_end = 0; + resetManualFailover(); +} + +/* Reset a node performing a soft or hard reset: + * + * 1) All other nodes are forget. + * 2) All the assigned / open slots are released. + * 3) If the node is a slave, it turns into a master. + * 5) Only for hard reset: a new Node ID is generated. + * 6) Only for hard reset: currentEpoch and configEpoch are set to 0. + * 7) The new configuration is saved and the cluster state updated. + * 8) If the node was a slave, the whole data set is flushed away. */ +void clusterReset(int hard) { + dictIterator *di; + dictEntry *de; + int j; + + /* Turn into master. */ + if (nodeIsSlave(myself)) { + clusterSetNodeAsMaster(myself); + replicationUnsetMaster(); + emptyDb(-1,EMPTYDB_NO_FLAGS,NULL); + } + + /* Close slots, reset manual failover state. */ + clusterCloseAllSlots(); + resetManualFailover(); + + /* Unassign all the slots. */ + for (j = 0; j < CLUSTER_SLOTS; j++) clusterDelSlot(j); + + /* Forget all the nodes, but myself. */ + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (node == myself) continue; + clusterDelNode(node); + } + dictReleaseIterator(di); + + /* Hard reset only: set epochs to 0, change node ID. */ + if (hard) { + sds oldname; + + server.cluster->currentEpoch = 0; + server.cluster->lastVoteEpoch = 0; + myself->configEpoch = 0; + serverLog(LL_WARNING, "configEpoch set to 0 via CLUSTER RESET HARD"); + + /* To change the Node ID we need to remove the old name from the + * nodes table, change the ID, and re-add back with new name. */ + oldname = sdsnewlen(myself->name, CLUSTER_NAMELEN); + dictDelete(server.cluster->nodes,oldname); + sdsfree(oldname); + getRandomHexChars(myself->name, CLUSTER_NAMELEN); + clusterAddNode(myself); + serverLog(LL_NOTICE,"Node hard reset, now I'm %.40s", myself->name); + } + + /* Make sure to persist the new config and update the state. */ + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_FSYNC_CONFIG); +} + +/* ----------------------------------------------------------------------------- + * CLUSTER communication link + * -------------------------------------------------------------------------- */ + +clusterLink *createClusterLink(clusterNode *node) { + clusterLink *link = zmalloc(sizeof(*link)); + link->ctime = mstime(); + link->sndbuf = sdsempty(); + link->rcvbuf = sdsempty(); + link->node = node; + link->fd = -1; + return link; +} + +/* Free a cluster link, but does not free the associated node of course. + * This function will just make sure that the original node associated + * with this link will have the 'link' field set to NULL. */ +void freeClusterLink(clusterLink *link) { + if (link->fd != -1) { + aeDeleteFileEvent(server.el, link->fd, AE_WRITABLE); + aeDeleteFileEvent(server.el, link->fd, AE_READABLE); + } + sdsfree(link->sndbuf); + sdsfree(link->rcvbuf); + if (link->node) + link->node->link = NULL; + close(link->fd); + zfree(link); +} + +#define MAX_CLUSTER_ACCEPTS_PER_CALL 1000 +void clusterAcceptHandler(aeEventLoop *el, int fd, void *privdata, int mask) { + int cport, cfd; + int max = MAX_CLUSTER_ACCEPTS_PER_CALL; + char cip[NET_IP_STR_LEN]; + clusterLink *link; + UNUSED(el); + UNUSED(mask); + UNUSED(privdata); + + /* If the server is starting up, don't accept cluster connections: + * UPDATE messages may interact with the database content. */ + if (server.masterhost == NULL && server.loading) return; + + while(max--) { + cfd = anetTcpAccept(server.neterr, fd, cip, sizeof(cip), &cport); + if (cfd == ANET_ERR) { + if (errno != EWOULDBLOCK) + serverLog(LL_VERBOSE, + "Error accepting cluster node: %s", server.neterr); + return; + } + anetNonBlock(NULL,cfd); + anetEnableTcpNoDelay(NULL,cfd); + + /* Use non-blocking I/O for cluster messages. */ + serverLog(LL_VERBOSE,"Accepted cluster node %s:%d", cip, cport); + /* Create a link object we use to handle the connection. + * It gets passed to the readable handler when data is available. + * Initiallly the link->node pointer is set to NULL as we don't know + * which node is, but the right node is references once we know the + * node identity. */ + link = createClusterLink(NULL); + link->fd = cfd; + aeCreateFileEvent(server.el,cfd,AE_READABLE,clusterReadHandler,link); + } +} + +/* ----------------------------------------------------------------------------- + * Key space handling + * -------------------------------------------------------------------------- */ + +/* We have 16384 hash slots. The hash slot of a given key is obtained + * as the least significant 14 bits of the crc16 of the key. + * + * However if the key contains the {...} pattern, only the part between + * { and } is hashed. This may be useful in the future to force certain + * keys to be in the same node (assuming no resharding is in progress). */ +unsigned int keyHashSlot(char *key, int keylen) { + int s, e; /* start-end indexes of { and } */ + + for (s = 0; s < keylen; s++) + if (key[s] == '{') break; + + /* No '{' ? Hash the whole key. This is the base case. */ + if (s == keylen) return crc16(key,keylen) & 0x3FFF; + + /* '{' found? Check if we have the corresponding '}'. */ + for (e = s+1; e < keylen; e++) + if (key[e] == '}') break; + + /* No '}' or nothing betweeen {} ? Hash the whole key. */ + if (e == keylen || e == s+1) return crc16(key,keylen) & 0x3FFF; + + /* If we are here there is both a { and a } on its right. Hash + * what is in the middle between { and }. */ + return crc16(key+s+1,e-s-1) & 0x3FFF; +} + +/* ----------------------------------------------------------------------------- + * CLUSTER node API + * -------------------------------------------------------------------------- */ + +/* Create a new cluster node, with the specified flags. + * If "nodename" is NULL this is considered a first handshake and a random + * node name is assigned to this node (it will be fixed later when we'll + * receive the first pong). + * + * The node is created and returned to the user, but it is not automatically + * added to the nodes hash table. */ +clusterNode *createClusterNode(char *nodename, int flags) { + clusterNode *node = zmalloc(sizeof(*node)); + + if (nodename) + memcpy(node->name, nodename, CLUSTER_NAMELEN); + else + getRandomHexChars(node->name, CLUSTER_NAMELEN); + node->ctime = mstime(); + node->configEpoch = 0; + node->flags = flags; + memset(node->slots,0,sizeof(node->slots)); + node->numslots = 0; + node->numslaves = 0; + node->slaves = NULL; + node->slaveof = NULL; + node->ping_sent = node->pong_received = 0; + node->fail_time = 0; + node->link = NULL; + memset(node->ip,0,sizeof(node->ip)); + node->port = 0; + node->cport = 0; + node->fail_reports = listCreate(); + node->voted_time = 0; + node->orphaned_time = 0; + node->repl_offset_time = 0; + node->repl_offset = 0; + listSetFreeMethod(node->fail_reports,zfree); + return node; +} + +/* This function is called every time we get a failure report from a node. + * The side effect is to populate the fail_reports list (or to update + * the timestamp of an existing report). + * + * 'failing' is the node that is in failure state according to the + * 'sender' node. + * + * The function returns 0 if it just updates a timestamp of an existing + * failure report from the same sender. 1 is returned if a new failure + * report is created. */ +int clusterNodeAddFailureReport(clusterNode *failing, clusterNode *sender) { + list *l = failing->fail_reports; + listNode *ln; + listIter li; + clusterNodeFailReport *fr; + + /* If a failure report from the same sender already exists, just update + * the timestamp. */ + listRewind(l,&li); + while ((ln = listNext(&li)) != NULL) { + fr = ln->value; + if (fr->node == sender) { + fr->time = mstime(); + return 0; + } + } + + /* Otherwise create a new report. */ + fr = zmalloc(sizeof(*fr)); + fr->node = sender; + fr->time = mstime(); + listAddNodeTail(l,fr); + return 1; +} + +/* Remove failure reports that are too old, where too old means reasonably + * older than the global node timeout. Note that anyway for a node to be + * flagged as FAIL we need to have a local PFAIL state that is at least + * older than the global node timeout, so we don't just trust the number + * of failure reports from other nodes. */ +void clusterNodeCleanupFailureReports(clusterNode *node) { + list *l = node->fail_reports; + listNode *ln; + listIter li; + clusterNodeFailReport *fr; + mstime_t maxtime = server.cluster_node_timeout * + CLUSTER_FAIL_REPORT_VALIDITY_MULT; + mstime_t now = mstime(); + + listRewind(l,&li); + while ((ln = listNext(&li)) != NULL) { + fr = ln->value; + if (now - fr->time > maxtime) listDelNode(l,ln); + } +} + +/* Remove the failing report for 'node' if it was previously considered + * failing by 'sender'. This function is called when a node informs us via + * gossip that a node is OK from its point of view (no FAIL or PFAIL flags). + * + * Note that this function is called relatively often as it gets called even + * when there are no nodes failing, and is O(N), however when the cluster is + * fine the failure reports list is empty so the function runs in constant + * time. + * + * The function returns 1 if the failure report was found and removed. + * Otherwise 0 is returned. */ +int clusterNodeDelFailureReport(clusterNode *node, clusterNode *sender) { + list *l = node->fail_reports; + listNode *ln; + listIter li; + clusterNodeFailReport *fr; + + /* Search for a failure report from this sender. */ + listRewind(l,&li); + while ((ln = listNext(&li)) != NULL) { + fr = ln->value; + if (fr->node == sender) break; + } + if (!ln) return 0; /* No failure report from this sender. */ + + /* Remove the failure report. */ + listDelNode(l,ln); + clusterNodeCleanupFailureReports(node); + return 1; +} + +/* Return the number of external nodes that believe 'node' is failing, + * not including this node, that may have a PFAIL or FAIL state for this + * node as well. */ +int clusterNodeFailureReportsCount(clusterNode *node) { + clusterNodeCleanupFailureReports(node); + return listLength(node->fail_reports); +} + +int clusterNodeRemoveSlave(clusterNode *master, clusterNode *slave) { + int j; + + for (j = 0; j < master->numslaves; j++) { + if (master->slaves[j] == slave) { + if ((j+1) < master->numslaves) { + int remaining_slaves = (master->numslaves - j) - 1; + memmove(master->slaves+j,master->slaves+(j+1), + (sizeof(*master->slaves) * remaining_slaves)); + } + master->numslaves--; + if (master->numslaves == 0) + master->flags &= ~CLUSTER_NODE_MIGRATE_TO; + return C_OK; + } + } + return C_ERR; +} + +int clusterNodeAddSlave(clusterNode *master, clusterNode *slave) { + int j; + + /* If it's already a slave, don't add it again. */ + for (j = 0; j < master->numslaves; j++) + if (master->slaves[j] == slave) return C_ERR; + master->slaves = zrealloc(master->slaves, + sizeof(clusterNode*)*(master->numslaves+1)); + master->slaves[master->numslaves] = slave; + master->numslaves++; + master->flags |= CLUSTER_NODE_MIGRATE_TO; + return C_OK; +} + +int clusterCountNonFailingSlaves(clusterNode *n) { + int j, okslaves = 0; + + for (j = 0; j < n->numslaves; j++) + if (!nodeFailed(n->slaves[j])) okslaves++; + return okslaves; +} + +/* Low level cleanup of the node structure. Only called by clusterDelNode(). */ +void freeClusterNode(clusterNode *n) { + sds nodename; + int j; + + /* If the node has associated slaves, we have to set + * all the slaves->slaveof fields to NULL (unknown). */ + for (j = 0; j < n->numslaves; j++) + n->slaves[j]->slaveof = NULL; + + /* Remove this node from the list of slaves of its master. */ + if (nodeIsSlave(n) && n->slaveof) clusterNodeRemoveSlave(n->slaveof,n); + + /* Unlink from the set of nodes. */ + nodename = sdsnewlen(n->name, CLUSTER_NAMELEN); + serverAssert(dictDelete(server.cluster->nodes,nodename) == DICT_OK); + sdsfree(nodename); + + /* Release link and associated data structures. */ + if (n->link) freeClusterLink(n->link); + listRelease(n->fail_reports); + zfree(n->slaves); + zfree(n); +} + +/* Add a node to the nodes hash table */ +int clusterAddNode(clusterNode *node) { + int retval; + + retval = dictAdd(server.cluster->nodes, + sdsnewlen(node->name,CLUSTER_NAMELEN), node); + return (retval == DICT_OK) ? C_OK : C_ERR; +} + +/* Remove a node from the cluster. The functio performs the high level + * cleanup, calling freeClusterNode() for the low level cleanup. + * Here we do the following: + * + * 1) Mark all the slots handled by it as unassigned. + * 2) Remove all the failure reports sent by this node and referenced by + * other nodes. + * 3) Free the node with freeClusterNode() that will in turn remove it + * from the hash table and from the list of slaves of its master, if + * it is a slave node. + */ +void clusterDelNode(clusterNode *delnode) { + int j; + dictIterator *di; + dictEntry *de; + + /* 1) Mark slots as unassigned. */ + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (server.cluster->importing_slots_from[j] == delnode) + server.cluster->importing_slots_from[j] = NULL; + if (server.cluster->migrating_slots_to[j] == delnode) + server.cluster->migrating_slots_to[j] = NULL; + if (server.cluster->slots[j] == delnode) + clusterDelSlot(j); + } + + /* 2) Remove failure reports. */ + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (node == delnode) continue; + clusterNodeDelFailureReport(node,delnode); + } + dictReleaseIterator(di); + + /* 3) Free the node, unlinking it from the cluster. */ + freeClusterNode(delnode); +} + +/* Node lookup by name */ +clusterNode *clusterLookupNode(char *name) { + sds s = sdsnewlen(name, CLUSTER_NAMELEN); + dictEntry *de; + + de = dictFind(server.cluster->nodes,s); + sdsfree(s); + if (de == NULL) return NULL; + return dictGetVal(de); +} + +/* This is only used after the handshake. When we connect a given IP/PORT + * as a result of CLUSTER MEET we don't have the node name yet, so we + * pick a random one, and will fix it when we receive the PONG request using + * this function. */ +void clusterRenameNode(clusterNode *node, char *newname) { + int retval; + sds s = sdsnewlen(node->name, CLUSTER_NAMELEN); + + serverLog(LL_DEBUG,"Renaming node %.40s into %.40s", + node->name, newname); + retval = dictDelete(server.cluster->nodes, s); + sdsfree(s); + serverAssert(retval == DICT_OK); + memcpy(node->name, newname, CLUSTER_NAMELEN); + clusterAddNode(node); +} + +/* ----------------------------------------------------------------------------- + * CLUSTER config epoch handling + * -------------------------------------------------------------------------- */ + +/* Return the greatest configEpoch found in the cluster, or the current + * epoch if greater than any node configEpoch. */ +uint64_t clusterGetMaxEpoch(void) { + uint64_t max = 0; + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + if (node->configEpoch > max) max = node->configEpoch; + } + dictReleaseIterator(di); + if (max < server.cluster->currentEpoch) max = server.cluster->currentEpoch; + return max; +} + +/* If this node epoch is zero or is not already the greatest across the + * cluster (from the POV of the local configuration), this function will: + * + * 1) Generate a new config epoch, incrementing the current epoch. + * 2) Assign the new epoch to this node, WITHOUT any consensus. + * 3) Persist the configuration on disk before sending packets with the + * new configuration. + * + * If the new config epoch is generated and assigend, C_OK is returned, + * otherwise C_ERR is returned (since the node has already the greatest + * configuration around) and no operation is performed. + * + * Important note: this function violates the principle that config epochs + * should be generated with consensus and should be unique across the cluster. + * However Redis Cluster uses this auto-generated new config epochs in two + * cases: + * + * 1) When slots are closed after importing. Otherwise resharding would be + * too expensive. + * 2) When CLUSTER FAILOVER is called with options that force a slave to + * failover its master even if there is not master majority able to + * create a new configuration epoch. + * + * Redis Cluster will not explode using this function, even in the case of + * a collision between this node and another node, generating the same + * configuration epoch unilaterally, because the config epoch conflict + * resolution algorithm will eventually move colliding nodes to different + * config epochs. However using this function may violate the "last failover + * wins" rule, so should only be used with care. */ +int clusterBumpConfigEpochWithoutConsensus(void) { + uint64_t maxEpoch = clusterGetMaxEpoch(); + + if (myself->configEpoch == 0 || + myself->configEpoch != maxEpoch) + { + server.cluster->currentEpoch++; + myself->configEpoch = server.cluster->currentEpoch; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_FSYNC_CONFIG); + serverLog(LL_WARNING, + "New configEpoch set to %llu", + (unsigned long long) myself->configEpoch); + return C_OK; + } else { + return C_ERR; + } +} + +/* This function is called when this node is a master, and we receive from + * another master a configuration epoch that is equal to our configuration + * epoch. + * + * BACKGROUND + * + * It is not possible that different slaves get the same config + * epoch during a failover election, because the slaves need to get voted + * by a majority. However when we perform a manual resharding of the cluster + * the node will assign a configuration epoch to itself without to ask + * for agreement. Usually resharding happens when the cluster is working well + * and is supervised by the sysadmin, however it is possible for a failover + * to happen exactly while the node we are resharding a slot to assigns itself + * a new configuration epoch, but before it is able to propagate it. + * + * So technically it is possible in this condition that two nodes end with + * the same configuration epoch. + * + * Another possibility is that there are bugs in the implementation causing + * this to happen. + * + * Moreover when a new cluster is created, all the nodes start with the same + * configEpoch. This collision resolution code allows nodes to automatically + * end with a different configEpoch at startup automatically. + * + * In all the cases, we want a mechanism that resolves this issue automatically + * as a safeguard. The same configuration epoch for masters serving different + * set of slots is not harmful, but it is if the nodes end serving the same + * slots for some reason (manual errors or software bugs) without a proper + * failover procedure. + * + * In general we want a system that eventually always ends with different + * masters having different configuration epochs whatever happened, since + * nothign is worse than a split-brain condition in a distributed system. + * + * BEHAVIOR + * + * When this function gets called, what happens is that if this node + * has the lexicographically smaller Node ID compared to the other node + * with the conflicting epoch (the 'sender' node), it will assign itself + * the greatest configuration epoch currently detected among nodes plus 1. + * + * This means that even if there are multiple nodes colliding, the node + * with the greatest Node ID never moves forward, so eventually all the nodes + * end with a different configuration epoch. + */ +void clusterHandleConfigEpochCollision(clusterNode *sender) { + /* Prerequisites: nodes have the same configEpoch and are both masters. */ + if (sender->configEpoch != myself->configEpoch || + !nodeIsMaster(sender) || !nodeIsMaster(myself)) return; + /* Don't act if the colliding node has a smaller Node ID. */ + if (memcmp(sender->name,myself->name,CLUSTER_NAMELEN) <= 0) return; + /* Get the next ID available at the best of this node knowledge. */ + server.cluster->currentEpoch++; + myself->configEpoch = server.cluster->currentEpoch; + clusterSaveConfigOrDie(1); + serverLog(LL_VERBOSE, + "WARNING: configEpoch collision with node %.40s." + " configEpoch set to %llu", + sender->name, + (unsigned long long) myself->configEpoch); +} + +/* ----------------------------------------------------------------------------- + * CLUSTER nodes blacklist + * + * The nodes blacklist is just a way to ensure that a given node with a given + * Node ID is not readded before some time elapsed (this time is specified + * in seconds in CLUSTER_BLACKLIST_TTL). + * + * This is useful when we want to remove a node from the cluster completely: + * when CLUSTER FORGET is called, it also puts the node into the blacklist so + * that even if we receive gossip messages from other nodes that still remember + * about the node we want to remove, we don't re-add it before some time. + * + * Currently the CLUSTER_BLACKLIST_TTL is set to 1 minute, this means + * that redis-trib has 60 seconds to send CLUSTER FORGET messages to nodes + * in the cluster without dealing with the problem of other nodes re-adding + * back the node to nodes we already sent the FORGET command to. + * + * The data structure used is a hash table with an sds string representing + * the node ID as key, and the time when it is ok to re-add the node as + * value. + * -------------------------------------------------------------------------- */ + +#define CLUSTER_BLACKLIST_TTL 60 /* 1 minute. */ + + +/* Before of the addNode() or Exists() operations we always remove expired + * entries from the black list. This is an O(N) operation but it is not a + * problem since add / exists operations are called very infrequently and + * the hash table is supposed to contain very little elements at max. + * However without the cleanup during long uptimes and with some automated + * node add/removal procedures, entries could accumulate. */ +void clusterBlacklistCleanup(void) { + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes_black_list); + while((de = dictNext(di)) != NULL) { + int64_t expire = dictGetUnsignedIntegerVal(de); + + if (expire < server.unixtime) + dictDelete(server.cluster->nodes_black_list,dictGetKey(de)); + } + dictReleaseIterator(di); +} + +/* Cleanup the blacklist and add a new node ID to the black list. */ +void clusterBlacklistAddNode(clusterNode *node) { + dictEntry *de; + sds id = sdsnewlen(node->name,CLUSTER_NAMELEN); + + clusterBlacklistCleanup(); + if (dictAdd(server.cluster->nodes_black_list,id,NULL) == DICT_OK) { + /* If the key was added, duplicate the sds string representation of + * the key for the next lookup. We'll free it at the end. */ + id = sdsdup(id); + } + de = dictFind(server.cluster->nodes_black_list,id); + dictSetUnsignedIntegerVal(de,time(NULL)+CLUSTER_BLACKLIST_TTL); + sdsfree(id); +} + +/* Return non-zero if the specified node ID exists in the blacklist. + * You don't need to pass an sds string here, any pointer to 40 bytes + * will work. */ +int clusterBlacklistExists(char *nodeid) { + sds id = sdsnewlen(nodeid,CLUSTER_NAMELEN); + int retval; + + clusterBlacklistCleanup(); + retval = dictFind(server.cluster->nodes_black_list,id) != NULL; + sdsfree(id); + return retval; +} + +/* ----------------------------------------------------------------------------- + * CLUSTER messages exchange - PING/PONG and gossip + * -------------------------------------------------------------------------- */ + +/* This function checks if a given node should be marked as FAIL. + * It happens if the following conditions are met: + * + * 1) We received enough failure reports from other master nodes via gossip. + * Enough means that the majority of the masters signaled the node is + * down recently. + * 2) We believe this node is in PFAIL state. + * + * If a failure is detected we also inform the whole cluster about this + * event trying to force every other node to set the FAIL flag for the node. + * + * Note that the form of agreement used here is weak, as we collect the majority + * of masters state during some time, and even if we force agreement by + * propagating the FAIL message, because of partitions we may not reach every + * node. However: + * + * 1) Either we reach the majority and eventually the FAIL state will propagate + * to all the cluster. + * 2) Or there is no majority so no slave promotion will be authorized and the + * FAIL flag will be cleared after some time. + */ +void markNodeAsFailingIfNeeded(clusterNode *node) { + int failures; + int needed_quorum = (server.cluster->size / 2) + 1; + + if (!nodeTimedOut(node)) return; /* We can reach it. */ + if (nodeFailed(node)) return; /* Already FAILing. */ + + failures = clusterNodeFailureReportsCount(node); + /* Also count myself as a voter if I'm a master. */ + if (nodeIsMaster(myself)) failures++; + if (failures < needed_quorum) return; /* No weak agreement from masters. */ + + serverLog(LL_NOTICE, + "Marking node %.40s as failing (quorum reached).", node->name); + + /* Mark the node as failing. */ + node->flags &= ~CLUSTER_NODE_PFAIL; + node->flags |= CLUSTER_NODE_FAIL; + node->fail_time = mstime(); + + /* Broadcast the failing node name to everybody, forcing all the other + * reachable nodes to flag the node as FAIL. */ + if (nodeIsMaster(myself)) clusterSendFail(node->name); + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); +} + +/* This function is called only if a node is marked as FAIL, but we are able + * to reach it again. It checks if there are the conditions to undo the FAIL + * state. */ +void clearNodeFailureIfNeeded(clusterNode *node) { + mstime_t now = mstime(); + + serverAssert(nodeFailed(node)); + + /* For slaves we always clear the FAIL flag if we can contact the + * node again. */ + if (nodeIsSlave(node) || node->numslots == 0) { + serverLog(LL_NOTICE, + "Clear FAIL state for node %.40s: %s is reachable again.", + node->name, + nodeIsSlave(node) ? "slave" : "master without slots"); + node->flags &= ~CLUSTER_NODE_FAIL; + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); + } + + /* If it is a master and... + * 1) The FAIL state is old enough. + * 2) It is yet serving slots from our point of view (not failed over). + * Apparently no one is going to fix these slots, clear the FAIL flag. */ + if (nodeIsMaster(node) && node->numslots > 0 && + (now - node->fail_time) > + (server.cluster_node_timeout * CLUSTER_FAIL_UNDO_TIME_MULT)) + { + serverLog(LL_NOTICE, + "Clear FAIL state for node %.40s: is reachable again and nobody is serving its slots after some time.", + node->name); + node->flags &= ~CLUSTER_NODE_FAIL; + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); + } +} + +/* Return true if we already have a node in HANDSHAKE state matching the + * specified ip address and port number. This function is used in order to + * avoid adding a new handshake node for the same address multiple times. */ +int clusterHandshakeInProgress(char *ip, int port, int cport) { + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (!nodeInHandshake(node)) continue; + if (!strcasecmp(node->ip,ip) && + node->port == port && + node->cport == cport) break; + } + dictReleaseIterator(di); + return de != NULL; +} + +/* Start an handshake with the specified address if there is not one + * already in progress. Returns non-zero if the handshake was actually + * started. On error zero is returned and errno is set to one of the + * following values: + * + * EAGAIN - There is already an handshake in progress for this address. + * EINVAL - IP or port are not valid. */ +int clusterStartHandshake(char *ip, int port, int cport) { + clusterNode *n; + char norm_ip[NET_IP_STR_LEN]; + struct sockaddr_storage sa; + + /* IP sanity check */ + if (inet_pton(AF_INET,ip, + &(((struct sockaddr_in *)&sa)->sin_addr))) + { + sa.ss_family = AF_INET; + } else if (inet_pton(AF_INET6,ip, + &(((struct sockaddr_in6 *)&sa)->sin6_addr))) + { + sa.ss_family = AF_INET6; + } else { + errno = EINVAL; + return 0; + } + + /* Port sanity check */ + if (port <= 0 || port > 65535 || cport <= 0 || cport > 65535) { + errno = EINVAL; + return 0; + } + + /* Set norm_ip as the normalized string representation of the node + * IP address. */ + memset(norm_ip,0,NET_IP_STR_LEN); + if (sa.ss_family == AF_INET) + inet_ntop(AF_INET, + (void*)&(((struct sockaddr_in *)&sa)->sin_addr), + norm_ip,NET_IP_STR_LEN); + else + inet_ntop(AF_INET6, + (void*)&(((struct sockaddr_in6 *)&sa)->sin6_addr), + norm_ip,NET_IP_STR_LEN); + + if (clusterHandshakeInProgress(norm_ip,port,cport)) { + errno = EAGAIN; + return 0; + } + + /* Add the node with a random address (NULL as first argument to + * createClusterNode()). Everything will be fixed during the + * handshake. */ + n = createClusterNode(NULL,CLUSTER_NODE_HANDSHAKE|CLUSTER_NODE_MEET); + memcpy(n->ip,norm_ip,sizeof(n->ip)); + n->port = port; + n->cport = cport; + clusterAddNode(n); + return 1; +} + +/* Process the gossip section of PING or PONG packets. + * Note that this function assumes that the packet is already sanity-checked + * by the caller, not in the content of the gossip section, but in the + * length. */ +void clusterProcessGossipSection(clusterMsg *hdr, clusterLink *link) { + uint16_t count = ntohs(hdr->count); + clusterMsgDataGossip *g = (clusterMsgDataGossip*) hdr->data.ping.gossip; + clusterNode *sender = link->node ? link->node : clusterLookupNode(hdr->sender); + + while(count--) { + uint16_t flags = ntohs(g->flags); + clusterNode *node; + sds ci; + + ci = representClusterNodeFlags(sdsempty(), flags); + serverLog(LL_DEBUG,"GOSSIP %.40s %s:%d@%d %s", + g->nodename, + g->ip, + ntohs(g->port), + ntohs(g->cport), + ci); + sdsfree(ci); + + /* Update our state accordingly to the gossip sections */ + node = clusterLookupNode(g->nodename); + if (node) { + /* We already know this node. + Handle failure reports, only when the sender is a master. */ + if (sender && nodeIsMaster(sender) && node != myself) { + if (flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_PFAIL)) { + if (clusterNodeAddFailureReport(node,sender)) { + serverLog(LL_VERBOSE, + "Node %.40s reported node %.40s as not reachable.", + sender->name, node->name); + } + markNodeAsFailingIfNeeded(node); + } else { + if (clusterNodeDelFailureReport(node,sender)) { + serverLog(LL_VERBOSE, + "Node %.40s reported node %.40s is back online.", + sender->name, node->name); + } + } + } + + /* If from our POV the node is up (no failure flags are set), + * we have no pending ping for the node, nor we have failure + * reports for this node, update the last pong time with the + * one we see from the other nodes. */ + if (!(flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_PFAIL)) && + node->ping_sent == 0 && + clusterNodeFailureReportsCount(node) == 0) + { + mstime_t pongtime = ntohl(g->pong_received); + pongtime *= 1000; /* Convert back to milliseconds. */ + + /* Replace the pong time with the received one only if + * it's greater than our view but is not in the future + * (with 500 milliseconds tolerance) from the POV of our + * clock. */ + if (pongtime <= (server.mstime+500) && + pongtime > node->pong_received) + { + node->pong_received = pongtime; + } + } + + /* If we already know this node, but it is not reachable, and + * we see a different address in the gossip section of a node that + * can talk with this other node, update the address, disconnect + * the old link if any, so that we'll attempt to connect with the + * new address. */ + if (node->flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_PFAIL) && + !(flags & CLUSTER_NODE_NOADDR) && + !(flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_PFAIL)) && + (strcasecmp(node->ip,g->ip) || + node->port != ntohs(g->port) || + node->cport != ntohs(g->cport))) + { + if (node->link) freeClusterLink(node->link); + memcpy(node->ip,g->ip,NET_IP_STR_LEN); + node->port = ntohs(g->port); + node->cport = ntohs(g->cport); + node->flags &= ~CLUSTER_NODE_NOADDR; + } + } else { + /* If it's not in NOADDR state and we don't have it, we + * start a handshake process against this IP/PORT pairs. + * + * Note that we require that the sender of this gossip message + * is a well known node in our cluster, otherwise we risk + * joining another cluster. */ + if (sender && + !(flags & CLUSTER_NODE_NOADDR) && + !clusterBlacklistExists(g->nodename)) + { + clusterStartHandshake(g->ip,ntohs(g->port),ntohs(g->cport)); + } + } + + /* Next node */ + g++; + } +} + +/* IP -> string conversion. 'buf' is supposed to at least be 46 bytes. + * If 'announced_ip' length is non-zero, it is used instead of extracting + * the IP from the socket peer address. */ +void nodeIp2String(char *buf, clusterLink *link, char *announced_ip) { + if (announced_ip[0] != '\0') { + memcpy(buf,announced_ip,NET_IP_STR_LEN); + buf[NET_IP_STR_LEN-1] = '\0'; /* We are not sure the input is sane. */ + } else { + anetPeerToString(link->fd, buf, NET_IP_STR_LEN, NULL); + } +} + +/* Update the node address to the IP address that can be extracted + * from link->fd, or if hdr->myip is non empty, to the address the node + * is announcing us. The port is taken from the packet header as well. + * + * If the address or port changed, disconnect the node link so that we'll + * connect again to the new address. + * + * If the ip/port pair are already correct no operation is performed at + * all. + * + * The function returns 0 if the node address is still the same, + * otherwise 1 is returned. */ +int nodeUpdateAddressIfNeeded(clusterNode *node, clusterLink *link, + clusterMsg *hdr) +{ + char ip[NET_IP_STR_LEN] = {0}; + int port = ntohs(hdr->port); + int cport = ntohs(hdr->cport); + + /* We don't proceed if the link is the same as the sender link, as this + * function is designed to see if the node link is consistent with the + * symmetric link that is used to receive PINGs from the node. + * + * As a side effect this function never frees the passed 'link', so + * it is safe to call during packet processing. */ + if (link == node->link) return 0; + + nodeIp2String(ip,link,hdr->myip); + if (node->port == port && node->cport == cport && + strcmp(ip,node->ip) == 0) return 0; + + /* IP / port is different, update it. */ + memcpy(node->ip,ip,sizeof(ip)); + node->port = port; + node->cport = cport; + if (node->link) freeClusterLink(node->link); + node->flags &= ~CLUSTER_NODE_NOADDR; + serverLog(LL_WARNING,"Address updated for node %.40s, now %s:%d", + node->name, node->ip, node->port); + + /* Check if this is our master and we have to change the + * replication target as well. */ + if (nodeIsSlave(myself) && myself->slaveof == node) + replicationSetMaster(node->ip, node->port); + return 1; +} + +/* Reconfigure the specified node 'n' as a master. This function is called when + * a node that we believed to be a slave is now acting as master in order to + * update the state of the node. */ +void clusterSetNodeAsMaster(clusterNode *n) { + if (nodeIsMaster(n)) return; + + if (n->slaveof) { + clusterNodeRemoveSlave(n->slaveof,n); + if (n != myself) n->flags |= CLUSTER_NODE_MIGRATE_TO; + } + n->flags &= ~CLUSTER_NODE_SLAVE; + n->flags |= CLUSTER_NODE_MASTER; + n->slaveof = NULL; + + /* Update config and state. */ + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); +} + +/* This function is called when we receive a master configuration via a + * PING, PONG or UPDATE packet. What we receive is a node, a configEpoch of the + * node, and the set of slots claimed under this configEpoch. + * + * What we do is to rebind the slots with newer configuration compared to our + * local configuration, and if needed, we turn ourself into a replica of the + * node (see the function comments for more info). + * + * The 'sender' is the node for which we received a configuration update. + * Sometimes it is not actually the "Sender" of the information, like in the + * case we receive the info via an UPDATE packet. */ +void clusterUpdateSlotsConfigWith(clusterNode *sender, uint64_t senderConfigEpoch, unsigned char *slots) { + int j; + clusterNode *curmaster, *newmaster = NULL; + /* The dirty slots list is a list of slots for which we lose the ownership + * while having still keys inside. This usually happens after a failover + * or after a manual cluster reconfiguration operated by the admin. + * + * If the update message is not able to demote a master to slave (in this + * case we'll resync with the master updating the whole key space), we + * need to delete all the keys in the slots we lost ownership. */ + uint16_t dirty_slots[CLUSTER_SLOTS]; + int dirty_slots_count = 0; + + /* Here we set curmaster to this node or the node this node + * replicates to if it's a slave. In the for loop we are + * interested to check if slots are taken away from curmaster. */ + curmaster = nodeIsMaster(myself) ? myself : myself->slaveof; + + if (sender == myself) { + serverLog(LL_WARNING,"Discarding UPDATE message about myself."); + return; + } + + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (bitmapTestBit(slots,j)) { + /* The slot is already bound to the sender of this message. */ + if (server.cluster->slots[j] == sender) continue; + + /* The slot is in importing state, it should be modified only + * manually via redis-trib (example: a resharding is in progress + * and the migrating side slot was already closed and is advertising + * a new config. We still want the slot to be closed manually). */ + if (server.cluster->importing_slots_from[j]) continue; + + /* We rebind the slot to the new node claiming it if: + * 1) The slot was unassigned or the new node claims it with a + * greater configEpoch. + * 2) We are not currently importing the slot. */ + if (server.cluster->slots[j] == NULL || + server.cluster->slots[j]->configEpoch < senderConfigEpoch) + { + /* Was this slot mine, and still contains keys? Mark it as + * a dirty slot. */ + if (server.cluster->slots[j] == myself && + countKeysInSlot(j) && + sender != myself) + { + dirty_slots[dirty_slots_count] = j; + dirty_slots_count++; + } + + if (server.cluster->slots[j] == curmaster) + newmaster = sender; + clusterDelSlot(j); + clusterAddSlot(sender,j); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_FSYNC_CONFIG); + } + } + } + + /* If at least one slot was reassigned from a node to another node + * with a greater configEpoch, it is possible that: + * 1) We are a master left without slots. This means that we were + * failed over and we should turn into a replica of the new + * master. + * 2) We are a slave and our master is left without slots. We need + * to replicate to the new slots owner. */ + if (newmaster && curmaster->numslots == 0) { + serverLog(LL_WARNING, + "Configuration change detected. Reconfiguring myself " + "as a replica of %.40s", sender->name); + clusterSetMaster(sender); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_FSYNC_CONFIG); + } else if (dirty_slots_count) { + /* If we are here, we received an update message which removed + * ownership for certain slots we still have keys about, but still + * we are serving some slots, so this master node was not demoted to + * a slave. + * + * In order to maintain a consistent state between keys and slots + * we need to remove all the keys from the slots we lost. */ + for (j = 0; j < dirty_slots_count; j++) + delKeysInSlot(dirty_slots[j]); + } +} + +/* When this function is called, there is a packet to process starting + * at node->rcvbuf. Releasing the buffer is up to the caller, so this + * function should just handle the higher level stuff of processing the + * packet, modifying the cluster state if needed. + * + * The function returns 1 if the link is still valid after the packet + * was processed, otherwise 0 if the link was freed since the packet + * processing lead to some inconsistency error (for instance a PONG + * received from the wrong sender ID). */ +int clusterProcessPacket(clusterLink *link) { + clusterMsg *hdr = (clusterMsg*) link->rcvbuf; + uint32_t totlen = ntohl(hdr->totlen); + uint16_t type = ntohs(hdr->type); + + if (type < CLUSTERMSG_TYPE_COUNT) + server.cluster->stats_bus_messages_received[type]++; + serverLog(LL_DEBUG,"--- Processing packet of type %d, %lu bytes", + type, (unsigned long) totlen); + + /* Perform sanity checks */ + if (totlen < 16) return 1; /* At least signature, version, totlen, count. */ + if (totlen > sdslen(link->rcvbuf)) return 1; + + if (ntohs(hdr->ver) != CLUSTER_PROTO_VER) { + /* Can't handle messages of different versions. */ + return 1; + } + + uint16_t flags = ntohs(hdr->flags); + uint64_t senderCurrentEpoch = 0, senderConfigEpoch = 0; + clusterNode *sender; + + if (type == CLUSTERMSG_TYPE_PING || type == CLUSTERMSG_TYPE_PONG || + type == CLUSTERMSG_TYPE_MEET) + { + uint16_t count = ntohs(hdr->count); + uint32_t explen; /* expected length of this packet */ + + explen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + explen += (sizeof(clusterMsgDataGossip)*count); + if (totlen != explen) return 1; + } else if (type == CLUSTERMSG_TYPE_FAIL) { + uint32_t explen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + + explen += sizeof(clusterMsgDataFail); + if (totlen != explen) return 1; + } else if (type == CLUSTERMSG_TYPE_PUBLISH) { + uint32_t explen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + + explen += sizeof(clusterMsgDataPublish) - + 8 + + ntohl(hdr->data.publish.msg.channel_len) + + ntohl(hdr->data.publish.msg.message_len); + if (totlen != explen) return 1; + } else if (type == CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST || + type == CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK || + type == CLUSTERMSG_TYPE_MFSTART) + { + uint32_t explen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + + if (totlen != explen) return 1; + } else if (type == CLUSTERMSG_TYPE_UPDATE) { + uint32_t explen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + + explen += sizeof(clusterMsgDataUpdate); + if (totlen != explen) return 1; + } + + /* Check if the sender is a known node. */ + sender = clusterLookupNode(hdr->sender); + if (sender && !nodeInHandshake(sender)) { + /* Update our curretEpoch if we see a newer epoch in the cluster. */ + senderCurrentEpoch = ntohu64(hdr->currentEpoch); + senderConfigEpoch = ntohu64(hdr->configEpoch); + if (senderCurrentEpoch > server.cluster->currentEpoch) + server.cluster->currentEpoch = senderCurrentEpoch; + /* Update the sender configEpoch if it is publishing a newer one. */ + if (senderConfigEpoch > sender->configEpoch) { + sender->configEpoch = senderConfigEpoch; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_FSYNC_CONFIG); + } + /* Update the replication offset info for this node. */ + sender->repl_offset = ntohu64(hdr->offset); + sender->repl_offset_time = mstime(); + /* If we are a slave performing a manual failover and our master + * sent its offset while already paused, populate the MF state. */ + if (server.cluster->mf_end && + nodeIsSlave(myself) && + myself->slaveof == sender && + hdr->mflags[0] & CLUSTERMSG_FLAG0_PAUSED && + server.cluster->mf_master_offset == 0) + { + server.cluster->mf_master_offset = sender->repl_offset; + serverLog(LL_WARNING, + "Received replication offset for paused " + "master manual failover: %lld", + server.cluster->mf_master_offset); + } + } + + /* Initial processing of PING and MEET requests replying with a PONG. */ + if (type == CLUSTERMSG_TYPE_PING || type == CLUSTERMSG_TYPE_MEET) { + serverLog(LL_DEBUG,"Ping packet received: %p", (void*)link->node); + + /* We use incoming MEET messages in order to set the address + * for 'myself', since only other cluster nodes will send us + * MEET messages on handshakes, when the cluster joins, or + * later if we changed address, and those nodes will use our + * official address to connect to us. So by obtaining this address + * from the socket is a simple way to discover / update our own + * address in the cluster without it being hardcoded in the config. + * + * However if we don't have an address at all, we update the address + * even with a normal PING packet. If it's wrong it will be fixed + * by MEET later. */ + if ((type == CLUSTERMSG_TYPE_MEET || myself->ip[0] == '\0') && + server.cluster_announce_ip == NULL) + { + char ip[NET_IP_STR_LEN]; + + if (anetSockName(link->fd,ip,sizeof(ip),NULL) != -1 && + strcmp(ip,myself->ip)) + { + memcpy(myself->ip,ip,NET_IP_STR_LEN); + serverLog(LL_WARNING,"IP address for this node updated to %s", + myself->ip); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG); + } + } + + /* Add this node if it is new for us and the msg type is MEET. + * In this stage we don't try to add the node with the right + * flags, slaveof pointer, and so forth, as this details will be + * resolved when we'll receive PONGs from the node. */ + if (!sender && type == CLUSTERMSG_TYPE_MEET) { + clusterNode *node; + + node = createClusterNode(NULL,CLUSTER_NODE_HANDSHAKE); + nodeIp2String(node->ip,link,hdr->myip); + node->port = ntohs(hdr->port); + node->cport = ntohs(hdr->cport); + clusterAddNode(node); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG); + } + + /* If this is a MEET packet from an unknown node, we still process + * the gossip section here since we have to trust the sender because + * of the message type. */ + if (!sender && type == CLUSTERMSG_TYPE_MEET) + clusterProcessGossipSection(hdr,link); + + /* Anyway reply with a PONG */ + clusterSendPing(link,CLUSTERMSG_TYPE_PONG); + } + + /* PING, PONG, MEET: process config information. */ + if (type == CLUSTERMSG_TYPE_PING || type == CLUSTERMSG_TYPE_PONG || + type == CLUSTERMSG_TYPE_MEET) + { + serverLog(LL_DEBUG,"%s packet received: %p", + type == CLUSTERMSG_TYPE_PING ? "ping" : "pong", + (void*)link->node); + if (link->node) { + if (nodeInHandshake(link->node)) { + /* If we already have this node, try to change the + * IP/port of the node with the new one. */ + if (sender) { + serverLog(LL_VERBOSE, + "Handshake: we already know node %.40s, " + "updating the address if needed.", sender->name); + if (nodeUpdateAddressIfNeeded(sender,link,hdr)) + { + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); + } + /* Free this node as we already have it. This will + * cause the link to be freed as well. */ + clusterDelNode(link->node); + return 0; + } + + /* First thing to do is replacing the random name with the + * right node name if this was a handshake stage. */ + clusterRenameNode(link->node, hdr->sender); + serverLog(LL_DEBUG,"Handshake with node %.40s completed.", + link->node->name); + link->node->flags &= ~CLUSTER_NODE_HANDSHAKE; + link->node->flags |= flags&(CLUSTER_NODE_MASTER|CLUSTER_NODE_SLAVE); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG); + } else if (memcmp(link->node->name,hdr->sender, + CLUSTER_NAMELEN) != 0) + { + /* If the reply has a non matching node ID we + * disconnect this node and set it as not having an associated + * address. */ + serverLog(LL_DEBUG,"PONG contains mismatching sender ID. About node %.40s added %d ms ago, having flags %d", + link->node->name, + (int)(mstime()-(link->node->ctime)), + link->node->flags); + link->node->flags |= CLUSTER_NODE_NOADDR; + link->node->ip[0] = '\0'; + link->node->port = 0; + link->node->cport = 0; + freeClusterLink(link); + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG); + return 0; + } + } + + /* Update the node address if it changed. */ + if (sender && type == CLUSTERMSG_TYPE_PING && + !nodeInHandshake(sender) && + nodeUpdateAddressIfNeeded(sender,link,hdr)) + { + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); + } + + /* Update our info about the node */ + if (link->node && type == CLUSTERMSG_TYPE_PONG) { + link->node->pong_received = mstime(); + link->node->ping_sent = 0; + + /* The PFAIL condition can be reversed without external + * help if it is momentary (that is, if it does not + * turn into a FAIL state). + * + * The FAIL condition is also reversible under specific + * conditions detected by clearNodeFailureIfNeeded(). */ + if (nodeTimedOut(link->node)) { + link->node->flags &= ~CLUSTER_NODE_PFAIL; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); + } else if (nodeFailed(link->node)) { + clearNodeFailureIfNeeded(link->node); + } + } + + /* Check for role switch: slave -> master or master -> slave. */ + if (sender) { + if (!memcmp(hdr->slaveof,CLUSTER_NODE_NULL_NAME, + sizeof(hdr->slaveof))) + { + /* Node is a master. */ + clusterSetNodeAsMaster(sender); + } else { + /* Node is a slave. */ + clusterNode *master = clusterLookupNode(hdr->slaveof); + + if (nodeIsMaster(sender)) { + /* Master turned into a slave! Reconfigure the node. */ + clusterDelNodeSlots(sender); + sender->flags &= ~(CLUSTER_NODE_MASTER| + CLUSTER_NODE_MIGRATE_TO); + sender->flags |= CLUSTER_NODE_SLAVE; + + /* Update config and state. */ + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); + } + + /* Master node changed for this slave? */ + if (master && sender->slaveof != master) { + if (sender->slaveof) + clusterNodeRemoveSlave(sender->slaveof,sender); + clusterNodeAddSlave(master,sender); + sender->slaveof = master; + + /* Update config. */ + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG); + } + } + } + + /* Update our info about served slots. + * + * Note: this MUST happen after we update the master/slave state + * so that CLUSTER_NODE_MASTER flag will be set. */ + + /* Many checks are only needed if the set of served slots this + * instance claims is different compared to the set of slots we have + * for it. Check this ASAP to avoid other computational expansive + * checks later. */ + clusterNode *sender_master = NULL; /* Sender or its master if slave. */ + int dirty_slots = 0; /* Sender claimed slots don't match my view? */ + + if (sender) { + sender_master = nodeIsMaster(sender) ? sender : sender->slaveof; + if (sender_master) { + dirty_slots = memcmp(sender_master->slots, + hdr->myslots,sizeof(hdr->myslots)) != 0; + } + } + + /* 1) If the sender of the message is a master, and we detected that + * the set of slots it claims changed, scan the slots to see if we + * need to update our configuration. */ + if (sender && nodeIsMaster(sender) && dirty_slots) + clusterUpdateSlotsConfigWith(sender,senderConfigEpoch,hdr->myslots); + + /* 2) We also check for the reverse condition, that is, the sender + * claims to serve slots we know are served by a master with a + * greater configEpoch. If this happens we inform the sender. + * + * This is useful because sometimes after a partition heals, a + * reappearing master may be the last one to claim a given set of + * hash slots, but with a configuration that other instances know to + * be deprecated. Example: + * + * A and B are master and slave for slots 1,2,3. + * A is partitioned away, B gets promoted. + * B is partitioned away, and A returns available. + * + * Usually B would PING A publishing its set of served slots and its + * configEpoch, but because of the partition B can't inform A of the + * new configuration, so other nodes that have an updated table must + * do it. In this way A will stop to act as a master (or can try to + * failover if there are the conditions to win the election). */ + if (sender && dirty_slots) { + int j; + + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (bitmapTestBit(hdr->myslots,j)) { + if (server.cluster->slots[j] == sender || + server.cluster->slots[j] == NULL) continue; + if (server.cluster->slots[j]->configEpoch > + senderConfigEpoch) + { + serverLog(LL_VERBOSE, + "Node %.40s has old slots configuration, sending " + "an UPDATE message about %.40s", + sender->name, server.cluster->slots[j]->name); + clusterSendUpdate(sender->link, + server.cluster->slots[j]); + + /* TODO: instead of exiting the loop send every other + * UPDATE packet for other nodes that are the new owner + * of sender's slots. */ + break; + } + } + } + } + + /* If our config epoch collides with the sender's try to fix + * the problem. */ + if (sender && + nodeIsMaster(myself) && nodeIsMaster(sender) && + senderConfigEpoch == myself->configEpoch) + { + clusterHandleConfigEpochCollision(sender); + } + + /* Get info from the gossip section */ + if (sender) clusterProcessGossipSection(hdr,link); + } else if (type == CLUSTERMSG_TYPE_FAIL) { + clusterNode *failing; + + if (sender) { + failing = clusterLookupNode(hdr->data.fail.about.nodename); + if (failing && + !(failing->flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_MYSELF))) + { + serverLog(LL_NOTICE, + "FAIL message received from %.40s about %.40s", + hdr->sender, hdr->data.fail.about.nodename); + failing->flags |= CLUSTER_NODE_FAIL; + failing->fail_time = mstime(); + failing->flags &= ~CLUSTER_NODE_PFAIL; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE); + } + } else { + serverLog(LL_NOTICE, + "Ignoring FAIL message from unknown node %.40s about %.40s", + hdr->sender, hdr->data.fail.about.nodename); + } + } else if (type == CLUSTERMSG_TYPE_PUBLISH) { + robj *channel, *message; + uint32_t channel_len, message_len; + + /* Don't bother creating useless objects if there are no + * Pub/Sub subscribers. */ + if (dictSize(server.pubsub_channels) || + listLength(server.pubsub_patterns)) + { + channel_len = ntohl(hdr->data.publish.msg.channel_len); + message_len = ntohl(hdr->data.publish.msg.message_len); + channel = createStringObject( + (char*)hdr->data.publish.msg.bulk_data,channel_len); + message = createStringObject( + (char*)hdr->data.publish.msg.bulk_data+channel_len, + message_len); + pubsubPublishMessage(channel,message); + decrRefCount(channel); + decrRefCount(message); + } + } else if (type == CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST) { + if (!sender) return 1; /* We don't know that node. */ + clusterSendFailoverAuthIfNeeded(sender,hdr); + } else if (type == CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK) { + if (!sender) return 1; /* We don't know that node. */ + /* We consider this vote only if the sender is a master serving + * a non zero number of slots, and its currentEpoch is greater or + * equal to epoch where this node started the election. */ + if (nodeIsMaster(sender) && sender->numslots > 0 && + senderCurrentEpoch >= server.cluster->failover_auth_epoch) + { + server.cluster->failover_auth_count++; + /* Maybe we reached a quorum here, set a flag to make sure + * we check ASAP. */ + clusterDoBeforeSleep(CLUSTER_TODO_HANDLE_FAILOVER); + } + } else if (type == CLUSTERMSG_TYPE_MFSTART) { + /* This message is acceptable only if I'm a master and the sender + * is one of my slaves. */ + if (!sender || sender->slaveof != myself) return 1; + /* Manual failover requested from slaves. Initialize the state + * accordingly. */ + resetManualFailover(); + server.cluster->mf_end = mstime() + CLUSTER_MF_TIMEOUT; + server.cluster->mf_slave = sender; + pauseClients(mstime()+(CLUSTER_MF_TIMEOUT*2)); + serverLog(LL_WARNING,"Manual failover requested by slave %.40s.", + sender->name); + } else if (type == CLUSTERMSG_TYPE_UPDATE) { + clusterNode *n; /* The node the update is about. */ + uint64_t reportedConfigEpoch = + ntohu64(hdr->data.update.nodecfg.configEpoch); + + if (!sender) return 1; /* We don't know the sender. */ + n = clusterLookupNode(hdr->data.update.nodecfg.nodename); + if (!n) return 1; /* We don't know the reported node. */ + if (n->configEpoch >= reportedConfigEpoch) return 1; /* Nothing new. */ + + /* If in our current config the node is a slave, set it as a master. */ + if (nodeIsSlave(n)) clusterSetNodeAsMaster(n); + + /* Update the node's configEpoch. */ + n->configEpoch = reportedConfigEpoch; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_FSYNC_CONFIG); + + /* Check the bitmap of served slots and update our + * config accordingly. */ + clusterUpdateSlotsConfigWith(n,reportedConfigEpoch, + hdr->data.update.nodecfg.slots); + } else { + serverLog(LL_WARNING,"Received unknown packet type: %d", type); + } + return 1; +} + +/* This function is called when we detect the link with this node is lost. + We set the node as no longer connected. The Cluster Cron will detect + this connection and will try to get it connected again. + + Instead if the node is a temporary node used to accept a query, we + completely free the node on error. */ +void handleLinkIOError(clusterLink *link) { + freeClusterLink(link); +} + +/* Send data. This is handled using a trivial send buffer that gets + * consumed by write(). We don't try to optimize this for speed too much + * as this is a very low traffic channel. */ +void clusterWriteHandler(aeEventLoop *el, int fd, void *privdata, int mask) { + clusterLink *link = (clusterLink*) privdata; + ssize_t nwritten; + UNUSED(el); + UNUSED(mask); + + nwritten = write(fd, link->sndbuf, sdslen(link->sndbuf)); + if (nwritten <= 0) { + serverLog(LL_DEBUG,"I/O error writing to node link: %s", + strerror(errno)); + handleLinkIOError(link); + return; + } + sdsrange(link->sndbuf,nwritten,-1); + if (sdslen(link->sndbuf) == 0) + aeDeleteFileEvent(server.el, link->fd, AE_WRITABLE); +} + +/* Read data. Try to read the first field of the header first to check the + * full length of the packet. When a whole packet is in memory this function + * will call the function to process the packet. And so forth. */ +void clusterReadHandler(aeEventLoop *el, int fd, void *privdata, int mask) { + char buf[sizeof(clusterMsg)]; + ssize_t nread; + clusterMsg *hdr; + clusterLink *link = (clusterLink*) privdata; + unsigned int readlen, rcvbuflen; + UNUSED(el); + UNUSED(mask); + + while(1) { /* Read as long as there is data to read. */ + rcvbuflen = sdslen(link->rcvbuf); + if (rcvbuflen < 8) { + /* First, obtain the first 8 bytes to get the full message + * length. */ + readlen = 8 - rcvbuflen; + } else { + /* Finally read the full message. */ + hdr = (clusterMsg*) link->rcvbuf; + if (rcvbuflen == 8) { + /* Perform some sanity check on the message signature + * and length. */ + if (memcmp(hdr->sig,"RCmb",4) != 0 || + ntohl(hdr->totlen) < CLUSTERMSG_MIN_LEN) + { + serverLog(LL_WARNING, + "Bad message length or signature received " + "from Cluster bus."); + handleLinkIOError(link); + return; + } + } + readlen = ntohl(hdr->totlen) - rcvbuflen; + if (readlen > sizeof(buf)) readlen = sizeof(buf); + } + + nread = read(fd,buf,readlen); + if (nread == -1 && errno == EAGAIN) return; /* No more data ready. */ + + if (nread <= 0) { + /* I/O error... */ + serverLog(LL_DEBUG,"I/O error reading from node link: %s", + (nread == 0) ? "connection closed" : strerror(errno)); + handleLinkIOError(link); + return; + } else { + /* Read data and recast the pointer to the new buffer. */ + link->rcvbuf = sdscatlen(link->rcvbuf,buf,nread); + hdr = (clusterMsg*) link->rcvbuf; + rcvbuflen += nread; + } + + /* Total length obtained? Process this packet. */ + if (rcvbuflen >= 8 && rcvbuflen == ntohl(hdr->totlen)) { + if (clusterProcessPacket(link)) { + sdsfree(link->rcvbuf); + link->rcvbuf = sdsempty(); + } else { + return; /* Link no longer valid. */ + } + } + } +} + +/* Put stuff into the send buffer. + * + * It is guaranteed that this function will never have as a side effect + * the link to be invalidated, so it is safe to call this function + * from event handlers that will do stuff with the same link later. */ +void clusterSendMessage(clusterLink *link, unsigned char *msg, size_t msglen) { + if (sdslen(link->sndbuf) == 0 && msglen != 0) + aeCreateFileEvent(server.el,link->fd,AE_WRITABLE, + clusterWriteHandler,link); + + link->sndbuf = sdscatlen(link->sndbuf, msg, msglen); + + /* Populate sent messages stats. */ + clusterMsg *hdr = (clusterMsg*) msg; + uint16_t type = ntohs(hdr->type); + if (type < CLUSTERMSG_TYPE_COUNT) + server.cluster->stats_bus_messages_sent[type]++; +} + +/* Send a message to all the nodes that are part of the cluster having + * a connected link. + * + * It is guaranteed that this function will never have as a side effect + * some node->link to be invalidated, so it is safe to call this function + * from event handlers that will do stuff with node links later. */ +void clusterBroadcastMessage(void *buf, size_t len) { + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (!node->link) continue; + if (node->flags & (CLUSTER_NODE_MYSELF|CLUSTER_NODE_HANDSHAKE)) + continue; + clusterSendMessage(node->link,buf,len); + } + dictReleaseIterator(di); +} + +/* Build the message header. hdr must point to a buffer at least + * sizeof(clusterMsg) in bytes. */ +void clusterBuildMessageHdr(clusterMsg *hdr, int type) { + int totlen = 0; + uint64_t offset; + clusterNode *master; + + /* If this node is a master, we send its slots bitmap and configEpoch. + * If this node is a slave we send the master's information instead (the + * node is flagged as slave so the receiver knows that it is NOT really + * in charge for this slots. */ + master = (nodeIsSlave(myself) && myself->slaveof) ? + myself->slaveof : myself; + + memset(hdr,0,sizeof(*hdr)); + hdr->ver = htons(CLUSTER_PROTO_VER); + hdr->sig[0] = 'R'; + hdr->sig[1] = 'C'; + hdr->sig[2] = 'm'; + hdr->sig[3] = 'b'; + hdr->type = htons(type); + memcpy(hdr->sender,myself->name,CLUSTER_NAMELEN); + + /* If cluster-announce-ip option is enabled, force the receivers of our + * packets to use the specified address for this node. Otherwise if the + * first byte is zero, they'll do auto discovery. */ + memset(hdr->myip,0,NET_IP_STR_LEN); + if (server.cluster_announce_ip) { + strncpy(hdr->myip,server.cluster_announce_ip,NET_IP_STR_LEN); + hdr->myip[NET_IP_STR_LEN-1] = '\0'; + } + + /* Handle cluster-announce-port as well. */ + int announced_port = server.cluster_announce_port ? + server.cluster_announce_port : server.port; + int announced_cport = server.cluster_announce_bus_port ? + server.cluster_announce_bus_port : + (server.port + CLUSTER_PORT_INCR); + + memcpy(hdr->myslots,master->slots,sizeof(hdr->myslots)); + memset(hdr->slaveof,0,CLUSTER_NAMELEN); + if (myself->slaveof != NULL) + memcpy(hdr->slaveof,myself->slaveof->name, CLUSTER_NAMELEN); + hdr->port = htons(announced_port); + hdr->cport = htons(announced_cport); + hdr->flags = htons(myself->flags); + hdr->state = server.cluster->state; + + /* Set the currentEpoch and configEpochs. */ + hdr->currentEpoch = htonu64(server.cluster->currentEpoch); + hdr->configEpoch = htonu64(master->configEpoch); + + /* Set the replication offset. */ + if (nodeIsSlave(myself)) + offset = replicationGetSlaveOffset(); + else + offset = server.master_repl_offset; + hdr->offset = htonu64(offset); + + /* Set the message flags. */ + if (nodeIsMaster(myself) && server.cluster->mf_end) + hdr->mflags[0] |= CLUSTERMSG_FLAG0_PAUSED; + + /* Compute the message length for certain messages. For other messages + * this is up to the caller. */ + if (type == CLUSTERMSG_TYPE_FAIL) { + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + totlen += sizeof(clusterMsgDataFail); + } else if (type == CLUSTERMSG_TYPE_UPDATE) { + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + totlen += sizeof(clusterMsgDataUpdate); + } + hdr->totlen = htonl(totlen); + /* For PING, PONG, and MEET, fixing the totlen field is up to the caller. */ +} + +/* Return non zero if the node is already present in the gossip section of the + * message pointed by 'hdr' and having 'count' gossip entries. Otherwise + * zero is returned. Helper for clusterSendPing(). */ +int clusterNodeIsInGossipSection(clusterMsg *hdr, int count, clusterNode *n) { + int j; + for (j = 0; j < count; j++) { + if (memcmp(hdr->data.ping.gossip[j].nodename,n->name, + CLUSTER_NAMELEN) == 0) break; + } + return j != count; +} + +/* Set the i-th entry of the gossip section in the message pointed by 'hdr' + * to the info of the specified node 'n'. */ +void clusterSetGossipEntry(clusterMsg *hdr, int i, clusterNode *n) { + clusterMsgDataGossip *gossip; + gossip = &(hdr->data.ping.gossip[i]); + memcpy(gossip->nodename,n->name,CLUSTER_NAMELEN); + gossip->ping_sent = htonl(n->ping_sent/1000); + gossip->pong_received = htonl(n->pong_received/1000); + memcpy(gossip->ip,n->ip,sizeof(n->ip)); + gossip->port = htons(n->port); + gossip->cport = htons(n->cport); + gossip->flags = htons(n->flags); + gossip->notused1 = 0; +} + +/* Send a PING or PONG packet to the specified node, making sure to add enough + * gossip informations. */ +void clusterSendPing(clusterLink *link, int type) { + unsigned char *buf; + clusterMsg *hdr; + int gossipcount = 0; /* Number of gossip sections added so far. */ + int wanted; /* Number of gossip sections we want to append if possible. */ + int totlen; /* Total packet length. */ + /* freshnodes is the max number of nodes we can hope to append at all: + * nodes available minus two (ourself and the node we are sending the + * message to). However practically there may be less valid nodes since + * nodes in handshake state, disconnected, are not considered. */ + int freshnodes = dictSize(server.cluster->nodes)-2; + + /* How many gossip sections we want to add? 1/10 of the number of nodes + * and anyway at least 3. Why 1/10? + * + * If we have N masters, with N/10 entries, and we consider that in + * node_timeout we exchange with each other node at least 4 packets + * (we ping in the worst case in node_timeout/2 time, and we also + * receive two pings from the host), we have a total of 8 packets + * in the node_timeout*2 falure reports validity time. So we have + * that, for a single PFAIL node, we can expect to receive the following + * number of failure reports (in the specified window of time): + * + * PROB * GOSSIP_ENTRIES_PER_PACKET * TOTAL_PACKETS: + * + * PROB = probability of being featured in a single gossip entry, + * which is 1 / NUM_OF_NODES. + * ENTRIES = 10. + * TOTAL_PACKETS = 2 * 4 * NUM_OF_MASTERS. + * + * If we assume we have just masters (so num of nodes and num of masters + * is the same), with 1/10 we always get over the majority, and specifically + * 80% of the number of nodes, to account for many masters failing at the + * same time. + * + * Since we have non-voting slaves that lower the probability of an entry + * to feature our node, we set the number of entires per packet as + * 10% of the total nodes we have. */ + wanted = floor(dictSize(server.cluster->nodes)/10); + if (wanted < 3) wanted = 3; + if (wanted > freshnodes) wanted = freshnodes; + + /* Include all the nodes in PFAIL state, so that failure reports are + * faster to propagate to go from PFAIL to FAIL state. */ + int pfail_wanted = server.cluster->stats_pfail_nodes; + + /* Compute the maxium totlen to allocate our buffer. We'll fix the totlen + * later according to the number of gossip sections we really were able + * to put inside the packet. */ + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + totlen += (sizeof(clusterMsgDataGossip)*(wanted+pfail_wanted)); + /* Note: clusterBuildMessageHdr() expects the buffer to be always at least + * sizeof(clusterMsg) or more. */ + if (totlen < (int)sizeof(clusterMsg)) totlen = sizeof(clusterMsg); + buf = zcalloc(totlen); + hdr = (clusterMsg*) buf; + + /* Populate the header. */ + if (link->node && type == CLUSTERMSG_TYPE_PING) + link->node->ping_sent = mstime(); + clusterBuildMessageHdr(hdr,type); + + /* Populate the gossip fields */ + int maxiterations = wanted*3; + while(freshnodes > 0 && gossipcount < wanted && maxiterations--) { + dictEntry *de = dictGetRandomKey(server.cluster->nodes); + clusterNode *this = dictGetVal(de); + + /* Don't include this node: the whole packet header is about us + * already, so we just gossip about other nodes. */ + if (this == myself) continue; + + /* PFAIL nodes will be added later. */ + if (this->flags & CLUSTER_NODE_PFAIL) continue; + + /* In the gossip section don't include: + * 1) Nodes in HANDSHAKE state. + * 3) Nodes with the NOADDR flag set. + * 4) Disconnected nodes if they don't have configured slots. + */ + if (this->flags & (CLUSTER_NODE_HANDSHAKE|CLUSTER_NODE_NOADDR) || + (this->link == NULL && this->numslots == 0)) + { + freshnodes--; /* Tecnically not correct, but saves CPU. */ + continue; + } + + /* Do not add a node we already have. */ + if (clusterNodeIsInGossipSection(hdr,gossipcount,this)) continue; + + /* Add it */ + clusterSetGossipEntry(hdr,gossipcount,this); + freshnodes--; + gossipcount++; + } + + /* If there are PFAIL nodes, add them at the end. */ + if (pfail_wanted) { + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL && pfail_wanted > 0) { + clusterNode *node = dictGetVal(de); + if (node->flags & CLUSTER_NODE_HANDSHAKE) continue; + if (node->flags & CLUSTER_NODE_NOADDR) continue; + if (!(node->flags & CLUSTER_NODE_PFAIL)) continue; + clusterSetGossipEntry(hdr,gossipcount,node); + freshnodes--; + gossipcount++; + /* We take the count of the slots we allocated, since the + * PFAIL stats may not match perfectly with the current number + * of PFAIL nodes. */ + pfail_wanted--; + } + dictReleaseIterator(di); + } + + /* Ready to send... fix the totlen fiend and queue the message in the + * output buffer. */ + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + totlen += (sizeof(clusterMsgDataGossip)*gossipcount); + hdr->count = htons(gossipcount); + hdr->totlen = htonl(totlen); + clusterSendMessage(link,buf,totlen); + zfree(buf); +} + +/* Send a PONG packet to every connected node that's not in handshake state + * and for which we have a valid link. + * + * In Redis Cluster pongs are not used just for failure detection, but also + * to carry important configuration information. So broadcasting a pong is + * useful when something changes in the configuration and we want to make + * the cluster aware ASAP (for instance after a slave promotion). + * + * The 'target' argument specifies the receiving instances using the + * defines below: + * + * CLUSTER_BROADCAST_ALL -> All known instances. + * CLUSTER_BROADCAST_LOCAL_SLAVES -> All slaves in my master-slaves ring. + */ +#define CLUSTER_BROADCAST_ALL 0 +#define CLUSTER_BROADCAST_LOCAL_SLAVES 1 +void clusterBroadcastPong(int target) { + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (!node->link) continue; + if (node == myself || nodeInHandshake(node)) continue; + if (target == CLUSTER_BROADCAST_LOCAL_SLAVES) { + int local_slave = + nodeIsSlave(node) && node->slaveof && + (node->slaveof == myself || node->slaveof == myself->slaveof); + if (!local_slave) continue; + } + clusterSendPing(node->link,CLUSTERMSG_TYPE_PONG); + } + dictReleaseIterator(di); +} + +/* Send a PUBLISH message. + * + * If link is NULL, then the message is broadcasted to the whole cluster. */ +void clusterSendPublish(clusterLink *link, robj *channel, robj *message) { + unsigned char buf[sizeof(clusterMsg)], *payload; + clusterMsg *hdr = (clusterMsg*) buf; + uint32_t totlen; + uint32_t channel_len, message_len; + + channel = getDecodedObject(channel); + message = getDecodedObject(message); + channel_len = sdslen(channel->ptr); + message_len = sdslen(message->ptr); + + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_PUBLISH); + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + totlen += sizeof(clusterMsgDataPublish) - 8 + channel_len + message_len; + + hdr->data.publish.msg.channel_len = htonl(channel_len); + hdr->data.publish.msg.message_len = htonl(message_len); + hdr->totlen = htonl(totlen); + + /* Try to use the local buffer if possible */ + if (totlen < sizeof(buf)) { + payload = buf; + } else { + payload = zmalloc(totlen); + memcpy(payload,hdr,sizeof(*hdr)); + hdr = (clusterMsg*) payload; + } + memcpy(hdr->data.publish.msg.bulk_data,channel->ptr,sdslen(channel->ptr)); + memcpy(hdr->data.publish.msg.bulk_data+sdslen(channel->ptr), + message->ptr,sdslen(message->ptr)); + + if (link) + clusterSendMessage(link,payload,totlen); + else + clusterBroadcastMessage(payload,totlen); + + decrRefCount(channel); + decrRefCount(message); + if (payload != buf) zfree(payload); +} + +/* Send a FAIL message to all the nodes we are able to contact. + * The FAIL message is sent when we detect that a node is failing + * (CLUSTER_NODE_PFAIL) and we also receive a gossip confirmation of this: + * we switch the node state to CLUSTER_NODE_FAIL and ask all the other + * nodes to do the same ASAP. */ +void clusterSendFail(char *nodename) { + unsigned char buf[sizeof(clusterMsg)]; + clusterMsg *hdr = (clusterMsg*) buf; + + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_FAIL); + memcpy(hdr->data.fail.about.nodename,nodename,CLUSTER_NAMELEN); + clusterBroadcastMessage(buf,ntohl(hdr->totlen)); +} + +/* Send an UPDATE message to the specified link carrying the specified 'node' + * slots configuration. The node name, slots bitmap, and configEpoch info + * are included. */ +void clusterSendUpdate(clusterLink *link, clusterNode *node) { + unsigned char buf[sizeof(clusterMsg)]; + clusterMsg *hdr = (clusterMsg*) buf; + + if (link == NULL) return; + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_UPDATE); + memcpy(hdr->data.update.nodecfg.nodename,node->name,CLUSTER_NAMELEN); + hdr->data.update.nodecfg.configEpoch = htonu64(node->configEpoch); + memcpy(hdr->data.update.nodecfg.slots,node->slots,sizeof(node->slots)); + clusterSendMessage(link,buf,ntohl(hdr->totlen)); +} + +/* ----------------------------------------------------------------------------- + * CLUSTER Pub/Sub support + * + * For now we do very little, just propagating PUBLISH messages across the whole + * cluster. In the future we'll try to get smarter and avoiding propagating those + * messages to hosts without receives for a given channel. + * -------------------------------------------------------------------------- */ +void clusterPropagatePublish(robj *channel, robj *message) { + clusterSendPublish(NULL, channel, message); +} + +/* ----------------------------------------------------------------------------- + * SLAVE node specific functions + * -------------------------------------------------------------------------- */ + +/* This function sends a FAILOVE_AUTH_REQUEST message to every node in order to + * see if there is the quorum for this slave instance to failover its failing + * master. + * + * Note that we send the failover request to everybody, master and slave nodes, + * but only the masters are supposed to reply to our query. */ +void clusterRequestFailoverAuth(void) { + unsigned char buf[sizeof(clusterMsg)]; + clusterMsg *hdr = (clusterMsg*) buf; + uint32_t totlen; + + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST); + /* If this is a manual failover, set the CLUSTERMSG_FLAG0_FORCEACK bit + * in the header to communicate the nodes receiving the message that + * they should authorized the failover even if the master is working. */ + if (server.cluster->mf_end) hdr->mflags[0] |= CLUSTERMSG_FLAG0_FORCEACK; + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + hdr->totlen = htonl(totlen); + clusterBroadcastMessage(buf,totlen); +} + +/* Send a FAILOVER_AUTH_ACK message to the specified node. */ +void clusterSendFailoverAuth(clusterNode *node) { + unsigned char buf[sizeof(clusterMsg)]; + clusterMsg *hdr = (clusterMsg*) buf; + uint32_t totlen; + + if (!node->link) return; + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK); + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + hdr->totlen = htonl(totlen); + clusterSendMessage(node->link,buf,totlen); +} + +/* Send a MFSTART message to the specified node. */ +void clusterSendMFStart(clusterNode *node) { + unsigned char buf[sizeof(clusterMsg)]; + clusterMsg *hdr = (clusterMsg*) buf; + uint32_t totlen; + + if (!node->link) return; + clusterBuildMessageHdr(hdr,CLUSTERMSG_TYPE_MFSTART); + totlen = sizeof(clusterMsg)-sizeof(union clusterMsgData); + hdr->totlen = htonl(totlen); + clusterSendMessage(node->link,buf,totlen); +} + +/* Vote for the node asking for our vote if there are the conditions. */ +void clusterSendFailoverAuthIfNeeded(clusterNode *node, clusterMsg *request) { + clusterNode *master = node->slaveof; + uint64_t requestCurrentEpoch = ntohu64(request->currentEpoch); + uint64_t requestConfigEpoch = ntohu64(request->configEpoch); + unsigned char *claimed_slots = request->myslots; + int force_ack = request->mflags[0] & CLUSTERMSG_FLAG0_FORCEACK; + int j; + + /* IF we are not a master serving at least 1 slot, we don't have the + * right to vote, as the cluster size in Redis Cluster is the number + * of masters serving at least one slot, and quorum is the cluster + * size + 1 */ + if (nodeIsSlave(myself) || myself->numslots == 0) return; + + /* Request epoch must be >= our currentEpoch. + * Note that it is impossible for it to actually be greater since + * our currentEpoch was updated as a side effect of receiving this + * request, if the request epoch was greater. */ + if (requestCurrentEpoch < server.cluster->currentEpoch) { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: reqEpoch (%llu) < curEpoch(%llu)", + node->name, + (unsigned long long) requestCurrentEpoch, + (unsigned long long) server.cluster->currentEpoch); + return; + } + + /* I already voted for this epoch? Return ASAP. */ + if (server.cluster->lastVoteEpoch == server.cluster->currentEpoch) { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: already voted for epoch %llu", + node->name, + (unsigned long long) server.cluster->currentEpoch); + return; + } + + /* Node must be a slave and its master down. + * The master can be non failing if the request is flagged + * with CLUSTERMSG_FLAG0_FORCEACK (manual failover). */ + if (nodeIsMaster(node) || master == NULL || + (!nodeFailed(master) && !force_ack)) + { + if (nodeIsMaster(node)) { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: it is a master node", + node->name); + } else if (master == NULL) { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: I don't know its master", + node->name); + } else if (!nodeFailed(master)) { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: its master is up", + node->name); + } + return; + } + + /* We did not voted for a slave about this master for two + * times the node timeout. This is not strictly needed for correctness + * of the algorithm but makes the base case more linear. */ + if (mstime() - node->slaveof->voted_time < server.cluster_node_timeout * 2) + { + serverLog(LL_WARNING, + "Failover auth denied to %.40s: " + "can't vote about this master before %lld milliseconds", + node->name, + (long long) ((server.cluster_node_timeout*2)- + (mstime() - node->slaveof->voted_time))); + return; + } + + /* The slave requesting the vote must have a configEpoch for the claimed + * slots that is >= the one of the masters currently serving the same + * slots in the current configuration. */ + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (bitmapTestBit(claimed_slots, j) == 0) continue; + if (server.cluster->slots[j] == NULL || + server.cluster->slots[j]->configEpoch <= requestConfigEpoch) + { + continue; + } + /* If we reached this point we found a slot that in our current slots + * is served by a master with a greater configEpoch than the one claimed + * by the slave requesting our vote. Refuse to vote for this slave. */ + serverLog(LL_WARNING, + "Failover auth denied to %.40s: " + "slot %d epoch (%llu) > reqEpoch (%llu)", + node->name, j, + (unsigned long long) server.cluster->slots[j]->configEpoch, + (unsigned long long) requestConfigEpoch); + return; + } + + /* We can vote for this slave. */ + clusterSendFailoverAuth(node); + server.cluster->lastVoteEpoch = server.cluster->currentEpoch; + node->slaveof->voted_time = mstime(); + serverLog(LL_WARNING, "Failover auth granted to %.40s for epoch %llu", + node->name, (unsigned long long) server.cluster->currentEpoch); +} + +/* This function returns the "rank" of this instance, a slave, in the context + * of its master-slaves ring. The rank of the slave is given by the number of + * other slaves for the same master that have a better replication offset + * compared to the local one (better means, greater, so they claim more data). + * + * A slave with rank 0 is the one with the greatest (most up to date) + * replication offset, and so forth. Note that because how the rank is computed + * multiple slaves may have the same rank, in case they have the same offset. + * + * The slave rank is used to add a delay to start an election in order to + * get voted and replace a failing master. Slaves with better replication + * offsets are more likely to win. */ +int clusterGetSlaveRank(void) { + long long myoffset; + int j, rank = 0; + clusterNode *master; + + serverAssert(nodeIsSlave(myself)); + master = myself->slaveof; + if (master == NULL) return 0; /* Never called by slaves without master. */ + + myoffset = replicationGetSlaveOffset(); + for (j = 0; j < master->numslaves; j++) + if (master->slaves[j] != myself && + master->slaves[j]->repl_offset > myoffset) rank++; + return rank; +} + +/* This function is called by clusterHandleSlaveFailover() in order to + * let the slave log why it is not able to failover. Sometimes there are + * not the conditions, but since the failover function is called again and + * again, we can't log the same things continuously. + * + * This function works by logging only if a given set of conditions are + * true: + * + * 1) The reason for which the failover can't be initiated changed. + * The reasons also include a NONE reason we reset the state to + * when the slave finds that its master is fine (no FAIL flag). + * 2) Also, the log is emitted again if the master is still down and + * the reason for not failing over is still the same, but more than + * CLUSTER_CANT_FAILOVER_RELOG_PERIOD seconds elapsed. + * 3) Finally, the function only logs if the slave is down for more than + * five seconds + NODE_TIMEOUT. This way nothing is logged when a + * failover starts in a reasonable time. + * + * The function is called with the reason why the slave can't failover + * which is one of the integer macros CLUSTER_CANT_FAILOVER_*. + * + * The function is guaranteed to be called only if 'myself' is a slave. */ +void clusterLogCantFailover(int reason) { + char *msg; + static time_t lastlog_time = 0; + mstime_t nolog_fail_time = server.cluster_node_timeout + 5000; + + /* Don't log if we have the same reason for some time. */ + if (reason == server.cluster->cant_failover_reason && + time(NULL)-lastlog_time < CLUSTER_CANT_FAILOVER_RELOG_PERIOD) + return; + + server.cluster->cant_failover_reason = reason; + + /* We also don't emit any log if the master failed no long ago, the + * goal of this function is to log slaves in a stalled condition for + * a long time. */ + if (myself->slaveof && + nodeFailed(myself->slaveof) && + (mstime() - myself->slaveof->fail_time) < nolog_fail_time) return; + + switch(reason) { + case CLUSTER_CANT_FAILOVER_DATA_AGE: + msg = "Disconnected from master for longer than allowed. " + "Please check the 'cluster-slave-validity-factor' configuration " + "option."; + break; + case CLUSTER_CANT_FAILOVER_WAITING_DELAY: + msg = "Waiting the delay before I can start a new failover."; + break; + case CLUSTER_CANT_FAILOVER_EXPIRED: + msg = "Failover attempt expired."; + break; + case CLUSTER_CANT_FAILOVER_WAITING_VOTES: + msg = "Waiting for votes, but majority still not reached."; + break; + default: + msg = "Unknown reason code."; + break; + } + lastlog_time = time(NULL); + serverLog(LL_WARNING,"Currently unable to failover: %s", msg); +} + +/* This function implements the final part of automatic and manual failovers, + * where the slave grabs its master's hash slots, and propagates the new + * configuration. + * + * Note that it's up to the caller to be sure that the node got a new + * configuration epoch already. */ +void clusterFailoverReplaceYourMaster(void) { + int j; + clusterNode *oldmaster = myself->slaveof; + + if (nodeIsMaster(myself) || oldmaster == NULL) return; + + /* 1) Turn this node into a master. */ + clusterSetNodeAsMaster(myself); + replicationUnsetMaster(); + + /* 2) Claim all the slots assigned to our master. */ + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (clusterNodeGetSlotBit(oldmaster,j)) { + clusterDelSlot(j); + clusterAddSlot(myself,j); + } + } + + /* 3) Update state and save config. */ + clusterUpdateState(); + clusterSaveConfigOrDie(1); + + /* 4) Pong all the other nodes so that they can update the state + * accordingly and detect that we switched to master role. */ + clusterBroadcastPong(CLUSTER_BROADCAST_ALL); + + /* 5) If there was a manual failover in progress, clear the state. */ + resetManualFailover(); +} + +/* This function is called if we are a slave node and our master serving + * a non-zero amount of hash slots is in FAIL state. + * + * The gaol of this function is: + * 1) To check if we are able to perform a failover, is our data updated? + * 2) Try to get elected by masters. + * 3) Perform the failover informing all the other nodes. + */ +void clusterHandleSlaveFailover(void) { + mstime_t data_age; + mstime_t auth_age = mstime() - server.cluster->failover_auth_time; + int needed_quorum = (server.cluster->size / 2) + 1; + int manual_failover = server.cluster->mf_end != 0 && + server.cluster->mf_can_start; + mstime_t auth_timeout, auth_retry_time; + + server.cluster->todo_before_sleep &= ~CLUSTER_TODO_HANDLE_FAILOVER; + + /* Compute the failover timeout (the max time we have to send votes + * and wait for replies), and the failover retry time (the time to wait + * before trying to get voted again). + * + * Timeout is MAX(NODE_TIMEOUT*2,2000) milliseconds. + * Retry is two times the Timeout. + */ + auth_timeout = server.cluster_node_timeout*2; + if (auth_timeout < 2000) auth_timeout = 2000; + auth_retry_time = auth_timeout*2; + + /* Pre conditions to run the function, that must be met both in case + * of an automatic or manual failover: + * 1) We are a slave. + * 2) Our master is flagged as FAIL, or this is a manual failover. + * 3) It is serving slots. */ + if (nodeIsMaster(myself) || + myself->slaveof == NULL || + (!nodeFailed(myself->slaveof) && !manual_failover) || + myself->slaveof->numslots == 0) + { + /* There are no reasons to failover, so we set the reason why we + * are returning without failing over to NONE. */ + server.cluster->cant_failover_reason = CLUSTER_CANT_FAILOVER_NONE; + return; + } + + /* Set data_age to the number of seconds we are disconnected from + * the master. */ + if (server.repl_state == REPL_STATE_CONNECTED) { + data_age = (mstime_t)(server.unixtime - server.master->lastinteraction) + * 1000; + } else { + data_age = (mstime_t)(server.unixtime - server.repl_down_since) * 1000; + } + + /* Remove the node timeout from the data age as it is fine that we are + * disconnected from our master at least for the time it was down to be + * flagged as FAIL, that's the baseline. */ + if (data_age > server.cluster_node_timeout) + data_age -= server.cluster_node_timeout; + + /* Check if our data is recent enough according to the slave validity + * factor configured by the user. + * + * Check bypassed for manual failovers. */ + if (server.cluster_slave_validity_factor && + data_age > + (((mstime_t)server.repl_ping_slave_period * 1000) + + (server.cluster_node_timeout * server.cluster_slave_validity_factor))) + { + if (!manual_failover) { + clusterLogCantFailover(CLUSTER_CANT_FAILOVER_DATA_AGE); + return; + } + } + + /* If the previous failover attempt timedout and the retry time has + * elapsed, we can setup a new one. */ + if (auth_age > auth_retry_time) { + server.cluster->failover_auth_time = mstime() + + 500 + /* Fixed delay of 500 milliseconds, let FAIL msg propagate. */ + random() % 500; /* Random delay between 0 and 500 milliseconds. */ + server.cluster->failover_auth_count = 0; + server.cluster->failover_auth_sent = 0; + server.cluster->failover_auth_rank = clusterGetSlaveRank(); + /* We add another delay that is proportional to the slave rank. + * Specifically 1 second * rank. This way slaves that have a probably + * less updated replication offset, are penalized. */ + server.cluster->failover_auth_time += + server.cluster->failover_auth_rank * 1000; + /* However if this is a manual failover, no delay is needed. */ + if (server.cluster->mf_end) { + server.cluster->failover_auth_time = mstime(); + server.cluster->failover_auth_rank = 0; + } + serverLog(LL_WARNING, + "Start of election delayed for %lld milliseconds " + "(rank #%d, offset %lld).", + server.cluster->failover_auth_time - mstime(), + server.cluster->failover_auth_rank, + replicationGetSlaveOffset()); + /* Now that we have a scheduled election, broadcast our offset + * to all the other slaves so that they'll updated their offsets + * if our offset is better. */ + clusterBroadcastPong(CLUSTER_BROADCAST_LOCAL_SLAVES); + return; + } + + /* It is possible that we received more updated offsets from other + * slaves for the same master since we computed our election delay. + * Update the delay if our rank changed. + * + * Not performed if this is a manual failover. */ + if (server.cluster->failover_auth_sent == 0 && + server.cluster->mf_end == 0) + { + int newrank = clusterGetSlaveRank(); + if (newrank > server.cluster->failover_auth_rank) { + long long added_delay = + (newrank - server.cluster->failover_auth_rank) * 1000; + server.cluster->failover_auth_time += added_delay; + server.cluster->failover_auth_rank = newrank; + serverLog(LL_WARNING, + "Slave rank updated to #%d, added %lld milliseconds of delay.", + newrank, added_delay); + } + } + + /* Return ASAP if we can't still start the election. */ + if (mstime() < server.cluster->failover_auth_time) { + clusterLogCantFailover(CLUSTER_CANT_FAILOVER_WAITING_DELAY); + return; + } + + /* Return ASAP if the election is too old to be valid. */ + if (auth_age > auth_timeout) { + clusterLogCantFailover(CLUSTER_CANT_FAILOVER_EXPIRED); + return; + } + + /* Ask for votes if needed. */ + if (server.cluster->failover_auth_sent == 0) { + server.cluster->currentEpoch++; + server.cluster->failover_auth_epoch = server.cluster->currentEpoch; + serverLog(LL_WARNING,"Starting a failover election for epoch %llu.", + (unsigned long long) server.cluster->currentEpoch); + clusterRequestFailoverAuth(); + server.cluster->failover_auth_sent = 1; + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG| + CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_FSYNC_CONFIG); + return; /* Wait for replies. */ + } + + /* Check if we reached the quorum. */ + if (server.cluster->failover_auth_count >= needed_quorum) { + /* We have the quorum, we can finally failover the master. */ + + serverLog(LL_WARNING, + "Failover election won: I'm the new master."); + + /* Update my configEpoch to the epoch of the election. */ + if (myself->configEpoch < server.cluster->failover_auth_epoch) { + myself->configEpoch = server.cluster->failover_auth_epoch; + serverLog(LL_WARNING, + "configEpoch set to %llu after successful failover", + (unsigned long long) myself->configEpoch); + } + + /* Take responsability for the cluster slots. */ + clusterFailoverReplaceYourMaster(); + } else { + clusterLogCantFailover(CLUSTER_CANT_FAILOVER_WAITING_VOTES); + } +} + +/* ----------------------------------------------------------------------------- + * CLUSTER slave migration + * + * Slave migration is the process that allows a slave of a master that is + * already covered by at least another slave, to "migrate" to a master that + * is orpaned, that is, left with no working slaves. + * ------------------------------------------------------------------------- */ + +/* This function is responsible to decide if this replica should be migrated + * to a different (orphaned) master. It is called by the clusterCron() function + * only if: + * + * 1) We are a slave node. + * 2) It was detected that there is at least one orphaned master in + * the cluster. + * 3) We are a slave of one of the masters with the greatest number of + * slaves. + * + * This checks are performed by the caller since it requires to iterate + * the nodes anyway, so we spend time into clusterHandleSlaveMigration() + * if definitely needed. + * + * The fuction is called with a pre-computed max_slaves, that is the max + * number of working (not in FAIL state) slaves for a single master. + * + * Additional conditions for migration are examined inside the function. + */ +void clusterHandleSlaveMigration(int max_slaves) { + int j, okslaves = 0; + clusterNode *mymaster = myself->slaveof, *target = NULL, *candidate = NULL; + dictIterator *di; + dictEntry *de; + + /* Step 1: Don't migrate if the cluster state is not ok. */ + if (server.cluster->state != CLUSTER_OK) return; + + /* Step 2: Don't migrate if my master will not be left with at least + * 'migration-barrier' slaves after my migration. */ + if (mymaster == NULL) return; + for (j = 0; j < mymaster->numslaves; j++) + if (!nodeFailed(mymaster->slaves[j]) && + !nodeTimedOut(mymaster->slaves[j])) okslaves++; + if (okslaves <= server.cluster_migration_barrier) return; + + /* Step 3: Idenitfy a candidate for migration, and check if among the + * masters with the greatest number of ok slaves, I'm the one with the + * smallest node ID (the "candidate slave"). + * + * Note: this means that eventually a replica migration will occurr + * since slaves that are reachable again always have their FAIL flag + * cleared, so eventually there must be a candidate. At the same time + * this does not mean that there are no race conditions possible (two + * slaves migrating at the same time), but this is unlikely to + * happen, and harmless when happens. */ + candidate = myself; + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + int okslaves = 0, is_orphaned = 1; + + /* We want to migrate only if this master is working, orphaned, and + * used to have slaves or if failed over a master that had slaves + * (MIGRATE_TO flag). This way we only migrate to instances that were + * supposed to have replicas. */ + if (nodeIsSlave(node) || nodeFailed(node)) is_orphaned = 0; + if (!(node->flags & CLUSTER_NODE_MIGRATE_TO)) is_orphaned = 0; + + /* Check number of working slaves. */ + if (nodeIsMaster(node)) okslaves = clusterCountNonFailingSlaves(node); + if (okslaves > 0) is_orphaned = 0; + + if (is_orphaned) { + if (!target && node->numslots > 0) target = node; + + /* Track the starting time of the orphaned condition for this + * master. */ + if (!node->orphaned_time) node->orphaned_time = mstime(); + } else { + node->orphaned_time = 0; + } + + /* Check if I'm the slave candidate for the migration: attached + * to a master with the maximum number of slaves and with the smallest + * node ID. */ + if (okslaves == max_slaves) { + for (j = 0; j < node->numslaves; j++) { + if (memcmp(node->slaves[j]->name, + candidate->name, + CLUSTER_NAMELEN) < 0) + { + candidate = node->slaves[j]; + } + } + } + } + dictReleaseIterator(di); + + /* Step 4: perform the migration if there is a target, and if I'm the + * candidate, but only if the master is continuously orphaned for a + * couple of seconds, so that during failovers, we give some time to + * the natural slaves of this instance to advertise their switch from + * the old master to the new one. */ + if (target && candidate == myself && + (mstime()-target->orphaned_time) > CLUSTER_SLAVE_MIGRATION_DELAY) + { + serverLog(LL_WARNING,"Migrating to orphaned master %.40s", + target->name); + clusterSetMaster(target); + } +} + +/* ----------------------------------------------------------------------------- + * CLUSTER manual failover + * + * This are the important steps performed by slaves during a manual failover: + * 1) User send CLUSTER FAILOVER command. The failover state is initialized + * setting mf_end to the millisecond unix time at which we'll abort the + * attempt. + * 2) Slave sends a MFSTART message to the master requesting to pause clients + * for two times the manual failover timeout CLUSTER_MF_TIMEOUT. + * When master is paused for manual failover, it also starts to flag + * packets with CLUSTERMSG_FLAG0_PAUSED. + * 3) Slave waits for master to send its replication offset flagged as PAUSED. + * 4) If slave received the offset from the master, and its offset matches, + * mf_can_start is set to 1, and clusterHandleSlaveFailover() will perform + * the failover as usually, with the difference that the vote request + * will be modified to force masters to vote for a slave that has a + * working master. + * + * From the point of view of the master things are simpler: when a + * PAUSE_CLIENTS packet is received the master sets mf_end as well and + * the sender in mf_slave. During the time limit for the manual failover + * the master will just send PINGs more often to this slave, flagged with + * the PAUSED flag, so that the slave will set mf_master_offset when receiving + * a packet from the master with this flag set. + * + * The gaol of the manual failover is to perform a fast failover without + * data loss due to the asynchronous master-slave replication. + * -------------------------------------------------------------------------- */ + +/* Reset the manual failover state. This works for both masters and slavesa + * as all the state about manual failover is cleared. + * + * The function can be used both to initialize the manual failover state at + * startup or to abort a manual failover in progress. */ +void resetManualFailover(void) { + if (server.cluster->mf_end && clientsArePaused()) { + server.clients_pause_end_time = 0; + clientsArePaused(); /* Just use the side effect of the function. */ + } + server.cluster->mf_end = 0; /* No manual failover in progress. */ + server.cluster->mf_can_start = 0; + server.cluster->mf_slave = NULL; + server.cluster->mf_master_offset = 0; +} + +/* If a manual failover timed out, abort it. */ +void manualFailoverCheckTimeout(void) { + if (server.cluster->mf_end && server.cluster->mf_end < mstime()) { + serverLog(LL_WARNING,"Manual failover timed out."); + resetManualFailover(); + } +} + +/* This function is called from the cluster cron function in order to go + * forward with a manual failover state machine. */ +void clusterHandleManualFailover(void) { + /* Return ASAP if no manual failover is in progress. */ + if (server.cluster->mf_end == 0) return; + + /* If mf_can_start is non-zero, the failover was already triggered so the + * next steps are performed by clusterHandleSlaveFailover(). */ + if (server.cluster->mf_can_start) return; + + if (server.cluster->mf_master_offset == 0) return; /* Wait for offset... */ + + if (server.cluster->mf_master_offset == replicationGetSlaveOffset()) { + /* Our replication offset matches the master replication offset + * announced after clients were paused. We can start the failover. */ + server.cluster->mf_can_start = 1; + serverLog(LL_WARNING, + "All master replication stream processed, " + "manual failover can start."); + } +} + +/* ----------------------------------------------------------------------------- + * CLUSTER cron job + * -------------------------------------------------------------------------- */ + +/* This is executed 10 times every second */ +void clusterCron(void) { + dictIterator *di; + dictEntry *de; + int update_state = 0; + int orphaned_masters; /* How many masters there are without ok slaves. */ + int max_slaves; /* Max number of ok slaves for a single master. */ + int this_slaves; /* Number of ok slaves for our master (if we are slave). */ + mstime_t min_pong = 0, now = mstime(); + clusterNode *min_pong_node = NULL; + static unsigned long long iteration = 0; + mstime_t handshake_timeout; + + iteration++; /* Number of times this function was called so far. */ + + /* We want to take myself->ip in sync with the cluster-announce-ip option. + * The option can be set at runtime via CONFIG SET, so we periodically check + * if the option changed to reflect this into myself->ip. */ + { + static char *prev_ip = NULL; + char *curr_ip = server.cluster_announce_ip; + int changed = 0; + + if (prev_ip == NULL && curr_ip != NULL) changed = 1; + if (prev_ip != NULL && curr_ip == NULL) changed = 1; + if (prev_ip && curr_ip && strcmp(prev_ip,curr_ip)) changed = 1; + + if (changed) { + prev_ip = curr_ip; + if (prev_ip) prev_ip = zstrdup(prev_ip); + + if (curr_ip) { + strncpy(myself->ip,server.cluster_announce_ip,NET_IP_STR_LEN); + myself->ip[NET_IP_STR_LEN-1] = '\0'; + } else { + myself->ip[0] = '\0'; /* Force autodetection. */ + } + } + } + + /* The handshake timeout is the time after which a handshake node that was + * not turned into a normal node is removed from the nodes. Usually it is + * just the NODE_TIMEOUT value, but when NODE_TIMEOUT is too small we use + * the value of 1 second. */ + handshake_timeout = server.cluster_node_timeout; + if (handshake_timeout < 1000) handshake_timeout = 1000; + + /* Check if we have disconnected nodes and re-establish the connection. + * Also update a few stats while we are here, that can be used to make + * better decisions in other part of the code. */ + di = dictGetSafeIterator(server.cluster->nodes); + server.cluster->stats_pfail_nodes = 0; + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + /* Not interested in reconnecting the link with myself or nodes + * for which we have no address. */ + if (node->flags & (CLUSTER_NODE_MYSELF|CLUSTER_NODE_NOADDR)) continue; + + if (node->flags & CLUSTER_NODE_PFAIL) + server.cluster->stats_pfail_nodes++; + + /* A Node in HANDSHAKE state has a limited lifespan equal to the + * configured node timeout. */ + if (nodeInHandshake(node) && now - node->ctime > handshake_timeout) { + clusterDelNode(node); + continue; + } + + if (node->link == NULL) { + int fd; + mstime_t old_ping_sent; + clusterLink *link; + + fd = anetTcpNonBlockBindConnect(server.neterr, node->ip, + node->cport, NET_FIRST_BIND_ADDR); + if (fd == -1) { + /* We got a synchronous error from connect before + * clusterSendPing() had a chance to be called. + * If node->ping_sent is zero, failure detection can't work, + * so we claim we actually sent a ping now (that will + * be really sent as soon as the link is obtained). */ + if (node->ping_sent == 0) node->ping_sent = mstime(); + serverLog(LL_DEBUG, "Unable to connect to " + "Cluster Node [%s]:%d -> %s", node->ip, + node->cport, server.neterr); + continue; + } + link = createClusterLink(node); + link->fd = fd; + node->link = link; + aeCreateFileEvent(server.el,link->fd,AE_READABLE, + clusterReadHandler,link); + /* Queue a PING in the new connection ASAP: this is crucial + * to avoid false positives in failure detection. + * + * If the node is flagged as MEET, we send a MEET message instead + * of a PING one, to force the receiver to add us in its node + * table. */ + old_ping_sent = node->ping_sent; + clusterSendPing(link, node->flags & CLUSTER_NODE_MEET ? + CLUSTERMSG_TYPE_MEET : CLUSTERMSG_TYPE_PING); + if (old_ping_sent) { + /* If there was an active ping before the link was + * disconnected, we want to restore the ping time, otherwise + * replaced by the clusterSendPing() call. */ + node->ping_sent = old_ping_sent; + } + /* We can clear the flag after the first packet is sent. + * If we'll never receive a PONG, we'll never send new packets + * to this node. Instead after the PONG is received and we + * are no longer in meet/handshake status, we want to send + * normal PING packets. */ + node->flags &= ~CLUSTER_NODE_MEET; + + serverLog(LL_DEBUG,"Connecting with Node %.40s at %s:%d", + node->name, node->ip, node->cport); + } + } + dictReleaseIterator(di); + + /* Ping some random node 1 time every 10 iterations, so that we usually ping + * one random node every second. */ + if (!(iteration % 10)) { + int j; + + /* Check a few random nodes and ping the one with the oldest + * pong_received time. */ + for (j = 0; j < 5; j++) { + de = dictGetRandomKey(server.cluster->nodes); + clusterNode *this = dictGetVal(de); + + /* Don't ping nodes disconnected or with a ping currently active. */ + if (this->link == NULL || this->ping_sent != 0) continue; + if (this->flags & (CLUSTER_NODE_MYSELF|CLUSTER_NODE_HANDSHAKE)) + continue; + if (min_pong_node == NULL || min_pong > this->pong_received) { + min_pong_node = this; + min_pong = this->pong_received; + } + } + if (min_pong_node) { + serverLog(LL_DEBUG,"Pinging node %.40s", min_pong_node->name); + clusterSendPing(min_pong_node->link, CLUSTERMSG_TYPE_PING); + } + } + + /* Iterate nodes to check if we need to flag something as failing. + * This loop is also responsible to: + * 1) Check if there are orphaned masters (masters without non failing + * slaves). + * 2) Count the max number of non failing slaves for a single master. + * 3) Count the number of slaves for our master, if we are a slave. */ + orphaned_masters = 0; + max_slaves = 0; + this_slaves = 0; + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + now = mstime(); /* Use an updated time at every iteration. */ + mstime_t delay; + + if (node->flags & + (CLUSTER_NODE_MYSELF|CLUSTER_NODE_NOADDR|CLUSTER_NODE_HANDSHAKE)) + continue; + + /* Orphaned master check, useful only if the current instance + * is a slave that may migrate to another master. */ + if (nodeIsSlave(myself) && nodeIsMaster(node) && !nodeFailed(node)) { + int okslaves = clusterCountNonFailingSlaves(node); + + /* A master is orphaned if it is serving a non-zero number of + * slots, have no working slaves, but used to have at least one + * slave, or failed over a master that used to have slaves. */ + if (okslaves == 0 && node->numslots > 0 && + node->flags & CLUSTER_NODE_MIGRATE_TO) + { + orphaned_masters++; + } + if (okslaves > max_slaves) max_slaves = okslaves; + if (nodeIsSlave(myself) && myself->slaveof == node) + this_slaves = okslaves; + } + + /* If we are waiting for the PONG more than half the cluster + * timeout, reconnect the link: maybe there is a connection + * issue even if the node is alive. */ + if (node->link && /* is connected */ + now - node->link->ctime > + server.cluster_node_timeout && /* was not already reconnected */ + node->ping_sent && /* we already sent a ping */ + node->pong_received < node->ping_sent && /* still waiting pong */ + /* and we are waiting for the pong more than timeout/2 */ + now - node->ping_sent > server.cluster_node_timeout/2) + { + /* Disconnect the link, it will be reconnected automatically. */ + freeClusterLink(node->link); + } + + /* If we have currently no active ping in this instance, and the + * received PONG is older than half the cluster timeout, send + * a new ping now, to ensure all the nodes are pinged without + * a too big delay. */ + if (node->link && + node->ping_sent == 0 && + (now - node->pong_received) > server.cluster_node_timeout/2) + { + clusterSendPing(node->link, CLUSTERMSG_TYPE_PING); + continue; + } + + /* If we are a master and one of the slaves requested a manual + * failover, ping it continuously. */ + if (server.cluster->mf_end && + nodeIsMaster(myself) && + server.cluster->mf_slave == node && + node->link) + { + clusterSendPing(node->link, CLUSTERMSG_TYPE_PING); + continue; + } + + /* Check only if we have an active ping for this instance. */ + if (node->ping_sent == 0) continue; + + /* Compute the delay of the PONG. Note that if we already received + * the PONG, then node->ping_sent is zero, so can't reach this + * code at all. */ + delay = now - node->ping_sent; + + if (delay > server.cluster_node_timeout) { + /* Timeout reached. Set the node as possibly failing if it is + * not already in this state. */ + if (!(node->flags & (CLUSTER_NODE_PFAIL|CLUSTER_NODE_FAIL))) { + serverLog(LL_DEBUG,"*** NODE %.40s possibly failing", + node->name); + node->flags |= CLUSTER_NODE_PFAIL; + update_state = 1; + } + } + } + dictReleaseIterator(di); + + /* If we are a slave node but the replication is still turned off, + * enable it if we know the address of our master and it appears to + * be up. */ + if (nodeIsSlave(myself) && + server.masterhost == NULL && + myself->slaveof && + nodeHasAddr(myself->slaveof)) + { + replicationSetMaster(myself->slaveof->ip, myself->slaveof->port); + } + + /* Abourt a manual failover if the timeout is reached. */ + manualFailoverCheckTimeout(); + + if (nodeIsSlave(myself)) { + clusterHandleManualFailover(); + clusterHandleSlaveFailover(); + /* If there are orphaned slaves, and we are a slave among the masters + * with the max number of non-failing slaves, consider migrating to + * the orphaned masters. Note that it does not make sense to try + * a migration if there is no master with at least *two* working + * slaves. */ + if (orphaned_masters && max_slaves >= 2 && this_slaves == max_slaves) + clusterHandleSlaveMigration(max_slaves); + } + + if (update_state || server.cluster->state == CLUSTER_FAIL) + clusterUpdateState(); +} + +/* This function is called before the event handler returns to sleep for + * events. It is useful to perform operations that must be done ASAP in + * reaction to events fired but that are not safe to perform inside event + * handlers, or to perform potentially expansive tasks that we need to do + * a single time before replying to clients. */ +void clusterBeforeSleep(void) { + /* Handle failover, this is needed when it is likely that there is already + * the quorum from masters in order to react fast. */ + if (server.cluster->todo_before_sleep & CLUSTER_TODO_HANDLE_FAILOVER) + clusterHandleSlaveFailover(); + + /* Update the cluster state. */ + if (server.cluster->todo_before_sleep & CLUSTER_TODO_UPDATE_STATE) + clusterUpdateState(); + + /* Save the config, possibly using fsync. */ + if (server.cluster->todo_before_sleep & CLUSTER_TODO_SAVE_CONFIG) { + int fsync = server.cluster->todo_before_sleep & + CLUSTER_TODO_FSYNC_CONFIG; + clusterSaveConfigOrDie(fsync); + } + + /* Reset our flags (not strictly needed since every single function + * called for flags set should be able to clear its flag). */ + server.cluster->todo_before_sleep = 0; +} + +void clusterDoBeforeSleep(int flags) { + server.cluster->todo_before_sleep |= flags; +} + +/* ----------------------------------------------------------------------------- + * Slots management + * -------------------------------------------------------------------------- */ + +/* Test bit 'pos' in a generic bitmap. Return 1 if the bit is set, + * otherwise 0. */ +int bitmapTestBit(unsigned char *bitmap, int pos) { + off_t byte = pos/8; + int bit = pos&7; + return (bitmap[byte] & (1<nodes); + dictEntry *de; + int slaves = 0; + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (nodeIsSlave(node)) continue; + slaves += node->numslaves; + } + dictReleaseIterator(di); + return slaves != 0; +} + +/* Set the slot bit and return the old value. */ +int clusterNodeSetSlotBit(clusterNode *n, int slot) { + int old = bitmapTestBit(n->slots,slot); + bitmapSetBit(n->slots,slot); + if (!old) { + n->numslots++; + /* When a master gets its first slot, even if it has no slaves, + * it gets flagged with MIGRATE_TO, that is, the master is a valid + * target for replicas migration, if and only if at least one of + * the other masters has slaves right now. + * + * Normally masters are valid targerts of replica migration if: + * 1. The used to have slaves (but no longer have). + * 2. They are slaves failing over a master that used to have slaves. + * + * However new masters with slots assigned are considered valid + * migration tagets if the rest of the cluster is not a slave-less. + * + * See https://github.com/antirez/redis/issues/3043 for more info. */ + if (n->numslots == 1 && clusterMastersHaveSlaves()) + n->flags |= CLUSTER_NODE_MIGRATE_TO; + } + return old; +} + +/* Clear the slot bit and return the old value. */ +int clusterNodeClearSlotBit(clusterNode *n, int slot) { + int old = bitmapTestBit(n->slots,slot); + bitmapClearBit(n->slots,slot); + if (old) n->numslots--; + return old; +} + +/* Return the slot bit from the cluster node structure. */ +int clusterNodeGetSlotBit(clusterNode *n, int slot) { + return bitmapTestBit(n->slots,slot); +} + +/* Add the specified slot to the list of slots that node 'n' will + * serve. Return C_OK if the operation ended with success. + * If the slot is already assigned to another instance this is considered + * an error and C_ERR is returned. */ +int clusterAddSlot(clusterNode *n, int slot) { + if (server.cluster->slots[slot]) return C_ERR; + clusterNodeSetSlotBit(n,slot); + server.cluster->slots[slot] = n; + return C_OK; +} + +/* Delete the specified slot marking it as unassigned. + * Returns C_OK if the slot was assigned, otherwise if the slot was + * already unassigned C_ERR is returned. */ +int clusterDelSlot(int slot) { + clusterNode *n = server.cluster->slots[slot]; + + if (!n) return C_ERR; + serverAssert(clusterNodeClearSlotBit(n,slot) == 1); + server.cluster->slots[slot] = NULL; + return C_OK; +} + +/* Delete all the slots associated with the specified node. + * The number of deleted slots is returned. */ +int clusterDelNodeSlots(clusterNode *node) { + int deleted = 0, j; + + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (clusterNodeGetSlotBit(node,j)) clusterDelSlot(j); + deleted++; + } + return deleted; +} + +/* Clear the migrating / importing state for all the slots. + * This is useful at initialization and when turning a master into slave. */ +void clusterCloseAllSlots(void) { + memset(server.cluster->migrating_slots_to,0, + sizeof(server.cluster->migrating_slots_to)); + memset(server.cluster->importing_slots_from,0, + sizeof(server.cluster->importing_slots_from)); +} + +/* ----------------------------------------------------------------------------- + * Cluster state evaluation function + * -------------------------------------------------------------------------- */ + +/* The following are defines that are only used in the evaluation function + * and are based on heuristics. Actaully the main point about the rejoin and + * writable delay is that they should be a few orders of magnitude larger + * than the network latency. */ +#define CLUSTER_MAX_REJOIN_DELAY 5000 +#define CLUSTER_MIN_REJOIN_DELAY 500 +#define CLUSTER_WRITABLE_DELAY 2000 + +void clusterUpdateState(void) { + int j, new_state; + int reachable_masters = 0; + static mstime_t among_minority_time; + static mstime_t first_call_time = 0; + + server.cluster->todo_before_sleep &= ~CLUSTER_TODO_UPDATE_STATE; + + /* If this is a master node, wait some time before turning the state + * into OK, since it is not a good idea to rejoin the cluster as a writable + * master, after a reboot, without giving the cluster a chance to + * reconfigure this node. Note that the delay is calculated starting from + * the first call to this function and not since the server start, in order + * to don't count the DB loading time. */ + if (first_call_time == 0) first_call_time = mstime(); + if (nodeIsMaster(myself) && + server.cluster->state == CLUSTER_FAIL && + mstime() - first_call_time < CLUSTER_WRITABLE_DELAY) return; + + /* Start assuming the state is OK. We'll turn it into FAIL if there + * are the right conditions. */ + new_state = CLUSTER_OK; + + /* Check if all the slots are covered. */ + if (server.cluster_require_full_coverage) { + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (server.cluster->slots[j] == NULL || + server.cluster->slots[j]->flags & (CLUSTER_NODE_FAIL)) + { + new_state = CLUSTER_FAIL; + break; + } + } + } + + /* Compute the cluster size, that is the number of master nodes + * serving at least a single slot. + * + * At the same time count the number of reachable masters having + * at least one slot. */ + { + dictIterator *di; + dictEntry *de; + + server.cluster->size = 0; + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (nodeIsMaster(node) && node->numslots) { + server.cluster->size++; + if ((node->flags & (CLUSTER_NODE_FAIL|CLUSTER_NODE_PFAIL)) == 0) + reachable_masters++; + } + } + dictReleaseIterator(di); + } + + /* If we are in a minority partition, change the cluster state + * to FAIL. */ + { + int needed_quorum = (server.cluster->size / 2) + 1; + + if (reachable_masters < needed_quorum) { + new_state = CLUSTER_FAIL; + among_minority_time = mstime(); + } + } + + /* Log a state change */ + if (new_state != server.cluster->state) { + mstime_t rejoin_delay = server.cluster_node_timeout; + + /* If the instance is a master and was partitioned away with the + * minority, don't let it accept queries for some time after the + * partition heals, to make sure there is enough time to receive + * a configuration update. */ + if (rejoin_delay > CLUSTER_MAX_REJOIN_DELAY) + rejoin_delay = CLUSTER_MAX_REJOIN_DELAY; + if (rejoin_delay < CLUSTER_MIN_REJOIN_DELAY) + rejoin_delay = CLUSTER_MIN_REJOIN_DELAY; + + if (new_state == CLUSTER_OK && + nodeIsMaster(myself) && + mstime() - among_minority_time < rejoin_delay) + { + return; + } + + /* Change the state and log the event. */ + serverLog(LL_WARNING,"Cluster state changed: %s", + new_state == CLUSTER_OK ? "ok" : "fail"); + server.cluster->state = new_state; + } +} + +/* This function is called after the node startup in order to verify that data + * loaded from disk is in agreement with the cluster configuration: + * + * 1) If we find keys about hash slots we have no responsibility for, the + * following happens: + * A) If no other node is in charge according to the current cluster + * configuration, we add these slots to our node. + * B) If according to our config other nodes are already in charge for + * this lots, we set the slots as IMPORTING from our point of view + * in order to justify we have those slots, and in order to make + * redis-trib aware of the issue, so that it can try to fix it. + * 2) If we find data in a DB different than DB0 we return C_ERR to + * signal the caller it should quit the server with an error message + * or take other actions. + * + * The function always returns C_OK even if it will try to correct + * the error described in "1". However if data is found in DB different + * from DB0, C_ERR is returned. + * + * The function also uses the logging facility in order to warn the user + * about desynchronizations between the data we have in memory and the + * cluster configuration. */ +int verifyClusterConfigWithData(void) { + int j; + int update_config = 0; + + /* If this node is a slave, don't perform the check at all as we + * completely depend on the replication stream. */ + if (nodeIsSlave(myself)) return C_OK; + + /* Make sure we only have keys in DB0. */ + for (j = 1; j < server.dbnum; j++) { + if (dictSize(server.db[j].dict)) return C_ERR; + } + + /* Check that all the slots we see populated memory have a corresponding + * entry in the cluster table. Otherwise fix the table. */ + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (!countKeysInSlot(j)) continue; /* No keys in this slot. */ + /* Check if we are assigned to this slot or if we are importing it. + * In both cases check the next slot as the configuration makes + * sense. */ + if (server.cluster->slots[j] == myself || + server.cluster->importing_slots_from[j] != NULL) continue; + + /* If we are here data and cluster config don't agree, and we have + * slot 'j' populated even if we are not importing it, nor we are + * assigned to this slot. Fix this condition. */ + + update_config++; + /* Case A: slot is unassigned. Take responsibility for it. */ + if (server.cluster->slots[j] == NULL) { + serverLog(LL_WARNING, "I have keys for unassigned slot %d. " + "Taking responsibility for it.",j); + clusterAddSlot(myself,j); + } else { + serverLog(LL_WARNING, "I have keys for slot %d, but the slot is " + "assigned to another node. " + "Setting it to importing state.",j); + server.cluster->importing_slots_from[j] = server.cluster->slots[j]; + } + } + if (update_config) clusterSaveConfigOrDie(1); + return C_OK; +} + +/* ----------------------------------------------------------------------------- + * SLAVE nodes handling + * -------------------------------------------------------------------------- */ + +/* Set the specified node 'n' as master for this node. + * If this node is currently a master, it is turned into a slave. */ +void clusterSetMaster(clusterNode *n) { + serverAssert(n != myself); + serverAssert(myself->numslots == 0); + + if (nodeIsMaster(myself)) { + myself->flags &= ~(CLUSTER_NODE_MASTER|CLUSTER_NODE_MIGRATE_TO); + myself->flags |= CLUSTER_NODE_SLAVE; + clusterCloseAllSlots(); + } else { + if (myself->slaveof) + clusterNodeRemoveSlave(myself->slaveof,myself); + } + myself->slaveof = n; + clusterNodeAddSlave(n,myself); + replicationSetMaster(n->ip, n->port); + resetManualFailover(); +} + +/* ----------------------------------------------------------------------------- + * Nodes to string representation functions. + * -------------------------------------------------------------------------- */ + +struct redisNodeFlags { + uint16_t flag; + char *name; +}; + +static struct redisNodeFlags redisNodeFlagsTable[] = { + {CLUSTER_NODE_MYSELF, "myself,"}, + {CLUSTER_NODE_MASTER, "master,"}, + {CLUSTER_NODE_SLAVE, "slave,"}, + {CLUSTER_NODE_PFAIL, "fail?,"}, + {CLUSTER_NODE_FAIL, "fail,"}, + {CLUSTER_NODE_HANDSHAKE, "handshake,"}, + {CLUSTER_NODE_NOADDR, "noaddr,"} +}; + +/* Concatenate the comma separated list of node flags to the given SDS + * string 'ci'. */ +sds representClusterNodeFlags(sds ci, uint16_t flags) { + if (flags == 0) { + ci = sdscat(ci,"noflags,"); + } else { + int i, size = sizeof(redisNodeFlagsTable)/sizeof(struct redisNodeFlags); + for (i = 0; i < size; i++) { + struct redisNodeFlags *nodeflag = redisNodeFlagsTable + i; + if (flags & nodeflag->flag) ci = sdscat(ci, nodeflag->name); + } + } + sdsIncrLen(ci,-1); /* Remove trailing comma. */ + return ci; +} + +/* Generate a csv-alike representation of the specified cluster node. + * See clusterGenNodesDescription() top comment for more information. + * + * The function returns the string representation as an SDS string. */ +sds clusterGenNodeDescription(clusterNode *node) { + int j, start; + sds ci; + + /* Node coordinates */ + ci = sdscatprintf(sdsempty(),"%.40s %s:%d@%d ", + node->name, + node->ip, + node->port, + node->cport); + + /* Flags */ + ci = representClusterNodeFlags(ci, node->flags); + + /* Slave of... or just "-" */ + if (node->slaveof) + ci = sdscatprintf(ci," %.40s ",node->slaveof->name); + else + ci = sdscatlen(ci," - ",3); + + /* Latency from the POV of this node, config epoch, link status */ + ci = sdscatprintf(ci,"%lld %lld %llu %s", + (long long) node->ping_sent, + (long long) node->pong_received, + (unsigned long long) node->configEpoch, + (node->link || node->flags & CLUSTER_NODE_MYSELF) ? + "connected" : "disconnected"); + + /* Slots served by this instance */ + start = -1; + for (j = 0; j < CLUSTER_SLOTS; j++) { + int bit; + + if ((bit = clusterNodeGetSlotBit(node,j)) != 0) { + if (start == -1) start = j; + } + if (start != -1 && (!bit || j == CLUSTER_SLOTS-1)) { + if (bit && j == CLUSTER_SLOTS-1) j++; + + if (start == j-1) { + ci = sdscatprintf(ci," %d",start); + } else { + ci = sdscatprintf(ci," %d-%d",start,j-1); + } + start = -1; + } + } + + /* Just for MYSELF node we also dump info about slots that + * we are migrating to other instances or importing from other + * instances. */ + if (node->flags & CLUSTER_NODE_MYSELF) { + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (server.cluster->migrating_slots_to[j]) { + ci = sdscatprintf(ci," [%d->-%.40s]",j, + server.cluster->migrating_slots_to[j]->name); + } else if (server.cluster->importing_slots_from[j]) { + ci = sdscatprintf(ci," [%d-<-%.40s]",j, + server.cluster->importing_slots_from[j]->name); + } + } + } + return ci; +} + +/* Generate a csv-alike representation of the nodes we are aware of, + * including the "myself" node, and return an SDS string containing the + * representation (it is up to the caller to free it). + * + * All the nodes matching at least one of the node flags specified in + * "filter" are excluded from the output, so using zero as a filter will + * include all the known nodes in the representation, including nodes in + * the HANDSHAKE state. + * + * The representation obtained using this function is used for the output + * of the CLUSTER NODES function, and as format for the cluster + * configuration file (nodes.conf) for a given node. */ +sds clusterGenNodesDescription(int filter) { + sds ci = sdsempty(), ni; + dictIterator *di; + dictEntry *de; + + di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + + if (node->flags & filter) continue; + ni = clusterGenNodeDescription(node); + ci = sdscatsds(ci,ni); + sdsfree(ni); + ci = sdscatlen(ci,"\n",1); + } + dictReleaseIterator(di); + return ci; +} + +/* ----------------------------------------------------------------------------- + * CLUSTER command + * -------------------------------------------------------------------------- */ + +const char *clusterGetMessageTypeString(int type) { + switch(type) { + case CLUSTERMSG_TYPE_PING: return "ping"; + case CLUSTERMSG_TYPE_PONG: return "pong"; + case CLUSTERMSG_TYPE_MEET: return "meet"; + case CLUSTERMSG_TYPE_FAIL: return "fail"; + case CLUSTERMSG_TYPE_PUBLISH: return "publish"; + case CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST: return "auth-req"; + case CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK: return "auth-ack"; + case CLUSTERMSG_TYPE_UPDATE: return "update"; + case CLUSTERMSG_TYPE_MFSTART: return "mfstart"; + } + return "unknown"; +} + +int getSlotOrReply(client *c, robj *o) { + long long slot; + + if (getLongLongFromObject(o,&slot) != C_OK || + slot < 0 || slot >= CLUSTER_SLOTS) + { + addReplyError(c,"Invalid or out of range slot"); + return -1; + } + return (int) slot; +} + +void clusterReplyMultiBulkSlots(client *c) { + /* Format: 1) 1) start slot + * 2) end slot + * 3) 1) master IP + * 2) master port + * 3) node ID + * 4) 1) replica IP + * 2) replica port + * 3) node ID + * ... continued until done + */ + + int num_masters = 0; + void *slot_replylen = addDeferredMultiBulkLength(c); + + dictEntry *de; + dictIterator *di = dictGetSafeIterator(server.cluster->nodes); + while((de = dictNext(di)) != NULL) { + clusterNode *node = dictGetVal(de); + int j = 0, start = -1; + + /* Skip slaves (that are iterated when producing the output of their + * master) and masters not serving any slot. */ + if (!nodeIsMaster(node) || node->numslots == 0) continue; + + for (j = 0; j < CLUSTER_SLOTS; j++) { + int bit, i; + + if ((bit = clusterNodeGetSlotBit(node,j)) != 0) { + if (start == -1) start = j; + } + if (start != -1 && (!bit || j == CLUSTER_SLOTS-1)) { + int nested_elements = 3; /* slots (2) + master addr (1). */ + void *nested_replylen = addDeferredMultiBulkLength(c); + + if (bit && j == CLUSTER_SLOTS-1) j++; + + /* If slot exists in output map, add to it's list. + * else, create a new output map for this slot */ + if (start == j-1) { + addReplyLongLong(c, start); /* only one slot; low==high */ + addReplyLongLong(c, start); + } else { + addReplyLongLong(c, start); /* low */ + addReplyLongLong(c, j-1); /* high */ + } + start = -1; + + /* First node reply position is always the master */ + addReplyMultiBulkLen(c, 3); + addReplyBulkCString(c, node->ip); + addReplyLongLong(c, node->port); + addReplyBulkCBuffer(c, node->name, CLUSTER_NAMELEN); + + /* Remaining nodes in reply are replicas for slot range */ + for (i = 0; i < node->numslaves; i++) { + /* This loop is copy/pasted from clusterGenNodeDescription() + * with modifications for per-slot node aggregation */ + if (nodeFailed(node->slaves[i])) continue; + addReplyMultiBulkLen(c, 3); + addReplyBulkCString(c, node->slaves[i]->ip); + addReplyLongLong(c, node->slaves[i]->port); + addReplyBulkCBuffer(c, node->slaves[i]->name, CLUSTER_NAMELEN); + nested_elements++; + } + setDeferredMultiBulkLength(c, nested_replylen, nested_elements); + num_masters++; + } + } + } + dictReleaseIterator(di); + setDeferredMultiBulkLength(c, slot_replylen, num_masters); +} + +void clusterCommand(client *c) { + if (server.cluster_enabled == 0) { + addReplyError(c,"This instance has cluster support disabled"); + return; + } + + if (!strcasecmp(c->argv[1]->ptr,"meet") && (c->argc == 4 || c->argc == 5)) { + /* CLUSTER MEET [cport] */ + long long port, cport; + + if (getLongLongFromObject(c->argv[3], &port) != C_OK) { + addReplyErrorFormat(c,"Invalid TCP base port specified: %s", + (char*)c->argv[3]->ptr); + return; + } + + if (c->argc == 5) { + if (getLongLongFromObject(c->argv[4], &cport) != C_OK) { + addReplyErrorFormat(c,"Invalid TCP bus port specified: %s", + (char*)c->argv[4]->ptr); + return; + } + } else { + cport = port + CLUSTER_PORT_INCR; + } + + if (clusterStartHandshake(c->argv[2]->ptr,port,cport) == 0 && + errno == EINVAL) + { + addReplyErrorFormat(c,"Invalid node address specified: %s:%s", + (char*)c->argv[2]->ptr, (char*)c->argv[3]->ptr); + } else { + addReply(c,shared.ok); + } + } else if (!strcasecmp(c->argv[1]->ptr,"nodes") && c->argc == 2) { + /* CLUSTER NODES */ + robj *o; + sds ci = clusterGenNodesDescription(0); + + o = createObject(OBJ_STRING,ci); + addReplyBulk(c,o); + decrRefCount(o); + } else if (!strcasecmp(c->argv[1]->ptr,"myid") && c->argc == 2) { + /* CLUSTER MYID */ + addReplyBulkCBuffer(c,myself->name, CLUSTER_NAMELEN); + } else if (!strcasecmp(c->argv[1]->ptr,"slots") && c->argc == 2) { + /* CLUSTER SLOTS */ + clusterReplyMultiBulkSlots(c); + } else if (!strcasecmp(c->argv[1]->ptr,"flushslots") && c->argc == 2) { + /* CLUSTER FLUSHSLOTS */ + if (dictSize(server.db[0].dict) != 0) { + addReplyError(c,"DB must be empty to perform CLUSTER FLUSHSLOTS."); + return; + } + clusterDelNodeSlots(myself); + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); + addReply(c,shared.ok); + } else if ((!strcasecmp(c->argv[1]->ptr,"addslots") || + !strcasecmp(c->argv[1]->ptr,"delslots")) && c->argc >= 3) + { + /* CLUSTER ADDSLOTS [slot] ... */ + /* CLUSTER DELSLOTS [slot] ... */ + int j, slot; + unsigned char *slots = zmalloc(CLUSTER_SLOTS); + int del = !strcasecmp(c->argv[1]->ptr,"delslots"); + + memset(slots,0,CLUSTER_SLOTS); + /* Check that all the arguments are parseable and that all the + * slots are not already busy. */ + for (j = 2; j < c->argc; j++) { + if ((slot = getSlotOrReply(c,c->argv[j])) == -1) { + zfree(slots); + return; + } + if (del && server.cluster->slots[slot] == NULL) { + addReplyErrorFormat(c,"Slot %d is already unassigned", slot); + zfree(slots); + return; + } else if (!del && server.cluster->slots[slot]) { + addReplyErrorFormat(c,"Slot %d is already busy", slot); + zfree(slots); + return; + } + if (slots[slot]++ == 1) { + addReplyErrorFormat(c,"Slot %d specified multiple times", + (int)slot); + zfree(slots); + return; + } + } + for (j = 0; j < CLUSTER_SLOTS; j++) { + if (slots[j]) { + int retval; + + /* If this slot was set as importing we can clear this + * state as now we are the real owner of the slot. */ + if (server.cluster->importing_slots_from[j]) + server.cluster->importing_slots_from[j] = NULL; + + retval = del ? clusterDelSlot(j) : + clusterAddSlot(myself,j); + serverAssertWithInfo(c,NULL,retval == C_OK); + } + } + zfree(slots); + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); + addReply(c,shared.ok); + } else if (!strcasecmp(c->argv[1]->ptr,"setslot") && c->argc >= 4) { + /* SETSLOT 10 MIGRATING */ + /* SETSLOT 10 IMPORTING */ + /* SETSLOT 10 STABLE */ + /* SETSLOT 10 NODE */ + int slot; + clusterNode *n; + + if (nodeIsSlave(myself)) { + addReplyError(c,"Please use SETSLOT only with masters."); + return; + } + + if ((slot = getSlotOrReply(c,c->argv[2])) == -1) return; + + if (!strcasecmp(c->argv[3]->ptr,"migrating") && c->argc == 5) { + if (server.cluster->slots[slot] != myself) { + addReplyErrorFormat(c,"I'm not the owner of hash slot %u",slot); + return; + } + if ((n = clusterLookupNode(c->argv[4]->ptr)) == NULL) { + addReplyErrorFormat(c,"I don't know about node %s", + (char*)c->argv[4]->ptr); + return; + } + server.cluster->migrating_slots_to[slot] = n; + } else if (!strcasecmp(c->argv[3]->ptr,"importing") && c->argc == 5) { + if (server.cluster->slots[slot] == myself) { + addReplyErrorFormat(c, + "I'm already the owner of hash slot %u",slot); + return; + } + if ((n = clusterLookupNode(c->argv[4]->ptr)) == NULL) { + addReplyErrorFormat(c,"I don't know about node %s", + (char*)c->argv[3]->ptr); + return; + } + server.cluster->importing_slots_from[slot] = n; + } else if (!strcasecmp(c->argv[3]->ptr,"stable") && c->argc == 4) { + /* CLUSTER SETSLOT STABLE */ + server.cluster->importing_slots_from[slot] = NULL; + server.cluster->migrating_slots_to[slot] = NULL; + } else if (!strcasecmp(c->argv[3]->ptr,"node") && c->argc == 5) { + /* CLUSTER SETSLOT NODE */ + clusterNode *n = clusterLookupNode(c->argv[4]->ptr); + + if (!n) { + addReplyErrorFormat(c,"Unknown node %s", + (char*)c->argv[4]->ptr); + return; + } + /* If this hash slot was served by 'myself' before to switch + * make sure there are no longer local keys for this hash slot. */ + if (server.cluster->slots[slot] == myself && n != myself) { + if (countKeysInSlot(slot) != 0) { + addReplyErrorFormat(c, + "Can't assign hashslot %d to a different node " + "while I still hold keys for this hash slot.", slot); + return; + } + } + /* If this slot is in migrating status but we have no keys + * for it assigning the slot to another node will clear + * the migratig status. */ + if (countKeysInSlot(slot) == 0 && + server.cluster->migrating_slots_to[slot]) + server.cluster->migrating_slots_to[slot] = NULL; + + /* If this node was importing this slot, assigning the slot to + * itself also clears the importing status. */ + if (n == myself && + server.cluster->importing_slots_from[slot]) + { + /* This slot was manually migrated, set this node configEpoch + * to a new epoch so that the new version can be propagated + * by the cluster. + * + * Note that if this ever results in a collision with another + * node getting the same configEpoch, for example because a + * failover happens at the same time we close the slot, the + * configEpoch collision resolution will fix it assigning + * a different epoch to each node. */ + if (clusterBumpConfigEpochWithoutConsensus() == C_OK) { + serverLog(LL_WARNING, + "configEpoch updated after importing slot %d", slot); + } + server.cluster->importing_slots_from[slot] = NULL; + } + clusterDelSlot(slot); + clusterAddSlot(n,slot); + } else { + addReplyError(c, + "Invalid CLUSTER SETSLOT action or number of arguments"); + return; + } + clusterDoBeforeSleep(CLUSTER_TODO_SAVE_CONFIG|CLUSTER_TODO_UPDATE_STATE); + addReply(c,shared.ok); + } else if (!strcasecmp(c->argv[1]->ptr,"bumpepoch") && c->argc == 2) { + /* CLUSTER BUMPEPOCH */ + int retval = clusterBumpConfigEpochWithoutConsensus(); + sds reply = sdscatprintf(sdsempty(),"+%s %llu\r\n", + (retval == C_OK) ? "BUMPED" : "STILL", + (unsigned long long) myself->configEpoch); + addReplySds(c,reply); + } else if (!strcasecmp(c->argv[1]->ptr,"info") && c->argc == 2) { + /* CLUSTER INFO */ + char *statestr[] = {"ok","fail","needhelp"}; + int slots_assigned = 0, slots_ok = 0, slots_pfail = 0, slots_fail = 0; + uint64_t myepoch; + int j; + + for (j = 0; j < CLUSTER_SLOTS; j++) { + clusterNode *n = server.cluster->slots[j]; + + if (n == NULL) continue; + slots_assigned++; + if (nodeFailed(n)) { + slots_fail++; + } else if (nodeTimedOut(n)) { + slots_pfail++; + } else { + slots_ok++; + } + } + + myepoch = (nodeIsSlave(myself) && myself->slaveof) ? + myself->slaveof->configEpoch : myself->configEpoch; + + sds info = sdscatprintf(sdsempty(), + "cluster_state:%s\r\n" + "cluster_slots_assigned:%d\r\n" + "cluster_slots_ok:%d\r\n" + "cluster_slots_pfail:%d\r\n" + "cluster_slots_fail:%d\r\n" + "cluster_known_nodes:%lu\r\n" + "cluster_size:%d\r\n" + "cluster_current_epoch:%llu\r\n" + "cluster_my_epoch:%llu\r\n" + , statestr[server.cluster->state], + slots_assigned, + slots_ok, + slots_pfail, + slots_fail, + dictSize(server.cluster->nodes), + server.cluster->size, + (unsigned long long) server.cluster->currentEpoch, + (unsigned long long) myepoch + ); + + /* Show stats about messages sent and received. */ + long long tot_msg_sent = 0; + long long tot_msg_received = 0; + + for (int i = 0; i < CLUSTERMSG_TYPE_COUNT; i++) { + if (server.cluster->stats_bus_messages_sent[i] == 0) continue; + tot_msg_sent += server.cluster->stats_bus_messages_sent[i]; + info = sdscatprintf(info, + "cluster_stats_messages_%s_sent:%lld\r\n", + clusterGetMessageTypeString(i), + server.cluster->stats_bus_messages_sent[i]); + } + info = sdscatprintf(info, + "cluster_stats_messages_sent:%lld\r\n", tot_msg_sent); + + for (int i = 0; i < CLUSTERMSG_TYPE_COUNT; i++) { + if (server.cluster->stats_bus_messages_received[i] == 0) continue; + tot_msg_received += server.cluster->stats_bus_messages_received[i]; + info = sdscatprintf(info, + "cluster_stats_messages_%s_received:%lld\r\n", + clusterGetMessageTypeString(i), + server.cluster->stats_bus_messages_received[i]); + } + info = sdscatprintf(info, + "cluster_stats_messages_received:%lld\r\n", tot_msg_received); + + /* Produce the reply protocol. */ + addReplySds(c,sdscatprintf(sdsempty(),"$%lu\r\n", + (unsigned long)sdslen(info))); + addReplySds(c,info); + addReply(c,shared.crlf); + } else if (!strcasecmp(c->argv[1]->ptr,"saveconfig") && c->argc == 2) { + int retval = clusterSaveConfig(1); + + if (retval == 0) + addReply(c,shared.ok); + else + addReplyErrorFormat(c,"error saving the cluster node config: %s", + strerror(errno)); + } else if (!strcasecmp(c->argv[1]->ptr,"keyslot") && c->argc == 3) { + /* CLUSTER KEYSLOT */ + sds key = c->argv[2]->ptr; + + addReplyLongLong(c,keyHashSlot(key,sdslen(key))); + } else if (!strcasecmp(c->argv[1]->ptr,"countkeysinslot") && c->argc == 3) { + /* CLUSTER COUNTKEYSINSLOT */ + long long slot; + + if (getLongLongFromObjectOrReply(c,c->argv[2],&slot,NULL) != C_OK) + return; + if (slot < 0 || slot >= CLUSTER_SLOTS) { + addReplyError(c,"Invalid slot"); + return; + } + addReplyLongLong(c,countKeysInSlot(slot)); + } else if (!strcasecmp(c->argv[1]->ptr,"getkeysinslot") && c->argc == 4) { + /* CLUSTER GETKEYSINSLOT */ + long long maxkeys, slot; + unsigned int numkeys, j; + robj **keys; + + if (getLongLongFromObjectOrReply(c,c->argv[2],&slot,NULL) != C_OK) + return; + if (getLongLongFromObjectOrReply(c,c->argv[3],&maxkeys,NULL) + != C_OK) + return; + if (slot < 0 || slot >= CLUSTER_SLOTS || maxkeys < 0) { + addReplyError(c,"Invalid slot or number of keys"); + return; + } + + keys = zmalloc(sizeof(robj*)*maxkeys); + numkeys = getKeysInSlot(slot, keys, maxkeys); + addReplyMultiBulkLen(c,numkeys); + for (j = 0; j < numkeys; j++) { + addReplyBulk(c,keys[j]); + decrRefCount(keys[j]); + } + zfree(keys); + } else if (!strcasecmp(c->argv[1]->ptr,"forget") && c->argc == 3) { + /* CLUSTER FORGET */ + clusterNode *n = clusterLookupNode(c->argv[2]->ptr); + + if (!n) { + addReplyErrorFormat(c,"Unknown node %s", (char*)c->argv[2]->ptr); + return; + } else if (n == myself) { + addReplyError(c,"I tried hard but I can't forget myself..."); + return; + } else if (nodeIsSlave(myself) && myself->slaveof == n) { + addReplyError(c,"Can't forget my master!"); + return; + } + clusterBlacklistAddNode(n); + clusterDelNode(n); + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_SAVE_CONFIG); + addReply(c,shared.ok); + } else if (!strcasecmp(c->argv[1]->ptr,"replicate") && c->argc == 3) { + /* CLUSTER REPLICATE */ + clusterNode *n = clusterLookupNode(c->argv[2]->ptr); + + /* Lookup the specified node in our table. */ + if (!n) { + addReplyErrorFormat(c,"Unknown node %s", (char*)c->argv[2]->ptr); + return; + } + + /* I can't replicate myself. */ + if (n == myself) { + addReplyError(c,"Can't replicate myself"); + return; + } + + /* Can't replicate a slave. */ + if (nodeIsSlave(n)) { + addReplyError(c,"I can only replicate a master, not a slave."); + return; + } + + /* If the instance is currently a master, it should have no assigned + * slots nor keys to accept to replicate some other node. + * Slaves can switch to another master without issues. */ + if (nodeIsMaster(myself) && + (myself->numslots != 0 || dictSize(server.db[0].dict) != 0)) { + addReplyError(c, + "To set a master the node must be empty and " + "without assigned slots."); + return; + } + + /* Set the master. */ + clusterSetMaster(n); + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG); + addReply(c,shared.ok); + } else if (!strcasecmp(c->argv[1]->ptr,"slaves") && c->argc == 3) { + /* CLUSTER SLAVES */ + clusterNode *n = clusterLookupNode(c->argv[2]->ptr); + int j; + + /* Lookup the specified node in our table. */ + if (!n) { + addReplyErrorFormat(c,"Unknown node %s", (char*)c->argv[2]->ptr); + return; + } + + if (nodeIsSlave(n)) { + addReplyError(c,"The specified node is not a master"); + return; + } + + addReplyMultiBulkLen(c,n->numslaves); + for (j = 0; j < n->numslaves; j++) { + sds ni = clusterGenNodeDescription(n->slaves[j]); + addReplyBulkCString(c,ni); + sdsfree(ni); + } + } else if (!strcasecmp(c->argv[1]->ptr,"count-failure-reports") && + c->argc == 3) + { + /* CLUSTER COUNT-FAILURE-REPORTS */ + clusterNode *n = clusterLookupNode(c->argv[2]->ptr); + + if (!n) { + addReplyErrorFormat(c,"Unknown node %s", (char*)c->argv[2]->ptr); + return; + } else { + addReplyLongLong(c,clusterNodeFailureReportsCount(n)); + } + } else if (!strcasecmp(c->argv[1]->ptr,"failover") && + (c->argc == 2 || c->argc == 3)) + { + /* CLUSTER FAILOVER [FORCE|TAKEOVER] */ + int force = 0, takeover = 0; + + if (c->argc == 3) { + if (!strcasecmp(c->argv[2]->ptr,"force")) { + force = 1; + } else if (!strcasecmp(c->argv[2]->ptr,"takeover")) { + takeover = 1; + force = 1; /* Takeover also implies force. */ + } else { + addReply(c,shared.syntaxerr); + return; + } + } + + /* Check preconditions. */ + if (nodeIsMaster(myself)) { + addReplyError(c,"You should send CLUSTER FAILOVER to a slave"); + return; + } else if (myself->slaveof == NULL) { + addReplyError(c,"I'm a slave but my master is unknown to me"); + return; + } else if (!force && + (nodeFailed(myself->slaveof) || + myself->slaveof->link == NULL)) + { + addReplyError(c,"Master is down or failed, " + "please use CLUSTER FAILOVER FORCE"); + return; + } + resetManualFailover(); + server.cluster->mf_end = mstime() + CLUSTER_MF_TIMEOUT; + + if (takeover) { + /* A takeover does not perform any initial check. It just + * generates a new configuration epoch for this node without + * consensus, claims the master's slots, and broadcast the new + * configuration. */ + serverLog(LL_WARNING,"Taking over the master (user request)."); + clusterBumpConfigEpochWithoutConsensus(); + clusterFailoverReplaceYourMaster(); + } else if (force) { + /* If this is a forced failover, we don't need to talk with our + * master to agree about the offset. We just failover taking over + * it without coordination. */ + serverLog(LL_WARNING,"Forced failover user request accepted."); + server.cluster->mf_can_start = 1; + } else { + serverLog(LL_WARNING,"Manual failover user request accepted."); + clusterSendMFStart(myself->slaveof); + } + addReply(c,shared.ok); + } else if (!strcasecmp(c->argv[1]->ptr,"set-config-epoch") && c->argc == 3) + { + /* CLUSTER SET-CONFIG-EPOCH + * + * The user is allowed to set the config epoch only when a node is + * totally fresh: no config epoch, no other known node, and so forth. + * This happens at cluster creation time to start with a cluster where + * every node has a different node ID, without to rely on the conflicts + * resolution system which is too slow when a big cluster is created. */ + long long epoch; + + if (getLongLongFromObjectOrReply(c,c->argv[2],&epoch,NULL) != C_OK) + return; + + if (epoch < 0) { + addReplyErrorFormat(c,"Invalid config epoch specified: %lld",epoch); + } else if (dictSize(server.cluster->nodes) > 1) { + addReplyError(c,"The user can assign a config epoch only when the " + "node does not know any other node."); + } else if (myself->configEpoch != 0) { + addReplyError(c,"Node config epoch is already non-zero"); + } else { + myself->configEpoch = epoch; + serverLog(LL_WARNING, + "configEpoch set to %llu via CLUSTER SET-CONFIG-EPOCH", + (unsigned long long) myself->configEpoch); + + if (server.cluster->currentEpoch < (uint64_t)epoch) + server.cluster->currentEpoch = epoch; + /* No need to fsync the config here since in the unlucky event + * of a failure to persist the config, the conflict resolution code + * will assign an unique config to this node. */ + clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE| + CLUSTER_TODO_SAVE_CONFIG); + addReply(c,shared.ok); + } + } else if (!strcasecmp(c->argv[1]->ptr,"reset") && + (c->argc == 2 || c->argc == 3)) + { + /* CLUSTER RESET [SOFT|HARD] */ + int hard = 0; + + /* Parse soft/hard argument. Default is soft. */ + if (c->argc == 3) { + if (!strcasecmp(c->argv[2]->ptr,"hard")) { + hard = 1; + } else if (!strcasecmp(c->argv[2]->ptr,"soft")) { + hard = 0; + } else { + addReply(c,shared.syntaxerr); + return; + } + } + + /* Slaves can be reset while containing data, but not master nodes + * that must be empty. */ + if (nodeIsMaster(myself) && dictSize(c->db->dict) != 0) { + addReplyError(c,"CLUSTER RESET can't be called with " + "master nodes containing keys"); + return; + } + clusterReset(hard); + addReply(c,shared.ok); + } else { + addReplyError(c,"Wrong CLUSTER subcommand or number of arguments"); + } +} + +/* ----------------------------------------------------------------------------- + * DUMP, RESTORE and MIGRATE commands + * -------------------------------------------------------------------------- */ + +/* Generates a DUMP-format representation of the object 'o', adding it to the + * io stream pointed by 'rio'. This function can't fail. */ +void createDumpPayload(rio *payload, robj *o) { + unsigned char buf[2]; + uint64_t crc; + + /* Serialize the object in a RDB-like format. It consist of an object type + * byte followed by the serialized object. This is understood by RESTORE. */ + rioInitWithBuffer(payload,sdsempty()); + serverAssert(rdbSaveObjectType(payload,o)); + serverAssert(rdbSaveObject(payload,o)); + + /* Write the footer, this is how it looks like: + * ----------------+---------------------+---------------+ + * ... RDB payload | 2 bytes RDB version | 8 bytes CRC64 | + * ----------------+---------------------+---------------+ + * RDB version and CRC are both in little endian. + */ + + /* RDB version */ + buf[0] = RDB_VERSION & 0xff; + buf[1] = (RDB_VERSION >> 8) & 0xff; + payload->io.buffer.ptr = sdscatlen(payload->io.buffer.ptr,buf,2); + + /* CRC64 */ + crc = crc64(0,(unsigned char*)payload->io.buffer.ptr, + sdslen(payload->io.buffer.ptr)); + memrev64ifbe(&crc); + payload->io.buffer.ptr = sdscatlen(payload->io.buffer.ptr,&crc,8); +} + +/* Verify that the RDB version of the dump payload matches the one of this Redis + * instance and that the checksum is ok. + * If the DUMP payload looks valid C_OK is returned, otherwise C_ERR + * is returned. */ +int verifyDumpPayload(unsigned char *p, size_t len) { + unsigned char *footer; + uint16_t rdbver; + uint64_t crc; + + /* At least 2 bytes of RDB version and 8 of CRC64 should be present. */ + if (len < 10) return C_ERR; + footer = p+(len-10); + + /* Verify RDB version */ + rdbver = (footer[1] << 8) | footer[0]; + if (rdbver > RDB_VERSION) return C_ERR; + + /* Verify CRC64 */ + crc = crc64(0,p,len-8); + memrev64ifbe(&crc); + return (memcmp(&crc,footer+2,8) == 0) ? C_OK : C_ERR; +} + +/* DUMP keyname + * DUMP is actually not used by Redis Cluster but it is the obvious + * complement of RESTORE and can be useful for different applications. */ +void dumpCommand(client *c) { + robj *o, *dumpobj; + rio payload; + + /* Check if the key is here. */ + if ((o = lookupKeyRead(c->db,c->argv[1])) == NULL) { + addReply(c,shared.nullbulk); + return; + } + + /* Create the DUMP encoded representation. */ + createDumpPayload(&payload,o); + + /* Transfer to the client */ + dumpobj = createObject(OBJ_STRING,payload.io.buffer.ptr); + addReplyBulk(c,dumpobj); + decrRefCount(dumpobj); + return; +} + +/* RESTORE key ttl serialized-value [REPLACE] */ +void restoreCommand(client *c) { + long long ttl; + rio payload; + int j, type, replace = 0; + robj *obj; + + /* Parse additional options */ + for (j = 4; j < c->argc; j++) { + if (!strcasecmp(c->argv[j]->ptr,"replace")) { + replace = 1; + } else { + addReply(c,shared.syntaxerr); + return; + } + } + + /* Make sure this key does not already exist here... */ + if (!replace && lookupKeyWrite(c->db,c->argv[1]) != NULL) { + addReply(c,shared.busykeyerr); + return; + } + + /* Check if the TTL value makes sense */ + if (getLongLongFromObjectOrReply(c,c->argv[2],&ttl,NULL) != C_OK) { + return; + } else if (ttl < 0) { + addReplyError(c,"Invalid TTL value, must be >= 0"); + return; + } + + /* Verify RDB version and data checksum. */ + if (verifyDumpPayload(c->argv[3]->ptr,sdslen(c->argv[3]->ptr)) == C_ERR) + { + addReplyError(c,"DUMP payload version or checksum are wrong"); + return; + } + + rioInitWithBuffer(&payload,c->argv[3]->ptr); + if (((type = rdbLoadObjectType(&payload)) == -1) || + ((obj = rdbLoadObject(type,&payload)) == NULL)) + { + addReplyError(c,"Bad data format"); + return; + } + + /* Remove the old key if needed. */ + if (replace) dbDelete(c->db,c->argv[1]); + + /* Create the key and set the TTL if any */ + dbAdd(c->db,c->argv[1],obj); + if (ttl) setExpire(c,c->db,c->argv[1],mstime()+ttl); + signalModifiedKey(c->db,c->argv[1]); + addReply(c,shared.ok); + server.dirty++; +} + +/* MIGRATE socket cache implementation. + * + * We take a map between host:ip and a TCP socket that we used to connect + * to this instance in recent time. + * This sockets are closed when the max number we cache is reached, and also + * in serverCron() when they are around for more than a few seconds. */ +#define MIGRATE_SOCKET_CACHE_ITEMS 64 /* max num of items in the cache. */ +#define MIGRATE_SOCKET_CACHE_TTL 10 /* close cached sockets after 10 sec. */ + +typedef struct migrateCachedSocket { + int fd; + long last_dbid; + time_t last_use_time; +} migrateCachedSocket; + +/* Return a migrateCachedSocket containing a TCP socket connected with the + * target instance, possibly returning a cached one. + * + * This function is responsible of sending errors to the client if a + * connection can't be established. In this case -1 is returned. + * Otherwise on success the socket is returned, and the caller should not + * attempt to free it after usage. + * + * If the caller detects an error while using the socket, migrateCloseSocket() + * should be called so that the connection will be created from scratch + * the next time. */ +migrateCachedSocket* migrateGetSocket(client *c, robj *host, robj *port, long timeout) { + int fd; + sds name = sdsempty(); + migrateCachedSocket *cs; + + /* Check if we have an already cached socket for this ip:port pair. */ + name = sdscatlen(name,host->ptr,sdslen(host->ptr)); + name = sdscatlen(name,":",1); + name = sdscatlen(name,port->ptr,sdslen(port->ptr)); + cs = dictFetchValue(server.migrate_cached_sockets,name); + if (cs) { + sdsfree(name); + cs->last_use_time = server.unixtime; + return cs; + } + + /* No cached socket, create one. */ + if (dictSize(server.migrate_cached_sockets) == MIGRATE_SOCKET_CACHE_ITEMS) { + /* Too many items, drop one at random. */ + dictEntry *de = dictGetRandomKey(server.migrate_cached_sockets); + cs = dictGetVal(de); + close(cs->fd); + zfree(cs); + dictDelete(server.migrate_cached_sockets,dictGetKey(de)); + } + + /* Create the socket */ + fd = anetTcpNonBlockConnect(server.neterr,c->argv[1]->ptr, + atoi(c->argv[2]->ptr)); + if (fd == -1) { + sdsfree(name); + addReplyErrorFormat(c,"Can't connect to target node: %s", + server.neterr); + return NULL; + } + anetEnableTcpNoDelay(server.neterr,fd); + + /* Check if it connects within the specified timeout. */ + if ((aeWait(fd,AE_WRITABLE,timeout) & AE_WRITABLE) == 0) { + sdsfree(name); + addReplySds(c, + sdsnew("-IOERR error or timeout connecting to the client\r\n")); + close(fd); + return NULL; + } + + /* Add to the cache and return it to the caller. */ + cs = zmalloc(sizeof(*cs)); + cs->fd = fd; + cs->last_dbid = -1; + cs->last_use_time = server.unixtime; + dictAdd(server.migrate_cached_sockets,name,cs); + return cs; +} + +/* Free a migrate cached connection. */ +void migrateCloseSocket(robj *host, robj *port) { + sds name = sdsempty(); + migrateCachedSocket *cs; + + name = sdscatlen(name,host->ptr,sdslen(host->ptr)); + name = sdscatlen(name,":",1); + name = sdscatlen(name,port->ptr,sdslen(port->ptr)); + cs = dictFetchValue(server.migrate_cached_sockets,name); + if (!cs) { + sdsfree(name); + return; + } + + close(cs->fd); + zfree(cs); + dictDelete(server.migrate_cached_sockets,name); + sdsfree(name); +} + +void migrateCloseTimedoutSockets(void) { + dictIterator *di = dictGetSafeIterator(server.migrate_cached_sockets); + dictEntry *de; + + while((de = dictNext(di)) != NULL) { + migrateCachedSocket *cs = dictGetVal(de); + + if ((server.unixtime - cs->last_use_time) > MIGRATE_SOCKET_CACHE_TTL) { + close(cs->fd); + zfree(cs); + dictDelete(server.migrate_cached_sockets,dictGetKey(de)); + } + } + dictReleaseIterator(di); +} + +/* MIGRATE host port key dbid timeout [COPY | REPLACE] + * + * On in the multiple keys form: + * + * MIGRATE host port "" dbid timeout [COPY | REPLACE] KEYS key1 key2 ... keyN */ +void migrateCommand(client *c) { + migrateCachedSocket *cs; + int copy, replace, j; + long timeout; + long dbid; + robj **ov = NULL; /* Objects to migrate. */ + robj **kv = NULL; /* Key names. */ + robj **newargv = NULL; /* Used to rewrite the command as DEL ... keys ... */ + rio cmd, payload; + int may_retry = 1; + int write_error = 0; + int argv_rewritten = 0; + + /* To support the KEYS option we need the following additional state. */ + int first_key = 3; /* Argument index of the first key. */ + int num_keys = 1; /* By default only migrate the 'key' argument. */ + + /* Initialization */ + copy = 0; + replace = 0; + + /* Parse additional options */ + for (j = 6; j < c->argc; j++) { + if (!strcasecmp(c->argv[j]->ptr,"copy")) { + copy = 1; + } else if (!strcasecmp(c->argv[j]->ptr,"replace")) { + replace = 1; + } else if (!strcasecmp(c->argv[j]->ptr,"keys")) { + if (sdslen(c->argv[3]->ptr) != 0) { + addReplyError(c, + "When using MIGRATE KEYS option, the key argument" + " must be set to the empty string"); + return; + } + first_key = j+1; + num_keys = c->argc - j - 1; + break; /* All the remaining args are keys. */ + } else { + addReply(c,shared.syntaxerr); + return; + } + } + + /* Sanity check */ + if (getLongFromObjectOrReply(c,c->argv[5],&timeout,NULL) != C_OK || + getLongFromObjectOrReply(c,c->argv[4],&dbid,NULL) != C_OK) + { + return; + } + if (timeout <= 0) timeout = 1000; + + /* Check if the keys are here. If at least one key is to migrate, do it + * otherwise if all the keys are missing reply with "NOKEY" to signal + * the caller there was nothing to migrate. We don't return an error in + * this case, since often this is due to a normal condition like the key + * expiring in the meantime. */ + ov = zrealloc(ov,sizeof(robj*)*num_keys); + kv = zrealloc(kv,sizeof(robj*)*num_keys); + int oi = 0; + + for (j = 0; j < num_keys; j++) { + if ((ov[oi] = lookupKeyRead(c->db,c->argv[first_key+j])) != NULL) { + kv[oi] = c->argv[first_key+j]; + oi++; + } + } + num_keys = oi; + if (num_keys == 0) { + zfree(ov); zfree(kv); + addReplySds(c,sdsnew("+NOKEY\r\n")); + return; + } + +try_again: + write_error = 0; + + /* Connect */ + cs = migrateGetSocket(c,c->argv[1],c->argv[2],timeout); + if (cs == NULL) { + zfree(ov); zfree(kv); + return; /* error sent to the client by migrateGetSocket() */ + } + + rioInitWithBuffer(&cmd,sdsempty()); + + /* Send the SELECT command if the current DB is not already selected. */ + int select = cs->last_dbid != dbid; /* Should we emit SELECT? */ + if (select) { + serverAssertWithInfo(c,NULL,rioWriteBulkCount(&cmd,'*',2)); + serverAssertWithInfo(c,NULL,rioWriteBulkString(&cmd,"SELECT",6)); + serverAssertWithInfo(c,NULL,rioWriteBulkLongLong(&cmd,dbid)); + } + + /* Create RESTORE payload and generate the protocol to call the command. */ + for (j = 0; j < num_keys; j++) { + long long ttl = 0; + long long expireat = getExpire(c->db,kv[j]); + + if (expireat != -1) { + ttl = expireat-mstime(); + if (ttl < 1) ttl = 1; + } + serverAssertWithInfo(c,NULL,rioWriteBulkCount(&cmd,'*',replace ? 5 : 4)); + if (server.cluster_enabled) + serverAssertWithInfo(c,NULL, + rioWriteBulkString(&cmd,"RESTORE-ASKING",14)); + else + serverAssertWithInfo(c,NULL,rioWriteBulkString(&cmd,"RESTORE",7)); + serverAssertWithInfo(c,NULL,sdsEncodedObject(kv[j])); + serverAssertWithInfo(c,NULL,rioWriteBulkString(&cmd,kv[j]->ptr, + sdslen(kv[j]->ptr))); + serverAssertWithInfo(c,NULL,rioWriteBulkLongLong(&cmd,ttl)); + + /* Emit the payload argument, that is the serialized object using + * the DUMP format. */ + createDumpPayload(&payload,ov[j]); + serverAssertWithInfo(c,NULL, + rioWriteBulkString(&cmd,payload.io.buffer.ptr, + sdslen(payload.io.buffer.ptr))); + sdsfree(payload.io.buffer.ptr); + + /* Add the REPLACE option to the RESTORE command if it was specified + * as a MIGRATE option. */ + if (replace) + serverAssertWithInfo(c,NULL,rioWriteBulkString(&cmd,"REPLACE",7)); + } + + /* Transfer the query to the other node in 64K chunks. */ + errno = 0; + { + sds buf = cmd.io.buffer.ptr; + size_t pos = 0, towrite; + int nwritten = 0; + + while ((towrite = sdslen(buf)-pos) > 0) { + towrite = (towrite > (64*1024) ? (64*1024) : towrite); + nwritten = syncWrite(cs->fd,buf+pos,towrite,timeout); + if (nwritten != (signed)towrite) { + write_error = 1; + goto socket_err; + } + pos += nwritten; + } + } + + char buf1[1024]; /* Select reply. */ + char buf2[1024]; /* Restore reply. */ + + /* Read the SELECT reply if needed. */ + if (select && syncReadLine(cs->fd, buf1, sizeof(buf1), timeout) <= 0) + goto socket_err; + + /* Read the RESTORE replies. */ + int error_from_target = 0; + int socket_error = 0; + int del_idx = 1; /* Index of the key argument for the replicated DEL op. */ + + if (!copy) newargv = zmalloc(sizeof(robj*)*(num_keys+1)); + + for (j = 0; j < num_keys; j++) { + if (syncReadLine(cs->fd, buf2, sizeof(buf2), timeout) <= 0) { + socket_error = 1; + break; + } + if ((select && buf1[0] == '-') || buf2[0] == '-') { + /* On error assume that last_dbid is no longer valid. */ + if (!error_from_target) { + cs->last_dbid = -1; + addReplyErrorFormat(c,"Target instance replied with error: %s", + (select && buf1[0] == '-') ? buf1+1 : buf2+1); + error_from_target = 1; + } + } else { + if (!copy) { + /* No COPY option: remove the local key, signal the change. */ + dbDelete(c->db,kv[j]); + signalModifiedKey(c->db,kv[j]); + server.dirty++; + + /* Populate the argument vector to replace the old one. */ + newargv[del_idx++] = kv[j]; + incrRefCount(kv[j]); + } + } + } + + /* On socket error, if we want to retry, do it now before rewriting the + * command vector. We only retry if we are sure nothing was processed + * and we failed to read the first reply (j == 0 test). */ + if (!error_from_target && socket_error && j == 0 && may_retry && + errno != ETIMEDOUT) + { + goto socket_err; /* A retry is guaranteed because of tested conditions.*/ + } + + /* On socket errors, close the migration socket now that we still have + * the original host/port in the ARGV. Later the original command may be + * rewritten to DEL and will be too later. */ + if (socket_error) migrateCloseSocket(c->argv[1],c->argv[2]); + + if (!copy) { + /* Translate MIGRATE as DEL for replication/AOF. Note that we do + * this only for the keys for which we received an acknowledgement + * from the receiving Redis server, by using the del_idx index. */ + if (del_idx > 1) { + newargv[0] = createStringObject("DEL",3); + /* Note that the following call takes ownership of newargv. */ + replaceClientCommandVector(c,del_idx,newargv); + argv_rewritten = 1; + } else { + /* No key transfer acknowledged, no need to rewrite as DEL. */ + zfree(newargv); + } + newargv = NULL; /* Make it safe to call zfree() on it in the future. */ + } + + /* If we are here and a socket error happened, we don't want to retry. + * Just signal the problem to the client, but only do it if we did not + * already queue a different error reported by the destination server. */ + if (!error_from_target && socket_error) { + may_retry = 0; + goto socket_err; + } + + if (!error_from_target) { + /* Success! Update the last_dbid in migrateCachedSocket, so that we can + * avoid SELECT the next time if the target DB is the same. Reply +OK. + * + * Note: If we reached this point, even if socket_error is true + * still the SELECT command succeeded (otherwise the code jumps to + * socket_err label. */ + cs->last_dbid = dbid; + addReply(c,shared.ok); + } else { + /* On error we already sent it in the for loop above, and set + * the curretly selected socket to -1 to force SELECT the next time. */ + } + + sdsfree(cmd.io.buffer.ptr); + zfree(ov); zfree(kv); zfree(newargv); + return; + +/* On socket errors we try to close the cached socket and try again. + * It is very common for the cached socket to get closed, if just reopening + * it works it's a shame to notify the error to the caller. */ +socket_err: + /* Cleanup we want to perform in both the retry and no retry case. + * Note: Closing the migrate socket will also force SELECT next time. */ + sdsfree(cmd.io.buffer.ptr); + + /* If the command was rewritten as DEL and there was a socket error, + * we already closed the socket earlier. While migrateCloseSocket() + * is idempotent, the host/port arguments are now gone, so don't do it + * again. */ + if (!argv_rewritten) migrateCloseSocket(c->argv[1],c->argv[2]); + zfree(newargv); + newargv = NULL; /* This will get reallocated on retry. */ + + /* Retry only if it's not a timeout and we never attempted a retry + * (or the code jumping here did not set may_retry to zero). */ + if (errno != ETIMEDOUT && may_retry) { + may_retry = 0; + goto try_again; + } + + /* Cleanup we want to do if no retry is attempted. */ + zfree(ov); zfree(kv); + addReplySds(c, + sdscatprintf(sdsempty(), + "-IOERR error or timeout %s to target instance\r\n", + write_error ? "writing" : "reading")); + return; +} + +/* ----------------------------------------------------------------------------- + * Cluster functions related to serving / redirecting clients + * -------------------------------------------------------------------------- */ + +/* The ASKING command is required after a -ASK redirection. + * The client should issue ASKING before to actually send the command to + * the target instance. See the Redis Cluster specification for more + * information. */ +void askingCommand(client *c) { + if (server.cluster_enabled == 0) { + addReplyError(c,"This instance has cluster support disabled"); + return; + } + c->flags |= CLIENT_ASKING; + addReply(c,shared.ok); +} + +/* The READONLY command is used by clients to enter the read-only mode. + * In this mode slaves will not redirect clients as long as clients access + * with read-only commands to keys that are served by the slave's master. */ +void readonlyCommand(client *c) { + if (server.cluster_enabled == 0) { + addReplyError(c,"This instance has cluster support disabled"); + return; + } + c->flags |= CLIENT_READONLY; + addReply(c,shared.ok); +} + +/* The READWRITE command just clears the READONLY command state. */ +void readwriteCommand(client *c) { + c->flags &= ~CLIENT_READONLY; + addReply(c,shared.ok); +} + +/* Return the pointer to the cluster node that is able to serve the command. + * For the function to succeed the command should only target either: + * + * 1) A single key (even multiple times like LPOPRPUSH mylist mylist). + * 2) Multiple keys in the same hash slot, while the slot is stable (no + * resharding in progress). + * + * On success the function returns the node that is able to serve the request. + * If the node is not 'myself' a redirection must be perfomed. The kind of + * redirection is specified setting the integer passed by reference + * 'error_code', which will be set to CLUSTER_REDIR_ASK or + * CLUSTER_REDIR_MOVED. + * + * When the node is 'myself' 'error_code' is set to CLUSTER_REDIR_NONE. + * + * If the command fails NULL is returned, and the reason of the failure is + * provided via 'error_code', which will be set to: + * + * CLUSTER_REDIR_CROSS_SLOT if the request contains multiple keys that + * don't belong to the same hash slot. + * + * CLUSTER_REDIR_UNSTABLE if the request contains multiple keys + * belonging to the same slot, but the slot is not stable (in migration or + * importing state, likely because a resharding is in progress). + * + * CLUSTER_REDIR_DOWN_UNBOUND if the request addresses a slot which is + * not bound to any node. In this case the cluster global state should be + * already "down" but it is fragile to rely on the update of the global state, + * so we also handle it here. + * + * CLUSTER_REDIR_DOWN_STATE if the cluster is down but the user attempts to + * execute a command that addresses one or more keys. */ +clusterNode *getNodeByQuery(client *c, struct redisCommand *cmd, robj **argv, int argc, int *hashslot, int *error_code) { + clusterNode *n = NULL; + robj *firstkey = NULL; + int multiple_keys = 0; + multiState *ms, _ms; + multiCmd mc; + int i, slot = 0, migrating_slot = 0, importing_slot = 0, missing_keys = 0; + + /* Set error code optimistically for the base case. */ + if (error_code) *error_code = CLUSTER_REDIR_NONE; + + /* We handle all the cases as if they were EXEC commands, so we have + * a common code path for everything */ + if (cmd->proc == execCommand) { + /* If CLIENT_MULTI flag is not set EXEC is just going to return an + * error. */ + if (!(c->flags & CLIENT_MULTI)) return myself; + ms = &c->mstate; + } else { + /* In order to have a single codepath create a fake Multi State + * structure if the client is not in MULTI/EXEC state, this way + * we have a single codepath below. */ + ms = &_ms; + _ms.commands = &mc; + _ms.count = 1; + mc.argv = argv; + mc.argc = argc; + mc.cmd = cmd; + } + + /* Check that all the keys are in the same hash slot, and obtain this + * slot and the node associated. */ + for (i = 0; i < ms->count; i++) { + struct redisCommand *mcmd; + robj **margv; + int margc, *keyindex, numkeys, j; + + mcmd = ms->commands[i].cmd; + margc = ms->commands[i].argc; + margv = ms->commands[i].argv; + + keyindex = getKeysFromCommand(mcmd,margv,margc,&numkeys); + for (j = 0; j < numkeys; j++) { + robj *thiskey = margv[keyindex[j]]; + int thisslot = keyHashSlot((char*)thiskey->ptr, + sdslen(thiskey->ptr)); + + if (firstkey == NULL) { + /* This is the first key we see. Check what is the slot + * and node. */ + firstkey = thiskey; + slot = thisslot; + n = server.cluster->slots[slot]; + + /* Error: If a slot is not served, we are in "cluster down" + * state. However the state is yet to be updated, so this was + * not trapped earlier in processCommand(). Report the same + * error to the client. */ + if (n == NULL) { + getKeysFreeResult(keyindex); + if (error_code) + *error_code = CLUSTER_REDIR_DOWN_UNBOUND; + return NULL; + } + + /* If we are migrating or importing this slot, we need to check + * if we have all the keys in the request (the only way we + * can safely serve the request, otherwise we return a TRYAGAIN + * error). To do so we set the importing/migrating state and + * increment a counter for every missing key. */ + if (n == myself && + server.cluster->migrating_slots_to[slot] != NULL) + { + migrating_slot = 1; + } else if (server.cluster->importing_slots_from[slot] != NULL) { + importing_slot = 1; + } + } else { + /* If it is not the first key, make sure it is exactly + * the same key as the first we saw. */ + if (!equalStringObjects(firstkey,thiskey)) { + if (slot != thisslot) { + /* Error: multiple keys from different slots. */ + getKeysFreeResult(keyindex); + if (error_code) + *error_code = CLUSTER_REDIR_CROSS_SLOT; + return NULL; + } else { + /* Flag this request as one with multiple different + * keys. */ + multiple_keys = 1; + } + } + } + + /* Migarting / Improrting slot? Count keys we don't have. */ + if ((migrating_slot || importing_slot) && + lookupKeyRead(&server.db[0],thiskey) == NULL) + { + missing_keys++; + } + } + getKeysFreeResult(keyindex); + } + + /* No key at all in command? then we can serve the request + * without redirections or errors in all the cases. */ + if (n == NULL) return myself; + + /* Cluster is globally down but we got keys? We can't serve the request. */ + if (server.cluster->state != CLUSTER_OK) { + if (error_code) *error_code = CLUSTER_REDIR_DOWN_STATE; + return NULL; + } + + /* Return the hashslot by reference. */ + if (hashslot) *hashslot = slot; + + /* MIGRATE always works in the context of the local node if the slot + * is open (migrating or importing state). We need to be able to freely + * move keys among instances in this case. */ + if ((migrating_slot || importing_slot) && cmd->proc == migrateCommand) + return myself; + + /* If we don't have all the keys and we are migrating the slot, send + * an ASK redirection. */ + if (migrating_slot && missing_keys) { + if (error_code) *error_code = CLUSTER_REDIR_ASK; + return server.cluster->migrating_slots_to[slot]; + } + + /* If we are receiving the slot, and the client correctly flagged the + * request as "ASKING", we can serve the request. However if the request + * involves multiple keys and we don't have them all, the only option is + * to send a TRYAGAIN error. */ + if (importing_slot && + (c->flags & CLIENT_ASKING || cmd->flags & CMD_ASKING)) + { + if (multiple_keys && missing_keys) { + if (error_code) *error_code = CLUSTER_REDIR_UNSTABLE; + return NULL; + } else { + return myself; + } + } + + /* Handle the read-only client case reading from a slave: if this + * node is a slave and the request is about an hash slot our master + * is serving, we can reply without redirection. */ + if (c->flags & CLIENT_READONLY && + cmd->flags & CMD_READONLY && + nodeIsSlave(myself) && + myself->slaveof == n) + { + return myself; + } + + /* Base case: just return the right node. However if this node is not + * myself, set error_code to MOVED since we need to issue a rediretion. */ + if (n != myself && error_code) *error_code = CLUSTER_REDIR_MOVED; + return n; +} + +/* Send the client the right redirection code, according to error_code + * that should be set to one of CLUSTER_REDIR_* macros. + * + * If CLUSTER_REDIR_ASK or CLUSTER_REDIR_MOVED error codes + * are used, then the node 'n' should not be NULL, but should be the + * node we want to mention in the redirection. Moreover hashslot should + * be set to the hash slot that caused the redirection. */ +void clusterRedirectClient(client *c, clusterNode *n, int hashslot, int error_code) { + if (error_code == CLUSTER_REDIR_CROSS_SLOT) { + addReplySds(c,sdsnew("-CROSSSLOT Keys in request don't hash to the same slot\r\n")); + } else if (error_code == CLUSTER_REDIR_UNSTABLE) { + /* The request spawns mutliple keys in the same slot, + * but the slot is not "stable" currently as there is + * a migration or import in progress. */ + addReplySds(c,sdsnew("-TRYAGAIN Multiple keys request during rehashing of slot\r\n")); + } else if (error_code == CLUSTER_REDIR_DOWN_STATE) { + addReplySds(c,sdsnew("-CLUSTERDOWN The cluster is down\r\n")); + } else if (error_code == CLUSTER_REDIR_DOWN_UNBOUND) { + addReplySds(c,sdsnew("-CLUSTERDOWN Hash slot not served\r\n")); + } else if (error_code == CLUSTER_REDIR_MOVED || + error_code == CLUSTER_REDIR_ASK) + { + addReplySds(c,sdscatprintf(sdsempty(), + "-%s %d %s:%d\r\n", + (error_code == CLUSTER_REDIR_ASK) ? "ASK" : "MOVED", + hashslot,n->ip,n->port)); + } else { + serverPanic("getNodeByQuery() unknown error."); + } +} + +/* This function is called by the function processing clients incrementally + * to detect timeouts, in order to handle the following case: + * + * 1) A client blocks with BLPOP or similar blocking operation. + * 2) The master migrates the hash slot elsewhere or turns into a slave. + * 3) The client may remain blocked forever (or up to the max timeout time) + * waiting for a key change that will never happen. + * + * If the client is found to be blocked into an hash slot this node no + * longer handles, the client is sent a redirection error, and the function + * returns 1. Otherwise 0 is returned and no operation is performed. */ +int clusterRedirectBlockedClientIfNeeded(client *c) { + if (c->flags & CLIENT_BLOCKED && c->btype == BLOCKED_LIST) { + dictEntry *de; + dictIterator *di; + + /* If the cluster is down, unblock the client with the right error. */ + if (server.cluster->state == CLUSTER_FAIL) { + clusterRedirectClient(c,NULL,0,CLUSTER_REDIR_DOWN_STATE); + return 1; + } + + di = dictGetIterator(c->bpop.keys); + while((de = dictNext(di)) != NULL) { + robj *key = dictGetKey(de); + int slot = keyHashSlot((char*)key->ptr, sdslen(key->ptr)); + clusterNode *node = server.cluster->slots[slot]; + + /* We send an error and unblock the client if: + * 1) The slot is unassigned, emitting a cluster down error. + * 2) The slot is not handled by this node, nor being imported. */ + if (node != myself && + server.cluster->importing_slots_from[slot] == NULL) + { + if (node == NULL) { + clusterRedirectClient(c,NULL,0, + CLUSTER_REDIR_DOWN_UNBOUND); + } else { + clusterRedirectClient(c,node,slot, + CLUSTER_REDIR_MOVED); + } + return 1; + } + } + dictReleaseIterator(di); + } + return 0; +} diff --git a/resources/language-metavariables/tree-sitter-c/examples/malloc.c b/resources/language-metavariables/tree-sitter-c/examples/malloc.c new file mode 100644 index 000000000..d5ee4280e --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/examples/malloc.c @@ -0,0 +1,532 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include "libc.h" +#include "atomic.h" +#include "pthread_impl.h" + +#if defined(__GNUC__) && defined(__PIC__) +#define inline inline __attribute__((always_inline)) +#endif + +void *__mmap(void *, size_t, int, int, int, off_t); +int __munmap(void *, size_t); +void *__mremap(void *, size_t, size_t, int, ...); +int __madvise(void *, size_t, int); + +struct chunk { + size_t psize, csize; + struct chunk *next, *prev; +}; + +struct bin { + volatile int lock[2]; + struct chunk *head; + struct chunk *tail; +}; + +static struct { + volatile uint64_t binmap; + struct bin bins[64]; + volatile int free_lock[2]; +} mal; + + +#define SIZE_ALIGN (4*sizeof(size_t)) +#define SIZE_MASK (-SIZE_ALIGN) +#define OVERHEAD (2*sizeof(size_t)) +#define MMAP_THRESHOLD (0x1c00*SIZE_ALIGN) +#define DONTCARE 16 +#define RECLAIM 163840 + +#define CHUNK_SIZE(c) ((c)->csize & -2) +#define CHUNK_PSIZE(c) ((c)->psize & -2) +#define PREV_CHUNK(c) ((struct chunk *)((char *)(c) - CHUNK_PSIZE(c))) +#define NEXT_CHUNK(c) ((struct chunk *)((char *)(c) + CHUNK_SIZE(c))) +#define MEM_TO_CHUNK(p) (struct chunk *)((char *)(p) - OVERHEAD) +#define CHUNK_TO_MEM(c) (void *)((char *)(c) + OVERHEAD) +#define BIN_TO_CHUNK(i) (MEM_TO_CHUNK(&mal.bins[i].head)) + +#define C_INUSE ((size_t)1) + +#define IS_MMAPPED(c) !((c)->csize & (C_INUSE)) + + +/* Synchronization tools */ + +static inline void lock(volatile int *lk) +{ + if (libc.threads_minus_1) + while(a_swap(lk, 1)) __wait(lk, lk+1, 1, 1); +} + +static inline void unlock(volatile int *lk) +{ + if (lk[0]) { + a_store(lk, 0); + if (lk[1]) __wake(lk, 1, 1); + } +} + +static inline void lock_bin(int i) +{ + lock(mal.bins[i].lock); + if (!mal.bins[i].head) + mal.bins[i].head = mal.bins[i].tail = BIN_TO_CHUNK(i); +} + +static inline void unlock_bin(int i) +{ + unlock(mal.bins[i].lock); +} + +static int first_set(uint64_t x) +{ +#if 1 + return a_ctz_64(x); +#else + static const char debruijn64[64] = { + 0, 1, 2, 53, 3, 7, 54, 27, 4, 38, 41, 8, 34, 55, 48, 28, + 62, 5, 39, 46, 44, 42, 22, 9, 24, 35, 59, 56, 49, 18, 29, 11, + 63, 52, 6, 26, 37, 40, 33, 47, 61, 45, 43, 21, 23, 58, 17, 10, + 51, 25, 36, 32, 60, 20, 57, 16, 50, 31, 19, 15, 30, 14, 13, 12 + }; + static const char debruijn32[32] = { + 0, 1, 23, 2, 29, 24, 19, 3, 30, 27, 25, 11, 20, 8, 4, 13, + 31, 22, 28, 18, 26, 10, 7, 12, 21, 17, 9, 6, 16, 5, 15, 14 + }; + if (sizeof(long) < 8) { + uint32_t y = x; + if (!y) { + y = x>>32; + return 32 + debruijn32[(y&-y)*0x076be629 >> 27]; + } + return debruijn32[(y&-y)*0x076be629 >> 27]; + } + return debruijn64[(x&-x)*0x022fdd63cc95386dull >> 58]; +#endif +} + +static const unsigned char bin_tab[60] = { + 32,33,34,35,36,36,37,37,38,38,39,39, + 40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43, + 44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45, + 46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47, +}; + +static int bin_index(size_t x) +{ + x = x / SIZE_ALIGN - 1; + if (x <= 32) return x; + if (x < 512) return bin_tab[x/8-4]; + if (x > 0x1c00) return 63; + return bin_tab[x/128-4] + 16; +} + +static int bin_index_up(size_t x) +{ + x = x / SIZE_ALIGN - 1; + if (x <= 32) return x; + x--; + if (x < 512) return bin_tab[x/8-4] + 1; + return bin_tab[x/128-4] + 17; +} + +#if 0 +void __dump_heap(int x) +{ + struct chunk *c; + int i; + for (c = (void *)mal.heap; CHUNK_SIZE(c); c = NEXT_CHUNK(c)) + fprintf(stderr, "base %p size %zu (%d) flags %d/%d\n", + c, CHUNK_SIZE(c), bin_index(CHUNK_SIZE(c)), + c->csize & 15, + NEXT_CHUNK(c)->psize & 15); + for (i=0; i<64; i++) { + if (mal.bins[i].head != BIN_TO_CHUNK(i) && mal.bins[i].head) { + fprintf(stderr, "bin %d: %p\n", i, mal.bins[i].head); + if (!(mal.binmap & 1ULL<psize = 0 | C_INUSE; + } + + /* Record new heap end and fill in footer. */ + end = (char *)p + n; + w = MEM_TO_CHUNK(end); + w->psize = n | C_INUSE; + w->csize = 0 | C_INUSE; + + /* Fill in header, which may be new or may be replacing a + * zero-size sentinel header at the old end-of-heap. */ + w = MEM_TO_CHUNK(p); + w->csize = n | C_INUSE; + + unlock(heap_lock); + + return w; +} + +static int adjust_size(size_t *n) +{ + /* Result of pointer difference must fit in ptrdiff_t. */ + if (*n-1 > PTRDIFF_MAX - SIZE_ALIGN - PAGE_SIZE) { + if (*n) { + errno = ENOMEM; + return -1; + } else { + *n = SIZE_ALIGN; + return 0; + } + } + *n = (*n + OVERHEAD + SIZE_ALIGN - 1) & SIZE_MASK; + return 0; +} + +static void unbin(struct chunk *c, int i) +{ + if (c->prev == c->next) + a_and_64(&mal.binmap, ~(1ULL<prev->next = c->next; + c->next->prev = c->prev; + c->csize |= C_INUSE; + NEXT_CHUNK(c)->psize |= C_INUSE; +} + +static int alloc_fwd(struct chunk *c) +{ + int i; + size_t k; + while (!((k=c->csize) & C_INUSE)) { + i = bin_index(k); + lock_bin(i); + if (c->csize == k) { + unbin(c, i); + unlock_bin(i); + return 1; + } + unlock_bin(i); + } + return 0; +} + +static int alloc_rev(struct chunk *c) +{ + int i; + size_t k; + while (!((k=c->psize) & C_INUSE)) { + i = bin_index(k); + lock_bin(i); + if (c->psize == k) { + unbin(PREV_CHUNK(c), i); + unlock_bin(i); + return 1; + } + unlock_bin(i); + } + return 0; +} + + +/* pretrim - trims a chunk _prior_ to removing it from its bin. + * Must be called with i as the ideal bin for size n, j the bin + * for the _free_ chunk self, and bin j locked. */ +static int pretrim(struct chunk *self, size_t n, int i, int j) +{ + size_t n1; + struct chunk *next, *split; + + /* We cannot pretrim if it would require re-binning. */ + if (j < 40) return 0; + if (j < i+3) { + if (j != 63) return 0; + n1 = CHUNK_SIZE(self); + if (n1-n <= MMAP_THRESHOLD) return 0; + } else { + n1 = CHUNK_SIZE(self); + } + if (bin_index(n1-n) != j) return 0; + + next = NEXT_CHUNK(self); + split = (void *)((char *)self + n); + + split->prev = self->prev; + split->next = self->next; + split->prev->next = split; + split->next->prev = split; + split->psize = n | C_INUSE; + split->csize = n1-n; + next->psize = n1-n; + self->csize = n | C_INUSE; + return 1; +} + +static void trim(struct chunk *self, size_t n) +{ + size_t n1 = CHUNK_SIZE(self); + struct chunk *next, *split; + + if (n >= n1 - DONTCARE) return; + + next = NEXT_CHUNK(self); + split = (void *)((char *)self + n); + + split->psize = n | C_INUSE; + split->csize = n1-n | C_INUSE; + next->psize = n1-n | C_INUSE; + self->csize = n | C_INUSE; + + free(CHUNK_TO_MEM(split)); +} + +void *malloc(size_t n) +{ + struct chunk *c; + int i, j; + + if (adjust_size(&n) < 0) return 0; + + if (n > MMAP_THRESHOLD) { + size_t len = n + OVERHEAD + PAGE_SIZE - 1 & -PAGE_SIZE; + char *base = __mmap(0, len, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (base == (void *)-1) return 0; + c = (void *)(base + SIZE_ALIGN - OVERHEAD); + c->csize = len - (SIZE_ALIGN - OVERHEAD); + c->psize = SIZE_ALIGN - OVERHEAD; + return CHUNK_TO_MEM(c); + } + + i = bin_index_up(n); + for (;;) { + uint64_t mask = mal.binmap & -(1ULL<psize = c->csize = + x->csize + CHUNK_SIZE(c); + } + break; + } + j = first_set(mask); + lock_bin(j); + c = mal.bins[j].head; + if (c != BIN_TO_CHUNK(j)) { + if (!pretrim(c, n, i, j)) unbin(c, j); + unlock_bin(j); + break; + } + unlock_bin(j); + } + + /* Now patch up in case we over-allocated */ + trim(c, n); + + return CHUNK_TO_MEM(c); +} + +void *__malloc0(size_t n) +{ + void *p = malloc(n); + if (p && !IS_MMAPPED(MEM_TO_CHUNK(p))) { + size_t *z; + n = (n + sizeof *z - 1)/sizeof *z; + for (z=p; n; n--, z++) if (*z) *z=0; + } + return p; +} + +void *realloc(void *p, size_t n) +{ + struct chunk *self, *next; + size_t n0, n1; + void *new; + + if (!p) return malloc(n); + + if (adjust_size(&n) < 0) return 0; + + self = MEM_TO_CHUNK(p); + n1 = n0 = CHUNK_SIZE(self); + + if (IS_MMAPPED(self)) { + size_t extra = self->psize; + char *base = (char *)self - extra; + size_t oldlen = n0 + extra; + size_t newlen = n + extra; + /* Crash on realloc of freed chunk */ + if (extra & 1) a_crash(); + if (newlen < PAGE_SIZE && (new = malloc(n))) { + memcpy(new, p, n-OVERHEAD); + free(p); + return new; + } + newlen = (newlen + PAGE_SIZE-1) & -PAGE_SIZE; + if (oldlen == newlen) return p; + base = __mremap(base, oldlen, newlen, MREMAP_MAYMOVE); + if (base == (void *)-1) + goto copy_realloc; + self = (void *)(base + extra); + self->csize = newlen - extra; + return CHUNK_TO_MEM(self); + } + + next = NEXT_CHUNK(self); + + /* Crash on corrupted footer (likely from buffer overflow) */ + if (next->psize != self->csize) a_crash(); + + /* Merge adjacent chunks if we need more space. This is not + * a waste of time even if we fail to get enough space, because our + * subsequent call to free would otherwise have to do the merge. */ + if (n > n1 && alloc_fwd(next)) { + n1 += CHUNK_SIZE(next); + next = NEXT_CHUNK(next); + } + /* FIXME: find what's wrong here and reenable it..? */ + if (0 && n > n1 && alloc_rev(self)) { + self = PREV_CHUNK(self); + n1 += CHUNK_SIZE(self); + } + self->csize = n1 | C_INUSE; + next->psize = n1 | C_INUSE; + + /* If we got enough space, split off the excess and return */ + if (n <= n1) { + //memmove(CHUNK_TO_MEM(self), p, n0-OVERHEAD); + trim(self, n); + return CHUNK_TO_MEM(self); + } + +copy_realloc: + /* As a last resort, allocate a new chunk and copy to it. */ + new = malloc(n-OVERHEAD); + if (!new) return 0; + memcpy(new, p, n0-OVERHEAD); + free(CHUNK_TO_MEM(self)); + return new; +} + +void free(void *p) +{ + struct chunk *self = MEM_TO_CHUNK(p); + struct chunk *next; + size_t final_size, new_size, size; + int reclaim=0; + int i; + + if (!p) return; + + if (IS_MMAPPED(self)) { + size_t extra = self->psize; + char *base = (char *)self - extra; + size_t len = CHUNK_SIZE(self) + extra; + /* Crash on double free */ + if (extra & 1) a_crash(); + __munmap(base, len); + return; + } + + final_size = new_size = CHUNK_SIZE(self); + next = NEXT_CHUNK(self); + + /* Crash on corrupted footer (likely from buffer overflow) */ + if (next->psize != self->csize) a_crash(); + + for (;;) { + if (self->psize & next->csize & C_INUSE) { + self->csize = final_size | C_INUSE; + next->psize = final_size | C_INUSE; + i = bin_index(final_size); + lock_bin(i); + lock(mal.free_lock); + if (self->psize & next->csize & C_INUSE) + break; + unlock(mal.free_lock); + unlock_bin(i); + } + + if (alloc_rev(self)) { + self = PREV_CHUNK(self); + size = CHUNK_SIZE(self); + final_size += size; + if (new_size+size > RECLAIM && (new_size+size^size) > size) + reclaim = 1; + } + + if (alloc_fwd(next)) { + size = CHUNK_SIZE(next); + final_size += size; + if (new_size+size > RECLAIM && (new_size+size^size) > size) + reclaim = 1; + next = NEXT_CHUNK(next); + } + } + + if (!(mal.binmap & 1ULL<csize = final_size; + next->psize = final_size; + unlock(mal.free_lock); + + self->next = BIN_TO_CHUNK(i); + self->prev = mal.bins[i].tail; + self->next->prev = self; + self->prev->next = self; + + /* Replace middle of large chunks with fresh zero pages */ + if (reclaim) { + uintptr_t a = (uintptr_t)self + SIZE_ALIGN+PAGE_SIZE-1 & -PAGE_SIZE; + uintptr_t b = (uintptr_t)next - SIZE_ALIGN & -PAGE_SIZE; +#if 1 + __madvise((void *)a, b-a, MADV_DONTNEED); +#else + __mmap((void *)a, b-a, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0); +#endif + } + + unlock_bin(i); +} diff --git a/resources/language-metavariables/tree-sitter-c/examples/parser.c b/resources/language-metavariables/tree-sitter-c/examples/parser.c new file mode 100644 index 000000000..2bb86381b --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/examples/parser.c @@ -0,0 +1,1283 @@ +#include "runtime/parser.h" +#include +#include +#include +#include +#include "tree_sitter/runtime.h" +#include "runtime/tree.h" +#include "runtime/lexer.h" +#include "runtime/length.h" +#include "runtime/array.h" +#include "runtime/language.h" +#include "runtime/alloc.h" +#include "runtime/reduce_action.h" +#include "runtime/error_costs.h" + +#define LOG(...) \ + if (self->lexer.logger.log) { \ + snprintf(self->lexer.debug_buffer, TS_DEBUG_BUFFER_SIZE, __VA_ARGS__); \ + self->lexer.logger.log(self->lexer.logger.payload, TSLogTypeParse, \ + self->lexer.debug_buffer); \ + } \ + if (self->print_debugging_graphs) { \ + fprintf(stderr, "graph {\nlabel=\""); \ + fprintf(stderr, __VA_ARGS__); \ + fprintf(stderr, "\"\n}\n\n"); \ + } + +#define LOG_STACK() \ + if (self->print_debugging_graphs) { \ + ts_stack_print_dot_graph(self->stack, self->language->symbol_names, \ + stderr); \ + fputs("\n\n", stderr); \ + } + +#define LOG_TREE() \ + if (self->print_debugging_graphs) { \ + ts_tree_print_dot_graph(self->finished_tree, self->language, stderr); \ + fputs("\n", stderr); \ + } + +#define SYM_NAME(symbol) ts_language_symbol_name(self->language, symbol) + +typedef struct { + Parser *parser; + TSSymbol lookahead_symbol; + TreeArray *trees_above_error; + uint32_t tree_count_above_error; + bool found_repair; + ReduceAction best_repair; + TSStateId best_repair_next_state; + uint32_t best_repair_skip_count; +} ErrorRepairSession; + +typedef struct { + Parser *parser; + TSSymbol lookahead_symbol; +} SkipPrecedingTreesSession; + +static void parser__push(Parser *self, StackVersion version, Tree *tree, + TSStateId state) { + ts_stack_push(self->stack, version, tree, false, state); + ts_tree_release(tree); +} + +static bool parser__breakdown_top_of_stack(Parser *self, StackVersion version) { + bool did_break_down = false; + bool pending = false; + + do { + StackPopResult pop = ts_stack_pop_pending(self->stack, version); + if (!pop.slices.size) + break; + + did_break_down = true; + pending = false; + for (uint32_t i = 0; i < pop.slices.size; i++) { + StackSlice slice = pop.slices.contents[i]; + TSStateId state = ts_stack_top_state(self->stack, slice.version); + Tree *parent = *array_front(&slice.trees); + + for (uint32_t j = 0; j < parent->child_count; j++) { + Tree *child = parent->children[j]; + pending = child->child_count > 0; + + if (child->symbol == ts_builtin_sym_error) { + state = ERROR_STATE; + } else if (!child->extra) { + state = ts_language_next_state(self->language, state, child->symbol); + } + + ts_stack_push(self->stack, slice.version, child, pending, state); + } + + for (uint32_t j = 1; j < slice.trees.size; j++) { + Tree *tree = slice.trees.contents[j]; + parser__push(self, slice.version, tree, state); + } + + LOG("breakdown_top_of_stack tree:%s", SYM_NAME(parent->symbol)); + LOG_STACK(); + + ts_stack_decrease_push_count(self->stack, slice.version, + parent->child_count + 1); + ts_tree_release(parent); + array_delete(&slice.trees); + } + } while (pending); + + return did_break_down; +} + +static bool parser__breakdown_lookahead(Parser *self, Tree **lookahead, + TSStateId state, + ReusableNode *reusable_node) { + bool result = false; + while (reusable_node->tree->child_count > 0 && + (self->is_split || reusable_node->tree->parse_state != state || + reusable_node->tree->fragile_left || + reusable_node->tree->fragile_right)) { + LOG("state_mismatch sym:%s", SYM_NAME(reusable_node->tree->symbol)); + reusable_node_breakdown(reusable_node); + result = true; + } + + if (result) { + ts_tree_release(*lookahead); + ts_tree_retain(*lookahead = reusable_node->tree); + } + + return result; +} + +static inline bool ts_lex_mode_eq(TSLexMode self, TSLexMode other) { + return self.lex_state == other.lex_state && + self.external_lex_state == other.external_lex_state; +} + +static bool parser__can_reuse(Parser *self, TSStateId state, Tree *tree, + TableEntry *table_entry) { + TSLexMode current_lex_mode = self->language->lex_modes[state]; + if (ts_lex_mode_eq(tree->first_leaf.lex_mode, current_lex_mode)) + return true; + if (current_lex_mode.external_lex_state != 0) + return false; + if (tree->size.bytes == 0) + return false; + if (!table_entry->is_reusable) + return false; + if (!table_entry->depends_on_lookahead) + return true; + return tree->child_count > 1 && tree->error_cost == 0; +} + +typedef int CondenseResult; +static int CondenseResultMadeChange = 1; +static int CondenseResultAllVersionsHadError = 2; + +static CondenseResult parser__condense_stack(Parser *self) { + CondenseResult result = 0; + bool has_version_without_errors = false; + + for (StackVersion i = 0; i < ts_stack_version_count(self->stack); i++) { + if (ts_stack_is_halted(self->stack, i)) { + ts_stack_remove_version(self->stack, i); + result |= CondenseResultMadeChange; + i--; + continue; + } + + ErrorStatus error_status = ts_stack_error_status(self->stack, i); + if (error_status.count == 0) has_version_without_errors = true; + + for (StackVersion j = 0; j < i; j++) { + if (ts_stack_merge(self->stack, j, i)) { + result |= CondenseResultMadeChange; + i--; + break; + } + + switch (error_status_compare(error_status, + ts_stack_error_status(self->stack, j))) { + case -1: + ts_stack_remove_version(self->stack, j); + result |= CondenseResultMadeChange; + i--; + j--; + break; + case 1: + ts_stack_remove_version(self->stack, i); + result |= CondenseResultMadeChange; + i--; + break; + } + } + } + + if (!has_version_without_errors && ts_stack_version_count(self->stack) > 0) { + result |= CondenseResultAllVersionsHadError; + } + + return result; +} + +static void parser__restore_external_scanner(Parser *self, StackVersion version) { + const TSExternalTokenState *state = ts_stack_external_token_state(self->stack, version); + if (self->lexer.last_external_token_state != state) { + LOG("restore_external_scanner"); + self->lexer.last_external_token_state = state; + if (state) { + self->language->external_scanner.deserialize( + self->external_scanner_payload, + *state + ); + } else { + self->language->external_scanner.reset(self->external_scanner_payload); + } + } +} + +static Tree *parser__lex(Parser *self, StackVersion version) { + TSStateId parse_state = ts_stack_top_state(self->stack, version); + Length start_position = ts_stack_top_position(self->stack, version); + TSLexMode lex_mode = self->language->lex_modes[parse_state]; + const bool *valid_external_tokens = ts_language_enabled_external_tokens( + self->language, + lex_mode.external_lex_state + ); + + bool found_external_token = false; + bool found_error = false; + bool skipped_error = false; + int32_t first_error_character = 0; + Length error_start_position, error_end_position; + ts_lexer_reset(&self->lexer, start_position); + + for (;;) { + Length current_position = self->lexer.current_position; + + if (valid_external_tokens) { + LOG("lex_external state:%d, row:%u, column:%u", lex_mode.external_lex_state, + current_position.extent.row, current_position.extent.column); + parser__restore_external_scanner(self, version); + ts_lexer_start(&self->lexer); + if (self->language->external_scanner.scan(self->external_scanner_payload, + &self->lexer.data, valid_external_tokens)) { + if (length_has_unknown_chars(self->lexer.token_end_position)) { + self->lexer.token_end_position = self->lexer.current_position; + } + if (lex_mode.lex_state != 0 || + self->lexer.token_end_position.bytes > current_position.bytes) { + found_external_token = true; + break; + } + } + ts_lexer_reset(&self->lexer, current_position); + } + + LOG("lex_internal state:%d, row:%u, column:%u", lex_mode.lex_state, + current_position.extent.row, current_position.extent.column); + ts_lexer_start(&self->lexer); + if (self->language->lex_fn(&self->lexer.data, lex_mode.lex_state)) { + if (length_has_unknown_chars(self->lexer.token_end_position)) { + self->lexer.token_end_position = self->lexer.current_position; + } + break; + } + + if (!found_error) { + LOG("retry_in_error_mode"); + found_error = true; + lex_mode = self->language->lex_modes[ERROR_STATE]; + valid_external_tokens = ts_language_enabled_external_tokens( + self->language, + lex_mode.external_lex_state + ); + ts_lexer_reset(&self->lexer, start_position); + continue; + } + + if (!skipped_error) { + LOG("skip_unrecognized_character"); + skipped_error = true; + error_start_position = self->lexer.token_start_position; + error_end_position = self->lexer.token_start_position; + first_error_character = self->lexer.data.lookahead; + } + + if (self->lexer.current_position.bytes == error_end_position.bytes) { + if (self->lexer.data.lookahead == 0) { + self->lexer.data.result_symbol = ts_builtin_sym_error; + break; + } + self->lexer.data.advance(&self->lexer, false); + } + + error_end_position = self->lexer.current_position; + } + + Tree *result; + if (skipped_error) { + Length padding = length_sub(error_start_position, start_position); + Length size = length_sub(error_end_position, error_start_position); + result = ts_tree_make_error(size, padding, first_error_character); + } else { + TSSymbol symbol = self->lexer.data.result_symbol; + if (found_external_token) { + symbol = self->language->external_scanner.symbol_map[symbol]; + } + + Length padding = length_sub(self->lexer.token_start_position, start_position); + Length size = length_sub(self->lexer.token_end_position, self->lexer.token_start_position); + TSSymbolMetadata metadata = ts_language_symbol_metadata(self->language, symbol); + result = ts_tree_make_leaf(symbol, padding, size, metadata); + + if (found_external_token) { + result->has_external_tokens = true; + result->has_external_token_state = true; + memset(result->external_token_state, 0, sizeof(TSExternalTokenState)); + self->language->external_scanner.serialize(self->external_scanner_payload, result->external_token_state); + self->lexer.last_external_token_state = &result->external_token_state; + } + } + + result->bytes_scanned = self->lexer.current_position.bytes - start_position.bytes + 1; + result->parse_state = parse_state; + result->first_leaf.lex_mode = lex_mode; + + LOG("lexed_lookahead sym:%s, size:%u", SYM_NAME(result->symbol), result->size.bytes); + return result; +} + +static void parser__clear_cached_token(Parser *self) { + ts_tree_release(self->cached_token); + self->cached_token = NULL; +} + +static Tree *parser__get_lookahead(Parser *self, StackVersion version, + ReusableNode *reusable_node, + bool *is_fresh) { + Length position = ts_stack_top_position(self->stack, version); + + while (reusable_node->tree) { + if (reusable_node->byte_index > position.bytes) { + LOG("before_reusable_node sym:%s", SYM_NAME(reusable_node->tree->symbol)); + break; + } + + if (reusable_node->byte_index < position.bytes) { + LOG("past_reusable sym:%s", SYM_NAME(reusable_node->tree->symbol)); + reusable_node_pop(reusable_node); + continue; + } + + if (reusable_node->tree->has_changes) { + LOG("cant_reuse_changed tree:%s, size:%u", + SYM_NAME(reusable_node->tree->symbol), + reusable_node->tree->size.bytes); + if (!reusable_node_breakdown(reusable_node)) { + reusable_node_pop(reusable_node); + parser__breakdown_top_of_stack(self, version); + } + continue; + } + + if (reusable_node->tree->symbol == ts_builtin_sym_error) { + LOG("cant_reuse_error tree:%s, size:%u", + SYM_NAME(reusable_node->tree->symbol), + reusable_node->tree->size.bytes); + if (!reusable_node_breakdown(reusable_node)) { + reusable_node_pop(reusable_node); + parser__breakdown_top_of_stack(self, version); + } + continue; + } + + if (!ts_external_token_state_eq( + reusable_node->preceding_external_token_state, + ts_stack_external_token_state(self->stack, version))) { + LOG("cant_reuse_external_tokens tree:%s, size:%u", + SYM_NAME(reusable_node->tree->symbol), + reusable_node->tree->size.bytes); + if (!reusable_node_breakdown(reusable_node)) { + reusable_node_pop(reusable_node); + parser__breakdown_top_of_stack(self, version); + } + continue; + } + + Tree *result = reusable_node->tree; + ts_tree_retain(result); + return result; + } + + if (self->cached_token && position.bytes == self->cached_token_byte_index) { + ts_tree_retain(self->cached_token); + return self->cached_token; + } + + *is_fresh = true; + return parser__lex(self, version); +} + +static bool parser__select_tree(Parser *self, Tree *left, Tree *right) { + if (!left) + return true; + if (!right) + return false; + if (right->error_cost < left->error_cost) { + LOG("select_smaller_error symbol:%s, over_symbol:%s", + SYM_NAME(right->symbol), SYM_NAME(left->symbol)); + return true; + } + if (left->error_cost < right->error_cost) { + LOG("select_smaller_error symbol:%s, over_symbol:%s", + SYM_NAME(left->symbol), SYM_NAME(right->symbol)); + return false; + } + + int comparison = ts_tree_compare(left, right); + switch (comparison) { + case -1: + LOG("select_earlier symbol:%s, over_symbol:%s", SYM_NAME(left->symbol), + SYM_NAME(right->symbol)); + return false; + break; + case 1: + LOG("select_earlier symbol:%s, over_symbol:%s", SYM_NAME(right->symbol), + SYM_NAME(left->symbol)); + return true; + default: + LOG("select_existing symbol:%s, over_symbol:%s", SYM_NAME(left->symbol), + SYM_NAME(right->symbol)); + return false; + } +} + +static bool parser__better_version_exists(Parser *self, StackVersion version, + ErrorStatus my_error_status) { + if (self->finished_tree && + self->finished_tree->error_cost <= my_error_status.cost) + return true; + + for (StackVersion i = 0, n = ts_stack_version_count(self->stack); i < n; i++) { + if (i == version || ts_stack_is_halted(self->stack, i)) + continue; + + switch (error_status_compare(my_error_status, + ts_stack_error_status(self->stack, i))) { + case -1: + LOG("halt_other version:%u", i); + ts_stack_halt(self->stack, i); + break; + case 1: + return true; + } + } + + return false; +} + +static void parser__shift(Parser *self, StackVersion version, TSStateId state, + Tree *lookahead, bool extra) { + if (extra != lookahead->extra) { + TSSymbolMetadata metadata = + ts_language_symbol_metadata(self->language, lookahead->symbol); + if (metadata.structural && ts_stack_version_count(self->stack) > 1) { + lookahead = ts_tree_make_copy(lookahead); + } else { + ts_tree_retain(lookahead); + } + lookahead->extra = extra; + } else { + ts_tree_retain(lookahead); + } + + bool is_pending = lookahead->child_count > 0; + ts_stack_push(self->stack, version, lookahead, is_pending, state); + if (lookahead->has_external_token_state) { + ts_stack_set_external_token_state( + self->stack, version, ts_tree_last_external_token_state(lookahead)); + } + ts_tree_release(lookahead); +} + +static bool parser__switch_children(Parser *self, Tree *tree, + Tree **children, uint32_t count) { + self->scratch_tree.symbol = tree->symbol; + self->scratch_tree.child_count = 0; + ts_tree_set_children(&self->scratch_tree, count, children); + if (parser__select_tree(self, tree, &self->scratch_tree)) { + tree->size = self->scratch_tree.size; + tree->padding = self->scratch_tree.padding; + tree->error_cost = self->scratch_tree.error_cost; + tree->children = self->scratch_tree.children; + tree->child_count = self->scratch_tree.child_count; + tree->named_child_count = self->scratch_tree.named_child_count; + tree->visible_child_count = self->scratch_tree.visible_child_count; + return true; + } else { + return false; + } +} + +static StackPopResult parser__reduce(Parser *self, StackVersion version, + TSSymbol symbol, unsigned count, + bool fragile, bool allow_skipping) { + uint32_t initial_version_count = ts_stack_version_count(self->stack); + + StackPopResult pop = ts_stack_pop_count(self->stack, version, count); + if (pop.stopped_at_error) + return pop; + + const TSLanguage *language = self->language; + TSSymbolMetadata metadata = ts_language_symbol_metadata(language, symbol); + + for (uint32_t i = 0; i < pop.slices.size; i++) { + StackSlice slice = pop.slices.contents[i]; + + // Extra tokens on top of the stack should not be included in this new parent + // node. They will be re-pushed onto the stack after the parent node is + // created and pushed. + uint32_t child_count = slice.trees.size; + while (child_count > 0 && slice.trees.contents[child_count - 1]->extra) + child_count--; + + Tree *parent = ts_tree_make_node(symbol, child_count, slice.trees.contents, metadata); + + // This pop operation may have caused multiple stack versions to collapse + // into one, because they all diverged from a common state. In that case, + // choose one of the arrays of trees to be the parent node's children, and + // delete the rest of the tree arrays. + while (i + 1 < pop.slices.size) { + StackSlice next_slice = pop.slices.contents[i + 1]; + if (next_slice.version != slice.version) + break; + i++; + + uint32_t child_count = next_slice.trees.size; + while (child_count > 0 && next_slice.trees.contents[child_count - 1]->extra) + child_count--; + + if (parser__switch_children(self, parent, next_slice.trees.contents, child_count)) { + ts_tree_array_delete(&slice.trees); + slice = next_slice; + } else { + ts_tree_array_delete(&next_slice.trees); + } + } + + TSStateId state = ts_stack_top_state(self->stack, slice.version); + TSStateId next_state = ts_language_next_state(language, state, symbol); + if (fragile || self->is_split || pop.slices.size > 1 || initial_version_count > 1) { + parent->fragile_left = true; + parent->fragile_right = true; + parent->parse_state = TS_TREE_STATE_NONE; + } else { + parent->parse_state = state; + } + + // If this pop operation terminated at the end of an error region, then + // create two stack versions: one in which the parent node is interpreted + // normally, and one in which the parent node is skipped. + if (state == ERROR_STATE && allow_skipping && child_count > 1) { + StackVersion other_version = ts_stack_copy_version(self->stack, slice.version); + + ts_stack_push(self->stack, other_version, parent, false, ERROR_STATE); + for (uint32_t j = parent->child_count; j < slice.trees.size; j++) { + Tree *tree = slice.trees.contents[j]; + ts_stack_push(self->stack, other_version, tree, false, ERROR_STATE); + } + + ErrorStatus error_status = ts_stack_error_status(self->stack, other_version); + if (parser__better_version_exists(self, version, error_status)) + ts_stack_remove_version(self->stack, other_version); + } + + // Push the parent node onto the stack, along with any extra tokens that + // were previously on top of the stack. + parser__push(self, slice.version, parent, next_state); + for (uint32_t j = parent->child_count; j < slice.trees.size; j++) { + Tree *tree = slice.trees.contents[j]; + parser__push(self, slice.version, tree, next_state); + } + } + + for (StackVersion i = initial_version_count; i < ts_stack_version_count(self->stack); i++) { + for (StackVersion j = initial_version_count; j < i; j++) { + if (ts_stack_merge(self->stack, j, i)) { + i--; + break; + } + } + } + + return pop; +} + +static inline const TSParseAction *parser__reductions_after_sequence( + Parser *self, TSStateId start_state, const TreeArray *trees_below, + uint32_t tree_count_below, const TreeArray *trees_above, + TSSymbol lookahead_symbol, uint32_t *count) { + TSStateId state = start_state; + uint32_t child_count = 0; + *count = 0; + + for (uint32_t i = 0; i < trees_below->size; i++) { + if (child_count == tree_count_below) + break; + Tree *tree = trees_below->contents[trees_below->size - 1 - i]; + if (tree->extra) continue; + TSStateId next_state = ts_language_next_state(self->language, state, tree->symbol); + if (next_state == ERROR_STATE) + return NULL; + if (next_state != state) { + child_count++; + state = next_state; + } + } + + for (uint32_t i = 0; i < trees_above->size; i++) { + Tree *tree = trees_above->contents[i]; + if (tree->extra) continue; + TSStateId next_state = ts_language_next_state(self->language, state, tree->symbol); + if (next_state == ERROR_STATE) + return NULL; + if (next_state != state) { + child_count++; + state = next_state; + } + } + + const TSParseAction *actions = + ts_language_actions(self->language, state, lookahead_symbol, count); + + if (*count > 0 && actions[*count - 1].type != TSParseActionTypeReduce) { + (*count)--; + } + + while (*count > 0 && actions[0].params.child_count < child_count) { + actions++; + (*count)--; + } + + while (*count > 0 && actions[*count - 1].params.child_count > child_count) { + (*count)--; + } + + return actions; +} + +static StackIterateAction parser__repair_error_callback( + void *payload, TSStateId state, TreeArray *trees, uint32_t tree_count, + bool is_done, bool is_pending) { + + ErrorRepairSession *session = (ErrorRepairSession *)payload; + Parser *self = session->parser; + TSSymbol lookahead_symbol = session->lookahead_symbol; + ReduceActionSet *repairs = &self->reduce_actions; + TreeArray *trees_above_error = session->trees_above_error; + uint32_t tree_count_above_error = session->tree_count_above_error; + + StackIterateAction result = StackIterateNone; + + uint32_t last_repair_count = -1; + uint32_t repair_reduction_count = -1; + const TSParseAction *repair_reductions = NULL; + + for (uint32_t i = 0; i < repairs->size; i++) { + ReduceAction *repair = &repairs->contents[i]; + uint32_t count_needed_below_error = repair->count - tree_count_above_error; + if (count_needed_below_error > tree_count) + break; + + uint32_t skip_count = tree_count - count_needed_below_error; + if (session->found_repair && skip_count >= session->best_repair_skip_count) { + array_erase(repairs, i--); + continue; + } + + TSStateId state_after_repair = ts_language_next_state(self->language, state, repair->symbol); + if (state == ERROR_STATE || state_after_repair == ERROR_STATE) + continue; + + uint32_t action_count; + ts_language_actions(self->language, state_after_repair, lookahead_symbol, &action_count); + if (action_count == 0) + continue; + + if (count_needed_below_error != last_repair_count) { + last_repair_count = count_needed_below_error; + repair_reductions = parser__reductions_after_sequence( + self, state, trees, count_needed_below_error, trees_above_error, + lookahead_symbol, &repair_reduction_count); + } + + for (uint32_t j = 0; j < repair_reduction_count; j++) { + if (repair_reductions[j].params.symbol == repair->symbol) { + result |= StackIteratePop; + session->found_repair = true; + session->best_repair = *repair; + session->best_repair_skip_count = skip_count; + session->best_repair_next_state = state_after_repair; + array_erase(repairs, i--); + break; + } + } + } + + if (repairs->size == 0) + result |= StackIterateStop; + + return result; +} + +static bool parser__repair_error(Parser *self, StackSlice slice, + TSSymbol lookahead_symbol, TableEntry entry) { + LOG("repair_error"); + ErrorRepairSession session = { + .parser = self, + .lookahead_symbol = lookahead_symbol, + .found_repair = false, + .trees_above_error = &slice.trees, + .tree_count_above_error = ts_tree_array_essential_count(&slice.trees), + }; + + array_clear(&self->reduce_actions); + for (uint32_t i = 0; i < entry.action_count; i++) { + if (entry.actions[i].type == TSParseActionTypeReduce) { + TSSymbol symbol = entry.actions[i].params.symbol; + uint32_t child_count = entry.actions[i].params.child_count; + if ((child_count > session.tree_count_above_error) || + (child_count == session.tree_count_above_error && + !ts_language_symbol_metadata(self->language, symbol).visible)) + array_push(&self->reduce_actions, ((ReduceAction){ + .symbol = symbol, + .count = child_count + })); + } + } + + StackPopResult pop = ts_stack_iterate( + self->stack, slice.version, parser__repair_error_callback, &session); + + if (!session.found_repair) { + LOG("no_repair_found"); + ts_stack_remove_version(self->stack, slice.version); + ts_tree_array_delete(&slice.trees); + return false; + } + + ReduceAction repair = session.best_repair; + TSStateId next_state = session.best_repair_next_state; + uint32_t skip_count = session.best_repair_skip_count; + TSSymbol symbol = repair.symbol; + + StackSlice new_slice = array_pop(&pop.slices); + TreeArray children = new_slice.trees; + ts_stack_renumber_version(self->stack, new_slice.version, slice.version); + + for (uint32_t i = pop.slices.size - 1; i + 1 > 0; i--) { + StackSlice other_slice = pop.slices.contents[i]; + ts_tree_array_delete(&other_slice.trees); + if (other_slice.version != pop.slices.contents[i + 1].version) + ts_stack_remove_version(self->stack, other_slice.version); + } + + TreeArray skipped_children = ts_tree_array_remove_last_n(&children, skip_count); + TreeArray trailing_extras = ts_tree_array_remove_trailing_extras(&skipped_children); + Tree *error = ts_tree_make_error_node(&skipped_children); + array_push(&children, error); + array_push_all(&children, &trailing_extras); + trailing_extras.size = 0; + array_delete(&trailing_extras); + + for (uint32_t i = 0; i < slice.trees.size; i++) + array_push(&children, slice.trees.contents[i]); + array_delete(&slice.trees); + + Tree *parent = + ts_tree_make_node(symbol, children.size, children.contents, + ts_language_symbol_metadata(self->language, symbol)); + parser__push(self, slice.version, parent, next_state); + ts_stack_decrease_push_count(self->stack, slice.version, error->child_count); + + ErrorStatus error_status = ts_stack_error_status(self->stack, slice.version); + if (parser__better_version_exists(self, slice.version, error_status)) { + LOG("no_better_repair_found"); + ts_stack_halt(self->stack, slice.version); + return false; + } else { + LOG("repair_found sym:%s, child_count:%u, cost:%u", SYM_NAME(symbol), + repair.count, parent->error_cost); + return true; + } +} + +static void parser__start(Parser *self, TSInput input, Tree *previous_tree) { + if (previous_tree) { + LOG("parse_after_edit"); + } else { + LOG("new_parse"); + } + + if (self->language->external_scanner.reset) { + self->language->external_scanner.reset(self->external_scanner_payload); + } + + ts_lexer_set_input(&self->lexer, input); + ts_stack_clear(self->stack); + self->reusable_node = reusable_node_new(previous_tree); + self->cached_token = NULL; + self->finished_tree = NULL; +} + +static void parser__accept(Parser *self, StackVersion version, + Tree *lookahead) { + lookahead->extra = true; + assert(lookahead->symbol == ts_builtin_sym_end); + ts_stack_push(self->stack, version, lookahead, false, 1); + StackPopResult pop = ts_stack_pop_all(self->stack, version); + + for (uint32_t i = 0; i < pop.slices.size; i++) { + StackSlice slice = pop.slices.contents[i]; + TreeArray trees = slice.trees; + + Tree *root = NULL; + if (trees.size == 1) { + root = trees.contents[0]; + array_delete(&trees); + } else { + for (uint32_t j = trees.size - 1; j + 1 > 0; j--) { + Tree *child = trees.contents[j]; + if (!child->extra) { + root = ts_tree_make_copy(child); + root->child_count = 0; + for (uint32_t k = 0; k < child->child_count; k++) + ts_tree_retain(child->children[k]); + array_splice(&trees, j, 1, child->child_count, child->children); + ts_tree_set_children(root, trees.size, trees.contents); + ts_tree_release(child); + break; + } + } + } + + if (parser__select_tree(self, self->finished_tree, root)) { + ts_tree_release(self->finished_tree); + assert(root->ref_count > 0); + self->finished_tree = root; + } else { + ts_tree_release(root); + } + } + + ts_stack_remove_version(self->stack, pop.slices.contents[0].version); + ts_stack_halt(self->stack, version); +} + +static bool parser__do_potential_reductions(Parser *self, StackVersion version) { + bool has_shift_action = false; + TSStateId state = ts_stack_top_state(self->stack, version); + uint32_t previous_version_count = ts_stack_version_count(self->stack); + + array_clear(&self->reduce_actions); + for (TSSymbol symbol = 0; symbol < self->language->token_count; symbol++) { + TableEntry entry; + ts_language_table_entry(self->language, state, symbol, &entry); + for (uint32_t i = 0; i < entry.action_count; i++) { + TSParseAction action = entry.actions[i]; + if (action.extra) + continue; + switch (action.type) { + case TSParseActionTypeShift: + case TSParseActionTypeRecover: + has_shift_action = true; + break; + case TSParseActionTypeReduce: + if (action.params.child_count > 0) + ts_reduce_action_set_add(&self->reduce_actions, (ReduceAction){ + .symbol = action.params.symbol, + .count = action.params.child_count, + }); + default: + break; + } + } + } + + bool did_reduce = false; + for (uint32_t i = 0; i < self->reduce_actions.size; i++) { + ReduceAction action = self->reduce_actions.contents[i]; + StackPopResult reduction = + parser__reduce(self, version, action.symbol, action.count, true, false); + if (reduction.stopped_at_error) { + ts_tree_array_delete(&reduction.slices.contents[0].trees); + ts_stack_remove_version(self->stack, reduction.slices.contents[0].version); + continue; + } else { + did_reduce = true; + } + } + + if (did_reduce) { + if (has_shift_action) { + return true; + } else { + ts_stack_renumber_version(self->stack, previous_version_count, version); + return false; + } + } else { + return true; + } +} + +static StackIterateAction parser__skip_preceding_trees_callback( + void *payload, TSStateId state, TreeArray *trees, uint32_t tree_count, + bool is_done, bool is_pending) { + if (tree_count > 0 && state != ERROR_STATE) { + uint32_t bytes_skipped = 0; + for (uint32_t i = 0; i < trees->size; i++) { + bytes_skipped += ts_tree_total_bytes(trees->contents[i]); + } + if (bytes_skipped == 0) return StackIterateNone; + SkipPrecedingTreesSession *session = payload; + Parser *self = session->parser; + TSSymbol lookahead_symbol = session->lookahead_symbol; + uint32_t action_count; + const TSParseAction *actions = + ts_language_actions(self->language, state, lookahead_symbol, &action_count); + if (action_count > 0 && actions[0].type == TSParseActionTypeReduce) { + return StackIteratePop | StackIterateStop; + } + } + return StackIterateNone; +} + +static bool parser__skip_preceding_trees(Parser *self, StackVersion version, + TSSymbol lookahead_symbol) { + SkipPrecedingTreesSession session = { self, lookahead_symbol }; + StackPopResult pop = ts_stack_iterate( + self->stack, version, parser__skip_preceding_trees_callback, &session); + + StackVersion previous_version = STACK_VERSION_NONE; + for (uint32_t i = 0; i < pop.slices.size; i++) { + StackSlice slice = pop.slices.contents[i]; + if (slice.version == previous_version) { + ts_tree_array_delete(&slice.trees); + continue; + } + + previous_version = slice.version; + Tree *error = ts_tree_make_error_node(&slice.trees); + error->extra = true; + TSStateId state = ts_stack_top_state(self->stack, slice.version); + parser__push(self, slice.version, error, state); + } + + return pop.slices.size > 0; +} + +static void parser__handle_error(Parser *self, StackVersion version, + TSSymbol lookahead_symbol) { + // If there are other stack versions that are clearly better than this one, + // just halt this version. + ErrorStatus error_status = ts_stack_error_status(self->stack, version); + error_status.count++; + if (parser__better_version_exists(self, version, error_status)) { + ts_stack_halt(self->stack, version); + LOG("bail_on_error"); + return; + } + + LOG("handle_error"); + + // If the current lookahead symbol would have been valid in some previous + // state on the stack, create one stack version that repairs the error + // immediately by simply skipping all of the trees that came after that state. + if (parser__skip_preceding_trees(self, version, lookahead_symbol)) { + LOG("skip_preceding_trees"); + LOG_STACK(); + } + + // Perform any reductions that could have happened in this state, regardless + // of the lookahead. + uint32_t previous_version_count = ts_stack_version_count(self->stack); + for (StackVersion v = version; v < ts_stack_version_count(self->stack);) { + if (parser__do_potential_reductions(self, v)) { + if (v == version) { + v = previous_version_count; + } else { + v++; + } + } + } + + // Push a discontinuity onto the stack. Merge all of the stack versions that + // were created in the previous step. + ts_stack_push(self->stack, version, NULL, false, ERROR_STATE); + while (ts_stack_version_count(self->stack) > previous_version_count) { + ts_stack_push(self->stack, previous_version_count, NULL, false, ERROR_STATE); + assert(ts_stack_merge(self->stack, version, previous_version_count)); + } +} + +static void parser__halt_parse(Parser *self) { + LOG("halting_parse"); + LOG_STACK(); + + ts_lexer_advance_to_end(&self->lexer); + Length remaining_length = length_sub( + self->lexer.current_position, + ts_stack_top_position(self->stack, 0) + ); + + Tree *filler_node = ts_tree_make_error(remaining_length, length_zero(), 0); + filler_node->visible = false; + parser__push(self, 0, filler_node, 0); + + TreeArray children = array_new(); + Tree *root_error = ts_tree_make_error_node(&children); + parser__push(self, 0, root_error, 0); + + TSSymbolMetadata metadata = ts_language_symbol_metadata(self->language, ts_builtin_sym_end); + Tree *eof = ts_tree_make_leaf(ts_builtin_sym_end, length_zero(), length_zero(), metadata); + parser__accept(self, 0, eof); + ts_tree_release(eof); +} + +static void parser__recover(Parser *self, StackVersion version, TSStateId state, + Tree *lookahead) { + if (lookahead->symbol == ts_builtin_sym_end) { + LOG("recover_eof"); + TreeArray children = array_new(); + Tree *parent = ts_tree_make_error_node(&children); + parser__push(self, version, parent, 1); + parser__accept(self, version, lookahead); + } + + LOG("recover state:%u", state); + + StackVersion new_version = ts_stack_copy_version(self->stack, version); + + parser__shift( + self, new_version, ERROR_STATE, lookahead, + ts_language_symbol_metadata(self->language, lookahead->symbol).extra); + ErrorStatus error_status = ts_stack_error_status(self->stack, new_version); + if (parser__better_version_exists(self, version, error_status)) { + ts_stack_remove_version(self->stack, new_version); + LOG("bail_on_recovery"); + } + + parser__shift(self, version, state, lookahead, false); +} + +static void parser__advance(Parser *self, StackVersion version, + ReusableNode *reusable_node) { + bool validated_lookahead = false; + Tree *lookahead = parser__get_lookahead(self, version, reusable_node, &validated_lookahead); + + for (;;) { + TSStateId state = ts_stack_top_state(self->stack, version); + + TableEntry table_entry; + ts_language_table_entry(self->language, state, lookahead->first_leaf.symbol, &table_entry); + + if (!validated_lookahead) { + if (!parser__can_reuse(self, state, lookahead, &table_entry)) { + if (lookahead == reusable_node->tree) { + reusable_node_pop_leaf(reusable_node); + } else { + parser__clear_cached_token(self); + } + + ts_tree_release(lookahead); + lookahead = parser__get_lookahead(self, version, reusable_node, &validated_lookahead); + continue; + } + + validated_lookahead = true; + LOG("reused_lookahead sym:%s, size:%u", SYM_NAME(lookahead->symbol), lookahead->size.bytes); + } + + bool reduction_stopped_at_error = false; + StackVersion last_reduction_version = STACK_VERSION_NONE; + + for (uint32_t i = 0; i < table_entry.action_count; i++) { + TSParseAction action = table_entry.actions[i]; + + switch (action.type) { + case TSParseActionTypeShift: { + bool extra = action.extra; + TSStateId next_state; + + if (action.extra) { + next_state = state; + LOG("shift_extra"); + } else { + next_state = action.params.to_state; + LOG("shift state:%u", next_state); + } + + if (lookahead->child_count > 0) { + if (parser__breakdown_lookahead(self, &lookahead, state, reusable_node)) { + if (!parser__can_reuse(self, state, lookahead, &table_entry)) { + reusable_node_pop(reusable_node); + ts_tree_release(lookahead); + lookahead = parser__get_lookahead(self, version, reusable_node, &validated_lookahead); + } + } + + next_state = ts_language_next_state(self->language, state, lookahead->symbol); + } + + parser__shift(self, version, next_state, lookahead, extra); + + if (lookahead == reusable_node->tree) + reusable_node_pop(reusable_node); + + ts_tree_release(lookahead); + return; + } + + case TSParseActionTypeReduce: { + if (reduction_stopped_at_error) + continue; + + unsigned child_count = action.params.child_count; + TSSymbol symbol = action.params.symbol; + bool fragile = action.fragile; + + LOG("reduce sym:%s, child_count:%u", SYM_NAME(symbol), child_count); + + StackPopResult reduction = + parser__reduce(self, version, symbol, child_count, fragile, true); + StackSlice slice = *array_front(&reduction.slices); + if (reduction.stopped_at_error) { + reduction_stopped_at_error = true; + if (!parser__repair_error(self, slice, lookahead->first_leaf.symbol, + table_entry)) + break; + } + + last_reduction_version = slice.version; + break; + } + + case TSParseActionTypeAccept: { + if (ts_stack_error_status(self->stack, version).count > 0) + continue; + + LOG("accept"); + parser__accept(self, version, lookahead); + ts_tree_release(lookahead); + return; + } + + case TSParseActionTypeRecover: { + while (lookahead->child_count > 0) { + reusable_node_breakdown(reusable_node); + ts_tree_release(lookahead); + lookahead = reusable_node->tree; + ts_tree_retain(lookahead); + } + + parser__recover(self, version, action.params.to_state, lookahead); + if (lookahead == reusable_node->tree) + reusable_node_pop(reusable_node); + ts_tree_release(lookahead); + return; + } + } + } + + if (last_reduction_version != STACK_VERSION_NONE) { + ts_stack_renumber_version(self->stack, last_reduction_version, version); + LOG_STACK(); + continue; + } + + if (parser__breakdown_top_of_stack(self, version)) { + continue; + } + + if (state == ERROR_STATE) { + parser__push(self, version, lookahead, ERROR_STATE); + return; + } + + parser__handle_error(self, version, lookahead->first_leaf.symbol); + + if (ts_stack_is_halted(self->stack, version)) { + ts_tree_release(lookahead); + return; + } + } +} + +bool parser_init(Parser *self) { + ts_lexer_init(&self->lexer); + array_init(&self->reduce_actions); + array_init(&self->tree_path1); + array_init(&self->tree_path2); + array_grow(&self->reduce_actions, 4); + self->stack = ts_stack_new(); + self->finished_tree = NULL; + return true; +} + +void parser_set_language(Parser *self, const TSLanguage *language) { + if (self->external_scanner_payload && self->language->external_scanner.destroy) + self->language->external_scanner.destroy(self->external_scanner_payload); + + if (language && language->external_scanner.create) + self->external_scanner_payload = language->external_scanner.create(); + else + self->external_scanner_payload = NULL; + + self->language = language; +} + +void parser_destroy(Parser *self) { + if (self->stack) + ts_stack_delete(self->stack); + if (self->reduce_actions.contents) + array_delete(&self->reduce_actions); + if (self->tree_path1.contents) + array_delete(&self->tree_path1); + if (self->tree_path2.contents) + array_delete(&self->tree_path2); + parser_set_language(self, NULL); +} + +Tree *parser_parse(Parser *self, TSInput input, Tree *old_tree, bool halt_on_error) { + parser__start(self, input, old_tree); + + StackVersion version = STACK_VERSION_NONE; + uint32_t position = 0, last_position = 0; + ReusableNode reusable_node; + + do { + for (version = 0; version < ts_stack_version_count(self->stack); version++) { + reusable_node = self->reusable_node; + last_position = position; + + while (!ts_stack_is_halted(self->stack, version)) { + position = ts_stack_top_position(self->stack, version).chars; + if (position > last_position || (version > 0 && position == last_position)) + break; + + LOG("process version:%d, version_count:%u, state:%d, row:%u, col:%u", + version, ts_stack_version_count(self->stack), + ts_stack_top_state(self->stack, version), + ts_stack_top_position(self->stack, version).extent.row, + ts_stack_top_position(self->stack, version).extent.column); + + parser__advance(self, version, &reusable_node); + LOG_STACK(); + } + } + + self->reusable_node = reusable_node; + + CondenseResult condense_result = parser__condense_stack(self); + if (halt_on_error && (condense_result & CondenseResultAllVersionsHadError)) { + parser__halt_parse(self); + break; + } + + if (condense_result & CondenseResultMadeChange) { + LOG("condense"); + LOG_STACK(); + } + + self->is_split = (version > 1); + } while (version != 0); + + LOG("done"); + LOG_TREE(); + ts_stack_clear(self->stack); + parser__clear_cached_token(self); + ts_tree_assign_parents(self->finished_tree, &self->tree_path1); + return self->finished_tree; +} diff --git a/resources/language-metavariables/tree-sitter-c/grammar.js b/resources/language-metavariables/tree-sitter-c/grammar.js new file mode 100644 index 000000000..2fc7aef44 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/grammar.js @@ -0,0 +1,1483 @@ +/** + * @file C grammar for tree-sitter + * @author Max Brunsfeld + * @author Amaan Qureshi + * @license MIT + */ + +/// +// @ts-check +const PREC = { + PAREN_DECLARATOR: -10, + ASSIGNMENT: -2, + CONDITIONAL: -1, + DEFAULT: 0, + LOGICAL_OR: 1, + LOGICAL_AND: 2, + INCLUSIVE_OR: 3, + EXCLUSIVE_OR: 4, + BITWISE_AND: 5, + EQUAL: 6, + RELATIONAL: 7, + OFFSETOF: 8, + SHIFT: 9, + ADD: 10, + MULTIPLY: 11, + CAST: 12, + SIZEOF: 13, + UNARY: 14, + CALL: 15, + FIELD: 16, + SUBSCRIPT: 17, + GRIT_METAVARIABLE: 100, +}; + +module.exports = grammar({ + name: 'c', + + conflicts: $ => [ + [$.type_specifier, $._declarator], + [$.type_specifier, $._declarator, $.macro_type_specifier], + [$.type_specifier, $.expression], + [$.type_specifier, $.expression, $.macro_type_specifier], + [$.type_specifier, $.macro_type_specifier], + [$.type_specifier, $.sized_type_specifier], + [$.sized_type_specifier], + [$.attributed_statement], + [$._declaration_modifiers, $.attributed_statement], + [$.enum_specifier], + [$.type_specifier, $._old_style_parameter_list], + [$.parameter_list, $._old_style_parameter_list], + [$.function_declarator, $._function_declaration_declarator], + [$._block_item, $.statement], + [$._top_level_item, $._top_level_statement], + [$.type_specifier, $._top_level_expression_statement], + + // Grit-caused conflicts + [$.linkage_specification, $.storage_class_specifier], + [$.identifier, $.char_literal, $.string_literal], + [$.identifier, $.string_literal], + [$.type_specifier, $.concatenated_string], + [$.identifier, $.char_literal], + [$.expression, $.concatenated_string], + [$.identifier, $.number_literal, $.char_literal, $.string_literal], + [$.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal] + ], + + extras: $ => [ + /\s|\\\r?\n/, + $.comment, + ], + + inline: $ => [ + $._type_identifier, + $._field_identifier, + $._statement_identifier, + $._non_case_statement, + $._assignment_left_expression, + $._expression_not_binary, + ], + + supertypes: $ => [ + $.expression, + $.statement, + $.type_specifier, + $._declarator, + $._field_declarator, + $._type_declarator, + $._abstract_declarator, + ], + + word: $ => $._identifier, + + rules: { + translation_unit: $ => repeat($._top_level_item), + + // Top level items are block items with the exception of the expression statement + _top_level_item: $ => choice( + $.function_definition, + alias($._old_style_function_definition, $.function_definition), + $.linkage_specification, + $.declaration, + $._top_level_statement, + $.attributed_statement, + $.type_definition, + $._empty_declaration, + $.preproc_if, + $.preproc_ifdef, + $.preproc_include, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + ), + + _block_item: $ => choice( + $.function_definition, + alias($._old_style_function_definition, $.function_definition), + $.linkage_specification, + $.declaration, + $.statement, + $.attributed_statement, + $.type_definition, + $._empty_declaration, + $.preproc_if, + $.preproc_ifdef, + $.preproc_include, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + ), + + // Preprocesser + + preproc_include: $ => seq( + preprocessor('include'), + field('path', choice( + $.string_literal, + $.system_lib_string, + $.identifier, + alias($.preproc_call_expression, $.call_expression), + )), + token.immediate(/\r?\n/), + ), + + preproc_def: $ => seq( + preprocessor('define'), + field('name', $.identifier), + field('value', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + preproc_function_def: $ => seq( + preprocessor('define'), + field('name', $.identifier), + field('parameters', $.preproc_params), + field('value', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + preproc_params: $ => seq( + token.immediate('('), commaSep(choice($.identifier, '...')), ')', + ), + + preproc_call: $ => seq( + field('directive', $.preproc_directive), + field('argument', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + ...preprocIf('', $ => $._block_item), + ...preprocIf('_in_field_declaration_list', $ => $._field_declaration_list_item), + ...preprocIf('_in_enumerator_list', $ => seq($.enumerator, ',')), + ...preprocIf('_in_enumerator_list_no_comma', $ => $.enumerator, -1), + + preproc_arg: _ => token(prec(-1, /\S([^/\n]|\/[^*]|\\\r?\n)*/)), + preproc_directive: _ => /#[ \t]*[a-zA-Z0-9]\w*/, + + _preproc_expression: $ => choice( + $.identifier, + alias($.preproc_call_expression, $.call_expression), + $.number_literal, + $.char_literal, + $.preproc_defined, + alias($.preproc_unary_expression, $.unary_expression), + alias($.preproc_binary_expression, $.binary_expression), + alias($.preproc_parenthesized_expression, $.parenthesized_expression), + ), + + preproc_parenthesized_expression: $ => seq( + '(', + $._preproc_expression, + ')', + ), + + preproc_defined: $ => choice( + prec(PREC.CALL, seq('defined', '(', $.identifier, ')')), + seq('defined', $.identifier), + ), + + preproc_unary_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', choice('!', '~', '-', '+')), + field('argument', $._preproc_expression), + )), + + preproc_call_expression: $ => prec(PREC.CALL, seq( + field('function', $.identifier), + field('arguments', alias($.preproc_argument_list, $.argument_list)), + )), + + preproc_argument_list: $ => seq( + '(', + commaSep($._preproc_expression), + ')', + ), + + preproc_binary_expression: $ => { + const table = [ + ['+', PREC.ADD], + ['-', PREC.ADD], + ['*', PREC.MULTIPLY], + ['/', PREC.MULTIPLY], + ['%', PREC.MULTIPLY], + ['||', PREC.LOGICAL_OR], + ['&&', PREC.LOGICAL_AND], + ['|', PREC.INCLUSIVE_OR], + ['^', PREC.EXCLUSIVE_OR], + ['&', PREC.BITWISE_AND], + ['==', PREC.EQUAL], + ['!=', PREC.EQUAL], + ['>', PREC.RELATIONAL], + ['>=', PREC.RELATIONAL], + ['<=', PREC.RELATIONAL], + ['<', PREC.RELATIONAL], + ['<<', PREC.SHIFT], + ['>>', PREC.SHIFT], + ]; + + return choice(...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $._preproc_expression), + // @ts-ignore + field('operator', operator), + field('right', $._preproc_expression), + )); + })); + }, + + // Main Grammar + + function_definition: $ => seq( + optional($.ms_call_modifier), + $._declaration_specifiers, + optional($.ms_call_modifier), + field('declarator', $._declarator), + field('body', $.compound_statement), + ), + + _old_style_function_definition: $ => seq( + optional($.ms_call_modifier), + $._declaration_specifiers, + field('declarator', alias($._old_style_function_declarator, $.function_declarator)), + repeat($.declaration), + field('body', $.compound_statement), + ), + + declaration: $ => seq( + $._declaration_specifiers, + commaSep1(field('declarator', choice( + seq( + optional($.ms_call_modifier), + $._declaration_declarator, + optional($.gnu_asm_expression), + ), + $.init_declarator, + ))), + ';', + ), + + type_definition: $ => seq( + optional('__extension__'), + 'typedef', + $._type_definition_type, + $._type_definition_declarators, + repeat($.attribute_specifier), + ';', + ), + _type_definition_type: $ => seq(repeat($.type_qualifier), field('type', $.type_specifier), repeat($.type_qualifier)), + _type_definition_declarators: $ => commaSep1(field('declarator', $._type_declarator)), + + _declaration_modifiers: $ => choice( + $.storage_class_specifier, + $.type_qualifier, + $.attribute_specifier, + $.attribute_declaration, + $.ms_declspec_modifier, + ), + + _declaration_specifiers: $ => prec.right(seq( + repeat($._declaration_modifiers), + field('type', $.type_specifier), + repeat($._declaration_modifiers), + )), + + linkage_specification: $ => seq( + 'extern', + field('value', $.string_literal), + field('body', choice( + $.function_definition, + $.declaration, + $.declaration_list, + )), + ), + + attribute_specifier: $ => seq( + '__attribute__', + '(', + $.argument_list, + ')', + ), + + attribute: $ => seq( + optional(seq(field('prefix', $.identifier), '::')), + field('name', $.identifier), + optional($.argument_list), + ), + + attribute_declaration: $ => seq( + '[[', + commaSep1($.attribute), + ']]', + ), + + ms_declspec_modifier: $ => seq( + '__declspec', + '(', + $.identifier, + ')', + ), + + ms_based_modifier: $ => seq( + '__based', + $.argument_list, + ), + + ms_call_modifier: _ => choice( + '__cdecl', + '__clrcall', + '__stdcall', + '__fastcall', + '__thiscall', + '__vectorcall', + ), + + ms_restrict_modifier: _ => '__restrict', + + ms_unsigned_ptr_modifier: _ => '__uptr', + + ms_signed_ptr_modifier: _ => '__sptr', + + ms_unaligned_ptr_modifier: _ => choice('_unaligned', '__unaligned'), + + ms_pointer_modifier: $ => choice( + $.ms_unaligned_ptr_modifier, + $.ms_restrict_modifier, + $.ms_unsigned_ptr_modifier, + $.ms_signed_ptr_modifier, + ), + + declaration_list: $ => seq( + '{', + repeat($._block_item), + '}', + ), + + _declarator: $ => choice( + $.attributed_declarator, + $.pointer_declarator, + $.function_declarator, + $.array_declarator, + $.parenthesized_declarator, + $.identifier, + ), + + _declaration_declarator: $ => choice( + $.attributed_declarator, + $.pointer_declarator, + alias($._function_declaration_declarator, $.function_declarator), + $.array_declarator, + $.parenthesized_declarator, + $.identifier, + ), + + _field_declarator: $ => choice( + alias($.attributed_field_declarator, $.attributed_declarator), + alias($.pointer_field_declarator, $.pointer_declarator), + alias($.function_field_declarator, $.function_declarator), + alias($.array_field_declarator, $.array_declarator), + alias($.parenthesized_field_declarator, $.parenthesized_declarator), + $._field_identifier, + ), + + _type_declarator: $ => choice( + alias($.attributed_type_declarator, $.attributed_declarator), + alias($.pointer_type_declarator, $.pointer_declarator), + alias($.function_type_declarator, $.function_declarator), + alias($.array_type_declarator, $.array_declarator), + alias($.parenthesized_type_declarator, $.parenthesized_declarator), + $._type_identifier, + alias(choice('signed', 'unsigned', 'long', 'short'), $.primitive_type), + $.primitive_type, + ), + + _abstract_declarator: $ => choice( + $.abstract_pointer_declarator, + $.abstract_function_declarator, + $.abstract_array_declarator, + $.abstract_parenthesized_declarator, + ), + + parenthesized_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._declarator, + ')', + )), + parenthesized_field_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._field_declarator, + ')', + )), + parenthesized_type_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._type_declarator, + ')', + )), + abstract_parenthesized_declarator: $ => prec(1, seq( + '(', + optional($.ms_call_modifier), + $._abstract_declarator, + ')', + )), + + + attributed_declarator: $ => prec.right(seq( + $._declarator, + repeat1($.attribute_declaration), + )), + attributed_field_declarator: $ => prec.right(seq( + $._field_declarator, + repeat1($.attribute_declaration), + )), + attributed_type_declarator: $ => prec.right(seq( + $._type_declarator, + repeat1($.attribute_declaration), + )), + + pointer_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._declarator), + ))), + pointer_field_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._field_declarator), + ))), + pointer_type_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._type_declarator), + ))), + abstract_pointer_declarator: $ => prec.dynamic(1, prec.right(seq('*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', optional($._abstract_declarator)), + ))), + + function_declarator: $ => prec.right(1, + seq( + field('declarator', $._declarator), + field('parameters', $.parameter_list), + optional($.gnu_asm_expression), + repeat(choice( + $.attribute_specifier, + $.identifier, + alias($.preproc_call_expression, $.call_expression), + )), + ), + ), + + _function_declaration_declarator: $ => prec.right(1, + seq( + field('declarator', $._declarator), + field('parameters', $.parameter_list), + optional($.gnu_asm_expression), + repeat($.attribute_specifier), + )), + + function_field_declarator: $ => prec(1, seq( + field('declarator', $._field_declarator), + field('parameters', $.parameter_list), + )), + function_type_declarator: $ => prec(1, seq( + field('declarator', $._type_declarator), + field('parameters', $.parameter_list), + )), + abstract_function_declarator: $ => prec(1, seq( + field('declarator', optional($._abstract_declarator)), + field('parameters', $.parameter_list), + )), + + _old_style_function_declarator: $ => seq( + field('declarator', $._declarator), + field('parameters', alias($._old_style_parameter_list, $.parameter_list)), + ), + + array_declarator: $ => prec(1, seq( + field('declarator', $._declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + array_field_declarator: $ => prec(1, seq( + field('declarator', $._field_declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + array_type_declarator: $ => prec(1, seq( + field('declarator', $._type_declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + abstract_array_declarator: $ => prec(1, seq( + field('declarator', optional($._abstract_declarator)), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + + init_declarator: $ => seq( + field('declarator', $._declarator), + '=', + field('value', choice($.initializer_list, $.expression)), + ), + + compound_statement: $ => seq( + '{', + repeat($._block_item), + '}', + ), + + storage_class_specifier: _ => choice( + 'extern', + 'static', + 'auto', + 'register', + 'inline', + '__inline', + '__inline__', + '__forceinline', + 'thread_local', + '__thread', + ), + + type_qualifier: $ => choice( + 'const', + 'constexpr', + 'volatile', + 'restrict', + '__restrict__', + '__extension__', + '_Atomic', + '_Noreturn', + 'noreturn', + $.alignas_qualifier, + ), + + alignas_qualifier: $ => seq( + choice('alignas', '_Alignas'), + '(', + choice($.expression, $.type_descriptor), + ')', + ), + + type_specifier: $ => choice( + $.struct_specifier, + $.union_specifier, + $.enum_specifier, + $.macro_type_specifier, + $.sized_type_specifier, + $.primitive_type, + $._type_identifier, + ), + + sized_type_specifier: $ => choice( + seq( + repeat(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + field('type', optional(choice( + prec.dynamic(-1, $._type_identifier), + $.primitive_type, + ))), + repeat1(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + ), + seq( + repeat1(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + field('type', optional(choice( + prec.dynamic(-1, $._type_identifier), + $.primitive_type, + ))), + repeat(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + ), + ), + + primitive_type: _ => token(choice( + 'bool', + 'char', + 'int', + 'float', + 'double', + 'void', + 'size_t', + 'ssize_t', + 'ptrdiff_t', + 'intptr_t', + 'uintptr_t', + 'charptr_t', + 'nullptr_t', + 'max_align_t', + ...[8, 16, 32, 64].map(n => `int${n}_t`), + ...[8, 16, 32, 64].map(n => `uint${n}_t`), + ...[8, 16, 32, 64].map(n => `char${n}_t`), + )), + + enum_specifier: $ => seq( + 'enum', + choice( + seq( + field('name', $._type_identifier), + optional(seq(':', field('underlying_type', $.primitive_type))), + field('body', optional($.enumerator_list)), + ), + field('body', $.enumerator_list), + ), + optional($.attribute_specifier), + ), + + enumerator_list: $ => seq( + '{', + repeat(choice( + seq($.enumerator, ','), + alias($.preproc_if_in_enumerator_list, $.preproc_if), + alias($.preproc_ifdef_in_enumerator_list, $.preproc_ifdef), + seq($.preproc_call, ','), + )), + optional(seq( + choice( + $.enumerator, + alias($.preproc_if_in_enumerator_list_no_comma, $.preproc_if), + alias($.preproc_ifdef_in_enumerator_list_no_comma, $.preproc_ifdef), + $.preproc_call, + ), + )), + '}', + ), + + struct_specifier: $ => prec.right(seq( + 'struct', + optional($.attribute_specifier), + optional($.ms_declspec_modifier), + choice( + seq( + field('name', $._type_identifier), + field('body', optional($.field_declaration_list)), + ), + field('body', $.field_declaration_list), + ), + optional($.attribute_specifier), + )), + + union_specifier: $ => prec.right(seq( + 'union', + optional($.ms_declspec_modifier), + choice( + seq( + field('name', $._type_identifier), + field('body', optional($.field_declaration_list)), + ), + field('body', $.field_declaration_list), + ), + optional($.attribute_specifier), + )), + + field_declaration_list: $ => seq( + '{', + repeat($._field_declaration_list_item), + '}', + ), + + _field_declaration_list_item: $ => choice( + $.field_declaration, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + alias($.preproc_if_in_field_declaration_list, $.preproc_if), + alias($.preproc_ifdef_in_field_declaration_list, $.preproc_ifdef), + ), + + field_declaration: $ => seq( + $._declaration_specifiers, + optional($._field_declaration_declarator), + optional($.attribute_specifier), + ';', + ), + _field_declaration_declarator: $ => commaSep1(seq( + field('declarator', $._field_declarator), + optional($.bitfield_clause), + )), + + bitfield_clause: $ => seq(':', $.expression), + + enumerator: $ => seq( + field('name', $.identifier), + optional(seq('=', field('value', $.expression))), + ), + + variadic_parameter: _ => '...', + + parameter_list: $ => seq( + '(', + commaSep(choice($.parameter_declaration, $.variadic_parameter)), + ')', + ), + _old_style_parameter_list: $ => seq( + '(', + commaSep(choice($.identifier, $.variadic_parameter)), + ')', + ), + + parameter_declaration: $ => seq( + $._declaration_specifiers, + optional(field('declarator', choice( + $._declarator, + $._abstract_declarator, + ))), + ), + + // Statements + + attributed_statement: $ => seq( + repeat1($.attribute_declaration), + $.statement, + ), + + statement: $ => choice( + $.case_statement, + $._non_case_statement, + ), + + _non_case_statement: $ => choice( + $.attributed_statement, + $.labeled_statement, + $.compound_statement, + $.expression_statement, + $.if_statement, + $.switch_statement, + $.do_statement, + $.while_statement, + $.for_statement, + $.return_statement, + $.break_statement, + $.continue_statement, + $.goto_statement, + $.seh_try_statement, + $.seh_leave_statement, + ), + + _top_level_statement: $ => choice( + $.case_statement, + $.attributed_statement, + $.labeled_statement, + $.compound_statement, + alias($._top_level_expression_statement, $.expression_statement), + $.if_statement, + $.switch_statement, + $.do_statement, + $.while_statement, + $.for_statement, + $.return_statement, + $.break_statement, + $.continue_statement, + $.goto_statement, + ), + + labeled_statement: $ => seq( + field('label', $._statement_identifier), + ':', + $.statement, + ), + + // This is missing binary expressions, others were kept so that macro code can be parsed better and code examples + _top_level_expression_statement: $ => seq( + $._expression_not_binary, + ';', + ), + + expression_statement: $ => seq( + optional(choice( + $.expression, + $.comma_expression, + )), + ';', + ), + + if_statement: $ => prec.right(seq( + 'if', + field('condition', $.parenthesized_expression), + field('consequence', $.statement), + optional(field('alternative', $.else_clause)), + )), + + else_clause: $ => seq('else', $.statement), + + switch_statement: $ => seq( + 'switch', + field('condition', $.parenthesized_expression), + field('body', $.compound_statement), + ), + + case_statement: $ => prec.right(seq( + choice( + seq('case', field('value', $.expression)), + 'default', + ), + ':', + repeat(choice( + $._non_case_statement, + $.declaration, + $.type_definition, + )), + )), + + while_statement: $ => seq( + 'while', + field('condition', $.parenthesized_expression), + field('body', $.statement), + ), + + do_statement: $ => seq( + 'do', + field('body', $.statement), + 'while', + field('condition', $.parenthesized_expression), + ';', + ), + + for_statement: $ => seq( + 'for', + '(', + $._for_statement_body, + ')', + field('body', $.statement), + ), + _for_statement_body: $ => seq( + choice( + field('initializer', $.declaration), + seq(field('initializer', optional(choice($.expression, $.comma_expression))), ';'), + ), + field('condition', optional(choice($.expression, $.comma_expression))), + ';', + field('update', optional(choice($.expression, $.comma_expression))), + ), + + return_statement: $ => seq( + 'return', + optional(choice($.expression, $.comma_expression)), + ';', + ), + + break_statement: _ => seq( + 'break', ';', + ), + + continue_statement: _ => seq( + 'continue', ';', + ), + + goto_statement: $ => seq( + 'goto', + field('label', $._statement_identifier), + ';', + ), + + seh_try_statement: $ => seq( + '__try', + field('body', $.compound_statement), + choice($.seh_except_clause, $.seh_finally_clause), + ), + + seh_except_clause: $ => seq( + '__except', + field('filter', $.parenthesized_expression), + field('body', $.compound_statement), + ), + + seh_finally_clause: $ => seq( + '__finally', + field('body', $.compound_statement), + ), + + seh_leave_statement: _ => seq( + '__leave', ';', + ), + + // Expressions + + expression: $ => choice( + $._expression_not_binary, + $.binary_expression, + ), + + _expression_not_binary: $ => choice( + $.conditional_expression, + $.assignment_expression, + $.unary_expression, + $.update_expression, + $.cast_expression, + $.pointer_expression, + $.sizeof_expression, + $.alignof_expression, + $.offsetof_expression, + $.generic_expression, + $.subscript_expression, + $.call_expression, + $.field_expression, + $.compound_literal_expression, + $.identifier, + $.number_literal, + $._string, + $.true, + $.false, + $.null, + $.char_literal, + $.parenthesized_expression, + $.gnu_asm_expression, + ), + + _string: $ => prec.left(choice( + $.string_literal, + $.concatenated_string, + )), + + comma_expression: $ => seq( + field('left', $.expression), + ',', + field('right', choice($.expression, $.comma_expression)), + ), + + conditional_expression: $ => prec.right(PREC.CONDITIONAL, seq( + field('condition', $.expression), + '?', + optional(field('consequence', choice($.expression, $.comma_expression))), + ':', + field('alternative', $.expression), + )), + + _assignment_left_expression: $ => choice( + $.identifier, + $.call_expression, + $.field_expression, + $.pointer_expression, + $.subscript_expression, + $.parenthesized_expression, + ), + + + //assignment_expression: $ => choice($._assignment_expression, $.grit_metavariable), + assignment_expression: $ => prec.right(PREC.ASSIGNMENT, seq( + field('left', $._assignment_left_expression), + field('operator', choice( + '=', + '*=', + '/=', + '%=', + '+=', + '-=', + '<<=', + '>>=', + '&=', + '^=', + '|=', + )), + field('right', $.expression), + )), + + pointer_expression: $ => prec.left(PREC.CAST, seq( + field('operator', choice('*', '&')), + field('argument', $.expression), + )), + + unary_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', choice('!', '~', '-', '+')), + field('argument', $.expression), + )), + + binary_expression: $ => { + const table = [ + ['+', PREC.ADD], + ['-', PREC.ADD], + ['*', PREC.MULTIPLY], + ['/', PREC.MULTIPLY], + ['%', PREC.MULTIPLY], + ['||', PREC.LOGICAL_OR], + ['&&', PREC.LOGICAL_AND], + ['|', PREC.INCLUSIVE_OR], + ['^', PREC.EXCLUSIVE_OR], + ['&', PREC.BITWISE_AND], + ['==', PREC.EQUAL], + ['!=', PREC.EQUAL], + ['>', PREC.RELATIONAL], + ['>=', PREC.RELATIONAL], + ['<=', PREC.RELATIONAL], + ['<', PREC.RELATIONAL], + ['<<', PREC.SHIFT], + ['>>', PREC.SHIFT], + ]; + + return choice(...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $.expression), + // @ts-ignore + field('operator', operator), + field('right', $.expression), + )); + })); + }, + + update_expression: $ => { + const argument = field('argument', $.expression); + const operator = field('operator', choice('--', '++')); + return prec.right(PREC.UNARY, choice( + seq(operator, argument), + seq(argument, operator), + )); + }, + + cast_expression: $ => prec(PREC.CAST, seq( + '(', + field('type', $.type_descriptor), + ')', + field('value', $.expression), + )), + + type_descriptor: $ => seq( + repeat($.type_qualifier), + field('type', $.type_specifier), + repeat($.type_qualifier), + field('declarator', optional($._abstract_declarator)), + ), + + sizeof_expression: $ => prec(PREC.SIZEOF, seq( + 'sizeof', + choice( + field('value', $.expression), + seq('(', field('type', $.type_descriptor), ')'), + ), + )), + + alignof_expression: $ => prec(PREC.SIZEOF, seq( + choice('__alignof__', '__alignof', '_alignof', 'alignof', '_Alignof'), + seq('(', field('type', $.type_descriptor), ')'), + )), + + offsetof_expression: $ => prec(PREC.OFFSETOF, seq( + 'offsetof', + seq('(', field('type', $.type_descriptor), ',', field('member', $._field_identifier), ')'), + )), + + generic_expression: $ => prec(PREC.CALL, seq( + '_Generic', + '(', + $.expression, + ',', + commaSep1(seq($.type_descriptor, ':', $.expression)), + ')', + )), + + subscript_expression: $ => prec(PREC.SUBSCRIPT, seq( + field('argument', $.expression), + '[', + field('index', $.expression), + ']', + )), + + call_expression: $ => prec(PREC.CALL, seq( + field('function', $.expression), + field('arguments', $.argument_list), + )), + + gnu_asm_expression: $ => prec(PREC.CALL, seq( + choice('asm', '__asm__'), + repeat($.gnu_asm_qualifier), + '(', + field('assembly_code', $._string), + optional(seq( + field('output_operands', $.gnu_asm_output_operand_list), + optional(seq( + field('input_operands', $.gnu_asm_input_operand_list), + optional(seq( + field('clobbers', $.gnu_asm_clobber_list), + optional(field('goto_labels', $.gnu_asm_goto_list)), + )), + )), + )), + ')', + )), + + gnu_asm_qualifier: _ => choice( + 'volatile', + 'inline', + 'goto', + ), + + gnu_asm_output_operand_list: $ => seq( + ':', + commaSep(field('operand', $.gnu_asm_output_operand)), + ), + + gnu_asm_output_operand: $ => seq( + optional(seq( + '[', + field('symbol', $.identifier), + ']', + )), + field('constraint', $.string_literal), + '(', + field('value', $.identifier), + ')', + ), + + gnu_asm_input_operand_list: $ => seq( + ':', + commaSep(field('operand', $.gnu_asm_input_operand)), + ), + + gnu_asm_input_operand: $ => seq( + optional(seq( + '[', + field('symbol', $.identifier), + ']', + )), + field('constraint', $.string_literal), + '(', + field('value', $.expression), + ')', + ), + + gnu_asm_clobber_list: $ => seq( + ':', + commaSep(field('register', $._string)), + ), + + gnu_asm_goto_list: $ => seq( + ':', + commaSep(field('label', $.identifier)), + ), + + // The compound_statement is added to parse macros taking statements as arguments, e.g. MYFORLOOP(1, 10, i, { foo(i); bar(i); }) + argument_list: $ => seq('(', commaSep(choice(seq(optional('__extension__'), $.expression), $.compound_statement)), ')'), + + field_expression: $ => seq( + prec(PREC.FIELD, seq( + field('argument', $.expression), + field('operator', choice('.', '->')), + )), + field('field', $._field_identifier), + ), + + compound_literal_expression: $ => seq( + '(', + field('type', $.type_descriptor), + ')', + field('value', $.initializer_list), + ), + + parenthesized_expression: $ => seq( + '(', + choice($.expression, $.comma_expression), + ')', + ), + + initializer_list: $ => seq( + '{', + commaSep(choice( + $.initializer_pair, + $.expression, + $.initializer_list, + )), + optional(','), + '}', + ), + + initializer_pair: $ => choice( + seq( + field('designator', repeat1(choice( + $.subscript_designator, + $.field_designator, + $.subscript_range_designator, + ))), + '=', + field('value', choice($.expression, $.initializer_list)), + ), + seq( + field('designator', $._field_identifier), + ':', + field('value', choice($.expression, $.initializer_list)), + ), + ), + + subscript_designator: $ => seq('[', $.expression, ']'), + + subscript_range_designator: $ => seq('[', field('start', $.expression), '...', field('end', $.expression), ']'), + + field_designator: $ => seq('.', $._field_identifier), + + number_literal: $ => choice($._number_literal, $.grit_metavariable), + _number_literal: _ => { + const separator = '\''; + const hex = /[0-9a-fA-F]/; + const decimal = /[0-9]/; + const hexDigits = seq(repeat1(hex), repeat(seq(separator, repeat1(hex)))); + const decimalDigits = seq(repeat1(decimal), repeat(seq(separator, repeat1(decimal)))); + return token(seq( + optional(/[-\+]/), + optional(choice(/0[xX]/, /0[bB]/)), + choice( + seq( + choice( + decimalDigits, + seq(/0[bB]/, decimalDigits), + seq(/0[xX]/, hexDigits), + ), + optional(seq('.', optional(hexDigits))), + ), + seq('.', decimalDigits), + ), + optional(seq( + /[eEpP]/, + optional(seq( + optional(/[-\+]/), + hexDigits, + )), + )), + /[uUlLwWfFbBdD]*/, + )); + }, + + char_literal: $ => choice($.grit_metavariable, $._char_literal), + _char_literal: $ => seq( + choice('L\'', 'u\'', 'U\'', 'u8\'', '\''), + repeat1(choice( + $.escape_sequence, + alias(token.immediate(/[^\n']/), $.character), + )), + '\'', + ), + + // Must concatenate at least 2 nodes, one of which must be a string_literal. + // Identifier is added to parse macros that are strings, like PRIu64. + concatenated_string: $ => prec.right(seq( + choice( + seq($.identifier, $.string_literal), + seq($.string_literal, $.string_literal), + seq($.string_literal, $.identifier), + ), + repeat(choice($.string_literal, $.identifier)), + )), + + string_literal: $ => choice($.grit_metavariable, $._string_literal), + + _string_literal: $ => seq( + choice('L"', 'u"', 'U"', 'u8"', '"'), + repeat(choice( + alias(token.immediate(prec(1, /[^\\"\n]+/)), $.string_content), + $.escape_sequence, + )), + '"', + ), + + escape_sequence: _ => token(prec(1, seq( + '\\', + choice( + /[^xuU]/, + /\d{2,3}/, + /x[0-9a-fA-F]{2,}/, + /u[0-9a-fA-F]{4}/, + /U[0-9a-fA-F]{8}/, + ), + ))), + + system_lib_string: _ => token(seq( + '<', + repeat(choice(/[^>\n]/, '\\>')), + '>', + )), + + true: _ => token(choice('TRUE', 'true')), + false: _ => token(choice('FALSE', 'false')), + null: _ => choice('NULL', 'nullptr'), + + identifier: $ => field('identifier', choice($.grit_metavariable, $._identifier)), + _identifier: $ => + // eslint-disable-next-line max-len + /(\p{XID_Start}|\$|_|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})(\p{XID_Continue}|\$|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})*/, + + _type_identifier: $ => alias( + $.identifier, + $.type_identifier, + ), + _field_identifier: $ => alias($.identifier, $.field_identifier), + _statement_identifier: $ => alias($.identifier, $.statement_identifier), + + _empty_declaration: $ => seq( + $.type_specifier, + ';', + ), + + macro_type_specifier: $ => prec.dynamic(-1, seq( + field('name', $.identifier), + '(', + field('type', $.type_descriptor), + ')', + )), + + // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 + comment: _ => token(choice( + seq('//', /(\\+(.|\r?\n)|[^\\\n])*/), + seq( + '/*', + /[^*]*\*+([^/*][^*]*\*+)*/, + '/', + ), + )), + + grit_metavariable: ($) => token(prec(PREC.GRIT_METAVARIABLE, choice("µ...", /µ[a-zA-Z_][a-zA-Z0-9_]*/))), + }, +}); + +module.exports.PREC = PREC; + +/** + * + * @param {string} suffix + * + * @param {RuleBuilder} content + * + * @param {number} precedence + * + * @return {RuleBuilders} + */ +function preprocIf(suffix, content, precedence = 0) { + /** + * + * @param {GrammarSymbols} $ + * + * @return {ChoiceRule} + * + */ + function alternativeBlock($) { + return choice( + suffix ? alias($['preproc_else' + suffix], $.preproc_else) : $.preproc_else, + suffix ? alias($['preproc_elif' + suffix], $.preproc_elif) : $.preproc_elif, + suffix ? alias($['preproc_elifdef' + suffix], $.preproc_elifdef) : $.preproc_elifdef, + ); + } + + return { + ['preproc_if' + suffix]: $ => prec(precedence, seq( + preprocessor('if'), + field('condition', $._preproc_expression), + '\n', + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + preprocessor('endif'), + )), + + ['preproc_ifdef' + suffix]: $ => prec(precedence, seq( + choice(preprocessor('ifdef'), preprocessor('ifndef')), + field('name', $.identifier), + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + preprocessor('endif'), + )), + + ['preproc_else' + suffix]: $ => prec(precedence, seq( + preprocessor('else'), + repeat(content($)), + )), + + ['preproc_elif' + suffix]: $ => prec(precedence, seq( + preprocessor('elif'), + field('condition', $._preproc_expression), + '\n', + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + )), + + ['preproc_elifdef' + suffix]: $ => prec(precedence, seq( + choice(preprocessor('elifdef'), preprocessor('elifndef')), + field('name', $.identifier), + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + )), + }; +} + +/** + * Creates a preprocessor regex rule + * + * @param {RegExp|Rule|String} command + * + * @return {AliasRule} + */ +function preprocessor(command) { + return alias(new RegExp('#[ \t]*' + command), '#' + command); +} + +/** + * Creates a rule to optionally match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {ChoiceRule} + * + */ +function commaSep(rule) { + return optional(commaSep1(rule)); +} + +/** + * Creates a rule to match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {SeqRule} + * + */ +function commaSep1(rule) { + return seq(rule, repeat(seq(',', rule))); +} diff --git a/resources/language-metavariables/tree-sitter-c/package-lock.json b/resources/language-metavariables/tree-sitter-c/package-lock.json new file mode 100644 index 000000000..b57b3edaf --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/package-lock.json @@ -0,0 +1,1474 @@ +{ + "name": "tree-sitter-c", + "version": "0.21.4", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-c", + "version": "0.21.4", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "devDependencies": { + "eslint": "^8.57.0", + "eslint-config-google": "^0.14.0", + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.22.6" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": 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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "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/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "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/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.57.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz", + "integrity": "sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.0.0.tgz", + "integrity": "sha512-ipO7rsHEBqa9STO5C5T10fj732ml+5kLN1cAG8/jdHd56ldQeGj3Q7+scUS+VHK/qy1zLEwC4wMK5+yM0btPvw==", + "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/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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/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/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "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": { + "queue-microtask": "^1.2.2" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tree-sitter": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.21.1.tgz", + "integrity": "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" + } + }, + "node_modules/tree-sitter-cli": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.22.6.tgz", + "integrity": "sha512-s7mYOJXi8sIFkt/nLJSqlYZP96VmKTc3BAwIX0rrrlRxWjWuCwixFqwzxWZBQz4R8Hx01iP7z3cT3ih58BUmZQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "tree-sitter": "cli.js" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "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 + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/resources/language-metavariables/tree-sitter-c/package.json b/resources/language-metavariables/tree-sitter-c/package.json new file mode 100644 index 000000000..bab828e84 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/package.json @@ -0,0 +1,108 @@ +{ + "name": "tree-sitter-c", + "version": "0.21.4", + "description": "C grammar for tree-sitter", + "repository": "github:tree-sitter/tree-sitter-c", + "license": "MIT", + "author": "Max Brunsfeld ", + "contributors": [ + "Amaan Qureshi " + ], + "main": "bindings/node", + "types": "bindings/node", + "keywords": [ + "incremental", + "parsing", + "tree-sitter", + "c" + ], + "files": [ + "grammar.js", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**" + ], + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + }, + "devDependencies": { + "eslint": "^8.57.0", + "eslint-config-google": "^0.14.0", + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.22.6" + }, + "scripts": { + "install": "node-gyp-build", + "prebuildify": "prebuildify --napi --strip", + "build": "tree-sitter generate --no-bindings", + "build-wasm": "tree-sitter build --wasm", + "lint": "eslint grammar.js", + "parse": "tree-sitter parse", + "test": "tree-sitter test" + }, + "tree-sitter": [ + { + "scope": "source.c", + "file-types": [ + "c", + "h" + ], + "injection-regex": "^(c|h)$", + "highlights": "queries/highlights.scm", + "tags": "queries/tags.scm" + } + ], + "eslintConfig": { + "env": { + "commonjs": true, + "es2021": true + }, + "extends": "google", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "rules": { + "arrow-parens": "off", + "camel-case": "off", + "indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "max-len": [ + "error", + { + "code": 160, + "ignoreComments": true, + "ignoreUrls": true, + "ignoreStrings": true + } + ], + "spaced-comment": [ + "warn", + "always", + { + "line": { + "markers": [ + "/" + ] + } + } + ] + } + } +} diff --git a/resources/language-metavariables/tree-sitter-c/pyproject.toml b/resources/language-metavariables/tree-sitter-c/pyproject.toml new file mode 100644 index 000000000..9942623e6 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/pyproject.toml @@ -0,0 +1,33 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "tree-sitter-c" +description = "C grammar for tree-sitter" +version = "0.21.4" +keywords = ["incremental", "parsing", "tree-sitter", "c"] +classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Topic :: Software Development :: Compilers", + "Topic :: Text Processing :: Linguistic", + "Typing :: Typed", +] +authors = [ + { name = "Max Brunsfeld", email = "maxbrunsfeld@gmail.com" }, + { name = "Amaan Qureshi", email = "amaanq12@gmail.com" }, +] +requires-python = ">=3.8" +license.text = "MIT" +readme = "README.md" + +[project.urls] +Homepage = "https://github.com/tree-sitter/tree-sitter-c" + +[project.optional-dependencies] +core = ["tree-sitter~=0.21"] + +[tool.cibuildwheel] +build = "cp38-*" +build-frontend = "build" diff --git a/resources/language-metavariables/tree-sitter-c/queries/highlights.scm b/resources/language-metavariables/tree-sitter-c/queries/highlights.scm new file mode 100644 index 000000000..8ee118900 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/queries/highlights.scm @@ -0,0 +1,81 @@ +(identifier) @variable + +((identifier) @constant + (#match? @constant "^[A-Z][A-Z\\d_]*$")) + +"break" @keyword +"case" @keyword +"const" @keyword +"continue" @keyword +"default" @keyword +"do" @keyword +"else" @keyword +"enum" @keyword +"extern" @keyword +"for" @keyword +"if" @keyword +"inline" @keyword +"return" @keyword +"sizeof" @keyword +"static" @keyword +"struct" @keyword +"switch" @keyword +"typedef" @keyword +"union" @keyword +"volatile" @keyword +"while" @keyword + +"#define" @keyword +"#elif" @keyword +"#else" @keyword +"#endif" @keyword +"#if" @keyword +"#ifdef" @keyword +"#ifndef" @keyword +"#include" @keyword +(preproc_directive) @keyword + +"--" @operator +"-" @operator +"-=" @operator +"->" @operator +"=" @operator +"!=" @operator +"*" @operator +"&" @operator +"&&" @operator +"+" @operator +"++" @operator +"+=" @operator +"<" @operator +"==" @operator +">" @operator +"||" @operator + +"." @delimiter +";" @delimiter + +(string_literal) @string +(system_lib_string) @string + +(null) @constant +(number_literal) @number +(char_literal) @number + +(field_identifier) @property +(statement_identifier) @label +(type_identifier) @type +(primitive_type) @type +(sized_type_specifier) @type + +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (field_identifier) @function)) +(function_declarator + declarator: (identifier) @function) +(preproc_function_def + name: (identifier) @function.special) + +(comment) @comment diff --git a/resources/language-metavariables/tree-sitter-c/queries/tags.scm b/resources/language-metavariables/tree-sitter-c/queries/tags.scm new file mode 100644 index 000000000..964756656 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/queries/tags.scm @@ -0,0 +1,9 @@ +(struct_specifier name: (type_identifier) @name body:(_)) @definition.class + +(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class + +(function_declarator declarator: (identifier) @name) @definition.function + +(type_definition declarator: (type_identifier) @name) @definition.type + +(enum_specifier name: (type_identifier) @name) @definition.type diff --git a/resources/language-metavariables/tree-sitter-c/setup.py b/resources/language-metavariables/tree-sitter-c/setup.py new file mode 100644 index 000000000..2d214fa9b --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/setup.py @@ -0,0 +1,56 @@ +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_c", "queries") + self.copy_tree("queries", dest) + super().run() + + +class BdistWheel(bdist_wheel): + def get_tag(self): + python, abi, platform = super().get_tag() + if python.startswith("cp"): + python, abi = "cp38", "abi3" + return python, abi, platform + + +setup( + packages=find_packages("bindings/python"), + package_dir={"": "bindings/python"}, + package_data={ + "tree_sitter_c": ["*.pyi", "py.typed"], + "tree_sitter_c.queries": ["*.scm"], + }, + ext_package="tree_sitter_c", + ext_modules=[ + Extension( + name="_binding", + sources=[ + "bindings/python/tree_sitter_c/binding.c", + "src/parser.c", + ], + extra_compile_args=( + ["-std=c11"] if system() != 'Windows' else [] + ), + define_macros=[ + ("Py_LIMITED_API", "0x03080000"), + ("PY_SSIZE_T_CLEAN", None) + ], + include_dirs=["src"], + py_limited_api=True, + ) + ], + cmdclass={ + "build": Build, + "bdist_wheel": BdistWheel + }, + zip_safe=False +) diff --git a/resources/language-metavariables/tree-sitter-c/src/grammar.json b/resources/language-metavariables/tree-sitter-c/src/grammar.json new file mode 100644 index 000000000..8c58fb7ee --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/src/grammar.json @@ -0,0 +1,9799 @@ +{ + "name": "c", + "word": "_identifier", + "rules": { + "translation_unit": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_top_level_item" + } + }, + "_top_level_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_function_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "SYMBOL", + "name": "linkage_specification" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "_top_level_statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "_empty_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_if" + }, + { + "type": "SYMBOL", + "name": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_include" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + } + ] + }, + "_block_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_function_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "SYMBOL", + "name": "linkage_specification" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "_empty_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_if" + }, + { + "type": "SYMBOL", + "name": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_include" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + } + ] + }, + "preproc_include": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*include" + }, + "named": false, + "value": "#include" + }, + { + "type": "FIELD", + "name": "path", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "system_lib_string" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_call_expression" + }, + "named": true, + "value": "call_expression" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_def": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*define" + }, + "named": false, + "value": "#define" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_function_def": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*define" + }, + "named": false, + "value": "#define" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "preproc_params" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_params": { + "type": "SEQ", + "members": [ + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "STRING", + "value": "(" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "..." + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "..." + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_call": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "directive", + "content": { + "type": "SYMBOL", + "name": "preproc_directive" + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_if": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + } + ] + } + }, + "preproc_elif": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + } + ] + } + }, + "preproc_elif_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + } + ] + } + }, + "preproc_elif_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + } + ] + } + }, + "preproc_elif_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_arg": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": -1, + "content": { + "type": "PATTERN", + "value": "\\S([^/\\n]|\\/[^*]|\\\\\\r?\\n)*" + } + } + }, + "preproc_directive": { + "type": "PATTERN", + "value": "#[ \\t]*[a-zA-Z0-9]\\w*" + }, + "_preproc_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_call_expression" + }, + "named": true, + "value": "call_expression" + }, + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "preproc_defined" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_unary_expression" + }, + "named": true, + "value": "unary_expression" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_binary_expression" + }, + "named": true, + "value": "binary_expression" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_parenthesized_expression" + }, + "named": true, + "value": "parenthesized_expression" + } + ] + }, + "preproc_parenthesized_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_preproc_expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_defined": { + "type": "CHOICE", + "members": [ + { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "defined" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "defined" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + }, + "preproc_unary_expression": { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "~" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "+" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + "preproc_call_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_argument_list" + }, + "named": true, + "value": "argument_list" + } + } + ] + } + }, + "preproc_argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_preproc_expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_preproc_expression" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_binary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "==" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "!=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + } + ] + }, + "function_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "_old_style_function_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_function_declarator" + }, + "named": true, + "value": "function_declarator" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "declaration" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_declarator" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "init_declarator" + } + ] + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_declarator" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "init_declarator" + } + ] + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "type_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "typedef" + }, + { + "type": "SYMBOL", + "name": "_type_definition_type" + }, + { + "type": "SYMBOL", + "name": "_type_definition_declarators" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_type_definition_type": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + } + ] + }, + "_type_definition_declarators": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + } + ] + } + } + ] + }, + "_declaration_modifiers": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "storage_class_specifier" + }, + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "SYMBOL", + "name": "attribute_declaration" + }, + { + "type": "SYMBOL", + "name": "ms_declspec_modifier" + } + ] + }, + "_declaration_specifiers": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_declaration_modifiers" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_declaration_modifiers" + } + } + ] + } + }, + "linkage_specification": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "extern" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "declaration_list" + } + ] + } + } + ] + }, + "attribute_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__attribute__" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "attribute": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "prefix", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "::" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "attribute_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "attribute" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "attribute" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "]]" + } + ] + }, + "ms_declspec_modifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__declspec" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "ms_based_modifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__based" + }, + { + "type": "SYMBOL", + "name": "argument_list" + } + ] + }, + "ms_call_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__cdecl" + }, + { + "type": "STRING", + "value": "__clrcall" + }, + { + "type": "STRING", + "value": "__stdcall" + }, + { + "type": "STRING", + "value": "__fastcall" + }, + { + "type": "STRING", + "value": "__thiscall" + }, + { + "type": "STRING", + "value": "__vectorcall" + } + ] + }, + "ms_restrict_modifier": { + "type": "STRING", + "value": "__restrict" + }, + "ms_unsigned_ptr_modifier": { + "type": "STRING", + "value": "__uptr" + }, + "ms_signed_ptr_modifier": { + "type": "STRING", + "value": "__sptr" + }, + "ms_unaligned_ptr_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "_unaligned" + }, + { + "type": "STRING", + "value": "__unaligned" + } + ] + }, + "ms_pointer_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_unaligned_ptr_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_restrict_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_unsigned_ptr_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_signed_ptr_modifier" + } + ] + }, + "declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_declarator" + }, + { + "type": "SYMBOL", + "name": "pointer_declarator" + }, + { + "type": "SYMBOL", + "name": "function_declarator" + }, + { + "type": "SYMBOL", + "name": "array_declarator" + }, + { + "type": "SYMBOL", + "name": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "_declaration_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_declarator" + }, + { + "type": "SYMBOL", + "name": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_function_declaration_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "SYMBOL", + "name": "array_declarator" + }, + { + "type": "SYMBOL", + "name": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "_field_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "attributed_field_declarator" + }, + "named": true, + "value": "attributed_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "pointer_field_declarator" + }, + "named": true, + "value": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "function_field_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "array_field_declarator" + }, + "named": true, + "value": "array_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "parenthesized_field_declarator" + }, + "named": true, + "value": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + }, + "_type_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "attributed_type_declarator" + }, + "named": true, + "value": "attributed_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "pointer_type_declarator" + }, + "named": true, + "value": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "function_type_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "array_type_declarator" + }, + "named": true, + "value": "array_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "parenthesized_type_declarator" + }, + "named": true, + "value": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + }, + "named": true, + "value": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + "_abstract_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "abstract_pointer_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_function_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_array_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_parenthesized_declarator" + } + ] + }, + "parenthesized_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "parenthesized_field_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_field_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "parenthesized_type_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "abstract_parenthesized_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "attributed_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "attributed_field_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_field_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "attributed_type_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "pointer_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + } + ] + } + } + }, + "pointer_field_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + } + ] + } + } + }, + "pointer_type_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + } + ] + } + } + }, + "abstract_pointer_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + } + }, + "function_declarator": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_call_expression" + }, + "named": true, + "value": "call_expression" + } + ] + } + } + ] + } + }, + "_function_declaration_declarator": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + } + ] + } + }, + "function_field_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + } + ] + } + }, + "function_type_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + } + ] + } + }, + "abstract_function_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + } + ] + } + }, + "_old_style_function_declarator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_parameter_list" + }, + "named": true, + "value": "parameter_list" + } + } + ] + }, + "array_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "array_field_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "array_type_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "abstract_array_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "init_declarator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + } + ] + }, + "compound_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "storage_class_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "extern" + }, + { + "type": "STRING", + "value": "static" + }, + { + "type": "STRING", + "value": "auto" + }, + { + "type": "STRING", + "value": "register" + }, + { + "type": "STRING", + "value": "inline" + }, + { + "type": "STRING", + "value": "__inline" + }, + { + "type": "STRING", + "value": "__inline__" + }, + { + "type": "STRING", + "value": "__forceinline" + }, + { + "type": "STRING", + "value": "thread_local" + }, + { + "type": "STRING", + "value": "__thread" + } + ] + }, + "type_qualifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "const" + }, + { + "type": "STRING", + "value": "constexpr" + }, + { + "type": "STRING", + "value": "volatile" + }, + { + "type": "STRING", + "value": "restrict" + }, + { + "type": "STRING", + "value": "__restrict__" + }, + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "STRING", + "value": "_Atomic" + }, + { + "type": "STRING", + "value": "_Noreturn" + }, + { + "type": "STRING", + "value": "noreturn" + }, + { + "type": "SYMBOL", + "name": "alignas_qualifier" + } + ] + }, + "alignas_qualifier": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "alignas" + }, + { + "type": "STRING", + "value": "_Alignas" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "type_descriptor" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "type_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "struct_specifier" + }, + { + "type": "SYMBOL", + "name": "union_specifier" + }, + { + "type": "SYMBOL", + "name": "enum_specifier" + }, + { + "type": "SYMBOL", + "name": "macro_type_specifier" + }, + { + "type": "SYMBOL", + "name": "sized_type_specifier" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + } + ] + }, + "sized_type_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + } + ] + } + ] + }, + "primitive_type": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "bool" + }, + { + "type": "STRING", + "value": "char" + }, + { + "type": "STRING", + "value": "int" + }, + { + "type": "STRING", + "value": "float" + }, + { + "type": "STRING", + "value": "double" + }, + { + "type": "STRING", + "value": "void" + }, + { + "type": "STRING", + "value": "size_t" + }, + { + "type": "STRING", + "value": "ssize_t" + }, + { + "type": "STRING", + "value": "ptrdiff_t" + }, + { + "type": "STRING", + "value": "intptr_t" + }, + { + "type": "STRING", + "value": "uintptr_t" + }, + { + "type": "STRING", + "value": "charptr_t" + }, + { + "type": "STRING", + "value": "nullptr_t" + }, + { + "type": "STRING", + "value": "max_align_t" + }, + { + "type": "STRING", + "value": "int8_t" + }, + { + "type": "STRING", + "value": "int16_t" + }, + { + "type": "STRING", + "value": "int32_t" + }, + { + "type": "STRING", + "value": "int64_t" + }, + { + "type": "STRING", + "value": "uint8_t" + }, + { + "type": "STRING", + "value": "uint16_t" + }, + { + "type": "STRING", + "value": "uint32_t" + }, + { + "type": "STRING", + "value": "uint64_t" + }, + { + "type": "STRING", + "value": "char8_t" + }, + { + "type": "STRING", + "value": "char16_t" + }, + { + "type": "STRING", + "value": "char32_t" + }, + { + "type": "STRING", + "value": "char64_t" + } + ] + } + }, + "enum_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "enum" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "underlying_type", + "content": { + "type": "SYMBOL", + "name": "primitive_type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator_list" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "enumerator_list" + } + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "enumerator_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_enumerator_list" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_ifdef" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "STRING", + "value": "," + } + ] + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "struct_specifier": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "struct" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_declspec_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_declaration_list" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_declaration_list" + } + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "union_specifier": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "union" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_declspec_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_declaration_list" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_declaration_list" + } + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "field_declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_field_declaration_list_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_field_declaration_list" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_ifdef" + } + ] + }, + "field_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_declaration_declarator" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_field_declaration_declarator": { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + } + } + ] + }, + "bitfield_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "enumerator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "variadic_parameter": { + "type": "STRING", + "value": "..." + }, + "parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "_old_style_parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "SYMBOL", + "name": "_abstract_declarator" + } + ] + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "attributed_statement": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "case_statement" + }, + { + "type": "SYMBOL", + "name": "_non_case_statement" + } + ] + }, + "_non_case_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "labeled_statement" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "SYMBOL", + "name": "expression_statement" + }, + { + "type": "SYMBOL", + "name": "if_statement" + }, + { + "type": "SYMBOL", + "name": "switch_statement" + }, + { + "type": "SYMBOL", + "name": "do_statement" + }, + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "return_statement" + }, + { + "type": "SYMBOL", + "name": "break_statement" + }, + { + "type": "SYMBOL", + "name": "continue_statement" + }, + { + "type": "SYMBOL", + "name": "goto_statement" + }, + { + "type": "SYMBOL", + "name": "seh_try_statement" + }, + { + "type": "SYMBOL", + "name": "seh_leave_statement" + } + ] + }, + "_top_level_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "case_statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "labeled_statement" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_top_level_expression_statement" + }, + "named": true, + "value": "expression_statement" + }, + { + "type": "SYMBOL", + "name": "if_statement" + }, + { + "type": "SYMBOL", + "name": "switch_statement" + }, + { + "type": "SYMBOL", + "name": "do_statement" + }, + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "return_statement" + }, + { + "type": "SYMBOL", + "name": "break_statement" + }, + { + "type": "SYMBOL", + "name": "continue_statement" + }, + { + "type": "SYMBOL", + "name": "goto_statement" + } + ] + }, + "labeled_statement": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "_statement_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "_top_level_expression_statement": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "expression_statement": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "if_statement": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "FIELD", + "name": "consequence", + "content": { + "type": "SYMBOL", + "name": "statement" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "SYMBOL", + "name": "else_clause" + } + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "else_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "switch_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "switch" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "case_statement": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "case" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "STRING", + "value": "default" + } + ] + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_non_case_statement" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + } + } + ] + } + }, + "while_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "while" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + } + ] + }, + "do_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "do" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + }, + { + "type": "STRING", + "value": "while" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "for_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_for_statement_body" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + } + ] + }, + "_for_statement_body": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "SYMBOL", + "name": "declaration" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "update", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + "return_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "return" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "break_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "break" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "continue_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "continue" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "goto_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "goto" + }, + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "_statement_identifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "seh_try_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__try" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "seh_except_clause" + }, + { + "type": "SYMBOL", + "name": "seh_finally_clause" + } + ] + } + ] + }, + "seh_except_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__except" + }, + { + "type": "FIELD", + "name": "filter", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "seh_finally_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__finally" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "seh_leave_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__leave" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "SYMBOL", + "name": "binary_expression" + } + ] + }, + "_expression_not_binary": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "conditional_expression" + }, + { + "type": "SYMBOL", + "name": "assignment_expression" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + }, + { + "type": "SYMBOL", + "name": "update_expression" + }, + { + "type": "SYMBOL", + "name": "cast_expression" + }, + { + "type": "SYMBOL", + "name": "pointer_expression" + }, + { + "type": "SYMBOL", + "name": "sizeof_expression" + }, + { + "type": "SYMBOL", + "name": "alignof_expression" + }, + { + "type": "SYMBOL", + "name": "offsetof_expression" + }, + { + "type": "SYMBOL", + "name": "generic_expression" + }, + { + "type": "SYMBOL", + "name": "subscript_expression" + }, + { + "type": "SYMBOL", + "name": "call_expression" + }, + { + "type": "SYMBOL", + "name": "field_expression" + }, + { + "type": "SYMBOL", + "name": "compound_literal_expression" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "_string" + }, + { + "type": "SYMBOL", + "name": "true" + }, + { + "type": "SYMBOL", + "name": "false" + }, + { + "type": "SYMBOL", + "name": "null" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + }, + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + } + ] + }, + "_string": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "concatenated_string" + } + ] + } + }, + "comma_expression": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + } + } + ] + }, + "conditional_expression": { + "type": "PREC_RIGHT", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "?" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "consequence", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "_assignment_left_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "call_expression" + }, + { + "type": "SYMBOL", + "name": "field_expression" + }, + { + "type": "SYMBOL", + "name": "pointer_expression" + }, + { + "type": "SYMBOL", + "name": "subscript_expression" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + ] + }, + "assignment_expression": { + "type": "PREC_RIGHT", + "value": -2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_assignment_left_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": ">>=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "|=" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "pointer_expression": { + "type": "PREC_LEFT", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "&" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "unary_expression": { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "~" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "+" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "binary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "==" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "!=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] + }, + "update_expression": { + "type": "PREC_RIGHT", + "value": 14, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "--" + }, + { + "type": "STRING", + "value": "++" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "--" + }, + { + "type": "STRING", + "value": "++" + } + ] + } + } + ] + } + ] + } + }, + "cast_expression": { + "type": "PREC", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "type_descriptor": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + "sizeof_expression": { + "type": "PREC", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "sizeof" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + ] + } + }, + "alignof_expression": { + "type": "PREC", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__alignof__" + }, + { + "type": "STRING", + "value": "__alignof" + }, + { + "type": "STRING", + "value": "_alignof" + }, + { + "type": "STRING", + "value": "alignof" + }, + { + "type": "STRING", + "value": "_Alignof" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + }, + "offsetof_expression": { + "type": "PREC", + "value": 8, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "offsetof" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "member", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + }, + "generic_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "_Generic" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_descriptor" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_descriptor" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "subscript_expression": { + "type": "PREC", + "value": 17, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "index", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "call_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "argument_list" + } + } + ] + } + }, + "gnu_asm_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "asm" + }, + { + "type": "STRING", + "value": "__asm__" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_qualifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "assembly_code", + "content": { + "type": "SYMBOL", + "name": "_string" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "output_operands", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "input_operands", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clobbers", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_clobber_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "goto_labels", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_goto_list" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "gnu_asm_qualifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "volatile" + }, + { + "type": "STRING", + "value": "inline" + }, + { + "type": "STRING", + "value": "goto" + } + ] + }, + "gnu_asm_output_operand_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_output_operand": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "symbol", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "gnu_asm_input_operand_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_input_operand": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "symbol", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "gnu_asm_clobber_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "register", + "content": { + "type": "SYMBOL", + "name": "_string" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "register", + "content": { + "type": "SYMBOL", + "name": "_string" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_goto_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "compound_statement" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "compound_statement" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "field_expression": { + "type": "SEQ", + "members": [ + { + "type": "PREC", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "STRING", + "value": "->" + } + ] + } + } + ] + } + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + } + ] + }, + "compound_literal_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + } + ] + }, + "parenthesized_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "initializer_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_pair" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_pair" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "initializer_pair": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "designator", + "content": { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "subscript_designator" + }, + { + "type": "SYMBOL", + "name": "field_designator" + }, + { + "type": "SYMBOL", + "name": "subscript_range_designator" + } + ] + } + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "designator", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + ] + }, + "subscript_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "subscript_range_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "start", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "FIELD", + "name": "end", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "field_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + }, + "number_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_number_literal" + }, + { + "type": "SYMBOL", + "name": "grit_metavariable" + } + ] + }, + "_number_literal": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "0[xX]" + }, + { + "type": "PATTERN", + "value": "0[bB]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "0[bB]" + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "0[xX]" + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[eEpP]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "PATTERN", + "value": "[uUlLwWfFbBdD]*" + } + ] + } + }, + "char_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_char_literal" + } + ] + }, + "_char_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "L'" + }, + { + "type": "STRING", + "value": "u'" + }, + { + "type": "STRING", + "value": "U'" + }, + { + "type": "STRING", + "value": "u8'" + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "escape_sequence" + }, + { + "type": "ALIAS", + "content": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "[^\\n']" + } + }, + "named": true, + "value": "character" + } + ] + } + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + "concatenated_string": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "string_literal" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "string_literal" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + } + }, + "string_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_string_literal" + } + ] + }, + "_string_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "L\"" + }, + { + "type": "STRING", + "value": "u\"" + }, + { + "type": "STRING", + "value": "U\"" + }, + { + "type": "STRING", + "value": "u8\"" + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "PATTERN", + "value": "[^\\\\\"\\n]+" + } + } + }, + "named": true, + "value": "string_content" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "escape_sequence": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\\" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^xuU]" + }, + { + "type": "PATTERN", + "value": "\\d{2,3}" + }, + { + "type": "PATTERN", + "value": "x[0-9a-fA-F]{2,}" + }, + { + "type": "PATTERN", + "value": "u[0-9a-fA-F]{4}" + }, + { + "type": "PATTERN", + "value": "U[0-9a-fA-F]{8}" + } + ] + } + ] + } + } + }, + "system_lib_string": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^>\\n]" + }, + { + "type": "STRING", + "value": "\\>" + } + ] + } + }, + { + "type": "STRING", + "value": ">" + } + ] + } + }, + "true": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "TRUE" + }, + { + "type": "STRING", + "value": "true" + } + ] + } + }, + "false": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "FALSE" + }, + { + "type": "STRING", + "value": "false" + } + ] + } + }, + "null": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "NULL" + }, + { + "type": "STRING", + "value": "nullptr" + } + ] + }, + "identifier": { + "type": "FIELD", + "name": "identifier", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_identifier" + } + ] + } + }, + "_identifier": { + "type": "PATTERN", + "value": "(\\p{XID_Start}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})(\\p{XID_Continue}|\\$|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})*" + }, + "_type_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "type_identifier" + }, + "_field_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "field_identifier" + }, + "_statement_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "statement_identifier" + }, + "_empty_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_specifier" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "macro_type_specifier": { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "comment": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "//" + }, + { + "type": "PATTERN", + "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/*" + }, + { + "type": "PATTERN", + "value": "[^*]*\\*+([^/*][^*]*\\*+)*" + }, + { + "type": "STRING", + "value": "/" + } + ] + } + ] + } + }, + "grit_metavariable": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 100, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "µ..." + }, + { + "type": "PATTERN", + "value": "µ[a-zA-Z_][a-zA-Z0-9_]*" + } + ] + } + } + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s|\\\\\\r?\\n" + }, + { + "type": "SYMBOL", + "name": "comment" + } + ], + "conflicts": [ + [ + "type_specifier", + "_declarator" + ], + [ + "type_specifier", + "_declarator", + "macro_type_specifier" + ], + [ + "type_specifier", + "expression" + ], + [ + "type_specifier", + "expression", + "macro_type_specifier" + ], + [ + "type_specifier", + "macro_type_specifier" + ], + [ + "type_specifier", + "sized_type_specifier" + ], + [ + "sized_type_specifier" + ], + [ + "attributed_statement" + ], + [ + "_declaration_modifiers", + "attributed_statement" + ], + [ + "enum_specifier" + ], + [ + "type_specifier", + "_old_style_parameter_list" + ], + [ + "parameter_list", + "_old_style_parameter_list" + ], + [ + "function_declarator", + "_function_declaration_declarator" + ], + [ + "_block_item", + "statement" + ], + [ + "_top_level_item", + "_top_level_statement" + ], + [ + "type_specifier", + "_top_level_expression_statement" + ], + [ + "linkage_specification", + "storage_class_specifier" + ], + [ + "identifier", + "char_literal", + "string_literal" + ], + [ + "identifier", + "string_literal" + ], + [ + "type_specifier", + "concatenated_string" + ], + [ + "identifier", + "char_literal" + ], + [ + "expression", + "concatenated_string" + ], + [ + "identifier", + "number_literal", + "char_literal", + "string_literal" + ], + [ + "number_literal", + "char_literal", + "string_literal" + ], + [ + "identifier", + "number_literal", + "char_literal" + ] + ], + "precedences": [], + "externals": [], + "inline": [ + "_type_identifier", + "_field_identifier", + "_statement_identifier", + "_non_case_statement", + "_assignment_left_expression", + "_expression_not_binary" + ], + "supertypes": [ + "expression", + "statement", + "type_specifier", + "_declarator", + "_field_declarator", + "_type_declarator", + "_abstract_declarator" + ] +} diff --git a/resources/language-metavariables/tree-sitter-c/src/node-types.json b/resources/language-metavariables/tree-sitter-c/src/node-types.json new file mode 100644 index 000000000..ec2d205c6 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/src/node-types.json @@ -0,0 +1,4627 @@ +[ + { + "type": "_abstract_declarator", + "named": true, + "subtypes": [ + { + "type": "abstract_array_declarator", + "named": true + }, + { + "type": "abstract_function_declarator", + "named": true + }, + { + "type": "abstract_parenthesized_declarator", + "named": true + }, + { + "type": "abstract_pointer_declarator", + "named": true + } + ] + }, + { + "type": "_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + { + "type": "_field_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + { + "type": "_type_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + { + "type": "expression", + "named": true, + "subtypes": [ + { + "type": "alignof_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "cast_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "compound_literal_expression", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "conditional_expression", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "generic_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "offsetof_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "sizeof_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + }, + { + "type": "type_specifier", + "named": true, + "subtypes": [ + { + "type": "enum_specifier", + "named": true + }, + { + "type": "macro_type_specifier", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "struct_specifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "union_specifier", + "named": true + } + ] + }, + { + "type": "abstract_array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "abstract_parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "abstract_pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "alignas_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "alignof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "%=", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "|=", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "prefix": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attribute_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "attribute_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attributed_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "attributed_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + } + }, + { + "type": "bitfield_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "break_statement", + "named": true, + "fields": {} + }, + { + "type": "call_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "case_statement", + "named": true, + "fields": { + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "cast_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "char_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "character", + "named": true + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "comma_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "compound_literal_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "compound_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "concatenated_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "conditional_expression", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {} + }, + { + "type": "declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "init_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "do_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "enum_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "enumerator_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "underlying_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + } + ] + } + }, + { + "type": "enumerator", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enumerator_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enumerator", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "field_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_field_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "bitfield_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_declaration", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "field_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + } + }, + { + "type": "field_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + } + ] + } + } + }, + { + "type": "field_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "update": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "function_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "generic_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_clobber_list", + "named": true, + "fields": { + "register": { + "multiple": true, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_expression", + "named": true, + "fields": { + "assembly_code": { + "multiple": false, + "required": true, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + }, + "clobbers": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_clobber_list", + "named": true + } + ] + }, + "goto_labels": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_goto_list", + "named": true + } + ] + }, + "input_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand_list", + "named": true + } + ] + }, + "output_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_qualifier", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_goto_list", + "named": true, + "fields": { + "label": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_qualifier", + "named": true, + "fields": {} + }, + { + "type": "goto_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + } + }, + { + "type": "init_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "initializer_pair", + "named": true + } + ] + } + }, + { + "type": "initializer_pair", + "named": true, + "fields": { + "designator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_designator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "subscript_designator", + "named": true + }, + { + "type": "subscript_range_designator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "linkage_specification", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "declaration_list", + "named": true + }, + { + "type": "function_definition", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "macro_type_specifier", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "ms_based_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "ms_call_modifier", + "named": true, + "fields": {} + }, + { + "type": "ms_declspec_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "ms_pointer_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + } + ] + } + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true, + "fields": {} + }, + { + "type": "null", + "named": true, + "fields": {} + }, + { + "type": "number_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "offsetof_expression", + "named": true, + "fields": { + "member": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter", + "named": true + } + ] + } + }, + { + "type": "parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "pointer_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&", + "named": false + }, + { + "type": "*", + "named": false + } + ] + } + } + }, + { + "type": "preproc_call", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + }, + "directive": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_directive", + "named": true + } + ] + } + } + }, + { + "type": "preproc_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_defined", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elif", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_else", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_function_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_params", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_if", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_ifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_include", + "named": true, + "fields": { + "path": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "system_lib_string", + "named": true + } + ] + } + } + }, + { + "type": "preproc_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "seh_except_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "filter": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "seh_finally_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + } + }, + { + "type": "seh_leave_statement", + "named": true, + "fields": {} + }, + { + "type": "seh_try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "seh_except_clause", + "named": true + }, + { + "type": "seh_finally_clause", + "named": true + } + ] + } + }, + { + "type": "sized_type_specifier", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "sizeof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "statement_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "storage_class_specifier", + "named": true, + "fields": {} + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "string_content", + "named": true + } + ] + } + }, + { + "type": "struct_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + } + ] + } + }, + { + "type": "subscript_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "index": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "subscript_range_designator", + "named": true, + "fields": { + "end": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "start": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "translation_unit", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "type_definition", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_descriptor", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "type_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "~", + "named": false + } + ] + } + } + }, + { + "type": "union_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + } + ] + } + }, + { + "type": "update_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "++", + "named": false + }, + { + "type": "--", + "named": false + } + ] + } + } + }, + { + "type": "variadic_parameter", + "named": true, + "fields": {} + }, + { + "type": "while_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "\n", + "named": false + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "#define", + "named": false + }, + { + "type": "#elif", + "named": false + }, + { + "type": "#elifdef", + "named": false + }, + { + "type": "#elifndef", + "named": false + }, + { + "type": "#else", + "named": false + }, + { + "type": "#endif", + "named": false + }, + { + "type": "#if", + "named": false + }, + { + "type": "#ifdef", + "named": false + }, + { + "type": "#ifndef", + "named": false + }, + { + "type": "#include", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "++", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "L\"", + "named": false + }, + { + "type": "L'", + "named": false + }, + { + "type": "NULL", + "named": false + }, + { + "type": "U\"", + "named": false + }, + { + "type": "U'", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "[[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "]]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "_Alignas", + "named": false + }, + { + "type": "_Alignof", + "named": false + }, + { + "type": "_Atomic", + "named": false + }, + { + "type": "_Generic", + "named": false + }, + { + "type": "_Noreturn", + "named": false + }, + { + "type": "__alignof", + "named": false + }, + { + "type": "__alignof__", + "named": false + }, + { + "type": "__asm__", + "named": false + }, + { + "type": "__attribute__", + "named": false + }, + { + "type": "__based", + "named": false + }, + { + "type": "__cdecl", + "named": false + }, + { + "type": "__clrcall", + "named": false + }, + { + "type": "__declspec", + "named": false + }, + { + "type": "__except", + "named": false + }, + { + "type": "__extension__", + "named": false + }, + { + "type": "__fastcall", + "named": false + }, + { + "type": "__finally", + "named": false + }, + { + "type": "__forceinline", + "named": false + }, + { + "type": "__inline", + "named": false + }, + { + "type": "__inline__", + "named": false + }, + { + "type": "__leave", + "named": false + }, + { + "type": "__restrict__", + "named": false + }, + { + "type": "__stdcall", + "named": false + }, + { + "type": "__thiscall", + "named": false + }, + { + "type": "__thread", + "named": false + }, + { + "type": "__try", + "named": false + }, + { + "type": "__unaligned", + "named": false + }, + { + "type": "__vectorcall", + "named": false + }, + { + "type": "_alignof", + "named": false + }, + { + "type": "_unaligned", + "named": false + }, + { + "type": "alignas", + "named": false + }, + { + "type": "alignof", + "named": false + }, + { + "type": "asm", + "named": false + }, + { + "type": "auto", + "named": false + }, + { + "type": "break", + "named": false + }, + { + "type": "case", + "named": false + }, + { + "type": "character", + "named": true + }, + { + "type": "comment", + "named": true + }, + { + "type": "const", + "named": false + }, + { + "type": "constexpr", + "named": false + }, + { + "type": "continue", + "named": false + }, + { + "type": "default", + "named": false + }, + { + "type": "defined", + "named": false + }, + { + "type": "do", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "extern", + "named": false + }, + { + "type": "false", + "named": true + }, + { + "type": "for", + "named": false + }, + { + "type": "goto", + "named": false + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "inline", + "named": false + }, + { + "type": "long", + "named": false + }, + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + }, + { + "type": "noreturn", + "named": false + }, + { + "type": "nullptr", + "named": false + }, + { + "type": "offsetof", + "named": false + }, + { + "type": "preproc_arg", + "named": true + }, + { + "type": "preproc_directive", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "register", + "named": false + }, + { + "type": "restrict", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "short", + "named": false + }, + { + "type": "signed", + "named": false + }, + { + "type": "sizeof", + "named": false + }, + { + "type": "static", + "named": false + }, + { + "type": "string_content", + "named": true + }, + { + "type": "struct", + "named": false + }, + { + "type": "switch", + "named": false + }, + { + "type": "system_lib_string", + "named": true + }, + { + "type": "thread_local", + "named": false + }, + { + "type": "true", + "named": true + }, + { + "type": "typedef", + "named": false + }, + { + "type": "u\"", + "named": false + }, + { + "type": "u'", + "named": false + }, + { + "type": "u8\"", + "named": false + }, + { + "type": "u8'", + "named": false + }, + { + "type": "union", + "named": false + }, + { + "type": "unsigned", + "named": false + }, + { + "type": "volatile", + "named": false + }, + { + "type": "while", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + }, + { + "type": "~", + "named": false + } +] \ No newline at end of file diff --git a/resources/language-metavariables/tree-sitter-c/src/parser.c b/resources/language-metavariables/tree-sitter-c/src/parser.c new file mode 100644 index 000000000..e54f96b22 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/src/parser.c @@ -0,0 +1,118517 @@ +#include "tree_sitter/parser.h" + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#ifdef _MSC_VER +#pragma optimize("", off) +#elif defined(__clang__) +#pragma clang optimize off +#elif defined(__GNUC__) +#pragma GCC optimize ("O0") +#endif + +#define LANGUAGE_VERSION 14 +#define STATE_COUNT 2024 +#define LARGE_STATE_COUNT 501 +#define SYMBOL_COUNT 360 +#define ALIAS_COUNT 3 +#define TOKEN_COUNT 158 +#define EXTERNAL_TOKEN_COUNT 0 +#define FIELD_COUNT 40 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define PRODUCTION_ID_COUNT 133 + +enum ts_symbol_identifiers { + sym__identifier = 1, + aux_sym_preproc_include_token1 = 2, + aux_sym_preproc_include_token2 = 3, + aux_sym_preproc_def_token1 = 4, + anon_sym_LPAREN = 5, + anon_sym_DOT_DOT_DOT = 6, + anon_sym_COMMA = 7, + anon_sym_RPAREN = 8, + aux_sym_preproc_if_token1 = 9, + anon_sym_LF = 10, + aux_sym_preproc_if_token2 = 11, + aux_sym_preproc_ifdef_token1 = 12, + aux_sym_preproc_ifdef_token2 = 13, + aux_sym_preproc_else_token1 = 14, + aux_sym_preproc_elif_token1 = 15, + aux_sym_preproc_elifdef_token1 = 16, + aux_sym_preproc_elifdef_token2 = 17, + sym_preproc_arg = 18, + sym_preproc_directive = 19, + anon_sym_LPAREN2 = 20, + anon_sym_defined = 21, + anon_sym_BANG = 22, + anon_sym_TILDE = 23, + anon_sym_DASH = 24, + anon_sym_PLUS = 25, + anon_sym_STAR = 26, + anon_sym_SLASH = 27, + anon_sym_PERCENT = 28, + anon_sym_PIPE_PIPE = 29, + anon_sym_AMP_AMP = 30, + anon_sym_PIPE = 31, + anon_sym_CARET = 32, + anon_sym_AMP = 33, + anon_sym_EQ_EQ = 34, + anon_sym_BANG_EQ = 35, + anon_sym_GT = 36, + anon_sym_GT_EQ = 37, + anon_sym_LT_EQ = 38, + anon_sym_LT = 39, + anon_sym_LT_LT = 40, + anon_sym_GT_GT = 41, + anon_sym_SEMI = 42, + anon_sym___extension__ = 43, + anon_sym_typedef = 44, + anon_sym_extern = 45, + anon_sym___attribute__ = 46, + anon_sym_COLON_COLON = 47, + anon_sym_LBRACK_LBRACK = 48, + anon_sym_RBRACK_RBRACK = 49, + anon_sym___declspec = 50, + anon_sym___based = 51, + anon_sym___cdecl = 52, + anon_sym___clrcall = 53, + anon_sym___stdcall = 54, + anon_sym___fastcall = 55, + anon_sym___thiscall = 56, + anon_sym___vectorcall = 57, + sym_ms_restrict_modifier = 58, + sym_ms_unsigned_ptr_modifier = 59, + sym_ms_signed_ptr_modifier = 60, + anon_sym__unaligned = 61, + anon_sym___unaligned = 62, + anon_sym_LBRACE = 63, + anon_sym_RBRACE = 64, + anon_sym_signed = 65, + anon_sym_unsigned = 66, + anon_sym_long = 67, + anon_sym_short = 68, + anon_sym_LBRACK = 69, + anon_sym_static = 70, + anon_sym_RBRACK = 71, + anon_sym_EQ = 72, + anon_sym_auto = 73, + anon_sym_register = 74, + anon_sym_inline = 75, + anon_sym___inline = 76, + anon_sym___inline__ = 77, + anon_sym___forceinline = 78, + anon_sym_thread_local = 79, + anon_sym___thread = 80, + anon_sym_const = 81, + anon_sym_constexpr = 82, + anon_sym_volatile = 83, + anon_sym_restrict = 84, + anon_sym___restrict__ = 85, + anon_sym__Atomic = 86, + anon_sym__Noreturn = 87, + anon_sym_noreturn = 88, + anon_sym_alignas = 89, + anon_sym__Alignas = 90, + sym_primitive_type = 91, + anon_sym_enum = 92, + anon_sym_COLON = 93, + anon_sym_struct = 94, + anon_sym_union = 95, + anon_sym_if = 96, + anon_sym_else = 97, + anon_sym_switch = 98, + anon_sym_case = 99, + anon_sym_default = 100, + anon_sym_while = 101, + anon_sym_do = 102, + anon_sym_for = 103, + anon_sym_return = 104, + anon_sym_break = 105, + anon_sym_continue = 106, + anon_sym_goto = 107, + anon_sym___try = 108, + anon_sym___except = 109, + anon_sym___finally = 110, + anon_sym___leave = 111, + anon_sym_QMARK = 112, + anon_sym_STAR_EQ = 113, + anon_sym_SLASH_EQ = 114, + anon_sym_PERCENT_EQ = 115, + anon_sym_PLUS_EQ = 116, + anon_sym_DASH_EQ = 117, + anon_sym_LT_LT_EQ = 118, + anon_sym_GT_GT_EQ = 119, + anon_sym_AMP_EQ = 120, + anon_sym_CARET_EQ = 121, + anon_sym_PIPE_EQ = 122, + anon_sym_DASH_DASH = 123, + anon_sym_PLUS_PLUS = 124, + anon_sym_sizeof = 125, + anon_sym___alignof__ = 126, + anon_sym___alignof = 127, + anon_sym__alignof = 128, + anon_sym_alignof = 129, + anon_sym__Alignof = 130, + anon_sym_offsetof = 131, + anon_sym__Generic = 132, + anon_sym_asm = 133, + anon_sym___asm__ = 134, + anon_sym_DOT = 135, + anon_sym_DASH_GT = 136, + sym__number_literal = 137, + anon_sym_L_SQUOTE = 138, + anon_sym_u_SQUOTE = 139, + anon_sym_U_SQUOTE = 140, + anon_sym_u8_SQUOTE = 141, + anon_sym_SQUOTE = 142, + aux_sym__char_literal_token1 = 143, + anon_sym_L_DQUOTE = 144, + anon_sym_u_DQUOTE = 145, + anon_sym_U_DQUOTE = 146, + anon_sym_u8_DQUOTE = 147, + anon_sym_DQUOTE = 148, + aux_sym__string_literal_token1 = 149, + sym_escape_sequence = 150, + sym_system_lib_string = 151, + sym_true = 152, + sym_false = 153, + anon_sym_NULL = 154, + anon_sym_nullptr = 155, + sym_comment = 156, + sym_grit_metavariable = 157, + sym_translation_unit = 158, + sym__top_level_item = 159, + sym__block_item = 160, + sym_preproc_include = 161, + sym_preproc_def = 162, + sym_preproc_function_def = 163, + sym_preproc_params = 164, + sym_preproc_call = 165, + sym_preproc_if = 166, + sym_preproc_ifdef = 167, + sym_preproc_else = 168, + sym_preproc_elif = 169, + sym_preproc_elifdef = 170, + sym_preproc_if_in_field_declaration_list = 171, + sym_preproc_ifdef_in_field_declaration_list = 172, + sym_preproc_else_in_field_declaration_list = 173, + sym_preproc_elif_in_field_declaration_list = 174, + sym_preproc_elifdef_in_field_declaration_list = 175, + sym_preproc_if_in_enumerator_list = 176, + sym_preproc_ifdef_in_enumerator_list = 177, + sym_preproc_else_in_enumerator_list = 178, + sym_preproc_elif_in_enumerator_list = 179, + sym_preproc_elifdef_in_enumerator_list = 180, + sym_preproc_if_in_enumerator_list_no_comma = 181, + sym_preproc_ifdef_in_enumerator_list_no_comma = 182, + sym_preproc_else_in_enumerator_list_no_comma = 183, + sym_preproc_elif_in_enumerator_list_no_comma = 184, + sym_preproc_elifdef_in_enumerator_list_no_comma = 185, + sym__preproc_expression = 186, + sym_preproc_parenthesized_expression = 187, + sym_preproc_defined = 188, + sym_preproc_unary_expression = 189, + sym_preproc_call_expression = 190, + sym_preproc_argument_list = 191, + sym_preproc_binary_expression = 192, + sym_function_definition = 193, + sym__old_style_function_definition = 194, + sym_declaration = 195, + sym_type_definition = 196, + sym__type_definition_type = 197, + sym__type_definition_declarators = 198, + sym__declaration_modifiers = 199, + sym__declaration_specifiers = 200, + sym_linkage_specification = 201, + sym_attribute_specifier = 202, + sym_attribute = 203, + sym_attribute_declaration = 204, + sym_ms_declspec_modifier = 205, + sym_ms_based_modifier = 206, + sym_ms_call_modifier = 207, + sym_ms_unaligned_ptr_modifier = 208, + sym_ms_pointer_modifier = 209, + sym_declaration_list = 210, + sym__declarator = 211, + sym__declaration_declarator = 212, + sym__field_declarator = 213, + sym__type_declarator = 214, + sym__abstract_declarator = 215, + sym_parenthesized_declarator = 216, + sym_parenthesized_field_declarator = 217, + sym_parenthesized_type_declarator = 218, + sym_abstract_parenthesized_declarator = 219, + sym_attributed_declarator = 220, + sym_attributed_field_declarator = 221, + sym_attributed_type_declarator = 222, + sym_pointer_declarator = 223, + sym_pointer_field_declarator = 224, + sym_pointer_type_declarator = 225, + sym_abstract_pointer_declarator = 226, + sym_function_declarator = 227, + sym__function_declaration_declarator = 228, + sym_function_field_declarator = 229, + sym_function_type_declarator = 230, + sym_abstract_function_declarator = 231, + sym__old_style_function_declarator = 232, + sym_array_declarator = 233, + sym_array_field_declarator = 234, + sym_array_type_declarator = 235, + sym_abstract_array_declarator = 236, + sym_init_declarator = 237, + sym_compound_statement = 238, + sym_storage_class_specifier = 239, + sym_type_qualifier = 240, + sym_alignas_qualifier = 241, + sym_type_specifier = 242, + sym_sized_type_specifier = 243, + sym_enum_specifier = 244, + sym_enumerator_list = 245, + sym_struct_specifier = 246, + sym_union_specifier = 247, + sym_field_declaration_list = 248, + sym__field_declaration_list_item = 249, + sym_field_declaration = 250, + sym__field_declaration_declarator = 251, + sym_bitfield_clause = 252, + sym_enumerator = 253, + sym_variadic_parameter = 254, + sym_parameter_list = 255, + sym__old_style_parameter_list = 256, + sym_parameter_declaration = 257, + sym_attributed_statement = 258, + sym_statement = 259, + sym__top_level_statement = 260, + sym_labeled_statement = 261, + sym__top_level_expression_statement = 262, + sym_expression_statement = 263, + sym_if_statement = 264, + sym_else_clause = 265, + sym_switch_statement = 266, + sym_case_statement = 267, + sym_while_statement = 268, + sym_do_statement = 269, + sym_for_statement = 270, + sym__for_statement_body = 271, + sym_return_statement = 272, + sym_break_statement = 273, + sym_continue_statement = 274, + sym_goto_statement = 275, + sym_seh_try_statement = 276, + sym_seh_except_clause = 277, + sym_seh_finally_clause = 278, + sym_seh_leave_statement = 279, + sym_expression = 280, + sym__string = 281, + sym_comma_expression = 282, + sym_conditional_expression = 283, + sym_assignment_expression = 284, + sym_pointer_expression = 285, + sym_unary_expression = 286, + sym_binary_expression = 287, + sym_update_expression = 288, + sym_cast_expression = 289, + sym_type_descriptor = 290, + sym_sizeof_expression = 291, + sym_alignof_expression = 292, + sym_offsetof_expression = 293, + sym_generic_expression = 294, + sym_subscript_expression = 295, + sym_call_expression = 296, + sym_gnu_asm_expression = 297, + sym_gnu_asm_qualifier = 298, + sym_gnu_asm_output_operand_list = 299, + sym_gnu_asm_output_operand = 300, + sym_gnu_asm_input_operand_list = 301, + sym_gnu_asm_input_operand = 302, + sym_gnu_asm_clobber_list = 303, + sym_gnu_asm_goto_list = 304, + sym_argument_list = 305, + sym_field_expression = 306, + sym_compound_literal_expression = 307, + sym_parenthesized_expression = 308, + sym_initializer_list = 309, + sym_initializer_pair = 310, + sym_subscript_designator = 311, + sym_subscript_range_designator = 312, + sym_field_designator = 313, + sym_number_literal = 314, + sym_char_literal = 315, + sym__char_literal = 316, + sym_concatenated_string = 317, + sym_string_literal = 318, + sym__string_literal = 319, + sym_null = 320, + sym_identifier = 321, + sym__empty_declaration = 322, + sym_macro_type_specifier = 323, + aux_sym_translation_unit_repeat1 = 324, + aux_sym_preproc_params_repeat1 = 325, + aux_sym_preproc_if_repeat1 = 326, + aux_sym_preproc_if_in_field_declaration_list_repeat1 = 327, + aux_sym_preproc_if_in_enumerator_list_repeat1 = 328, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1 = 329, + aux_sym_preproc_argument_list_repeat1 = 330, + aux_sym__old_style_function_definition_repeat1 = 331, + aux_sym_declaration_repeat1 = 332, + aux_sym_type_definition_repeat1 = 333, + aux_sym__type_definition_type_repeat1 = 334, + aux_sym__type_definition_declarators_repeat1 = 335, + aux_sym__declaration_specifiers_repeat1 = 336, + aux_sym_attribute_declaration_repeat1 = 337, + aux_sym_attributed_declarator_repeat1 = 338, + aux_sym_pointer_declarator_repeat1 = 339, + aux_sym_function_declarator_repeat1 = 340, + aux_sym_array_declarator_repeat1 = 341, + aux_sym_sized_type_specifier_repeat1 = 342, + aux_sym_enumerator_list_repeat1 = 343, + aux_sym__field_declaration_declarator_repeat1 = 344, + aux_sym_parameter_list_repeat1 = 345, + aux_sym__old_style_parameter_list_repeat1 = 346, + aux_sym_case_statement_repeat1 = 347, + aux_sym_generic_expression_repeat1 = 348, + aux_sym_gnu_asm_expression_repeat1 = 349, + aux_sym_gnu_asm_output_operand_list_repeat1 = 350, + aux_sym_gnu_asm_input_operand_list_repeat1 = 351, + aux_sym_gnu_asm_clobber_list_repeat1 = 352, + aux_sym_gnu_asm_goto_list_repeat1 = 353, + aux_sym_argument_list_repeat1 = 354, + aux_sym_initializer_list_repeat1 = 355, + aux_sym_initializer_pair_repeat1 = 356, + aux_sym__char_literal_repeat1 = 357, + aux_sym_concatenated_string_repeat1 = 358, + aux_sym__string_literal_repeat1 = 359, + alias_sym_field_identifier = 360, + alias_sym_statement_identifier = 361, + alias_sym_type_identifier = 362, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym__identifier] = "_identifier", + [aux_sym_preproc_include_token1] = "#include", + [aux_sym_preproc_include_token2] = "preproc_include_token2", + [aux_sym_preproc_def_token1] = "#define", + [anon_sym_LPAREN] = "(", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_COMMA] = ",", + [anon_sym_RPAREN] = ")", + [aux_sym_preproc_if_token1] = "#if", + [anon_sym_LF] = "\n", + [aux_sym_preproc_if_token2] = "#endif", + [aux_sym_preproc_ifdef_token1] = "#ifdef", + [aux_sym_preproc_ifdef_token2] = "#ifndef", + [aux_sym_preproc_else_token1] = "#else", + [aux_sym_preproc_elif_token1] = "#elif", + [aux_sym_preproc_elifdef_token1] = "#elifdef", + [aux_sym_preproc_elifdef_token2] = "#elifndef", + [sym_preproc_arg] = "preproc_arg", + [sym_preproc_directive] = "preproc_directive", + [anon_sym_LPAREN2] = "(", + [anon_sym_defined] = "defined", + [anon_sym_BANG] = "!", + [anon_sym_TILDE] = "~", + [anon_sym_DASH] = "-", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE] = "|", + [anon_sym_CARET] = "^", + [anon_sym_AMP] = "&", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_LT] = "<", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_SEMI] = ";", + [anon_sym___extension__] = "__extension__", + [anon_sym_typedef] = "typedef", + [anon_sym_extern] = "extern", + [anon_sym___attribute__] = "__attribute__", + [anon_sym_COLON_COLON] = "::", + [anon_sym_LBRACK_LBRACK] = "[[", + [anon_sym_RBRACK_RBRACK] = "]]", + [anon_sym___declspec] = "__declspec", + [anon_sym___based] = "__based", + [anon_sym___cdecl] = "__cdecl", + [anon_sym___clrcall] = "__clrcall", + [anon_sym___stdcall] = "__stdcall", + [anon_sym___fastcall] = "__fastcall", + [anon_sym___thiscall] = "__thiscall", + [anon_sym___vectorcall] = "__vectorcall", + [sym_ms_restrict_modifier] = "ms_restrict_modifier", + [sym_ms_unsigned_ptr_modifier] = "ms_unsigned_ptr_modifier", + [sym_ms_signed_ptr_modifier] = "ms_signed_ptr_modifier", + [anon_sym__unaligned] = "_unaligned", + [anon_sym___unaligned] = "__unaligned", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_signed] = "signed", + [anon_sym_unsigned] = "unsigned", + [anon_sym_long] = "long", + [anon_sym_short] = "short", + [anon_sym_LBRACK] = "[", + [anon_sym_static] = "static", + [anon_sym_RBRACK] = "]", + [anon_sym_EQ] = "=", + [anon_sym_auto] = "auto", + [anon_sym_register] = "register", + [anon_sym_inline] = "inline", + [anon_sym___inline] = "__inline", + [anon_sym___inline__] = "__inline__", + [anon_sym___forceinline] = "__forceinline", + [anon_sym_thread_local] = "thread_local", + [anon_sym___thread] = "__thread", + [anon_sym_const] = "const", + [anon_sym_constexpr] = "constexpr", + [anon_sym_volatile] = "volatile", + [anon_sym_restrict] = "restrict", + [anon_sym___restrict__] = "__restrict__", + [anon_sym__Atomic] = "_Atomic", + [anon_sym__Noreturn] = "_Noreturn", + [anon_sym_noreturn] = "noreturn", + [anon_sym_alignas] = "alignas", + [anon_sym__Alignas] = "_Alignas", + [sym_primitive_type] = "primitive_type", + [anon_sym_enum] = "enum", + [anon_sym_COLON] = ":", + [anon_sym_struct] = "struct", + [anon_sym_union] = "union", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_switch] = "switch", + [anon_sym_case] = "case", + [anon_sym_default] = "default", + [anon_sym_while] = "while", + [anon_sym_do] = "do", + [anon_sym_for] = "for", + [anon_sym_return] = "return", + [anon_sym_break] = "break", + [anon_sym_continue] = "continue", + [anon_sym_goto] = "goto", + [anon_sym___try] = "__try", + [anon_sym___except] = "__except", + [anon_sym___finally] = "__finally", + [anon_sym___leave] = "__leave", + [anon_sym_QMARK] = "\?", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_LT_LT_EQ] = "<<=", + [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_AMP_EQ] = "&=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_PIPE_EQ] = "|=", + [anon_sym_DASH_DASH] = "--", + [anon_sym_PLUS_PLUS] = "++", + [anon_sym_sizeof] = "sizeof", + [anon_sym___alignof__] = "__alignof__", + [anon_sym___alignof] = "__alignof", + [anon_sym__alignof] = "_alignof", + [anon_sym_alignof] = "alignof", + [anon_sym__Alignof] = "_Alignof", + [anon_sym_offsetof] = "offsetof", + [anon_sym__Generic] = "_Generic", + [anon_sym_asm] = "asm", + [anon_sym___asm__] = "__asm__", + [anon_sym_DOT] = ".", + [anon_sym_DASH_GT] = "->", + [sym__number_literal] = "_number_literal", + [anon_sym_L_SQUOTE] = "L'", + [anon_sym_u_SQUOTE] = "u'", + [anon_sym_U_SQUOTE] = "U'", + [anon_sym_u8_SQUOTE] = "u8'", + [anon_sym_SQUOTE] = "'", + [aux_sym__char_literal_token1] = "character", + [anon_sym_L_DQUOTE] = "L\"", + [anon_sym_u_DQUOTE] = "u\"", + [anon_sym_U_DQUOTE] = "U\"", + [anon_sym_u8_DQUOTE] = "u8\"", + [anon_sym_DQUOTE] = "\"", + [aux_sym__string_literal_token1] = "string_content", + [sym_escape_sequence] = "escape_sequence", + [sym_system_lib_string] = "system_lib_string", + [sym_true] = "true", + [sym_false] = "false", + [anon_sym_NULL] = "NULL", + [anon_sym_nullptr] = "nullptr", + [sym_comment] = "comment", + [sym_grit_metavariable] = "grit_metavariable", + [sym_translation_unit] = "translation_unit", + [sym__top_level_item] = "_top_level_item", + [sym__block_item] = "_block_item", + [sym_preproc_include] = "preproc_include", + [sym_preproc_def] = "preproc_def", + [sym_preproc_function_def] = "preproc_function_def", + [sym_preproc_params] = "preproc_params", + [sym_preproc_call] = "preproc_call", + [sym_preproc_if] = "preproc_if", + [sym_preproc_ifdef] = "preproc_ifdef", + [sym_preproc_else] = "preproc_else", + [sym_preproc_elif] = "preproc_elif", + [sym_preproc_elifdef] = "preproc_elifdef", + [sym_preproc_if_in_field_declaration_list] = "preproc_if", + [sym_preproc_ifdef_in_field_declaration_list] = "preproc_ifdef", + [sym_preproc_else_in_field_declaration_list] = "preproc_else", + [sym_preproc_elif_in_field_declaration_list] = "preproc_elif", + [sym_preproc_elifdef_in_field_declaration_list] = "preproc_elifdef", + [sym_preproc_if_in_enumerator_list] = "preproc_if", + [sym_preproc_ifdef_in_enumerator_list] = "preproc_ifdef", + [sym_preproc_else_in_enumerator_list] = "preproc_else", + [sym_preproc_elif_in_enumerator_list] = "preproc_elif", + [sym_preproc_elifdef_in_enumerator_list] = "preproc_elifdef", + [sym_preproc_if_in_enumerator_list_no_comma] = "preproc_if", + [sym_preproc_ifdef_in_enumerator_list_no_comma] = "preproc_ifdef", + [sym_preproc_else_in_enumerator_list_no_comma] = "preproc_else", + [sym_preproc_elif_in_enumerator_list_no_comma] = "preproc_elif", + [sym_preproc_elifdef_in_enumerator_list_no_comma] = "preproc_elifdef", + [sym__preproc_expression] = "_preproc_expression", + [sym_preproc_parenthesized_expression] = "parenthesized_expression", + [sym_preproc_defined] = "preproc_defined", + [sym_preproc_unary_expression] = "unary_expression", + [sym_preproc_call_expression] = "call_expression", + [sym_preproc_argument_list] = "argument_list", + [sym_preproc_binary_expression] = "binary_expression", + [sym_function_definition] = "function_definition", + [sym__old_style_function_definition] = "function_definition", + [sym_declaration] = "declaration", + [sym_type_definition] = "type_definition", + [sym__type_definition_type] = "_type_definition_type", + [sym__type_definition_declarators] = "_type_definition_declarators", + [sym__declaration_modifiers] = "_declaration_modifiers", + [sym__declaration_specifiers] = "_declaration_specifiers", + [sym_linkage_specification] = "linkage_specification", + [sym_attribute_specifier] = "attribute_specifier", + [sym_attribute] = "attribute", + [sym_attribute_declaration] = "attribute_declaration", + [sym_ms_declspec_modifier] = "ms_declspec_modifier", + [sym_ms_based_modifier] = "ms_based_modifier", + [sym_ms_call_modifier] = "ms_call_modifier", + [sym_ms_unaligned_ptr_modifier] = "ms_unaligned_ptr_modifier", + [sym_ms_pointer_modifier] = "ms_pointer_modifier", + [sym_declaration_list] = "declaration_list", + [sym__declarator] = "_declarator", + [sym__declaration_declarator] = "_declaration_declarator", + [sym__field_declarator] = "_field_declarator", + [sym__type_declarator] = "_type_declarator", + [sym__abstract_declarator] = "_abstract_declarator", + [sym_parenthesized_declarator] = "parenthesized_declarator", + [sym_parenthesized_field_declarator] = "parenthesized_declarator", + [sym_parenthesized_type_declarator] = "parenthesized_declarator", + [sym_abstract_parenthesized_declarator] = "abstract_parenthesized_declarator", + [sym_attributed_declarator] = "attributed_declarator", + [sym_attributed_field_declarator] = "attributed_declarator", + [sym_attributed_type_declarator] = "attributed_declarator", + [sym_pointer_declarator] = "pointer_declarator", + [sym_pointer_field_declarator] = "pointer_declarator", + [sym_pointer_type_declarator] = "pointer_declarator", + [sym_abstract_pointer_declarator] = "abstract_pointer_declarator", + [sym_function_declarator] = "function_declarator", + [sym__function_declaration_declarator] = "function_declarator", + [sym_function_field_declarator] = "function_declarator", + [sym_function_type_declarator] = "function_declarator", + [sym_abstract_function_declarator] = "abstract_function_declarator", + [sym__old_style_function_declarator] = "function_declarator", + [sym_array_declarator] = "array_declarator", + [sym_array_field_declarator] = "array_declarator", + [sym_array_type_declarator] = "array_declarator", + [sym_abstract_array_declarator] = "abstract_array_declarator", + [sym_init_declarator] = "init_declarator", + [sym_compound_statement] = "compound_statement", + [sym_storage_class_specifier] = "storage_class_specifier", + [sym_type_qualifier] = "type_qualifier", + [sym_alignas_qualifier] = "alignas_qualifier", + [sym_type_specifier] = "type_specifier", + [sym_sized_type_specifier] = "sized_type_specifier", + [sym_enum_specifier] = "enum_specifier", + [sym_enumerator_list] = "enumerator_list", + [sym_struct_specifier] = "struct_specifier", + [sym_union_specifier] = "union_specifier", + [sym_field_declaration_list] = "field_declaration_list", + [sym__field_declaration_list_item] = "_field_declaration_list_item", + [sym_field_declaration] = "field_declaration", + [sym__field_declaration_declarator] = "_field_declaration_declarator", + [sym_bitfield_clause] = "bitfield_clause", + [sym_enumerator] = "enumerator", + [sym_variadic_parameter] = "variadic_parameter", + [sym_parameter_list] = "parameter_list", + [sym__old_style_parameter_list] = "parameter_list", + [sym_parameter_declaration] = "parameter_declaration", + [sym_attributed_statement] = "attributed_statement", + [sym_statement] = "statement", + [sym__top_level_statement] = "_top_level_statement", + [sym_labeled_statement] = "labeled_statement", + [sym__top_level_expression_statement] = "expression_statement", + [sym_expression_statement] = "expression_statement", + [sym_if_statement] = "if_statement", + [sym_else_clause] = "else_clause", + [sym_switch_statement] = "switch_statement", + [sym_case_statement] = "case_statement", + [sym_while_statement] = "while_statement", + [sym_do_statement] = "do_statement", + [sym_for_statement] = "for_statement", + [sym__for_statement_body] = "_for_statement_body", + [sym_return_statement] = "return_statement", + [sym_break_statement] = "break_statement", + [sym_continue_statement] = "continue_statement", + [sym_goto_statement] = "goto_statement", + [sym_seh_try_statement] = "seh_try_statement", + [sym_seh_except_clause] = "seh_except_clause", + [sym_seh_finally_clause] = "seh_finally_clause", + [sym_seh_leave_statement] = "seh_leave_statement", + [sym_expression] = "expression", + [sym__string] = "_string", + [sym_comma_expression] = "comma_expression", + [sym_conditional_expression] = "conditional_expression", + [sym_assignment_expression] = "assignment_expression", + [sym_pointer_expression] = "pointer_expression", + [sym_unary_expression] = "unary_expression", + [sym_binary_expression] = "binary_expression", + [sym_update_expression] = "update_expression", + [sym_cast_expression] = "cast_expression", + [sym_type_descriptor] = "type_descriptor", + [sym_sizeof_expression] = "sizeof_expression", + [sym_alignof_expression] = "alignof_expression", + [sym_offsetof_expression] = "offsetof_expression", + [sym_generic_expression] = "generic_expression", + [sym_subscript_expression] = "subscript_expression", + [sym_call_expression] = "call_expression", + [sym_gnu_asm_expression] = "gnu_asm_expression", + [sym_gnu_asm_qualifier] = "gnu_asm_qualifier", + [sym_gnu_asm_output_operand_list] = "gnu_asm_output_operand_list", + [sym_gnu_asm_output_operand] = "gnu_asm_output_operand", + [sym_gnu_asm_input_operand_list] = "gnu_asm_input_operand_list", + [sym_gnu_asm_input_operand] = "gnu_asm_input_operand", + [sym_gnu_asm_clobber_list] = "gnu_asm_clobber_list", + [sym_gnu_asm_goto_list] = "gnu_asm_goto_list", + [sym_argument_list] = "argument_list", + [sym_field_expression] = "field_expression", + [sym_compound_literal_expression] = "compound_literal_expression", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_initializer_list] = "initializer_list", + [sym_initializer_pair] = "initializer_pair", + [sym_subscript_designator] = "subscript_designator", + [sym_subscript_range_designator] = "subscript_range_designator", + [sym_field_designator] = "field_designator", + [sym_number_literal] = "number_literal", + [sym_char_literal] = "char_literal", + [sym__char_literal] = "_char_literal", + [sym_concatenated_string] = "concatenated_string", + [sym_string_literal] = "string_literal", + [sym__string_literal] = "_string_literal", + [sym_null] = "null", + [sym_identifier] = "identifier", + [sym__empty_declaration] = "_empty_declaration", + [sym_macro_type_specifier] = "macro_type_specifier", + [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", + [aux_sym_preproc_params_repeat1] = "preproc_params_repeat1", + [aux_sym_preproc_if_repeat1] = "preproc_if_repeat1", + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = "preproc_if_in_field_declaration_list_repeat1", + [aux_sym_preproc_if_in_enumerator_list_repeat1] = "preproc_if_in_enumerator_list_repeat1", + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = "preproc_if_in_enumerator_list_no_comma_repeat1", + [aux_sym_preproc_argument_list_repeat1] = "preproc_argument_list_repeat1", + [aux_sym__old_style_function_definition_repeat1] = "_old_style_function_definition_repeat1", + [aux_sym_declaration_repeat1] = "declaration_repeat1", + [aux_sym_type_definition_repeat1] = "type_definition_repeat1", + [aux_sym__type_definition_type_repeat1] = "_type_definition_type_repeat1", + [aux_sym__type_definition_declarators_repeat1] = "_type_definition_declarators_repeat1", + [aux_sym__declaration_specifiers_repeat1] = "_declaration_specifiers_repeat1", + [aux_sym_attribute_declaration_repeat1] = "attribute_declaration_repeat1", + [aux_sym_attributed_declarator_repeat1] = "attributed_declarator_repeat1", + [aux_sym_pointer_declarator_repeat1] = "pointer_declarator_repeat1", + [aux_sym_function_declarator_repeat1] = "function_declarator_repeat1", + [aux_sym_array_declarator_repeat1] = "array_declarator_repeat1", + [aux_sym_sized_type_specifier_repeat1] = "sized_type_specifier_repeat1", + [aux_sym_enumerator_list_repeat1] = "enumerator_list_repeat1", + [aux_sym__field_declaration_declarator_repeat1] = "_field_declaration_declarator_repeat1", + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", + [aux_sym__old_style_parameter_list_repeat1] = "_old_style_parameter_list_repeat1", + [aux_sym_case_statement_repeat1] = "case_statement_repeat1", + [aux_sym_generic_expression_repeat1] = "generic_expression_repeat1", + [aux_sym_gnu_asm_expression_repeat1] = "gnu_asm_expression_repeat1", + [aux_sym_gnu_asm_output_operand_list_repeat1] = "gnu_asm_output_operand_list_repeat1", + [aux_sym_gnu_asm_input_operand_list_repeat1] = "gnu_asm_input_operand_list_repeat1", + [aux_sym_gnu_asm_clobber_list_repeat1] = "gnu_asm_clobber_list_repeat1", + [aux_sym_gnu_asm_goto_list_repeat1] = "gnu_asm_goto_list_repeat1", + [aux_sym_argument_list_repeat1] = "argument_list_repeat1", + [aux_sym_initializer_list_repeat1] = "initializer_list_repeat1", + [aux_sym_initializer_pair_repeat1] = "initializer_pair_repeat1", + [aux_sym__char_literal_repeat1] = "_char_literal_repeat1", + [aux_sym_concatenated_string_repeat1] = "concatenated_string_repeat1", + [aux_sym__string_literal_repeat1] = "_string_literal_repeat1", + [alias_sym_field_identifier] = "field_identifier", + [alias_sym_statement_identifier] = "statement_identifier", + [alias_sym_type_identifier] = "type_identifier", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym__identifier] = sym__identifier, + [aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1, + [aux_sym_preproc_include_token2] = aux_sym_preproc_include_token2, + [aux_sym_preproc_def_token1] = aux_sym_preproc_def_token1, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [aux_sym_preproc_if_token1] = aux_sym_preproc_if_token1, + [anon_sym_LF] = anon_sym_LF, + [aux_sym_preproc_if_token2] = aux_sym_preproc_if_token2, + [aux_sym_preproc_ifdef_token1] = aux_sym_preproc_ifdef_token1, + [aux_sym_preproc_ifdef_token2] = aux_sym_preproc_ifdef_token2, + [aux_sym_preproc_else_token1] = aux_sym_preproc_else_token1, + [aux_sym_preproc_elif_token1] = aux_sym_preproc_elif_token1, + [aux_sym_preproc_elifdef_token1] = aux_sym_preproc_elifdef_token1, + [aux_sym_preproc_elifdef_token2] = aux_sym_preproc_elifdef_token2, + [sym_preproc_arg] = sym_preproc_arg, + [sym_preproc_directive] = sym_preproc_directive, + [anon_sym_LPAREN2] = anon_sym_LPAREN, + [anon_sym_defined] = anon_sym_defined, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_TILDE] = anon_sym_TILDE, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym___extension__] = anon_sym___extension__, + [anon_sym_typedef] = anon_sym_typedef, + [anon_sym_extern] = anon_sym_extern, + [anon_sym___attribute__] = anon_sym___attribute__, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_LBRACK_LBRACK] = anon_sym_LBRACK_LBRACK, + [anon_sym_RBRACK_RBRACK] = anon_sym_RBRACK_RBRACK, + [anon_sym___declspec] = anon_sym___declspec, + [anon_sym___based] = anon_sym___based, + [anon_sym___cdecl] = anon_sym___cdecl, + [anon_sym___clrcall] = anon_sym___clrcall, + [anon_sym___stdcall] = anon_sym___stdcall, + [anon_sym___fastcall] = anon_sym___fastcall, + [anon_sym___thiscall] = anon_sym___thiscall, + [anon_sym___vectorcall] = anon_sym___vectorcall, + [sym_ms_restrict_modifier] = sym_ms_restrict_modifier, + [sym_ms_unsigned_ptr_modifier] = sym_ms_unsigned_ptr_modifier, + [sym_ms_signed_ptr_modifier] = sym_ms_signed_ptr_modifier, + [anon_sym__unaligned] = anon_sym__unaligned, + [anon_sym___unaligned] = anon_sym___unaligned, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_signed] = anon_sym_signed, + [anon_sym_unsigned] = anon_sym_unsigned, + [anon_sym_long] = anon_sym_long, + [anon_sym_short] = anon_sym_short, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_static] = anon_sym_static, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_auto] = anon_sym_auto, + [anon_sym_register] = anon_sym_register, + [anon_sym_inline] = anon_sym_inline, + [anon_sym___inline] = anon_sym___inline, + [anon_sym___inline__] = anon_sym___inline__, + [anon_sym___forceinline] = anon_sym___forceinline, + [anon_sym_thread_local] = anon_sym_thread_local, + [anon_sym___thread] = anon_sym___thread, + [anon_sym_const] = anon_sym_const, + [anon_sym_constexpr] = anon_sym_constexpr, + [anon_sym_volatile] = anon_sym_volatile, + [anon_sym_restrict] = anon_sym_restrict, + [anon_sym___restrict__] = anon_sym___restrict__, + [anon_sym__Atomic] = anon_sym__Atomic, + [anon_sym__Noreturn] = anon_sym__Noreturn, + [anon_sym_noreturn] = anon_sym_noreturn, + [anon_sym_alignas] = anon_sym_alignas, + [anon_sym__Alignas] = anon_sym__Alignas, + [sym_primitive_type] = sym_primitive_type, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_union] = anon_sym_union, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_switch] = anon_sym_switch, + [anon_sym_case] = anon_sym_case, + [anon_sym_default] = anon_sym_default, + [anon_sym_while] = anon_sym_while, + [anon_sym_do] = anon_sym_do, + [anon_sym_for] = anon_sym_for, + [anon_sym_return] = anon_sym_return, + [anon_sym_break] = anon_sym_break, + [anon_sym_continue] = anon_sym_continue, + [anon_sym_goto] = anon_sym_goto, + [anon_sym___try] = anon_sym___try, + [anon_sym___except] = anon_sym___except, + [anon_sym___finally] = anon_sym___finally, + [anon_sym___leave] = anon_sym___leave, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, + [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_AMP_EQ] = anon_sym_AMP_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, + [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, + [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, + [anon_sym_sizeof] = anon_sym_sizeof, + [anon_sym___alignof__] = anon_sym___alignof__, + [anon_sym___alignof] = anon_sym___alignof, + [anon_sym__alignof] = anon_sym__alignof, + [anon_sym_alignof] = anon_sym_alignof, + [anon_sym__Alignof] = anon_sym__Alignof, + [anon_sym_offsetof] = anon_sym_offsetof, + [anon_sym__Generic] = anon_sym__Generic, + [anon_sym_asm] = anon_sym_asm, + [anon_sym___asm__] = anon_sym___asm__, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [sym__number_literal] = sym__number_literal, + [anon_sym_L_SQUOTE] = anon_sym_L_SQUOTE, + [anon_sym_u_SQUOTE] = anon_sym_u_SQUOTE, + [anon_sym_U_SQUOTE] = anon_sym_U_SQUOTE, + [anon_sym_u8_SQUOTE] = anon_sym_u8_SQUOTE, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym__char_literal_token1] = aux_sym__char_literal_token1, + [anon_sym_L_DQUOTE] = anon_sym_L_DQUOTE, + [anon_sym_u_DQUOTE] = anon_sym_u_DQUOTE, + [anon_sym_U_DQUOTE] = anon_sym_U_DQUOTE, + [anon_sym_u8_DQUOTE] = anon_sym_u8_DQUOTE, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym__string_literal_token1] = aux_sym__string_literal_token1, + [sym_escape_sequence] = sym_escape_sequence, + [sym_system_lib_string] = sym_system_lib_string, + [sym_true] = sym_true, + [sym_false] = sym_false, + [anon_sym_NULL] = anon_sym_NULL, + [anon_sym_nullptr] = anon_sym_nullptr, + [sym_comment] = sym_comment, + [sym_grit_metavariable] = sym_grit_metavariable, + [sym_translation_unit] = sym_translation_unit, + [sym__top_level_item] = sym__top_level_item, + [sym__block_item] = sym__block_item, + [sym_preproc_include] = sym_preproc_include, + [sym_preproc_def] = sym_preproc_def, + [sym_preproc_function_def] = sym_preproc_function_def, + [sym_preproc_params] = sym_preproc_params, + [sym_preproc_call] = sym_preproc_call, + [sym_preproc_if] = sym_preproc_if, + [sym_preproc_ifdef] = sym_preproc_ifdef, + [sym_preproc_else] = sym_preproc_else, + [sym_preproc_elif] = sym_preproc_elif, + [sym_preproc_elifdef] = sym_preproc_elifdef, + [sym_preproc_if_in_field_declaration_list] = sym_preproc_if, + [sym_preproc_ifdef_in_field_declaration_list] = sym_preproc_ifdef, + [sym_preproc_else_in_field_declaration_list] = sym_preproc_else, + [sym_preproc_elif_in_field_declaration_list] = sym_preproc_elif, + [sym_preproc_elifdef_in_field_declaration_list] = sym_preproc_elifdef, + [sym_preproc_if_in_enumerator_list] = sym_preproc_if, + [sym_preproc_ifdef_in_enumerator_list] = sym_preproc_ifdef, + [sym_preproc_else_in_enumerator_list] = sym_preproc_else, + [sym_preproc_elif_in_enumerator_list] = sym_preproc_elif, + [sym_preproc_elifdef_in_enumerator_list] = sym_preproc_elifdef, + [sym_preproc_if_in_enumerator_list_no_comma] = sym_preproc_if, + [sym_preproc_ifdef_in_enumerator_list_no_comma] = sym_preproc_ifdef, + [sym_preproc_else_in_enumerator_list_no_comma] = sym_preproc_else, + [sym_preproc_elif_in_enumerator_list_no_comma] = sym_preproc_elif, + [sym_preproc_elifdef_in_enumerator_list_no_comma] = sym_preproc_elifdef, + [sym__preproc_expression] = sym__preproc_expression, + [sym_preproc_parenthesized_expression] = sym_parenthesized_expression, + [sym_preproc_defined] = sym_preproc_defined, + [sym_preproc_unary_expression] = sym_unary_expression, + [sym_preproc_call_expression] = sym_call_expression, + [sym_preproc_argument_list] = sym_argument_list, + [sym_preproc_binary_expression] = sym_binary_expression, + [sym_function_definition] = sym_function_definition, + [sym__old_style_function_definition] = sym_function_definition, + [sym_declaration] = sym_declaration, + [sym_type_definition] = sym_type_definition, + [sym__type_definition_type] = sym__type_definition_type, + [sym__type_definition_declarators] = sym__type_definition_declarators, + [sym__declaration_modifiers] = sym__declaration_modifiers, + [sym__declaration_specifiers] = sym__declaration_specifiers, + [sym_linkage_specification] = sym_linkage_specification, + [sym_attribute_specifier] = sym_attribute_specifier, + [sym_attribute] = sym_attribute, + [sym_attribute_declaration] = sym_attribute_declaration, + [sym_ms_declspec_modifier] = sym_ms_declspec_modifier, + [sym_ms_based_modifier] = sym_ms_based_modifier, + [sym_ms_call_modifier] = sym_ms_call_modifier, + [sym_ms_unaligned_ptr_modifier] = sym_ms_unaligned_ptr_modifier, + [sym_ms_pointer_modifier] = sym_ms_pointer_modifier, + [sym_declaration_list] = sym_declaration_list, + [sym__declarator] = sym__declarator, + [sym__declaration_declarator] = sym__declaration_declarator, + [sym__field_declarator] = sym__field_declarator, + [sym__type_declarator] = sym__type_declarator, + [sym__abstract_declarator] = sym__abstract_declarator, + [sym_parenthesized_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_field_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_type_declarator] = sym_parenthesized_declarator, + [sym_abstract_parenthesized_declarator] = sym_abstract_parenthesized_declarator, + [sym_attributed_declarator] = sym_attributed_declarator, + [sym_attributed_field_declarator] = sym_attributed_declarator, + [sym_attributed_type_declarator] = sym_attributed_declarator, + [sym_pointer_declarator] = sym_pointer_declarator, + [sym_pointer_field_declarator] = sym_pointer_declarator, + [sym_pointer_type_declarator] = sym_pointer_declarator, + [sym_abstract_pointer_declarator] = sym_abstract_pointer_declarator, + [sym_function_declarator] = sym_function_declarator, + [sym__function_declaration_declarator] = sym_function_declarator, + [sym_function_field_declarator] = sym_function_declarator, + [sym_function_type_declarator] = sym_function_declarator, + [sym_abstract_function_declarator] = sym_abstract_function_declarator, + [sym__old_style_function_declarator] = sym_function_declarator, + [sym_array_declarator] = sym_array_declarator, + [sym_array_field_declarator] = sym_array_declarator, + [sym_array_type_declarator] = sym_array_declarator, + [sym_abstract_array_declarator] = sym_abstract_array_declarator, + [sym_init_declarator] = sym_init_declarator, + [sym_compound_statement] = sym_compound_statement, + [sym_storage_class_specifier] = sym_storage_class_specifier, + [sym_type_qualifier] = sym_type_qualifier, + [sym_alignas_qualifier] = sym_alignas_qualifier, + [sym_type_specifier] = sym_type_specifier, + [sym_sized_type_specifier] = sym_sized_type_specifier, + [sym_enum_specifier] = sym_enum_specifier, + [sym_enumerator_list] = sym_enumerator_list, + [sym_struct_specifier] = sym_struct_specifier, + [sym_union_specifier] = sym_union_specifier, + [sym_field_declaration_list] = sym_field_declaration_list, + [sym__field_declaration_list_item] = sym__field_declaration_list_item, + [sym_field_declaration] = sym_field_declaration, + [sym__field_declaration_declarator] = sym__field_declaration_declarator, + [sym_bitfield_clause] = sym_bitfield_clause, + [sym_enumerator] = sym_enumerator, + [sym_variadic_parameter] = sym_variadic_parameter, + [sym_parameter_list] = sym_parameter_list, + [sym__old_style_parameter_list] = sym_parameter_list, + [sym_parameter_declaration] = sym_parameter_declaration, + [sym_attributed_statement] = sym_attributed_statement, + [sym_statement] = sym_statement, + [sym__top_level_statement] = sym__top_level_statement, + [sym_labeled_statement] = sym_labeled_statement, + [sym__top_level_expression_statement] = sym_expression_statement, + [sym_expression_statement] = sym_expression_statement, + [sym_if_statement] = sym_if_statement, + [sym_else_clause] = sym_else_clause, + [sym_switch_statement] = sym_switch_statement, + [sym_case_statement] = sym_case_statement, + [sym_while_statement] = sym_while_statement, + [sym_do_statement] = sym_do_statement, + [sym_for_statement] = sym_for_statement, + [sym__for_statement_body] = sym__for_statement_body, + [sym_return_statement] = sym_return_statement, + [sym_break_statement] = sym_break_statement, + [sym_continue_statement] = sym_continue_statement, + [sym_goto_statement] = sym_goto_statement, + [sym_seh_try_statement] = sym_seh_try_statement, + [sym_seh_except_clause] = sym_seh_except_clause, + [sym_seh_finally_clause] = sym_seh_finally_clause, + [sym_seh_leave_statement] = sym_seh_leave_statement, + [sym_expression] = sym_expression, + [sym__string] = sym__string, + [sym_comma_expression] = sym_comma_expression, + [sym_conditional_expression] = sym_conditional_expression, + [sym_assignment_expression] = sym_assignment_expression, + [sym_pointer_expression] = sym_pointer_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_update_expression] = sym_update_expression, + [sym_cast_expression] = sym_cast_expression, + [sym_type_descriptor] = sym_type_descriptor, + [sym_sizeof_expression] = sym_sizeof_expression, + [sym_alignof_expression] = sym_alignof_expression, + [sym_offsetof_expression] = sym_offsetof_expression, + [sym_generic_expression] = sym_generic_expression, + [sym_subscript_expression] = sym_subscript_expression, + [sym_call_expression] = sym_call_expression, + [sym_gnu_asm_expression] = sym_gnu_asm_expression, + [sym_gnu_asm_qualifier] = sym_gnu_asm_qualifier, + [sym_gnu_asm_output_operand_list] = sym_gnu_asm_output_operand_list, + [sym_gnu_asm_output_operand] = sym_gnu_asm_output_operand, + [sym_gnu_asm_input_operand_list] = sym_gnu_asm_input_operand_list, + [sym_gnu_asm_input_operand] = sym_gnu_asm_input_operand, + [sym_gnu_asm_clobber_list] = sym_gnu_asm_clobber_list, + [sym_gnu_asm_goto_list] = sym_gnu_asm_goto_list, + [sym_argument_list] = sym_argument_list, + [sym_field_expression] = sym_field_expression, + [sym_compound_literal_expression] = sym_compound_literal_expression, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_initializer_list] = sym_initializer_list, + [sym_initializer_pair] = sym_initializer_pair, + [sym_subscript_designator] = sym_subscript_designator, + [sym_subscript_range_designator] = sym_subscript_range_designator, + [sym_field_designator] = sym_field_designator, + [sym_number_literal] = sym_number_literal, + [sym_char_literal] = sym_char_literal, + [sym__char_literal] = sym__char_literal, + [sym_concatenated_string] = sym_concatenated_string, + [sym_string_literal] = sym_string_literal, + [sym__string_literal] = sym__string_literal, + [sym_null] = sym_null, + [sym_identifier] = sym_identifier, + [sym__empty_declaration] = sym__empty_declaration, + [sym_macro_type_specifier] = sym_macro_type_specifier, + [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1, + [aux_sym_preproc_params_repeat1] = aux_sym_preproc_params_repeat1, + [aux_sym_preproc_if_repeat1] = aux_sym_preproc_if_repeat1, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = aux_sym_preproc_if_in_field_declaration_list_repeat1, + [aux_sym_preproc_if_in_enumerator_list_repeat1] = aux_sym_preproc_if_in_enumerator_list_repeat1, + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [aux_sym_preproc_argument_list_repeat1] = aux_sym_preproc_argument_list_repeat1, + [aux_sym__old_style_function_definition_repeat1] = aux_sym__old_style_function_definition_repeat1, + [aux_sym_declaration_repeat1] = aux_sym_declaration_repeat1, + [aux_sym_type_definition_repeat1] = aux_sym_type_definition_repeat1, + [aux_sym__type_definition_type_repeat1] = aux_sym__type_definition_type_repeat1, + [aux_sym__type_definition_declarators_repeat1] = aux_sym__type_definition_declarators_repeat1, + [aux_sym__declaration_specifiers_repeat1] = aux_sym__declaration_specifiers_repeat1, + [aux_sym_attribute_declaration_repeat1] = aux_sym_attribute_declaration_repeat1, + [aux_sym_attributed_declarator_repeat1] = aux_sym_attributed_declarator_repeat1, + [aux_sym_pointer_declarator_repeat1] = aux_sym_pointer_declarator_repeat1, + [aux_sym_function_declarator_repeat1] = aux_sym_function_declarator_repeat1, + [aux_sym_array_declarator_repeat1] = aux_sym_array_declarator_repeat1, + [aux_sym_sized_type_specifier_repeat1] = aux_sym_sized_type_specifier_repeat1, + [aux_sym_enumerator_list_repeat1] = aux_sym_enumerator_list_repeat1, + [aux_sym__field_declaration_declarator_repeat1] = aux_sym__field_declaration_declarator_repeat1, + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, + [aux_sym__old_style_parameter_list_repeat1] = aux_sym__old_style_parameter_list_repeat1, + [aux_sym_case_statement_repeat1] = aux_sym_case_statement_repeat1, + [aux_sym_generic_expression_repeat1] = aux_sym_generic_expression_repeat1, + [aux_sym_gnu_asm_expression_repeat1] = aux_sym_gnu_asm_expression_repeat1, + [aux_sym_gnu_asm_output_operand_list_repeat1] = aux_sym_gnu_asm_output_operand_list_repeat1, + [aux_sym_gnu_asm_input_operand_list_repeat1] = aux_sym_gnu_asm_input_operand_list_repeat1, + [aux_sym_gnu_asm_clobber_list_repeat1] = aux_sym_gnu_asm_clobber_list_repeat1, + [aux_sym_gnu_asm_goto_list_repeat1] = aux_sym_gnu_asm_goto_list_repeat1, + [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1, + [aux_sym_initializer_list_repeat1] = aux_sym_initializer_list_repeat1, + [aux_sym_initializer_pair_repeat1] = aux_sym_initializer_pair_repeat1, + [aux_sym__char_literal_repeat1] = aux_sym__char_literal_repeat1, + [aux_sym_concatenated_string_repeat1] = aux_sym_concatenated_string_repeat1, + [aux_sym__string_literal_repeat1] = aux_sym__string_literal_repeat1, + [alias_sym_field_identifier] = alias_sym_field_identifier, + [alias_sym_statement_identifier] = alias_sym_statement_identifier, + [alias_sym_type_identifier] = alias_sym_type_identifier, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym__identifier] = { + .visible = false, + .named = true, + }, + [aux_sym_preproc_include_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_include_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_def_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LF] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_else_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elif_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elifdef_token2] = { + .visible = true, + .named = false, + }, + [sym_preproc_arg] = { + .visible = true, + .named = true, + }, + [sym_preproc_directive] = { + .visible = true, + .named = true, + }, + [anon_sym_LPAREN2] = { + .visible = true, + .named = false, + }, + [anon_sym_defined] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_TILDE] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym___extension__] = { + .visible = true, + .named = false, + }, + [anon_sym_typedef] = { + .visible = true, + .named = false, + }, + [anon_sym_extern] = { + .visible = true, + .named = false, + }, + [anon_sym___attribute__] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym___declspec] = { + .visible = true, + .named = false, + }, + [anon_sym___based] = { + .visible = true, + .named = false, + }, + [anon_sym___cdecl] = { + .visible = true, + .named = false, + }, + [anon_sym___clrcall] = { + .visible = true, + .named = false, + }, + [anon_sym___stdcall] = { + .visible = true, + .named = false, + }, + [anon_sym___fastcall] = { + .visible = true, + .named = false, + }, + [anon_sym___thiscall] = { + .visible = true, + .named = false, + }, + [anon_sym___vectorcall] = { + .visible = true, + .named = false, + }, + [sym_ms_restrict_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unsigned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_signed_ptr_modifier] = { + .visible = true, + .named = true, + }, + [anon_sym__unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym___unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_signed] = { + .visible = true, + .named = false, + }, + [anon_sym_unsigned] = { + .visible = true, + .named = false, + }, + [anon_sym_long] = { + .visible = true, + .named = false, + }, + [anon_sym_short] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_static] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_auto] = { + .visible = true, + .named = false, + }, + [anon_sym_register] = { + .visible = true, + .named = false, + }, + [anon_sym_inline] = { + .visible = true, + .named = false, + }, + [anon_sym___inline] = { + .visible = true, + .named = false, + }, + [anon_sym___inline__] = { + .visible = true, + .named = false, + }, + [anon_sym___forceinline] = { + .visible = true, + .named = false, + }, + [anon_sym_thread_local] = { + .visible = true, + .named = false, + }, + [anon_sym___thread] = { + .visible = true, + .named = false, + }, + [anon_sym_const] = { + .visible = true, + .named = false, + }, + [anon_sym_constexpr] = { + .visible = true, + .named = false, + }, + [anon_sym_volatile] = { + .visible = true, + .named = false, + }, + [anon_sym_restrict] = { + .visible = true, + .named = false, + }, + [anon_sym___restrict__] = { + .visible = true, + .named = false, + }, + [anon_sym__Atomic] = { + .visible = true, + .named = false, + }, + [anon_sym__Noreturn] = { + .visible = true, + .named = false, + }, + [anon_sym_noreturn] = { + .visible = true, + .named = false, + }, + [anon_sym_alignas] = { + .visible = true, + .named = false, + }, + [anon_sym__Alignas] = { + .visible = true, + .named = false, + }, + [sym_primitive_type] = { + .visible = true, + .named = true, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_union] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_switch] = { + .visible = true, + .named = false, + }, + [anon_sym_case] = { + .visible = true, + .named = false, + }, + [anon_sym_default] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_do] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_break] = { + .visible = true, + .named = false, + }, + [anon_sym_continue] = { + .visible = true, + .named = false, + }, + [anon_sym_goto] = { + .visible = true, + .named = false, + }, + [anon_sym___try] = { + .visible = true, + .named = false, + }, + [anon_sym___except] = { + .visible = true, + .named = false, + }, + [anon_sym___finally] = { + .visible = true, + .named = false, + }, + [anon_sym___leave] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_sizeof] = { + .visible = true, + .named = false, + }, + [anon_sym___alignof__] = { + .visible = true, + .named = false, + }, + [anon_sym___alignof] = { + .visible = true, + .named = false, + }, + [anon_sym__alignof] = { + .visible = true, + .named = false, + }, + [anon_sym_alignof] = { + .visible = true, + .named = false, + }, + [anon_sym__Alignof] = { + .visible = true, + .named = false, + }, + [anon_sym_offsetof] = { + .visible = true, + .named = false, + }, + [anon_sym__Generic] = { + .visible = true, + .named = false, + }, + [anon_sym_asm] = { + .visible = true, + .named = false, + }, + [anon_sym___asm__] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym__number_literal] = { + .visible = false, + .named = true, + }, + [anon_sym_L_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__char_literal_token1] = { + .visible = true, + .named = true, + }, + [anon_sym_L_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__string_literal_token1] = { + .visible = true, + .named = true, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [sym_system_lib_string] = { + .visible = true, + .named = true, + }, + [sym_true] = { + .visible = true, + .named = true, + }, + [sym_false] = { + .visible = true, + .named = true, + }, + [anon_sym_NULL] = { + .visible = true, + .named = false, + }, + [anon_sym_nullptr] = { + .visible = true, + .named = false, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_grit_metavariable] = { + .visible = true, + .named = true, + }, + [sym_translation_unit] = { + .visible = true, + .named = true, + }, + [sym__top_level_item] = { + .visible = false, + .named = true, + }, + [sym__block_item] = { + .visible = false, + .named = true, + }, + [sym_preproc_include] = { + .visible = true, + .named = true, + }, + [sym_preproc_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_function_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_params] = { + .visible = true, + .named = true, + }, + [sym_preproc_call] = { + .visible = true, + .named = true, + }, + [sym_preproc_if] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_else] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym__preproc_expression] = { + .visible = false, + .named = true, + }, + [sym_preproc_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_defined] = { + .visible = true, + .named = true, + }, + [sym_preproc_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_call_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_argument_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_function_definition] = { + .visible = true, + .named = true, + }, + [sym__old_style_function_definition] = { + .visible = true, + .named = true, + }, + [sym_declaration] = { + .visible = true, + .named = true, + }, + [sym_type_definition] = { + .visible = true, + .named = true, + }, + [sym__type_definition_type] = { + .visible = false, + .named = true, + }, + [sym__type_definition_declarators] = { + .visible = false, + .named = true, + }, + [sym__declaration_modifiers] = { + .visible = false, + .named = true, + }, + [sym__declaration_specifiers] = { + .visible = false, + .named = true, + }, + [sym_linkage_specification] = { + .visible = true, + .named = true, + }, + [sym_attribute_specifier] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_declaration] = { + .visible = true, + .named = true, + }, + [sym_ms_declspec_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_based_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_call_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unaligned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_pointer_modifier] = { + .visible = true, + .named = true, + }, + [sym_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__declaration_declarator] = { + .visible = false, + .named = true, + }, + [sym__field_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__type_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__abstract_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_declarator] = { + .visible = true, + .named = true, + }, + [sym__function_declaration_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_function_declarator] = { + .visible = true, + .named = true, + }, + [sym__old_style_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_init_declarator] = { + .visible = true, + .named = true, + }, + [sym_compound_statement] = { + .visible = true, + .named = true, + }, + [sym_storage_class_specifier] = { + .visible = true, + .named = true, + }, + [sym_type_qualifier] = { + .visible = true, + .named = true, + }, + [sym_alignas_qualifier] = { + .visible = true, + .named = true, + }, + [sym_type_specifier] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_sized_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_enum_specifier] = { + .visible = true, + .named = true, + }, + [sym_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_struct_specifier] = { + .visible = true, + .named = true, + }, + [sym_union_specifier] = { + .visible = true, + .named = true, + }, + [sym_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__field_declaration_list_item] = { + .visible = false, + .named = true, + }, + [sym_field_declaration] = { + .visible = true, + .named = true, + }, + [sym__field_declaration_declarator] = { + .visible = false, + .named = true, + }, + [sym_bitfield_clause] = { + .visible = true, + .named = true, + }, + [sym_enumerator] = { + .visible = true, + .named = true, + }, + [sym_variadic_parameter] = { + .visible = true, + .named = true, + }, + [sym_parameter_list] = { + .visible = true, + .named = true, + }, + [sym__old_style_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_attributed_statement] = { + .visible = true, + .named = true, + }, + [sym_statement] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__top_level_statement] = { + .visible = false, + .named = true, + }, + [sym_labeled_statement] = { + .visible = true, + .named = true, + }, + [sym__top_level_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_if_statement] = { + .visible = true, + .named = true, + }, + [sym_else_clause] = { + .visible = true, + .named = true, + }, + [sym_switch_statement] = { + .visible = true, + .named = true, + }, + [sym_case_statement] = { + .visible = true, + .named = true, + }, + [sym_while_statement] = { + .visible = true, + .named = true, + }, + [sym_do_statement] = { + .visible = true, + .named = true, + }, + [sym_for_statement] = { + .visible = true, + .named = true, + }, + [sym__for_statement_body] = { + .visible = false, + .named = true, + }, + [sym_return_statement] = { + .visible = true, + .named = true, + }, + [sym_break_statement] = { + .visible = true, + .named = true, + }, + [sym_continue_statement] = { + .visible = true, + .named = true, + }, + [sym_goto_statement] = { + .visible = true, + .named = true, + }, + [sym_seh_try_statement] = { + .visible = true, + .named = true, + }, + [sym_seh_except_clause] = { + .visible = true, + .named = true, + }, + [sym_seh_finally_clause] = { + .visible = true, + .named = true, + }, + [sym_seh_leave_statement] = { + .visible = true, + .named = true, + }, + [sym_expression] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__string] = { + .visible = false, + .named = true, + }, + [sym_comma_expression] = { + .visible = true, + .named = true, + }, + [sym_conditional_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment_expression] = { + .visible = true, + .named = true, + }, + [sym_pointer_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_update_expression] = { + .visible = true, + .named = true, + }, + [sym_cast_expression] = { + .visible = true, + .named = true, + }, + [sym_type_descriptor] = { + .visible = true, + .named = true, + }, + [sym_sizeof_expression] = { + .visible = true, + .named = true, + }, + [sym_alignof_expression] = { + .visible = true, + .named = true, + }, + [sym_offsetof_expression] = { + .visible = true, + .named = true, + }, + [sym_generic_expression] = { + .visible = true, + .named = true, + }, + [sym_subscript_expression] = { + .visible = true, + .named = true, + }, + [sym_call_expression] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_expression] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_qualifier] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_output_operand_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_output_operand] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_input_operand_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_input_operand] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_clobber_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_goto_list] = { + .visible = true, + .named = true, + }, + [sym_argument_list] = { + .visible = true, + .named = true, + }, + [sym_field_expression] = { + .visible = true, + .named = true, + }, + [sym_compound_literal_expression] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_initializer_pair] = { + .visible = true, + .named = true, + }, + [sym_subscript_designator] = { + .visible = true, + .named = true, + }, + [sym_subscript_range_designator] = { + .visible = true, + .named = true, + }, + [sym_field_designator] = { + .visible = true, + .named = true, + }, + [sym_number_literal] = { + .visible = true, + .named = true, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym__char_literal] = { + .visible = false, + .named = true, + }, + [sym_concatenated_string] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym__string_literal] = { + .visible = false, + .named = true, + }, + [sym_null] = { + .visible = true, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [sym__empty_declaration] = { + .visible = false, + .named = true, + }, + [sym_macro_type_specifier] = { + .visible = true, + .named = true, + }, + [aux_sym_translation_unit_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__old_style_function_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_definition_type_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_definition_declarators_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__declaration_specifiers_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attributed_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_pointer_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_function_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_array_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_sized_type_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__field_declaration_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__old_style_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_case_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_generic_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_output_operand_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_input_operand_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_clobber_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_goto_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_pair_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__char_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concatenated_string_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_statement_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_type_identifier] = { + .visible = true, + .named = true, + }, +}; + +enum ts_field_identifiers { + field_alternative = 1, + field_argument = 2, + field_arguments = 3, + field_assembly_code = 4, + field_body = 5, + field_clobbers = 6, + field_condition = 7, + field_consequence = 8, + field_constraint = 9, + field_declarator = 10, + field_designator = 11, + field_directive = 12, + field_end = 13, + field_field = 14, + field_filter = 15, + field_function = 16, + field_goto_labels = 17, + field_identifier = 18, + field_index = 19, + field_initializer = 20, + field_input_operands = 21, + field_label = 22, + field_left = 23, + field_member = 24, + field_name = 25, + field_operand = 26, + field_operator = 27, + field_output_operands = 28, + field_parameters = 29, + field_path = 30, + field_prefix = 31, + field_register = 32, + field_right = 33, + field_size = 34, + field_start = 35, + field_symbol = 36, + field_type = 37, + field_underlying_type = 38, + field_update = 39, + field_value = 40, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alternative] = "alternative", + [field_argument] = "argument", + [field_arguments] = "arguments", + [field_assembly_code] = "assembly_code", + [field_body] = "body", + [field_clobbers] = "clobbers", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_constraint] = "constraint", + [field_declarator] = "declarator", + [field_designator] = "designator", + [field_directive] = "directive", + [field_end] = "end", + [field_field] = "field", + [field_filter] = "filter", + [field_function] = "function", + [field_goto_labels] = "goto_labels", + [field_identifier] = "identifier", + [field_index] = "index", + [field_initializer] = "initializer", + [field_input_operands] = "input_operands", + [field_label] = "label", + [field_left] = "left", + [field_member] = "member", + [field_name] = "name", + [field_operand] = "operand", + [field_operator] = "operator", + [field_output_operands] = "output_operands", + [field_parameters] = "parameters", + [field_path] = "path", + [field_prefix] = "prefix", + [field_register] = "register", + [field_right] = "right", + [field_size] = "size", + [field_start] = "start", + [field_symbol] = "symbol", + [field_type] = "type", + [field_underlying_type] = "underlying_type", + [field_update] = "update", + [field_value] = "value", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 1}, + [2] = {.index = 1, .length = 3}, + [3] = {.index = 4, .length = 1}, + [5] = {.index = 5, .length = 1}, + [6] = {.index = 6, .length = 2}, + [7] = {.index = 8, .length = 1}, + [8] = {.index = 9, .length = 1}, + [9] = {.index = 10, .length = 1}, + [10] = {.index = 11, .length = 1}, + [11] = {.index = 12, .length = 2}, + [12] = {.index = 14, .length = 2}, + [13] = {.index = 16, .length = 2}, + [14] = {.index = 4, .length = 1}, + [15] = {.index = 18, .length = 1}, + [16] = {.index = 18, .length = 1}, + [17] = {.index = 19, .length = 1}, + [18] = {.index = 10, .length = 1}, + [19] = {.index = 20, .length = 2}, + [20] = {.index = 22, .length = 2}, + [21] = {.index = 24, .length = 1}, + [23] = {.index = 25, .length = 1}, + [24] = {.index = 26, .length = 2}, + [25] = {.index = 28, .length = 2}, + [26] = {.index = 30, .length = 1}, + [27] = {.index = 31, .length = 1}, + [28] = {.index = 32, .length = 2}, + [29] = {.index = 34, .length = 2}, + [30] = {.index = 36, .length = 1}, + [31] = {.index = 37, .length = 1}, + [32] = {.index = 38, .length = 3}, + [33] = {.index = 41, .length = 2}, + [34] = {.index = 43, .length = 2}, + [35] = {.index = 45, .length = 5}, + [36] = {.index = 50, .length = 3}, + [37] = {.index = 53, .length = 3}, + [38] = {.index = 56, .length = 1}, + [39] = {.index = 57, .length = 2}, + [40] = {.index = 59, .length = 2}, + [41] = {.index = 61, .length = 1}, + [42] = {.index = 62, .length = 2}, + [43] = {.index = 64, .length = 1}, + [44] = {.index = 65, .length = 2}, + [45] = {.index = 67, .length = 2}, + [46] = {.index = 69, .length = 2}, + [47] = {.index = 71, .length = 2}, + [48] = {.index = 73, .length = 2}, + [49] = {.index = 75, .length = 2}, + [50] = {.index = 77, .length = 2}, + [51] = {.index = 79, .length = 2}, + [53] = {.index = 81, .length = 1}, + [54] = {.index = 82, .length = 1}, + [55] = {.index = 83, .length = 2}, + [56] = {.index = 85, .length = 3}, + [57] = {.index = 88, .length = 1}, + [58] = {.index = 89, .length = 1}, + [59] = {.index = 90, .length = 1}, + [60] = {.index = 91, .length = 1}, + [61] = {.index = 92, .length = 3}, + [62] = {.index = 95, .length = 3}, + [63] = {.index = 98, .length = 2}, + [64] = {.index = 100, .length = 3}, + [65] = {.index = 103, .length = 2}, + [66] = {.index = 105, .length = 5}, + [67] = {.index = 110, .length = 3}, + [68] = {.index = 113, .length = 5}, + [69] = {.index = 118, .length = 2}, + [70] = {.index = 120, .length = 2}, + [71] = {.index = 122, .length = 2}, + [72] = {.index = 124, .length = 3}, + [73] = {.index = 127, .length = 2}, + [74] = {.index = 129, .length = 2}, + [75] = {.index = 131, .length = 1}, + [76] = {.index = 132, .length = 2}, + [77] = {.index = 134, .length = 2}, + [78] = {.index = 136, .length = 2}, + [79] = {.index = 138, .length = 3}, + [80] = {.index = 141, .length = 2}, + [81] = {.index = 143, .length = 2}, + [82] = {.index = 145, .length = 2}, + [83] = {.index = 147, .length = 1}, + [84] = {.index = 148, .length = 2}, + [85] = {.index = 150, .length = 2}, + [86] = {.index = 152, .length = 4}, + [87] = {.index = 156, .length = 1}, + [88] = {.index = 157, .length = 2}, + [89] = {.index = 159, .length = 1}, + [90] = {.index = 160, .length = 1}, + [91] = {.index = 161, .length = 4}, + [92] = {.index = 165, .length = 4}, + [93] = {.index = 169, .length = 2}, + [94] = {.index = 171, .length = 2}, + [95] = {.index = 173, .length = 3}, + [96] = {.index = 176, .length = 5}, + [97] = {.index = 181, .length = 3}, + [98] = {.index = 184, .length = 2}, + [99] = {.index = 186, .length = 1}, + [101] = {.index = 187, .length = 2}, + [102] = {.index = 189, .length = 2}, + [103] = {.index = 191, .length = 2}, + [104] = {.index = 193, .length = 3}, + [105] = {.index = 196, .length = 2}, + [106] = {.index = 198, .length = 2}, + [107] = {.index = 200, .length = 2}, + [108] = {.index = 202, .length = 2}, + [109] = {.index = 204, .length = 3}, + [110] = {.index = 207, .length = 2}, + [111] = {.index = 209, .length = 1}, + [112] = {.index = 210, .length = 5}, + [113] = {.index = 215, .length = 2}, + [114] = {.index = 217, .length = 3}, + [115] = {.index = 220, .length = 2}, + [116] = {.index = 220, .length = 2}, + [117] = {.index = 222, .length = 3}, + [118] = {.index = 225, .length = 2}, + [119] = {.index = 227, .length = 1}, + [120] = {.index = 228, .length = 4}, + [121] = {.index = 232, .length = 3}, + [122] = {.index = 235, .length = 2}, + [123] = {.index = 237, .length = 2}, + [124] = {.index = 36, .length = 1}, + [125] = {.index = 239, .length = 5}, + [126] = {.index = 244, .length = 4}, + [127] = {.index = 248, .length = 2}, + [128] = {.index = 250, .length = 2}, + [129] = {.index = 252, .length = 2}, + [130] = {.index = 254, .length = 5}, + [131] = {.index = 259, .length = 2}, + [132] = {.index = 261, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_identifier, 0}, + [1] = + {field_body, 0, .inherited = true}, + {field_declarator, 0, .inherited = true}, + {field_type, 0, .inherited = true}, + [4] = + {field_type, 0}, + [5] = + {field_directive, 0}, + [6] = + {field_argument, 1}, + {field_operator, 0}, + [8] = + {field_name, 0}, + [9] = + {field_body, 1}, + [10] = + {field_name, 1}, + [11] = + {field_value, 1}, + [12] = + {field_declarator, 0, .inherited = true}, + {field_parameters, 0, .inherited = true}, + [14] = + {field_argument, 0}, + {field_operator, 1}, + [16] = + {field_arguments, 1}, + {field_function, 0}, + [18] = + {field_type, 1}, + [19] = + {field_path, 1}, + [20] = + {field_argument, 1}, + {field_directive, 0}, + [22] = + {field_declarator, 1}, + {field_type, 0}, + [24] = + {field_parameters, 0}, + [25] = + {field_declarator, 0}, + [26] = + {field_body, 2}, + {field_value, 1}, + [28] = + {field_body, 2}, + {field_name, 1}, + [30] = + {field_body, 2}, + [31] = + {field_name, 2}, + [32] = + {field_condition, 1}, + {field_consequence, 2}, + [34] = + {field_body, 2}, + {field_condition, 1}, + [36] = + {field_label, 1}, + [37] = + {field_declarator, 1}, + [38] = + {field_body, 2}, + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [41] = + {field_declarator, 0}, + {field_parameters, 1}, + [43] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [45] = + {field_body, 2}, + {field_declarator, 1}, + {field_declarator, 1, .inherited = true}, + {field_parameters, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [50] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [53] = + {field_argument, 0}, + {field_field, 2}, + {field_operator, 1}, + [56] = + {field_label, 0}, + [57] = + {field_name, 1}, + {field_value, 2}, + [59] = + {field_name, 1}, + {field_parameters, 2}, + [61] = + {field_condition, 1}, + [62] = + {field_alternative, 2}, + {field_name, 1}, + [64] = + {field_type, 0, .inherited = true}, + [65] = + {field_declarator, 2}, + {field_type, 0}, + [67] = + {field_left, 0}, + {field_right, 2}, + [69] = + {field_type, 1}, + {field_value, 3}, + [71] = + {field_declarator, 2}, + {field_type, 1}, + [73] = + {field_declarator, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [75] = + {field_declarator, 0}, + {field_declarator, 1, .inherited = true}, + [77] = + {field_name, 2}, + {field_prefix, 0}, + [79] = + {field_name, 1}, + {field_underlying_type, 3}, + [81] = + {field_body, 3}, + [82] = + {field_name, 3}, + [83] = + {field_body, 3}, + {field_name, 2}, + [85] = + {field_alternative, 3}, + {field_condition, 1}, + {field_consequence, 2}, + [88] = + {field_initializer, 0}, + [89] = + {field_type, 2}, + [90] = + {field_assembly_code, 2}, + [91] = + {field_declarator, 2}, + [92] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [95] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [98] = + {field_declarator, 0}, + {field_value, 2}, + [100] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [103] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + [105] = + {field_body, 3}, + {field_declarator, 1}, + {field_declarator, 1, .inherited = true}, + {field_parameters, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [110] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [113] = + {field_body, 3}, + {field_declarator, 2}, + {field_declarator, 2, .inherited = true}, + {field_parameters, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [118] = + {field_argument, 0}, + {field_index, 2}, + [120] = + {field_alternative, 3}, + {field_condition, 0}, + [122] = + {field_name, 0}, + {field_type, 2}, + [124] = + {field_name, 1}, + {field_parameters, 2}, + {field_value, 3}, + [127] = + {field_alternative, 3}, + {field_condition, 1}, + [129] = + {field_alternative, 3}, + {field_name, 1}, + [131] = + {field_size, 1}, + [132] = + {field_declarator, 3}, + {field_type, 1}, + [134] = + {field_declarator, 3, .inherited = true}, + {field_type, 2, .inherited = true}, + [136] = + {field_name, 0}, + {field_value, 2}, + [138] = + {field_body, 4}, + {field_name, 1}, + {field_underlying_type, 3}, + [141] = + {field_declarator, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [143] = + {field_body, 4}, + {field_name, 3}, + [145] = + {field_body, 1}, + {field_condition, 3}, + [147] = + {field_update, 2}, + [148] = + {field_initializer, 0}, + {field_update, 2}, + [150] = + {field_condition, 1}, + {field_initializer, 0}, + [152] = + {field_body, 4}, + {field_condition, 2, .inherited = true}, + {field_initializer, 2, .inherited = true}, + {field_update, 2, .inherited = true}, + [156] = + {field_operand, 1}, + [157] = + {field_assembly_code, 2}, + {field_output_operands, 3}, + [159] = + {field_assembly_code, 3}, + [160] = + {field_declarator, 3}, + [161] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + {field_type, 0, .inherited = true}, + [165] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3, .inherited = true}, + {field_type, 0, .inherited = true}, + [169] = + {field_declarator, 0}, + {field_size, 2}, + [171] = + {field_declarator, 1}, + {field_declarator, 2}, + [173] = + {field_body, 4}, + {field_declarator, 3}, + {field_type, 1, .inherited = true}, + [176] = + {field_body, 4}, + {field_declarator, 2}, + {field_declarator, 2, .inherited = true}, + {field_parameters, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [181] = + {field_alternative, 4}, + {field_condition, 0}, + {field_consequence, 2}, + [184] = + {field_alternative, 4}, + {field_condition, 1}, + [186] = + {field_size, 2}, + [187] = + {field_body, 2}, + {field_filter, 1}, + [189] = + {field_declarator, 0}, + {field_declarator, 2, .inherited = true}, + [191] = + {field_condition, 1}, + {field_update, 3}, + [193] = + {field_condition, 1}, + {field_initializer, 0}, + {field_update, 3}, + [196] = + {field_initializer, 0}, + {field_update, 3}, + [198] = + {field_condition, 2}, + {field_initializer, 0}, + [200] = + {field_member, 4}, + {field_type, 2}, + [202] = + {field_operand, 1}, + {field_operand, 2, .inherited = true}, + [204] = + {field_assembly_code, 2}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [207] = + {field_assembly_code, 3}, + {field_output_operands, 4}, + [209] = + {field_declarator, 4}, + [210] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + {field_declarator, 4, .inherited = true}, + {field_type, 0, .inherited = true}, + [215] = + {field_declarator, 0}, + {field_size, 3}, + [217] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + [220] = + {field_designator, 0}, + {field_value, 2}, + [222] = + {field_condition, 2}, + {field_initializer, 0}, + {field_update, 4}, + [225] = + {field_operand, 0, .inherited = true}, + {field_operand, 1, .inherited = true}, + [227] = + {field_register, 1}, + [228] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [232] = + {field_assembly_code, 3}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [235] = + {field_constraint, 0}, + {field_value, 2}, + [237] = + {field_register, 1}, + {field_register, 2, .inherited = true}, + [239] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_goto_labels, 6}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [244] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [248] = + {field_end, 3}, + {field_start, 1}, + [250] = + {field_register, 0, .inherited = true}, + {field_register, 1, .inherited = true}, + [252] = + {field_label, 1}, + {field_label, 2, .inherited = true}, + [254] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_goto_labels, 7}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [259] = + {field_label, 0, .inherited = true}, + {field_label, 1, .inherited = true}, + [261] = + {field_constraint, 3}, + {field_symbol, 1}, + {field_value, 5}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [4] = { + [0] = alias_sym_type_identifier, + }, + [9] = { + [1] = alias_sym_type_identifier, + }, + [14] = { + [0] = alias_sym_type_identifier, + }, + [16] = { + [1] = alias_sym_type_identifier, + }, + [22] = { + [0] = sym_primitive_type, + }, + [25] = { + [1] = alias_sym_type_identifier, + }, + [27] = { + [2] = alias_sym_type_identifier, + }, + [30] = { + [1] = alias_sym_statement_identifier, + }, + [37] = { + [2] = alias_sym_field_identifier, + }, + [38] = { + [0] = alias_sym_statement_identifier, + }, + [51] = { + [1] = alias_sym_type_identifier, + }, + [52] = { + [0] = alias_sym_field_identifier, + }, + [54] = { + [3] = alias_sym_type_identifier, + }, + [55] = { + [2] = alias_sym_type_identifier, + }, + [79] = { + [1] = alias_sym_type_identifier, + }, + [81] = { + [3] = alias_sym_type_identifier, + }, + [100] = { + [1] = alias_sym_field_identifier, + }, + [107] = { + [4] = alias_sym_field_identifier, + }, + [115] = { + [0] = alias_sym_field_identifier, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + sym_identifier, 4, + sym_identifier, + alias_sym_field_identifier, + alias_sym_statement_identifier, + alias_sym_type_identifier, + 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] = 6, + [8] = 6, + [9] = 4, + [10] = 4, + [11] = 11, + [12] = 12, + [13] = 5, + [14] = 6, + [15] = 5, + [16] = 4, + [17] = 3, + [18] = 18, + [19] = 5, + [20] = 3, + [21] = 3, + [22] = 22, + [23] = 23, + [24] = 24, + [25] = 25, + [26] = 26, + [27] = 27, + [28] = 28, + [29] = 22, + [30] = 22, + [31] = 23, + [32] = 28, + [33] = 24, + [34] = 26, + [35] = 26, + [36] = 24, + [37] = 23, + [38] = 24, + [39] = 28, + [40] = 23, + [41] = 28, + [42] = 26, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 46, + [51] = 49, + [52] = 45, + [53] = 46, + [54] = 47, + [55] = 47, + [56] = 45, + [57] = 49, + [58] = 48, + [59] = 48, + [60] = 49, + [61] = 46, + [62] = 47, + [63] = 45, + [64] = 48, + [65] = 45, + [66] = 46, + [67] = 48, + [68] = 49, + [69] = 47, + [70] = 70, + [71] = 70, + [72] = 70, + [73] = 70, + [74] = 70, + [75] = 75, + [76] = 76, + [77] = 77, + [78] = 78, + [79] = 79, + [80] = 80, + [81] = 81, + [82] = 82, + [83] = 83, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 89, + [90] = 90, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 86, + [100] = 100, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 104, + [105] = 105, + [106] = 106, + [107] = 107, + [108] = 107, + [109] = 109, + [110] = 110, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 116, + [117] = 117, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 144, + [146] = 146, + [147] = 146, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 150, + [152] = 152, + [153] = 153, + [154] = 149, + [155] = 155, + [156] = 155, + [157] = 152, + [158] = 153, + [159] = 76, + [160] = 148, + [161] = 153, + [162] = 150, + [163] = 152, + [164] = 148, + [165] = 152, + [166] = 146, + [167] = 76, + [168] = 148, + [169] = 150, + [170] = 146, + [171] = 153, + [172] = 152, + [173] = 155, + [174] = 149, + [175] = 175, + [176] = 175, + [177] = 76, + [178] = 149, + [179] = 155, + [180] = 153, + [181] = 155, + [182] = 149, + [183] = 150, + [184] = 148, + [185] = 175, + [186] = 175, + [187] = 146, + [188] = 79, + [189] = 97, + [190] = 87, + [191] = 101, + [192] = 98, + [193] = 78, + [194] = 89, + [195] = 102, + [196] = 86, + [197] = 83, + [198] = 88, + [199] = 78, + [200] = 77, + [201] = 94, + [202] = 95, + [203] = 97, + [204] = 104, + [205] = 105, + [206] = 107, + [207] = 111, + [208] = 114, + [209] = 84, + [210] = 93, + [211] = 100, + [212] = 103, + [213] = 106, + [214] = 80, + [215] = 96, + [216] = 91, + [217] = 92, + [218] = 102, + [219] = 110, + [220] = 83, + [221] = 86, + [222] = 112, + [223] = 113, + [224] = 89, + [225] = 96, + [226] = 78, + [227] = 98, + [228] = 101, + [229] = 102, + [230] = 104, + [231] = 105, + [232] = 107, + [233] = 111, + [234] = 114, + [235] = 87, + [236] = 88, + [237] = 84, + [238] = 77, + [239] = 94, + [240] = 95, + [241] = 97, + [242] = 79, + [243] = 93, + [244] = 82, + [245] = 101, + [246] = 98, + [247] = 82, + [248] = 80, + [249] = 113, + [250] = 91, + [251] = 96, + [252] = 110, + [253] = 112, + [254] = 113, + [255] = 109, + [256] = 90, + [257] = 81, + [258] = 85, + [259] = 112, + [260] = 82, + [261] = 79, + [262] = 104, + [263] = 105, + [264] = 109, + [265] = 90, + [266] = 81, + [267] = 85, + [268] = 100, + [269] = 103, + [270] = 93, + [271] = 84, + [272] = 106, + [273] = 92, + [274] = 87, + [275] = 89, + [276] = 88, + [277] = 83, + [278] = 77, + [279] = 94, + [280] = 114, + [281] = 109, + [282] = 95, + [283] = 90, + [284] = 81, + [285] = 85, + [286] = 92, + [287] = 91, + [288] = 80, + [289] = 111, + [290] = 110, + [291] = 106, + [292] = 103, + [293] = 100, + [294] = 124, + [295] = 138, + [296] = 141, + [297] = 118, + [298] = 121, + [299] = 120, + [300] = 118, + [301] = 117, + [302] = 126, + [303] = 123, + [304] = 127, + [305] = 132, + [306] = 117, + [307] = 128, + [308] = 126, + [309] = 135, + [310] = 129, + [311] = 130, + [312] = 131, + [313] = 133, + [314] = 136, + [315] = 140, + [316] = 137, + [317] = 131, + [318] = 139, + [319] = 125, + [320] = 143, + [321] = 115, + [322] = 142, + [323] = 134, + [324] = 116, + [325] = 133, + [326] = 143, + [327] = 119, + [328] = 122, + [329] = 116, + [330] = 119, + [331] = 142, + [332] = 115, + [333] = 140, + [334] = 139, + [335] = 137, + [336] = 138, + [337] = 134, + [338] = 120, + [339] = 135, + [340] = 136, + [341] = 121, + [342] = 132, + [343] = 141, + [344] = 124, + [345] = 125, + [346] = 127, + [347] = 128, + [348] = 129, + [349] = 130, + [350] = 123, + [351] = 122, + [352] = 122, + [353] = 144, + [354] = 134, + [355] = 355, + [356] = 356, + [357] = 357, + [358] = 358, + [359] = 357, + [360] = 357, + [361] = 135, + [362] = 355, + [363] = 363, + [364] = 123, + [365] = 132, + [366] = 129, + [367] = 355, + [368] = 130, + [369] = 138, + [370] = 139, + [371] = 140, + [372] = 120, + [373] = 131, + [374] = 133, + [375] = 136, + [376] = 357, + [377] = 121, + [378] = 357, + [379] = 115, + [380] = 142, + [381] = 124, + [382] = 125, + [383] = 141, + [384] = 357, + [385] = 355, + [386] = 116, + [387] = 355, + [388] = 143, + [389] = 119, + [390] = 127, + [391] = 137, + [392] = 118, + [393] = 128, + [394] = 355, + [395] = 395, + [396] = 75, + [397] = 395, + [398] = 144, + [399] = 144, + [400] = 400, + [401] = 401, + [402] = 144, + [403] = 403, + [404] = 403, + [405] = 403, + [406] = 403, + [407] = 403, + [408] = 403, + [409] = 403, + [410] = 403, + [411] = 76, + [412] = 412, + [413] = 413, + [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] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 432, + [435] = 430, + [436] = 436, + [437] = 433, + [438] = 432, + [439] = 430, + [440] = 440, + [441] = 436, + [442] = 442, + [443] = 433, + [444] = 436, + [445] = 445, + [446] = 446, + [447] = 75, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 450, + [452] = 415, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 461, + [463] = 456, + [464] = 461, + [465] = 457, + [466] = 466, + [467] = 457, + [468] = 468, + [469] = 461, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 456, + [474] = 461, + [475] = 457, + [476] = 476, + [477] = 477, + [478] = 478, + [479] = 456, + [480] = 461, + [481] = 449, + [482] = 456, + [483] = 483, + [484] = 484, + [485] = 485, + [486] = 456, + [487] = 449, + [488] = 488, + [489] = 489, + [490] = 490, + [491] = 491, + [492] = 492, + [493] = 490, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 498, + [499] = 499, + [500] = 500, + [501] = 501, + [502] = 502, + [503] = 502, + [504] = 504, + [505] = 505, + [506] = 506, + [507] = 501, + [508] = 508, + [509] = 509, + [510] = 510, + [511] = 511, + [512] = 505, + [513] = 504, + [514] = 514, + [515] = 515, + [516] = 502, + [517] = 502, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 521, + [522] = 521, + [523] = 523, + [524] = 521, + [525] = 525, + [526] = 506, + [527] = 527, + [528] = 525, + [529] = 520, + [530] = 519, + [531] = 531, + [532] = 518, + [533] = 514, + [534] = 511, + [535] = 510, + [536] = 509, + [537] = 501, + [538] = 505, + [539] = 504, + [540] = 502, + [541] = 541, + [542] = 542, + [543] = 531, + [544] = 527, + [545] = 545, + [546] = 546, + [547] = 525, + [548] = 520, + [549] = 519, + [550] = 527, + [551] = 518, + [552] = 514, + [553] = 511, + [554] = 510, + [555] = 555, + [556] = 509, + [557] = 508, + [558] = 515, + [559] = 506, + [560] = 525, + [561] = 501, + [562] = 506, + [563] = 520, + [564] = 506, + [565] = 527, + [566] = 545, + [567] = 531, + [568] = 525, + [569] = 520, + [570] = 519, + [571] = 518, + [572] = 514, + [573] = 511, + [574] = 510, + [575] = 509, + [576] = 508, + [577] = 505, + [578] = 578, + [579] = 504, + [580] = 502, + [581] = 504, + [582] = 527, + [583] = 505, + [584] = 519, + [585] = 585, + [586] = 518, + [587] = 587, + [588] = 514, + [589] = 511, + [590] = 501, + [591] = 521, + [592] = 592, + [593] = 508, + [594] = 509, + [595] = 510, + [596] = 508, + [597] = 511, + [598] = 514, + [599] = 518, + [600] = 600, + [601] = 506, + [602] = 519, + [603] = 603, + [604] = 515, + [605] = 520, + [606] = 521, + [607] = 525, + [608] = 504, + [609] = 527, + [610] = 505, + [611] = 541, + [612] = 510, + [613] = 509, + [614] = 508, + [615] = 501, + [616] = 414, + [617] = 617, + [618] = 617, + [619] = 617, + [620] = 617, + [621] = 621, + [622] = 622, + [623] = 623, + [624] = 624, + [625] = 625, + [626] = 626, + [627] = 627, + [628] = 628, + [629] = 629, + [630] = 630, + [631] = 631, + [632] = 632, + [633] = 633, + [634] = 634, + [635] = 628, + [636] = 633, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 638, + [641] = 641, + [642] = 642, + [643] = 633, + [644] = 644, + [645] = 645, + [646] = 646, + [647] = 628, + [648] = 648, + [649] = 649, + [650] = 644, + [651] = 638, + [652] = 638, + [653] = 644, + [654] = 633, + [655] = 628, + [656] = 644, + [657] = 657, + [658] = 658, + [659] = 659, + [660] = 660, + [661] = 661, + [662] = 662, + [663] = 660, + [664] = 400, + [665] = 401, + [666] = 666, + [667] = 667, + [668] = 667, + [669] = 669, + [670] = 415, + [671] = 671, + [672] = 672, + [673] = 669, + [674] = 674, + [675] = 674, + [676] = 661, + [677] = 677, + [678] = 669, + [679] = 679, + [680] = 680, + [681] = 669, + [682] = 682, + [683] = 674, + [684] = 684, + [685] = 661, + [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] = 674, + [699] = 699, + [700] = 700, + [701] = 701, + [702] = 702, + [703] = 703, + [704] = 661, + [705] = 415, + [706] = 706, + [707] = 415, + [708] = 708, + [709] = 709, + [710] = 706, + [711] = 711, + [712] = 712, + [713] = 713, + [714] = 714, + [715] = 715, + [716] = 708, + [717] = 717, + [718] = 400, + [719] = 719, + [720] = 720, + [721] = 721, + [722] = 717, + [723] = 723, + [724] = 717, + [725] = 725, + [726] = 401, + [727] = 415, + [728] = 717, + [729] = 717, + [730] = 730, + [731] = 731, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 737, + [738] = 738, + [739] = 739, + [740] = 661, + [741] = 741, + [742] = 742, + [743] = 743, + [744] = 744, + [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] = 764, + [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] = 777, + [778] = 778, + [779] = 779, + [780] = 780, + [781] = 781, + [782] = 782, + [783] = 783, + [784] = 784, + [785] = 785, + [786] = 786, + [787] = 787, + [788] = 788, + [789] = 789, + [790] = 790, + [791] = 791, + [792] = 792, + [793] = 793, + [794] = 794, + [795] = 795, + [796] = 796, + [797] = 797, + [798] = 75, + [799] = 131, + [800] = 800, + [801] = 139, + [802] = 138, + [803] = 800, + [804] = 122, + [805] = 805, + [806] = 119, + [807] = 134, + [808] = 808, + [809] = 800, + [810] = 810, + [811] = 75, + [812] = 812, + [813] = 813, + [814] = 814, + [815] = 815, + [816] = 816, + [817] = 672, + [818] = 800, + [819] = 819, + [820] = 820, + [821] = 821, + [822] = 822, + [823] = 823, + [824] = 824, + [825] = 766, + [826] = 782, + [827] = 764, + [828] = 745, + [829] = 789, + [830] = 783, + [831] = 773, + [832] = 760, + [833] = 833, + [834] = 770, + [835] = 765, + [836] = 774, + [837] = 775, + [838] = 776, + [839] = 778, + [840] = 781, + [841] = 780, + [842] = 779, + [843] = 752, + [844] = 844, + [845] = 845, + [846] = 672, + [847] = 847, + [848] = 624, + [849] = 626, + [850] = 850, + [851] = 850, + [852] = 850, + [853] = 627, + [854] = 850, + [855] = 131, + [856] = 812, + [857] = 813, + [858] = 139, + [859] = 138, + [860] = 860, + [861] = 861, + [862] = 816, + [863] = 134, + [864] = 824, + [865] = 865, + [866] = 119, + [867] = 122, + [868] = 868, + [869] = 138, + [870] = 139, + [871] = 122, + [872] = 119, + [873] = 821, + [874] = 874, + [875] = 820, + [876] = 824, + [877] = 877, + [878] = 820, + [879] = 814, + [880] = 823, + [881] = 881, + [882] = 821, + [883] = 815, + [884] = 134, + [885] = 131, + [886] = 823, + [887] = 810, + [888] = 805, + [889] = 808, + [890] = 810, + [891] = 812, + [892] = 808, + [893] = 813, + [894] = 814, + [895] = 815, + [896] = 816, + [897] = 805, + [898] = 780, + [899] = 779, + [900] = 778, + [901] = 752, + [902] = 775, + [903] = 774, + [904] = 773, + [905] = 766, + [906] = 770, + [907] = 745, + [908] = 782, + [909] = 776, + [910] = 783, + [911] = 760, + [912] = 781, + [913] = 789, + [914] = 764, + [915] = 765, + [916] = 672, + [917] = 703, + [918] = 918, + [919] = 700, + [920] = 701, + [921] = 921, + [922] = 702, + [923] = 100, + [924] = 103, + [925] = 85, + [926] = 81, + [927] = 106, + [928] = 928, + [929] = 90, + [930] = 109, + [931] = 82, + [932] = 932, + [933] = 79, + [934] = 934, + [935] = 92, + [936] = 936, + [937] = 937, + [938] = 938, + [939] = 79, + [940] = 90, + [941] = 941, + [942] = 103, + [943] = 943, + [944] = 109, + [945] = 945, + [946] = 100, + [947] = 106, + [948] = 948, + [949] = 82, + [950] = 950, + [951] = 951, + [952] = 81, + [953] = 945, + [954] = 945, + [955] = 85, + [956] = 956, + [957] = 957, + [958] = 945, + [959] = 959, + [960] = 92, + [961] = 961, + [962] = 962, + [963] = 773, + [964] = 779, + [965] = 764, + [966] = 778, + [967] = 776, + [968] = 783, + [969] = 969, + [970] = 782, + [971] = 780, + [972] = 972, + [973] = 760, + [974] = 781, + [975] = 775, + [976] = 774, + [977] = 977, + [978] = 978, + [979] = 979, + [980] = 979, + [981] = 979, + [982] = 978, + [983] = 983, + [984] = 978, + [985] = 979, + [986] = 986, + [987] = 978, + [988] = 988, + [989] = 989, + [990] = 990, + [991] = 991, + [992] = 764, + [993] = 783, + [994] = 994, + [995] = 995, + [996] = 996, + [997] = 997, + [998] = 996, + [999] = 782, + [1000] = 1000, + [1001] = 781, + [1002] = 760, + [1003] = 773, + [1004] = 780, + [1005] = 779, + [1006] = 774, + [1007] = 775, + [1008] = 776, + [1009] = 778, + [1010] = 1010, + [1011] = 1011, + [1012] = 1012, + [1013] = 1013, + [1014] = 1014, + [1015] = 1015, + [1016] = 1016, + [1017] = 1017, + [1018] = 1018, + [1019] = 1019, + [1020] = 833, + [1021] = 1019, + [1022] = 1018, + [1023] = 1023, + [1024] = 847, + [1025] = 1025, + [1026] = 1026, + [1027] = 775, + [1028] = 1028, + [1029] = 1029, + [1030] = 1030, + [1031] = 783, + [1032] = 1032, + [1033] = 782, + [1034] = 781, + [1035] = 780, + [1036] = 779, + [1037] = 1030, + [1038] = 1030, + [1039] = 1039, + [1040] = 1040, + [1041] = 1030, + [1042] = 778, + [1043] = 1028, + [1044] = 1044, + [1045] = 1045, + [1046] = 1030, + [1047] = 1047, + [1048] = 776, + [1049] = 1032, + [1050] = 1050, + [1051] = 774, + [1052] = 1028, + [1053] = 773, + [1054] = 1054, + [1055] = 1055, + [1056] = 1056, + [1057] = 1057, + [1058] = 1058, + [1059] = 1059, + [1060] = 1060, + [1061] = 1028, + [1062] = 1062, + [1063] = 1063, + [1064] = 764, + [1065] = 1050, + [1066] = 1050, + [1067] = 1067, + [1068] = 1068, + [1069] = 1069, + [1070] = 1050, + [1071] = 1030, + [1072] = 760, + [1073] = 977, + [1074] = 874, + [1075] = 1075, + [1076] = 1076, + [1077] = 1077, + [1078] = 1078, + [1079] = 1079, + [1080] = 1080, + [1081] = 1080, + [1082] = 1082, + [1083] = 1083, + [1084] = 1084, + [1085] = 860, + [1086] = 1077, + [1087] = 1077, + [1088] = 1088, + [1089] = 1077, + [1090] = 1090, + [1091] = 1091, + [1092] = 877, + [1093] = 1077, + [1094] = 1094, + [1095] = 1095, + [1096] = 1096, + [1097] = 1097, + [1098] = 1098, + [1099] = 1099, + [1100] = 1100, + [1101] = 1101, + [1102] = 1102, + [1103] = 1103, + [1104] = 1104, + [1105] = 1105, + [1106] = 1106, + [1107] = 1107, + [1108] = 1108, + [1109] = 734, + [1110] = 1110, + [1111] = 1111, + [1112] = 1112, + [1113] = 1113, + [1114] = 1114, + [1115] = 1114, + [1116] = 761, + [1117] = 1117, + [1118] = 1114, + [1119] = 1119, + [1120] = 1120, + [1121] = 1121, + [1122] = 1122, + [1123] = 1123, + [1124] = 1124, + [1125] = 1125, + [1126] = 1126, + [1127] = 1127, + [1128] = 1128, + [1129] = 1129, + [1130] = 1125, + [1131] = 1131, + [1132] = 1132, + [1133] = 1133, + [1134] = 1134, + [1135] = 1135, + [1136] = 1136, + [1137] = 1120, + [1138] = 1128, + [1139] = 1123, + [1140] = 1140, + [1141] = 1125, + [1142] = 1142, + [1143] = 1136, + [1144] = 1129, + [1145] = 1135, + [1146] = 1146, + [1147] = 1134, + [1148] = 1122, + [1149] = 1133, + [1150] = 1124, + [1151] = 1129, + [1152] = 1132, + [1153] = 1153, + [1154] = 1154, + [1155] = 1155, + [1156] = 1131, + [1157] = 1157, + [1158] = 1128, + [1159] = 1159, + [1160] = 1127, + [1161] = 1155, + [1162] = 1162, + [1163] = 1125, + [1164] = 1128, + [1165] = 1165, + [1166] = 1166, + [1167] = 734, + [1168] = 1166, + [1169] = 1166, + [1170] = 1170, + [1171] = 1166, + [1172] = 1166, + [1173] = 1173, + [1174] = 1170, + [1175] = 1170, + [1176] = 1166, + [1177] = 1170, + [1178] = 793, + [1179] = 788, + [1180] = 763, + [1181] = 762, + [1182] = 772, + [1183] = 761, + [1184] = 786, + [1185] = 1185, + [1186] = 1186, + [1187] = 796, + [1188] = 795, + [1189] = 1189, + [1190] = 1190, + [1191] = 1189, + [1192] = 1189, + [1193] = 1190, + [1194] = 1190, + [1195] = 1195, + [1196] = 1190, + [1197] = 1185, + [1198] = 1198, + [1199] = 1199, + [1200] = 689, + [1201] = 1201, + [1202] = 1202, + [1203] = 1203, + [1204] = 1204, + [1205] = 690, + [1206] = 75, + [1207] = 1207, + [1208] = 1208, + [1209] = 1209, + [1210] = 1210, + [1211] = 1211, + [1212] = 1212, + [1213] = 1213, + [1214] = 1214, + [1215] = 1209, + [1216] = 1216, + [1217] = 1209, + [1218] = 1195, + [1219] = 696, + [1220] = 1220, + [1221] = 1221, + [1222] = 1222, + [1223] = 1223, + [1224] = 1209, + [1225] = 689, + [1226] = 1226, + [1227] = 1227, + [1228] = 696, + [1229] = 1011, + [1230] = 1203, + [1231] = 1223, + [1232] = 833, + [1233] = 1233, + [1234] = 1234, + [1235] = 1207, + [1236] = 1234, + [1237] = 1237, + [1238] = 1234, + [1239] = 1239, + [1240] = 1233, + [1241] = 690, + [1242] = 1216, + [1243] = 1243, + [1244] = 1212, + [1245] = 1199, + [1246] = 1246, + [1247] = 1247, + [1248] = 1213, + [1249] = 1211, + [1250] = 1220, + [1251] = 1233, + [1252] = 1227, + [1253] = 1247, + [1254] = 1227, + [1255] = 1010, + [1256] = 1208, + [1257] = 1237, + [1258] = 1013, + [1259] = 1202, + [1260] = 1012, + [1261] = 1214, + [1262] = 1262, + [1263] = 1237, + [1264] = 1237, + [1265] = 1201, + [1266] = 1234, + [1267] = 1222, + [1268] = 1268, + [1269] = 1233, + [1270] = 1270, + [1271] = 1271, + [1272] = 1272, + [1273] = 1273, + [1274] = 1274, + [1275] = 1275, + [1276] = 1276, + [1277] = 1277, + [1278] = 1278, + [1279] = 1279, + [1280] = 1276, + [1281] = 1281, + [1282] = 1282, + [1283] = 1283, + [1284] = 1284, + [1285] = 1276, + [1286] = 1286, + [1287] = 1287, + [1288] = 1288, + [1289] = 1287, + [1290] = 1290, + [1291] = 1287, + [1292] = 1287, + [1293] = 1290, + [1294] = 1287, + [1295] = 1290, + [1296] = 1290, + [1297] = 1287, + [1298] = 1298, + [1299] = 1299, + [1300] = 1300, + [1301] = 1301, + [1302] = 1302, + [1303] = 1303, + [1304] = 1304, + [1305] = 1305, + [1306] = 1306, + [1307] = 1307, + [1308] = 1308, + [1309] = 1309, + [1310] = 1310, + [1311] = 1311, + [1312] = 1312, + [1313] = 1313, + [1314] = 1314, + [1315] = 1315, + [1316] = 1315, + [1317] = 1317, + [1318] = 1318, + [1319] = 1315, + [1320] = 1320, + [1321] = 1321, + [1322] = 1322, + [1323] = 1323, + [1324] = 1315, + [1325] = 1325, + [1326] = 1326, + [1327] = 1327, + [1328] = 1328, + [1329] = 1329, + [1330] = 1330, + [1331] = 1331, + [1332] = 1332, + [1333] = 1332, + [1334] = 1334, + [1335] = 1332, + [1336] = 1332, + [1337] = 1337, + [1338] = 1338, + [1339] = 1339, + [1340] = 1340, + [1341] = 1341, + [1342] = 1342, + [1343] = 1343, + [1344] = 1344, + [1345] = 1345, + [1346] = 1346, + [1347] = 1347, + [1348] = 1348, + [1349] = 1349, + [1350] = 1350, + [1351] = 1351, + [1352] = 1352, + [1353] = 1353, + [1354] = 1354, + [1355] = 1350, + [1356] = 1356, + [1357] = 1350, + [1358] = 625, + [1359] = 1359, + [1360] = 1360, + [1361] = 1361, + [1362] = 1362, + [1363] = 1363, + [1364] = 1364, + [1365] = 1350, + [1366] = 1366, + [1367] = 1367, + [1368] = 1368, + [1369] = 1369, + [1370] = 1370, + [1371] = 1371, + [1372] = 1372, + [1373] = 1373, + [1374] = 1374, + [1375] = 1375, + [1376] = 1371, + [1377] = 1371, + [1378] = 1378, + [1379] = 1372, + [1380] = 1372, + [1381] = 1372, + [1382] = 1382, + [1383] = 1375, + [1384] = 1384, + [1385] = 1371, + [1386] = 1386, + [1387] = 1387, + [1388] = 1388, + [1389] = 1389, + [1390] = 1386, + [1391] = 1391, + [1392] = 1392, + [1393] = 1393, + [1394] = 1394, + [1395] = 1386, + [1396] = 1396, + [1397] = 1386, + [1398] = 1398, + [1399] = 1399, + [1400] = 1400, + [1401] = 1399, + [1402] = 1402, + [1403] = 1403, + [1404] = 1387, + [1405] = 1405, + [1406] = 1406, + [1407] = 1407, + [1408] = 1399, + [1409] = 1387, + [1410] = 1387, + [1411] = 1399, + [1412] = 1412, + [1413] = 1413, + [1414] = 1414, + [1415] = 1415, + [1416] = 1416, + [1417] = 1417, + [1418] = 1418, + [1419] = 1419, + [1420] = 1420, + [1421] = 1421, + [1422] = 1422, + [1423] = 1423, + [1424] = 1424, + [1425] = 1425, + [1426] = 1426, + [1427] = 1427, + [1428] = 1428, + [1429] = 1429, + [1430] = 1430, + [1431] = 1431, + [1432] = 1432, + [1433] = 1433, + [1434] = 1434, + [1435] = 1435, + [1436] = 1436, + [1437] = 1437, + [1438] = 1438, + [1439] = 1439, + [1440] = 1440, + [1441] = 1418, + [1442] = 1442, + [1443] = 1443, + [1444] = 1421, + [1445] = 1445, + [1446] = 1446, + [1447] = 1447, + [1448] = 1448, + [1449] = 1449, + [1450] = 1450, + [1451] = 1451, + [1452] = 1452, + [1453] = 1453, + [1454] = 1454, + [1455] = 1451, + [1456] = 1456, + [1457] = 1457, + [1458] = 1458, + [1459] = 1451, + [1460] = 1452, + [1461] = 1461, + [1462] = 1462, + [1463] = 1463, + [1464] = 1464, + [1465] = 1465, + [1466] = 1452, + [1467] = 1452, + [1468] = 1451, + [1469] = 1452, + [1470] = 1451, + [1471] = 1471, + [1472] = 1452, + [1473] = 1473, + [1474] = 1474, + [1475] = 1451, + [1476] = 1476, + [1477] = 1477, + [1478] = 1478, + [1479] = 1479, + [1480] = 1480, + [1481] = 1481, + [1482] = 1482, + [1483] = 1483, + [1484] = 1484, + [1485] = 1485, + [1486] = 1486, + [1487] = 1483, + [1488] = 1488, + [1489] = 1489, + [1490] = 1480, + [1491] = 1483, + [1492] = 1492, + [1493] = 1493, + [1494] = 1483, + [1495] = 1495, + [1496] = 1496, + [1497] = 1497, + [1498] = 1498, + [1499] = 1499, + [1500] = 1492, + [1501] = 1501, + [1502] = 1502, + [1503] = 1503, + [1504] = 1484, + [1505] = 1505, + [1506] = 1506, + [1507] = 1507, + [1508] = 1508, + [1509] = 1509, + [1510] = 1510, + [1511] = 1508, + [1512] = 1508, + [1513] = 1510, + [1514] = 1514, + [1515] = 1515, + [1516] = 1516, + [1517] = 1517, + [1518] = 1508, + [1519] = 1509, + [1520] = 1520, + [1521] = 1521, + [1522] = 1517, + [1523] = 1523, + [1524] = 1524, + [1525] = 1525, + [1526] = 1526, + [1527] = 1527, + [1528] = 1508, + [1529] = 1529, + [1530] = 1530, + [1531] = 1527, + [1532] = 1508, + [1533] = 1521, + [1534] = 1530, + [1535] = 1535, + [1536] = 1536, + [1537] = 1517, + [1538] = 1538, + [1539] = 1539, + [1540] = 1538, + [1541] = 1509, + [1542] = 1517, + [1543] = 1510, + [1544] = 1544, + [1545] = 1545, + [1546] = 1546, + [1547] = 1530, + [1548] = 1548, + [1549] = 1521, + [1550] = 1550, + [1551] = 1551, + [1552] = 1523, + [1553] = 1553, + [1554] = 1509, + [1555] = 1508, + [1556] = 1556, + [1557] = 1510, + [1558] = 1521, + [1559] = 1559, + [1560] = 1560, + [1561] = 1523, + [1562] = 1527, + [1563] = 1548, + [1564] = 1546, + [1565] = 1546, + [1566] = 1548, + [1567] = 1567, + [1568] = 1568, + [1569] = 1530, + [1570] = 1517, + [1571] = 1571, + [1572] = 1572, + [1573] = 1573, + [1574] = 1574, + [1575] = 1575, + [1576] = 1576, + [1577] = 1577, + [1578] = 1578, + [1579] = 1575, + [1580] = 1580, + [1581] = 1581, + [1582] = 1582, + [1583] = 1583, + [1584] = 1584, + [1585] = 1585, + [1586] = 1576, + [1587] = 1580, + [1588] = 1588, + [1589] = 1589, + [1590] = 1590, + [1591] = 1591, + [1592] = 1592, + [1593] = 1593, + [1594] = 1594, + [1595] = 1591, + [1596] = 1596, + [1597] = 1594, + [1598] = 1598, + [1599] = 1599, + [1600] = 1596, + [1601] = 1578, + [1602] = 1576, + [1603] = 1582, + [1604] = 1604, + [1605] = 1605, + [1606] = 1580, + [1607] = 1584, + [1608] = 1608, + [1609] = 1589, + [1610] = 1610, + [1611] = 1611, + [1612] = 1590, + [1613] = 1581, + [1614] = 1591, + [1615] = 1615, + [1616] = 1616, + [1617] = 1617, + [1618] = 1596, + [1619] = 1594, + [1620] = 1620, + [1621] = 1591, + [1622] = 1578, + [1623] = 1623, + [1624] = 1580, + [1625] = 1578, + [1626] = 1594, + [1627] = 1596, + [1628] = 1628, + [1629] = 1629, + [1630] = 1630, + [1631] = 1584, + [1632] = 1589, + [1633] = 1590, + [1634] = 1578, + [1635] = 1635, + [1636] = 1636, + [1637] = 1637, + [1638] = 1608, + [1639] = 1639, + [1640] = 1640, + [1641] = 1641, + [1642] = 1623, + [1643] = 1643, + [1644] = 1576, + [1645] = 1641, + [1646] = 1646, + [1647] = 1608, + [1648] = 1648, + [1649] = 1649, + [1650] = 1650, + [1651] = 1651, + [1652] = 1652, + [1653] = 1590, + [1654] = 1589, + [1655] = 1584, + [1656] = 1656, + [1657] = 1657, + [1658] = 1635, + [1659] = 1659, + [1660] = 1629, + [1661] = 1582, + [1662] = 1578, + [1663] = 1663, + [1664] = 1580, + [1665] = 1665, + [1666] = 1666, + [1667] = 1667, + [1668] = 1668, + [1669] = 1580, + [1670] = 1670, + [1671] = 1671, + [1672] = 1672, + [1673] = 1673, + [1674] = 1674, + [1675] = 1675, + [1676] = 1584, + [1677] = 1677, + [1678] = 1635, + [1679] = 75, + [1680] = 1589, + [1681] = 1373, + [1682] = 1641, + [1683] = 1635, + [1684] = 1684, + [1685] = 1590, + [1686] = 1686, + [1687] = 1687, + [1688] = 1688, + [1689] = 1581, + [1690] = 1585, + [1691] = 1581, + [1692] = 1692, + [1693] = 1582, + [1694] = 1578, + [1695] = 1591, + [1696] = 1696, + [1697] = 1697, + [1698] = 1677, + [1699] = 1699, + [1700] = 1594, + [1701] = 1596, + [1702] = 1590, + [1703] = 1589, + [1704] = 1592, + [1705] = 1610, + [1706] = 1677, + [1707] = 1576, + [1708] = 1629, + [1709] = 1610, + [1710] = 1710, + [1711] = 1711, + [1712] = 1712, + [1713] = 1713, + [1714] = 1714, + [1715] = 1592, + [1716] = 1716, + [1717] = 1717, + [1718] = 1584, + [1719] = 1591, + [1720] = 1692, + [1721] = 1721, + [1722] = 1594, + [1723] = 1576, + [1724] = 1596, + [1725] = 1630, + [1726] = 1726, + [1727] = 1727, + [1728] = 1728, + [1729] = 1729, + [1730] = 1730, + [1731] = 1731, + [1732] = 1728, + [1733] = 1730, + [1734] = 1734, + [1735] = 1735, + [1736] = 1736, + [1737] = 1730, + [1738] = 1738, + [1739] = 1739, + [1740] = 1740, + [1741] = 1741, + [1742] = 1742, + [1743] = 1743, + [1744] = 1744, + [1745] = 1745, + [1746] = 1746, + [1747] = 1747, + [1748] = 1748, + [1749] = 1749, + [1750] = 1750, + [1751] = 1741, + [1752] = 1752, + [1753] = 1753, + [1754] = 1731, + [1755] = 1755, + [1756] = 1756, + [1757] = 1744, + [1758] = 1731, + [1759] = 1743, + [1760] = 1760, + [1761] = 1761, + [1762] = 1744, + [1763] = 1739, + [1764] = 1764, + [1765] = 1765, + [1766] = 1760, + [1767] = 1736, + [1768] = 1753, + [1769] = 1741, + [1770] = 1770, + [1771] = 1760, + [1772] = 1743, + [1773] = 1773, + [1774] = 1753, + [1775] = 1743, + [1776] = 1739, + [1777] = 1777, + [1778] = 1755, + [1779] = 1755, + [1780] = 1780, + [1781] = 1730, + [1782] = 1739, + [1783] = 1736, + [1784] = 1728, + [1785] = 1736, + [1786] = 1728, + [1787] = 1731, + [1788] = 1755, + [1789] = 625, + [1790] = 1760, + [1791] = 1743, + [1792] = 1728, + [1793] = 1731, + [1794] = 1760, + [1795] = 1753, + [1796] = 1744, + [1797] = 1741, + [1798] = 1730, + [1799] = 75, + [1800] = 1730, + [1801] = 1801, + [1802] = 1744, + [1803] = 1803, + [1804] = 1755, + [1805] = 1736, + [1806] = 1760, + [1807] = 1807, + [1808] = 1760, + [1809] = 1730, + [1810] = 1810, + [1811] = 1811, + [1812] = 1812, + [1813] = 1813, + [1814] = 1814, + [1815] = 1814, + [1816] = 1816, + [1817] = 1817, + [1818] = 1813, + [1819] = 1819, + [1820] = 1820, + [1821] = 1821, + [1822] = 1812, + [1823] = 1823, + [1824] = 1824, + [1825] = 1814, + [1826] = 1826, + [1827] = 1827, + [1828] = 1828, + [1829] = 1813, + [1830] = 1830, + [1831] = 1831, + [1832] = 1832, + [1833] = 1833, + [1834] = 1812, + [1835] = 1835, + [1836] = 1836, + [1837] = 1837, + [1838] = 1838, + [1839] = 1839, + [1840] = 1840, + [1841] = 1841, + [1842] = 1837, + [1843] = 1843, + [1844] = 1844, + [1845] = 1845, + [1846] = 1846, + [1847] = 1847, + [1848] = 1848, + [1849] = 1810, + [1850] = 1840, + [1851] = 1851, + [1852] = 1852, + [1853] = 1853, + [1854] = 1854, + [1855] = 1814, + [1856] = 1856, + [1857] = 1857, + [1858] = 1858, + [1859] = 1859, + [1860] = 1860, + [1861] = 1861, + [1862] = 1812, + [1863] = 1856, + [1864] = 1864, + [1865] = 1865, + [1866] = 1866, + [1867] = 1819, + [1868] = 1012, + [1869] = 1851, + [1870] = 1870, + [1871] = 1871, + [1872] = 1830, + [1873] = 1873, + [1874] = 1874, + [1875] = 1875, + [1876] = 1013, + [1877] = 1813, + [1878] = 1837, + [1879] = 1828, + [1880] = 1880, + [1881] = 1881, + [1882] = 1882, + [1883] = 1813, + [1884] = 1813, + [1885] = 1880, + [1886] = 1886, + [1887] = 1887, + [1888] = 1888, + [1889] = 1889, + [1890] = 1890, + [1891] = 1891, + [1892] = 1892, + [1893] = 1880, + [1894] = 1894, + [1895] = 1895, + [1896] = 1857, + [1897] = 1864, + [1898] = 1898, + [1899] = 1865, + [1900] = 1895, + [1901] = 1828, + [1902] = 1902, + [1903] = 1827, + [1904] = 1904, + [1905] = 1830, + [1906] = 1819, + [1907] = 1907, + [1908] = 1908, + [1909] = 1812, + [1910] = 1846, + [1911] = 1911, + [1912] = 1857, + [1913] = 1913, + [1914] = 1810, + [1915] = 1846, + [1916] = 1817, + [1917] = 1831, + [1918] = 1918, + [1919] = 1919, + [1920] = 1920, + [1921] = 1870, + [1922] = 1922, + [1923] = 1923, + [1924] = 1924, + [1925] = 1837, + [1926] = 1926, + [1927] = 1847, + [1928] = 1864, + [1929] = 1865, + [1930] = 1866, + [1931] = 1931, + [1932] = 1870, + [1933] = 1821, + [1934] = 1824, + [1935] = 1935, + [1936] = 1936, + [1937] = 1937, + [1938] = 1919, + [1939] = 1939, + [1940] = 1011, + [1941] = 1941, + [1942] = 1840, + [1943] = 1943, + [1944] = 1814, + [1945] = 1945, + [1946] = 1946, + [1947] = 1831, + [1948] = 1923, + [1949] = 1851, + [1950] = 1950, + [1951] = 1847, + [1952] = 1843, + [1953] = 1953, + [1954] = 1827, + [1955] = 1865, + [1956] = 1956, + [1957] = 1847, + [1958] = 1870, + [1959] = 1851, + [1960] = 1814, + [1961] = 1864, + [1962] = 1962, + [1963] = 1843, + [1964] = 1831, + [1965] = 1831, + [1966] = 1865, + [1967] = 1967, + [1968] = 1870, + [1969] = 1840, + [1970] = 1919, + [1971] = 1935, + [1972] = 1972, + [1973] = 1824, + [1974] = 1974, + [1975] = 1821, + [1976] = 1976, + [1977] = 1890, + [1978] = 1881, + [1979] = 1866, + [1980] = 1843, + [1981] = 1812, + [1982] = 1865, + [1983] = 1831, + [1984] = 1864, + [1985] = 1857, + [1986] = 1935, + [1987] = 1873, + [1988] = 1988, + [1989] = 1953, + [1990] = 1990, + [1991] = 1991, + [1992] = 1880, + [1993] = 624, + [1994] = 1870, + [1995] = 1814, + [1996] = 1996, + [1997] = 1997, + [1998] = 1881, + [1999] = 1953, + [2000] = 1813, + [2001] = 1873, + [2002] = 1837, + [2003] = 1010, + [2004] = 2004, + [2005] = 2005, + [2006] = 1830, + [2007] = 2007, + [2008] = 1819, + [2009] = 627, + [2010] = 2010, + [2011] = 1873, + [2012] = 2012, + [2013] = 2013, + [2014] = 2014, + [2015] = 2015, + [2016] = 1812, + [2017] = 1810, + [2018] = 1881, + [2019] = 1846, + [2020] = 1828, + [2021] = 1881, + [2022] = 626, + [2023] = 1827, +}; + +static TSCharacterRange sym__number_literal_character_set_13[] = { + {'0', '9'}, {'B', 'B'}, {'D', 'D'}, {'F', 'F'}, {'L', 'L'}, {'U', 'U'}, {'W', 'W'}, {'b', 'b'}, + {'d', 'd'}, {'f', 'f'}, {'l', 'l'}, {'u', 'u'}, {'w', 'w'}, +}; + +static TSCharacterRange sym__identifier_character_set_1[] = { + {'$', '$'}, {'A', 'Z'}, {'\\', '\\'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, + {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, + {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, + {0x3f7, 0x481}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, + {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, + {0x712, 0x72f}, {0x74d, 0x7a5}, {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, + {0x824, 0x824}, {0x828, 0x828}, {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, + {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, + {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, + {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, + {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, + {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, + {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, + {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, + {0xbd0, 0xbd0}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, + {0xc60, 0xc61}, {0xc80, 0xc80}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, + {0xcdd, 0xcde}, {0xce0, 0xce1}, {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, + {0xd54, 0xd56}, {0xd5f, 0xd61}, {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, + {0xe01, 0xe30}, {0xe32, 0xe32}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, + {0xea7, 0xeb0}, {0xeb2, 0xeb2}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, + {0xf49, 0xf6c}, {0xf88, 0xf8c}, {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, + {0x106e, 0x1070}, {0x1075, 0x1081}, {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, + {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, + {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, + {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, + {0x171f, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, + {0x1880, 0x18a8}, {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, + {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, + {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 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}, {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}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, + {0x12f90, 0x12ff0}, {0x13000, 0x1342e}, {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}, + {0x1b150, 0x1b152}, {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}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, + {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {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, 0x2b738}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, + {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, +}; + +static TSCharacterRange sym__identifier_character_set_2[] = { + {'$', '$'}, {'0', '9'}, {'A', 'Z'}, {'\\', '\\'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, + {0xb7, 0xb7}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, + {0x2ee, 0x2ee}, {0x300, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, + {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, + {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a}, {0x620, 0x669}, + {0x66e, 0x6d3}, {0x6d5, 0x6dc}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1}, {0x7c0, 0x7f5}, + {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {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, 0xcf2}, {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, 0xecd}, {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}, {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, 0x30fa}, {0x30fc, 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}, + {0xff66, 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}, {0x10f00, 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, 0x1123e}, {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}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342e}, {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}, {0x1b150, 0x1b152}, {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}, + {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, + {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {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, 0x2b738}, {0x2b740, 0x2b81d}, + {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0xe0100, 0xe01ef}, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(129); + ADVANCE_MAP( + '!', 196, + '"', 295, + '#', 84, + '%', 213, + '&', 222, + '\'', 286, + '(', 133, + ')', 136, + '*', 209, + '+', 204, + ',', 135, + '-', 199, + '.', 262, + '/', 211, + '0', 268, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + 'L', 307, + 'U', 309, + '[', 242, + '\\', 2, + ']', 243, + '^', 219, + 'u', 311, + '{', 239, + '|', 216, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(47); + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(47); + if (lookahead == '\r') SKIP(1); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 3: + if (lookahead == '\n') SKIP(50); + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(50); + if (lookahead == '\r') SKIP(3); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 5: + if (lookahead == '\n') SKIP(49); + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(49); + if (lookahead == '\r') SKIP(5); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(51); + END_STATE(); + case 8: + if (lookahead == '\n') SKIP(51); + if (lookahead == '\r') SKIP(7); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 9: + if (lookahead == '\n') SKIP(53); + END_STATE(); + case 10: + if (lookahead == '\n') SKIP(53); + if (lookahead == '\r') SKIP(9); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 11: + if (lookahead == '\n') SKIP(57); + END_STATE(); + case 12: + if (lookahead == '\n') SKIP(57); + if (lookahead == '\r') SKIP(11); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 13: + if (lookahead == '\n') SKIP(56); + END_STATE(); + case 14: + if (lookahead == '\n') SKIP(56); + if (lookahead == '\r') SKIP(13); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 15: + if (lookahead == '\n') SKIP(62); + END_STATE(); + case 16: + if (lookahead == '\n') SKIP(62); + if (lookahead == '\r') SKIP(15); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 17: + if (lookahead == '\n') SKIP(63); + END_STATE(); + case 18: + if (lookahead == '\n') SKIP(63); + if (lookahead == '\r') SKIP(17); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 19: + if (lookahead == '\n') SKIP(54); + END_STATE(); + case 20: + if (lookahead == '\n') SKIP(54); + if (lookahead == '\r') SKIP(19); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 21: + if (lookahead == '\n') SKIP(55); + END_STATE(); + case 22: + if (lookahead == '\n') SKIP(55); + if (lookahead == '\r') SKIP(21); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 23: + if (lookahead == '\n') SKIP(58); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(58); + if (lookahead == '\r') SKIP(23); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 25: + if (lookahead == '\n') SKIP(52); + END_STATE(); + case 26: + if (lookahead == '\n') SKIP(52); + if (lookahead == '\r') SKIP(25); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 27: + if (lookahead == '\n') SKIP(29); + END_STATE(); + case 28: + if (lookahead == '\n') SKIP(29); + if (lookahead == '\r') SKIP(27); + END_STATE(); + case 29: + ADVANCE_MAP( + '\n', 138, + '!', 77, + '%', 212, + '&', 221, + '(', 194, + '*', 208, + '+', 203, + '-', 198, + '/', 210, + '<', 230, + '=', 78, + '>', 226, + ); + if (lookahead == '\\') SKIP(28); + if (lookahead == '^') ADVANCE(218); + if (lookahead == '|') ADVANCE(217); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(29); + END_STATE(); + case 30: + if (lookahead == '\n') SKIP(61); + END_STATE(); + case 31: + if (lookahead == '\n') SKIP(61); + if (lookahead == '\r') SKIP(30); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 32: + if (lookahead == '\n') SKIP(59); + END_STATE(); + case 33: + if (lookahead == '\n') SKIP(59); + if (lookahead == '\r') SKIP(32); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 34: + if (lookahead == '\n') ADVANCE(131); + if (lookahead == '\r') ADVANCE(38); + if (lookahead == '(') ADVANCE(133); + if (lookahead == '/') ADVANCE(159); + if (lookahead == '\\') ADVANCE(154); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(75); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 35: + if (lookahead == '\n') ADVANCE(131); + if (lookahead == '\r') ADVANCE(38); + if (lookahead == '/') ADVANCE(159); + if (lookahead == '\\') ADVANCE(154); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(75); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 36: + if (lookahead == '\n') ADVANCE(131); + if (lookahead == '\r') ADVANCE(37); + if (lookahead == '(') ADVANCE(194); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') SKIP(43); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(65); + END_STATE(); + case 37: + if (lookahead == '\n') ADVANCE(131); + if (lookahead == '(') ADVANCE(194); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') SKIP(43); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(65); + END_STATE(); + case 38: + if (lookahead == '\n') ADVANCE(131); + if (lookahead == '/') ADVANCE(159); + if (lookahead == '\\') ADVANCE(154); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(75); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 39: + if (lookahead == '\n') SKIP(60); + if (lookahead == '"') ADVANCE(295); + if (lookahead == '/') ADVANCE(296); + if (lookahead == '\\') ADVANCE(40); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(299); + if (lookahead != 0) ADVANCE(300); + END_STATE(); + case 40: + if (lookahead == '\n') ADVANCE(302); + if (lookahead == '\r') ADVANCE(301); + if (lookahead == 'U') ADVANCE(125); + if (lookahead == 'u') ADVANCE(117); + if (lookahead == 'x') ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(304); + if (lookahead != 0) ADVANCE(301); + END_STATE(); + case 41: + if (lookahead == '\n') SKIP(64); + if (lookahead == '\'') ADVANCE(286); + if (lookahead == '/') ADVANCE(289); + if (lookahead == '\\') ADVANCE(288); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(290); + if (lookahead != 0) ADVANCE(287); + END_STATE(); + case 42: + if (lookahead == '\n') SKIP(65); + END_STATE(); + case 43: + if (lookahead == '\n') SKIP(65); + if (lookahead == '\r') SKIP(42); + END_STATE(); + case 44: + if (lookahead == '\n') SKIP(48); + END_STATE(); + case 45: + if (lookahead == '\n') SKIP(48); + if (lookahead == '\r') SKIP(44); + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 46: + if (lookahead == '\r') ADVANCE(329); + if (lookahead == '\\') ADVANCE(323); + if (lookahead != 0) ADVANCE(328); + END_STATE(); + case 47: + ADVANCE_MAP( + '!', 196, + '"', 295, + '#', 84, + '%', 213, + '&', 222, + '\'', 286, + '(', 194, + ')', 136, + '*', 209, + '+', 204, + ',', 135, + '-', 199, + '.', 262, + '/', 211, + '0', 268, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + 'L', 307, + 'U', 309, + '[', 242, + '\\', 2, + ']', 243, + '^', 219, + 'u', 311, + '{', 239, + '|', 216, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(47); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 48: + ADVANCE_MAP( + '!', 196, + '"', 295, + '#', 92, + '%', 213, + '&', 222, + '\'', 286, + '(', 194, + ')', 136, + '*', 209, + '+', 204, + ',', 135, + '-', 199, + '.', 262, + '/', 211, + '0', 268, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + 'L', 307, + 'U', 309, + '[', 241, + '\\', 45, + ']', 243, + '^', 219, + 'u', 311, + '{', 239, + '|', 216, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(48); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 49: + ADVANCE_MAP( + '!', 195, + '"', 295, + '#', 84, + '&', 220, + '\'', 286, + '(', 194, + '*', 208, + '+', 205, + ',', 135, + '-', 200, + '.', 105, + '/', 66, + '0', 268, + ':', 76, + ';', 235, + 'L', 307, + 'U', 309, + '[', 82, + '\\', 6, + ']', 83, + 'u', 311, + '{', 239, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(49); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 50: + ADVANCE_MAP( + '!', 195, + '"', 295, + '#', 88, + '&', 220, + '\'', 286, + '(', 194, + ')', 136, + '*', 208, + '+', 205, + ',', 135, + '-', 200, + '.', 263, + '/', 66, + '0', 268, + ':', 246, + ';', 235, + '=', 244, + 'L', 307, + 'U', 309, + '[', 242, + '\\', 4, + ']', 243, + 'u', 311, + '{', 239, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(50); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 51: + ADVANCE_MAP( + '!', 195, + '"', 295, + '#', 86, + '&', 220, + '\'', 286, + '(', 194, + '*', 208, + '+', 205, + '-', 200, + '.', 105, + '/', 66, + '0', 268, + ';', 235, + 'L', 307, + 'U', 309, + '[', 82, + '\\', 8, + 'u', 311, + '{', 239, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(51); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 52: + ADVANCE_MAP( + '!', 195, + '\'', 286, + '(', 194, + ')', 136, + '+', 207, + '-', 202, + '.', 105, + '/', 66, + '0', 268, + 'L', 315, + 'U', 316, + '\\', 26, + 'u', 317, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(52); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 53: + ADVANCE_MAP( + '!', 77, + '"', 295, + '#', 92, + '%', 213, + '&', 222, + '(', 194, + ')', 136, + '*', 209, + '+', 206, + ',', 135, + '-', 201, + '.', 261, + '/', 211, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + 'L', 308, + 'U', 310, + '[', 242, + '\\', 10, + ']', 243, + '^', 219, + 'u', 312, + '{', 239, + '|', 216, + '}', 240, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(53); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 54: + ADVANCE_MAP( + '!', 77, + '#', 92, + '%', 213, + '&', 222, + '(', 194, + ')', 136, + '*', 209, + '+', 206, + ',', 135, + '-', 201, + '.', 261, + '/', 211, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + '[', 242, + '\\', 20, + ']', 243, + '^', 219, + '{', 239, + '|', 216, + '}', 240, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(54); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 55: + ADVANCE_MAP( + '!', 77, + '#', 92, + '%', 213, + '&', 222, + '(', 194, + ')', 136, + '*', 209, + '+', 206, + ',', 135, + '-', 201, + '.', 260, + '/', 211, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + '[', 241, + '\\', 22, + ']', 83, + '^', 219, + '|', 216, + '}', 240, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(55); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 56: + ADVANCE_MAP( + '!', 77, + '#', 92, + '%', 212, + '&', 221, + '(', 194, + ')', 136, + '*', 208, + '+', 203, + ',', 135, + '-', 198, + '/', 210, + ':', 246, + ';', 235, + '<', 230, + '=', 245, + '>', 226, + '[', 242, + '\\', 14, + '^', 218, + '{', 239, + '|', 217, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(56); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 57: + ADVANCE_MAP( + '!', 77, + '#', 85, + '%', 212, + '&', 221, + '(', 194, + ')', 136, + '*', 208, + '+', 203, + ',', 135, + '-', 198, + '.', 71, + '/', 210, + ':', 246, + ';', 235, + '<', 230, + '=', 245, + '>', 226, + '[', 242, + '\\', 12, + '^', 218, + '{', 239, + '|', 217, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(57); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 58: + ADVANCE_MAP( + '!', 77, + '%', 213, + '&', 222, + '(', 194, + ')', 136, + '*', 209, + '+', 206, + ',', 135, + '-', 201, + '.', 260, + '/', 211, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + '[', 242, + '\\', 24, + '^', 219, + '{', 239, + '|', 216, + '}', 240, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(58); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 59: + ADVANCE_MAP( + '"', 295, + '/', 66, + '<', 79, + 'L', 308, + 'U', 310, + '\\', 33, + 'u', 312, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(59); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 60: + if (lookahead == '"') ADVANCE(295); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') ADVANCE(40); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(60); + END_STATE(); + case 61: + if (lookahead == '#') ADVANCE(102); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') ADVANCE(31); + if (lookahead == '}') ADVANCE(240); + if (lookahead == 0xb5) ADVANCE(319); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(61); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 62: + if (lookahead == '#') ADVANCE(89); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '[') ADVANCE(82); + if (lookahead == '\\') ADVANCE(16); + if (lookahead == '}') ADVANCE(240); + if (lookahead == 0xb5) ADVANCE(319); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(62); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 63: + if (lookahead == '#') ADVANCE(87); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '[') ADVANCE(82); + if (lookahead == '\\') ADVANCE(18); + if (lookahead == 0xb5) ADVANCE(319); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(63); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 64: + if (lookahead == '\'') ADVANCE(286); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') ADVANCE(40); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(64); + END_STATE(); + case 65: + if (lookahead == '(') ADVANCE(194); + if (lookahead == '/') ADVANCE(66); + if (lookahead == '\\') SKIP(43); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(65); + END_STATE(); + case 66: + if (lookahead == '*') ADVANCE(68); + if (lookahead == '/') ADVANCE(328); + END_STATE(); + case 67: + if (lookahead == '*') ADVANCE(67); + if (lookahead == '/') ADVANCE(321); + if (lookahead != 0) ADVANCE(68); + END_STATE(); + case 68: + if (lookahead == '*') ADVANCE(67); + if (lookahead != 0) ADVANCE(68); + END_STATE(); + case 69: + if (lookahead == '*') ADVANCE(67); + if (lookahead != 0) ADVANCE(152); + END_STATE(); + case 70: + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(266); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(267); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(276); + END_STATE(); + case 71: + if (lookahead == '.') ADVANCE(72); + END_STATE(); + case 72: + if (lookahead == '.') ADVANCE(134); + END_STATE(); + case 73: + if (lookahead == '.') ADVANCE(330); + END_STATE(); + case 74: + if (lookahead == '.') ADVANCE(73); + END_STATE(); + case 75: + if (lookahead == '/') ADVANCE(159); + if (lookahead == '\\') ADVANCE(154); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(75); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 76: + if (lookahead == ':') ADVANCE(236); + END_STATE(); + case 77: + if (lookahead == '=') ADVANCE(224); + END_STATE(); + case 78: + if (lookahead == '=') ADVANCE(223); + END_STATE(); + case 79: + if (lookahead == '>') ADVANCE(305); + if (lookahead == '\\') ADVANCE(80); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(79); + END_STATE(); + case 80: + if (lookahead == '>') ADVANCE(306); + if (lookahead == '\\') ADVANCE(80); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(79); + END_STATE(); + case 81: + if (lookahead == 'U') ADVANCE(124); + if (lookahead == 'u') ADVANCE(116); + END_STATE(); + case 82: + if (lookahead == '[') ADVANCE(237); + END_STATE(); + case 83: + if (lookahead == ']') ADVANCE(238); + END_STATE(); + case 84: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'e') ADVANCE(188); + if (lookahead == 'i') ADVANCE(176); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 85: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'e') ADVANCE(188); + if (lookahead == 'i') ADVANCE(177); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(85); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 86: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'e') ADVANCE(190); + if (lookahead == 'i') ADVANCE(176); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(86); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 87: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'e') ADVANCE(190); + if (lookahead == 'i') ADVANCE(177); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(87); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 88: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'i') ADVANCE(176); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(88); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 89: + if (lookahead == 'd') ADVANCE(168); + if (lookahead == 'i') ADVANCE(177); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(89); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 90: + if (lookahead == 'd') ADVANCE(101); + END_STATE(); + case 91: + if (lookahead == 'd') ADVANCE(95); + END_STATE(); + case 92: + if (lookahead == 'e') ADVANCE(103); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(92); + END_STATE(); + case 93: + if (lookahead == 'e') ADVANCE(143); + END_STATE(); + case 94: + if (lookahead == 'e') ADVANCE(98); + END_STATE(); + case 95: + if (lookahead == 'e') ADVANCE(99); + END_STATE(); + case 96: + if (lookahead == 'f') ADVANCE(145); + END_STATE(); + case 97: + if (lookahead == 'f') ADVANCE(139); + END_STATE(); + case 98: + if (lookahead == 'f') ADVANCE(147); + END_STATE(); + case 99: + if (lookahead == 'f') ADVANCE(149); + END_STATE(); + case 100: + if (lookahead == 'i') ADVANCE(96); + if (lookahead == 's') ADVANCE(93); + END_STATE(); + case 101: + if (lookahead == 'i') ADVANCE(97); + END_STATE(); + case 102: + if (lookahead == 'i') ADVANCE(177); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(102); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 103: + if (lookahead == 'l') ADVANCE(100); + if (lookahead == 'n') ADVANCE(90); + END_STATE(); + case 104: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 105: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(265); + END_STATE(); + case 106: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(276); + END_STATE(); + case 107: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(320); + END_STATE(); + case 108: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(273); + END_STATE(); + case 109: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(276); + END_STATE(); + case 110: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(271); + END_STATE(); + case 111: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(301); + END_STATE(); + case 112: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(107); + END_STATE(); + case 113: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(111); + END_STATE(); + case 114: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(112); + END_STATE(); + case 115: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(113); + END_STATE(); + case 116: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(114); + END_STATE(); + case 117: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(115); + END_STATE(); + case 118: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(116); + END_STATE(); + case 119: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + END_STATE(); + case 120: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(118); + END_STATE(); + case 121: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + END_STATE(); + case 122: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(120); + END_STATE(); + case 123: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(121); + END_STATE(); + case 124: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(122); + END_STATE(); + case 125: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(123); + END_STATE(); + case 126: + if (lookahead != 0 && + lookahead != '*') ADVANCE(161); + END_STATE(); + case 127: + if (eof) ADVANCE(129); + ADVANCE_MAP( + '!', 196, + '"', 295, + '#', 84, + '%', 213, + '&', 222, + '\'', 286, + '(', 194, + ')', 136, + '*', 209, + '+', 204, + ',', 135, + '-', 199, + '.', 262, + '/', 211, + '0', 268, + ':', 246, + ';', 235, + '<', 229, + '=', 245, + '>', 225, + '?', 247, + 'L', 307, + 'U', 309, + '[', 242, + '\\', 2, + ']', 243, + '^', 219, + 'u', 311, + '{', 239, + '|', 216, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(127); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 128: + if (eof) ADVANCE(129); + ADVANCE_MAP( + '!', 195, + '"', 295, + '#', 88, + '&', 220, + '\'', 286, + '(', 194, + ')', 136, + '*', 208, + '+', 205, + ',', 135, + '-', 200, + '.', 263, + '/', 66, + '0', 268, + ':', 246, + ';', 235, + '=', 244, + 'L', 307, + 'U', 309, + '[', 242, + '\\', 4, + ']', 243, + 'u', 311, + '{', 239, + '}', 240, + '~', 197, + 0xb5, 319, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(128); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(320); + END_STATE(); + case 129: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 130: + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 131: + ACCEPT_TOKEN(aux_sym_preproc_include_token2); + END_STATE(); + case 132: + ACCEPT_TOKEN(aux_sym_preproc_def_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 133: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 134: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 135: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 136: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 137: + ACCEPT_TOKEN(aux_sym_preproc_if_token1); + if (lookahead == 'd') ADVANCE(172); + if (lookahead == 'n') ADVANCE(166); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 138: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(138); + END_STATE(); + case 139: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + END_STATE(); + case 140: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 141: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 142: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 143: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + END_STATE(); + case 144: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 145: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(94); + if (lookahead == 'n') ADVANCE(91); + END_STATE(); + case 146: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(174); + if (lookahead == 'n') ADVANCE(167); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 147: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + END_STATE(); + case 148: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 149: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + END_STATE(); + case 150: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 151: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(68); + if (lookahead == '*') ADVANCE(151); + if (lookahead == '/') ADVANCE(321); + if (lookahead == '\\') ADVANCE(157); + if (lookahead != 0) ADVANCE(152); + END_STATE(); + case 152: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(68); + if (lookahead == '*') ADVANCE(151); + if (lookahead == '/') ADVANCE(69); + if (lookahead == '\\') ADVANCE(157); + if (lookahead != 0) ADVANCE(152); + END_STATE(); + case 153: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(328); + if (lookahead == '\r') ADVANCE(322); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0) ADVANCE(326); + END_STATE(); + case 154: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(75); + if (lookahead == '\r') ADVANCE(155); + if (lookahead == '/') ADVANCE(126); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 155: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(75); + if (lookahead == '/') ADVANCE(126); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 156: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(162); + if (lookahead == '/') ADVANCE(126); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 157: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(160); + if (lookahead == '*') ADVANCE(151); + if (lookahead == '/') ADVANCE(69); + if (lookahead == '\\') ADVANCE(157); + if (lookahead != 0) ADVANCE(152); + END_STATE(); + case 158: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(327); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0) ADVANCE(326); + END_STATE(); + case 159: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(161); + END_STATE(); + case 160: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(151); + if (lookahead == '/') ADVANCE(69); + if (lookahead == '\\') ADVANCE(157); + if (lookahead != 0) ADVANCE(152); + END_STATE(); + case 161: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(126); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(161); + END_STATE(); + case 162: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(126); + if (lookahead == '\\') ADVANCE(156); + if (lookahead != 0) ADVANCE(161); + END_STATE(); + case 163: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'c') ADVANCE(189); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 164: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 165: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(171); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(173); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 167: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(175); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(178); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 169: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(144); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 170: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(132); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(130); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 172: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(181); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(182); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(183); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 175: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(184); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 176: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(137); + if (lookahead == 'n') ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 177: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(137); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 178: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 179: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(146); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 180: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(140); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 181: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(141); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 182: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(142); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 183: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(148); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 184: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(150); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 185: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(191); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 186: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(179); + if (lookahead == 's') ADVANCE(169); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 187: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(180); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 188: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(186); + if (lookahead == 'n') ADVANCE(164); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 189: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 190: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(164); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 191: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(170); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 192: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'u') ADVANCE(165); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 193: + ACCEPT_TOKEN(sym_preproc_directive); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(193); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_LPAREN2); + END_STATE(); + case 195: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 196: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(224); + END_STATE(); + case 197: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 198: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 199: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(258); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (lookahead == '=') ADVANCE(252); + if (lookahead == '>') ADVANCE(264); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 200: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(258); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 201: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(258); + if (lookahead == '=') ADVANCE(252); + if (lookahead == '>') ADVANCE(264); + END_STATE(); + case 202: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 203: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 204: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(259); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (lookahead == '=') ADVANCE(251); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 205: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(259); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 206: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(259); + if (lookahead == '=') ADVANCE(251); + END_STATE(); + case 207: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(268); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 209: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(248); + END_STATE(); + case 210: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(68); + if (lookahead == '/') ADVANCE(328); + END_STATE(); + case 211: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(68); + if (lookahead == '/') ADVANCE(328); + if (lookahead == '=') ADVANCE(249); + END_STATE(); + case 212: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 213: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(250); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 215: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(257); + if (lookahead == '|') ADVANCE(214); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(214); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 219: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(256); + END_STATE(); + case 220: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 221: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(215); + END_STATE(); + case 222: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(215); + if (lookahead == '=') ADVANCE(255); + END_STATE(); + case 223: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 225: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(227); + if (lookahead == '>') ADVANCE(234); + END_STATE(); + case 226: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(227); + if (lookahead == '>') ADVANCE(233); + END_STATE(); + case 227: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 228: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 229: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(232); + if (lookahead == '=') ADVANCE(228); + END_STATE(); + case 230: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(231); + if (lookahead == '=') ADVANCE(228); + END_STATE(); + case 231: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 232: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(253); + END_STATE(); + case 233: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 234: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(254); + END_STATE(); + case 235: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 236: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 237: + ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK); + END_STATE(); + case 238: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 240: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 241: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 242: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(237); + END_STATE(); + case 243: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 244: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(223); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 247: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 249: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 250: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 251: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 252: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 253: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 254: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 255: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 257: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 258: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 259: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 260: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 261: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(72); + END_STATE(); + case 262: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(72); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(265); + END_STATE(); + case 263: + ACCEPT_TOKEN(anon_sym_DOT); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(265); + END_STATE(); + case 264: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == '\'') ADVANCE(105); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(278); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(265); + if (set_contains(sym__number_literal_character_set_13, 13, lookahead)) ADVANCE(281); + END_STATE(); + case 266: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 106, + '.', 279, + 'B', 275, + 'b', 275, + 'E', 274, + 'e', 274, + 'P', 278, + 'p', 278, + 'X', 109, + 'x', 109, + 'A', 276, + 'C', 276, + 'a', 276, + 'c', 276, + 'D', 276, + 'F', 276, + 'd', 276, + 'f', 276, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 267: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 106, + '.', 279, + 'E', 274, + 'e', 274, + 'P', 278, + 'p', 278, + 'A', 276, + 'C', 276, + 'a', 276, + 'c', 276, + 'B', 276, + 'D', 276, + 'F', 276, + 'b', 276, + 'd', 276, + 'f', 276, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 268: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 104, + '.', 279, + 'B', 277, + 'b', 277, + 'X', 70, + 'x', 70, + 'E', 278, + 'P', 278, + 'e', 278, + 'p', 278, + 'D', 281, + 'F', 281, + 'L', 281, + 'U', 281, + 'W', 281, + 'd', 281, + 'f', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 269: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 104, + '.', 279, + 'B', 280, + 'b', 280, + 'X', 109, + 'x', 109, + 'E', 278, + 'P', 278, + 'e', 278, + 'p', 278, + 'D', 281, + 'F', 281, + 'L', 281, + 'U', 281, + 'W', 281, + 'd', 281, + 'f', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(270); + END_STATE(); + case 270: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == '\'') ADVANCE(104); + if (lookahead == '.') ADVANCE(279); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(278); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__number_literal_character_set_13, 13, lookahead)) ADVANCE(281); + END_STATE(); + case 271: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 110, + 'B', 271, + 'D', 271, + 'F', 271, + 'b', 271, + 'd', 271, + 'f', 271, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(271); + END_STATE(); + case 272: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 108, + '+', 110, + '-', 110, + 'E', 272, + 'e', 272, + 'P', 278, + 'p', 278, + 'B', 273, + 'D', 273, + 'F', 273, + 'b', 273, + 'd', 273, + 'f', 273, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(273); + END_STATE(); + case 273: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 108, + 'E', 272, + 'e', 272, + 'P', 278, + 'p', 278, + 'B', 273, + 'D', 273, + 'F', 273, + 'b', 273, + 'd', 273, + 'f', 273, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(273); + END_STATE(); + case 274: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 109, + '.', 279, + '+', 110, + '-', 110, + 'E', 274, + 'e', 274, + 'P', 278, + 'p', 278, + 'B', 276, + 'D', 276, + 'F', 276, + 'b', 276, + 'd', 276, + 'f', 276, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(276); + END_STATE(); + case 275: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 109, + '.', 279, + 'E', 274, + 'e', 274, + 'P', 278, + 'p', 278, + 'A', 276, + 'C', 276, + 'a', 276, + 'c', 276, + 'B', 276, + 'D', 276, + 'F', 276, + 'b', 276, + 'd', 276, + 'f', 276, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 276: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 109, + '.', 279, + 'E', 274, + 'e', 274, + 'P', 278, + 'p', 278, + 'B', 276, + 'D', 276, + 'F', 276, + 'b', 276, + 'd', 276, + 'f', 276, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(276); + END_STATE(); + case 277: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == '.') ADVANCE(105); + if (lookahead == '0') ADVANCE(269); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__number_literal_character_set_13, 13, lookahead)) ADVANCE(281); + END_STATE(); + case 278: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '+', 110, + '-', 110, + 'B', 271, + 'D', 271, + 'F', 271, + 'b', 271, + 'd', 271, + 'f', 271, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(271); + END_STATE(); + case 279: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + 'E', 272, + 'e', 272, + 'P', 278, + 'p', 278, + 'B', 273, + 'D', 273, + 'F', 273, + 'b', 273, + 'd', 273, + 'f', 273, + 'L', 281, + 'U', 281, + 'W', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(273); + END_STATE(); + case 280: + ACCEPT_TOKEN(sym__number_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(270); + if (set_contains(sym__number_literal_character_set_13, 13, lookahead)) ADVANCE(281); + END_STATE(); + case 281: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + 'B', 281, + 'D', 281, + 'F', 281, + 'L', 281, + 'U', 281, + 'W', 281, + 'b', 281, + 'd', 281, + 'f', 281, + 'l', 281, + 'u', 281, + 'w', 281, + ); + END_STATE(); + case 282: + ACCEPT_TOKEN(anon_sym_L_SQUOTE); + END_STATE(); + case 283: + ACCEPT_TOKEN(anon_sym_u_SQUOTE); + END_STATE(); + case 284: + ACCEPT_TOKEN(anon_sym_U_SQUOTE); + END_STATE(); + case 285: + ACCEPT_TOKEN(anon_sym_u8_SQUOTE); + END_STATE(); + case 286: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 287: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + END_STATE(); + case 288: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '\n') ADVANCE(302); + if (lookahead == '\r') ADVANCE(301); + if (lookahead == 'U') ADVANCE(125); + if (lookahead == 'u') ADVANCE(117); + if (lookahead == 'x') ADVANCE(113); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(304); + if (lookahead != 0) ADVANCE(301); + END_STATE(); + case 289: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '*') ADVANCE(68); + if (lookahead == '/') ADVANCE(328); + END_STATE(); + case 290: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '\\') ADVANCE(40); + END_STATE(); + case 291: + ACCEPT_TOKEN(anon_sym_L_DQUOTE); + END_STATE(); + case 292: + ACCEPT_TOKEN(anon_sym_u_DQUOTE); + END_STATE(); + case 293: + ACCEPT_TOKEN(anon_sym_U_DQUOTE); + END_STATE(); + case 294: + ACCEPT_TOKEN(anon_sym_u8_DQUOTE); + END_STATE(); + case 295: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 296: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(298); + if (lookahead == '/') ADVANCE(300); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(300); + END_STATE(); + case 297: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(297); + if (lookahead == '/') ADVANCE(300); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(298); + END_STATE(); + case 298: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(297); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(298); + END_STATE(); + case 299: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '/') ADVANCE(296); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(299); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != '"' && + lookahead != '\\') ADVANCE(300); + END_STATE(); + case 300: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(300); + END_STATE(); + case 301: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 302: + ACCEPT_TOKEN(sym_escape_sequence); + if (lookahead == '\\') ADVANCE(40); + END_STATE(); + case 303: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(301); + END_STATE(); + case 304: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(303); + END_STATE(); + case 305: + ACCEPT_TOKEN(sym_system_lib_string); + END_STATE(); + case 306: + ACCEPT_TOKEN(sym_system_lib_string); + if (lookahead == '>') ADVANCE(305); + if (lookahead == '\\') ADVANCE(80); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(79); + END_STATE(); + case 307: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(291); + if (lookahead == '\'') ADVANCE(282); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 308: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(291); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 309: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(293); + if (lookahead == '\'') ADVANCE(284); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 310: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(293); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 311: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(292); + if (lookahead == '\'') ADVANCE(283); + if (lookahead == '8') ADVANCE(313); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 312: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(292); + if (lookahead == '8') ADVANCE(314); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 313: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(294); + if (lookahead == '\'') ADVANCE(285); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 314: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(294); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 315: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(282); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 316: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(284); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 317: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(283); + if (lookahead == '8') ADVANCE(318); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 318: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(285); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 319: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '.') ADVANCE(74); + if (lookahead == '\\') ADVANCE(81); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(331); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 320: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(81); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(320); + END_STATE(); + case 321: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 322: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\n') ADVANCE(328); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(158); + if (lookahead != 0) ADVANCE(326); + END_STATE(); + case 323: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(329); + if (lookahead == '\\') ADVANCE(323); + if (lookahead != 0) ADVANCE(328); + END_STATE(); + case 324: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(327); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0) ADVANCE(326); + END_STATE(); + case 325: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '*') ADVANCE(328); + if (lookahead == '\\') ADVANCE(153); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(326); + END_STATE(); + case 326: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(326); + END_STATE(); + case 327: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(325); + if (lookahead == '\\') ADVANCE(158); + if (lookahead != 0) ADVANCE(326); + END_STATE(); + case 328: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(46); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(328); + END_STATE(); + case 329: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(46); + if (lookahead != 0) ADVANCE(328); + END_STATE(); + case 330: + ACCEPT_TOKEN(sym_grit_metavariable); + END_STATE(); + case 331: + ACCEPT_TOKEN(sym_grit_metavariable); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(331); + 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 == 'F') ADVANCE(1); + if (lookahead == 'N') ADVANCE(2); + if (lookahead == 'T') ADVANCE(3); + if (lookahead == '\\') SKIP(4); + if (lookahead == '_') ADVANCE(5); + if (lookahead == 'a') ADVANCE(6); + if (lookahead == 'b') ADVANCE(7); + if (lookahead == 'c') ADVANCE(8); + if (lookahead == 'd') ADVANCE(9); + if (lookahead == 'e') ADVANCE(10); + if (lookahead == 'f') ADVANCE(11); + if (lookahead == 'g') ADVANCE(12); + if (lookahead == 'i') ADVANCE(13); + if (lookahead == 'l') ADVANCE(14); + if (lookahead == 'm') ADVANCE(15); + if (lookahead == 'n') ADVANCE(16); + if (lookahead == 'o') ADVANCE(17); + if (lookahead == 'p') ADVANCE(18); + if (lookahead == 'r') ADVANCE(19); + if (lookahead == 's') ADVANCE(20); + if (lookahead == 't') ADVANCE(21); + if (lookahead == 'u') ADVANCE(22); + if (lookahead == 'v') ADVANCE(23); + if (lookahead == 'w') ADVANCE(24); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + END_STATE(); + case 1: + if (lookahead == 'A') ADVANCE(25); + END_STATE(); + case 2: + if (lookahead == 'U') ADVANCE(26); + END_STATE(); + case 3: + if (lookahead == 'R') ADVANCE(27); + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(0); + if (lookahead == '\r') SKIP(28); + END_STATE(); + case 5: + if (lookahead == 'A') ADVANCE(29); + if (lookahead == 'G') ADVANCE(30); + if (lookahead == 'N') ADVANCE(31); + if (lookahead == '_') ADVANCE(32); + if (lookahead == 'a') ADVANCE(33); + if (lookahead == 'u') ADVANCE(34); + END_STATE(); + case 6: + if (lookahead == 'l') ADVANCE(35); + if (lookahead == 's') ADVANCE(36); + if (lookahead == 'u') ADVANCE(37); + END_STATE(); + case 7: + if (lookahead == 'o') ADVANCE(38); + if (lookahead == 'r') ADVANCE(39); + END_STATE(); + case 8: + if (lookahead == 'a') ADVANCE(40); + if (lookahead == 'h') ADVANCE(41); + if (lookahead == 'o') ADVANCE(42); + END_STATE(); + case 9: + if (lookahead == 'e') ADVANCE(43); + if (lookahead == 'o') ADVANCE(44); + END_STATE(); + case 10: + if (lookahead == 'l') ADVANCE(45); + if (lookahead == 'n') ADVANCE(46); + if (lookahead == 'x') ADVANCE(47); + END_STATE(); + case 11: + if (lookahead == 'a') ADVANCE(48); + if (lookahead == 'l') ADVANCE(49); + if (lookahead == 'o') ADVANCE(50); + END_STATE(); + case 12: + if (lookahead == 'o') ADVANCE(51); + END_STATE(); + case 13: + if (lookahead == 'f') ADVANCE(52); + if (lookahead == 'n') ADVANCE(53); + END_STATE(); + case 14: + if (lookahead == 'o') ADVANCE(54); + END_STATE(); + case 15: + if (lookahead == 'a') ADVANCE(55); + END_STATE(); + case 16: + if (lookahead == 'o') ADVANCE(56); + if (lookahead == 'u') ADVANCE(57); + END_STATE(); + case 17: + if (lookahead == 'f') ADVANCE(58); + END_STATE(); + case 18: + if (lookahead == 't') ADVANCE(59); + END_STATE(); + case 19: + if (lookahead == 'e') ADVANCE(60); + END_STATE(); + case 20: + if (lookahead == 'h') ADVANCE(61); + if (lookahead == 'i') ADVANCE(62); + if (lookahead == 's') ADVANCE(63); + if (lookahead == 't') ADVANCE(64); + if (lookahead == 'w') ADVANCE(65); + END_STATE(); + case 21: + if (lookahead == 'h') ADVANCE(66); + if (lookahead == 'r') ADVANCE(67); + if (lookahead == 'y') ADVANCE(68); + END_STATE(); + case 22: + if (lookahead == 'i') ADVANCE(69); + if (lookahead == 'n') ADVANCE(70); + END_STATE(); + case 23: + if (lookahead == 'o') ADVANCE(71); + END_STATE(); + case 24: + if (lookahead == 'h') ADVANCE(72); + END_STATE(); + case 25: + if (lookahead == 'L') ADVANCE(73); + END_STATE(); + case 26: + if (lookahead == 'L') ADVANCE(74); + END_STATE(); + case 27: + if (lookahead == 'U') ADVANCE(75); + END_STATE(); + case 28: + if (lookahead == '\n') SKIP(0); + END_STATE(); + case 29: + if (lookahead == 'l') ADVANCE(76); + if (lookahead == 't') ADVANCE(77); + END_STATE(); + case 30: + if (lookahead == 'e') ADVANCE(78); + END_STATE(); + case 31: + if (lookahead == 'o') ADVANCE(79); + END_STATE(); + case 32: + ADVANCE_MAP( + 'a', 80, + 'b', 81, + 'c', 82, + 'd', 83, + 'e', 84, + 'f', 85, + 'i', 86, + 'l', 87, + 'r', 88, + 's', 89, + 't', 90, + 'u', 91, + 'v', 92, + ); + END_STATE(); + case 33: + if (lookahead == 'l') ADVANCE(93); + END_STATE(); + case 34: + if (lookahead == 'n') ADVANCE(94); + END_STATE(); + case 35: + if (lookahead == 'i') ADVANCE(95); + END_STATE(); + case 36: + if (lookahead == 'm') ADVANCE(96); + END_STATE(); + case 37: + if (lookahead == 't') ADVANCE(97); + END_STATE(); + case 38: + if (lookahead == 'o') ADVANCE(98); + END_STATE(); + case 39: + if (lookahead == 'e') ADVANCE(99); + END_STATE(); + case 40: + if (lookahead == 's') ADVANCE(100); + END_STATE(); + case 41: + if (lookahead == 'a') ADVANCE(101); + END_STATE(); + case 42: + if (lookahead == 'n') ADVANCE(102); + END_STATE(); + case 43: + if (lookahead == 'f') ADVANCE(103); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_do); + if (lookahead == 'u') ADVANCE(104); + END_STATE(); + case 45: + if (lookahead == 's') ADVANCE(105); + END_STATE(); + case 46: + if (lookahead == 'u') ADVANCE(106); + END_STATE(); + case 47: + if (lookahead == 't') ADVANCE(107); + END_STATE(); + case 48: + if (lookahead == 'l') ADVANCE(108); + END_STATE(); + case 49: + if (lookahead == 'o') ADVANCE(109); + END_STATE(); + case 50: + if (lookahead == 'r') ADVANCE(110); + END_STATE(); + case 51: + if (lookahead == 't') ADVANCE(111); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 53: + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 't') ADVANCE(113); + END_STATE(); + case 54: + if (lookahead == 'n') ADVANCE(114); + END_STATE(); + case 55: + if (lookahead == 'x') ADVANCE(115); + END_STATE(); + case 56: + if (lookahead == 'r') ADVANCE(116); + END_STATE(); + case 57: + if (lookahead == 'l') ADVANCE(117); + END_STATE(); + case 58: + if (lookahead == 'f') ADVANCE(118); + END_STATE(); + case 59: + if (lookahead == 'r') ADVANCE(119); + END_STATE(); + case 60: + if (lookahead == 'g') ADVANCE(120); + if (lookahead == 's') ADVANCE(121); + if (lookahead == 't') ADVANCE(122); + END_STATE(); + case 61: + if (lookahead == 'o') ADVANCE(123); + END_STATE(); + case 62: + if (lookahead == 'g') ADVANCE(124); + if (lookahead == 'z') ADVANCE(125); + END_STATE(); + case 63: + if (lookahead == 'i') ADVANCE(126); + END_STATE(); + case 64: + if (lookahead == 'a') ADVANCE(127); + if (lookahead == 'r') ADVANCE(128); + END_STATE(); + case 65: + if (lookahead == 'i') ADVANCE(129); + END_STATE(); + case 66: + if (lookahead == 'r') ADVANCE(130); + END_STATE(); + case 67: + if (lookahead == 'u') ADVANCE(131); + END_STATE(); + case 68: + if (lookahead == 'p') ADVANCE(132); + END_STATE(); + case 69: + if (lookahead == 'n') ADVANCE(133); + END_STATE(); + case 70: + if (lookahead == 'i') ADVANCE(134); + if (lookahead == 's') ADVANCE(135); + END_STATE(); + case 71: + if (lookahead == 'i') ADVANCE(136); + if (lookahead == 'l') ADVANCE(137); + END_STATE(); + case 72: + if (lookahead == 'i') ADVANCE(138); + END_STATE(); + case 73: + if (lookahead == 'S') ADVANCE(139); + END_STATE(); + case 74: + if (lookahead == 'L') ADVANCE(140); + END_STATE(); + case 75: + if (lookahead == 'E') ADVANCE(141); + END_STATE(); + case 76: + if (lookahead == 'i') ADVANCE(142); + END_STATE(); + case 77: + if (lookahead == 'o') ADVANCE(143); + END_STATE(); + case 78: + if (lookahead == 'n') ADVANCE(144); + END_STATE(); + case 79: + if (lookahead == 'r') ADVANCE(145); + END_STATE(); + case 80: + if (lookahead == 'l') ADVANCE(146); + if (lookahead == 's') ADVANCE(147); + if (lookahead == 't') ADVANCE(148); + END_STATE(); + case 81: + if (lookahead == 'a') ADVANCE(149); + END_STATE(); + case 82: + if (lookahead == 'd') ADVANCE(150); + if (lookahead == 'l') ADVANCE(151); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(152); + END_STATE(); + case 84: + if (lookahead == 'x') ADVANCE(153); + END_STATE(); + case 85: + if (lookahead == 'a') ADVANCE(154); + if (lookahead == 'i') ADVANCE(155); + if (lookahead == 'o') ADVANCE(156); + END_STATE(); + case 86: + if (lookahead == 'n') ADVANCE(157); + END_STATE(); + case 87: + if (lookahead == 'e') ADVANCE(158); + END_STATE(); + case 88: + if (lookahead == 'e') ADVANCE(159); + END_STATE(); + case 89: + if (lookahead == 'p') ADVANCE(160); + if (lookahead == 't') ADVANCE(161); + END_STATE(); + case 90: + if (lookahead == 'h') ADVANCE(162); + if (lookahead == 'r') ADVANCE(163); + END_STATE(); + case 91: + if (lookahead == 'n') ADVANCE(164); + if (lookahead == 'p') ADVANCE(165); + END_STATE(); + case 92: + if (lookahead == 'e') ADVANCE(166); + END_STATE(); + case 93: + if (lookahead == 'i') ADVANCE(167); + END_STATE(); + case 94: + if (lookahead == 'a') ADVANCE(168); + END_STATE(); + case 95: + if (lookahead == 'g') ADVANCE(169); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_asm); + END_STATE(); + case 97: + if (lookahead == 'o') ADVANCE(170); + END_STATE(); + case 98: + if (lookahead == 'l') ADVANCE(171); + END_STATE(); + case 99: + if (lookahead == 'a') ADVANCE(172); + END_STATE(); + case 100: + if (lookahead == 'e') ADVANCE(173); + END_STATE(); + case 101: + if (lookahead == 'r') ADVANCE(174); + END_STATE(); + case 102: + if (lookahead == 's') ADVANCE(175); + if (lookahead == 't') ADVANCE(176); + END_STATE(); + case 103: + if (lookahead == 'a') ADVANCE(177); + if (lookahead == 'i') ADVANCE(178); + END_STATE(); + case 104: + if (lookahead == 'b') ADVANCE(179); + END_STATE(); + case 105: + if (lookahead == 'e') ADVANCE(180); + END_STATE(); + case 106: + if (lookahead == 'm') ADVANCE(181); + END_STATE(); + case 107: + if (lookahead == 'e') ADVANCE(182); + END_STATE(); + case 108: + if (lookahead == 's') ADVANCE(183); + END_STATE(); + case 109: + if (lookahead == 'a') ADVANCE(184); + END_STATE(); + case 110: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 111: + if (lookahead == 'o') ADVANCE(185); + END_STATE(); + case 112: + if (lookahead == 'i') ADVANCE(186); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(187); + if (lookahead == '3') ADVANCE(188); + if (lookahead == '6') ADVANCE(189); + if (lookahead == '8') ADVANCE(190); + if (lookahead == 'p') ADVANCE(191); + END_STATE(); + case 114: + if (lookahead == 'g') ADVANCE(192); + END_STATE(); + case 115: + if (lookahead == '_') ADVANCE(193); + END_STATE(); + case 116: + if (lookahead == 'e') ADVANCE(194); + END_STATE(); + case 117: + if (lookahead == 'l') ADVANCE(195); + END_STATE(); + case 118: + if (lookahead == 's') ADVANCE(196); + END_STATE(); + case 119: + if (lookahead == 'd') ADVANCE(197); + END_STATE(); + case 120: + if (lookahead == 'i') ADVANCE(198); + END_STATE(); + case 121: + if (lookahead == 't') ADVANCE(199); + END_STATE(); + case 122: + if (lookahead == 'u') ADVANCE(200); + END_STATE(); + case 123: + if (lookahead == 'r') ADVANCE(201); + END_STATE(); + case 124: + if (lookahead == 'n') ADVANCE(202); + END_STATE(); + case 125: + if (lookahead == 'e') ADVANCE(203); + END_STATE(); + case 126: + if (lookahead == 'z') ADVANCE(204); + END_STATE(); + case 127: + if (lookahead == 't') ADVANCE(205); + END_STATE(); + case 128: + if (lookahead == 'u') ADVANCE(206); + END_STATE(); + case 129: + if (lookahead == 't') ADVANCE(207); + END_STATE(); + case 130: + if (lookahead == 'e') ADVANCE(208); + END_STATE(); + case 131: + if (lookahead == 'e') ADVANCE(141); + END_STATE(); + case 132: + if (lookahead == 'e') ADVANCE(209); + END_STATE(); + case 133: + if (lookahead == 't') ADVANCE(210); + END_STATE(); + case 134: + if (lookahead == 'o') ADVANCE(211); + END_STATE(); + case 135: + if (lookahead == 'i') ADVANCE(212); + END_STATE(); + case 136: + if (lookahead == 'd') ADVANCE(171); + END_STATE(); + case 137: + if (lookahead == 'a') ADVANCE(213); + END_STATE(); + case 138: + if (lookahead == 'l') ADVANCE(214); + END_STATE(); + case 139: + if (lookahead == 'E') ADVANCE(215); + END_STATE(); + case 140: + ACCEPT_TOKEN(anon_sym_NULL); + END_STATE(); + case 141: + ACCEPT_TOKEN(sym_true); + END_STATE(); + case 142: + if (lookahead == 'g') ADVANCE(216); + END_STATE(); + case 143: + if (lookahead == 'm') ADVANCE(217); + END_STATE(); + case 144: + if (lookahead == 'e') ADVANCE(218); + END_STATE(); + case 145: + if (lookahead == 'e') ADVANCE(219); + END_STATE(); + case 146: + if (lookahead == 'i') ADVANCE(220); + END_STATE(); + case 147: + if (lookahead == 'm') ADVANCE(221); + END_STATE(); + case 148: + if (lookahead == 't') ADVANCE(222); + END_STATE(); + case 149: + if (lookahead == 's') ADVANCE(223); + END_STATE(); + case 150: + if (lookahead == 'e') ADVANCE(224); + END_STATE(); + case 151: + if (lookahead == 'r') ADVANCE(225); + END_STATE(); + case 152: + if (lookahead == 'c') ADVANCE(226); + END_STATE(); + case 153: + if (lookahead == 'c') ADVANCE(227); + if (lookahead == 't') ADVANCE(228); + END_STATE(); + case 154: + if (lookahead == 's') ADVANCE(229); + END_STATE(); + case 155: + if (lookahead == 'n') ADVANCE(230); + END_STATE(); + case 156: + if (lookahead == 'r') ADVANCE(231); + END_STATE(); + case 157: + if (lookahead == 'l') ADVANCE(232); + END_STATE(); + case 158: + if (lookahead == 'a') ADVANCE(233); + END_STATE(); + case 159: + if (lookahead == 's') ADVANCE(234); + END_STATE(); + case 160: + if (lookahead == 't') ADVANCE(235); + END_STATE(); + case 161: + if (lookahead == 'd') ADVANCE(236); + END_STATE(); + case 162: + if (lookahead == 'i') ADVANCE(237); + if (lookahead == 'r') ADVANCE(238); + END_STATE(); + case 163: + if (lookahead == 'y') ADVANCE(239); + END_STATE(); + case 164: + if (lookahead == 'a') ADVANCE(240); + END_STATE(); + case 165: + if (lookahead == 't') ADVANCE(241); + END_STATE(); + case 166: + if (lookahead == 'c') ADVANCE(242); + END_STATE(); + case 167: + if (lookahead == 'g') ADVANCE(243); + END_STATE(); + case 168: + if (lookahead == 'l') ADVANCE(244); + END_STATE(); + case 169: + if (lookahead == 'n') ADVANCE(245); + END_STATE(); + case 170: + ACCEPT_TOKEN(anon_sym_auto); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_primitive_type); + END_STATE(); + case 172: + if (lookahead == 'k') ADVANCE(246); + END_STATE(); + case 173: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(247); + if (lookahead == '3') ADVANCE(248); + if (lookahead == '6') ADVANCE(249); + if (lookahead == '8') ADVANCE(250); + if (lookahead == 'p') ADVANCE(251); + END_STATE(); + case 175: + if (lookahead == 't') ADVANCE(252); + END_STATE(); + case 176: + if (lookahead == 'i') ADVANCE(253); + END_STATE(); + case 177: + if (lookahead == 'u') ADVANCE(254); + END_STATE(); + case 178: + if (lookahead == 'n') ADVANCE(255); + END_STATE(); + case 179: + if (lookahead == 'l') ADVANCE(256); + END_STATE(); + case 180: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 181: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 182: + if (lookahead == 'r') ADVANCE(257); + END_STATE(); + case 183: + if (lookahead == 'e') ADVANCE(215); + END_STATE(); + case 184: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 185: + ACCEPT_TOKEN(anon_sym_goto); + END_STATE(); + case 186: + if (lookahead == 'n') ADVANCE(258); + END_STATE(); + case 187: + if (lookahead == '6') ADVANCE(259); + END_STATE(); + case 188: + if (lookahead == '2') ADVANCE(260); + END_STATE(); + case 189: + if (lookahead == '4') ADVANCE(261); + END_STATE(); + case 190: + if (lookahead == '_') ADVANCE(262); + END_STATE(); + case 191: + if (lookahead == 't') ADVANCE(263); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_long); + END_STATE(); + case 193: + if (lookahead == 'a') ADVANCE(264); + END_STATE(); + case 194: + if (lookahead == 't') ADVANCE(265); + END_STATE(); + case 195: + if (lookahead == 'p') ADVANCE(266); + END_STATE(); + case 196: + if (lookahead == 'e') ADVANCE(267); + END_STATE(); + case 197: + if (lookahead == 'i') ADVANCE(268); + END_STATE(); + case 198: + if (lookahead == 's') ADVANCE(269); + END_STATE(); + case 199: + if (lookahead == 'r') ADVANCE(270); + END_STATE(); + case 200: + if (lookahead == 'r') ADVANCE(271); + END_STATE(); + case 201: + if (lookahead == 't') ADVANCE(272); + END_STATE(); + case 202: + if (lookahead == 'e') ADVANCE(273); + END_STATE(); + case 203: + if (lookahead == '_') ADVANCE(274); + if (lookahead == 'o') ADVANCE(275); + END_STATE(); + case 204: + if (lookahead == 'e') ADVANCE(276); + END_STATE(); + case 205: + if (lookahead == 'i') ADVANCE(277); + END_STATE(); + case 206: + if (lookahead == 'c') ADVANCE(278); + END_STATE(); + case 207: + if (lookahead == 'c') ADVANCE(279); + END_STATE(); + case 208: + if (lookahead == 'a') ADVANCE(280); + END_STATE(); + case 209: + if (lookahead == 'd') ADVANCE(281); + END_STATE(); + case 210: + if (lookahead == '1') ADVANCE(282); + if (lookahead == '3') ADVANCE(283); + if (lookahead == '6') ADVANCE(284); + if (lookahead == '8') ADVANCE(285); + if (lookahead == 'p') ADVANCE(286); + END_STATE(); + case 211: + if (lookahead == 'n') ADVANCE(287); + END_STATE(); + case 212: + if (lookahead == 'g') ADVANCE(288); + END_STATE(); + case 213: + if (lookahead == 't') ADVANCE(289); + END_STATE(); + case 214: + if (lookahead == 'e') ADVANCE(290); + END_STATE(); + case 215: + ACCEPT_TOKEN(sym_false); + END_STATE(); + case 216: + if (lookahead == 'n') ADVANCE(291); + END_STATE(); + case 217: + if (lookahead == 'i') ADVANCE(292); + END_STATE(); + case 218: + if (lookahead == 'r') ADVANCE(293); + END_STATE(); + case 219: + if (lookahead == 't') ADVANCE(294); + END_STATE(); + case 220: + if (lookahead == 'g') ADVANCE(295); + END_STATE(); + case 221: + if (lookahead == '_') ADVANCE(296); + END_STATE(); + case 222: + if (lookahead == 'r') ADVANCE(297); + END_STATE(); + case 223: + if (lookahead == 'e') ADVANCE(298); + END_STATE(); + case 224: + if (lookahead == 'c') ADVANCE(299); + END_STATE(); + case 225: + if (lookahead == 'c') ADVANCE(300); + END_STATE(); + case 226: + if (lookahead == 'l') ADVANCE(301); + END_STATE(); + case 227: + if (lookahead == 'e') ADVANCE(302); + END_STATE(); + case 228: + if (lookahead == 'e') ADVANCE(303); + END_STATE(); + case 229: + if (lookahead == 't') ADVANCE(304); + END_STATE(); + case 230: + if (lookahead == 'a') ADVANCE(305); + END_STATE(); + case 231: + if (lookahead == 'c') ADVANCE(306); + END_STATE(); + case 232: + if (lookahead == 'i') ADVANCE(307); + END_STATE(); + case 233: + if (lookahead == 'v') ADVANCE(308); + END_STATE(); + case 234: + if (lookahead == 't') ADVANCE(309); + END_STATE(); + case 235: + if (lookahead == 'r') ADVANCE(310); + END_STATE(); + case 236: + if (lookahead == 'c') ADVANCE(311); + END_STATE(); + case 237: + if (lookahead == 's') ADVANCE(312); + END_STATE(); + case 238: + if (lookahead == 'e') ADVANCE(313); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym___try); + END_STATE(); + case 240: + if (lookahead == 'l') ADVANCE(314); + END_STATE(); + case 241: + if (lookahead == 'r') ADVANCE(315); + END_STATE(); + case 242: + if (lookahead == 't') ADVANCE(316); + END_STATE(); + case 243: + if (lookahead == 'n') ADVANCE(317); + END_STATE(); + case 244: + if (lookahead == 'i') ADVANCE(318); + END_STATE(); + case 245: + if (lookahead == 'a') ADVANCE(319); + if (lookahead == 'o') ADVANCE(320); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 247: + if (lookahead == '6') ADVANCE(321); + END_STATE(); + case 248: + if (lookahead == '2') ADVANCE(322); + END_STATE(); + case 249: + if (lookahead == '4') ADVANCE(323); + END_STATE(); + case 250: + if (lookahead == '_') ADVANCE(324); + END_STATE(); + case 251: + if (lookahead == 't') ADVANCE(325); + END_STATE(); + case 252: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'e') ADVANCE(326); + END_STATE(); + case 253: + if (lookahead == 'n') ADVANCE(327); + END_STATE(); + case 254: + if (lookahead == 'l') ADVANCE(328); + END_STATE(); + case 255: + if (lookahead == 'e') ADVANCE(329); + END_STATE(); + case 256: + if (lookahead == 'e') ADVANCE(171); + END_STATE(); + case 257: + if (lookahead == 'n') ADVANCE(330); + END_STATE(); + case 258: + if (lookahead == 'e') ADVANCE(331); + END_STATE(); + case 259: + if (lookahead == '_') ADVANCE(332); + END_STATE(); + case 260: + if (lookahead == '_') ADVANCE(333); + END_STATE(); + case 261: + if (lookahead == '_') ADVANCE(334); + END_STATE(); + case 262: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 263: + if (lookahead == 'r') ADVANCE(335); + END_STATE(); + case 264: + if (lookahead == 'l') ADVANCE(336); + END_STATE(); + case 265: + if (lookahead == 'u') ADVANCE(337); + END_STATE(); + case 266: + if (lookahead == 't') ADVANCE(338); + END_STATE(); + case 267: + if (lookahead == 't') ADVANCE(339); + END_STATE(); + case 268: + if (lookahead == 'f') ADVANCE(340); + END_STATE(); + case 269: + if (lookahead == 't') ADVANCE(341); + END_STATE(); + case 270: + if (lookahead == 'i') ADVANCE(342); + END_STATE(); + case 271: + if (lookahead == 'n') ADVANCE(343); + END_STATE(); + case 272: + ACCEPT_TOKEN(anon_sym_short); + END_STATE(); + case 273: + if (lookahead == 'd') ADVANCE(344); + END_STATE(); + case 274: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 275: + if (lookahead == 'f') ADVANCE(345); + END_STATE(); + case 276: + if (lookahead == '_') ADVANCE(346); + END_STATE(); + case 277: + if (lookahead == 'c') ADVANCE(347); + END_STATE(); + case 278: + if (lookahead == 't') ADVANCE(348); + END_STATE(); + case 279: + if (lookahead == 'h') ADVANCE(349); + END_STATE(); + case 280: + if (lookahead == 'd') ADVANCE(350); + END_STATE(); + case 281: + if (lookahead == 'e') ADVANCE(351); + END_STATE(); + case 282: + if (lookahead == '6') ADVANCE(352); + END_STATE(); + case 283: + if (lookahead == '2') ADVANCE(353); + END_STATE(); + case 284: + if (lookahead == '4') ADVANCE(354); + END_STATE(); + case 285: + if (lookahead == '_') ADVANCE(355); + END_STATE(); + case 286: + if (lookahead == 't') ADVANCE(356); + END_STATE(); + case 287: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 288: + if (lookahead == 'n') ADVANCE(357); + END_STATE(); + case 289: + if (lookahead == 'i') ADVANCE(358); + END_STATE(); + case 290: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 291: + if (lookahead == 'a') ADVANCE(359); + if (lookahead == 'o') ADVANCE(360); + END_STATE(); + case 292: + if (lookahead == 'c') ADVANCE(361); + END_STATE(); + case 293: + if (lookahead == 'i') ADVANCE(362); + END_STATE(); + case 294: + if (lookahead == 'u') ADVANCE(363); + END_STATE(); + case 295: + if (lookahead == 'n') ADVANCE(364); + END_STATE(); + case 296: + if (lookahead == '_') ADVANCE(365); + END_STATE(); + case 297: + if (lookahead == 'i') ADVANCE(366); + END_STATE(); + case 298: + if (lookahead == 'd') ADVANCE(367); + END_STATE(); + case 299: + if (lookahead == 'l') ADVANCE(368); + END_STATE(); + case 300: + if (lookahead == 'a') ADVANCE(369); + END_STATE(); + case 301: + if (lookahead == 's') ADVANCE(370); + END_STATE(); + case 302: + if (lookahead == 'p') ADVANCE(371); + END_STATE(); + case 303: + if (lookahead == 'n') ADVANCE(372); + END_STATE(); + case 304: + if (lookahead == 'c') ADVANCE(373); + END_STATE(); + case 305: + if (lookahead == 'l') ADVANCE(374); + END_STATE(); + case 306: + if (lookahead == 'e') ADVANCE(375); + END_STATE(); + case 307: + if (lookahead == 'n') ADVANCE(376); + END_STATE(); + case 308: + if (lookahead == 'e') ADVANCE(377); + END_STATE(); + case 309: + if (lookahead == 'r') ADVANCE(378); + END_STATE(); + case 310: + ACCEPT_TOKEN(sym_ms_signed_ptr_modifier); + END_STATE(); + case 311: + if (lookahead == 'a') ADVANCE(379); + END_STATE(); + case 312: + if (lookahead == 'c') ADVANCE(380); + END_STATE(); + case 313: + if (lookahead == 'a') ADVANCE(381); + END_STATE(); + case 314: + if (lookahead == 'i') ADVANCE(382); + END_STATE(); + case 315: + ACCEPT_TOKEN(sym_ms_unsigned_ptr_modifier); + END_STATE(); + case 316: + if (lookahead == 'o') ADVANCE(383); + END_STATE(); + case 317: + if (lookahead == 'o') ADVANCE(384); + END_STATE(); + case 318: + if (lookahead == 'g') ADVANCE(385); + END_STATE(); + case 319: + if (lookahead == 's') ADVANCE(386); + END_STATE(); + case 320: + if (lookahead == 'f') ADVANCE(387); + END_STATE(); + case 321: + if (lookahead == '_') ADVANCE(388); + END_STATE(); + case 322: + if (lookahead == '_') ADVANCE(389); + END_STATE(); + case 323: + if (lookahead == '_') ADVANCE(390); + END_STATE(); + case 324: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 325: + if (lookahead == 'r') ADVANCE(391); + END_STATE(); + case 326: + if (lookahead == 'x') ADVANCE(392); + END_STATE(); + case 327: + if (lookahead == 'u') ADVANCE(393); + END_STATE(); + case 328: + if (lookahead == 't') ADVANCE(394); + END_STATE(); + case 329: + if (lookahead == 'd') ADVANCE(395); + END_STATE(); + case 330: + ACCEPT_TOKEN(anon_sym_extern); + END_STATE(); + case 331: + ACCEPT_TOKEN(anon_sym_inline); + END_STATE(); + case 332: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 333: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 334: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 335: + if (lookahead == '_') ADVANCE(396); + END_STATE(); + case 336: + if (lookahead == 'i') ADVANCE(397); + END_STATE(); + case 337: + if (lookahead == 'r') ADVANCE(398); + END_STATE(); + case 338: + if (lookahead == 'r') ADVANCE(399); + END_STATE(); + case 339: + if (lookahead == 'o') ADVANCE(400); + END_STATE(); + case 340: + if (lookahead == 'f') ADVANCE(401); + END_STATE(); + case 341: + if (lookahead == 'e') ADVANCE(402); + END_STATE(); + case 342: + if (lookahead == 'c') ADVANCE(403); + END_STATE(); + case 343: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 344: + ACCEPT_TOKEN(anon_sym_signed); + END_STATE(); + case 345: + ACCEPT_TOKEN(anon_sym_sizeof); + END_STATE(); + case 346: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 347: + ACCEPT_TOKEN(anon_sym_static); + END_STATE(); + case 348: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 349: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 350: + if (lookahead == '_') ADVANCE(404); + END_STATE(); + case 351: + if (lookahead == 'f') ADVANCE(405); + END_STATE(); + case 352: + if (lookahead == '_') ADVANCE(406); + END_STATE(); + case 353: + if (lookahead == '_') ADVANCE(407); + END_STATE(); + case 354: + if (lookahead == '_') ADVANCE(408); + END_STATE(); + case 355: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 356: + if (lookahead == 'r') ADVANCE(409); + END_STATE(); + case 357: + if (lookahead == 'e') ADVANCE(410); + END_STATE(); + case 358: + if (lookahead == 'l') ADVANCE(411); + END_STATE(); + case 359: + if (lookahead == 's') ADVANCE(412); + END_STATE(); + case 360: + if (lookahead == 'f') ADVANCE(413); + END_STATE(); + case 361: + ACCEPT_TOKEN(anon_sym__Atomic); + END_STATE(); + case 362: + if (lookahead == 'c') ADVANCE(414); + END_STATE(); + case 363: + if (lookahead == 'r') ADVANCE(415); + END_STATE(); + case 364: + if (lookahead == 'o') ADVANCE(416); + END_STATE(); + case 365: + ACCEPT_TOKEN(anon_sym___asm__); + END_STATE(); + case 366: + if (lookahead == 'b') ADVANCE(417); + END_STATE(); + case 367: + ACCEPT_TOKEN(anon_sym___based); + END_STATE(); + case 368: + ACCEPT_TOKEN(anon_sym___cdecl); + END_STATE(); + case 369: + if (lookahead == 'l') ADVANCE(418); + END_STATE(); + case 370: + if (lookahead == 'p') ADVANCE(419); + END_STATE(); + case 371: + if (lookahead == 't') ADVANCE(420); + END_STATE(); + case 372: + if (lookahead == 's') ADVANCE(421); + END_STATE(); + case 373: + if (lookahead == 'a') ADVANCE(422); + END_STATE(); + case 374: + if (lookahead == 'l') ADVANCE(423); + END_STATE(); + case 375: + if (lookahead == 'i') ADVANCE(424); + END_STATE(); + case 376: + if (lookahead == 'e') ADVANCE(425); + END_STATE(); + case 377: + ACCEPT_TOKEN(anon_sym___leave); + END_STATE(); + case 378: + if (lookahead == 'i') ADVANCE(426); + END_STATE(); + case 379: + if (lookahead == 'l') ADVANCE(427); + END_STATE(); + case 380: + if (lookahead == 'a') ADVANCE(428); + END_STATE(); + case 381: + if (lookahead == 'd') ADVANCE(429); + END_STATE(); + case 382: + if (lookahead == 'g') ADVANCE(430); + END_STATE(); + case 383: + if (lookahead == 'r') ADVANCE(431); + END_STATE(); + case 384: + if (lookahead == 'f') ADVANCE(432); + END_STATE(); + case 385: + if (lookahead == 'n') ADVANCE(433); + END_STATE(); + case 386: + ACCEPT_TOKEN(anon_sym_alignas); + END_STATE(); + case 387: + ACCEPT_TOKEN(anon_sym_alignof); + END_STATE(); + case 388: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 389: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 390: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 391: + if (lookahead == '_') ADVANCE(434); + END_STATE(); + case 392: + if (lookahead == 'p') ADVANCE(435); + END_STATE(); + case 393: + if (lookahead == 'e') ADVANCE(436); + END_STATE(); + case 394: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 395: + ACCEPT_TOKEN(anon_sym_defined); + END_STATE(); + case 396: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 397: + if (lookahead == 'g') ADVANCE(437); + END_STATE(); + case 398: + if (lookahead == 'n') ADVANCE(438); + END_STATE(); + case 399: + ACCEPT_TOKEN(anon_sym_nullptr); + if (lookahead == '_') ADVANCE(439); + END_STATE(); + case 400: + if (lookahead == 'f') ADVANCE(440); + END_STATE(); + case 401: + if (lookahead == '_') ADVANCE(441); + END_STATE(); + case 402: + if (lookahead == 'r') ADVANCE(442); + END_STATE(); + case 403: + if (lookahead == 't') ADVANCE(443); + END_STATE(); + case 404: + if (lookahead == 'l') ADVANCE(444); + END_STATE(); + case 405: + ACCEPT_TOKEN(anon_sym_typedef); + END_STATE(); + case 406: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 407: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 408: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 409: + if (lookahead == '_') ADVANCE(445); + END_STATE(); + case 410: + if (lookahead == 'd') ADVANCE(446); + END_STATE(); + case 411: + if (lookahead == 'e') ADVANCE(447); + END_STATE(); + case 412: + ACCEPT_TOKEN(anon_sym__Alignas); + END_STATE(); + case 413: + ACCEPT_TOKEN(anon_sym__Alignof); + END_STATE(); + case 414: + ACCEPT_TOKEN(anon_sym__Generic); + END_STATE(); + case 415: + if (lookahead == 'n') ADVANCE(448); + END_STATE(); + case 416: + if (lookahead == 'f') ADVANCE(449); + END_STATE(); + case 417: + if (lookahead == 'u') ADVANCE(450); + END_STATE(); + case 418: + if (lookahead == 'l') ADVANCE(451); + END_STATE(); + case 419: + if (lookahead == 'e') ADVANCE(452); + END_STATE(); + case 420: + ACCEPT_TOKEN(anon_sym___except); + END_STATE(); + case 421: + if (lookahead == 'i') ADVANCE(453); + END_STATE(); + case 422: + if (lookahead == 'l') ADVANCE(454); + END_STATE(); + case 423: + if (lookahead == 'y') ADVANCE(455); + END_STATE(); + case 424: + if (lookahead == 'n') ADVANCE(456); + END_STATE(); + case 425: + ACCEPT_TOKEN(anon_sym___inline); + if (lookahead == '_') ADVANCE(457); + END_STATE(); + case 426: + if (lookahead == 'c') ADVANCE(458); + END_STATE(); + case 427: + if (lookahead == 'l') ADVANCE(459); + END_STATE(); + case 428: + if (lookahead == 'l') ADVANCE(460); + END_STATE(); + case 429: + ACCEPT_TOKEN(anon_sym___thread); + END_STATE(); + case 430: + if (lookahead == 'n') ADVANCE(461); + END_STATE(); + case 431: + if (lookahead == 'c') ADVANCE(462); + END_STATE(); + case 432: + ACCEPT_TOKEN(anon_sym__alignof); + END_STATE(); + case 433: + if (lookahead == 'e') ADVANCE(463); + END_STATE(); + case 434: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 435: + if (lookahead == 'r') ADVANCE(464); + END_STATE(); + case 436: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 437: + if (lookahead == 'n') ADVANCE(465); + END_STATE(); + case 438: + ACCEPT_TOKEN(anon_sym_noreturn); + END_STATE(); + case 439: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 440: + ACCEPT_TOKEN(anon_sym_offsetof); + END_STATE(); + case 441: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 442: + ACCEPT_TOKEN(anon_sym_register); + END_STATE(); + case 443: + ACCEPT_TOKEN(anon_sym_restrict); + END_STATE(); + case 444: + if (lookahead == 'o') ADVANCE(466); + END_STATE(); + case 445: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 446: + ACCEPT_TOKEN(anon_sym_unsigned); + END_STATE(); + case 447: + ACCEPT_TOKEN(anon_sym_volatile); + END_STATE(); + case 448: + ACCEPT_TOKEN(anon_sym__Noreturn); + END_STATE(); + case 449: + ACCEPT_TOKEN(anon_sym___alignof); + if (lookahead == '_') ADVANCE(467); + END_STATE(); + case 450: + if (lookahead == 't') ADVANCE(468); + END_STATE(); + case 451: + ACCEPT_TOKEN(anon_sym___clrcall); + END_STATE(); + case 452: + if (lookahead == 'c') ADVANCE(469); + END_STATE(); + case 453: + if (lookahead == 'o') ADVANCE(470); + END_STATE(); + case 454: + if (lookahead == 'l') ADVANCE(471); + END_STATE(); + case 455: + ACCEPT_TOKEN(anon_sym___finally); + END_STATE(); + case 456: + if (lookahead == 'l') ADVANCE(472); + END_STATE(); + case 457: + if (lookahead == '_') ADVANCE(473); + END_STATE(); + case 458: + if (lookahead == 't') ADVANCE(474); + END_STATE(); + case 459: + ACCEPT_TOKEN(anon_sym___stdcall); + END_STATE(); + case 460: + if (lookahead == 'l') ADVANCE(475); + END_STATE(); + case 461: + if (lookahead == 'e') ADVANCE(476); + END_STATE(); + case 462: + if (lookahead == 'a') ADVANCE(477); + END_STATE(); + case 463: + if (lookahead == 'd') ADVANCE(478); + END_STATE(); + case 464: + ACCEPT_TOKEN(anon_sym_constexpr); + END_STATE(); + case 465: + if (lookahead == '_') ADVANCE(479); + END_STATE(); + case 466: + if (lookahead == 'c') ADVANCE(480); + END_STATE(); + case 467: + if (lookahead == '_') ADVANCE(481); + END_STATE(); + case 468: + if (lookahead == 'e') ADVANCE(482); + END_STATE(); + case 469: + ACCEPT_TOKEN(anon_sym___declspec); + END_STATE(); + case 470: + if (lookahead == 'n') ADVANCE(483); + END_STATE(); + case 471: + ACCEPT_TOKEN(anon_sym___fastcall); + END_STATE(); + case 472: + if (lookahead == 'i') ADVANCE(484); + END_STATE(); + case 473: + ACCEPT_TOKEN(anon_sym___inline__); + END_STATE(); + case 474: + ACCEPT_TOKEN(sym_ms_restrict_modifier); + if (lookahead == '_') ADVANCE(485); + END_STATE(); + case 475: + ACCEPT_TOKEN(anon_sym___thiscall); + END_STATE(); + case 476: + if (lookahead == 'd') ADVANCE(486); + END_STATE(); + case 477: + if (lookahead == 'l') ADVANCE(487); + END_STATE(); + case 478: + ACCEPT_TOKEN(anon_sym__unaligned); + END_STATE(); + case 479: + if (lookahead == 't') ADVANCE(171); + END_STATE(); + case 480: + if (lookahead == 'a') ADVANCE(488); + END_STATE(); + case 481: + ACCEPT_TOKEN(anon_sym___alignof__); + END_STATE(); + case 482: + if (lookahead == '_') ADVANCE(489); + END_STATE(); + case 483: + if (lookahead == '_') ADVANCE(490); + END_STATE(); + case 484: + if (lookahead == 'n') ADVANCE(491); + END_STATE(); + case 485: + if (lookahead == '_') ADVANCE(492); + END_STATE(); + case 486: + ACCEPT_TOKEN(anon_sym___unaligned); + END_STATE(); + case 487: + if (lookahead == 'l') ADVANCE(493); + END_STATE(); + case 488: + if (lookahead == 'l') ADVANCE(494); + END_STATE(); + case 489: + if (lookahead == '_') ADVANCE(495); + END_STATE(); + case 490: + if (lookahead == '_') ADVANCE(496); + END_STATE(); + case 491: + if (lookahead == 'e') ADVANCE(497); + END_STATE(); + case 492: + ACCEPT_TOKEN(anon_sym___restrict__); + END_STATE(); + case 493: + ACCEPT_TOKEN(anon_sym___vectorcall); + END_STATE(); + case 494: + ACCEPT_TOKEN(anon_sym_thread_local); + END_STATE(); + case 495: + ACCEPT_TOKEN(anon_sym___attribute__); + END_STATE(); + case 496: + ACCEPT_TOKEN(anon_sym___extension__); + END_STATE(); + case 497: + ACCEPT_TOKEN(anon_sym___forceinline); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 128}, + [2] = {.lex_state = 49}, + [3] = {.lex_state = 49}, + [4] = {.lex_state = 49}, + [5] = {.lex_state = 49}, + [6] = {.lex_state = 49}, + [7] = {.lex_state = 49}, + [8] = {.lex_state = 49}, + [9] = {.lex_state = 49}, + [10] = {.lex_state = 49}, + [11] = {.lex_state = 49}, + [12] = {.lex_state = 49}, + [13] = {.lex_state = 49}, + [14] = {.lex_state = 49}, + [15] = {.lex_state = 49}, + [16] = {.lex_state = 49}, + [17] = {.lex_state = 49}, + [18] = {.lex_state = 49}, + [19] = {.lex_state = 49}, + [20] = {.lex_state = 49}, + [21] = {.lex_state = 49}, + [22] = {.lex_state = 49}, + [23] = {.lex_state = 128}, + [24] = {.lex_state = 128}, + [25] = {.lex_state = 51}, + [26] = {.lex_state = 128}, + [27] = {.lex_state = 51}, + [28] = {.lex_state = 128}, + [29] = {.lex_state = 51}, + [30] = {.lex_state = 128}, + [31] = {.lex_state = 128}, + [32] = {.lex_state = 128}, + [33] = {.lex_state = 128}, + [34] = {.lex_state = 128}, + [35] = {.lex_state = 128}, + [36] = {.lex_state = 128}, + [37] = {.lex_state = 128}, + [38] = {.lex_state = 128}, + [39] = {.lex_state = 128}, + [40] = {.lex_state = 128}, + [41] = {.lex_state = 128}, + [42] = {.lex_state = 128}, + [43] = {.lex_state = 128}, + [44] = {.lex_state = 128}, + [45] = {.lex_state = 49}, + [46] = {.lex_state = 49}, + [47] = {.lex_state = 49}, + [48] = {.lex_state = 49}, + [49] = {.lex_state = 49}, + [50] = {.lex_state = 128}, + [51] = {.lex_state = 128}, + [52] = {.lex_state = 51}, + [53] = {.lex_state = 51}, + [54] = {.lex_state = 128}, + [55] = {.lex_state = 51}, + [56] = {.lex_state = 128}, + [57] = {.lex_state = 128}, + [58] = {.lex_state = 128}, + [59] = {.lex_state = 128}, + [60] = {.lex_state = 51}, + [61] = {.lex_state = 128}, + [62] = {.lex_state = 128}, + [63] = {.lex_state = 128}, + [64] = {.lex_state = 51}, + [65] = {.lex_state = 128}, + [66] = {.lex_state = 128}, + [67] = {.lex_state = 128}, + [68] = {.lex_state = 128}, + [69] = {.lex_state = 128}, + [70] = {.lex_state = 128}, + [71] = {.lex_state = 128}, + [72] = {.lex_state = 128}, + [73] = {.lex_state = 128}, + [74] = {.lex_state = 128}, + [75] = {.lex_state = 49}, + [76] = {.lex_state = 49}, + [77] = {.lex_state = 49}, + [78] = {.lex_state = 49}, + [79] = {.lex_state = 49}, + [80] = {.lex_state = 49}, + [81] = {.lex_state = 49}, + [82] = {.lex_state = 49}, + [83] = {.lex_state = 49}, + [84] = {.lex_state = 49}, + [85] = {.lex_state = 49}, + [86] = {.lex_state = 49}, + [87] = {.lex_state = 49}, + [88] = {.lex_state = 49}, + [89] = {.lex_state = 49}, + [90] = {.lex_state = 49}, + [91] = {.lex_state = 49}, + [92] = {.lex_state = 49}, + [93] = {.lex_state = 49}, + [94] = {.lex_state = 49}, + [95] = {.lex_state = 49}, + [96] = {.lex_state = 49}, + [97] = {.lex_state = 49}, + [98] = {.lex_state = 49}, + [99] = {.lex_state = 128}, + [100] = {.lex_state = 49}, + [101] = {.lex_state = 49}, + [102] = {.lex_state = 49}, + [103] = {.lex_state = 49}, + [104] = {.lex_state = 49}, + [105] = {.lex_state = 49}, + [106] = {.lex_state = 49}, + [107] = {.lex_state = 128}, + [108] = {.lex_state = 49}, + [109] = {.lex_state = 49}, + [110] = {.lex_state = 49}, + [111] = {.lex_state = 49}, + [112] = {.lex_state = 49}, + [113] = {.lex_state = 49}, + [114] = {.lex_state = 49}, + [115] = {.lex_state = 49}, + [116] = {.lex_state = 49}, + [117] = {.lex_state = 49}, + [118] = {.lex_state = 49}, + [119] = {.lex_state = 49}, + [120] = {.lex_state = 49}, + [121] = {.lex_state = 49}, + [122] = {.lex_state = 49}, + [123] = {.lex_state = 49}, + [124] = {.lex_state = 49}, + [125] = {.lex_state = 49}, + [126] = {.lex_state = 49}, + [127] = {.lex_state = 49}, + [128] = {.lex_state = 49}, + [129] = {.lex_state = 49}, + [130] = {.lex_state = 49}, + [131] = {.lex_state = 49}, + [132] = {.lex_state = 49}, + [133] = {.lex_state = 49}, + [134] = {.lex_state = 49}, + [135] = {.lex_state = 49}, + [136] = {.lex_state = 49}, + [137] = {.lex_state = 49}, + [138] = {.lex_state = 49}, + [139] = {.lex_state = 49}, + [140] = {.lex_state = 49}, + [141] = {.lex_state = 49}, + [142] = {.lex_state = 49}, + [143] = {.lex_state = 49}, + [144] = {.lex_state = 48}, + [145] = {.lex_state = 48}, + [146] = {.lex_state = 128}, + [147] = {.lex_state = 128}, + [148] = {.lex_state = 128}, + [149] = {.lex_state = 128}, + [150] = {.lex_state = 128}, + [151] = {.lex_state = 128}, + [152] = {.lex_state = 128}, + [153] = {.lex_state = 128}, + [154] = {.lex_state = 128}, + [155] = {.lex_state = 128}, + [156] = {.lex_state = 128}, + [157] = {.lex_state = 128}, + [158] = {.lex_state = 128}, + [159] = {.lex_state = 128}, + [160] = {.lex_state = 128}, + [161] = {.lex_state = 128}, + [162] = {.lex_state = 128}, + [163] = {.lex_state = 128}, + [164] = {.lex_state = 128}, + [165] = {.lex_state = 128}, + [166] = {.lex_state = 128}, + [167] = {.lex_state = 128}, + [168] = {.lex_state = 128}, + [169] = {.lex_state = 128}, + [170] = {.lex_state = 128}, + [171] = {.lex_state = 128}, + [172] = {.lex_state = 128}, + [173] = {.lex_state = 128}, + [174] = {.lex_state = 128}, + [175] = {.lex_state = 128}, + [176] = {.lex_state = 128}, + [177] = {.lex_state = 51}, + [178] = {.lex_state = 128}, + [179] = {.lex_state = 128}, + [180] = {.lex_state = 128}, + [181] = {.lex_state = 128}, + [182] = {.lex_state = 128}, + [183] = {.lex_state = 128}, + [184] = {.lex_state = 128}, + [185] = {.lex_state = 128}, + [186] = {.lex_state = 128}, + [187] = {.lex_state = 128}, + [188] = {.lex_state = 128}, + [189] = {.lex_state = 51}, + [190] = {.lex_state = 128}, + [191] = {.lex_state = 51}, + [192] = {.lex_state = 51}, + [193] = {.lex_state = 51}, + [194] = {.lex_state = 51}, + [195] = {.lex_state = 128}, + [196] = {.lex_state = 51}, + [197] = {.lex_state = 51}, + [198] = {.lex_state = 128}, + [199] = {.lex_state = 128}, + [200] = {.lex_state = 128}, + [201] = {.lex_state = 128}, + [202] = {.lex_state = 128}, + [203] = {.lex_state = 128}, + [204] = {.lex_state = 51}, + [205] = {.lex_state = 51}, + [206] = {.lex_state = 51}, + [207] = {.lex_state = 51}, + [208] = {.lex_state = 51}, + [209] = {.lex_state = 51}, + [210] = {.lex_state = 51}, + [211] = {.lex_state = 128}, + [212] = {.lex_state = 128}, + [213] = {.lex_state = 128}, + [214] = {.lex_state = 128}, + [215] = {.lex_state = 51}, + [216] = {.lex_state = 128}, + [217] = {.lex_state = 128}, + [218] = {.lex_state = 51}, + [219] = {.lex_state = 51}, + [220] = {.lex_state = 128}, + [221] = {.lex_state = 128}, + [222] = {.lex_state = 51}, + [223] = {.lex_state = 51}, + [224] = {.lex_state = 128}, + [225] = {.lex_state = 128}, + [226] = {.lex_state = 128}, + [227] = {.lex_state = 128}, + [228] = {.lex_state = 128}, + [229] = {.lex_state = 128}, + [230] = {.lex_state = 128}, + [231] = {.lex_state = 128}, + [232] = {.lex_state = 128}, + [233] = {.lex_state = 128}, + [234] = {.lex_state = 128}, + [235] = {.lex_state = 51}, + [236] = {.lex_state = 51}, + [237] = {.lex_state = 128}, + [238] = {.lex_state = 51}, + [239] = {.lex_state = 51}, + [240] = {.lex_state = 51}, + [241] = {.lex_state = 128}, + [242] = {.lex_state = 128}, + [243] = {.lex_state = 128}, + [244] = {.lex_state = 128}, + [245] = {.lex_state = 128}, + [246] = {.lex_state = 128}, + [247] = {.lex_state = 128}, + [248] = {.lex_state = 51}, + [249] = {.lex_state = 128}, + [250] = {.lex_state = 51}, + [251] = {.lex_state = 128}, + [252] = {.lex_state = 128}, + [253] = {.lex_state = 128}, + [254] = {.lex_state = 128}, + [255] = {.lex_state = 128}, + [256] = {.lex_state = 128}, + [257] = {.lex_state = 128}, + [258] = {.lex_state = 128}, + [259] = {.lex_state = 128}, + [260] = {.lex_state = 51}, + [261] = {.lex_state = 51}, + [262] = {.lex_state = 128}, + [263] = {.lex_state = 128}, + [264] = {.lex_state = 51}, + [265] = {.lex_state = 51}, + [266] = {.lex_state = 51}, + [267] = {.lex_state = 51}, + [268] = {.lex_state = 51}, + [269] = {.lex_state = 51}, + [270] = {.lex_state = 128}, + [271] = {.lex_state = 128}, + [272] = {.lex_state = 51}, + [273] = {.lex_state = 51}, + [274] = {.lex_state = 128}, + [275] = {.lex_state = 128}, + [276] = {.lex_state = 128}, + [277] = {.lex_state = 128}, + [278] = {.lex_state = 128}, + [279] = {.lex_state = 128}, + [280] = {.lex_state = 128}, + [281] = {.lex_state = 128}, + [282] = {.lex_state = 128}, + [283] = {.lex_state = 128}, + [284] = {.lex_state = 128}, + [285] = {.lex_state = 128}, + [286] = {.lex_state = 128}, + [287] = {.lex_state = 128}, + [288] = {.lex_state = 128}, + [289] = {.lex_state = 128}, + [290] = {.lex_state = 128}, + [291] = {.lex_state = 128}, + [292] = {.lex_state = 128}, + [293] = {.lex_state = 128}, + [294] = {.lex_state = 128}, + [295] = {.lex_state = 51}, + [296] = {.lex_state = 51}, + [297] = {.lex_state = 51}, + [298] = {.lex_state = 128}, + [299] = {.lex_state = 51}, + [300] = {.lex_state = 128}, + [301] = {.lex_state = 51}, + [302] = {.lex_state = 51}, + [303] = {.lex_state = 51}, + [304] = {.lex_state = 128}, + [305] = {.lex_state = 51}, + [306] = {.lex_state = 128}, + [307] = {.lex_state = 128}, + [308] = {.lex_state = 128}, + [309] = {.lex_state = 51}, + [310] = {.lex_state = 128}, + [311] = {.lex_state = 128}, + [312] = {.lex_state = 128}, + [313] = {.lex_state = 128}, + [314] = {.lex_state = 128}, + [315] = {.lex_state = 51}, + [316] = {.lex_state = 128}, + [317] = {.lex_state = 51}, + [318] = {.lex_state = 51}, + [319] = {.lex_state = 128}, + [320] = {.lex_state = 128}, + [321] = {.lex_state = 51}, + [322] = {.lex_state = 51}, + [323] = {.lex_state = 128}, + [324] = {.lex_state = 51}, + [325] = {.lex_state = 51}, + [326] = {.lex_state = 51}, + [327] = {.lex_state = 128}, + [328] = {.lex_state = 51}, + [329] = {.lex_state = 128}, + [330] = {.lex_state = 51}, + [331] = {.lex_state = 128}, + [332] = {.lex_state = 128}, + [333] = {.lex_state = 128}, + [334] = {.lex_state = 128}, + [335] = {.lex_state = 51}, + [336] = {.lex_state = 128}, + [337] = {.lex_state = 51}, + [338] = {.lex_state = 128}, + [339] = {.lex_state = 128}, + [340] = {.lex_state = 51}, + [341] = {.lex_state = 51}, + [342] = {.lex_state = 128}, + [343] = {.lex_state = 128}, + [344] = {.lex_state = 51}, + [345] = {.lex_state = 51}, + [346] = {.lex_state = 51}, + [347] = {.lex_state = 51}, + [348] = {.lex_state = 51}, + [349] = {.lex_state = 51}, + [350] = {.lex_state = 128}, + [351] = {.lex_state = 128}, + [352] = {.lex_state = 128}, + [353] = {.lex_state = 48}, + [354] = {.lex_state = 128}, + [355] = {.lex_state = 128}, + [356] = {.lex_state = 128}, + [357] = {.lex_state = 128}, + [358] = {.lex_state = 128}, + [359] = {.lex_state = 128}, + [360] = {.lex_state = 128}, + [361] = {.lex_state = 128}, + [362] = {.lex_state = 128}, + [363] = {.lex_state = 128}, + [364] = {.lex_state = 128}, + [365] = {.lex_state = 128}, + [366] = {.lex_state = 128}, + [367] = {.lex_state = 128}, + [368] = {.lex_state = 128}, + [369] = {.lex_state = 128}, + [370] = {.lex_state = 128}, + [371] = {.lex_state = 128}, + [372] = {.lex_state = 128}, + [373] = {.lex_state = 128}, + [374] = {.lex_state = 128}, + [375] = {.lex_state = 128}, + [376] = {.lex_state = 128}, + [377] = {.lex_state = 128}, + [378] = {.lex_state = 128}, + [379] = {.lex_state = 128}, + [380] = {.lex_state = 128}, + [381] = {.lex_state = 128}, + [382] = {.lex_state = 128}, + [383] = {.lex_state = 128}, + [384] = {.lex_state = 128}, + [385] = {.lex_state = 128}, + [386] = {.lex_state = 128}, + [387] = {.lex_state = 128}, + [388] = {.lex_state = 128}, + [389] = {.lex_state = 128}, + [390] = {.lex_state = 128}, + [391] = {.lex_state = 128}, + [392] = {.lex_state = 128}, + [393] = {.lex_state = 128}, + [394] = {.lex_state = 128}, + [395] = {.lex_state = 128}, + [396] = {.lex_state = 53}, + [397] = {.lex_state = 128}, + [398] = {.lex_state = 48}, + [399] = {.lex_state = 48}, + [400] = {.lex_state = 128}, + [401] = {.lex_state = 128}, + [402] = {.lex_state = 48}, + [403] = {.lex_state = 53}, + [404] = {.lex_state = 53}, + [405] = {.lex_state = 53}, + [406] = {.lex_state = 53}, + [407] = {.lex_state = 53}, + [408] = {.lex_state = 53}, + [409] = {.lex_state = 53}, + [410] = {.lex_state = 53}, + [411] = {.lex_state = 128}, + [412] = {.lex_state = 53}, + [413] = {.lex_state = 128}, + [414] = {.lex_state = 53}, + [415] = {.lex_state = 53}, + [416] = {.lex_state = 128}, + [417] = {.lex_state = 128}, + [418] = {.lex_state = 128}, + [419] = {.lex_state = 128}, + [420] = {.lex_state = 128}, + [421] = {.lex_state = 128}, + [422] = {.lex_state = 128}, + [423] = {.lex_state = 57}, + [424] = {.lex_state = 128}, + [425] = {.lex_state = 128}, + [426] = {.lex_state = 128}, + [427] = {.lex_state = 128}, + [428] = {.lex_state = 128}, + [429] = {.lex_state = 128}, + [430] = {.lex_state = 57}, + [431] = {.lex_state = 57}, + [432] = {.lex_state = 57}, + [433] = {.lex_state = 57}, + [434] = {.lex_state = 57}, + [435] = {.lex_state = 57}, + [436] = {.lex_state = 57}, + [437] = {.lex_state = 57}, + [438] = {.lex_state = 57}, + [439] = {.lex_state = 57}, + [440] = {.lex_state = 57}, + [441] = {.lex_state = 57}, + [442] = {.lex_state = 57}, + [443] = {.lex_state = 57}, + [444] = {.lex_state = 57}, + [445] = {.lex_state = 57}, + [446] = {.lex_state = 128}, + [447] = {.lex_state = 56}, + [448] = {.lex_state = 57}, + [449] = {.lex_state = 57}, + [450] = {.lex_state = 128}, + [451] = {.lex_state = 128}, + [452] = {.lex_state = 53}, + [453] = {.lex_state = 128}, + [454] = {.lex_state = 128}, + [455] = {.lex_state = 62}, + [456] = {.lex_state = 128}, + [457] = {.lex_state = 128}, + [458] = {.lex_state = 128}, + [459] = {.lex_state = 128}, + [460] = {.lex_state = 128}, + [461] = {.lex_state = 128}, + [462] = {.lex_state = 128}, + [463] = {.lex_state = 128}, + [464] = {.lex_state = 128}, + [465] = {.lex_state = 128}, + [466] = {.lex_state = 63}, + [467] = {.lex_state = 128}, + [468] = {.lex_state = 128}, + [469] = {.lex_state = 128}, + [470] = {.lex_state = 128}, + [471] = {.lex_state = 62}, + [472] = {.lex_state = 128}, + [473] = {.lex_state = 128}, + [474] = {.lex_state = 128}, + [475] = {.lex_state = 128}, + [476] = {.lex_state = 128}, + [477] = {.lex_state = 128}, + [478] = {.lex_state = 63}, + [479] = {.lex_state = 128}, + [480] = {.lex_state = 128}, + [481] = {.lex_state = 63}, + [482] = {.lex_state = 128}, + [483] = {.lex_state = 128}, + [484] = {.lex_state = 128}, + [485] = {.lex_state = 128}, + [486] = {.lex_state = 128}, + [487] = {.lex_state = 62}, + [488] = {.lex_state = 128}, + [489] = {.lex_state = 128}, + [490] = {.lex_state = 128}, + [491] = {.lex_state = 128}, + [492] = {.lex_state = 128}, + [493] = {.lex_state = 128}, + [494] = {.lex_state = 128}, + [495] = {.lex_state = 128}, + [496] = {.lex_state = 128}, + [497] = {.lex_state = 128}, + [498] = {.lex_state = 128}, + [499] = {.lex_state = 128}, + [500] = {.lex_state = 128}, + [501] = {.lex_state = 128}, + [502] = {.lex_state = 128}, + [503] = {.lex_state = 128}, + [504] = {.lex_state = 128}, + [505] = {.lex_state = 128}, + [506] = {.lex_state = 128}, + [507] = {.lex_state = 128}, + [508] = {.lex_state = 128}, + [509] = {.lex_state = 128}, + [510] = {.lex_state = 128}, + [511] = {.lex_state = 128}, + [512] = {.lex_state = 128}, + [513] = {.lex_state = 128}, + [514] = {.lex_state = 128}, + [515] = {.lex_state = 128}, + [516] = {.lex_state = 128}, + [517] = {.lex_state = 128}, + [518] = {.lex_state = 128}, + [519] = {.lex_state = 128}, + [520] = {.lex_state = 128}, + [521] = {.lex_state = 128}, + [522] = {.lex_state = 128}, + [523] = {.lex_state = 128}, + [524] = {.lex_state = 128}, + [525] = {.lex_state = 128}, + [526] = {.lex_state = 128}, + [527] = {.lex_state = 128}, + [528] = {.lex_state = 128}, + [529] = {.lex_state = 128}, + [530] = {.lex_state = 128}, + [531] = {.lex_state = 128}, + [532] = {.lex_state = 128}, + [533] = {.lex_state = 128}, + [534] = {.lex_state = 128}, + [535] = {.lex_state = 128}, + [536] = {.lex_state = 128}, + [537] = {.lex_state = 128}, + [538] = {.lex_state = 128}, + [539] = {.lex_state = 128}, + [540] = {.lex_state = 128}, + [541] = {.lex_state = 128}, + [542] = {.lex_state = 128}, + [543] = {.lex_state = 128}, + [544] = {.lex_state = 128}, + [545] = {.lex_state = 128}, + [546] = {.lex_state = 128}, + [547] = {.lex_state = 128}, + [548] = {.lex_state = 128}, + [549] = {.lex_state = 128}, + [550] = {.lex_state = 128}, + [551] = {.lex_state = 128}, + [552] = {.lex_state = 128}, + [553] = {.lex_state = 128}, + [554] = {.lex_state = 128}, + [555] = {.lex_state = 128}, + [556] = {.lex_state = 128}, + [557] = {.lex_state = 128}, + [558] = {.lex_state = 128}, + [559] = {.lex_state = 128}, + [560] = {.lex_state = 128}, + [561] = {.lex_state = 128}, + [562] = {.lex_state = 128}, + [563] = {.lex_state = 128}, + [564] = {.lex_state = 128}, + [565] = {.lex_state = 128}, + [566] = {.lex_state = 128}, + [567] = {.lex_state = 128}, + [568] = {.lex_state = 128}, + [569] = {.lex_state = 128}, + [570] = {.lex_state = 128}, + [571] = {.lex_state = 128}, + [572] = {.lex_state = 128}, + [573] = {.lex_state = 128}, + [574] = {.lex_state = 128}, + [575] = {.lex_state = 128}, + [576] = {.lex_state = 128}, + [577] = {.lex_state = 128}, + [578] = {.lex_state = 128}, + [579] = {.lex_state = 128}, + [580] = {.lex_state = 128}, + [581] = {.lex_state = 128}, + [582] = {.lex_state = 128}, + [583] = {.lex_state = 128}, + [584] = {.lex_state = 128}, + [585] = {.lex_state = 128}, + [586] = {.lex_state = 128}, + [587] = {.lex_state = 128}, + [588] = {.lex_state = 128}, + [589] = {.lex_state = 128}, + [590] = {.lex_state = 128}, + [591] = {.lex_state = 128}, + [592] = {.lex_state = 128}, + [593] = {.lex_state = 128}, + [594] = {.lex_state = 128}, + [595] = {.lex_state = 128}, + [596] = {.lex_state = 128}, + [597] = {.lex_state = 128}, + [598] = {.lex_state = 128}, + [599] = {.lex_state = 128}, + [600] = {.lex_state = 128}, + [601] = {.lex_state = 128}, + [602] = {.lex_state = 128}, + [603] = {.lex_state = 128}, + [604] = {.lex_state = 128}, + [605] = {.lex_state = 128}, + [606] = {.lex_state = 128}, + [607] = {.lex_state = 128}, + [608] = {.lex_state = 128}, + [609] = {.lex_state = 128}, + [610] = {.lex_state = 128}, + [611] = {.lex_state = 128}, + [612] = {.lex_state = 128}, + [613] = {.lex_state = 128}, + [614] = {.lex_state = 128}, + [615] = {.lex_state = 128}, + [616] = {.lex_state = 53}, + [617] = {.lex_state = 57}, + [618] = {.lex_state = 57}, + [619] = {.lex_state = 57}, + [620] = {.lex_state = 57}, + [621] = {.lex_state = 53}, + [622] = {.lex_state = 53}, + [623] = {.lex_state = 53}, + [624] = {.lex_state = 53}, + [625] = {.lex_state = 53}, + [626] = {.lex_state = 53}, + [627] = {.lex_state = 53}, + [628] = {.lex_state = 57}, + [629] = {.lex_state = 54}, + [630] = {.lex_state = 54}, + [631] = {.lex_state = 54}, + [632] = {.lex_state = 57}, + [633] = {.lex_state = 57}, + [634] = {.lex_state = 54}, + [635] = {.lex_state = 57}, + [636] = {.lex_state = 57}, + [637] = {.lex_state = 54}, + [638] = {.lex_state = 57}, + [639] = {.lex_state = 54}, + [640] = {.lex_state = 57}, + [641] = {.lex_state = 54}, + [642] = {.lex_state = 54}, + [643] = {.lex_state = 57}, + [644] = {.lex_state = 57}, + [645] = {.lex_state = 57}, + [646] = {.lex_state = 54}, + [647] = {.lex_state = 57}, + [648] = {.lex_state = 57}, + [649] = {.lex_state = 54}, + [650] = {.lex_state = 57}, + [651] = {.lex_state = 57}, + [652] = {.lex_state = 57}, + [653] = {.lex_state = 57}, + [654] = {.lex_state = 57}, + [655] = {.lex_state = 57}, + [656] = {.lex_state = 57}, + [657] = {.lex_state = 57}, + [658] = {.lex_state = 57}, + [659] = {.lex_state = 57}, + [660] = {.lex_state = 53}, + [661] = {.lex_state = 53}, + [662] = {.lex_state = 57}, + [663] = {.lex_state = 53}, + [664] = {.lex_state = 128}, + [665] = {.lex_state = 128}, + [666] = {.lex_state = 128}, + [667] = {.lex_state = 128}, + [668] = {.lex_state = 54}, + [669] = {.lex_state = 57}, + [670] = {.lex_state = 53}, + [671] = {.lex_state = 54}, + [672] = {.lex_state = 54}, + [673] = {.lex_state = 57}, + [674] = {.lex_state = 57}, + [675] = {.lex_state = 57}, + [676] = {.lex_state = 53}, + [677] = {.lex_state = 54}, + [678] = {.lex_state = 57}, + [679] = {.lex_state = 54}, + [680] = {.lex_state = 54}, + [681] = {.lex_state = 57}, + [682] = {.lex_state = 54}, + [683] = {.lex_state = 57}, + [684] = {.lex_state = 54}, + [685] = {.lex_state = 53}, + [686] = {.lex_state = 54}, + [687] = {.lex_state = 54}, + [688] = {.lex_state = 54}, + [689] = {.lex_state = 54}, + [690] = {.lex_state = 54}, + [691] = {.lex_state = 54}, + [692] = {.lex_state = 54}, + [693] = {.lex_state = 54}, + [694] = {.lex_state = 54}, + [695] = {.lex_state = 54}, + [696] = {.lex_state = 54}, + [697] = {.lex_state = 54}, + [698] = {.lex_state = 57}, + [699] = {.lex_state = 57}, + [700] = {.lex_state = 55}, + [701] = {.lex_state = 55}, + [702] = {.lex_state = 55}, + [703] = {.lex_state = 55}, + [704] = {.lex_state = 53}, + [705] = {.lex_state = 53}, + [706] = {.lex_state = 128}, + [707] = {.lex_state = 53}, + [708] = {.lex_state = 128}, + [709] = {.lex_state = 57}, + [710] = {.lex_state = 57}, + [711] = {.lex_state = 57}, + [712] = {.lex_state = 57}, + [713] = {.lex_state = 57}, + [714] = {.lex_state = 57}, + [715] = {.lex_state = 57}, + [716] = {.lex_state = 57}, + [717] = {.lex_state = 53}, + [718] = {.lex_state = 57}, + [719] = {.lex_state = 57}, + [720] = {.lex_state = 57}, + [721] = {.lex_state = 57}, + [722] = {.lex_state = 53}, + [723] = {.lex_state = 53}, + [724] = {.lex_state = 53}, + [725] = {.lex_state = 57}, + [726] = {.lex_state = 57}, + [727] = {.lex_state = 53}, + [728] = {.lex_state = 53}, + [729] = {.lex_state = 53}, + [730] = {.lex_state = 57}, + [731] = {.lex_state = 57}, + [732] = {.lex_state = 57}, + [733] = {.lex_state = 57}, + [734] = {.lex_state = 57}, + [735] = {.lex_state = 57}, + [736] = {.lex_state = 57}, + [737] = {.lex_state = 57}, + [738] = {.lex_state = 57}, + [739] = {.lex_state = 57}, + [740] = {.lex_state = 53}, + [741] = {.lex_state = 57}, + [742] = {.lex_state = 57}, + [743] = {.lex_state = 57}, + [744] = {.lex_state = 57}, + [745] = {.lex_state = 54}, + [746] = {.lex_state = 57}, + [747] = {.lex_state = 57}, + [748] = {.lex_state = 57}, + [749] = {.lex_state = 57}, + [750] = {.lex_state = 57}, + [751] = {.lex_state = 57}, + [752] = {.lex_state = 54}, + [753] = {.lex_state = 57}, + [754] = {.lex_state = 57}, + [755] = {.lex_state = 57}, + [756] = {.lex_state = 57}, + [757] = {.lex_state = 57}, + [758] = {.lex_state = 57}, + [759] = {.lex_state = 57}, + [760] = {.lex_state = 54}, + [761] = {.lex_state = 57}, + [762] = {.lex_state = 57}, + [763] = {.lex_state = 57}, + [764] = {.lex_state = 54}, + [765] = {.lex_state = 54}, + [766] = {.lex_state = 54}, + [767] = {.lex_state = 57}, + [768] = {.lex_state = 57}, + [769] = {.lex_state = 57}, + [770] = {.lex_state = 54}, + [771] = {.lex_state = 57}, + [772] = {.lex_state = 57}, + [773] = {.lex_state = 54}, + [774] = {.lex_state = 54}, + [775] = {.lex_state = 54}, + [776] = {.lex_state = 54}, + [777] = {.lex_state = 57}, + [778] = {.lex_state = 54}, + [779] = {.lex_state = 54}, + [780] = {.lex_state = 54}, + [781] = {.lex_state = 54}, + [782] = {.lex_state = 54}, + [783] = {.lex_state = 54}, + [784] = {.lex_state = 57}, + [785] = {.lex_state = 57}, + [786] = {.lex_state = 57}, + [787] = {.lex_state = 57}, + [788] = {.lex_state = 57}, + [789] = {.lex_state = 54}, + [790] = {.lex_state = 57}, + [791] = {.lex_state = 57}, + [792] = {.lex_state = 57}, + [793] = {.lex_state = 57}, + [794] = {.lex_state = 57}, + [795] = {.lex_state = 57}, + [796] = {.lex_state = 57}, + [797] = {.lex_state = 57}, + [798] = {.lex_state = 54}, + [799] = {.lex_state = 57}, + [800] = {.lex_state = 57}, + [801] = {.lex_state = 57}, + [802] = {.lex_state = 57}, + [803] = {.lex_state = 57}, + [804] = {.lex_state = 57}, + [805] = {.lex_state = 57}, + [806] = {.lex_state = 57}, + [807] = {.lex_state = 57}, + [808] = {.lex_state = 57}, + [809] = {.lex_state = 57}, + [810] = {.lex_state = 57}, + [811] = {.lex_state = 57}, + [812] = {.lex_state = 57}, + [813] = {.lex_state = 57}, + [814] = {.lex_state = 57}, + [815] = {.lex_state = 57}, + [816] = {.lex_state = 57}, + [817] = {.lex_state = 54}, + [818] = {.lex_state = 57}, + [819] = {.lex_state = 57}, + [820] = {.lex_state = 57}, + [821] = {.lex_state = 57}, + [822] = {.lex_state = 57}, + [823] = {.lex_state = 57}, + [824] = {.lex_state = 57}, + [825] = {.lex_state = 58}, + [826] = {.lex_state = 58}, + [827] = {.lex_state = 58}, + [828] = {.lex_state = 58}, + [829] = {.lex_state = 58}, + [830] = {.lex_state = 58}, + [831] = {.lex_state = 58}, + [832] = {.lex_state = 58}, + [833] = {.lex_state = 57}, + [834] = {.lex_state = 58}, + [835] = {.lex_state = 58}, + [836] = {.lex_state = 58}, + [837] = {.lex_state = 58}, + [838] = {.lex_state = 58}, + [839] = {.lex_state = 58}, + [840] = {.lex_state = 58}, + [841] = {.lex_state = 58}, + [842] = {.lex_state = 58}, + [843] = {.lex_state = 58}, + [844] = {.lex_state = 57}, + [845] = {.lex_state = 57}, + [846] = {.lex_state = 58}, + [847] = {.lex_state = 57}, + [848] = {.lex_state = 57}, + [849] = {.lex_state = 57}, + [850] = {.lex_state = 53}, + [851] = {.lex_state = 53}, + [852] = {.lex_state = 53}, + [853] = {.lex_state = 57}, + [854] = {.lex_state = 53}, + [855] = {.lex_state = 63}, + [856] = {.lex_state = 62}, + [857] = {.lex_state = 62}, + [858] = {.lex_state = 62}, + [859] = {.lex_state = 62}, + [860] = {.lex_state = 57}, + [861] = {.lex_state = 57}, + [862] = {.lex_state = 62}, + [863] = {.lex_state = 63}, + [864] = {.lex_state = 63}, + [865] = {.lex_state = 57}, + [866] = {.lex_state = 63}, + [867] = {.lex_state = 63}, + [868] = {.lex_state = 57}, + [869] = {.lex_state = 63}, + [870] = {.lex_state = 63}, + [871] = {.lex_state = 62}, + [872] = {.lex_state = 62}, + [873] = {.lex_state = 62}, + [874] = {.lex_state = 57}, + [875] = {.lex_state = 62}, + [876] = {.lex_state = 62}, + [877] = {.lex_state = 57}, + [878] = {.lex_state = 63}, + [879] = {.lex_state = 62}, + [880] = {.lex_state = 63}, + [881] = {.lex_state = 57}, + [882] = {.lex_state = 63}, + [883] = {.lex_state = 62}, + [884] = {.lex_state = 62}, + [885] = {.lex_state = 62}, + [886] = {.lex_state = 62}, + [887] = {.lex_state = 62}, + [888] = {.lex_state = 63}, + [889] = {.lex_state = 63}, + [890] = {.lex_state = 63}, + [891] = {.lex_state = 63}, + [892] = {.lex_state = 62}, + [893] = {.lex_state = 63}, + [894] = {.lex_state = 63}, + [895] = {.lex_state = 63}, + [896] = {.lex_state = 63}, + [897] = {.lex_state = 62}, + [898] = {.lex_state = 53}, + [899] = {.lex_state = 53}, + [900] = {.lex_state = 53}, + [901] = {.lex_state = 53}, + [902] = {.lex_state = 53}, + [903] = {.lex_state = 53}, + [904] = {.lex_state = 53}, + [905] = {.lex_state = 53}, + [906] = {.lex_state = 53}, + [907] = {.lex_state = 53}, + [908] = {.lex_state = 53}, + [909] = {.lex_state = 53}, + [910] = {.lex_state = 53}, + [911] = {.lex_state = 53}, + [912] = {.lex_state = 53}, + [913] = {.lex_state = 53}, + [914] = {.lex_state = 53}, + [915] = {.lex_state = 53}, + [916] = {.lex_state = 53}, + [917] = {.lex_state = 53}, + [918] = {.lex_state = 57}, + [919] = {.lex_state = 53}, + [920] = {.lex_state = 53}, + [921] = {.lex_state = 57}, + [922] = {.lex_state = 53}, + [923] = {.lex_state = 128}, + [924] = {.lex_state = 128}, + [925] = {.lex_state = 128}, + [926] = {.lex_state = 128}, + [927] = {.lex_state = 128}, + [928] = {.lex_state = 57}, + [929] = {.lex_state = 128}, + [930] = {.lex_state = 128}, + [931] = {.lex_state = 128}, + [932] = {.lex_state = 57}, + [933] = {.lex_state = 128}, + [934] = {.lex_state = 53}, + [935] = {.lex_state = 128}, + [936] = {.lex_state = 57}, + [937] = {.lex_state = 57}, + [938] = {.lex_state = 57}, + [939] = {.lex_state = 57}, + [940] = {.lex_state = 57}, + [941] = {.lex_state = 57}, + [942] = {.lex_state = 57}, + [943] = {.lex_state = 57}, + [944] = {.lex_state = 57}, + [945] = {.lex_state = 57}, + [946] = {.lex_state = 57}, + [947] = {.lex_state = 57}, + [948] = {.lex_state = 57}, + [949] = {.lex_state = 57}, + [950] = {.lex_state = 57}, + [951] = {.lex_state = 57}, + [952] = {.lex_state = 57}, + [953] = {.lex_state = 57}, + [954] = {.lex_state = 57}, + [955] = {.lex_state = 57}, + [956] = {.lex_state = 57}, + [957] = {.lex_state = 57}, + [958] = {.lex_state = 57}, + [959] = {.lex_state = 57}, + [960] = {.lex_state = 57}, + [961] = {.lex_state = 57}, + [962] = {.lex_state = 57}, + [963] = {.lex_state = 54}, + [964] = {.lex_state = 54}, + [965] = {.lex_state = 54}, + [966] = {.lex_state = 54}, + [967] = {.lex_state = 54}, + [968] = {.lex_state = 54}, + [969] = {.lex_state = 58}, + [970] = {.lex_state = 54}, + [971] = {.lex_state = 54}, + [972] = {.lex_state = 58}, + [973] = {.lex_state = 54}, + [974] = {.lex_state = 54}, + [975] = {.lex_state = 54}, + [976] = {.lex_state = 54}, + [977] = {.lex_state = 54}, + [978] = {.lex_state = 57}, + [979] = {.lex_state = 57}, + [980] = {.lex_state = 57}, + [981] = {.lex_state = 57}, + [982] = {.lex_state = 57}, + [983] = {.lex_state = 57}, + [984] = {.lex_state = 57}, + [985] = {.lex_state = 57}, + [986] = {.lex_state = 57}, + [987] = {.lex_state = 57}, + [988] = {.lex_state = 57}, + [989] = {.lex_state = 57}, + [990] = {.lex_state = 57}, + [991] = {.lex_state = 57}, + [992] = {.lex_state = 58}, + [993] = {.lex_state = 58}, + [994] = {.lex_state = 57}, + [995] = {.lex_state = 57}, + [996] = {.lex_state = 57}, + [997] = {.lex_state = 57}, + [998] = {.lex_state = 57}, + [999] = {.lex_state = 58}, + [1000] = {.lex_state = 57}, + [1001] = {.lex_state = 58}, + [1002] = {.lex_state = 58}, + [1003] = {.lex_state = 58}, + [1004] = {.lex_state = 58}, + [1005] = {.lex_state = 58}, + [1006] = {.lex_state = 58}, + [1007] = {.lex_state = 58}, + [1008] = {.lex_state = 58}, + [1009] = {.lex_state = 58}, + [1010] = {.lex_state = 57}, + [1011] = {.lex_state = 57}, + [1012] = {.lex_state = 57}, + [1013] = {.lex_state = 57}, + [1014] = {.lex_state = 57}, + [1015] = {.lex_state = 57}, + [1016] = {.lex_state = 53}, + [1017] = {.lex_state = 57}, + [1018] = {.lex_state = 53}, + [1019] = {.lex_state = 53}, + [1020] = {.lex_state = 57}, + [1021] = {.lex_state = 53}, + [1022] = {.lex_state = 53}, + [1023] = {.lex_state = 53}, + [1024] = {.lex_state = 57}, + [1025] = {.lex_state = 58}, + [1026] = {.lex_state = 53}, + [1027] = {.lex_state = 53}, + [1028] = {.lex_state = 53}, + [1029] = {.lex_state = 53}, + [1030] = {.lex_state = 53}, + [1031] = {.lex_state = 53}, + [1032] = {.lex_state = 53}, + [1033] = {.lex_state = 53}, + [1034] = {.lex_state = 53}, + [1035] = {.lex_state = 53}, + [1036] = {.lex_state = 53}, + [1037] = {.lex_state = 53}, + [1038] = {.lex_state = 53}, + [1039] = {.lex_state = 53}, + [1040] = {.lex_state = 53}, + [1041] = {.lex_state = 53}, + [1042] = {.lex_state = 53}, + [1043] = {.lex_state = 53}, + [1044] = {.lex_state = 53}, + [1045] = {.lex_state = 53}, + [1046] = {.lex_state = 53}, + [1047] = {.lex_state = 53}, + [1048] = {.lex_state = 53}, + [1049] = {.lex_state = 53}, + [1050] = {.lex_state = 53}, + [1051] = {.lex_state = 53}, + [1052] = {.lex_state = 53}, + [1053] = {.lex_state = 53}, + [1054] = {.lex_state = 53}, + [1055] = {.lex_state = 53}, + [1056] = {.lex_state = 53}, + [1057] = {.lex_state = 53}, + [1058] = {.lex_state = 53}, + [1059] = {.lex_state = 53}, + [1060] = {.lex_state = 53}, + [1061] = {.lex_state = 53}, + [1062] = {.lex_state = 53}, + [1063] = {.lex_state = 53}, + [1064] = {.lex_state = 53}, + [1065] = {.lex_state = 53}, + [1066] = {.lex_state = 53}, + [1067] = {.lex_state = 53}, + [1068] = {.lex_state = 53}, + [1069] = {.lex_state = 53}, + [1070] = {.lex_state = 53}, + [1071] = {.lex_state = 53}, + [1072] = {.lex_state = 53}, + [1073] = {.lex_state = 53}, + [1074] = {.lex_state = 57}, + [1075] = {.lex_state = 53}, + [1076] = {.lex_state = 53}, + [1077] = {.lex_state = 53}, + [1078] = {.lex_state = 57}, + [1079] = {.lex_state = 53}, + [1080] = {.lex_state = 53}, + [1081] = {.lex_state = 53}, + [1082] = {.lex_state = 57}, + [1083] = {.lex_state = 53}, + [1084] = {.lex_state = 53}, + [1085] = {.lex_state = 57}, + [1086] = {.lex_state = 53}, + [1087] = {.lex_state = 53}, + [1088] = {.lex_state = 53}, + [1089] = {.lex_state = 53}, + [1090] = {.lex_state = 53}, + [1091] = {.lex_state = 53}, + [1092] = {.lex_state = 57}, + [1093] = {.lex_state = 53}, + [1094] = {.lex_state = 57}, + [1095] = {.lex_state = 53}, + [1096] = {.lex_state = 53}, + [1097] = {.lex_state = 53}, + [1098] = {.lex_state = 53}, + [1099] = {.lex_state = 57}, + [1100] = {.lex_state = 53}, + [1101] = {.lex_state = 53}, + [1102] = {.lex_state = 57}, + [1103] = {.lex_state = 53}, + [1104] = {.lex_state = 57}, + [1105] = {.lex_state = 58}, + [1106] = {.lex_state = 58}, + [1107] = {.lex_state = 58}, + [1108] = {.lex_state = 53}, + [1109] = {.lex_state = 57}, + [1110] = {.lex_state = 53}, + [1111] = {.lex_state = 58}, + [1112] = {.lex_state = 58}, + [1113] = {.lex_state = 58}, + [1114] = {.lex_state = 52}, + [1115] = {.lex_state = 52}, + [1116] = {.lex_state = 57}, + [1117] = {.lex_state = 57}, + [1118] = {.lex_state = 52}, + [1119] = {.lex_state = 52}, + [1120] = {.lex_state = 52}, + [1121] = {.lex_state = 57}, + [1122] = {.lex_state = 52}, + [1123] = {.lex_state = 52}, + [1124] = {.lex_state = 52}, + [1125] = {.lex_state = 52}, + [1126] = {.lex_state = 57}, + [1127] = {.lex_state = 52}, + [1128] = {.lex_state = 57}, + [1129] = {.lex_state = 52}, + [1130] = {.lex_state = 52}, + [1131] = {.lex_state = 52}, + [1132] = {.lex_state = 52}, + [1133] = {.lex_state = 52}, + [1134] = {.lex_state = 52}, + [1135] = {.lex_state = 52}, + [1136] = {.lex_state = 52}, + [1137] = {.lex_state = 52}, + [1138] = {.lex_state = 57}, + [1139] = {.lex_state = 52}, + [1140] = {.lex_state = 52}, + [1141] = {.lex_state = 52}, + [1142] = {.lex_state = 52}, + [1143] = {.lex_state = 52}, + [1144] = {.lex_state = 52}, + [1145] = {.lex_state = 52}, + [1146] = {.lex_state = 52}, + [1147] = {.lex_state = 52}, + [1148] = {.lex_state = 52}, + [1149] = {.lex_state = 52}, + [1150] = {.lex_state = 52}, + [1151] = {.lex_state = 52}, + [1152] = {.lex_state = 52}, + [1153] = {.lex_state = 57}, + [1154] = {.lex_state = 57}, + [1155] = {.lex_state = 52}, + [1156] = {.lex_state = 52}, + [1157] = {.lex_state = 52}, + [1158] = {.lex_state = 57}, + [1159] = {.lex_state = 52}, + [1160] = {.lex_state = 52}, + [1161] = {.lex_state = 52}, + [1162] = {.lex_state = 52}, + [1163] = {.lex_state = 52}, + [1164] = {.lex_state = 57}, + [1165] = {.lex_state = 52}, + [1166] = {.lex_state = 57}, + [1167] = {.lex_state = 57}, + [1168] = {.lex_state = 57}, + [1169] = {.lex_state = 57}, + [1170] = {.lex_state = 57}, + [1171] = {.lex_state = 57}, + [1172] = {.lex_state = 57}, + [1173] = {.lex_state = 57}, + [1174] = {.lex_state = 57}, + [1175] = {.lex_state = 57}, + [1176] = {.lex_state = 57}, + [1177] = {.lex_state = 57}, + [1178] = {.lex_state = 57}, + [1179] = {.lex_state = 57}, + [1180] = {.lex_state = 57}, + [1181] = {.lex_state = 57}, + [1182] = {.lex_state = 57}, + [1183] = {.lex_state = 57}, + [1184] = {.lex_state = 57}, + [1185] = {.lex_state = 57}, + [1186] = {.lex_state = 57}, + [1187] = {.lex_state = 57}, + [1188] = {.lex_state = 57}, + [1189] = {.lex_state = 57}, + [1190] = {.lex_state = 57}, + [1191] = {.lex_state = 57}, + [1192] = {.lex_state = 57}, + [1193] = {.lex_state = 57}, + [1194] = {.lex_state = 57}, + [1195] = {.lex_state = 57}, + [1196] = {.lex_state = 57}, + [1197] = {.lex_state = 29}, + [1198] = {.lex_state = 57}, + [1199] = {.lex_state = 57}, + [1200] = {.lex_state = 57}, + [1201] = {.lex_state = 57}, + [1202] = {.lex_state = 57}, + [1203] = {.lex_state = 57}, + [1204] = {.lex_state = 57}, + [1205] = {.lex_state = 57}, + [1206] = {.lex_state = 29}, + [1207] = {.lex_state = 57}, + [1208] = {.lex_state = 57}, + [1209] = {.lex_state = 57}, + [1210] = {.lex_state = 57}, + [1211] = {.lex_state = 57}, + [1212] = {.lex_state = 57}, + [1213] = {.lex_state = 57}, + [1214] = {.lex_state = 57}, + [1215] = {.lex_state = 57}, + [1216] = {.lex_state = 57}, + [1217] = {.lex_state = 57}, + [1218] = {.lex_state = 29}, + [1219] = {.lex_state = 57}, + [1220] = {.lex_state = 57}, + [1221] = {.lex_state = 57}, + [1222] = {.lex_state = 57}, + [1223] = {.lex_state = 57}, + [1224] = {.lex_state = 57}, + [1225] = {.lex_state = 29}, + [1226] = {.lex_state = 29}, + [1227] = {.lex_state = 29}, + [1228] = {.lex_state = 29}, + [1229] = {.lex_state = 29}, + [1230] = {.lex_state = 29}, + [1231] = {.lex_state = 29}, + [1232] = {.lex_state = 58}, + [1233] = {.lex_state = 29}, + [1234] = {.lex_state = 57}, + [1235] = {.lex_state = 29}, + [1236] = {.lex_state = 57}, + [1237] = {.lex_state = 57}, + [1238] = {.lex_state = 57}, + [1239] = {.lex_state = 29}, + [1240] = {.lex_state = 29}, + [1241] = {.lex_state = 29}, + [1242] = {.lex_state = 29}, + [1243] = {.lex_state = 29}, + [1244] = {.lex_state = 29}, + [1245] = {.lex_state = 29}, + [1246] = {.lex_state = 29}, + [1247] = {.lex_state = 57}, + [1248] = {.lex_state = 29}, + [1249] = {.lex_state = 29}, + [1250] = {.lex_state = 29}, + [1251] = {.lex_state = 29}, + [1252] = {.lex_state = 29}, + [1253] = {.lex_state = 57}, + [1254] = {.lex_state = 29}, + [1255] = {.lex_state = 29}, + [1256] = {.lex_state = 29}, + [1257] = {.lex_state = 57}, + [1258] = {.lex_state = 29}, + [1259] = {.lex_state = 29}, + [1260] = {.lex_state = 29}, + [1261] = {.lex_state = 29}, + [1262] = {.lex_state = 29}, + [1263] = {.lex_state = 57}, + [1264] = {.lex_state = 57}, + [1265] = {.lex_state = 29}, + [1266] = {.lex_state = 57}, + [1267] = {.lex_state = 29}, + [1268] = {.lex_state = 29}, + [1269] = {.lex_state = 29}, + [1270] = {.lex_state = 29}, + [1271] = {.lex_state = 57}, + [1272] = {.lex_state = 57}, + [1273] = {.lex_state = 57}, + [1274] = {.lex_state = 57}, + [1275] = {.lex_state = 57}, + [1276] = {.lex_state = 57}, + [1277] = {.lex_state = 57}, + [1278] = {.lex_state = 56}, + [1279] = {.lex_state = 57}, + [1280] = {.lex_state = 57}, + [1281] = {.lex_state = 56}, + [1282] = {.lex_state = 56}, + [1283] = {.lex_state = 57}, + [1284] = {.lex_state = 57}, + [1285] = {.lex_state = 57}, + [1286] = {.lex_state = 56}, + [1287] = {.lex_state = 57}, + [1288] = {.lex_state = 61}, + [1289] = {.lex_state = 57}, + [1290] = {.lex_state = 57}, + [1291] = {.lex_state = 57}, + [1292] = {.lex_state = 57}, + [1293] = {.lex_state = 57}, + [1294] = {.lex_state = 57}, + [1295] = {.lex_state = 57}, + [1296] = {.lex_state = 57}, + [1297] = {.lex_state = 57}, + [1298] = {.lex_state = 57}, + [1299] = {.lex_state = 61}, + [1300] = {.lex_state = 57}, + [1301] = {.lex_state = 57}, + [1302] = {.lex_state = 57}, + [1303] = {.lex_state = 58}, + [1304] = {.lex_state = 57}, + [1305] = {.lex_state = 53}, + [1306] = {.lex_state = 58}, + [1307] = {.lex_state = 58}, + [1308] = {.lex_state = 57}, + [1309] = {.lex_state = 57}, + [1310] = {.lex_state = 56}, + [1311] = {.lex_state = 56}, + [1312] = {.lex_state = 56}, + [1313] = {.lex_state = 56}, + [1314] = {.lex_state = 58}, + [1315] = {.lex_state = 57}, + [1316] = {.lex_state = 57}, + [1317] = {.lex_state = 61}, + [1318] = {.lex_state = 56}, + [1319] = {.lex_state = 57}, + [1320] = {.lex_state = 56}, + [1321] = {.lex_state = 56}, + [1322] = {.lex_state = 57}, + [1323] = {.lex_state = 58}, + [1324] = {.lex_state = 57}, + [1325] = {.lex_state = 56}, + [1326] = {.lex_state = 56}, + [1327] = {.lex_state = 56}, + [1328] = {.lex_state = 56}, + [1329] = {.lex_state = 56}, + [1330] = {.lex_state = 56}, + [1331] = {.lex_state = 56}, + [1332] = {.lex_state = 59}, + [1333] = {.lex_state = 59}, + [1334] = {.lex_state = 58}, + [1335] = {.lex_state = 59}, + [1336] = {.lex_state = 59}, + [1337] = {.lex_state = 53}, + [1338] = {.lex_state = 57}, + [1339] = {.lex_state = 53}, + [1340] = {.lex_state = 58}, + [1341] = {.lex_state = 0}, + [1342] = {.lex_state = 0}, + [1343] = {.lex_state = 53}, + [1344] = {.lex_state = 58}, + [1345] = {.lex_state = 58}, + [1346] = {.lex_state = 58}, + [1347] = {.lex_state = 58}, + [1348] = {.lex_state = 58}, + [1349] = {.lex_state = 58}, + [1350] = {.lex_state = 128}, + [1351] = {.lex_state = 58}, + [1352] = {.lex_state = 0}, + [1353] = {.lex_state = 58}, + [1354] = {.lex_state = 58}, + [1355] = {.lex_state = 128}, + [1356] = {.lex_state = 58}, + [1357] = {.lex_state = 128}, + [1358] = {.lex_state = 53}, + [1359] = {.lex_state = 58}, + [1360] = {.lex_state = 58}, + [1361] = {.lex_state = 58}, + [1362] = {.lex_state = 58}, + [1363] = {.lex_state = 58}, + [1364] = {.lex_state = 56}, + [1365] = {.lex_state = 128}, + [1366] = {.lex_state = 58}, + [1367] = {.lex_state = 58}, + [1368] = {.lex_state = 58}, + [1369] = {.lex_state = 0}, + [1370] = {.lex_state = 56}, + [1371] = {.lex_state = 128}, + [1372] = {.lex_state = 128}, + [1373] = {.lex_state = 56}, + [1374] = {.lex_state = 128}, + [1375] = {.lex_state = 57}, + [1376] = {.lex_state = 128}, + [1377] = {.lex_state = 128}, + [1378] = {.lex_state = 58}, + [1379] = {.lex_state = 128}, + [1380] = {.lex_state = 128}, + [1381] = {.lex_state = 128}, + [1382] = {.lex_state = 58}, + [1383] = {.lex_state = 57}, + [1384] = {.lex_state = 58}, + [1385] = {.lex_state = 128}, + [1386] = {.lex_state = 128}, + [1387] = {.lex_state = 128}, + [1388] = {.lex_state = 58}, + [1389] = {.lex_state = 58}, + [1390] = {.lex_state = 128}, + [1391] = {.lex_state = 0}, + [1392] = {.lex_state = 58}, + [1393] = {.lex_state = 58}, + [1394] = {.lex_state = 58}, + [1395] = {.lex_state = 128}, + [1396] = {.lex_state = 58}, + [1397] = {.lex_state = 128}, + [1398] = {.lex_state = 58}, + [1399] = {.lex_state = 128}, + [1400] = {.lex_state = 58}, + [1401] = {.lex_state = 128}, + [1402] = {.lex_state = 0}, + [1403] = {.lex_state = 128}, + [1404] = {.lex_state = 128}, + [1405] = {.lex_state = 58}, + [1406] = {.lex_state = 0}, + [1407] = {.lex_state = 56}, + [1408] = {.lex_state = 128}, + [1409] = {.lex_state = 128}, + [1410] = {.lex_state = 128}, + [1411] = {.lex_state = 128}, + [1412] = {.lex_state = 0}, + [1413] = {.lex_state = 58}, + [1414] = {.lex_state = 61}, + [1415] = {.lex_state = 58}, + [1416] = {.lex_state = 58}, + [1417] = {.lex_state = 128}, + [1418] = {.lex_state = 57}, + [1419] = {.lex_state = 61}, + [1420] = {.lex_state = 58}, + [1421] = {.lex_state = 57}, + [1422] = {.lex_state = 61}, + [1423] = {.lex_state = 61}, + [1424] = {.lex_state = 61}, + [1425] = {.lex_state = 61}, + [1426] = {.lex_state = 128}, + [1427] = {.lex_state = 128}, + [1428] = {.lex_state = 128}, + [1429] = {.lex_state = 58}, + [1430] = {.lex_state = 61}, + [1431] = {.lex_state = 58}, + [1432] = {.lex_state = 58}, + [1433] = {.lex_state = 128}, + [1434] = {.lex_state = 58}, + [1435] = {.lex_state = 128}, + [1436] = {.lex_state = 61}, + [1437] = {.lex_state = 61}, + [1438] = {.lex_state = 128}, + [1439] = {.lex_state = 56}, + [1440] = {.lex_state = 61}, + [1441] = {.lex_state = 57}, + [1442] = {.lex_state = 61}, + [1443] = {.lex_state = 58}, + [1444] = {.lex_state = 57}, + [1445] = {.lex_state = 56}, + [1446] = {.lex_state = 0}, + [1447] = {.lex_state = 58}, + [1448] = {.lex_state = 58}, + [1449] = {.lex_state = 58}, + [1450] = {.lex_state = 58}, + [1451] = {.lex_state = 58}, + [1452] = {.lex_state = 58}, + [1453] = {.lex_state = 128}, + [1454] = {.lex_state = 56}, + [1455] = {.lex_state = 58}, + [1456] = {.lex_state = 56}, + [1457] = {.lex_state = 128}, + [1458] = {.lex_state = 128}, + [1459] = {.lex_state = 58}, + [1460] = {.lex_state = 58}, + [1461] = {.lex_state = 128}, + [1462] = {.lex_state = 58}, + [1463] = {.lex_state = 56}, + [1464] = {.lex_state = 128}, + [1465] = {.lex_state = 128}, + [1466] = {.lex_state = 58}, + [1467] = {.lex_state = 58}, + [1468] = {.lex_state = 58}, + [1469] = {.lex_state = 58}, + [1470] = {.lex_state = 58}, + [1471] = {.lex_state = 128}, + [1472] = {.lex_state = 58}, + [1473] = {.lex_state = 58}, + [1474] = {.lex_state = 128}, + [1475] = {.lex_state = 58}, + [1476] = {.lex_state = 56}, + [1477] = {.lex_state = 58}, + [1478] = {.lex_state = 128}, + [1479] = {.lex_state = 57}, + [1480] = {.lex_state = 57}, + [1481] = {.lex_state = 128}, + [1482] = {.lex_state = 49}, + [1483] = {.lex_state = 57}, + [1484] = {.lex_state = 57}, + [1485] = {.lex_state = 128}, + [1486] = {.lex_state = 128}, + [1487] = {.lex_state = 57}, + [1488] = {.lex_state = 57}, + [1489] = {.lex_state = 128}, + [1490] = {.lex_state = 57}, + [1491] = {.lex_state = 57}, + [1492] = {.lex_state = 57}, + [1493] = {.lex_state = 128}, + [1494] = {.lex_state = 57}, + [1495] = {.lex_state = 128}, + [1496] = {.lex_state = 128}, + [1497] = {.lex_state = 128}, + [1498] = {.lex_state = 128}, + [1499] = {.lex_state = 128}, + [1500] = {.lex_state = 57}, + [1501] = {.lex_state = 128}, + [1502] = {.lex_state = 128}, + [1503] = {.lex_state = 128}, + [1504] = {.lex_state = 57}, + [1505] = {.lex_state = 58}, + [1506] = {.lex_state = 58}, + [1507] = {.lex_state = 57}, + [1508] = {.lex_state = 34}, + [1509] = {.lex_state = 58}, + [1510] = {.lex_state = 58}, + [1511] = {.lex_state = 34}, + [1512] = {.lex_state = 34}, + [1513] = {.lex_state = 58}, + [1514] = {.lex_state = 58}, + [1515] = {.lex_state = 58}, + [1516] = {.lex_state = 57}, + [1517] = {.lex_state = 58}, + [1518] = {.lex_state = 34}, + [1519] = {.lex_state = 58}, + [1520] = {.lex_state = 58}, + [1521] = {.lex_state = 58}, + [1522] = {.lex_state = 58}, + [1523] = {.lex_state = 39}, + [1524] = {.lex_state = 0}, + [1525] = {.lex_state = 0}, + [1526] = {.lex_state = 0}, + [1527] = {.lex_state = 57}, + [1528] = {.lex_state = 34}, + [1529] = {.lex_state = 58}, + [1530] = {.lex_state = 58}, + [1531] = {.lex_state = 57}, + [1532] = {.lex_state = 34}, + [1533] = {.lex_state = 58}, + [1534] = {.lex_state = 58}, + [1535] = {.lex_state = 128}, + [1536] = {.lex_state = 57}, + [1537] = {.lex_state = 58}, + [1538] = {.lex_state = 57}, + [1539] = {.lex_state = 0}, + [1540] = {.lex_state = 57}, + [1541] = {.lex_state = 58}, + [1542] = {.lex_state = 58}, + [1543] = {.lex_state = 58}, + [1544] = {.lex_state = 58}, + [1545] = {.lex_state = 58}, + [1546] = {.lex_state = 39}, + [1547] = {.lex_state = 58}, + [1548] = {.lex_state = 41}, + [1549] = {.lex_state = 58}, + [1550] = {.lex_state = 0}, + [1551] = {.lex_state = 128}, + [1552] = {.lex_state = 39}, + [1553] = {.lex_state = 0}, + [1554] = {.lex_state = 58}, + [1555] = {.lex_state = 34}, + [1556] = {.lex_state = 0}, + [1557] = {.lex_state = 58}, + [1558] = {.lex_state = 58}, + [1559] = {.lex_state = 41}, + [1560] = {.lex_state = 39}, + [1561] = {.lex_state = 39}, + [1562] = {.lex_state = 57}, + [1563] = {.lex_state = 41}, + [1564] = {.lex_state = 39}, + [1565] = {.lex_state = 39}, + [1566] = {.lex_state = 41}, + [1567] = {.lex_state = 0}, + [1568] = {.lex_state = 58}, + [1569] = {.lex_state = 58}, + [1570] = {.lex_state = 58}, + [1571] = {.lex_state = 0}, + [1572] = {.lex_state = 58}, + [1573] = {.lex_state = 0}, + [1574] = {.lex_state = 49}, + [1575] = {.lex_state = 57}, + [1576] = {.lex_state = 0}, + [1577] = {.lex_state = 0}, + [1578] = {.lex_state = 57}, + [1579] = {.lex_state = 57}, + [1580] = {.lex_state = 0}, + [1581] = {.lex_state = 36}, + [1582] = {.lex_state = 57}, + [1583] = {.lex_state = 49}, + [1584] = {.lex_state = 0}, + [1585] = {.lex_state = 0}, + [1586] = {.lex_state = 0}, + [1587] = {.lex_state = 0}, + [1588] = {.lex_state = 57}, + [1589] = {.lex_state = 0}, + [1590] = {.lex_state = 0}, + [1591] = {.lex_state = 0}, + [1592] = {.lex_state = 49}, + [1593] = {.lex_state = 0}, + [1594] = {.lex_state = 0}, + [1595] = {.lex_state = 0}, + [1596] = {.lex_state = 0}, + [1597] = {.lex_state = 0}, + [1598] = {.lex_state = 0}, + [1599] = {.lex_state = 0}, + [1600] = {.lex_state = 0}, + [1601] = {.lex_state = 57}, + [1602] = {.lex_state = 0}, + [1603] = {.lex_state = 57}, + [1604] = {.lex_state = 0}, + [1605] = {.lex_state = 0}, + [1606] = {.lex_state = 0}, + [1607] = {.lex_state = 0}, + [1608] = {.lex_state = 58}, + [1609] = {.lex_state = 0}, + [1610] = {.lex_state = 49}, + [1611] = {.lex_state = 0}, + [1612] = {.lex_state = 0}, + [1613] = {.lex_state = 36}, + [1614] = {.lex_state = 0}, + [1615] = {.lex_state = 0}, + [1616] = {.lex_state = 57}, + [1617] = {.lex_state = 0}, + [1618] = {.lex_state = 0}, + [1619] = {.lex_state = 0}, + [1620] = {.lex_state = 57}, + [1621] = {.lex_state = 0}, + [1622] = {.lex_state = 57}, + [1623] = {.lex_state = 0}, + [1624] = {.lex_state = 0}, + [1625] = {.lex_state = 57}, + [1626] = {.lex_state = 0}, + [1627] = {.lex_state = 0}, + [1628] = {.lex_state = 0}, + [1629] = {.lex_state = 0}, + [1630] = {.lex_state = 0}, + [1631] = {.lex_state = 0}, + [1632] = {.lex_state = 0}, + [1633] = {.lex_state = 0}, + [1634] = {.lex_state = 57}, + [1635] = {.lex_state = 57}, + [1636] = {.lex_state = 0}, + [1637] = {.lex_state = 0}, + [1638] = {.lex_state = 58}, + [1639] = {.lex_state = 57}, + [1640] = {.lex_state = 57}, + [1641] = {.lex_state = 41}, + [1642] = {.lex_state = 0}, + [1643] = {.lex_state = 0}, + [1644] = {.lex_state = 0}, + [1645] = {.lex_state = 41}, + [1646] = {.lex_state = 0}, + [1647] = {.lex_state = 58}, + [1648] = {.lex_state = 57}, + [1649] = {.lex_state = 57}, + [1650] = {.lex_state = 57}, + [1651] = {.lex_state = 57}, + [1652] = {.lex_state = 0}, + [1653] = {.lex_state = 0}, + [1654] = {.lex_state = 0}, + [1655] = {.lex_state = 0}, + [1656] = {.lex_state = 0}, + [1657] = {.lex_state = 0}, + [1658] = {.lex_state = 57}, + [1659] = {.lex_state = 0}, + [1660] = {.lex_state = 0}, + [1661] = {.lex_state = 57}, + [1662] = {.lex_state = 57}, + [1663] = {.lex_state = 0}, + [1664] = {.lex_state = 0}, + [1665] = {.lex_state = 0}, + [1666] = {.lex_state = 0}, + [1667] = {.lex_state = 0}, + [1668] = {.lex_state = 0}, + [1669] = {.lex_state = 0}, + [1670] = {.lex_state = 0}, + [1671] = {.lex_state = 0}, + [1672] = {.lex_state = 0}, + [1673] = {.lex_state = 0}, + [1674] = {.lex_state = 0}, + [1675] = {.lex_state = 0}, + [1676] = {.lex_state = 0}, + [1677] = {.lex_state = 57}, + [1678] = {.lex_state = 57}, + [1679] = {.lex_state = 34}, + [1680] = {.lex_state = 0}, + [1681] = {.lex_state = 0}, + [1682] = {.lex_state = 41}, + [1683] = {.lex_state = 57}, + [1684] = {.lex_state = 57}, + [1685] = {.lex_state = 0}, + [1686] = {.lex_state = 0}, + [1687] = {.lex_state = 0}, + [1688] = {.lex_state = 0}, + [1689] = {.lex_state = 36}, + [1690] = {.lex_state = 0}, + [1691] = {.lex_state = 36}, + [1692] = {.lex_state = 57}, + [1693] = {.lex_state = 57}, + [1694] = {.lex_state = 57}, + [1695] = {.lex_state = 0}, + [1696] = {.lex_state = 57}, + [1697] = {.lex_state = 57}, + [1698] = {.lex_state = 57}, + [1699] = {.lex_state = 0}, + [1700] = {.lex_state = 0}, + [1701] = {.lex_state = 0}, + [1702] = {.lex_state = 0}, + [1703] = {.lex_state = 0}, + [1704] = {.lex_state = 49}, + [1705] = {.lex_state = 49}, + [1706] = {.lex_state = 57}, + [1707] = {.lex_state = 0}, + [1708] = {.lex_state = 0}, + [1709] = {.lex_state = 49}, + [1710] = {.lex_state = 0}, + [1711] = {.lex_state = 0}, + [1712] = {.lex_state = 57}, + [1713] = {.lex_state = 57}, + [1714] = {.lex_state = 57}, + [1715] = {.lex_state = 49}, + [1716] = {.lex_state = 0}, + [1717] = {.lex_state = 0}, + [1718] = {.lex_state = 0}, + [1719] = {.lex_state = 0}, + [1720] = {.lex_state = 57}, + [1721] = {.lex_state = 0}, + [1722] = {.lex_state = 0}, + [1723] = {.lex_state = 0}, + [1724] = {.lex_state = 0}, + [1725] = {.lex_state = 0}, + [1726] = {.lex_state = 57}, + [1727] = {.lex_state = 58}, + [1728] = {.lex_state = 0}, + [1729] = {.lex_state = 0}, + [1730] = {.lex_state = 35}, + [1731] = {.lex_state = 128}, + [1732] = {.lex_state = 0}, + [1733] = {.lex_state = 35}, + [1734] = {.lex_state = 0}, + [1735] = {.lex_state = 49}, + [1736] = {.lex_state = 128}, + [1737] = {.lex_state = 35}, + [1738] = {.lex_state = 0}, + [1739] = {.lex_state = 128}, + [1740] = {.lex_state = 49}, + [1741] = {.lex_state = 0}, + [1742] = {.lex_state = 0}, + [1743] = {.lex_state = 0}, + [1744] = {.lex_state = 128}, + [1745] = {.lex_state = 35}, + [1746] = {.lex_state = 128}, + [1747] = {.lex_state = 0}, + [1748] = {.lex_state = 0}, + [1749] = {.lex_state = 0}, + [1750] = {.lex_state = 0}, + [1751] = {.lex_state = 0}, + [1752] = {.lex_state = 0}, + [1753] = {.lex_state = 128}, + [1754] = {.lex_state = 128}, + [1755] = {.lex_state = 0}, + [1756] = {.lex_state = 0}, + [1757] = {.lex_state = 128}, + [1758] = {.lex_state = 128}, + [1759] = {.lex_state = 0}, + [1760] = {.lex_state = 35}, + [1761] = {.lex_state = 0}, + [1762] = {.lex_state = 128}, + [1763] = {.lex_state = 128}, + [1764] = {.lex_state = 35}, + [1765] = {.lex_state = 0}, + [1766] = {.lex_state = 35}, + [1767] = {.lex_state = 128}, + [1768] = {.lex_state = 128}, + [1769] = {.lex_state = 0}, + [1770] = {.lex_state = 0}, + [1771] = {.lex_state = 35}, + [1772] = {.lex_state = 0}, + [1773] = {.lex_state = 128}, + [1774] = {.lex_state = 128}, + [1775] = {.lex_state = 0}, + [1776] = {.lex_state = 128}, + [1777] = {.lex_state = 0}, + [1778] = {.lex_state = 0}, + [1779] = {.lex_state = 0}, + [1780] = {.lex_state = 0}, + [1781] = {.lex_state = 35}, + [1782] = {.lex_state = 128}, + [1783] = {.lex_state = 128}, + [1784] = {.lex_state = 0}, + [1785] = {.lex_state = 128}, + [1786] = {.lex_state = 0}, + [1787] = {.lex_state = 128}, + [1788] = {.lex_state = 0}, + [1789] = {.lex_state = 36}, + [1790] = {.lex_state = 35}, + [1791] = {.lex_state = 0}, + [1792] = {.lex_state = 0}, + [1793] = {.lex_state = 128}, + [1794] = {.lex_state = 35}, + [1795] = {.lex_state = 128}, + [1796] = {.lex_state = 128}, + [1797] = {.lex_state = 0}, + [1798] = {.lex_state = 35}, + [1799] = {.lex_state = 36}, + [1800] = {.lex_state = 35}, + [1801] = {.lex_state = 35}, + [1802] = {.lex_state = 128}, + [1803] = {.lex_state = 0}, + [1804] = {.lex_state = 0}, + [1805] = {.lex_state = 128}, + [1806] = {.lex_state = 35}, + [1807] = {.lex_state = 49}, + [1808] = {.lex_state = 35}, + [1809] = {.lex_state = 35}, + [1810] = {.lex_state = 0}, + [1811] = {.lex_state = 0}, + [1812] = {.lex_state = 36}, + [1813] = {.lex_state = 36}, + [1814] = {.lex_state = 36}, + [1815] = {.lex_state = 36}, + [1816] = {.lex_state = 0}, + [1817] = {.lex_state = 58}, + [1818] = {.lex_state = 36}, + [1819] = {.lex_state = 0}, + [1820] = {.lex_state = 0}, + [1821] = {.lex_state = 48}, + [1822] = {.lex_state = 36}, + [1823] = {.lex_state = 0}, + [1824] = {.lex_state = 48}, + [1825] = {.lex_state = 36}, + [1826] = {.lex_state = 48}, + [1827] = {.lex_state = 0}, + [1828] = {.lex_state = 0}, + [1829] = {.lex_state = 36}, + [1830] = {.lex_state = 0}, + [1831] = {.lex_state = 0}, + [1832] = {.lex_state = 128}, + [1833] = {.lex_state = 0}, + [1834] = {.lex_state = 36}, + [1835] = {.lex_state = 0}, + [1836] = {.lex_state = 0}, + [1837] = {.lex_state = 0}, + [1838] = {.lex_state = 48}, + [1839] = {.lex_state = 0}, + [1840] = {.lex_state = 48}, + [1841] = {.lex_state = 0}, + [1842] = {.lex_state = 0}, + [1843] = {.lex_state = 0}, + [1844] = {.lex_state = 48}, + [1845] = {.lex_state = 0}, + [1846] = {.lex_state = 0}, + [1847] = {.lex_state = 48}, + [1848] = {.lex_state = 48}, + [1849] = {.lex_state = 0}, + [1850] = {.lex_state = 48}, + [1851] = {.lex_state = 48}, + [1852] = {.lex_state = 0}, + [1853] = {.lex_state = 48}, + [1854] = {.lex_state = 0}, + [1855] = {.lex_state = 36}, + [1856] = {.lex_state = 0}, + [1857] = {.lex_state = 36}, + [1858] = {.lex_state = 48}, + [1859] = {.lex_state = 48}, + [1860] = {.lex_state = 48}, + [1861] = {.lex_state = 0}, + [1862] = {.lex_state = 36}, + [1863] = {.lex_state = 0}, + [1864] = {.lex_state = 0}, + [1865] = {.lex_state = 0}, + [1866] = {.lex_state = 48}, + [1867] = {.lex_state = 0}, + [1868] = {.lex_state = 36}, + [1869] = {.lex_state = 48}, + [1870] = {.lex_state = 0}, + [1871] = {.lex_state = 48}, + [1872] = {.lex_state = 0}, + [1873] = {.lex_state = 58}, + [1874] = {.lex_state = 48}, + [1875] = {.lex_state = 48}, + [1876] = {.lex_state = 36}, + [1877] = {.lex_state = 36}, + [1878] = {.lex_state = 0}, + [1879] = {.lex_state = 0}, + [1880] = {.lex_state = 48}, + [1881] = {.lex_state = 128}, + [1882] = {.lex_state = 0}, + [1883] = {.lex_state = 36}, + [1884] = {.lex_state = 36}, + [1885] = {.lex_state = 48}, + [1886] = {.lex_state = 48}, + [1887] = {.lex_state = 0}, + [1888] = {.lex_state = 0}, + [1889] = {.lex_state = 0}, + [1890] = {.lex_state = 128}, + [1891] = {.lex_state = 0}, + [1892] = {.lex_state = 48}, + [1893] = {.lex_state = 48}, + [1894] = {.lex_state = 0}, + [1895] = {.lex_state = 0}, + [1896] = {.lex_state = 36}, + [1897] = {.lex_state = 0}, + [1898] = {.lex_state = 0}, + [1899] = {.lex_state = 0}, + [1900] = {.lex_state = 0}, + [1901] = {.lex_state = 0}, + [1902] = {.lex_state = 0}, + [1903] = {.lex_state = 0}, + [1904] = {.lex_state = 48}, + [1905] = {.lex_state = 0}, + [1906] = {.lex_state = 0}, + [1907] = {.lex_state = 0}, + [1908] = {.lex_state = 48}, + [1909] = {.lex_state = 36}, + [1910] = {.lex_state = 0}, + [1911] = {.lex_state = 0}, + [1912] = {.lex_state = 36}, + [1913] = {.lex_state = 48}, + [1914] = {.lex_state = 0}, + [1915] = {.lex_state = 0}, + [1916] = {.lex_state = 58}, + [1917] = {.lex_state = 0}, + [1918] = {.lex_state = 48}, + [1919] = {.lex_state = 48}, + [1920] = {.lex_state = 48}, + [1921] = {.lex_state = 0}, + [1922] = {.lex_state = 48}, + [1923] = {.lex_state = 0}, + [1924] = {.lex_state = 48}, + [1925] = {.lex_state = 0}, + [1926] = {.lex_state = 48}, + [1927] = {.lex_state = 48}, + [1928] = {.lex_state = 0}, + [1929] = {.lex_state = 0}, + [1930] = {.lex_state = 48}, + [1931] = {.lex_state = 128}, + [1932] = {.lex_state = 0}, + [1933] = {.lex_state = 48}, + [1934] = {.lex_state = 48}, + [1935] = {.lex_state = 0}, + [1936] = {.lex_state = 128}, + [1937] = {.lex_state = 0}, + [1938] = {.lex_state = 48}, + [1939] = {.lex_state = 128}, + [1940] = {.lex_state = 36}, + [1941] = {.lex_state = 48}, + [1942] = {.lex_state = 48}, + [1943] = {.lex_state = 48}, + [1944] = {.lex_state = 36}, + [1945] = {.lex_state = 48}, + [1946] = {.lex_state = 0}, + [1947] = {.lex_state = 0}, + [1948] = {.lex_state = 0}, + [1949] = {.lex_state = 48}, + [1950] = {.lex_state = 128}, + [1951] = {.lex_state = 48}, + [1952] = {.lex_state = 0}, + [1953] = {.lex_state = 0}, + [1954] = {.lex_state = 0}, + [1955] = {.lex_state = 0}, + [1956] = {.lex_state = 128}, + [1957] = {.lex_state = 48}, + [1958] = {.lex_state = 0}, + [1959] = {.lex_state = 48}, + [1960] = {.lex_state = 36}, + [1961] = {.lex_state = 0}, + [1962] = {.lex_state = 0}, + [1963] = {.lex_state = 0}, + [1964] = {.lex_state = 0}, + [1965] = {.lex_state = 0}, + [1966] = {.lex_state = 0}, + [1967] = {.lex_state = 0}, + [1968] = {.lex_state = 0}, + [1969] = {.lex_state = 48}, + [1970] = {.lex_state = 48}, + [1971] = {.lex_state = 0}, + [1972] = {.lex_state = 0}, + [1973] = {.lex_state = 48}, + [1974] = {.lex_state = 0}, + [1975] = {.lex_state = 48}, + [1976] = {.lex_state = 0}, + [1977] = {.lex_state = 128}, + [1978] = {.lex_state = 128}, + [1979] = {.lex_state = 48}, + [1980] = {.lex_state = 0}, + [1981] = {.lex_state = 36}, + [1982] = {.lex_state = 0}, + [1983] = {.lex_state = 0}, + [1984] = {.lex_state = 0}, + [1985] = {.lex_state = 36}, + [1986] = {.lex_state = 0}, + [1987] = {.lex_state = 58}, + [1988] = {.lex_state = 128}, + [1989] = {.lex_state = 0}, + [1990] = {.lex_state = 0}, + [1991] = {.lex_state = 0}, + [1992] = {.lex_state = 48}, + [1993] = {.lex_state = 36}, + [1994] = {.lex_state = 0}, + [1995] = {.lex_state = 36}, + [1996] = {.lex_state = 128}, + [1997] = {.lex_state = 0}, + [1998] = {.lex_state = 128}, + [1999] = {.lex_state = 0}, + [2000] = {.lex_state = 36}, + [2001] = {.lex_state = 58}, + [2002] = {.lex_state = 0}, + [2003] = {.lex_state = 36}, + [2004] = {.lex_state = 0}, + [2005] = {.lex_state = 0}, + [2006] = {.lex_state = 0}, + [2007] = {.lex_state = 0}, + [2008] = {.lex_state = 0}, + [2009] = {.lex_state = 36}, + [2010] = {.lex_state = 0}, + [2011] = {.lex_state = 58}, + [2012] = {.lex_state = 0}, + [2013] = {.lex_state = 0}, + [2014] = {.lex_state = 0}, + [2015] = {.lex_state = 128}, + [2016] = {.lex_state = 36}, + [2017] = {.lex_state = 0}, + [2018] = {.lex_state = 128}, + [2019] = {.lex_state = 0}, + [2020] = {.lex_state = 0}, + [2021] = {.lex_state = 128}, + [2022] = {.lex_state = 36}, + [2023] = {.lex_state = 0}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym__identifier] = ACTIONS(1), + [aux_sym_preproc_include_token1] = ACTIONS(1), + [aux_sym_preproc_def_token1] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [aux_sym_preproc_if_token1] = ACTIONS(1), + [aux_sym_preproc_if_token2] = ACTIONS(1), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1), + [aux_sym_preproc_else_token1] = ACTIONS(1), + [aux_sym_preproc_elif_token1] = ACTIONS(1), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1), + [sym_preproc_directive] = ACTIONS(1), + [anon_sym_LPAREN2] = ACTIONS(1), + [anon_sym_defined] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_TILDE] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym___extension__] = ACTIONS(1), + [anon_sym_typedef] = ACTIONS(1), + [anon_sym_extern] = ACTIONS(1), + [anon_sym___attribute__] = ACTIONS(1), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1), + [anon_sym___declspec] = ACTIONS(1), + [anon_sym___based] = ACTIONS(1), + [anon_sym___cdecl] = ACTIONS(1), + [anon_sym___clrcall] = ACTIONS(1), + [anon_sym___stdcall] = ACTIONS(1), + [anon_sym___fastcall] = ACTIONS(1), + [anon_sym___thiscall] = ACTIONS(1), + [anon_sym___vectorcall] = ACTIONS(1), + [sym_ms_restrict_modifier] = ACTIONS(1), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(1), + [sym_ms_signed_ptr_modifier] = ACTIONS(1), + [anon_sym__unaligned] = ACTIONS(1), + [anon_sym___unaligned] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_signed] = ACTIONS(1), + [anon_sym_unsigned] = ACTIONS(1), + [anon_sym_long] = ACTIONS(1), + [anon_sym_short] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_static] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_auto] = ACTIONS(1), + [anon_sym_register] = ACTIONS(1), + [anon_sym_inline] = ACTIONS(1), + [anon_sym___inline] = ACTIONS(1), + [anon_sym___inline__] = ACTIONS(1), + [anon_sym___forceinline] = ACTIONS(1), + [anon_sym_thread_local] = ACTIONS(1), + [anon_sym___thread] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_constexpr] = ACTIONS(1), + [anon_sym_volatile] = ACTIONS(1), + [anon_sym_restrict] = ACTIONS(1), + [anon_sym___restrict__] = ACTIONS(1), + [anon_sym__Atomic] = ACTIONS(1), + [anon_sym__Noreturn] = ACTIONS(1), + [anon_sym_noreturn] = ACTIONS(1), + [anon_sym_alignas] = ACTIONS(1), + [anon_sym__Alignas] = ACTIONS(1), + [sym_primitive_type] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_union] = 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_while] = ACTIONS(1), + [anon_sym_do] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [anon_sym_continue] = ACTIONS(1), + [anon_sym_goto] = ACTIONS(1), + [anon_sym___try] = ACTIONS(1), + [anon_sym___except] = ACTIONS(1), + [anon_sym___finally] = ACTIONS(1), + [anon_sym___leave] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_LT_LT_EQ] = ACTIONS(1), + [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_DASH_DASH] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_sizeof] = ACTIONS(1), + [anon_sym___alignof__] = ACTIONS(1), + [anon_sym___alignof] = ACTIONS(1), + [anon_sym__alignof] = ACTIONS(1), + [anon_sym_alignof] = ACTIONS(1), + [anon_sym__Alignof] = ACTIONS(1), + [anon_sym_offsetof] = ACTIONS(1), + [anon_sym__Generic] = ACTIONS(1), + [anon_sym_asm] = ACTIONS(1), + [anon_sym___asm__] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [sym__number_literal] = ACTIONS(1), + [anon_sym_L_SQUOTE] = ACTIONS(1), + [anon_sym_u_SQUOTE] = ACTIONS(1), + [anon_sym_U_SQUOTE] = ACTIONS(1), + [anon_sym_u8_SQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [anon_sym_L_DQUOTE] = ACTIONS(1), + [anon_sym_u_DQUOTE] = ACTIONS(1), + [anon_sym_U_DQUOTE] = ACTIONS(1), + [anon_sym_u8_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [sym_true] = ACTIONS(1), + [sym_false] = ACTIONS(1), + [anon_sym_NULL] = ACTIONS(1), + [anon_sym_nullptr] = ACTIONS(1), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1), + }, + [1] = { + [sym_translation_unit] = STATE(1990), + [sym__top_level_item] = STATE(44), + [sym_preproc_include] = STATE(44), + [sym_preproc_def] = STATE(44), + [sym_preproc_function_def] = STATE(44), + [sym_preproc_call] = STATE(44), + [sym_preproc_if] = STATE(44), + [sym_preproc_ifdef] = STATE(44), + [sym_function_definition] = STATE(44), + [sym__old_style_function_definition] = STATE(356), + [sym_declaration] = STATE(44), + [sym_type_definition] = STATE(44), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1128), + [sym_linkage_specification] = STATE(44), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(44), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(818), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(363), + [sym__top_level_statement] = STATE(44), + [sym_labeled_statement] = STATE(44), + [sym__top_level_expression_statement] = STATE(44), + [sym_if_statement] = STATE(44), + [sym_switch_statement] = STATE(44), + [sym_case_statement] = STATE(44), + [sym_while_statement] = STATE(44), + [sym_do_statement] = STATE(44), + [sym_for_statement] = STATE(44), + [sym_return_statement] = STATE(44), + [sym_break_statement] = STATE(44), + [sym_continue_statement] = STATE(44), + [sym_goto_statement] = STATE(44), + [sym_expression] = STATE(1108), + [sym__string] = STATE(1110), + [sym_conditional_expression] = STATE(1110), + [sym_assignment_expression] = STATE(1110), + [sym_pointer_expression] = STATE(934), + [sym_unary_expression] = STATE(1110), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(1110), + [sym_cast_expression] = STATE(1110), + [sym_sizeof_expression] = STATE(1110), + [sym_alignof_expression] = STATE(1110), + [sym_offsetof_expression] = STATE(1110), + [sym_generic_expression] = STATE(1110), + [sym_subscript_expression] = STATE(934), + [sym_call_expression] = STATE(934), + [sym_gnu_asm_expression] = STATE(1110), + [sym_field_expression] = STATE(934), + [sym_compound_literal_expression] = STATE(1110), + [sym_parenthesized_expression] = STATE(934), + [sym_number_literal] = STATE(1110), + [sym_char_literal] = STATE(1110), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(1110), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(1110), + [sym_identifier] = STATE(412), + [sym__empty_declaration] = STATE(44), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_translation_unit_repeat1] = STATE(44), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [ts_builtin_sym_end] = ACTIONS(5), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(31), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(99), + [sym_false] = ACTIONS(99), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [2] = { + [sym__block_item] = STATE(12), + [sym_preproc_include] = STATE(12), + [sym_preproc_def] = STATE(12), + [sym_preproc_function_def] = STATE(12), + [sym_preproc_call] = STATE(12), + [sym_preproc_if] = STATE(12), + [sym_preproc_ifdef] = STATE(12), + [sym_preproc_else] = STATE(1848), + [sym_preproc_elif] = STATE(1848), + [sym_preproc_elifdef] = STATE(1848), + [sym_function_definition] = STATE(12), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(12), + [sym_type_definition] = STATE(12), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(12), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(12), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(12), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(12), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(111), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [3] = { + [sym__block_item] = STATE(5), + [sym_preproc_include] = STATE(5), + [sym_preproc_def] = STATE(5), + [sym_preproc_function_def] = STATE(5), + [sym_preproc_call] = STATE(5), + [sym_preproc_if] = STATE(5), + [sym_preproc_ifdef] = STATE(5), + [sym_preproc_else] = STATE(1949), + [sym_preproc_elif] = STATE(1949), + [sym_preproc_elifdef] = STATE(1949), + [sym_function_definition] = STATE(5), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(5), + [sym_type_definition] = STATE(5), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(5), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(5), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(5), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(5), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(161), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [4] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1951), + [sym_preproc_elif] = STATE(1951), + [sym_preproc_elifdef] = STATE(1951), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(163), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [5] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1969), + [sym_preproc_elif] = STATE(1969), + [sym_preproc_elifdef] = STATE(1969), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(165), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [6] = { + [sym__block_item] = STATE(9), + [sym_preproc_include] = STATE(9), + [sym_preproc_def] = STATE(9), + [sym_preproc_function_def] = STATE(9), + [sym_preproc_call] = STATE(9), + [sym_preproc_if] = STATE(9), + [sym_preproc_ifdef] = STATE(9), + [sym_preproc_else] = STATE(1885), + [sym_preproc_elif] = STATE(1885), + [sym_preproc_elifdef] = STATE(1885), + [sym_function_definition] = STATE(9), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(9), + [sym_type_definition] = STATE(9), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(9), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(9), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(9), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(9), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [7] = { + [sym__block_item] = STATE(4), + [sym_preproc_include] = STATE(4), + [sym_preproc_def] = STATE(4), + [sym_preproc_function_def] = STATE(4), + [sym_preproc_call] = STATE(4), + [sym_preproc_if] = STATE(4), + [sym_preproc_ifdef] = STATE(4), + [sym_preproc_else] = STATE(1893), + [sym_preproc_elif] = STATE(1893), + [sym_preproc_elifdef] = STATE(1893), + [sym_function_definition] = STATE(4), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(4), + [sym_type_definition] = STATE(4), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(4), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(4), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(4), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(4), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(169), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [8] = { + [sym__block_item] = STATE(10), + [sym_preproc_include] = STATE(10), + [sym_preproc_def] = STATE(10), + [sym_preproc_function_def] = STATE(10), + [sym_preproc_call] = STATE(10), + [sym_preproc_if] = STATE(10), + [sym_preproc_ifdef] = STATE(10), + [sym_preproc_else] = STATE(1992), + [sym_preproc_elif] = STATE(1992), + [sym_preproc_elifdef] = STATE(1992), + [sym_function_definition] = STATE(10), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(10), + [sym_type_definition] = STATE(10), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(10), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(10), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(10), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(10), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(171), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [9] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1927), + [sym_preproc_elif] = STATE(1927), + [sym_preproc_elifdef] = STATE(1927), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [10] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1957), + [sym_preproc_elif] = STATE(1957), + [sym_preproc_elifdef] = STATE(1957), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(175), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [11] = { + [sym__block_item] = STATE(18), + [sym_preproc_include] = STATE(18), + [sym_preproc_def] = STATE(18), + [sym_preproc_function_def] = STATE(18), + [sym_preproc_call] = STATE(18), + [sym_preproc_if] = STATE(18), + [sym_preproc_ifdef] = STATE(18), + [sym_preproc_else] = STATE(1926), + [sym_preproc_elif] = STATE(1926), + [sym_preproc_elifdef] = STATE(1926), + [sym_function_definition] = STATE(18), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(18), + [sym_type_definition] = STATE(18), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(18), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(18), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(18), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(18), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(177), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [12] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1913), + [sym_preproc_elif] = STATE(1913), + [sym_preproc_elifdef] = STATE(1913), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(179), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [13] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1840), + [sym_preproc_elif] = STATE(1840), + [sym_preproc_elifdef] = STATE(1840), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(181), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [14] = { + [sym__block_item] = STATE(16), + [sym_preproc_include] = STATE(16), + [sym_preproc_def] = STATE(16), + [sym_preproc_function_def] = STATE(16), + [sym_preproc_call] = STATE(16), + [sym_preproc_if] = STATE(16), + [sym_preproc_ifdef] = STATE(16), + [sym_preproc_else] = STATE(1880), + [sym_preproc_elif] = STATE(1880), + [sym_preproc_elifdef] = STATE(1880), + [sym_function_definition] = STATE(16), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(16), + [sym_type_definition] = STATE(16), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(16), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(16), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(16), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(16), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(183), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [15] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1942), + [sym_preproc_elif] = STATE(1942), + [sym_preproc_elifdef] = STATE(1942), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [16] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1847), + [sym_preproc_elif] = STATE(1847), + [sym_preproc_elifdef] = STATE(1847), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(187), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [17] = { + [sym__block_item] = STATE(13), + [sym_preproc_include] = STATE(13), + [sym_preproc_def] = STATE(13), + [sym_preproc_function_def] = STATE(13), + [sym_preproc_call] = STATE(13), + [sym_preproc_if] = STATE(13), + [sym_preproc_ifdef] = STATE(13), + [sym_preproc_else] = STATE(1851), + [sym_preproc_elif] = STATE(1851), + [sym_preproc_elifdef] = STATE(1851), + [sym_function_definition] = STATE(13), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(13), + [sym_type_definition] = STATE(13), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(13), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(13), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(13), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(13), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(189), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [18] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1844), + [sym_preproc_elif] = STATE(1844), + [sym_preproc_elifdef] = STATE(1844), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [19] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(1850), + [sym_preproc_elif] = STATE(1850), + [sym_preproc_elifdef] = STATE(1850), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(193), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [20] = { + [sym__block_item] = STATE(15), + [sym_preproc_include] = STATE(15), + [sym_preproc_def] = STATE(15), + [sym_preproc_function_def] = STATE(15), + [sym_preproc_call] = STATE(15), + [sym_preproc_if] = STATE(15), + [sym_preproc_ifdef] = STATE(15), + [sym_preproc_else] = STATE(1959), + [sym_preproc_elif] = STATE(1959), + [sym_preproc_elifdef] = STATE(1959), + [sym_function_definition] = STATE(15), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(15), + [sym_type_definition] = STATE(15), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(15), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(15), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(15), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(15), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(195), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [21] = { + [sym__block_item] = STATE(19), + [sym_preproc_include] = STATE(19), + [sym_preproc_def] = STATE(19), + [sym_preproc_function_def] = STATE(19), + [sym_preproc_call] = STATE(19), + [sym_preproc_if] = STATE(19), + [sym_preproc_ifdef] = STATE(19), + [sym_preproc_else] = STATE(1869), + [sym_preproc_elif] = STATE(1869), + [sym_preproc_elifdef] = STATE(1869), + [sym_function_definition] = STATE(19), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(19), + [sym_type_definition] = STATE(19), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(19), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(19), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(19), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(19), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(105), + [aux_sym_preproc_def_token1] = ACTIONS(107), + [aux_sym_preproc_if_token1] = ACTIONS(109), + [aux_sym_preproc_if_token2] = ACTIONS(197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(113), + [aux_sym_preproc_ifdef_token2] = ACTIONS(113), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(119), + [sym_preproc_directive] = ACTIONS(121), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(129), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [22] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(117), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1164), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(698), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(126), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(407), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(199), + [aux_sym_preproc_include_token1] = ACTIONS(202), + [aux_sym_preproc_def_token1] = ACTIONS(205), + [aux_sym_preproc_if_token1] = ACTIONS(208), + [aux_sym_preproc_if_token2] = ACTIONS(211), + [aux_sym_preproc_ifdef_token1] = ACTIONS(213), + [aux_sym_preproc_ifdef_token2] = ACTIONS(213), + [aux_sym_preproc_else_token1] = ACTIONS(211), + [aux_sym_preproc_elif_token1] = ACTIONS(211), + [aux_sym_preproc_elifdef_token1] = ACTIONS(211), + [aux_sym_preproc_elifdef_token2] = ACTIONS(211), + [sym_preproc_directive] = ACTIONS(216), + [anon_sym_LPAREN2] = ACTIONS(219), + [anon_sym_BANG] = ACTIONS(222), + [anon_sym_TILDE] = ACTIONS(222), + [anon_sym_DASH] = ACTIONS(225), + [anon_sym_PLUS] = ACTIONS(225), + [anon_sym_STAR] = ACTIONS(228), + [anon_sym_AMP] = ACTIONS(228), + [anon_sym_SEMI] = ACTIONS(231), + [anon_sym___extension__] = ACTIONS(234), + [anon_sym_typedef] = ACTIONS(237), + [anon_sym_extern] = ACTIONS(240), + [anon_sym___attribute__] = ACTIONS(243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(246), + [anon_sym___declspec] = ACTIONS(249), + [anon_sym___cdecl] = ACTIONS(252), + [anon_sym___clrcall] = ACTIONS(252), + [anon_sym___stdcall] = ACTIONS(252), + [anon_sym___fastcall] = ACTIONS(252), + [anon_sym___thiscall] = ACTIONS(252), + [anon_sym___vectorcall] = ACTIONS(252), + [anon_sym_LBRACE] = ACTIONS(255), + [anon_sym_signed] = ACTIONS(258), + [anon_sym_unsigned] = ACTIONS(258), + [anon_sym_long] = ACTIONS(258), + [anon_sym_short] = ACTIONS(258), + [anon_sym_static] = ACTIONS(261), + [anon_sym_auto] = ACTIONS(261), + [anon_sym_register] = ACTIONS(261), + [anon_sym_inline] = ACTIONS(261), + [anon_sym___inline] = ACTIONS(261), + [anon_sym___inline__] = ACTIONS(261), + [anon_sym___forceinline] = ACTIONS(261), + [anon_sym_thread_local] = ACTIONS(261), + [anon_sym___thread] = ACTIONS(261), + [anon_sym_const] = ACTIONS(264), + [anon_sym_constexpr] = ACTIONS(264), + [anon_sym_volatile] = ACTIONS(264), + [anon_sym_restrict] = ACTIONS(264), + [anon_sym___restrict__] = ACTIONS(264), + [anon_sym__Atomic] = ACTIONS(264), + [anon_sym__Noreturn] = ACTIONS(264), + [anon_sym_noreturn] = ACTIONS(264), + [anon_sym_alignas] = ACTIONS(267), + [anon_sym__Alignas] = ACTIONS(267), + [sym_primitive_type] = ACTIONS(270), + [anon_sym_enum] = ACTIONS(273), + [anon_sym_struct] = ACTIONS(276), + [anon_sym_union] = ACTIONS(279), + [anon_sym_if] = ACTIONS(282), + [anon_sym_switch] = ACTIONS(285), + [anon_sym_case] = ACTIONS(288), + [anon_sym_default] = ACTIONS(291), + [anon_sym_while] = ACTIONS(294), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(300), + [anon_sym_return] = ACTIONS(303), + [anon_sym_break] = ACTIONS(306), + [anon_sym_continue] = ACTIONS(309), + [anon_sym_goto] = ACTIONS(312), + [anon_sym___try] = ACTIONS(315), + [anon_sym___leave] = ACTIONS(318), + [anon_sym_DASH_DASH] = ACTIONS(321), + [anon_sym_PLUS_PLUS] = ACTIONS(321), + [anon_sym_sizeof] = ACTIONS(324), + [anon_sym___alignof__] = ACTIONS(327), + [anon_sym___alignof] = ACTIONS(327), + [anon_sym__alignof] = ACTIONS(327), + [anon_sym_alignof] = ACTIONS(327), + [anon_sym__Alignof] = ACTIONS(327), + [anon_sym_offsetof] = ACTIONS(330), + [anon_sym__Generic] = ACTIONS(333), + [anon_sym_asm] = ACTIONS(336), + [anon_sym___asm__] = ACTIONS(336), + [sym__number_literal] = ACTIONS(339), + [anon_sym_L_SQUOTE] = ACTIONS(342), + [anon_sym_u_SQUOTE] = ACTIONS(342), + [anon_sym_U_SQUOTE] = ACTIONS(342), + [anon_sym_u8_SQUOTE] = ACTIONS(342), + [anon_sym_SQUOTE] = ACTIONS(342), + [anon_sym_L_DQUOTE] = ACTIONS(345), + [anon_sym_u_DQUOTE] = ACTIONS(345), + [anon_sym_U_DQUOTE] = ACTIONS(345), + [anon_sym_u8_DQUOTE] = ACTIONS(345), + [anon_sym_DQUOTE] = ACTIONS(345), + [sym_true] = ACTIONS(348), + [sym_false] = ACTIONS(348), + [anon_sym_NULL] = ACTIONS(351), + [anon_sym_nullptr] = ACTIONS(351), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(354), + }, + [23] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(377), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [24] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(405), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [25] = { + [sym__block_item] = STATE(27), + [sym_preproc_include] = STATE(27), + [sym_preproc_def] = STATE(27), + [sym_preproc_function_def] = STATE(27), + [sym_preproc_call] = STATE(27), + [sym_preproc_if] = STATE(27), + [sym_preproc_ifdef] = STATE(27), + [sym_function_definition] = STATE(27), + [sym__old_style_function_definition] = STATE(301), + [sym_declaration] = STATE(27), + [sym_type_definition] = STATE(27), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(27), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(675), + [sym_compound_statement] = STATE(194), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(803), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(302), + [sym_statement] = STATE(27), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(404), + [sym__empty_declaration] = STATE(27), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(27), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(407), + [aux_sym_preproc_def_token1] = ACTIONS(409), + [aux_sym_preproc_if_token1] = ACTIONS(411), + [aux_sym_preproc_if_token2] = ACTIONS(413), + [aux_sym_preproc_ifdef_token1] = ACTIONS(415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(415), + [sym_preproc_directive] = ACTIONS(417), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(425), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [26] = { + [sym__block_item] = STATE(36), + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(36), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(455), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [27] = { + [sym__block_item] = STATE(29), + [sym_preproc_include] = STATE(29), + [sym_preproc_def] = STATE(29), + [sym_preproc_function_def] = STATE(29), + [sym_preproc_call] = STATE(29), + [sym_preproc_if] = STATE(29), + [sym_preproc_ifdef] = STATE(29), + [sym_function_definition] = STATE(29), + [sym__old_style_function_definition] = STATE(301), + [sym_declaration] = STATE(29), + [sym_type_definition] = STATE(29), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(29), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(675), + [sym_compound_statement] = STATE(194), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(803), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(302), + [sym_statement] = STATE(29), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(404), + [sym__empty_declaration] = STATE(29), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(29), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(407), + [aux_sym_preproc_def_token1] = ACTIONS(409), + [aux_sym_preproc_if_token1] = ACTIONS(411), + [aux_sym_preproc_if_token2] = ACTIONS(457), + [aux_sym_preproc_ifdef_token1] = ACTIONS(415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(415), + [sym_preproc_directive] = ACTIONS(417), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(425), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [28] = { + [sym__block_item] = STATE(31), + [sym_preproc_include] = STATE(31), + [sym_preproc_def] = STATE(31), + [sym_preproc_function_def] = STATE(31), + [sym_preproc_call] = STATE(31), + [sym_preproc_if] = STATE(31), + [sym_preproc_ifdef] = STATE(31), + [sym_function_definition] = STATE(31), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(31), + [sym_type_definition] = STATE(31), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(31), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(31), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(31), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(31), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(459), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [29] = { + [sym__block_item] = STATE(29), + [sym_preproc_include] = STATE(29), + [sym_preproc_def] = STATE(29), + [sym_preproc_function_def] = STATE(29), + [sym_preproc_call] = STATE(29), + [sym_preproc_if] = STATE(29), + [sym_preproc_ifdef] = STATE(29), + [sym_function_definition] = STATE(29), + [sym__old_style_function_definition] = STATE(301), + [sym_declaration] = STATE(29), + [sym_type_definition] = STATE(29), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(29), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(675), + [sym_compound_statement] = STATE(194), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(803), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(302), + [sym_statement] = STATE(29), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(404), + [sym__empty_declaration] = STATE(29), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(29), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(199), + [aux_sym_preproc_include_token1] = ACTIONS(461), + [aux_sym_preproc_def_token1] = ACTIONS(464), + [aux_sym_preproc_if_token1] = ACTIONS(467), + [aux_sym_preproc_if_token2] = ACTIONS(211), + [aux_sym_preproc_ifdef_token1] = ACTIONS(470), + [aux_sym_preproc_ifdef_token2] = ACTIONS(470), + [sym_preproc_directive] = ACTIONS(473), + [anon_sym_LPAREN2] = ACTIONS(219), + [anon_sym_BANG] = ACTIONS(222), + [anon_sym_TILDE] = ACTIONS(222), + [anon_sym_DASH] = ACTIONS(225), + [anon_sym_PLUS] = ACTIONS(225), + [anon_sym_STAR] = ACTIONS(228), + [anon_sym_AMP] = ACTIONS(228), + [anon_sym_SEMI] = ACTIONS(476), + [anon_sym___extension__] = ACTIONS(479), + [anon_sym_typedef] = ACTIONS(482), + [anon_sym_extern] = ACTIONS(485), + [anon_sym___attribute__] = ACTIONS(243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(246), + [anon_sym___declspec] = ACTIONS(249), + [anon_sym___cdecl] = ACTIONS(252), + [anon_sym___clrcall] = ACTIONS(252), + [anon_sym___stdcall] = ACTIONS(252), + [anon_sym___fastcall] = ACTIONS(252), + [anon_sym___thiscall] = ACTIONS(252), + [anon_sym___vectorcall] = ACTIONS(252), + [anon_sym_LBRACE] = ACTIONS(488), + [anon_sym_signed] = ACTIONS(258), + [anon_sym_unsigned] = ACTIONS(258), + [anon_sym_long] = ACTIONS(258), + [anon_sym_short] = ACTIONS(258), + [anon_sym_static] = ACTIONS(261), + [anon_sym_auto] = ACTIONS(261), + [anon_sym_register] = ACTIONS(261), + [anon_sym_inline] = ACTIONS(261), + [anon_sym___inline] = ACTIONS(261), + [anon_sym___inline__] = ACTIONS(261), + [anon_sym___forceinline] = ACTIONS(261), + [anon_sym_thread_local] = ACTIONS(261), + [anon_sym___thread] = ACTIONS(261), + [anon_sym_const] = ACTIONS(264), + [anon_sym_constexpr] = ACTIONS(264), + [anon_sym_volatile] = ACTIONS(264), + [anon_sym_restrict] = ACTIONS(264), + [anon_sym___restrict__] = ACTIONS(264), + [anon_sym__Atomic] = ACTIONS(264), + [anon_sym__Noreturn] = ACTIONS(264), + [anon_sym_noreturn] = ACTIONS(264), + [anon_sym_alignas] = ACTIONS(267), + [anon_sym__Alignas] = ACTIONS(267), + [sym_primitive_type] = ACTIONS(270), + [anon_sym_enum] = ACTIONS(273), + [anon_sym_struct] = ACTIONS(276), + [anon_sym_union] = ACTIONS(279), + [anon_sym_if] = ACTIONS(491), + [anon_sym_switch] = ACTIONS(494), + [anon_sym_case] = ACTIONS(497), + [anon_sym_default] = ACTIONS(500), + [anon_sym_while] = ACTIONS(503), + [anon_sym_do] = ACTIONS(506), + [anon_sym_for] = ACTIONS(509), + [anon_sym_return] = ACTIONS(512), + [anon_sym_break] = ACTIONS(515), + [anon_sym_continue] = ACTIONS(518), + [anon_sym_goto] = ACTIONS(521), + [anon_sym___try] = ACTIONS(524), + [anon_sym___leave] = ACTIONS(527), + [anon_sym_DASH_DASH] = ACTIONS(321), + [anon_sym_PLUS_PLUS] = ACTIONS(321), + [anon_sym_sizeof] = ACTIONS(324), + [anon_sym___alignof__] = ACTIONS(327), + [anon_sym___alignof] = ACTIONS(327), + [anon_sym__alignof] = ACTIONS(327), + [anon_sym_alignof] = ACTIONS(327), + [anon_sym__Alignof] = ACTIONS(327), + [anon_sym_offsetof] = ACTIONS(330), + [anon_sym__Generic] = ACTIONS(333), + [anon_sym_asm] = ACTIONS(336), + [anon_sym___asm__] = ACTIONS(336), + [sym__number_literal] = ACTIONS(339), + [anon_sym_L_SQUOTE] = ACTIONS(342), + [anon_sym_u_SQUOTE] = ACTIONS(342), + [anon_sym_U_SQUOTE] = ACTIONS(342), + [anon_sym_u8_SQUOTE] = ACTIONS(342), + [anon_sym_SQUOTE] = ACTIONS(342), + [anon_sym_L_DQUOTE] = ACTIONS(345), + [anon_sym_u_DQUOTE] = ACTIONS(345), + [anon_sym_U_DQUOTE] = ACTIONS(345), + [anon_sym_u8_DQUOTE] = ACTIONS(345), + [anon_sym_DQUOTE] = ACTIONS(345), + [sym_true] = ACTIONS(348), + [sym_false] = ACTIONS(348), + [anon_sym_NULL] = ACTIONS(351), + [anon_sym_nullptr] = ACTIONS(351), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(354), + }, + [30] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(199), + [aux_sym_preproc_include_token1] = ACTIONS(530), + [aux_sym_preproc_def_token1] = ACTIONS(533), + [aux_sym_preproc_if_token1] = ACTIONS(536), + [aux_sym_preproc_ifdef_token1] = ACTIONS(539), + [aux_sym_preproc_ifdef_token2] = ACTIONS(539), + [sym_preproc_directive] = ACTIONS(542), + [anon_sym_LPAREN2] = ACTIONS(219), + [anon_sym_BANG] = ACTIONS(222), + [anon_sym_TILDE] = ACTIONS(222), + [anon_sym_DASH] = ACTIONS(225), + [anon_sym_PLUS] = ACTIONS(225), + [anon_sym_STAR] = ACTIONS(228), + [anon_sym_AMP] = ACTIONS(228), + [anon_sym_SEMI] = ACTIONS(545), + [anon_sym___extension__] = ACTIONS(548), + [anon_sym_typedef] = ACTIONS(551), + [anon_sym_extern] = ACTIONS(554), + [anon_sym___attribute__] = ACTIONS(243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(246), + [anon_sym___declspec] = ACTIONS(249), + [anon_sym___cdecl] = ACTIONS(252), + [anon_sym___clrcall] = ACTIONS(252), + [anon_sym___stdcall] = ACTIONS(252), + [anon_sym___fastcall] = ACTIONS(252), + [anon_sym___thiscall] = ACTIONS(252), + [anon_sym___vectorcall] = ACTIONS(252), + [anon_sym_LBRACE] = ACTIONS(557), + [anon_sym_RBRACE] = ACTIONS(560), + [anon_sym_signed] = ACTIONS(258), + [anon_sym_unsigned] = ACTIONS(258), + [anon_sym_long] = ACTIONS(258), + [anon_sym_short] = ACTIONS(258), + [anon_sym_static] = ACTIONS(261), + [anon_sym_auto] = ACTIONS(261), + [anon_sym_register] = ACTIONS(261), + [anon_sym_inline] = ACTIONS(261), + [anon_sym___inline] = ACTIONS(261), + [anon_sym___inline__] = ACTIONS(261), + [anon_sym___forceinline] = ACTIONS(261), + [anon_sym_thread_local] = ACTIONS(261), + [anon_sym___thread] = ACTIONS(261), + [anon_sym_const] = ACTIONS(264), + [anon_sym_constexpr] = ACTIONS(264), + [anon_sym_volatile] = ACTIONS(264), + [anon_sym_restrict] = ACTIONS(264), + [anon_sym___restrict__] = ACTIONS(264), + [anon_sym__Atomic] = ACTIONS(264), + [anon_sym__Noreturn] = ACTIONS(264), + [anon_sym_noreturn] = ACTIONS(264), + [anon_sym_alignas] = ACTIONS(267), + [anon_sym__Alignas] = ACTIONS(267), + [sym_primitive_type] = ACTIONS(270), + [anon_sym_enum] = ACTIONS(273), + [anon_sym_struct] = ACTIONS(276), + [anon_sym_union] = ACTIONS(279), + [anon_sym_if] = ACTIONS(562), + [anon_sym_switch] = ACTIONS(565), + [anon_sym_case] = ACTIONS(568), + [anon_sym_default] = ACTIONS(571), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(577), + [anon_sym_for] = ACTIONS(580), + [anon_sym_return] = ACTIONS(583), + [anon_sym_break] = ACTIONS(586), + [anon_sym_continue] = ACTIONS(589), + [anon_sym_goto] = ACTIONS(592), + [anon_sym___try] = ACTIONS(595), + [anon_sym___leave] = ACTIONS(598), + [anon_sym_DASH_DASH] = ACTIONS(321), + [anon_sym_PLUS_PLUS] = ACTIONS(321), + [anon_sym_sizeof] = ACTIONS(324), + [anon_sym___alignof__] = ACTIONS(327), + [anon_sym___alignof] = ACTIONS(327), + [anon_sym__alignof] = ACTIONS(327), + [anon_sym_alignof] = ACTIONS(327), + [anon_sym__Alignof] = ACTIONS(327), + [anon_sym_offsetof] = ACTIONS(330), + [anon_sym__Generic] = ACTIONS(333), + [anon_sym_asm] = ACTIONS(336), + [anon_sym___asm__] = ACTIONS(336), + [sym__number_literal] = ACTIONS(339), + [anon_sym_L_SQUOTE] = ACTIONS(342), + [anon_sym_u_SQUOTE] = ACTIONS(342), + [anon_sym_U_SQUOTE] = ACTIONS(342), + [anon_sym_u8_SQUOTE] = ACTIONS(342), + [anon_sym_SQUOTE] = ACTIONS(342), + [anon_sym_L_DQUOTE] = ACTIONS(345), + [anon_sym_u_DQUOTE] = ACTIONS(345), + [anon_sym_U_DQUOTE] = ACTIONS(345), + [anon_sym_u8_DQUOTE] = ACTIONS(345), + [anon_sym_DQUOTE] = ACTIONS(345), + [sym_true] = ACTIONS(348), + [sym_false] = ACTIONS(348), + [anon_sym_NULL] = ACTIONS(351), + [anon_sym_nullptr] = ACTIONS(351), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(354), + }, + [31] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(601), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [32] = { + [sym__block_item] = STATE(40), + [sym_preproc_include] = STATE(40), + [sym_preproc_def] = STATE(40), + [sym_preproc_function_def] = STATE(40), + [sym_preproc_call] = STATE(40), + [sym_preproc_if] = STATE(40), + [sym_preproc_ifdef] = STATE(40), + [sym_function_definition] = STATE(40), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(40), + [sym_type_definition] = STATE(40), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(40), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(40), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(40), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(40), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(603), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [33] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(605), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [34] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_function_definition] = STATE(33), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(33), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(607), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [35] = { + [sym__block_item] = STATE(24), + [sym_preproc_include] = STATE(24), + [sym_preproc_def] = STATE(24), + [sym_preproc_function_def] = STATE(24), + [sym_preproc_call] = STATE(24), + [sym_preproc_if] = STATE(24), + [sym_preproc_ifdef] = STATE(24), + [sym_function_definition] = STATE(24), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(609), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [36] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(611), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [37] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(613), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [38] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(615), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [39] = { + [sym__block_item] = STATE(37), + [sym_preproc_include] = STATE(37), + [sym_preproc_def] = STATE(37), + [sym_preproc_function_def] = STATE(37), + [sym_preproc_call] = STATE(37), + [sym_preproc_if] = STATE(37), + [sym_preproc_ifdef] = STATE(37), + [sym_function_definition] = STATE(37), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(37), + [sym_type_definition] = STATE(37), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(37), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(37), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(37), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(37), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(617), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [40] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(619), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [41] = { + [sym__block_item] = STATE(23), + [sym_preproc_include] = STATE(23), + [sym_preproc_def] = STATE(23), + [sym_preproc_function_def] = STATE(23), + [sym_preproc_call] = STATE(23), + [sym_preproc_if] = STATE(23), + [sym_preproc_ifdef] = STATE(23), + [sym_function_definition] = STATE(23), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(23), + [sym_type_definition] = STATE(23), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(23), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(23), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(23), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(23), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(621), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [42] = { + [sym__block_item] = STATE(38), + [sym_preproc_include] = STATE(38), + [sym_preproc_def] = STATE(38), + [sym_preproc_function_def] = STATE(38), + [sym_preproc_call] = STATE(38), + [sym_preproc_if] = STATE(38), + [sym_preproc_ifdef] = STATE(38), + [sym_function_definition] = STATE(38), + [sym__old_style_function_definition] = STATE(306), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1158), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(683), + [sym_compound_statement] = STATE(275), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(809), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(308), + [sym_statement] = STATE(38), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(406), + [sym__empty_declaration] = STATE(38), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(357), + [aux_sym_preproc_def_token1] = ACTIONS(359), + [aux_sym_preproc_if_token1] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(373), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(623), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [43] = { + [sym__top_level_item] = STATE(43), + [sym_preproc_include] = STATE(43), + [sym_preproc_def] = STATE(43), + [sym_preproc_function_def] = STATE(43), + [sym_preproc_call] = STATE(43), + [sym_preproc_if] = STATE(43), + [sym_preproc_ifdef] = STATE(43), + [sym_function_definition] = STATE(43), + [sym__old_style_function_definition] = STATE(356), + [sym_declaration] = STATE(43), + [sym_type_definition] = STATE(43), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1128), + [sym_linkage_specification] = STATE(43), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(43), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(818), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(363), + [sym__top_level_statement] = STATE(43), + [sym_labeled_statement] = STATE(43), + [sym__top_level_expression_statement] = STATE(43), + [sym_if_statement] = STATE(43), + [sym_switch_statement] = STATE(43), + [sym_case_statement] = STATE(43), + [sym_while_statement] = STATE(43), + [sym_do_statement] = STATE(43), + [sym_for_statement] = STATE(43), + [sym_return_statement] = STATE(43), + [sym_break_statement] = STATE(43), + [sym_continue_statement] = STATE(43), + [sym_goto_statement] = STATE(43), + [sym_expression] = STATE(1108), + [sym__string] = STATE(1110), + [sym_conditional_expression] = STATE(1110), + [sym_assignment_expression] = STATE(1110), + [sym_pointer_expression] = STATE(934), + [sym_unary_expression] = STATE(1110), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(1110), + [sym_cast_expression] = STATE(1110), + [sym_sizeof_expression] = STATE(1110), + [sym_alignof_expression] = STATE(1110), + [sym_offsetof_expression] = STATE(1110), + [sym_generic_expression] = STATE(1110), + [sym_subscript_expression] = STATE(934), + [sym_call_expression] = STATE(934), + [sym_gnu_asm_expression] = STATE(1110), + [sym_field_expression] = STATE(934), + [sym_compound_literal_expression] = STATE(1110), + [sym_parenthesized_expression] = STATE(934), + [sym_number_literal] = STATE(1110), + [sym_char_literal] = STATE(1110), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(1110), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(1110), + [sym_identifier] = STATE(412), + [sym__empty_declaration] = STATE(43), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_translation_unit_repeat1] = STATE(43), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [ts_builtin_sym_end] = ACTIONS(625), + [sym__identifier] = ACTIONS(627), + [aux_sym_preproc_include_token1] = ACTIONS(630), + [aux_sym_preproc_def_token1] = ACTIONS(633), + [aux_sym_preproc_if_token1] = ACTIONS(636), + [aux_sym_preproc_ifdef_token1] = ACTIONS(639), + [aux_sym_preproc_ifdef_token2] = ACTIONS(639), + [sym_preproc_directive] = ACTIONS(642), + [anon_sym_LPAREN2] = ACTIONS(645), + [anon_sym_BANG] = ACTIONS(648), + [anon_sym_TILDE] = ACTIONS(648), + [anon_sym_DASH] = ACTIONS(651), + [anon_sym_PLUS] = ACTIONS(651), + [anon_sym_STAR] = ACTIONS(654), + [anon_sym_AMP] = ACTIONS(654), + [anon_sym___extension__] = ACTIONS(657), + [anon_sym_typedef] = ACTIONS(660), + [anon_sym_extern] = ACTIONS(663), + [anon_sym___attribute__] = ACTIONS(666), + [anon_sym_LBRACK_LBRACK] = ACTIONS(669), + [anon_sym___declspec] = ACTIONS(672), + [anon_sym___cdecl] = ACTIONS(675), + [anon_sym___clrcall] = ACTIONS(675), + [anon_sym___stdcall] = ACTIONS(675), + [anon_sym___fastcall] = ACTIONS(675), + [anon_sym___thiscall] = ACTIONS(675), + [anon_sym___vectorcall] = ACTIONS(675), + [anon_sym_LBRACE] = ACTIONS(678), + [anon_sym_signed] = ACTIONS(681), + [anon_sym_unsigned] = ACTIONS(681), + [anon_sym_long] = ACTIONS(681), + [anon_sym_short] = ACTIONS(681), + [anon_sym_static] = ACTIONS(684), + [anon_sym_auto] = ACTIONS(684), + [anon_sym_register] = ACTIONS(684), + [anon_sym_inline] = ACTIONS(684), + [anon_sym___inline] = ACTIONS(684), + [anon_sym___inline__] = ACTIONS(684), + [anon_sym___forceinline] = ACTIONS(684), + [anon_sym_thread_local] = ACTIONS(684), + [anon_sym___thread] = ACTIONS(684), + [anon_sym_const] = ACTIONS(687), + [anon_sym_constexpr] = ACTIONS(687), + [anon_sym_volatile] = ACTIONS(687), + [anon_sym_restrict] = ACTIONS(687), + [anon_sym___restrict__] = ACTIONS(687), + [anon_sym__Atomic] = ACTIONS(687), + [anon_sym__Noreturn] = ACTIONS(687), + [anon_sym_noreturn] = ACTIONS(687), + [anon_sym_alignas] = ACTIONS(690), + [anon_sym__Alignas] = ACTIONS(690), + [sym_primitive_type] = ACTIONS(693), + [anon_sym_enum] = ACTIONS(696), + [anon_sym_struct] = ACTIONS(699), + [anon_sym_union] = ACTIONS(702), + [anon_sym_if] = ACTIONS(705), + [anon_sym_switch] = ACTIONS(708), + [anon_sym_case] = ACTIONS(711), + [anon_sym_default] = ACTIONS(714), + [anon_sym_while] = ACTIONS(717), + [anon_sym_do] = ACTIONS(720), + [anon_sym_for] = ACTIONS(723), + [anon_sym_return] = ACTIONS(726), + [anon_sym_break] = ACTIONS(729), + [anon_sym_continue] = ACTIONS(732), + [anon_sym_goto] = ACTIONS(735), + [anon_sym_DASH_DASH] = ACTIONS(738), + [anon_sym_PLUS_PLUS] = ACTIONS(738), + [anon_sym_sizeof] = ACTIONS(741), + [anon_sym___alignof__] = ACTIONS(744), + [anon_sym___alignof] = ACTIONS(744), + [anon_sym__alignof] = ACTIONS(744), + [anon_sym_alignof] = ACTIONS(744), + [anon_sym__Alignof] = ACTIONS(744), + [anon_sym_offsetof] = ACTIONS(747), + [anon_sym__Generic] = ACTIONS(750), + [anon_sym_asm] = ACTIONS(753), + [anon_sym___asm__] = ACTIONS(753), + [sym__number_literal] = ACTIONS(756), + [anon_sym_L_SQUOTE] = ACTIONS(759), + [anon_sym_u_SQUOTE] = ACTIONS(759), + [anon_sym_U_SQUOTE] = ACTIONS(759), + [anon_sym_u8_SQUOTE] = ACTIONS(759), + [anon_sym_SQUOTE] = ACTIONS(759), + [anon_sym_L_DQUOTE] = ACTIONS(762), + [anon_sym_u_DQUOTE] = ACTIONS(762), + [anon_sym_U_DQUOTE] = ACTIONS(762), + [anon_sym_u8_DQUOTE] = ACTIONS(762), + [anon_sym_DQUOTE] = ACTIONS(762), + [sym_true] = ACTIONS(765), + [sym_false] = ACTIONS(765), + [anon_sym_NULL] = ACTIONS(768), + [anon_sym_nullptr] = ACTIONS(768), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(771), + }, + [44] = { + [sym__top_level_item] = STATE(43), + [sym_preproc_include] = STATE(43), + [sym_preproc_def] = STATE(43), + [sym_preproc_function_def] = STATE(43), + [sym_preproc_call] = STATE(43), + [sym_preproc_if] = STATE(43), + [sym_preproc_ifdef] = STATE(43), + [sym_function_definition] = STATE(43), + [sym__old_style_function_definition] = STATE(356), + [sym_declaration] = STATE(43), + [sym_type_definition] = STATE(43), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1128), + [sym_linkage_specification] = STATE(43), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(43), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(818), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(363), + [sym__top_level_statement] = STATE(43), + [sym_labeled_statement] = STATE(43), + [sym__top_level_expression_statement] = STATE(43), + [sym_if_statement] = STATE(43), + [sym_switch_statement] = STATE(43), + [sym_case_statement] = STATE(43), + [sym_while_statement] = STATE(43), + [sym_do_statement] = STATE(43), + [sym_for_statement] = STATE(43), + [sym_return_statement] = STATE(43), + [sym_break_statement] = STATE(43), + [sym_continue_statement] = STATE(43), + [sym_goto_statement] = STATE(43), + [sym_expression] = STATE(1108), + [sym__string] = STATE(1110), + [sym_conditional_expression] = STATE(1110), + [sym_assignment_expression] = STATE(1110), + [sym_pointer_expression] = STATE(934), + [sym_unary_expression] = STATE(1110), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(1110), + [sym_cast_expression] = STATE(1110), + [sym_sizeof_expression] = STATE(1110), + [sym_alignof_expression] = STATE(1110), + [sym_offsetof_expression] = STATE(1110), + [sym_generic_expression] = STATE(1110), + [sym_subscript_expression] = STATE(934), + [sym_call_expression] = STATE(934), + [sym_gnu_asm_expression] = STATE(1110), + [sym_field_expression] = STATE(934), + [sym_compound_literal_expression] = STATE(1110), + [sym_parenthesized_expression] = STATE(934), + [sym_number_literal] = STATE(1110), + [sym_char_literal] = STATE(1110), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(1110), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(1110), + [sym_identifier] = STATE(412), + [sym__empty_declaration] = STATE(43), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_translation_unit_repeat1] = STATE(43), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [ts_builtin_sym_end] = ACTIONS(774), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(31), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(99), + [sym_false] = ACTIONS(99), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [45] = { + [sym_declaration] = STATE(46), + [sym_type_definition] = STATE(46), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1169), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(46), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(46), + [sym_labeled_statement] = STATE(46), + [sym_expression_statement] = STATE(46), + [sym_if_statement] = STATE(46), + [sym_switch_statement] = STATE(46), + [sym_while_statement] = STATE(46), + [sym_do_statement] = STATE(46), + [sym_for_statement] = STATE(46), + [sym_return_statement] = STATE(46), + [sym_break_statement] = STATE(46), + [sym_continue_statement] = STATE(46), + [sym_goto_statement] = STATE(46), + [sym_seh_try_statement] = STATE(46), + [sym_seh_leave_statement] = STATE(46), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(409), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(46), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(776), + [aux_sym_preproc_def_token1] = ACTIONS(776), + [aux_sym_preproc_if_token1] = ACTIONS(776), + [aux_sym_preproc_if_token2] = ACTIONS(776), + [aux_sym_preproc_ifdef_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token2] = ACTIONS(776), + [aux_sym_preproc_else_token1] = ACTIONS(776), + [aux_sym_preproc_elif_token1] = ACTIONS(776), + [aux_sym_preproc_elifdef_token1] = ACTIONS(776), + [aux_sym_preproc_elifdef_token2] = ACTIONS(776), + [sym_preproc_directive] = ACTIONS(776), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(776), + [anon_sym___clrcall] = ACTIONS(776), + [anon_sym___stdcall] = ACTIONS(776), + [anon_sym___fastcall] = ACTIONS(776), + [anon_sym___thiscall] = ACTIONS(776), + [anon_sym___vectorcall] = ACTIONS(776), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_else] = ACTIONS(776), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(776), + [anon_sym_default] = ACTIONS(776), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [46] = { + [sym_declaration] = STATE(46), + [sym_type_definition] = STATE(46), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1169), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(46), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(46), + [sym_labeled_statement] = STATE(46), + [sym_expression_statement] = STATE(46), + [sym_if_statement] = STATE(46), + [sym_switch_statement] = STATE(46), + [sym_while_statement] = STATE(46), + [sym_do_statement] = STATE(46), + [sym_for_statement] = STATE(46), + [sym_return_statement] = STATE(46), + [sym_break_statement] = STATE(46), + [sym_continue_statement] = STATE(46), + [sym_goto_statement] = STATE(46), + [sym_seh_try_statement] = STATE(46), + [sym_seh_leave_statement] = STATE(46), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(409), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(46), + [sym__identifier] = ACTIONS(778), + [aux_sym_preproc_include_token1] = ACTIONS(781), + [aux_sym_preproc_def_token1] = ACTIONS(781), + [aux_sym_preproc_if_token1] = ACTIONS(781), + [aux_sym_preproc_if_token2] = ACTIONS(781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(781), + [aux_sym_preproc_else_token1] = ACTIONS(781), + [aux_sym_preproc_elif_token1] = ACTIONS(781), + [aux_sym_preproc_elifdef_token1] = ACTIONS(781), + [aux_sym_preproc_elifdef_token2] = ACTIONS(781), + [sym_preproc_directive] = ACTIONS(781), + [anon_sym_LPAREN2] = ACTIONS(783), + [anon_sym_BANG] = ACTIONS(786), + [anon_sym_TILDE] = ACTIONS(786), + [anon_sym_DASH] = ACTIONS(789), + [anon_sym_PLUS] = ACTIONS(789), + [anon_sym_STAR] = ACTIONS(792), + [anon_sym_AMP] = ACTIONS(792), + [anon_sym_SEMI] = ACTIONS(795), + [anon_sym___extension__] = ACTIONS(798), + [anon_sym_typedef] = ACTIONS(801), + [anon_sym_extern] = ACTIONS(804), + [anon_sym___attribute__] = ACTIONS(807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(810), + [anon_sym___declspec] = ACTIONS(813), + [anon_sym___cdecl] = ACTIONS(781), + [anon_sym___clrcall] = ACTIONS(781), + [anon_sym___stdcall] = ACTIONS(781), + [anon_sym___fastcall] = ACTIONS(781), + [anon_sym___thiscall] = ACTIONS(781), + [anon_sym___vectorcall] = ACTIONS(781), + [anon_sym_LBRACE] = ACTIONS(816), + [anon_sym_signed] = ACTIONS(819), + [anon_sym_unsigned] = ACTIONS(819), + [anon_sym_long] = ACTIONS(819), + [anon_sym_short] = ACTIONS(819), + [anon_sym_static] = ACTIONS(804), + [anon_sym_auto] = ACTIONS(804), + [anon_sym_register] = ACTIONS(804), + [anon_sym_inline] = ACTIONS(804), + [anon_sym___inline] = ACTIONS(804), + [anon_sym___inline__] = ACTIONS(804), + [anon_sym___forceinline] = ACTIONS(804), + [anon_sym_thread_local] = ACTIONS(804), + [anon_sym___thread] = ACTIONS(804), + [anon_sym_const] = ACTIONS(822), + [anon_sym_constexpr] = ACTIONS(822), + [anon_sym_volatile] = ACTIONS(822), + [anon_sym_restrict] = ACTIONS(822), + [anon_sym___restrict__] = ACTIONS(822), + [anon_sym__Atomic] = ACTIONS(822), + [anon_sym__Noreturn] = ACTIONS(822), + [anon_sym_noreturn] = ACTIONS(822), + [anon_sym_alignas] = ACTIONS(825), + [anon_sym__Alignas] = ACTIONS(825), + [sym_primitive_type] = ACTIONS(828), + [anon_sym_enum] = ACTIONS(831), + [anon_sym_struct] = ACTIONS(834), + [anon_sym_union] = ACTIONS(837), + [anon_sym_if] = ACTIONS(840), + [anon_sym_else] = ACTIONS(781), + [anon_sym_switch] = ACTIONS(843), + [anon_sym_case] = ACTIONS(781), + [anon_sym_default] = ACTIONS(781), + [anon_sym_while] = ACTIONS(846), + [anon_sym_do] = ACTIONS(849), + [anon_sym_for] = ACTIONS(852), + [anon_sym_return] = ACTIONS(855), + [anon_sym_break] = ACTIONS(858), + [anon_sym_continue] = ACTIONS(861), + [anon_sym_goto] = ACTIONS(864), + [anon_sym___try] = ACTIONS(867), + [anon_sym___leave] = ACTIONS(870), + [anon_sym_DASH_DASH] = ACTIONS(873), + [anon_sym_PLUS_PLUS] = ACTIONS(873), + [anon_sym_sizeof] = ACTIONS(876), + [anon_sym___alignof__] = ACTIONS(879), + [anon_sym___alignof] = ACTIONS(879), + [anon_sym__alignof] = ACTIONS(879), + [anon_sym_alignof] = ACTIONS(879), + [anon_sym__Alignof] = ACTIONS(879), + [anon_sym_offsetof] = ACTIONS(882), + [anon_sym__Generic] = ACTIONS(885), + [anon_sym_asm] = ACTIONS(888), + [anon_sym___asm__] = ACTIONS(888), + [sym__number_literal] = ACTIONS(891), + [anon_sym_L_SQUOTE] = ACTIONS(894), + [anon_sym_u_SQUOTE] = ACTIONS(894), + [anon_sym_U_SQUOTE] = ACTIONS(894), + [anon_sym_u8_SQUOTE] = ACTIONS(894), + [anon_sym_SQUOTE] = ACTIONS(894), + [anon_sym_L_DQUOTE] = ACTIONS(897), + [anon_sym_u_DQUOTE] = ACTIONS(897), + [anon_sym_U_DQUOTE] = ACTIONS(897), + [anon_sym_u8_DQUOTE] = ACTIONS(897), + [anon_sym_DQUOTE] = ACTIONS(897), + [sym_true] = ACTIONS(900), + [sym_false] = ACTIONS(900), + [anon_sym_NULL] = ACTIONS(903), + [anon_sym_nullptr] = ACTIONS(903), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(906), + }, + [47] = { + [sym_declaration] = STATE(48), + [sym_type_definition] = STATE(48), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1169), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(48), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(48), + [sym_labeled_statement] = STATE(48), + [sym_expression_statement] = STATE(48), + [sym_if_statement] = STATE(48), + [sym_switch_statement] = STATE(48), + [sym_while_statement] = STATE(48), + [sym_do_statement] = STATE(48), + [sym_for_statement] = STATE(48), + [sym_return_statement] = STATE(48), + [sym_break_statement] = STATE(48), + [sym_continue_statement] = STATE(48), + [sym_goto_statement] = STATE(48), + [sym_seh_try_statement] = STATE(48), + [sym_seh_leave_statement] = STATE(48), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(409), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(48), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(909), + [aux_sym_preproc_def_token1] = ACTIONS(909), + [aux_sym_preproc_if_token1] = ACTIONS(909), + [aux_sym_preproc_if_token2] = ACTIONS(909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(909), + [aux_sym_preproc_else_token1] = ACTIONS(909), + [aux_sym_preproc_elif_token1] = ACTIONS(909), + [aux_sym_preproc_elifdef_token1] = ACTIONS(909), + [aux_sym_preproc_elifdef_token2] = ACTIONS(909), + [sym_preproc_directive] = ACTIONS(909), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(909), + [anon_sym___clrcall] = ACTIONS(909), + [anon_sym___stdcall] = ACTIONS(909), + [anon_sym___fastcall] = ACTIONS(909), + [anon_sym___thiscall] = ACTIONS(909), + [anon_sym___vectorcall] = ACTIONS(909), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_else] = ACTIONS(909), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(909), + [anon_sym_default] = ACTIONS(909), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [48] = { + [sym_declaration] = STATE(46), + [sym_type_definition] = STATE(46), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1169), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(46), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(46), + [sym_labeled_statement] = STATE(46), + [sym_expression_statement] = STATE(46), + [sym_if_statement] = STATE(46), + [sym_switch_statement] = STATE(46), + [sym_while_statement] = STATE(46), + [sym_do_statement] = STATE(46), + [sym_for_statement] = STATE(46), + [sym_return_statement] = STATE(46), + [sym_break_statement] = STATE(46), + [sym_continue_statement] = STATE(46), + [sym_goto_statement] = STATE(46), + [sym_seh_try_statement] = STATE(46), + [sym_seh_leave_statement] = STATE(46), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(409), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(46), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(911), + [aux_sym_preproc_def_token1] = ACTIONS(911), + [aux_sym_preproc_if_token1] = ACTIONS(911), + [aux_sym_preproc_if_token2] = ACTIONS(911), + [aux_sym_preproc_ifdef_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token2] = ACTIONS(911), + [aux_sym_preproc_else_token1] = ACTIONS(911), + [aux_sym_preproc_elif_token1] = ACTIONS(911), + [aux_sym_preproc_elifdef_token1] = ACTIONS(911), + [aux_sym_preproc_elifdef_token2] = ACTIONS(911), + [sym_preproc_directive] = ACTIONS(911), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(911), + [anon_sym___clrcall] = ACTIONS(911), + [anon_sym___stdcall] = ACTIONS(911), + [anon_sym___fastcall] = ACTIONS(911), + [anon_sym___thiscall] = ACTIONS(911), + [anon_sym___vectorcall] = ACTIONS(911), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_else] = ACTIONS(911), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(911), + [anon_sym_default] = ACTIONS(911), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [49] = { + [sym_declaration] = STATE(45), + [sym_type_definition] = STATE(45), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1169), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(45), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(45), + [sym_labeled_statement] = STATE(45), + [sym_expression_statement] = STATE(45), + [sym_if_statement] = STATE(45), + [sym_switch_statement] = STATE(45), + [sym_while_statement] = STATE(45), + [sym_do_statement] = STATE(45), + [sym_for_statement] = STATE(45), + [sym_return_statement] = STATE(45), + [sym_break_statement] = STATE(45), + [sym_continue_statement] = STATE(45), + [sym_goto_statement] = STATE(45), + [sym_seh_try_statement] = STATE(45), + [sym_seh_leave_statement] = STATE(45), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(409), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(45), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(913), + [aux_sym_preproc_def_token1] = ACTIONS(913), + [aux_sym_preproc_if_token1] = ACTIONS(913), + [aux_sym_preproc_if_token2] = ACTIONS(913), + [aux_sym_preproc_ifdef_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token2] = ACTIONS(913), + [aux_sym_preproc_else_token1] = ACTIONS(913), + [aux_sym_preproc_elif_token1] = ACTIONS(913), + [aux_sym_preproc_elifdef_token1] = ACTIONS(913), + [aux_sym_preproc_elifdef_token2] = ACTIONS(913), + [sym_preproc_directive] = ACTIONS(913), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym___extension__] = ACTIONS(125), + [anon_sym_typedef] = ACTIONS(127), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(913), + [anon_sym___clrcall] = ACTIONS(913), + [anon_sym___stdcall] = ACTIONS(913), + [anon_sym___fastcall] = ACTIONS(913), + [anon_sym___thiscall] = ACTIONS(913), + [anon_sym___vectorcall] = ACTIONS(913), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(133), + [anon_sym_else] = ACTIONS(913), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(913), + [anon_sym_default] = ACTIONS(913), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [50] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym_seh_try_statement] = STATE(50), + [sym_seh_leave_statement] = STATE(50), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(408), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(915), + [sym__identifier] = ACTIONS(778), + [aux_sym_preproc_include_token1] = ACTIONS(781), + [aux_sym_preproc_def_token1] = ACTIONS(781), + [aux_sym_preproc_if_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(781), + [sym_preproc_directive] = ACTIONS(781), + [anon_sym_LPAREN2] = ACTIONS(783), + [anon_sym_BANG] = ACTIONS(786), + [anon_sym_TILDE] = ACTIONS(786), + [anon_sym_DASH] = ACTIONS(789), + [anon_sym_PLUS] = ACTIONS(789), + [anon_sym_STAR] = ACTIONS(792), + [anon_sym_AMP] = ACTIONS(792), + [anon_sym_SEMI] = ACTIONS(917), + [anon_sym___extension__] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(923), + [anon_sym_extern] = ACTIONS(804), + [anon_sym___attribute__] = ACTIONS(807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(810), + [anon_sym___declspec] = ACTIONS(813), + [anon_sym___cdecl] = ACTIONS(781), + [anon_sym___clrcall] = ACTIONS(781), + [anon_sym___stdcall] = ACTIONS(781), + [anon_sym___fastcall] = ACTIONS(781), + [anon_sym___thiscall] = ACTIONS(781), + [anon_sym___vectorcall] = ACTIONS(781), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_signed] = ACTIONS(819), + [anon_sym_unsigned] = ACTIONS(819), + [anon_sym_long] = ACTIONS(819), + [anon_sym_short] = ACTIONS(819), + [anon_sym_static] = ACTIONS(804), + [anon_sym_auto] = ACTIONS(804), + [anon_sym_register] = ACTIONS(804), + [anon_sym_inline] = ACTIONS(804), + [anon_sym___inline] = ACTIONS(804), + [anon_sym___inline__] = ACTIONS(804), + [anon_sym___forceinline] = ACTIONS(804), + [anon_sym_thread_local] = ACTIONS(804), + [anon_sym___thread] = ACTIONS(804), + [anon_sym_const] = ACTIONS(822), + [anon_sym_constexpr] = ACTIONS(822), + [anon_sym_volatile] = ACTIONS(822), + [anon_sym_restrict] = ACTIONS(822), + [anon_sym___restrict__] = ACTIONS(822), + [anon_sym__Atomic] = ACTIONS(822), + [anon_sym__Noreturn] = ACTIONS(822), + [anon_sym_noreturn] = ACTIONS(822), + [anon_sym_alignas] = ACTIONS(825), + [anon_sym__Alignas] = ACTIONS(825), + [sym_primitive_type] = ACTIONS(828), + [anon_sym_enum] = ACTIONS(831), + [anon_sym_struct] = ACTIONS(834), + [anon_sym_union] = ACTIONS(837), + [anon_sym_if] = ACTIONS(929), + [anon_sym_else] = ACTIONS(781), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_case] = ACTIONS(781), + [anon_sym_default] = ACTIONS(781), + [anon_sym_while] = ACTIONS(935), + [anon_sym_do] = ACTIONS(938), + [anon_sym_for] = ACTIONS(941), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(947), + [anon_sym_continue] = ACTIONS(950), + [anon_sym_goto] = ACTIONS(953), + [anon_sym___try] = ACTIONS(956), + [anon_sym___leave] = ACTIONS(959), + [anon_sym_DASH_DASH] = ACTIONS(873), + [anon_sym_PLUS_PLUS] = ACTIONS(873), + [anon_sym_sizeof] = ACTIONS(876), + [anon_sym___alignof__] = ACTIONS(879), + [anon_sym___alignof] = ACTIONS(879), + [anon_sym__alignof] = ACTIONS(879), + [anon_sym_alignof] = ACTIONS(879), + [anon_sym__Alignof] = ACTIONS(879), + [anon_sym_offsetof] = ACTIONS(882), + [anon_sym__Generic] = ACTIONS(885), + [anon_sym_asm] = ACTIONS(888), + [anon_sym___asm__] = ACTIONS(888), + [sym__number_literal] = ACTIONS(891), + [anon_sym_L_SQUOTE] = ACTIONS(894), + [anon_sym_u_SQUOTE] = ACTIONS(894), + [anon_sym_U_SQUOTE] = ACTIONS(894), + [anon_sym_u8_SQUOTE] = ACTIONS(894), + [anon_sym_SQUOTE] = ACTIONS(894), + [anon_sym_L_DQUOTE] = ACTIONS(897), + [anon_sym_u_DQUOTE] = ACTIONS(897), + [anon_sym_U_DQUOTE] = ACTIONS(897), + [anon_sym_u8_DQUOTE] = ACTIONS(897), + [anon_sym_DQUOTE] = ACTIONS(897), + [sym_true] = ACTIONS(900), + [sym_false] = ACTIONS(900), + [anon_sym_NULL] = ACTIONS(903), + [anon_sym_nullptr] = ACTIONS(903), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(906), + }, + [51] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1172), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(56), + [sym_labeled_statement] = STATE(56), + [sym_expression_statement] = STATE(56), + [sym_if_statement] = STATE(56), + [sym_switch_statement] = STATE(56), + [sym_while_statement] = STATE(56), + [sym_do_statement] = STATE(56), + [sym_for_statement] = STATE(56), + [sym_return_statement] = STATE(56), + [sym_break_statement] = STATE(56), + [sym_continue_statement] = STATE(56), + [sym_goto_statement] = STATE(56), + [sym_seh_try_statement] = STATE(56), + [sym_seh_leave_statement] = STATE(56), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(410), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(913), + [aux_sym_preproc_def_token1] = ACTIONS(913), + [aux_sym_preproc_if_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token2] = ACTIONS(913), + [sym_preproc_directive] = ACTIONS(913), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(913), + [anon_sym___clrcall] = ACTIONS(913), + [anon_sym___stdcall] = ACTIONS(913), + [anon_sym___fastcall] = ACTIONS(913), + [anon_sym___thiscall] = ACTIONS(913), + [anon_sym___vectorcall] = ACTIONS(913), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(962), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_else] = ACTIONS(913), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(913), + [anon_sym_default] = ACTIONS(913), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [52] = { + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1166), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(53), + [sym_labeled_statement] = STATE(53), + [sym_expression_statement] = STATE(53), + [sym_if_statement] = STATE(53), + [sym_switch_statement] = STATE(53), + [sym_while_statement] = STATE(53), + [sym_do_statement] = STATE(53), + [sym_for_statement] = STATE(53), + [sym_return_statement] = STATE(53), + [sym_break_statement] = STATE(53), + [sym_continue_statement] = STATE(53), + [sym_goto_statement] = STATE(53), + [sym_seh_try_statement] = STATE(53), + [sym_seh_leave_statement] = STATE(53), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(403), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(53), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(776), + [aux_sym_preproc_def_token1] = ACTIONS(776), + [aux_sym_preproc_if_token1] = ACTIONS(776), + [aux_sym_preproc_if_token2] = ACTIONS(776), + [aux_sym_preproc_ifdef_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token2] = ACTIONS(776), + [sym_preproc_directive] = ACTIONS(776), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(776), + [anon_sym___clrcall] = ACTIONS(776), + [anon_sym___stdcall] = ACTIONS(776), + [anon_sym___fastcall] = ACTIONS(776), + [anon_sym___thiscall] = ACTIONS(776), + [anon_sym___vectorcall] = ACTIONS(776), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_else] = ACTIONS(776), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(776), + [anon_sym_default] = ACTIONS(776), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [53] = { + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1166), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(53), + [sym_labeled_statement] = STATE(53), + [sym_expression_statement] = STATE(53), + [sym_if_statement] = STATE(53), + [sym_switch_statement] = STATE(53), + [sym_while_statement] = STATE(53), + [sym_do_statement] = STATE(53), + [sym_for_statement] = STATE(53), + [sym_return_statement] = STATE(53), + [sym_break_statement] = STATE(53), + [sym_continue_statement] = STATE(53), + [sym_goto_statement] = STATE(53), + [sym_seh_try_statement] = STATE(53), + [sym_seh_leave_statement] = STATE(53), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(403), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(53), + [sym__identifier] = ACTIONS(778), + [aux_sym_preproc_include_token1] = ACTIONS(781), + [aux_sym_preproc_def_token1] = ACTIONS(781), + [aux_sym_preproc_if_token1] = ACTIONS(781), + [aux_sym_preproc_if_token2] = ACTIONS(781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(781), + [sym_preproc_directive] = ACTIONS(781), + [anon_sym_LPAREN2] = ACTIONS(783), + [anon_sym_BANG] = ACTIONS(786), + [anon_sym_TILDE] = ACTIONS(786), + [anon_sym_DASH] = ACTIONS(789), + [anon_sym_PLUS] = ACTIONS(789), + [anon_sym_STAR] = ACTIONS(792), + [anon_sym_AMP] = ACTIONS(792), + [anon_sym_SEMI] = ACTIONS(964), + [anon_sym___extension__] = ACTIONS(967), + [anon_sym_typedef] = ACTIONS(970), + [anon_sym_extern] = ACTIONS(804), + [anon_sym___attribute__] = ACTIONS(807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(810), + [anon_sym___declspec] = ACTIONS(813), + [anon_sym___cdecl] = ACTIONS(781), + [anon_sym___clrcall] = ACTIONS(781), + [anon_sym___stdcall] = ACTIONS(781), + [anon_sym___fastcall] = ACTIONS(781), + [anon_sym___thiscall] = ACTIONS(781), + [anon_sym___vectorcall] = ACTIONS(781), + [anon_sym_LBRACE] = ACTIONS(973), + [anon_sym_signed] = ACTIONS(819), + [anon_sym_unsigned] = ACTIONS(819), + [anon_sym_long] = ACTIONS(819), + [anon_sym_short] = ACTIONS(819), + [anon_sym_static] = ACTIONS(804), + [anon_sym_auto] = ACTIONS(804), + [anon_sym_register] = ACTIONS(804), + [anon_sym_inline] = ACTIONS(804), + [anon_sym___inline] = ACTIONS(804), + [anon_sym___inline__] = ACTIONS(804), + [anon_sym___forceinline] = ACTIONS(804), + [anon_sym_thread_local] = ACTIONS(804), + [anon_sym___thread] = ACTIONS(804), + [anon_sym_const] = ACTIONS(822), + [anon_sym_constexpr] = ACTIONS(822), + [anon_sym_volatile] = ACTIONS(822), + [anon_sym_restrict] = ACTIONS(822), + [anon_sym___restrict__] = ACTIONS(822), + [anon_sym__Atomic] = ACTIONS(822), + [anon_sym__Noreturn] = ACTIONS(822), + [anon_sym_noreturn] = ACTIONS(822), + [anon_sym_alignas] = ACTIONS(825), + [anon_sym__Alignas] = ACTIONS(825), + [sym_primitive_type] = ACTIONS(828), + [anon_sym_enum] = ACTIONS(831), + [anon_sym_struct] = ACTIONS(834), + [anon_sym_union] = ACTIONS(837), + [anon_sym_if] = ACTIONS(976), + [anon_sym_else] = ACTIONS(781), + [anon_sym_switch] = ACTIONS(979), + [anon_sym_case] = ACTIONS(781), + [anon_sym_default] = ACTIONS(781), + [anon_sym_while] = ACTIONS(982), + [anon_sym_do] = ACTIONS(985), + [anon_sym_for] = ACTIONS(988), + [anon_sym_return] = ACTIONS(991), + [anon_sym_break] = ACTIONS(994), + [anon_sym_continue] = ACTIONS(997), + [anon_sym_goto] = ACTIONS(1000), + [anon_sym___try] = ACTIONS(1003), + [anon_sym___leave] = ACTIONS(1006), + [anon_sym_DASH_DASH] = ACTIONS(873), + [anon_sym_PLUS_PLUS] = ACTIONS(873), + [anon_sym_sizeof] = ACTIONS(876), + [anon_sym___alignof__] = ACTIONS(879), + [anon_sym___alignof] = ACTIONS(879), + [anon_sym__alignof] = ACTIONS(879), + [anon_sym_alignof] = ACTIONS(879), + [anon_sym__Alignof] = ACTIONS(879), + [anon_sym_offsetof] = ACTIONS(882), + [anon_sym__Generic] = ACTIONS(885), + [anon_sym_asm] = ACTIONS(888), + [anon_sym___asm__] = ACTIONS(888), + [sym__number_literal] = ACTIONS(891), + [anon_sym_L_SQUOTE] = ACTIONS(894), + [anon_sym_u_SQUOTE] = ACTIONS(894), + [anon_sym_U_SQUOTE] = ACTIONS(894), + [anon_sym_u8_SQUOTE] = ACTIONS(894), + [anon_sym_SQUOTE] = ACTIONS(894), + [anon_sym_L_DQUOTE] = ACTIONS(897), + [anon_sym_u_DQUOTE] = ACTIONS(897), + [anon_sym_U_DQUOTE] = ACTIONS(897), + [anon_sym_u8_DQUOTE] = ACTIONS(897), + [anon_sym_DQUOTE] = ACTIONS(897), + [sym_true] = ACTIONS(900), + [sym_false] = ACTIONS(900), + [anon_sym_NULL] = ACTIONS(903), + [anon_sym_nullptr] = ACTIONS(903), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(906), + }, + [54] = { + [sym_declaration] = STATE(59), + [sym_type_definition] = STATE(59), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(59), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(59), + [sym_labeled_statement] = STATE(59), + [sym_expression_statement] = STATE(59), + [sym_if_statement] = STATE(59), + [sym_switch_statement] = STATE(59), + [sym_while_statement] = STATE(59), + [sym_do_statement] = STATE(59), + [sym_for_statement] = STATE(59), + [sym_return_statement] = STATE(59), + [sym_break_statement] = STATE(59), + [sym_continue_statement] = STATE(59), + [sym_goto_statement] = STATE(59), + [sym_seh_try_statement] = STATE(59), + [sym_seh_leave_statement] = STATE(59), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(408), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(59), + [ts_builtin_sym_end] = ACTIONS(1009), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(909), + [aux_sym_preproc_def_token1] = ACTIONS(909), + [aux_sym_preproc_if_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(909), + [sym_preproc_directive] = ACTIONS(909), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(909), + [anon_sym___clrcall] = ACTIONS(909), + [anon_sym___stdcall] = ACTIONS(909), + [anon_sym___fastcall] = ACTIONS(909), + [anon_sym___thiscall] = ACTIONS(909), + [anon_sym___vectorcall] = ACTIONS(909), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_else] = ACTIONS(909), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(909), + [anon_sym_default] = ACTIONS(909), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [55] = { + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1166), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(64), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(64), + [sym_labeled_statement] = STATE(64), + [sym_expression_statement] = STATE(64), + [sym_if_statement] = STATE(64), + [sym_switch_statement] = STATE(64), + [sym_while_statement] = STATE(64), + [sym_do_statement] = STATE(64), + [sym_for_statement] = STATE(64), + [sym_return_statement] = STATE(64), + [sym_break_statement] = STATE(64), + [sym_continue_statement] = STATE(64), + [sym_goto_statement] = STATE(64), + [sym_seh_try_statement] = STATE(64), + [sym_seh_leave_statement] = STATE(64), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(403), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(64), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(909), + [aux_sym_preproc_def_token1] = ACTIONS(909), + [aux_sym_preproc_if_token1] = ACTIONS(909), + [aux_sym_preproc_if_token2] = ACTIONS(909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(909), + [sym_preproc_directive] = ACTIONS(909), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(909), + [anon_sym___clrcall] = ACTIONS(909), + [anon_sym___stdcall] = ACTIONS(909), + [anon_sym___fastcall] = ACTIONS(909), + [anon_sym___thiscall] = ACTIONS(909), + [anon_sym___vectorcall] = ACTIONS(909), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_else] = ACTIONS(909), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(909), + [anon_sym_default] = ACTIONS(909), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [56] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1172), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(61), + [sym_labeled_statement] = STATE(61), + [sym_expression_statement] = STATE(61), + [sym_if_statement] = STATE(61), + [sym_switch_statement] = STATE(61), + [sym_while_statement] = STATE(61), + [sym_do_statement] = STATE(61), + [sym_for_statement] = STATE(61), + [sym_return_statement] = STATE(61), + [sym_break_statement] = STATE(61), + [sym_continue_statement] = STATE(61), + [sym_goto_statement] = STATE(61), + [sym_seh_try_statement] = STATE(61), + [sym_seh_leave_statement] = STATE(61), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(410), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(776), + [aux_sym_preproc_def_token1] = ACTIONS(776), + [aux_sym_preproc_if_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token2] = ACTIONS(776), + [sym_preproc_directive] = ACTIONS(776), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(776), + [anon_sym___clrcall] = ACTIONS(776), + [anon_sym___stdcall] = ACTIONS(776), + [anon_sym___fastcall] = ACTIONS(776), + [anon_sym___thiscall] = ACTIONS(776), + [anon_sym___vectorcall] = ACTIONS(776), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(1017), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_else] = ACTIONS(776), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(776), + [anon_sym_default] = ACTIONS(776), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [57] = { + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(63), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(63), + [sym_labeled_statement] = STATE(63), + [sym_expression_statement] = STATE(63), + [sym_if_statement] = STATE(63), + [sym_switch_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_do_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_return_statement] = STATE(63), + [sym_break_statement] = STATE(63), + [sym_continue_statement] = STATE(63), + [sym_goto_statement] = STATE(63), + [sym_seh_try_statement] = STATE(63), + [sym_seh_leave_statement] = STATE(63), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(408), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(63), + [ts_builtin_sym_end] = ACTIONS(962), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(913), + [aux_sym_preproc_def_token1] = ACTIONS(913), + [aux_sym_preproc_if_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token2] = ACTIONS(913), + [sym_preproc_directive] = ACTIONS(913), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(913), + [anon_sym___clrcall] = ACTIONS(913), + [anon_sym___stdcall] = ACTIONS(913), + [anon_sym___fastcall] = ACTIONS(913), + [anon_sym___thiscall] = ACTIONS(913), + [anon_sym___vectorcall] = ACTIONS(913), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_else] = ACTIONS(913), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(913), + [anon_sym_default] = ACTIONS(913), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [58] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1172), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(61), + [sym_labeled_statement] = STATE(61), + [sym_expression_statement] = STATE(61), + [sym_if_statement] = STATE(61), + [sym_switch_statement] = STATE(61), + [sym_while_statement] = STATE(61), + [sym_do_statement] = STATE(61), + [sym_for_statement] = STATE(61), + [sym_return_statement] = STATE(61), + [sym_break_statement] = STATE(61), + [sym_continue_statement] = STATE(61), + [sym_goto_statement] = STATE(61), + [sym_seh_try_statement] = STATE(61), + [sym_seh_leave_statement] = STATE(61), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(410), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(911), + [aux_sym_preproc_def_token1] = ACTIONS(911), + [aux_sym_preproc_if_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token2] = ACTIONS(911), + [sym_preproc_directive] = ACTIONS(911), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(911), + [anon_sym___clrcall] = ACTIONS(911), + [anon_sym___stdcall] = ACTIONS(911), + [anon_sym___fastcall] = ACTIONS(911), + [anon_sym___thiscall] = ACTIONS(911), + [anon_sym___vectorcall] = ACTIONS(911), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(1019), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_else] = ACTIONS(911), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(911), + [anon_sym_default] = ACTIONS(911), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [59] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym_seh_try_statement] = STATE(50), + [sym_seh_leave_statement] = STATE(50), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(408), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(1019), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(911), + [aux_sym_preproc_def_token1] = ACTIONS(911), + [aux_sym_preproc_if_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token2] = ACTIONS(911), + [sym_preproc_directive] = ACTIONS(911), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(911), + [anon_sym___clrcall] = ACTIONS(911), + [anon_sym___stdcall] = ACTIONS(911), + [anon_sym___fastcall] = ACTIONS(911), + [anon_sym___thiscall] = ACTIONS(911), + [anon_sym___vectorcall] = ACTIONS(911), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_else] = ACTIONS(911), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(911), + [anon_sym_default] = ACTIONS(911), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [60] = { + [sym_declaration] = STATE(52), + [sym_type_definition] = STATE(52), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1166), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(52), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(52), + [sym_labeled_statement] = STATE(52), + [sym_expression_statement] = STATE(52), + [sym_if_statement] = STATE(52), + [sym_switch_statement] = STATE(52), + [sym_while_statement] = STATE(52), + [sym_do_statement] = STATE(52), + [sym_for_statement] = STATE(52), + [sym_return_statement] = STATE(52), + [sym_break_statement] = STATE(52), + [sym_continue_statement] = STATE(52), + [sym_goto_statement] = STATE(52), + [sym_seh_try_statement] = STATE(52), + [sym_seh_leave_statement] = STATE(52), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(403), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(52), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(913), + [aux_sym_preproc_def_token1] = ACTIONS(913), + [aux_sym_preproc_if_token1] = ACTIONS(913), + [aux_sym_preproc_if_token2] = ACTIONS(913), + [aux_sym_preproc_ifdef_token1] = ACTIONS(913), + [aux_sym_preproc_ifdef_token2] = ACTIONS(913), + [sym_preproc_directive] = ACTIONS(913), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(913), + [anon_sym___clrcall] = ACTIONS(913), + [anon_sym___stdcall] = ACTIONS(913), + [anon_sym___fastcall] = ACTIONS(913), + [anon_sym___thiscall] = ACTIONS(913), + [anon_sym___vectorcall] = ACTIONS(913), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_else] = ACTIONS(913), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(913), + [anon_sym_default] = ACTIONS(913), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [61] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1172), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(61), + [sym_labeled_statement] = STATE(61), + [sym_expression_statement] = STATE(61), + [sym_if_statement] = STATE(61), + [sym_switch_statement] = STATE(61), + [sym_while_statement] = STATE(61), + [sym_do_statement] = STATE(61), + [sym_for_statement] = STATE(61), + [sym_return_statement] = STATE(61), + [sym_break_statement] = STATE(61), + [sym_continue_statement] = STATE(61), + [sym_goto_statement] = STATE(61), + [sym_seh_try_statement] = STATE(61), + [sym_seh_leave_statement] = STATE(61), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(410), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym__identifier] = ACTIONS(778), + [aux_sym_preproc_include_token1] = ACTIONS(781), + [aux_sym_preproc_def_token1] = ACTIONS(781), + [aux_sym_preproc_if_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(781), + [sym_preproc_directive] = ACTIONS(781), + [anon_sym_LPAREN2] = ACTIONS(783), + [anon_sym_BANG] = ACTIONS(786), + [anon_sym_TILDE] = ACTIONS(786), + [anon_sym_DASH] = ACTIONS(789), + [anon_sym_PLUS] = ACTIONS(789), + [anon_sym_STAR] = ACTIONS(792), + [anon_sym_AMP] = ACTIONS(792), + [anon_sym_SEMI] = ACTIONS(1021), + [anon_sym___extension__] = ACTIONS(1024), + [anon_sym_typedef] = ACTIONS(1027), + [anon_sym_extern] = ACTIONS(804), + [anon_sym___attribute__] = ACTIONS(807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(810), + [anon_sym___declspec] = ACTIONS(813), + [anon_sym___cdecl] = ACTIONS(781), + [anon_sym___clrcall] = ACTIONS(781), + [anon_sym___stdcall] = ACTIONS(781), + [anon_sym___fastcall] = ACTIONS(781), + [anon_sym___thiscall] = ACTIONS(781), + [anon_sym___vectorcall] = ACTIONS(781), + [anon_sym_LBRACE] = ACTIONS(1030), + [anon_sym_RBRACE] = ACTIONS(915), + [anon_sym_signed] = ACTIONS(819), + [anon_sym_unsigned] = ACTIONS(819), + [anon_sym_long] = ACTIONS(819), + [anon_sym_short] = ACTIONS(819), + [anon_sym_static] = ACTIONS(804), + [anon_sym_auto] = ACTIONS(804), + [anon_sym_register] = ACTIONS(804), + [anon_sym_inline] = ACTIONS(804), + [anon_sym___inline] = ACTIONS(804), + [anon_sym___inline__] = ACTIONS(804), + [anon_sym___forceinline] = ACTIONS(804), + [anon_sym_thread_local] = ACTIONS(804), + [anon_sym___thread] = ACTIONS(804), + [anon_sym_const] = ACTIONS(822), + [anon_sym_constexpr] = ACTIONS(822), + [anon_sym_volatile] = ACTIONS(822), + [anon_sym_restrict] = ACTIONS(822), + [anon_sym___restrict__] = ACTIONS(822), + [anon_sym__Atomic] = ACTIONS(822), + [anon_sym__Noreturn] = ACTIONS(822), + [anon_sym_noreturn] = ACTIONS(822), + [anon_sym_alignas] = ACTIONS(825), + [anon_sym__Alignas] = ACTIONS(825), + [sym_primitive_type] = ACTIONS(828), + [anon_sym_enum] = ACTIONS(831), + [anon_sym_struct] = ACTIONS(834), + [anon_sym_union] = ACTIONS(837), + [anon_sym_if] = ACTIONS(1033), + [anon_sym_else] = ACTIONS(781), + [anon_sym_switch] = ACTIONS(1036), + [anon_sym_case] = ACTIONS(781), + [anon_sym_default] = ACTIONS(781), + [anon_sym_while] = ACTIONS(1039), + [anon_sym_do] = ACTIONS(1042), + [anon_sym_for] = ACTIONS(1045), + [anon_sym_return] = ACTIONS(1048), + [anon_sym_break] = ACTIONS(1051), + [anon_sym_continue] = ACTIONS(1054), + [anon_sym_goto] = ACTIONS(1057), + [anon_sym___try] = ACTIONS(1060), + [anon_sym___leave] = ACTIONS(1063), + [anon_sym_DASH_DASH] = ACTIONS(873), + [anon_sym_PLUS_PLUS] = ACTIONS(873), + [anon_sym_sizeof] = ACTIONS(876), + [anon_sym___alignof__] = ACTIONS(879), + [anon_sym___alignof] = ACTIONS(879), + [anon_sym__alignof] = ACTIONS(879), + [anon_sym_alignof] = ACTIONS(879), + [anon_sym__Alignof] = ACTIONS(879), + [anon_sym_offsetof] = ACTIONS(882), + [anon_sym__Generic] = ACTIONS(885), + [anon_sym_asm] = ACTIONS(888), + [anon_sym___asm__] = ACTIONS(888), + [sym__number_literal] = ACTIONS(891), + [anon_sym_L_SQUOTE] = ACTIONS(894), + [anon_sym_u_SQUOTE] = ACTIONS(894), + [anon_sym_U_SQUOTE] = ACTIONS(894), + [anon_sym_u8_SQUOTE] = ACTIONS(894), + [anon_sym_SQUOTE] = ACTIONS(894), + [anon_sym_L_DQUOTE] = ACTIONS(897), + [anon_sym_u_DQUOTE] = ACTIONS(897), + [anon_sym_U_DQUOTE] = ACTIONS(897), + [anon_sym_u8_DQUOTE] = ACTIONS(897), + [anon_sym_DQUOTE] = ACTIONS(897), + [sym_true] = ACTIONS(900), + [sym_false] = ACTIONS(900), + [anon_sym_NULL] = ACTIONS(903), + [anon_sym_nullptr] = ACTIONS(903), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(906), + }, + [62] = { + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1172), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(58), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(58), + [sym_labeled_statement] = STATE(58), + [sym_expression_statement] = STATE(58), + [sym_if_statement] = STATE(58), + [sym_switch_statement] = STATE(58), + [sym_while_statement] = STATE(58), + [sym_do_statement] = STATE(58), + [sym_for_statement] = STATE(58), + [sym_return_statement] = STATE(58), + [sym_break_statement] = STATE(58), + [sym_continue_statement] = STATE(58), + [sym_goto_statement] = STATE(58), + [sym_seh_try_statement] = STATE(58), + [sym_seh_leave_statement] = STATE(58), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(410), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(58), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(909), + [aux_sym_preproc_def_token1] = ACTIONS(909), + [aux_sym_preproc_if_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(909), + [sym_preproc_directive] = ACTIONS(909), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(369), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(909), + [anon_sym___clrcall] = ACTIONS(909), + [anon_sym___stdcall] = ACTIONS(909), + [anon_sym___fastcall] = ACTIONS(909), + [anon_sym___thiscall] = ACTIONS(909), + [anon_sym___vectorcall] = ACTIONS(909), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_RBRACE] = ACTIONS(1009), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(379), + [anon_sym_else] = ACTIONS(909), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(909), + [anon_sym_default] = ACTIONS(909), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [63] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym_seh_try_statement] = STATE(50), + [sym_seh_leave_statement] = STATE(50), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(408), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(1017), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(776), + [aux_sym_preproc_def_token1] = ACTIONS(776), + [aux_sym_preproc_if_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token1] = ACTIONS(776), + [aux_sym_preproc_ifdef_token2] = ACTIONS(776), + [sym_preproc_directive] = ACTIONS(776), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(776), + [anon_sym___clrcall] = ACTIONS(776), + [anon_sym___stdcall] = ACTIONS(776), + [anon_sym___fastcall] = ACTIONS(776), + [anon_sym___thiscall] = ACTIONS(776), + [anon_sym___vectorcall] = ACTIONS(776), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(59), + [anon_sym_else] = ACTIONS(776), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(776), + [anon_sym_default] = ACTIONS(776), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [64] = { + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1166), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(53), + [sym_labeled_statement] = STATE(53), + [sym_expression_statement] = STATE(53), + [sym_if_statement] = STATE(53), + [sym_switch_statement] = STATE(53), + [sym_while_statement] = STATE(53), + [sym_do_statement] = STATE(53), + [sym_for_statement] = STATE(53), + [sym_return_statement] = STATE(53), + [sym_break_statement] = STATE(53), + [sym_continue_statement] = STATE(53), + [sym_goto_statement] = STATE(53), + [sym_seh_try_statement] = STATE(53), + [sym_seh_leave_statement] = STATE(53), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(403), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(53), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(911), + [aux_sym_preproc_def_token1] = ACTIONS(911), + [aux_sym_preproc_if_token1] = ACTIONS(911), + [aux_sym_preproc_if_token2] = ACTIONS(911), + [aux_sym_preproc_ifdef_token1] = ACTIONS(911), + [aux_sym_preproc_ifdef_token2] = ACTIONS(911), + [sym_preproc_directive] = ACTIONS(911), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym___extension__] = ACTIONS(421), + [anon_sym_typedef] = ACTIONS(423), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(911), + [anon_sym___clrcall] = ACTIONS(911), + [anon_sym___stdcall] = ACTIONS(911), + [anon_sym___fastcall] = ACTIONS(911), + [anon_sym___thiscall] = ACTIONS(911), + [anon_sym___vectorcall] = ACTIONS(911), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(429), + [anon_sym_else] = ACTIONS(911), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(911), + [anon_sym_default] = ACTIONS(911), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [65] = { + [sym_declaration] = STATE(66), + [sym_type_definition] = STATE(66), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(66), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(66), + [sym_labeled_statement] = STATE(66), + [sym_expression_statement] = STATE(66), + [sym_if_statement] = STATE(66), + [sym_switch_statement] = STATE(66), + [sym_while_statement] = STATE(66), + [sym_do_statement] = STATE(66), + [sym_for_statement] = STATE(66), + [sym_return_statement] = STATE(66), + [sym_break_statement] = STATE(66), + [sym_continue_statement] = STATE(66), + [sym_goto_statement] = STATE(66), + [sym_seh_try_statement] = STATE(66), + [sym_seh_leave_statement] = STATE(66), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(405), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(66), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_else] = ACTIONS(776), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [66] = { + [sym_declaration] = STATE(66), + [sym_type_definition] = STATE(66), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(66), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(66), + [sym_labeled_statement] = STATE(66), + [sym_expression_statement] = STATE(66), + [sym_if_statement] = STATE(66), + [sym_switch_statement] = STATE(66), + [sym_while_statement] = STATE(66), + [sym_do_statement] = STATE(66), + [sym_for_statement] = STATE(66), + [sym_return_statement] = STATE(66), + [sym_break_statement] = STATE(66), + [sym_continue_statement] = STATE(66), + [sym_goto_statement] = STATE(66), + [sym_seh_try_statement] = STATE(66), + [sym_seh_leave_statement] = STATE(66), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(405), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(66), + [sym__identifier] = ACTIONS(778), + [anon_sym_LPAREN2] = ACTIONS(783), + [anon_sym_BANG] = ACTIONS(786), + [anon_sym_TILDE] = ACTIONS(786), + [anon_sym_DASH] = ACTIONS(789), + [anon_sym_PLUS] = ACTIONS(789), + [anon_sym_STAR] = ACTIONS(792), + [anon_sym_AMP] = ACTIONS(792), + [anon_sym_SEMI] = ACTIONS(1021), + [anon_sym___extension__] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(923), + [anon_sym_extern] = ACTIONS(804), + [anon_sym___attribute__] = ACTIONS(807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(810), + [anon_sym___declspec] = ACTIONS(813), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_signed] = ACTIONS(819), + [anon_sym_unsigned] = ACTIONS(819), + [anon_sym_long] = ACTIONS(819), + [anon_sym_short] = ACTIONS(819), + [anon_sym_static] = ACTIONS(804), + [anon_sym_auto] = ACTIONS(804), + [anon_sym_register] = ACTIONS(804), + [anon_sym_inline] = ACTIONS(804), + [anon_sym___inline] = ACTIONS(804), + [anon_sym___inline__] = ACTIONS(804), + [anon_sym___forceinline] = ACTIONS(804), + [anon_sym_thread_local] = ACTIONS(804), + [anon_sym___thread] = ACTIONS(804), + [anon_sym_const] = ACTIONS(822), + [anon_sym_constexpr] = ACTIONS(822), + [anon_sym_volatile] = ACTIONS(822), + [anon_sym_restrict] = ACTIONS(822), + [anon_sym___restrict__] = ACTIONS(822), + [anon_sym__Atomic] = ACTIONS(822), + [anon_sym__Noreturn] = ACTIONS(822), + [anon_sym_noreturn] = ACTIONS(822), + [anon_sym_alignas] = ACTIONS(825), + [anon_sym__Alignas] = ACTIONS(825), + [sym_primitive_type] = ACTIONS(828), + [anon_sym_enum] = ACTIONS(831), + [anon_sym_struct] = ACTIONS(834), + [anon_sym_union] = ACTIONS(837), + [anon_sym_if] = ACTIONS(1074), + [anon_sym_else] = ACTIONS(781), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_while] = ACTIONS(1077), + [anon_sym_do] = ACTIONS(938), + [anon_sym_for] = ACTIONS(1080), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(947), + [anon_sym_continue] = ACTIONS(950), + [anon_sym_goto] = ACTIONS(953), + [anon_sym___try] = ACTIONS(1083), + [anon_sym___leave] = ACTIONS(1063), + [anon_sym_DASH_DASH] = ACTIONS(873), + [anon_sym_PLUS_PLUS] = ACTIONS(873), + [anon_sym_sizeof] = ACTIONS(876), + [anon_sym___alignof__] = ACTIONS(879), + [anon_sym___alignof] = ACTIONS(879), + [anon_sym__alignof] = ACTIONS(879), + [anon_sym_alignof] = ACTIONS(879), + [anon_sym__Alignof] = ACTIONS(879), + [anon_sym_offsetof] = ACTIONS(882), + [anon_sym__Generic] = ACTIONS(885), + [anon_sym_asm] = ACTIONS(888), + [anon_sym___asm__] = ACTIONS(888), + [sym__number_literal] = ACTIONS(891), + [anon_sym_L_SQUOTE] = ACTIONS(894), + [anon_sym_u_SQUOTE] = ACTIONS(894), + [anon_sym_U_SQUOTE] = ACTIONS(894), + [anon_sym_u8_SQUOTE] = ACTIONS(894), + [anon_sym_SQUOTE] = ACTIONS(894), + [anon_sym_L_DQUOTE] = ACTIONS(897), + [anon_sym_u_DQUOTE] = ACTIONS(897), + [anon_sym_U_DQUOTE] = ACTIONS(897), + [anon_sym_u8_DQUOTE] = ACTIONS(897), + [anon_sym_DQUOTE] = ACTIONS(897), + [sym_true] = ACTIONS(900), + [sym_false] = ACTIONS(900), + [anon_sym_NULL] = ACTIONS(903), + [anon_sym_nullptr] = ACTIONS(903), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(906), + }, + [67] = { + [sym_declaration] = STATE(66), + [sym_type_definition] = STATE(66), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(66), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(66), + [sym_labeled_statement] = STATE(66), + [sym_expression_statement] = STATE(66), + [sym_if_statement] = STATE(66), + [sym_switch_statement] = STATE(66), + [sym_while_statement] = STATE(66), + [sym_do_statement] = STATE(66), + [sym_for_statement] = STATE(66), + [sym_return_statement] = STATE(66), + [sym_break_statement] = STATE(66), + [sym_continue_statement] = STATE(66), + [sym_goto_statement] = STATE(66), + [sym_seh_try_statement] = STATE(66), + [sym_seh_leave_statement] = STATE(66), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(405), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(66), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_else] = ACTIONS(911), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [68] = { + [sym_declaration] = STATE(65), + [sym_type_definition] = STATE(65), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(65), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(65), + [sym_labeled_statement] = STATE(65), + [sym_expression_statement] = STATE(65), + [sym_if_statement] = STATE(65), + [sym_switch_statement] = STATE(65), + [sym_while_statement] = STATE(65), + [sym_do_statement] = STATE(65), + [sym_for_statement] = STATE(65), + [sym_return_statement] = STATE(65), + [sym_break_statement] = STATE(65), + [sym_continue_statement] = STATE(65), + [sym_goto_statement] = STATE(65), + [sym_seh_try_statement] = STATE(65), + [sym_seh_leave_statement] = STATE(65), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(405), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(65), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_else] = ACTIONS(913), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [69] = { + [sym_declaration] = STATE(67), + [sym_type_definition] = STATE(67), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1168), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(413), + [sym_ms_declspec_modifier] = STATE(699), + [sym_compound_statement] = STATE(67), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_attributed_statement] = STATE(67), + [sym_labeled_statement] = STATE(67), + [sym_expression_statement] = STATE(67), + [sym_if_statement] = STATE(67), + [sym_switch_statement] = STATE(67), + [sym_while_statement] = STATE(67), + [sym_do_statement] = STATE(67), + [sym_for_statement] = STATE(67), + [sym_return_statement] = STATE(67), + [sym_break_statement] = STATE(67), + [sym_continue_statement] = STATE(67), + [sym_goto_statement] = STATE(67), + [sym_seh_try_statement] = STATE(67), + [sym_seh_leave_statement] = STATE(67), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(405), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [aux_sym_case_statement_repeat1] = STATE(67), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym___extension__] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_else] = ACTIONS(909), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [70] = { + [sym_declaration] = STATE(484), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1171), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__for_statement_body] = STATE(1928), + [sym_expression] = STATE(1040), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1962), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(414), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [71] = { + [sym_declaration] = STATE(484), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1171), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__for_statement_body] = STATE(1864), + [sym_expression] = STATE(1040), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1962), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(414), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [72] = { + [sym_declaration] = STATE(484), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1171), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__for_statement_body] = STATE(1984), + [sym_expression] = STATE(1040), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1962), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(414), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [73] = { + [sym_declaration] = STATE(484), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1171), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__for_statement_body] = STATE(1897), + [sym_expression] = STATE(1040), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1962), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(414), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [74] = { + [sym_declaration] = STATE(484), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1171), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__for_statement_body] = STATE(1961), + [sym_expression] = STATE(1040), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1962), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(414), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(103), + }, + [75] = { + [sym__identifier] = ACTIONS(1090), + [aux_sym_preproc_include_token1] = ACTIONS(1090), + [aux_sym_preproc_def_token1] = ACTIONS(1090), + [anon_sym_COMMA] = ACTIONS(1092), + [aux_sym_preproc_if_token1] = ACTIONS(1090), + [aux_sym_preproc_if_token2] = ACTIONS(1090), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1090), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1090), + [aux_sym_preproc_else_token1] = ACTIONS(1090), + [aux_sym_preproc_elif_token1] = ACTIONS(1090), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1090), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1090), + [sym_preproc_directive] = ACTIONS(1090), + [anon_sym_LPAREN2] = ACTIONS(1092), + [anon_sym_BANG] = ACTIONS(1092), + [anon_sym_TILDE] = ACTIONS(1092), + [anon_sym_DASH] = ACTIONS(1090), + [anon_sym_PLUS] = ACTIONS(1090), + [anon_sym_STAR] = ACTIONS(1092), + [anon_sym_AMP] = ACTIONS(1092), + [anon_sym_SEMI] = ACTIONS(1092), + [anon_sym___extension__] = ACTIONS(1090), + [anon_sym_typedef] = ACTIONS(1090), + [anon_sym_extern] = ACTIONS(1090), + [anon_sym___attribute__] = ACTIONS(1090), + [anon_sym_COLON_COLON] = ACTIONS(1092), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1092), + [anon_sym_RBRACK_RBRACK] = ACTIONS(1092), + [anon_sym___declspec] = ACTIONS(1090), + [anon_sym___cdecl] = ACTIONS(1090), + [anon_sym___clrcall] = ACTIONS(1090), + [anon_sym___stdcall] = ACTIONS(1090), + [anon_sym___fastcall] = ACTIONS(1090), + [anon_sym___thiscall] = ACTIONS(1090), + [anon_sym___vectorcall] = ACTIONS(1090), + [anon_sym_LBRACE] = ACTIONS(1092), + [anon_sym_signed] = ACTIONS(1090), + [anon_sym_unsigned] = ACTIONS(1090), + [anon_sym_long] = ACTIONS(1090), + [anon_sym_short] = ACTIONS(1090), + [anon_sym_static] = ACTIONS(1090), + [anon_sym_auto] = ACTIONS(1090), + [anon_sym_register] = ACTIONS(1090), + [anon_sym_inline] = ACTIONS(1090), + [anon_sym___inline] = ACTIONS(1090), + [anon_sym___inline__] = ACTIONS(1090), + [anon_sym___forceinline] = ACTIONS(1090), + [anon_sym_thread_local] = ACTIONS(1090), + [anon_sym___thread] = ACTIONS(1090), + [anon_sym_const] = ACTIONS(1090), + [anon_sym_constexpr] = ACTIONS(1090), + [anon_sym_volatile] = ACTIONS(1090), + [anon_sym_restrict] = ACTIONS(1090), + [anon_sym___restrict__] = ACTIONS(1090), + [anon_sym__Atomic] = ACTIONS(1090), + [anon_sym__Noreturn] = ACTIONS(1090), + [anon_sym_noreturn] = ACTIONS(1090), + [anon_sym_alignas] = ACTIONS(1090), + [anon_sym__Alignas] = ACTIONS(1090), + [sym_primitive_type] = ACTIONS(1090), + [anon_sym_enum] = ACTIONS(1090), + [anon_sym_struct] = ACTIONS(1090), + [anon_sym_union] = ACTIONS(1090), + [anon_sym_if] = ACTIONS(1090), + [anon_sym_switch] = ACTIONS(1090), + [anon_sym_case] = ACTIONS(1090), + [anon_sym_default] = ACTIONS(1090), + [anon_sym_while] = ACTIONS(1090), + [anon_sym_do] = ACTIONS(1090), + [anon_sym_for] = ACTIONS(1090), + [anon_sym_return] = ACTIONS(1090), + [anon_sym_break] = ACTIONS(1090), + [anon_sym_continue] = ACTIONS(1090), + [anon_sym_goto] = ACTIONS(1090), + [anon_sym___try] = ACTIONS(1090), + [anon_sym___leave] = ACTIONS(1090), + [anon_sym_DASH_DASH] = ACTIONS(1092), + [anon_sym_PLUS_PLUS] = ACTIONS(1092), + [anon_sym_sizeof] = ACTIONS(1090), + [anon_sym___alignof__] = ACTIONS(1090), + [anon_sym___alignof] = ACTIONS(1090), + [anon_sym__alignof] = ACTIONS(1090), + [anon_sym_alignof] = ACTIONS(1090), + [anon_sym__Alignof] = ACTIONS(1090), + [anon_sym_offsetof] = ACTIONS(1090), + [anon_sym__Generic] = ACTIONS(1090), + [anon_sym_asm] = ACTIONS(1090), + [anon_sym___asm__] = ACTIONS(1090), + [sym__number_literal] = ACTIONS(1092), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1092), + [anon_sym_u_DQUOTE] = ACTIONS(1092), + [anon_sym_U_DQUOTE] = ACTIONS(1092), + [anon_sym_u8_DQUOTE] = ACTIONS(1092), + [anon_sym_DQUOTE] = ACTIONS(1092), + [sym_true] = ACTIONS(1090), + [sym_false] = ACTIONS(1090), + [anon_sym_NULL] = ACTIONS(1090), + [anon_sym_nullptr] = ACTIONS(1090), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1092), + }, + [76] = { + [sym_else_clause] = STATE(113), + [sym__identifier] = ACTIONS(1094), + [aux_sym_preproc_include_token1] = ACTIONS(1094), + [aux_sym_preproc_def_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token2] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1094), + [aux_sym_preproc_else_token1] = ACTIONS(1094), + [aux_sym_preproc_elif_token1] = ACTIONS(1094), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1094), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1094), + [sym_preproc_directive] = ACTIONS(1094), + [anon_sym_LPAREN2] = ACTIONS(1096), + [anon_sym_BANG] = ACTIONS(1096), + [anon_sym_TILDE] = ACTIONS(1096), + [anon_sym_DASH] = ACTIONS(1094), + [anon_sym_PLUS] = ACTIONS(1094), + [anon_sym_STAR] = ACTIONS(1096), + [anon_sym_AMP] = ACTIONS(1096), + [anon_sym_SEMI] = ACTIONS(1096), + [anon_sym___extension__] = ACTIONS(1094), + [anon_sym_typedef] = ACTIONS(1094), + [anon_sym_extern] = ACTIONS(1094), + [anon_sym___attribute__] = ACTIONS(1094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1096), + [anon_sym___declspec] = ACTIONS(1094), + [anon_sym___cdecl] = ACTIONS(1094), + [anon_sym___clrcall] = ACTIONS(1094), + [anon_sym___stdcall] = ACTIONS(1094), + [anon_sym___fastcall] = ACTIONS(1094), + [anon_sym___thiscall] = ACTIONS(1094), + [anon_sym___vectorcall] = ACTIONS(1094), + [anon_sym_LBRACE] = ACTIONS(1096), + [anon_sym_signed] = ACTIONS(1094), + [anon_sym_unsigned] = ACTIONS(1094), + [anon_sym_long] = ACTIONS(1094), + [anon_sym_short] = ACTIONS(1094), + [anon_sym_static] = ACTIONS(1094), + [anon_sym_auto] = ACTIONS(1094), + [anon_sym_register] = ACTIONS(1094), + [anon_sym_inline] = ACTIONS(1094), + [anon_sym___inline] = ACTIONS(1094), + [anon_sym___inline__] = ACTIONS(1094), + [anon_sym___forceinline] = ACTIONS(1094), + [anon_sym_thread_local] = ACTIONS(1094), + [anon_sym___thread] = ACTIONS(1094), + [anon_sym_const] = ACTIONS(1094), + [anon_sym_constexpr] = ACTIONS(1094), + [anon_sym_volatile] = ACTIONS(1094), + [anon_sym_restrict] = ACTIONS(1094), + [anon_sym___restrict__] = ACTIONS(1094), + [anon_sym__Atomic] = ACTIONS(1094), + [anon_sym__Noreturn] = ACTIONS(1094), + [anon_sym_noreturn] = ACTIONS(1094), + [anon_sym_alignas] = ACTIONS(1094), + [anon_sym__Alignas] = ACTIONS(1094), + [sym_primitive_type] = ACTIONS(1094), + [anon_sym_enum] = ACTIONS(1094), + [anon_sym_struct] = ACTIONS(1094), + [anon_sym_union] = ACTIONS(1094), + [anon_sym_if] = ACTIONS(1094), + [anon_sym_else] = ACTIONS(1098), + [anon_sym_switch] = ACTIONS(1094), + [anon_sym_case] = ACTIONS(1094), + [anon_sym_default] = ACTIONS(1094), + [anon_sym_while] = ACTIONS(1094), + [anon_sym_do] = ACTIONS(1094), + [anon_sym_for] = ACTIONS(1094), + [anon_sym_return] = ACTIONS(1094), + [anon_sym_break] = ACTIONS(1094), + [anon_sym_continue] = ACTIONS(1094), + [anon_sym_goto] = ACTIONS(1094), + [anon_sym___try] = ACTIONS(1094), + [anon_sym___leave] = ACTIONS(1094), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1094), + [anon_sym___alignof__] = ACTIONS(1094), + [anon_sym___alignof] = ACTIONS(1094), + [anon_sym__alignof] = ACTIONS(1094), + [anon_sym_alignof] = ACTIONS(1094), + [anon_sym__Alignof] = ACTIONS(1094), + [anon_sym_offsetof] = ACTIONS(1094), + [anon_sym__Generic] = ACTIONS(1094), + [anon_sym_asm] = ACTIONS(1094), + [anon_sym___asm__] = ACTIONS(1094), + [sym__number_literal] = ACTIONS(1096), + [anon_sym_L_SQUOTE] = ACTIONS(1096), + [anon_sym_u_SQUOTE] = ACTIONS(1096), + [anon_sym_U_SQUOTE] = ACTIONS(1096), + [anon_sym_u8_SQUOTE] = ACTIONS(1096), + [anon_sym_SQUOTE] = ACTIONS(1096), + [anon_sym_L_DQUOTE] = ACTIONS(1096), + [anon_sym_u_DQUOTE] = ACTIONS(1096), + [anon_sym_U_DQUOTE] = ACTIONS(1096), + [anon_sym_u8_DQUOTE] = ACTIONS(1096), + [anon_sym_DQUOTE] = ACTIONS(1096), + [sym_true] = ACTIONS(1094), + [sym_false] = ACTIONS(1094), + [anon_sym_NULL] = ACTIONS(1094), + [anon_sym_nullptr] = ACTIONS(1094), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1096), + }, + [77] = { + [sym__identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token2] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [aux_sym_preproc_else_token1] = ACTIONS(1100), + [aux_sym_preproc_elif_token1] = ACTIONS(1100), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym___extension__] = ACTIONS(1100), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym___inline] = ACTIONS(1100), + [anon_sym___inline__] = ACTIONS(1100), + [anon_sym___forceinline] = ACTIONS(1100), + [anon_sym_thread_local] = ACTIONS(1100), + [anon_sym___thread] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_constexpr] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym___restrict__] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym__Noreturn] = ACTIONS(1100), + [anon_sym_noreturn] = ACTIONS(1100), + [anon_sym_alignas] = ACTIONS(1100), + [anon_sym__Alignas] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_else] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym___try] = ACTIONS(1100), + [anon_sym___leave] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [anon_sym___alignof__] = ACTIONS(1100), + [anon_sym___alignof] = ACTIONS(1100), + [anon_sym__alignof] = ACTIONS(1100), + [anon_sym_alignof] = ACTIONS(1100), + [anon_sym__Alignof] = ACTIONS(1100), + [anon_sym_offsetof] = ACTIONS(1100), + [anon_sym__Generic] = ACTIONS(1100), + [anon_sym_asm] = ACTIONS(1100), + [anon_sym___asm__] = ACTIONS(1100), + [sym__number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [anon_sym_NULL] = ACTIONS(1100), + [anon_sym_nullptr] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1102), + }, + [78] = { + [sym__identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token2] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [aux_sym_preproc_else_token1] = ACTIONS(1104), + [aux_sym_preproc_elif_token1] = ACTIONS(1104), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym___extension__] = ACTIONS(1104), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym___inline] = ACTIONS(1104), + [anon_sym___inline__] = ACTIONS(1104), + [anon_sym___forceinline] = ACTIONS(1104), + [anon_sym_thread_local] = ACTIONS(1104), + [anon_sym___thread] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_constexpr] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym___restrict__] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym__Noreturn] = ACTIONS(1104), + [anon_sym_noreturn] = ACTIONS(1104), + [anon_sym_alignas] = ACTIONS(1104), + [anon_sym__Alignas] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_else] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym___try] = ACTIONS(1104), + [anon_sym___leave] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [anon_sym___alignof__] = ACTIONS(1104), + [anon_sym___alignof] = ACTIONS(1104), + [anon_sym__alignof] = ACTIONS(1104), + [anon_sym_alignof] = ACTIONS(1104), + [anon_sym__Alignof] = ACTIONS(1104), + [anon_sym_offsetof] = ACTIONS(1104), + [anon_sym__Generic] = ACTIONS(1104), + [anon_sym_asm] = ACTIONS(1104), + [anon_sym___asm__] = ACTIONS(1104), + [sym__number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [anon_sym_NULL] = ACTIONS(1104), + [anon_sym_nullptr] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1106), + }, + [79] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [aux_sym_preproc_else_token1] = ACTIONS(1108), + [aux_sym_preproc_elif_token1] = ACTIONS(1108), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [80] = { + [sym__identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token2] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [aux_sym_preproc_else_token1] = ACTIONS(1112), + [aux_sym_preproc_elif_token1] = ACTIONS(1112), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym___extension__] = ACTIONS(1112), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym___inline] = ACTIONS(1112), + [anon_sym___inline__] = ACTIONS(1112), + [anon_sym___forceinline] = ACTIONS(1112), + [anon_sym_thread_local] = ACTIONS(1112), + [anon_sym___thread] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_constexpr] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym___restrict__] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym__Noreturn] = ACTIONS(1112), + [anon_sym_noreturn] = ACTIONS(1112), + [anon_sym_alignas] = ACTIONS(1112), + [anon_sym__Alignas] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_else] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym___try] = ACTIONS(1112), + [anon_sym___leave] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [anon_sym___alignof__] = ACTIONS(1112), + [anon_sym___alignof] = ACTIONS(1112), + [anon_sym__alignof] = ACTIONS(1112), + [anon_sym_alignof] = ACTIONS(1112), + [anon_sym__Alignof] = ACTIONS(1112), + [anon_sym_offsetof] = ACTIONS(1112), + [anon_sym__Generic] = ACTIONS(1112), + [anon_sym_asm] = ACTIONS(1112), + [anon_sym___asm__] = ACTIONS(1112), + [sym__number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [anon_sym_NULL] = ACTIONS(1112), + [anon_sym_nullptr] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1114), + }, + [81] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [aux_sym_preproc_else_token1] = ACTIONS(1116), + [aux_sym_preproc_elif_token1] = ACTIONS(1116), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [82] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [aux_sym_preproc_else_token1] = ACTIONS(1108), + [aux_sym_preproc_elif_token1] = ACTIONS(1108), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [83] = { + [sym__identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token2] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [aux_sym_preproc_else_token1] = ACTIONS(1120), + [aux_sym_preproc_elif_token1] = ACTIONS(1120), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym___extension__] = ACTIONS(1120), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym___inline] = ACTIONS(1120), + [anon_sym___inline__] = ACTIONS(1120), + [anon_sym___forceinline] = ACTIONS(1120), + [anon_sym_thread_local] = ACTIONS(1120), + [anon_sym___thread] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_constexpr] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym___restrict__] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym__Noreturn] = ACTIONS(1120), + [anon_sym_noreturn] = ACTIONS(1120), + [anon_sym_alignas] = ACTIONS(1120), + [anon_sym__Alignas] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_else] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym___try] = ACTIONS(1120), + [anon_sym___leave] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [anon_sym___alignof__] = ACTIONS(1120), + [anon_sym___alignof] = ACTIONS(1120), + [anon_sym__alignof] = ACTIONS(1120), + [anon_sym_alignof] = ACTIONS(1120), + [anon_sym__Alignof] = ACTIONS(1120), + [anon_sym_offsetof] = ACTIONS(1120), + [anon_sym__Generic] = ACTIONS(1120), + [anon_sym_asm] = ACTIONS(1120), + [anon_sym___asm__] = ACTIONS(1120), + [sym__number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [anon_sym_NULL] = ACTIONS(1120), + [anon_sym_nullptr] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1122), + }, + [84] = { + [sym__identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token2] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [aux_sym_preproc_else_token1] = ACTIONS(1124), + [aux_sym_preproc_elif_token1] = ACTIONS(1124), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym___extension__] = ACTIONS(1124), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym___inline] = ACTIONS(1124), + [anon_sym___inline__] = ACTIONS(1124), + [anon_sym___forceinline] = ACTIONS(1124), + [anon_sym_thread_local] = ACTIONS(1124), + [anon_sym___thread] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_constexpr] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym___restrict__] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym__Noreturn] = ACTIONS(1124), + [anon_sym_noreturn] = ACTIONS(1124), + [anon_sym_alignas] = ACTIONS(1124), + [anon_sym__Alignas] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_else] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym___try] = ACTIONS(1124), + [anon_sym___leave] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [anon_sym___alignof__] = ACTIONS(1124), + [anon_sym___alignof] = ACTIONS(1124), + [anon_sym__alignof] = ACTIONS(1124), + [anon_sym_alignof] = ACTIONS(1124), + [anon_sym__Alignof] = ACTIONS(1124), + [anon_sym_offsetof] = ACTIONS(1124), + [anon_sym__Generic] = ACTIONS(1124), + [anon_sym_asm] = ACTIONS(1124), + [anon_sym___asm__] = ACTIONS(1124), + [sym__number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [anon_sym_NULL] = ACTIONS(1124), + [anon_sym_nullptr] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1126), + }, + [85] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [aux_sym_preproc_else_token1] = ACTIONS(1116), + [aux_sym_preproc_elif_token1] = ACTIONS(1116), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [86] = { + [sym__identifier] = ACTIONS(1128), + [aux_sym_preproc_include_token1] = ACTIONS(1128), + [aux_sym_preproc_def_token1] = ACTIONS(1128), + [aux_sym_preproc_if_token1] = ACTIONS(1128), + [aux_sym_preproc_if_token2] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1128), + [aux_sym_preproc_else_token1] = ACTIONS(1128), + [aux_sym_preproc_elif_token1] = ACTIONS(1128), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1128), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1128), + [sym_preproc_directive] = ACTIONS(1128), + [anon_sym_LPAREN2] = ACTIONS(1130), + [anon_sym_BANG] = ACTIONS(1130), + [anon_sym_TILDE] = ACTIONS(1130), + [anon_sym_DASH] = ACTIONS(1128), + [anon_sym_PLUS] = ACTIONS(1128), + [anon_sym_STAR] = ACTIONS(1130), + [anon_sym_AMP] = ACTIONS(1130), + [anon_sym_SEMI] = ACTIONS(1130), + [anon_sym___extension__] = ACTIONS(1128), + [anon_sym_typedef] = ACTIONS(1128), + [anon_sym_extern] = ACTIONS(1128), + [anon_sym___attribute__] = ACTIONS(1128), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1130), + [anon_sym___declspec] = ACTIONS(1128), + [anon_sym___cdecl] = ACTIONS(1128), + [anon_sym___clrcall] = ACTIONS(1128), + [anon_sym___stdcall] = ACTIONS(1128), + [anon_sym___fastcall] = ACTIONS(1128), + [anon_sym___thiscall] = ACTIONS(1128), + [anon_sym___vectorcall] = ACTIONS(1128), + [anon_sym_LBRACE] = ACTIONS(1130), + [anon_sym_signed] = ACTIONS(1128), + [anon_sym_unsigned] = ACTIONS(1128), + [anon_sym_long] = ACTIONS(1128), + [anon_sym_short] = ACTIONS(1128), + [anon_sym_static] = ACTIONS(1128), + [anon_sym_auto] = ACTIONS(1128), + [anon_sym_register] = ACTIONS(1128), + [anon_sym_inline] = ACTIONS(1128), + [anon_sym___inline] = ACTIONS(1128), + [anon_sym___inline__] = ACTIONS(1128), + [anon_sym___forceinline] = ACTIONS(1128), + [anon_sym_thread_local] = ACTIONS(1128), + [anon_sym___thread] = ACTIONS(1128), + [anon_sym_const] = ACTIONS(1128), + [anon_sym_constexpr] = ACTIONS(1128), + [anon_sym_volatile] = ACTIONS(1128), + [anon_sym_restrict] = ACTIONS(1128), + [anon_sym___restrict__] = ACTIONS(1128), + [anon_sym__Atomic] = ACTIONS(1128), + [anon_sym__Noreturn] = ACTIONS(1128), + [anon_sym_noreturn] = ACTIONS(1128), + [anon_sym_alignas] = ACTIONS(1128), + [anon_sym__Alignas] = ACTIONS(1128), + [sym_primitive_type] = ACTIONS(1128), + [anon_sym_enum] = ACTIONS(1128), + [anon_sym_struct] = ACTIONS(1128), + [anon_sym_union] = ACTIONS(1128), + [anon_sym_if] = ACTIONS(1128), + [anon_sym_else] = ACTIONS(1128), + [anon_sym_switch] = ACTIONS(1128), + [anon_sym_case] = ACTIONS(1128), + [anon_sym_default] = ACTIONS(1128), + [anon_sym_while] = ACTIONS(1128), + [anon_sym_do] = ACTIONS(1128), + [anon_sym_for] = ACTIONS(1128), + [anon_sym_return] = ACTIONS(1128), + [anon_sym_break] = ACTIONS(1128), + [anon_sym_continue] = ACTIONS(1128), + [anon_sym_goto] = ACTIONS(1128), + [anon_sym___try] = ACTIONS(1128), + [anon_sym___leave] = ACTIONS(1128), + [anon_sym_DASH_DASH] = ACTIONS(1130), + [anon_sym_PLUS_PLUS] = ACTIONS(1130), + [anon_sym_sizeof] = ACTIONS(1128), + [anon_sym___alignof__] = ACTIONS(1128), + [anon_sym___alignof] = ACTIONS(1128), + [anon_sym__alignof] = ACTIONS(1128), + [anon_sym_alignof] = ACTIONS(1128), + [anon_sym__Alignof] = ACTIONS(1128), + [anon_sym_offsetof] = ACTIONS(1128), + [anon_sym__Generic] = ACTIONS(1128), + [anon_sym_asm] = ACTIONS(1128), + [anon_sym___asm__] = ACTIONS(1128), + [sym__number_literal] = ACTIONS(1130), + [anon_sym_L_SQUOTE] = ACTIONS(1130), + [anon_sym_u_SQUOTE] = ACTIONS(1130), + [anon_sym_U_SQUOTE] = ACTIONS(1130), + [anon_sym_u8_SQUOTE] = ACTIONS(1130), + [anon_sym_SQUOTE] = ACTIONS(1130), + [anon_sym_L_DQUOTE] = ACTIONS(1130), + [anon_sym_u_DQUOTE] = ACTIONS(1130), + [anon_sym_U_DQUOTE] = ACTIONS(1130), + [anon_sym_u8_DQUOTE] = ACTIONS(1130), + [anon_sym_DQUOTE] = ACTIONS(1130), + [sym_true] = ACTIONS(1128), + [sym_false] = ACTIONS(1128), + [anon_sym_NULL] = ACTIONS(1128), + [anon_sym_nullptr] = ACTIONS(1128), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1130), + }, + [87] = { + [sym__identifier] = ACTIONS(1132), + [aux_sym_preproc_include_token1] = ACTIONS(1132), + [aux_sym_preproc_def_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token2] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1132), + [aux_sym_preproc_else_token1] = ACTIONS(1132), + [aux_sym_preproc_elif_token1] = ACTIONS(1132), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1132), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1132), + [sym_preproc_directive] = ACTIONS(1132), + [anon_sym_LPAREN2] = ACTIONS(1134), + [anon_sym_BANG] = ACTIONS(1134), + [anon_sym_TILDE] = ACTIONS(1134), + [anon_sym_DASH] = ACTIONS(1132), + [anon_sym_PLUS] = ACTIONS(1132), + [anon_sym_STAR] = ACTIONS(1134), + [anon_sym_AMP] = ACTIONS(1134), + [anon_sym_SEMI] = ACTIONS(1134), + [anon_sym___extension__] = ACTIONS(1132), + [anon_sym_typedef] = ACTIONS(1132), + [anon_sym_extern] = ACTIONS(1132), + [anon_sym___attribute__] = ACTIONS(1132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1134), + [anon_sym___declspec] = ACTIONS(1132), + [anon_sym___cdecl] = ACTIONS(1132), + [anon_sym___clrcall] = ACTIONS(1132), + [anon_sym___stdcall] = ACTIONS(1132), + [anon_sym___fastcall] = ACTIONS(1132), + [anon_sym___thiscall] = ACTIONS(1132), + [anon_sym___vectorcall] = ACTIONS(1132), + [anon_sym_LBRACE] = ACTIONS(1134), + [anon_sym_signed] = ACTIONS(1132), + [anon_sym_unsigned] = ACTIONS(1132), + [anon_sym_long] = ACTIONS(1132), + [anon_sym_short] = ACTIONS(1132), + [anon_sym_static] = ACTIONS(1132), + [anon_sym_auto] = ACTIONS(1132), + [anon_sym_register] = ACTIONS(1132), + [anon_sym_inline] = ACTIONS(1132), + [anon_sym___inline] = ACTIONS(1132), + [anon_sym___inline__] = ACTIONS(1132), + [anon_sym___forceinline] = ACTIONS(1132), + [anon_sym_thread_local] = ACTIONS(1132), + [anon_sym___thread] = ACTIONS(1132), + [anon_sym_const] = ACTIONS(1132), + [anon_sym_constexpr] = ACTIONS(1132), + [anon_sym_volatile] = ACTIONS(1132), + [anon_sym_restrict] = ACTIONS(1132), + [anon_sym___restrict__] = ACTIONS(1132), + [anon_sym__Atomic] = ACTIONS(1132), + [anon_sym__Noreturn] = ACTIONS(1132), + [anon_sym_noreturn] = ACTIONS(1132), + [anon_sym_alignas] = ACTIONS(1132), + [anon_sym__Alignas] = ACTIONS(1132), + [sym_primitive_type] = ACTIONS(1132), + [anon_sym_enum] = ACTIONS(1132), + [anon_sym_struct] = ACTIONS(1132), + [anon_sym_union] = ACTIONS(1132), + [anon_sym_if] = ACTIONS(1132), + [anon_sym_else] = ACTIONS(1132), + [anon_sym_switch] = ACTIONS(1132), + [anon_sym_case] = ACTIONS(1132), + [anon_sym_default] = ACTIONS(1132), + [anon_sym_while] = ACTIONS(1132), + [anon_sym_do] = ACTIONS(1132), + [anon_sym_for] = ACTIONS(1132), + [anon_sym_return] = ACTIONS(1132), + [anon_sym_break] = ACTIONS(1132), + [anon_sym_continue] = ACTIONS(1132), + [anon_sym_goto] = ACTIONS(1132), + [anon_sym___try] = ACTIONS(1132), + [anon_sym___leave] = ACTIONS(1132), + [anon_sym_DASH_DASH] = ACTIONS(1134), + [anon_sym_PLUS_PLUS] = ACTIONS(1134), + [anon_sym_sizeof] = ACTIONS(1132), + [anon_sym___alignof__] = ACTIONS(1132), + [anon_sym___alignof] = ACTIONS(1132), + [anon_sym__alignof] = ACTIONS(1132), + [anon_sym_alignof] = ACTIONS(1132), + [anon_sym__Alignof] = ACTIONS(1132), + [anon_sym_offsetof] = ACTIONS(1132), + [anon_sym__Generic] = ACTIONS(1132), + [anon_sym_asm] = ACTIONS(1132), + [anon_sym___asm__] = ACTIONS(1132), + [sym__number_literal] = ACTIONS(1134), + [anon_sym_L_SQUOTE] = ACTIONS(1134), + [anon_sym_u_SQUOTE] = ACTIONS(1134), + [anon_sym_U_SQUOTE] = ACTIONS(1134), + [anon_sym_u8_SQUOTE] = ACTIONS(1134), + [anon_sym_SQUOTE] = ACTIONS(1134), + [anon_sym_L_DQUOTE] = ACTIONS(1134), + [anon_sym_u_DQUOTE] = ACTIONS(1134), + [anon_sym_U_DQUOTE] = ACTIONS(1134), + [anon_sym_u8_DQUOTE] = ACTIONS(1134), + [anon_sym_DQUOTE] = ACTIONS(1134), + [sym_true] = ACTIONS(1132), + [sym_false] = ACTIONS(1132), + [anon_sym_NULL] = ACTIONS(1132), + [anon_sym_nullptr] = ACTIONS(1132), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1134), + }, + [88] = { + [sym__identifier] = ACTIONS(1136), + [aux_sym_preproc_include_token1] = ACTIONS(1136), + [aux_sym_preproc_def_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token2] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1136), + [aux_sym_preproc_else_token1] = ACTIONS(1136), + [aux_sym_preproc_elif_token1] = ACTIONS(1136), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1136), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1136), + [sym_preproc_directive] = ACTIONS(1136), + [anon_sym_LPAREN2] = ACTIONS(1138), + [anon_sym_BANG] = ACTIONS(1138), + [anon_sym_TILDE] = ACTIONS(1138), + [anon_sym_DASH] = ACTIONS(1136), + [anon_sym_PLUS] = ACTIONS(1136), + [anon_sym_STAR] = ACTIONS(1138), + [anon_sym_AMP] = ACTIONS(1138), + [anon_sym_SEMI] = ACTIONS(1138), + [anon_sym___extension__] = ACTIONS(1136), + [anon_sym_typedef] = ACTIONS(1136), + [anon_sym_extern] = ACTIONS(1136), + [anon_sym___attribute__] = ACTIONS(1136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1138), + [anon_sym___declspec] = ACTIONS(1136), + [anon_sym___cdecl] = ACTIONS(1136), + [anon_sym___clrcall] = ACTIONS(1136), + [anon_sym___stdcall] = ACTIONS(1136), + [anon_sym___fastcall] = ACTIONS(1136), + [anon_sym___thiscall] = ACTIONS(1136), + [anon_sym___vectorcall] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(1138), + [anon_sym_signed] = ACTIONS(1136), + [anon_sym_unsigned] = ACTIONS(1136), + [anon_sym_long] = ACTIONS(1136), + [anon_sym_short] = ACTIONS(1136), + [anon_sym_static] = ACTIONS(1136), + [anon_sym_auto] = ACTIONS(1136), + [anon_sym_register] = ACTIONS(1136), + [anon_sym_inline] = ACTIONS(1136), + [anon_sym___inline] = ACTIONS(1136), + [anon_sym___inline__] = ACTIONS(1136), + [anon_sym___forceinline] = ACTIONS(1136), + [anon_sym_thread_local] = ACTIONS(1136), + [anon_sym___thread] = ACTIONS(1136), + [anon_sym_const] = ACTIONS(1136), + [anon_sym_constexpr] = ACTIONS(1136), + [anon_sym_volatile] = ACTIONS(1136), + [anon_sym_restrict] = ACTIONS(1136), + [anon_sym___restrict__] = ACTIONS(1136), + [anon_sym__Atomic] = ACTIONS(1136), + [anon_sym__Noreturn] = ACTIONS(1136), + [anon_sym_noreturn] = ACTIONS(1136), + [anon_sym_alignas] = ACTIONS(1136), + [anon_sym__Alignas] = ACTIONS(1136), + [sym_primitive_type] = ACTIONS(1136), + [anon_sym_enum] = ACTIONS(1136), + [anon_sym_struct] = ACTIONS(1136), + [anon_sym_union] = ACTIONS(1136), + [anon_sym_if] = ACTIONS(1136), + [anon_sym_else] = ACTIONS(1136), + [anon_sym_switch] = ACTIONS(1136), + [anon_sym_case] = ACTIONS(1136), + [anon_sym_default] = ACTIONS(1136), + [anon_sym_while] = ACTIONS(1136), + [anon_sym_do] = ACTIONS(1136), + [anon_sym_for] = ACTIONS(1136), + [anon_sym_return] = ACTIONS(1136), + [anon_sym_break] = ACTIONS(1136), + [anon_sym_continue] = ACTIONS(1136), + [anon_sym_goto] = ACTIONS(1136), + [anon_sym___try] = ACTIONS(1136), + [anon_sym___leave] = ACTIONS(1136), + [anon_sym_DASH_DASH] = ACTIONS(1138), + [anon_sym_PLUS_PLUS] = ACTIONS(1138), + [anon_sym_sizeof] = ACTIONS(1136), + [anon_sym___alignof__] = ACTIONS(1136), + [anon_sym___alignof] = ACTIONS(1136), + [anon_sym__alignof] = ACTIONS(1136), + [anon_sym_alignof] = ACTIONS(1136), + [anon_sym__Alignof] = ACTIONS(1136), + [anon_sym_offsetof] = ACTIONS(1136), + [anon_sym__Generic] = ACTIONS(1136), + [anon_sym_asm] = ACTIONS(1136), + [anon_sym___asm__] = ACTIONS(1136), + [sym__number_literal] = ACTIONS(1138), + [anon_sym_L_SQUOTE] = ACTIONS(1138), + [anon_sym_u_SQUOTE] = ACTIONS(1138), + [anon_sym_U_SQUOTE] = ACTIONS(1138), + [anon_sym_u8_SQUOTE] = ACTIONS(1138), + [anon_sym_SQUOTE] = ACTIONS(1138), + [anon_sym_L_DQUOTE] = ACTIONS(1138), + [anon_sym_u_DQUOTE] = ACTIONS(1138), + [anon_sym_U_DQUOTE] = ACTIONS(1138), + [anon_sym_u8_DQUOTE] = ACTIONS(1138), + [anon_sym_DQUOTE] = ACTIONS(1138), + [sym_true] = ACTIONS(1136), + [sym_false] = ACTIONS(1136), + [anon_sym_NULL] = ACTIONS(1136), + [anon_sym_nullptr] = ACTIONS(1136), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1138), + }, + [89] = { + [sym__identifier] = ACTIONS(1140), + [aux_sym_preproc_include_token1] = ACTIONS(1140), + [aux_sym_preproc_def_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token2] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1140), + [aux_sym_preproc_else_token1] = ACTIONS(1140), + [aux_sym_preproc_elif_token1] = ACTIONS(1140), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1140), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1140), + [sym_preproc_directive] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(1142), + [anon_sym_BANG] = ACTIONS(1142), + [anon_sym_TILDE] = ACTIONS(1142), + [anon_sym_DASH] = ACTIONS(1140), + [anon_sym_PLUS] = ACTIONS(1140), + [anon_sym_STAR] = ACTIONS(1142), + [anon_sym_AMP] = ACTIONS(1142), + [anon_sym_SEMI] = ACTIONS(1142), + [anon_sym___extension__] = ACTIONS(1140), + [anon_sym_typedef] = ACTIONS(1140), + [anon_sym_extern] = ACTIONS(1140), + [anon_sym___attribute__] = ACTIONS(1140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1142), + [anon_sym___declspec] = ACTIONS(1140), + [anon_sym___cdecl] = ACTIONS(1140), + [anon_sym___clrcall] = ACTIONS(1140), + [anon_sym___stdcall] = ACTIONS(1140), + [anon_sym___fastcall] = ACTIONS(1140), + [anon_sym___thiscall] = ACTIONS(1140), + [anon_sym___vectorcall] = ACTIONS(1140), + [anon_sym_LBRACE] = ACTIONS(1142), + [anon_sym_signed] = ACTIONS(1140), + [anon_sym_unsigned] = ACTIONS(1140), + [anon_sym_long] = ACTIONS(1140), + [anon_sym_short] = ACTIONS(1140), + [anon_sym_static] = ACTIONS(1140), + [anon_sym_auto] = ACTIONS(1140), + [anon_sym_register] = ACTIONS(1140), + [anon_sym_inline] = ACTIONS(1140), + [anon_sym___inline] = ACTIONS(1140), + [anon_sym___inline__] = ACTIONS(1140), + [anon_sym___forceinline] = ACTIONS(1140), + [anon_sym_thread_local] = ACTIONS(1140), + [anon_sym___thread] = ACTIONS(1140), + [anon_sym_const] = ACTIONS(1140), + [anon_sym_constexpr] = ACTIONS(1140), + [anon_sym_volatile] = ACTIONS(1140), + [anon_sym_restrict] = ACTIONS(1140), + [anon_sym___restrict__] = ACTIONS(1140), + [anon_sym__Atomic] = ACTIONS(1140), + [anon_sym__Noreturn] = ACTIONS(1140), + [anon_sym_noreturn] = ACTIONS(1140), + [anon_sym_alignas] = ACTIONS(1140), + [anon_sym__Alignas] = ACTIONS(1140), + [sym_primitive_type] = ACTIONS(1140), + [anon_sym_enum] = ACTIONS(1140), + [anon_sym_struct] = ACTIONS(1140), + [anon_sym_union] = ACTIONS(1140), + [anon_sym_if] = ACTIONS(1140), + [anon_sym_else] = ACTIONS(1140), + [anon_sym_switch] = ACTIONS(1140), + [anon_sym_case] = ACTIONS(1140), + [anon_sym_default] = ACTIONS(1140), + [anon_sym_while] = ACTIONS(1140), + [anon_sym_do] = ACTIONS(1140), + [anon_sym_for] = ACTIONS(1140), + [anon_sym_return] = ACTIONS(1140), + [anon_sym_break] = ACTIONS(1140), + [anon_sym_continue] = ACTIONS(1140), + [anon_sym_goto] = ACTIONS(1140), + [anon_sym___try] = ACTIONS(1140), + [anon_sym___leave] = ACTIONS(1140), + [anon_sym_DASH_DASH] = ACTIONS(1142), + [anon_sym_PLUS_PLUS] = ACTIONS(1142), + [anon_sym_sizeof] = ACTIONS(1140), + [anon_sym___alignof__] = ACTIONS(1140), + [anon_sym___alignof] = ACTIONS(1140), + [anon_sym__alignof] = ACTIONS(1140), + [anon_sym_alignof] = ACTIONS(1140), + [anon_sym__Alignof] = ACTIONS(1140), + [anon_sym_offsetof] = ACTIONS(1140), + [anon_sym__Generic] = ACTIONS(1140), + [anon_sym_asm] = ACTIONS(1140), + [anon_sym___asm__] = ACTIONS(1140), + [sym__number_literal] = ACTIONS(1142), + [anon_sym_L_SQUOTE] = ACTIONS(1142), + [anon_sym_u_SQUOTE] = ACTIONS(1142), + [anon_sym_U_SQUOTE] = ACTIONS(1142), + [anon_sym_u8_SQUOTE] = ACTIONS(1142), + [anon_sym_SQUOTE] = ACTIONS(1142), + [anon_sym_L_DQUOTE] = ACTIONS(1142), + [anon_sym_u_DQUOTE] = ACTIONS(1142), + [anon_sym_U_DQUOTE] = ACTIONS(1142), + [anon_sym_u8_DQUOTE] = ACTIONS(1142), + [anon_sym_DQUOTE] = ACTIONS(1142), + [sym_true] = ACTIONS(1140), + [sym_false] = ACTIONS(1140), + [anon_sym_NULL] = ACTIONS(1140), + [anon_sym_nullptr] = ACTIONS(1140), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1142), + }, + [90] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token2] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [aux_sym_preproc_else_token1] = ACTIONS(1144), + [aux_sym_preproc_elif_token1] = ACTIONS(1144), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [91] = { + [sym__identifier] = ACTIONS(1148), + [aux_sym_preproc_include_token1] = ACTIONS(1148), + [aux_sym_preproc_def_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token2] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1148), + [aux_sym_preproc_else_token1] = ACTIONS(1148), + [aux_sym_preproc_elif_token1] = ACTIONS(1148), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1148), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1148), + [sym_preproc_directive] = ACTIONS(1148), + [anon_sym_LPAREN2] = ACTIONS(1150), + [anon_sym_BANG] = ACTIONS(1150), + [anon_sym_TILDE] = ACTIONS(1150), + [anon_sym_DASH] = ACTIONS(1148), + [anon_sym_PLUS] = ACTIONS(1148), + [anon_sym_STAR] = ACTIONS(1150), + [anon_sym_AMP] = ACTIONS(1150), + [anon_sym_SEMI] = ACTIONS(1150), + [anon_sym___extension__] = ACTIONS(1148), + [anon_sym_typedef] = ACTIONS(1148), + [anon_sym_extern] = ACTIONS(1148), + [anon_sym___attribute__] = ACTIONS(1148), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1150), + [anon_sym___declspec] = ACTIONS(1148), + [anon_sym___cdecl] = ACTIONS(1148), + [anon_sym___clrcall] = ACTIONS(1148), + [anon_sym___stdcall] = ACTIONS(1148), + [anon_sym___fastcall] = ACTIONS(1148), + [anon_sym___thiscall] = ACTIONS(1148), + [anon_sym___vectorcall] = ACTIONS(1148), + [anon_sym_LBRACE] = ACTIONS(1150), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [anon_sym_static] = ACTIONS(1148), + [anon_sym_auto] = ACTIONS(1148), + [anon_sym_register] = ACTIONS(1148), + [anon_sym_inline] = ACTIONS(1148), + [anon_sym___inline] = ACTIONS(1148), + [anon_sym___inline__] = ACTIONS(1148), + [anon_sym___forceinline] = ACTIONS(1148), + [anon_sym_thread_local] = ACTIONS(1148), + [anon_sym___thread] = ACTIONS(1148), + [anon_sym_const] = ACTIONS(1148), + [anon_sym_constexpr] = ACTIONS(1148), + [anon_sym_volatile] = ACTIONS(1148), + [anon_sym_restrict] = ACTIONS(1148), + [anon_sym___restrict__] = ACTIONS(1148), + [anon_sym__Atomic] = ACTIONS(1148), + [anon_sym__Noreturn] = ACTIONS(1148), + [anon_sym_noreturn] = ACTIONS(1148), + [anon_sym_alignas] = ACTIONS(1148), + [anon_sym__Alignas] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(1148), + [anon_sym_enum] = ACTIONS(1148), + [anon_sym_struct] = ACTIONS(1148), + [anon_sym_union] = ACTIONS(1148), + [anon_sym_if] = ACTIONS(1148), + [anon_sym_else] = ACTIONS(1148), + [anon_sym_switch] = ACTIONS(1148), + [anon_sym_case] = ACTIONS(1148), + [anon_sym_default] = ACTIONS(1148), + [anon_sym_while] = ACTIONS(1148), + [anon_sym_do] = ACTIONS(1148), + [anon_sym_for] = ACTIONS(1148), + [anon_sym_return] = ACTIONS(1148), + [anon_sym_break] = ACTIONS(1148), + [anon_sym_continue] = ACTIONS(1148), + [anon_sym_goto] = ACTIONS(1148), + [anon_sym___try] = ACTIONS(1148), + [anon_sym___leave] = ACTIONS(1148), + [anon_sym_DASH_DASH] = ACTIONS(1150), + [anon_sym_PLUS_PLUS] = ACTIONS(1150), + [anon_sym_sizeof] = ACTIONS(1148), + [anon_sym___alignof__] = ACTIONS(1148), + [anon_sym___alignof] = ACTIONS(1148), + [anon_sym__alignof] = ACTIONS(1148), + [anon_sym_alignof] = ACTIONS(1148), + [anon_sym__Alignof] = ACTIONS(1148), + [anon_sym_offsetof] = ACTIONS(1148), + [anon_sym__Generic] = ACTIONS(1148), + [anon_sym_asm] = ACTIONS(1148), + [anon_sym___asm__] = ACTIONS(1148), + [sym__number_literal] = ACTIONS(1150), + [anon_sym_L_SQUOTE] = ACTIONS(1150), + [anon_sym_u_SQUOTE] = ACTIONS(1150), + [anon_sym_U_SQUOTE] = ACTIONS(1150), + [anon_sym_u8_SQUOTE] = ACTIONS(1150), + [anon_sym_SQUOTE] = ACTIONS(1150), + [anon_sym_L_DQUOTE] = ACTIONS(1150), + [anon_sym_u_DQUOTE] = ACTIONS(1150), + [anon_sym_U_DQUOTE] = ACTIONS(1150), + [anon_sym_u8_DQUOTE] = ACTIONS(1150), + [anon_sym_DQUOTE] = ACTIONS(1150), + [sym_true] = ACTIONS(1148), + [sym_false] = ACTIONS(1148), + [anon_sym_NULL] = ACTIONS(1148), + [anon_sym_nullptr] = ACTIONS(1148), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1150), + }, + [92] = { + [sym__identifier] = ACTIONS(1152), + [aux_sym_preproc_include_token1] = ACTIONS(1152), + [aux_sym_preproc_def_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token2] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1152), + [aux_sym_preproc_else_token1] = ACTIONS(1152), + [aux_sym_preproc_elif_token1] = ACTIONS(1152), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1152), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1152), + [sym_preproc_directive] = ACTIONS(1152), + [anon_sym_LPAREN2] = ACTIONS(1154), + [anon_sym_BANG] = ACTIONS(1154), + [anon_sym_TILDE] = ACTIONS(1154), + [anon_sym_DASH] = ACTIONS(1152), + [anon_sym_PLUS] = ACTIONS(1152), + [anon_sym_STAR] = ACTIONS(1154), + [anon_sym_AMP] = ACTIONS(1154), + [anon_sym_SEMI] = ACTIONS(1154), + [anon_sym___extension__] = ACTIONS(1152), + [anon_sym_typedef] = ACTIONS(1152), + [anon_sym_extern] = ACTIONS(1152), + [anon_sym___attribute__] = ACTIONS(1152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1154), + [anon_sym___declspec] = ACTIONS(1152), + [anon_sym___cdecl] = ACTIONS(1152), + [anon_sym___clrcall] = ACTIONS(1152), + [anon_sym___stdcall] = ACTIONS(1152), + [anon_sym___fastcall] = ACTIONS(1152), + [anon_sym___thiscall] = ACTIONS(1152), + [anon_sym___vectorcall] = ACTIONS(1152), + [anon_sym_LBRACE] = ACTIONS(1154), + [anon_sym_signed] = ACTIONS(1152), + [anon_sym_unsigned] = ACTIONS(1152), + [anon_sym_long] = ACTIONS(1152), + [anon_sym_short] = ACTIONS(1152), + [anon_sym_static] = ACTIONS(1152), + [anon_sym_auto] = ACTIONS(1152), + [anon_sym_register] = ACTIONS(1152), + [anon_sym_inline] = ACTIONS(1152), + [anon_sym___inline] = ACTIONS(1152), + [anon_sym___inline__] = ACTIONS(1152), + [anon_sym___forceinline] = ACTIONS(1152), + [anon_sym_thread_local] = ACTIONS(1152), + [anon_sym___thread] = ACTIONS(1152), + [anon_sym_const] = ACTIONS(1152), + [anon_sym_constexpr] = ACTIONS(1152), + [anon_sym_volatile] = ACTIONS(1152), + [anon_sym_restrict] = ACTIONS(1152), + [anon_sym___restrict__] = ACTIONS(1152), + [anon_sym__Atomic] = ACTIONS(1152), + [anon_sym__Noreturn] = ACTIONS(1152), + [anon_sym_noreturn] = ACTIONS(1152), + [anon_sym_alignas] = ACTIONS(1152), + [anon_sym__Alignas] = ACTIONS(1152), + [sym_primitive_type] = ACTIONS(1152), + [anon_sym_enum] = ACTIONS(1152), + [anon_sym_struct] = ACTIONS(1152), + [anon_sym_union] = ACTIONS(1152), + [anon_sym_if] = ACTIONS(1152), + [anon_sym_else] = ACTIONS(1152), + [anon_sym_switch] = ACTIONS(1152), + [anon_sym_case] = ACTIONS(1152), + [anon_sym_default] = ACTIONS(1152), + [anon_sym_while] = ACTIONS(1152), + [anon_sym_do] = ACTIONS(1152), + [anon_sym_for] = ACTIONS(1152), + [anon_sym_return] = ACTIONS(1152), + [anon_sym_break] = ACTIONS(1152), + [anon_sym_continue] = ACTIONS(1152), + [anon_sym_goto] = ACTIONS(1152), + [anon_sym___try] = ACTIONS(1152), + [anon_sym___leave] = ACTIONS(1152), + [anon_sym_DASH_DASH] = ACTIONS(1154), + [anon_sym_PLUS_PLUS] = ACTIONS(1154), + [anon_sym_sizeof] = ACTIONS(1152), + [anon_sym___alignof__] = ACTIONS(1152), + [anon_sym___alignof] = ACTIONS(1152), + [anon_sym__alignof] = ACTIONS(1152), + [anon_sym_alignof] = ACTIONS(1152), + [anon_sym__Alignof] = ACTIONS(1152), + [anon_sym_offsetof] = ACTIONS(1152), + [anon_sym__Generic] = ACTIONS(1152), + [anon_sym_asm] = ACTIONS(1152), + [anon_sym___asm__] = ACTIONS(1152), + [sym__number_literal] = ACTIONS(1154), + [anon_sym_L_SQUOTE] = ACTIONS(1154), + [anon_sym_u_SQUOTE] = ACTIONS(1154), + [anon_sym_U_SQUOTE] = ACTIONS(1154), + [anon_sym_u8_SQUOTE] = ACTIONS(1154), + [anon_sym_SQUOTE] = ACTIONS(1154), + [anon_sym_L_DQUOTE] = ACTIONS(1154), + [anon_sym_u_DQUOTE] = ACTIONS(1154), + [anon_sym_U_DQUOTE] = ACTIONS(1154), + [anon_sym_u8_DQUOTE] = ACTIONS(1154), + [anon_sym_DQUOTE] = ACTIONS(1154), + [sym_true] = ACTIONS(1152), + [sym_false] = ACTIONS(1152), + [anon_sym_NULL] = ACTIONS(1152), + [anon_sym_nullptr] = ACTIONS(1152), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1154), + }, + [93] = { + [sym__identifier] = ACTIONS(1156), + [aux_sym_preproc_include_token1] = ACTIONS(1156), + [aux_sym_preproc_def_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token2] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1156), + [aux_sym_preproc_else_token1] = ACTIONS(1156), + [aux_sym_preproc_elif_token1] = ACTIONS(1156), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1156), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1156), + [sym_preproc_directive] = ACTIONS(1156), + [anon_sym_LPAREN2] = ACTIONS(1158), + [anon_sym_BANG] = ACTIONS(1158), + [anon_sym_TILDE] = ACTIONS(1158), + [anon_sym_DASH] = ACTIONS(1156), + [anon_sym_PLUS] = ACTIONS(1156), + [anon_sym_STAR] = ACTIONS(1158), + [anon_sym_AMP] = ACTIONS(1158), + [anon_sym_SEMI] = ACTIONS(1158), + [anon_sym___extension__] = ACTIONS(1156), + [anon_sym_typedef] = ACTIONS(1156), + [anon_sym_extern] = ACTIONS(1156), + [anon_sym___attribute__] = ACTIONS(1156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1158), + [anon_sym___declspec] = ACTIONS(1156), + [anon_sym___cdecl] = ACTIONS(1156), + [anon_sym___clrcall] = ACTIONS(1156), + [anon_sym___stdcall] = ACTIONS(1156), + [anon_sym___fastcall] = ACTIONS(1156), + [anon_sym___thiscall] = ACTIONS(1156), + [anon_sym___vectorcall] = ACTIONS(1156), + [anon_sym_LBRACE] = ACTIONS(1158), + [anon_sym_signed] = ACTIONS(1156), + [anon_sym_unsigned] = ACTIONS(1156), + [anon_sym_long] = ACTIONS(1156), + [anon_sym_short] = ACTIONS(1156), + [anon_sym_static] = ACTIONS(1156), + [anon_sym_auto] = ACTIONS(1156), + [anon_sym_register] = ACTIONS(1156), + [anon_sym_inline] = ACTIONS(1156), + [anon_sym___inline] = ACTIONS(1156), + [anon_sym___inline__] = ACTIONS(1156), + [anon_sym___forceinline] = ACTIONS(1156), + [anon_sym_thread_local] = ACTIONS(1156), + [anon_sym___thread] = ACTIONS(1156), + [anon_sym_const] = ACTIONS(1156), + [anon_sym_constexpr] = ACTIONS(1156), + [anon_sym_volatile] = ACTIONS(1156), + [anon_sym_restrict] = ACTIONS(1156), + [anon_sym___restrict__] = ACTIONS(1156), + [anon_sym__Atomic] = ACTIONS(1156), + [anon_sym__Noreturn] = ACTIONS(1156), + [anon_sym_noreturn] = ACTIONS(1156), + [anon_sym_alignas] = ACTIONS(1156), + [anon_sym__Alignas] = ACTIONS(1156), + [sym_primitive_type] = ACTIONS(1156), + [anon_sym_enum] = ACTIONS(1156), + [anon_sym_struct] = ACTIONS(1156), + [anon_sym_union] = ACTIONS(1156), + [anon_sym_if] = ACTIONS(1156), + [anon_sym_else] = ACTIONS(1156), + [anon_sym_switch] = ACTIONS(1156), + [anon_sym_case] = ACTIONS(1156), + [anon_sym_default] = ACTIONS(1156), + [anon_sym_while] = ACTIONS(1156), + [anon_sym_do] = ACTIONS(1156), + [anon_sym_for] = ACTIONS(1156), + [anon_sym_return] = ACTIONS(1156), + [anon_sym_break] = ACTIONS(1156), + [anon_sym_continue] = ACTIONS(1156), + [anon_sym_goto] = ACTIONS(1156), + [anon_sym___try] = ACTIONS(1156), + [anon_sym___leave] = ACTIONS(1156), + [anon_sym_DASH_DASH] = ACTIONS(1158), + [anon_sym_PLUS_PLUS] = ACTIONS(1158), + [anon_sym_sizeof] = ACTIONS(1156), + [anon_sym___alignof__] = ACTIONS(1156), + [anon_sym___alignof] = ACTIONS(1156), + [anon_sym__alignof] = ACTIONS(1156), + [anon_sym_alignof] = ACTIONS(1156), + [anon_sym__Alignof] = ACTIONS(1156), + [anon_sym_offsetof] = ACTIONS(1156), + [anon_sym__Generic] = ACTIONS(1156), + [anon_sym_asm] = ACTIONS(1156), + [anon_sym___asm__] = ACTIONS(1156), + [sym__number_literal] = ACTIONS(1158), + [anon_sym_L_SQUOTE] = ACTIONS(1158), + [anon_sym_u_SQUOTE] = ACTIONS(1158), + [anon_sym_U_SQUOTE] = ACTIONS(1158), + [anon_sym_u8_SQUOTE] = ACTIONS(1158), + [anon_sym_SQUOTE] = ACTIONS(1158), + [anon_sym_L_DQUOTE] = ACTIONS(1158), + [anon_sym_u_DQUOTE] = ACTIONS(1158), + [anon_sym_U_DQUOTE] = ACTIONS(1158), + [anon_sym_u8_DQUOTE] = ACTIONS(1158), + [anon_sym_DQUOTE] = ACTIONS(1158), + [sym_true] = ACTIONS(1156), + [sym_false] = ACTIONS(1156), + [anon_sym_NULL] = ACTIONS(1156), + [anon_sym_nullptr] = ACTIONS(1156), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1158), + }, + [94] = { + [sym__identifier] = ACTIONS(1160), + [aux_sym_preproc_include_token1] = ACTIONS(1160), + [aux_sym_preproc_def_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token2] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1160), + [aux_sym_preproc_else_token1] = ACTIONS(1160), + [aux_sym_preproc_elif_token1] = ACTIONS(1160), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1160), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1160), + [sym_preproc_directive] = ACTIONS(1160), + [anon_sym_LPAREN2] = ACTIONS(1162), + [anon_sym_BANG] = ACTIONS(1162), + [anon_sym_TILDE] = ACTIONS(1162), + [anon_sym_DASH] = ACTIONS(1160), + [anon_sym_PLUS] = ACTIONS(1160), + [anon_sym_STAR] = ACTIONS(1162), + [anon_sym_AMP] = ACTIONS(1162), + [anon_sym_SEMI] = ACTIONS(1162), + [anon_sym___extension__] = ACTIONS(1160), + [anon_sym_typedef] = ACTIONS(1160), + [anon_sym_extern] = ACTIONS(1160), + [anon_sym___attribute__] = ACTIONS(1160), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1162), + [anon_sym___declspec] = ACTIONS(1160), + [anon_sym___cdecl] = ACTIONS(1160), + [anon_sym___clrcall] = ACTIONS(1160), + [anon_sym___stdcall] = ACTIONS(1160), + [anon_sym___fastcall] = ACTIONS(1160), + [anon_sym___thiscall] = ACTIONS(1160), + [anon_sym___vectorcall] = ACTIONS(1160), + [anon_sym_LBRACE] = ACTIONS(1162), + [anon_sym_signed] = ACTIONS(1160), + [anon_sym_unsigned] = ACTIONS(1160), + [anon_sym_long] = ACTIONS(1160), + [anon_sym_short] = ACTIONS(1160), + [anon_sym_static] = ACTIONS(1160), + [anon_sym_auto] = ACTIONS(1160), + [anon_sym_register] = ACTIONS(1160), + [anon_sym_inline] = ACTIONS(1160), + [anon_sym___inline] = ACTIONS(1160), + [anon_sym___inline__] = ACTIONS(1160), + [anon_sym___forceinline] = ACTIONS(1160), + [anon_sym_thread_local] = ACTIONS(1160), + [anon_sym___thread] = ACTIONS(1160), + [anon_sym_const] = ACTIONS(1160), + [anon_sym_constexpr] = ACTIONS(1160), + [anon_sym_volatile] = ACTIONS(1160), + [anon_sym_restrict] = ACTIONS(1160), + [anon_sym___restrict__] = ACTIONS(1160), + [anon_sym__Atomic] = ACTIONS(1160), + [anon_sym__Noreturn] = ACTIONS(1160), + [anon_sym_noreturn] = ACTIONS(1160), + [anon_sym_alignas] = ACTIONS(1160), + [anon_sym__Alignas] = ACTIONS(1160), + [sym_primitive_type] = ACTIONS(1160), + [anon_sym_enum] = ACTIONS(1160), + [anon_sym_struct] = ACTIONS(1160), + [anon_sym_union] = ACTIONS(1160), + [anon_sym_if] = ACTIONS(1160), + [anon_sym_else] = ACTIONS(1160), + [anon_sym_switch] = ACTIONS(1160), + [anon_sym_case] = ACTIONS(1160), + [anon_sym_default] = ACTIONS(1160), + [anon_sym_while] = ACTIONS(1160), + [anon_sym_do] = ACTIONS(1160), + [anon_sym_for] = ACTIONS(1160), + [anon_sym_return] = ACTIONS(1160), + [anon_sym_break] = ACTIONS(1160), + [anon_sym_continue] = ACTIONS(1160), + [anon_sym_goto] = ACTIONS(1160), + [anon_sym___try] = ACTIONS(1160), + [anon_sym___leave] = ACTIONS(1160), + [anon_sym_DASH_DASH] = ACTIONS(1162), + [anon_sym_PLUS_PLUS] = ACTIONS(1162), + [anon_sym_sizeof] = ACTIONS(1160), + [anon_sym___alignof__] = ACTIONS(1160), + [anon_sym___alignof] = ACTIONS(1160), + [anon_sym__alignof] = ACTIONS(1160), + [anon_sym_alignof] = ACTIONS(1160), + [anon_sym__Alignof] = ACTIONS(1160), + [anon_sym_offsetof] = ACTIONS(1160), + [anon_sym__Generic] = ACTIONS(1160), + [anon_sym_asm] = ACTIONS(1160), + [anon_sym___asm__] = ACTIONS(1160), + [sym__number_literal] = ACTIONS(1162), + [anon_sym_L_SQUOTE] = ACTIONS(1162), + [anon_sym_u_SQUOTE] = ACTIONS(1162), + [anon_sym_U_SQUOTE] = ACTIONS(1162), + [anon_sym_u8_SQUOTE] = ACTIONS(1162), + [anon_sym_SQUOTE] = ACTIONS(1162), + [anon_sym_L_DQUOTE] = ACTIONS(1162), + [anon_sym_u_DQUOTE] = ACTIONS(1162), + [anon_sym_U_DQUOTE] = ACTIONS(1162), + [anon_sym_u8_DQUOTE] = ACTIONS(1162), + [anon_sym_DQUOTE] = ACTIONS(1162), + [sym_true] = ACTIONS(1160), + [sym_false] = ACTIONS(1160), + [anon_sym_NULL] = ACTIONS(1160), + [anon_sym_nullptr] = ACTIONS(1160), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1162), + }, + [95] = { + [sym__identifier] = ACTIONS(1164), + [aux_sym_preproc_include_token1] = ACTIONS(1164), + [aux_sym_preproc_def_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token2] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1164), + [aux_sym_preproc_else_token1] = ACTIONS(1164), + [aux_sym_preproc_elif_token1] = ACTIONS(1164), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1164), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1164), + [sym_preproc_directive] = ACTIONS(1164), + [anon_sym_LPAREN2] = ACTIONS(1166), + [anon_sym_BANG] = ACTIONS(1166), + [anon_sym_TILDE] = ACTIONS(1166), + [anon_sym_DASH] = ACTIONS(1164), + [anon_sym_PLUS] = ACTIONS(1164), + [anon_sym_STAR] = ACTIONS(1166), + [anon_sym_AMP] = ACTIONS(1166), + [anon_sym_SEMI] = ACTIONS(1166), + [anon_sym___extension__] = ACTIONS(1164), + [anon_sym_typedef] = ACTIONS(1164), + [anon_sym_extern] = ACTIONS(1164), + [anon_sym___attribute__] = ACTIONS(1164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1166), + [anon_sym___declspec] = ACTIONS(1164), + [anon_sym___cdecl] = ACTIONS(1164), + [anon_sym___clrcall] = ACTIONS(1164), + [anon_sym___stdcall] = ACTIONS(1164), + [anon_sym___fastcall] = ACTIONS(1164), + [anon_sym___thiscall] = ACTIONS(1164), + [anon_sym___vectorcall] = ACTIONS(1164), + [anon_sym_LBRACE] = ACTIONS(1166), + [anon_sym_signed] = ACTIONS(1164), + [anon_sym_unsigned] = ACTIONS(1164), + [anon_sym_long] = ACTIONS(1164), + [anon_sym_short] = ACTIONS(1164), + [anon_sym_static] = ACTIONS(1164), + [anon_sym_auto] = ACTIONS(1164), + [anon_sym_register] = ACTIONS(1164), + [anon_sym_inline] = ACTIONS(1164), + [anon_sym___inline] = ACTIONS(1164), + [anon_sym___inline__] = ACTIONS(1164), + [anon_sym___forceinline] = ACTIONS(1164), + [anon_sym_thread_local] = ACTIONS(1164), + [anon_sym___thread] = ACTIONS(1164), + [anon_sym_const] = ACTIONS(1164), + [anon_sym_constexpr] = ACTIONS(1164), + [anon_sym_volatile] = ACTIONS(1164), + [anon_sym_restrict] = ACTIONS(1164), + [anon_sym___restrict__] = ACTIONS(1164), + [anon_sym__Atomic] = ACTIONS(1164), + [anon_sym__Noreturn] = ACTIONS(1164), + [anon_sym_noreturn] = ACTIONS(1164), + [anon_sym_alignas] = ACTIONS(1164), + [anon_sym__Alignas] = ACTIONS(1164), + [sym_primitive_type] = ACTIONS(1164), + [anon_sym_enum] = ACTIONS(1164), + [anon_sym_struct] = ACTIONS(1164), + [anon_sym_union] = ACTIONS(1164), + [anon_sym_if] = ACTIONS(1164), + [anon_sym_else] = ACTIONS(1164), + [anon_sym_switch] = ACTIONS(1164), + [anon_sym_case] = ACTIONS(1164), + [anon_sym_default] = ACTIONS(1164), + [anon_sym_while] = ACTIONS(1164), + [anon_sym_do] = ACTIONS(1164), + [anon_sym_for] = ACTIONS(1164), + [anon_sym_return] = ACTIONS(1164), + [anon_sym_break] = ACTIONS(1164), + [anon_sym_continue] = ACTIONS(1164), + [anon_sym_goto] = ACTIONS(1164), + [anon_sym___try] = ACTIONS(1164), + [anon_sym___leave] = ACTIONS(1164), + [anon_sym_DASH_DASH] = ACTIONS(1166), + [anon_sym_PLUS_PLUS] = ACTIONS(1166), + [anon_sym_sizeof] = ACTIONS(1164), + [anon_sym___alignof__] = ACTIONS(1164), + [anon_sym___alignof] = ACTIONS(1164), + [anon_sym__alignof] = ACTIONS(1164), + [anon_sym_alignof] = ACTIONS(1164), + [anon_sym__Alignof] = ACTIONS(1164), + [anon_sym_offsetof] = ACTIONS(1164), + [anon_sym__Generic] = ACTIONS(1164), + [anon_sym_asm] = ACTIONS(1164), + [anon_sym___asm__] = ACTIONS(1164), + [sym__number_literal] = ACTIONS(1166), + [anon_sym_L_SQUOTE] = ACTIONS(1166), + [anon_sym_u_SQUOTE] = ACTIONS(1166), + [anon_sym_U_SQUOTE] = ACTIONS(1166), + [anon_sym_u8_SQUOTE] = ACTIONS(1166), + [anon_sym_SQUOTE] = ACTIONS(1166), + [anon_sym_L_DQUOTE] = ACTIONS(1166), + [anon_sym_u_DQUOTE] = ACTIONS(1166), + [anon_sym_U_DQUOTE] = ACTIONS(1166), + [anon_sym_u8_DQUOTE] = ACTIONS(1166), + [anon_sym_DQUOTE] = ACTIONS(1166), + [sym_true] = ACTIONS(1164), + [sym_false] = ACTIONS(1164), + [anon_sym_NULL] = ACTIONS(1164), + [anon_sym_nullptr] = ACTIONS(1164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1166), + }, + [96] = { + [sym__identifier] = ACTIONS(1168), + [aux_sym_preproc_include_token1] = ACTIONS(1168), + [aux_sym_preproc_def_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token2] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1168), + [aux_sym_preproc_else_token1] = ACTIONS(1168), + [aux_sym_preproc_elif_token1] = ACTIONS(1168), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1168), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1168), + [sym_preproc_directive] = ACTIONS(1168), + [anon_sym_LPAREN2] = ACTIONS(1170), + [anon_sym_BANG] = ACTIONS(1170), + [anon_sym_TILDE] = ACTIONS(1170), + [anon_sym_DASH] = ACTIONS(1168), + [anon_sym_PLUS] = ACTIONS(1168), + [anon_sym_STAR] = ACTIONS(1170), + [anon_sym_AMP] = ACTIONS(1170), + [anon_sym_SEMI] = ACTIONS(1170), + [anon_sym___extension__] = ACTIONS(1168), + [anon_sym_typedef] = ACTIONS(1168), + [anon_sym_extern] = ACTIONS(1168), + [anon_sym___attribute__] = ACTIONS(1168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1170), + [anon_sym___declspec] = ACTIONS(1168), + [anon_sym___cdecl] = ACTIONS(1168), + [anon_sym___clrcall] = ACTIONS(1168), + [anon_sym___stdcall] = ACTIONS(1168), + [anon_sym___fastcall] = ACTIONS(1168), + [anon_sym___thiscall] = ACTIONS(1168), + [anon_sym___vectorcall] = ACTIONS(1168), + [anon_sym_LBRACE] = ACTIONS(1170), + [anon_sym_signed] = ACTIONS(1168), + [anon_sym_unsigned] = ACTIONS(1168), + [anon_sym_long] = ACTIONS(1168), + [anon_sym_short] = ACTIONS(1168), + [anon_sym_static] = ACTIONS(1168), + [anon_sym_auto] = ACTIONS(1168), + [anon_sym_register] = ACTIONS(1168), + [anon_sym_inline] = ACTIONS(1168), + [anon_sym___inline] = ACTIONS(1168), + [anon_sym___inline__] = ACTIONS(1168), + [anon_sym___forceinline] = ACTIONS(1168), + [anon_sym_thread_local] = ACTIONS(1168), + [anon_sym___thread] = ACTIONS(1168), + [anon_sym_const] = ACTIONS(1168), + [anon_sym_constexpr] = ACTIONS(1168), + [anon_sym_volatile] = ACTIONS(1168), + [anon_sym_restrict] = ACTIONS(1168), + [anon_sym___restrict__] = ACTIONS(1168), + [anon_sym__Atomic] = ACTIONS(1168), + [anon_sym__Noreturn] = ACTIONS(1168), + [anon_sym_noreturn] = ACTIONS(1168), + [anon_sym_alignas] = ACTIONS(1168), + [anon_sym__Alignas] = ACTIONS(1168), + [sym_primitive_type] = ACTIONS(1168), + [anon_sym_enum] = ACTIONS(1168), + [anon_sym_struct] = ACTIONS(1168), + [anon_sym_union] = ACTIONS(1168), + [anon_sym_if] = ACTIONS(1168), + [anon_sym_else] = ACTIONS(1168), + [anon_sym_switch] = ACTIONS(1168), + [anon_sym_case] = ACTIONS(1168), + [anon_sym_default] = ACTIONS(1168), + [anon_sym_while] = ACTIONS(1168), + [anon_sym_do] = ACTIONS(1168), + [anon_sym_for] = ACTIONS(1168), + [anon_sym_return] = ACTIONS(1168), + [anon_sym_break] = ACTIONS(1168), + [anon_sym_continue] = ACTIONS(1168), + [anon_sym_goto] = ACTIONS(1168), + [anon_sym___try] = ACTIONS(1168), + [anon_sym___leave] = ACTIONS(1168), + [anon_sym_DASH_DASH] = ACTIONS(1170), + [anon_sym_PLUS_PLUS] = ACTIONS(1170), + [anon_sym_sizeof] = ACTIONS(1168), + [anon_sym___alignof__] = ACTIONS(1168), + [anon_sym___alignof] = ACTIONS(1168), + [anon_sym__alignof] = ACTIONS(1168), + [anon_sym_alignof] = ACTIONS(1168), + [anon_sym__Alignof] = ACTIONS(1168), + [anon_sym_offsetof] = ACTIONS(1168), + [anon_sym__Generic] = ACTIONS(1168), + [anon_sym_asm] = ACTIONS(1168), + [anon_sym___asm__] = ACTIONS(1168), + [sym__number_literal] = ACTIONS(1170), + [anon_sym_L_SQUOTE] = ACTIONS(1170), + [anon_sym_u_SQUOTE] = ACTIONS(1170), + [anon_sym_U_SQUOTE] = ACTIONS(1170), + [anon_sym_u8_SQUOTE] = ACTIONS(1170), + [anon_sym_SQUOTE] = ACTIONS(1170), + [anon_sym_L_DQUOTE] = ACTIONS(1170), + [anon_sym_u_DQUOTE] = ACTIONS(1170), + [anon_sym_U_DQUOTE] = ACTIONS(1170), + [anon_sym_u8_DQUOTE] = ACTIONS(1170), + [anon_sym_DQUOTE] = ACTIONS(1170), + [sym_true] = ACTIONS(1168), + [sym_false] = ACTIONS(1168), + [anon_sym_NULL] = ACTIONS(1168), + [anon_sym_nullptr] = ACTIONS(1168), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1170), + }, + [97] = { + [sym__identifier] = ACTIONS(1172), + [aux_sym_preproc_include_token1] = ACTIONS(1172), + [aux_sym_preproc_def_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token2] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1172), + [aux_sym_preproc_else_token1] = ACTIONS(1172), + [aux_sym_preproc_elif_token1] = ACTIONS(1172), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1172), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1172), + [sym_preproc_directive] = ACTIONS(1172), + [anon_sym_LPAREN2] = ACTIONS(1174), + [anon_sym_BANG] = ACTIONS(1174), + [anon_sym_TILDE] = ACTIONS(1174), + [anon_sym_DASH] = ACTIONS(1172), + [anon_sym_PLUS] = ACTIONS(1172), + [anon_sym_STAR] = ACTIONS(1174), + [anon_sym_AMP] = ACTIONS(1174), + [anon_sym_SEMI] = ACTIONS(1174), + [anon_sym___extension__] = ACTIONS(1172), + [anon_sym_typedef] = ACTIONS(1172), + [anon_sym_extern] = ACTIONS(1172), + [anon_sym___attribute__] = ACTIONS(1172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1174), + [anon_sym___declspec] = ACTIONS(1172), + [anon_sym___cdecl] = ACTIONS(1172), + [anon_sym___clrcall] = ACTIONS(1172), + [anon_sym___stdcall] = ACTIONS(1172), + [anon_sym___fastcall] = ACTIONS(1172), + [anon_sym___thiscall] = ACTIONS(1172), + [anon_sym___vectorcall] = ACTIONS(1172), + [anon_sym_LBRACE] = ACTIONS(1174), + [anon_sym_signed] = ACTIONS(1172), + [anon_sym_unsigned] = ACTIONS(1172), + [anon_sym_long] = ACTIONS(1172), + [anon_sym_short] = ACTIONS(1172), + [anon_sym_static] = ACTIONS(1172), + [anon_sym_auto] = ACTIONS(1172), + [anon_sym_register] = ACTIONS(1172), + [anon_sym_inline] = ACTIONS(1172), + [anon_sym___inline] = ACTIONS(1172), + [anon_sym___inline__] = ACTIONS(1172), + [anon_sym___forceinline] = ACTIONS(1172), + [anon_sym_thread_local] = ACTIONS(1172), + [anon_sym___thread] = ACTIONS(1172), + [anon_sym_const] = ACTIONS(1172), + [anon_sym_constexpr] = ACTIONS(1172), + [anon_sym_volatile] = ACTIONS(1172), + [anon_sym_restrict] = ACTIONS(1172), + [anon_sym___restrict__] = ACTIONS(1172), + [anon_sym__Atomic] = ACTIONS(1172), + [anon_sym__Noreturn] = ACTIONS(1172), + [anon_sym_noreturn] = ACTIONS(1172), + [anon_sym_alignas] = ACTIONS(1172), + [anon_sym__Alignas] = ACTIONS(1172), + [sym_primitive_type] = ACTIONS(1172), + [anon_sym_enum] = ACTIONS(1172), + [anon_sym_struct] = ACTIONS(1172), + [anon_sym_union] = ACTIONS(1172), + [anon_sym_if] = ACTIONS(1172), + [anon_sym_else] = ACTIONS(1172), + [anon_sym_switch] = ACTIONS(1172), + [anon_sym_case] = ACTIONS(1172), + [anon_sym_default] = ACTIONS(1172), + [anon_sym_while] = ACTIONS(1172), + [anon_sym_do] = ACTIONS(1172), + [anon_sym_for] = ACTIONS(1172), + [anon_sym_return] = ACTIONS(1172), + [anon_sym_break] = ACTIONS(1172), + [anon_sym_continue] = ACTIONS(1172), + [anon_sym_goto] = ACTIONS(1172), + [anon_sym___try] = ACTIONS(1172), + [anon_sym___leave] = ACTIONS(1172), + [anon_sym_DASH_DASH] = ACTIONS(1174), + [anon_sym_PLUS_PLUS] = ACTIONS(1174), + [anon_sym_sizeof] = ACTIONS(1172), + [anon_sym___alignof__] = ACTIONS(1172), + [anon_sym___alignof] = ACTIONS(1172), + [anon_sym__alignof] = ACTIONS(1172), + [anon_sym_alignof] = ACTIONS(1172), + [anon_sym__Alignof] = ACTIONS(1172), + [anon_sym_offsetof] = ACTIONS(1172), + [anon_sym__Generic] = ACTIONS(1172), + [anon_sym_asm] = ACTIONS(1172), + [anon_sym___asm__] = ACTIONS(1172), + [sym__number_literal] = ACTIONS(1174), + [anon_sym_L_SQUOTE] = ACTIONS(1174), + [anon_sym_u_SQUOTE] = ACTIONS(1174), + [anon_sym_U_SQUOTE] = ACTIONS(1174), + [anon_sym_u8_SQUOTE] = ACTIONS(1174), + [anon_sym_SQUOTE] = ACTIONS(1174), + [anon_sym_L_DQUOTE] = ACTIONS(1174), + [anon_sym_u_DQUOTE] = ACTIONS(1174), + [anon_sym_U_DQUOTE] = ACTIONS(1174), + [anon_sym_u8_DQUOTE] = ACTIONS(1174), + [anon_sym_DQUOTE] = ACTIONS(1174), + [sym_true] = ACTIONS(1172), + [sym_false] = ACTIONS(1172), + [anon_sym_NULL] = ACTIONS(1172), + [anon_sym_nullptr] = ACTIONS(1172), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1174), + }, + [98] = { + [sym__identifier] = ACTIONS(1176), + [aux_sym_preproc_include_token1] = ACTIONS(1176), + [aux_sym_preproc_def_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token2] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1176), + [aux_sym_preproc_else_token1] = ACTIONS(1176), + [aux_sym_preproc_elif_token1] = ACTIONS(1176), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1176), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1176), + [sym_preproc_directive] = ACTIONS(1176), + [anon_sym_LPAREN2] = ACTIONS(1178), + [anon_sym_BANG] = ACTIONS(1178), + [anon_sym_TILDE] = ACTIONS(1178), + [anon_sym_DASH] = ACTIONS(1176), + [anon_sym_PLUS] = ACTIONS(1176), + [anon_sym_STAR] = ACTIONS(1178), + [anon_sym_AMP] = ACTIONS(1178), + [anon_sym_SEMI] = ACTIONS(1178), + [anon_sym___extension__] = ACTIONS(1176), + [anon_sym_typedef] = ACTIONS(1176), + [anon_sym_extern] = ACTIONS(1176), + [anon_sym___attribute__] = ACTIONS(1176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1178), + [anon_sym___declspec] = ACTIONS(1176), + [anon_sym___cdecl] = ACTIONS(1176), + [anon_sym___clrcall] = ACTIONS(1176), + [anon_sym___stdcall] = ACTIONS(1176), + [anon_sym___fastcall] = ACTIONS(1176), + [anon_sym___thiscall] = ACTIONS(1176), + [anon_sym___vectorcall] = ACTIONS(1176), + [anon_sym_LBRACE] = ACTIONS(1178), + [anon_sym_signed] = ACTIONS(1176), + [anon_sym_unsigned] = ACTIONS(1176), + [anon_sym_long] = ACTIONS(1176), + [anon_sym_short] = ACTIONS(1176), + [anon_sym_static] = ACTIONS(1176), + [anon_sym_auto] = ACTIONS(1176), + [anon_sym_register] = ACTIONS(1176), + [anon_sym_inline] = ACTIONS(1176), + [anon_sym___inline] = ACTIONS(1176), + [anon_sym___inline__] = ACTIONS(1176), + [anon_sym___forceinline] = ACTIONS(1176), + [anon_sym_thread_local] = ACTIONS(1176), + [anon_sym___thread] = ACTIONS(1176), + [anon_sym_const] = ACTIONS(1176), + [anon_sym_constexpr] = ACTIONS(1176), + [anon_sym_volatile] = ACTIONS(1176), + [anon_sym_restrict] = ACTIONS(1176), + [anon_sym___restrict__] = ACTIONS(1176), + [anon_sym__Atomic] = ACTIONS(1176), + [anon_sym__Noreturn] = ACTIONS(1176), + [anon_sym_noreturn] = ACTIONS(1176), + [anon_sym_alignas] = ACTIONS(1176), + [anon_sym__Alignas] = ACTIONS(1176), + [sym_primitive_type] = ACTIONS(1176), + [anon_sym_enum] = ACTIONS(1176), + [anon_sym_struct] = ACTIONS(1176), + [anon_sym_union] = ACTIONS(1176), + [anon_sym_if] = ACTIONS(1176), + [anon_sym_else] = ACTIONS(1176), + [anon_sym_switch] = ACTIONS(1176), + [anon_sym_case] = ACTIONS(1176), + [anon_sym_default] = ACTIONS(1176), + [anon_sym_while] = ACTIONS(1176), + [anon_sym_do] = ACTIONS(1176), + [anon_sym_for] = ACTIONS(1176), + [anon_sym_return] = ACTIONS(1176), + [anon_sym_break] = ACTIONS(1176), + [anon_sym_continue] = ACTIONS(1176), + [anon_sym_goto] = ACTIONS(1176), + [anon_sym___try] = ACTIONS(1176), + [anon_sym___leave] = ACTIONS(1176), + [anon_sym_DASH_DASH] = ACTIONS(1178), + [anon_sym_PLUS_PLUS] = ACTIONS(1178), + [anon_sym_sizeof] = ACTIONS(1176), + [anon_sym___alignof__] = ACTIONS(1176), + [anon_sym___alignof] = ACTIONS(1176), + [anon_sym__alignof] = ACTIONS(1176), + [anon_sym_alignof] = ACTIONS(1176), + [anon_sym__Alignof] = ACTIONS(1176), + [anon_sym_offsetof] = ACTIONS(1176), + [anon_sym__Generic] = ACTIONS(1176), + [anon_sym_asm] = ACTIONS(1176), + [anon_sym___asm__] = ACTIONS(1176), + [sym__number_literal] = ACTIONS(1178), + [anon_sym_L_SQUOTE] = ACTIONS(1178), + [anon_sym_u_SQUOTE] = ACTIONS(1178), + [anon_sym_U_SQUOTE] = ACTIONS(1178), + [anon_sym_u8_SQUOTE] = ACTIONS(1178), + [anon_sym_SQUOTE] = ACTIONS(1178), + [anon_sym_L_DQUOTE] = ACTIONS(1178), + [anon_sym_u_DQUOTE] = ACTIONS(1178), + [anon_sym_U_DQUOTE] = ACTIONS(1178), + [anon_sym_u8_DQUOTE] = ACTIONS(1178), + [anon_sym_DQUOTE] = ACTIONS(1178), + [sym_true] = ACTIONS(1176), + [sym_false] = ACTIONS(1176), + [anon_sym_NULL] = ACTIONS(1176), + [anon_sym_nullptr] = ACTIONS(1176), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1178), + }, + [99] = { + [ts_builtin_sym_end] = ACTIONS(1130), + [sym__identifier] = ACTIONS(1128), + [aux_sym_preproc_include_token1] = ACTIONS(1128), + [aux_sym_preproc_def_token1] = ACTIONS(1128), + [anon_sym_COMMA] = ACTIONS(1130), + [anon_sym_RPAREN] = ACTIONS(1130), + [aux_sym_preproc_if_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1128), + [sym_preproc_directive] = ACTIONS(1128), + [anon_sym_LPAREN2] = ACTIONS(1130), + [anon_sym_BANG] = ACTIONS(1130), + [anon_sym_TILDE] = ACTIONS(1130), + [anon_sym_DASH] = ACTIONS(1128), + [anon_sym_PLUS] = ACTIONS(1128), + [anon_sym_STAR] = ACTIONS(1130), + [anon_sym_AMP] = ACTIONS(1130), + [anon_sym_SEMI] = ACTIONS(1130), + [anon_sym___extension__] = ACTIONS(1128), + [anon_sym_typedef] = ACTIONS(1128), + [anon_sym_extern] = ACTIONS(1128), + [anon_sym___attribute__] = ACTIONS(1128), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1130), + [anon_sym___declspec] = ACTIONS(1128), + [anon_sym___cdecl] = ACTIONS(1128), + [anon_sym___clrcall] = ACTIONS(1128), + [anon_sym___stdcall] = ACTIONS(1128), + [anon_sym___fastcall] = ACTIONS(1128), + [anon_sym___thiscall] = ACTIONS(1128), + [anon_sym___vectorcall] = ACTIONS(1128), + [anon_sym_LBRACE] = ACTIONS(1130), + [anon_sym_signed] = ACTIONS(1128), + [anon_sym_unsigned] = ACTIONS(1128), + [anon_sym_long] = ACTIONS(1128), + [anon_sym_short] = ACTIONS(1128), + [anon_sym_static] = ACTIONS(1128), + [anon_sym_auto] = ACTIONS(1128), + [anon_sym_register] = ACTIONS(1128), + [anon_sym_inline] = ACTIONS(1128), + [anon_sym___inline] = ACTIONS(1128), + [anon_sym___inline__] = ACTIONS(1128), + [anon_sym___forceinline] = ACTIONS(1128), + [anon_sym_thread_local] = ACTIONS(1128), + [anon_sym___thread] = ACTIONS(1128), + [anon_sym_const] = ACTIONS(1128), + [anon_sym_constexpr] = ACTIONS(1128), + [anon_sym_volatile] = ACTIONS(1128), + [anon_sym_restrict] = ACTIONS(1128), + [anon_sym___restrict__] = ACTIONS(1128), + [anon_sym__Atomic] = ACTIONS(1128), + [anon_sym__Noreturn] = ACTIONS(1128), + [anon_sym_noreturn] = ACTIONS(1128), + [anon_sym_alignas] = ACTIONS(1128), + [anon_sym__Alignas] = ACTIONS(1128), + [sym_primitive_type] = ACTIONS(1128), + [anon_sym_enum] = ACTIONS(1128), + [anon_sym_struct] = ACTIONS(1128), + [anon_sym_union] = ACTIONS(1128), + [anon_sym_if] = ACTIONS(1128), + [anon_sym_else] = ACTIONS(1128), + [anon_sym_switch] = ACTIONS(1128), + [anon_sym_case] = ACTIONS(1128), + [anon_sym_default] = ACTIONS(1128), + [anon_sym_while] = ACTIONS(1128), + [anon_sym_do] = ACTIONS(1128), + [anon_sym_for] = ACTIONS(1128), + [anon_sym_return] = ACTIONS(1128), + [anon_sym_break] = ACTIONS(1128), + [anon_sym_continue] = ACTIONS(1128), + [anon_sym_goto] = ACTIONS(1128), + [anon_sym___try] = ACTIONS(1128), + [anon_sym___except] = ACTIONS(1128), + [anon_sym___finally] = ACTIONS(1128), + [anon_sym___leave] = ACTIONS(1128), + [anon_sym_DASH_DASH] = ACTIONS(1130), + [anon_sym_PLUS_PLUS] = ACTIONS(1130), + [anon_sym_sizeof] = ACTIONS(1128), + [anon_sym___alignof__] = ACTIONS(1128), + [anon_sym___alignof] = ACTIONS(1128), + [anon_sym__alignof] = ACTIONS(1128), + [anon_sym_alignof] = ACTIONS(1128), + [anon_sym__Alignof] = ACTIONS(1128), + [anon_sym_offsetof] = ACTIONS(1128), + [anon_sym__Generic] = ACTIONS(1128), + [anon_sym_asm] = ACTIONS(1128), + [anon_sym___asm__] = ACTIONS(1128), + [sym__number_literal] = ACTIONS(1130), + [anon_sym_L_SQUOTE] = ACTIONS(1130), + [anon_sym_u_SQUOTE] = ACTIONS(1130), + [anon_sym_U_SQUOTE] = ACTIONS(1130), + [anon_sym_u8_SQUOTE] = ACTIONS(1130), + [anon_sym_SQUOTE] = ACTIONS(1130), + [anon_sym_L_DQUOTE] = ACTIONS(1130), + [anon_sym_u_DQUOTE] = ACTIONS(1130), + [anon_sym_U_DQUOTE] = ACTIONS(1130), + [anon_sym_u8_DQUOTE] = ACTIONS(1130), + [anon_sym_DQUOTE] = ACTIONS(1130), + [sym_true] = ACTIONS(1128), + [sym_false] = ACTIONS(1128), + [anon_sym_NULL] = ACTIONS(1128), + [anon_sym_nullptr] = ACTIONS(1128), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1130), + }, + [100] = { + [sym__identifier] = ACTIONS(1180), + [aux_sym_preproc_include_token1] = ACTIONS(1180), + [aux_sym_preproc_def_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token2] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1180), + [aux_sym_preproc_else_token1] = ACTIONS(1180), + [aux_sym_preproc_elif_token1] = ACTIONS(1180), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1180), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1180), + [sym_preproc_directive] = ACTIONS(1180), + [anon_sym_LPAREN2] = ACTIONS(1182), + [anon_sym_BANG] = ACTIONS(1182), + [anon_sym_TILDE] = ACTIONS(1182), + [anon_sym_DASH] = ACTIONS(1180), + [anon_sym_PLUS] = ACTIONS(1180), + [anon_sym_STAR] = ACTIONS(1182), + [anon_sym_AMP] = ACTIONS(1182), + [anon_sym_SEMI] = ACTIONS(1182), + [anon_sym___extension__] = ACTIONS(1180), + [anon_sym_typedef] = ACTIONS(1180), + [anon_sym_extern] = ACTIONS(1180), + [anon_sym___attribute__] = ACTIONS(1180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1182), + [anon_sym___declspec] = ACTIONS(1180), + [anon_sym___cdecl] = ACTIONS(1180), + [anon_sym___clrcall] = ACTIONS(1180), + [anon_sym___stdcall] = ACTIONS(1180), + [anon_sym___fastcall] = ACTIONS(1180), + [anon_sym___thiscall] = ACTIONS(1180), + [anon_sym___vectorcall] = ACTIONS(1180), + [anon_sym_LBRACE] = ACTIONS(1182), + [anon_sym_signed] = ACTIONS(1180), + [anon_sym_unsigned] = ACTIONS(1180), + [anon_sym_long] = ACTIONS(1180), + [anon_sym_short] = ACTIONS(1180), + [anon_sym_static] = ACTIONS(1180), + [anon_sym_auto] = ACTIONS(1180), + [anon_sym_register] = ACTIONS(1180), + [anon_sym_inline] = ACTIONS(1180), + [anon_sym___inline] = ACTIONS(1180), + [anon_sym___inline__] = ACTIONS(1180), + [anon_sym___forceinline] = ACTIONS(1180), + [anon_sym_thread_local] = ACTIONS(1180), + [anon_sym___thread] = ACTIONS(1180), + [anon_sym_const] = ACTIONS(1180), + [anon_sym_constexpr] = ACTIONS(1180), + [anon_sym_volatile] = ACTIONS(1180), + [anon_sym_restrict] = ACTIONS(1180), + [anon_sym___restrict__] = ACTIONS(1180), + [anon_sym__Atomic] = ACTIONS(1180), + [anon_sym__Noreturn] = ACTIONS(1180), + [anon_sym_noreturn] = ACTIONS(1180), + [anon_sym_alignas] = ACTIONS(1180), + [anon_sym__Alignas] = ACTIONS(1180), + [sym_primitive_type] = ACTIONS(1180), + [anon_sym_enum] = ACTIONS(1180), + [anon_sym_struct] = ACTIONS(1180), + [anon_sym_union] = ACTIONS(1180), + [anon_sym_if] = ACTIONS(1180), + [anon_sym_else] = ACTIONS(1180), + [anon_sym_switch] = ACTIONS(1180), + [anon_sym_case] = ACTIONS(1180), + [anon_sym_default] = ACTIONS(1180), + [anon_sym_while] = ACTIONS(1180), + [anon_sym_do] = ACTIONS(1180), + [anon_sym_for] = ACTIONS(1180), + [anon_sym_return] = ACTIONS(1180), + [anon_sym_break] = ACTIONS(1180), + [anon_sym_continue] = ACTIONS(1180), + [anon_sym_goto] = ACTIONS(1180), + [anon_sym___try] = ACTIONS(1180), + [anon_sym___leave] = ACTIONS(1180), + [anon_sym_DASH_DASH] = ACTIONS(1182), + [anon_sym_PLUS_PLUS] = ACTIONS(1182), + [anon_sym_sizeof] = ACTIONS(1180), + [anon_sym___alignof__] = ACTIONS(1180), + [anon_sym___alignof] = ACTIONS(1180), + [anon_sym__alignof] = ACTIONS(1180), + [anon_sym_alignof] = ACTIONS(1180), + [anon_sym__Alignof] = ACTIONS(1180), + [anon_sym_offsetof] = ACTIONS(1180), + [anon_sym__Generic] = ACTIONS(1180), + [anon_sym_asm] = ACTIONS(1180), + [anon_sym___asm__] = ACTIONS(1180), + [sym__number_literal] = ACTIONS(1182), + [anon_sym_L_SQUOTE] = ACTIONS(1182), + [anon_sym_u_SQUOTE] = ACTIONS(1182), + [anon_sym_U_SQUOTE] = ACTIONS(1182), + [anon_sym_u8_SQUOTE] = ACTIONS(1182), + [anon_sym_SQUOTE] = ACTIONS(1182), + [anon_sym_L_DQUOTE] = ACTIONS(1182), + [anon_sym_u_DQUOTE] = ACTIONS(1182), + [anon_sym_U_DQUOTE] = ACTIONS(1182), + [anon_sym_u8_DQUOTE] = ACTIONS(1182), + [anon_sym_DQUOTE] = ACTIONS(1182), + [sym_true] = ACTIONS(1180), + [sym_false] = ACTIONS(1180), + [anon_sym_NULL] = ACTIONS(1180), + [anon_sym_nullptr] = ACTIONS(1180), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1182), + }, + [101] = { + [sym__identifier] = ACTIONS(1184), + [aux_sym_preproc_include_token1] = ACTIONS(1184), + [aux_sym_preproc_def_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token2] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1184), + [aux_sym_preproc_else_token1] = ACTIONS(1184), + [aux_sym_preproc_elif_token1] = ACTIONS(1184), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1184), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1184), + [sym_preproc_directive] = ACTIONS(1184), + [anon_sym_LPAREN2] = ACTIONS(1186), + [anon_sym_BANG] = ACTIONS(1186), + [anon_sym_TILDE] = ACTIONS(1186), + [anon_sym_DASH] = ACTIONS(1184), + [anon_sym_PLUS] = ACTIONS(1184), + [anon_sym_STAR] = ACTIONS(1186), + [anon_sym_AMP] = ACTIONS(1186), + [anon_sym_SEMI] = ACTIONS(1186), + [anon_sym___extension__] = ACTIONS(1184), + [anon_sym_typedef] = ACTIONS(1184), + [anon_sym_extern] = ACTIONS(1184), + [anon_sym___attribute__] = ACTIONS(1184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1186), + [anon_sym___declspec] = ACTIONS(1184), + [anon_sym___cdecl] = ACTIONS(1184), + [anon_sym___clrcall] = ACTIONS(1184), + [anon_sym___stdcall] = ACTIONS(1184), + [anon_sym___fastcall] = ACTIONS(1184), + [anon_sym___thiscall] = ACTIONS(1184), + [anon_sym___vectorcall] = ACTIONS(1184), + [anon_sym_LBRACE] = ACTIONS(1186), + [anon_sym_signed] = ACTIONS(1184), + [anon_sym_unsigned] = ACTIONS(1184), + [anon_sym_long] = ACTIONS(1184), + [anon_sym_short] = ACTIONS(1184), + [anon_sym_static] = ACTIONS(1184), + [anon_sym_auto] = ACTIONS(1184), + [anon_sym_register] = ACTIONS(1184), + [anon_sym_inline] = ACTIONS(1184), + [anon_sym___inline] = ACTIONS(1184), + [anon_sym___inline__] = ACTIONS(1184), + [anon_sym___forceinline] = ACTIONS(1184), + [anon_sym_thread_local] = ACTIONS(1184), + [anon_sym___thread] = ACTIONS(1184), + [anon_sym_const] = ACTIONS(1184), + [anon_sym_constexpr] = ACTIONS(1184), + [anon_sym_volatile] = ACTIONS(1184), + [anon_sym_restrict] = ACTIONS(1184), + [anon_sym___restrict__] = ACTIONS(1184), + [anon_sym__Atomic] = ACTIONS(1184), + [anon_sym__Noreturn] = ACTIONS(1184), + [anon_sym_noreturn] = ACTIONS(1184), + [anon_sym_alignas] = ACTIONS(1184), + [anon_sym__Alignas] = ACTIONS(1184), + [sym_primitive_type] = ACTIONS(1184), + [anon_sym_enum] = ACTIONS(1184), + [anon_sym_struct] = ACTIONS(1184), + [anon_sym_union] = ACTIONS(1184), + [anon_sym_if] = ACTIONS(1184), + [anon_sym_else] = ACTIONS(1184), + [anon_sym_switch] = ACTIONS(1184), + [anon_sym_case] = ACTIONS(1184), + [anon_sym_default] = ACTIONS(1184), + [anon_sym_while] = ACTIONS(1184), + [anon_sym_do] = ACTIONS(1184), + [anon_sym_for] = ACTIONS(1184), + [anon_sym_return] = ACTIONS(1184), + [anon_sym_break] = ACTIONS(1184), + [anon_sym_continue] = ACTIONS(1184), + [anon_sym_goto] = ACTIONS(1184), + [anon_sym___try] = ACTIONS(1184), + [anon_sym___leave] = ACTIONS(1184), + [anon_sym_DASH_DASH] = ACTIONS(1186), + [anon_sym_PLUS_PLUS] = ACTIONS(1186), + [anon_sym_sizeof] = ACTIONS(1184), + [anon_sym___alignof__] = ACTIONS(1184), + [anon_sym___alignof] = ACTIONS(1184), + [anon_sym__alignof] = ACTIONS(1184), + [anon_sym_alignof] = ACTIONS(1184), + [anon_sym__Alignof] = ACTIONS(1184), + [anon_sym_offsetof] = ACTIONS(1184), + [anon_sym__Generic] = ACTIONS(1184), + [anon_sym_asm] = ACTIONS(1184), + [anon_sym___asm__] = ACTIONS(1184), + [sym__number_literal] = ACTIONS(1186), + [anon_sym_L_SQUOTE] = ACTIONS(1186), + [anon_sym_u_SQUOTE] = ACTIONS(1186), + [anon_sym_U_SQUOTE] = ACTIONS(1186), + [anon_sym_u8_SQUOTE] = ACTIONS(1186), + [anon_sym_SQUOTE] = ACTIONS(1186), + [anon_sym_L_DQUOTE] = ACTIONS(1186), + [anon_sym_u_DQUOTE] = ACTIONS(1186), + [anon_sym_U_DQUOTE] = ACTIONS(1186), + [anon_sym_u8_DQUOTE] = ACTIONS(1186), + [anon_sym_DQUOTE] = ACTIONS(1186), + [sym_true] = ACTIONS(1184), + [sym_false] = ACTIONS(1184), + [anon_sym_NULL] = ACTIONS(1184), + [anon_sym_nullptr] = ACTIONS(1184), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1186), + }, + [102] = { + [sym__identifier] = ACTIONS(1188), + [aux_sym_preproc_include_token1] = ACTIONS(1188), + [aux_sym_preproc_def_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token2] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1188), + [aux_sym_preproc_else_token1] = ACTIONS(1188), + [aux_sym_preproc_elif_token1] = ACTIONS(1188), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1188), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1188), + [sym_preproc_directive] = ACTIONS(1188), + [anon_sym_LPAREN2] = ACTIONS(1190), + [anon_sym_BANG] = ACTIONS(1190), + [anon_sym_TILDE] = ACTIONS(1190), + [anon_sym_DASH] = ACTIONS(1188), + [anon_sym_PLUS] = ACTIONS(1188), + [anon_sym_STAR] = ACTIONS(1190), + [anon_sym_AMP] = ACTIONS(1190), + [anon_sym_SEMI] = ACTIONS(1190), + [anon_sym___extension__] = ACTIONS(1188), + [anon_sym_typedef] = ACTIONS(1188), + [anon_sym_extern] = ACTIONS(1188), + [anon_sym___attribute__] = ACTIONS(1188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1190), + [anon_sym___declspec] = ACTIONS(1188), + [anon_sym___cdecl] = ACTIONS(1188), + [anon_sym___clrcall] = ACTIONS(1188), + [anon_sym___stdcall] = ACTIONS(1188), + [anon_sym___fastcall] = ACTIONS(1188), + [anon_sym___thiscall] = ACTIONS(1188), + [anon_sym___vectorcall] = ACTIONS(1188), + [anon_sym_LBRACE] = ACTIONS(1190), + [anon_sym_signed] = ACTIONS(1188), + [anon_sym_unsigned] = ACTIONS(1188), + [anon_sym_long] = ACTIONS(1188), + [anon_sym_short] = ACTIONS(1188), + [anon_sym_static] = ACTIONS(1188), + [anon_sym_auto] = ACTIONS(1188), + [anon_sym_register] = ACTIONS(1188), + [anon_sym_inline] = ACTIONS(1188), + [anon_sym___inline] = ACTIONS(1188), + [anon_sym___inline__] = ACTIONS(1188), + [anon_sym___forceinline] = ACTIONS(1188), + [anon_sym_thread_local] = ACTIONS(1188), + [anon_sym___thread] = ACTIONS(1188), + [anon_sym_const] = ACTIONS(1188), + [anon_sym_constexpr] = ACTIONS(1188), + [anon_sym_volatile] = ACTIONS(1188), + [anon_sym_restrict] = ACTIONS(1188), + [anon_sym___restrict__] = ACTIONS(1188), + [anon_sym__Atomic] = ACTIONS(1188), + [anon_sym__Noreturn] = ACTIONS(1188), + [anon_sym_noreturn] = ACTIONS(1188), + [anon_sym_alignas] = ACTIONS(1188), + [anon_sym__Alignas] = ACTIONS(1188), + [sym_primitive_type] = ACTIONS(1188), + [anon_sym_enum] = ACTIONS(1188), + [anon_sym_struct] = ACTIONS(1188), + [anon_sym_union] = ACTIONS(1188), + [anon_sym_if] = ACTIONS(1188), + [anon_sym_else] = ACTIONS(1188), + [anon_sym_switch] = ACTIONS(1188), + [anon_sym_case] = ACTIONS(1188), + [anon_sym_default] = ACTIONS(1188), + [anon_sym_while] = ACTIONS(1188), + [anon_sym_do] = ACTIONS(1188), + [anon_sym_for] = ACTIONS(1188), + [anon_sym_return] = ACTIONS(1188), + [anon_sym_break] = ACTIONS(1188), + [anon_sym_continue] = ACTIONS(1188), + [anon_sym_goto] = ACTIONS(1188), + [anon_sym___try] = ACTIONS(1188), + [anon_sym___leave] = ACTIONS(1188), + [anon_sym_DASH_DASH] = ACTIONS(1190), + [anon_sym_PLUS_PLUS] = ACTIONS(1190), + [anon_sym_sizeof] = ACTIONS(1188), + [anon_sym___alignof__] = ACTIONS(1188), + [anon_sym___alignof] = ACTIONS(1188), + [anon_sym__alignof] = ACTIONS(1188), + [anon_sym_alignof] = ACTIONS(1188), + [anon_sym__Alignof] = ACTIONS(1188), + [anon_sym_offsetof] = ACTIONS(1188), + [anon_sym__Generic] = ACTIONS(1188), + [anon_sym_asm] = ACTIONS(1188), + [anon_sym___asm__] = ACTIONS(1188), + [sym__number_literal] = ACTIONS(1190), + [anon_sym_L_SQUOTE] = ACTIONS(1190), + [anon_sym_u_SQUOTE] = ACTIONS(1190), + [anon_sym_U_SQUOTE] = ACTIONS(1190), + [anon_sym_u8_SQUOTE] = ACTIONS(1190), + [anon_sym_SQUOTE] = ACTIONS(1190), + [anon_sym_L_DQUOTE] = ACTIONS(1190), + [anon_sym_u_DQUOTE] = ACTIONS(1190), + [anon_sym_U_DQUOTE] = ACTIONS(1190), + [anon_sym_u8_DQUOTE] = ACTIONS(1190), + [anon_sym_DQUOTE] = ACTIONS(1190), + [sym_true] = ACTIONS(1188), + [sym_false] = ACTIONS(1188), + [anon_sym_NULL] = ACTIONS(1188), + [anon_sym_nullptr] = ACTIONS(1188), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1190), + }, + [103] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token2] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [aux_sym_preproc_else_token1] = ACTIONS(1192), + [aux_sym_preproc_elif_token1] = ACTIONS(1192), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [104] = { + [sym__identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(1196), + [aux_sym_preproc_def_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token2] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1196), + [aux_sym_preproc_else_token1] = ACTIONS(1196), + [aux_sym_preproc_elif_token1] = ACTIONS(1196), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1196), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1196), + [sym_preproc_directive] = ACTIONS(1196), + [anon_sym_LPAREN2] = ACTIONS(1198), + [anon_sym_BANG] = ACTIONS(1198), + [anon_sym_TILDE] = ACTIONS(1198), + [anon_sym_DASH] = ACTIONS(1196), + [anon_sym_PLUS] = ACTIONS(1196), + [anon_sym_STAR] = ACTIONS(1198), + [anon_sym_AMP] = ACTIONS(1198), + [anon_sym_SEMI] = ACTIONS(1198), + [anon_sym___extension__] = ACTIONS(1196), + [anon_sym_typedef] = ACTIONS(1196), + [anon_sym_extern] = ACTIONS(1196), + [anon_sym___attribute__] = ACTIONS(1196), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1198), + [anon_sym___declspec] = ACTIONS(1196), + [anon_sym___cdecl] = ACTIONS(1196), + [anon_sym___clrcall] = ACTIONS(1196), + [anon_sym___stdcall] = ACTIONS(1196), + [anon_sym___fastcall] = ACTIONS(1196), + [anon_sym___thiscall] = ACTIONS(1196), + [anon_sym___vectorcall] = ACTIONS(1196), + [anon_sym_LBRACE] = ACTIONS(1198), + [anon_sym_signed] = ACTIONS(1196), + [anon_sym_unsigned] = ACTIONS(1196), + [anon_sym_long] = ACTIONS(1196), + [anon_sym_short] = ACTIONS(1196), + [anon_sym_static] = ACTIONS(1196), + [anon_sym_auto] = ACTIONS(1196), + [anon_sym_register] = ACTIONS(1196), + [anon_sym_inline] = ACTIONS(1196), + [anon_sym___inline] = ACTIONS(1196), + [anon_sym___inline__] = ACTIONS(1196), + [anon_sym___forceinline] = ACTIONS(1196), + [anon_sym_thread_local] = ACTIONS(1196), + [anon_sym___thread] = ACTIONS(1196), + [anon_sym_const] = ACTIONS(1196), + [anon_sym_constexpr] = ACTIONS(1196), + [anon_sym_volatile] = ACTIONS(1196), + [anon_sym_restrict] = ACTIONS(1196), + [anon_sym___restrict__] = ACTIONS(1196), + [anon_sym__Atomic] = ACTIONS(1196), + [anon_sym__Noreturn] = ACTIONS(1196), + [anon_sym_noreturn] = ACTIONS(1196), + [anon_sym_alignas] = ACTIONS(1196), + [anon_sym__Alignas] = ACTIONS(1196), + [sym_primitive_type] = ACTIONS(1196), + [anon_sym_enum] = ACTIONS(1196), + [anon_sym_struct] = ACTIONS(1196), + [anon_sym_union] = ACTIONS(1196), + [anon_sym_if] = ACTIONS(1196), + [anon_sym_else] = ACTIONS(1196), + [anon_sym_switch] = ACTIONS(1196), + [anon_sym_case] = ACTIONS(1196), + [anon_sym_default] = ACTIONS(1196), + [anon_sym_while] = ACTIONS(1196), + [anon_sym_do] = ACTIONS(1196), + [anon_sym_for] = ACTIONS(1196), + [anon_sym_return] = ACTIONS(1196), + [anon_sym_break] = ACTIONS(1196), + [anon_sym_continue] = ACTIONS(1196), + [anon_sym_goto] = ACTIONS(1196), + [anon_sym___try] = ACTIONS(1196), + [anon_sym___leave] = ACTIONS(1196), + [anon_sym_DASH_DASH] = ACTIONS(1198), + [anon_sym_PLUS_PLUS] = ACTIONS(1198), + [anon_sym_sizeof] = ACTIONS(1196), + [anon_sym___alignof__] = ACTIONS(1196), + [anon_sym___alignof] = ACTIONS(1196), + [anon_sym__alignof] = ACTIONS(1196), + [anon_sym_alignof] = ACTIONS(1196), + [anon_sym__Alignof] = ACTIONS(1196), + [anon_sym_offsetof] = ACTIONS(1196), + [anon_sym__Generic] = ACTIONS(1196), + [anon_sym_asm] = ACTIONS(1196), + [anon_sym___asm__] = ACTIONS(1196), + [sym__number_literal] = ACTIONS(1198), + [anon_sym_L_SQUOTE] = ACTIONS(1198), + [anon_sym_u_SQUOTE] = ACTIONS(1198), + [anon_sym_U_SQUOTE] = ACTIONS(1198), + [anon_sym_u8_SQUOTE] = ACTIONS(1198), + [anon_sym_SQUOTE] = ACTIONS(1198), + [anon_sym_L_DQUOTE] = ACTIONS(1198), + [anon_sym_u_DQUOTE] = ACTIONS(1198), + [anon_sym_U_DQUOTE] = ACTIONS(1198), + [anon_sym_u8_DQUOTE] = ACTIONS(1198), + [anon_sym_DQUOTE] = ACTIONS(1198), + [sym_true] = ACTIONS(1196), + [sym_false] = ACTIONS(1196), + [anon_sym_NULL] = ACTIONS(1196), + [anon_sym_nullptr] = ACTIONS(1196), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1198), + }, + [105] = { + [sym__identifier] = ACTIONS(1200), + [aux_sym_preproc_include_token1] = ACTIONS(1200), + [aux_sym_preproc_def_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token2] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1200), + [aux_sym_preproc_else_token1] = ACTIONS(1200), + [aux_sym_preproc_elif_token1] = ACTIONS(1200), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1200), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1200), + [sym_preproc_directive] = ACTIONS(1200), + [anon_sym_LPAREN2] = ACTIONS(1202), + [anon_sym_BANG] = ACTIONS(1202), + [anon_sym_TILDE] = ACTIONS(1202), + [anon_sym_DASH] = ACTIONS(1200), + [anon_sym_PLUS] = ACTIONS(1200), + [anon_sym_STAR] = ACTIONS(1202), + [anon_sym_AMP] = ACTIONS(1202), + [anon_sym_SEMI] = ACTIONS(1202), + [anon_sym___extension__] = ACTIONS(1200), + [anon_sym_typedef] = ACTIONS(1200), + [anon_sym_extern] = ACTIONS(1200), + [anon_sym___attribute__] = ACTIONS(1200), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1202), + [anon_sym___declspec] = ACTIONS(1200), + [anon_sym___cdecl] = ACTIONS(1200), + [anon_sym___clrcall] = ACTIONS(1200), + [anon_sym___stdcall] = ACTIONS(1200), + [anon_sym___fastcall] = ACTIONS(1200), + [anon_sym___thiscall] = ACTIONS(1200), + [anon_sym___vectorcall] = ACTIONS(1200), + [anon_sym_LBRACE] = ACTIONS(1202), + [anon_sym_signed] = ACTIONS(1200), + [anon_sym_unsigned] = ACTIONS(1200), + [anon_sym_long] = ACTIONS(1200), + [anon_sym_short] = ACTIONS(1200), + [anon_sym_static] = ACTIONS(1200), + [anon_sym_auto] = ACTIONS(1200), + [anon_sym_register] = ACTIONS(1200), + [anon_sym_inline] = ACTIONS(1200), + [anon_sym___inline] = ACTIONS(1200), + [anon_sym___inline__] = ACTIONS(1200), + [anon_sym___forceinline] = ACTIONS(1200), + [anon_sym_thread_local] = ACTIONS(1200), + [anon_sym___thread] = ACTIONS(1200), + [anon_sym_const] = ACTIONS(1200), + [anon_sym_constexpr] = ACTIONS(1200), + [anon_sym_volatile] = ACTIONS(1200), + [anon_sym_restrict] = ACTIONS(1200), + [anon_sym___restrict__] = ACTIONS(1200), + [anon_sym__Atomic] = ACTIONS(1200), + [anon_sym__Noreturn] = ACTIONS(1200), + [anon_sym_noreturn] = ACTIONS(1200), + [anon_sym_alignas] = ACTIONS(1200), + [anon_sym__Alignas] = ACTIONS(1200), + [sym_primitive_type] = ACTIONS(1200), + [anon_sym_enum] = ACTIONS(1200), + [anon_sym_struct] = ACTIONS(1200), + [anon_sym_union] = ACTIONS(1200), + [anon_sym_if] = ACTIONS(1200), + [anon_sym_else] = ACTIONS(1200), + [anon_sym_switch] = ACTIONS(1200), + [anon_sym_case] = ACTIONS(1200), + [anon_sym_default] = ACTIONS(1200), + [anon_sym_while] = ACTIONS(1200), + [anon_sym_do] = ACTIONS(1200), + [anon_sym_for] = ACTIONS(1200), + [anon_sym_return] = ACTIONS(1200), + [anon_sym_break] = ACTIONS(1200), + [anon_sym_continue] = ACTIONS(1200), + [anon_sym_goto] = ACTIONS(1200), + [anon_sym___try] = ACTIONS(1200), + [anon_sym___leave] = ACTIONS(1200), + [anon_sym_DASH_DASH] = ACTIONS(1202), + [anon_sym_PLUS_PLUS] = ACTIONS(1202), + [anon_sym_sizeof] = ACTIONS(1200), + [anon_sym___alignof__] = ACTIONS(1200), + [anon_sym___alignof] = ACTIONS(1200), + [anon_sym__alignof] = ACTIONS(1200), + [anon_sym_alignof] = ACTIONS(1200), + [anon_sym__Alignof] = ACTIONS(1200), + [anon_sym_offsetof] = ACTIONS(1200), + [anon_sym__Generic] = ACTIONS(1200), + [anon_sym_asm] = ACTIONS(1200), + [anon_sym___asm__] = ACTIONS(1200), + [sym__number_literal] = ACTIONS(1202), + [anon_sym_L_SQUOTE] = ACTIONS(1202), + [anon_sym_u_SQUOTE] = ACTIONS(1202), + [anon_sym_U_SQUOTE] = ACTIONS(1202), + [anon_sym_u8_SQUOTE] = ACTIONS(1202), + [anon_sym_SQUOTE] = ACTIONS(1202), + [anon_sym_L_DQUOTE] = ACTIONS(1202), + [anon_sym_u_DQUOTE] = ACTIONS(1202), + [anon_sym_U_DQUOTE] = ACTIONS(1202), + [anon_sym_u8_DQUOTE] = ACTIONS(1202), + [anon_sym_DQUOTE] = ACTIONS(1202), + [sym_true] = ACTIONS(1200), + [sym_false] = ACTIONS(1200), + [anon_sym_NULL] = ACTIONS(1200), + [anon_sym_nullptr] = ACTIONS(1200), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1202), + }, + [106] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token2] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [aux_sym_preproc_else_token1] = ACTIONS(1192), + [aux_sym_preproc_elif_token1] = ACTIONS(1192), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [107] = { + [ts_builtin_sym_end] = ACTIONS(1204), + [sym__identifier] = ACTIONS(1206), + [aux_sym_preproc_include_token1] = ACTIONS(1206), + [aux_sym_preproc_def_token1] = ACTIONS(1206), + [anon_sym_COMMA] = ACTIONS(1204), + [anon_sym_RPAREN] = ACTIONS(1204), + [aux_sym_preproc_if_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1206), + [sym_preproc_directive] = ACTIONS(1206), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1206), + [anon_sym___cdecl] = ACTIONS(1206), + [anon_sym___clrcall] = ACTIONS(1206), + [anon_sym___stdcall] = ACTIONS(1206), + [anon_sym___fastcall] = ACTIONS(1206), + [anon_sym___thiscall] = ACTIONS(1206), + [anon_sym___vectorcall] = ACTIONS(1206), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1206), + [anon_sym_unsigned] = ACTIONS(1206), + [anon_sym_long] = ACTIONS(1206), + [anon_sym_short] = ACTIONS(1206), + [anon_sym_static] = ACTIONS(1206), + [anon_sym_auto] = ACTIONS(1206), + [anon_sym_register] = ACTIONS(1206), + [anon_sym_inline] = ACTIONS(1206), + [anon_sym___inline] = ACTIONS(1206), + [anon_sym___inline__] = ACTIONS(1206), + [anon_sym___forceinline] = ACTIONS(1206), + [anon_sym_thread_local] = ACTIONS(1206), + [anon_sym___thread] = ACTIONS(1206), + [anon_sym_const] = ACTIONS(1206), + [anon_sym_constexpr] = ACTIONS(1206), + [anon_sym_volatile] = ACTIONS(1206), + [anon_sym_restrict] = ACTIONS(1206), + [anon_sym___restrict__] = ACTIONS(1206), + [anon_sym__Atomic] = ACTIONS(1206), + [anon_sym__Noreturn] = ACTIONS(1206), + [anon_sym_noreturn] = ACTIONS(1206), + [anon_sym_alignas] = ACTIONS(1206), + [anon_sym__Alignas] = ACTIONS(1206), + [sym_primitive_type] = ACTIONS(1206), + [anon_sym_enum] = ACTIONS(1206), + [anon_sym_struct] = ACTIONS(1206), + [anon_sym_union] = ACTIONS(1206), + [anon_sym_if] = ACTIONS(1206), + [anon_sym_else] = ACTIONS(1206), + [anon_sym_switch] = ACTIONS(1206), + [anon_sym_case] = ACTIONS(1206), + [anon_sym_default] = ACTIONS(1206), + [anon_sym_while] = ACTIONS(1206), + [anon_sym_do] = ACTIONS(1206), + [anon_sym_for] = ACTIONS(1206), + [anon_sym_return] = ACTIONS(1206), + [anon_sym_break] = ACTIONS(1206), + [anon_sym_continue] = ACTIONS(1206), + [anon_sym_goto] = ACTIONS(1206), + [anon_sym___try] = ACTIONS(1206), + [anon_sym___except] = ACTIONS(1206), + [anon_sym___finally] = ACTIONS(1206), + [anon_sym___leave] = ACTIONS(1206), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1206), + [anon_sym___alignof__] = ACTIONS(1206), + [anon_sym___alignof] = ACTIONS(1206), + [anon_sym__alignof] = ACTIONS(1206), + [anon_sym_alignof] = ACTIONS(1206), + [anon_sym__Alignof] = ACTIONS(1206), + [anon_sym_offsetof] = ACTIONS(1206), + [anon_sym__Generic] = ACTIONS(1206), + [anon_sym_asm] = ACTIONS(1206), + [anon_sym___asm__] = ACTIONS(1206), + [sym__number_literal] = ACTIONS(1204), + [anon_sym_L_SQUOTE] = ACTIONS(1204), + [anon_sym_u_SQUOTE] = ACTIONS(1204), + [anon_sym_U_SQUOTE] = ACTIONS(1204), + [anon_sym_u8_SQUOTE] = ACTIONS(1204), + [anon_sym_SQUOTE] = ACTIONS(1204), + [anon_sym_L_DQUOTE] = ACTIONS(1204), + [anon_sym_u_DQUOTE] = ACTIONS(1204), + [anon_sym_U_DQUOTE] = ACTIONS(1204), + [anon_sym_u8_DQUOTE] = ACTIONS(1204), + [anon_sym_DQUOTE] = ACTIONS(1204), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1204), + }, + [108] = { + [sym__identifier] = ACTIONS(1206), + [aux_sym_preproc_include_token1] = ACTIONS(1206), + [aux_sym_preproc_def_token1] = ACTIONS(1206), + [aux_sym_preproc_if_token1] = ACTIONS(1206), + [aux_sym_preproc_if_token2] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1206), + [aux_sym_preproc_else_token1] = ACTIONS(1206), + [aux_sym_preproc_elif_token1] = ACTIONS(1206), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1206), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1206), + [sym_preproc_directive] = ACTIONS(1206), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1206), + [anon_sym___cdecl] = ACTIONS(1206), + [anon_sym___clrcall] = ACTIONS(1206), + [anon_sym___stdcall] = ACTIONS(1206), + [anon_sym___fastcall] = ACTIONS(1206), + [anon_sym___thiscall] = ACTIONS(1206), + [anon_sym___vectorcall] = ACTIONS(1206), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1206), + [anon_sym_unsigned] = ACTIONS(1206), + [anon_sym_long] = ACTIONS(1206), + [anon_sym_short] = ACTIONS(1206), + [anon_sym_static] = ACTIONS(1206), + [anon_sym_auto] = ACTIONS(1206), + [anon_sym_register] = ACTIONS(1206), + [anon_sym_inline] = ACTIONS(1206), + [anon_sym___inline] = ACTIONS(1206), + [anon_sym___inline__] = ACTIONS(1206), + [anon_sym___forceinline] = ACTIONS(1206), + [anon_sym_thread_local] = ACTIONS(1206), + [anon_sym___thread] = ACTIONS(1206), + [anon_sym_const] = ACTIONS(1206), + [anon_sym_constexpr] = ACTIONS(1206), + [anon_sym_volatile] = ACTIONS(1206), + [anon_sym_restrict] = ACTIONS(1206), + [anon_sym___restrict__] = ACTIONS(1206), + [anon_sym__Atomic] = ACTIONS(1206), + [anon_sym__Noreturn] = ACTIONS(1206), + [anon_sym_noreturn] = ACTIONS(1206), + [anon_sym_alignas] = ACTIONS(1206), + [anon_sym__Alignas] = ACTIONS(1206), + [sym_primitive_type] = ACTIONS(1206), + [anon_sym_enum] = ACTIONS(1206), + [anon_sym_struct] = ACTIONS(1206), + [anon_sym_union] = ACTIONS(1206), + [anon_sym_if] = ACTIONS(1206), + [anon_sym_else] = ACTIONS(1206), + [anon_sym_switch] = ACTIONS(1206), + [anon_sym_case] = ACTIONS(1206), + [anon_sym_default] = ACTIONS(1206), + [anon_sym_while] = ACTIONS(1206), + [anon_sym_do] = ACTIONS(1206), + [anon_sym_for] = ACTIONS(1206), + [anon_sym_return] = ACTIONS(1206), + [anon_sym_break] = ACTIONS(1206), + [anon_sym_continue] = ACTIONS(1206), + [anon_sym_goto] = ACTIONS(1206), + [anon_sym___try] = ACTIONS(1206), + [anon_sym___leave] = ACTIONS(1206), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1206), + [anon_sym___alignof__] = ACTIONS(1206), + [anon_sym___alignof] = ACTIONS(1206), + [anon_sym__alignof] = ACTIONS(1206), + [anon_sym_alignof] = ACTIONS(1206), + [anon_sym__Alignof] = ACTIONS(1206), + [anon_sym_offsetof] = ACTIONS(1206), + [anon_sym__Generic] = ACTIONS(1206), + [anon_sym_asm] = ACTIONS(1206), + [anon_sym___asm__] = ACTIONS(1206), + [sym__number_literal] = ACTIONS(1204), + [anon_sym_L_SQUOTE] = ACTIONS(1204), + [anon_sym_u_SQUOTE] = ACTIONS(1204), + [anon_sym_U_SQUOTE] = ACTIONS(1204), + [anon_sym_u8_SQUOTE] = ACTIONS(1204), + [anon_sym_SQUOTE] = ACTIONS(1204), + [anon_sym_L_DQUOTE] = ACTIONS(1204), + [anon_sym_u_DQUOTE] = ACTIONS(1204), + [anon_sym_U_DQUOTE] = ACTIONS(1204), + [anon_sym_u8_DQUOTE] = ACTIONS(1204), + [anon_sym_DQUOTE] = ACTIONS(1204), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1204), + }, + [109] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token2] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [aux_sym_preproc_else_token1] = ACTIONS(1144), + [aux_sym_preproc_elif_token1] = ACTIONS(1144), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [110] = { + [sym__identifier] = ACTIONS(1208), + [aux_sym_preproc_include_token1] = ACTIONS(1208), + [aux_sym_preproc_def_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token2] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1208), + [aux_sym_preproc_else_token1] = ACTIONS(1208), + [aux_sym_preproc_elif_token1] = ACTIONS(1208), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1208), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1208), + [sym_preproc_directive] = ACTIONS(1208), + [anon_sym_LPAREN2] = ACTIONS(1210), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1208), + [anon_sym_PLUS] = ACTIONS(1208), + [anon_sym_STAR] = ACTIONS(1210), + [anon_sym_AMP] = ACTIONS(1210), + [anon_sym_SEMI] = ACTIONS(1210), + [anon_sym___extension__] = ACTIONS(1208), + [anon_sym_typedef] = ACTIONS(1208), + [anon_sym_extern] = ACTIONS(1208), + [anon_sym___attribute__] = ACTIONS(1208), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1210), + [anon_sym___declspec] = ACTIONS(1208), + [anon_sym___cdecl] = ACTIONS(1208), + [anon_sym___clrcall] = ACTIONS(1208), + [anon_sym___stdcall] = ACTIONS(1208), + [anon_sym___fastcall] = ACTIONS(1208), + [anon_sym___thiscall] = ACTIONS(1208), + [anon_sym___vectorcall] = ACTIONS(1208), + [anon_sym_LBRACE] = ACTIONS(1210), + [anon_sym_signed] = ACTIONS(1208), + [anon_sym_unsigned] = ACTIONS(1208), + [anon_sym_long] = ACTIONS(1208), + [anon_sym_short] = ACTIONS(1208), + [anon_sym_static] = ACTIONS(1208), + [anon_sym_auto] = ACTIONS(1208), + [anon_sym_register] = ACTIONS(1208), + [anon_sym_inline] = ACTIONS(1208), + [anon_sym___inline] = ACTIONS(1208), + [anon_sym___inline__] = ACTIONS(1208), + [anon_sym___forceinline] = ACTIONS(1208), + [anon_sym_thread_local] = ACTIONS(1208), + [anon_sym___thread] = ACTIONS(1208), + [anon_sym_const] = ACTIONS(1208), + [anon_sym_constexpr] = ACTIONS(1208), + [anon_sym_volatile] = ACTIONS(1208), + [anon_sym_restrict] = ACTIONS(1208), + [anon_sym___restrict__] = ACTIONS(1208), + [anon_sym__Atomic] = ACTIONS(1208), + [anon_sym__Noreturn] = ACTIONS(1208), + [anon_sym_noreturn] = ACTIONS(1208), + [anon_sym_alignas] = ACTIONS(1208), + [anon_sym__Alignas] = ACTIONS(1208), + [sym_primitive_type] = ACTIONS(1208), + [anon_sym_enum] = ACTIONS(1208), + [anon_sym_struct] = ACTIONS(1208), + [anon_sym_union] = ACTIONS(1208), + [anon_sym_if] = ACTIONS(1208), + [anon_sym_else] = ACTIONS(1208), + [anon_sym_switch] = ACTIONS(1208), + [anon_sym_case] = ACTIONS(1208), + [anon_sym_default] = ACTIONS(1208), + [anon_sym_while] = ACTIONS(1208), + [anon_sym_do] = ACTIONS(1208), + [anon_sym_for] = ACTIONS(1208), + [anon_sym_return] = ACTIONS(1208), + [anon_sym_break] = ACTIONS(1208), + [anon_sym_continue] = ACTIONS(1208), + [anon_sym_goto] = ACTIONS(1208), + [anon_sym___try] = ACTIONS(1208), + [anon_sym___leave] = ACTIONS(1208), + [anon_sym_DASH_DASH] = ACTIONS(1210), + [anon_sym_PLUS_PLUS] = ACTIONS(1210), + [anon_sym_sizeof] = ACTIONS(1208), + [anon_sym___alignof__] = ACTIONS(1208), + [anon_sym___alignof] = ACTIONS(1208), + [anon_sym__alignof] = ACTIONS(1208), + [anon_sym_alignof] = ACTIONS(1208), + [anon_sym__Alignof] = ACTIONS(1208), + [anon_sym_offsetof] = ACTIONS(1208), + [anon_sym__Generic] = ACTIONS(1208), + [anon_sym_asm] = ACTIONS(1208), + [anon_sym___asm__] = ACTIONS(1208), + [sym__number_literal] = ACTIONS(1210), + [anon_sym_L_SQUOTE] = ACTIONS(1210), + [anon_sym_u_SQUOTE] = ACTIONS(1210), + [anon_sym_U_SQUOTE] = ACTIONS(1210), + [anon_sym_u8_SQUOTE] = ACTIONS(1210), + [anon_sym_SQUOTE] = ACTIONS(1210), + [anon_sym_L_DQUOTE] = ACTIONS(1210), + [anon_sym_u_DQUOTE] = ACTIONS(1210), + [anon_sym_U_DQUOTE] = ACTIONS(1210), + [anon_sym_u8_DQUOTE] = ACTIONS(1210), + [anon_sym_DQUOTE] = ACTIONS(1210), + [sym_true] = ACTIONS(1208), + [sym_false] = ACTIONS(1208), + [anon_sym_NULL] = ACTIONS(1208), + [anon_sym_nullptr] = ACTIONS(1208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1210), + }, + [111] = { + [sym__identifier] = ACTIONS(1212), + [aux_sym_preproc_include_token1] = ACTIONS(1212), + [aux_sym_preproc_def_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token2] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1212), + [aux_sym_preproc_else_token1] = ACTIONS(1212), + [aux_sym_preproc_elif_token1] = ACTIONS(1212), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1212), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1212), + [sym_preproc_directive] = ACTIONS(1212), + [anon_sym_LPAREN2] = ACTIONS(1214), + [anon_sym_BANG] = ACTIONS(1214), + [anon_sym_TILDE] = ACTIONS(1214), + [anon_sym_DASH] = ACTIONS(1212), + [anon_sym_PLUS] = ACTIONS(1212), + [anon_sym_STAR] = ACTIONS(1214), + [anon_sym_AMP] = ACTIONS(1214), + [anon_sym_SEMI] = ACTIONS(1214), + [anon_sym___extension__] = ACTIONS(1212), + [anon_sym_typedef] = ACTIONS(1212), + [anon_sym_extern] = ACTIONS(1212), + [anon_sym___attribute__] = ACTIONS(1212), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1214), + [anon_sym___declspec] = ACTIONS(1212), + [anon_sym___cdecl] = ACTIONS(1212), + [anon_sym___clrcall] = ACTIONS(1212), + [anon_sym___stdcall] = ACTIONS(1212), + [anon_sym___fastcall] = ACTIONS(1212), + [anon_sym___thiscall] = ACTIONS(1212), + [anon_sym___vectorcall] = ACTIONS(1212), + [anon_sym_LBRACE] = ACTIONS(1214), + [anon_sym_signed] = ACTIONS(1212), + [anon_sym_unsigned] = ACTIONS(1212), + [anon_sym_long] = ACTIONS(1212), + [anon_sym_short] = ACTIONS(1212), + [anon_sym_static] = ACTIONS(1212), + [anon_sym_auto] = ACTIONS(1212), + [anon_sym_register] = ACTIONS(1212), + [anon_sym_inline] = ACTIONS(1212), + [anon_sym___inline] = ACTIONS(1212), + [anon_sym___inline__] = ACTIONS(1212), + [anon_sym___forceinline] = ACTIONS(1212), + [anon_sym_thread_local] = ACTIONS(1212), + [anon_sym___thread] = ACTIONS(1212), + [anon_sym_const] = ACTIONS(1212), + [anon_sym_constexpr] = ACTIONS(1212), + [anon_sym_volatile] = ACTIONS(1212), + [anon_sym_restrict] = ACTIONS(1212), + [anon_sym___restrict__] = ACTIONS(1212), + [anon_sym__Atomic] = ACTIONS(1212), + [anon_sym__Noreturn] = ACTIONS(1212), + [anon_sym_noreturn] = ACTIONS(1212), + [anon_sym_alignas] = ACTIONS(1212), + [anon_sym__Alignas] = ACTIONS(1212), + [sym_primitive_type] = ACTIONS(1212), + [anon_sym_enum] = ACTIONS(1212), + [anon_sym_struct] = ACTIONS(1212), + [anon_sym_union] = ACTIONS(1212), + [anon_sym_if] = ACTIONS(1212), + [anon_sym_else] = ACTIONS(1212), + [anon_sym_switch] = ACTIONS(1212), + [anon_sym_case] = ACTIONS(1212), + [anon_sym_default] = ACTIONS(1212), + [anon_sym_while] = ACTIONS(1212), + [anon_sym_do] = ACTIONS(1212), + [anon_sym_for] = ACTIONS(1212), + [anon_sym_return] = ACTIONS(1212), + [anon_sym_break] = ACTIONS(1212), + [anon_sym_continue] = ACTIONS(1212), + [anon_sym_goto] = ACTIONS(1212), + [anon_sym___try] = ACTIONS(1212), + [anon_sym___leave] = ACTIONS(1212), + [anon_sym_DASH_DASH] = ACTIONS(1214), + [anon_sym_PLUS_PLUS] = ACTIONS(1214), + [anon_sym_sizeof] = ACTIONS(1212), + [anon_sym___alignof__] = ACTIONS(1212), + [anon_sym___alignof] = ACTIONS(1212), + [anon_sym__alignof] = ACTIONS(1212), + [anon_sym_alignof] = ACTIONS(1212), + [anon_sym__Alignof] = ACTIONS(1212), + [anon_sym_offsetof] = ACTIONS(1212), + [anon_sym__Generic] = ACTIONS(1212), + [anon_sym_asm] = ACTIONS(1212), + [anon_sym___asm__] = ACTIONS(1212), + [sym__number_literal] = ACTIONS(1214), + [anon_sym_L_SQUOTE] = ACTIONS(1214), + [anon_sym_u_SQUOTE] = ACTIONS(1214), + [anon_sym_U_SQUOTE] = ACTIONS(1214), + [anon_sym_u8_SQUOTE] = ACTIONS(1214), + [anon_sym_SQUOTE] = ACTIONS(1214), + [anon_sym_L_DQUOTE] = ACTIONS(1214), + [anon_sym_u_DQUOTE] = ACTIONS(1214), + [anon_sym_U_DQUOTE] = ACTIONS(1214), + [anon_sym_u8_DQUOTE] = ACTIONS(1214), + [anon_sym_DQUOTE] = ACTIONS(1214), + [sym_true] = ACTIONS(1212), + [sym_false] = ACTIONS(1212), + [anon_sym_NULL] = ACTIONS(1212), + [anon_sym_nullptr] = ACTIONS(1212), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1214), + }, + [112] = { + [sym__identifier] = ACTIONS(1216), + [aux_sym_preproc_include_token1] = ACTIONS(1216), + [aux_sym_preproc_def_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token2] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1216), + [aux_sym_preproc_else_token1] = ACTIONS(1216), + [aux_sym_preproc_elif_token1] = ACTIONS(1216), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1216), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1216), + [sym_preproc_directive] = ACTIONS(1216), + [anon_sym_LPAREN2] = ACTIONS(1218), + [anon_sym_BANG] = ACTIONS(1218), + [anon_sym_TILDE] = ACTIONS(1218), + [anon_sym_DASH] = ACTIONS(1216), + [anon_sym_PLUS] = ACTIONS(1216), + [anon_sym_STAR] = ACTIONS(1218), + [anon_sym_AMP] = ACTIONS(1218), + [anon_sym_SEMI] = ACTIONS(1218), + [anon_sym___extension__] = ACTIONS(1216), + [anon_sym_typedef] = ACTIONS(1216), + [anon_sym_extern] = ACTIONS(1216), + [anon_sym___attribute__] = ACTIONS(1216), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1218), + [anon_sym___declspec] = ACTIONS(1216), + [anon_sym___cdecl] = ACTIONS(1216), + [anon_sym___clrcall] = ACTIONS(1216), + [anon_sym___stdcall] = ACTIONS(1216), + [anon_sym___fastcall] = ACTIONS(1216), + [anon_sym___thiscall] = ACTIONS(1216), + [anon_sym___vectorcall] = ACTIONS(1216), + [anon_sym_LBRACE] = ACTIONS(1218), + [anon_sym_signed] = ACTIONS(1216), + [anon_sym_unsigned] = ACTIONS(1216), + [anon_sym_long] = ACTIONS(1216), + [anon_sym_short] = ACTIONS(1216), + [anon_sym_static] = ACTIONS(1216), + [anon_sym_auto] = ACTIONS(1216), + [anon_sym_register] = ACTIONS(1216), + [anon_sym_inline] = ACTIONS(1216), + [anon_sym___inline] = ACTIONS(1216), + [anon_sym___inline__] = ACTIONS(1216), + [anon_sym___forceinline] = ACTIONS(1216), + [anon_sym_thread_local] = ACTIONS(1216), + [anon_sym___thread] = ACTIONS(1216), + [anon_sym_const] = ACTIONS(1216), + [anon_sym_constexpr] = ACTIONS(1216), + [anon_sym_volatile] = ACTIONS(1216), + [anon_sym_restrict] = ACTIONS(1216), + [anon_sym___restrict__] = ACTIONS(1216), + [anon_sym__Atomic] = ACTIONS(1216), + [anon_sym__Noreturn] = ACTIONS(1216), + [anon_sym_noreturn] = ACTIONS(1216), + [anon_sym_alignas] = ACTIONS(1216), + [anon_sym__Alignas] = ACTIONS(1216), + [sym_primitive_type] = ACTIONS(1216), + [anon_sym_enum] = ACTIONS(1216), + [anon_sym_struct] = ACTIONS(1216), + [anon_sym_union] = ACTIONS(1216), + [anon_sym_if] = ACTIONS(1216), + [anon_sym_else] = ACTIONS(1216), + [anon_sym_switch] = ACTIONS(1216), + [anon_sym_case] = ACTIONS(1216), + [anon_sym_default] = ACTIONS(1216), + [anon_sym_while] = ACTIONS(1216), + [anon_sym_do] = ACTIONS(1216), + [anon_sym_for] = ACTIONS(1216), + [anon_sym_return] = ACTIONS(1216), + [anon_sym_break] = ACTIONS(1216), + [anon_sym_continue] = ACTIONS(1216), + [anon_sym_goto] = ACTIONS(1216), + [anon_sym___try] = ACTIONS(1216), + [anon_sym___leave] = ACTIONS(1216), + [anon_sym_DASH_DASH] = ACTIONS(1218), + [anon_sym_PLUS_PLUS] = ACTIONS(1218), + [anon_sym_sizeof] = ACTIONS(1216), + [anon_sym___alignof__] = ACTIONS(1216), + [anon_sym___alignof] = ACTIONS(1216), + [anon_sym__alignof] = ACTIONS(1216), + [anon_sym_alignof] = ACTIONS(1216), + [anon_sym__Alignof] = ACTIONS(1216), + [anon_sym_offsetof] = ACTIONS(1216), + [anon_sym__Generic] = ACTIONS(1216), + [anon_sym_asm] = ACTIONS(1216), + [anon_sym___asm__] = ACTIONS(1216), + [sym__number_literal] = ACTIONS(1218), + [anon_sym_L_SQUOTE] = ACTIONS(1218), + [anon_sym_u_SQUOTE] = ACTIONS(1218), + [anon_sym_U_SQUOTE] = ACTIONS(1218), + [anon_sym_u8_SQUOTE] = ACTIONS(1218), + [anon_sym_SQUOTE] = ACTIONS(1218), + [anon_sym_L_DQUOTE] = ACTIONS(1218), + [anon_sym_u_DQUOTE] = ACTIONS(1218), + [anon_sym_U_DQUOTE] = ACTIONS(1218), + [anon_sym_u8_DQUOTE] = ACTIONS(1218), + [anon_sym_DQUOTE] = ACTIONS(1218), + [sym_true] = ACTIONS(1216), + [sym_false] = ACTIONS(1216), + [anon_sym_NULL] = ACTIONS(1216), + [anon_sym_nullptr] = ACTIONS(1216), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1218), + }, + [113] = { + [sym__identifier] = ACTIONS(1220), + [aux_sym_preproc_include_token1] = ACTIONS(1220), + [aux_sym_preproc_def_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token2] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1220), + [aux_sym_preproc_else_token1] = ACTIONS(1220), + [aux_sym_preproc_elif_token1] = ACTIONS(1220), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1220), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1220), + [sym_preproc_directive] = ACTIONS(1220), + [anon_sym_LPAREN2] = ACTIONS(1222), + [anon_sym_BANG] = ACTIONS(1222), + [anon_sym_TILDE] = ACTIONS(1222), + [anon_sym_DASH] = ACTIONS(1220), + [anon_sym_PLUS] = ACTIONS(1220), + [anon_sym_STAR] = ACTIONS(1222), + [anon_sym_AMP] = ACTIONS(1222), + [anon_sym_SEMI] = ACTIONS(1222), + [anon_sym___extension__] = ACTIONS(1220), + [anon_sym_typedef] = ACTIONS(1220), + [anon_sym_extern] = ACTIONS(1220), + [anon_sym___attribute__] = ACTIONS(1220), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1222), + [anon_sym___declspec] = ACTIONS(1220), + [anon_sym___cdecl] = ACTIONS(1220), + [anon_sym___clrcall] = ACTIONS(1220), + [anon_sym___stdcall] = ACTIONS(1220), + [anon_sym___fastcall] = ACTIONS(1220), + [anon_sym___thiscall] = ACTIONS(1220), + [anon_sym___vectorcall] = ACTIONS(1220), + [anon_sym_LBRACE] = ACTIONS(1222), + [anon_sym_signed] = ACTIONS(1220), + [anon_sym_unsigned] = ACTIONS(1220), + [anon_sym_long] = ACTIONS(1220), + [anon_sym_short] = ACTIONS(1220), + [anon_sym_static] = ACTIONS(1220), + [anon_sym_auto] = ACTIONS(1220), + [anon_sym_register] = ACTIONS(1220), + [anon_sym_inline] = ACTIONS(1220), + [anon_sym___inline] = ACTIONS(1220), + [anon_sym___inline__] = ACTIONS(1220), + [anon_sym___forceinline] = ACTIONS(1220), + [anon_sym_thread_local] = ACTIONS(1220), + [anon_sym___thread] = ACTIONS(1220), + [anon_sym_const] = ACTIONS(1220), + [anon_sym_constexpr] = ACTIONS(1220), + [anon_sym_volatile] = ACTIONS(1220), + [anon_sym_restrict] = ACTIONS(1220), + [anon_sym___restrict__] = ACTIONS(1220), + [anon_sym__Atomic] = ACTIONS(1220), + [anon_sym__Noreturn] = ACTIONS(1220), + [anon_sym_noreturn] = ACTIONS(1220), + [anon_sym_alignas] = ACTIONS(1220), + [anon_sym__Alignas] = ACTIONS(1220), + [sym_primitive_type] = ACTIONS(1220), + [anon_sym_enum] = ACTIONS(1220), + [anon_sym_struct] = ACTIONS(1220), + [anon_sym_union] = ACTIONS(1220), + [anon_sym_if] = ACTIONS(1220), + [anon_sym_else] = ACTIONS(1220), + [anon_sym_switch] = ACTIONS(1220), + [anon_sym_case] = ACTIONS(1220), + [anon_sym_default] = ACTIONS(1220), + [anon_sym_while] = ACTIONS(1220), + [anon_sym_do] = ACTIONS(1220), + [anon_sym_for] = ACTIONS(1220), + [anon_sym_return] = ACTIONS(1220), + [anon_sym_break] = ACTIONS(1220), + [anon_sym_continue] = ACTIONS(1220), + [anon_sym_goto] = ACTIONS(1220), + [anon_sym___try] = ACTIONS(1220), + [anon_sym___leave] = ACTIONS(1220), + [anon_sym_DASH_DASH] = ACTIONS(1222), + [anon_sym_PLUS_PLUS] = ACTIONS(1222), + [anon_sym_sizeof] = ACTIONS(1220), + [anon_sym___alignof__] = ACTIONS(1220), + [anon_sym___alignof] = ACTIONS(1220), + [anon_sym__alignof] = ACTIONS(1220), + [anon_sym_alignof] = ACTIONS(1220), + [anon_sym__Alignof] = ACTIONS(1220), + [anon_sym_offsetof] = ACTIONS(1220), + [anon_sym__Generic] = ACTIONS(1220), + [anon_sym_asm] = ACTIONS(1220), + [anon_sym___asm__] = ACTIONS(1220), + [sym__number_literal] = ACTIONS(1222), + [anon_sym_L_SQUOTE] = ACTIONS(1222), + [anon_sym_u_SQUOTE] = ACTIONS(1222), + [anon_sym_U_SQUOTE] = ACTIONS(1222), + [anon_sym_u8_SQUOTE] = ACTIONS(1222), + [anon_sym_SQUOTE] = ACTIONS(1222), + [anon_sym_L_DQUOTE] = ACTIONS(1222), + [anon_sym_u_DQUOTE] = ACTIONS(1222), + [anon_sym_U_DQUOTE] = ACTIONS(1222), + [anon_sym_u8_DQUOTE] = ACTIONS(1222), + [anon_sym_DQUOTE] = ACTIONS(1222), + [sym_true] = ACTIONS(1220), + [sym_false] = ACTIONS(1220), + [anon_sym_NULL] = ACTIONS(1220), + [anon_sym_nullptr] = ACTIONS(1220), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1222), + }, + [114] = { + [sym__identifier] = ACTIONS(1224), + [aux_sym_preproc_include_token1] = ACTIONS(1224), + [aux_sym_preproc_def_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token2] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1224), + [aux_sym_preproc_else_token1] = ACTIONS(1224), + [aux_sym_preproc_elif_token1] = ACTIONS(1224), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1224), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1224), + [sym_preproc_directive] = ACTIONS(1224), + [anon_sym_LPAREN2] = ACTIONS(1226), + [anon_sym_BANG] = ACTIONS(1226), + [anon_sym_TILDE] = ACTIONS(1226), + [anon_sym_DASH] = ACTIONS(1224), + [anon_sym_PLUS] = ACTIONS(1224), + [anon_sym_STAR] = ACTIONS(1226), + [anon_sym_AMP] = ACTIONS(1226), + [anon_sym_SEMI] = ACTIONS(1226), + [anon_sym___extension__] = ACTIONS(1224), + [anon_sym_typedef] = ACTIONS(1224), + [anon_sym_extern] = ACTIONS(1224), + [anon_sym___attribute__] = ACTIONS(1224), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1226), + [anon_sym___declspec] = ACTIONS(1224), + [anon_sym___cdecl] = ACTIONS(1224), + [anon_sym___clrcall] = ACTIONS(1224), + [anon_sym___stdcall] = ACTIONS(1224), + [anon_sym___fastcall] = ACTIONS(1224), + [anon_sym___thiscall] = ACTIONS(1224), + [anon_sym___vectorcall] = ACTIONS(1224), + [anon_sym_LBRACE] = ACTIONS(1226), + [anon_sym_signed] = ACTIONS(1224), + [anon_sym_unsigned] = ACTIONS(1224), + [anon_sym_long] = ACTIONS(1224), + [anon_sym_short] = ACTIONS(1224), + [anon_sym_static] = ACTIONS(1224), + [anon_sym_auto] = ACTIONS(1224), + [anon_sym_register] = ACTIONS(1224), + [anon_sym_inline] = ACTIONS(1224), + [anon_sym___inline] = ACTIONS(1224), + [anon_sym___inline__] = ACTIONS(1224), + [anon_sym___forceinline] = ACTIONS(1224), + [anon_sym_thread_local] = ACTIONS(1224), + [anon_sym___thread] = ACTIONS(1224), + [anon_sym_const] = ACTIONS(1224), + [anon_sym_constexpr] = ACTIONS(1224), + [anon_sym_volatile] = ACTIONS(1224), + [anon_sym_restrict] = ACTIONS(1224), + [anon_sym___restrict__] = ACTIONS(1224), + [anon_sym__Atomic] = ACTIONS(1224), + [anon_sym__Noreturn] = ACTIONS(1224), + [anon_sym_noreturn] = ACTIONS(1224), + [anon_sym_alignas] = ACTIONS(1224), + [anon_sym__Alignas] = ACTIONS(1224), + [sym_primitive_type] = ACTIONS(1224), + [anon_sym_enum] = ACTIONS(1224), + [anon_sym_struct] = ACTIONS(1224), + [anon_sym_union] = ACTIONS(1224), + [anon_sym_if] = ACTIONS(1224), + [anon_sym_else] = ACTIONS(1224), + [anon_sym_switch] = ACTIONS(1224), + [anon_sym_case] = ACTIONS(1224), + [anon_sym_default] = ACTIONS(1224), + [anon_sym_while] = ACTIONS(1224), + [anon_sym_do] = ACTIONS(1224), + [anon_sym_for] = ACTIONS(1224), + [anon_sym_return] = ACTIONS(1224), + [anon_sym_break] = ACTIONS(1224), + [anon_sym_continue] = ACTIONS(1224), + [anon_sym_goto] = ACTIONS(1224), + [anon_sym___try] = ACTIONS(1224), + [anon_sym___leave] = ACTIONS(1224), + [anon_sym_DASH_DASH] = ACTIONS(1226), + [anon_sym_PLUS_PLUS] = ACTIONS(1226), + [anon_sym_sizeof] = ACTIONS(1224), + [anon_sym___alignof__] = ACTIONS(1224), + [anon_sym___alignof] = ACTIONS(1224), + [anon_sym__alignof] = ACTIONS(1224), + [anon_sym_alignof] = ACTIONS(1224), + [anon_sym__Alignof] = ACTIONS(1224), + [anon_sym_offsetof] = ACTIONS(1224), + [anon_sym__Generic] = ACTIONS(1224), + [anon_sym_asm] = ACTIONS(1224), + [anon_sym___asm__] = ACTIONS(1224), + [sym__number_literal] = ACTIONS(1226), + [anon_sym_L_SQUOTE] = ACTIONS(1226), + [anon_sym_u_SQUOTE] = ACTIONS(1226), + [anon_sym_U_SQUOTE] = ACTIONS(1226), + [anon_sym_u8_SQUOTE] = ACTIONS(1226), + [anon_sym_SQUOTE] = ACTIONS(1226), + [anon_sym_L_DQUOTE] = ACTIONS(1226), + [anon_sym_u_DQUOTE] = ACTIONS(1226), + [anon_sym_U_DQUOTE] = ACTIONS(1226), + [anon_sym_u8_DQUOTE] = ACTIONS(1226), + [anon_sym_DQUOTE] = ACTIONS(1226), + [sym_true] = ACTIONS(1224), + [sym_false] = ACTIONS(1224), + [anon_sym_NULL] = ACTIONS(1224), + [anon_sym_nullptr] = ACTIONS(1224), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1226), + }, + [115] = { + [sym__identifier] = ACTIONS(1228), + [aux_sym_preproc_include_token1] = ACTIONS(1228), + [aux_sym_preproc_def_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token2] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1228), + [aux_sym_preproc_else_token1] = ACTIONS(1228), + [aux_sym_preproc_elif_token1] = ACTIONS(1228), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1228), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1228), + [sym_preproc_directive] = ACTIONS(1228), + [anon_sym_LPAREN2] = ACTIONS(1230), + [anon_sym_BANG] = ACTIONS(1230), + [anon_sym_TILDE] = ACTIONS(1230), + [anon_sym_DASH] = ACTIONS(1228), + [anon_sym_PLUS] = ACTIONS(1228), + [anon_sym_STAR] = ACTIONS(1230), + [anon_sym_AMP] = ACTIONS(1230), + [anon_sym_SEMI] = ACTIONS(1230), + [anon_sym___extension__] = ACTIONS(1228), + [anon_sym_typedef] = ACTIONS(1228), + [anon_sym_extern] = ACTIONS(1228), + [anon_sym___attribute__] = ACTIONS(1228), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1230), + [anon_sym___declspec] = ACTIONS(1228), + [anon_sym___cdecl] = ACTIONS(1228), + [anon_sym___clrcall] = ACTIONS(1228), + [anon_sym___stdcall] = ACTIONS(1228), + [anon_sym___fastcall] = ACTIONS(1228), + [anon_sym___thiscall] = ACTIONS(1228), + [anon_sym___vectorcall] = ACTIONS(1228), + [anon_sym_LBRACE] = ACTIONS(1230), + [anon_sym_signed] = ACTIONS(1228), + [anon_sym_unsigned] = ACTIONS(1228), + [anon_sym_long] = ACTIONS(1228), + [anon_sym_short] = ACTIONS(1228), + [anon_sym_static] = ACTIONS(1228), + [anon_sym_auto] = ACTIONS(1228), + [anon_sym_register] = ACTIONS(1228), + [anon_sym_inline] = ACTIONS(1228), + [anon_sym___inline] = ACTIONS(1228), + [anon_sym___inline__] = ACTIONS(1228), + [anon_sym___forceinline] = ACTIONS(1228), + [anon_sym_thread_local] = ACTIONS(1228), + [anon_sym___thread] = ACTIONS(1228), + [anon_sym_const] = ACTIONS(1228), + [anon_sym_constexpr] = ACTIONS(1228), + [anon_sym_volatile] = ACTIONS(1228), + [anon_sym_restrict] = ACTIONS(1228), + [anon_sym___restrict__] = ACTIONS(1228), + [anon_sym__Atomic] = ACTIONS(1228), + [anon_sym__Noreturn] = ACTIONS(1228), + [anon_sym_noreturn] = ACTIONS(1228), + [anon_sym_alignas] = ACTIONS(1228), + [anon_sym__Alignas] = ACTIONS(1228), + [sym_primitive_type] = ACTIONS(1228), + [anon_sym_enum] = ACTIONS(1228), + [anon_sym_struct] = ACTIONS(1228), + [anon_sym_union] = ACTIONS(1228), + [anon_sym_if] = ACTIONS(1228), + [anon_sym_switch] = ACTIONS(1228), + [anon_sym_case] = ACTIONS(1228), + [anon_sym_default] = ACTIONS(1228), + [anon_sym_while] = ACTIONS(1228), + [anon_sym_do] = ACTIONS(1228), + [anon_sym_for] = ACTIONS(1228), + [anon_sym_return] = ACTIONS(1228), + [anon_sym_break] = ACTIONS(1228), + [anon_sym_continue] = ACTIONS(1228), + [anon_sym_goto] = ACTIONS(1228), + [anon_sym___try] = ACTIONS(1228), + [anon_sym___leave] = ACTIONS(1228), + [anon_sym_DASH_DASH] = ACTIONS(1230), + [anon_sym_PLUS_PLUS] = ACTIONS(1230), + [anon_sym_sizeof] = ACTIONS(1228), + [anon_sym___alignof__] = ACTIONS(1228), + [anon_sym___alignof] = ACTIONS(1228), + [anon_sym__alignof] = ACTIONS(1228), + [anon_sym_alignof] = ACTIONS(1228), + [anon_sym__Alignof] = ACTIONS(1228), + [anon_sym_offsetof] = ACTIONS(1228), + [anon_sym__Generic] = ACTIONS(1228), + [anon_sym_asm] = ACTIONS(1228), + [anon_sym___asm__] = ACTIONS(1228), + [sym__number_literal] = ACTIONS(1230), + [anon_sym_L_SQUOTE] = ACTIONS(1230), + [anon_sym_u_SQUOTE] = ACTIONS(1230), + [anon_sym_U_SQUOTE] = ACTIONS(1230), + [anon_sym_u8_SQUOTE] = ACTIONS(1230), + [anon_sym_SQUOTE] = ACTIONS(1230), + [anon_sym_L_DQUOTE] = ACTIONS(1230), + [anon_sym_u_DQUOTE] = ACTIONS(1230), + [anon_sym_U_DQUOTE] = ACTIONS(1230), + [anon_sym_u8_DQUOTE] = ACTIONS(1230), + [anon_sym_DQUOTE] = ACTIONS(1230), + [sym_true] = ACTIONS(1228), + [sym_false] = ACTIONS(1228), + [anon_sym_NULL] = ACTIONS(1228), + [anon_sym_nullptr] = ACTIONS(1228), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1230), + }, + [116] = { + [sym__identifier] = ACTIONS(1232), + [aux_sym_preproc_include_token1] = ACTIONS(1232), + [aux_sym_preproc_def_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token2] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1232), + [aux_sym_preproc_else_token1] = ACTIONS(1232), + [aux_sym_preproc_elif_token1] = ACTIONS(1232), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1232), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1232), + [sym_preproc_directive] = ACTIONS(1232), + [anon_sym_LPAREN2] = ACTIONS(1234), + [anon_sym_BANG] = ACTIONS(1234), + [anon_sym_TILDE] = ACTIONS(1234), + [anon_sym_DASH] = ACTIONS(1232), + [anon_sym_PLUS] = ACTIONS(1232), + [anon_sym_STAR] = ACTIONS(1234), + [anon_sym_AMP] = ACTIONS(1234), + [anon_sym_SEMI] = ACTIONS(1234), + [anon_sym___extension__] = ACTIONS(1232), + [anon_sym_typedef] = ACTIONS(1232), + [anon_sym_extern] = ACTIONS(1232), + [anon_sym___attribute__] = ACTIONS(1232), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1234), + [anon_sym___declspec] = ACTIONS(1232), + [anon_sym___cdecl] = ACTIONS(1232), + [anon_sym___clrcall] = ACTIONS(1232), + [anon_sym___stdcall] = ACTIONS(1232), + [anon_sym___fastcall] = ACTIONS(1232), + [anon_sym___thiscall] = ACTIONS(1232), + [anon_sym___vectorcall] = ACTIONS(1232), + [anon_sym_LBRACE] = ACTIONS(1234), + [anon_sym_signed] = ACTIONS(1232), + [anon_sym_unsigned] = ACTIONS(1232), + [anon_sym_long] = ACTIONS(1232), + [anon_sym_short] = ACTIONS(1232), + [anon_sym_static] = ACTIONS(1232), + [anon_sym_auto] = ACTIONS(1232), + [anon_sym_register] = ACTIONS(1232), + [anon_sym_inline] = ACTIONS(1232), + [anon_sym___inline] = ACTIONS(1232), + [anon_sym___inline__] = ACTIONS(1232), + [anon_sym___forceinline] = ACTIONS(1232), + [anon_sym_thread_local] = ACTIONS(1232), + [anon_sym___thread] = ACTIONS(1232), + [anon_sym_const] = ACTIONS(1232), + [anon_sym_constexpr] = ACTIONS(1232), + [anon_sym_volatile] = ACTIONS(1232), + [anon_sym_restrict] = ACTIONS(1232), + [anon_sym___restrict__] = ACTIONS(1232), + [anon_sym__Atomic] = ACTIONS(1232), + [anon_sym__Noreturn] = ACTIONS(1232), + [anon_sym_noreturn] = ACTIONS(1232), + [anon_sym_alignas] = ACTIONS(1232), + [anon_sym__Alignas] = ACTIONS(1232), + [sym_primitive_type] = ACTIONS(1232), + [anon_sym_enum] = ACTIONS(1232), + [anon_sym_struct] = ACTIONS(1232), + [anon_sym_union] = ACTIONS(1232), + [anon_sym_if] = ACTIONS(1232), + [anon_sym_switch] = ACTIONS(1232), + [anon_sym_case] = ACTIONS(1232), + [anon_sym_default] = ACTIONS(1232), + [anon_sym_while] = ACTIONS(1232), + [anon_sym_do] = ACTIONS(1232), + [anon_sym_for] = ACTIONS(1232), + [anon_sym_return] = ACTIONS(1232), + [anon_sym_break] = ACTIONS(1232), + [anon_sym_continue] = ACTIONS(1232), + [anon_sym_goto] = ACTIONS(1232), + [anon_sym___try] = ACTIONS(1232), + [anon_sym___leave] = ACTIONS(1232), + [anon_sym_DASH_DASH] = ACTIONS(1234), + [anon_sym_PLUS_PLUS] = ACTIONS(1234), + [anon_sym_sizeof] = ACTIONS(1232), + [anon_sym___alignof__] = ACTIONS(1232), + [anon_sym___alignof] = ACTIONS(1232), + [anon_sym__alignof] = ACTIONS(1232), + [anon_sym_alignof] = ACTIONS(1232), + [anon_sym__Alignof] = ACTIONS(1232), + [anon_sym_offsetof] = ACTIONS(1232), + [anon_sym__Generic] = ACTIONS(1232), + [anon_sym_asm] = ACTIONS(1232), + [anon_sym___asm__] = ACTIONS(1232), + [sym__number_literal] = ACTIONS(1234), + [anon_sym_L_SQUOTE] = ACTIONS(1234), + [anon_sym_u_SQUOTE] = ACTIONS(1234), + [anon_sym_U_SQUOTE] = ACTIONS(1234), + [anon_sym_u8_SQUOTE] = ACTIONS(1234), + [anon_sym_SQUOTE] = ACTIONS(1234), + [anon_sym_L_DQUOTE] = ACTIONS(1234), + [anon_sym_u_DQUOTE] = ACTIONS(1234), + [anon_sym_U_DQUOTE] = ACTIONS(1234), + [anon_sym_u8_DQUOTE] = ACTIONS(1234), + [anon_sym_DQUOTE] = ACTIONS(1234), + [sym_true] = ACTIONS(1232), + [sym_false] = ACTIONS(1232), + [anon_sym_NULL] = ACTIONS(1232), + [anon_sym_nullptr] = ACTIONS(1232), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1234), + }, + [117] = { + [sym__identifier] = ACTIONS(1236), + [aux_sym_preproc_include_token1] = ACTIONS(1236), + [aux_sym_preproc_def_token1] = ACTIONS(1236), + [aux_sym_preproc_if_token1] = ACTIONS(1236), + [aux_sym_preproc_if_token2] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1236), + [aux_sym_preproc_else_token1] = ACTIONS(1236), + [aux_sym_preproc_elif_token1] = ACTIONS(1236), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1236), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1236), + [sym_preproc_directive] = ACTIONS(1236), + [anon_sym_LPAREN2] = ACTIONS(1238), + [anon_sym_BANG] = ACTIONS(1238), + [anon_sym_TILDE] = ACTIONS(1238), + [anon_sym_DASH] = ACTIONS(1236), + [anon_sym_PLUS] = ACTIONS(1236), + [anon_sym_STAR] = ACTIONS(1238), + [anon_sym_AMP] = ACTIONS(1238), + [anon_sym_SEMI] = ACTIONS(1238), + [anon_sym___extension__] = ACTIONS(1236), + [anon_sym_typedef] = ACTIONS(1236), + [anon_sym_extern] = ACTIONS(1236), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1238), + [anon_sym___declspec] = ACTIONS(1236), + [anon_sym___cdecl] = ACTIONS(1236), + [anon_sym___clrcall] = ACTIONS(1236), + [anon_sym___stdcall] = ACTIONS(1236), + [anon_sym___fastcall] = ACTIONS(1236), + [anon_sym___thiscall] = ACTIONS(1236), + [anon_sym___vectorcall] = ACTIONS(1236), + [anon_sym_LBRACE] = ACTIONS(1238), + [anon_sym_signed] = ACTIONS(1236), + [anon_sym_unsigned] = ACTIONS(1236), + [anon_sym_long] = ACTIONS(1236), + [anon_sym_short] = ACTIONS(1236), + [anon_sym_static] = ACTIONS(1236), + [anon_sym_auto] = ACTIONS(1236), + [anon_sym_register] = ACTIONS(1236), + [anon_sym_inline] = ACTIONS(1236), + [anon_sym___inline] = ACTIONS(1236), + [anon_sym___inline__] = ACTIONS(1236), + [anon_sym___forceinline] = ACTIONS(1236), + [anon_sym_thread_local] = ACTIONS(1236), + [anon_sym___thread] = ACTIONS(1236), + [anon_sym_const] = ACTIONS(1236), + [anon_sym_constexpr] = ACTIONS(1236), + [anon_sym_volatile] = ACTIONS(1236), + [anon_sym_restrict] = ACTIONS(1236), + [anon_sym___restrict__] = ACTIONS(1236), + [anon_sym__Atomic] = ACTIONS(1236), + [anon_sym__Noreturn] = ACTIONS(1236), + [anon_sym_noreturn] = ACTIONS(1236), + [anon_sym_alignas] = ACTIONS(1236), + [anon_sym__Alignas] = ACTIONS(1236), + [sym_primitive_type] = ACTIONS(1236), + [anon_sym_enum] = ACTIONS(1236), + [anon_sym_struct] = ACTIONS(1236), + [anon_sym_union] = ACTIONS(1236), + [anon_sym_if] = ACTIONS(1236), + [anon_sym_switch] = ACTIONS(1236), + [anon_sym_case] = ACTIONS(1236), + [anon_sym_default] = ACTIONS(1236), + [anon_sym_while] = ACTIONS(1236), + [anon_sym_do] = ACTIONS(1236), + [anon_sym_for] = ACTIONS(1236), + [anon_sym_return] = ACTIONS(1236), + [anon_sym_break] = ACTIONS(1236), + [anon_sym_continue] = ACTIONS(1236), + [anon_sym_goto] = ACTIONS(1236), + [anon_sym___try] = ACTIONS(1236), + [anon_sym___leave] = ACTIONS(1236), + [anon_sym_DASH_DASH] = ACTIONS(1238), + [anon_sym_PLUS_PLUS] = ACTIONS(1238), + [anon_sym_sizeof] = ACTIONS(1236), + [anon_sym___alignof__] = ACTIONS(1236), + [anon_sym___alignof] = ACTIONS(1236), + [anon_sym__alignof] = ACTIONS(1236), + [anon_sym_alignof] = ACTIONS(1236), + [anon_sym__Alignof] = ACTIONS(1236), + [anon_sym_offsetof] = ACTIONS(1236), + [anon_sym__Generic] = ACTIONS(1236), + [anon_sym_asm] = ACTIONS(1236), + [anon_sym___asm__] = ACTIONS(1236), + [sym__number_literal] = ACTIONS(1238), + [anon_sym_L_SQUOTE] = ACTIONS(1238), + [anon_sym_u_SQUOTE] = ACTIONS(1238), + [anon_sym_U_SQUOTE] = ACTIONS(1238), + [anon_sym_u8_SQUOTE] = ACTIONS(1238), + [anon_sym_SQUOTE] = ACTIONS(1238), + [anon_sym_L_DQUOTE] = ACTIONS(1238), + [anon_sym_u_DQUOTE] = ACTIONS(1238), + [anon_sym_U_DQUOTE] = ACTIONS(1238), + [anon_sym_u8_DQUOTE] = ACTIONS(1238), + [anon_sym_DQUOTE] = ACTIONS(1238), + [sym_true] = ACTIONS(1236), + [sym_false] = ACTIONS(1236), + [anon_sym_NULL] = ACTIONS(1236), + [anon_sym_nullptr] = ACTIONS(1236), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1238), + }, + [118] = { + [sym__identifier] = ACTIONS(1240), + [aux_sym_preproc_include_token1] = ACTIONS(1240), + [aux_sym_preproc_def_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token2] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1240), + [aux_sym_preproc_else_token1] = ACTIONS(1240), + [aux_sym_preproc_elif_token1] = ACTIONS(1240), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1240), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1240), + [sym_preproc_directive] = ACTIONS(1240), + [anon_sym_LPAREN2] = ACTIONS(1242), + [anon_sym_BANG] = ACTIONS(1242), + [anon_sym_TILDE] = ACTIONS(1242), + [anon_sym_DASH] = ACTIONS(1240), + [anon_sym_PLUS] = ACTIONS(1240), + [anon_sym_STAR] = ACTIONS(1242), + [anon_sym_AMP] = ACTIONS(1242), + [anon_sym_SEMI] = ACTIONS(1242), + [anon_sym___extension__] = ACTIONS(1240), + [anon_sym_typedef] = ACTIONS(1240), + [anon_sym_extern] = ACTIONS(1240), + [anon_sym___attribute__] = ACTIONS(1240), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1240), + [anon_sym___cdecl] = ACTIONS(1240), + [anon_sym___clrcall] = ACTIONS(1240), + [anon_sym___stdcall] = ACTIONS(1240), + [anon_sym___fastcall] = ACTIONS(1240), + [anon_sym___thiscall] = ACTIONS(1240), + [anon_sym___vectorcall] = ACTIONS(1240), + [anon_sym_LBRACE] = ACTIONS(1242), + [anon_sym_signed] = ACTIONS(1240), + [anon_sym_unsigned] = ACTIONS(1240), + [anon_sym_long] = ACTIONS(1240), + [anon_sym_short] = ACTIONS(1240), + [anon_sym_static] = ACTIONS(1240), + [anon_sym_auto] = ACTIONS(1240), + [anon_sym_register] = ACTIONS(1240), + [anon_sym_inline] = ACTIONS(1240), + [anon_sym___inline] = ACTIONS(1240), + [anon_sym___inline__] = ACTIONS(1240), + [anon_sym___forceinline] = ACTIONS(1240), + [anon_sym_thread_local] = ACTIONS(1240), + [anon_sym___thread] = ACTIONS(1240), + [anon_sym_const] = ACTIONS(1240), + [anon_sym_constexpr] = ACTIONS(1240), + [anon_sym_volatile] = ACTIONS(1240), + [anon_sym_restrict] = ACTIONS(1240), + [anon_sym___restrict__] = ACTIONS(1240), + [anon_sym__Atomic] = ACTIONS(1240), + [anon_sym__Noreturn] = ACTIONS(1240), + [anon_sym_noreturn] = ACTIONS(1240), + [anon_sym_alignas] = ACTIONS(1240), + [anon_sym__Alignas] = ACTIONS(1240), + [sym_primitive_type] = ACTIONS(1240), + [anon_sym_enum] = ACTIONS(1240), + [anon_sym_struct] = ACTIONS(1240), + [anon_sym_union] = ACTIONS(1240), + [anon_sym_if] = ACTIONS(1240), + [anon_sym_switch] = ACTIONS(1240), + [anon_sym_case] = ACTIONS(1240), + [anon_sym_default] = ACTIONS(1240), + [anon_sym_while] = ACTIONS(1240), + [anon_sym_do] = ACTIONS(1240), + [anon_sym_for] = ACTIONS(1240), + [anon_sym_return] = ACTIONS(1240), + [anon_sym_break] = ACTIONS(1240), + [anon_sym_continue] = ACTIONS(1240), + [anon_sym_goto] = ACTIONS(1240), + [anon_sym___try] = ACTIONS(1240), + [anon_sym___leave] = ACTIONS(1240), + [anon_sym_DASH_DASH] = ACTIONS(1242), + [anon_sym_PLUS_PLUS] = ACTIONS(1242), + [anon_sym_sizeof] = ACTIONS(1240), + [anon_sym___alignof__] = ACTIONS(1240), + [anon_sym___alignof] = ACTIONS(1240), + [anon_sym__alignof] = ACTIONS(1240), + [anon_sym_alignof] = ACTIONS(1240), + [anon_sym__Alignof] = ACTIONS(1240), + [anon_sym_offsetof] = ACTIONS(1240), + [anon_sym__Generic] = ACTIONS(1240), + [anon_sym_asm] = ACTIONS(1240), + [anon_sym___asm__] = ACTIONS(1240), + [sym__number_literal] = ACTIONS(1242), + [anon_sym_L_SQUOTE] = ACTIONS(1242), + [anon_sym_u_SQUOTE] = ACTIONS(1242), + [anon_sym_U_SQUOTE] = ACTIONS(1242), + [anon_sym_u8_SQUOTE] = ACTIONS(1242), + [anon_sym_SQUOTE] = ACTIONS(1242), + [anon_sym_L_DQUOTE] = ACTIONS(1242), + [anon_sym_u_DQUOTE] = ACTIONS(1242), + [anon_sym_U_DQUOTE] = ACTIONS(1242), + [anon_sym_u8_DQUOTE] = ACTIONS(1242), + [anon_sym_DQUOTE] = ACTIONS(1242), + [sym_true] = ACTIONS(1240), + [sym_false] = ACTIONS(1240), + [anon_sym_NULL] = ACTIONS(1240), + [anon_sym_nullptr] = ACTIONS(1240), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1242), + }, + [119] = { + [sym__identifier] = ACTIONS(1244), + [aux_sym_preproc_include_token1] = ACTIONS(1244), + [aux_sym_preproc_def_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token2] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1244), + [aux_sym_preproc_else_token1] = ACTIONS(1244), + [aux_sym_preproc_elif_token1] = ACTIONS(1244), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1244), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1244), + [sym_preproc_directive] = ACTIONS(1244), + [anon_sym_LPAREN2] = ACTIONS(1246), + [anon_sym_BANG] = ACTIONS(1246), + [anon_sym_TILDE] = ACTIONS(1246), + [anon_sym_DASH] = ACTIONS(1244), + [anon_sym_PLUS] = ACTIONS(1244), + [anon_sym_STAR] = ACTIONS(1246), + [anon_sym_AMP] = ACTIONS(1246), + [anon_sym_SEMI] = ACTIONS(1246), + [anon_sym___extension__] = ACTIONS(1244), + [anon_sym_typedef] = ACTIONS(1244), + [anon_sym_extern] = ACTIONS(1244), + [anon_sym___attribute__] = ACTIONS(1244), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1246), + [anon_sym___declspec] = ACTIONS(1244), + [anon_sym___cdecl] = ACTIONS(1244), + [anon_sym___clrcall] = ACTIONS(1244), + [anon_sym___stdcall] = ACTIONS(1244), + [anon_sym___fastcall] = ACTIONS(1244), + [anon_sym___thiscall] = ACTIONS(1244), + [anon_sym___vectorcall] = ACTIONS(1244), + [anon_sym_LBRACE] = ACTIONS(1246), + [anon_sym_signed] = ACTIONS(1244), + [anon_sym_unsigned] = ACTIONS(1244), + [anon_sym_long] = ACTIONS(1244), + [anon_sym_short] = ACTIONS(1244), + [anon_sym_static] = ACTIONS(1244), + [anon_sym_auto] = ACTIONS(1244), + [anon_sym_register] = ACTIONS(1244), + [anon_sym_inline] = ACTIONS(1244), + [anon_sym___inline] = ACTIONS(1244), + [anon_sym___inline__] = ACTIONS(1244), + [anon_sym___forceinline] = ACTIONS(1244), + [anon_sym_thread_local] = ACTIONS(1244), + [anon_sym___thread] = ACTIONS(1244), + [anon_sym_const] = ACTIONS(1244), + [anon_sym_constexpr] = ACTIONS(1244), + [anon_sym_volatile] = ACTIONS(1244), + [anon_sym_restrict] = ACTIONS(1244), + [anon_sym___restrict__] = ACTIONS(1244), + [anon_sym__Atomic] = ACTIONS(1244), + [anon_sym__Noreturn] = ACTIONS(1244), + [anon_sym_noreturn] = ACTIONS(1244), + [anon_sym_alignas] = ACTIONS(1244), + [anon_sym__Alignas] = ACTIONS(1244), + [sym_primitive_type] = ACTIONS(1244), + [anon_sym_enum] = ACTIONS(1244), + [anon_sym_struct] = ACTIONS(1244), + [anon_sym_union] = ACTIONS(1244), + [anon_sym_if] = ACTIONS(1244), + [anon_sym_switch] = ACTIONS(1244), + [anon_sym_case] = ACTIONS(1244), + [anon_sym_default] = ACTIONS(1244), + [anon_sym_while] = ACTIONS(1244), + [anon_sym_do] = ACTIONS(1244), + [anon_sym_for] = ACTIONS(1244), + [anon_sym_return] = ACTIONS(1244), + [anon_sym_break] = ACTIONS(1244), + [anon_sym_continue] = ACTIONS(1244), + [anon_sym_goto] = ACTIONS(1244), + [anon_sym___try] = ACTIONS(1244), + [anon_sym___leave] = ACTIONS(1244), + [anon_sym_DASH_DASH] = ACTIONS(1246), + [anon_sym_PLUS_PLUS] = ACTIONS(1246), + [anon_sym_sizeof] = ACTIONS(1244), + [anon_sym___alignof__] = ACTIONS(1244), + [anon_sym___alignof] = ACTIONS(1244), + [anon_sym__alignof] = ACTIONS(1244), + [anon_sym_alignof] = ACTIONS(1244), + [anon_sym__Alignof] = ACTIONS(1244), + [anon_sym_offsetof] = ACTIONS(1244), + [anon_sym__Generic] = ACTIONS(1244), + [anon_sym_asm] = ACTIONS(1244), + [anon_sym___asm__] = ACTIONS(1244), + [sym__number_literal] = ACTIONS(1246), + [anon_sym_L_SQUOTE] = ACTIONS(1246), + [anon_sym_u_SQUOTE] = ACTIONS(1246), + [anon_sym_U_SQUOTE] = ACTIONS(1246), + [anon_sym_u8_SQUOTE] = ACTIONS(1246), + [anon_sym_SQUOTE] = ACTIONS(1246), + [anon_sym_L_DQUOTE] = ACTIONS(1246), + [anon_sym_u_DQUOTE] = ACTIONS(1246), + [anon_sym_U_DQUOTE] = ACTIONS(1246), + [anon_sym_u8_DQUOTE] = ACTIONS(1246), + [anon_sym_DQUOTE] = ACTIONS(1246), + [sym_true] = ACTIONS(1244), + [sym_false] = ACTIONS(1244), + [anon_sym_NULL] = ACTIONS(1244), + [anon_sym_nullptr] = ACTIONS(1244), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1246), + }, + [120] = { + [sym__identifier] = ACTIONS(1248), + [aux_sym_preproc_include_token1] = ACTIONS(1248), + [aux_sym_preproc_def_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token2] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1248), + [aux_sym_preproc_else_token1] = ACTIONS(1248), + [aux_sym_preproc_elif_token1] = ACTIONS(1248), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1248), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1248), + [sym_preproc_directive] = ACTIONS(1248), + [anon_sym_LPAREN2] = ACTIONS(1250), + [anon_sym_BANG] = ACTIONS(1250), + [anon_sym_TILDE] = ACTIONS(1250), + [anon_sym_DASH] = ACTIONS(1248), + [anon_sym_PLUS] = ACTIONS(1248), + [anon_sym_STAR] = ACTIONS(1250), + [anon_sym_AMP] = ACTIONS(1250), + [anon_sym_SEMI] = ACTIONS(1250), + [anon_sym___extension__] = ACTIONS(1248), + [anon_sym_typedef] = ACTIONS(1248), + [anon_sym_extern] = ACTIONS(1248), + [anon_sym___attribute__] = ACTIONS(1248), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1250), + [anon_sym___declspec] = ACTIONS(1248), + [anon_sym___cdecl] = ACTIONS(1248), + [anon_sym___clrcall] = ACTIONS(1248), + [anon_sym___stdcall] = ACTIONS(1248), + [anon_sym___fastcall] = ACTIONS(1248), + [anon_sym___thiscall] = ACTIONS(1248), + [anon_sym___vectorcall] = ACTIONS(1248), + [anon_sym_LBRACE] = ACTIONS(1250), + [anon_sym_signed] = ACTIONS(1248), + [anon_sym_unsigned] = ACTIONS(1248), + [anon_sym_long] = ACTIONS(1248), + [anon_sym_short] = ACTIONS(1248), + [anon_sym_static] = ACTIONS(1248), + [anon_sym_auto] = ACTIONS(1248), + [anon_sym_register] = ACTIONS(1248), + [anon_sym_inline] = ACTIONS(1248), + [anon_sym___inline] = ACTIONS(1248), + [anon_sym___inline__] = ACTIONS(1248), + [anon_sym___forceinline] = ACTIONS(1248), + [anon_sym_thread_local] = ACTIONS(1248), + [anon_sym___thread] = ACTIONS(1248), + [anon_sym_const] = ACTIONS(1248), + [anon_sym_constexpr] = ACTIONS(1248), + [anon_sym_volatile] = ACTIONS(1248), + [anon_sym_restrict] = ACTIONS(1248), + [anon_sym___restrict__] = ACTIONS(1248), + [anon_sym__Atomic] = ACTIONS(1248), + [anon_sym__Noreturn] = ACTIONS(1248), + [anon_sym_noreturn] = ACTIONS(1248), + [anon_sym_alignas] = ACTIONS(1248), + [anon_sym__Alignas] = ACTIONS(1248), + [sym_primitive_type] = ACTIONS(1248), + [anon_sym_enum] = ACTIONS(1248), + [anon_sym_struct] = ACTIONS(1248), + [anon_sym_union] = ACTIONS(1248), + [anon_sym_if] = ACTIONS(1248), + [anon_sym_switch] = ACTIONS(1248), + [anon_sym_case] = ACTIONS(1248), + [anon_sym_default] = ACTIONS(1248), + [anon_sym_while] = ACTIONS(1248), + [anon_sym_do] = ACTIONS(1248), + [anon_sym_for] = ACTIONS(1248), + [anon_sym_return] = ACTIONS(1248), + [anon_sym_break] = ACTIONS(1248), + [anon_sym_continue] = ACTIONS(1248), + [anon_sym_goto] = ACTIONS(1248), + [anon_sym___try] = ACTIONS(1248), + [anon_sym___leave] = ACTIONS(1248), + [anon_sym_DASH_DASH] = ACTIONS(1250), + [anon_sym_PLUS_PLUS] = ACTIONS(1250), + [anon_sym_sizeof] = ACTIONS(1248), + [anon_sym___alignof__] = ACTIONS(1248), + [anon_sym___alignof] = ACTIONS(1248), + [anon_sym__alignof] = ACTIONS(1248), + [anon_sym_alignof] = ACTIONS(1248), + [anon_sym__Alignof] = ACTIONS(1248), + [anon_sym_offsetof] = ACTIONS(1248), + [anon_sym__Generic] = ACTIONS(1248), + [anon_sym_asm] = ACTIONS(1248), + [anon_sym___asm__] = ACTIONS(1248), + [sym__number_literal] = ACTIONS(1250), + [anon_sym_L_SQUOTE] = ACTIONS(1250), + [anon_sym_u_SQUOTE] = ACTIONS(1250), + [anon_sym_U_SQUOTE] = ACTIONS(1250), + [anon_sym_u8_SQUOTE] = ACTIONS(1250), + [anon_sym_SQUOTE] = ACTIONS(1250), + [anon_sym_L_DQUOTE] = ACTIONS(1250), + [anon_sym_u_DQUOTE] = ACTIONS(1250), + [anon_sym_U_DQUOTE] = ACTIONS(1250), + [anon_sym_u8_DQUOTE] = ACTIONS(1250), + [anon_sym_DQUOTE] = ACTIONS(1250), + [sym_true] = ACTIONS(1248), + [sym_false] = ACTIONS(1248), + [anon_sym_NULL] = ACTIONS(1248), + [anon_sym_nullptr] = ACTIONS(1248), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1250), + }, + [121] = { + [sym__identifier] = ACTIONS(1252), + [aux_sym_preproc_include_token1] = ACTIONS(1252), + [aux_sym_preproc_def_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token2] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1252), + [aux_sym_preproc_else_token1] = ACTIONS(1252), + [aux_sym_preproc_elif_token1] = ACTIONS(1252), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1252), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1252), + [sym_preproc_directive] = ACTIONS(1252), + [anon_sym_LPAREN2] = ACTIONS(1254), + [anon_sym_BANG] = ACTIONS(1254), + [anon_sym_TILDE] = ACTIONS(1254), + [anon_sym_DASH] = ACTIONS(1252), + [anon_sym_PLUS] = ACTIONS(1252), + [anon_sym_STAR] = ACTIONS(1254), + [anon_sym_AMP] = ACTIONS(1254), + [anon_sym_SEMI] = ACTIONS(1254), + [anon_sym___extension__] = ACTIONS(1252), + [anon_sym_typedef] = ACTIONS(1252), + [anon_sym_extern] = ACTIONS(1252), + [anon_sym___attribute__] = ACTIONS(1252), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1254), + [anon_sym___declspec] = ACTIONS(1252), + [anon_sym___cdecl] = ACTIONS(1252), + [anon_sym___clrcall] = ACTIONS(1252), + [anon_sym___stdcall] = ACTIONS(1252), + [anon_sym___fastcall] = ACTIONS(1252), + [anon_sym___thiscall] = ACTIONS(1252), + [anon_sym___vectorcall] = ACTIONS(1252), + [anon_sym_LBRACE] = ACTIONS(1254), + [anon_sym_signed] = ACTIONS(1252), + [anon_sym_unsigned] = ACTIONS(1252), + [anon_sym_long] = ACTIONS(1252), + [anon_sym_short] = ACTIONS(1252), + [anon_sym_static] = ACTIONS(1252), + [anon_sym_auto] = ACTIONS(1252), + [anon_sym_register] = ACTIONS(1252), + [anon_sym_inline] = ACTIONS(1252), + [anon_sym___inline] = ACTIONS(1252), + [anon_sym___inline__] = ACTIONS(1252), + [anon_sym___forceinline] = ACTIONS(1252), + [anon_sym_thread_local] = ACTIONS(1252), + [anon_sym___thread] = ACTIONS(1252), + [anon_sym_const] = ACTIONS(1252), + [anon_sym_constexpr] = ACTIONS(1252), + [anon_sym_volatile] = ACTIONS(1252), + [anon_sym_restrict] = ACTIONS(1252), + [anon_sym___restrict__] = ACTIONS(1252), + [anon_sym__Atomic] = ACTIONS(1252), + [anon_sym__Noreturn] = ACTIONS(1252), + [anon_sym_noreturn] = ACTIONS(1252), + [anon_sym_alignas] = ACTIONS(1252), + [anon_sym__Alignas] = ACTIONS(1252), + [sym_primitive_type] = ACTIONS(1252), + [anon_sym_enum] = ACTIONS(1252), + [anon_sym_struct] = ACTIONS(1252), + [anon_sym_union] = ACTIONS(1252), + [anon_sym_if] = ACTIONS(1252), + [anon_sym_switch] = ACTIONS(1252), + [anon_sym_case] = ACTIONS(1252), + [anon_sym_default] = ACTIONS(1252), + [anon_sym_while] = ACTIONS(1252), + [anon_sym_do] = ACTIONS(1252), + [anon_sym_for] = ACTIONS(1252), + [anon_sym_return] = ACTIONS(1252), + [anon_sym_break] = ACTIONS(1252), + [anon_sym_continue] = ACTIONS(1252), + [anon_sym_goto] = ACTIONS(1252), + [anon_sym___try] = ACTIONS(1252), + [anon_sym___leave] = ACTIONS(1252), + [anon_sym_DASH_DASH] = ACTIONS(1254), + [anon_sym_PLUS_PLUS] = ACTIONS(1254), + [anon_sym_sizeof] = ACTIONS(1252), + [anon_sym___alignof__] = ACTIONS(1252), + [anon_sym___alignof] = ACTIONS(1252), + [anon_sym__alignof] = ACTIONS(1252), + [anon_sym_alignof] = ACTIONS(1252), + [anon_sym__Alignof] = ACTIONS(1252), + [anon_sym_offsetof] = ACTIONS(1252), + [anon_sym__Generic] = ACTIONS(1252), + [anon_sym_asm] = ACTIONS(1252), + [anon_sym___asm__] = ACTIONS(1252), + [sym__number_literal] = ACTIONS(1254), + [anon_sym_L_SQUOTE] = ACTIONS(1254), + [anon_sym_u_SQUOTE] = ACTIONS(1254), + [anon_sym_U_SQUOTE] = ACTIONS(1254), + [anon_sym_u8_SQUOTE] = ACTIONS(1254), + [anon_sym_SQUOTE] = ACTIONS(1254), + [anon_sym_L_DQUOTE] = ACTIONS(1254), + [anon_sym_u_DQUOTE] = ACTIONS(1254), + [anon_sym_U_DQUOTE] = ACTIONS(1254), + [anon_sym_u8_DQUOTE] = ACTIONS(1254), + [anon_sym_DQUOTE] = ACTIONS(1254), + [sym_true] = ACTIONS(1252), + [sym_false] = ACTIONS(1252), + [anon_sym_NULL] = ACTIONS(1252), + [anon_sym_nullptr] = ACTIONS(1252), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1254), + }, + [122] = { + [sym__identifier] = ACTIONS(1256), + [aux_sym_preproc_include_token1] = ACTIONS(1256), + [aux_sym_preproc_def_token1] = ACTIONS(1256), + [aux_sym_preproc_if_token1] = ACTIONS(1256), + [aux_sym_preproc_if_token2] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1256), + [aux_sym_preproc_else_token1] = ACTIONS(1256), + [aux_sym_preproc_elif_token1] = ACTIONS(1256), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1256), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1256), + [sym_preproc_directive] = ACTIONS(1256), + [anon_sym_LPAREN2] = ACTIONS(1258), + [anon_sym_BANG] = ACTIONS(1258), + [anon_sym_TILDE] = ACTIONS(1258), + [anon_sym_DASH] = ACTIONS(1256), + [anon_sym_PLUS] = ACTIONS(1256), + [anon_sym_STAR] = ACTIONS(1258), + [anon_sym_AMP] = ACTIONS(1258), + [anon_sym_SEMI] = ACTIONS(1258), + [anon_sym___extension__] = ACTIONS(1256), + [anon_sym_typedef] = ACTIONS(1256), + [anon_sym_extern] = ACTIONS(1256), + [anon_sym___attribute__] = ACTIONS(1256), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1258), + [anon_sym___declspec] = ACTIONS(1256), + [anon_sym___cdecl] = ACTIONS(1256), + [anon_sym___clrcall] = ACTIONS(1256), + [anon_sym___stdcall] = ACTIONS(1256), + [anon_sym___fastcall] = ACTIONS(1256), + [anon_sym___thiscall] = ACTIONS(1256), + [anon_sym___vectorcall] = ACTIONS(1256), + [anon_sym_LBRACE] = ACTIONS(1258), + [anon_sym_signed] = ACTIONS(1256), + [anon_sym_unsigned] = ACTIONS(1256), + [anon_sym_long] = ACTIONS(1256), + [anon_sym_short] = ACTIONS(1256), + [anon_sym_static] = ACTIONS(1256), + [anon_sym_auto] = ACTIONS(1256), + [anon_sym_register] = ACTIONS(1256), + [anon_sym_inline] = ACTIONS(1256), + [anon_sym___inline] = ACTIONS(1256), + [anon_sym___inline__] = ACTIONS(1256), + [anon_sym___forceinline] = ACTIONS(1256), + [anon_sym_thread_local] = ACTIONS(1256), + [anon_sym___thread] = ACTIONS(1256), + [anon_sym_const] = ACTIONS(1256), + [anon_sym_constexpr] = ACTIONS(1256), + [anon_sym_volatile] = ACTIONS(1256), + [anon_sym_restrict] = ACTIONS(1256), + [anon_sym___restrict__] = ACTIONS(1256), + [anon_sym__Atomic] = ACTIONS(1256), + [anon_sym__Noreturn] = ACTIONS(1256), + [anon_sym_noreturn] = ACTIONS(1256), + [anon_sym_alignas] = ACTIONS(1256), + [anon_sym__Alignas] = ACTIONS(1256), + [sym_primitive_type] = ACTIONS(1256), + [anon_sym_enum] = ACTIONS(1256), + [anon_sym_struct] = ACTIONS(1256), + [anon_sym_union] = ACTIONS(1256), + [anon_sym_if] = ACTIONS(1256), + [anon_sym_switch] = ACTIONS(1256), + [anon_sym_case] = ACTIONS(1256), + [anon_sym_default] = ACTIONS(1256), + [anon_sym_while] = ACTIONS(1256), + [anon_sym_do] = ACTIONS(1256), + [anon_sym_for] = ACTIONS(1256), + [anon_sym_return] = ACTIONS(1256), + [anon_sym_break] = ACTIONS(1256), + [anon_sym_continue] = ACTIONS(1256), + [anon_sym_goto] = ACTIONS(1256), + [anon_sym___try] = ACTIONS(1256), + [anon_sym___leave] = ACTIONS(1256), + [anon_sym_DASH_DASH] = ACTIONS(1258), + [anon_sym_PLUS_PLUS] = ACTIONS(1258), + [anon_sym_sizeof] = ACTIONS(1256), + [anon_sym___alignof__] = ACTIONS(1256), + [anon_sym___alignof] = ACTIONS(1256), + [anon_sym__alignof] = ACTIONS(1256), + [anon_sym_alignof] = ACTIONS(1256), + [anon_sym__Alignof] = ACTIONS(1256), + [anon_sym_offsetof] = ACTIONS(1256), + [anon_sym__Generic] = ACTIONS(1256), + [anon_sym_asm] = ACTIONS(1256), + [anon_sym___asm__] = ACTIONS(1256), + [sym__number_literal] = ACTIONS(1258), + [anon_sym_L_SQUOTE] = ACTIONS(1258), + [anon_sym_u_SQUOTE] = ACTIONS(1258), + [anon_sym_U_SQUOTE] = ACTIONS(1258), + [anon_sym_u8_SQUOTE] = ACTIONS(1258), + [anon_sym_SQUOTE] = ACTIONS(1258), + [anon_sym_L_DQUOTE] = ACTIONS(1258), + [anon_sym_u_DQUOTE] = ACTIONS(1258), + [anon_sym_U_DQUOTE] = ACTIONS(1258), + [anon_sym_u8_DQUOTE] = ACTIONS(1258), + [anon_sym_DQUOTE] = ACTIONS(1258), + [sym_true] = ACTIONS(1256), + [sym_false] = ACTIONS(1256), + [anon_sym_NULL] = ACTIONS(1256), + [anon_sym_nullptr] = ACTIONS(1256), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1258), + }, + [123] = { + [sym__identifier] = ACTIONS(1260), + [aux_sym_preproc_include_token1] = ACTIONS(1260), + [aux_sym_preproc_def_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token2] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1260), + [aux_sym_preproc_else_token1] = ACTIONS(1260), + [aux_sym_preproc_elif_token1] = ACTIONS(1260), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1260), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1260), + [sym_preproc_directive] = ACTIONS(1260), + [anon_sym_LPAREN2] = ACTIONS(1262), + [anon_sym_BANG] = ACTIONS(1262), + [anon_sym_TILDE] = ACTIONS(1262), + [anon_sym_DASH] = ACTIONS(1260), + [anon_sym_PLUS] = ACTIONS(1260), + [anon_sym_STAR] = ACTIONS(1262), + [anon_sym_AMP] = ACTIONS(1262), + [anon_sym_SEMI] = ACTIONS(1262), + [anon_sym___extension__] = ACTIONS(1260), + [anon_sym_typedef] = ACTIONS(1260), + [anon_sym_extern] = ACTIONS(1260), + [anon_sym___attribute__] = ACTIONS(1260), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1262), + [anon_sym___declspec] = ACTIONS(1260), + [anon_sym___cdecl] = ACTIONS(1260), + [anon_sym___clrcall] = ACTIONS(1260), + [anon_sym___stdcall] = ACTIONS(1260), + [anon_sym___fastcall] = ACTIONS(1260), + [anon_sym___thiscall] = ACTIONS(1260), + [anon_sym___vectorcall] = ACTIONS(1260), + [anon_sym_LBRACE] = ACTIONS(1262), + [anon_sym_signed] = ACTIONS(1260), + [anon_sym_unsigned] = ACTIONS(1260), + [anon_sym_long] = ACTIONS(1260), + [anon_sym_short] = ACTIONS(1260), + [anon_sym_static] = ACTIONS(1260), + [anon_sym_auto] = ACTIONS(1260), + [anon_sym_register] = ACTIONS(1260), + [anon_sym_inline] = ACTIONS(1260), + [anon_sym___inline] = ACTIONS(1260), + [anon_sym___inline__] = ACTIONS(1260), + [anon_sym___forceinline] = ACTIONS(1260), + [anon_sym_thread_local] = ACTIONS(1260), + [anon_sym___thread] = ACTIONS(1260), + [anon_sym_const] = ACTIONS(1260), + [anon_sym_constexpr] = ACTIONS(1260), + [anon_sym_volatile] = ACTIONS(1260), + [anon_sym_restrict] = ACTIONS(1260), + [anon_sym___restrict__] = ACTIONS(1260), + [anon_sym__Atomic] = ACTIONS(1260), + [anon_sym__Noreturn] = ACTIONS(1260), + [anon_sym_noreturn] = ACTIONS(1260), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1260), + [anon_sym_enum] = ACTIONS(1260), + [anon_sym_struct] = ACTIONS(1260), + [anon_sym_union] = ACTIONS(1260), + [anon_sym_if] = ACTIONS(1260), + [anon_sym_switch] = ACTIONS(1260), + [anon_sym_case] = ACTIONS(1260), + [anon_sym_default] = ACTIONS(1260), + [anon_sym_while] = ACTIONS(1260), + [anon_sym_do] = ACTIONS(1260), + [anon_sym_for] = ACTIONS(1260), + [anon_sym_return] = ACTIONS(1260), + [anon_sym_break] = ACTIONS(1260), + [anon_sym_continue] = ACTIONS(1260), + [anon_sym_goto] = ACTIONS(1260), + [anon_sym___try] = ACTIONS(1260), + [anon_sym___leave] = ACTIONS(1260), + [anon_sym_DASH_DASH] = ACTIONS(1262), + [anon_sym_PLUS_PLUS] = ACTIONS(1262), + [anon_sym_sizeof] = ACTIONS(1260), + [anon_sym___alignof__] = ACTIONS(1260), + [anon_sym___alignof] = ACTIONS(1260), + [anon_sym__alignof] = ACTIONS(1260), + [anon_sym_alignof] = ACTIONS(1260), + [anon_sym__Alignof] = ACTIONS(1260), + [anon_sym_offsetof] = ACTIONS(1260), + [anon_sym__Generic] = ACTIONS(1260), + [anon_sym_asm] = ACTIONS(1260), + [anon_sym___asm__] = ACTIONS(1260), + [sym__number_literal] = ACTIONS(1262), + [anon_sym_L_SQUOTE] = ACTIONS(1262), + [anon_sym_u_SQUOTE] = ACTIONS(1262), + [anon_sym_U_SQUOTE] = ACTIONS(1262), + [anon_sym_u8_SQUOTE] = ACTIONS(1262), + [anon_sym_SQUOTE] = ACTIONS(1262), + [anon_sym_L_DQUOTE] = ACTIONS(1262), + [anon_sym_u_DQUOTE] = ACTIONS(1262), + [anon_sym_U_DQUOTE] = ACTIONS(1262), + [anon_sym_u8_DQUOTE] = ACTIONS(1262), + [anon_sym_DQUOTE] = ACTIONS(1262), + [sym_true] = ACTIONS(1260), + [sym_false] = ACTIONS(1260), + [anon_sym_NULL] = ACTIONS(1260), + [anon_sym_nullptr] = ACTIONS(1260), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1262), + }, + [124] = { + [sym__identifier] = ACTIONS(1264), + [aux_sym_preproc_include_token1] = ACTIONS(1264), + [aux_sym_preproc_def_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token2] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1264), + [aux_sym_preproc_else_token1] = ACTIONS(1264), + [aux_sym_preproc_elif_token1] = ACTIONS(1264), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1264), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1264), + [sym_preproc_directive] = ACTIONS(1264), + [anon_sym_LPAREN2] = ACTIONS(1266), + [anon_sym_BANG] = ACTIONS(1266), + [anon_sym_TILDE] = ACTIONS(1266), + [anon_sym_DASH] = ACTIONS(1264), + [anon_sym_PLUS] = ACTIONS(1264), + [anon_sym_STAR] = ACTIONS(1266), + [anon_sym_AMP] = ACTIONS(1266), + [anon_sym_SEMI] = ACTIONS(1266), + [anon_sym___extension__] = ACTIONS(1264), + [anon_sym_typedef] = ACTIONS(1264), + [anon_sym_extern] = ACTIONS(1264), + [anon_sym___attribute__] = ACTIONS(1264), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1266), + [anon_sym___declspec] = ACTIONS(1264), + [anon_sym___cdecl] = ACTIONS(1264), + [anon_sym___clrcall] = ACTIONS(1264), + [anon_sym___stdcall] = ACTIONS(1264), + [anon_sym___fastcall] = ACTIONS(1264), + [anon_sym___thiscall] = ACTIONS(1264), + [anon_sym___vectorcall] = ACTIONS(1264), + [anon_sym_LBRACE] = ACTIONS(1266), + [anon_sym_signed] = ACTIONS(1264), + [anon_sym_unsigned] = ACTIONS(1264), + [anon_sym_long] = ACTIONS(1264), + [anon_sym_short] = ACTIONS(1264), + [anon_sym_static] = ACTIONS(1264), + [anon_sym_auto] = ACTIONS(1264), + [anon_sym_register] = ACTIONS(1264), + [anon_sym_inline] = ACTIONS(1264), + [anon_sym___inline] = ACTIONS(1264), + [anon_sym___inline__] = ACTIONS(1264), + [anon_sym___forceinline] = ACTIONS(1264), + [anon_sym_thread_local] = ACTIONS(1264), + [anon_sym___thread] = ACTIONS(1264), + [anon_sym_const] = ACTIONS(1264), + [anon_sym_constexpr] = ACTIONS(1264), + [anon_sym_volatile] = ACTIONS(1264), + [anon_sym_restrict] = ACTIONS(1264), + [anon_sym___restrict__] = ACTIONS(1264), + [anon_sym__Atomic] = ACTIONS(1264), + [anon_sym__Noreturn] = ACTIONS(1264), + [anon_sym_noreturn] = ACTIONS(1264), + [anon_sym_alignas] = ACTIONS(1264), + [anon_sym__Alignas] = ACTIONS(1264), + [sym_primitive_type] = ACTIONS(1264), + [anon_sym_enum] = ACTIONS(1264), + [anon_sym_struct] = ACTIONS(1264), + [anon_sym_union] = ACTIONS(1264), + [anon_sym_if] = ACTIONS(1264), + [anon_sym_switch] = ACTIONS(1264), + [anon_sym_case] = ACTIONS(1264), + [anon_sym_default] = ACTIONS(1264), + [anon_sym_while] = ACTIONS(1264), + [anon_sym_do] = ACTIONS(1264), + [anon_sym_for] = ACTIONS(1264), + [anon_sym_return] = ACTIONS(1264), + [anon_sym_break] = ACTIONS(1264), + [anon_sym_continue] = ACTIONS(1264), + [anon_sym_goto] = ACTIONS(1264), + [anon_sym___try] = ACTIONS(1264), + [anon_sym___leave] = ACTIONS(1264), + [anon_sym_DASH_DASH] = ACTIONS(1266), + [anon_sym_PLUS_PLUS] = ACTIONS(1266), + [anon_sym_sizeof] = ACTIONS(1264), + [anon_sym___alignof__] = ACTIONS(1264), + [anon_sym___alignof] = ACTIONS(1264), + [anon_sym__alignof] = ACTIONS(1264), + [anon_sym_alignof] = ACTIONS(1264), + [anon_sym__Alignof] = ACTIONS(1264), + [anon_sym_offsetof] = ACTIONS(1264), + [anon_sym__Generic] = ACTIONS(1264), + [anon_sym_asm] = ACTIONS(1264), + [anon_sym___asm__] = ACTIONS(1264), + [sym__number_literal] = ACTIONS(1266), + [anon_sym_L_SQUOTE] = ACTIONS(1266), + [anon_sym_u_SQUOTE] = ACTIONS(1266), + [anon_sym_U_SQUOTE] = ACTIONS(1266), + [anon_sym_u8_SQUOTE] = ACTIONS(1266), + [anon_sym_SQUOTE] = ACTIONS(1266), + [anon_sym_L_DQUOTE] = ACTIONS(1266), + [anon_sym_u_DQUOTE] = ACTIONS(1266), + [anon_sym_U_DQUOTE] = ACTIONS(1266), + [anon_sym_u8_DQUOTE] = ACTIONS(1266), + [anon_sym_DQUOTE] = ACTIONS(1266), + [sym_true] = ACTIONS(1264), + [sym_false] = ACTIONS(1264), + [anon_sym_NULL] = ACTIONS(1264), + [anon_sym_nullptr] = ACTIONS(1264), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1266), + }, + [125] = { + [sym__identifier] = ACTIONS(1268), + [aux_sym_preproc_include_token1] = ACTIONS(1268), + [aux_sym_preproc_def_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token2] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1268), + [aux_sym_preproc_else_token1] = ACTIONS(1268), + [aux_sym_preproc_elif_token1] = ACTIONS(1268), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1268), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1268), + [sym_preproc_directive] = ACTIONS(1268), + [anon_sym_LPAREN2] = ACTIONS(1270), + [anon_sym_BANG] = ACTIONS(1270), + [anon_sym_TILDE] = ACTIONS(1270), + [anon_sym_DASH] = ACTIONS(1268), + [anon_sym_PLUS] = ACTIONS(1268), + [anon_sym_STAR] = ACTIONS(1270), + [anon_sym_AMP] = ACTIONS(1270), + [anon_sym_SEMI] = ACTIONS(1270), + [anon_sym___extension__] = ACTIONS(1268), + [anon_sym_typedef] = ACTIONS(1268), + [anon_sym_extern] = ACTIONS(1268), + [anon_sym___attribute__] = ACTIONS(1268), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1270), + [anon_sym___declspec] = ACTIONS(1268), + [anon_sym___cdecl] = ACTIONS(1268), + [anon_sym___clrcall] = ACTIONS(1268), + [anon_sym___stdcall] = ACTIONS(1268), + [anon_sym___fastcall] = ACTIONS(1268), + [anon_sym___thiscall] = ACTIONS(1268), + [anon_sym___vectorcall] = ACTIONS(1268), + [anon_sym_LBRACE] = ACTIONS(1270), + [anon_sym_signed] = ACTIONS(1268), + [anon_sym_unsigned] = ACTIONS(1268), + [anon_sym_long] = ACTIONS(1268), + [anon_sym_short] = ACTIONS(1268), + [anon_sym_static] = ACTIONS(1268), + [anon_sym_auto] = ACTIONS(1268), + [anon_sym_register] = ACTIONS(1268), + [anon_sym_inline] = ACTIONS(1268), + [anon_sym___inline] = ACTIONS(1268), + [anon_sym___inline__] = ACTIONS(1268), + [anon_sym___forceinline] = ACTIONS(1268), + [anon_sym_thread_local] = ACTIONS(1268), + [anon_sym___thread] = ACTIONS(1268), + [anon_sym_const] = ACTIONS(1268), + [anon_sym_constexpr] = ACTIONS(1268), + [anon_sym_volatile] = ACTIONS(1268), + [anon_sym_restrict] = ACTIONS(1268), + [anon_sym___restrict__] = ACTIONS(1268), + [anon_sym__Atomic] = ACTIONS(1268), + [anon_sym__Noreturn] = ACTIONS(1268), + [anon_sym_noreturn] = ACTIONS(1268), + [anon_sym_alignas] = ACTIONS(1268), + [anon_sym__Alignas] = ACTIONS(1268), + [sym_primitive_type] = ACTIONS(1268), + [anon_sym_enum] = ACTIONS(1268), + [anon_sym_struct] = ACTIONS(1268), + [anon_sym_union] = ACTIONS(1268), + [anon_sym_if] = ACTIONS(1268), + [anon_sym_switch] = ACTIONS(1268), + [anon_sym_case] = ACTIONS(1268), + [anon_sym_default] = ACTIONS(1268), + [anon_sym_while] = ACTIONS(1268), + [anon_sym_do] = ACTIONS(1268), + [anon_sym_for] = ACTIONS(1268), + [anon_sym_return] = ACTIONS(1268), + [anon_sym_break] = ACTIONS(1268), + [anon_sym_continue] = ACTIONS(1268), + [anon_sym_goto] = ACTIONS(1268), + [anon_sym___try] = ACTIONS(1268), + [anon_sym___leave] = ACTIONS(1268), + [anon_sym_DASH_DASH] = ACTIONS(1270), + [anon_sym_PLUS_PLUS] = ACTIONS(1270), + [anon_sym_sizeof] = ACTIONS(1268), + [anon_sym___alignof__] = ACTIONS(1268), + [anon_sym___alignof] = ACTIONS(1268), + [anon_sym__alignof] = ACTIONS(1268), + [anon_sym_alignof] = ACTIONS(1268), + [anon_sym__Alignof] = ACTIONS(1268), + [anon_sym_offsetof] = ACTIONS(1268), + [anon_sym__Generic] = ACTIONS(1268), + [anon_sym_asm] = ACTIONS(1268), + [anon_sym___asm__] = ACTIONS(1268), + [sym__number_literal] = ACTIONS(1270), + [anon_sym_L_SQUOTE] = ACTIONS(1270), + [anon_sym_u_SQUOTE] = ACTIONS(1270), + [anon_sym_U_SQUOTE] = ACTIONS(1270), + [anon_sym_u8_SQUOTE] = ACTIONS(1270), + [anon_sym_SQUOTE] = ACTIONS(1270), + [anon_sym_L_DQUOTE] = ACTIONS(1270), + [anon_sym_u_DQUOTE] = ACTIONS(1270), + [anon_sym_U_DQUOTE] = ACTIONS(1270), + [anon_sym_u8_DQUOTE] = ACTIONS(1270), + [anon_sym_DQUOTE] = ACTIONS(1270), + [sym_true] = ACTIONS(1268), + [sym_false] = ACTIONS(1268), + [anon_sym_NULL] = ACTIONS(1268), + [anon_sym_nullptr] = ACTIONS(1268), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1270), + }, + [126] = { + [sym__identifier] = ACTIONS(1272), + [aux_sym_preproc_include_token1] = ACTIONS(1272), + [aux_sym_preproc_def_token1] = ACTIONS(1272), + [aux_sym_preproc_if_token1] = ACTIONS(1272), + [aux_sym_preproc_if_token2] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1272), + [aux_sym_preproc_else_token1] = ACTIONS(1272), + [aux_sym_preproc_elif_token1] = ACTIONS(1272), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1272), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1272), + [sym_preproc_directive] = ACTIONS(1272), + [anon_sym_LPAREN2] = ACTIONS(1275), + [anon_sym_BANG] = ACTIONS(1275), + [anon_sym_TILDE] = ACTIONS(1275), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1275), + [anon_sym_AMP] = ACTIONS(1275), + [anon_sym_SEMI] = ACTIONS(1275), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1275), + [anon_sym___declspec] = ACTIONS(1272), + [anon_sym___cdecl] = ACTIONS(1272), + [anon_sym___clrcall] = ACTIONS(1272), + [anon_sym___stdcall] = ACTIONS(1272), + [anon_sym___fastcall] = ACTIONS(1272), + [anon_sym___thiscall] = ACTIONS(1272), + [anon_sym___vectorcall] = ACTIONS(1272), + [anon_sym_LBRACE] = ACTIONS(1275), + [anon_sym_signed] = ACTIONS(1272), + [anon_sym_unsigned] = ACTIONS(1272), + [anon_sym_long] = ACTIONS(1272), + [anon_sym_short] = ACTIONS(1272), + [anon_sym_static] = ACTIONS(1272), + [anon_sym_auto] = ACTIONS(1272), + [anon_sym_register] = ACTIONS(1272), + [anon_sym_inline] = ACTIONS(1272), + [anon_sym___inline] = ACTIONS(1272), + [anon_sym___inline__] = ACTIONS(1272), + [anon_sym___forceinline] = ACTIONS(1272), + [anon_sym_thread_local] = ACTIONS(1272), + [anon_sym___thread] = ACTIONS(1272), + [anon_sym_const] = ACTIONS(1272), + [anon_sym_constexpr] = ACTIONS(1272), + [anon_sym_volatile] = ACTIONS(1272), + [anon_sym_restrict] = ACTIONS(1272), + [anon_sym___restrict__] = ACTIONS(1272), + [anon_sym__Atomic] = ACTIONS(1272), + [anon_sym__Noreturn] = ACTIONS(1272), + [anon_sym_noreturn] = ACTIONS(1272), + [anon_sym_alignas] = ACTIONS(1272), + [anon_sym__Alignas] = ACTIONS(1272), + [sym_primitive_type] = ACTIONS(1272), + [anon_sym_enum] = ACTIONS(1272), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1272), + [anon_sym_if] = ACTIONS(1272), + [anon_sym_switch] = ACTIONS(1272), + [anon_sym_case] = ACTIONS(1272), + [anon_sym_default] = ACTIONS(1272), + [anon_sym_while] = ACTIONS(1272), + [anon_sym_do] = ACTIONS(1272), + [anon_sym_for] = ACTIONS(1272), + [anon_sym_return] = ACTIONS(1272), + [anon_sym_break] = ACTIONS(1272), + [anon_sym_continue] = ACTIONS(1272), + [anon_sym_goto] = ACTIONS(1272), + [anon_sym___try] = ACTIONS(1272), + [anon_sym___leave] = ACTIONS(1272), + [anon_sym_DASH_DASH] = ACTIONS(1275), + [anon_sym_PLUS_PLUS] = ACTIONS(1275), + [anon_sym_sizeof] = ACTIONS(1272), + [anon_sym___alignof__] = ACTIONS(1272), + [anon_sym___alignof] = ACTIONS(1272), + [anon_sym__alignof] = ACTIONS(1272), + [anon_sym_alignof] = ACTIONS(1272), + [anon_sym__Alignof] = ACTIONS(1272), + [anon_sym_offsetof] = ACTIONS(1272), + [anon_sym__Generic] = ACTIONS(1272), + [anon_sym_asm] = ACTIONS(1272), + [anon_sym___asm__] = ACTIONS(1272), + [sym__number_literal] = ACTIONS(1275), + [anon_sym_L_SQUOTE] = ACTIONS(1275), + [anon_sym_u_SQUOTE] = ACTIONS(1275), + [anon_sym_U_SQUOTE] = ACTIONS(1275), + [anon_sym_u8_SQUOTE] = ACTIONS(1275), + [anon_sym_SQUOTE] = ACTIONS(1275), + [anon_sym_L_DQUOTE] = ACTIONS(1275), + [anon_sym_u_DQUOTE] = ACTIONS(1275), + [anon_sym_U_DQUOTE] = ACTIONS(1275), + [anon_sym_u8_DQUOTE] = ACTIONS(1275), + [anon_sym_DQUOTE] = ACTIONS(1275), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1275), + }, + [127] = { + [sym__identifier] = ACTIONS(1278), + [aux_sym_preproc_include_token1] = ACTIONS(1278), + [aux_sym_preproc_def_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token2] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1278), + [aux_sym_preproc_else_token1] = ACTIONS(1278), + [aux_sym_preproc_elif_token1] = ACTIONS(1278), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1278), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1278), + [sym_preproc_directive] = ACTIONS(1278), + [anon_sym_LPAREN2] = ACTIONS(1280), + [anon_sym_BANG] = ACTIONS(1280), + [anon_sym_TILDE] = ACTIONS(1280), + [anon_sym_DASH] = ACTIONS(1278), + [anon_sym_PLUS] = ACTIONS(1278), + [anon_sym_STAR] = ACTIONS(1280), + [anon_sym_AMP] = ACTIONS(1280), + [anon_sym_SEMI] = ACTIONS(1280), + [anon_sym___extension__] = ACTIONS(1278), + [anon_sym_typedef] = ACTIONS(1278), + [anon_sym_extern] = ACTIONS(1278), + [anon_sym___attribute__] = ACTIONS(1278), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1280), + [anon_sym___declspec] = ACTIONS(1278), + [anon_sym___cdecl] = ACTIONS(1278), + [anon_sym___clrcall] = ACTIONS(1278), + [anon_sym___stdcall] = ACTIONS(1278), + [anon_sym___fastcall] = ACTIONS(1278), + [anon_sym___thiscall] = ACTIONS(1278), + [anon_sym___vectorcall] = ACTIONS(1278), + [anon_sym_LBRACE] = ACTIONS(1280), + [anon_sym_signed] = ACTIONS(1278), + [anon_sym_unsigned] = ACTIONS(1278), + [anon_sym_long] = ACTIONS(1278), + [anon_sym_short] = ACTIONS(1278), + [anon_sym_static] = ACTIONS(1278), + [anon_sym_auto] = ACTIONS(1278), + [anon_sym_register] = ACTIONS(1278), + [anon_sym_inline] = ACTIONS(1278), + [anon_sym___inline] = ACTIONS(1278), + [anon_sym___inline__] = ACTIONS(1278), + [anon_sym___forceinline] = ACTIONS(1278), + [anon_sym_thread_local] = ACTIONS(1278), + [anon_sym___thread] = ACTIONS(1278), + [anon_sym_const] = ACTIONS(1278), + [anon_sym_constexpr] = ACTIONS(1278), + [anon_sym_volatile] = ACTIONS(1278), + [anon_sym_restrict] = ACTIONS(1278), + [anon_sym___restrict__] = ACTIONS(1278), + [anon_sym__Atomic] = ACTIONS(1278), + [anon_sym__Noreturn] = ACTIONS(1278), + [anon_sym_noreturn] = ACTIONS(1278), + [anon_sym_alignas] = ACTIONS(1278), + [anon_sym__Alignas] = ACTIONS(1278), + [sym_primitive_type] = ACTIONS(1278), + [anon_sym_enum] = ACTIONS(1278), + [anon_sym_struct] = ACTIONS(1278), + [anon_sym_union] = ACTIONS(1278), + [anon_sym_if] = ACTIONS(1278), + [anon_sym_switch] = ACTIONS(1278), + [anon_sym_case] = ACTIONS(1278), + [anon_sym_default] = ACTIONS(1278), + [anon_sym_while] = ACTIONS(1278), + [anon_sym_do] = ACTIONS(1278), + [anon_sym_for] = ACTIONS(1278), + [anon_sym_return] = ACTIONS(1278), + [anon_sym_break] = ACTIONS(1278), + [anon_sym_continue] = ACTIONS(1278), + [anon_sym_goto] = ACTIONS(1278), + [anon_sym___try] = ACTIONS(1278), + [anon_sym___leave] = ACTIONS(1278), + [anon_sym_DASH_DASH] = ACTIONS(1280), + [anon_sym_PLUS_PLUS] = ACTIONS(1280), + [anon_sym_sizeof] = ACTIONS(1278), + [anon_sym___alignof__] = ACTIONS(1278), + [anon_sym___alignof] = ACTIONS(1278), + [anon_sym__alignof] = ACTIONS(1278), + [anon_sym_alignof] = ACTIONS(1278), + [anon_sym__Alignof] = ACTIONS(1278), + [anon_sym_offsetof] = ACTIONS(1278), + [anon_sym__Generic] = ACTIONS(1278), + [anon_sym_asm] = ACTIONS(1278), + [anon_sym___asm__] = ACTIONS(1278), + [sym__number_literal] = ACTIONS(1280), + [anon_sym_L_SQUOTE] = ACTIONS(1280), + [anon_sym_u_SQUOTE] = ACTIONS(1280), + [anon_sym_U_SQUOTE] = ACTIONS(1280), + [anon_sym_u8_SQUOTE] = ACTIONS(1280), + [anon_sym_SQUOTE] = ACTIONS(1280), + [anon_sym_L_DQUOTE] = ACTIONS(1280), + [anon_sym_u_DQUOTE] = ACTIONS(1280), + [anon_sym_U_DQUOTE] = ACTIONS(1280), + [anon_sym_u8_DQUOTE] = ACTIONS(1280), + [anon_sym_DQUOTE] = ACTIONS(1280), + [sym_true] = ACTIONS(1278), + [sym_false] = ACTIONS(1278), + [anon_sym_NULL] = ACTIONS(1278), + [anon_sym_nullptr] = ACTIONS(1278), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1280), + }, + [128] = { + [sym__identifier] = ACTIONS(1282), + [aux_sym_preproc_include_token1] = ACTIONS(1282), + [aux_sym_preproc_def_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token2] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1282), + [aux_sym_preproc_else_token1] = ACTIONS(1282), + [aux_sym_preproc_elif_token1] = ACTIONS(1282), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1282), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1282), + [sym_preproc_directive] = ACTIONS(1282), + [anon_sym_LPAREN2] = ACTIONS(1284), + [anon_sym_BANG] = ACTIONS(1284), + [anon_sym_TILDE] = ACTIONS(1284), + [anon_sym_DASH] = ACTIONS(1282), + [anon_sym_PLUS] = ACTIONS(1282), + [anon_sym_STAR] = ACTIONS(1284), + [anon_sym_AMP] = ACTIONS(1284), + [anon_sym_SEMI] = ACTIONS(1284), + [anon_sym___extension__] = ACTIONS(1282), + [anon_sym_typedef] = ACTIONS(1282), + [anon_sym_extern] = ACTIONS(1282), + [anon_sym___attribute__] = ACTIONS(1282), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1284), + [anon_sym___declspec] = ACTIONS(1282), + [anon_sym___cdecl] = ACTIONS(1282), + [anon_sym___clrcall] = ACTIONS(1282), + [anon_sym___stdcall] = ACTIONS(1282), + [anon_sym___fastcall] = ACTIONS(1282), + [anon_sym___thiscall] = ACTIONS(1282), + [anon_sym___vectorcall] = ACTIONS(1282), + [anon_sym_LBRACE] = ACTIONS(1284), + [anon_sym_signed] = ACTIONS(1282), + [anon_sym_unsigned] = ACTIONS(1282), + [anon_sym_long] = ACTIONS(1282), + [anon_sym_short] = ACTIONS(1282), + [anon_sym_static] = ACTIONS(1282), + [anon_sym_auto] = ACTIONS(1282), + [anon_sym_register] = ACTIONS(1282), + [anon_sym_inline] = ACTIONS(1282), + [anon_sym___inline] = ACTIONS(1282), + [anon_sym___inline__] = ACTIONS(1282), + [anon_sym___forceinline] = ACTIONS(1282), + [anon_sym_thread_local] = ACTIONS(1282), + [anon_sym___thread] = ACTIONS(1282), + [anon_sym_const] = ACTIONS(1282), + [anon_sym_constexpr] = ACTIONS(1282), + [anon_sym_volatile] = ACTIONS(1282), + [anon_sym_restrict] = ACTIONS(1282), + [anon_sym___restrict__] = ACTIONS(1282), + [anon_sym__Atomic] = ACTIONS(1282), + [anon_sym__Noreturn] = ACTIONS(1282), + [anon_sym_noreturn] = ACTIONS(1282), + [anon_sym_alignas] = ACTIONS(1282), + [anon_sym__Alignas] = ACTIONS(1282), + [sym_primitive_type] = ACTIONS(1282), + [anon_sym_enum] = ACTIONS(1282), + [anon_sym_struct] = ACTIONS(1282), + [anon_sym_union] = ACTIONS(1282), + [anon_sym_if] = ACTIONS(1282), + [anon_sym_switch] = ACTIONS(1282), + [anon_sym_case] = ACTIONS(1282), + [anon_sym_default] = ACTIONS(1282), + [anon_sym_while] = ACTIONS(1282), + [anon_sym_do] = ACTIONS(1282), + [anon_sym_for] = ACTIONS(1282), + [anon_sym_return] = ACTIONS(1282), + [anon_sym_break] = ACTIONS(1282), + [anon_sym_continue] = ACTIONS(1282), + [anon_sym_goto] = ACTIONS(1282), + [anon_sym___try] = ACTIONS(1282), + [anon_sym___leave] = ACTIONS(1282), + [anon_sym_DASH_DASH] = ACTIONS(1284), + [anon_sym_PLUS_PLUS] = ACTIONS(1284), + [anon_sym_sizeof] = ACTIONS(1282), + [anon_sym___alignof__] = ACTIONS(1282), + [anon_sym___alignof] = ACTIONS(1282), + [anon_sym__alignof] = ACTIONS(1282), + [anon_sym_alignof] = ACTIONS(1282), + [anon_sym__Alignof] = ACTIONS(1282), + [anon_sym_offsetof] = ACTIONS(1282), + [anon_sym__Generic] = ACTIONS(1282), + [anon_sym_asm] = ACTIONS(1282), + [anon_sym___asm__] = ACTIONS(1282), + [sym__number_literal] = ACTIONS(1284), + [anon_sym_L_SQUOTE] = ACTIONS(1284), + [anon_sym_u_SQUOTE] = ACTIONS(1284), + [anon_sym_U_SQUOTE] = ACTIONS(1284), + [anon_sym_u8_SQUOTE] = ACTIONS(1284), + [anon_sym_SQUOTE] = ACTIONS(1284), + [anon_sym_L_DQUOTE] = ACTIONS(1284), + [anon_sym_u_DQUOTE] = ACTIONS(1284), + [anon_sym_U_DQUOTE] = ACTIONS(1284), + [anon_sym_u8_DQUOTE] = ACTIONS(1284), + [anon_sym_DQUOTE] = ACTIONS(1284), + [sym_true] = ACTIONS(1282), + [sym_false] = ACTIONS(1282), + [anon_sym_NULL] = ACTIONS(1282), + [anon_sym_nullptr] = ACTIONS(1282), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1284), + }, + [129] = { + [sym__identifier] = ACTIONS(1286), + [aux_sym_preproc_include_token1] = ACTIONS(1286), + [aux_sym_preproc_def_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token2] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1286), + [aux_sym_preproc_else_token1] = ACTIONS(1286), + [aux_sym_preproc_elif_token1] = ACTIONS(1286), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1286), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1286), + [sym_preproc_directive] = ACTIONS(1286), + [anon_sym_LPAREN2] = ACTIONS(1288), + [anon_sym_BANG] = ACTIONS(1288), + [anon_sym_TILDE] = ACTIONS(1288), + [anon_sym_DASH] = ACTIONS(1286), + [anon_sym_PLUS] = ACTIONS(1286), + [anon_sym_STAR] = ACTIONS(1288), + [anon_sym_AMP] = ACTIONS(1288), + [anon_sym_SEMI] = ACTIONS(1288), + [anon_sym___extension__] = ACTIONS(1286), + [anon_sym_typedef] = ACTIONS(1286), + [anon_sym_extern] = ACTIONS(1286), + [anon_sym___attribute__] = ACTIONS(1286), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1288), + [anon_sym___declspec] = ACTIONS(1286), + [anon_sym___cdecl] = ACTIONS(1286), + [anon_sym___clrcall] = ACTIONS(1286), + [anon_sym___stdcall] = ACTIONS(1286), + [anon_sym___fastcall] = ACTIONS(1286), + [anon_sym___thiscall] = ACTIONS(1286), + [anon_sym___vectorcall] = ACTIONS(1286), + [anon_sym_LBRACE] = ACTIONS(1288), + [anon_sym_signed] = ACTIONS(1286), + [anon_sym_unsigned] = ACTIONS(1286), + [anon_sym_long] = ACTIONS(1286), + [anon_sym_short] = ACTIONS(1286), + [anon_sym_static] = ACTIONS(1286), + [anon_sym_auto] = ACTIONS(1286), + [anon_sym_register] = ACTIONS(1286), + [anon_sym_inline] = ACTIONS(1286), + [anon_sym___inline] = ACTIONS(1286), + [anon_sym___inline__] = ACTIONS(1286), + [anon_sym___forceinline] = ACTIONS(1286), + [anon_sym_thread_local] = ACTIONS(1286), + [anon_sym___thread] = ACTIONS(1286), + [anon_sym_const] = ACTIONS(1286), + [anon_sym_constexpr] = ACTIONS(1286), + [anon_sym_volatile] = ACTIONS(1286), + [anon_sym_restrict] = ACTIONS(1286), + [anon_sym___restrict__] = ACTIONS(1286), + [anon_sym__Atomic] = ACTIONS(1286), + [anon_sym__Noreturn] = ACTIONS(1286), + [anon_sym_noreturn] = ACTIONS(1286), + [anon_sym_alignas] = ACTIONS(1286), + [anon_sym__Alignas] = ACTIONS(1286), + [sym_primitive_type] = ACTIONS(1286), + [anon_sym_enum] = ACTIONS(1286), + [anon_sym_struct] = ACTIONS(1286), + [anon_sym_union] = ACTIONS(1286), + [anon_sym_if] = ACTIONS(1286), + [anon_sym_switch] = ACTIONS(1286), + [anon_sym_case] = ACTIONS(1286), + [anon_sym_default] = ACTIONS(1286), + [anon_sym_while] = ACTIONS(1286), + [anon_sym_do] = ACTIONS(1286), + [anon_sym_for] = ACTIONS(1286), + [anon_sym_return] = ACTIONS(1286), + [anon_sym_break] = ACTIONS(1286), + [anon_sym_continue] = ACTIONS(1286), + [anon_sym_goto] = ACTIONS(1286), + [anon_sym___try] = ACTIONS(1286), + [anon_sym___leave] = ACTIONS(1286), + [anon_sym_DASH_DASH] = ACTIONS(1288), + [anon_sym_PLUS_PLUS] = ACTIONS(1288), + [anon_sym_sizeof] = ACTIONS(1286), + [anon_sym___alignof__] = ACTIONS(1286), + [anon_sym___alignof] = ACTIONS(1286), + [anon_sym__alignof] = ACTIONS(1286), + [anon_sym_alignof] = ACTIONS(1286), + [anon_sym__Alignof] = ACTIONS(1286), + [anon_sym_offsetof] = ACTIONS(1286), + [anon_sym__Generic] = ACTIONS(1286), + [anon_sym_asm] = ACTIONS(1286), + [anon_sym___asm__] = ACTIONS(1286), + [sym__number_literal] = ACTIONS(1288), + [anon_sym_L_SQUOTE] = ACTIONS(1288), + [anon_sym_u_SQUOTE] = ACTIONS(1288), + [anon_sym_U_SQUOTE] = ACTIONS(1288), + [anon_sym_u8_SQUOTE] = ACTIONS(1288), + [anon_sym_SQUOTE] = ACTIONS(1288), + [anon_sym_L_DQUOTE] = ACTIONS(1288), + [anon_sym_u_DQUOTE] = ACTIONS(1288), + [anon_sym_U_DQUOTE] = ACTIONS(1288), + [anon_sym_u8_DQUOTE] = ACTIONS(1288), + [anon_sym_DQUOTE] = ACTIONS(1288), + [sym_true] = ACTIONS(1286), + [sym_false] = ACTIONS(1286), + [anon_sym_NULL] = ACTIONS(1286), + [anon_sym_nullptr] = ACTIONS(1286), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1288), + }, + [130] = { + [sym__identifier] = ACTIONS(1290), + [aux_sym_preproc_include_token1] = ACTIONS(1290), + [aux_sym_preproc_def_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token2] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1290), + [aux_sym_preproc_else_token1] = ACTIONS(1290), + [aux_sym_preproc_elif_token1] = ACTIONS(1290), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1290), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1290), + [sym_preproc_directive] = ACTIONS(1290), + [anon_sym_LPAREN2] = ACTIONS(1292), + [anon_sym_BANG] = ACTIONS(1292), + [anon_sym_TILDE] = ACTIONS(1292), + [anon_sym_DASH] = ACTIONS(1290), + [anon_sym_PLUS] = ACTIONS(1290), + [anon_sym_STAR] = ACTIONS(1292), + [anon_sym_AMP] = ACTIONS(1292), + [anon_sym_SEMI] = ACTIONS(1292), + [anon_sym___extension__] = ACTIONS(1290), + [anon_sym_typedef] = ACTIONS(1290), + [anon_sym_extern] = ACTIONS(1290), + [anon_sym___attribute__] = ACTIONS(1290), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1292), + [anon_sym___declspec] = ACTIONS(1290), + [anon_sym___cdecl] = ACTIONS(1290), + [anon_sym___clrcall] = ACTIONS(1290), + [anon_sym___stdcall] = ACTIONS(1290), + [anon_sym___fastcall] = ACTIONS(1290), + [anon_sym___thiscall] = ACTIONS(1290), + [anon_sym___vectorcall] = ACTIONS(1290), + [anon_sym_LBRACE] = ACTIONS(1292), + [anon_sym_signed] = ACTIONS(1290), + [anon_sym_unsigned] = ACTIONS(1290), + [anon_sym_long] = ACTIONS(1290), + [anon_sym_short] = ACTIONS(1290), + [anon_sym_static] = ACTIONS(1290), + [anon_sym_auto] = ACTIONS(1290), + [anon_sym_register] = ACTIONS(1290), + [anon_sym_inline] = ACTIONS(1290), + [anon_sym___inline] = ACTIONS(1290), + [anon_sym___inline__] = ACTIONS(1290), + [anon_sym___forceinline] = ACTIONS(1290), + [anon_sym_thread_local] = ACTIONS(1290), + [anon_sym___thread] = ACTIONS(1290), + [anon_sym_const] = ACTIONS(1290), + [anon_sym_constexpr] = ACTIONS(1290), + [anon_sym_volatile] = ACTIONS(1290), + [anon_sym_restrict] = ACTIONS(1290), + [anon_sym___restrict__] = ACTIONS(1290), + [anon_sym__Atomic] = ACTIONS(1290), + [anon_sym__Noreturn] = ACTIONS(1290), + [anon_sym_noreturn] = ACTIONS(1290), + [anon_sym_alignas] = ACTIONS(1290), + [anon_sym__Alignas] = ACTIONS(1290), + [sym_primitive_type] = ACTIONS(1290), + [anon_sym_enum] = ACTIONS(1290), + [anon_sym_struct] = ACTIONS(1290), + [anon_sym_union] = ACTIONS(1290), + [anon_sym_if] = ACTIONS(1290), + [anon_sym_switch] = ACTIONS(1290), + [anon_sym_case] = ACTIONS(1290), + [anon_sym_default] = ACTIONS(1290), + [anon_sym_while] = ACTIONS(1290), + [anon_sym_do] = ACTIONS(1290), + [anon_sym_for] = ACTIONS(1290), + [anon_sym_return] = ACTIONS(1290), + [anon_sym_break] = ACTIONS(1290), + [anon_sym_continue] = ACTIONS(1290), + [anon_sym_goto] = ACTIONS(1290), + [anon_sym___try] = ACTIONS(1290), + [anon_sym___leave] = ACTIONS(1290), + [anon_sym_DASH_DASH] = ACTIONS(1292), + [anon_sym_PLUS_PLUS] = ACTIONS(1292), + [anon_sym_sizeof] = ACTIONS(1290), + [anon_sym___alignof__] = ACTIONS(1290), + [anon_sym___alignof] = ACTIONS(1290), + [anon_sym__alignof] = ACTIONS(1290), + [anon_sym_alignof] = ACTIONS(1290), + [anon_sym__Alignof] = ACTIONS(1290), + [anon_sym_offsetof] = ACTIONS(1290), + [anon_sym__Generic] = ACTIONS(1290), + [anon_sym_asm] = ACTIONS(1290), + [anon_sym___asm__] = ACTIONS(1290), + [sym__number_literal] = ACTIONS(1292), + [anon_sym_L_SQUOTE] = ACTIONS(1292), + [anon_sym_u_SQUOTE] = ACTIONS(1292), + [anon_sym_U_SQUOTE] = ACTIONS(1292), + [anon_sym_u8_SQUOTE] = ACTIONS(1292), + [anon_sym_SQUOTE] = ACTIONS(1292), + [anon_sym_L_DQUOTE] = ACTIONS(1292), + [anon_sym_u_DQUOTE] = ACTIONS(1292), + [anon_sym_U_DQUOTE] = ACTIONS(1292), + [anon_sym_u8_DQUOTE] = ACTIONS(1292), + [anon_sym_DQUOTE] = ACTIONS(1292), + [sym_true] = ACTIONS(1290), + [sym_false] = ACTIONS(1290), + [anon_sym_NULL] = ACTIONS(1290), + [anon_sym_nullptr] = ACTIONS(1290), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1292), + }, + [131] = { + [sym__identifier] = ACTIONS(1294), + [aux_sym_preproc_include_token1] = ACTIONS(1294), + [aux_sym_preproc_def_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token2] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1294), + [aux_sym_preproc_else_token1] = ACTIONS(1294), + [aux_sym_preproc_elif_token1] = ACTIONS(1294), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1294), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1294), + [sym_preproc_directive] = ACTIONS(1294), + [anon_sym_LPAREN2] = ACTIONS(1296), + [anon_sym_BANG] = ACTIONS(1296), + [anon_sym_TILDE] = ACTIONS(1296), + [anon_sym_DASH] = ACTIONS(1294), + [anon_sym_PLUS] = ACTIONS(1294), + [anon_sym_STAR] = ACTIONS(1296), + [anon_sym_AMP] = ACTIONS(1296), + [anon_sym_SEMI] = ACTIONS(1296), + [anon_sym___extension__] = ACTIONS(1294), + [anon_sym_typedef] = ACTIONS(1294), + [anon_sym_extern] = ACTIONS(1294), + [anon_sym___attribute__] = ACTIONS(1294), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1296), + [anon_sym___declspec] = ACTIONS(1294), + [anon_sym___cdecl] = ACTIONS(1294), + [anon_sym___clrcall] = ACTIONS(1294), + [anon_sym___stdcall] = ACTIONS(1294), + [anon_sym___fastcall] = ACTIONS(1294), + [anon_sym___thiscall] = ACTIONS(1294), + [anon_sym___vectorcall] = ACTIONS(1294), + [anon_sym_LBRACE] = ACTIONS(1296), + [anon_sym_signed] = ACTIONS(1294), + [anon_sym_unsigned] = ACTIONS(1294), + [anon_sym_long] = ACTIONS(1294), + [anon_sym_short] = ACTIONS(1294), + [anon_sym_static] = ACTIONS(1294), + [anon_sym_auto] = ACTIONS(1294), + [anon_sym_register] = ACTIONS(1294), + [anon_sym_inline] = ACTIONS(1294), + [anon_sym___inline] = ACTIONS(1294), + [anon_sym___inline__] = ACTIONS(1294), + [anon_sym___forceinline] = ACTIONS(1294), + [anon_sym_thread_local] = ACTIONS(1294), + [anon_sym___thread] = ACTIONS(1294), + [anon_sym_const] = ACTIONS(1294), + [anon_sym_constexpr] = ACTIONS(1294), + [anon_sym_volatile] = ACTIONS(1294), + [anon_sym_restrict] = ACTIONS(1294), + [anon_sym___restrict__] = ACTIONS(1294), + [anon_sym__Atomic] = ACTIONS(1294), + [anon_sym__Noreturn] = ACTIONS(1294), + [anon_sym_noreturn] = ACTIONS(1294), + [anon_sym_alignas] = ACTIONS(1294), + [anon_sym__Alignas] = ACTIONS(1294), + [sym_primitive_type] = ACTIONS(1294), + [anon_sym_enum] = ACTIONS(1294), + [anon_sym_struct] = ACTIONS(1294), + [anon_sym_union] = ACTIONS(1294), + [anon_sym_if] = ACTIONS(1294), + [anon_sym_switch] = ACTIONS(1294), + [anon_sym_case] = ACTIONS(1294), + [anon_sym_default] = ACTIONS(1294), + [anon_sym_while] = ACTIONS(1294), + [anon_sym_do] = ACTIONS(1294), + [anon_sym_for] = ACTIONS(1294), + [anon_sym_return] = ACTIONS(1294), + [anon_sym_break] = ACTIONS(1294), + [anon_sym_continue] = ACTIONS(1294), + [anon_sym_goto] = ACTIONS(1294), + [anon_sym___try] = ACTIONS(1294), + [anon_sym___leave] = ACTIONS(1294), + [anon_sym_DASH_DASH] = ACTIONS(1296), + [anon_sym_PLUS_PLUS] = ACTIONS(1296), + [anon_sym_sizeof] = ACTIONS(1294), + [anon_sym___alignof__] = ACTIONS(1294), + [anon_sym___alignof] = ACTIONS(1294), + [anon_sym__alignof] = ACTIONS(1294), + [anon_sym_alignof] = ACTIONS(1294), + [anon_sym__Alignof] = ACTIONS(1294), + [anon_sym_offsetof] = ACTIONS(1294), + [anon_sym__Generic] = ACTIONS(1294), + [anon_sym_asm] = ACTIONS(1294), + [anon_sym___asm__] = ACTIONS(1294), + [sym__number_literal] = ACTIONS(1296), + [anon_sym_L_SQUOTE] = ACTIONS(1296), + [anon_sym_u_SQUOTE] = ACTIONS(1296), + [anon_sym_U_SQUOTE] = ACTIONS(1296), + [anon_sym_u8_SQUOTE] = ACTIONS(1296), + [anon_sym_SQUOTE] = ACTIONS(1296), + [anon_sym_L_DQUOTE] = ACTIONS(1296), + [anon_sym_u_DQUOTE] = ACTIONS(1296), + [anon_sym_U_DQUOTE] = ACTIONS(1296), + [anon_sym_u8_DQUOTE] = ACTIONS(1296), + [anon_sym_DQUOTE] = ACTIONS(1296), + [sym_true] = ACTIONS(1294), + [sym_false] = ACTIONS(1294), + [anon_sym_NULL] = ACTIONS(1294), + [anon_sym_nullptr] = ACTIONS(1294), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1296), + }, + [132] = { + [sym__identifier] = ACTIONS(1298), + [aux_sym_preproc_include_token1] = ACTIONS(1298), + [aux_sym_preproc_def_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token2] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1298), + [aux_sym_preproc_else_token1] = ACTIONS(1298), + [aux_sym_preproc_elif_token1] = ACTIONS(1298), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1298), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1298), + [sym_preproc_directive] = ACTIONS(1298), + [anon_sym_LPAREN2] = ACTIONS(1300), + [anon_sym_BANG] = ACTIONS(1300), + [anon_sym_TILDE] = ACTIONS(1300), + [anon_sym_DASH] = ACTIONS(1298), + [anon_sym_PLUS] = ACTIONS(1298), + [anon_sym_STAR] = ACTIONS(1300), + [anon_sym_AMP] = ACTIONS(1300), + [anon_sym_SEMI] = ACTIONS(1300), + [anon_sym___extension__] = ACTIONS(1298), + [anon_sym_typedef] = ACTIONS(1298), + [anon_sym_extern] = ACTIONS(1298), + [anon_sym___attribute__] = ACTIONS(1298), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1300), + [anon_sym___declspec] = ACTIONS(1298), + [anon_sym___cdecl] = ACTIONS(1298), + [anon_sym___clrcall] = ACTIONS(1298), + [anon_sym___stdcall] = ACTIONS(1298), + [anon_sym___fastcall] = ACTIONS(1298), + [anon_sym___thiscall] = ACTIONS(1298), + [anon_sym___vectorcall] = ACTIONS(1298), + [anon_sym_LBRACE] = ACTIONS(1300), + [anon_sym_signed] = ACTIONS(1298), + [anon_sym_unsigned] = ACTIONS(1298), + [anon_sym_long] = ACTIONS(1298), + [anon_sym_short] = ACTIONS(1298), + [anon_sym_static] = ACTIONS(1298), + [anon_sym_auto] = ACTIONS(1298), + [anon_sym_register] = ACTIONS(1298), + [anon_sym_inline] = ACTIONS(1298), + [anon_sym___inline] = ACTIONS(1298), + [anon_sym___inline__] = ACTIONS(1298), + [anon_sym___forceinline] = ACTIONS(1298), + [anon_sym_thread_local] = ACTIONS(1298), + [anon_sym___thread] = ACTIONS(1298), + [anon_sym_const] = ACTIONS(1298), + [anon_sym_constexpr] = ACTIONS(1298), + [anon_sym_volatile] = ACTIONS(1298), + [anon_sym_restrict] = ACTIONS(1298), + [anon_sym___restrict__] = ACTIONS(1298), + [anon_sym__Atomic] = ACTIONS(1298), + [anon_sym__Noreturn] = ACTIONS(1298), + [anon_sym_noreturn] = ACTIONS(1298), + [anon_sym_alignas] = ACTIONS(1298), + [anon_sym__Alignas] = ACTIONS(1298), + [sym_primitive_type] = ACTIONS(1298), + [anon_sym_enum] = ACTIONS(1298), + [anon_sym_struct] = ACTIONS(1298), + [anon_sym_union] = ACTIONS(1298), + [anon_sym_if] = ACTIONS(1298), + [anon_sym_switch] = ACTIONS(1298), + [anon_sym_case] = ACTIONS(1298), + [anon_sym_default] = ACTIONS(1298), + [anon_sym_while] = ACTIONS(1298), + [anon_sym_do] = ACTIONS(1298), + [anon_sym_for] = ACTIONS(1298), + [anon_sym_return] = ACTIONS(1298), + [anon_sym_break] = ACTIONS(1298), + [anon_sym_continue] = ACTIONS(1298), + [anon_sym_goto] = ACTIONS(1298), + [anon_sym___try] = ACTIONS(1298), + [anon_sym___leave] = ACTIONS(1298), + [anon_sym_DASH_DASH] = ACTIONS(1300), + [anon_sym_PLUS_PLUS] = ACTIONS(1300), + [anon_sym_sizeof] = ACTIONS(1298), + [anon_sym___alignof__] = ACTIONS(1298), + [anon_sym___alignof] = ACTIONS(1298), + [anon_sym__alignof] = ACTIONS(1298), + [anon_sym_alignof] = ACTIONS(1298), + [anon_sym__Alignof] = ACTIONS(1298), + [anon_sym_offsetof] = ACTIONS(1298), + [anon_sym__Generic] = ACTIONS(1298), + [anon_sym_asm] = ACTIONS(1298), + [anon_sym___asm__] = ACTIONS(1298), + [sym__number_literal] = ACTIONS(1300), + [anon_sym_L_SQUOTE] = ACTIONS(1300), + [anon_sym_u_SQUOTE] = ACTIONS(1300), + [anon_sym_U_SQUOTE] = ACTIONS(1300), + [anon_sym_u8_SQUOTE] = ACTIONS(1300), + [anon_sym_SQUOTE] = ACTIONS(1300), + [anon_sym_L_DQUOTE] = ACTIONS(1300), + [anon_sym_u_DQUOTE] = ACTIONS(1300), + [anon_sym_U_DQUOTE] = ACTIONS(1300), + [anon_sym_u8_DQUOTE] = ACTIONS(1300), + [anon_sym_DQUOTE] = ACTIONS(1300), + [sym_true] = ACTIONS(1298), + [sym_false] = ACTIONS(1298), + [anon_sym_NULL] = ACTIONS(1298), + [anon_sym_nullptr] = ACTIONS(1298), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1300), + }, + [133] = { + [sym__identifier] = ACTIONS(1302), + [aux_sym_preproc_include_token1] = ACTIONS(1302), + [aux_sym_preproc_def_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token2] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1302), + [aux_sym_preproc_else_token1] = ACTIONS(1302), + [aux_sym_preproc_elif_token1] = ACTIONS(1302), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1302), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1302), + [sym_preproc_directive] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(1304), + [anon_sym_BANG] = ACTIONS(1304), + [anon_sym_TILDE] = ACTIONS(1304), + [anon_sym_DASH] = ACTIONS(1302), + [anon_sym_PLUS] = ACTIONS(1302), + [anon_sym_STAR] = ACTIONS(1304), + [anon_sym_AMP] = ACTIONS(1304), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym___extension__] = ACTIONS(1302), + [anon_sym_typedef] = ACTIONS(1302), + [anon_sym_extern] = ACTIONS(1302), + [anon_sym___attribute__] = ACTIONS(1302), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1304), + [anon_sym___declspec] = ACTIONS(1302), + [anon_sym___cdecl] = ACTIONS(1302), + [anon_sym___clrcall] = ACTIONS(1302), + [anon_sym___stdcall] = ACTIONS(1302), + [anon_sym___fastcall] = ACTIONS(1302), + [anon_sym___thiscall] = ACTIONS(1302), + [anon_sym___vectorcall] = ACTIONS(1302), + [anon_sym_LBRACE] = ACTIONS(1304), + [anon_sym_signed] = ACTIONS(1302), + [anon_sym_unsigned] = ACTIONS(1302), + [anon_sym_long] = ACTIONS(1302), + [anon_sym_short] = ACTIONS(1302), + [anon_sym_static] = ACTIONS(1302), + [anon_sym_auto] = ACTIONS(1302), + [anon_sym_register] = ACTIONS(1302), + [anon_sym_inline] = ACTIONS(1302), + [anon_sym___inline] = ACTIONS(1302), + [anon_sym___inline__] = ACTIONS(1302), + [anon_sym___forceinline] = ACTIONS(1302), + [anon_sym_thread_local] = ACTIONS(1302), + [anon_sym___thread] = ACTIONS(1302), + [anon_sym_const] = ACTIONS(1302), + [anon_sym_constexpr] = ACTIONS(1302), + [anon_sym_volatile] = ACTIONS(1302), + [anon_sym_restrict] = ACTIONS(1302), + [anon_sym___restrict__] = ACTIONS(1302), + [anon_sym__Atomic] = ACTIONS(1302), + [anon_sym__Noreturn] = ACTIONS(1302), + [anon_sym_noreturn] = ACTIONS(1302), + [anon_sym_alignas] = ACTIONS(1302), + [anon_sym__Alignas] = ACTIONS(1302), + [sym_primitive_type] = ACTIONS(1302), + [anon_sym_enum] = ACTIONS(1302), + [anon_sym_struct] = ACTIONS(1302), + [anon_sym_union] = ACTIONS(1302), + [anon_sym_if] = ACTIONS(1302), + [anon_sym_switch] = ACTIONS(1302), + [anon_sym_case] = ACTIONS(1302), + [anon_sym_default] = ACTIONS(1302), + [anon_sym_while] = ACTIONS(1302), + [anon_sym_do] = ACTIONS(1302), + [anon_sym_for] = ACTIONS(1302), + [anon_sym_return] = ACTIONS(1302), + [anon_sym_break] = ACTIONS(1302), + [anon_sym_continue] = ACTIONS(1302), + [anon_sym_goto] = ACTIONS(1302), + [anon_sym___try] = ACTIONS(1302), + [anon_sym___leave] = ACTIONS(1302), + [anon_sym_DASH_DASH] = ACTIONS(1304), + [anon_sym_PLUS_PLUS] = ACTIONS(1304), + [anon_sym_sizeof] = ACTIONS(1302), + [anon_sym___alignof__] = ACTIONS(1302), + [anon_sym___alignof] = ACTIONS(1302), + [anon_sym__alignof] = ACTIONS(1302), + [anon_sym_alignof] = ACTIONS(1302), + [anon_sym__Alignof] = ACTIONS(1302), + [anon_sym_offsetof] = ACTIONS(1302), + [anon_sym__Generic] = ACTIONS(1302), + [anon_sym_asm] = ACTIONS(1302), + [anon_sym___asm__] = ACTIONS(1302), + [sym__number_literal] = ACTIONS(1304), + [anon_sym_L_SQUOTE] = ACTIONS(1304), + [anon_sym_u_SQUOTE] = ACTIONS(1304), + [anon_sym_U_SQUOTE] = ACTIONS(1304), + [anon_sym_u8_SQUOTE] = ACTIONS(1304), + [anon_sym_SQUOTE] = ACTIONS(1304), + [anon_sym_L_DQUOTE] = ACTIONS(1304), + [anon_sym_u_DQUOTE] = ACTIONS(1304), + [anon_sym_U_DQUOTE] = ACTIONS(1304), + [anon_sym_u8_DQUOTE] = ACTIONS(1304), + [anon_sym_DQUOTE] = ACTIONS(1304), + [sym_true] = ACTIONS(1302), + [sym_false] = ACTIONS(1302), + [anon_sym_NULL] = ACTIONS(1302), + [anon_sym_nullptr] = ACTIONS(1302), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1304), + }, + [134] = { + [sym__identifier] = ACTIONS(1306), + [aux_sym_preproc_include_token1] = ACTIONS(1306), + [aux_sym_preproc_def_token1] = ACTIONS(1306), + [aux_sym_preproc_if_token1] = ACTIONS(1306), + [aux_sym_preproc_if_token2] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1306), + [aux_sym_preproc_else_token1] = ACTIONS(1306), + [aux_sym_preproc_elif_token1] = ACTIONS(1306), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1306), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1306), + [sym_preproc_directive] = ACTIONS(1306), + [anon_sym_LPAREN2] = ACTIONS(1308), + [anon_sym_BANG] = ACTIONS(1308), + [anon_sym_TILDE] = ACTIONS(1308), + [anon_sym_DASH] = ACTIONS(1306), + [anon_sym_PLUS] = ACTIONS(1306), + [anon_sym_STAR] = ACTIONS(1308), + [anon_sym_AMP] = ACTIONS(1308), + [anon_sym_SEMI] = ACTIONS(1308), + [anon_sym___extension__] = ACTIONS(1306), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(1306), + [anon_sym___attribute__] = ACTIONS(1306), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1308), + [anon_sym___declspec] = ACTIONS(1306), + [anon_sym___cdecl] = ACTIONS(1306), + [anon_sym___clrcall] = ACTIONS(1306), + [anon_sym___stdcall] = ACTIONS(1306), + [anon_sym___fastcall] = ACTIONS(1306), + [anon_sym___thiscall] = ACTIONS(1306), + [anon_sym___vectorcall] = ACTIONS(1306), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_signed] = ACTIONS(1306), + [anon_sym_unsigned] = ACTIONS(1306), + [anon_sym_long] = ACTIONS(1306), + [anon_sym_short] = ACTIONS(1306), + [anon_sym_static] = ACTIONS(1306), + [anon_sym_auto] = ACTIONS(1306), + [anon_sym_register] = ACTIONS(1306), + [anon_sym_inline] = ACTIONS(1306), + [anon_sym___inline] = ACTIONS(1306), + [anon_sym___inline__] = ACTIONS(1306), + [anon_sym___forceinline] = ACTIONS(1306), + [anon_sym_thread_local] = ACTIONS(1306), + [anon_sym___thread] = ACTIONS(1306), + [anon_sym_const] = ACTIONS(1306), + [anon_sym_constexpr] = ACTIONS(1306), + [anon_sym_volatile] = ACTIONS(1306), + [anon_sym_restrict] = ACTIONS(1306), + [anon_sym___restrict__] = ACTIONS(1306), + [anon_sym__Atomic] = ACTIONS(1306), + [anon_sym__Noreturn] = ACTIONS(1306), + [anon_sym_noreturn] = ACTIONS(1306), + [anon_sym_alignas] = ACTIONS(1306), + [anon_sym__Alignas] = ACTIONS(1306), + [sym_primitive_type] = ACTIONS(1306), + [anon_sym_enum] = ACTIONS(1306), + [anon_sym_struct] = ACTIONS(1306), + [anon_sym_union] = ACTIONS(1306), + [anon_sym_if] = ACTIONS(1306), + [anon_sym_switch] = ACTIONS(1306), + [anon_sym_case] = ACTIONS(1306), + [anon_sym_default] = ACTIONS(1306), + [anon_sym_while] = ACTIONS(1306), + [anon_sym_do] = ACTIONS(1306), + [anon_sym_for] = ACTIONS(1306), + [anon_sym_return] = ACTIONS(1306), + [anon_sym_break] = ACTIONS(1306), + [anon_sym_continue] = ACTIONS(1306), + [anon_sym_goto] = ACTIONS(1306), + [anon_sym___try] = ACTIONS(1306), + [anon_sym___leave] = ACTIONS(1306), + [anon_sym_DASH_DASH] = ACTIONS(1308), + [anon_sym_PLUS_PLUS] = ACTIONS(1308), + [anon_sym_sizeof] = ACTIONS(1306), + [anon_sym___alignof__] = ACTIONS(1306), + [anon_sym___alignof] = ACTIONS(1306), + [anon_sym__alignof] = ACTIONS(1306), + [anon_sym_alignof] = ACTIONS(1306), + [anon_sym__Alignof] = ACTIONS(1306), + [anon_sym_offsetof] = ACTIONS(1306), + [anon_sym__Generic] = ACTIONS(1306), + [anon_sym_asm] = ACTIONS(1306), + [anon_sym___asm__] = ACTIONS(1306), + [sym__number_literal] = ACTIONS(1308), + [anon_sym_L_SQUOTE] = ACTIONS(1308), + [anon_sym_u_SQUOTE] = ACTIONS(1308), + [anon_sym_U_SQUOTE] = ACTIONS(1308), + [anon_sym_u8_SQUOTE] = ACTIONS(1308), + [anon_sym_SQUOTE] = ACTIONS(1308), + [anon_sym_L_DQUOTE] = ACTIONS(1308), + [anon_sym_u_DQUOTE] = ACTIONS(1308), + [anon_sym_U_DQUOTE] = ACTIONS(1308), + [anon_sym_u8_DQUOTE] = ACTIONS(1308), + [anon_sym_DQUOTE] = ACTIONS(1308), + [sym_true] = ACTIONS(1306), + [sym_false] = ACTIONS(1306), + [anon_sym_NULL] = ACTIONS(1306), + [anon_sym_nullptr] = ACTIONS(1306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1308), + }, + [135] = { + [sym__identifier] = ACTIONS(1310), + [aux_sym_preproc_include_token1] = ACTIONS(1310), + [aux_sym_preproc_def_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token2] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1310), + [aux_sym_preproc_else_token1] = ACTIONS(1310), + [aux_sym_preproc_elif_token1] = ACTIONS(1310), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1310), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1310), + [sym_preproc_directive] = ACTIONS(1310), + [anon_sym_LPAREN2] = ACTIONS(1312), + [anon_sym_BANG] = ACTIONS(1312), + [anon_sym_TILDE] = ACTIONS(1312), + [anon_sym_DASH] = ACTIONS(1310), + [anon_sym_PLUS] = ACTIONS(1310), + [anon_sym_STAR] = ACTIONS(1312), + [anon_sym_AMP] = ACTIONS(1312), + [anon_sym_SEMI] = ACTIONS(1312), + [anon_sym___extension__] = ACTIONS(1310), + [anon_sym_typedef] = ACTIONS(1310), + [anon_sym_extern] = ACTIONS(1310), + [anon_sym___attribute__] = ACTIONS(1310), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1312), + [anon_sym___declspec] = ACTIONS(1310), + [anon_sym___cdecl] = ACTIONS(1310), + [anon_sym___clrcall] = ACTIONS(1310), + [anon_sym___stdcall] = ACTIONS(1310), + [anon_sym___fastcall] = ACTIONS(1310), + [anon_sym___thiscall] = ACTIONS(1310), + [anon_sym___vectorcall] = ACTIONS(1310), + [anon_sym_LBRACE] = ACTIONS(1312), + [anon_sym_signed] = ACTIONS(1310), + [anon_sym_unsigned] = ACTIONS(1310), + [anon_sym_long] = ACTIONS(1310), + [anon_sym_short] = ACTIONS(1310), + [anon_sym_static] = ACTIONS(1310), + [anon_sym_auto] = ACTIONS(1310), + [anon_sym_register] = ACTIONS(1310), + [anon_sym_inline] = ACTIONS(1310), + [anon_sym___inline] = ACTIONS(1310), + [anon_sym___inline__] = ACTIONS(1310), + [anon_sym___forceinline] = ACTIONS(1310), + [anon_sym_thread_local] = ACTIONS(1310), + [anon_sym___thread] = ACTIONS(1310), + [anon_sym_const] = ACTIONS(1310), + [anon_sym_constexpr] = ACTIONS(1310), + [anon_sym_volatile] = ACTIONS(1310), + [anon_sym_restrict] = ACTIONS(1310), + [anon_sym___restrict__] = ACTIONS(1310), + [anon_sym__Atomic] = ACTIONS(1310), + [anon_sym__Noreturn] = ACTIONS(1310), + [anon_sym_noreturn] = ACTIONS(1310), + [anon_sym_alignas] = ACTIONS(1310), + [anon_sym__Alignas] = ACTIONS(1310), + [sym_primitive_type] = ACTIONS(1310), + [anon_sym_enum] = ACTIONS(1310), + [anon_sym_struct] = ACTIONS(1310), + [anon_sym_union] = ACTIONS(1310), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1310), + [anon_sym_case] = ACTIONS(1310), + [anon_sym_default] = ACTIONS(1310), + [anon_sym_while] = ACTIONS(1310), + [anon_sym_do] = ACTIONS(1310), + [anon_sym_for] = ACTIONS(1310), + [anon_sym_return] = ACTIONS(1310), + [anon_sym_break] = ACTIONS(1310), + [anon_sym_continue] = ACTIONS(1310), + [anon_sym_goto] = ACTIONS(1310), + [anon_sym___try] = ACTIONS(1310), + [anon_sym___leave] = ACTIONS(1310), + [anon_sym_DASH_DASH] = ACTIONS(1312), + [anon_sym_PLUS_PLUS] = ACTIONS(1312), + [anon_sym_sizeof] = ACTIONS(1310), + [anon_sym___alignof__] = ACTIONS(1310), + [anon_sym___alignof] = ACTIONS(1310), + [anon_sym__alignof] = ACTIONS(1310), + [anon_sym_alignof] = ACTIONS(1310), + [anon_sym__Alignof] = ACTIONS(1310), + [anon_sym_offsetof] = ACTIONS(1310), + [anon_sym__Generic] = ACTIONS(1310), + [anon_sym_asm] = ACTIONS(1310), + [anon_sym___asm__] = ACTIONS(1310), + [sym__number_literal] = ACTIONS(1312), + [anon_sym_L_SQUOTE] = ACTIONS(1312), + [anon_sym_u_SQUOTE] = ACTIONS(1312), + [anon_sym_U_SQUOTE] = ACTIONS(1312), + [anon_sym_u8_SQUOTE] = ACTIONS(1312), + [anon_sym_SQUOTE] = ACTIONS(1312), + [anon_sym_L_DQUOTE] = ACTIONS(1312), + [anon_sym_u_DQUOTE] = ACTIONS(1312), + [anon_sym_U_DQUOTE] = ACTIONS(1312), + [anon_sym_u8_DQUOTE] = ACTIONS(1312), + [anon_sym_DQUOTE] = ACTIONS(1312), + [sym_true] = ACTIONS(1310), + [sym_false] = ACTIONS(1310), + [anon_sym_NULL] = ACTIONS(1310), + [anon_sym_nullptr] = ACTIONS(1310), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1312), + }, + [136] = { + [sym__identifier] = ACTIONS(1314), + [aux_sym_preproc_include_token1] = ACTIONS(1314), + [aux_sym_preproc_def_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token2] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1314), + [aux_sym_preproc_else_token1] = ACTIONS(1314), + [aux_sym_preproc_elif_token1] = ACTIONS(1314), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1314), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1314), + [sym_preproc_directive] = ACTIONS(1314), + [anon_sym_LPAREN2] = ACTIONS(1316), + [anon_sym_BANG] = ACTIONS(1316), + [anon_sym_TILDE] = ACTIONS(1316), + [anon_sym_DASH] = ACTIONS(1314), + [anon_sym_PLUS] = ACTIONS(1314), + [anon_sym_STAR] = ACTIONS(1316), + [anon_sym_AMP] = ACTIONS(1316), + [anon_sym_SEMI] = ACTIONS(1316), + [anon_sym___extension__] = ACTIONS(1314), + [anon_sym_typedef] = ACTIONS(1314), + [anon_sym_extern] = ACTIONS(1314), + [anon_sym___attribute__] = ACTIONS(1314), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1316), + [anon_sym___declspec] = ACTIONS(1314), + [anon_sym___cdecl] = ACTIONS(1314), + [anon_sym___clrcall] = ACTIONS(1314), + [anon_sym___stdcall] = ACTIONS(1314), + [anon_sym___fastcall] = ACTIONS(1314), + [anon_sym___thiscall] = ACTIONS(1314), + [anon_sym___vectorcall] = ACTIONS(1314), + [anon_sym_LBRACE] = ACTIONS(1316), + [anon_sym_signed] = ACTIONS(1314), + [anon_sym_unsigned] = ACTIONS(1314), + [anon_sym_long] = ACTIONS(1314), + [anon_sym_short] = ACTIONS(1314), + [anon_sym_static] = ACTIONS(1314), + [anon_sym_auto] = ACTIONS(1314), + [anon_sym_register] = ACTIONS(1314), + [anon_sym_inline] = ACTIONS(1314), + [anon_sym___inline] = ACTIONS(1314), + [anon_sym___inline__] = ACTIONS(1314), + [anon_sym___forceinline] = ACTIONS(1314), + [anon_sym_thread_local] = ACTIONS(1314), + [anon_sym___thread] = ACTIONS(1314), + [anon_sym_const] = ACTIONS(1314), + [anon_sym_constexpr] = ACTIONS(1314), + [anon_sym_volatile] = ACTIONS(1314), + [anon_sym_restrict] = ACTIONS(1314), + [anon_sym___restrict__] = ACTIONS(1314), + [anon_sym__Atomic] = ACTIONS(1314), + [anon_sym__Noreturn] = ACTIONS(1314), + [anon_sym_noreturn] = ACTIONS(1314), + [anon_sym_alignas] = ACTIONS(1314), + [anon_sym__Alignas] = ACTIONS(1314), + [sym_primitive_type] = ACTIONS(1314), + [anon_sym_enum] = ACTIONS(1314), + [anon_sym_struct] = ACTIONS(1314), + [anon_sym_union] = ACTIONS(1314), + [anon_sym_if] = ACTIONS(1314), + [anon_sym_switch] = ACTIONS(1314), + [anon_sym_case] = ACTIONS(1314), + [anon_sym_default] = ACTIONS(1314), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1314), + [anon_sym_for] = ACTIONS(1314), + [anon_sym_return] = ACTIONS(1314), + [anon_sym_break] = ACTIONS(1314), + [anon_sym_continue] = ACTIONS(1314), + [anon_sym_goto] = ACTIONS(1314), + [anon_sym___try] = ACTIONS(1314), + [anon_sym___leave] = ACTIONS(1314), + [anon_sym_DASH_DASH] = ACTIONS(1316), + [anon_sym_PLUS_PLUS] = ACTIONS(1316), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1314), + [anon_sym___alignof] = ACTIONS(1314), + [anon_sym__alignof] = ACTIONS(1314), + [anon_sym_alignof] = ACTIONS(1314), + [anon_sym__Alignof] = ACTIONS(1314), + [anon_sym_offsetof] = ACTIONS(1314), + [anon_sym__Generic] = ACTIONS(1314), + [anon_sym_asm] = ACTIONS(1314), + [anon_sym___asm__] = ACTIONS(1314), + [sym__number_literal] = ACTIONS(1316), + [anon_sym_L_SQUOTE] = ACTIONS(1316), + [anon_sym_u_SQUOTE] = ACTIONS(1316), + [anon_sym_U_SQUOTE] = ACTIONS(1316), + [anon_sym_u8_SQUOTE] = ACTIONS(1316), + [anon_sym_SQUOTE] = ACTIONS(1316), + [anon_sym_L_DQUOTE] = ACTIONS(1316), + [anon_sym_u_DQUOTE] = ACTIONS(1316), + [anon_sym_U_DQUOTE] = ACTIONS(1316), + [anon_sym_u8_DQUOTE] = ACTIONS(1316), + [anon_sym_DQUOTE] = ACTIONS(1316), + [sym_true] = ACTIONS(1314), + [sym_false] = ACTIONS(1314), + [anon_sym_NULL] = ACTIONS(1314), + [anon_sym_nullptr] = ACTIONS(1314), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1316), + }, + [137] = { + [sym__identifier] = ACTIONS(1318), + [aux_sym_preproc_include_token1] = ACTIONS(1318), + [aux_sym_preproc_def_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token2] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1318), + [aux_sym_preproc_else_token1] = ACTIONS(1318), + [aux_sym_preproc_elif_token1] = ACTIONS(1318), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1318), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1318), + [sym_preproc_directive] = ACTIONS(1318), + [anon_sym_LPAREN2] = ACTIONS(1320), + [anon_sym_BANG] = ACTIONS(1320), + [anon_sym_TILDE] = ACTIONS(1320), + [anon_sym_DASH] = ACTIONS(1318), + [anon_sym_PLUS] = ACTIONS(1318), + [anon_sym_STAR] = ACTIONS(1320), + [anon_sym_AMP] = ACTIONS(1320), + [anon_sym_SEMI] = ACTIONS(1320), + [anon_sym___extension__] = ACTIONS(1318), + [anon_sym_typedef] = ACTIONS(1318), + [anon_sym_extern] = ACTIONS(1318), + [anon_sym___attribute__] = ACTIONS(1318), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1320), + [anon_sym___declspec] = ACTIONS(1318), + [anon_sym___cdecl] = ACTIONS(1318), + [anon_sym___clrcall] = ACTIONS(1318), + [anon_sym___stdcall] = ACTIONS(1318), + [anon_sym___fastcall] = ACTIONS(1318), + [anon_sym___thiscall] = ACTIONS(1318), + [anon_sym___vectorcall] = ACTIONS(1318), + [anon_sym_LBRACE] = ACTIONS(1320), + [anon_sym_signed] = ACTIONS(1318), + [anon_sym_unsigned] = ACTIONS(1318), + [anon_sym_long] = ACTIONS(1318), + [anon_sym_short] = ACTIONS(1318), + [anon_sym_static] = ACTIONS(1318), + [anon_sym_auto] = ACTIONS(1318), + [anon_sym_register] = ACTIONS(1318), + [anon_sym_inline] = ACTIONS(1318), + [anon_sym___inline] = ACTIONS(1318), + [anon_sym___inline__] = ACTIONS(1318), + [anon_sym___forceinline] = ACTIONS(1318), + [anon_sym_thread_local] = ACTIONS(1318), + [anon_sym___thread] = ACTIONS(1318), + [anon_sym_const] = ACTIONS(1318), + [anon_sym_constexpr] = ACTIONS(1318), + [anon_sym_volatile] = ACTIONS(1318), + [anon_sym_restrict] = ACTIONS(1318), + [anon_sym___restrict__] = ACTIONS(1318), + [anon_sym__Atomic] = ACTIONS(1318), + [anon_sym__Noreturn] = ACTIONS(1318), + [anon_sym_noreturn] = ACTIONS(1318), + [anon_sym_alignas] = ACTIONS(1318), + [anon_sym__Alignas] = ACTIONS(1318), + [sym_primitive_type] = ACTIONS(1318), + [anon_sym_enum] = ACTIONS(1318), + [anon_sym_struct] = ACTIONS(1318), + [anon_sym_union] = ACTIONS(1318), + [anon_sym_if] = ACTIONS(1318), + [anon_sym_switch] = ACTIONS(1318), + [anon_sym_case] = ACTIONS(1318), + [anon_sym_default] = ACTIONS(1318), + [anon_sym_while] = ACTIONS(1318), + [anon_sym_do] = ACTIONS(1318), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1318), + [anon_sym_break] = ACTIONS(1318), + [anon_sym_continue] = ACTIONS(1318), + [anon_sym_goto] = ACTIONS(1318), + [anon_sym___try] = ACTIONS(1318), + [anon_sym___leave] = ACTIONS(1318), + [anon_sym_DASH_DASH] = ACTIONS(1320), + [anon_sym_PLUS_PLUS] = ACTIONS(1320), + [anon_sym_sizeof] = ACTIONS(1318), + [anon_sym___alignof__] = ACTIONS(1318), + [anon_sym___alignof] = ACTIONS(1318), + [anon_sym__alignof] = ACTIONS(1318), + [anon_sym_alignof] = ACTIONS(1318), + [anon_sym__Alignof] = ACTIONS(1318), + [anon_sym_offsetof] = ACTIONS(1318), + [anon_sym__Generic] = ACTIONS(1318), + [anon_sym_asm] = ACTIONS(1318), + [anon_sym___asm__] = ACTIONS(1318), + [sym__number_literal] = ACTIONS(1320), + [anon_sym_L_SQUOTE] = ACTIONS(1320), + [anon_sym_u_SQUOTE] = ACTIONS(1320), + [anon_sym_U_SQUOTE] = ACTIONS(1320), + [anon_sym_u8_SQUOTE] = ACTIONS(1320), + [anon_sym_SQUOTE] = ACTIONS(1320), + [anon_sym_L_DQUOTE] = ACTIONS(1320), + [anon_sym_u_DQUOTE] = ACTIONS(1320), + [anon_sym_U_DQUOTE] = ACTIONS(1320), + [anon_sym_u8_DQUOTE] = ACTIONS(1320), + [anon_sym_DQUOTE] = ACTIONS(1320), + [sym_true] = ACTIONS(1318), + [sym_false] = ACTIONS(1318), + [anon_sym_NULL] = ACTIONS(1318), + [anon_sym_nullptr] = ACTIONS(1318), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1320), + }, + [138] = { + [sym__identifier] = ACTIONS(1322), + [aux_sym_preproc_include_token1] = ACTIONS(1322), + [aux_sym_preproc_def_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token2] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1322), + [aux_sym_preproc_else_token1] = ACTIONS(1322), + [aux_sym_preproc_elif_token1] = ACTIONS(1322), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1322), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1322), + [sym_preproc_directive] = ACTIONS(1322), + [anon_sym_LPAREN2] = ACTIONS(1324), + [anon_sym_BANG] = ACTIONS(1324), + [anon_sym_TILDE] = ACTIONS(1324), + [anon_sym_DASH] = ACTIONS(1322), + [anon_sym_PLUS] = ACTIONS(1322), + [anon_sym_STAR] = ACTIONS(1324), + [anon_sym_AMP] = ACTIONS(1324), + [anon_sym_SEMI] = ACTIONS(1324), + [anon_sym___extension__] = ACTIONS(1322), + [anon_sym_typedef] = ACTIONS(1322), + [anon_sym_extern] = ACTIONS(1322), + [anon_sym___attribute__] = ACTIONS(1322), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1324), + [anon_sym___declspec] = ACTIONS(1322), + [anon_sym___cdecl] = ACTIONS(1322), + [anon_sym___clrcall] = ACTIONS(1322), + [anon_sym___stdcall] = ACTIONS(1322), + [anon_sym___fastcall] = ACTIONS(1322), + [anon_sym___thiscall] = ACTIONS(1322), + [anon_sym___vectorcall] = ACTIONS(1322), + [anon_sym_LBRACE] = ACTIONS(1324), + [anon_sym_signed] = ACTIONS(1322), + [anon_sym_unsigned] = ACTIONS(1322), + [anon_sym_long] = ACTIONS(1322), + [anon_sym_short] = ACTIONS(1322), + [anon_sym_static] = ACTIONS(1322), + [anon_sym_auto] = ACTIONS(1322), + [anon_sym_register] = ACTIONS(1322), + [anon_sym_inline] = ACTIONS(1322), + [anon_sym___inline] = ACTIONS(1322), + [anon_sym___inline__] = ACTIONS(1322), + [anon_sym___forceinline] = ACTIONS(1322), + [anon_sym_thread_local] = ACTIONS(1322), + [anon_sym___thread] = ACTIONS(1322), + [anon_sym_const] = ACTIONS(1322), + [anon_sym_constexpr] = ACTIONS(1322), + [anon_sym_volatile] = ACTIONS(1322), + [anon_sym_restrict] = ACTIONS(1322), + [anon_sym___restrict__] = ACTIONS(1322), + [anon_sym__Atomic] = ACTIONS(1322), + [anon_sym__Noreturn] = ACTIONS(1322), + [anon_sym_noreturn] = ACTIONS(1322), + [anon_sym_alignas] = ACTIONS(1322), + [anon_sym__Alignas] = ACTIONS(1322), + [sym_primitive_type] = ACTIONS(1322), + [anon_sym_enum] = ACTIONS(1322), + [anon_sym_struct] = ACTIONS(1322), + [anon_sym_union] = ACTIONS(1322), + [anon_sym_if] = ACTIONS(1322), + [anon_sym_switch] = ACTIONS(1322), + [anon_sym_case] = ACTIONS(1322), + [anon_sym_default] = ACTIONS(1322), + [anon_sym_while] = ACTIONS(1322), + [anon_sym_do] = ACTIONS(1322), + [anon_sym_for] = ACTIONS(1322), + [anon_sym_return] = ACTIONS(1322), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1322), + [anon_sym_goto] = ACTIONS(1322), + [anon_sym___try] = ACTIONS(1322), + [anon_sym___leave] = ACTIONS(1322), + [anon_sym_DASH_DASH] = ACTIONS(1324), + [anon_sym_PLUS_PLUS] = ACTIONS(1324), + [anon_sym_sizeof] = ACTIONS(1322), + [anon_sym___alignof__] = ACTIONS(1322), + [anon_sym___alignof] = ACTIONS(1322), + [anon_sym__alignof] = ACTIONS(1322), + [anon_sym_alignof] = ACTIONS(1322), + [anon_sym__Alignof] = ACTIONS(1322), + [anon_sym_offsetof] = ACTIONS(1322), + [anon_sym__Generic] = ACTIONS(1322), + [anon_sym_asm] = ACTIONS(1322), + [anon_sym___asm__] = ACTIONS(1322), + [sym__number_literal] = ACTIONS(1324), + [anon_sym_L_SQUOTE] = ACTIONS(1324), + [anon_sym_u_SQUOTE] = ACTIONS(1324), + [anon_sym_U_SQUOTE] = ACTIONS(1324), + [anon_sym_u8_SQUOTE] = ACTIONS(1324), + [anon_sym_SQUOTE] = ACTIONS(1324), + [anon_sym_L_DQUOTE] = ACTIONS(1324), + [anon_sym_u_DQUOTE] = ACTIONS(1324), + [anon_sym_U_DQUOTE] = ACTIONS(1324), + [anon_sym_u8_DQUOTE] = ACTIONS(1324), + [anon_sym_DQUOTE] = ACTIONS(1324), + [sym_true] = ACTIONS(1322), + [sym_false] = ACTIONS(1322), + [anon_sym_NULL] = ACTIONS(1322), + [anon_sym_nullptr] = ACTIONS(1322), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1324), + }, + [139] = { + [sym__identifier] = ACTIONS(1326), + [aux_sym_preproc_include_token1] = ACTIONS(1326), + [aux_sym_preproc_def_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token2] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1326), + [aux_sym_preproc_else_token1] = ACTIONS(1326), + [aux_sym_preproc_elif_token1] = ACTIONS(1326), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1326), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1326), + [sym_preproc_directive] = ACTIONS(1326), + [anon_sym_LPAREN2] = ACTIONS(1328), + [anon_sym_BANG] = ACTIONS(1328), + [anon_sym_TILDE] = ACTIONS(1328), + [anon_sym_DASH] = ACTIONS(1326), + [anon_sym_PLUS] = ACTIONS(1326), + [anon_sym_STAR] = ACTIONS(1328), + [anon_sym_AMP] = ACTIONS(1328), + [anon_sym_SEMI] = ACTIONS(1328), + [anon_sym___extension__] = ACTIONS(1326), + [anon_sym_typedef] = ACTIONS(1326), + [anon_sym_extern] = ACTIONS(1326), + [anon_sym___attribute__] = ACTIONS(1326), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1328), + [anon_sym___declspec] = ACTIONS(1326), + [anon_sym___cdecl] = ACTIONS(1326), + [anon_sym___clrcall] = ACTIONS(1326), + [anon_sym___stdcall] = ACTIONS(1326), + [anon_sym___fastcall] = ACTIONS(1326), + [anon_sym___thiscall] = ACTIONS(1326), + [anon_sym___vectorcall] = ACTIONS(1326), + [anon_sym_LBRACE] = ACTIONS(1328), + [anon_sym_signed] = ACTIONS(1326), + [anon_sym_unsigned] = ACTIONS(1326), + [anon_sym_long] = ACTIONS(1326), + [anon_sym_short] = ACTIONS(1326), + [anon_sym_static] = ACTIONS(1326), + [anon_sym_auto] = ACTIONS(1326), + [anon_sym_register] = ACTIONS(1326), + [anon_sym_inline] = ACTIONS(1326), + [anon_sym___inline] = ACTIONS(1326), + [anon_sym___inline__] = ACTIONS(1326), + [anon_sym___forceinline] = ACTIONS(1326), + [anon_sym_thread_local] = ACTIONS(1326), + [anon_sym___thread] = ACTIONS(1326), + [anon_sym_const] = ACTIONS(1326), + [anon_sym_constexpr] = ACTIONS(1326), + [anon_sym_volatile] = ACTIONS(1326), + [anon_sym_restrict] = ACTIONS(1326), + [anon_sym___restrict__] = ACTIONS(1326), + [anon_sym__Atomic] = ACTIONS(1326), + [anon_sym__Noreturn] = ACTIONS(1326), + [anon_sym_noreturn] = ACTIONS(1326), + [anon_sym_alignas] = ACTIONS(1326), + [anon_sym__Alignas] = ACTIONS(1326), + [sym_primitive_type] = ACTIONS(1326), + [anon_sym_enum] = ACTIONS(1326), + [anon_sym_struct] = ACTIONS(1326), + [anon_sym_union] = ACTIONS(1326), + [anon_sym_if] = ACTIONS(1326), + [anon_sym_switch] = ACTIONS(1326), + [anon_sym_case] = ACTIONS(1326), + [anon_sym_default] = ACTIONS(1326), + [anon_sym_while] = ACTIONS(1326), + [anon_sym_do] = ACTIONS(1326), + [anon_sym_for] = ACTIONS(1326), + [anon_sym_return] = ACTIONS(1326), + [anon_sym_break] = ACTIONS(1326), + [anon_sym_continue] = ACTIONS(1326), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym___try] = ACTIONS(1326), + [anon_sym___leave] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(1328), + [anon_sym_PLUS_PLUS] = ACTIONS(1328), + [anon_sym_sizeof] = ACTIONS(1326), + [anon_sym___alignof__] = ACTIONS(1326), + [anon_sym___alignof] = ACTIONS(1326), + [anon_sym__alignof] = ACTIONS(1326), + [anon_sym_alignof] = ACTIONS(1326), + [anon_sym__Alignof] = ACTIONS(1326), + [anon_sym_offsetof] = ACTIONS(1326), + [anon_sym__Generic] = ACTIONS(1326), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1328), + [anon_sym_L_SQUOTE] = ACTIONS(1328), + [anon_sym_u_SQUOTE] = ACTIONS(1328), + [anon_sym_U_SQUOTE] = ACTIONS(1328), + [anon_sym_u8_SQUOTE] = ACTIONS(1328), + [anon_sym_SQUOTE] = ACTIONS(1328), + [anon_sym_L_DQUOTE] = ACTIONS(1328), + [anon_sym_u_DQUOTE] = ACTIONS(1328), + [anon_sym_U_DQUOTE] = ACTIONS(1328), + [anon_sym_u8_DQUOTE] = ACTIONS(1328), + [anon_sym_DQUOTE] = ACTIONS(1328), + [sym_true] = ACTIONS(1326), + [sym_false] = ACTIONS(1326), + [anon_sym_NULL] = ACTIONS(1326), + [anon_sym_nullptr] = ACTIONS(1326), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1328), + }, + [140] = { + [sym__identifier] = ACTIONS(1330), + [aux_sym_preproc_include_token1] = ACTIONS(1330), + [aux_sym_preproc_def_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token2] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1330), + [aux_sym_preproc_else_token1] = ACTIONS(1330), + [aux_sym_preproc_elif_token1] = ACTIONS(1330), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1330), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1330), + [sym_preproc_directive] = ACTIONS(1330), + [anon_sym_LPAREN2] = ACTIONS(1332), + [anon_sym_BANG] = ACTIONS(1332), + [anon_sym_TILDE] = ACTIONS(1332), + [anon_sym_DASH] = ACTIONS(1330), + [anon_sym_PLUS] = ACTIONS(1330), + [anon_sym_STAR] = ACTIONS(1332), + [anon_sym_AMP] = ACTIONS(1332), + [anon_sym_SEMI] = ACTIONS(1332), + [anon_sym___extension__] = ACTIONS(1330), + [anon_sym_typedef] = ACTIONS(1330), + [anon_sym_extern] = ACTIONS(1330), + [anon_sym___attribute__] = ACTIONS(1330), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1332), + [anon_sym___declspec] = ACTIONS(1330), + [anon_sym___cdecl] = ACTIONS(1330), + [anon_sym___clrcall] = ACTIONS(1330), + [anon_sym___stdcall] = ACTIONS(1330), + [anon_sym___fastcall] = ACTIONS(1330), + [anon_sym___thiscall] = ACTIONS(1330), + [anon_sym___vectorcall] = ACTIONS(1330), + [anon_sym_LBRACE] = ACTIONS(1332), + [anon_sym_signed] = ACTIONS(1330), + [anon_sym_unsigned] = ACTIONS(1330), + [anon_sym_long] = ACTIONS(1330), + [anon_sym_short] = ACTIONS(1330), + [anon_sym_static] = ACTIONS(1330), + [anon_sym_auto] = ACTIONS(1330), + [anon_sym_register] = ACTIONS(1330), + [anon_sym_inline] = ACTIONS(1330), + [anon_sym___inline] = ACTIONS(1330), + [anon_sym___inline__] = ACTIONS(1330), + [anon_sym___forceinline] = ACTIONS(1330), + [anon_sym_thread_local] = ACTIONS(1330), + [anon_sym___thread] = ACTIONS(1330), + [anon_sym_const] = ACTIONS(1330), + [anon_sym_constexpr] = ACTIONS(1330), + [anon_sym_volatile] = ACTIONS(1330), + [anon_sym_restrict] = ACTIONS(1330), + [anon_sym___restrict__] = ACTIONS(1330), + [anon_sym__Atomic] = ACTIONS(1330), + [anon_sym__Noreturn] = ACTIONS(1330), + [anon_sym_noreturn] = ACTIONS(1330), + [anon_sym_alignas] = ACTIONS(1330), + [anon_sym__Alignas] = ACTIONS(1330), + [sym_primitive_type] = ACTIONS(1330), + [anon_sym_enum] = ACTIONS(1330), + [anon_sym_struct] = ACTIONS(1330), + [anon_sym_union] = ACTIONS(1330), + [anon_sym_if] = ACTIONS(1330), + [anon_sym_switch] = ACTIONS(1330), + [anon_sym_case] = ACTIONS(1330), + [anon_sym_default] = ACTIONS(1330), + [anon_sym_while] = ACTIONS(1330), + [anon_sym_do] = ACTIONS(1330), + [anon_sym_for] = ACTIONS(1330), + [anon_sym_return] = ACTIONS(1330), + [anon_sym_break] = ACTIONS(1330), + [anon_sym_continue] = ACTIONS(1330), + [anon_sym_goto] = ACTIONS(1330), + [anon_sym___try] = ACTIONS(1330), + [anon_sym___leave] = ACTIONS(1330), + [anon_sym_DASH_DASH] = ACTIONS(1332), + [anon_sym_PLUS_PLUS] = ACTIONS(1332), + [anon_sym_sizeof] = ACTIONS(1330), + [anon_sym___alignof__] = ACTIONS(1330), + [anon_sym___alignof] = ACTIONS(1330), + [anon_sym__alignof] = ACTIONS(1330), + [anon_sym_alignof] = ACTIONS(1330), + [anon_sym__Alignof] = ACTIONS(1330), + [anon_sym_offsetof] = ACTIONS(1330), + [anon_sym__Generic] = ACTIONS(1330), + [anon_sym_asm] = ACTIONS(1330), + [anon_sym___asm__] = ACTIONS(1330), + [sym__number_literal] = ACTIONS(1332), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1332), + [anon_sym_u_DQUOTE] = ACTIONS(1332), + [anon_sym_U_DQUOTE] = ACTIONS(1332), + [anon_sym_u8_DQUOTE] = ACTIONS(1332), + [anon_sym_DQUOTE] = ACTIONS(1332), + [sym_true] = ACTIONS(1330), + [sym_false] = ACTIONS(1330), + [anon_sym_NULL] = ACTIONS(1330), + [anon_sym_nullptr] = ACTIONS(1330), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1332), + }, + [141] = { + [sym__identifier] = ACTIONS(1334), + [aux_sym_preproc_include_token1] = ACTIONS(1334), + [aux_sym_preproc_def_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token2] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1334), + [aux_sym_preproc_else_token1] = ACTIONS(1334), + [aux_sym_preproc_elif_token1] = ACTIONS(1334), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1334), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1334), + [sym_preproc_directive] = ACTIONS(1334), + [anon_sym_LPAREN2] = ACTIONS(1336), + [anon_sym_BANG] = ACTIONS(1336), + [anon_sym_TILDE] = ACTIONS(1336), + [anon_sym_DASH] = ACTIONS(1334), + [anon_sym_PLUS] = ACTIONS(1334), + [anon_sym_STAR] = ACTIONS(1336), + [anon_sym_AMP] = ACTIONS(1336), + [anon_sym_SEMI] = ACTIONS(1336), + [anon_sym___extension__] = ACTIONS(1334), + [anon_sym_typedef] = ACTIONS(1334), + [anon_sym_extern] = ACTIONS(1334), + [anon_sym___attribute__] = ACTIONS(1334), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1336), + [anon_sym___declspec] = ACTIONS(1334), + [anon_sym___cdecl] = ACTIONS(1334), + [anon_sym___clrcall] = ACTIONS(1334), + [anon_sym___stdcall] = ACTIONS(1334), + [anon_sym___fastcall] = ACTIONS(1334), + [anon_sym___thiscall] = ACTIONS(1334), + [anon_sym___vectorcall] = ACTIONS(1334), + [anon_sym_LBRACE] = ACTIONS(1336), + [anon_sym_signed] = ACTIONS(1334), + [anon_sym_unsigned] = ACTIONS(1334), + [anon_sym_long] = ACTIONS(1334), + [anon_sym_short] = ACTIONS(1334), + [anon_sym_static] = ACTIONS(1334), + [anon_sym_auto] = ACTIONS(1334), + [anon_sym_register] = ACTIONS(1334), + [anon_sym_inline] = ACTIONS(1334), + [anon_sym___inline] = ACTIONS(1334), + [anon_sym___inline__] = ACTIONS(1334), + [anon_sym___forceinline] = ACTIONS(1334), + [anon_sym_thread_local] = ACTIONS(1334), + [anon_sym___thread] = ACTIONS(1334), + [anon_sym_const] = ACTIONS(1334), + [anon_sym_constexpr] = ACTIONS(1334), + [anon_sym_volatile] = ACTIONS(1334), + [anon_sym_restrict] = ACTIONS(1334), + [anon_sym___restrict__] = ACTIONS(1334), + [anon_sym__Atomic] = ACTIONS(1334), + [anon_sym__Noreturn] = ACTIONS(1334), + [anon_sym_noreturn] = ACTIONS(1334), + [anon_sym_alignas] = ACTIONS(1334), + [anon_sym__Alignas] = ACTIONS(1334), + [sym_primitive_type] = ACTIONS(1334), + [anon_sym_enum] = ACTIONS(1334), + [anon_sym_struct] = ACTIONS(1334), + [anon_sym_union] = ACTIONS(1334), + [anon_sym_if] = ACTIONS(1334), + [anon_sym_switch] = ACTIONS(1334), + [anon_sym_case] = ACTIONS(1334), + [anon_sym_default] = ACTIONS(1334), + [anon_sym_while] = ACTIONS(1334), + [anon_sym_do] = ACTIONS(1334), + [anon_sym_for] = ACTIONS(1334), + [anon_sym_return] = ACTIONS(1334), + [anon_sym_break] = ACTIONS(1334), + [anon_sym_continue] = ACTIONS(1334), + [anon_sym_goto] = ACTIONS(1334), + [anon_sym___try] = ACTIONS(1334), + [anon_sym___leave] = ACTIONS(1334), + [anon_sym_DASH_DASH] = ACTIONS(1336), + [anon_sym_PLUS_PLUS] = ACTIONS(1336), + [anon_sym_sizeof] = ACTIONS(1334), + [anon_sym___alignof__] = ACTIONS(1334), + [anon_sym___alignof] = ACTIONS(1334), + [anon_sym__alignof] = ACTIONS(1334), + [anon_sym_alignof] = ACTIONS(1334), + [anon_sym__Alignof] = ACTIONS(1334), + [anon_sym_offsetof] = ACTIONS(1334), + [anon_sym__Generic] = ACTIONS(1334), + [anon_sym_asm] = ACTIONS(1334), + [anon_sym___asm__] = ACTIONS(1334), + [sym__number_literal] = ACTIONS(1336), + [anon_sym_L_SQUOTE] = ACTIONS(1336), + [anon_sym_u_SQUOTE] = ACTIONS(1336), + [anon_sym_U_SQUOTE] = ACTIONS(1336), + [anon_sym_u8_SQUOTE] = ACTIONS(1336), + [anon_sym_SQUOTE] = ACTIONS(1336), + [anon_sym_L_DQUOTE] = ACTIONS(1336), + [anon_sym_u_DQUOTE] = ACTIONS(1336), + [anon_sym_U_DQUOTE] = ACTIONS(1336), + [anon_sym_u8_DQUOTE] = ACTIONS(1336), + [anon_sym_DQUOTE] = ACTIONS(1336), + [sym_true] = ACTIONS(1334), + [sym_false] = ACTIONS(1334), + [anon_sym_NULL] = ACTIONS(1334), + [anon_sym_nullptr] = ACTIONS(1334), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1336), + }, + [142] = { + [sym__identifier] = ACTIONS(1338), + [aux_sym_preproc_include_token1] = ACTIONS(1338), + [aux_sym_preproc_def_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token2] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1338), + [aux_sym_preproc_else_token1] = ACTIONS(1338), + [aux_sym_preproc_elif_token1] = ACTIONS(1338), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1338), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1338), + [sym_preproc_directive] = ACTIONS(1338), + [anon_sym_LPAREN2] = ACTIONS(1340), + [anon_sym_BANG] = ACTIONS(1340), + [anon_sym_TILDE] = ACTIONS(1340), + [anon_sym_DASH] = ACTIONS(1338), + [anon_sym_PLUS] = ACTIONS(1338), + [anon_sym_STAR] = ACTIONS(1340), + [anon_sym_AMP] = ACTIONS(1340), + [anon_sym_SEMI] = ACTIONS(1340), + [anon_sym___extension__] = ACTIONS(1338), + [anon_sym_typedef] = ACTIONS(1338), + [anon_sym_extern] = ACTIONS(1338), + [anon_sym___attribute__] = ACTIONS(1338), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1340), + [anon_sym___declspec] = ACTIONS(1338), + [anon_sym___cdecl] = ACTIONS(1338), + [anon_sym___clrcall] = ACTIONS(1338), + [anon_sym___stdcall] = ACTIONS(1338), + [anon_sym___fastcall] = ACTIONS(1338), + [anon_sym___thiscall] = ACTIONS(1338), + [anon_sym___vectorcall] = ACTIONS(1338), + [anon_sym_LBRACE] = ACTIONS(1340), + [anon_sym_signed] = ACTIONS(1338), + [anon_sym_unsigned] = ACTIONS(1338), + [anon_sym_long] = ACTIONS(1338), + [anon_sym_short] = ACTIONS(1338), + [anon_sym_static] = ACTIONS(1338), + [anon_sym_auto] = ACTIONS(1338), + [anon_sym_register] = ACTIONS(1338), + [anon_sym_inline] = ACTIONS(1338), + [anon_sym___inline] = ACTIONS(1338), + [anon_sym___inline__] = ACTIONS(1338), + [anon_sym___forceinline] = ACTIONS(1338), + [anon_sym_thread_local] = ACTIONS(1338), + [anon_sym___thread] = ACTIONS(1338), + [anon_sym_const] = ACTIONS(1338), + [anon_sym_constexpr] = ACTIONS(1338), + [anon_sym_volatile] = ACTIONS(1338), + [anon_sym_restrict] = ACTIONS(1338), + [anon_sym___restrict__] = ACTIONS(1338), + [anon_sym__Atomic] = ACTIONS(1338), + [anon_sym__Noreturn] = ACTIONS(1338), + [anon_sym_noreturn] = ACTIONS(1338), + [anon_sym_alignas] = ACTIONS(1338), + [anon_sym__Alignas] = ACTIONS(1338), + [sym_primitive_type] = ACTIONS(1338), + [anon_sym_enum] = ACTIONS(1338), + [anon_sym_struct] = ACTIONS(1338), + [anon_sym_union] = ACTIONS(1338), + [anon_sym_if] = ACTIONS(1338), + [anon_sym_switch] = ACTIONS(1338), + [anon_sym_case] = ACTIONS(1338), + [anon_sym_default] = ACTIONS(1338), + [anon_sym_while] = ACTIONS(1338), + [anon_sym_do] = ACTIONS(1338), + [anon_sym_for] = ACTIONS(1338), + [anon_sym_return] = ACTIONS(1338), + [anon_sym_break] = ACTIONS(1338), + [anon_sym_continue] = ACTIONS(1338), + [anon_sym_goto] = ACTIONS(1338), + [anon_sym___try] = ACTIONS(1338), + [anon_sym___leave] = ACTIONS(1338), + [anon_sym_DASH_DASH] = ACTIONS(1340), + [anon_sym_PLUS_PLUS] = ACTIONS(1340), + [anon_sym_sizeof] = ACTIONS(1338), + [anon_sym___alignof__] = ACTIONS(1338), + [anon_sym___alignof] = ACTIONS(1338), + [anon_sym__alignof] = ACTIONS(1338), + [anon_sym_alignof] = ACTIONS(1338), + [anon_sym__Alignof] = ACTIONS(1338), + [anon_sym_offsetof] = ACTIONS(1338), + [anon_sym__Generic] = ACTIONS(1338), + [anon_sym_asm] = ACTIONS(1338), + [anon_sym___asm__] = ACTIONS(1338), + [sym__number_literal] = ACTIONS(1340), + [anon_sym_L_SQUOTE] = ACTIONS(1340), + [anon_sym_u_SQUOTE] = ACTIONS(1340), + [anon_sym_U_SQUOTE] = ACTIONS(1340), + [anon_sym_u8_SQUOTE] = ACTIONS(1340), + [anon_sym_SQUOTE] = ACTIONS(1340), + [anon_sym_L_DQUOTE] = ACTIONS(1340), + [anon_sym_u_DQUOTE] = ACTIONS(1340), + [anon_sym_U_DQUOTE] = ACTIONS(1340), + [anon_sym_u8_DQUOTE] = ACTIONS(1340), + [anon_sym_DQUOTE] = ACTIONS(1340), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1338), + [anon_sym_nullptr] = ACTIONS(1338), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1340), + }, + [143] = { + [sym__identifier] = ACTIONS(1342), + [aux_sym_preproc_include_token1] = ACTIONS(1342), + [aux_sym_preproc_def_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token2] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1342), + [aux_sym_preproc_else_token1] = ACTIONS(1342), + [aux_sym_preproc_elif_token1] = ACTIONS(1342), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1342), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1342), + [sym_preproc_directive] = ACTIONS(1342), + [anon_sym_LPAREN2] = ACTIONS(1344), + [anon_sym_BANG] = ACTIONS(1344), + [anon_sym_TILDE] = ACTIONS(1344), + [anon_sym_DASH] = ACTIONS(1342), + [anon_sym_PLUS] = ACTIONS(1342), + [anon_sym_STAR] = ACTIONS(1344), + [anon_sym_AMP] = ACTIONS(1344), + [anon_sym_SEMI] = ACTIONS(1344), + [anon_sym___extension__] = ACTIONS(1342), + [anon_sym_typedef] = ACTIONS(1342), + [anon_sym_extern] = ACTIONS(1342), + [anon_sym___attribute__] = ACTIONS(1342), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1344), + [anon_sym___declspec] = ACTIONS(1342), + [anon_sym___cdecl] = ACTIONS(1342), + [anon_sym___clrcall] = ACTIONS(1342), + [anon_sym___stdcall] = ACTIONS(1342), + [anon_sym___fastcall] = ACTIONS(1342), + [anon_sym___thiscall] = ACTIONS(1342), + [anon_sym___vectorcall] = ACTIONS(1342), + [anon_sym_LBRACE] = ACTIONS(1344), + [anon_sym_signed] = ACTIONS(1342), + [anon_sym_unsigned] = ACTIONS(1342), + [anon_sym_long] = ACTIONS(1342), + [anon_sym_short] = ACTIONS(1342), + [anon_sym_static] = ACTIONS(1342), + [anon_sym_auto] = ACTIONS(1342), + [anon_sym_register] = ACTIONS(1342), + [anon_sym_inline] = ACTIONS(1342), + [anon_sym___inline] = ACTIONS(1342), + [anon_sym___inline__] = ACTIONS(1342), + [anon_sym___forceinline] = ACTIONS(1342), + [anon_sym_thread_local] = ACTIONS(1342), + [anon_sym___thread] = ACTIONS(1342), + [anon_sym_const] = ACTIONS(1342), + [anon_sym_constexpr] = ACTIONS(1342), + [anon_sym_volatile] = ACTIONS(1342), + [anon_sym_restrict] = ACTIONS(1342), + [anon_sym___restrict__] = ACTIONS(1342), + [anon_sym__Atomic] = ACTIONS(1342), + [anon_sym__Noreturn] = ACTIONS(1342), + [anon_sym_noreturn] = ACTIONS(1342), + [anon_sym_alignas] = ACTIONS(1342), + [anon_sym__Alignas] = ACTIONS(1342), + [sym_primitive_type] = ACTIONS(1342), + [anon_sym_enum] = ACTIONS(1342), + [anon_sym_struct] = ACTIONS(1342), + [anon_sym_union] = ACTIONS(1342), + [anon_sym_if] = ACTIONS(1342), + [anon_sym_switch] = ACTIONS(1342), + [anon_sym_case] = ACTIONS(1342), + [anon_sym_default] = ACTIONS(1342), + [anon_sym_while] = ACTIONS(1342), + [anon_sym_do] = ACTIONS(1342), + [anon_sym_for] = ACTIONS(1342), + [anon_sym_return] = ACTIONS(1342), + [anon_sym_break] = ACTIONS(1342), + [anon_sym_continue] = ACTIONS(1342), + [anon_sym_goto] = ACTIONS(1342), + [anon_sym___try] = ACTIONS(1342), + [anon_sym___leave] = ACTIONS(1342), + [anon_sym_DASH_DASH] = ACTIONS(1344), + [anon_sym_PLUS_PLUS] = ACTIONS(1344), + [anon_sym_sizeof] = ACTIONS(1342), + [anon_sym___alignof__] = ACTIONS(1342), + [anon_sym___alignof] = ACTIONS(1342), + [anon_sym__alignof] = ACTIONS(1342), + [anon_sym_alignof] = ACTIONS(1342), + [anon_sym__Alignof] = ACTIONS(1342), + [anon_sym_offsetof] = ACTIONS(1342), + [anon_sym__Generic] = ACTIONS(1342), + [anon_sym_asm] = ACTIONS(1342), + [anon_sym___asm__] = ACTIONS(1342), + [sym__number_literal] = ACTIONS(1344), + [anon_sym_L_SQUOTE] = ACTIONS(1344), + [anon_sym_u_SQUOTE] = ACTIONS(1344), + [anon_sym_U_SQUOTE] = ACTIONS(1344), + [anon_sym_u8_SQUOTE] = ACTIONS(1344), + [anon_sym_SQUOTE] = ACTIONS(1344), + [anon_sym_L_DQUOTE] = ACTIONS(1344), + [anon_sym_u_DQUOTE] = ACTIONS(1344), + [anon_sym_U_DQUOTE] = ACTIONS(1344), + [anon_sym_u8_DQUOTE] = ACTIONS(1344), + [anon_sym_DQUOTE] = ACTIONS(1344), + [sym_true] = ACTIONS(1342), + [sym_false] = ACTIONS(1342), + [anon_sym_NULL] = ACTIONS(1342), + [anon_sym_nullptr] = ACTIONS(1342), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + }, + [144] = { + [sym_expression] = STATE(789), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(663), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(676), + [sym__identifier] = ACTIONS(1346), + [anon_sym_COMMA] = ACTIONS(1348), + [aux_sym_preproc_if_token2] = ACTIONS(1348), + [aux_sym_preproc_else_token1] = ACTIONS(1348), + [aux_sym_preproc_elif_token1] = ACTIONS(1346), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(1350), + [anon_sym_TILDE] = ACTIONS(1352), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1346), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1346), + [anon_sym_GT_GT] = ACTIONS(1346), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_EQ] = ACTIONS(1346), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_STAR_EQ] = ACTIONS(1348), + [anon_sym_SLASH_EQ] = ACTIONS(1348), + [anon_sym_PERCENT_EQ] = ACTIONS(1348), + [anon_sym_PLUS_EQ] = ACTIONS(1348), + [anon_sym_DASH_EQ] = ACTIONS(1348), + [anon_sym_LT_LT_EQ] = ACTIONS(1348), + [anon_sym_GT_GT_EQ] = ACTIONS(1348), + [anon_sym_AMP_EQ] = ACTIONS(1348), + [anon_sym_CARET_EQ] = ACTIONS(1348), + [anon_sym_PIPE_EQ] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1348), + }, + [145] = { + [sym_expression] = STATE(829), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_COMMA] = ACTIONS(1348), + [anon_sym_RPAREN] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(1358), + [anon_sym_TILDE] = ACTIONS(1360), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1346), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1346), + [anon_sym_GT_GT] = ACTIONS(1346), + [anon_sym_SEMI] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1346), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1348), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_EQ] = ACTIONS(1346), + [anon_sym_COLON] = ACTIONS(1348), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_STAR_EQ] = ACTIONS(1348), + [anon_sym_SLASH_EQ] = ACTIONS(1348), + [anon_sym_PERCENT_EQ] = ACTIONS(1348), + [anon_sym_PLUS_EQ] = ACTIONS(1348), + [anon_sym_DASH_EQ] = ACTIONS(1348), + [anon_sym_LT_LT_EQ] = ACTIONS(1348), + [anon_sym_GT_GT_EQ] = ACTIONS(1348), + [anon_sym_AMP_EQ] = ACTIONS(1348), + [anon_sym_CARET_EQ] = ACTIONS(1348), + [anon_sym_PIPE_EQ] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(1362), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [146] = { + [sym_attribute_declaration] = STATE(146), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(218), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(146), + [sym__identifier] = ACTIONS(1366), + [anon_sym_LPAREN2] = ACTIONS(1369), + [anon_sym_BANG] = ACTIONS(1372), + [anon_sym_TILDE] = ACTIONS(1372), + [anon_sym_DASH] = ACTIONS(1375), + [anon_sym_PLUS] = ACTIONS(1375), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1381), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1384), + [anon_sym_LBRACE] = ACTIONS(1387), + [anon_sym_if] = ACTIONS(1390), + [anon_sym_switch] = ACTIONS(1393), + [anon_sym_case] = ACTIONS(1396), + [anon_sym_default] = ACTIONS(1399), + [anon_sym_while] = ACTIONS(1402), + [anon_sym_do] = ACTIONS(1405), + [anon_sym_for] = ACTIONS(1408), + [anon_sym_return] = ACTIONS(1411), + [anon_sym_break] = ACTIONS(1414), + [anon_sym_continue] = ACTIONS(1417), + [anon_sym_goto] = ACTIONS(1420), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1426), + [anon_sym_DASH_DASH] = ACTIONS(1429), + [anon_sym_PLUS_PLUS] = ACTIONS(1429), + [anon_sym_sizeof] = ACTIONS(1432), + [anon_sym___alignof__] = ACTIONS(1435), + [anon_sym___alignof] = ACTIONS(1435), + [anon_sym__alignof] = ACTIONS(1435), + [anon_sym_alignof] = ACTIONS(1435), + [anon_sym__Alignof] = ACTIONS(1435), + [anon_sym_offsetof] = ACTIONS(1438), + [anon_sym__Generic] = ACTIONS(1441), + [anon_sym_asm] = ACTIONS(1444), + [anon_sym___asm__] = ACTIONS(1444), + [sym__number_literal] = ACTIONS(1447), + [anon_sym_L_SQUOTE] = ACTIONS(1450), + [anon_sym_u_SQUOTE] = ACTIONS(1450), + [anon_sym_U_SQUOTE] = ACTIONS(1450), + [anon_sym_u8_SQUOTE] = ACTIONS(1450), + [anon_sym_SQUOTE] = ACTIONS(1450), + [anon_sym_L_DQUOTE] = ACTIONS(1453), + [anon_sym_u_DQUOTE] = ACTIONS(1453), + [anon_sym_U_DQUOTE] = ACTIONS(1453), + [anon_sym_u8_DQUOTE] = ACTIONS(1453), + [anon_sym_DQUOTE] = ACTIONS(1453), + [sym_true] = ACTIONS(1456), + [sym_false] = ACTIONS(1456), + [anon_sym_NULL] = ACTIONS(1459), + [anon_sym_nullptr] = ACTIONS(1459), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1462), + }, + [147] = { + [sym_attribute_declaration] = STATE(147), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(102), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(147), + [sym__identifier] = ACTIONS(1366), + [anon_sym_LPAREN2] = ACTIONS(1369), + [anon_sym_BANG] = ACTIONS(1372), + [anon_sym_TILDE] = ACTIONS(1372), + [anon_sym_DASH] = ACTIONS(1375), + [anon_sym_PLUS] = ACTIONS(1375), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1465), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1384), + [anon_sym_LBRACE] = ACTIONS(1468), + [anon_sym_if] = ACTIONS(1471), + [anon_sym_switch] = ACTIONS(1474), + [anon_sym_case] = ACTIONS(1477), + [anon_sym_default] = ACTIONS(1480), + [anon_sym_while] = ACTIONS(1483), + [anon_sym_do] = ACTIONS(1486), + [anon_sym_for] = ACTIONS(1489), + [anon_sym_return] = ACTIONS(1492), + [anon_sym_break] = ACTIONS(1495), + [anon_sym_continue] = ACTIONS(1498), + [anon_sym_goto] = ACTIONS(1501), + [anon_sym___try] = ACTIONS(1504), + [anon_sym___leave] = ACTIONS(1507), + [anon_sym_DASH_DASH] = ACTIONS(1429), + [anon_sym_PLUS_PLUS] = ACTIONS(1429), + [anon_sym_sizeof] = ACTIONS(1432), + [anon_sym___alignof__] = ACTIONS(1435), + [anon_sym___alignof] = ACTIONS(1435), + [anon_sym__alignof] = ACTIONS(1435), + [anon_sym_alignof] = ACTIONS(1435), + [anon_sym__Alignof] = ACTIONS(1435), + [anon_sym_offsetof] = ACTIONS(1438), + [anon_sym__Generic] = ACTIONS(1441), + [anon_sym_asm] = ACTIONS(1444), + [anon_sym___asm__] = ACTIONS(1444), + [sym__number_literal] = ACTIONS(1447), + [anon_sym_L_SQUOTE] = ACTIONS(1450), + [anon_sym_u_SQUOTE] = ACTIONS(1450), + [anon_sym_U_SQUOTE] = ACTIONS(1450), + [anon_sym_u8_SQUOTE] = ACTIONS(1450), + [anon_sym_SQUOTE] = ACTIONS(1450), + [anon_sym_L_DQUOTE] = ACTIONS(1453), + [anon_sym_u_DQUOTE] = ACTIONS(1453), + [anon_sym_U_DQUOTE] = ACTIONS(1453), + [anon_sym_u8_DQUOTE] = ACTIONS(1453), + [anon_sym_DQUOTE] = ACTIONS(1453), + [sym_true] = ACTIONS(1456), + [sym_false] = ACTIONS(1456), + [anon_sym_NULL] = ACTIONS(1459), + [anon_sym_nullptr] = ACTIONS(1459), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1462), + }, + [148] = { + [sym_attribute_declaration] = STATE(178), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(239), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [149] = { + [sym_attribute_declaration] = STATE(187), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(195), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(187), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [150] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(203), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [151] = { + [sym_attribute_declaration] = STATE(182), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(241), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [152] = { + [sym_attribute_declaration] = STATE(174), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(114), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [153] = { + [sym_attribute_declaration] = STATE(149), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(225), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [154] = { + [sym_attribute_declaration] = STATE(166), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(195), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(166), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [155] = { + [sym_attribute_declaration] = STATE(178), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(177), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [156] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(411), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [157] = { + [sym_attribute_declaration] = STATE(178), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(208), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [158] = { + [sym_attribute_declaration] = STATE(178), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(215), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [159] = { + [sym_else_clause] = STATE(249), + [ts_builtin_sym_end] = ACTIONS(1096), + [sym__identifier] = ACTIONS(1094), + [aux_sym_preproc_include_token1] = ACTIONS(1094), + [aux_sym_preproc_def_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1094), + [sym_preproc_directive] = ACTIONS(1094), + [anon_sym_LPAREN2] = ACTIONS(1096), + [anon_sym_BANG] = ACTIONS(1096), + [anon_sym_TILDE] = ACTIONS(1096), + [anon_sym_DASH] = ACTIONS(1094), + [anon_sym_PLUS] = ACTIONS(1094), + [anon_sym_STAR] = ACTIONS(1096), + [anon_sym_AMP] = ACTIONS(1096), + [anon_sym_SEMI] = ACTIONS(1096), + [anon_sym___extension__] = ACTIONS(1094), + [anon_sym_typedef] = ACTIONS(1094), + [anon_sym_extern] = ACTIONS(1094), + [anon_sym___attribute__] = ACTIONS(1094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1096), + [anon_sym___declspec] = ACTIONS(1094), + [anon_sym___cdecl] = ACTIONS(1094), + [anon_sym___clrcall] = ACTIONS(1094), + [anon_sym___stdcall] = ACTIONS(1094), + [anon_sym___fastcall] = ACTIONS(1094), + [anon_sym___thiscall] = ACTIONS(1094), + [anon_sym___vectorcall] = ACTIONS(1094), + [anon_sym_LBRACE] = ACTIONS(1096), + [anon_sym_signed] = ACTIONS(1094), + [anon_sym_unsigned] = ACTIONS(1094), + [anon_sym_long] = ACTIONS(1094), + [anon_sym_short] = ACTIONS(1094), + [anon_sym_static] = ACTIONS(1094), + [anon_sym_auto] = ACTIONS(1094), + [anon_sym_register] = ACTIONS(1094), + [anon_sym_inline] = ACTIONS(1094), + [anon_sym___inline] = ACTIONS(1094), + [anon_sym___inline__] = ACTIONS(1094), + [anon_sym___forceinline] = ACTIONS(1094), + [anon_sym_thread_local] = ACTIONS(1094), + [anon_sym___thread] = ACTIONS(1094), + [anon_sym_const] = ACTIONS(1094), + [anon_sym_constexpr] = ACTIONS(1094), + [anon_sym_volatile] = ACTIONS(1094), + [anon_sym_restrict] = ACTIONS(1094), + [anon_sym___restrict__] = ACTIONS(1094), + [anon_sym__Atomic] = ACTIONS(1094), + [anon_sym__Noreturn] = ACTIONS(1094), + [anon_sym_noreturn] = ACTIONS(1094), + [anon_sym_alignas] = ACTIONS(1094), + [anon_sym__Alignas] = ACTIONS(1094), + [sym_primitive_type] = ACTIONS(1094), + [anon_sym_enum] = ACTIONS(1094), + [anon_sym_struct] = ACTIONS(1094), + [anon_sym_union] = ACTIONS(1094), + [anon_sym_if] = ACTIONS(1094), + [anon_sym_else] = ACTIONS(1518), + [anon_sym_switch] = ACTIONS(1094), + [anon_sym_case] = ACTIONS(1094), + [anon_sym_default] = ACTIONS(1094), + [anon_sym_while] = ACTIONS(1094), + [anon_sym_do] = ACTIONS(1094), + [anon_sym_for] = ACTIONS(1094), + [anon_sym_return] = ACTIONS(1094), + [anon_sym_break] = ACTIONS(1094), + [anon_sym_continue] = ACTIONS(1094), + [anon_sym_goto] = ACTIONS(1094), + [anon_sym___try] = ACTIONS(1094), + [anon_sym___leave] = ACTIONS(1094), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1094), + [anon_sym___alignof__] = ACTIONS(1094), + [anon_sym___alignof] = ACTIONS(1094), + [anon_sym__alignof] = ACTIONS(1094), + [anon_sym_alignof] = ACTIONS(1094), + [anon_sym__Alignof] = ACTIONS(1094), + [anon_sym_offsetof] = ACTIONS(1094), + [anon_sym__Generic] = ACTIONS(1094), + [anon_sym_asm] = ACTIONS(1094), + [anon_sym___asm__] = ACTIONS(1094), + [sym__number_literal] = ACTIONS(1096), + [anon_sym_L_SQUOTE] = ACTIONS(1096), + [anon_sym_u_SQUOTE] = ACTIONS(1096), + [anon_sym_U_SQUOTE] = ACTIONS(1096), + [anon_sym_u8_SQUOTE] = ACTIONS(1096), + [anon_sym_SQUOTE] = ACTIONS(1096), + [anon_sym_L_DQUOTE] = ACTIONS(1096), + [anon_sym_u_DQUOTE] = ACTIONS(1096), + [anon_sym_U_DQUOTE] = ACTIONS(1096), + [anon_sym_u8_DQUOTE] = ACTIONS(1096), + [anon_sym_DQUOTE] = ACTIONS(1096), + [sym_true] = ACTIONS(1094), + [sym_false] = ACTIONS(1094), + [anon_sym_NULL] = ACTIONS(1094), + [anon_sym_nullptr] = ACTIONS(1094), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1096), + }, + [160] = { + [sym_attribute_declaration] = STATE(182), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(279), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [161] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(225), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [162] = { + [sym_attribute_declaration] = STATE(174), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(97), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [163] = { + [sym_attribute_declaration] = STATE(149), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(280), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [164] = { + [sym_attribute_declaration] = STATE(174), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(94), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [165] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(280), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [166] = { + [sym_attribute_declaration] = STATE(166), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(195), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(166), + [sym__identifier] = ACTIONS(1366), + [anon_sym_LPAREN2] = ACTIONS(1369), + [anon_sym_BANG] = ACTIONS(1372), + [anon_sym_TILDE] = ACTIONS(1372), + [anon_sym_DASH] = ACTIONS(1375), + [anon_sym_PLUS] = ACTIONS(1375), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1520), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1384), + [anon_sym_LBRACE] = ACTIONS(1523), + [anon_sym_if] = ACTIONS(1526), + [anon_sym_switch] = ACTIONS(1529), + [anon_sym_case] = ACTIONS(1532), + [anon_sym_default] = ACTIONS(1535), + [anon_sym_while] = ACTIONS(1538), + [anon_sym_do] = ACTIONS(1541), + [anon_sym_for] = ACTIONS(1544), + [anon_sym_return] = ACTIONS(1547), + [anon_sym_break] = ACTIONS(1550), + [anon_sym_continue] = ACTIONS(1553), + [anon_sym_goto] = ACTIONS(1556), + [anon_sym___try] = ACTIONS(1559), + [anon_sym___leave] = ACTIONS(1562), + [anon_sym_DASH_DASH] = ACTIONS(1429), + [anon_sym_PLUS_PLUS] = ACTIONS(1429), + [anon_sym_sizeof] = ACTIONS(1432), + [anon_sym___alignof__] = ACTIONS(1435), + [anon_sym___alignof] = ACTIONS(1435), + [anon_sym__alignof] = ACTIONS(1435), + [anon_sym_alignof] = ACTIONS(1435), + [anon_sym__Alignof] = ACTIONS(1435), + [anon_sym_offsetof] = ACTIONS(1438), + [anon_sym__Generic] = ACTIONS(1441), + [anon_sym_asm] = ACTIONS(1444), + [anon_sym___asm__] = ACTIONS(1444), + [sym__number_literal] = ACTIONS(1447), + [anon_sym_L_SQUOTE] = ACTIONS(1450), + [anon_sym_u_SQUOTE] = ACTIONS(1450), + [anon_sym_U_SQUOTE] = ACTIONS(1450), + [anon_sym_u8_SQUOTE] = ACTIONS(1450), + [anon_sym_SQUOTE] = ACTIONS(1450), + [anon_sym_L_DQUOTE] = ACTIONS(1453), + [anon_sym_u_DQUOTE] = ACTIONS(1453), + [anon_sym_U_DQUOTE] = ACTIONS(1453), + [anon_sym_u8_DQUOTE] = ACTIONS(1453), + [anon_sym_DQUOTE] = ACTIONS(1453), + [sym_true] = ACTIONS(1456), + [sym_false] = ACTIONS(1456), + [anon_sym_NULL] = ACTIONS(1459), + [anon_sym_nullptr] = ACTIONS(1459), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1462), + }, + [167] = { + [sym_else_clause] = STATE(254), + [sym__identifier] = ACTIONS(1094), + [aux_sym_preproc_include_token1] = ACTIONS(1094), + [aux_sym_preproc_def_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1094), + [sym_preproc_directive] = ACTIONS(1094), + [anon_sym_LPAREN2] = ACTIONS(1096), + [anon_sym_BANG] = ACTIONS(1096), + [anon_sym_TILDE] = ACTIONS(1096), + [anon_sym_DASH] = ACTIONS(1094), + [anon_sym_PLUS] = ACTIONS(1094), + [anon_sym_STAR] = ACTIONS(1096), + [anon_sym_AMP] = ACTIONS(1096), + [anon_sym_SEMI] = ACTIONS(1096), + [anon_sym___extension__] = ACTIONS(1094), + [anon_sym_typedef] = ACTIONS(1094), + [anon_sym_extern] = ACTIONS(1094), + [anon_sym___attribute__] = ACTIONS(1094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1096), + [anon_sym___declspec] = ACTIONS(1094), + [anon_sym___cdecl] = ACTIONS(1094), + [anon_sym___clrcall] = ACTIONS(1094), + [anon_sym___stdcall] = ACTIONS(1094), + [anon_sym___fastcall] = ACTIONS(1094), + [anon_sym___thiscall] = ACTIONS(1094), + [anon_sym___vectorcall] = ACTIONS(1094), + [anon_sym_LBRACE] = ACTIONS(1096), + [anon_sym_RBRACE] = ACTIONS(1096), + [anon_sym_signed] = ACTIONS(1094), + [anon_sym_unsigned] = ACTIONS(1094), + [anon_sym_long] = ACTIONS(1094), + [anon_sym_short] = ACTIONS(1094), + [anon_sym_static] = ACTIONS(1094), + [anon_sym_auto] = ACTIONS(1094), + [anon_sym_register] = ACTIONS(1094), + [anon_sym_inline] = ACTIONS(1094), + [anon_sym___inline] = ACTIONS(1094), + [anon_sym___inline__] = ACTIONS(1094), + [anon_sym___forceinline] = ACTIONS(1094), + [anon_sym_thread_local] = ACTIONS(1094), + [anon_sym___thread] = ACTIONS(1094), + [anon_sym_const] = ACTIONS(1094), + [anon_sym_constexpr] = ACTIONS(1094), + [anon_sym_volatile] = ACTIONS(1094), + [anon_sym_restrict] = ACTIONS(1094), + [anon_sym___restrict__] = ACTIONS(1094), + [anon_sym__Atomic] = ACTIONS(1094), + [anon_sym__Noreturn] = ACTIONS(1094), + [anon_sym_noreturn] = ACTIONS(1094), + [anon_sym_alignas] = ACTIONS(1094), + [anon_sym__Alignas] = ACTIONS(1094), + [sym_primitive_type] = ACTIONS(1094), + [anon_sym_enum] = ACTIONS(1094), + [anon_sym_struct] = ACTIONS(1094), + [anon_sym_union] = ACTIONS(1094), + [anon_sym_if] = ACTIONS(1094), + [anon_sym_else] = ACTIONS(1565), + [anon_sym_switch] = ACTIONS(1094), + [anon_sym_case] = ACTIONS(1094), + [anon_sym_default] = ACTIONS(1094), + [anon_sym_while] = ACTIONS(1094), + [anon_sym_do] = ACTIONS(1094), + [anon_sym_for] = ACTIONS(1094), + [anon_sym_return] = ACTIONS(1094), + [anon_sym_break] = ACTIONS(1094), + [anon_sym_continue] = ACTIONS(1094), + [anon_sym_goto] = ACTIONS(1094), + [anon_sym___try] = ACTIONS(1094), + [anon_sym___leave] = ACTIONS(1094), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1094), + [anon_sym___alignof__] = ACTIONS(1094), + [anon_sym___alignof] = ACTIONS(1094), + [anon_sym__alignof] = ACTIONS(1094), + [anon_sym_alignof] = ACTIONS(1094), + [anon_sym__Alignof] = ACTIONS(1094), + [anon_sym_offsetof] = ACTIONS(1094), + [anon_sym__Generic] = ACTIONS(1094), + [anon_sym_asm] = ACTIONS(1094), + [anon_sym___asm__] = ACTIONS(1094), + [sym__number_literal] = ACTIONS(1096), + [anon_sym_L_SQUOTE] = ACTIONS(1096), + [anon_sym_u_SQUOTE] = ACTIONS(1096), + [anon_sym_U_SQUOTE] = ACTIONS(1096), + [anon_sym_u8_SQUOTE] = ACTIONS(1096), + [anon_sym_SQUOTE] = ACTIONS(1096), + [anon_sym_L_DQUOTE] = ACTIONS(1096), + [anon_sym_u_DQUOTE] = ACTIONS(1096), + [anon_sym_U_DQUOTE] = ACTIONS(1096), + [anon_sym_u8_DQUOTE] = ACTIONS(1096), + [anon_sym_DQUOTE] = ACTIONS(1096), + [sym_true] = ACTIONS(1094), + [sym_false] = ACTIONS(1094), + [anon_sym_NULL] = ACTIONS(1094), + [anon_sym_nullptr] = ACTIONS(1094), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1096), + }, + [168] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(201), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [169] = { + [sym_attribute_declaration] = STATE(178), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(189), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(178), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [170] = { + [sym_attribute_declaration] = STATE(170), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(229), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(170), + [sym__identifier] = ACTIONS(1366), + [anon_sym_LPAREN2] = ACTIONS(1369), + [anon_sym_BANG] = ACTIONS(1372), + [anon_sym_TILDE] = ACTIONS(1372), + [anon_sym_DASH] = ACTIONS(1375), + [anon_sym_PLUS] = ACTIONS(1375), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1520), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1384), + [anon_sym_LBRACE] = ACTIONS(1567), + [anon_sym_if] = ACTIONS(1570), + [anon_sym_switch] = ACTIONS(1573), + [anon_sym_case] = ACTIONS(1576), + [anon_sym_default] = ACTIONS(1579), + [anon_sym_while] = ACTIONS(1582), + [anon_sym_do] = ACTIONS(1585), + [anon_sym_for] = ACTIONS(1588), + [anon_sym_return] = ACTIONS(1591), + [anon_sym_break] = ACTIONS(1594), + [anon_sym_continue] = ACTIONS(1597), + [anon_sym_goto] = ACTIONS(1600), + [anon_sym___try] = ACTIONS(1603), + [anon_sym___leave] = ACTIONS(1562), + [anon_sym_DASH_DASH] = ACTIONS(1429), + [anon_sym_PLUS_PLUS] = ACTIONS(1429), + [anon_sym_sizeof] = ACTIONS(1432), + [anon_sym___alignof__] = ACTIONS(1435), + [anon_sym___alignof] = ACTIONS(1435), + [anon_sym__alignof] = ACTIONS(1435), + [anon_sym_alignof] = ACTIONS(1435), + [anon_sym__Alignof] = ACTIONS(1435), + [anon_sym_offsetof] = ACTIONS(1438), + [anon_sym__Generic] = ACTIONS(1441), + [anon_sym_asm] = ACTIONS(1444), + [anon_sym___asm__] = ACTIONS(1444), + [sym__number_literal] = ACTIONS(1447), + [anon_sym_L_SQUOTE] = ACTIONS(1450), + [anon_sym_u_SQUOTE] = ACTIONS(1450), + [anon_sym_U_SQUOTE] = ACTIONS(1450), + [anon_sym_u8_SQUOTE] = ACTIONS(1450), + [anon_sym_SQUOTE] = ACTIONS(1450), + [anon_sym_L_DQUOTE] = ACTIONS(1453), + [anon_sym_u_DQUOTE] = ACTIONS(1453), + [anon_sym_U_DQUOTE] = ACTIONS(1453), + [anon_sym_u8_DQUOTE] = ACTIONS(1453), + [anon_sym_DQUOTE] = ACTIONS(1453), + [sym_true] = ACTIONS(1456), + [sym_false] = ACTIONS(1456), + [anon_sym_NULL] = ACTIONS(1459), + [anon_sym_nullptr] = ACTIONS(1459), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1462), + }, + [171] = { + [sym_attribute_declaration] = STATE(182), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(251), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [172] = { + [sym_attribute_declaration] = STATE(182), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(234), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [173] = { + [sym_attribute_declaration] = STATE(182), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(167), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(182), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [174] = { + [sym_attribute_declaration] = STATE(147), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(102), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(147), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [175] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(1873), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [176] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(2011), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [177] = { + [sym_else_clause] = STATE(223), + [sym__identifier] = ACTIONS(1094), + [aux_sym_preproc_include_token1] = ACTIONS(1094), + [aux_sym_preproc_def_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token1] = ACTIONS(1094), + [aux_sym_preproc_if_token2] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1094), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1094), + [sym_preproc_directive] = ACTIONS(1094), + [anon_sym_LPAREN2] = ACTIONS(1096), + [anon_sym_BANG] = ACTIONS(1096), + [anon_sym_TILDE] = ACTIONS(1096), + [anon_sym_DASH] = ACTIONS(1094), + [anon_sym_PLUS] = ACTIONS(1094), + [anon_sym_STAR] = ACTIONS(1096), + [anon_sym_AMP] = ACTIONS(1096), + [anon_sym_SEMI] = ACTIONS(1096), + [anon_sym___extension__] = ACTIONS(1094), + [anon_sym_typedef] = ACTIONS(1094), + [anon_sym_extern] = ACTIONS(1094), + [anon_sym___attribute__] = ACTIONS(1094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1096), + [anon_sym___declspec] = ACTIONS(1094), + [anon_sym___cdecl] = ACTIONS(1094), + [anon_sym___clrcall] = ACTIONS(1094), + [anon_sym___stdcall] = ACTIONS(1094), + [anon_sym___fastcall] = ACTIONS(1094), + [anon_sym___thiscall] = ACTIONS(1094), + [anon_sym___vectorcall] = ACTIONS(1094), + [anon_sym_LBRACE] = ACTIONS(1096), + [anon_sym_signed] = ACTIONS(1094), + [anon_sym_unsigned] = ACTIONS(1094), + [anon_sym_long] = ACTIONS(1094), + [anon_sym_short] = ACTIONS(1094), + [anon_sym_static] = ACTIONS(1094), + [anon_sym_auto] = ACTIONS(1094), + [anon_sym_register] = ACTIONS(1094), + [anon_sym_inline] = ACTIONS(1094), + [anon_sym___inline] = ACTIONS(1094), + [anon_sym___inline__] = ACTIONS(1094), + [anon_sym___forceinline] = ACTIONS(1094), + [anon_sym_thread_local] = ACTIONS(1094), + [anon_sym___thread] = ACTIONS(1094), + [anon_sym_const] = ACTIONS(1094), + [anon_sym_constexpr] = ACTIONS(1094), + [anon_sym_volatile] = ACTIONS(1094), + [anon_sym_restrict] = ACTIONS(1094), + [anon_sym___restrict__] = ACTIONS(1094), + [anon_sym__Atomic] = ACTIONS(1094), + [anon_sym__Noreturn] = ACTIONS(1094), + [anon_sym_noreturn] = ACTIONS(1094), + [anon_sym_alignas] = ACTIONS(1094), + [anon_sym__Alignas] = ACTIONS(1094), + [sym_primitive_type] = ACTIONS(1094), + [anon_sym_enum] = ACTIONS(1094), + [anon_sym_struct] = ACTIONS(1094), + [anon_sym_union] = ACTIONS(1094), + [anon_sym_if] = ACTIONS(1094), + [anon_sym_else] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1094), + [anon_sym_case] = ACTIONS(1094), + [anon_sym_default] = ACTIONS(1094), + [anon_sym_while] = ACTIONS(1094), + [anon_sym_do] = ACTIONS(1094), + [anon_sym_for] = ACTIONS(1094), + [anon_sym_return] = ACTIONS(1094), + [anon_sym_break] = ACTIONS(1094), + [anon_sym_continue] = ACTIONS(1094), + [anon_sym_goto] = ACTIONS(1094), + [anon_sym___try] = ACTIONS(1094), + [anon_sym___leave] = ACTIONS(1094), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1094), + [anon_sym___alignof__] = ACTIONS(1094), + [anon_sym___alignof] = ACTIONS(1094), + [anon_sym__alignof] = ACTIONS(1094), + [anon_sym_alignof] = ACTIONS(1094), + [anon_sym__Alignof] = ACTIONS(1094), + [anon_sym_offsetof] = ACTIONS(1094), + [anon_sym__Generic] = ACTIONS(1094), + [anon_sym_asm] = ACTIONS(1094), + [anon_sym___asm__] = ACTIONS(1094), + [sym__number_literal] = ACTIONS(1096), + [anon_sym_L_SQUOTE] = ACTIONS(1096), + [anon_sym_u_SQUOTE] = ACTIONS(1096), + [anon_sym_U_SQUOTE] = ACTIONS(1096), + [anon_sym_u8_SQUOTE] = ACTIONS(1096), + [anon_sym_SQUOTE] = ACTIONS(1096), + [anon_sym_L_DQUOTE] = ACTIONS(1096), + [anon_sym_u_DQUOTE] = ACTIONS(1096), + [anon_sym_U_DQUOTE] = ACTIONS(1096), + [anon_sym_u8_DQUOTE] = ACTIONS(1096), + [anon_sym_DQUOTE] = ACTIONS(1096), + [sym_true] = ACTIONS(1094), + [sym_false] = ACTIONS(1094), + [anon_sym_NULL] = ACTIONS(1094), + [anon_sym_nullptr] = ACTIONS(1094), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1096), + }, + [178] = { + [sym_attribute_declaration] = STATE(146), + [sym_compound_statement] = STATE(194), + [sym_attributed_statement] = STATE(194), + [sym_statement] = STATE(218), + [sym_labeled_statement] = STATE(194), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(194), + [sym_switch_statement] = STATE(194), + [sym_case_statement] = STATE(194), + [sym_while_statement] = STATE(194), + [sym_do_statement] = STATE(194), + [sym_for_statement] = STATE(194), + [sym_return_statement] = STATE(194), + [sym_break_statement] = STATE(194), + [sym_continue_statement] = STATE(194), + [sym_goto_statement] = STATE(194), + [sym_seh_try_statement] = STATE(194), + [sym_seh_leave_statement] = STATE(194), + [sym_expression] = STATE(1028), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1905), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(724), + [aux_sym_attributed_declarator_repeat1] = STATE(146), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(419), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(427), + [anon_sym_if] = ACTIONS(429), + [anon_sym_switch] = ACTIONS(431), + [anon_sym_case] = ACTIONS(433), + [anon_sym_default] = ACTIONS(435), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(439), + [anon_sym_for] = ACTIONS(441), + [anon_sym_return] = ACTIONS(443), + [anon_sym_break] = ACTIONS(445), + [anon_sym_continue] = ACTIONS(447), + [anon_sym_goto] = ACTIONS(449), + [anon_sym___try] = ACTIONS(451), + [anon_sym___leave] = ACTIONS(453), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [179] = { + [sym_attribute_declaration] = STATE(149), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(159), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [180] = { + [sym_attribute_declaration] = STATE(174), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(96), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [181] = { + [sym_attribute_declaration] = STATE(174), + [sym_compound_statement] = STATE(89), + [sym_attributed_statement] = STATE(89), + [sym_statement] = STATE(76), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_case_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(1052), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2006), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(717), + [aux_sym_attributed_declarator_repeat1] = STATE(174), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(123), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(131), + [anon_sym_if] = ACTIONS(133), + [anon_sym_switch] = ACTIONS(135), + [anon_sym_case] = ACTIONS(137), + [anon_sym_default] = ACTIONS(139), + [anon_sym_while] = ACTIONS(141), + [anon_sym_do] = ACTIONS(143), + [anon_sym_for] = ACTIONS(145), + [anon_sym_return] = ACTIONS(147), + [anon_sym_break] = ACTIONS(149), + [anon_sym_continue] = ACTIONS(151), + [anon_sym_goto] = ACTIONS(153), + [anon_sym___try] = ACTIONS(155), + [anon_sym___leave] = ACTIONS(157), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [182] = { + [sym_attribute_declaration] = STATE(170), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(229), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(728), + [aux_sym_attributed_declarator_repeat1] = STATE(170), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(375), + [anon_sym_if] = ACTIONS(379), + [anon_sym_switch] = ACTIONS(381), + [anon_sym_case] = ACTIONS(383), + [anon_sym_default] = ACTIONS(385), + [anon_sym_while] = ACTIONS(387), + [anon_sym_do] = ACTIONS(389), + [anon_sym_for] = ACTIONS(391), + [anon_sym_return] = ACTIONS(393), + [anon_sym_break] = ACTIONS(395), + [anon_sym_continue] = ACTIONS(397), + [anon_sym_goto] = ACTIONS(399), + [anon_sym___try] = ACTIONS(401), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [183] = { + [sym_attribute_declaration] = STATE(149), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(203), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [184] = { + [sym_attribute_declaration] = STATE(149), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(201), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(149), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(59), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(63), + [anon_sym_default] = ACTIONS(65), + [anon_sym_while] = ACTIONS(67), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(71), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1013), + [anon_sym___leave] = ACTIONS(1015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [185] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(1987), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [186] = { + [sym_attribute_declaration] = STATE(154), + [sym_compound_statement] = STATE(275), + [sym_attributed_statement] = STATE(275), + [sym_statement] = STATE(2001), + [sym_labeled_statement] = STATE(275), + [sym_expression_statement] = STATE(275), + [sym_if_statement] = STATE(275), + [sym_switch_statement] = STATE(275), + [sym_case_statement] = STATE(275), + [sym_while_statement] = STATE(275), + [sym_do_statement] = STATE(275), + [sym_for_statement] = STATE(275), + [sym_return_statement] = STATE(275), + [sym_break_statement] = STATE(275), + [sym_continue_statement] = STATE(275), + [sym_goto_statement] = STATE(275), + [sym_seh_try_statement] = STATE(275), + [sym_seh_leave_statement] = STATE(275), + [sym_expression] = STATE(1061), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1830), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(722), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1510), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(1066), + [anon_sym_switch] = ACTIONS(61), + [anon_sym_case] = ACTIONS(1514), + [anon_sym_default] = ACTIONS(1516), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(69), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(73), + [anon_sym_break] = ACTIONS(75), + [anon_sym_continue] = ACTIONS(77), + [anon_sym_goto] = ACTIONS(79), + [anon_sym___try] = ACTIONS(1072), + [anon_sym___leave] = ACTIONS(403), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [187] = { + [sym_attribute_declaration] = STATE(187), + [sym_compound_statement] = STATE(224), + [sym_attributed_statement] = STATE(224), + [sym_statement] = STATE(195), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym_seh_try_statement] = STATE(224), + [sym_seh_leave_statement] = STATE(224), + [sym_expression] = STATE(1043), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1872), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(729), + [aux_sym_attributed_declarator_repeat1] = STATE(187), + [sym__identifier] = ACTIONS(1366), + [anon_sym_LPAREN2] = ACTIONS(1369), + [anon_sym_BANG] = ACTIONS(1372), + [anon_sym_TILDE] = ACTIONS(1372), + [anon_sym_DASH] = ACTIONS(1375), + [anon_sym_PLUS] = ACTIONS(1375), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1384), + [anon_sym_LBRACE] = ACTIONS(1523), + [anon_sym_if] = ACTIONS(1611), + [anon_sym_switch] = ACTIONS(1529), + [anon_sym_case] = ACTIONS(1614), + [anon_sym_default] = ACTIONS(1617), + [anon_sym_while] = ACTIONS(1620), + [anon_sym_do] = ACTIONS(1541), + [anon_sym_for] = ACTIONS(1623), + [anon_sym_return] = ACTIONS(1547), + [anon_sym_break] = ACTIONS(1550), + [anon_sym_continue] = ACTIONS(1553), + [anon_sym_goto] = ACTIONS(1556), + [anon_sym___try] = ACTIONS(1626), + [anon_sym___leave] = ACTIONS(1629), + [anon_sym_DASH_DASH] = ACTIONS(1429), + [anon_sym_PLUS_PLUS] = ACTIONS(1429), + [anon_sym_sizeof] = ACTIONS(1432), + [anon_sym___alignof__] = ACTIONS(1435), + [anon_sym___alignof] = ACTIONS(1435), + [anon_sym__alignof] = ACTIONS(1435), + [anon_sym_alignof] = ACTIONS(1435), + [anon_sym__Alignof] = ACTIONS(1435), + [anon_sym_offsetof] = ACTIONS(1438), + [anon_sym__Generic] = ACTIONS(1441), + [anon_sym_asm] = ACTIONS(1444), + [anon_sym___asm__] = ACTIONS(1444), + [sym__number_literal] = ACTIONS(1447), + [anon_sym_L_SQUOTE] = ACTIONS(1450), + [anon_sym_u_SQUOTE] = ACTIONS(1450), + [anon_sym_U_SQUOTE] = ACTIONS(1450), + [anon_sym_u8_SQUOTE] = ACTIONS(1450), + [anon_sym_SQUOTE] = ACTIONS(1450), + [anon_sym_L_DQUOTE] = ACTIONS(1453), + [anon_sym_u_DQUOTE] = ACTIONS(1453), + [anon_sym_U_DQUOTE] = ACTIONS(1453), + [anon_sym_u8_DQUOTE] = ACTIONS(1453), + [anon_sym_DQUOTE] = ACTIONS(1453), + [sym_true] = ACTIONS(1456), + [sym_false] = ACTIONS(1456), + [anon_sym_NULL] = ACTIONS(1459), + [anon_sym_nullptr] = ACTIONS(1459), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1462), + }, + [188] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_RBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [189] = { + [sym__identifier] = ACTIONS(1172), + [aux_sym_preproc_include_token1] = ACTIONS(1172), + [aux_sym_preproc_def_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token2] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1172), + [sym_preproc_directive] = ACTIONS(1172), + [anon_sym_LPAREN2] = ACTIONS(1174), + [anon_sym_BANG] = ACTIONS(1174), + [anon_sym_TILDE] = ACTIONS(1174), + [anon_sym_DASH] = ACTIONS(1172), + [anon_sym_PLUS] = ACTIONS(1172), + [anon_sym_STAR] = ACTIONS(1174), + [anon_sym_AMP] = ACTIONS(1174), + [anon_sym_SEMI] = ACTIONS(1174), + [anon_sym___extension__] = ACTIONS(1172), + [anon_sym_typedef] = ACTIONS(1172), + [anon_sym_extern] = ACTIONS(1172), + [anon_sym___attribute__] = ACTIONS(1172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1174), + [anon_sym___declspec] = ACTIONS(1172), + [anon_sym___cdecl] = ACTIONS(1172), + [anon_sym___clrcall] = ACTIONS(1172), + [anon_sym___stdcall] = ACTIONS(1172), + [anon_sym___fastcall] = ACTIONS(1172), + [anon_sym___thiscall] = ACTIONS(1172), + [anon_sym___vectorcall] = ACTIONS(1172), + [anon_sym_LBRACE] = ACTIONS(1174), + [anon_sym_signed] = ACTIONS(1172), + [anon_sym_unsigned] = ACTIONS(1172), + [anon_sym_long] = ACTIONS(1172), + [anon_sym_short] = ACTIONS(1172), + [anon_sym_static] = ACTIONS(1172), + [anon_sym_auto] = ACTIONS(1172), + [anon_sym_register] = ACTIONS(1172), + [anon_sym_inline] = ACTIONS(1172), + [anon_sym___inline] = ACTIONS(1172), + [anon_sym___inline__] = ACTIONS(1172), + [anon_sym___forceinline] = ACTIONS(1172), + [anon_sym_thread_local] = ACTIONS(1172), + [anon_sym___thread] = ACTIONS(1172), + [anon_sym_const] = ACTIONS(1172), + [anon_sym_constexpr] = ACTIONS(1172), + [anon_sym_volatile] = ACTIONS(1172), + [anon_sym_restrict] = ACTIONS(1172), + [anon_sym___restrict__] = ACTIONS(1172), + [anon_sym__Atomic] = ACTIONS(1172), + [anon_sym__Noreturn] = ACTIONS(1172), + [anon_sym_noreturn] = ACTIONS(1172), + [anon_sym_alignas] = ACTIONS(1172), + [anon_sym__Alignas] = ACTIONS(1172), + [sym_primitive_type] = ACTIONS(1172), + [anon_sym_enum] = ACTIONS(1172), + [anon_sym_struct] = ACTIONS(1172), + [anon_sym_union] = ACTIONS(1172), + [anon_sym_if] = ACTIONS(1172), + [anon_sym_else] = ACTIONS(1172), + [anon_sym_switch] = ACTIONS(1172), + [anon_sym_case] = ACTIONS(1172), + [anon_sym_default] = ACTIONS(1172), + [anon_sym_while] = ACTIONS(1172), + [anon_sym_do] = ACTIONS(1172), + [anon_sym_for] = ACTIONS(1172), + [anon_sym_return] = ACTIONS(1172), + [anon_sym_break] = ACTIONS(1172), + [anon_sym_continue] = ACTIONS(1172), + [anon_sym_goto] = ACTIONS(1172), + [anon_sym___try] = ACTIONS(1172), + [anon_sym___leave] = ACTIONS(1172), + [anon_sym_DASH_DASH] = ACTIONS(1174), + [anon_sym_PLUS_PLUS] = ACTIONS(1174), + [anon_sym_sizeof] = ACTIONS(1172), + [anon_sym___alignof__] = ACTIONS(1172), + [anon_sym___alignof] = ACTIONS(1172), + [anon_sym__alignof] = ACTIONS(1172), + [anon_sym_alignof] = ACTIONS(1172), + [anon_sym__Alignof] = ACTIONS(1172), + [anon_sym_offsetof] = ACTIONS(1172), + [anon_sym__Generic] = ACTIONS(1172), + [anon_sym_asm] = ACTIONS(1172), + [anon_sym___asm__] = ACTIONS(1172), + [sym__number_literal] = ACTIONS(1174), + [anon_sym_L_SQUOTE] = ACTIONS(1174), + [anon_sym_u_SQUOTE] = ACTIONS(1174), + [anon_sym_U_SQUOTE] = ACTIONS(1174), + [anon_sym_u8_SQUOTE] = ACTIONS(1174), + [anon_sym_SQUOTE] = ACTIONS(1174), + [anon_sym_L_DQUOTE] = ACTIONS(1174), + [anon_sym_u_DQUOTE] = ACTIONS(1174), + [anon_sym_U_DQUOTE] = ACTIONS(1174), + [anon_sym_u8_DQUOTE] = ACTIONS(1174), + [anon_sym_DQUOTE] = ACTIONS(1174), + [sym_true] = ACTIONS(1172), + [sym_false] = ACTIONS(1172), + [anon_sym_NULL] = ACTIONS(1172), + [anon_sym_nullptr] = ACTIONS(1172), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1174), + }, + [190] = { + [ts_builtin_sym_end] = ACTIONS(1134), + [sym__identifier] = ACTIONS(1132), + [aux_sym_preproc_include_token1] = ACTIONS(1132), + [aux_sym_preproc_def_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1132), + [sym_preproc_directive] = ACTIONS(1132), + [anon_sym_LPAREN2] = ACTIONS(1134), + [anon_sym_BANG] = ACTIONS(1134), + [anon_sym_TILDE] = ACTIONS(1134), + [anon_sym_DASH] = ACTIONS(1132), + [anon_sym_PLUS] = ACTIONS(1132), + [anon_sym_STAR] = ACTIONS(1134), + [anon_sym_AMP] = ACTIONS(1134), + [anon_sym_SEMI] = ACTIONS(1134), + [anon_sym___extension__] = ACTIONS(1132), + [anon_sym_typedef] = ACTIONS(1132), + [anon_sym_extern] = ACTIONS(1132), + [anon_sym___attribute__] = ACTIONS(1132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1134), + [anon_sym___declspec] = ACTIONS(1132), + [anon_sym___cdecl] = ACTIONS(1132), + [anon_sym___clrcall] = ACTIONS(1132), + [anon_sym___stdcall] = ACTIONS(1132), + [anon_sym___fastcall] = ACTIONS(1132), + [anon_sym___thiscall] = ACTIONS(1132), + [anon_sym___vectorcall] = ACTIONS(1132), + [anon_sym_LBRACE] = ACTIONS(1134), + [anon_sym_signed] = ACTIONS(1132), + [anon_sym_unsigned] = ACTIONS(1132), + [anon_sym_long] = ACTIONS(1132), + [anon_sym_short] = ACTIONS(1132), + [anon_sym_static] = ACTIONS(1132), + [anon_sym_auto] = ACTIONS(1132), + [anon_sym_register] = ACTIONS(1132), + [anon_sym_inline] = ACTIONS(1132), + [anon_sym___inline] = ACTIONS(1132), + [anon_sym___inline__] = ACTIONS(1132), + [anon_sym___forceinline] = ACTIONS(1132), + [anon_sym_thread_local] = ACTIONS(1132), + [anon_sym___thread] = ACTIONS(1132), + [anon_sym_const] = ACTIONS(1132), + [anon_sym_constexpr] = ACTIONS(1132), + [anon_sym_volatile] = ACTIONS(1132), + [anon_sym_restrict] = ACTIONS(1132), + [anon_sym___restrict__] = ACTIONS(1132), + [anon_sym__Atomic] = ACTIONS(1132), + [anon_sym__Noreturn] = ACTIONS(1132), + [anon_sym_noreturn] = ACTIONS(1132), + [anon_sym_alignas] = ACTIONS(1132), + [anon_sym__Alignas] = ACTIONS(1132), + [sym_primitive_type] = ACTIONS(1132), + [anon_sym_enum] = ACTIONS(1132), + [anon_sym_struct] = ACTIONS(1132), + [anon_sym_union] = ACTIONS(1132), + [anon_sym_if] = ACTIONS(1132), + [anon_sym_else] = ACTIONS(1132), + [anon_sym_switch] = ACTIONS(1132), + [anon_sym_case] = ACTIONS(1132), + [anon_sym_default] = ACTIONS(1132), + [anon_sym_while] = ACTIONS(1132), + [anon_sym_do] = ACTIONS(1132), + [anon_sym_for] = ACTIONS(1132), + [anon_sym_return] = ACTIONS(1132), + [anon_sym_break] = ACTIONS(1132), + [anon_sym_continue] = ACTIONS(1132), + [anon_sym_goto] = ACTIONS(1132), + [anon_sym___try] = ACTIONS(1132), + [anon_sym___leave] = ACTIONS(1132), + [anon_sym_DASH_DASH] = ACTIONS(1134), + [anon_sym_PLUS_PLUS] = ACTIONS(1134), + [anon_sym_sizeof] = ACTIONS(1132), + [anon_sym___alignof__] = ACTIONS(1132), + [anon_sym___alignof] = ACTIONS(1132), + [anon_sym__alignof] = ACTIONS(1132), + [anon_sym_alignof] = ACTIONS(1132), + [anon_sym__Alignof] = ACTIONS(1132), + [anon_sym_offsetof] = ACTIONS(1132), + [anon_sym__Generic] = ACTIONS(1132), + [anon_sym_asm] = ACTIONS(1132), + [anon_sym___asm__] = ACTIONS(1132), + [sym__number_literal] = ACTIONS(1134), + [anon_sym_L_SQUOTE] = ACTIONS(1134), + [anon_sym_u_SQUOTE] = ACTIONS(1134), + [anon_sym_U_SQUOTE] = ACTIONS(1134), + [anon_sym_u8_SQUOTE] = ACTIONS(1134), + [anon_sym_SQUOTE] = ACTIONS(1134), + [anon_sym_L_DQUOTE] = ACTIONS(1134), + [anon_sym_u_DQUOTE] = ACTIONS(1134), + [anon_sym_U_DQUOTE] = ACTIONS(1134), + [anon_sym_u8_DQUOTE] = ACTIONS(1134), + [anon_sym_DQUOTE] = ACTIONS(1134), + [sym_true] = ACTIONS(1132), + [sym_false] = ACTIONS(1132), + [anon_sym_NULL] = ACTIONS(1132), + [anon_sym_nullptr] = ACTIONS(1132), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1134), + }, + [191] = { + [sym__identifier] = ACTIONS(1184), + [aux_sym_preproc_include_token1] = ACTIONS(1184), + [aux_sym_preproc_def_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token2] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1184), + [sym_preproc_directive] = ACTIONS(1184), + [anon_sym_LPAREN2] = ACTIONS(1186), + [anon_sym_BANG] = ACTIONS(1186), + [anon_sym_TILDE] = ACTIONS(1186), + [anon_sym_DASH] = ACTIONS(1184), + [anon_sym_PLUS] = ACTIONS(1184), + [anon_sym_STAR] = ACTIONS(1186), + [anon_sym_AMP] = ACTIONS(1186), + [anon_sym_SEMI] = ACTIONS(1186), + [anon_sym___extension__] = ACTIONS(1184), + [anon_sym_typedef] = ACTIONS(1184), + [anon_sym_extern] = ACTIONS(1184), + [anon_sym___attribute__] = ACTIONS(1184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1186), + [anon_sym___declspec] = ACTIONS(1184), + [anon_sym___cdecl] = ACTIONS(1184), + [anon_sym___clrcall] = ACTIONS(1184), + [anon_sym___stdcall] = ACTIONS(1184), + [anon_sym___fastcall] = ACTIONS(1184), + [anon_sym___thiscall] = ACTIONS(1184), + [anon_sym___vectorcall] = ACTIONS(1184), + [anon_sym_LBRACE] = ACTIONS(1186), + [anon_sym_signed] = ACTIONS(1184), + [anon_sym_unsigned] = ACTIONS(1184), + [anon_sym_long] = ACTIONS(1184), + [anon_sym_short] = ACTIONS(1184), + [anon_sym_static] = ACTIONS(1184), + [anon_sym_auto] = ACTIONS(1184), + [anon_sym_register] = ACTIONS(1184), + [anon_sym_inline] = ACTIONS(1184), + [anon_sym___inline] = ACTIONS(1184), + [anon_sym___inline__] = ACTIONS(1184), + [anon_sym___forceinline] = ACTIONS(1184), + [anon_sym_thread_local] = ACTIONS(1184), + [anon_sym___thread] = ACTIONS(1184), + [anon_sym_const] = ACTIONS(1184), + [anon_sym_constexpr] = ACTIONS(1184), + [anon_sym_volatile] = ACTIONS(1184), + [anon_sym_restrict] = ACTIONS(1184), + [anon_sym___restrict__] = ACTIONS(1184), + [anon_sym__Atomic] = ACTIONS(1184), + [anon_sym__Noreturn] = ACTIONS(1184), + [anon_sym_noreturn] = ACTIONS(1184), + [anon_sym_alignas] = ACTIONS(1184), + [anon_sym__Alignas] = ACTIONS(1184), + [sym_primitive_type] = ACTIONS(1184), + [anon_sym_enum] = ACTIONS(1184), + [anon_sym_struct] = ACTIONS(1184), + [anon_sym_union] = ACTIONS(1184), + [anon_sym_if] = ACTIONS(1184), + [anon_sym_else] = ACTIONS(1184), + [anon_sym_switch] = ACTIONS(1184), + [anon_sym_case] = ACTIONS(1184), + [anon_sym_default] = ACTIONS(1184), + [anon_sym_while] = ACTIONS(1184), + [anon_sym_do] = ACTIONS(1184), + [anon_sym_for] = ACTIONS(1184), + [anon_sym_return] = ACTIONS(1184), + [anon_sym_break] = ACTIONS(1184), + [anon_sym_continue] = ACTIONS(1184), + [anon_sym_goto] = ACTIONS(1184), + [anon_sym___try] = ACTIONS(1184), + [anon_sym___leave] = ACTIONS(1184), + [anon_sym_DASH_DASH] = ACTIONS(1186), + [anon_sym_PLUS_PLUS] = ACTIONS(1186), + [anon_sym_sizeof] = ACTIONS(1184), + [anon_sym___alignof__] = ACTIONS(1184), + [anon_sym___alignof] = ACTIONS(1184), + [anon_sym__alignof] = ACTIONS(1184), + [anon_sym_alignof] = ACTIONS(1184), + [anon_sym__Alignof] = ACTIONS(1184), + [anon_sym_offsetof] = ACTIONS(1184), + [anon_sym__Generic] = ACTIONS(1184), + [anon_sym_asm] = ACTIONS(1184), + [anon_sym___asm__] = ACTIONS(1184), + [sym__number_literal] = ACTIONS(1186), + [anon_sym_L_SQUOTE] = ACTIONS(1186), + [anon_sym_u_SQUOTE] = ACTIONS(1186), + [anon_sym_U_SQUOTE] = ACTIONS(1186), + [anon_sym_u8_SQUOTE] = ACTIONS(1186), + [anon_sym_SQUOTE] = ACTIONS(1186), + [anon_sym_L_DQUOTE] = ACTIONS(1186), + [anon_sym_u_DQUOTE] = ACTIONS(1186), + [anon_sym_U_DQUOTE] = ACTIONS(1186), + [anon_sym_u8_DQUOTE] = ACTIONS(1186), + [anon_sym_DQUOTE] = ACTIONS(1186), + [sym_true] = ACTIONS(1184), + [sym_false] = ACTIONS(1184), + [anon_sym_NULL] = ACTIONS(1184), + [anon_sym_nullptr] = ACTIONS(1184), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1186), + }, + [192] = { + [sym__identifier] = ACTIONS(1176), + [aux_sym_preproc_include_token1] = ACTIONS(1176), + [aux_sym_preproc_def_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token2] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1176), + [sym_preproc_directive] = ACTIONS(1176), + [anon_sym_LPAREN2] = ACTIONS(1178), + [anon_sym_BANG] = ACTIONS(1178), + [anon_sym_TILDE] = ACTIONS(1178), + [anon_sym_DASH] = ACTIONS(1176), + [anon_sym_PLUS] = ACTIONS(1176), + [anon_sym_STAR] = ACTIONS(1178), + [anon_sym_AMP] = ACTIONS(1178), + [anon_sym_SEMI] = ACTIONS(1178), + [anon_sym___extension__] = ACTIONS(1176), + [anon_sym_typedef] = ACTIONS(1176), + [anon_sym_extern] = ACTIONS(1176), + [anon_sym___attribute__] = ACTIONS(1176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1178), + [anon_sym___declspec] = ACTIONS(1176), + [anon_sym___cdecl] = ACTIONS(1176), + [anon_sym___clrcall] = ACTIONS(1176), + [anon_sym___stdcall] = ACTIONS(1176), + [anon_sym___fastcall] = ACTIONS(1176), + [anon_sym___thiscall] = ACTIONS(1176), + [anon_sym___vectorcall] = ACTIONS(1176), + [anon_sym_LBRACE] = ACTIONS(1178), + [anon_sym_signed] = ACTIONS(1176), + [anon_sym_unsigned] = ACTIONS(1176), + [anon_sym_long] = ACTIONS(1176), + [anon_sym_short] = ACTIONS(1176), + [anon_sym_static] = ACTIONS(1176), + [anon_sym_auto] = ACTIONS(1176), + [anon_sym_register] = ACTIONS(1176), + [anon_sym_inline] = ACTIONS(1176), + [anon_sym___inline] = ACTIONS(1176), + [anon_sym___inline__] = ACTIONS(1176), + [anon_sym___forceinline] = ACTIONS(1176), + [anon_sym_thread_local] = ACTIONS(1176), + [anon_sym___thread] = ACTIONS(1176), + [anon_sym_const] = ACTIONS(1176), + [anon_sym_constexpr] = ACTIONS(1176), + [anon_sym_volatile] = ACTIONS(1176), + [anon_sym_restrict] = ACTIONS(1176), + [anon_sym___restrict__] = ACTIONS(1176), + [anon_sym__Atomic] = ACTIONS(1176), + [anon_sym__Noreturn] = ACTIONS(1176), + [anon_sym_noreturn] = ACTIONS(1176), + [anon_sym_alignas] = ACTIONS(1176), + [anon_sym__Alignas] = ACTIONS(1176), + [sym_primitive_type] = ACTIONS(1176), + [anon_sym_enum] = ACTIONS(1176), + [anon_sym_struct] = ACTIONS(1176), + [anon_sym_union] = ACTIONS(1176), + [anon_sym_if] = ACTIONS(1176), + [anon_sym_else] = ACTIONS(1176), + [anon_sym_switch] = ACTIONS(1176), + [anon_sym_case] = ACTIONS(1176), + [anon_sym_default] = ACTIONS(1176), + [anon_sym_while] = ACTIONS(1176), + [anon_sym_do] = ACTIONS(1176), + [anon_sym_for] = ACTIONS(1176), + [anon_sym_return] = ACTIONS(1176), + [anon_sym_break] = ACTIONS(1176), + [anon_sym_continue] = ACTIONS(1176), + [anon_sym_goto] = ACTIONS(1176), + [anon_sym___try] = ACTIONS(1176), + [anon_sym___leave] = ACTIONS(1176), + [anon_sym_DASH_DASH] = ACTIONS(1178), + [anon_sym_PLUS_PLUS] = ACTIONS(1178), + [anon_sym_sizeof] = ACTIONS(1176), + [anon_sym___alignof__] = ACTIONS(1176), + [anon_sym___alignof] = ACTIONS(1176), + [anon_sym__alignof] = ACTIONS(1176), + [anon_sym_alignof] = ACTIONS(1176), + [anon_sym__Alignof] = ACTIONS(1176), + [anon_sym_offsetof] = ACTIONS(1176), + [anon_sym__Generic] = ACTIONS(1176), + [anon_sym_asm] = ACTIONS(1176), + [anon_sym___asm__] = ACTIONS(1176), + [sym__number_literal] = ACTIONS(1178), + [anon_sym_L_SQUOTE] = ACTIONS(1178), + [anon_sym_u_SQUOTE] = ACTIONS(1178), + [anon_sym_U_SQUOTE] = ACTIONS(1178), + [anon_sym_u8_SQUOTE] = ACTIONS(1178), + [anon_sym_SQUOTE] = ACTIONS(1178), + [anon_sym_L_DQUOTE] = ACTIONS(1178), + [anon_sym_u_DQUOTE] = ACTIONS(1178), + [anon_sym_U_DQUOTE] = ACTIONS(1178), + [anon_sym_u8_DQUOTE] = ACTIONS(1178), + [anon_sym_DQUOTE] = ACTIONS(1178), + [sym_true] = ACTIONS(1176), + [sym_false] = ACTIONS(1176), + [anon_sym_NULL] = ACTIONS(1176), + [anon_sym_nullptr] = ACTIONS(1176), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1178), + }, + [193] = { + [sym__identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token2] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym___extension__] = ACTIONS(1104), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym___inline] = ACTIONS(1104), + [anon_sym___inline__] = ACTIONS(1104), + [anon_sym___forceinline] = ACTIONS(1104), + [anon_sym_thread_local] = ACTIONS(1104), + [anon_sym___thread] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_constexpr] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym___restrict__] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym__Noreturn] = ACTIONS(1104), + [anon_sym_noreturn] = ACTIONS(1104), + [anon_sym_alignas] = ACTIONS(1104), + [anon_sym__Alignas] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_else] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym___try] = ACTIONS(1104), + [anon_sym___leave] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [anon_sym___alignof__] = ACTIONS(1104), + [anon_sym___alignof] = ACTIONS(1104), + [anon_sym__alignof] = ACTIONS(1104), + [anon_sym_alignof] = ACTIONS(1104), + [anon_sym__Alignof] = ACTIONS(1104), + [anon_sym_offsetof] = ACTIONS(1104), + [anon_sym__Generic] = ACTIONS(1104), + [anon_sym_asm] = ACTIONS(1104), + [anon_sym___asm__] = ACTIONS(1104), + [sym__number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [anon_sym_NULL] = ACTIONS(1104), + [anon_sym_nullptr] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1106), + }, + [194] = { + [sym__identifier] = ACTIONS(1140), + [aux_sym_preproc_include_token1] = ACTIONS(1140), + [aux_sym_preproc_def_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token2] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1140), + [sym_preproc_directive] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(1142), + [anon_sym_BANG] = ACTIONS(1142), + [anon_sym_TILDE] = ACTIONS(1142), + [anon_sym_DASH] = ACTIONS(1140), + [anon_sym_PLUS] = ACTIONS(1140), + [anon_sym_STAR] = ACTIONS(1142), + [anon_sym_AMP] = ACTIONS(1142), + [anon_sym_SEMI] = ACTIONS(1142), + [anon_sym___extension__] = ACTIONS(1140), + [anon_sym_typedef] = ACTIONS(1140), + [anon_sym_extern] = ACTIONS(1140), + [anon_sym___attribute__] = ACTIONS(1140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1142), + [anon_sym___declspec] = ACTIONS(1140), + [anon_sym___cdecl] = ACTIONS(1140), + [anon_sym___clrcall] = ACTIONS(1140), + [anon_sym___stdcall] = ACTIONS(1140), + [anon_sym___fastcall] = ACTIONS(1140), + [anon_sym___thiscall] = ACTIONS(1140), + [anon_sym___vectorcall] = ACTIONS(1140), + [anon_sym_LBRACE] = ACTIONS(1142), + [anon_sym_signed] = ACTIONS(1140), + [anon_sym_unsigned] = ACTIONS(1140), + [anon_sym_long] = ACTIONS(1140), + [anon_sym_short] = ACTIONS(1140), + [anon_sym_static] = ACTIONS(1140), + [anon_sym_auto] = ACTIONS(1140), + [anon_sym_register] = ACTIONS(1140), + [anon_sym_inline] = ACTIONS(1140), + [anon_sym___inline] = ACTIONS(1140), + [anon_sym___inline__] = ACTIONS(1140), + [anon_sym___forceinline] = ACTIONS(1140), + [anon_sym_thread_local] = ACTIONS(1140), + [anon_sym___thread] = ACTIONS(1140), + [anon_sym_const] = ACTIONS(1140), + [anon_sym_constexpr] = ACTIONS(1140), + [anon_sym_volatile] = ACTIONS(1140), + [anon_sym_restrict] = ACTIONS(1140), + [anon_sym___restrict__] = ACTIONS(1140), + [anon_sym__Atomic] = ACTIONS(1140), + [anon_sym__Noreturn] = ACTIONS(1140), + [anon_sym_noreturn] = ACTIONS(1140), + [anon_sym_alignas] = ACTIONS(1140), + [anon_sym__Alignas] = ACTIONS(1140), + [sym_primitive_type] = ACTIONS(1140), + [anon_sym_enum] = ACTIONS(1140), + [anon_sym_struct] = ACTIONS(1140), + [anon_sym_union] = ACTIONS(1140), + [anon_sym_if] = ACTIONS(1140), + [anon_sym_else] = ACTIONS(1140), + [anon_sym_switch] = ACTIONS(1140), + [anon_sym_case] = ACTIONS(1140), + [anon_sym_default] = ACTIONS(1140), + [anon_sym_while] = ACTIONS(1140), + [anon_sym_do] = ACTIONS(1140), + [anon_sym_for] = ACTIONS(1140), + [anon_sym_return] = ACTIONS(1140), + [anon_sym_break] = ACTIONS(1140), + [anon_sym_continue] = ACTIONS(1140), + [anon_sym_goto] = ACTIONS(1140), + [anon_sym___try] = ACTIONS(1140), + [anon_sym___leave] = ACTIONS(1140), + [anon_sym_DASH_DASH] = ACTIONS(1142), + [anon_sym_PLUS_PLUS] = ACTIONS(1142), + [anon_sym_sizeof] = ACTIONS(1140), + [anon_sym___alignof__] = ACTIONS(1140), + [anon_sym___alignof] = ACTIONS(1140), + [anon_sym__alignof] = ACTIONS(1140), + [anon_sym_alignof] = ACTIONS(1140), + [anon_sym__Alignof] = ACTIONS(1140), + [anon_sym_offsetof] = ACTIONS(1140), + [anon_sym__Generic] = ACTIONS(1140), + [anon_sym_asm] = ACTIONS(1140), + [anon_sym___asm__] = ACTIONS(1140), + [sym__number_literal] = ACTIONS(1142), + [anon_sym_L_SQUOTE] = ACTIONS(1142), + [anon_sym_u_SQUOTE] = ACTIONS(1142), + [anon_sym_U_SQUOTE] = ACTIONS(1142), + [anon_sym_u8_SQUOTE] = ACTIONS(1142), + [anon_sym_SQUOTE] = ACTIONS(1142), + [anon_sym_L_DQUOTE] = ACTIONS(1142), + [anon_sym_u_DQUOTE] = ACTIONS(1142), + [anon_sym_U_DQUOTE] = ACTIONS(1142), + [anon_sym_u8_DQUOTE] = ACTIONS(1142), + [anon_sym_DQUOTE] = ACTIONS(1142), + [sym_true] = ACTIONS(1140), + [sym_false] = ACTIONS(1140), + [anon_sym_NULL] = ACTIONS(1140), + [anon_sym_nullptr] = ACTIONS(1140), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1142), + }, + [195] = { + [ts_builtin_sym_end] = ACTIONS(1190), + [sym__identifier] = ACTIONS(1188), + [aux_sym_preproc_include_token1] = ACTIONS(1188), + [aux_sym_preproc_def_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1188), + [sym_preproc_directive] = ACTIONS(1188), + [anon_sym_LPAREN2] = ACTIONS(1190), + [anon_sym_BANG] = ACTIONS(1190), + [anon_sym_TILDE] = ACTIONS(1190), + [anon_sym_DASH] = ACTIONS(1188), + [anon_sym_PLUS] = ACTIONS(1188), + [anon_sym_STAR] = ACTIONS(1190), + [anon_sym_AMP] = ACTIONS(1190), + [anon_sym_SEMI] = ACTIONS(1190), + [anon_sym___extension__] = ACTIONS(1188), + [anon_sym_typedef] = ACTIONS(1188), + [anon_sym_extern] = ACTIONS(1188), + [anon_sym___attribute__] = ACTIONS(1188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1190), + [anon_sym___declspec] = ACTIONS(1188), + [anon_sym___cdecl] = ACTIONS(1188), + [anon_sym___clrcall] = ACTIONS(1188), + [anon_sym___stdcall] = ACTIONS(1188), + [anon_sym___fastcall] = ACTIONS(1188), + [anon_sym___thiscall] = ACTIONS(1188), + [anon_sym___vectorcall] = ACTIONS(1188), + [anon_sym_LBRACE] = ACTIONS(1190), + [anon_sym_signed] = ACTIONS(1188), + [anon_sym_unsigned] = ACTIONS(1188), + [anon_sym_long] = ACTIONS(1188), + [anon_sym_short] = ACTIONS(1188), + [anon_sym_static] = ACTIONS(1188), + [anon_sym_auto] = ACTIONS(1188), + [anon_sym_register] = ACTIONS(1188), + [anon_sym_inline] = ACTIONS(1188), + [anon_sym___inline] = ACTIONS(1188), + [anon_sym___inline__] = ACTIONS(1188), + [anon_sym___forceinline] = ACTIONS(1188), + [anon_sym_thread_local] = ACTIONS(1188), + [anon_sym___thread] = ACTIONS(1188), + [anon_sym_const] = ACTIONS(1188), + [anon_sym_constexpr] = ACTIONS(1188), + [anon_sym_volatile] = ACTIONS(1188), + [anon_sym_restrict] = ACTIONS(1188), + [anon_sym___restrict__] = ACTIONS(1188), + [anon_sym__Atomic] = ACTIONS(1188), + [anon_sym__Noreturn] = ACTIONS(1188), + [anon_sym_noreturn] = ACTIONS(1188), + [anon_sym_alignas] = ACTIONS(1188), + [anon_sym__Alignas] = ACTIONS(1188), + [sym_primitive_type] = ACTIONS(1188), + [anon_sym_enum] = ACTIONS(1188), + [anon_sym_struct] = ACTIONS(1188), + [anon_sym_union] = ACTIONS(1188), + [anon_sym_if] = ACTIONS(1188), + [anon_sym_else] = ACTIONS(1188), + [anon_sym_switch] = ACTIONS(1188), + [anon_sym_case] = ACTIONS(1188), + [anon_sym_default] = ACTIONS(1188), + [anon_sym_while] = ACTIONS(1188), + [anon_sym_do] = ACTIONS(1188), + [anon_sym_for] = ACTIONS(1188), + [anon_sym_return] = ACTIONS(1188), + [anon_sym_break] = ACTIONS(1188), + [anon_sym_continue] = ACTIONS(1188), + [anon_sym_goto] = ACTIONS(1188), + [anon_sym___try] = ACTIONS(1188), + [anon_sym___leave] = ACTIONS(1188), + [anon_sym_DASH_DASH] = ACTIONS(1190), + [anon_sym_PLUS_PLUS] = ACTIONS(1190), + [anon_sym_sizeof] = ACTIONS(1188), + [anon_sym___alignof__] = ACTIONS(1188), + [anon_sym___alignof] = ACTIONS(1188), + [anon_sym__alignof] = ACTIONS(1188), + [anon_sym_alignof] = ACTIONS(1188), + [anon_sym__Alignof] = ACTIONS(1188), + [anon_sym_offsetof] = ACTIONS(1188), + [anon_sym__Generic] = ACTIONS(1188), + [anon_sym_asm] = ACTIONS(1188), + [anon_sym___asm__] = ACTIONS(1188), + [sym__number_literal] = ACTIONS(1190), + [anon_sym_L_SQUOTE] = ACTIONS(1190), + [anon_sym_u_SQUOTE] = ACTIONS(1190), + [anon_sym_U_SQUOTE] = ACTIONS(1190), + [anon_sym_u8_SQUOTE] = ACTIONS(1190), + [anon_sym_SQUOTE] = ACTIONS(1190), + [anon_sym_L_DQUOTE] = ACTIONS(1190), + [anon_sym_u_DQUOTE] = ACTIONS(1190), + [anon_sym_U_DQUOTE] = ACTIONS(1190), + [anon_sym_u8_DQUOTE] = ACTIONS(1190), + [anon_sym_DQUOTE] = ACTIONS(1190), + [sym_true] = ACTIONS(1188), + [sym_false] = ACTIONS(1188), + [anon_sym_NULL] = ACTIONS(1188), + [anon_sym_nullptr] = ACTIONS(1188), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1190), + }, + [196] = { + [sym__identifier] = ACTIONS(1128), + [aux_sym_preproc_include_token1] = ACTIONS(1128), + [aux_sym_preproc_def_token1] = ACTIONS(1128), + [aux_sym_preproc_if_token1] = ACTIONS(1128), + [aux_sym_preproc_if_token2] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1128), + [sym_preproc_directive] = ACTIONS(1128), + [anon_sym_LPAREN2] = ACTIONS(1130), + [anon_sym_BANG] = ACTIONS(1130), + [anon_sym_TILDE] = ACTIONS(1130), + [anon_sym_DASH] = ACTIONS(1128), + [anon_sym_PLUS] = ACTIONS(1128), + [anon_sym_STAR] = ACTIONS(1130), + [anon_sym_AMP] = ACTIONS(1130), + [anon_sym_SEMI] = ACTIONS(1130), + [anon_sym___extension__] = ACTIONS(1128), + [anon_sym_typedef] = ACTIONS(1128), + [anon_sym_extern] = ACTIONS(1128), + [anon_sym___attribute__] = ACTIONS(1128), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1130), + [anon_sym___declspec] = ACTIONS(1128), + [anon_sym___cdecl] = ACTIONS(1128), + [anon_sym___clrcall] = ACTIONS(1128), + [anon_sym___stdcall] = ACTIONS(1128), + [anon_sym___fastcall] = ACTIONS(1128), + [anon_sym___thiscall] = ACTIONS(1128), + [anon_sym___vectorcall] = ACTIONS(1128), + [anon_sym_LBRACE] = ACTIONS(1130), + [anon_sym_signed] = ACTIONS(1128), + [anon_sym_unsigned] = ACTIONS(1128), + [anon_sym_long] = ACTIONS(1128), + [anon_sym_short] = ACTIONS(1128), + [anon_sym_static] = ACTIONS(1128), + [anon_sym_auto] = ACTIONS(1128), + [anon_sym_register] = ACTIONS(1128), + [anon_sym_inline] = ACTIONS(1128), + [anon_sym___inline] = ACTIONS(1128), + [anon_sym___inline__] = ACTIONS(1128), + [anon_sym___forceinline] = ACTIONS(1128), + [anon_sym_thread_local] = ACTIONS(1128), + [anon_sym___thread] = ACTIONS(1128), + [anon_sym_const] = ACTIONS(1128), + [anon_sym_constexpr] = ACTIONS(1128), + [anon_sym_volatile] = ACTIONS(1128), + [anon_sym_restrict] = ACTIONS(1128), + [anon_sym___restrict__] = ACTIONS(1128), + [anon_sym__Atomic] = ACTIONS(1128), + [anon_sym__Noreturn] = ACTIONS(1128), + [anon_sym_noreturn] = ACTIONS(1128), + [anon_sym_alignas] = ACTIONS(1128), + [anon_sym__Alignas] = ACTIONS(1128), + [sym_primitive_type] = ACTIONS(1128), + [anon_sym_enum] = ACTIONS(1128), + [anon_sym_struct] = ACTIONS(1128), + [anon_sym_union] = ACTIONS(1128), + [anon_sym_if] = ACTIONS(1128), + [anon_sym_else] = ACTIONS(1128), + [anon_sym_switch] = ACTIONS(1128), + [anon_sym_case] = ACTIONS(1128), + [anon_sym_default] = ACTIONS(1128), + [anon_sym_while] = ACTIONS(1128), + [anon_sym_do] = ACTIONS(1128), + [anon_sym_for] = ACTIONS(1128), + [anon_sym_return] = ACTIONS(1128), + [anon_sym_break] = ACTIONS(1128), + [anon_sym_continue] = ACTIONS(1128), + [anon_sym_goto] = ACTIONS(1128), + [anon_sym___try] = ACTIONS(1128), + [anon_sym___leave] = ACTIONS(1128), + [anon_sym_DASH_DASH] = ACTIONS(1130), + [anon_sym_PLUS_PLUS] = ACTIONS(1130), + [anon_sym_sizeof] = ACTIONS(1128), + [anon_sym___alignof__] = ACTIONS(1128), + [anon_sym___alignof] = ACTIONS(1128), + [anon_sym__alignof] = ACTIONS(1128), + [anon_sym_alignof] = ACTIONS(1128), + [anon_sym__Alignof] = ACTIONS(1128), + [anon_sym_offsetof] = ACTIONS(1128), + [anon_sym__Generic] = ACTIONS(1128), + [anon_sym_asm] = ACTIONS(1128), + [anon_sym___asm__] = ACTIONS(1128), + [sym__number_literal] = ACTIONS(1130), + [anon_sym_L_SQUOTE] = ACTIONS(1130), + [anon_sym_u_SQUOTE] = ACTIONS(1130), + [anon_sym_U_SQUOTE] = ACTIONS(1130), + [anon_sym_u8_SQUOTE] = ACTIONS(1130), + [anon_sym_SQUOTE] = ACTIONS(1130), + [anon_sym_L_DQUOTE] = ACTIONS(1130), + [anon_sym_u_DQUOTE] = ACTIONS(1130), + [anon_sym_U_DQUOTE] = ACTIONS(1130), + [anon_sym_u8_DQUOTE] = ACTIONS(1130), + [anon_sym_DQUOTE] = ACTIONS(1130), + [sym_true] = ACTIONS(1128), + [sym_false] = ACTIONS(1128), + [anon_sym_NULL] = ACTIONS(1128), + [anon_sym_nullptr] = ACTIONS(1128), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1130), + }, + [197] = { + [sym__identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token2] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym___extension__] = ACTIONS(1120), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym___inline] = ACTIONS(1120), + [anon_sym___inline__] = ACTIONS(1120), + [anon_sym___forceinline] = ACTIONS(1120), + [anon_sym_thread_local] = ACTIONS(1120), + [anon_sym___thread] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_constexpr] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym___restrict__] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym__Noreturn] = ACTIONS(1120), + [anon_sym_noreturn] = ACTIONS(1120), + [anon_sym_alignas] = ACTIONS(1120), + [anon_sym__Alignas] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_else] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym___try] = ACTIONS(1120), + [anon_sym___leave] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [anon_sym___alignof__] = ACTIONS(1120), + [anon_sym___alignof] = ACTIONS(1120), + [anon_sym__alignof] = ACTIONS(1120), + [anon_sym_alignof] = ACTIONS(1120), + [anon_sym__Alignof] = ACTIONS(1120), + [anon_sym_offsetof] = ACTIONS(1120), + [anon_sym__Generic] = ACTIONS(1120), + [anon_sym_asm] = ACTIONS(1120), + [anon_sym___asm__] = ACTIONS(1120), + [sym__number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [anon_sym_NULL] = ACTIONS(1120), + [anon_sym_nullptr] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1122), + }, + [198] = { + [ts_builtin_sym_end] = ACTIONS(1138), + [sym__identifier] = ACTIONS(1136), + [aux_sym_preproc_include_token1] = ACTIONS(1136), + [aux_sym_preproc_def_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1136), + [sym_preproc_directive] = ACTIONS(1136), + [anon_sym_LPAREN2] = ACTIONS(1138), + [anon_sym_BANG] = ACTIONS(1138), + [anon_sym_TILDE] = ACTIONS(1138), + [anon_sym_DASH] = ACTIONS(1136), + [anon_sym_PLUS] = ACTIONS(1136), + [anon_sym_STAR] = ACTIONS(1138), + [anon_sym_AMP] = ACTIONS(1138), + [anon_sym_SEMI] = ACTIONS(1138), + [anon_sym___extension__] = ACTIONS(1136), + [anon_sym_typedef] = ACTIONS(1136), + [anon_sym_extern] = ACTIONS(1136), + [anon_sym___attribute__] = ACTIONS(1136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1138), + [anon_sym___declspec] = ACTIONS(1136), + [anon_sym___cdecl] = ACTIONS(1136), + [anon_sym___clrcall] = ACTIONS(1136), + [anon_sym___stdcall] = ACTIONS(1136), + [anon_sym___fastcall] = ACTIONS(1136), + [anon_sym___thiscall] = ACTIONS(1136), + [anon_sym___vectorcall] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(1138), + [anon_sym_signed] = ACTIONS(1136), + [anon_sym_unsigned] = ACTIONS(1136), + [anon_sym_long] = ACTIONS(1136), + [anon_sym_short] = ACTIONS(1136), + [anon_sym_static] = ACTIONS(1136), + [anon_sym_auto] = ACTIONS(1136), + [anon_sym_register] = ACTIONS(1136), + [anon_sym_inline] = ACTIONS(1136), + [anon_sym___inline] = ACTIONS(1136), + [anon_sym___inline__] = ACTIONS(1136), + [anon_sym___forceinline] = ACTIONS(1136), + [anon_sym_thread_local] = ACTIONS(1136), + [anon_sym___thread] = ACTIONS(1136), + [anon_sym_const] = ACTIONS(1136), + [anon_sym_constexpr] = ACTIONS(1136), + [anon_sym_volatile] = ACTIONS(1136), + [anon_sym_restrict] = ACTIONS(1136), + [anon_sym___restrict__] = ACTIONS(1136), + [anon_sym__Atomic] = ACTIONS(1136), + [anon_sym__Noreturn] = ACTIONS(1136), + [anon_sym_noreturn] = ACTIONS(1136), + [anon_sym_alignas] = ACTIONS(1136), + [anon_sym__Alignas] = ACTIONS(1136), + [sym_primitive_type] = ACTIONS(1136), + [anon_sym_enum] = ACTIONS(1136), + [anon_sym_struct] = ACTIONS(1136), + [anon_sym_union] = ACTIONS(1136), + [anon_sym_if] = ACTIONS(1136), + [anon_sym_else] = ACTIONS(1136), + [anon_sym_switch] = ACTIONS(1136), + [anon_sym_case] = ACTIONS(1136), + [anon_sym_default] = ACTIONS(1136), + [anon_sym_while] = ACTIONS(1136), + [anon_sym_do] = ACTIONS(1136), + [anon_sym_for] = ACTIONS(1136), + [anon_sym_return] = ACTIONS(1136), + [anon_sym_break] = ACTIONS(1136), + [anon_sym_continue] = ACTIONS(1136), + [anon_sym_goto] = ACTIONS(1136), + [anon_sym___try] = ACTIONS(1136), + [anon_sym___leave] = ACTIONS(1136), + [anon_sym_DASH_DASH] = ACTIONS(1138), + [anon_sym_PLUS_PLUS] = ACTIONS(1138), + [anon_sym_sizeof] = ACTIONS(1136), + [anon_sym___alignof__] = ACTIONS(1136), + [anon_sym___alignof] = ACTIONS(1136), + [anon_sym__alignof] = ACTIONS(1136), + [anon_sym_alignof] = ACTIONS(1136), + [anon_sym__Alignof] = ACTIONS(1136), + [anon_sym_offsetof] = ACTIONS(1136), + [anon_sym__Generic] = ACTIONS(1136), + [anon_sym_asm] = ACTIONS(1136), + [anon_sym___asm__] = ACTIONS(1136), + [sym__number_literal] = ACTIONS(1138), + [anon_sym_L_SQUOTE] = ACTIONS(1138), + [anon_sym_u_SQUOTE] = ACTIONS(1138), + [anon_sym_U_SQUOTE] = ACTIONS(1138), + [anon_sym_u8_SQUOTE] = ACTIONS(1138), + [anon_sym_SQUOTE] = ACTIONS(1138), + [anon_sym_L_DQUOTE] = ACTIONS(1138), + [anon_sym_u_DQUOTE] = ACTIONS(1138), + [anon_sym_U_DQUOTE] = ACTIONS(1138), + [anon_sym_u8_DQUOTE] = ACTIONS(1138), + [anon_sym_DQUOTE] = ACTIONS(1138), + [sym_true] = ACTIONS(1136), + [sym_false] = ACTIONS(1136), + [anon_sym_NULL] = ACTIONS(1136), + [anon_sym_nullptr] = ACTIONS(1136), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1138), + }, + [199] = { + [ts_builtin_sym_end] = ACTIONS(1106), + [sym__identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym___extension__] = ACTIONS(1104), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym___inline] = ACTIONS(1104), + [anon_sym___inline__] = ACTIONS(1104), + [anon_sym___forceinline] = ACTIONS(1104), + [anon_sym_thread_local] = ACTIONS(1104), + [anon_sym___thread] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_constexpr] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym___restrict__] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym__Noreturn] = ACTIONS(1104), + [anon_sym_noreturn] = ACTIONS(1104), + [anon_sym_alignas] = ACTIONS(1104), + [anon_sym__Alignas] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_else] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym___try] = ACTIONS(1104), + [anon_sym___leave] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [anon_sym___alignof__] = ACTIONS(1104), + [anon_sym___alignof] = ACTIONS(1104), + [anon_sym__alignof] = ACTIONS(1104), + [anon_sym_alignof] = ACTIONS(1104), + [anon_sym__Alignof] = ACTIONS(1104), + [anon_sym_offsetof] = ACTIONS(1104), + [anon_sym__Generic] = ACTIONS(1104), + [anon_sym_asm] = ACTIONS(1104), + [anon_sym___asm__] = ACTIONS(1104), + [sym__number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [anon_sym_NULL] = ACTIONS(1104), + [anon_sym_nullptr] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1106), + }, + [200] = { + [sym__identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym___extension__] = ACTIONS(1100), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_RBRACE] = ACTIONS(1102), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym___inline] = ACTIONS(1100), + [anon_sym___inline__] = ACTIONS(1100), + [anon_sym___forceinline] = ACTIONS(1100), + [anon_sym_thread_local] = ACTIONS(1100), + [anon_sym___thread] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_constexpr] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym___restrict__] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym__Noreturn] = ACTIONS(1100), + [anon_sym_noreturn] = ACTIONS(1100), + [anon_sym_alignas] = ACTIONS(1100), + [anon_sym__Alignas] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_else] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym___try] = ACTIONS(1100), + [anon_sym___leave] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [anon_sym___alignof__] = ACTIONS(1100), + [anon_sym___alignof] = ACTIONS(1100), + [anon_sym__alignof] = ACTIONS(1100), + [anon_sym_alignof] = ACTIONS(1100), + [anon_sym__Alignof] = ACTIONS(1100), + [anon_sym_offsetof] = ACTIONS(1100), + [anon_sym__Generic] = ACTIONS(1100), + [anon_sym_asm] = ACTIONS(1100), + [anon_sym___asm__] = ACTIONS(1100), + [sym__number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [anon_sym_NULL] = ACTIONS(1100), + [anon_sym_nullptr] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1102), + }, + [201] = { + [ts_builtin_sym_end] = ACTIONS(1162), + [sym__identifier] = ACTIONS(1160), + [aux_sym_preproc_include_token1] = ACTIONS(1160), + [aux_sym_preproc_def_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1160), + [sym_preproc_directive] = ACTIONS(1160), + [anon_sym_LPAREN2] = ACTIONS(1162), + [anon_sym_BANG] = ACTIONS(1162), + [anon_sym_TILDE] = ACTIONS(1162), + [anon_sym_DASH] = ACTIONS(1160), + [anon_sym_PLUS] = ACTIONS(1160), + [anon_sym_STAR] = ACTIONS(1162), + [anon_sym_AMP] = ACTIONS(1162), + [anon_sym_SEMI] = ACTIONS(1162), + [anon_sym___extension__] = ACTIONS(1160), + [anon_sym_typedef] = ACTIONS(1160), + [anon_sym_extern] = ACTIONS(1160), + [anon_sym___attribute__] = ACTIONS(1160), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1162), + [anon_sym___declspec] = ACTIONS(1160), + [anon_sym___cdecl] = ACTIONS(1160), + [anon_sym___clrcall] = ACTIONS(1160), + [anon_sym___stdcall] = ACTIONS(1160), + [anon_sym___fastcall] = ACTIONS(1160), + [anon_sym___thiscall] = ACTIONS(1160), + [anon_sym___vectorcall] = ACTIONS(1160), + [anon_sym_LBRACE] = ACTIONS(1162), + [anon_sym_signed] = ACTIONS(1160), + [anon_sym_unsigned] = ACTIONS(1160), + [anon_sym_long] = ACTIONS(1160), + [anon_sym_short] = ACTIONS(1160), + [anon_sym_static] = ACTIONS(1160), + [anon_sym_auto] = ACTIONS(1160), + [anon_sym_register] = ACTIONS(1160), + [anon_sym_inline] = ACTIONS(1160), + [anon_sym___inline] = ACTIONS(1160), + [anon_sym___inline__] = ACTIONS(1160), + [anon_sym___forceinline] = ACTIONS(1160), + [anon_sym_thread_local] = ACTIONS(1160), + [anon_sym___thread] = ACTIONS(1160), + [anon_sym_const] = ACTIONS(1160), + [anon_sym_constexpr] = ACTIONS(1160), + [anon_sym_volatile] = ACTIONS(1160), + [anon_sym_restrict] = ACTIONS(1160), + [anon_sym___restrict__] = ACTIONS(1160), + [anon_sym__Atomic] = ACTIONS(1160), + [anon_sym__Noreturn] = ACTIONS(1160), + [anon_sym_noreturn] = ACTIONS(1160), + [anon_sym_alignas] = ACTIONS(1160), + [anon_sym__Alignas] = ACTIONS(1160), + [sym_primitive_type] = ACTIONS(1160), + [anon_sym_enum] = ACTIONS(1160), + [anon_sym_struct] = ACTIONS(1160), + [anon_sym_union] = ACTIONS(1160), + [anon_sym_if] = ACTIONS(1160), + [anon_sym_else] = ACTIONS(1160), + [anon_sym_switch] = ACTIONS(1160), + [anon_sym_case] = ACTIONS(1160), + [anon_sym_default] = ACTIONS(1160), + [anon_sym_while] = ACTIONS(1160), + [anon_sym_do] = ACTIONS(1160), + [anon_sym_for] = ACTIONS(1160), + [anon_sym_return] = ACTIONS(1160), + [anon_sym_break] = ACTIONS(1160), + [anon_sym_continue] = ACTIONS(1160), + [anon_sym_goto] = ACTIONS(1160), + [anon_sym___try] = ACTIONS(1160), + [anon_sym___leave] = ACTIONS(1160), + [anon_sym_DASH_DASH] = ACTIONS(1162), + [anon_sym_PLUS_PLUS] = ACTIONS(1162), + [anon_sym_sizeof] = ACTIONS(1160), + [anon_sym___alignof__] = ACTIONS(1160), + [anon_sym___alignof] = ACTIONS(1160), + [anon_sym__alignof] = ACTIONS(1160), + [anon_sym_alignof] = ACTIONS(1160), + [anon_sym__Alignof] = ACTIONS(1160), + [anon_sym_offsetof] = ACTIONS(1160), + [anon_sym__Generic] = ACTIONS(1160), + [anon_sym_asm] = ACTIONS(1160), + [anon_sym___asm__] = ACTIONS(1160), + [sym__number_literal] = ACTIONS(1162), + [anon_sym_L_SQUOTE] = ACTIONS(1162), + [anon_sym_u_SQUOTE] = ACTIONS(1162), + [anon_sym_U_SQUOTE] = ACTIONS(1162), + [anon_sym_u8_SQUOTE] = ACTIONS(1162), + [anon_sym_SQUOTE] = ACTIONS(1162), + [anon_sym_L_DQUOTE] = ACTIONS(1162), + [anon_sym_u_DQUOTE] = ACTIONS(1162), + [anon_sym_U_DQUOTE] = ACTIONS(1162), + [anon_sym_u8_DQUOTE] = ACTIONS(1162), + [anon_sym_DQUOTE] = ACTIONS(1162), + [sym_true] = ACTIONS(1160), + [sym_false] = ACTIONS(1160), + [anon_sym_NULL] = ACTIONS(1160), + [anon_sym_nullptr] = ACTIONS(1160), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1162), + }, + [202] = { + [ts_builtin_sym_end] = ACTIONS(1166), + [sym__identifier] = ACTIONS(1164), + [aux_sym_preproc_include_token1] = ACTIONS(1164), + [aux_sym_preproc_def_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1164), + [sym_preproc_directive] = ACTIONS(1164), + [anon_sym_LPAREN2] = ACTIONS(1166), + [anon_sym_BANG] = ACTIONS(1166), + [anon_sym_TILDE] = ACTIONS(1166), + [anon_sym_DASH] = ACTIONS(1164), + [anon_sym_PLUS] = ACTIONS(1164), + [anon_sym_STAR] = ACTIONS(1166), + [anon_sym_AMP] = ACTIONS(1166), + [anon_sym_SEMI] = ACTIONS(1166), + [anon_sym___extension__] = ACTIONS(1164), + [anon_sym_typedef] = ACTIONS(1164), + [anon_sym_extern] = ACTIONS(1164), + [anon_sym___attribute__] = ACTIONS(1164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1166), + [anon_sym___declspec] = ACTIONS(1164), + [anon_sym___cdecl] = ACTIONS(1164), + [anon_sym___clrcall] = ACTIONS(1164), + [anon_sym___stdcall] = ACTIONS(1164), + [anon_sym___fastcall] = ACTIONS(1164), + [anon_sym___thiscall] = ACTIONS(1164), + [anon_sym___vectorcall] = ACTIONS(1164), + [anon_sym_LBRACE] = ACTIONS(1166), + [anon_sym_signed] = ACTIONS(1164), + [anon_sym_unsigned] = ACTIONS(1164), + [anon_sym_long] = ACTIONS(1164), + [anon_sym_short] = ACTIONS(1164), + [anon_sym_static] = ACTIONS(1164), + [anon_sym_auto] = ACTIONS(1164), + [anon_sym_register] = ACTIONS(1164), + [anon_sym_inline] = ACTIONS(1164), + [anon_sym___inline] = ACTIONS(1164), + [anon_sym___inline__] = ACTIONS(1164), + [anon_sym___forceinline] = ACTIONS(1164), + [anon_sym_thread_local] = ACTIONS(1164), + [anon_sym___thread] = ACTIONS(1164), + [anon_sym_const] = ACTIONS(1164), + [anon_sym_constexpr] = ACTIONS(1164), + [anon_sym_volatile] = ACTIONS(1164), + [anon_sym_restrict] = ACTIONS(1164), + [anon_sym___restrict__] = ACTIONS(1164), + [anon_sym__Atomic] = ACTIONS(1164), + [anon_sym__Noreturn] = ACTIONS(1164), + [anon_sym_noreturn] = ACTIONS(1164), + [anon_sym_alignas] = ACTIONS(1164), + [anon_sym__Alignas] = ACTIONS(1164), + [sym_primitive_type] = ACTIONS(1164), + [anon_sym_enum] = ACTIONS(1164), + [anon_sym_struct] = ACTIONS(1164), + [anon_sym_union] = ACTIONS(1164), + [anon_sym_if] = ACTIONS(1164), + [anon_sym_else] = ACTIONS(1164), + [anon_sym_switch] = ACTIONS(1164), + [anon_sym_case] = ACTIONS(1164), + [anon_sym_default] = ACTIONS(1164), + [anon_sym_while] = ACTIONS(1164), + [anon_sym_do] = ACTIONS(1164), + [anon_sym_for] = ACTIONS(1164), + [anon_sym_return] = ACTIONS(1164), + [anon_sym_break] = ACTIONS(1164), + [anon_sym_continue] = ACTIONS(1164), + [anon_sym_goto] = ACTIONS(1164), + [anon_sym___try] = ACTIONS(1164), + [anon_sym___leave] = ACTIONS(1164), + [anon_sym_DASH_DASH] = ACTIONS(1166), + [anon_sym_PLUS_PLUS] = ACTIONS(1166), + [anon_sym_sizeof] = ACTIONS(1164), + [anon_sym___alignof__] = ACTIONS(1164), + [anon_sym___alignof] = ACTIONS(1164), + [anon_sym__alignof] = ACTIONS(1164), + [anon_sym_alignof] = ACTIONS(1164), + [anon_sym__Alignof] = ACTIONS(1164), + [anon_sym_offsetof] = ACTIONS(1164), + [anon_sym__Generic] = ACTIONS(1164), + [anon_sym_asm] = ACTIONS(1164), + [anon_sym___asm__] = ACTIONS(1164), + [sym__number_literal] = ACTIONS(1166), + [anon_sym_L_SQUOTE] = ACTIONS(1166), + [anon_sym_u_SQUOTE] = ACTIONS(1166), + [anon_sym_U_SQUOTE] = ACTIONS(1166), + [anon_sym_u8_SQUOTE] = ACTIONS(1166), + [anon_sym_SQUOTE] = ACTIONS(1166), + [anon_sym_L_DQUOTE] = ACTIONS(1166), + [anon_sym_u_DQUOTE] = ACTIONS(1166), + [anon_sym_U_DQUOTE] = ACTIONS(1166), + [anon_sym_u8_DQUOTE] = ACTIONS(1166), + [anon_sym_DQUOTE] = ACTIONS(1166), + [sym_true] = ACTIONS(1164), + [sym_false] = ACTIONS(1164), + [anon_sym_NULL] = ACTIONS(1164), + [anon_sym_nullptr] = ACTIONS(1164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1166), + }, + [203] = { + [ts_builtin_sym_end] = ACTIONS(1174), + [sym__identifier] = ACTIONS(1172), + [aux_sym_preproc_include_token1] = ACTIONS(1172), + [aux_sym_preproc_def_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1172), + [sym_preproc_directive] = ACTIONS(1172), + [anon_sym_LPAREN2] = ACTIONS(1174), + [anon_sym_BANG] = ACTIONS(1174), + [anon_sym_TILDE] = ACTIONS(1174), + [anon_sym_DASH] = ACTIONS(1172), + [anon_sym_PLUS] = ACTIONS(1172), + [anon_sym_STAR] = ACTIONS(1174), + [anon_sym_AMP] = ACTIONS(1174), + [anon_sym_SEMI] = ACTIONS(1174), + [anon_sym___extension__] = ACTIONS(1172), + [anon_sym_typedef] = ACTIONS(1172), + [anon_sym_extern] = ACTIONS(1172), + [anon_sym___attribute__] = ACTIONS(1172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1174), + [anon_sym___declspec] = ACTIONS(1172), + [anon_sym___cdecl] = ACTIONS(1172), + [anon_sym___clrcall] = ACTIONS(1172), + [anon_sym___stdcall] = ACTIONS(1172), + [anon_sym___fastcall] = ACTIONS(1172), + [anon_sym___thiscall] = ACTIONS(1172), + [anon_sym___vectorcall] = ACTIONS(1172), + [anon_sym_LBRACE] = ACTIONS(1174), + [anon_sym_signed] = ACTIONS(1172), + [anon_sym_unsigned] = ACTIONS(1172), + [anon_sym_long] = ACTIONS(1172), + [anon_sym_short] = ACTIONS(1172), + [anon_sym_static] = ACTIONS(1172), + [anon_sym_auto] = ACTIONS(1172), + [anon_sym_register] = ACTIONS(1172), + [anon_sym_inline] = ACTIONS(1172), + [anon_sym___inline] = ACTIONS(1172), + [anon_sym___inline__] = ACTIONS(1172), + [anon_sym___forceinline] = ACTIONS(1172), + [anon_sym_thread_local] = ACTIONS(1172), + [anon_sym___thread] = ACTIONS(1172), + [anon_sym_const] = ACTIONS(1172), + [anon_sym_constexpr] = ACTIONS(1172), + [anon_sym_volatile] = ACTIONS(1172), + [anon_sym_restrict] = ACTIONS(1172), + [anon_sym___restrict__] = ACTIONS(1172), + [anon_sym__Atomic] = ACTIONS(1172), + [anon_sym__Noreturn] = ACTIONS(1172), + [anon_sym_noreturn] = ACTIONS(1172), + [anon_sym_alignas] = ACTIONS(1172), + [anon_sym__Alignas] = ACTIONS(1172), + [sym_primitive_type] = ACTIONS(1172), + [anon_sym_enum] = ACTIONS(1172), + [anon_sym_struct] = ACTIONS(1172), + [anon_sym_union] = ACTIONS(1172), + [anon_sym_if] = ACTIONS(1172), + [anon_sym_else] = ACTIONS(1172), + [anon_sym_switch] = ACTIONS(1172), + [anon_sym_case] = ACTIONS(1172), + [anon_sym_default] = ACTIONS(1172), + [anon_sym_while] = ACTIONS(1172), + [anon_sym_do] = ACTIONS(1172), + [anon_sym_for] = ACTIONS(1172), + [anon_sym_return] = ACTIONS(1172), + [anon_sym_break] = ACTIONS(1172), + [anon_sym_continue] = ACTIONS(1172), + [anon_sym_goto] = ACTIONS(1172), + [anon_sym___try] = ACTIONS(1172), + [anon_sym___leave] = ACTIONS(1172), + [anon_sym_DASH_DASH] = ACTIONS(1174), + [anon_sym_PLUS_PLUS] = ACTIONS(1174), + [anon_sym_sizeof] = ACTIONS(1172), + [anon_sym___alignof__] = ACTIONS(1172), + [anon_sym___alignof] = ACTIONS(1172), + [anon_sym__alignof] = ACTIONS(1172), + [anon_sym_alignof] = ACTIONS(1172), + [anon_sym__Alignof] = ACTIONS(1172), + [anon_sym_offsetof] = ACTIONS(1172), + [anon_sym__Generic] = ACTIONS(1172), + [anon_sym_asm] = ACTIONS(1172), + [anon_sym___asm__] = ACTIONS(1172), + [sym__number_literal] = ACTIONS(1174), + [anon_sym_L_SQUOTE] = ACTIONS(1174), + [anon_sym_u_SQUOTE] = ACTIONS(1174), + [anon_sym_U_SQUOTE] = ACTIONS(1174), + [anon_sym_u8_SQUOTE] = ACTIONS(1174), + [anon_sym_SQUOTE] = ACTIONS(1174), + [anon_sym_L_DQUOTE] = ACTIONS(1174), + [anon_sym_u_DQUOTE] = ACTIONS(1174), + [anon_sym_U_DQUOTE] = ACTIONS(1174), + [anon_sym_u8_DQUOTE] = ACTIONS(1174), + [anon_sym_DQUOTE] = ACTIONS(1174), + [sym_true] = ACTIONS(1172), + [sym_false] = ACTIONS(1172), + [anon_sym_NULL] = ACTIONS(1172), + [anon_sym_nullptr] = ACTIONS(1172), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1174), + }, + [204] = { + [sym__identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(1196), + [aux_sym_preproc_def_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token2] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1196), + [sym_preproc_directive] = ACTIONS(1196), + [anon_sym_LPAREN2] = ACTIONS(1198), + [anon_sym_BANG] = ACTIONS(1198), + [anon_sym_TILDE] = ACTIONS(1198), + [anon_sym_DASH] = ACTIONS(1196), + [anon_sym_PLUS] = ACTIONS(1196), + [anon_sym_STAR] = ACTIONS(1198), + [anon_sym_AMP] = ACTIONS(1198), + [anon_sym_SEMI] = ACTIONS(1198), + [anon_sym___extension__] = ACTIONS(1196), + [anon_sym_typedef] = ACTIONS(1196), + [anon_sym_extern] = ACTIONS(1196), + [anon_sym___attribute__] = ACTIONS(1196), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1198), + [anon_sym___declspec] = ACTIONS(1196), + [anon_sym___cdecl] = ACTIONS(1196), + [anon_sym___clrcall] = ACTIONS(1196), + [anon_sym___stdcall] = ACTIONS(1196), + [anon_sym___fastcall] = ACTIONS(1196), + [anon_sym___thiscall] = ACTIONS(1196), + [anon_sym___vectorcall] = ACTIONS(1196), + [anon_sym_LBRACE] = ACTIONS(1198), + [anon_sym_signed] = ACTIONS(1196), + [anon_sym_unsigned] = ACTIONS(1196), + [anon_sym_long] = ACTIONS(1196), + [anon_sym_short] = ACTIONS(1196), + [anon_sym_static] = ACTIONS(1196), + [anon_sym_auto] = ACTIONS(1196), + [anon_sym_register] = ACTIONS(1196), + [anon_sym_inline] = ACTIONS(1196), + [anon_sym___inline] = ACTIONS(1196), + [anon_sym___inline__] = ACTIONS(1196), + [anon_sym___forceinline] = ACTIONS(1196), + [anon_sym_thread_local] = ACTIONS(1196), + [anon_sym___thread] = ACTIONS(1196), + [anon_sym_const] = ACTIONS(1196), + [anon_sym_constexpr] = ACTIONS(1196), + [anon_sym_volatile] = ACTIONS(1196), + [anon_sym_restrict] = ACTIONS(1196), + [anon_sym___restrict__] = ACTIONS(1196), + [anon_sym__Atomic] = ACTIONS(1196), + [anon_sym__Noreturn] = ACTIONS(1196), + [anon_sym_noreturn] = ACTIONS(1196), + [anon_sym_alignas] = ACTIONS(1196), + [anon_sym__Alignas] = ACTIONS(1196), + [sym_primitive_type] = ACTIONS(1196), + [anon_sym_enum] = ACTIONS(1196), + [anon_sym_struct] = ACTIONS(1196), + [anon_sym_union] = ACTIONS(1196), + [anon_sym_if] = ACTIONS(1196), + [anon_sym_else] = ACTIONS(1196), + [anon_sym_switch] = ACTIONS(1196), + [anon_sym_case] = ACTIONS(1196), + [anon_sym_default] = ACTIONS(1196), + [anon_sym_while] = ACTIONS(1196), + [anon_sym_do] = ACTIONS(1196), + [anon_sym_for] = ACTIONS(1196), + [anon_sym_return] = ACTIONS(1196), + [anon_sym_break] = ACTIONS(1196), + [anon_sym_continue] = ACTIONS(1196), + [anon_sym_goto] = ACTIONS(1196), + [anon_sym___try] = ACTIONS(1196), + [anon_sym___leave] = ACTIONS(1196), + [anon_sym_DASH_DASH] = ACTIONS(1198), + [anon_sym_PLUS_PLUS] = ACTIONS(1198), + [anon_sym_sizeof] = ACTIONS(1196), + [anon_sym___alignof__] = ACTIONS(1196), + [anon_sym___alignof] = ACTIONS(1196), + [anon_sym__alignof] = ACTIONS(1196), + [anon_sym_alignof] = ACTIONS(1196), + [anon_sym__Alignof] = ACTIONS(1196), + [anon_sym_offsetof] = ACTIONS(1196), + [anon_sym__Generic] = ACTIONS(1196), + [anon_sym_asm] = ACTIONS(1196), + [anon_sym___asm__] = ACTIONS(1196), + [sym__number_literal] = ACTIONS(1198), + [anon_sym_L_SQUOTE] = ACTIONS(1198), + [anon_sym_u_SQUOTE] = ACTIONS(1198), + [anon_sym_U_SQUOTE] = ACTIONS(1198), + [anon_sym_u8_SQUOTE] = ACTIONS(1198), + [anon_sym_SQUOTE] = ACTIONS(1198), + [anon_sym_L_DQUOTE] = ACTIONS(1198), + [anon_sym_u_DQUOTE] = ACTIONS(1198), + [anon_sym_U_DQUOTE] = ACTIONS(1198), + [anon_sym_u8_DQUOTE] = ACTIONS(1198), + [anon_sym_DQUOTE] = ACTIONS(1198), + [sym_true] = ACTIONS(1196), + [sym_false] = ACTIONS(1196), + [anon_sym_NULL] = ACTIONS(1196), + [anon_sym_nullptr] = ACTIONS(1196), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1198), + }, + [205] = { + [sym__identifier] = ACTIONS(1200), + [aux_sym_preproc_include_token1] = ACTIONS(1200), + [aux_sym_preproc_def_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token2] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1200), + [sym_preproc_directive] = ACTIONS(1200), + [anon_sym_LPAREN2] = ACTIONS(1202), + [anon_sym_BANG] = ACTIONS(1202), + [anon_sym_TILDE] = ACTIONS(1202), + [anon_sym_DASH] = ACTIONS(1200), + [anon_sym_PLUS] = ACTIONS(1200), + [anon_sym_STAR] = ACTIONS(1202), + [anon_sym_AMP] = ACTIONS(1202), + [anon_sym_SEMI] = ACTIONS(1202), + [anon_sym___extension__] = ACTIONS(1200), + [anon_sym_typedef] = ACTIONS(1200), + [anon_sym_extern] = ACTIONS(1200), + [anon_sym___attribute__] = ACTIONS(1200), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1202), + [anon_sym___declspec] = ACTIONS(1200), + [anon_sym___cdecl] = ACTIONS(1200), + [anon_sym___clrcall] = ACTIONS(1200), + [anon_sym___stdcall] = ACTIONS(1200), + [anon_sym___fastcall] = ACTIONS(1200), + [anon_sym___thiscall] = ACTIONS(1200), + [anon_sym___vectorcall] = ACTIONS(1200), + [anon_sym_LBRACE] = ACTIONS(1202), + [anon_sym_signed] = ACTIONS(1200), + [anon_sym_unsigned] = ACTIONS(1200), + [anon_sym_long] = ACTIONS(1200), + [anon_sym_short] = ACTIONS(1200), + [anon_sym_static] = ACTIONS(1200), + [anon_sym_auto] = ACTIONS(1200), + [anon_sym_register] = ACTIONS(1200), + [anon_sym_inline] = ACTIONS(1200), + [anon_sym___inline] = ACTIONS(1200), + [anon_sym___inline__] = ACTIONS(1200), + [anon_sym___forceinline] = ACTIONS(1200), + [anon_sym_thread_local] = ACTIONS(1200), + [anon_sym___thread] = ACTIONS(1200), + [anon_sym_const] = ACTIONS(1200), + [anon_sym_constexpr] = ACTIONS(1200), + [anon_sym_volatile] = ACTIONS(1200), + [anon_sym_restrict] = ACTIONS(1200), + [anon_sym___restrict__] = ACTIONS(1200), + [anon_sym__Atomic] = ACTIONS(1200), + [anon_sym__Noreturn] = ACTIONS(1200), + [anon_sym_noreturn] = ACTIONS(1200), + [anon_sym_alignas] = ACTIONS(1200), + [anon_sym__Alignas] = ACTIONS(1200), + [sym_primitive_type] = ACTIONS(1200), + [anon_sym_enum] = ACTIONS(1200), + [anon_sym_struct] = ACTIONS(1200), + [anon_sym_union] = ACTIONS(1200), + [anon_sym_if] = ACTIONS(1200), + [anon_sym_else] = ACTIONS(1200), + [anon_sym_switch] = ACTIONS(1200), + [anon_sym_case] = ACTIONS(1200), + [anon_sym_default] = ACTIONS(1200), + [anon_sym_while] = ACTIONS(1200), + [anon_sym_do] = ACTIONS(1200), + [anon_sym_for] = ACTIONS(1200), + [anon_sym_return] = ACTIONS(1200), + [anon_sym_break] = ACTIONS(1200), + [anon_sym_continue] = ACTIONS(1200), + [anon_sym_goto] = ACTIONS(1200), + [anon_sym___try] = ACTIONS(1200), + [anon_sym___leave] = ACTIONS(1200), + [anon_sym_DASH_DASH] = ACTIONS(1202), + [anon_sym_PLUS_PLUS] = ACTIONS(1202), + [anon_sym_sizeof] = ACTIONS(1200), + [anon_sym___alignof__] = ACTIONS(1200), + [anon_sym___alignof] = ACTIONS(1200), + [anon_sym__alignof] = ACTIONS(1200), + [anon_sym_alignof] = ACTIONS(1200), + [anon_sym__Alignof] = ACTIONS(1200), + [anon_sym_offsetof] = ACTIONS(1200), + [anon_sym__Generic] = ACTIONS(1200), + [anon_sym_asm] = ACTIONS(1200), + [anon_sym___asm__] = ACTIONS(1200), + [sym__number_literal] = ACTIONS(1202), + [anon_sym_L_SQUOTE] = ACTIONS(1202), + [anon_sym_u_SQUOTE] = ACTIONS(1202), + [anon_sym_U_SQUOTE] = ACTIONS(1202), + [anon_sym_u8_SQUOTE] = ACTIONS(1202), + [anon_sym_SQUOTE] = ACTIONS(1202), + [anon_sym_L_DQUOTE] = ACTIONS(1202), + [anon_sym_u_DQUOTE] = ACTIONS(1202), + [anon_sym_U_DQUOTE] = ACTIONS(1202), + [anon_sym_u8_DQUOTE] = ACTIONS(1202), + [anon_sym_DQUOTE] = ACTIONS(1202), + [sym_true] = ACTIONS(1200), + [sym_false] = ACTIONS(1200), + [anon_sym_NULL] = ACTIONS(1200), + [anon_sym_nullptr] = ACTIONS(1200), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1202), + }, + [206] = { + [sym__identifier] = ACTIONS(1206), + [aux_sym_preproc_include_token1] = ACTIONS(1206), + [aux_sym_preproc_def_token1] = ACTIONS(1206), + [aux_sym_preproc_if_token1] = ACTIONS(1206), + [aux_sym_preproc_if_token2] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1206), + [sym_preproc_directive] = ACTIONS(1206), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1206), + [anon_sym___cdecl] = ACTIONS(1206), + [anon_sym___clrcall] = ACTIONS(1206), + [anon_sym___stdcall] = ACTIONS(1206), + [anon_sym___fastcall] = ACTIONS(1206), + [anon_sym___thiscall] = ACTIONS(1206), + [anon_sym___vectorcall] = ACTIONS(1206), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1206), + [anon_sym_unsigned] = ACTIONS(1206), + [anon_sym_long] = ACTIONS(1206), + [anon_sym_short] = ACTIONS(1206), + [anon_sym_static] = ACTIONS(1206), + [anon_sym_auto] = ACTIONS(1206), + [anon_sym_register] = ACTIONS(1206), + [anon_sym_inline] = ACTIONS(1206), + [anon_sym___inline] = ACTIONS(1206), + [anon_sym___inline__] = ACTIONS(1206), + [anon_sym___forceinline] = ACTIONS(1206), + [anon_sym_thread_local] = ACTIONS(1206), + [anon_sym___thread] = ACTIONS(1206), + [anon_sym_const] = ACTIONS(1206), + [anon_sym_constexpr] = ACTIONS(1206), + [anon_sym_volatile] = ACTIONS(1206), + [anon_sym_restrict] = ACTIONS(1206), + [anon_sym___restrict__] = ACTIONS(1206), + [anon_sym__Atomic] = ACTIONS(1206), + [anon_sym__Noreturn] = ACTIONS(1206), + [anon_sym_noreturn] = ACTIONS(1206), + [anon_sym_alignas] = ACTIONS(1206), + [anon_sym__Alignas] = ACTIONS(1206), + [sym_primitive_type] = ACTIONS(1206), + [anon_sym_enum] = ACTIONS(1206), + [anon_sym_struct] = ACTIONS(1206), + [anon_sym_union] = ACTIONS(1206), + [anon_sym_if] = ACTIONS(1206), + [anon_sym_else] = ACTIONS(1206), + [anon_sym_switch] = ACTIONS(1206), + [anon_sym_case] = ACTIONS(1206), + [anon_sym_default] = ACTIONS(1206), + [anon_sym_while] = ACTIONS(1206), + [anon_sym_do] = ACTIONS(1206), + [anon_sym_for] = ACTIONS(1206), + [anon_sym_return] = ACTIONS(1206), + [anon_sym_break] = ACTIONS(1206), + [anon_sym_continue] = ACTIONS(1206), + [anon_sym_goto] = ACTIONS(1206), + [anon_sym___try] = ACTIONS(1206), + [anon_sym___leave] = ACTIONS(1206), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1206), + [anon_sym___alignof__] = ACTIONS(1206), + [anon_sym___alignof] = ACTIONS(1206), + [anon_sym__alignof] = ACTIONS(1206), + [anon_sym_alignof] = ACTIONS(1206), + [anon_sym__Alignof] = ACTIONS(1206), + [anon_sym_offsetof] = ACTIONS(1206), + [anon_sym__Generic] = ACTIONS(1206), + [anon_sym_asm] = ACTIONS(1206), + [anon_sym___asm__] = ACTIONS(1206), + [sym__number_literal] = ACTIONS(1204), + [anon_sym_L_SQUOTE] = ACTIONS(1204), + [anon_sym_u_SQUOTE] = ACTIONS(1204), + [anon_sym_U_SQUOTE] = ACTIONS(1204), + [anon_sym_u8_SQUOTE] = ACTIONS(1204), + [anon_sym_SQUOTE] = ACTIONS(1204), + [anon_sym_L_DQUOTE] = ACTIONS(1204), + [anon_sym_u_DQUOTE] = ACTIONS(1204), + [anon_sym_U_DQUOTE] = ACTIONS(1204), + [anon_sym_u8_DQUOTE] = ACTIONS(1204), + [anon_sym_DQUOTE] = ACTIONS(1204), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1204), + }, + [207] = { + [sym__identifier] = ACTIONS(1212), + [aux_sym_preproc_include_token1] = ACTIONS(1212), + [aux_sym_preproc_def_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token2] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1212), + [sym_preproc_directive] = ACTIONS(1212), + [anon_sym_LPAREN2] = ACTIONS(1214), + [anon_sym_BANG] = ACTIONS(1214), + [anon_sym_TILDE] = ACTIONS(1214), + [anon_sym_DASH] = ACTIONS(1212), + [anon_sym_PLUS] = ACTIONS(1212), + [anon_sym_STAR] = ACTIONS(1214), + [anon_sym_AMP] = ACTIONS(1214), + [anon_sym_SEMI] = ACTIONS(1214), + [anon_sym___extension__] = ACTIONS(1212), + [anon_sym_typedef] = ACTIONS(1212), + [anon_sym_extern] = ACTIONS(1212), + [anon_sym___attribute__] = ACTIONS(1212), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1214), + [anon_sym___declspec] = ACTIONS(1212), + [anon_sym___cdecl] = ACTIONS(1212), + [anon_sym___clrcall] = ACTIONS(1212), + [anon_sym___stdcall] = ACTIONS(1212), + [anon_sym___fastcall] = ACTIONS(1212), + [anon_sym___thiscall] = ACTIONS(1212), + [anon_sym___vectorcall] = ACTIONS(1212), + [anon_sym_LBRACE] = ACTIONS(1214), + [anon_sym_signed] = ACTIONS(1212), + [anon_sym_unsigned] = ACTIONS(1212), + [anon_sym_long] = ACTIONS(1212), + [anon_sym_short] = ACTIONS(1212), + [anon_sym_static] = ACTIONS(1212), + [anon_sym_auto] = ACTIONS(1212), + [anon_sym_register] = ACTIONS(1212), + [anon_sym_inline] = ACTIONS(1212), + [anon_sym___inline] = ACTIONS(1212), + [anon_sym___inline__] = ACTIONS(1212), + [anon_sym___forceinline] = ACTIONS(1212), + [anon_sym_thread_local] = ACTIONS(1212), + [anon_sym___thread] = ACTIONS(1212), + [anon_sym_const] = ACTIONS(1212), + [anon_sym_constexpr] = ACTIONS(1212), + [anon_sym_volatile] = ACTIONS(1212), + [anon_sym_restrict] = ACTIONS(1212), + [anon_sym___restrict__] = ACTIONS(1212), + [anon_sym__Atomic] = ACTIONS(1212), + [anon_sym__Noreturn] = ACTIONS(1212), + [anon_sym_noreturn] = ACTIONS(1212), + [anon_sym_alignas] = ACTIONS(1212), + [anon_sym__Alignas] = ACTIONS(1212), + [sym_primitive_type] = ACTIONS(1212), + [anon_sym_enum] = ACTIONS(1212), + [anon_sym_struct] = ACTIONS(1212), + [anon_sym_union] = ACTIONS(1212), + [anon_sym_if] = ACTIONS(1212), + [anon_sym_else] = ACTIONS(1212), + [anon_sym_switch] = ACTIONS(1212), + [anon_sym_case] = ACTIONS(1212), + [anon_sym_default] = ACTIONS(1212), + [anon_sym_while] = ACTIONS(1212), + [anon_sym_do] = ACTIONS(1212), + [anon_sym_for] = ACTIONS(1212), + [anon_sym_return] = ACTIONS(1212), + [anon_sym_break] = ACTIONS(1212), + [anon_sym_continue] = ACTIONS(1212), + [anon_sym_goto] = ACTIONS(1212), + [anon_sym___try] = ACTIONS(1212), + [anon_sym___leave] = ACTIONS(1212), + [anon_sym_DASH_DASH] = ACTIONS(1214), + [anon_sym_PLUS_PLUS] = ACTIONS(1214), + [anon_sym_sizeof] = ACTIONS(1212), + [anon_sym___alignof__] = ACTIONS(1212), + [anon_sym___alignof] = ACTIONS(1212), + [anon_sym__alignof] = ACTIONS(1212), + [anon_sym_alignof] = ACTIONS(1212), + [anon_sym__Alignof] = ACTIONS(1212), + [anon_sym_offsetof] = ACTIONS(1212), + [anon_sym__Generic] = ACTIONS(1212), + [anon_sym_asm] = ACTIONS(1212), + [anon_sym___asm__] = ACTIONS(1212), + [sym__number_literal] = ACTIONS(1214), + [anon_sym_L_SQUOTE] = ACTIONS(1214), + [anon_sym_u_SQUOTE] = ACTIONS(1214), + [anon_sym_U_SQUOTE] = ACTIONS(1214), + [anon_sym_u8_SQUOTE] = ACTIONS(1214), + [anon_sym_SQUOTE] = ACTIONS(1214), + [anon_sym_L_DQUOTE] = ACTIONS(1214), + [anon_sym_u_DQUOTE] = ACTIONS(1214), + [anon_sym_U_DQUOTE] = ACTIONS(1214), + [anon_sym_u8_DQUOTE] = ACTIONS(1214), + [anon_sym_DQUOTE] = ACTIONS(1214), + [sym_true] = ACTIONS(1212), + [sym_false] = ACTIONS(1212), + [anon_sym_NULL] = ACTIONS(1212), + [anon_sym_nullptr] = ACTIONS(1212), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1214), + }, + [208] = { + [sym__identifier] = ACTIONS(1224), + [aux_sym_preproc_include_token1] = ACTIONS(1224), + [aux_sym_preproc_def_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token2] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1224), + [sym_preproc_directive] = ACTIONS(1224), + [anon_sym_LPAREN2] = ACTIONS(1226), + [anon_sym_BANG] = ACTIONS(1226), + [anon_sym_TILDE] = ACTIONS(1226), + [anon_sym_DASH] = ACTIONS(1224), + [anon_sym_PLUS] = ACTIONS(1224), + [anon_sym_STAR] = ACTIONS(1226), + [anon_sym_AMP] = ACTIONS(1226), + [anon_sym_SEMI] = ACTIONS(1226), + [anon_sym___extension__] = ACTIONS(1224), + [anon_sym_typedef] = ACTIONS(1224), + [anon_sym_extern] = ACTIONS(1224), + [anon_sym___attribute__] = ACTIONS(1224), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1226), + [anon_sym___declspec] = ACTIONS(1224), + [anon_sym___cdecl] = ACTIONS(1224), + [anon_sym___clrcall] = ACTIONS(1224), + [anon_sym___stdcall] = ACTIONS(1224), + [anon_sym___fastcall] = ACTIONS(1224), + [anon_sym___thiscall] = ACTIONS(1224), + [anon_sym___vectorcall] = ACTIONS(1224), + [anon_sym_LBRACE] = ACTIONS(1226), + [anon_sym_signed] = ACTIONS(1224), + [anon_sym_unsigned] = ACTIONS(1224), + [anon_sym_long] = ACTIONS(1224), + [anon_sym_short] = ACTIONS(1224), + [anon_sym_static] = ACTIONS(1224), + [anon_sym_auto] = ACTIONS(1224), + [anon_sym_register] = ACTIONS(1224), + [anon_sym_inline] = ACTIONS(1224), + [anon_sym___inline] = ACTIONS(1224), + [anon_sym___inline__] = ACTIONS(1224), + [anon_sym___forceinline] = ACTIONS(1224), + [anon_sym_thread_local] = ACTIONS(1224), + [anon_sym___thread] = ACTIONS(1224), + [anon_sym_const] = ACTIONS(1224), + [anon_sym_constexpr] = ACTIONS(1224), + [anon_sym_volatile] = ACTIONS(1224), + [anon_sym_restrict] = ACTIONS(1224), + [anon_sym___restrict__] = ACTIONS(1224), + [anon_sym__Atomic] = ACTIONS(1224), + [anon_sym__Noreturn] = ACTIONS(1224), + [anon_sym_noreturn] = ACTIONS(1224), + [anon_sym_alignas] = ACTIONS(1224), + [anon_sym__Alignas] = ACTIONS(1224), + [sym_primitive_type] = ACTIONS(1224), + [anon_sym_enum] = ACTIONS(1224), + [anon_sym_struct] = ACTIONS(1224), + [anon_sym_union] = ACTIONS(1224), + [anon_sym_if] = ACTIONS(1224), + [anon_sym_else] = ACTIONS(1224), + [anon_sym_switch] = ACTIONS(1224), + [anon_sym_case] = ACTIONS(1224), + [anon_sym_default] = ACTIONS(1224), + [anon_sym_while] = ACTIONS(1224), + [anon_sym_do] = ACTIONS(1224), + [anon_sym_for] = ACTIONS(1224), + [anon_sym_return] = ACTIONS(1224), + [anon_sym_break] = ACTIONS(1224), + [anon_sym_continue] = ACTIONS(1224), + [anon_sym_goto] = ACTIONS(1224), + [anon_sym___try] = ACTIONS(1224), + [anon_sym___leave] = ACTIONS(1224), + [anon_sym_DASH_DASH] = ACTIONS(1226), + [anon_sym_PLUS_PLUS] = ACTIONS(1226), + [anon_sym_sizeof] = ACTIONS(1224), + [anon_sym___alignof__] = ACTIONS(1224), + [anon_sym___alignof] = ACTIONS(1224), + [anon_sym__alignof] = ACTIONS(1224), + [anon_sym_alignof] = ACTIONS(1224), + [anon_sym__Alignof] = ACTIONS(1224), + [anon_sym_offsetof] = ACTIONS(1224), + [anon_sym__Generic] = ACTIONS(1224), + [anon_sym_asm] = ACTIONS(1224), + [anon_sym___asm__] = ACTIONS(1224), + [sym__number_literal] = ACTIONS(1226), + [anon_sym_L_SQUOTE] = ACTIONS(1226), + [anon_sym_u_SQUOTE] = ACTIONS(1226), + [anon_sym_U_SQUOTE] = ACTIONS(1226), + [anon_sym_u8_SQUOTE] = ACTIONS(1226), + [anon_sym_SQUOTE] = ACTIONS(1226), + [anon_sym_L_DQUOTE] = ACTIONS(1226), + [anon_sym_u_DQUOTE] = ACTIONS(1226), + [anon_sym_U_DQUOTE] = ACTIONS(1226), + [anon_sym_u8_DQUOTE] = ACTIONS(1226), + [anon_sym_DQUOTE] = ACTIONS(1226), + [sym_true] = ACTIONS(1224), + [sym_false] = ACTIONS(1224), + [anon_sym_NULL] = ACTIONS(1224), + [anon_sym_nullptr] = ACTIONS(1224), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1226), + }, + [209] = { + [sym__identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token2] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym___extension__] = ACTIONS(1124), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym___inline] = ACTIONS(1124), + [anon_sym___inline__] = ACTIONS(1124), + [anon_sym___forceinline] = ACTIONS(1124), + [anon_sym_thread_local] = ACTIONS(1124), + [anon_sym___thread] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_constexpr] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym___restrict__] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym__Noreturn] = ACTIONS(1124), + [anon_sym_noreturn] = ACTIONS(1124), + [anon_sym_alignas] = ACTIONS(1124), + [anon_sym__Alignas] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_else] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym___try] = ACTIONS(1124), + [anon_sym___leave] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [anon_sym___alignof__] = ACTIONS(1124), + [anon_sym___alignof] = ACTIONS(1124), + [anon_sym__alignof] = ACTIONS(1124), + [anon_sym_alignof] = ACTIONS(1124), + [anon_sym__Alignof] = ACTIONS(1124), + [anon_sym_offsetof] = ACTIONS(1124), + [anon_sym__Generic] = ACTIONS(1124), + [anon_sym_asm] = ACTIONS(1124), + [anon_sym___asm__] = ACTIONS(1124), + [sym__number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [anon_sym_NULL] = ACTIONS(1124), + [anon_sym_nullptr] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1126), + }, + [210] = { + [sym__identifier] = ACTIONS(1156), + [aux_sym_preproc_include_token1] = ACTIONS(1156), + [aux_sym_preproc_def_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token2] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1156), + [sym_preproc_directive] = ACTIONS(1156), + [anon_sym_LPAREN2] = ACTIONS(1158), + [anon_sym_BANG] = ACTIONS(1158), + [anon_sym_TILDE] = ACTIONS(1158), + [anon_sym_DASH] = ACTIONS(1156), + [anon_sym_PLUS] = ACTIONS(1156), + [anon_sym_STAR] = ACTIONS(1158), + [anon_sym_AMP] = ACTIONS(1158), + [anon_sym_SEMI] = ACTIONS(1158), + [anon_sym___extension__] = ACTIONS(1156), + [anon_sym_typedef] = ACTIONS(1156), + [anon_sym_extern] = ACTIONS(1156), + [anon_sym___attribute__] = ACTIONS(1156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1158), + [anon_sym___declspec] = ACTIONS(1156), + [anon_sym___cdecl] = ACTIONS(1156), + [anon_sym___clrcall] = ACTIONS(1156), + [anon_sym___stdcall] = ACTIONS(1156), + [anon_sym___fastcall] = ACTIONS(1156), + [anon_sym___thiscall] = ACTIONS(1156), + [anon_sym___vectorcall] = ACTIONS(1156), + [anon_sym_LBRACE] = ACTIONS(1158), + [anon_sym_signed] = ACTIONS(1156), + [anon_sym_unsigned] = ACTIONS(1156), + [anon_sym_long] = ACTIONS(1156), + [anon_sym_short] = ACTIONS(1156), + [anon_sym_static] = ACTIONS(1156), + [anon_sym_auto] = ACTIONS(1156), + [anon_sym_register] = ACTIONS(1156), + [anon_sym_inline] = ACTIONS(1156), + [anon_sym___inline] = ACTIONS(1156), + [anon_sym___inline__] = ACTIONS(1156), + [anon_sym___forceinline] = ACTIONS(1156), + [anon_sym_thread_local] = ACTIONS(1156), + [anon_sym___thread] = ACTIONS(1156), + [anon_sym_const] = ACTIONS(1156), + [anon_sym_constexpr] = ACTIONS(1156), + [anon_sym_volatile] = ACTIONS(1156), + [anon_sym_restrict] = ACTIONS(1156), + [anon_sym___restrict__] = ACTIONS(1156), + [anon_sym__Atomic] = ACTIONS(1156), + [anon_sym__Noreturn] = ACTIONS(1156), + [anon_sym_noreturn] = ACTIONS(1156), + [anon_sym_alignas] = ACTIONS(1156), + [anon_sym__Alignas] = ACTIONS(1156), + [sym_primitive_type] = ACTIONS(1156), + [anon_sym_enum] = ACTIONS(1156), + [anon_sym_struct] = ACTIONS(1156), + [anon_sym_union] = ACTIONS(1156), + [anon_sym_if] = ACTIONS(1156), + [anon_sym_else] = ACTIONS(1156), + [anon_sym_switch] = ACTIONS(1156), + [anon_sym_case] = ACTIONS(1156), + [anon_sym_default] = ACTIONS(1156), + [anon_sym_while] = ACTIONS(1156), + [anon_sym_do] = ACTIONS(1156), + [anon_sym_for] = ACTIONS(1156), + [anon_sym_return] = ACTIONS(1156), + [anon_sym_break] = ACTIONS(1156), + [anon_sym_continue] = ACTIONS(1156), + [anon_sym_goto] = ACTIONS(1156), + [anon_sym___try] = ACTIONS(1156), + [anon_sym___leave] = ACTIONS(1156), + [anon_sym_DASH_DASH] = ACTIONS(1158), + [anon_sym_PLUS_PLUS] = ACTIONS(1158), + [anon_sym_sizeof] = ACTIONS(1156), + [anon_sym___alignof__] = ACTIONS(1156), + [anon_sym___alignof] = ACTIONS(1156), + [anon_sym__alignof] = ACTIONS(1156), + [anon_sym_alignof] = ACTIONS(1156), + [anon_sym__Alignof] = ACTIONS(1156), + [anon_sym_offsetof] = ACTIONS(1156), + [anon_sym__Generic] = ACTIONS(1156), + [anon_sym_asm] = ACTIONS(1156), + [anon_sym___asm__] = ACTIONS(1156), + [sym__number_literal] = ACTIONS(1158), + [anon_sym_L_SQUOTE] = ACTIONS(1158), + [anon_sym_u_SQUOTE] = ACTIONS(1158), + [anon_sym_U_SQUOTE] = ACTIONS(1158), + [anon_sym_u8_SQUOTE] = ACTIONS(1158), + [anon_sym_SQUOTE] = ACTIONS(1158), + [anon_sym_L_DQUOTE] = ACTIONS(1158), + [anon_sym_u_DQUOTE] = ACTIONS(1158), + [anon_sym_U_DQUOTE] = ACTIONS(1158), + [anon_sym_u8_DQUOTE] = ACTIONS(1158), + [anon_sym_DQUOTE] = ACTIONS(1158), + [sym_true] = ACTIONS(1156), + [sym_false] = ACTIONS(1156), + [anon_sym_NULL] = ACTIONS(1156), + [anon_sym_nullptr] = ACTIONS(1156), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1158), + }, + [211] = { + [ts_builtin_sym_end] = ACTIONS(1182), + [sym__identifier] = ACTIONS(1180), + [aux_sym_preproc_include_token1] = ACTIONS(1180), + [aux_sym_preproc_def_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1180), + [sym_preproc_directive] = ACTIONS(1180), + [anon_sym_LPAREN2] = ACTIONS(1182), + [anon_sym_BANG] = ACTIONS(1182), + [anon_sym_TILDE] = ACTIONS(1182), + [anon_sym_DASH] = ACTIONS(1180), + [anon_sym_PLUS] = ACTIONS(1180), + [anon_sym_STAR] = ACTIONS(1182), + [anon_sym_AMP] = ACTIONS(1182), + [anon_sym_SEMI] = ACTIONS(1182), + [anon_sym___extension__] = ACTIONS(1180), + [anon_sym_typedef] = ACTIONS(1180), + [anon_sym_extern] = ACTIONS(1180), + [anon_sym___attribute__] = ACTIONS(1180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1182), + [anon_sym___declspec] = ACTIONS(1180), + [anon_sym___cdecl] = ACTIONS(1180), + [anon_sym___clrcall] = ACTIONS(1180), + [anon_sym___stdcall] = ACTIONS(1180), + [anon_sym___fastcall] = ACTIONS(1180), + [anon_sym___thiscall] = ACTIONS(1180), + [anon_sym___vectorcall] = ACTIONS(1180), + [anon_sym_LBRACE] = ACTIONS(1182), + [anon_sym_signed] = ACTIONS(1180), + [anon_sym_unsigned] = ACTIONS(1180), + [anon_sym_long] = ACTIONS(1180), + [anon_sym_short] = ACTIONS(1180), + [anon_sym_static] = ACTIONS(1180), + [anon_sym_auto] = ACTIONS(1180), + [anon_sym_register] = ACTIONS(1180), + [anon_sym_inline] = ACTIONS(1180), + [anon_sym___inline] = ACTIONS(1180), + [anon_sym___inline__] = ACTIONS(1180), + [anon_sym___forceinline] = ACTIONS(1180), + [anon_sym_thread_local] = ACTIONS(1180), + [anon_sym___thread] = ACTIONS(1180), + [anon_sym_const] = ACTIONS(1180), + [anon_sym_constexpr] = ACTIONS(1180), + [anon_sym_volatile] = ACTIONS(1180), + [anon_sym_restrict] = ACTIONS(1180), + [anon_sym___restrict__] = ACTIONS(1180), + [anon_sym__Atomic] = ACTIONS(1180), + [anon_sym__Noreturn] = ACTIONS(1180), + [anon_sym_noreturn] = ACTIONS(1180), + [anon_sym_alignas] = ACTIONS(1180), + [anon_sym__Alignas] = ACTIONS(1180), + [sym_primitive_type] = ACTIONS(1180), + [anon_sym_enum] = ACTIONS(1180), + [anon_sym_struct] = ACTIONS(1180), + [anon_sym_union] = ACTIONS(1180), + [anon_sym_if] = ACTIONS(1180), + [anon_sym_else] = ACTIONS(1180), + [anon_sym_switch] = ACTIONS(1180), + [anon_sym_case] = ACTIONS(1180), + [anon_sym_default] = ACTIONS(1180), + [anon_sym_while] = ACTIONS(1180), + [anon_sym_do] = ACTIONS(1180), + [anon_sym_for] = ACTIONS(1180), + [anon_sym_return] = ACTIONS(1180), + [anon_sym_break] = ACTIONS(1180), + [anon_sym_continue] = ACTIONS(1180), + [anon_sym_goto] = ACTIONS(1180), + [anon_sym___try] = ACTIONS(1180), + [anon_sym___leave] = ACTIONS(1180), + [anon_sym_DASH_DASH] = ACTIONS(1182), + [anon_sym_PLUS_PLUS] = ACTIONS(1182), + [anon_sym_sizeof] = ACTIONS(1180), + [anon_sym___alignof__] = ACTIONS(1180), + [anon_sym___alignof] = ACTIONS(1180), + [anon_sym__alignof] = ACTIONS(1180), + [anon_sym_alignof] = ACTIONS(1180), + [anon_sym__Alignof] = ACTIONS(1180), + [anon_sym_offsetof] = ACTIONS(1180), + [anon_sym__Generic] = ACTIONS(1180), + [anon_sym_asm] = ACTIONS(1180), + [anon_sym___asm__] = ACTIONS(1180), + [sym__number_literal] = ACTIONS(1182), + [anon_sym_L_SQUOTE] = ACTIONS(1182), + [anon_sym_u_SQUOTE] = ACTIONS(1182), + [anon_sym_U_SQUOTE] = ACTIONS(1182), + [anon_sym_u8_SQUOTE] = ACTIONS(1182), + [anon_sym_SQUOTE] = ACTIONS(1182), + [anon_sym_L_DQUOTE] = ACTIONS(1182), + [anon_sym_u_DQUOTE] = ACTIONS(1182), + [anon_sym_U_DQUOTE] = ACTIONS(1182), + [anon_sym_u8_DQUOTE] = ACTIONS(1182), + [anon_sym_DQUOTE] = ACTIONS(1182), + [sym_true] = ACTIONS(1180), + [sym_false] = ACTIONS(1180), + [anon_sym_NULL] = ACTIONS(1180), + [anon_sym_nullptr] = ACTIONS(1180), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1182), + }, + [212] = { + [ts_builtin_sym_end] = ACTIONS(1194), + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [213] = { + [ts_builtin_sym_end] = ACTIONS(1194), + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [214] = { + [ts_builtin_sym_end] = ACTIONS(1114), + [sym__identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym___extension__] = ACTIONS(1112), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym___inline] = ACTIONS(1112), + [anon_sym___inline__] = ACTIONS(1112), + [anon_sym___forceinline] = ACTIONS(1112), + [anon_sym_thread_local] = ACTIONS(1112), + [anon_sym___thread] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_constexpr] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym___restrict__] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym__Noreturn] = ACTIONS(1112), + [anon_sym_noreturn] = ACTIONS(1112), + [anon_sym_alignas] = ACTIONS(1112), + [anon_sym__Alignas] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_else] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym___try] = ACTIONS(1112), + [anon_sym___leave] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [anon_sym___alignof__] = ACTIONS(1112), + [anon_sym___alignof] = ACTIONS(1112), + [anon_sym__alignof] = ACTIONS(1112), + [anon_sym_alignof] = ACTIONS(1112), + [anon_sym__Alignof] = ACTIONS(1112), + [anon_sym_offsetof] = ACTIONS(1112), + [anon_sym__Generic] = ACTIONS(1112), + [anon_sym_asm] = ACTIONS(1112), + [anon_sym___asm__] = ACTIONS(1112), + [sym__number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [anon_sym_NULL] = ACTIONS(1112), + [anon_sym_nullptr] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1114), + }, + [215] = { + [sym__identifier] = ACTIONS(1168), + [aux_sym_preproc_include_token1] = ACTIONS(1168), + [aux_sym_preproc_def_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token2] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1168), + [sym_preproc_directive] = ACTIONS(1168), + [anon_sym_LPAREN2] = ACTIONS(1170), + [anon_sym_BANG] = ACTIONS(1170), + [anon_sym_TILDE] = ACTIONS(1170), + [anon_sym_DASH] = ACTIONS(1168), + [anon_sym_PLUS] = ACTIONS(1168), + [anon_sym_STAR] = ACTIONS(1170), + [anon_sym_AMP] = ACTIONS(1170), + [anon_sym_SEMI] = ACTIONS(1170), + [anon_sym___extension__] = ACTIONS(1168), + [anon_sym_typedef] = ACTIONS(1168), + [anon_sym_extern] = ACTIONS(1168), + [anon_sym___attribute__] = ACTIONS(1168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1170), + [anon_sym___declspec] = ACTIONS(1168), + [anon_sym___cdecl] = ACTIONS(1168), + [anon_sym___clrcall] = ACTIONS(1168), + [anon_sym___stdcall] = ACTIONS(1168), + [anon_sym___fastcall] = ACTIONS(1168), + [anon_sym___thiscall] = ACTIONS(1168), + [anon_sym___vectorcall] = ACTIONS(1168), + [anon_sym_LBRACE] = ACTIONS(1170), + [anon_sym_signed] = ACTIONS(1168), + [anon_sym_unsigned] = ACTIONS(1168), + [anon_sym_long] = ACTIONS(1168), + [anon_sym_short] = ACTIONS(1168), + [anon_sym_static] = ACTIONS(1168), + [anon_sym_auto] = ACTIONS(1168), + [anon_sym_register] = ACTIONS(1168), + [anon_sym_inline] = ACTIONS(1168), + [anon_sym___inline] = ACTIONS(1168), + [anon_sym___inline__] = ACTIONS(1168), + [anon_sym___forceinline] = ACTIONS(1168), + [anon_sym_thread_local] = ACTIONS(1168), + [anon_sym___thread] = ACTIONS(1168), + [anon_sym_const] = ACTIONS(1168), + [anon_sym_constexpr] = ACTIONS(1168), + [anon_sym_volatile] = ACTIONS(1168), + [anon_sym_restrict] = ACTIONS(1168), + [anon_sym___restrict__] = ACTIONS(1168), + [anon_sym__Atomic] = ACTIONS(1168), + [anon_sym__Noreturn] = ACTIONS(1168), + [anon_sym_noreturn] = ACTIONS(1168), + [anon_sym_alignas] = ACTIONS(1168), + [anon_sym__Alignas] = ACTIONS(1168), + [sym_primitive_type] = ACTIONS(1168), + [anon_sym_enum] = ACTIONS(1168), + [anon_sym_struct] = ACTIONS(1168), + [anon_sym_union] = ACTIONS(1168), + [anon_sym_if] = ACTIONS(1168), + [anon_sym_else] = ACTIONS(1168), + [anon_sym_switch] = ACTIONS(1168), + [anon_sym_case] = ACTIONS(1168), + [anon_sym_default] = ACTIONS(1168), + [anon_sym_while] = ACTIONS(1168), + [anon_sym_do] = ACTIONS(1168), + [anon_sym_for] = ACTIONS(1168), + [anon_sym_return] = ACTIONS(1168), + [anon_sym_break] = ACTIONS(1168), + [anon_sym_continue] = ACTIONS(1168), + [anon_sym_goto] = ACTIONS(1168), + [anon_sym___try] = ACTIONS(1168), + [anon_sym___leave] = ACTIONS(1168), + [anon_sym_DASH_DASH] = ACTIONS(1170), + [anon_sym_PLUS_PLUS] = ACTIONS(1170), + [anon_sym_sizeof] = ACTIONS(1168), + [anon_sym___alignof__] = ACTIONS(1168), + [anon_sym___alignof] = ACTIONS(1168), + [anon_sym__alignof] = ACTIONS(1168), + [anon_sym_alignof] = ACTIONS(1168), + [anon_sym__Alignof] = ACTIONS(1168), + [anon_sym_offsetof] = ACTIONS(1168), + [anon_sym__Generic] = ACTIONS(1168), + [anon_sym_asm] = ACTIONS(1168), + [anon_sym___asm__] = ACTIONS(1168), + [sym__number_literal] = ACTIONS(1170), + [anon_sym_L_SQUOTE] = ACTIONS(1170), + [anon_sym_u_SQUOTE] = ACTIONS(1170), + [anon_sym_U_SQUOTE] = ACTIONS(1170), + [anon_sym_u8_SQUOTE] = ACTIONS(1170), + [anon_sym_SQUOTE] = ACTIONS(1170), + [anon_sym_L_DQUOTE] = ACTIONS(1170), + [anon_sym_u_DQUOTE] = ACTIONS(1170), + [anon_sym_U_DQUOTE] = ACTIONS(1170), + [anon_sym_u8_DQUOTE] = ACTIONS(1170), + [anon_sym_DQUOTE] = ACTIONS(1170), + [sym_true] = ACTIONS(1168), + [sym_false] = ACTIONS(1168), + [anon_sym_NULL] = ACTIONS(1168), + [anon_sym_nullptr] = ACTIONS(1168), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1170), + }, + [216] = { + [sym__identifier] = ACTIONS(1148), + [aux_sym_preproc_include_token1] = ACTIONS(1148), + [aux_sym_preproc_def_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1148), + [sym_preproc_directive] = ACTIONS(1148), + [anon_sym_LPAREN2] = ACTIONS(1150), + [anon_sym_BANG] = ACTIONS(1150), + [anon_sym_TILDE] = ACTIONS(1150), + [anon_sym_DASH] = ACTIONS(1148), + [anon_sym_PLUS] = ACTIONS(1148), + [anon_sym_STAR] = ACTIONS(1150), + [anon_sym_AMP] = ACTIONS(1150), + [anon_sym_SEMI] = ACTIONS(1150), + [anon_sym___extension__] = ACTIONS(1148), + [anon_sym_typedef] = ACTIONS(1148), + [anon_sym_extern] = ACTIONS(1148), + [anon_sym___attribute__] = ACTIONS(1148), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1150), + [anon_sym___declspec] = ACTIONS(1148), + [anon_sym___cdecl] = ACTIONS(1148), + [anon_sym___clrcall] = ACTIONS(1148), + [anon_sym___stdcall] = ACTIONS(1148), + [anon_sym___fastcall] = ACTIONS(1148), + [anon_sym___thiscall] = ACTIONS(1148), + [anon_sym___vectorcall] = ACTIONS(1148), + [anon_sym_LBRACE] = ACTIONS(1150), + [anon_sym_RBRACE] = ACTIONS(1150), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [anon_sym_static] = ACTIONS(1148), + [anon_sym_auto] = ACTIONS(1148), + [anon_sym_register] = ACTIONS(1148), + [anon_sym_inline] = ACTIONS(1148), + [anon_sym___inline] = ACTIONS(1148), + [anon_sym___inline__] = ACTIONS(1148), + [anon_sym___forceinline] = ACTIONS(1148), + [anon_sym_thread_local] = ACTIONS(1148), + [anon_sym___thread] = ACTIONS(1148), + [anon_sym_const] = ACTIONS(1148), + [anon_sym_constexpr] = ACTIONS(1148), + [anon_sym_volatile] = ACTIONS(1148), + [anon_sym_restrict] = ACTIONS(1148), + [anon_sym___restrict__] = ACTIONS(1148), + [anon_sym__Atomic] = ACTIONS(1148), + [anon_sym__Noreturn] = ACTIONS(1148), + [anon_sym_noreturn] = ACTIONS(1148), + [anon_sym_alignas] = ACTIONS(1148), + [anon_sym__Alignas] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(1148), + [anon_sym_enum] = ACTIONS(1148), + [anon_sym_struct] = ACTIONS(1148), + [anon_sym_union] = ACTIONS(1148), + [anon_sym_if] = ACTIONS(1148), + [anon_sym_else] = ACTIONS(1148), + [anon_sym_switch] = ACTIONS(1148), + [anon_sym_case] = ACTIONS(1148), + [anon_sym_default] = ACTIONS(1148), + [anon_sym_while] = ACTIONS(1148), + [anon_sym_do] = ACTIONS(1148), + [anon_sym_for] = ACTIONS(1148), + [anon_sym_return] = ACTIONS(1148), + [anon_sym_break] = ACTIONS(1148), + [anon_sym_continue] = ACTIONS(1148), + [anon_sym_goto] = ACTIONS(1148), + [anon_sym___try] = ACTIONS(1148), + [anon_sym___leave] = ACTIONS(1148), + [anon_sym_DASH_DASH] = ACTIONS(1150), + [anon_sym_PLUS_PLUS] = ACTIONS(1150), + [anon_sym_sizeof] = ACTIONS(1148), + [anon_sym___alignof__] = ACTIONS(1148), + [anon_sym___alignof] = ACTIONS(1148), + [anon_sym__alignof] = ACTIONS(1148), + [anon_sym_alignof] = ACTIONS(1148), + [anon_sym__Alignof] = ACTIONS(1148), + [anon_sym_offsetof] = ACTIONS(1148), + [anon_sym__Generic] = ACTIONS(1148), + [anon_sym_asm] = ACTIONS(1148), + [anon_sym___asm__] = ACTIONS(1148), + [sym__number_literal] = ACTIONS(1150), + [anon_sym_L_SQUOTE] = ACTIONS(1150), + [anon_sym_u_SQUOTE] = ACTIONS(1150), + [anon_sym_U_SQUOTE] = ACTIONS(1150), + [anon_sym_u8_SQUOTE] = ACTIONS(1150), + [anon_sym_SQUOTE] = ACTIONS(1150), + [anon_sym_L_DQUOTE] = ACTIONS(1150), + [anon_sym_u_DQUOTE] = ACTIONS(1150), + [anon_sym_U_DQUOTE] = ACTIONS(1150), + [anon_sym_u8_DQUOTE] = ACTIONS(1150), + [anon_sym_DQUOTE] = ACTIONS(1150), + [sym_true] = ACTIONS(1148), + [sym_false] = ACTIONS(1148), + [anon_sym_NULL] = ACTIONS(1148), + [anon_sym_nullptr] = ACTIONS(1148), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1150), + }, + [217] = { + [ts_builtin_sym_end] = ACTIONS(1154), + [sym__identifier] = ACTIONS(1152), + [aux_sym_preproc_include_token1] = ACTIONS(1152), + [aux_sym_preproc_def_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1152), + [sym_preproc_directive] = ACTIONS(1152), + [anon_sym_LPAREN2] = ACTIONS(1154), + [anon_sym_BANG] = ACTIONS(1154), + [anon_sym_TILDE] = ACTIONS(1154), + [anon_sym_DASH] = ACTIONS(1152), + [anon_sym_PLUS] = ACTIONS(1152), + [anon_sym_STAR] = ACTIONS(1154), + [anon_sym_AMP] = ACTIONS(1154), + [anon_sym_SEMI] = ACTIONS(1154), + [anon_sym___extension__] = ACTIONS(1152), + [anon_sym_typedef] = ACTIONS(1152), + [anon_sym_extern] = ACTIONS(1152), + [anon_sym___attribute__] = ACTIONS(1152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1154), + [anon_sym___declspec] = ACTIONS(1152), + [anon_sym___cdecl] = ACTIONS(1152), + [anon_sym___clrcall] = ACTIONS(1152), + [anon_sym___stdcall] = ACTIONS(1152), + [anon_sym___fastcall] = ACTIONS(1152), + [anon_sym___thiscall] = ACTIONS(1152), + [anon_sym___vectorcall] = ACTIONS(1152), + [anon_sym_LBRACE] = ACTIONS(1154), + [anon_sym_signed] = ACTIONS(1152), + [anon_sym_unsigned] = ACTIONS(1152), + [anon_sym_long] = ACTIONS(1152), + [anon_sym_short] = ACTIONS(1152), + [anon_sym_static] = ACTIONS(1152), + [anon_sym_auto] = ACTIONS(1152), + [anon_sym_register] = ACTIONS(1152), + [anon_sym_inline] = ACTIONS(1152), + [anon_sym___inline] = ACTIONS(1152), + [anon_sym___inline__] = ACTIONS(1152), + [anon_sym___forceinline] = ACTIONS(1152), + [anon_sym_thread_local] = ACTIONS(1152), + [anon_sym___thread] = ACTIONS(1152), + [anon_sym_const] = ACTIONS(1152), + [anon_sym_constexpr] = ACTIONS(1152), + [anon_sym_volatile] = ACTIONS(1152), + [anon_sym_restrict] = ACTIONS(1152), + [anon_sym___restrict__] = ACTIONS(1152), + [anon_sym__Atomic] = ACTIONS(1152), + [anon_sym__Noreturn] = ACTIONS(1152), + [anon_sym_noreturn] = ACTIONS(1152), + [anon_sym_alignas] = ACTIONS(1152), + [anon_sym__Alignas] = ACTIONS(1152), + [sym_primitive_type] = ACTIONS(1152), + [anon_sym_enum] = ACTIONS(1152), + [anon_sym_struct] = ACTIONS(1152), + [anon_sym_union] = ACTIONS(1152), + [anon_sym_if] = ACTIONS(1152), + [anon_sym_else] = ACTIONS(1152), + [anon_sym_switch] = ACTIONS(1152), + [anon_sym_case] = ACTIONS(1152), + [anon_sym_default] = ACTIONS(1152), + [anon_sym_while] = ACTIONS(1152), + [anon_sym_do] = ACTIONS(1152), + [anon_sym_for] = ACTIONS(1152), + [anon_sym_return] = ACTIONS(1152), + [anon_sym_break] = ACTIONS(1152), + [anon_sym_continue] = ACTIONS(1152), + [anon_sym_goto] = ACTIONS(1152), + [anon_sym___try] = ACTIONS(1152), + [anon_sym___leave] = ACTIONS(1152), + [anon_sym_DASH_DASH] = ACTIONS(1154), + [anon_sym_PLUS_PLUS] = ACTIONS(1154), + [anon_sym_sizeof] = ACTIONS(1152), + [anon_sym___alignof__] = ACTIONS(1152), + [anon_sym___alignof] = ACTIONS(1152), + [anon_sym__alignof] = ACTIONS(1152), + [anon_sym_alignof] = ACTIONS(1152), + [anon_sym__Alignof] = ACTIONS(1152), + [anon_sym_offsetof] = ACTIONS(1152), + [anon_sym__Generic] = ACTIONS(1152), + [anon_sym_asm] = ACTIONS(1152), + [anon_sym___asm__] = ACTIONS(1152), + [sym__number_literal] = ACTIONS(1154), + [anon_sym_L_SQUOTE] = ACTIONS(1154), + [anon_sym_u_SQUOTE] = ACTIONS(1154), + [anon_sym_U_SQUOTE] = ACTIONS(1154), + [anon_sym_u8_SQUOTE] = ACTIONS(1154), + [anon_sym_SQUOTE] = ACTIONS(1154), + [anon_sym_L_DQUOTE] = ACTIONS(1154), + [anon_sym_u_DQUOTE] = ACTIONS(1154), + [anon_sym_U_DQUOTE] = ACTIONS(1154), + [anon_sym_u8_DQUOTE] = ACTIONS(1154), + [anon_sym_DQUOTE] = ACTIONS(1154), + [sym_true] = ACTIONS(1152), + [sym_false] = ACTIONS(1152), + [anon_sym_NULL] = ACTIONS(1152), + [anon_sym_nullptr] = ACTIONS(1152), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1154), + }, + [218] = { + [sym__identifier] = ACTIONS(1188), + [aux_sym_preproc_include_token1] = ACTIONS(1188), + [aux_sym_preproc_def_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token2] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1188), + [sym_preproc_directive] = ACTIONS(1188), + [anon_sym_LPAREN2] = ACTIONS(1190), + [anon_sym_BANG] = ACTIONS(1190), + [anon_sym_TILDE] = ACTIONS(1190), + [anon_sym_DASH] = ACTIONS(1188), + [anon_sym_PLUS] = ACTIONS(1188), + [anon_sym_STAR] = ACTIONS(1190), + [anon_sym_AMP] = ACTIONS(1190), + [anon_sym_SEMI] = ACTIONS(1190), + [anon_sym___extension__] = ACTIONS(1188), + [anon_sym_typedef] = ACTIONS(1188), + [anon_sym_extern] = ACTIONS(1188), + [anon_sym___attribute__] = ACTIONS(1188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1190), + [anon_sym___declspec] = ACTIONS(1188), + [anon_sym___cdecl] = ACTIONS(1188), + [anon_sym___clrcall] = ACTIONS(1188), + [anon_sym___stdcall] = ACTIONS(1188), + [anon_sym___fastcall] = ACTIONS(1188), + [anon_sym___thiscall] = ACTIONS(1188), + [anon_sym___vectorcall] = ACTIONS(1188), + [anon_sym_LBRACE] = ACTIONS(1190), + [anon_sym_signed] = ACTIONS(1188), + [anon_sym_unsigned] = ACTIONS(1188), + [anon_sym_long] = ACTIONS(1188), + [anon_sym_short] = ACTIONS(1188), + [anon_sym_static] = ACTIONS(1188), + [anon_sym_auto] = ACTIONS(1188), + [anon_sym_register] = ACTIONS(1188), + [anon_sym_inline] = ACTIONS(1188), + [anon_sym___inline] = ACTIONS(1188), + [anon_sym___inline__] = ACTIONS(1188), + [anon_sym___forceinline] = ACTIONS(1188), + [anon_sym_thread_local] = ACTIONS(1188), + [anon_sym___thread] = ACTIONS(1188), + [anon_sym_const] = ACTIONS(1188), + [anon_sym_constexpr] = ACTIONS(1188), + [anon_sym_volatile] = ACTIONS(1188), + [anon_sym_restrict] = ACTIONS(1188), + [anon_sym___restrict__] = ACTIONS(1188), + [anon_sym__Atomic] = ACTIONS(1188), + [anon_sym__Noreturn] = ACTIONS(1188), + [anon_sym_noreturn] = ACTIONS(1188), + [anon_sym_alignas] = ACTIONS(1188), + [anon_sym__Alignas] = ACTIONS(1188), + [sym_primitive_type] = ACTIONS(1188), + [anon_sym_enum] = ACTIONS(1188), + [anon_sym_struct] = ACTIONS(1188), + [anon_sym_union] = ACTIONS(1188), + [anon_sym_if] = ACTIONS(1188), + [anon_sym_else] = ACTIONS(1188), + [anon_sym_switch] = ACTIONS(1188), + [anon_sym_case] = ACTIONS(1188), + [anon_sym_default] = ACTIONS(1188), + [anon_sym_while] = ACTIONS(1188), + [anon_sym_do] = ACTIONS(1188), + [anon_sym_for] = ACTIONS(1188), + [anon_sym_return] = ACTIONS(1188), + [anon_sym_break] = ACTIONS(1188), + [anon_sym_continue] = ACTIONS(1188), + [anon_sym_goto] = ACTIONS(1188), + [anon_sym___try] = ACTIONS(1188), + [anon_sym___leave] = ACTIONS(1188), + [anon_sym_DASH_DASH] = ACTIONS(1190), + [anon_sym_PLUS_PLUS] = ACTIONS(1190), + [anon_sym_sizeof] = ACTIONS(1188), + [anon_sym___alignof__] = ACTIONS(1188), + [anon_sym___alignof] = ACTIONS(1188), + [anon_sym__alignof] = ACTIONS(1188), + [anon_sym_alignof] = ACTIONS(1188), + [anon_sym__Alignof] = ACTIONS(1188), + [anon_sym_offsetof] = ACTIONS(1188), + [anon_sym__Generic] = ACTIONS(1188), + [anon_sym_asm] = ACTIONS(1188), + [anon_sym___asm__] = ACTIONS(1188), + [sym__number_literal] = ACTIONS(1190), + [anon_sym_L_SQUOTE] = ACTIONS(1190), + [anon_sym_u_SQUOTE] = ACTIONS(1190), + [anon_sym_U_SQUOTE] = ACTIONS(1190), + [anon_sym_u8_SQUOTE] = ACTIONS(1190), + [anon_sym_SQUOTE] = ACTIONS(1190), + [anon_sym_L_DQUOTE] = ACTIONS(1190), + [anon_sym_u_DQUOTE] = ACTIONS(1190), + [anon_sym_U_DQUOTE] = ACTIONS(1190), + [anon_sym_u8_DQUOTE] = ACTIONS(1190), + [anon_sym_DQUOTE] = ACTIONS(1190), + [sym_true] = ACTIONS(1188), + [sym_false] = ACTIONS(1188), + [anon_sym_NULL] = ACTIONS(1188), + [anon_sym_nullptr] = ACTIONS(1188), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1190), + }, + [219] = { + [sym__identifier] = ACTIONS(1208), + [aux_sym_preproc_include_token1] = ACTIONS(1208), + [aux_sym_preproc_def_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token2] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1208), + [sym_preproc_directive] = ACTIONS(1208), + [anon_sym_LPAREN2] = ACTIONS(1210), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1208), + [anon_sym_PLUS] = ACTIONS(1208), + [anon_sym_STAR] = ACTIONS(1210), + [anon_sym_AMP] = ACTIONS(1210), + [anon_sym_SEMI] = ACTIONS(1210), + [anon_sym___extension__] = ACTIONS(1208), + [anon_sym_typedef] = ACTIONS(1208), + [anon_sym_extern] = ACTIONS(1208), + [anon_sym___attribute__] = ACTIONS(1208), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1210), + [anon_sym___declspec] = ACTIONS(1208), + [anon_sym___cdecl] = ACTIONS(1208), + [anon_sym___clrcall] = ACTIONS(1208), + [anon_sym___stdcall] = ACTIONS(1208), + [anon_sym___fastcall] = ACTIONS(1208), + [anon_sym___thiscall] = ACTIONS(1208), + [anon_sym___vectorcall] = ACTIONS(1208), + [anon_sym_LBRACE] = ACTIONS(1210), + [anon_sym_signed] = ACTIONS(1208), + [anon_sym_unsigned] = ACTIONS(1208), + [anon_sym_long] = ACTIONS(1208), + [anon_sym_short] = ACTIONS(1208), + [anon_sym_static] = ACTIONS(1208), + [anon_sym_auto] = ACTIONS(1208), + [anon_sym_register] = ACTIONS(1208), + [anon_sym_inline] = ACTIONS(1208), + [anon_sym___inline] = ACTIONS(1208), + [anon_sym___inline__] = ACTIONS(1208), + [anon_sym___forceinline] = ACTIONS(1208), + [anon_sym_thread_local] = ACTIONS(1208), + [anon_sym___thread] = ACTIONS(1208), + [anon_sym_const] = ACTIONS(1208), + [anon_sym_constexpr] = ACTIONS(1208), + [anon_sym_volatile] = ACTIONS(1208), + [anon_sym_restrict] = ACTIONS(1208), + [anon_sym___restrict__] = ACTIONS(1208), + [anon_sym__Atomic] = ACTIONS(1208), + [anon_sym__Noreturn] = ACTIONS(1208), + [anon_sym_noreturn] = ACTIONS(1208), + [anon_sym_alignas] = ACTIONS(1208), + [anon_sym__Alignas] = ACTIONS(1208), + [sym_primitive_type] = ACTIONS(1208), + [anon_sym_enum] = ACTIONS(1208), + [anon_sym_struct] = ACTIONS(1208), + [anon_sym_union] = ACTIONS(1208), + [anon_sym_if] = ACTIONS(1208), + [anon_sym_else] = ACTIONS(1208), + [anon_sym_switch] = ACTIONS(1208), + [anon_sym_case] = ACTIONS(1208), + [anon_sym_default] = ACTIONS(1208), + [anon_sym_while] = ACTIONS(1208), + [anon_sym_do] = ACTIONS(1208), + [anon_sym_for] = ACTIONS(1208), + [anon_sym_return] = ACTIONS(1208), + [anon_sym_break] = ACTIONS(1208), + [anon_sym_continue] = ACTIONS(1208), + [anon_sym_goto] = ACTIONS(1208), + [anon_sym___try] = ACTIONS(1208), + [anon_sym___leave] = ACTIONS(1208), + [anon_sym_DASH_DASH] = ACTIONS(1210), + [anon_sym_PLUS_PLUS] = ACTIONS(1210), + [anon_sym_sizeof] = ACTIONS(1208), + [anon_sym___alignof__] = ACTIONS(1208), + [anon_sym___alignof] = ACTIONS(1208), + [anon_sym__alignof] = ACTIONS(1208), + [anon_sym_alignof] = ACTIONS(1208), + [anon_sym__Alignof] = ACTIONS(1208), + [anon_sym_offsetof] = ACTIONS(1208), + [anon_sym__Generic] = ACTIONS(1208), + [anon_sym_asm] = ACTIONS(1208), + [anon_sym___asm__] = ACTIONS(1208), + [sym__number_literal] = ACTIONS(1210), + [anon_sym_L_SQUOTE] = ACTIONS(1210), + [anon_sym_u_SQUOTE] = ACTIONS(1210), + [anon_sym_U_SQUOTE] = ACTIONS(1210), + [anon_sym_u8_SQUOTE] = ACTIONS(1210), + [anon_sym_SQUOTE] = ACTIONS(1210), + [anon_sym_L_DQUOTE] = ACTIONS(1210), + [anon_sym_u_DQUOTE] = ACTIONS(1210), + [anon_sym_U_DQUOTE] = ACTIONS(1210), + [anon_sym_u8_DQUOTE] = ACTIONS(1210), + [anon_sym_DQUOTE] = ACTIONS(1210), + [sym_true] = ACTIONS(1208), + [sym_false] = ACTIONS(1208), + [anon_sym_NULL] = ACTIONS(1208), + [anon_sym_nullptr] = ACTIONS(1208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1210), + }, + [220] = { + [ts_builtin_sym_end] = ACTIONS(1122), + [sym__identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym___extension__] = ACTIONS(1120), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym___inline] = ACTIONS(1120), + [anon_sym___inline__] = ACTIONS(1120), + [anon_sym___forceinline] = ACTIONS(1120), + [anon_sym_thread_local] = ACTIONS(1120), + [anon_sym___thread] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_constexpr] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym___restrict__] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym__Noreturn] = ACTIONS(1120), + [anon_sym_noreturn] = ACTIONS(1120), + [anon_sym_alignas] = ACTIONS(1120), + [anon_sym__Alignas] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_else] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym___try] = ACTIONS(1120), + [anon_sym___leave] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [anon_sym___alignof__] = ACTIONS(1120), + [anon_sym___alignof] = ACTIONS(1120), + [anon_sym__alignof] = ACTIONS(1120), + [anon_sym_alignof] = ACTIONS(1120), + [anon_sym__Alignof] = ACTIONS(1120), + [anon_sym_offsetof] = ACTIONS(1120), + [anon_sym__Generic] = ACTIONS(1120), + [anon_sym_asm] = ACTIONS(1120), + [anon_sym___asm__] = ACTIONS(1120), + [sym__number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [anon_sym_NULL] = ACTIONS(1120), + [anon_sym_nullptr] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1122), + }, + [221] = { + [sym__identifier] = ACTIONS(1128), + [aux_sym_preproc_include_token1] = ACTIONS(1128), + [aux_sym_preproc_def_token1] = ACTIONS(1128), + [aux_sym_preproc_if_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1128), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1128), + [sym_preproc_directive] = ACTIONS(1128), + [anon_sym_LPAREN2] = ACTIONS(1130), + [anon_sym_BANG] = ACTIONS(1130), + [anon_sym_TILDE] = ACTIONS(1130), + [anon_sym_DASH] = ACTIONS(1128), + [anon_sym_PLUS] = ACTIONS(1128), + [anon_sym_STAR] = ACTIONS(1130), + [anon_sym_AMP] = ACTIONS(1130), + [anon_sym_SEMI] = ACTIONS(1130), + [anon_sym___extension__] = ACTIONS(1128), + [anon_sym_typedef] = ACTIONS(1128), + [anon_sym_extern] = ACTIONS(1128), + [anon_sym___attribute__] = ACTIONS(1128), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1130), + [anon_sym___declspec] = ACTIONS(1128), + [anon_sym___cdecl] = ACTIONS(1128), + [anon_sym___clrcall] = ACTIONS(1128), + [anon_sym___stdcall] = ACTIONS(1128), + [anon_sym___fastcall] = ACTIONS(1128), + [anon_sym___thiscall] = ACTIONS(1128), + [anon_sym___vectorcall] = ACTIONS(1128), + [anon_sym_LBRACE] = ACTIONS(1130), + [anon_sym_RBRACE] = ACTIONS(1130), + [anon_sym_signed] = ACTIONS(1128), + [anon_sym_unsigned] = ACTIONS(1128), + [anon_sym_long] = ACTIONS(1128), + [anon_sym_short] = ACTIONS(1128), + [anon_sym_static] = ACTIONS(1128), + [anon_sym_auto] = ACTIONS(1128), + [anon_sym_register] = ACTIONS(1128), + [anon_sym_inline] = ACTIONS(1128), + [anon_sym___inline] = ACTIONS(1128), + [anon_sym___inline__] = ACTIONS(1128), + [anon_sym___forceinline] = ACTIONS(1128), + [anon_sym_thread_local] = ACTIONS(1128), + [anon_sym___thread] = ACTIONS(1128), + [anon_sym_const] = ACTIONS(1128), + [anon_sym_constexpr] = ACTIONS(1128), + [anon_sym_volatile] = ACTIONS(1128), + [anon_sym_restrict] = ACTIONS(1128), + [anon_sym___restrict__] = ACTIONS(1128), + [anon_sym__Atomic] = ACTIONS(1128), + [anon_sym__Noreturn] = ACTIONS(1128), + [anon_sym_noreturn] = ACTIONS(1128), + [anon_sym_alignas] = ACTIONS(1128), + [anon_sym__Alignas] = ACTIONS(1128), + [sym_primitive_type] = ACTIONS(1128), + [anon_sym_enum] = ACTIONS(1128), + [anon_sym_struct] = ACTIONS(1128), + [anon_sym_union] = ACTIONS(1128), + [anon_sym_if] = ACTIONS(1128), + [anon_sym_else] = ACTIONS(1128), + [anon_sym_switch] = ACTIONS(1128), + [anon_sym_case] = ACTIONS(1128), + [anon_sym_default] = ACTIONS(1128), + [anon_sym_while] = ACTIONS(1128), + [anon_sym_do] = ACTIONS(1128), + [anon_sym_for] = ACTIONS(1128), + [anon_sym_return] = ACTIONS(1128), + [anon_sym_break] = ACTIONS(1128), + [anon_sym_continue] = ACTIONS(1128), + [anon_sym_goto] = ACTIONS(1128), + [anon_sym___try] = ACTIONS(1128), + [anon_sym___leave] = ACTIONS(1128), + [anon_sym_DASH_DASH] = ACTIONS(1130), + [anon_sym_PLUS_PLUS] = ACTIONS(1130), + [anon_sym_sizeof] = ACTIONS(1128), + [anon_sym___alignof__] = ACTIONS(1128), + [anon_sym___alignof] = ACTIONS(1128), + [anon_sym__alignof] = ACTIONS(1128), + [anon_sym_alignof] = ACTIONS(1128), + [anon_sym__Alignof] = ACTIONS(1128), + [anon_sym_offsetof] = ACTIONS(1128), + [anon_sym__Generic] = ACTIONS(1128), + [anon_sym_asm] = ACTIONS(1128), + [anon_sym___asm__] = ACTIONS(1128), + [sym__number_literal] = ACTIONS(1130), + [anon_sym_L_SQUOTE] = ACTIONS(1130), + [anon_sym_u_SQUOTE] = ACTIONS(1130), + [anon_sym_U_SQUOTE] = ACTIONS(1130), + [anon_sym_u8_SQUOTE] = ACTIONS(1130), + [anon_sym_SQUOTE] = ACTIONS(1130), + [anon_sym_L_DQUOTE] = ACTIONS(1130), + [anon_sym_u_DQUOTE] = ACTIONS(1130), + [anon_sym_U_DQUOTE] = ACTIONS(1130), + [anon_sym_u8_DQUOTE] = ACTIONS(1130), + [anon_sym_DQUOTE] = ACTIONS(1130), + [sym_true] = ACTIONS(1128), + [sym_false] = ACTIONS(1128), + [anon_sym_NULL] = ACTIONS(1128), + [anon_sym_nullptr] = ACTIONS(1128), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1130), + }, + [222] = { + [sym__identifier] = ACTIONS(1216), + [aux_sym_preproc_include_token1] = ACTIONS(1216), + [aux_sym_preproc_def_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token2] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1216), + [sym_preproc_directive] = ACTIONS(1216), + [anon_sym_LPAREN2] = ACTIONS(1218), + [anon_sym_BANG] = ACTIONS(1218), + [anon_sym_TILDE] = ACTIONS(1218), + [anon_sym_DASH] = ACTIONS(1216), + [anon_sym_PLUS] = ACTIONS(1216), + [anon_sym_STAR] = ACTIONS(1218), + [anon_sym_AMP] = ACTIONS(1218), + [anon_sym_SEMI] = ACTIONS(1218), + [anon_sym___extension__] = ACTIONS(1216), + [anon_sym_typedef] = ACTIONS(1216), + [anon_sym_extern] = ACTIONS(1216), + [anon_sym___attribute__] = ACTIONS(1216), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1218), + [anon_sym___declspec] = ACTIONS(1216), + [anon_sym___cdecl] = ACTIONS(1216), + [anon_sym___clrcall] = ACTIONS(1216), + [anon_sym___stdcall] = ACTIONS(1216), + [anon_sym___fastcall] = ACTIONS(1216), + [anon_sym___thiscall] = ACTIONS(1216), + [anon_sym___vectorcall] = ACTIONS(1216), + [anon_sym_LBRACE] = ACTIONS(1218), + [anon_sym_signed] = ACTIONS(1216), + [anon_sym_unsigned] = ACTIONS(1216), + [anon_sym_long] = ACTIONS(1216), + [anon_sym_short] = ACTIONS(1216), + [anon_sym_static] = ACTIONS(1216), + [anon_sym_auto] = ACTIONS(1216), + [anon_sym_register] = ACTIONS(1216), + [anon_sym_inline] = ACTIONS(1216), + [anon_sym___inline] = ACTIONS(1216), + [anon_sym___inline__] = ACTIONS(1216), + [anon_sym___forceinline] = ACTIONS(1216), + [anon_sym_thread_local] = ACTIONS(1216), + [anon_sym___thread] = ACTIONS(1216), + [anon_sym_const] = ACTIONS(1216), + [anon_sym_constexpr] = ACTIONS(1216), + [anon_sym_volatile] = ACTIONS(1216), + [anon_sym_restrict] = ACTIONS(1216), + [anon_sym___restrict__] = ACTIONS(1216), + [anon_sym__Atomic] = ACTIONS(1216), + [anon_sym__Noreturn] = ACTIONS(1216), + [anon_sym_noreturn] = ACTIONS(1216), + [anon_sym_alignas] = ACTIONS(1216), + [anon_sym__Alignas] = ACTIONS(1216), + [sym_primitive_type] = ACTIONS(1216), + [anon_sym_enum] = ACTIONS(1216), + [anon_sym_struct] = ACTIONS(1216), + [anon_sym_union] = ACTIONS(1216), + [anon_sym_if] = ACTIONS(1216), + [anon_sym_else] = ACTIONS(1216), + [anon_sym_switch] = ACTIONS(1216), + [anon_sym_case] = ACTIONS(1216), + [anon_sym_default] = ACTIONS(1216), + [anon_sym_while] = ACTIONS(1216), + [anon_sym_do] = ACTIONS(1216), + [anon_sym_for] = ACTIONS(1216), + [anon_sym_return] = ACTIONS(1216), + [anon_sym_break] = ACTIONS(1216), + [anon_sym_continue] = ACTIONS(1216), + [anon_sym_goto] = ACTIONS(1216), + [anon_sym___try] = ACTIONS(1216), + [anon_sym___leave] = ACTIONS(1216), + [anon_sym_DASH_DASH] = ACTIONS(1218), + [anon_sym_PLUS_PLUS] = ACTIONS(1218), + [anon_sym_sizeof] = ACTIONS(1216), + [anon_sym___alignof__] = ACTIONS(1216), + [anon_sym___alignof] = ACTIONS(1216), + [anon_sym__alignof] = ACTIONS(1216), + [anon_sym_alignof] = ACTIONS(1216), + [anon_sym__Alignof] = ACTIONS(1216), + [anon_sym_offsetof] = ACTIONS(1216), + [anon_sym__Generic] = ACTIONS(1216), + [anon_sym_asm] = ACTIONS(1216), + [anon_sym___asm__] = ACTIONS(1216), + [sym__number_literal] = ACTIONS(1218), + [anon_sym_L_SQUOTE] = ACTIONS(1218), + [anon_sym_u_SQUOTE] = ACTIONS(1218), + [anon_sym_U_SQUOTE] = ACTIONS(1218), + [anon_sym_u8_SQUOTE] = ACTIONS(1218), + [anon_sym_SQUOTE] = ACTIONS(1218), + [anon_sym_L_DQUOTE] = ACTIONS(1218), + [anon_sym_u_DQUOTE] = ACTIONS(1218), + [anon_sym_U_DQUOTE] = ACTIONS(1218), + [anon_sym_u8_DQUOTE] = ACTIONS(1218), + [anon_sym_DQUOTE] = ACTIONS(1218), + [sym_true] = ACTIONS(1216), + [sym_false] = ACTIONS(1216), + [anon_sym_NULL] = ACTIONS(1216), + [anon_sym_nullptr] = ACTIONS(1216), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1218), + }, + [223] = { + [sym__identifier] = ACTIONS(1220), + [aux_sym_preproc_include_token1] = ACTIONS(1220), + [aux_sym_preproc_def_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token2] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1220), + [sym_preproc_directive] = ACTIONS(1220), + [anon_sym_LPAREN2] = ACTIONS(1222), + [anon_sym_BANG] = ACTIONS(1222), + [anon_sym_TILDE] = ACTIONS(1222), + [anon_sym_DASH] = ACTIONS(1220), + [anon_sym_PLUS] = ACTIONS(1220), + [anon_sym_STAR] = ACTIONS(1222), + [anon_sym_AMP] = ACTIONS(1222), + [anon_sym_SEMI] = ACTIONS(1222), + [anon_sym___extension__] = ACTIONS(1220), + [anon_sym_typedef] = ACTIONS(1220), + [anon_sym_extern] = ACTIONS(1220), + [anon_sym___attribute__] = ACTIONS(1220), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1222), + [anon_sym___declspec] = ACTIONS(1220), + [anon_sym___cdecl] = ACTIONS(1220), + [anon_sym___clrcall] = ACTIONS(1220), + [anon_sym___stdcall] = ACTIONS(1220), + [anon_sym___fastcall] = ACTIONS(1220), + [anon_sym___thiscall] = ACTIONS(1220), + [anon_sym___vectorcall] = ACTIONS(1220), + [anon_sym_LBRACE] = ACTIONS(1222), + [anon_sym_signed] = ACTIONS(1220), + [anon_sym_unsigned] = ACTIONS(1220), + [anon_sym_long] = ACTIONS(1220), + [anon_sym_short] = ACTIONS(1220), + [anon_sym_static] = ACTIONS(1220), + [anon_sym_auto] = ACTIONS(1220), + [anon_sym_register] = ACTIONS(1220), + [anon_sym_inline] = ACTIONS(1220), + [anon_sym___inline] = ACTIONS(1220), + [anon_sym___inline__] = ACTIONS(1220), + [anon_sym___forceinline] = ACTIONS(1220), + [anon_sym_thread_local] = ACTIONS(1220), + [anon_sym___thread] = ACTIONS(1220), + [anon_sym_const] = ACTIONS(1220), + [anon_sym_constexpr] = ACTIONS(1220), + [anon_sym_volatile] = ACTIONS(1220), + [anon_sym_restrict] = ACTIONS(1220), + [anon_sym___restrict__] = ACTIONS(1220), + [anon_sym__Atomic] = ACTIONS(1220), + [anon_sym__Noreturn] = ACTIONS(1220), + [anon_sym_noreturn] = ACTIONS(1220), + [anon_sym_alignas] = ACTIONS(1220), + [anon_sym__Alignas] = ACTIONS(1220), + [sym_primitive_type] = ACTIONS(1220), + [anon_sym_enum] = ACTIONS(1220), + [anon_sym_struct] = ACTIONS(1220), + [anon_sym_union] = ACTIONS(1220), + [anon_sym_if] = ACTIONS(1220), + [anon_sym_else] = ACTIONS(1220), + [anon_sym_switch] = ACTIONS(1220), + [anon_sym_case] = ACTIONS(1220), + [anon_sym_default] = ACTIONS(1220), + [anon_sym_while] = ACTIONS(1220), + [anon_sym_do] = ACTIONS(1220), + [anon_sym_for] = ACTIONS(1220), + [anon_sym_return] = ACTIONS(1220), + [anon_sym_break] = ACTIONS(1220), + [anon_sym_continue] = ACTIONS(1220), + [anon_sym_goto] = ACTIONS(1220), + [anon_sym___try] = ACTIONS(1220), + [anon_sym___leave] = ACTIONS(1220), + [anon_sym_DASH_DASH] = ACTIONS(1222), + [anon_sym_PLUS_PLUS] = ACTIONS(1222), + [anon_sym_sizeof] = ACTIONS(1220), + [anon_sym___alignof__] = ACTIONS(1220), + [anon_sym___alignof] = ACTIONS(1220), + [anon_sym__alignof] = ACTIONS(1220), + [anon_sym_alignof] = ACTIONS(1220), + [anon_sym__Alignof] = ACTIONS(1220), + [anon_sym_offsetof] = ACTIONS(1220), + [anon_sym__Generic] = ACTIONS(1220), + [anon_sym_asm] = ACTIONS(1220), + [anon_sym___asm__] = ACTIONS(1220), + [sym__number_literal] = ACTIONS(1222), + [anon_sym_L_SQUOTE] = ACTIONS(1222), + [anon_sym_u_SQUOTE] = ACTIONS(1222), + [anon_sym_U_SQUOTE] = ACTIONS(1222), + [anon_sym_u8_SQUOTE] = ACTIONS(1222), + [anon_sym_SQUOTE] = ACTIONS(1222), + [anon_sym_L_DQUOTE] = ACTIONS(1222), + [anon_sym_u_DQUOTE] = ACTIONS(1222), + [anon_sym_U_DQUOTE] = ACTIONS(1222), + [anon_sym_u8_DQUOTE] = ACTIONS(1222), + [anon_sym_DQUOTE] = ACTIONS(1222), + [sym_true] = ACTIONS(1220), + [sym_false] = ACTIONS(1220), + [anon_sym_NULL] = ACTIONS(1220), + [anon_sym_nullptr] = ACTIONS(1220), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1222), + }, + [224] = { + [ts_builtin_sym_end] = ACTIONS(1142), + [sym__identifier] = ACTIONS(1140), + [aux_sym_preproc_include_token1] = ACTIONS(1140), + [aux_sym_preproc_def_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1140), + [sym_preproc_directive] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(1142), + [anon_sym_BANG] = ACTIONS(1142), + [anon_sym_TILDE] = ACTIONS(1142), + [anon_sym_DASH] = ACTIONS(1140), + [anon_sym_PLUS] = ACTIONS(1140), + [anon_sym_STAR] = ACTIONS(1142), + [anon_sym_AMP] = ACTIONS(1142), + [anon_sym_SEMI] = ACTIONS(1142), + [anon_sym___extension__] = ACTIONS(1140), + [anon_sym_typedef] = ACTIONS(1140), + [anon_sym_extern] = ACTIONS(1140), + [anon_sym___attribute__] = ACTIONS(1140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1142), + [anon_sym___declspec] = ACTIONS(1140), + [anon_sym___cdecl] = ACTIONS(1140), + [anon_sym___clrcall] = ACTIONS(1140), + [anon_sym___stdcall] = ACTIONS(1140), + [anon_sym___fastcall] = ACTIONS(1140), + [anon_sym___thiscall] = ACTIONS(1140), + [anon_sym___vectorcall] = ACTIONS(1140), + [anon_sym_LBRACE] = ACTIONS(1142), + [anon_sym_signed] = ACTIONS(1140), + [anon_sym_unsigned] = ACTIONS(1140), + [anon_sym_long] = ACTIONS(1140), + [anon_sym_short] = ACTIONS(1140), + [anon_sym_static] = ACTIONS(1140), + [anon_sym_auto] = ACTIONS(1140), + [anon_sym_register] = ACTIONS(1140), + [anon_sym_inline] = ACTIONS(1140), + [anon_sym___inline] = ACTIONS(1140), + [anon_sym___inline__] = ACTIONS(1140), + [anon_sym___forceinline] = ACTIONS(1140), + [anon_sym_thread_local] = ACTIONS(1140), + [anon_sym___thread] = ACTIONS(1140), + [anon_sym_const] = ACTIONS(1140), + [anon_sym_constexpr] = ACTIONS(1140), + [anon_sym_volatile] = ACTIONS(1140), + [anon_sym_restrict] = ACTIONS(1140), + [anon_sym___restrict__] = ACTIONS(1140), + [anon_sym__Atomic] = ACTIONS(1140), + [anon_sym__Noreturn] = ACTIONS(1140), + [anon_sym_noreturn] = ACTIONS(1140), + [anon_sym_alignas] = ACTIONS(1140), + [anon_sym__Alignas] = ACTIONS(1140), + [sym_primitive_type] = ACTIONS(1140), + [anon_sym_enum] = ACTIONS(1140), + [anon_sym_struct] = ACTIONS(1140), + [anon_sym_union] = ACTIONS(1140), + [anon_sym_if] = ACTIONS(1140), + [anon_sym_else] = ACTIONS(1140), + [anon_sym_switch] = ACTIONS(1140), + [anon_sym_case] = ACTIONS(1140), + [anon_sym_default] = ACTIONS(1140), + [anon_sym_while] = ACTIONS(1140), + [anon_sym_do] = ACTIONS(1140), + [anon_sym_for] = ACTIONS(1140), + [anon_sym_return] = ACTIONS(1140), + [anon_sym_break] = ACTIONS(1140), + [anon_sym_continue] = ACTIONS(1140), + [anon_sym_goto] = ACTIONS(1140), + [anon_sym___try] = ACTIONS(1140), + [anon_sym___leave] = ACTIONS(1140), + [anon_sym_DASH_DASH] = ACTIONS(1142), + [anon_sym_PLUS_PLUS] = ACTIONS(1142), + [anon_sym_sizeof] = ACTIONS(1140), + [anon_sym___alignof__] = ACTIONS(1140), + [anon_sym___alignof] = ACTIONS(1140), + [anon_sym__alignof] = ACTIONS(1140), + [anon_sym_alignof] = ACTIONS(1140), + [anon_sym__Alignof] = ACTIONS(1140), + [anon_sym_offsetof] = ACTIONS(1140), + [anon_sym__Generic] = ACTIONS(1140), + [anon_sym_asm] = ACTIONS(1140), + [anon_sym___asm__] = ACTIONS(1140), + [sym__number_literal] = ACTIONS(1142), + [anon_sym_L_SQUOTE] = ACTIONS(1142), + [anon_sym_u_SQUOTE] = ACTIONS(1142), + [anon_sym_U_SQUOTE] = ACTIONS(1142), + [anon_sym_u8_SQUOTE] = ACTIONS(1142), + [anon_sym_SQUOTE] = ACTIONS(1142), + [anon_sym_L_DQUOTE] = ACTIONS(1142), + [anon_sym_u_DQUOTE] = ACTIONS(1142), + [anon_sym_U_DQUOTE] = ACTIONS(1142), + [anon_sym_u8_DQUOTE] = ACTIONS(1142), + [anon_sym_DQUOTE] = ACTIONS(1142), + [sym_true] = ACTIONS(1140), + [sym_false] = ACTIONS(1140), + [anon_sym_NULL] = ACTIONS(1140), + [anon_sym_nullptr] = ACTIONS(1140), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1142), + }, + [225] = { + [ts_builtin_sym_end] = ACTIONS(1170), + [sym__identifier] = ACTIONS(1168), + [aux_sym_preproc_include_token1] = ACTIONS(1168), + [aux_sym_preproc_def_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1168), + [sym_preproc_directive] = ACTIONS(1168), + [anon_sym_LPAREN2] = ACTIONS(1170), + [anon_sym_BANG] = ACTIONS(1170), + [anon_sym_TILDE] = ACTIONS(1170), + [anon_sym_DASH] = ACTIONS(1168), + [anon_sym_PLUS] = ACTIONS(1168), + [anon_sym_STAR] = ACTIONS(1170), + [anon_sym_AMP] = ACTIONS(1170), + [anon_sym_SEMI] = ACTIONS(1170), + [anon_sym___extension__] = ACTIONS(1168), + [anon_sym_typedef] = ACTIONS(1168), + [anon_sym_extern] = ACTIONS(1168), + [anon_sym___attribute__] = ACTIONS(1168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1170), + [anon_sym___declspec] = ACTIONS(1168), + [anon_sym___cdecl] = ACTIONS(1168), + [anon_sym___clrcall] = ACTIONS(1168), + [anon_sym___stdcall] = ACTIONS(1168), + [anon_sym___fastcall] = ACTIONS(1168), + [anon_sym___thiscall] = ACTIONS(1168), + [anon_sym___vectorcall] = ACTIONS(1168), + [anon_sym_LBRACE] = ACTIONS(1170), + [anon_sym_signed] = ACTIONS(1168), + [anon_sym_unsigned] = ACTIONS(1168), + [anon_sym_long] = ACTIONS(1168), + [anon_sym_short] = ACTIONS(1168), + [anon_sym_static] = ACTIONS(1168), + [anon_sym_auto] = ACTIONS(1168), + [anon_sym_register] = ACTIONS(1168), + [anon_sym_inline] = ACTIONS(1168), + [anon_sym___inline] = ACTIONS(1168), + [anon_sym___inline__] = ACTIONS(1168), + [anon_sym___forceinline] = ACTIONS(1168), + [anon_sym_thread_local] = ACTIONS(1168), + [anon_sym___thread] = ACTIONS(1168), + [anon_sym_const] = ACTIONS(1168), + [anon_sym_constexpr] = ACTIONS(1168), + [anon_sym_volatile] = ACTIONS(1168), + [anon_sym_restrict] = ACTIONS(1168), + [anon_sym___restrict__] = ACTIONS(1168), + [anon_sym__Atomic] = ACTIONS(1168), + [anon_sym__Noreturn] = ACTIONS(1168), + [anon_sym_noreturn] = ACTIONS(1168), + [anon_sym_alignas] = ACTIONS(1168), + [anon_sym__Alignas] = ACTIONS(1168), + [sym_primitive_type] = ACTIONS(1168), + [anon_sym_enum] = ACTIONS(1168), + [anon_sym_struct] = ACTIONS(1168), + [anon_sym_union] = ACTIONS(1168), + [anon_sym_if] = ACTIONS(1168), + [anon_sym_else] = ACTIONS(1168), + [anon_sym_switch] = ACTIONS(1168), + [anon_sym_case] = ACTIONS(1168), + [anon_sym_default] = ACTIONS(1168), + [anon_sym_while] = ACTIONS(1168), + [anon_sym_do] = ACTIONS(1168), + [anon_sym_for] = ACTIONS(1168), + [anon_sym_return] = ACTIONS(1168), + [anon_sym_break] = ACTIONS(1168), + [anon_sym_continue] = ACTIONS(1168), + [anon_sym_goto] = ACTIONS(1168), + [anon_sym___try] = ACTIONS(1168), + [anon_sym___leave] = ACTIONS(1168), + [anon_sym_DASH_DASH] = ACTIONS(1170), + [anon_sym_PLUS_PLUS] = ACTIONS(1170), + [anon_sym_sizeof] = ACTIONS(1168), + [anon_sym___alignof__] = ACTIONS(1168), + [anon_sym___alignof] = ACTIONS(1168), + [anon_sym__alignof] = ACTIONS(1168), + [anon_sym_alignof] = ACTIONS(1168), + [anon_sym__Alignof] = ACTIONS(1168), + [anon_sym_offsetof] = ACTIONS(1168), + [anon_sym__Generic] = ACTIONS(1168), + [anon_sym_asm] = ACTIONS(1168), + [anon_sym___asm__] = ACTIONS(1168), + [sym__number_literal] = ACTIONS(1170), + [anon_sym_L_SQUOTE] = ACTIONS(1170), + [anon_sym_u_SQUOTE] = ACTIONS(1170), + [anon_sym_U_SQUOTE] = ACTIONS(1170), + [anon_sym_u8_SQUOTE] = ACTIONS(1170), + [anon_sym_SQUOTE] = ACTIONS(1170), + [anon_sym_L_DQUOTE] = ACTIONS(1170), + [anon_sym_u_DQUOTE] = ACTIONS(1170), + [anon_sym_U_DQUOTE] = ACTIONS(1170), + [anon_sym_u8_DQUOTE] = ACTIONS(1170), + [anon_sym_DQUOTE] = ACTIONS(1170), + [sym_true] = ACTIONS(1168), + [sym_false] = ACTIONS(1168), + [anon_sym_NULL] = ACTIONS(1168), + [anon_sym_nullptr] = ACTIONS(1168), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1170), + }, + [226] = { + [sym__identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym___extension__] = ACTIONS(1104), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_RBRACE] = ACTIONS(1106), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym___inline] = ACTIONS(1104), + [anon_sym___inline__] = ACTIONS(1104), + [anon_sym___forceinline] = ACTIONS(1104), + [anon_sym_thread_local] = ACTIONS(1104), + [anon_sym___thread] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_constexpr] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym___restrict__] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym__Noreturn] = ACTIONS(1104), + [anon_sym_noreturn] = ACTIONS(1104), + [anon_sym_alignas] = ACTIONS(1104), + [anon_sym__Alignas] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_else] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym___try] = ACTIONS(1104), + [anon_sym___leave] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [anon_sym___alignof__] = ACTIONS(1104), + [anon_sym___alignof] = ACTIONS(1104), + [anon_sym__alignof] = ACTIONS(1104), + [anon_sym_alignof] = ACTIONS(1104), + [anon_sym__Alignof] = ACTIONS(1104), + [anon_sym_offsetof] = ACTIONS(1104), + [anon_sym__Generic] = ACTIONS(1104), + [anon_sym_asm] = ACTIONS(1104), + [anon_sym___asm__] = ACTIONS(1104), + [sym__number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [anon_sym_NULL] = ACTIONS(1104), + [anon_sym_nullptr] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1106), + }, + [227] = { + [sym__identifier] = ACTIONS(1176), + [aux_sym_preproc_include_token1] = ACTIONS(1176), + [aux_sym_preproc_def_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1176), + [sym_preproc_directive] = ACTIONS(1176), + [anon_sym_LPAREN2] = ACTIONS(1178), + [anon_sym_BANG] = ACTIONS(1178), + [anon_sym_TILDE] = ACTIONS(1178), + [anon_sym_DASH] = ACTIONS(1176), + [anon_sym_PLUS] = ACTIONS(1176), + [anon_sym_STAR] = ACTIONS(1178), + [anon_sym_AMP] = ACTIONS(1178), + [anon_sym_SEMI] = ACTIONS(1178), + [anon_sym___extension__] = ACTIONS(1176), + [anon_sym_typedef] = ACTIONS(1176), + [anon_sym_extern] = ACTIONS(1176), + [anon_sym___attribute__] = ACTIONS(1176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1178), + [anon_sym___declspec] = ACTIONS(1176), + [anon_sym___cdecl] = ACTIONS(1176), + [anon_sym___clrcall] = ACTIONS(1176), + [anon_sym___stdcall] = ACTIONS(1176), + [anon_sym___fastcall] = ACTIONS(1176), + [anon_sym___thiscall] = ACTIONS(1176), + [anon_sym___vectorcall] = ACTIONS(1176), + [anon_sym_LBRACE] = ACTIONS(1178), + [anon_sym_RBRACE] = ACTIONS(1178), + [anon_sym_signed] = ACTIONS(1176), + [anon_sym_unsigned] = ACTIONS(1176), + [anon_sym_long] = ACTIONS(1176), + [anon_sym_short] = ACTIONS(1176), + [anon_sym_static] = ACTIONS(1176), + [anon_sym_auto] = ACTIONS(1176), + [anon_sym_register] = ACTIONS(1176), + [anon_sym_inline] = ACTIONS(1176), + [anon_sym___inline] = ACTIONS(1176), + [anon_sym___inline__] = ACTIONS(1176), + [anon_sym___forceinline] = ACTIONS(1176), + [anon_sym_thread_local] = ACTIONS(1176), + [anon_sym___thread] = ACTIONS(1176), + [anon_sym_const] = ACTIONS(1176), + [anon_sym_constexpr] = ACTIONS(1176), + [anon_sym_volatile] = ACTIONS(1176), + [anon_sym_restrict] = ACTIONS(1176), + [anon_sym___restrict__] = ACTIONS(1176), + [anon_sym__Atomic] = ACTIONS(1176), + [anon_sym__Noreturn] = ACTIONS(1176), + [anon_sym_noreturn] = ACTIONS(1176), + [anon_sym_alignas] = ACTIONS(1176), + [anon_sym__Alignas] = ACTIONS(1176), + [sym_primitive_type] = ACTIONS(1176), + [anon_sym_enum] = ACTIONS(1176), + [anon_sym_struct] = ACTIONS(1176), + [anon_sym_union] = ACTIONS(1176), + [anon_sym_if] = ACTIONS(1176), + [anon_sym_else] = ACTIONS(1176), + [anon_sym_switch] = ACTIONS(1176), + [anon_sym_case] = ACTIONS(1176), + [anon_sym_default] = ACTIONS(1176), + [anon_sym_while] = ACTIONS(1176), + [anon_sym_do] = ACTIONS(1176), + [anon_sym_for] = ACTIONS(1176), + [anon_sym_return] = ACTIONS(1176), + [anon_sym_break] = ACTIONS(1176), + [anon_sym_continue] = ACTIONS(1176), + [anon_sym_goto] = ACTIONS(1176), + [anon_sym___try] = ACTIONS(1176), + [anon_sym___leave] = ACTIONS(1176), + [anon_sym_DASH_DASH] = ACTIONS(1178), + [anon_sym_PLUS_PLUS] = ACTIONS(1178), + [anon_sym_sizeof] = ACTIONS(1176), + [anon_sym___alignof__] = ACTIONS(1176), + [anon_sym___alignof] = ACTIONS(1176), + [anon_sym__alignof] = ACTIONS(1176), + [anon_sym_alignof] = ACTIONS(1176), + [anon_sym__Alignof] = ACTIONS(1176), + [anon_sym_offsetof] = ACTIONS(1176), + [anon_sym__Generic] = ACTIONS(1176), + [anon_sym_asm] = ACTIONS(1176), + [anon_sym___asm__] = ACTIONS(1176), + [sym__number_literal] = ACTIONS(1178), + [anon_sym_L_SQUOTE] = ACTIONS(1178), + [anon_sym_u_SQUOTE] = ACTIONS(1178), + [anon_sym_U_SQUOTE] = ACTIONS(1178), + [anon_sym_u8_SQUOTE] = ACTIONS(1178), + [anon_sym_SQUOTE] = ACTIONS(1178), + [anon_sym_L_DQUOTE] = ACTIONS(1178), + [anon_sym_u_DQUOTE] = ACTIONS(1178), + [anon_sym_U_DQUOTE] = ACTIONS(1178), + [anon_sym_u8_DQUOTE] = ACTIONS(1178), + [anon_sym_DQUOTE] = ACTIONS(1178), + [sym_true] = ACTIONS(1176), + [sym_false] = ACTIONS(1176), + [anon_sym_NULL] = ACTIONS(1176), + [anon_sym_nullptr] = ACTIONS(1176), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1178), + }, + [228] = { + [sym__identifier] = ACTIONS(1184), + [aux_sym_preproc_include_token1] = ACTIONS(1184), + [aux_sym_preproc_def_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1184), + [sym_preproc_directive] = ACTIONS(1184), + [anon_sym_LPAREN2] = ACTIONS(1186), + [anon_sym_BANG] = ACTIONS(1186), + [anon_sym_TILDE] = ACTIONS(1186), + [anon_sym_DASH] = ACTIONS(1184), + [anon_sym_PLUS] = ACTIONS(1184), + [anon_sym_STAR] = ACTIONS(1186), + [anon_sym_AMP] = ACTIONS(1186), + [anon_sym_SEMI] = ACTIONS(1186), + [anon_sym___extension__] = ACTIONS(1184), + [anon_sym_typedef] = ACTIONS(1184), + [anon_sym_extern] = ACTIONS(1184), + [anon_sym___attribute__] = ACTIONS(1184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1186), + [anon_sym___declspec] = ACTIONS(1184), + [anon_sym___cdecl] = ACTIONS(1184), + [anon_sym___clrcall] = ACTIONS(1184), + [anon_sym___stdcall] = ACTIONS(1184), + [anon_sym___fastcall] = ACTIONS(1184), + [anon_sym___thiscall] = ACTIONS(1184), + [anon_sym___vectorcall] = ACTIONS(1184), + [anon_sym_LBRACE] = ACTIONS(1186), + [anon_sym_RBRACE] = ACTIONS(1186), + [anon_sym_signed] = ACTIONS(1184), + [anon_sym_unsigned] = ACTIONS(1184), + [anon_sym_long] = ACTIONS(1184), + [anon_sym_short] = ACTIONS(1184), + [anon_sym_static] = ACTIONS(1184), + [anon_sym_auto] = ACTIONS(1184), + [anon_sym_register] = ACTIONS(1184), + [anon_sym_inline] = ACTIONS(1184), + [anon_sym___inline] = ACTIONS(1184), + [anon_sym___inline__] = ACTIONS(1184), + [anon_sym___forceinline] = ACTIONS(1184), + [anon_sym_thread_local] = ACTIONS(1184), + [anon_sym___thread] = ACTIONS(1184), + [anon_sym_const] = ACTIONS(1184), + [anon_sym_constexpr] = ACTIONS(1184), + [anon_sym_volatile] = ACTIONS(1184), + [anon_sym_restrict] = ACTIONS(1184), + [anon_sym___restrict__] = ACTIONS(1184), + [anon_sym__Atomic] = ACTIONS(1184), + [anon_sym__Noreturn] = ACTIONS(1184), + [anon_sym_noreturn] = ACTIONS(1184), + [anon_sym_alignas] = ACTIONS(1184), + [anon_sym__Alignas] = ACTIONS(1184), + [sym_primitive_type] = ACTIONS(1184), + [anon_sym_enum] = ACTIONS(1184), + [anon_sym_struct] = ACTIONS(1184), + [anon_sym_union] = ACTIONS(1184), + [anon_sym_if] = ACTIONS(1184), + [anon_sym_else] = ACTIONS(1184), + [anon_sym_switch] = ACTIONS(1184), + [anon_sym_case] = ACTIONS(1184), + [anon_sym_default] = ACTIONS(1184), + [anon_sym_while] = ACTIONS(1184), + [anon_sym_do] = ACTIONS(1184), + [anon_sym_for] = ACTIONS(1184), + [anon_sym_return] = ACTIONS(1184), + [anon_sym_break] = ACTIONS(1184), + [anon_sym_continue] = ACTIONS(1184), + [anon_sym_goto] = ACTIONS(1184), + [anon_sym___try] = ACTIONS(1184), + [anon_sym___leave] = ACTIONS(1184), + [anon_sym_DASH_DASH] = ACTIONS(1186), + [anon_sym_PLUS_PLUS] = ACTIONS(1186), + [anon_sym_sizeof] = ACTIONS(1184), + [anon_sym___alignof__] = ACTIONS(1184), + [anon_sym___alignof] = ACTIONS(1184), + [anon_sym__alignof] = ACTIONS(1184), + [anon_sym_alignof] = ACTIONS(1184), + [anon_sym__Alignof] = ACTIONS(1184), + [anon_sym_offsetof] = ACTIONS(1184), + [anon_sym__Generic] = ACTIONS(1184), + [anon_sym_asm] = ACTIONS(1184), + [anon_sym___asm__] = ACTIONS(1184), + [sym__number_literal] = ACTIONS(1186), + [anon_sym_L_SQUOTE] = ACTIONS(1186), + [anon_sym_u_SQUOTE] = ACTIONS(1186), + [anon_sym_U_SQUOTE] = ACTIONS(1186), + [anon_sym_u8_SQUOTE] = ACTIONS(1186), + [anon_sym_SQUOTE] = ACTIONS(1186), + [anon_sym_L_DQUOTE] = ACTIONS(1186), + [anon_sym_u_DQUOTE] = ACTIONS(1186), + [anon_sym_U_DQUOTE] = ACTIONS(1186), + [anon_sym_u8_DQUOTE] = ACTIONS(1186), + [anon_sym_DQUOTE] = ACTIONS(1186), + [sym_true] = ACTIONS(1184), + [sym_false] = ACTIONS(1184), + [anon_sym_NULL] = ACTIONS(1184), + [anon_sym_nullptr] = ACTIONS(1184), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1186), + }, + [229] = { + [sym__identifier] = ACTIONS(1188), + [aux_sym_preproc_include_token1] = ACTIONS(1188), + [aux_sym_preproc_def_token1] = ACTIONS(1188), + [aux_sym_preproc_if_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1188), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1188), + [sym_preproc_directive] = ACTIONS(1188), + [anon_sym_LPAREN2] = ACTIONS(1190), + [anon_sym_BANG] = ACTIONS(1190), + [anon_sym_TILDE] = ACTIONS(1190), + [anon_sym_DASH] = ACTIONS(1188), + [anon_sym_PLUS] = ACTIONS(1188), + [anon_sym_STAR] = ACTIONS(1190), + [anon_sym_AMP] = ACTIONS(1190), + [anon_sym_SEMI] = ACTIONS(1190), + [anon_sym___extension__] = ACTIONS(1188), + [anon_sym_typedef] = ACTIONS(1188), + [anon_sym_extern] = ACTIONS(1188), + [anon_sym___attribute__] = ACTIONS(1188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1190), + [anon_sym___declspec] = ACTIONS(1188), + [anon_sym___cdecl] = ACTIONS(1188), + [anon_sym___clrcall] = ACTIONS(1188), + [anon_sym___stdcall] = ACTIONS(1188), + [anon_sym___fastcall] = ACTIONS(1188), + [anon_sym___thiscall] = ACTIONS(1188), + [anon_sym___vectorcall] = ACTIONS(1188), + [anon_sym_LBRACE] = ACTIONS(1190), + [anon_sym_RBRACE] = ACTIONS(1190), + [anon_sym_signed] = ACTIONS(1188), + [anon_sym_unsigned] = ACTIONS(1188), + [anon_sym_long] = ACTIONS(1188), + [anon_sym_short] = ACTIONS(1188), + [anon_sym_static] = ACTIONS(1188), + [anon_sym_auto] = ACTIONS(1188), + [anon_sym_register] = ACTIONS(1188), + [anon_sym_inline] = ACTIONS(1188), + [anon_sym___inline] = ACTIONS(1188), + [anon_sym___inline__] = ACTIONS(1188), + [anon_sym___forceinline] = ACTIONS(1188), + [anon_sym_thread_local] = ACTIONS(1188), + [anon_sym___thread] = ACTIONS(1188), + [anon_sym_const] = ACTIONS(1188), + [anon_sym_constexpr] = ACTIONS(1188), + [anon_sym_volatile] = ACTIONS(1188), + [anon_sym_restrict] = ACTIONS(1188), + [anon_sym___restrict__] = ACTIONS(1188), + [anon_sym__Atomic] = ACTIONS(1188), + [anon_sym__Noreturn] = ACTIONS(1188), + [anon_sym_noreturn] = ACTIONS(1188), + [anon_sym_alignas] = ACTIONS(1188), + [anon_sym__Alignas] = ACTIONS(1188), + [sym_primitive_type] = ACTIONS(1188), + [anon_sym_enum] = ACTIONS(1188), + [anon_sym_struct] = ACTIONS(1188), + [anon_sym_union] = ACTIONS(1188), + [anon_sym_if] = ACTIONS(1188), + [anon_sym_else] = ACTIONS(1188), + [anon_sym_switch] = ACTIONS(1188), + [anon_sym_case] = ACTIONS(1188), + [anon_sym_default] = ACTIONS(1188), + [anon_sym_while] = ACTIONS(1188), + [anon_sym_do] = ACTIONS(1188), + [anon_sym_for] = ACTIONS(1188), + [anon_sym_return] = ACTIONS(1188), + [anon_sym_break] = ACTIONS(1188), + [anon_sym_continue] = ACTIONS(1188), + [anon_sym_goto] = ACTIONS(1188), + [anon_sym___try] = ACTIONS(1188), + [anon_sym___leave] = ACTIONS(1188), + [anon_sym_DASH_DASH] = ACTIONS(1190), + [anon_sym_PLUS_PLUS] = ACTIONS(1190), + [anon_sym_sizeof] = ACTIONS(1188), + [anon_sym___alignof__] = ACTIONS(1188), + [anon_sym___alignof] = ACTIONS(1188), + [anon_sym__alignof] = ACTIONS(1188), + [anon_sym_alignof] = ACTIONS(1188), + [anon_sym__Alignof] = ACTIONS(1188), + [anon_sym_offsetof] = ACTIONS(1188), + [anon_sym__Generic] = ACTIONS(1188), + [anon_sym_asm] = ACTIONS(1188), + [anon_sym___asm__] = ACTIONS(1188), + [sym__number_literal] = ACTIONS(1190), + [anon_sym_L_SQUOTE] = ACTIONS(1190), + [anon_sym_u_SQUOTE] = ACTIONS(1190), + [anon_sym_U_SQUOTE] = ACTIONS(1190), + [anon_sym_u8_SQUOTE] = ACTIONS(1190), + [anon_sym_SQUOTE] = ACTIONS(1190), + [anon_sym_L_DQUOTE] = ACTIONS(1190), + [anon_sym_u_DQUOTE] = ACTIONS(1190), + [anon_sym_U_DQUOTE] = ACTIONS(1190), + [anon_sym_u8_DQUOTE] = ACTIONS(1190), + [anon_sym_DQUOTE] = ACTIONS(1190), + [sym_true] = ACTIONS(1188), + [sym_false] = ACTIONS(1188), + [anon_sym_NULL] = ACTIONS(1188), + [anon_sym_nullptr] = ACTIONS(1188), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1190), + }, + [230] = { + [ts_builtin_sym_end] = ACTIONS(1198), + [sym__identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(1196), + [aux_sym_preproc_def_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1196), + [sym_preproc_directive] = ACTIONS(1196), + [anon_sym_LPAREN2] = ACTIONS(1198), + [anon_sym_BANG] = ACTIONS(1198), + [anon_sym_TILDE] = ACTIONS(1198), + [anon_sym_DASH] = ACTIONS(1196), + [anon_sym_PLUS] = ACTIONS(1196), + [anon_sym_STAR] = ACTIONS(1198), + [anon_sym_AMP] = ACTIONS(1198), + [anon_sym_SEMI] = ACTIONS(1198), + [anon_sym___extension__] = ACTIONS(1196), + [anon_sym_typedef] = ACTIONS(1196), + [anon_sym_extern] = ACTIONS(1196), + [anon_sym___attribute__] = ACTIONS(1196), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1198), + [anon_sym___declspec] = ACTIONS(1196), + [anon_sym___cdecl] = ACTIONS(1196), + [anon_sym___clrcall] = ACTIONS(1196), + [anon_sym___stdcall] = ACTIONS(1196), + [anon_sym___fastcall] = ACTIONS(1196), + [anon_sym___thiscall] = ACTIONS(1196), + [anon_sym___vectorcall] = ACTIONS(1196), + [anon_sym_LBRACE] = ACTIONS(1198), + [anon_sym_signed] = ACTIONS(1196), + [anon_sym_unsigned] = ACTIONS(1196), + [anon_sym_long] = ACTIONS(1196), + [anon_sym_short] = ACTIONS(1196), + [anon_sym_static] = ACTIONS(1196), + [anon_sym_auto] = ACTIONS(1196), + [anon_sym_register] = ACTIONS(1196), + [anon_sym_inline] = ACTIONS(1196), + [anon_sym___inline] = ACTIONS(1196), + [anon_sym___inline__] = ACTIONS(1196), + [anon_sym___forceinline] = ACTIONS(1196), + [anon_sym_thread_local] = ACTIONS(1196), + [anon_sym___thread] = ACTIONS(1196), + [anon_sym_const] = ACTIONS(1196), + [anon_sym_constexpr] = ACTIONS(1196), + [anon_sym_volatile] = ACTIONS(1196), + [anon_sym_restrict] = ACTIONS(1196), + [anon_sym___restrict__] = ACTIONS(1196), + [anon_sym__Atomic] = ACTIONS(1196), + [anon_sym__Noreturn] = ACTIONS(1196), + [anon_sym_noreturn] = ACTIONS(1196), + [anon_sym_alignas] = ACTIONS(1196), + [anon_sym__Alignas] = ACTIONS(1196), + [sym_primitive_type] = ACTIONS(1196), + [anon_sym_enum] = ACTIONS(1196), + [anon_sym_struct] = ACTIONS(1196), + [anon_sym_union] = ACTIONS(1196), + [anon_sym_if] = ACTIONS(1196), + [anon_sym_else] = ACTIONS(1196), + [anon_sym_switch] = ACTIONS(1196), + [anon_sym_case] = ACTIONS(1196), + [anon_sym_default] = ACTIONS(1196), + [anon_sym_while] = ACTIONS(1196), + [anon_sym_do] = ACTIONS(1196), + [anon_sym_for] = ACTIONS(1196), + [anon_sym_return] = ACTIONS(1196), + [anon_sym_break] = ACTIONS(1196), + [anon_sym_continue] = ACTIONS(1196), + [anon_sym_goto] = ACTIONS(1196), + [anon_sym___try] = ACTIONS(1196), + [anon_sym___leave] = ACTIONS(1196), + [anon_sym_DASH_DASH] = ACTIONS(1198), + [anon_sym_PLUS_PLUS] = ACTIONS(1198), + [anon_sym_sizeof] = ACTIONS(1196), + [anon_sym___alignof__] = ACTIONS(1196), + [anon_sym___alignof] = ACTIONS(1196), + [anon_sym__alignof] = ACTIONS(1196), + [anon_sym_alignof] = ACTIONS(1196), + [anon_sym__Alignof] = ACTIONS(1196), + [anon_sym_offsetof] = ACTIONS(1196), + [anon_sym__Generic] = ACTIONS(1196), + [anon_sym_asm] = ACTIONS(1196), + [anon_sym___asm__] = ACTIONS(1196), + [sym__number_literal] = ACTIONS(1198), + [anon_sym_L_SQUOTE] = ACTIONS(1198), + [anon_sym_u_SQUOTE] = ACTIONS(1198), + [anon_sym_U_SQUOTE] = ACTIONS(1198), + [anon_sym_u8_SQUOTE] = ACTIONS(1198), + [anon_sym_SQUOTE] = ACTIONS(1198), + [anon_sym_L_DQUOTE] = ACTIONS(1198), + [anon_sym_u_DQUOTE] = ACTIONS(1198), + [anon_sym_U_DQUOTE] = ACTIONS(1198), + [anon_sym_u8_DQUOTE] = ACTIONS(1198), + [anon_sym_DQUOTE] = ACTIONS(1198), + [sym_true] = ACTIONS(1196), + [sym_false] = ACTIONS(1196), + [anon_sym_NULL] = ACTIONS(1196), + [anon_sym_nullptr] = ACTIONS(1196), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1198), + }, + [231] = { + [ts_builtin_sym_end] = ACTIONS(1202), + [sym__identifier] = ACTIONS(1200), + [aux_sym_preproc_include_token1] = ACTIONS(1200), + [aux_sym_preproc_def_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1200), + [sym_preproc_directive] = ACTIONS(1200), + [anon_sym_LPAREN2] = ACTIONS(1202), + [anon_sym_BANG] = ACTIONS(1202), + [anon_sym_TILDE] = ACTIONS(1202), + [anon_sym_DASH] = ACTIONS(1200), + [anon_sym_PLUS] = ACTIONS(1200), + [anon_sym_STAR] = ACTIONS(1202), + [anon_sym_AMP] = ACTIONS(1202), + [anon_sym_SEMI] = ACTIONS(1202), + [anon_sym___extension__] = ACTIONS(1200), + [anon_sym_typedef] = ACTIONS(1200), + [anon_sym_extern] = ACTIONS(1200), + [anon_sym___attribute__] = ACTIONS(1200), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1202), + [anon_sym___declspec] = ACTIONS(1200), + [anon_sym___cdecl] = ACTIONS(1200), + [anon_sym___clrcall] = ACTIONS(1200), + [anon_sym___stdcall] = ACTIONS(1200), + [anon_sym___fastcall] = ACTIONS(1200), + [anon_sym___thiscall] = ACTIONS(1200), + [anon_sym___vectorcall] = ACTIONS(1200), + [anon_sym_LBRACE] = ACTIONS(1202), + [anon_sym_signed] = ACTIONS(1200), + [anon_sym_unsigned] = ACTIONS(1200), + [anon_sym_long] = ACTIONS(1200), + [anon_sym_short] = ACTIONS(1200), + [anon_sym_static] = ACTIONS(1200), + [anon_sym_auto] = ACTIONS(1200), + [anon_sym_register] = ACTIONS(1200), + [anon_sym_inline] = ACTIONS(1200), + [anon_sym___inline] = ACTIONS(1200), + [anon_sym___inline__] = ACTIONS(1200), + [anon_sym___forceinline] = ACTIONS(1200), + [anon_sym_thread_local] = ACTIONS(1200), + [anon_sym___thread] = ACTIONS(1200), + [anon_sym_const] = ACTIONS(1200), + [anon_sym_constexpr] = ACTIONS(1200), + [anon_sym_volatile] = ACTIONS(1200), + [anon_sym_restrict] = ACTIONS(1200), + [anon_sym___restrict__] = ACTIONS(1200), + [anon_sym__Atomic] = ACTIONS(1200), + [anon_sym__Noreturn] = ACTIONS(1200), + [anon_sym_noreturn] = ACTIONS(1200), + [anon_sym_alignas] = ACTIONS(1200), + [anon_sym__Alignas] = ACTIONS(1200), + [sym_primitive_type] = ACTIONS(1200), + [anon_sym_enum] = ACTIONS(1200), + [anon_sym_struct] = ACTIONS(1200), + [anon_sym_union] = ACTIONS(1200), + [anon_sym_if] = ACTIONS(1200), + [anon_sym_else] = ACTIONS(1200), + [anon_sym_switch] = ACTIONS(1200), + [anon_sym_case] = ACTIONS(1200), + [anon_sym_default] = ACTIONS(1200), + [anon_sym_while] = ACTIONS(1200), + [anon_sym_do] = ACTIONS(1200), + [anon_sym_for] = ACTIONS(1200), + [anon_sym_return] = ACTIONS(1200), + [anon_sym_break] = ACTIONS(1200), + [anon_sym_continue] = ACTIONS(1200), + [anon_sym_goto] = ACTIONS(1200), + [anon_sym___try] = ACTIONS(1200), + [anon_sym___leave] = ACTIONS(1200), + [anon_sym_DASH_DASH] = ACTIONS(1202), + [anon_sym_PLUS_PLUS] = ACTIONS(1202), + [anon_sym_sizeof] = ACTIONS(1200), + [anon_sym___alignof__] = ACTIONS(1200), + [anon_sym___alignof] = ACTIONS(1200), + [anon_sym__alignof] = ACTIONS(1200), + [anon_sym_alignof] = ACTIONS(1200), + [anon_sym__Alignof] = ACTIONS(1200), + [anon_sym_offsetof] = ACTIONS(1200), + [anon_sym__Generic] = ACTIONS(1200), + [anon_sym_asm] = ACTIONS(1200), + [anon_sym___asm__] = ACTIONS(1200), + [sym__number_literal] = ACTIONS(1202), + [anon_sym_L_SQUOTE] = ACTIONS(1202), + [anon_sym_u_SQUOTE] = ACTIONS(1202), + [anon_sym_U_SQUOTE] = ACTIONS(1202), + [anon_sym_u8_SQUOTE] = ACTIONS(1202), + [anon_sym_SQUOTE] = ACTIONS(1202), + [anon_sym_L_DQUOTE] = ACTIONS(1202), + [anon_sym_u_DQUOTE] = ACTIONS(1202), + [anon_sym_U_DQUOTE] = ACTIONS(1202), + [anon_sym_u8_DQUOTE] = ACTIONS(1202), + [anon_sym_DQUOTE] = ACTIONS(1202), + [sym_true] = ACTIONS(1200), + [sym_false] = ACTIONS(1200), + [anon_sym_NULL] = ACTIONS(1200), + [anon_sym_nullptr] = ACTIONS(1200), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1202), + }, + [232] = { + [sym__identifier] = ACTIONS(1206), + [aux_sym_preproc_include_token1] = ACTIONS(1206), + [aux_sym_preproc_def_token1] = ACTIONS(1206), + [aux_sym_preproc_if_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1206), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1206), + [sym_preproc_directive] = ACTIONS(1206), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1206), + [anon_sym___cdecl] = ACTIONS(1206), + [anon_sym___clrcall] = ACTIONS(1206), + [anon_sym___stdcall] = ACTIONS(1206), + [anon_sym___fastcall] = ACTIONS(1206), + [anon_sym___thiscall] = ACTIONS(1206), + [anon_sym___vectorcall] = ACTIONS(1206), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_RBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1206), + [anon_sym_unsigned] = ACTIONS(1206), + [anon_sym_long] = ACTIONS(1206), + [anon_sym_short] = ACTIONS(1206), + [anon_sym_static] = ACTIONS(1206), + [anon_sym_auto] = ACTIONS(1206), + [anon_sym_register] = ACTIONS(1206), + [anon_sym_inline] = ACTIONS(1206), + [anon_sym___inline] = ACTIONS(1206), + [anon_sym___inline__] = ACTIONS(1206), + [anon_sym___forceinline] = ACTIONS(1206), + [anon_sym_thread_local] = ACTIONS(1206), + [anon_sym___thread] = ACTIONS(1206), + [anon_sym_const] = ACTIONS(1206), + [anon_sym_constexpr] = ACTIONS(1206), + [anon_sym_volatile] = ACTIONS(1206), + [anon_sym_restrict] = ACTIONS(1206), + [anon_sym___restrict__] = ACTIONS(1206), + [anon_sym__Atomic] = ACTIONS(1206), + [anon_sym__Noreturn] = ACTIONS(1206), + [anon_sym_noreturn] = ACTIONS(1206), + [anon_sym_alignas] = ACTIONS(1206), + [anon_sym__Alignas] = ACTIONS(1206), + [sym_primitive_type] = ACTIONS(1206), + [anon_sym_enum] = ACTIONS(1206), + [anon_sym_struct] = ACTIONS(1206), + [anon_sym_union] = ACTIONS(1206), + [anon_sym_if] = ACTIONS(1206), + [anon_sym_else] = ACTIONS(1206), + [anon_sym_switch] = ACTIONS(1206), + [anon_sym_case] = ACTIONS(1206), + [anon_sym_default] = ACTIONS(1206), + [anon_sym_while] = ACTIONS(1206), + [anon_sym_do] = ACTIONS(1206), + [anon_sym_for] = ACTIONS(1206), + [anon_sym_return] = ACTIONS(1206), + [anon_sym_break] = ACTIONS(1206), + [anon_sym_continue] = ACTIONS(1206), + [anon_sym_goto] = ACTIONS(1206), + [anon_sym___try] = ACTIONS(1206), + [anon_sym___leave] = ACTIONS(1206), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1206), + [anon_sym___alignof__] = ACTIONS(1206), + [anon_sym___alignof] = ACTIONS(1206), + [anon_sym__alignof] = ACTIONS(1206), + [anon_sym_alignof] = ACTIONS(1206), + [anon_sym__Alignof] = ACTIONS(1206), + [anon_sym_offsetof] = ACTIONS(1206), + [anon_sym__Generic] = ACTIONS(1206), + [anon_sym_asm] = ACTIONS(1206), + [anon_sym___asm__] = ACTIONS(1206), + [sym__number_literal] = ACTIONS(1204), + [anon_sym_L_SQUOTE] = ACTIONS(1204), + [anon_sym_u_SQUOTE] = ACTIONS(1204), + [anon_sym_U_SQUOTE] = ACTIONS(1204), + [anon_sym_u8_SQUOTE] = ACTIONS(1204), + [anon_sym_SQUOTE] = ACTIONS(1204), + [anon_sym_L_DQUOTE] = ACTIONS(1204), + [anon_sym_u_DQUOTE] = ACTIONS(1204), + [anon_sym_U_DQUOTE] = ACTIONS(1204), + [anon_sym_u8_DQUOTE] = ACTIONS(1204), + [anon_sym_DQUOTE] = ACTIONS(1204), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1204), + }, + [233] = { + [sym__identifier] = ACTIONS(1212), + [aux_sym_preproc_include_token1] = ACTIONS(1212), + [aux_sym_preproc_def_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1212), + [sym_preproc_directive] = ACTIONS(1212), + [anon_sym_LPAREN2] = ACTIONS(1214), + [anon_sym_BANG] = ACTIONS(1214), + [anon_sym_TILDE] = ACTIONS(1214), + [anon_sym_DASH] = ACTIONS(1212), + [anon_sym_PLUS] = ACTIONS(1212), + [anon_sym_STAR] = ACTIONS(1214), + [anon_sym_AMP] = ACTIONS(1214), + [anon_sym_SEMI] = ACTIONS(1214), + [anon_sym___extension__] = ACTIONS(1212), + [anon_sym_typedef] = ACTIONS(1212), + [anon_sym_extern] = ACTIONS(1212), + [anon_sym___attribute__] = ACTIONS(1212), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1214), + [anon_sym___declspec] = ACTIONS(1212), + [anon_sym___cdecl] = ACTIONS(1212), + [anon_sym___clrcall] = ACTIONS(1212), + [anon_sym___stdcall] = ACTIONS(1212), + [anon_sym___fastcall] = ACTIONS(1212), + [anon_sym___thiscall] = ACTIONS(1212), + [anon_sym___vectorcall] = ACTIONS(1212), + [anon_sym_LBRACE] = ACTIONS(1214), + [anon_sym_RBRACE] = ACTIONS(1214), + [anon_sym_signed] = ACTIONS(1212), + [anon_sym_unsigned] = ACTIONS(1212), + [anon_sym_long] = ACTIONS(1212), + [anon_sym_short] = ACTIONS(1212), + [anon_sym_static] = ACTIONS(1212), + [anon_sym_auto] = ACTIONS(1212), + [anon_sym_register] = ACTIONS(1212), + [anon_sym_inline] = ACTIONS(1212), + [anon_sym___inline] = ACTIONS(1212), + [anon_sym___inline__] = ACTIONS(1212), + [anon_sym___forceinline] = ACTIONS(1212), + [anon_sym_thread_local] = ACTIONS(1212), + [anon_sym___thread] = ACTIONS(1212), + [anon_sym_const] = ACTIONS(1212), + [anon_sym_constexpr] = ACTIONS(1212), + [anon_sym_volatile] = ACTIONS(1212), + [anon_sym_restrict] = ACTIONS(1212), + [anon_sym___restrict__] = ACTIONS(1212), + [anon_sym__Atomic] = ACTIONS(1212), + [anon_sym__Noreturn] = ACTIONS(1212), + [anon_sym_noreturn] = ACTIONS(1212), + [anon_sym_alignas] = ACTIONS(1212), + [anon_sym__Alignas] = ACTIONS(1212), + [sym_primitive_type] = ACTIONS(1212), + [anon_sym_enum] = ACTIONS(1212), + [anon_sym_struct] = ACTIONS(1212), + [anon_sym_union] = ACTIONS(1212), + [anon_sym_if] = ACTIONS(1212), + [anon_sym_else] = ACTIONS(1212), + [anon_sym_switch] = ACTIONS(1212), + [anon_sym_case] = ACTIONS(1212), + [anon_sym_default] = ACTIONS(1212), + [anon_sym_while] = ACTIONS(1212), + [anon_sym_do] = ACTIONS(1212), + [anon_sym_for] = ACTIONS(1212), + [anon_sym_return] = ACTIONS(1212), + [anon_sym_break] = ACTIONS(1212), + [anon_sym_continue] = ACTIONS(1212), + [anon_sym_goto] = ACTIONS(1212), + [anon_sym___try] = ACTIONS(1212), + [anon_sym___leave] = ACTIONS(1212), + [anon_sym_DASH_DASH] = ACTIONS(1214), + [anon_sym_PLUS_PLUS] = ACTIONS(1214), + [anon_sym_sizeof] = ACTIONS(1212), + [anon_sym___alignof__] = ACTIONS(1212), + [anon_sym___alignof] = ACTIONS(1212), + [anon_sym__alignof] = ACTIONS(1212), + [anon_sym_alignof] = ACTIONS(1212), + [anon_sym__Alignof] = ACTIONS(1212), + [anon_sym_offsetof] = ACTIONS(1212), + [anon_sym__Generic] = ACTIONS(1212), + [anon_sym_asm] = ACTIONS(1212), + [anon_sym___asm__] = ACTIONS(1212), + [sym__number_literal] = ACTIONS(1214), + [anon_sym_L_SQUOTE] = ACTIONS(1214), + [anon_sym_u_SQUOTE] = ACTIONS(1214), + [anon_sym_U_SQUOTE] = ACTIONS(1214), + [anon_sym_u8_SQUOTE] = ACTIONS(1214), + [anon_sym_SQUOTE] = ACTIONS(1214), + [anon_sym_L_DQUOTE] = ACTIONS(1214), + [anon_sym_u_DQUOTE] = ACTIONS(1214), + [anon_sym_U_DQUOTE] = ACTIONS(1214), + [anon_sym_u8_DQUOTE] = ACTIONS(1214), + [anon_sym_DQUOTE] = ACTIONS(1214), + [sym_true] = ACTIONS(1212), + [sym_false] = ACTIONS(1212), + [anon_sym_NULL] = ACTIONS(1212), + [anon_sym_nullptr] = ACTIONS(1212), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1214), + }, + [234] = { + [sym__identifier] = ACTIONS(1224), + [aux_sym_preproc_include_token1] = ACTIONS(1224), + [aux_sym_preproc_def_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1224), + [sym_preproc_directive] = ACTIONS(1224), + [anon_sym_LPAREN2] = ACTIONS(1226), + [anon_sym_BANG] = ACTIONS(1226), + [anon_sym_TILDE] = ACTIONS(1226), + [anon_sym_DASH] = ACTIONS(1224), + [anon_sym_PLUS] = ACTIONS(1224), + [anon_sym_STAR] = ACTIONS(1226), + [anon_sym_AMP] = ACTIONS(1226), + [anon_sym_SEMI] = ACTIONS(1226), + [anon_sym___extension__] = ACTIONS(1224), + [anon_sym_typedef] = ACTIONS(1224), + [anon_sym_extern] = ACTIONS(1224), + [anon_sym___attribute__] = ACTIONS(1224), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1226), + [anon_sym___declspec] = ACTIONS(1224), + [anon_sym___cdecl] = ACTIONS(1224), + [anon_sym___clrcall] = ACTIONS(1224), + [anon_sym___stdcall] = ACTIONS(1224), + [anon_sym___fastcall] = ACTIONS(1224), + [anon_sym___thiscall] = ACTIONS(1224), + [anon_sym___vectorcall] = ACTIONS(1224), + [anon_sym_LBRACE] = ACTIONS(1226), + [anon_sym_RBRACE] = ACTIONS(1226), + [anon_sym_signed] = ACTIONS(1224), + [anon_sym_unsigned] = ACTIONS(1224), + [anon_sym_long] = ACTIONS(1224), + [anon_sym_short] = ACTIONS(1224), + [anon_sym_static] = ACTIONS(1224), + [anon_sym_auto] = ACTIONS(1224), + [anon_sym_register] = ACTIONS(1224), + [anon_sym_inline] = ACTIONS(1224), + [anon_sym___inline] = ACTIONS(1224), + [anon_sym___inline__] = ACTIONS(1224), + [anon_sym___forceinline] = ACTIONS(1224), + [anon_sym_thread_local] = ACTIONS(1224), + [anon_sym___thread] = ACTIONS(1224), + [anon_sym_const] = ACTIONS(1224), + [anon_sym_constexpr] = ACTIONS(1224), + [anon_sym_volatile] = ACTIONS(1224), + [anon_sym_restrict] = ACTIONS(1224), + [anon_sym___restrict__] = ACTIONS(1224), + [anon_sym__Atomic] = ACTIONS(1224), + [anon_sym__Noreturn] = ACTIONS(1224), + [anon_sym_noreturn] = ACTIONS(1224), + [anon_sym_alignas] = ACTIONS(1224), + [anon_sym__Alignas] = ACTIONS(1224), + [sym_primitive_type] = ACTIONS(1224), + [anon_sym_enum] = ACTIONS(1224), + [anon_sym_struct] = ACTIONS(1224), + [anon_sym_union] = ACTIONS(1224), + [anon_sym_if] = ACTIONS(1224), + [anon_sym_else] = ACTIONS(1224), + [anon_sym_switch] = ACTIONS(1224), + [anon_sym_case] = ACTIONS(1224), + [anon_sym_default] = ACTIONS(1224), + [anon_sym_while] = ACTIONS(1224), + [anon_sym_do] = ACTIONS(1224), + [anon_sym_for] = ACTIONS(1224), + [anon_sym_return] = ACTIONS(1224), + [anon_sym_break] = ACTIONS(1224), + [anon_sym_continue] = ACTIONS(1224), + [anon_sym_goto] = ACTIONS(1224), + [anon_sym___try] = ACTIONS(1224), + [anon_sym___leave] = ACTIONS(1224), + [anon_sym_DASH_DASH] = ACTIONS(1226), + [anon_sym_PLUS_PLUS] = ACTIONS(1226), + [anon_sym_sizeof] = ACTIONS(1224), + [anon_sym___alignof__] = ACTIONS(1224), + [anon_sym___alignof] = ACTIONS(1224), + [anon_sym__alignof] = ACTIONS(1224), + [anon_sym_alignof] = ACTIONS(1224), + [anon_sym__Alignof] = ACTIONS(1224), + [anon_sym_offsetof] = ACTIONS(1224), + [anon_sym__Generic] = ACTIONS(1224), + [anon_sym_asm] = ACTIONS(1224), + [anon_sym___asm__] = ACTIONS(1224), + [sym__number_literal] = ACTIONS(1226), + [anon_sym_L_SQUOTE] = ACTIONS(1226), + [anon_sym_u_SQUOTE] = ACTIONS(1226), + [anon_sym_U_SQUOTE] = ACTIONS(1226), + [anon_sym_u8_SQUOTE] = ACTIONS(1226), + [anon_sym_SQUOTE] = ACTIONS(1226), + [anon_sym_L_DQUOTE] = ACTIONS(1226), + [anon_sym_u_DQUOTE] = ACTIONS(1226), + [anon_sym_U_DQUOTE] = ACTIONS(1226), + [anon_sym_u8_DQUOTE] = ACTIONS(1226), + [anon_sym_DQUOTE] = ACTIONS(1226), + [sym_true] = ACTIONS(1224), + [sym_false] = ACTIONS(1224), + [anon_sym_NULL] = ACTIONS(1224), + [anon_sym_nullptr] = ACTIONS(1224), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1226), + }, + [235] = { + [sym__identifier] = ACTIONS(1132), + [aux_sym_preproc_include_token1] = ACTIONS(1132), + [aux_sym_preproc_def_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token2] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1132), + [sym_preproc_directive] = ACTIONS(1132), + [anon_sym_LPAREN2] = ACTIONS(1134), + [anon_sym_BANG] = ACTIONS(1134), + [anon_sym_TILDE] = ACTIONS(1134), + [anon_sym_DASH] = ACTIONS(1132), + [anon_sym_PLUS] = ACTIONS(1132), + [anon_sym_STAR] = ACTIONS(1134), + [anon_sym_AMP] = ACTIONS(1134), + [anon_sym_SEMI] = ACTIONS(1134), + [anon_sym___extension__] = ACTIONS(1132), + [anon_sym_typedef] = ACTIONS(1132), + [anon_sym_extern] = ACTIONS(1132), + [anon_sym___attribute__] = ACTIONS(1132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1134), + [anon_sym___declspec] = ACTIONS(1132), + [anon_sym___cdecl] = ACTIONS(1132), + [anon_sym___clrcall] = ACTIONS(1132), + [anon_sym___stdcall] = ACTIONS(1132), + [anon_sym___fastcall] = ACTIONS(1132), + [anon_sym___thiscall] = ACTIONS(1132), + [anon_sym___vectorcall] = ACTIONS(1132), + [anon_sym_LBRACE] = ACTIONS(1134), + [anon_sym_signed] = ACTIONS(1132), + [anon_sym_unsigned] = ACTIONS(1132), + [anon_sym_long] = ACTIONS(1132), + [anon_sym_short] = ACTIONS(1132), + [anon_sym_static] = ACTIONS(1132), + [anon_sym_auto] = ACTIONS(1132), + [anon_sym_register] = ACTIONS(1132), + [anon_sym_inline] = ACTIONS(1132), + [anon_sym___inline] = ACTIONS(1132), + [anon_sym___inline__] = ACTIONS(1132), + [anon_sym___forceinline] = ACTIONS(1132), + [anon_sym_thread_local] = ACTIONS(1132), + [anon_sym___thread] = ACTIONS(1132), + [anon_sym_const] = ACTIONS(1132), + [anon_sym_constexpr] = ACTIONS(1132), + [anon_sym_volatile] = ACTIONS(1132), + [anon_sym_restrict] = ACTIONS(1132), + [anon_sym___restrict__] = ACTIONS(1132), + [anon_sym__Atomic] = ACTIONS(1132), + [anon_sym__Noreturn] = ACTIONS(1132), + [anon_sym_noreturn] = ACTIONS(1132), + [anon_sym_alignas] = ACTIONS(1132), + [anon_sym__Alignas] = ACTIONS(1132), + [sym_primitive_type] = ACTIONS(1132), + [anon_sym_enum] = ACTIONS(1132), + [anon_sym_struct] = ACTIONS(1132), + [anon_sym_union] = ACTIONS(1132), + [anon_sym_if] = ACTIONS(1132), + [anon_sym_else] = ACTIONS(1132), + [anon_sym_switch] = ACTIONS(1132), + [anon_sym_case] = ACTIONS(1132), + [anon_sym_default] = ACTIONS(1132), + [anon_sym_while] = ACTIONS(1132), + [anon_sym_do] = ACTIONS(1132), + [anon_sym_for] = ACTIONS(1132), + [anon_sym_return] = ACTIONS(1132), + [anon_sym_break] = ACTIONS(1132), + [anon_sym_continue] = ACTIONS(1132), + [anon_sym_goto] = ACTIONS(1132), + [anon_sym___try] = ACTIONS(1132), + [anon_sym___leave] = ACTIONS(1132), + [anon_sym_DASH_DASH] = ACTIONS(1134), + [anon_sym_PLUS_PLUS] = ACTIONS(1134), + [anon_sym_sizeof] = ACTIONS(1132), + [anon_sym___alignof__] = ACTIONS(1132), + [anon_sym___alignof] = ACTIONS(1132), + [anon_sym__alignof] = ACTIONS(1132), + [anon_sym_alignof] = ACTIONS(1132), + [anon_sym__Alignof] = ACTIONS(1132), + [anon_sym_offsetof] = ACTIONS(1132), + [anon_sym__Generic] = ACTIONS(1132), + [anon_sym_asm] = ACTIONS(1132), + [anon_sym___asm__] = ACTIONS(1132), + [sym__number_literal] = ACTIONS(1134), + [anon_sym_L_SQUOTE] = ACTIONS(1134), + [anon_sym_u_SQUOTE] = ACTIONS(1134), + [anon_sym_U_SQUOTE] = ACTIONS(1134), + [anon_sym_u8_SQUOTE] = ACTIONS(1134), + [anon_sym_SQUOTE] = ACTIONS(1134), + [anon_sym_L_DQUOTE] = ACTIONS(1134), + [anon_sym_u_DQUOTE] = ACTIONS(1134), + [anon_sym_U_DQUOTE] = ACTIONS(1134), + [anon_sym_u8_DQUOTE] = ACTIONS(1134), + [anon_sym_DQUOTE] = ACTIONS(1134), + [sym_true] = ACTIONS(1132), + [sym_false] = ACTIONS(1132), + [anon_sym_NULL] = ACTIONS(1132), + [anon_sym_nullptr] = ACTIONS(1132), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1134), + }, + [236] = { + [sym__identifier] = ACTIONS(1136), + [aux_sym_preproc_include_token1] = ACTIONS(1136), + [aux_sym_preproc_def_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token2] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1136), + [sym_preproc_directive] = ACTIONS(1136), + [anon_sym_LPAREN2] = ACTIONS(1138), + [anon_sym_BANG] = ACTIONS(1138), + [anon_sym_TILDE] = ACTIONS(1138), + [anon_sym_DASH] = ACTIONS(1136), + [anon_sym_PLUS] = ACTIONS(1136), + [anon_sym_STAR] = ACTIONS(1138), + [anon_sym_AMP] = ACTIONS(1138), + [anon_sym_SEMI] = ACTIONS(1138), + [anon_sym___extension__] = ACTIONS(1136), + [anon_sym_typedef] = ACTIONS(1136), + [anon_sym_extern] = ACTIONS(1136), + [anon_sym___attribute__] = ACTIONS(1136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1138), + [anon_sym___declspec] = ACTIONS(1136), + [anon_sym___cdecl] = ACTIONS(1136), + [anon_sym___clrcall] = ACTIONS(1136), + [anon_sym___stdcall] = ACTIONS(1136), + [anon_sym___fastcall] = ACTIONS(1136), + [anon_sym___thiscall] = ACTIONS(1136), + [anon_sym___vectorcall] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(1138), + [anon_sym_signed] = ACTIONS(1136), + [anon_sym_unsigned] = ACTIONS(1136), + [anon_sym_long] = ACTIONS(1136), + [anon_sym_short] = ACTIONS(1136), + [anon_sym_static] = ACTIONS(1136), + [anon_sym_auto] = ACTIONS(1136), + [anon_sym_register] = ACTIONS(1136), + [anon_sym_inline] = ACTIONS(1136), + [anon_sym___inline] = ACTIONS(1136), + [anon_sym___inline__] = ACTIONS(1136), + [anon_sym___forceinline] = ACTIONS(1136), + [anon_sym_thread_local] = ACTIONS(1136), + [anon_sym___thread] = ACTIONS(1136), + [anon_sym_const] = ACTIONS(1136), + [anon_sym_constexpr] = ACTIONS(1136), + [anon_sym_volatile] = ACTIONS(1136), + [anon_sym_restrict] = ACTIONS(1136), + [anon_sym___restrict__] = ACTIONS(1136), + [anon_sym__Atomic] = ACTIONS(1136), + [anon_sym__Noreturn] = ACTIONS(1136), + [anon_sym_noreturn] = ACTIONS(1136), + [anon_sym_alignas] = ACTIONS(1136), + [anon_sym__Alignas] = ACTIONS(1136), + [sym_primitive_type] = ACTIONS(1136), + [anon_sym_enum] = ACTIONS(1136), + [anon_sym_struct] = ACTIONS(1136), + [anon_sym_union] = ACTIONS(1136), + [anon_sym_if] = ACTIONS(1136), + [anon_sym_else] = ACTIONS(1136), + [anon_sym_switch] = ACTIONS(1136), + [anon_sym_case] = ACTIONS(1136), + [anon_sym_default] = ACTIONS(1136), + [anon_sym_while] = ACTIONS(1136), + [anon_sym_do] = ACTIONS(1136), + [anon_sym_for] = ACTIONS(1136), + [anon_sym_return] = ACTIONS(1136), + [anon_sym_break] = ACTIONS(1136), + [anon_sym_continue] = ACTIONS(1136), + [anon_sym_goto] = ACTIONS(1136), + [anon_sym___try] = ACTIONS(1136), + [anon_sym___leave] = ACTIONS(1136), + [anon_sym_DASH_DASH] = ACTIONS(1138), + [anon_sym_PLUS_PLUS] = ACTIONS(1138), + [anon_sym_sizeof] = ACTIONS(1136), + [anon_sym___alignof__] = ACTIONS(1136), + [anon_sym___alignof] = ACTIONS(1136), + [anon_sym__alignof] = ACTIONS(1136), + [anon_sym_alignof] = ACTIONS(1136), + [anon_sym__Alignof] = ACTIONS(1136), + [anon_sym_offsetof] = ACTIONS(1136), + [anon_sym__Generic] = ACTIONS(1136), + [anon_sym_asm] = ACTIONS(1136), + [anon_sym___asm__] = ACTIONS(1136), + [sym__number_literal] = ACTIONS(1138), + [anon_sym_L_SQUOTE] = ACTIONS(1138), + [anon_sym_u_SQUOTE] = ACTIONS(1138), + [anon_sym_U_SQUOTE] = ACTIONS(1138), + [anon_sym_u8_SQUOTE] = ACTIONS(1138), + [anon_sym_SQUOTE] = ACTIONS(1138), + [anon_sym_L_DQUOTE] = ACTIONS(1138), + [anon_sym_u_DQUOTE] = ACTIONS(1138), + [anon_sym_U_DQUOTE] = ACTIONS(1138), + [anon_sym_u8_DQUOTE] = ACTIONS(1138), + [anon_sym_DQUOTE] = ACTIONS(1138), + [sym_true] = ACTIONS(1136), + [sym_false] = ACTIONS(1136), + [anon_sym_NULL] = ACTIONS(1136), + [anon_sym_nullptr] = ACTIONS(1136), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1138), + }, + [237] = { + [sym__identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym___extension__] = ACTIONS(1124), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_RBRACE] = ACTIONS(1126), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym___inline] = ACTIONS(1124), + [anon_sym___inline__] = ACTIONS(1124), + [anon_sym___forceinline] = ACTIONS(1124), + [anon_sym_thread_local] = ACTIONS(1124), + [anon_sym___thread] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_constexpr] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym___restrict__] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym__Noreturn] = ACTIONS(1124), + [anon_sym_noreturn] = ACTIONS(1124), + [anon_sym_alignas] = ACTIONS(1124), + [anon_sym__Alignas] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_else] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym___try] = ACTIONS(1124), + [anon_sym___leave] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [anon_sym___alignof__] = ACTIONS(1124), + [anon_sym___alignof] = ACTIONS(1124), + [anon_sym__alignof] = ACTIONS(1124), + [anon_sym_alignof] = ACTIONS(1124), + [anon_sym__Alignof] = ACTIONS(1124), + [anon_sym_offsetof] = ACTIONS(1124), + [anon_sym__Generic] = ACTIONS(1124), + [anon_sym_asm] = ACTIONS(1124), + [anon_sym___asm__] = ACTIONS(1124), + [sym__number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [anon_sym_NULL] = ACTIONS(1124), + [anon_sym_nullptr] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1126), + }, + [238] = { + [sym__identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token2] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym___extension__] = ACTIONS(1100), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym___inline] = ACTIONS(1100), + [anon_sym___inline__] = ACTIONS(1100), + [anon_sym___forceinline] = ACTIONS(1100), + [anon_sym_thread_local] = ACTIONS(1100), + [anon_sym___thread] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_constexpr] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym___restrict__] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym__Noreturn] = ACTIONS(1100), + [anon_sym_noreturn] = ACTIONS(1100), + [anon_sym_alignas] = ACTIONS(1100), + [anon_sym__Alignas] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_else] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym___try] = ACTIONS(1100), + [anon_sym___leave] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [anon_sym___alignof__] = ACTIONS(1100), + [anon_sym___alignof] = ACTIONS(1100), + [anon_sym__alignof] = ACTIONS(1100), + [anon_sym_alignof] = ACTIONS(1100), + [anon_sym__Alignof] = ACTIONS(1100), + [anon_sym_offsetof] = ACTIONS(1100), + [anon_sym__Generic] = ACTIONS(1100), + [anon_sym_asm] = ACTIONS(1100), + [anon_sym___asm__] = ACTIONS(1100), + [sym__number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [anon_sym_NULL] = ACTIONS(1100), + [anon_sym_nullptr] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1102), + }, + [239] = { + [sym__identifier] = ACTIONS(1160), + [aux_sym_preproc_include_token1] = ACTIONS(1160), + [aux_sym_preproc_def_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token2] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1160), + [sym_preproc_directive] = ACTIONS(1160), + [anon_sym_LPAREN2] = ACTIONS(1162), + [anon_sym_BANG] = ACTIONS(1162), + [anon_sym_TILDE] = ACTIONS(1162), + [anon_sym_DASH] = ACTIONS(1160), + [anon_sym_PLUS] = ACTIONS(1160), + [anon_sym_STAR] = ACTIONS(1162), + [anon_sym_AMP] = ACTIONS(1162), + [anon_sym_SEMI] = ACTIONS(1162), + [anon_sym___extension__] = ACTIONS(1160), + [anon_sym_typedef] = ACTIONS(1160), + [anon_sym_extern] = ACTIONS(1160), + [anon_sym___attribute__] = ACTIONS(1160), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1162), + [anon_sym___declspec] = ACTIONS(1160), + [anon_sym___cdecl] = ACTIONS(1160), + [anon_sym___clrcall] = ACTIONS(1160), + [anon_sym___stdcall] = ACTIONS(1160), + [anon_sym___fastcall] = ACTIONS(1160), + [anon_sym___thiscall] = ACTIONS(1160), + [anon_sym___vectorcall] = ACTIONS(1160), + [anon_sym_LBRACE] = ACTIONS(1162), + [anon_sym_signed] = ACTIONS(1160), + [anon_sym_unsigned] = ACTIONS(1160), + [anon_sym_long] = ACTIONS(1160), + [anon_sym_short] = ACTIONS(1160), + [anon_sym_static] = ACTIONS(1160), + [anon_sym_auto] = ACTIONS(1160), + [anon_sym_register] = ACTIONS(1160), + [anon_sym_inline] = ACTIONS(1160), + [anon_sym___inline] = ACTIONS(1160), + [anon_sym___inline__] = ACTIONS(1160), + [anon_sym___forceinline] = ACTIONS(1160), + [anon_sym_thread_local] = ACTIONS(1160), + [anon_sym___thread] = ACTIONS(1160), + [anon_sym_const] = ACTIONS(1160), + [anon_sym_constexpr] = ACTIONS(1160), + [anon_sym_volatile] = ACTIONS(1160), + [anon_sym_restrict] = ACTIONS(1160), + [anon_sym___restrict__] = ACTIONS(1160), + [anon_sym__Atomic] = ACTIONS(1160), + [anon_sym__Noreturn] = ACTIONS(1160), + [anon_sym_noreturn] = ACTIONS(1160), + [anon_sym_alignas] = ACTIONS(1160), + [anon_sym__Alignas] = ACTIONS(1160), + [sym_primitive_type] = ACTIONS(1160), + [anon_sym_enum] = ACTIONS(1160), + [anon_sym_struct] = ACTIONS(1160), + [anon_sym_union] = ACTIONS(1160), + [anon_sym_if] = ACTIONS(1160), + [anon_sym_else] = ACTIONS(1160), + [anon_sym_switch] = ACTIONS(1160), + [anon_sym_case] = ACTIONS(1160), + [anon_sym_default] = ACTIONS(1160), + [anon_sym_while] = ACTIONS(1160), + [anon_sym_do] = ACTIONS(1160), + [anon_sym_for] = ACTIONS(1160), + [anon_sym_return] = ACTIONS(1160), + [anon_sym_break] = ACTIONS(1160), + [anon_sym_continue] = ACTIONS(1160), + [anon_sym_goto] = ACTIONS(1160), + [anon_sym___try] = ACTIONS(1160), + [anon_sym___leave] = ACTIONS(1160), + [anon_sym_DASH_DASH] = ACTIONS(1162), + [anon_sym_PLUS_PLUS] = ACTIONS(1162), + [anon_sym_sizeof] = ACTIONS(1160), + [anon_sym___alignof__] = ACTIONS(1160), + [anon_sym___alignof] = ACTIONS(1160), + [anon_sym__alignof] = ACTIONS(1160), + [anon_sym_alignof] = ACTIONS(1160), + [anon_sym__Alignof] = ACTIONS(1160), + [anon_sym_offsetof] = ACTIONS(1160), + [anon_sym__Generic] = ACTIONS(1160), + [anon_sym_asm] = ACTIONS(1160), + [anon_sym___asm__] = ACTIONS(1160), + [sym__number_literal] = ACTIONS(1162), + [anon_sym_L_SQUOTE] = ACTIONS(1162), + [anon_sym_u_SQUOTE] = ACTIONS(1162), + [anon_sym_U_SQUOTE] = ACTIONS(1162), + [anon_sym_u8_SQUOTE] = ACTIONS(1162), + [anon_sym_SQUOTE] = ACTIONS(1162), + [anon_sym_L_DQUOTE] = ACTIONS(1162), + [anon_sym_u_DQUOTE] = ACTIONS(1162), + [anon_sym_U_DQUOTE] = ACTIONS(1162), + [anon_sym_u8_DQUOTE] = ACTIONS(1162), + [anon_sym_DQUOTE] = ACTIONS(1162), + [sym_true] = ACTIONS(1160), + [sym_false] = ACTIONS(1160), + [anon_sym_NULL] = ACTIONS(1160), + [anon_sym_nullptr] = ACTIONS(1160), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1162), + }, + [240] = { + [sym__identifier] = ACTIONS(1164), + [aux_sym_preproc_include_token1] = ACTIONS(1164), + [aux_sym_preproc_def_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token2] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1164), + [sym_preproc_directive] = ACTIONS(1164), + [anon_sym_LPAREN2] = ACTIONS(1166), + [anon_sym_BANG] = ACTIONS(1166), + [anon_sym_TILDE] = ACTIONS(1166), + [anon_sym_DASH] = ACTIONS(1164), + [anon_sym_PLUS] = ACTIONS(1164), + [anon_sym_STAR] = ACTIONS(1166), + [anon_sym_AMP] = ACTIONS(1166), + [anon_sym_SEMI] = ACTIONS(1166), + [anon_sym___extension__] = ACTIONS(1164), + [anon_sym_typedef] = ACTIONS(1164), + [anon_sym_extern] = ACTIONS(1164), + [anon_sym___attribute__] = ACTIONS(1164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1166), + [anon_sym___declspec] = ACTIONS(1164), + [anon_sym___cdecl] = ACTIONS(1164), + [anon_sym___clrcall] = ACTIONS(1164), + [anon_sym___stdcall] = ACTIONS(1164), + [anon_sym___fastcall] = ACTIONS(1164), + [anon_sym___thiscall] = ACTIONS(1164), + [anon_sym___vectorcall] = ACTIONS(1164), + [anon_sym_LBRACE] = ACTIONS(1166), + [anon_sym_signed] = ACTIONS(1164), + [anon_sym_unsigned] = ACTIONS(1164), + [anon_sym_long] = ACTIONS(1164), + [anon_sym_short] = ACTIONS(1164), + [anon_sym_static] = ACTIONS(1164), + [anon_sym_auto] = ACTIONS(1164), + [anon_sym_register] = ACTIONS(1164), + [anon_sym_inline] = ACTIONS(1164), + [anon_sym___inline] = ACTIONS(1164), + [anon_sym___inline__] = ACTIONS(1164), + [anon_sym___forceinline] = ACTIONS(1164), + [anon_sym_thread_local] = ACTIONS(1164), + [anon_sym___thread] = ACTIONS(1164), + [anon_sym_const] = ACTIONS(1164), + [anon_sym_constexpr] = ACTIONS(1164), + [anon_sym_volatile] = ACTIONS(1164), + [anon_sym_restrict] = ACTIONS(1164), + [anon_sym___restrict__] = ACTIONS(1164), + [anon_sym__Atomic] = ACTIONS(1164), + [anon_sym__Noreturn] = ACTIONS(1164), + [anon_sym_noreturn] = ACTIONS(1164), + [anon_sym_alignas] = ACTIONS(1164), + [anon_sym__Alignas] = ACTIONS(1164), + [sym_primitive_type] = ACTIONS(1164), + [anon_sym_enum] = ACTIONS(1164), + [anon_sym_struct] = ACTIONS(1164), + [anon_sym_union] = ACTIONS(1164), + [anon_sym_if] = ACTIONS(1164), + [anon_sym_else] = ACTIONS(1164), + [anon_sym_switch] = ACTIONS(1164), + [anon_sym_case] = ACTIONS(1164), + [anon_sym_default] = ACTIONS(1164), + [anon_sym_while] = ACTIONS(1164), + [anon_sym_do] = ACTIONS(1164), + [anon_sym_for] = ACTIONS(1164), + [anon_sym_return] = ACTIONS(1164), + [anon_sym_break] = ACTIONS(1164), + [anon_sym_continue] = ACTIONS(1164), + [anon_sym_goto] = ACTIONS(1164), + [anon_sym___try] = ACTIONS(1164), + [anon_sym___leave] = ACTIONS(1164), + [anon_sym_DASH_DASH] = ACTIONS(1166), + [anon_sym_PLUS_PLUS] = ACTIONS(1166), + [anon_sym_sizeof] = ACTIONS(1164), + [anon_sym___alignof__] = ACTIONS(1164), + [anon_sym___alignof] = ACTIONS(1164), + [anon_sym__alignof] = ACTIONS(1164), + [anon_sym_alignof] = ACTIONS(1164), + [anon_sym__Alignof] = ACTIONS(1164), + [anon_sym_offsetof] = ACTIONS(1164), + [anon_sym__Generic] = ACTIONS(1164), + [anon_sym_asm] = ACTIONS(1164), + [anon_sym___asm__] = ACTIONS(1164), + [sym__number_literal] = ACTIONS(1166), + [anon_sym_L_SQUOTE] = ACTIONS(1166), + [anon_sym_u_SQUOTE] = ACTIONS(1166), + [anon_sym_U_SQUOTE] = ACTIONS(1166), + [anon_sym_u8_SQUOTE] = ACTIONS(1166), + [anon_sym_SQUOTE] = ACTIONS(1166), + [anon_sym_L_DQUOTE] = ACTIONS(1166), + [anon_sym_u_DQUOTE] = ACTIONS(1166), + [anon_sym_U_DQUOTE] = ACTIONS(1166), + [anon_sym_u8_DQUOTE] = ACTIONS(1166), + [anon_sym_DQUOTE] = ACTIONS(1166), + [sym_true] = ACTIONS(1164), + [sym_false] = ACTIONS(1164), + [anon_sym_NULL] = ACTIONS(1164), + [anon_sym_nullptr] = ACTIONS(1164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1166), + }, + [241] = { + [sym__identifier] = ACTIONS(1172), + [aux_sym_preproc_include_token1] = ACTIONS(1172), + [aux_sym_preproc_def_token1] = ACTIONS(1172), + [aux_sym_preproc_if_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1172), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1172), + [sym_preproc_directive] = ACTIONS(1172), + [anon_sym_LPAREN2] = ACTIONS(1174), + [anon_sym_BANG] = ACTIONS(1174), + [anon_sym_TILDE] = ACTIONS(1174), + [anon_sym_DASH] = ACTIONS(1172), + [anon_sym_PLUS] = ACTIONS(1172), + [anon_sym_STAR] = ACTIONS(1174), + [anon_sym_AMP] = ACTIONS(1174), + [anon_sym_SEMI] = ACTIONS(1174), + [anon_sym___extension__] = ACTIONS(1172), + [anon_sym_typedef] = ACTIONS(1172), + [anon_sym_extern] = ACTIONS(1172), + [anon_sym___attribute__] = ACTIONS(1172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1174), + [anon_sym___declspec] = ACTIONS(1172), + [anon_sym___cdecl] = ACTIONS(1172), + [anon_sym___clrcall] = ACTIONS(1172), + [anon_sym___stdcall] = ACTIONS(1172), + [anon_sym___fastcall] = ACTIONS(1172), + [anon_sym___thiscall] = ACTIONS(1172), + [anon_sym___vectorcall] = ACTIONS(1172), + [anon_sym_LBRACE] = ACTIONS(1174), + [anon_sym_RBRACE] = ACTIONS(1174), + [anon_sym_signed] = ACTIONS(1172), + [anon_sym_unsigned] = ACTIONS(1172), + [anon_sym_long] = ACTIONS(1172), + [anon_sym_short] = ACTIONS(1172), + [anon_sym_static] = ACTIONS(1172), + [anon_sym_auto] = ACTIONS(1172), + [anon_sym_register] = ACTIONS(1172), + [anon_sym_inline] = ACTIONS(1172), + [anon_sym___inline] = ACTIONS(1172), + [anon_sym___inline__] = ACTIONS(1172), + [anon_sym___forceinline] = ACTIONS(1172), + [anon_sym_thread_local] = ACTIONS(1172), + [anon_sym___thread] = ACTIONS(1172), + [anon_sym_const] = ACTIONS(1172), + [anon_sym_constexpr] = ACTIONS(1172), + [anon_sym_volatile] = ACTIONS(1172), + [anon_sym_restrict] = ACTIONS(1172), + [anon_sym___restrict__] = ACTIONS(1172), + [anon_sym__Atomic] = ACTIONS(1172), + [anon_sym__Noreturn] = ACTIONS(1172), + [anon_sym_noreturn] = ACTIONS(1172), + [anon_sym_alignas] = ACTIONS(1172), + [anon_sym__Alignas] = ACTIONS(1172), + [sym_primitive_type] = ACTIONS(1172), + [anon_sym_enum] = ACTIONS(1172), + [anon_sym_struct] = ACTIONS(1172), + [anon_sym_union] = ACTIONS(1172), + [anon_sym_if] = ACTIONS(1172), + [anon_sym_else] = ACTIONS(1172), + [anon_sym_switch] = ACTIONS(1172), + [anon_sym_case] = ACTIONS(1172), + [anon_sym_default] = ACTIONS(1172), + [anon_sym_while] = ACTIONS(1172), + [anon_sym_do] = ACTIONS(1172), + [anon_sym_for] = ACTIONS(1172), + [anon_sym_return] = ACTIONS(1172), + [anon_sym_break] = ACTIONS(1172), + [anon_sym_continue] = ACTIONS(1172), + [anon_sym_goto] = ACTIONS(1172), + [anon_sym___try] = ACTIONS(1172), + [anon_sym___leave] = ACTIONS(1172), + [anon_sym_DASH_DASH] = ACTIONS(1174), + [anon_sym_PLUS_PLUS] = ACTIONS(1174), + [anon_sym_sizeof] = ACTIONS(1172), + [anon_sym___alignof__] = ACTIONS(1172), + [anon_sym___alignof] = ACTIONS(1172), + [anon_sym__alignof] = ACTIONS(1172), + [anon_sym_alignof] = ACTIONS(1172), + [anon_sym__Alignof] = ACTIONS(1172), + [anon_sym_offsetof] = ACTIONS(1172), + [anon_sym__Generic] = ACTIONS(1172), + [anon_sym_asm] = ACTIONS(1172), + [anon_sym___asm__] = ACTIONS(1172), + [sym__number_literal] = ACTIONS(1174), + [anon_sym_L_SQUOTE] = ACTIONS(1174), + [anon_sym_u_SQUOTE] = ACTIONS(1174), + [anon_sym_U_SQUOTE] = ACTIONS(1174), + [anon_sym_u8_SQUOTE] = ACTIONS(1174), + [anon_sym_SQUOTE] = ACTIONS(1174), + [anon_sym_L_DQUOTE] = ACTIONS(1174), + [anon_sym_u_DQUOTE] = ACTIONS(1174), + [anon_sym_U_DQUOTE] = ACTIONS(1174), + [anon_sym_u8_DQUOTE] = ACTIONS(1174), + [anon_sym_DQUOTE] = ACTIONS(1174), + [sym_true] = ACTIONS(1172), + [sym_false] = ACTIONS(1172), + [anon_sym_NULL] = ACTIONS(1172), + [anon_sym_nullptr] = ACTIONS(1172), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1174), + }, + [242] = { + [ts_builtin_sym_end] = ACTIONS(1110), + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [243] = { + [sym__identifier] = ACTIONS(1156), + [aux_sym_preproc_include_token1] = ACTIONS(1156), + [aux_sym_preproc_def_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1156), + [sym_preproc_directive] = ACTIONS(1156), + [anon_sym_LPAREN2] = ACTIONS(1158), + [anon_sym_BANG] = ACTIONS(1158), + [anon_sym_TILDE] = ACTIONS(1158), + [anon_sym_DASH] = ACTIONS(1156), + [anon_sym_PLUS] = ACTIONS(1156), + [anon_sym_STAR] = ACTIONS(1158), + [anon_sym_AMP] = ACTIONS(1158), + [anon_sym_SEMI] = ACTIONS(1158), + [anon_sym___extension__] = ACTIONS(1156), + [anon_sym_typedef] = ACTIONS(1156), + [anon_sym_extern] = ACTIONS(1156), + [anon_sym___attribute__] = ACTIONS(1156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1158), + [anon_sym___declspec] = ACTIONS(1156), + [anon_sym___cdecl] = ACTIONS(1156), + [anon_sym___clrcall] = ACTIONS(1156), + [anon_sym___stdcall] = ACTIONS(1156), + [anon_sym___fastcall] = ACTIONS(1156), + [anon_sym___thiscall] = ACTIONS(1156), + [anon_sym___vectorcall] = ACTIONS(1156), + [anon_sym_LBRACE] = ACTIONS(1158), + [anon_sym_RBRACE] = ACTIONS(1158), + [anon_sym_signed] = ACTIONS(1156), + [anon_sym_unsigned] = ACTIONS(1156), + [anon_sym_long] = ACTIONS(1156), + [anon_sym_short] = ACTIONS(1156), + [anon_sym_static] = ACTIONS(1156), + [anon_sym_auto] = ACTIONS(1156), + [anon_sym_register] = ACTIONS(1156), + [anon_sym_inline] = ACTIONS(1156), + [anon_sym___inline] = ACTIONS(1156), + [anon_sym___inline__] = ACTIONS(1156), + [anon_sym___forceinline] = ACTIONS(1156), + [anon_sym_thread_local] = ACTIONS(1156), + [anon_sym___thread] = ACTIONS(1156), + [anon_sym_const] = ACTIONS(1156), + [anon_sym_constexpr] = ACTIONS(1156), + [anon_sym_volatile] = ACTIONS(1156), + [anon_sym_restrict] = ACTIONS(1156), + [anon_sym___restrict__] = ACTIONS(1156), + [anon_sym__Atomic] = ACTIONS(1156), + [anon_sym__Noreturn] = ACTIONS(1156), + [anon_sym_noreturn] = ACTIONS(1156), + [anon_sym_alignas] = ACTIONS(1156), + [anon_sym__Alignas] = ACTIONS(1156), + [sym_primitive_type] = ACTIONS(1156), + [anon_sym_enum] = ACTIONS(1156), + [anon_sym_struct] = ACTIONS(1156), + [anon_sym_union] = ACTIONS(1156), + [anon_sym_if] = ACTIONS(1156), + [anon_sym_else] = ACTIONS(1156), + [anon_sym_switch] = ACTIONS(1156), + [anon_sym_case] = ACTIONS(1156), + [anon_sym_default] = ACTIONS(1156), + [anon_sym_while] = ACTIONS(1156), + [anon_sym_do] = ACTIONS(1156), + [anon_sym_for] = ACTIONS(1156), + [anon_sym_return] = ACTIONS(1156), + [anon_sym_break] = ACTIONS(1156), + [anon_sym_continue] = ACTIONS(1156), + [anon_sym_goto] = ACTIONS(1156), + [anon_sym___try] = ACTIONS(1156), + [anon_sym___leave] = ACTIONS(1156), + [anon_sym_DASH_DASH] = ACTIONS(1158), + [anon_sym_PLUS_PLUS] = ACTIONS(1158), + [anon_sym_sizeof] = ACTIONS(1156), + [anon_sym___alignof__] = ACTIONS(1156), + [anon_sym___alignof] = ACTIONS(1156), + [anon_sym__alignof] = ACTIONS(1156), + [anon_sym_alignof] = ACTIONS(1156), + [anon_sym__Alignof] = ACTIONS(1156), + [anon_sym_offsetof] = ACTIONS(1156), + [anon_sym__Generic] = ACTIONS(1156), + [anon_sym_asm] = ACTIONS(1156), + [anon_sym___asm__] = ACTIONS(1156), + [sym__number_literal] = ACTIONS(1158), + [anon_sym_L_SQUOTE] = ACTIONS(1158), + [anon_sym_u_SQUOTE] = ACTIONS(1158), + [anon_sym_U_SQUOTE] = ACTIONS(1158), + [anon_sym_u8_SQUOTE] = ACTIONS(1158), + [anon_sym_SQUOTE] = ACTIONS(1158), + [anon_sym_L_DQUOTE] = ACTIONS(1158), + [anon_sym_u_DQUOTE] = ACTIONS(1158), + [anon_sym_U_DQUOTE] = ACTIONS(1158), + [anon_sym_u8_DQUOTE] = ACTIONS(1158), + [anon_sym_DQUOTE] = ACTIONS(1158), + [sym_true] = ACTIONS(1156), + [sym_false] = ACTIONS(1156), + [anon_sym_NULL] = ACTIONS(1156), + [anon_sym_nullptr] = ACTIONS(1156), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1158), + }, + [244] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_RBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [245] = { + [ts_builtin_sym_end] = ACTIONS(1186), + [sym__identifier] = ACTIONS(1184), + [aux_sym_preproc_include_token1] = ACTIONS(1184), + [aux_sym_preproc_def_token1] = ACTIONS(1184), + [aux_sym_preproc_if_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1184), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1184), + [sym_preproc_directive] = ACTIONS(1184), + [anon_sym_LPAREN2] = ACTIONS(1186), + [anon_sym_BANG] = ACTIONS(1186), + [anon_sym_TILDE] = ACTIONS(1186), + [anon_sym_DASH] = ACTIONS(1184), + [anon_sym_PLUS] = ACTIONS(1184), + [anon_sym_STAR] = ACTIONS(1186), + [anon_sym_AMP] = ACTIONS(1186), + [anon_sym_SEMI] = ACTIONS(1186), + [anon_sym___extension__] = ACTIONS(1184), + [anon_sym_typedef] = ACTIONS(1184), + [anon_sym_extern] = ACTIONS(1184), + [anon_sym___attribute__] = ACTIONS(1184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1186), + [anon_sym___declspec] = ACTIONS(1184), + [anon_sym___cdecl] = ACTIONS(1184), + [anon_sym___clrcall] = ACTIONS(1184), + [anon_sym___stdcall] = ACTIONS(1184), + [anon_sym___fastcall] = ACTIONS(1184), + [anon_sym___thiscall] = ACTIONS(1184), + [anon_sym___vectorcall] = ACTIONS(1184), + [anon_sym_LBRACE] = ACTIONS(1186), + [anon_sym_signed] = ACTIONS(1184), + [anon_sym_unsigned] = ACTIONS(1184), + [anon_sym_long] = ACTIONS(1184), + [anon_sym_short] = ACTIONS(1184), + [anon_sym_static] = ACTIONS(1184), + [anon_sym_auto] = ACTIONS(1184), + [anon_sym_register] = ACTIONS(1184), + [anon_sym_inline] = ACTIONS(1184), + [anon_sym___inline] = ACTIONS(1184), + [anon_sym___inline__] = ACTIONS(1184), + [anon_sym___forceinline] = ACTIONS(1184), + [anon_sym_thread_local] = ACTIONS(1184), + [anon_sym___thread] = ACTIONS(1184), + [anon_sym_const] = ACTIONS(1184), + [anon_sym_constexpr] = ACTIONS(1184), + [anon_sym_volatile] = ACTIONS(1184), + [anon_sym_restrict] = ACTIONS(1184), + [anon_sym___restrict__] = ACTIONS(1184), + [anon_sym__Atomic] = ACTIONS(1184), + [anon_sym__Noreturn] = ACTIONS(1184), + [anon_sym_noreturn] = ACTIONS(1184), + [anon_sym_alignas] = ACTIONS(1184), + [anon_sym__Alignas] = ACTIONS(1184), + [sym_primitive_type] = ACTIONS(1184), + [anon_sym_enum] = ACTIONS(1184), + [anon_sym_struct] = ACTIONS(1184), + [anon_sym_union] = ACTIONS(1184), + [anon_sym_if] = ACTIONS(1184), + [anon_sym_else] = ACTIONS(1184), + [anon_sym_switch] = ACTIONS(1184), + [anon_sym_case] = ACTIONS(1184), + [anon_sym_default] = ACTIONS(1184), + [anon_sym_while] = ACTIONS(1184), + [anon_sym_do] = ACTIONS(1184), + [anon_sym_for] = ACTIONS(1184), + [anon_sym_return] = ACTIONS(1184), + [anon_sym_break] = ACTIONS(1184), + [anon_sym_continue] = ACTIONS(1184), + [anon_sym_goto] = ACTIONS(1184), + [anon_sym___try] = ACTIONS(1184), + [anon_sym___leave] = ACTIONS(1184), + [anon_sym_DASH_DASH] = ACTIONS(1186), + [anon_sym_PLUS_PLUS] = ACTIONS(1186), + [anon_sym_sizeof] = ACTIONS(1184), + [anon_sym___alignof__] = ACTIONS(1184), + [anon_sym___alignof] = ACTIONS(1184), + [anon_sym__alignof] = ACTIONS(1184), + [anon_sym_alignof] = ACTIONS(1184), + [anon_sym__Alignof] = ACTIONS(1184), + [anon_sym_offsetof] = ACTIONS(1184), + [anon_sym__Generic] = ACTIONS(1184), + [anon_sym_asm] = ACTIONS(1184), + [anon_sym___asm__] = ACTIONS(1184), + [sym__number_literal] = ACTIONS(1186), + [anon_sym_L_SQUOTE] = ACTIONS(1186), + [anon_sym_u_SQUOTE] = ACTIONS(1186), + [anon_sym_U_SQUOTE] = ACTIONS(1186), + [anon_sym_u8_SQUOTE] = ACTIONS(1186), + [anon_sym_SQUOTE] = ACTIONS(1186), + [anon_sym_L_DQUOTE] = ACTIONS(1186), + [anon_sym_u_DQUOTE] = ACTIONS(1186), + [anon_sym_U_DQUOTE] = ACTIONS(1186), + [anon_sym_u8_DQUOTE] = ACTIONS(1186), + [anon_sym_DQUOTE] = ACTIONS(1186), + [sym_true] = ACTIONS(1184), + [sym_false] = ACTIONS(1184), + [anon_sym_NULL] = ACTIONS(1184), + [anon_sym_nullptr] = ACTIONS(1184), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1186), + }, + [246] = { + [ts_builtin_sym_end] = ACTIONS(1178), + [sym__identifier] = ACTIONS(1176), + [aux_sym_preproc_include_token1] = ACTIONS(1176), + [aux_sym_preproc_def_token1] = ACTIONS(1176), + [aux_sym_preproc_if_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1176), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1176), + [sym_preproc_directive] = ACTIONS(1176), + [anon_sym_LPAREN2] = ACTIONS(1178), + [anon_sym_BANG] = ACTIONS(1178), + [anon_sym_TILDE] = ACTIONS(1178), + [anon_sym_DASH] = ACTIONS(1176), + [anon_sym_PLUS] = ACTIONS(1176), + [anon_sym_STAR] = ACTIONS(1178), + [anon_sym_AMP] = ACTIONS(1178), + [anon_sym_SEMI] = ACTIONS(1178), + [anon_sym___extension__] = ACTIONS(1176), + [anon_sym_typedef] = ACTIONS(1176), + [anon_sym_extern] = ACTIONS(1176), + [anon_sym___attribute__] = ACTIONS(1176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1178), + [anon_sym___declspec] = ACTIONS(1176), + [anon_sym___cdecl] = ACTIONS(1176), + [anon_sym___clrcall] = ACTIONS(1176), + [anon_sym___stdcall] = ACTIONS(1176), + [anon_sym___fastcall] = ACTIONS(1176), + [anon_sym___thiscall] = ACTIONS(1176), + [anon_sym___vectorcall] = ACTIONS(1176), + [anon_sym_LBRACE] = ACTIONS(1178), + [anon_sym_signed] = ACTIONS(1176), + [anon_sym_unsigned] = ACTIONS(1176), + [anon_sym_long] = ACTIONS(1176), + [anon_sym_short] = ACTIONS(1176), + [anon_sym_static] = ACTIONS(1176), + [anon_sym_auto] = ACTIONS(1176), + [anon_sym_register] = ACTIONS(1176), + [anon_sym_inline] = ACTIONS(1176), + [anon_sym___inline] = ACTIONS(1176), + [anon_sym___inline__] = ACTIONS(1176), + [anon_sym___forceinline] = ACTIONS(1176), + [anon_sym_thread_local] = ACTIONS(1176), + [anon_sym___thread] = ACTIONS(1176), + [anon_sym_const] = ACTIONS(1176), + [anon_sym_constexpr] = ACTIONS(1176), + [anon_sym_volatile] = ACTIONS(1176), + [anon_sym_restrict] = ACTIONS(1176), + [anon_sym___restrict__] = ACTIONS(1176), + [anon_sym__Atomic] = ACTIONS(1176), + [anon_sym__Noreturn] = ACTIONS(1176), + [anon_sym_noreturn] = ACTIONS(1176), + [anon_sym_alignas] = ACTIONS(1176), + [anon_sym__Alignas] = ACTIONS(1176), + [sym_primitive_type] = ACTIONS(1176), + [anon_sym_enum] = ACTIONS(1176), + [anon_sym_struct] = ACTIONS(1176), + [anon_sym_union] = ACTIONS(1176), + [anon_sym_if] = ACTIONS(1176), + [anon_sym_else] = ACTIONS(1176), + [anon_sym_switch] = ACTIONS(1176), + [anon_sym_case] = ACTIONS(1176), + [anon_sym_default] = ACTIONS(1176), + [anon_sym_while] = ACTIONS(1176), + [anon_sym_do] = ACTIONS(1176), + [anon_sym_for] = ACTIONS(1176), + [anon_sym_return] = ACTIONS(1176), + [anon_sym_break] = ACTIONS(1176), + [anon_sym_continue] = ACTIONS(1176), + [anon_sym_goto] = ACTIONS(1176), + [anon_sym___try] = ACTIONS(1176), + [anon_sym___leave] = ACTIONS(1176), + [anon_sym_DASH_DASH] = ACTIONS(1178), + [anon_sym_PLUS_PLUS] = ACTIONS(1178), + [anon_sym_sizeof] = ACTIONS(1176), + [anon_sym___alignof__] = ACTIONS(1176), + [anon_sym___alignof] = ACTIONS(1176), + [anon_sym__alignof] = ACTIONS(1176), + [anon_sym_alignof] = ACTIONS(1176), + [anon_sym__Alignof] = ACTIONS(1176), + [anon_sym_offsetof] = ACTIONS(1176), + [anon_sym__Generic] = ACTIONS(1176), + [anon_sym_asm] = ACTIONS(1176), + [anon_sym___asm__] = ACTIONS(1176), + [sym__number_literal] = ACTIONS(1178), + [anon_sym_L_SQUOTE] = ACTIONS(1178), + [anon_sym_u_SQUOTE] = ACTIONS(1178), + [anon_sym_U_SQUOTE] = ACTIONS(1178), + [anon_sym_u8_SQUOTE] = ACTIONS(1178), + [anon_sym_SQUOTE] = ACTIONS(1178), + [anon_sym_L_DQUOTE] = ACTIONS(1178), + [anon_sym_u_DQUOTE] = ACTIONS(1178), + [anon_sym_U_DQUOTE] = ACTIONS(1178), + [anon_sym_u8_DQUOTE] = ACTIONS(1178), + [anon_sym_DQUOTE] = ACTIONS(1178), + [sym_true] = ACTIONS(1176), + [sym_false] = ACTIONS(1176), + [anon_sym_NULL] = ACTIONS(1176), + [anon_sym_nullptr] = ACTIONS(1176), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1178), + }, + [247] = { + [ts_builtin_sym_end] = ACTIONS(1110), + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [248] = { + [sym__identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token2] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym___extension__] = ACTIONS(1112), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym___inline] = ACTIONS(1112), + [anon_sym___inline__] = ACTIONS(1112), + [anon_sym___forceinline] = ACTIONS(1112), + [anon_sym_thread_local] = ACTIONS(1112), + [anon_sym___thread] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_constexpr] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym___restrict__] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym__Noreturn] = ACTIONS(1112), + [anon_sym_noreturn] = ACTIONS(1112), + [anon_sym_alignas] = ACTIONS(1112), + [anon_sym__Alignas] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_else] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym___try] = ACTIONS(1112), + [anon_sym___leave] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [anon_sym___alignof__] = ACTIONS(1112), + [anon_sym___alignof] = ACTIONS(1112), + [anon_sym__alignof] = ACTIONS(1112), + [anon_sym_alignof] = ACTIONS(1112), + [anon_sym__Alignof] = ACTIONS(1112), + [anon_sym_offsetof] = ACTIONS(1112), + [anon_sym__Generic] = ACTIONS(1112), + [anon_sym_asm] = ACTIONS(1112), + [anon_sym___asm__] = ACTIONS(1112), + [sym__number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [anon_sym_NULL] = ACTIONS(1112), + [anon_sym_nullptr] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1114), + }, + [249] = { + [ts_builtin_sym_end] = ACTIONS(1222), + [sym__identifier] = ACTIONS(1220), + [aux_sym_preproc_include_token1] = ACTIONS(1220), + [aux_sym_preproc_def_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1220), + [sym_preproc_directive] = ACTIONS(1220), + [anon_sym_LPAREN2] = ACTIONS(1222), + [anon_sym_BANG] = ACTIONS(1222), + [anon_sym_TILDE] = ACTIONS(1222), + [anon_sym_DASH] = ACTIONS(1220), + [anon_sym_PLUS] = ACTIONS(1220), + [anon_sym_STAR] = ACTIONS(1222), + [anon_sym_AMP] = ACTIONS(1222), + [anon_sym_SEMI] = ACTIONS(1222), + [anon_sym___extension__] = ACTIONS(1220), + [anon_sym_typedef] = ACTIONS(1220), + [anon_sym_extern] = ACTIONS(1220), + [anon_sym___attribute__] = ACTIONS(1220), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1222), + [anon_sym___declspec] = ACTIONS(1220), + [anon_sym___cdecl] = ACTIONS(1220), + [anon_sym___clrcall] = ACTIONS(1220), + [anon_sym___stdcall] = ACTIONS(1220), + [anon_sym___fastcall] = ACTIONS(1220), + [anon_sym___thiscall] = ACTIONS(1220), + [anon_sym___vectorcall] = ACTIONS(1220), + [anon_sym_LBRACE] = ACTIONS(1222), + [anon_sym_signed] = ACTIONS(1220), + [anon_sym_unsigned] = ACTIONS(1220), + [anon_sym_long] = ACTIONS(1220), + [anon_sym_short] = ACTIONS(1220), + [anon_sym_static] = ACTIONS(1220), + [anon_sym_auto] = ACTIONS(1220), + [anon_sym_register] = ACTIONS(1220), + [anon_sym_inline] = ACTIONS(1220), + [anon_sym___inline] = ACTIONS(1220), + [anon_sym___inline__] = ACTIONS(1220), + [anon_sym___forceinline] = ACTIONS(1220), + [anon_sym_thread_local] = ACTIONS(1220), + [anon_sym___thread] = ACTIONS(1220), + [anon_sym_const] = ACTIONS(1220), + [anon_sym_constexpr] = ACTIONS(1220), + [anon_sym_volatile] = ACTIONS(1220), + [anon_sym_restrict] = ACTIONS(1220), + [anon_sym___restrict__] = ACTIONS(1220), + [anon_sym__Atomic] = ACTIONS(1220), + [anon_sym__Noreturn] = ACTIONS(1220), + [anon_sym_noreturn] = ACTIONS(1220), + [anon_sym_alignas] = ACTIONS(1220), + [anon_sym__Alignas] = ACTIONS(1220), + [sym_primitive_type] = ACTIONS(1220), + [anon_sym_enum] = ACTIONS(1220), + [anon_sym_struct] = ACTIONS(1220), + [anon_sym_union] = ACTIONS(1220), + [anon_sym_if] = ACTIONS(1220), + [anon_sym_else] = ACTIONS(1220), + [anon_sym_switch] = ACTIONS(1220), + [anon_sym_case] = ACTIONS(1220), + [anon_sym_default] = ACTIONS(1220), + [anon_sym_while] = ACTIONS(1220), + [anon_sym_do] = ACTIONS(1220), + [anon_sym_for] = ACTIONS(1220), + [anon_sym_return] = ACTIONS(1220), + [anon_sym_break] = ACTIONS(1220), + [anon_sym_continue] = ACTIONS(1220), + [anon_sym_goto] = ACTIONS(1220), + [anon_sym___try] = ACTIONS(1220), + [anon_sym___leave] = ACTIONS(1220), + [anon_sym_DASH_DASH] = ACTIONS(1222), + [anon_sym_PLUS_PLUS] = ACTIONS(1222), + [anon_sym_sizeof] = ACTIONS(1220), + [anon_sym___alignof__] = ACTIONS(1220), + [anon_sym___alignof] = ACTIONS(1220), + [anon_sym__alignof] = ACTIONS(1220), + [anon_sym_alignof] = ACTIONS(1220), + [anon_sym__Alignof] = ACTIONS(1220), + [anon_sym_offsetof] = ACTIONS(1220), + [anon_sym__Generic] = ACTIONS(1220), + [anon_sym_asm] = ACTIONS(1220), + [anon_sym___asm__] = ACTIONS(1220), + [sym__number_literal] = ACTIONS(1222), + [anon_sym_L_SQUOTE] = ACTIONS(1222), + [anon_sym_u_SQUOTE] = ACTIONS(1222), + [anon_sym_U_SQUOTE] = ACTIONS(1222), + [anon_sym_u8_SQUOTE] = ACTIONS(1222), + [anon_sym_SQUOTE] = ACTIONS(1222), + [anon_sym_L_DQUOTE] = ACTIONS(1222), + [anon_sym_u_DQUOTE] = ACTIONS(1222), + [anon_sym_U_DQUOTE] = ACTIONS(1222), + [anon_sym_u8_DQUOTE] = ACTIONS(1222), + [anon_sym_DQUOTE] = ACTIONS(1222), + [sym_true] = ACTIONS(1220), + [sym_false] = ACTIONS(1220), + [anon_sym_NULL] = ACTIONS(1220), + [anon_sym_nullptr] = ACTIONS(1220), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1222), + }, + [250] = { + [sym__identifier] = ACTIONS(1148), + [aux_sym_preproc_include_token1] = ACTIONS(1148), + [aux_sym_preproc_def_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token2] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1148), + [sym_preproc_directive] = ACTIONS(1148), + [anon_sym_LPAREN2] = ACTIONS(1150), + [anon_sym_BANG] = ACTIONS(1150), + [anon_sym_TILDE] = ACTIONS(1150), + [anon_sym_DASH] = ACTIONS(1148), + [anon_sym_PLUS] = ACTIONS(1148), + [anon_sym_STAR] = ACTIONS(1150), + [anon_sym_AMP] = ACTIONS(1150), + [anon_sym_SEMI] = ACTIONS(1150), + [anon_sym___extension__] = ACTIONS(1148), + [anon_sym_typedef] = ACTIONS(1148), + [anon_sym_extern] = ACTIONS(1148), + [anon_sym___attribute__] = ACTIONS(1148), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1150), + [anon_sym___declspec] = ACTIONS(1148), + [anon_sym___cdecl] = ACTIONS(1148), + [anon_sym___clrcall] = ACTIONS(1148), + [anon_sym___stdcall] = ACTIONS(1148), + [anon_sym___fastcall] = ACTIONS(1148), + [anon_sym___thiscall] = ACTIONS(1148), + [anon_sym___vectorcall] = ACTIONS(1148), + [anon_sym_LBRACE] = ACTIONS(1150), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [anon_sym_static] = ACTIONS(1148), + [anon_sym_auto] = ACTIONS(1148), + [anon_sym_register] = ACTIONS(1148), + [anon_sym_inline] = ACTIONS(1148), + [anon_sym___inline] = ACTIONS(1148), + [anon_sym___inline__] = ACTIONS(1148), + [anon_sym___forceinline] = ACTIONS(1148), + [anon_sym_thread_local] = ACTIONS(1148), + [anon_sym___thread] = ACTIONS(1148), + [anon_sym_const] = ACTIONS(1148), + [anon_sym_constexpr] = ACTIONS(1148), + [anon_sym_volatile] = ACTIONS(1148), + [anon_sym_restrict] = ACTIONS(1148), + [anon_sym___restrict__] = ACTIONS(1148), + [anon_sym__Atomic] = ACTIONS(1148), + [anon_sym__Noreturn] = ACTIONS(1148), + [anon_sym_noreturn] = ACTIONS(1148), + [anon_sym_alignas] = ACTIONS(1148), + [anon_sym__Alignas] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(1148), + [anon_sym_enum] = ACTIONS(1148), + [anon_sym_struct] = ACTIONS(1148), + [anon_sym_union] = ACTIONS(1148), + [anon_sym_if] = ACTIONS(1148), + [anon_sym_else] = ACTIONS(1148), + [anon_sym_switch] = ACTIONS(1148), + [anon_sym_case] = ACTIONS(1148), + [anon_sym_default] = ACTIONS(1148), + [anon_sym_while] = ACTIONS(1148), + [anon_sym_do] = ACTIONS(1148), + [anon_sym_for] = ACTIONS(1148), + [anon_sym_return] = ACTIONS(1148), + [anon_sym_break] = ACTIONS(1148), + [anon_sym_continue] = ACTIONS(1148), + [anon_sym_goto] = ACTIONS(1148), + [anon_sym___try] = ACTIONS(1148), + [anon_sym___leave] = ACTIONS(1148), + [anon_sym_DASH_DASH] = ACTIONS(1150), + [anon_sym_PLUS_PLUS] = ACTIONS(1150), + [anon_sym_sizeof] = ACTIONS(1148), + [anon_sym___alignof__] = ACTIONS(1148), + [anon_sym___alignof] = ACTIONS(1148), + [anon_sym__alignof] = ACTIONS(1148), + [anon_sym_alignof] = ACTIONS(1148), + [anon_sym__Alignof] = ACTIONS(1148), + [anon_sym_offsetof] = ACTIONS(1148), + [anon_sym__Generic] = ACTIONS(1148), + [anon_sym_asm] = ACTIONS(1148), + [anon_sym___asm__] = ACTIONS(1148), + [sym__number_literal] = ACTIONS(1150), + [anon_sym_L_SQUOTE] = ACTIONS(1150), + [anon_sym_u_SQUOTE] = ACTIONS(1150), + [anon_sym_U_SQUOTE] = ACTIONS(1150), + [anon_sym_u8_SQUOTE] = ACTIONS(1150), + [anon_sym_SQUOTE] = ACTIONS(1150), + [anon_sym_L_DQUOTE] = ACTIONS(1150), + [anon_sym_u_DQUOTE] = ACTIONS(1150), + [anon_sym_U_DQUOTE] = ACTIONS(1150), + [anon_sym_u8_DQUOTE] = ACTIONS(1150), + [anon_sym_DQUOTE] = ACTIONS(1150), + [sym_true] = ACTIONS(1148), + [sym_false] = ACTIONS(1148), + [anon_sym_NULL] = ACTIONS(1148), + [anon_sym_nullptr] = ACTIONS(1148), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1150), + }, + [251] = { + [sym__identifier] = ACTIONS(1168), + [aux_sym_preproc_include_token1] = ACTIONS(1168), + [aux_sym_preproc_def_token1] = ACTIONS(1168), + [aux_sym_preproc_if_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1168), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1168), + [sym_preproc_directive] = ACTIONS(1168), + [anon_sym_LPAREN2] = ACTIONS(1170), + [anon_sym_BANG] = ACTIONS(1170), + [anon_sym_TILDE] = ACTIONS(1170), + [anon_sym_DASH] = ACTIONS(1168), + [anon_sym_PLUS] = ACTIONS(1168), + [anon_sym_STAR] = ACTIONS(1170), + [anon_sym_AMP] = ACTIONS(1170), + [anon_sym_SEMI] = ACTIONS(1170), + [anon_sym___extension__] = ACTIONS(1168), + [anon_sym_typedef] = ACTIONS(1168), + [anon_sym_extern] = ACTIONS(1168), + [anon_sym___attribute__] = ACTIONS(1168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1170), + [anon_sym___declspec] = ACTIONS(1168), + [anon_sym___cdecl] = ACTIONS(1168), + [anon_sym___clrcall] = ACTIONS(1168), + [anon_sym___stdcall] = ACTIONS(1168), + [anon_sym___fastcall] = ACTIONS(1168), + [anon_sym___thiscall] = ACTIONS(1168), + [anon_sym___vectorcall] = ACTIONS(1168), + [anon_sym_LBRACE] = ACTIONS(1170), + [anon_sym_RBRACE] = ACTIONS(1170), + [anon_sym_signed] = ACTIONS(1168), + [anon_sym_unsigned] = ACTIONS(1168), + [anon_sym_long] = ACTIONS(1168), + [anon_sym_short] = ACTIONS(1168), + [anon_sym_static] = ACTIONS(1168), + [anon_sym_auto] = ACTIONS(1168), + [anon_sym_register] = ACTIONS(1168), + [anon_sym_inline] = ACTIONS(1168), + [anon_sym___inline] = ACTIONS(1168), + [anon_sym___inline__] = ACTIONS(1168), + [anon_sym___forceinline] = ACTIONS(1168), + [anon_sym_thread_local] = ACTIONS(1168), + [anon_sym___thread] = ACTIONS(1168), + [anon_sym_const] = ACTIONS(1168), + [anon_sym_constexpr] = ACTIONS(1168), + [anon_sym_volatile] = ACTIONS(1168), + [anon_sym_restrict] = ACTIONS(1168), + [anon_sym___restrict__] = ACTIONS(1168), + [anon_sym__Atomic] = ACTIONS(1168), + [anon_sym__Noreturn] = ACTIONS(1168), + [anon_sym_noreturn] = ACTIONS(1168), + [anon_sym_alignas] = ACTIONS(1168), + [anon_sym__Alignas] = ACTIONS(1168), + [sym_primitive_type] = ACTIONS(1168), + [anon_sym_enum] = ACTIONS(1168), + [anon_sym_struct] = ACTIONS(1168), + [anon_sym_union] = ACTIONS(1168), + [anon_sym_if] = ACTIONS(1168), + [anon_sym_else] = ACTIONS(1168), + [anon_sym_switch] = ACTIONS(1168), + [anon_sym_case] = ACTIONS(1168), + [anon_sym_default] = ACTIONS(1168), + [anon_sym_while] = ACTIONS(1168), + [anon_sym_do] = ACTIONS(1168), + [anon_sym_for] = ACTIONS(1168), + [anon_sym_return] = ACTIONS(1168), + [anon_sym_break] = ACTIONS(1168), + [anon_sym_continue] = ACTIONS(1168), + [anon_sym_goto] = ACTIONS(1168), + [anon_sym___try] = ACTIONS(1168), + [anon_sym___leave] = ACTIONS(1168), + [anon_sym_DASH_DASH] = ACTIONS(1170), + [anon_sym_PLUS_PLUS] = ACTIONS(1170), + [anon_sym_sizeof] = ACTIONS(1168), + [anon_sym___alignof__] = ACTIONS(1168), + [anon_sym___alignof] = ACTIONS(1168), + [anon_sym__alignof] = ACTIONS(1168), + [anon_sym_alignof] = ACTIONS(1168), + [anon_sym__Alignof] = ACTIONS(1168), + [anon_sym_offsetof] = ACTIONS(1168), + [anon_sym__Generic] = ACTIONS(1168), + [anon_sym_asm] = ACTIONS(1168), + [anon_sym___asm__] = ACTIONS(1168), + [sym__number_literal] = ACTIONS(1170), + [anon_sym_L_SQUOTE] = ACTIONS(1170), + [anon_sym_u_SQUOTE] = ACTIONS(1170), + [anon_sym_U_SQUOTE] = ACTIONS(1170), + [anon_sym_u8_SQUOTE] = ACTIONS(1170), + [anon_sym_SQUOTE] = ACTIONS(1170), + [anon_sym_L_DQUOTE] = ACTIONS(1170), + [anon_sym_u_DQUOTE] = ACTIONS(1170), + [anon_sym_U_DQUOTE] = ACTIONS(1170), + [anon_sym_u8_DQUOTE] = ACTIONS(1170), + [anon_sym_DQUOTE] = ACTIONS(1170), + [sym_true] = ACTIONS(1168), + [sym_false] = ACTIONS(1168), + [anon_sym_NULL] = ACTIONS(1168), + [anon_sym_nullptr] = ACTIONS(1168), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1170), + }, + [252] = { + [sym__identifier] = ACTIONS(1208), + [aux_sym_preproc_include_token1] = ACTIONS(1208), + [aux_sym_preproc_def_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1208), + [sym_preproc_directive] = ACTIONS(1208), + [anon_sym_LPAREN2] = ACTIONS(1210), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1208), + [anon_sym_PLUS] = ACTIONS(1208), + [anon_sym_STAR] = ACTIONS(1210), + [anon_sym_AMP] = ACTIONS(1210), + [anon_sym_SEMI] = ACTIONS(1210), + [anon_sym___extension__] = ACTIONS(1208), + [anon_sym_typedef] = ACTIONS(1208), + [anon_sym_extern] = ACTIONS(1208), + [anon_sym___attribute__] = ACTIONS(1208), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1210), + [anon_sym___declspec] = ACTIONS(1208), + [anon_sym___cdecl] = ACTIONS(1208), + [anon_sym___clrcall] = ACTIONS(1208), + [anon_sym___stdcall] = ACTIONS(1208), + [anon_sym___fastcall] = ACTIONS(1208), + [anon_sym___thiscall] = ACTIONS(1208), + [anon_sym___vectorcall] = ACTIONS(1208), + [anon_sym_LBRACE] = ACTIONS(1210), + [anon_sym_RBRACE] = ACTIONS(1210), + [anon_sym_signed] = ACTIONS(1208), + [anon_sym_unsigned] = ACTIONS(1208), + [anon_sym_long] = ACTIONS(1208), + [anon_sym_short] = ACTIONS(1208), + [anon_sym_static] = ACTIONS(1208), + [anon_sym_auto] = ACTIONS(1208), + [anon_sym_register] = ACTIONS(1208), + [anon_sym_inline] = ACTIONS(1208), + [anon_sym___inline] = ACTIONS(1208), + [anon_sym___inline__] = ACTIONS(1208), + [anon_sym___forceinline] = ACTIONS(1208), + [anon_sym_thread_local] = ACTIONS(1208), + [anon_sym___thread] = ACTIONS(1208), + [anon_sym_const] = ACTIONS(1208), + [anon_sym_constexpr] = ACTIONS(1208), + [anon_sym_volatile] = ACTIONS(1208), + [anon_sym_restrict] = ACTIONS(1208), + [anon_sym___restrict__] = ACTIONS(1208), + [anon_sym__Atomic] = ACTIONS(1208), + [anon_sym__Noreturn] = ACTIONS(1208), + [anon_sym_noreturn] = ACTIONS(1208), + [anon_sym_alignas] = ACTIONS(1208), + [anon_sym__Alignas] = ACTIONS(1208), + [sym_primitive_type] = ACTIONS(1208), + [anon_sym_enum] = ACTIONS(1208), + [anon_sym_struct] = ACTIONS(1208), + [anon_sym_union] = ACTIONS(1208), + [anon_sym_if] = ACTIONS(1208), + [anon_sym_else] = ACTIONS(1208), + [anon_sym_switch] = ACTIONS(1208), + [anon_sym_case] = ACTIONS(1208), + [anon_sym_default] = ACTIONS(1208), + [anon_sym_while] = ACTIONS(1208), + [anon_sym_do] = ACTIONS(1208), + [anon_sym_for] = ACTIONS(1208), + [anon_sym_return] = ACTIONS(1208), + [anon_sym_break] = ACTIONS(1208), + [anon_sym_continue] = ACTIONS(1208), + [anon_sym_goto] = ACTIONS(1208), + [anon_sym___try] = ACTIONS(1208), + [anon_sym___leave] = ACTIONS(1208), + [anon_sym_DASH_DASH] = ACTIONS(1210), + [anon_sym_PLUS_PLUS] = ACTIONS(1210), + [anon_sym_sizeof] = ACTIONS(1208), + [anon_sym___alignof__] = ACTIONS(1208), + [anon_sym___alignof] = ACTIONS(1208), + [anon_sym__alignof] = ACTIONS(1208), + [anon_sym_alignof] = ACTIONS(1208), + [anon_sym__Alignof] = ACTIONS(1208), + [anon_sym_offsetof] = ACTIONS(1208), + [anon_sym__Generic] = ACTIONS(1208), + [anon_sym_asm] = ACTIONS(1208), + [anon_sym___asm__] = ACTIONS(1208), + [sym__number_literal] = ACTIONS(1210), + [anon_sym_L_SQUOTE] = ACTIONS(1210), + [anon_sym_u_SQUOTE] = ACTIONS(1210), + [anon_sym_U_SQUOTE] = ACTIONS(1210), + [anon_sym_u8_SQUOTE] = ACTIONS(1210), + [anon_sym_SQUOTE] = ACTIONS(1210), + [anon_sym_L_DQUOTE] = ACTIONS(1210), + [anon_sym_u_DQUOTE] = ACTIONS(1210), + [anon_sym_U_DQUOTE] = ACTIONS(1210), + [anon_sym_u8_DQUOTE] = ACTIONS(1210), + [anon_sym_DQUOTE] = ACTIONS(1210), + [sym_true] = ACTIONS(1208), + [sym_false] = ACTIONS(1208), + [anon_sym_NULL] = ACTIONS(1208), + [anon_sym_nullptr] = ACTIONS(1208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1210), + }, + [253] = { + [ts_builtin_sym_end] = ACTIONS(1218), + [sym__identifier] = ACTIONS(1216), + [aux_sym_preproc_include_token1] = ACTIONS(1216), + [aux_sym_preproc_def_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1216), + [sym_preproc_directive] = ACTIONS(1216), + [anon_sym_LPAREN2] = ACTIONS(1218), + [anon_sym_BANG] = ACTIONS(1218), + [anon_sym_TILDE] = ACTIONS(1218), + [anon_sym_DASH] = ACTIONS(1216), + [anon_sym_PLUS] = ACTIONS(1216), + [anon_sym_STAR] = ACTIONS(1218), + [anon_sym_AMP] = ACTIONS(1218), + [anon_sym_SEMI] = ACTIONS(1218), + [anon_sym___extension__] = ACTIONS(1216), + [anon_sym_typedef] = ACTIONS(1216), + [anon_sym_extern] = ACTIONS(1216), + [anon_sym___attribute__] = ACTIONS(1216), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1218), + [anon_sym___declspec] = ACTIONS(1216), + [anon_sym___cdecl] = ACTIONS(1216), + [anon_sym___clrcall] = ACTIONS(1216), + [anon_sym___stdcall] = ACTIONS(1216), + [anon_sym___fastcall] = ACTIONS(1216), + [anon_sym___thiscall] = ACTIONS(1216), + [anon_sym___vectorcall] = ACTIONS(1216), + [anon_sym_LBRACE] = ACTIONS(1218), + [anon_sym_signed] = ACTIONS(1216), + [anon_sym_unsigned] = ACTIONS(1216), + [anon_sym_long] = ACTIONS(1216), + [anon_sym_short] = ACTIONS(1216), + [anon_sym_static] = ACTIONS(1216), + [anon_sym_auto] = ACTIONS(1216), + [anon_sym_register] = ACTIONS(1216), + [anon_sym_inline] = ACTIONS(1216), + [anon_sym___inline] = ACTIONS(1216), + [anon_sym___inline__] = ACTIONS(1216), + [anon_sym___forceinline] = ACTIONS(1216), + [anon_sym_thread_local] = ACTIONS(1216), + [anon_sym___thread] = ACTIONS(1216), + [anon_sym_const] = ACTIONS(1216), + [anon_sym_constexpr] = ACTIONS(1216), + [anon_sym_volatile] = ACTIONS(1216), + [anon_sym_restrict] = ACTIONS(1216), + [anon_sym___restrict__] = ACTIONS(1216), + [anon_sym__Atomic] = ACTIONS(1216), + [anon_sym__Noreturn] = ACTIONS(1216), + [anon_sym_noreturn] = ACTIONS(1216), + [anon_sym_alignas] = ACTIONS(1216), + [anon_sym__Alignas] = ACTIONS(1216), + [sym_primitive_type] = ACTIONS(1216), + [anon_sym_enum] = ACTIONS(1216), + [anon_sym_struct] = ACTIONS(1216), + [anon_sym_union] = ACTIONS(1216), + [anon_sym_if] = ACTIONS(1216), + [anon_sym_else] = ACTIONS(1216), + [anon_sym_switch] = ACTIONS(1216), + [anon_sym_case] = ACTIONS(1216), + [anon_sym_default] = ACTIONS(1216), + [anon_sym_while] = ACTIONS(1216), + [anon_sym_do] = ACTIONS(1216), + [anon_sym_for] = ACTIONS(1216), + [anon_sym_return] = ACTIONS(1216), + [anon_sym_break] = ACTIONS(1216), + [anon_sym_continue] = ACTIONS(1216), + [anon_sym_goto] = ACTIONS(1216), + [anon_sym___try] = ACTIONS(1216), + [anon_sym___leave] = ACTIONS(1216), + [anon_sym_DASH_DASH] = ACTIONS(1218), + [anon_sym_PLUS_PLUS] = ACTIONS(1218), + [anon_sym_sizeof] = ACTIONS(1216), + [anon_sym___alignof__] = ACTIONS(1216), + [anon_sym___alignof] = ACTIONS(1216), + [anon_sym__alignof] = ACTIONS(1216), + [anon_sym_alignof] = ACTIONS(1216), + [anon_sym__Alignof] = ACTIONS(1216), + [anon_sym_offsetof] = ACTIONS(1216), + [anon_sym__Generic] = ACTIONS(1216), + [anon_sym_asm] = ACTIONS(1216), + [anon_sym___asm__] = ACTIONS(1216), + [sym__number_literal] = ACTIONS(1218), + [anon_sym_L_SQUOTE] = ACTIONS(1218), + [anon_sym_u_SQUOTE] = ACTIONS(1218), + [anon_sym_U_SQUOTE] = ACTIONS(1218), + [anon_sym_u8_SQUOTE] = ACTIONS(1218), + [anon_sym_SQUOTE] = ACTIONS(1218), + [anon_sym_L_DQUOTE] = ACTIONS(1218), + [anon_sym_u_DQUOTE] = ACTIONS(1218), + [anon_sym_U_DQUOTE] = ACTIONS(1218), + [anon_sym_u8_DQUOTE] = ACTIONS(1218), + [anon_sym_DQUOTE] = ACTIONS(1218), + [sym_true] = ACTIONS(1216), + [sym_false] = ACTIONS(1216), + [anon_sym_NULL] = ACTIONS(1216), + [anon_sym_nullptr] = ACTIONS(1216), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1218), + }, + [254] = { + [sym__identifier] = ACTIONS(1220), + [aux_sym_preproc_include_token1] = ACTIONS(1220), + [aux_sym_preproc_def_token1] = ACTIONS(1220), + [aux_sym_preproc_if_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1220), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1220), + [sym_preproc_directive] = ACTIONS(1220), + [anon_sym_LPAREN2] = ACTIONS(1222), + [anon_sym_BANG] = ACTIONS(1222), + [anon_sym_TILDE] = ACTIONS(1222), + [anon_sym_DASH] = ACTIONS(1220), + [anon_sym_PLUS] = ACTIONS(1220), + [anon_sym_STAR] = ACTIONS(1222), + [anon_sym_AMP] = ACTIONS(1222), + [anon_sym_SEMI] = ACTIONS(1222), + [anon_sym___extension__] = ACTIONS(1220), + [anon_sym_typedef] = ACTIONS(1220), + [anon_sym_extern] = ACTIONS(1220), + [anon_sym___attribute__] = ACTIONS(1220), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1222), + [anon_sym___declspec] = ACTIONS(1220), + [anon_sym___cdecl] = ACTIONS(1220), + [anon_sym___clrcall] = ACTIONS(1220), + [anon_sym___stdcall] = ACTIONS(1220), + [anon_sym___fastcall] = ACTIONS(1220), + [anon_sym___thiscall] = ACTIONS(1220), + [anon_sym___vectorcall] = ACTIONS(1220), + [anon_sym_LBRACE] = ACTIONS(1222), + [anon_sym_RBRACE] = ACTIONS(1222), + [anon_sym_signed] = ACTIONS(1220), + [anon_sym_unsigned] = ACTIONS(1220), + [anon_sym_long] = ACTIONS(1220), + [anon_sym_short] = ACTIONS(1220), + [anon_sym_static] = ACTIONS(1220), + [anon_sym_auto] = ACTIONS(1220), + [anon_sym_register] = ACTIONS(1220), + [anon_sym_inline] = ACTIONS(1220), + [anon_sym___inline] = ACTIONS(1220), + [anon_sym___inline__] = ACTIONS(1220), + [anon_sym___forceinline] = ACTIONS(1220), + [anon_sym_thread_local] = ACTIONS(1220), + [anon_sym___thread] = ACTIONS(1220), + [anon_sym_const] = ACTIONS(1220), + [anon_sym_constexpr] = ACTIONS(1220), + [anon_sym_volatile] = ACTIONS(1220), + [anon_sym_restrict] = ACTIONS(1220), + [anon_sym___restrict__] = ACTIONS(1220), + [anon_sym__Atomic] = ACTIONS(1220), + [anon_sym__Noreturn] = ACTIONS(1220), + [anon_sym_noreturn] = ACTIONS(1220), + [anon_sym_alignas] = ACTIONS(1220), + [anon_sym__Alignas] = ACTIONS(1220), + [sym_primitive_type] = ACTIONS(1220), + [anon_sym_enum] = ACTIONS(1220), + [anon_sym_struct] = ACTIONS(1220), + [anon_sym_union] = ACTIONS(1220), + [anon_sym_if] = ACTIONS(1220), + [anon_sym_else] = ACTIONS(1220), + [anon_sym_switch] = ACTIONS(1220), + [anon_sym_case] = ACTIONS(1220), + [anon_sym_default] = ACTIONS(1220), + [anon_sym_while] = ACTIONS(1220), + [anon_sym_do] = ACTIONS(1220), + [anon_sym_for] = ACTIONS(1220), + [anon_sym_return] = ACTIONS(1220), + [anon_sym_break] = ACTIONS(1220), + [anon_sym_continue] = ACTIONS(1220), + [anon_sym_goto] = ACTIONS(1220), + [anon_sym___try] = ACTIONS(1220), + [anon_sym___leave] = ACTIONS(1220), + [anon_sym_DASH_DASH] = ACTIONS(1222), + [anon_sym_PLUS_PLUS] = ACTIONS(1222), + [anon_sym_sizeof] = ACTIONS(1220), + [anon_sym___alignof__] = ACTIONS(1220), + [anon_sym___alignof] = ACTIONS(1220), + [anon_sym__alignof] = ACTIONS(1220), + [anon_sym_alignof] = ACTIONS(1220), + [anon_sym__Alignof] = ACTIONS(1220), + [anon_sym_offsetof] = ACTIONS(1220), + [anon_sym__Generic] = ACTIONS(1220), + [anon_sym_asm] = ACTIONS(1220), + [anon_sym___asm__] = ACTIONS(1220), + [sym__number_literal] = ACTIONS(1222), + [anon_sym_L_SQUOTE] = ACTIONS(1222), + [anon_sym_u_SQUOTE] = ACTIONS(1222), + [anon_sym_U_SQUOTE] = ACTIONS(1222), + [anon_sym_u8_SQUOTE] = ACTIONS(1222), + [anon_sym_SQUOTE] = ACTIONS(1222), + [anon_sym_L_DQUOTE] = ACTIONS(1222), + [anon_sym_u_DQUOTE] = ACTIONS(1222), + [anon_sym_U_DQUOTE] = ACTIONS(1222), + [anon_sym_u8_DQUOTE] = ACTIONS(1222), + [anon_sym_DQUOTE] = ACTIONS(1222), + [sym_true] = ACTIONS(1220), + [sym_false] = ACTIONS(1220), + [anon_sym_NULL] = ACTIONS(1220), + [anon_sym_nullptr] = ACTIONS(1220), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1222), + }, + [255] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_RBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [256] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_RBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [257] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_RBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [258] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_RBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [259] = { + [sym__identifier] = ACTIONS(1216), + [aux_sym_preproc_include_token1] = ACTIONS(1216), + [aux_sym_preproc_def_token1] = ACTIONS(1216), + [aux_sym_preproc_if_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1216), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1216), + [sym_preproc_directive] = ACTIONS(1216), + [anon_sym_LPAREN2] = ACTIONS(1218), + [anon_sym_BANG] = ACTIONS(1218), + [anon_sym_TILDE] = ACTIONS(1218), + [anon_sym_DASH] = ACTIONS(1216), + [anon_sym_PLUS] = ACTIONS(1216), + [anon_sym_STAR] = ACTIONS(1218), + [anon_sym_AMP] = ACTIONS(1218), + [anon_sym_SEMI] = ACTIONS(1218), + [anon_sym___extension__] = ACTIONS(1216), + [anon_sym_typedef] = ACTIONS(1216), + [anon_sym_extern] = ACTIONS(1216), + [anon_sym___attribute__] = ACTIONS(1216), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1218), + [anon_sym___declspec] = ACTIONS(1216), + [anon_sym___cdecl] = ACTIONS(1216), + [anon_sym___clrcall] = ACTIONS(1216), + [anon_sym___stdcall] = ACTIONS(1216), + [anon_sym___fastcall] = ACTIONS(1216), + [anon_sym___thiscall] = ACTIONS(1216), + [anon_sym___vectorcall] = ACTIONS(1216), + [anon_sym_LBRACE] = ACTIONS(1218), + [anon_sym_RBRACE] = ACTIONS(1218), + [anon_sym_signed] = ACTIONS(1216), + [anon_sym_unsigned] = ACTIONS(1216), + [anon_sym_long] = ACTIONS(1216), + [anon_sym_short] = ACTIONS(1216), + [anon_sym_static] = ACTIONS(1216), + [anon_sym_auto] = ACTIONS(1216), + [anon_sym_register] = ACTIONS(1216), + [anon_sym_inline] = ACTIONS(1216), + [anon_sym___inline] = ACTIONS(1216), + [anon_sym___inline__] = ACTIONS(1216), + [anon_sym___forceinline] = ACTIONS(1216), + [anon_sym_thread_local] = ACTIONS(1216), + [anon_sym___thread] = ACTIONS(1216), + [anon_sym_const] = ACTIONS(1216), + [anon_sym_constexpr] = ACTIONS(1216), + [anon_sym_volatile] = ACTIONS(1216), + [anon_sym_restrict] = ACTIONS(1216), + [anon_sym___restrict__] = ACTIONS(1216), + [anon_sym__Atomic] = ACTIONS(1216), + [anon_sym__Noreturn] = ACTIONS(1216), + [anon_sym_noreturn] = ACTIONS(1216), + [anon_sym_alignas] = ACTIONS(1216), + [anon_sym__Alignas] = ACTIONS(1216), + [sym_primitive_type] = ACTIONS(1216), + [anon_sym_enum] = ACTIONS(1216), + [anon_sym_struct] = ACTIONS(1216), + [anon_sym_union] = ACTIONS(1216), + [anon_sym_if] = ACTIONS(1216), + [anon_sym_else] = ACTIONS(1216), + [anon_sym_switch] = ACTIONS(1216), + [anon_sym_case] = ACTIONS(1216), + [anon_sym_default] = ACTIONS(1216), + [anon_sym_while] = ACTIONS(1216), + [anon_sym_do] = ACTIONS(1216), + [anon_sym_for] = ACTIONS(1216), + [anon_sym_return] = ACTIONS(1216), + [anon_sym_break] = ACTIONS(1216), + [anon_sym_continue] = ACTIONS(1216), + [anon_sym_goto] = ACTIONS(1216), + [anon_sym___try] = ACTIONS(1216), + [anon_sym___leave] = ACTIONS(1216), + [anon_sym_DASH_DASH] = ACTIONS(1218), + [anon_sym_PLUS_PLUS] = ACTIONS(1218), + [anon_sym_sizeof] = ACTIONS(1216), + [anon_sym___alignof__] = ACTIONS(1216), + [anon_sym___alignof] = ACTIONS(1216), + [anon_sym__alignof] = ACTIONS(1216), + [anon_sym_alignof] = ACTIONS(1216), + [anon_sym__Alignof] = ACTIONS(1216), + [anon_sym_offsetof] = ACTIONS(1216), + [anon_sym__Generic] = ACTIONS(1216), + [anon_sym_asm] = ACTIONS(1216), + [anon_sym___asm__] = ACTIONS(1216), + [sym__number_literal] = ACTIONS(1218), + [anon_sym_L_SQUOTE] = ACTIONS(1218), + [anon_sym_u_SQUOTE] = ACTIONS(1218), + [anon_sym_U_SQUOTE] = ACTIONS(1218), + [anon_sym_u8_SQUOTE] = ACTIONS(1218), + [anon_sym_SQUOTE] = ACTIONS(1218), + [anon_sym_L_DQUOTE] = ACTIONS(1218), + [anon_sym_u_DQUOTE] = ACTIONS(1218), + [anon_sym_U_DQUOTE] = ACTIONS(1218), + [anon_sym_u8_DQUOTE] = ACTIONS(1218), + [anon_sym_DQUOTE] = ACTIONS(1218), + [sym_true] = ACTIONS(1216), + [sym_false] = ACTIONS(1216), + [anon_sym_NULL] = ACTIONS(1216), + [anon_sym_nullptr] = ACTIONS(1216), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1218), + }, + [260] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [261] = { + [sym__identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym___extension__] = ACTIONS(1108), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym___inline] = ACTIONS(1108), + [anon_sym___inline__] = ACTIONS(1108), + [anon_sym___forceinline] = ACTIONS(1108), + [anon_sym_thread_local] = ACTIONS(1108), + [anon_sym___thread] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_constexpr] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym___restrict__] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym__Noreturn] = ACTIONS(1108), + [anon_sym_noreturn] = ACTIONS(1108), + [anon_sym_alignas] = ACTIONS(1108), + [anon_sym__Alignas] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_else] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym___try] = ACTIONS(1108), + [anon_sym___leave] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [anon_sym___alignof__] = ACTIONS(1108), + [anon_sym___alignof] = ACTIONS(1108), + [anon_sym__alignof] = ACTIONS(1108), + [anon_sym_alignof] = ACTIONS(1108), + [anon_sym__Alignof] = ACTIONS(1108), + [anon_sym_offsetof] = ACTIONS(1108), + [anon_sym__Generic] = ACTIONS(1108), + [anon_sym_asm] = ACTIONS(1108), + [anon_sym___asm__] = ACTIONS(1108), + [sym__number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [anon_sym_NULL] = ACTIONS(1108), + [anon_sym_nullptr] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1110), + }, + [262] = { + [sym__identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(1196), + [aux_sym_preproc_def_token1] = ACTIONS(1196), + [aux_sym_preproc_if_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1196), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1196), + [sym_preproc_directive] = ACTIONS(1196), + [anon_sym_LPAREN2] = ACTIONS(1198), + [anon_sym_BANG] = ACTIONS(1198), + [anon_sym_TILDE] = ACTIONS(1198), + [anon_sym_DASH] = ACTIONS(1196), + [anon_sym_PLUS] = ACTIONS(1196), + [anon_sym_STAR] = ACTIONS(1198), + [anon_sym_AMP] = ACTIONS(1198), + [anon_sym_SEMI] = ACTIONS(1198), + [anon_sym___extension__] = ACTIONS(1196), + [anon_sym_typedef] = ACTIONS(1196), + [anon_sym_extern] = ACTIONS(1196), + [anon_sym___attribute__] = ACTIONS(1196), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1198), + [anon_sym___declspec] = ACTIONS(1196), + [anon_sym___cdecl] = ACTIONS(1196), + [anon_sym___clrcall] = ACTIONS(1196), + [anon_sym___stdcall] = ACTIONS(1196), + [anon_sym___fastcall] = ACTIONS(1196), + [anon_sym___thiscall] = ACTIONS(1196), + [anon_sym___vectorcall] = ACTIONS(1196), + [anon_sym_LBRACE] = ACTIONS(1198), + [anon_sym_RBRACE] = ACTIONS(1198), + [anon_sym_signed] = ACTIONS(1196), + [anon_sym_unsigned] = ACTIONS(1196), + [anon_sym_long] = ACTIONS(1196), + [anon_sym_short] = ACTIONS(1196), + [anon_sym_static] = ACTIONS(1196), + [anon_sym_auto] = ACTIONS(1196), + [anon_sym_register] = ACTIONS(1196), + [anon_sym_inline] = ACTIONS(1196), + [anon_sym___inline] = ACTIONS(1196), + [anon_sym___inline__] = ACTIONS(1196), + [anon_sym___forceinline] = ACTIONS(1196), + [anon_sym_thread_local] = ACTIONS(1196), + [anon_sym___thread] = ACTIONS(1196), + [anon_sym_const] = ACTIONS(1196), + [anon_sym_constexpr] = ACTIONS(1196), + [anon_sym_volatile] = ACTIONS(1196), + [anon_sym_restrict] = ACTIONS(1196), + [anon_sym___restrict__] = ACTIONS(1196), + [anon_sym__Atomic] = ACTIONS(1196), + [anon_sym__Noreturn] = ACTIONS(1196), + [anon_sym_noreturn] = ACTIONS(1196), + [anon_sym_alignas] = ACTIONS(1196), + [anon_sym__Alignas] = ACTIONS(1196), + [sym_primitive_type] = ACTIONS(1196), + [anon_sym_enum] = ACTIONS(1196), + [anon_sym_struct] = ACTIONS(1196), + [anon_sym_union] = ACTIONS(1196), + [anon_sym_if] = ACTIONS(1196), + [anon_sym_else] = ACTIONS(1196), + [anon_sym_switch] = ACTIONS(1196), + [anon_sym_case] = ACTIONS(1196), + [anon_sym_default] = ACTIONS(1196), + [anon_sym_while] = ACTIONS(1196), + [anon_sym_do] = ACTIONS(1196), + [anon_sym_for] = ACTIONS(1196), + [anon_sym_return] = ACTIONS(1196), + [anon_sym_break] = ACTIONS(1196), + [anon_sym_continue] = ACTIONS(1196), + [anon_sym_goto] = ACTIONS(1196), + [anon_sym___try] = ACTIONS(1196), + [anon_sym___leave] = ACTIONS(1196), + [anon_sym_DASH_DASH] = ACTIONS(1198), + [anon_sym_PLUS_PLUS] = ACTIONS(1198), + [anon_sym_sizeof] = ACTIONS(1196), + [anon_sym___alignof__] = ACTIONS(1196), + [anon_sym___alignof] = ACTIONS(1196), + [anon_sym__alignof] = ACTIONS(1196), + [anon_sym_alignof] = ACTIONS(1196), + [anon_sym__Alignof] = ACTIONS(1196), + [anon_sym_offsetof] = ACTIONS(1196), + [anon_sym__Generic] = ACTIONS(1196), + [anon_sym_asm] = ACTIONS(1196), + [anon_sym___asm__] = ACTIONS(1196), + [sym__number_literal] = ACTIONS(1198), + [anon_sym_L_SQUOTE] = ACTIONS(1198), + [anon_sym_u_SQUOTE] = ACTIONS(1198), + [anon_sym_U_SQUOTE] = ACTIONS(1198), + [anon_sym_u8_SQUOTE] = ACTIONS(1198), + [anon_sym_SQUOTE] = ACTIONS(1198), + [anon_sym_L_DQUOTE] = ACTIONS(1198), + [anon_sym_u_DQUOTE] = ACTIONS(1198), + [anon_sym_U_DQUOTE] = ACTIONS(1198), + [anon_sym_u8_DQUOTE] = ACTIONS(1198), + [anon_sym_DQUOTE] = ACTIONS(1198), + [sym_true] = ACTIONS(1196), + [sym_false] = ACTIONS(1196), + [anon_sym_NULL] = ACTIONS(1196), + [anon_sym_nullptr] = ACTIONS(1196), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1198), + }, + [263] = { + [sym__identifier] = ACTIONS(1200), + [aux_sym_preproc_include_token1] = ACTIONS(1200), + [aux_sym_preproc_def_token1] = ACTIONS(1200), + [aux_sym_preproc_if_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1200), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1200), + [sym_preproc_directive] = ACTIONS(1200), + [anon_sym_LPAREN2] = ACTIONS(1202), + [anon_sym_BANG] = ACTIONS(1202), + [anon_sym_TILDE] = ACTIONS(1202), + [anon_sym_DASH] = ACTIONS(1200), + [anon_sym_PLUS] = ACTIONS(1200), + [anon_sym_STAR] = ACTIONS(1202), + [anon_sym_AMP] = ACTIONS(1202), + [anon_sym_SEMI] = ACTIONS(1202), + [anon_sym___extension__] = ACTIONS(1200), + [anon_sym_typedef] = ACTIONS(1200), + [anon_sym_extern] = ACTIONS(1200), + [anon_sym___attribute__] = ACTIONS(1200), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1202), + [anon_sym___declspec] = ACTIONS(1200), + [anon_sym___cdecl] = ACTIONS(1200), + [anon_sym___clrcall] = ACTIONS(1200), + [anon_sym___stdcall] = ACTIONS(1200), + [anon_sym___fastcall] = ACTIONS(1200), + [anon_sym___thiscall] = ACTIONS(1200), + [anon_sym___vectorcall] = ACTIONS(1200), + [anon_sym_LBRACE] = ACTIONS(1202), + [anon_sym_RBRACE] = ACTIONS(1202), + [anon_sym_signed] = ACTIONS(1200), + [anon_sym_unsigned] = ACTIONS(1200), + [anon_sym_long] = ACTIONS(1200), + [anon_sym_short] = ACTIONS(1200), + [anon_sym_static] = ACTIONS(1200), + [anon_sym_auto] = ACTIONS(1200), + [anon_sym_register] = ACTIONS(1200), + [anon_sym_inline] = ACTIONS(1200), + [anon_sym___inline] = ACTIONS(1200), + [anon_sym___inline__] = ACTIONS(1200), + [anon_sym___forceinline] = ACTIONS(1200), + [anon_sym_thread_local] = ACTIONS(1200), + [anon_sym___thread] = ACTIONS(1200), + [anon_sym_const] = ACTIONS(1200), + [anon_sym_constexpr] = ACTIONS(1200), + [anon_sym_volatile] = ACTIONS(1200), + [anon_sym_restrict] = ACTIONS(1200), + [anon_sym___restrict__] = ACTIONS(1200), + [anon_sym__Atomic] = ACTIONS(1200), + [anon_sym__Noreturn] = ACTIONS(1200), + [anon_sym_noreturn] = ACTIONS(1200), + [anon_sym_alignas] = ACTIONS(1200), + [anon_sym__Alignas] = ACTIONS(1200), + [sym_primitive_type] = ACTIONS(1200), + [anon_sym_enum] = ACTIONS(1200), + [anon_sym_struct] = ACTIONS(1200), + [anon_sym_union] = ACTIONS(1200), + [anon_sym_if] = ACTIONS(1200), + [anon_sym_else] = ACTIONS(1200), + [anon_sym_switch] = ACTIONS(1200), + [anon_sym_case] = ACTIONS(1200), + [anon_sym_default] = ACTIONS(1200), + [anon_sym_while] = ACTIONS(1200), + [anon_sym_do] = ACTIONS(1200), + [anon_sym_for] = ACTIONS(1200), + [anon_sym_return] = ACTIONS(1200), + [anon_sym_break] = ACTIONS(1200), + [anon_sym_continue] = ACTIONS(1200), + [anon_sym_goto] = ACTIONS(1200), + [anon_sym___try] = ACTIONS(1200), + [anon_sym___leave] = ACTIONS(1200), + [anon_sym_DASH_DASH] = ACTIONS(1202), + [anon_sym_PLUS_PLUS] = ACTIONS(1202), + [anon_sym_sizeof] = ACTIONS(1200), + [anon_sym___alignof__] = ACTIONS(1200), + [anon_sym___alignof] = ACTIONS(1200), + [anon_sym__alignof] = ACTIONS(1200), + [anon_sym_alignof] = ACTIONS(1200), + [anon_sym__Alignof] = ACTIONS(1200), + [anon_sym_offsetof] = ACTIONS(1200), + [anon_sym__Generic] = ACTIONS(1200), + [anon_sym_asm] = ACTIONS(1200), + [anon_sym___asm__] = ACTIONS(1200), + [sym__number_literal] = ACTIONS(1202), + [anon_sym_L_SQUOTE] = ACTIONS(1202), + [anon_sym_u_SQUOTE] = ACTIONS(1202), + [anon_sym_U_SQUOTE] = ACTIONS(1202), + [anon_sym_u8_SQUOTE] = ACTIONS(1202), + [anon_sym_SQUOTE] = ACTIONS(1202), + [anon_sym_L_DQUOTE] = ACTIONS(1202), + [anon_sym_u_DQUOTE] = ACTIONS(1202), + [anon_sym_U_DQUOTE] = ACTIONS(1202), + [anon_sym_u8_DQUOTE] = ACTIONS(1202), + [anon_sym_DQUOTE] = ACTIONS(1202), + [sym_true] = ACTIONS(1200), + [sym_false] = ACTIONS(1200), + [anon_sym_NULL] = ACTIONS(1200), + [anon_sym_nullptr] = ACTIONS(1200), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1202), + }, + [264] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token2] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [265] = { + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token2] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [266] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [267] = { + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [268] = { + [sym__identifier] = ACTIONS(1180), + [aux_sym_preproc_include_token1] = ACTIONS(1180), + [aux_sym_preproc_def_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token2] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1180), + [sym_preproc_directive] = ACTIONS(1180), + [anon_sym_LPAREN2] = ACTIONS(1182), + [anon_sym_BANG] = ACTIONS(1182), + [anon_sym_TILDE] = ACTIONS(1182), + [anon_sym_DASH] = ACTIONS(1180), + [anon_sym_PLUS] = ACTIONS(1180), + [anon_sym_STAR] = ACTIONS(1182), + [anon_sym_AMP] = ACTIONS(1182), + [anon_sym_SEMI] = ACTIONS(1182), + [anon_sym___extension__] = ACTIONS(1180), + [anon_sym_typedef] = ACTIONS(1180), + [anon_sym_extern] = ACTIONS(1180), + [anon_sym___attribute__] = ACTIONS(1180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1182), + [anon_sym___declspec] = ACTIONS(1180), + [anon_sym___cdecl] = ACTIONS(1180), + [anon_sym___clrcall] = ACTIONS(1180), + [anon_sym___stdcall] = ACTIONS(1180), + [anon_sym___fastcall] = ACTIONS(1180), + [anon_sym___thiscall] = ACTIONS(1180), + [anon_sym___vectorcall] = ACTIONS(1180), + [anon_sym_LBRACE] = ACTIONS(1182), + [anon_sym_signed] = ACTIONS(1180), + [anon_sym_unsigned] = ACTIONS(1180), + [anon_sym_long] = ACTIONS(1180), + [anon_sym_short] = ACTIONS(1180), + [anon_sym_static] = ACTIONS(1180), + [anon_sym_auto] = ACTIONS(1180), + [anon_sym_register] = ACTIONS(1180), + [anon_sym_inline] = ACTIONS(1180), + [anon_sym___inline] = ACTIONS(1180), + [anon_sym___inline__] = ACTIONS(1180), + [anon_sym___forceinline] = ACTIONS(1180), + [anon_sym_thread_local] = ACTIONS(1180), + [anon_sym___thread] = ACTIONS(1180), + [anon_sym_const] = ACTIONS(1180), + [anon_sym_constexpr] = ACTIONS(1180), + [anon_sym_volatile] = ACTIONS(1180), + [anon_sym_restrict] = ACTIONS(1180), + [anon_sym___restrict__] = ACTIONS(1180), + [anon_sym__Atomic] = ACTIONS(1180), + [anon_sym__Noreturn] = ACTIONS(1180), + [anon_sym_noreturn] = ACTIONS(1180), + [anon_sym_alignas] = ACTIONS(1180), + [anon_sym__Alignas] = ACTIONS(1180), + [sym_primitive_type] = ACTIONS(1180), + [anon_sym_enum] = ACTIONS(1180), + [anon_sym_struct] = ACTIONS(1180), + [anon_sym_union] = ACTIONS(1180), + [anon_sym_if] = ACTIONS(1180), + [anon_sym_else] = ACTIONS(1180), + [anon_sym_switch] = ACTIONS(1180), + [anon_sym_case] = ACTIONS(1180), + [anon_sym_default] = ACTIONS(1180), + [anon_sym_while] = ACTIONS(1180), + [anon_sym_do] = ACTIONS(1180), + [anon_sym_for] = ACTIONS(1180), + [anon_sym_return] = ACTIONS(1180), + [anon_sym_break] = ACTIONS(1180), + [anon_sym_continue] = ACTIONS(1180), + [anon_sym_goto] = ACTIONS(1180), + [anon_sym___try] = ACTIONS(1180), + [anon_sym___leave] = ACTIONS(1180), + [anon_sym_DASH_DASH] = ACTIONS(1182), + [anon_sym_PLUS_PLUS] = ACTIONS(1182), + [anon_sym_sizeof] = ACTIONS(1180), + [anon_sym___alignof__] = ACTIONS(1180), + [anon_sym___alignof] = ACTIONS(1180), + [anon_sym__alignof] = ACTIONS(1180), + [anon_sym_alignof] = ACTIONS(1180), + [anon_sym__Alignof] = ACTIONS(1180), + [anon_sym_offsetof] = ACTIONS(1180), + [anon_sym__Generic] = ACTIONS(1180), + [anon_sym_asm] = ACTIONS(1180), + [anon_sym___asm__] = ACTIONS(1180), + [sym__number_literal] = ACTIONS(1182), + [anon_sym_L_SQUOTE] = ACTIONS(1182), + [anon_sym_u_SQUOTE] = ACTIONS(1182), + [anon_sym_U_SQUOTE] = ACTIONS(1182), + [anon_sym_u8_SQUOTE] = ACTIONS(1182), + [anon_sym_SQUOTE] = ACTIONS(1182), + [anon_sym_L_DQUOTE] = ACTIONS(1182), + [anon_sym_u_DQUOTE] = ACTIONS(1182), + [anon_sym_U_DQUOTE] = ACTIONS(1182), + [anon_sym_u8_DQUOTE] = ACTIONS(1182), + [anon_sym_DQUOTE] = ACTIONS(1182), + [sym_true] = ACTIONS(1180), + [sym_false] = ACTIONS(1180), + [anon_sym_NULL] = ACTIONS(1180), + [anon_sym_nullptr] = ACTIONS(1180), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1182), + }, + [269] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token2] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [270] = { + [ts_builtin_sym_end] = ACTIONS(1158), + [sym__identifier] = ACTIONS(1156), + [aux_sym_preproc_include_token1] = ACTIONS(1156), + [aux_sym_preproc_def_token1] = ACTIONS(1156), + [aux_sym_preproc_if_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1156), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1156), + [sym_preproc_directive] = ACTIONS(1156), + [anon_sym_LPAREN2] = ACTIONS(1158), + [anon_sym_BANG] = ACTIONS(1158), + [anon_sym_TILDE] = ACTIONS(1158), + [anon_sym_DASH] = ACTIONS(1156), + [anon_sym_PLUS] = ACTIONS(1156), + [anon_sym_STAR] = ACTIONS(1158), + [anon_sym_AMP] = ACTIONS(1158), + [anon_sym_SEMI] = ACTIONS(1158), + [anon_sym___extension__] = ACTIONS(1156), + [anon_sym_typedef] = ACTIONS(1156), + [anon_sym_extern] = ACTIONS(1156), + [anon_sym___attribute__] = ACTIONS(1156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1158), + [anon_sym___declspec] = ACTIONS(1156), + [anon_sym___cdecl] = ACTIONS(1156), + [anon_sym___clrcall] = ACTIONS(1156), + [anon_sym___stdcall] = ACTIONS(1156), + [anon_sym___fastcall] = ACTIONS(1156), + [anon_sym___thiscall] = ACTIONS(1156), + [anon_sym___vectorcall] = ACTIONS(1156), + [anon_sym_LBRACE] = ACTIONS(1158), + [anon_sym_signed] = ACTIONS(1156), + [anon_sym_unsigned] = ACTIONS(1156), + [anon_sym_long] = ACTIONS(1156), + [anon_sym_short] = ACTIONS(1156), + [anon_sym_static] = ACTIONS(1156), + [anon_sym_auto] = ACTIONS(1156), + [anon_sym_register] = ACTIONS(1156), + [anon_sym_inline] = ACTIONS(1156), + [anon_sym___inline] = ACTIONS(1156), + [anon_sym___inline__] = ACTIONS(1156), + [anon_sym___forceinline] = ACTIONS(1156), + [anon_sym_thread_local] = ACTIONS(1156), + [anon_sym___thread] = ACTIONS(1156), + [anon_sym_const] = ACTIONS(1156), + [anon_sym_constexpr] = ACTIONS(1156), + [anon_sym_volatile] = ACTIONS(1156), + [anon_sym_restrict] = ACTIONS(1156), + [anon_sym___restrict__] = ACTIONS(1156), + [anon_sym__Atomic] = ACTIONS(1156), + [anon_sym__Noreturn] = ACTIONS(1156), + [anon_sym_noreturn] = ACTIONS(1156), + [anon_sym_alignas] = ACTIONS(1156), + [anon_sym__Alignas] = ACTIONS(1156), + [sym_primitive_type] = ACTIONS(1156), + [anon_sym_enum] = ACTIONS(1156), + [anon_sym_struct] = ACTIONS(1156), + [anon_sym_union] = ACTIONS(1156), + [anon_sym_if] = ACTIONS(1156), + [anon_sym_else] = ACTIONS(1156), + [anon_sym_switch] = ACTIONS(1156), + [anon_sym_case] = ACTIONS(1156), + [anon_sym_default] = ACTIONS(1156), + [anon_sym_while] = ACTIONS(1156), + [anon_sym_do] = ACTIONS(1156), + [anon_sym_for] = ACTIONS(1156), + [anon_sym_return] = ACTIONS(1156), + [anon_sym_break] = ACTIONS(1156), + [anon_sym_continue] = ACTIONS(1156), + [anon_sym_goto] = ACTIONS(1156), + [anon_sym___try] = ACTIONS(1156), + [anon_sym___leave] = ACTIONS(1156), + [anon_sym_DASH_DASH] = ACTIONS(1158), + [anon_sym_PLUS_PLUS] = ACTIONS(1158), + [anon_sym_sizeof] = ACTIONS(1156), + [anon_sym___alignof__] = ACTIONS(1156), + [anon_sym___alignof] = ACTIONS(1156), + [anon_sym__alignof] = ACTIONS(1156), + [anon_sym_alignof] = ACTIONS(1156), + [anon_sym__Alignof] = ACTIONS(1156), + [anon_sym_offsetof] = ACTIONS(1156), + [anon_sym__Generic] = ACTIONS(1156), + [anon_sym_asm] = ACTIONS(1156), + [anon_sym___asm__] = ACTIONS(1156), + [sym__number_literal] = ACTIONS(1158), + [anon_sym_L_SQUOTE] = ACTIONS(1158), + [anon_sym_u_SQUOTE] = ACTIONS(1158), + [anon_sym_U_SQUOTE] = ACTIONS(1158), + [anon_sym_u8_SQUOTE] = ACTIONS(1158), + [anon_sym_SQUOTE] = ACTIONS(1158), + [anon_sym_L_DQUOTE] = ACTIONS(1158), + [anon_sym_u_DQUOTE] = ACTIONS(1158), + [anon_sym_U_DQUOTE] = ACTIONS(1158), + [anon_sym_u8_DQUOTE] = ACTIONS(1158), + [anon_sym_DQUOTE] = ACTIONS(1158), + [sym_true] = ACTIONS(1156), + [sym_false] = ACTIONS(1156), + [anon_sym_NULL] = ACTIONS(1156), + [anon_sym_nullptr] = ACTIONS(1156), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1158), + }, + [271] = { + [ts_builtin_sym_end] = ACTIONS(1126), + [sym__identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym___extension__] = ACTIONS(1124), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym___inline] = ACTIONS(1124), + [anon_sym___inline__] = ACTIONS(1124), + [anon_sym___forceinline] = ACTIONS(1124), + [anon_sym_thread_local] = ACTIONS(1124), + [anon_sym___thread] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_constexpr] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym___restrict__] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym__Noreturn] = ACTIONS(1124), + [anon_sym_noreturn] = ACTIONS(1124), + [anon_sym_alignas] = ACTIONS(1124), + [anon_sym__Alignas] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_else] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym___try] = ACTIONS(1124), + [anon_sym___leave] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [anon_sym___alignof__] = ACTIONS(1124), + [anon_sym___alignof] = ACTIONS(1124), + [anon_sym__alignof] = ACTIONS(1124), + [anon_sym_alignof] = ACTIONS(1124), + [anon_sym__Alignof] = ACTIONS(1124), + [anon_sym_offsetof] = ACTIONS(1124), + [anon_sym__Generic] = ACTIONS(1124), + [anon_sym_asm] = ACTIONS(1124), + [anon_sym___asm__] = ACTIONS(1124), + [sym__number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [anon_sym_NULL] = ACTIONS(1124), + [anon_sym_nullptr] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1126), + }, + [272] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token2] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [273] = { + [sym__identifier] = ACTIONS(1152), + [aux_sym_preproc_include_token1] = ACTIONS(1152), + [aux_sym_preproc_def_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token2] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1152), + [sym_preproc_directive] = ACTIONS(1152), + [anon_sym_LPAREN2] = ACTIONS(1154), + [anon_sym_BANG] = ACTIONS(1154), + [anon_sym_TILDE] = ACTIONS(1154), + [anon_sym_DASH] = ACTIONS(1152), + [anon_sym_PLUS] = ACTIONS(1152), + [anon_sym_STAR] = ACTIONS(1154), + [anon_sym_AMP] = ACTIONS(1154), + [anon_sym_SEMI] = ACTIONS(1154), + [anon_sym___extension__] = ACTIONS(1152), + [anon_sym_typedef] = ACTIONS(1152), + [anon_sym_extern] = ACTIONS(1152), + [anon_sym___attribute__] = ACTIONS(1152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1154), + [anon_sym___declspec] = ACTIONS(1152), + [anon_sym___cdecl] = ACTIONS(1152), + [anon_sym___clrcall] = ACTIONS(1152), + [anon_sym___stdcall] = ACTIONS(1152), + [anon_sym___fastcall] = ACTIONS(1152), + [anon_sym___thiscall] = ACTIONS(1152), + [anon_sym___vectorcall] = ACTIONS(1152), + [anon_sym_LBRACE] = ACTIONS(1154), + [anon_sym_signed] = ACTIONS(1152), + [anon_sym_unsigned] = ACTIONS(1152), + [anon_sym_long] = ACTIONS(1152), + [anon_sym_short] = ACTIONS(1152), + [anon_sym_static] = ACTIONS(1152), + [anon_sym_auto] = ACTIONS(1152), + [anon_sym_register] = ACTIONS(1152), + [anon_sym_inline] = ACTIONS(1152), + [anon_sym___inline] = ACTIONS(1152), + [anon_sym___inline__] = ACTIONS(1152), + [anon_sym___forceinline] = ACTIONS(1152), + [anon_sym_thread_local] = ACTIONS(1152), + [anon_sym___thread] = ACTIONS(1152), + [anon_sym_const] = ACTIONS(1152), + [anon_sym_constexpr] = ACTIONS(1152), + [anon_sym_volatile] = ACTIONS(1152), + [anon_sym_restrict] = ACTIONS(1152), + [anon_sym___restrict__] = ACTIONS(1152), + [anon_sym__Atomic] = ACTIONS(1152), + [anon_sym__Noreturn] = ACTIONS(1152), + [anon_sym_noreturn] = ACTIONS(1152), + [anon_sym_alignas] = ACTIONS(1152), + [anon_sym__Alignas] = ACTIONS(1152), + [sym_primitive_type] = ACTIONS(1152), + [anon_sym_enum] = ACTIONS(1152), + [anon_sym_struct] = ACTIONS(1152), + [anon_sym_union] = ACTIONS(1152), + [anon_sym_if] = ACTIONS(1152), + [anon_sym_else] = ACTIONS(1152), + [anon_sym_switch] = ACTIONS(1152), + [anon_sym_case] = ACTIONS(1152), + [anon_sym_default] = ACTIONS(1152), + [anon_sym_while] = ACTIONS(1152), + [anon_sym_do] = ACTIONS(1152), + [anon_sym_for] = ACTIONS(1152), + [anon_sym_return] = ACTIONS(1152), + [anon_sym_break] = ACTIONS(1152), + [anon_sym_continue] = ACTIONS(1152), + [anon_sym_goto] = ACTIONS(1152), + [anon_sym___try] = ACTIONS(1152), + [anon_sym___leave] = ACTIONS(1152), + [anon_sym_DASH_DASH] = ACTIONS(1154), + [anon_sym_PLUS_PLUS] = ACTIONS(1154), + [anon_sym_sizeof] = ACTIONS(1152), + [anon_sym___alignof__] = ACTIONS(1152), + [anon_sym___alignof] = ACTIONS(1152), + [anon_sym__alignof] = ACTIONS(1152), + [anon_sym_alignof] = ACTIONS(1152), + [anon_sym__Alignof] = ACTIONS(1152), + [anon_sym_offsetof] = ACTIONS(1152), + [anon_sym__Generic] = ACTIONS(1152), + [anon_sym_asm] = ACTIONS(1152), + [anon_sym___asm__] = ACTIONS(1152), + [sym__number_literal] = ACTIONS(1154), + [anon_sym_L_SQUOTE] = ACTIONS(1154), + [anon_sym_u_SQUOTE] = ACTIONS(1154), + [anon_sym_U_SQUOTE] = ACTIONS(1154), + [anon_sym_u8_SQUOTE] = ACTIONS(1154), + [anon_sym_SQUOTE] = ACTIONS(1154), + [anon_sym_L_DQUOTE] = ACTIONS(1154), + [anon_sym_u_DQUOTE] = ACTIONS(1154), + [anon_sym_U_DQUOTE] = ACTIONS(1154), + [anon_sym_u8_DQUOTE] = ACTIONS(1154), + [anon_sym_DQUOTE] = ACTIONS(1154), + [sym_true] = ACTIONS(1152), + [sym_false] = ACTIONS(1152), + [anon_sym_NULL] = ACTIONS(1152), + [anon_sym_nullptr] = ACTIONS(1152), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1154), + }, + [274] = { + [sym__identifier] = ACTIONS(1132), + [aux_sym_preproc_include_token1] = ACTIONS(1132), + [aux_sym_preproc_def_token1] = ACTIONS(1132), + [aux_sym_preproc_if_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1132), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1132), + [sym_preproc_directive] = ACTIONS(1132), + [anon_sym_LPAREN2] = ACTIONS(1134), + [anon_sym_BANG] = ACTIONS(1134), + [anon_sym_TILDE] = ACTIONS(1134), + [anon_sym_DASH] = ACTIONS(1132), + [anon_sym_PLUS] = ACTIONS(1132), + [anon_sym_STAR] = ACTIONS(1134), + [anon_sym_AMP] = ACTIONS(1134), + [anon_sym_SEMI] = ACTIONS(1134), + [anon_sym___extension__] = ACTIONS(1132), + [anon_sym_typedef] = ACTIONS(1132), + [anon_sym_extern] = ACTIONS(1132), + [anon_sym___attribute__] = ACTIONS(1132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1134), + [anon_sym___declspec] = ACTIONS(1132), + [anon_sym___cdecl] = ACTIONS(1132), + [anon_sym___clrcall] = ACTIONS(1132), + [anon_sym___stdcall] = ACTIONS(1132), + [anon_sym___fastcall] = ACTIONS(1132), + [anon_sym___thiscall] = ACTIONS(1132), + [anon_sym___vectorcall] = ACTIONS(1132), + [anon_sym_LBRACE] = ACTIONS(1134), + [anon_sym_RBRACE] = ACTIONS(1134), + [anon_sym_signed] = ACTIONS(1132), + [anon_sym_unsigned] = ACTIONS(1132), + [anon_sym_long] = ACTIONS(1132), + [anon_sym_short] = ACTIONS(1132), + [anon_sym_static] = ACTIONS(1132), + [anon_sym_auto] = ACTIONS(1132), + [anon_sym_register] = ACTIONS(1132), + [anon_sym_inline] = ACTIONS(1132), + [anon_sym___inline] = ACTIONS(1132), + [anon_sym___inline__] = ACTIONS(1132), + [anon_sym___forceinline] = ACTIONS(1132), + [anon_sym_thread_local] = ACTIONS(1132), + [anon_sym___thread] = ACTIONS(1132), + [anon_sym_const] = ACTIONS(1132), + [anon_sym_constexpr] = ACTIONS(1132), + [anon_sym_volatile] = ACTIONS(1132), + [anon_sym_restrict] = ACTIONS(1132), + [anon_sym___restrict__] = ACTIONS(1132), + [anon_sym__Atomic] = ACTIONS(1132), + [anon_sym__Noreturn] = ACTIONS(1132), + [anon_sym_noreturn] = ACTIONS(1132), + [anon_sym_alignas] = ACTIONS(1132), + [anon_sym__Alignas] = ACTIONS(1132), + [sym_primitive_type] = ACTIONS(1132), + [anon_sym_enum] = ACTIONS(1132), + [anon_sym_struct] = ACTIONS(1132), + [anon_sym_union] = ACTIONS(1132), + [anon_sym_if] = ACTIONS(1132), + [anon_sym_else] = ACTIONS(1132), + [anon_sym_switch] = ACTIONS(1132), + [anon_sym_case] = ACTIONS(1132), + [anon_sym_default] = ACTIONS(1132), + [anon_sym_while] = ACTIONS(1132), + [anon_sym_do] = ACTIONS(1132), + [anon_sym_for] = ACTIONS(1132), + [anon_sym_return] = ACTIONS(1132), + [anon_sym_break] = ACTIONS(1132), + [anon_sym_continue] = ACTIONS(1132), + [anon_sym_goto] = ACTIONS(1132), + [anon_sym___try] = ACTIONS(1132), + [anon_sym___leave] = ACTIONS(1132), + [anon_sym_DASH_DASH] = ACTIONS(1134), + [anon_sym_PLUS_PLUS] = ACTIONS(1134), + [anon_sym_sizeof] = ACTIONS(1132), + [anon_sym___alignof__] = ACTIONS(1132), + [anon_sym___alignof] = ACTIONS(1132), + [anon_sym__alignof] = ACTIONS(1132), + [anon_sym_alignof] = ACTIONS(1132), + [anon_sym__Alignof] = ACTIONS(1132), + [anon_sym_offsetof] = ACTIONS(1132), + [anon_sym__Generic] = ACTIONS(1132), + [anon_sym_asm] = ACTIONS(1132), + [anon_sym___asm__] = ACTIONS(1132), + [sym__number_literal] = ACTIONS(1134), + [anon_sym_L_SQUOTE] = ACTIONS(1134), + [anon_sym_u_SQUOTE] = ACTIONS(1134), + [anon_sym_U_SQUOTE] = ACTIONS(1134), + [anon_sym_u8_SQUOTE] = ACTIONS(1134), + [anon_sym_SQUOTE] = ACTIONS(1134), + [anon_sym_L_DQUOTE] = ACTIONS(1134), + [anon_sym_u_DQUOTE] = ACTIONS(1134), + [anon_sym_U_DQUOTE] = ACTIONS(1134), + [anon_sym_u8_DQUOTE] = ACTIONS(1134), + [anon_sym_DQUOTE] = ACTIONS(1134), + [sym_true] = ACTIONS(1132), + [sym_false] = ACTIONS(1132), + [anon_sym_NULL] = ACTIONS(1132), + [anon_sym_nullptr] = ACTIONS(1132), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1134), + }, + [275] = { + [sym__identifier] = ACTIONS(1140), + [aux_sym_preproc_include_token1] = ACTIONS(1140), + [aux_sym_preproc_def_token1] = ACTIONS(1140), + [aux_sym_preproc_if_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1140), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1140), + [sym_preproc_directive] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(1142), + [anon_sym_BANG] = ACTIONS(1142), + [anon_sym_TILDE] = ACTIONS(1142), + [anon_sym_DASH] = ACTIONS(1140), + [anon_sym_PLUS] = ACTIONS(1140), + [anon_sym_STAR] = ACTIONS(1142), + [anon_sym_AMP] = ACTIONS(1142), + [anon_sym_SEMI] = ACTIONS(1142), + [anon_sym___extension__] = ACTIONS(1140), + [anon_sym_typedef] = ACTIONS(1140), + [anon_sym_extern] = ACTIONS(1140), + [anon_sym___attribute__] = ACTIONS(1140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1142), + [anon_sym___declspec] = ACTIONS(1140), + [anon_sym___cdecl] = ACTIONS(1140), + [anon_sym___clrcall] = ACTIONS(1140), + [anon_sym___stdcall] = ACTIONS(1140), + [anon_sym___fastcall] = ACTIONS(1140), + [anon_sym___thiscall] = ACTIONS(1140), + [anon_sym___vectorcall] = ACTIONS(1140), + [anon_sym_LBRACE] = ACTIONS(1142), + [anon_sym_RBRACE] = ACTIONS(1142), + [anon_sym_signed] = ACTIONS(1140), + [anon_sym_unsigned] = ACTIONS(1140), + [anon_sym_long] = ACTIONS(1140), + [anon_sym_short] = ACTIONS(1140), + [anon_sym_static] = ACTIONS(1140), + [anon_sym_auto] = ACTIONS(1140), + [anon_sym_register] = ACTIONS(1140), + [anon_sym_inline] = ACTIONS(1140), + [anon_sym___inline] = ACTIONS(1140), + [anon_sym___inline__] = ACTIONS(1140), + [anon_sym___forceinline] = ACTIONS(1140), + [anon_sym_thread_local] = ACTIONS(1140), + [anon_sym___thread] = ACTIONS(1140), + [anon_sym_const] = ACTIONS(1140), + [anon_sym_constexpr] = ACTIONS(1140), + [anon_sym_volatile] = ACTIONS(1140), + [anon_sym_restrict] = ACTIONS(1140), + [anon_sym___restrict__] = ACTIONS(1140), + [anon_sym__Atomic] = ACTIONS(1140), + [anon_sym__Noreturn] = ACTIONS(1140), + [anon_sym_noreturn] = ACTIONS(1140), + [anon_sym_alignas] = ACTIONS(1140), + [anon_sym__Alignas] = ACTIONS(1140), + [sym_primitive_type] = ACTIONS(1140), + [anon_sym_enum] = ACTIONS(1140), + [anon_sym_struct] = ACTIONS(1140), + [anon_sym_union] = ACTIONS(1140), + [anon_sym_if] = ACTIONS(1140), + [anon_sym_else] = ACTIONS(1140), + [anon_sym_switch] = ACTIONS(1140), + [anon_sym_case] = ACTIONS(1140), + [anon_sym_default] = ACTIONS(1140), + [anon_sym_while] = ACTIONS(1140), + [anon_sym_do] = ACTIONS(1140), + [anon_sym_for] = ACTIONS(1140), + [anon_sym_return] = ACTIONS(1140), + [anon_sym_break] = ACTIONS(1140), + [anon_sym_continue] = ACTIONS(1140), + [anon_sym_goto] = ACTIONS(1140), + [anon_sym___try] = ACTIONS(1140), + [anon_sym___leave] = ACTIONS(1140), + [anon_sym_DASH_DASH] = ACTIONS(1142), + [anon_sym_PLUS_PLUS] = ACTIONS(1142), + [anon_sym_sizeof] = ACTIONS(1140), + [anon_sym___alignof__] = ACTIONS(1140), + [anon_sym___alignof] = ACTIONS(1140), + [anon_sym__alignof] = ACTIONS(1140), + [anon_sym_alignof] = ACTIONS(1140), + [anon_sym__Alignof] = ACTIONS(1140), + [anon_sym_offsetof] = ACTIONS(1140), + [anon_sym__Generic] = ACTIONS(1140), + [anon_sym_asm] = ACTIONS(1140), + [anon_sym___asm__] = ACTIONS(1140), + [sym__number_literal] = ACTIONS(1142), + [anon_sym_L_SQUOTE] = ACTIONS(1142), + [anon_sym_u_SQUOTE] = ACTIONS(1142), + [anon_sym_U_SQUOTE] = ACTIONS(1142), + [anon_sym_u8_SQUOTE] = ACTIONS(1142), + [anon_sym_SQUOTE] = ACTIONS(1142), + [anon_sym_L_DQUOTE] = ACTIONS(1142), + [anon_sym_u_DQUOTE] = ACTIONS(1142), + [anon_sym_U_DQUOTE] = ACTIONS(1142), + [anon_sym_u8_DQUOTE] = ACTIONS(1142), + [anon_sym_DQUOTE] = ACTIONS(1142), + [sym_true] = ACTIONS(1140), + [sym_false] = ACTIONS(1140), + [anon_sym_NULL] = ACTIONS(1140), + [anon_sym_nullptr] = ACTIONS(1140), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1142), + }, + [276] = { + [sym__identifier] = ACTIONS(1136), + [aux_sym_preproc_include_token1] = ACTIONS(1136), + [aux_sym_preproc_def_token1] = ACTIONS(1136), + [aux_sym_preproc_if_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1136), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1136), + [sym_preproc_directive] = ACTIONS(1136), + [anon_sym_LPAREN2] = ACTIONS(1138), + [anon_sym_BANG] = ACTIONS(1138), + [anon_sym_TILDE] = ACTIONS(1138), + [anon_sym_DASH] = ACTIONS(1136), + [anon_sym_PLUS] = ACTIONS(1136), + [anon_sym_STAR] = ACTIONS(1138), + [anon_sym_AMP] = ACTIONS(1138), + [anon_sym_SEMI] = ACTIONS(1138), + [anon_sym___extension__] = ACTIONS(1136), + [anon_sym_typedef] = ACTIONS(1136), + [anon_sym_extern] = ACTIONS(1136), + [anon_sym___attribute__] = ACTIONS(1136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1138), + [anon_sym___declspec] = ACTIONS(1136), + [anon_sym___cdecl] = ACTIONS(1136), + [anon_sym___clrcall] = ACTIONS(1136), + [anon_sym___stdcall] = ACTIONS(1136), + [anon_sym___fastcall] = ACTIONS(1136), + [anon_sym___thiscall] = ACTIONS(1136), + [anon_sym___vectorcall] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(1138), + [anon_sym_RBRACE] = ACTIONS(1138), + [anon_sym_signed] = ACTIONS(1136), + [anon_sym_unsigned] = ACTIONS(1136), + [anon_sym_long] = ACTIONS(1136), + [anon_sym_short] = ACTIONS(1136), + [anon_sym_static] = ACTIONS(1136), + [anon_sym_auto] = ACTIONS(1136), + [anon_sym_register] = ACTIONS(1136), + [anon_sym_inline] = ACTIONS(1136), + [anon_sym___inline] = ACTIONS(1136), + [anon_sym___inline__] = ACTIONS(1136), + [anon_sym___forceinline] = ACTIONS(1136), + [anon_sym_thread_local] = ACTIONS(1136), + [anon_sym___thread] = ACTIONS(1136), + [anon_sym_const] = ACTIONS(1136), + [anon_sym_constexpr] = ACTIONS(1136), + [anon_sym_volatile] = ACTIONS(1136), + [anon_sym_restrict] = ACTIONS(1136), + [anon_sym___restrict__] = ACTIONS(1136), + [anon_sym__Atomic] = ACTIONS(1136), + [anon_sym__Noreturn] = ACTIONS(1136), + [anon_sym_noreturn] = ACTIONS(1136), + [anon_sym_alignas] = ACTIONS(1136), + [anon_sym__Alignas] = ACTIONS(1136), + [sym_primitive_type] = ACTIONS(1136), + [anon_sym_enum] = ACTIONS(1136), + [anon_sym_struct] = ACTIONS(1136), + [anon_sym_union] = ACTIONS(1136), + [anon_sym_if] = ACTIONS(1136), + [anon_sym_else] = ACTIONS(1136), + [anon_sym_switch] = ACTIONS(1136), + [anon_sym_case] = ACTIONS(1136), + [anon_sym_default] = ACTIONS(1136), + [anon_sym_while] = ACTIONS(1136), + [anon_sym_do] = ACTIONS(1136), + [anon_sym_for] = ACTIONS(1136), + [anon_sym_return] = ACTIONS(1136), + [anon_sym_break] = ACTIONS(1136), + [anon_sym_continue] = ACTIONS(1136), + [anon_sym_goto] = ACTIONS(1136), + [anon_sym___try] = ACTIONS(1136), + [anon_sym___leave] = ACTIONS(1136), + [anon_sym_DASH_DASH] = ACTIONS(1138), + [anon_sym_PLUS_PLUS] = ACTIONS(1138), + [anon_sym_sizeof] = ACTIONS(1136), + [anon_sym___alignof__] = ACTIONS(1136), + [anon_sym___alignof] = ACTIONS(1136), + [anon_sym__alignof] = ACTIONS(1136), + [anon_sym_alignof] = ACTIONS(1136), + [anon_sym__Alignof] = ACTIONS(1136), + [anon_sym_offsetof] = ACTIONS(1136), + [anon_sym__Generic] = ACTIONS(1136), + [anon_sym_asm] = ACTIONS(1136), + [anon_sym___asm__] = ACTIONS(1136), + [sym__number_literal] = ACTIONS(1138), + [anon_sym_L_SQUOTE] = ACTIONS(1138), + [anon_sym_u_SQUOTE] = ACTIONS(1138), + [anon_sym_U_SQUOTE] = ACTIONS(1138), + [anon_sym_u8_SQUOTE] = ACTIONS(1138), + [anon_sym_SQUOTE] = ACTIONS(1138), + [anon_sym_L_DQUOTE] = ACTIONS(1138), + [anon_sym_u_DQUOTE] = ACTIONS(1138), + [anon_sym_U_DQUOTE] = ACTIONS(1138), + [anon_sym_u8_DQUOTE] = ACTIONS(1138), + [anon_sym_DQUOTE] = ACTIONS(1138), + [sym_true] = ACTIONS(1136), + [sym_false] = ACTIONS(1136), + [anon_sym_NULL] = ACTIONS(1136), + [anon_sym_nullptr] = ACTIONS(1136), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1138), + }, + [277] = { + [sym__identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym___extension__] = ACTIONS(1120), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_RBRACE] = ACTIONS(1122), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym___inline] = ACTIONS(1120), + [anon_sym___inline__] = ACTIONS(1120), + [anon_sym___forceinline] = ACTIONS(1120), + [anon_sym_thread_local] = ACTIONS(1120), + [anon_sym___thread] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_constexpr] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym___restrict__] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym__Noreturn] = ACTIONS(1120), + [anon_sym_noreturn] = ACTIONS(1120), + [anon_sym_alignas] = ACTIONS(1120), + [anon_sym__Alignas] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_else] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym___try] = ACTIONS(1120), + [anon_sym___leave] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [anon_sym___alignof__] = ACTIONS(1120), + [anon_sym___alignof] = ACTIONS(1120), + [anon_sym__alignof] = ACTIONS(1120), + [anon_sym_alignof] = ACTIONS(1120), + [anon_sym__Alignof] = ACTIONS(1120), + [anon_sym_offsetof] = ACTIONS(1120), + [anon_sym__Generic] = ACTIONS(1120), + [anon_sym_asm] = ACTIONS(1120), + [anon_sym___asm__] = ACTIONS(1120), + [sym__number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [anon_sym_NULL] = ACTIONS(1120), + [anon_sym_nullptr] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1122), + }, + [278] = { + [ts_builtin_sym_end] = ACTIONS(1102), + [sym__identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym___extension__] = ACTIONS(1100), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym___inline] = ACTIONS(1100), + [anon_sym___inline__] = ACTIONS(1100), + [anon_sym___forceinline] = ACTIONS(1100), + [anon_sym_thread_local] = ACTIONS(1100), + [anon_sym___thread] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_constexpr] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym___restrict__] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym__Noreturn] = ACTIONS(1100), + [anon_sym_noreturn] = ACTIONS(1100), + [anon_sym_alignas] = ACTIONS(1100), + [anon_sym__Alignas] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_else] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym___try] = ACTIONS(1100), + [anon_sym___leave] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [anon_sym___alignof__] = ACTIONS(1100), + [anon_sym___alignof] = ACTIONS(1100), + [anon_sym__alignof] = ACTIONS(1100), + [anon_sym_alignof] = ACTIONS(1100), + [anon_sym__Alignof] = ACTIONS(1100), + [anon_sym_offsetof] = ACTIONS(1100), + [anon_sym__Generic] = ACTIONS(1100), + [anon_sym_asm] = ACTIONS(1100), + [anon_sym___asm__] = ACTIONS(1100), + [sym__number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [anon_sym_NULL] = ACTIONS(1100), + [anon_sym_nullptr] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1102), + }, + [279] = { + [sym__identifier] = ACTIONS(1160), + [aux_sym_preproc_include_token1] = ACTIONS(1160), + [aux_sym_preproc_def_token1] = ACTIONS(1160), + [aux_sym_preproc_if_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1160), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1160), + [sym_preproc_directive] = ACTIONS(1160), + [anon_sym_LPAREN2] = ACTIONS(1162), + [anon_sym_BANG] = ACTIONS(1162), + [anon_sym_TILDE] = ACTIONS(1162), + [anon_sym_DASH] = ACTIONS(1160), + [anon_sym_PLUS] = ACTIONS(1160), + [anon_sym_STAR] = ACTIONS(1162), + [anon_sym_AMP] = ACTIONS(1162), + [anon_sym_SEMI] = ACTIONS(1162), + [anon_sym___extension__] = ACTIONS(1160), + [anon_sym_typedef] = ACTIONS(1160), + [anon_sym_extern] = ACTIONS(1160), + [anon_sym___attribute__] = ACTIONS(1160), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1162), + [anon_sym___declspec] = ACTIONS(1160), + [anon_sym___cdecl] = ACTIONS(1160), + [anon_sym___clrcall] = ACTIONS(1160), + [anon_sym___stdcall] = ACTIONS(1160), + [anon_sym___fastcall] = ACTIONS(1160), + [anon_sym___thiscall] = ACTIONS(1160), + [anon_sym___vectorcall] = ACTIONS(1160), + [anon_sym_LBRACE] = ACTIONS(1162), + [anon_sym_RBRACE] = ACTIONS(1162), + [anon_sym_signed] = ACTIONS(1160), + [anon_sym_unsigned] = ACTIONS(1160), + [anon_sym_long] = ACTIONS(1160), + [anon_sym_short] = ACTIONS(1160), + [anon_sym_static] = ACTIONS(1160), + [anon_sym_auto] = ACTIONS(1160), + [anon_sym_register] = ACTIONS(1160), + [anon_sym_inline] = ACTIONS(1160), + [anon_sym___inline] = ACTIONS(1160), + [anon_sym___inline__] = ACTIONS(1160), + [anon_sym___forceinline] = ACTIONS(1160), + [anon_sym_thread_local] = ACTIONS(1160), + [anon_sym___thread] = ACTIONS(1160), + [anon_sym_const] = ACTIONS(1160), + [anon_sym_constexpr] = ACTIONS(1160), + [anon_sym_volatile] = ACTIONS(1160), + [anon_sym_restrict] = ACTIONS(1160), + [anon_sym___restrict__] = ACTIONS(1160), + [anon_sym__Atomic] = ACTIONS(1160), + [anon_sym__Noreturn] = ACTIONS(1160), + [anon_sym_noreturn] = ACTIONS(1160), + [anon_sym_alignas] = ACTIONS(1160), + [anon_sym__Alignas] = ACTIONS(1160), + [sym_primitive_type] = ACTIONS(1160), + [anon_sym_enum] = ACTIONS(1160), + [anon_sym_struct] = ACTIONS(1160), + [anon_sym_union] = ACTIONS(1160), + [anon_sym_if] = ACTIONS(1160), + [anon_sym_else] = ACTIONS(1160), + [anon_sym_switch] = ACTIONS(1160), + [anon_sym_case] = ACTIONS(1160), + [anon_sym_default] = ACTIONS(1160), + [anon_sym_while] = ACTIONS(1160), + [anon_sym_do] = ACTIONS(1160), + [anon_sym_for] = ACTIONS(1160), + [anon_sym_return] = ACTIONS(1160), + [anon_sym_break] = ACTIONS(1160), + [anon_sym_continue] = ACTIONS(1160), + [anon_sym_goto] = ACTIONS(1160), + [anon_sym___try] = ACTIONS(1160), + [anon_sym___leave] = ACTIONS(1160), + [anon_sym_DASH_DASH] = ACTIONS(1162), + [anon_sym_PLUS_PLUS] = ACTIONS(1162), + [anon_sym_sizeof] = ACTIONS(1160), + [anon_sym___alignof__] = ACTIONS(1160), + [anon_sym___alignof] = ACTIONS(1160), + [anon_sym__alignof] = ACTIONS(1160), + [anon_sym_alignof] = ACTIONS(1160), + [anon_sym__Alignof] = ACTIONS(1160), + [anon_sym_offsetof] = ACTIONS(1160), + [anon_sym__Generic] = ACTIONS(1160), + [anon_sym_asm] = ACTIONS(1160), + [anon_sym___asm__] = ACTIONS(1160), + [sym__number_literal] = ACTIONS(1162), + [anon_sym_L_SQUOTE] = ACTIONS(1162), + [anon_sym_u_SQUOTE] = ACTIONS(1162), + [anon_sym_U_SQUOTE] = ACTIONS(1162), + [anon_sym_u8_SQUOTE] = ACTIONS(1162), + [anon_sym_SQUOTE] = ACTIONS(1162), + [anon_sym_L_DQUOTE] = ACTIONS(1162), + [anon_sym_u_DQUOTE] = ACTIONS(1162), + [anon_sym_U_DQUOTE] = ACTIONS(1162), + [anon_sym_u8_DQUOTE] = ACTIONS(1162), + [anon_sym_DQUOTE] = ACTIONS(1162), + [sym_true] = ACTIONS(1160), + [sym_false] = ACTIONS(1160), + [anon_sym_NULL] = ACTIONS(1160), + [anon_sym_nullptr] = ACTIONS(1160), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1162), + }, + [280] = { + [ts_builtin_sym_end] = ACTIONS(1226), + [sym__identifier] = ACTIONS(1224), + [aux_sym_preproc_include_token1] = ACTIONS(1224), + [aux_sym_preproc_def_token1] = ACTIONS(1224), + [aux_sym_preproc_if_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1224), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1224), + [sym_preproc_directive] = ACTIONS(1224), + [anon_sym_LPAREN2] = ACTIONS(1226), + [anon_sym_BANG] = ACTIONS(1226), + [anon_sym_TILDE] = ACTIONS(1226), + [anon_sym_DASH] = ACTIONS(1224), + [anon_sym_PLUS] = ACTIONS(1224), + [anon_sym_STAR] = ACTIONS(1226), + [anon_sym_AMP] = ACTIONS(1226), + [anon_sym_SEMI] = ACTIONS(1226), + [anon_sym___extension__] = ACTIONS(1224), + [anon_sym_typedef] = ACTIONS(1224), + [anon_sym_extern] = ACTIONS(1224), + [anon_sym___attribute__] = ACTIONS(1224), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1226), + [anon_sym___declspec] = ACTIONS(1224), + [anon_sym___cdecl] = ACTIONS(1224), + [anon_sym___clrcall] = ACTIONS(1224), + [anon_sym___stdcall] = ACTIONS(1224), + [anon_sym___fastcall] = ACTIONS(1224), + [anon_sym___thiscall] = ACTIONS(1224), + [anon_sym___vectorcall] = ACTIONS(1224), + [anon_sym_LBRACE] = ACTIONS(1226), + [anon_sym_signed] = ACTIONS(1224), + [anon_sym_unsigned] = ACTIONS(1224), + [anon_sym_long] = ACTIONS(1224), + [anon_sym_short] = ACTIONS(1224), + [anon_sym_static] = ACTIONS(1224), + [anon_sym_auto] = ACTIONS(1224), + [anon_sym_register] = ACTIONS(1224), + [anon_sym_inline] = ACTIONS(1224), + [anon_sym___inline] = ACTIONS(1224), + [anon_sym___inline__] = ACTIONS(1224), + [anon_sym___forceinline] = ACTIONS(1224), + [anon_sym_thread_local] = ACTIONS(1224), + [anon_sym___thread] = ACTIONS(1224), + [anon_sym_const] = ACTIONS(1224), + [anon_sym_constexpr] = ACTIONS(1224), + [anon_sym_volatile] = ACTIONS(1224), + [anon_sym_restrict] = ACTIONS(1224), + [anon_sym___restrict__] = ACTIONS(1224), + [anon_sym__Atomic] = ACTIONS(1224), + [anon_sym__Noreturn] = ACTIONS(1224), + [anon_sym_noreturn] = ACTIONS(1224), + [anon_sym_alignas] = ACTIONS(1224), + [anon_sym__Alignas] = ACTIONS(1224), + [sym_primitive_type] = ACTIONS(1224), + [anon_sym_enum] = ACTIONS(1224), + [anon_sym_struct] = ACTIONS(1224), + [anon_sym_union] = ACTIONS(1224), + [anon_sym_if] = ACTIONS(1224), + [anon_sym_else] = ACTIONS(1224), + [anon_sym_switch] = ACTIONS(1224), + [anon_sym_case] = ACTIONS(1224), + [anon_sym_default] = ACTIONS(1224), + [anon_sym_while] = ACTIONS(1224), + [anon_sym_do] = ACTIONS(1224), + [anon_sym_for] = ACTIONS(1224), + [anon_sym_return] = ACTIONS(1224), + [anon_sym_break] = ACTIONS(1224), + [anon_sym_continue] = ACTIONS(1224), + [anon_sym_goto] = ACTIONS(1224), + [anon_sym___try] = ACTIONS(1224), + [anon_sym___leave] = ACTIONS(1224), + [anon_sym_DASH_DASH] = ACTIONS(1226), + [anon_sym_PLUS_PLUS] = ACTIONS(1226), + [anon_sym_sizeof] = ACTIONS(1224), + [anon_sym___alignof__] = ACTIONS(1224), + [anon_sym___alignof] = ACTIONS(1224), + [anon_sym__alignof] = ACTIONS(1224), + [anon_sym_alignof] = ACTIONS(1224), + [anon_sym__Alignof] = ACTIONS(1224), + [anon_sym_offsetof] = ACTIONS(1224), + [anon_sym__Generic] = ACTIONS(1224), + [anon_sym_asm] = ACTIONS(1224), + [anon_sym___asm__] = ACTIONS(1224), + [sym__number_literal] = ACTIONS(1226), + [anon_sym_L_SQUOTE] = ACTIONS(1226), + [anon_sym_u_SQUOTE] = ACTIONS(1226), + [anon_sym_U_SQUOTE] = ACTIONS(1226), + [anon_sym_u8_SQUOTE] = ACTIONS(1226), + [anon_sym_SQUOTE] = ACTIONS(1226), + [anon_sym_L_DQUOTE] = ACTIONS(1226), + [anon_sym_u_DQUOTE] = ACTIONS(1226), + [anon_sym_U_DQUOTE] = ACTIONS(1226), + [anon_sym_u8_DQUOTE] = ACTIONS(1226), + [anon_sym_DQUOTE] = ACTIONS(1226), + [sym_true] = ACTIONS(1224), + [sym_false] = ACTIONS(1224), + [anon_sym_NULL] = ACTIONS(1224), + [anon_sym_nullptr] = ACTIONS(1224), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1226), + }, + [281] = { + [ts_builtin_sym_end] = ACTIONS(1146), + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [282] = { + [sym__identifier] = ACTIONS(1164), + [aux_sym_preproc_include_token1] = ACTIONS(1164), + [aux_sym_preproc_def_token1] = ACTIONS(1164), + [aux_sym_preproc_if_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1164), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1164), + [sym_preproc_directive] = ACTIONS(1164), + [anon_sym_LPAREN2] = ACTIONS(1166), + [anon_sym_BANG] = ACTIONS(1166), + [anon_sym_TILDE] = ACTIONS(1166), + [anon_sym_DASH] = ACTIONS(1164), + [anon_sym_PLUS] = ACTIONS(1164), + [anon_sym_STAR] = ACTIONS(1166), + [anon_sym_AMP] = ACTIONS(1166), + [anon_sym_SEMI] = ACTIONS(1166), + [anon_sym___extension__] = ACTIONS(1164), + [anon_sym_typedef] = ACTIONS(1164), + [anon_sym_extern] = ACTIONS(1164), + [anon_sym___attribute__] = ACTIONS(1164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1166), + [anon_sym___declspec] = ACTIONS(1164), + [anon_sym___cdecl] = ACTIONS(1164), + [anon_sym___clrcall] = ACTIONS(1164), + [anon_sym___stdcall] = ACTIONS(1164), + [anon_sym___fastcall] = ACTIONS(1164), + [anon_sym___thiscall] = ACTIONS(1164), + [anon_sym___vectorcall] = ACTIONS(1164), + [anon_sym_LBRACE] = ACTIONS(1166), + [anon_sym_RBRACE] = ACTIONS(1166), + [anon_sym_signed] = ACTIONS(1164), + [anon_sym_unsigned] = ACTIONS(1164), + [anon_sym_long] = ACTIONS(1164), + [anon_sym_short] = ACTIONS(1164), + [anon_sym_static] = ACTIONS(1164), + [anon_sym_auto] = ACTIONS(1164), + [anon_sym_register] = ACTIONS(1164), + [anon_sym_inline] = ACTIONS(1164), + [anon_sym___inline] = ACTIONS(1164), + [anon_sym___inline__] = ACTIONS(1164), + [anon_sym___forceinline] = ACTIONS(1164), + [anon_sym_thread_local] = ACTIONS(1164), + [anon_sym___thread] = ACTIONS(1164), + [anon_sym_const] = ACTIONS(1164), + [anon_sym_constexpr] = ACTIONS(1164), + [anon_sym_volatile] = ACTIONS(1164), + [anon_sym_restrict] = ACTIONS(1164), + [anon_sym___restrict__] = ACTIONS(1164), + [anon_sym__Atomic] = ACTIONS(1164), + [anon_sym__Noreturn] = ACTIONS(1164), + [anon_sym_noreturn] = ACTIONS(1164), + [anon_sym_alignas] = ACTIONS(1164), + [anon_sym__Alignas] = ACTIONS(1164), + [sym_primitive_type] = ACTIONS(1164), + [anon_sym_enum] = ACTIONS(1164), + [anon_sym_struct] = ACTIONS(1164), + [anon_sym_union] = ACTIONS(1164), + [anon_sym_if] = ACTIONS(1164), + [anon_sym_else] = ACTIONS(1164), + [anon_sym_switch] = ACTIONS(1164), + [anon_sym_case] = ACTIONS(1164), + [anon_sym_default] = ACTIONS(1164), + [anon_sym_while] = ACTIONS(1164), + [anon_sym_do] = ACTIONS(1164), + [anon_sym_for] = ACTIONS(1164), + [anon_sym_return] = ACTIONS(1164), + [anon_sym_break] = ACTIONS(1164), + [anon_sym_continue] = ACTIONS(1164), + [anon_sym_goto] = ACTIONS(1164), + [anon_sym___try] = ACTIONS(1164), + [anon_sym___leave] = ACTIONS(1164), + [anon_sym_DASH_DASH] = ACTIONS(1166), + [anon_sym_PLUS_PLUS] = ACTIONS(1166), + [anon_sym_sizeof] = ACTIONS(1164), + [anon_sym___alignof__] = ACTIONS(1164), + [anon_sym___alignof] = ACTIONS(1164), + [anon_sym__alignof] = ACTIONS(1164), + [anon_sym_alignof] = ACTIONS(1164), + [anon_sym__Alignof] = ACTIONS(1164), + [anon_sym_offsetof] = ACTIONS(1164), + [anon_sym__Generic] = ACTIONS(1164), + [anon_sym_asm] = ACTIONS(1164), + [anon_sym___asm__] = ACTIONS(1164), + [sym__number_literal] = ACTIONS(1166), + [anon_sym_L_SQUOTE] = ACTIONS(1166), + [anon_sym_u_SQUOTE] = ACTIONS(1166), + [anon_sym_U_SQUOTE] = ACTIONS(1166), + [anon_sym_u8_SQUOTE] = ACTIONS(1166), + [anon_sym_SQUOTE] = ACTIONS(1166), + [anon_sym_L_DQUOTE] = ACTIONS(1166), + [anon_sym_u_DQUOTE] = ACTIONS(1166), + [anon_sym_U_DQUOTE] = ACTIONS(1166), + [anon_sym_u8_DQUOTE] = ACTIONS(1166), + [anon_sym_DQUOTE] = ACTIONS(1166), + [sym_true] = ACTIONS(1164), + [sym_false] = ACTIONS(1164), + [anon_sym_NULL] = ACTIONS(1164), + [anon_sym_nullptr] = ACTIONS(1164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1166), + }, + [283] = { + [ts_builtin_sym_end] = ACTIONS(1146), + [sym__identifier] = ACTIONS(1144), + [aux_sym_preproc_include_token1] = ACTIONS(1144), + [aux_sym_preproc_def_token1] = ACTIONS(1144), + [aux_sym_preproc_if_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1144), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1144), + [sym_preproc_directive] = ACTIONS(1144), + [anon_sym_LPAREN2] = ACTIONS(1146), + [anon_sym_BANG] = ACTIONS(1146), + [anon_sym_TILDE] = ACTIONS(1146), + [anon_sym_DASH] = ACTIONS(1144), + [anon_sym_PLUS] = ACTIONS(1144), + [anon_sym_STAR] = ACTIONS(1146), + [anon_sym_AMP] = ACTIONS(1146), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym___extension__] = ACTIONS(1144), + [anon_sym_typedef] = ACTIONS(1144), + [anon_sym_extern] = ACTIONS(1144), + [anon_sym___attribute__] = ACTIONS(1144), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1146), + [anon_sym___declspec] = ACTIONS(1144), + [anon_sym___cdecl] = ACTIONS(1144), + [anon_sym___clrcall] = ACTIONS(1144), + [anon_sym___stdcall] = ACTIONS(1144), + [anon_sym___fastcall] = ACTIONS(1144), + [anon_sym___thiscall] = ACTIONS(1144), + [anon_sym___vectorcall] = ACTIONS(1144), + [anon_sym_LBRACE] = ACTIONS(1146), + [anon_sym_signed] = ACTIONS(1144), + [anon_sym_unsigned] = ACTIONS(1144), + [anon_sym_long] = ACTIONS(1144), + [anon_sym_short] = ACTIONS(1144), + [anon_sym_static] = ACTIONS(1144), + [anon_sym_auto] = ACTIONS(1144), + [anon_sym_register] = ACTIONS(1144), + [anon_sym_inline] = ACTIONS(1144), + [anon_sym___inline] = ACTIONS(1144), + [anon_sym___inline__] = ACTIONS(1144), + [anon_sym___forceinline] = ACTIONS(1144), + [anon_sym_thread_local] = ACTIONS(1144), + [anon_sym___thread] = ACTIONS(1144), + [anon_sym_const] = ACTIONS(1144), + [anon_sym_constexpr] = ACTIONS(1144), + [anon_sym_volatile] = ACTIONS(1144), + [anon_sym_restrict] = ACTIONS(1144), + [anon_sym___restrict__] = ACTIONS(1144), + [anon_sym__Atomic] = ACTIONS(1144), + [anon_sym__Noreturn] = ACTIONS(1144), + [anon_sym_noreturn] = ACTIONS(1144), + [anon_sym_alignas] = ACTIONS(1144), + [anon_sym__Alignas] = ACTIONS(1144), + [sym_primitive_type] = ACTIONS(1144), + [anon_sym_enum] = ACTIONS(1144), + [anon_sym_struct] = ACTIONS(1144), + [anon_sym_union] = ACTIONS(1144), + [anon_sym_if] = ACTIONS(1144), + [anon_sym_else] = ACTIONS(1144), + [anon_sym_switch] = ACTIONS(1144), + [anon_sym_case] = ACTIONS(1144), + [anon_sym_default] = ACTIONS(1144), + [anon_sym_while] = ACTIONS(1144), + [anon_sym_do] = ACTIONS(1144), + [anon_sym_for] = ACTIONS(1144), + [anon_sym_return] = ACTIONS(1144), + [anon_sym_break] = ACTIONS(1144), + [anon_sym_continue] = ACTIONS(1144), + [anon_sym_goto] = ACTIONS(1144), + [anon_sym___try] = ACTIONS(1144), + [anon_sym___leave] = ACTIONS(1144), + [anon_sym_DASH_DASH] = ACTIONS(1146), + [anon_sym_PLUS_PLUS] = ACTIONS(1146), + [anon_sym_sizeof] = ACTIONS(1144), + [anon_sym___alignof__] = ACTIONS(1144), + [anon_sym___alignof] = ACTIONS(1144), + [anon_sym__alignof] = ACTIONS(1144), + [anon_sym_alignof] = ACTIONS(1144), + [anon_sym__Alignof] = ACTIONS(1144), + [anon_sym_offsetof] = ACTIONS(1144), + [anon_sym__Generic] = ACTIONS(1144), + [anon_sym_asm] = ACTIONS(1144), + [anon_sym___asm__] = ACTIONS(1144), + [sym__number_literal] = ACTIONS(1146), + [anon_sym_L_SQUOTE] = ACTIONS(1146), + [anon_sym_u_SQUOTE] = ACTIONS(1146), + [anon_sym_U_SQUOTE] = ACTIONS(1146), + [anon_sym_u8_SQUOTE] = ACTIONS(1146), + [anon_sym_SQUOTE] = ACTIONS(1146), + [anon_sym_L_DQUOTE] = ACTIONS(1146), + [anon_sym_u_DQUOTE] = ACTIONS(1146), + [anon_sym_U_DQUOTE] = ACTIONS(1146), + [anon_sym_u8_DQUOTE] = ACTIONS(1146), + [anon_sym_DQUOTE] = ACTIONS(1146), + [sym_true] = ACTIONS(1144), + [sym_false] = ACTIONS(1144), + [anon_sym_NULL] = ACTIONS(1144), + [anon_sym_nullptr] = ACTIONS(1144), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1146), + }, + [284] = { + [ts_builtin_sym_end] = ACTIONS(1118), + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [285] = { + [ts_builtin_sym_end] = ACTIONS(1118), + [sym__identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym___extension__] = ACTIONS(1116), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym___inline] = ACTIONS(1116), + [anon_sym___inline__] = ACTIONS(1116), + [anon_sym___forceinline] = ACTIONS(1116), + [anon_sym_thread_local] = ACTIONS(1116), + [anon_sym___thread] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_constexpr] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym___restrict__] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym__Noreturn] = ACTIONS(1116), + [anon_sym_noreturn] = ACTIONS(1116), + [anon_sym_alignas] = ACTIONS(1116), + [anon_sym__Alignas] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_else] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym___try] = ACTIONS(1116), + [anon_sym___leave] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [anon_sym___alignof__] = ACTIONS(1116), + [anon_sym___alignof] = ACTIONS(1116), + [anon_sym__alignof] = ACTIONS(1116), + [anon_sym_alignof] = ACTIONS(1116), + [anon_sym__Alignof] = ACTIONS(1116), + [anon_sym_offsetof] = ACTIONS(1116), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1116), + [anon_sym___asm__] = ACTIONS(1116), + [sym__number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [anon_sym_NULL] = ACTIONS(1116), + [anon_sym_nullptr] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1118), + }, + [286] = { + [sym__identifier] = ACTIONS(1152), + [aux_sym_preproc_include_token1] = ACTIONS(1152), + [aux_sym_preproc_def_token1] = ACTIONS(1152), + [aux_sym_preproc_if_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1152), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1152), + [sym_preproc_directive] = ACTIONS(1152), + [anon_sym_LPAREN2] = ACTIONS(1154), + [anon_sym_BANG] = ACTIONS(1154), + [anon_sym_TILDE] = ACTIONS(1154), + [anon_sym_DASH] = ACTIONS(1152), + [anon_sym_PLUS] = ACTIONS(1152), + [anon_sym_STAR] = ACTIONS(1154), + [anon_sym_AMP] = ACTIONS(1154), + [anon_sym_SEMI] = ACTIONS(1154), + [anon_sym___extension__] = ACTIONS(1152), + [anon_sym_typedef] = ACTIONS(1152), + [anon_sym_extern] = ACTIONS(1152), + [anon_sym___attribute__] = ACTIONS(1152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1154), + [anon_sym___declspec] = ACTIONS(1152), + [anon_sym___cdecl] = ACTIONS(1152), + [anon_sym___clrcall] = ACTIONS(1152), + [anon_sym___stdcall] = ACTIONS(1152), + [anon_sym___fastcall] = ACTIONS(1152), + [anon_sym___thiscall] = ACTIONS(1152), + [anon_sym___vectorcall] = ACTIONS(1152), + [anon_sym_LBRACE] = ACTIONS(1154), + [anon_sym_RBRACE] = ACTIONS(1154), + [anon_sym_signed] = ACTIONS(1152), + [anon_sym_unsigned] = ACTIONS(1152), + [anon_sym_long] = ACTIONS(1152), + [anon_sym_short] = ACTIONS(1152), + [anon_sym_static] = ACTIONS(1152), + [anon_sym_auto] = ACTIONS(1152), + [anon_sym_register] = ACTIONS(1152), + [anon_sym_inline] = ACTIONS(1152), + [anon_sym___inline] = ACTIONS(1152), + [anon_sym___inline__] = ACTIONS(1152), + [anon_sym___forceinline] = ACTIONS(1152), + [anon_sym_thread_local] = ACTIONS(1152), + [anon_sym___thread] = ACTIONS(1152), + [anon_sym_const] = ACTIONS(1152), + [anon_sym_constexpr] = ACTIONS(1152), + [anon_sym_volatile] = ACTIONS(1152), + [anon_sym_restrict] = ACTIONS(1152), + [anon_sym___restrict__] = ACTIONS(1152), + [anon_sym__Atomic] = ACTIONS(1152), + [anon_sym__Noreturn] = ACTIONS(1152), + [anon_sym_noreturn] = ACTIONS(1152), + [anon_sym_alignas] = ACTIONS(1152), + [anon_sym__Alignas] = ACTIONS(1152), + [sym_primitive_type] = ACTIONS(1152), + [anon_sym_enum] = ACTIONS(1152), + [anon_sym_struct] = ACTIONS(1152), + [anon_sym_union] = ACTIONS(1152), + [anon_sym_if] = ACTIONS(1152), + [anon_sym_else] = ACTIONS(1152), + [anon_sym_switch] = ACTIONS(1152), + [anon_sym_case] = ACTIONS(1152), + [anon_sym_default] = ACTIONS(1152), + [anon_sym_while] = ACTIONS(1152), + [anon_sym_do] = ACTIONS(1152), + [anon_sym_for] = ACTIONS(1152), + [anon_sym_return] = ACTIONS(1152), + [anon_sym_break] = ACTIONS(1152), + [anon_sym_continue] = ACTIONS(1152), + [anon_sym_goto] = ACTIONS(1152), + [anon_sym___try] = ACTIONS(1152), + [anon_sym___leave] = ACTIONS(1152), + [anon_sym_DASH_DASH] = ACTIONS(1154), + [anon_sym_PLUS_PLUS] = ACTIONS(1154), + [anon_sym_sizeof] = ACTIONS(1152), + [anon_sym___alignof__] = ACTIONS(1152), + [anon_sym___alignof] = ACTIONS(1152), + [anon_sym__alignof] = ACTIONS(1152), + [anon_sym_alignof] = ACTIONS(1152), + [anon_sym__Alignof] = ACTIONS(1152), + [anon_sym_offsetof] = ACTIONS(1152), + [anon_sym__Generic] = ACTIONS(1152), + [anon_sym_asm] = ACTIONS(1152), + [anon_sym___asm__] = ACTIONS(1152), + [sym__number_literal] = ACTIONS(1154), + [anon_sym_L_SQUOTE] = ACTIONS(1154), + [anon_sym_u_SQUOTE] = ACTIONS(1154), + [anon_sym_U_SQUOTE] = ACTIONS(1154), + [anon_sym_u8_SQUOTE] = ACTIONS(1154), + [anon_sym_SQUOTE] = ACTIONS(1154), + [anon_sym_L_DQUOTE] = ACTIONS(1154), + [anon_sym_u_DQUOTE] = ACTIONS(1154), + [anon_sym_U_DQUOTE] = ACTIONS(1154), + [anon_sym_u8_DQUOTE] = ACTIONS(1154), + [anon_sym_DQUOTE] = ACTIONS(1154), + [sym_true] = ACTIONS(1152), + [sym_false] = ACTIONS(1152), + [anon_sym_NULL] = ACTIONS(1152), + [anon_sym_nullptr] = ACTIONS(1152), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1154), + }, + [287] = { + [ts_builtin_sym_end] = ACTIONS(1150), + [sym__identifier] = ACTIONS(1148), + [aux_sym_preproc_include_token1] = ACTIONS(1148), + [aux_sym_preproc_def_token1] = ACTIONS(1148), + [aux_sym_preproc_if_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1148), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1148), + [sym_preproc_directive] = ACTIONS(1148), + [anon_sym_LPAREN2] = ACTIONS(1150), + [anon_sym_BANG] = ACTIONS(1150), + [anon_sym_TILDE] = ACTIONS(1150), + [anon_sym_DASH] = ACTIONS(1148), + [anon_sym_PLUS] = ACTIONS(1148), + [anon_sym_STAR] = ACTIONS(1150), + [anon_sym_AMP] = ACTIONS(1150), + [anon_sym_SEMI] = ACTIONS(1150), + [anon_sym___extension__] = ACTIONS(1148), + [anon_sym_typedef] = ACTIONS(1148), + [anon_sym_extern] = ACTIONS(1148), + [anon_sym___attribute__] = ACTIONS(1148), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1150), + [anon_sym___declspec] = ACTIONS(1148), + [anon_sym___cdecl] = ACTIONS(1148), + [anon_sym___clrcall] = ACTIONS(1148), + [anon_sym___stdcall] = ACTIONS(1148), + [anon_sym___fastcall] = ACTIONS(1148), + [anon_sym___thiscall] = ACTIONS(1148), + [anon_sym___vectorcall] = ACTIONS(1148), + [anon_sym_LBRACE] = ACTIONS(1150), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [anon_sym_static] = ACTIONS(1148), + [anon_sym_auto] = ACTIONS(1148), + [anon_sym_register] = ACTIONS(1148), + [anon_sym_inline] = ACTIONS(1148), + [anon_sym___inline] = ACTIONS(1148), + [anon_sym___inline__] = ACTIONS(1148), + [anon_sym___forceinline] = ACTIONS(1148), + [anon_sym_thread_local] = ACTIONS(1148), + [anon_sym___thread] = ACTIONS(1148), + [anon_sym_const] = ACTIONS(1148), + [anon_sym_constexpr] = ACTIONS(1148), + [anon_sym_volatile] = ACTIONS(1148), + [anon_sym_restrict] = ACTIONS(1148), + [anon_sym___restrict__] = ACTIONS(1148), + [anon_sym__Atomic] = ACTIONS(1148), + [anon_sym__Noreturn] = ACTIONS(1148), + [anon_sym_noreturn] = ACTIONS(1148), + [anon_sym_alignas] = ACTIONS(1148), + [anon_sym__Alignas] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(1148), + [anon_sym_enum] = ACTIONS(1148), + [anon_sym_struct] = ACTIONS(1148), + [anon_sym_union] = ACTIONS(1148), + [anon_sym_if] = ACTIONS(1148), + [anon_sym_else] = ACTIONS(1148), + [anon_sym_switch] = ACTIONS(1148), + [anon_sym_case] = ACTIONS(1148), + [anon_sym_default] = ACTIONS(1148), + [anon_sym_while] = ACTIONS(1148), + [anon_sym_do] = ACTIONS(1148), + [anon_sym_for] = ACTIONS(1148), + [anon_sym_return] = ACTIONS(1148), + [anon_sym_break] = ACTIONS(1148), + [anon_sym_continue] = ACTIONS(1148), + [anon_sym_goto] = ACTIONS(1148), + [anon_sym___try] = ACTIONS(1148), + [anon_sym___leave] = ACTIONS(1148), + [anon_sym_DASH_DASH] = ACTIONS(1150), + [anon_sym_PLUS_PLUS] = ACTIONS(1150), + [anon_sym_sizeof] = ACTIONS(1148), + [anon_sym___alignof__] = ACTIONS(1148), + [anon_sym___alignof] = ACTIONS(1148), + [anon_sym__alignof] = ACTIONS(1148), + [anon_sym_alignof] = ACTIONS(1148), + [anon_sym__Alignof] = ACTIONS(1148), + [anon_sym_offsetof] = ACTIONS(1148), + [anon_sym__Generic] = ACTIONS(1148), + [anon_sym_asm] = ACTIONS(1148), + [anon_sym___asm__] = ACTIONS(1148), + [sym__number_literal] = ACTIONS(1150), + [anon_sym_L_SQUOTE] = ACTIONS(1150), + [anon_sym_u_SQUOTE] = ACTIONS(1150), + [anon_sym_U_SQUOTE] = ACTIONS(1150), + [anon_sym_u8_SQUOTE] = ACTIONS(1150), + [anon_sym_SQUOTE] = ACTIONS(1150), + [anon_sym_L_DQUOTE] = ACTIONS(1150), + [anon_sym_u_DQUOTE] = ACTIONS(1150), + [anon_sym_U_DQUOTE] = ACTIONS(1150), + [anon_sym_u8_DQUOTE] = ACTIONS(1150), + [anon_sym_DQUOTE] = ACTIONS(1150), + [sym_true] = ACTIONS(1148), + [sym_false] = ACTIONS(1148), + [anon_sym_NULL] = ACTIONS(1148), + [anon_sym_nullptr] = ACTIONS(1148), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1150), + }, + [288] = { + [sym__identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym___extension__] = ACTIONS(1112), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_RBRACE] = ACTIONS(1114), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym___inline] = ACTIONS(1112), + [anon_sym___inline__] = ACTIONS(1112), + [anon_sym___forceinline] = ACTIONS(1112), + [anon_sym_thread_local] = ACTIONS(1112), + [anon_sym___thread] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_constexpr] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym___restrict__] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym__Noreturn] = ACTIONS(1112), + [anon_sym_noreturn] = ACTIONS(1112), + [anon_sym_alignas] = ACTIONS(1112), + [anon_sym__Alignas] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_else] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym___try] = ACTIONS(1112), + [anon_sym___leave] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [anon_sym___alignof__] = ACTIONS(1112), + [anon_sym___alignof] = ACTIONS(1112), + [anon_sym__alignof] = ACTIONS(1112), + [anon_sym_alignof] = ACTIONS(1112), + [anon_sym__Alignof] = ACTIONS(1112), + [anon_sym_offsetof] = ACTIONS(1112), + [anon_sym__Generic] = ACTIONS(1112), + [anon_sym_asm] = ACTIONS(1112), + [anon_sym___asm__] = ACTIONS(1112), + [sym__number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [anon_sym_NULL] = ACTIONS(1112), + [anon_sym_nullptr] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1114), + }, + [289] = { + [ts_builtin_sym_end] = ACTIONS(1214), + [sym__identifier] = ACTIONS(1212), + [aux_sym_preproc_include_token1] = ACTIONS(1212), + [aux_sym_preproc_def_token1] = ACTIONS(1212), + [aux_sym_preproc_if_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1212), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1212), + [sym_preproc_directive] = ACTIONS(1212), + [anon_sym_LPAREN2] = ACTIONS(1214), + [anon_sym_BANG] = ACTIONS(1214), + [anon_sym_TILDE] = ACTIONS(1214), + [anon_sym_DASH] = ACTIONS(1212), + [anon_sym_PLUS] = ACTIONS(1212), + [anon_sym_STAR] = ACTIONS(1214), + [anon_sym_AMP] = ACTIONS(1214), + [anon_sym_SEMI] = ACTIONS(1214), + [anon_sym___extension__] = ACTIONS(1212), + [anon_sym_typedef] = ACTIONS(1212), + [anon_sym_extern] = ACTIONS(1212), + [anon_sym___attribute__] = ACTIONS(1212), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1214), + [anon_sym___declspec] = ACTIONS(1212), + [anon_sym___cdecl] = ACTIONS(1212), + [anon_sym___clrcall] = ACTIONS(1212), + [anon_sym___stdcall] = ACTIONS(1212), + [anon_sym___fastcall] = ACTIONS(1212), + [anon_sym___thiscall] = ACTIONS(1212), + [anon_sym___vectorcall] = ACTIONS(1212), + [anon_sym_LBRACE] = ACTIONS(1214), + [anon_sym_signed] = ACTIONS(1212), + [anon_sym_unsigned] = ACTIONS(1212), + [anon_sym_long] = ACTIONS(1212), + [anon_sym_short] = ACTIONS(1212), + [anon_sym_static] = ACTIONS(1212), + [anon_sym_auto] = ACTIONS(1212), + [anon_sym_register] = ACTIONS(1212), + [anon_sym_inline] = ACTIONS(1212), + [anon_sym___inline] = ACTIONS(1212), + [anon_sym___inline__] = ACTIONS(1212), + [anon_sym___forceinline] = ACTIONS(1212), + [anon_sym_thread_local] = ACTIONS(1212), + [anon_sym___thread] = ACTIONS(1212), + [anon_sym_const] = ACTIONS(1212), + [anon_sym_constexpr] = ACTIONS(1212), + [anon_sym_volatile] = ACTIONS(1212), + [anon_sym_restrict] = ACTIONS(1212), + [anon_sym___restrict__] = ACTIONS(1212), + [anon_sym__Atomic] = ACTIONS(1212), + [anon_sym__Noreturn] = ACTIONS(1212), + [anon_sym_noreturn] = ACTIONS(1212), + [anon_sym_alignas] = ACTIONS(1212), + [anon_sym__Alignas] = ACTIONS(1212), + [sym_primitive_type] = ACTIONS(1212), + [anon_sym_enum] = ACTIONS(1212), + [anon_sym_struct] = ACTIONS(1212), + [anon_sym_union] = ACTIONS(1212), + [anon_sym_if] = ACTIONS(1212), + [anon_sym_else] = ACTIONS(1212), + [anon_sym_switch] = ACTIONS(1212), + [anon_sym_case] = ACTIONS(1212), + [anon_sym_default] = ACTIONS(1212), + [anon_sym_while] = ACTIONS(1212), + [anon_sym_do] = ACTIONS(1212), + [anon_sym_for] = ACTIONS(1212), + [anon_sym_return] = ACTIONS(1212), + [anon_sym_break] = ACTIONS(1212), + [anon_sym_continue] = ACTIONS(1212), + [anon_sym_goto] = ACTIONS(1212), + [anon_sym___try] = ACTIONS(1212), + [anon_sym___leave] = ACTIONS(1212), + [anon_sym_DASH_DASH] = ACTIONS(1214), + [anon_sym_PLUS_PLUS] = ACTIONS(1214), + [anon_sym_sizeof] = ACTIONS(1212), + [anon_sym___alignof__] = ACTIONS(1212), + [anon_sym___alignof] = ACTIONS(1212), + [anon_sym__alignof] = ACTIONS(1212), + [anon_sym_alignof] = ACTIONS(1212), + [anon_sym__Alignof] = ACTIONS(1212), + [anon_sym_offsetof] = ACTIONS(1212), + [anon_sym__Generic] = ACTIONS(1212), + [anon_sym_asm] = ACTIONS(1212), + [anon_sym___asm__] = ACTIONS(1212), + [sym__number_literal] = ACTIONS(1214), + [anon_sym_L_SQUOTE] = ACTIONS(1214), + [anon_sym_u_SQUOTE] = ACTIONS(1214), + [anon_sym_U_SQUOTE] = ACTIONS(1214), + [anon_sym_u8_SQUOTE] = ACTIONS(1214), + [anon_sym_SQUOTE] = ACTIONS(1214), + [anon_sym_L_DQUOTE] = ACTIONS(1214), + [anon_sym_u_DQUOTE] = ACTIONS(1214), + [anon_sym_U_DQUOTE] = ACTIONS(1214), + [anon_sym_u8_DQUOTE] = ACTIONS(1214), + [anon_sym_DQUOTE] = ACTIONS(1214), + [sym_true] = ACTIONS(1212), + [sym_false] = ACTIONS(1212), + [anon_sym_NULL] = ACTIONS(1212), + [anon_sym_nullptr] = ACTIONS(1212), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1214), + }, + [290] = { + [ts_builtin_sym_end] = ACTIONS(1210), + [sym__identifier] = ACTIONS(1208), + [aux_sym_preproc_include_token1] = ACTIONS(1208), + [aux_sym_preproc_def_token1] = ACTIONS(1208), + [aux_sym_preproc_if_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1208), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1208), + [sym_preproc_directive] = ACTIONS(1208), + [anon_sym_LPAREN2] = ACTIONS(1210), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1208), + [anon_sym_PLUS] = ACTIONS(1208), + [anon_sym_STAR] = ACTIONS(1210), + [anon_sym_AMP] = ACTIONS(1210), + [anon_sym_SEMI] = ACTIONS(1210), + [anon_sym___extension__] = ACTIONS(1208), + [anon_sym_typedef] = ACTIONS(1208), + [anon_sym_extern] = ACTIONS(1208), + [anon_sym___attribute__] = ACTIONS(1208), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1210), + [anon_sym___declspec] = ACTIONS(1208), + [anon_sym___cdecl] = ACTIONS(1208), + [anon_sym___clrcall] = ACTIONS(1208), + [anon_sym___stdcall] = ACTIONS(1208), + [anon_sym___fastcall] = ACTIONS(1208), + [anon_sym___thiscall] = ACTIONS(1208), + [anon_sym___vectorcall] = ACTIONS(1208), + [anon_sym_LBRACE] = ACTIONS(1210), + [anon_sym_signed] = ACTIONS(1208), + [anon_sym_unsigned] = ACTIONS(1208), + [anon_sym_long] = ACTIONS(1208), + [anon_sym_short] = ACTIONS(1208), + [anon_sym_static] = ACTIONS(1208), + [anon_sym_auto] = ACTIONS(1208), + [anon_sym_register] = ACTIONS(1208), + [anon_sym_inline] = ACTIONS(1208), + [anon_sym___inline] = ACTIONS(1208), + [anon_sym___inline__] = ACTIONS(1208), + [anon_sym___forceinline] = ACTIONS(1208), + [anon_sym_thread_local] = ACTIONS(1208), + [anon_sym___thread] = ACTIONS(1208), + [anon_sym_const] = ACTIONS(1208), + [anon_sym_constexpr] = ACTIONS(1208), + [anon_sym_volatile] = ACTIONS(1208), + [anon_sym_restrict] = ACTIONS(1208), + [anon_sym___restrict__] = ACTIONS(1208), + [anon_sym__Atomic] = ACTIONS(1208), + [anon_sym__Noreturn] = ACTIONS(1208), + [anon_sym_noreturn] = ACTIONS(1208), + [anon_sym_alignas] = ACTIONS(1208), + [anon_sym__Alignas] = ACTIONS(1208), + [sym_primitive_type] = ACTIONS(1208), + [anon_sym_enum] = ACTIONS(1208), + [anon_sym_struct] = ACTIONS(1208), + [anon_sym_union] = ACTIONS(1208), + [anon_sym_if] = ACTIONS(1208), + [anon_sym_else] = ACTIONS(1208), + [anon_sym_switch] = ACTIONS(1208), + [anon_sym_case] = ACTIONS(1208), + [anon_sym_default] = ACTIONS(1208), + [anon_sym_while] = ACTIONS(1208), + [anon_sym_do] = ACTIONS(1208), + [anon_sym_for] = ACTIONS(1208), + [anon_sym_return] = ACTIONS(1208), + [anon_sym_break] = ACTIONS(1208), + [anon_sym_continue] = ACTIONS(1208), + [anon_sym_goto] = ACTIONS(1208), + [anon_sym___try] = ACTIONS(1208), + [anon_sym___leave] = ACTIONS(1208), + [anon_sym_DASH_DASH] = ACTIONS(1210), + [anon_sym_PLUS_PLUS] = ACTIONS(1210), + [anon_sym_sizeof] = ACTIONS(1208), + [anon_sym___alignof__] = ACTIONS(1208), + [anon_sym___alignof] = ACTIONS(1208), + [anon_sym__alignof] = ACTIONS(1208), + [anon_sym_alignof] = ACTIONS(1208), + [anon_sym__Alignof] = ACTIONS(1208), + [anon_sym_offsetof] = ACTIONS(1208), + [anon_sym__Generic] = ACTIONS(1208), + [anon_sym_asm] = ACTIONS(1208), + [anon_sym___asm__] = ACTIONS(1208), + [sym__number_literal] = ACTIONS(1210), + [anon_sym_L_SQUOTE] = ACTIONS(1210), + [anon_sym_u_SQUOTE] = ACTIONS(1210), + [anon_sym_U_SQUOTE] = ACTIONS(1210), + [anon_sym_u8_SQUOTE] = ACTIONS(1210), + [anon_sym_SQUOTE] = ACTIONS(1210), + [anon_sym_L_DQUOTE] = ACTIONS(1210), + [anon_sym_u_DQUOTE] = ACTIONS(1210), + [anon_sym_U_DQUOTE] = ACTIONS(1210), + [anon_sym_u8_DQUOTE] = ACTIONS(1210), + [anon_sym_DQUOTE] = ACTIONS(1210), + [sym_true] = ACTIONS(1208), + [sym_false] = ACTIONS(1208), + [anon_sym_NULL] = ACTIONS(1208), + [anon_sym_nullptr] = ACTIONS(1208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1210), + }, + [291] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_RBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [292] = { + [sym__identifier] = ACTIONS(1192), + [aux_sym_preproc_include_token1] = ACTIONS(1192), + [aux_sym_preproc_def_token1] = ACTIONS(1192), + [aux_sym_preproc_if_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1192), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1192), + [sym_preproc_directive] = ACTIONS(1192), + [anon_sym_LPAREN2] = ACTIONS(1194), + [anon_sym_BANG] = ACTIONS(1194), + [anon_sym_TILDE] = ACTIONS(1194), + [anon_sym_DASH] = ACTIONS(1192), + [anon_sym_PLUS] = ACTIONS(1192), + [anon_sym_STAR] = ACTIONS(1194), + [anon_sym_AMP] = ACTIONS(1194), + [anon_sym_SEMI] = ACTIONS(1194), + [anon_sym___extension__] = ACTIONS(1192), + [anon_sym_typedef] = ACTIONS(1192), + [anon_sym_extern] = ACTIONS(1192), + [anon_sym___attribute__] = ACTIONS(1192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1194), + [anon_sym___declspec] = ACTIONS(1192), + [anon_sym___cdecl] = ACTIONS(1192), + [anon_sym___clrcall] = ACTIONS(1192), + [anon_sym___stdcall] = ACTIONS(1192), + [anon_sym___fastcall] = ACTIONS(1192), + [anon_sym___thiscall] = ACTIONS(1192), + [anon_sym___vectorcall] = ACTIONS(1192), + [anon_sym_LBRACE] = ACTIONS(1194), + [anon_sym_RBRACE] = ACTIONS(1194), + [anon_sym_signed] = ACTIONS(1192), + [anon_sym_unsigned] = ACTIONS(1192), + [anon_sym_long] = ACTIONS(1192), + [anon_sym_short] = ACTIONS(1192), + [anon_sym_static] = ACTIONS(1192), + [anon_sym_auto] = ACTIONS(1192), + [anon_sym_register] = ACTIONS(1192), + [anon_sym_inline] = ACTIONS(1192), + [anon_sym___inline] = ACTIONS(1192), + [anon_sym___inline__] = ACTIONS(1192), + [anon_sym___forceinline] = ACTIONS(1192), + [anon_sym_thread_local] = ACTIONS(1192), + [anon_sym___thread] = ACTIONS(1192), + [anon_sym_const] = ACTIONS(1192), + [anon_sym_constexpr] = ACTIONS(1192), + [anon_sym_volatile] = ACTIONS(1192), + [anon_sym_restrict] = ACTIONS(1192), + [anon_sym___restrict__] = ACTIONS(1192), + [anon_sym__Atomic] = ACTIONS(1192), + [anon_sym__Noreturn] = ACTIONS(1192), + [anon_sym_noreturn] = ACTIONS(1192), + [anon_sym_alignas] = ACTIONS(1192), + [anon_sym__Alignas] = ACTIONS(1192), + [sym_primitive_type] = ACTIONS(1192), + [anon_sym_enum] = ACTIONS(1192), + [anon_sym_struct] = ACTIONS(1192), + [anon_sym_union] = ACTIONS(1192), + [anon_sym_if] = ACTIONS(1192), + [anon_sym_else] = ACTIONS(1192), + [anon_sym_switch] = ACTIONS(1192), + [anon_sym_case] = ACTIONS(1192), + [anon_sym_default] = ACTIONS(1192), + [anon_sym_while] = ACTIONS(1192), + [anon_sym_do] = ACTIONS(1192), + [anon_sym_for] = ACTIONS(1192), + [anon_sym_return] = ACTIONS(1192), + [anon_sym_break] = ACTIONS(1192), + [anon_sym_continue] = ACTIONS(1192), + [anon_sym_goto] = ACTIONS(1192), + [anon_sym___try] = ACTIONS(1192), + [anon_sym___leave] = ACTIONS(1192), + [anon_sym_DASH_DASH] = ACTIONS(1194), + [anon_sym_PLUS_PLUS] = ACTIONS(1194), + [anon_sym_sizeof] = ACTIONS(1192), + [anon_sym___alignof__] = ACTIONS(1192), + [anon_sym___alignof] = ACTIONS(1192), + [anon_sym__alignof] = ACTIONS(1192), + [anon_sym_alignof] = ACTIONS(1192), + [anon_sym__Alignof] = ACTIONS(1192), + [anon_sym_offsetof] = ACTIONS(1192), + [anon_sym__Generic] = ACTIONS(1192), + [anon_sym_asm] = ACTIONS(1192), + [anon_sym___asm__] = ACTIONS(1192), + [sym__number_literal] = ACTIONS(1194), + [anon_sym_L_SQUOTE] = ACTIONS(1194), + [anon_sym_u_SQUOTE] = ACTIONS(1194), + [anon_sym_U_SQUOTE] = ACTIONS(1194), + [anon_sym_u8_SQUOTE] = ACTIONS(1194), + [anon_sym_SQUOTE] = ACTIONS(1194), + [anon_sym_L_DQUOTE] = ACTIONS(1194), + [anon_sym_u_DQUOTE] = ACTIONS(1194), + [anon_sym_U_DQUOTE] = ACTIONS(1194), + [anon_sym_u8_DQUOTE] = ACTIONS(1194), + [anon_sym_DQUOTE] = ACTIONS(1194), + [sym_true] = ACTIONS(1192), + [sym_false] = ACTIONS(1192), + [anon_sym_NULL] = ACTIONS(1192), + [anon_sym_nullptr] = ACTIONS(1192), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1194), + }, + [293] = { + [sym__identifier] = ACTIONS(1180), + [aux_sym_preproc_include_token1] = ACTIONS(1180), + [aux_sym_preproc_def_token1] = ACTIONS(1180), + [aux_sym_preproc_if_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1180), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1180), + [sym_preproc_directive] = ACTIONS(1180), + [anon_sym_LPAREN2] = ACTIONS(1182), + [anon_sym_BANG] = ACTIONS(1182), + [anon_sym_TILDE] = ACTIONS(1182), + [anon_sym_DASH] = ACTIONS(1180), + [anon_sym_PLUS] = ACTIONS(1180), + [anon_sym_STAR] = ACTIONS(1182), + [anon_sym_AMP] = ACTIONS(1182), + [anon_sym_SEMI] = ACTIONS(1182), + [anon_sym___extension__] = ACTIONS(1180), + [anon_sym_typedef] = ACTIONS(1180), + [anon_sym_extern] = ACTIONS(1180), + [anon_sym___attribute__] = ACTIONS(1180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1182), + [anon_sym___declspec] = ACTIONS(1180), + [anon_sym___cdecl] = ACTIONS(1180), + [anon_sym___clrcall] = ACTIONS(1180), + [anon_sym___stdcall] = ACTIONS(1180), + [anon_sym___fastcall] = ACTIONS(1180), + [anon_sym___thiscall] = ACTIONS(1180), + [anon_sym___vectorcall] = ACTIONS(1180), + [anon_sym_LBRACE] = ACTIONS(1182), + [anon_sym_RBRACE] = ACTIONS(1182), + [anon_sym_signed] = ACTIONS(1180), + [anon_sym_unsigned] = ACTIONS(1180), + [anon_sym_long] = ACTIONS(1180), + [anon_sym_short] = ACTIONS(1180), + [anon_sym_static] = ACTIONS(1180), + [anon_sym_auto] = ACTIONS(1180), + [anon_sym_register] = ACTIONS(1180), + [anon_sym_inline] = ACTIONS(1180), + [anon_sym___inline] = ACTIONS(1180), + [anon_sym___inline__] = ACTIONS(1180), + [anon_sym___forceinline] = ACTIONS(1180), + [anon_sym_thread_local] = ACTIONS(1180), + [anon_sym___thread] = ACTIONS(1180), + [anon_sym_const] = ACTIONS(1180), + [anon_sym_constexpr] = ACTIONS(1180), + [anon_sym_volatile] = ACTIONS(1180), + [anon_sym_restrict] = ACTIONS(1180), + [anon_sym___restrict__] = ACTIONS(1180), + [anon_sym__Atomic] = ACTIONS(1180), + [anon_sym__Noreturn] = ACTIONS(1180), + [anon_sym_noreturn] = ACTIONS(1180), + [anon_sym_alignas] = ACTIONS(1180), + [anon_sym__Alignas] = ACTIONS(1180), + [sym_primitive_type] = ACTIONS(1180), + [anon_sym_enum] = ACTIONS(1180), + [anon_sym_struct] = ACTIONS(1180), + [anon_sym_union] = ACTIONS(1180), + [anon_sym_if] = ACTIONS(1180), + [anon_sym_else] = ACTIONS(1180), + [anon_sym_switch] = ACTIONS(1180), + [anon_sym_case] = ACTIONS(1180), + [anon_sym_default] = ACTIONS(1180), + [anon_sym_while] = ACTIONS(1180), + [anon_sym_do] = ACTIONS(1180), + [anon_sym_for] = ACTIONS(1180), + [anon_sym_return] = ACTIONS(1180), + [anon_sym_break] = ACTIONS(1180), + [anon_sym_continue] = ACTIONS(1180), + [anon_sym_goto] = ACTIONS(1180), + [anon_sym___try] = ACTIONS(1180), + [anon_sym___leave] = ACTIONS(1180), + [anon_sym_DASH_DASH] = ACTIONS(1182), + [anon_sym_PLUS_PLUS] = ACTIONS(1182), + [anon_sym_sizeof] = ACTIONS(1180), + [anon_sym___alignof__] = ACTIONS(1180), + [anon_sym___alignof] = ACTIONS(1180), + [anon_sym__alignof] = ACTIONS(1180), + [anon_sym_alignof] = ACTIONS(1180), + [anon_sym__Alignof] = ACTIONS(1180), + [anon_sym_offsetof] = ACTIONS(1180), + [anon_sym__Generic] = ACTIONS(1180), + [anon_sym_asm] = ACTIONS(1180), + [anon_sym___asm__] = ACTIONS(1180), + [sym__number_literal] = ACTIONS(1182), + [anon_sym_L_SQUOTE] = ACTIONS(1182), + [anon_sym_u_SQUOTE] = ACTIONS(1182), + [anon_sym_U_SQUOTE] = ACTIONS(1182), + [anon_sym_u8_SQUOTE] = ACTIONS(1182), + [anon_sym_SQUOTE] = ACTIONS(1182), + [anon_sym_L_DQUOTE] = ACTIONS(1182), + [anon_sym_u_DQUOTE] = ACTIONS(1182), + [anon_sym_U_DQUOTE] = ACTIONS(1182), + [anon_sym_u8_DQUOTE] = ACTIONS(1182), + [anon_sym_DQUOTE] = ACTIONS(1182), + [sym_true] = ACTIONS(1180), + [sym_false] = ACTIONS(1180), + [anon_sym_NULL] = ACTIONS(1180), + [anon_sym_nullptr] = ACTIONS(1180), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1182), + }, + [294] = { + [sym__identifier] = ACTIONS(1264), + [aux_sym_preproc_include_token1] = ACTIONS(1264), + [aux_sym_preproc_def_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1264), + [sym_preproc_directive] = ACTIONS(1264), + [anon_sym_LPAREN2] = ACTIONS(1266), + [anon_sym_BANG] = ACTIONS(1266), + [anon_sym_TILDE] = ACTIONS(1266), + [anon_sym_DASH] = ACTIONS(1264), + [anon_sym_PLUS] = ACTIONS(1264), + [anon_sym_STAR] = ACTIONS(1266), + [anon_sym_AMP] = ACTIONS(1266), + [anon_sym_SEMI] = ACTIONS(1266), + [anon_sym___extension__] = ACTIONS(1264), + [anon_sym_typedef] = ACTIONS(1264), + [anon_sym_extern] = ACTIONS(1264), + [anon_sym___attribute__] = ACTIONS(1264), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1266), + [anon_sym___declspec] = ACTIONS(1264), + [anon_sym___cdecl] = ACTIONS(1264), + [anon_sym___clrcall] = ACTIONS(1264), + [anon_sym___stdcall] = ACTIONS(1264), + [anon_sym___fastcall] = ACTIONS(1264), + [anon_sym___thiscall] = ACTIONS(1264), + [anon_sym___vectorcall] = ACTIONS(1264), + [anon_sym_LBRACE] = ACTIONS(1266), + [anon_sym_RBRACE] = ACTIONS(1266), + [anon_sym_signed] = ACTIONS(1264), + [anon_sym_unsigned] = ACTIONS(1264), + [anon_sym_long] = ACTIONS(1264), + [anon_sym_short] = ACTIONS(1264), + [anon_sym_static] = ACTIONS(1264), + [anon_sym_auto] = ACTIONS(1264), + [anon_sym_register] = ACTIONS(1264), + [anon_sym_inline] = ACTIONS(1264), + [anon_sym___inline] = ACTIONS(1264), + [anon_sym___inline__] = ACTIONS(1264), + [anon_sym___forceinline] = ACTIONS(1264), + [anon_sym_thread_local] = ACTIONS(1264), + [anon_sym___thread] = ACTIONS(1264), + [anon_sym_const] = ACTIONS(1264), + [anon_sym_constexpr] = ACTIONS(1264), + [anon_sym_volatile] = ACTIONS(1264), + [anon_sym_restrict] = ACTIONS(1264), + [anon_sym___restrict__] = ACTIONS(1264), + [anon_sym__Atomic] = ACTIONS(1264), + [anon_sym__Noreturn] = ACTIONS(1264), + [anon_sym_noreturn] = ACTIONS(1264), + [anon_sym_alignas] = ACTIONS(1264), + [anon_sym__Alignas] = ACTIONS(1264), + [sym_primitive_type] = ACTIONS(1264), + [anon_sym_enum] = ACTIONS(1264), + [anon_sym_struct] = ACTIONS(1264), + [anon_sym_union] = ACTIONS(1264), + [anon_sym_if] = ACTIONS(1264), + [anon_sym_switch] = ACTIONS(1264), + [anon_sym_case] = ACTIONS(1264), + [anon_sym_default] = ACTIONS(1264), + [anon_sym_while] = ACTIONS(1264), + [anon_sym_do] = ACTIONS(1264), + [anon_sym_for] = ACTIONS(1264), + [anon_sym_return] = ACTIONS(1264), + [anon_sym_break] = ACTIONS(1264), + [anon_sym_continue] = ACTIONS(1264), + [anon_sym_goto] = ACTIONS(1264), + [anon_sym___try] = ACTIONS(1264), + [anon_sym___leave] = ACTIONS(1264), + [anon_sym_DASH_DASH] = ACTIONS(1266), + [anon_sym_PLUS_PLUS] = ACTIONS(1266), + [anon_sym_sizeof] = ACTIONS(1264), + [anon_sym___alignof__] = ACTIONS(1264), + [anon_sym___alignof] = ACTIONS(1264), + [anon_sym__alignof] = ACTIONS(1264), + [anon_sym_alignof] = ACTIONS(1264), + [anon_sym__Alignof] = ACTIONS(1264), + [anon_sym_offsetof] = ACTIONS(1264), + [anon_sym__Generic] = ACTIONS(1264), + [anon_sym_asm] = ACTIONS(1264), + [anon_sym___asm__] = ACTIONS(1264), + [sym__number_literal] = ACTIONS(1266), + [anon_sym_L_SQUOTE] = ACTIONS(1266), + [anon_sym_u_SQUOTE] = ACTIONS(1266), + [anon_sym_U_SQUOTE] = ACTIONS(1266), + [anon_sym_u8_SQUOTE] = ACTIONS(1266), + [anon_sym_SQUOTE] = ACTIONS(1266), + [anon_sym_L_DQUOTE] = ACTIONS(1266), + [anon_sym_u_DQUOTE] = ACTIONS(1266), + [anon_sym_U_DQUOTE] = ACTIONS(1266), + [anon_sym_u8_DQUOTE] = ACTIONS(1266), + [anon_sym_DQUOTE] = ACTIONS(1266), + [sym_true] = ACTIONS(1264), + [sym_false] = ACTIONS(1264), + [anon_sym_NULL] = ACTIONS(1264), + [anon_sym_nullptr] = ACTIONS(1264), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1266), + }, + [295] = { + [sym__identifier] = ACTIONS(1322), + [aux_sym_preproc_include_token1] = ACTIONS(1322), + [aux_sym_preproc_def_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token2] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1322), + [sym_preproc_directive] = ACTIONS(1322), + [anon_sym_LPAREN2] = ACTIONS(1324), + [anon_sym_BANG] = ACTIONS(1324), + [anon_sym_TILDE] = ACTIONS(1324), + [anon_sym_DASH] = ACTIONS(1322), + [anon_sym_PLUS] = ACTIONS(1322), + [anon_sym_STAR] = ACTIONS(1324), + [anon_sym_AMP] = ACTIONS(1324), + [anon_sym_SEMI] = ACTIONS(1324), + [anon_sym___extension__] = ACTIONS(1322), + [anon_sym_typedef] = ACTIONS(1322), + [anon_sym_extern] = ACTIONS(1322), + [anon_sym___attribute__] = ACTIONS(1322), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1324), + [anon_sym___declspec] = ACTIONS(1322), + [anon_sym___cdecl] = ACTIONS(1322), + [anon_sym___clrcall] = ACTIONS(1322), + [anon_sym___stdcall] = ACTIONS(1322), + [anon_sym___fastcall] = ACTIONS(1322), + [anon_sym___thiscall] = ACTIONS(1322), + [anon_sym___vectorcall] = ACTIONS(1322), + [anon_sym_LBRACE] = ACTIONS(1324), + [anon_sym_signed] = ACTIONS(1322), + [anon_sym_unsigned] = ACTIONS(1322), + [anon_sym_long] = ACTIONS(1322), + [anon_sym_short] = ACTIONS(1322), + [anon_sym_static] = ACTIONS(1322), + [anon_sym_auto] = ACTIONS(1322), + [anon_sym_register] = ACTIONS(1322), + [anon_sym_inline] = ACTIONS(1322), + [anon_sym___inline] = ACTIONS(1322), + [anon_sym___inline__] = ACTIONS(1322), + [anon_sym___forceinline] = ACTIONS(1322), + [anon_sym_thread_local] = ACTIONS(1322), + [anon_sym___thread] = ACTIONS(1322), + [anon_sym_const] = ACTIONS(1322), + [anon_sym_constexpr] = ACTIONS(1322), + [anon_sym_volatile] = ACTIONS(1322), + [anon_sym_restrict] = ACTIONS(1322), + [anon_sym___restrict__] = ACTIONS(1322), + [anon_sym__Atomic] = ACTIONS(1322), + [anon_sym__Noreturn] = ACTIONS(1322), + [anon_sym_noreturn] = ACTIONS(1322), + [anon_sym_alignas] = ACTIONS(1322), + [anon_sym__Alignas] = ACTIONS(1322), + [sym_primitive_type] = ACTIONS(1322), + [anon_sym_enum] = ACTIONS(1322), + [anon_sym_struct] = ACTIONS(1322), + [anon_sym_union] = ACTIONS(1322), + [anon_sym_if] = ACTIONS(1322), + [anon_sym_switch] = ACTIONS(1322), + [anon_sym_case] = ACTIONS(1322), + [anon_sym_default] = ACTIONS(1322), + [anon_sym_while] = ACTIONS(1322), + [anon_sym_do] = ACTIONS(1322), + [anon_sym_for] = ACTIONS(1322), + [anon_sym_return] = ACTIONS(1322), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1322), + [anon_sym_goto] = ACTIONS(1322), + [anon_sym___try] = ACTIONS(1322), + [anon_sym___leave] = ACTIONS(1322), + [anon_sym_DASH_DASH] = ACTIONS(1324), + [anon_sym_PLUS_PLUS] = ACTIONS(1324), + [anon_sym_sizeof] = ACTIONS(1322), + [anon_sym___alignof__] = ACTIONS(1322), + [anon_sym___alignof] = ACTIONS(1322), + [anon_sym__alignof] = ACTIONS(1322), + [anon_sym_alignof] = ACTIONS(1322), + [anon_sym__Alignof] = ACTIONS(1322), + [anon_sym_offsetof] = ACTIONS(1322), + [anon_sym__Generic] = ACTIONS(1322), + [anon_sym_asm] = ACTIONS(1322), + [anon_sym___asm__] = ACTIONS(1322), + [sym__number_literal] = ACTIONS(1324), + [anon_sym_L_SQUOTE] = ACTIONS(1324), + [anon_sym_u_SQUOTE] = ACTIONS(1324), + [anon_sym_U_SQUOTE] = ACTIONS(1324), + [anon_sym_u8_SQUOTE] = ACTIONS(1324), + [anon_sym_SQUOTE] = ACTIONS(1324), + [anon_sym_L_DQUOTE] = ACTIONS(1324), + [anon_sym_u_DQUOTE] = ACTIONS(1324), + [anon_sym_U_DQUOTE] = ACTIONS(1324), + [anon_sym_u8_DQUOTE] = ACTIONS(1324), + [anon_sym_DQUOTE] = ACTIONS(1324), + [sym_true] = ACTIONS(1322), + [sym_false] = ACTIONS(1322), + [anon_sym_NULL] = ACTIONS(1322), + [anon_sym_nullptr] = ACTIONS(1322), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1324), + }, + [296] = { + [sym__identifier] = ACTIONS(1334), + [aux_sym_preproc_include_token1] = ACTIONS(1334), + [aux_sym_preproc_def_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token2] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1334), + [sym_preproc_directive] = ACTIONS(1334), + [anon_sym_LPAREN2] = ACTIONS(1336), + [anon_sym_BANG] = ACTIONS(1336), + [anon_sym_TILDE] = ACTIONS(1336), + [anon_sym_DASH] = ACTIONS(1334), + [anon_sym_PLUS] = ACTIONS(1334), + [anon_sym_STAR] = ACTIONS(1336), + [anon_sym_AMP] = ACTIONS(1336), + [anon_sym_SEMI] = ACTIONS(1336), + [anon_sym___extension__] = ACTIONS(1334), + [anon_sym_typedef] = ACTIONS(1334), + [anon_sym_extern] = ACTIONS(1334), + [anon_sym___attribute__] = ACTIONS(1334), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1336), + [anon_sym___declspec] = ACTIONS(1334), + [anon_sym___cdecl] = ACTIONS(1334), + [anon_sym___clrcall] = ACTIONS(1334), + [anon_sym___stdcall] = ACTIONS(1334), + [anon_sym___fastcall] = ACTIONS(1334), + [anon_sym___thiscall] = ACTIONS(1334), + [anon_sym___vectorcall] = ACTIONS(1334), + [anon_sym_LBRACE] = ACTIONS(1336), + [anon_sym_signed] = ACTIONS(1334), + [anon_sym_unsigned] = ACTIONS(1334), + [anon_sym_long] = ACTIONS(1334), + [anon_sym_short] = ACTIONS(1334), + [anon_sym_static] = ACTIONS(1334), + [anon_sym_auto] = ACTIONS(1334), + [anon_sym_register] = ACTIONS(1334), + [anon_sym_inline] = ACTIONS(1334), + [anon_sym___inline] = ACTIONS(1334), + [anon_sym___inline__] = ACTIONS(1334), + [anon_sym___forceinline] = ACTIONS(1334), + [anon_sym_thread_local] = ACTIONS(1334), + [anon_sym___thread] = ACTIONS(1334), + [anon_sym_const] = ACTIONS(1334), + [anon_sym_constexpr] = ACTIONS(1334), + [anon_sym_volatile] = ACTIONS(1334), + [anon_sym_restrict] = ACTIONS(1334), + [anon_sym___restrict__] = ACTIONS(1334), + [anon_sym__Atomic] = ACTIONS(1334), + [anon_sym__Noreturn] = ACTIONS(1334), + [anon_sym_noreturn] = ACTIONS(1334), + [anon_sym_alignas] = ACTIONS(1334), + [anon_sym__Alignas] = ACTIONS(1334), + [sym_primitive_type] = ACTIONS(1334), + [anon_sym_enum] = ACTIONS(1334), + [anon_sym_struct] = ACTIONS(1334), + [anon_sym_union] = ACTIONS(1334), + [anon_sym_if] = ACTIONS(1334), + [anon_sym_switch] = ACTIONS(1334), + [anon_sym_case] = ACTIONS(1334), + [anon_sym_default] = ACTIONS(1334), + [anon_sym_while] = ACTIONS(1334), + [anon_sym_do] = ACTIONS(1334), + [anon_sym_for] = ACTIONS(1334), + [anon_sym_return] = ACTIONS(1334), + [anon_sym_break] = ACTIONS(1334), + [anon_sym_continue] = ACTIONS(1334), + [anon_sym_goto] = ACTIONS(1334), + [anon_sym___try] = ACTIONS(1334), + [anon_sym___leave] = ACTIONS(1334), + [anon_sym_DASH_DASH] = ACTIONS(1336), + [anon_sym_PLUS_PLUS] = ACTIONS(1336), + [anon_sym_sizeof] = ACTIONS(1334), + [anon_sym___alignof__] = ACTIONS(1334), + [anon_sym___alignof] = ACTIONS(1334), + [anon_sym__alignof] = ACTIONS(1334), + [anon_sym_alignof] = ACTIONS(1334), + [anon_sym__Alignof] = ACTIONS(1334), + [anon_sym_offsetof] = ACTIONS(1334), + [anon_sym__Generic] = ACTIONS(1334), + [anon_sym_asm] = ACTIONS(1334), + [anon_sym___asm__] = ACTIONS(1334), + [sym__number_literal] = ACTIONS(1336), + [anon_sym_L_SQUOTE] = ACTIONS(1336), + [anon_sym_u_SQUOTE] = ACTIONS(1336), + [anon_sym_U_SQUOTE] = ACTIONS(1336), + [anon_sym_u8_SQUOTE] = ACTIONS(1336), + [anon_sym_SQUOTE] = ACTIONS(1336), + [anon_sym_L_DQUOTE] = ACTIONS(1336), + [anon_sym_u_DQUOTE] = ACTIONS(1336), + [anon_sym_U_DQUOTE] = ACTIONS(1336), + [anon_sym_u8_DQUOTE] = ACTIONS(1336), + [anon_sym_DQUOTE] = ACTIONS(1336), + [sym_true] = ACTIONS(1334), + [sym_false] = ACTIONS(1334), + [anon_sym_NULL] = ACTIONS(1334), + [anon_sym_nullptr] = ACTIONS(1334), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1336), + }, + [297] = { + [sym__identifier] = ACTIONS(1240), + [aux_sym_preproc_include_token1] = ACTIONS(1240), + [aux_sym_preproc_def_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token2] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1240), + [sym_preproc_directive] = ACTIONS(1240), + [anon_sym_LPAREN2] = ACTIONS(1242), + [anon_sym_BANG] = ACTIONS(1242), + [anon_sym_TILDE] = ACTIONS(1242), + [anon_sym_DASH] = ACTIONS(1240), + [anon_sym_PLUS] = ACTIONS(1240), + [anon_sym_STAR] = ACTIONS(1242), + [anon_sym_AMP] = ACTIONS(1242), + [anon_sym_SEMI] = ACTIONS(1242), + [anon_sym___extension__] = ACTIONS(1240), + [anon_sym_typedef] = ACTIONS(1240), + [anon_sym_extern] = ACTIONS(1240), + [anon_sym___attribute__] = ACTIONS(1240), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1240), + [anon_sym___cdecl] = ACTIONS(1240), + [anon_sym___clrcall] = ACTIONS(1240), + [anon_sym___stdcall] = ACTIONS(1240), + [anon_sym___fastcall] = ACTIONS(1240), + [anon_sym___thiscall] = ACTIONS(1240), + [anon_sym___vectorcall] = ACTIONS(1240), + [anon_sym_LBRACE] = ACTIONS(1242), + [anon_sym_signed] = ACTIONS(1240), + [anon_sym_unsigned] = ACTIONS(1240), + [anon_sym_long] = ACTIONS(1240), + [anon_sym_short] = ACTIONS(1240), + [anon_sym_static] = ACTIONS(1240), + [anon_sym_auto] = ACTIONS(1240), + [anon_sym_register] = ACTIONS(1240), + [anon_sym_inline] = ACTIONS(1240), + [anon_sym___inline] = ACTIONS(1240), + [anon_sym___inline__] = ACTIONS(1240), + [anon_sym___forceinline] = ACTIONS(1240), + [anon_sym_thread_local] = ACTIONS(1240), + [anon_sym___thread] = ACTIONS(1240), + [anon_sym_const] = ACTIONS(1240), + [anon_sym_constexpr] = ACTIONS(1240), + [anon_sym_volatile] = ACTIONS(1240), + [anon_sym_restrict] = ACTIONS(1240), + [anon_sym___restrict__] = ACTIONS(1240), + [anon_sym__Atomic] = ACTIONS(1240), + [anon_sym__Noreturn] = ACTIONS(1240), + [anon_sym_noreturn] = ACTIONS(1240), + [anon_sym_alignas] = ACTIONS(1240), + [anon_sym__Alignas] = ACTIONS(1240), + [sym_primitive_type] = ACTIONS(1240), + [anon_sym_enum] = ACTIONS(1240), + [anon_sym_struct] = ACTIONS(1240), + [anon_sym_union] = ACTIONS(1240), + [anon_sym_if] = ACTIONS(1240), + [anon_sym_switch] = ACTIONS(1240), + [anon_sym_case] = ACTIONS(1240), + [anon_sym_default] = ACTIONS(1240), + [anon_sym_while] = ACTIONS(1240), + [anon_sym_do] = ACTIONS(1240), + [anon_sym_for] = ACTIONS(1240), + [anon_sym_return] = ACTIONS(1240), + [anon_sym_break] = ACTIONS(1240), + [anon_sym_continue] = ACTIONS(1240), + [anon_sym_goto] = ACTIONS(1240), + [anon_sym___try] = ACTIONS(1240), + [anon_sym___leave] = ACTIONS(1240), + [anon_sym_DASH_DASH] = ACTIONS(1242), + [anon_sym_PLUS_PLUS] = ACTIONS(1242), + [anon_sym_sizeof] = ACTIONS(1240), + [anon_sym___alignof__] = ACTIONS(1240), + [anon_sym___alignof] = ACTIONS(1240), + [anon_sym__alignof] = ACTIONS(1240), + [anon_sym_alignof] = ACTIONS(1240), + [anon_sym__Alignof] = ACTIONS(1240), + [anon_sym_offsetof] = ACTIONS(1240), + [anon_sym__Generic] = ACTIONS(1240), + [anon_sym_asm] = ACTIONS(1240), + [anon_sym___asm__] = ACTIONS(1240), + [sym__number_literal] = ACTIONS(1242), + [anon_sym_L_SQUOTE] = ACTIONS(1242), + [anon_sym_u_SQUOTE] = ACTIONS(1242), + [anon_sym_U_SQUOTE] = ACTIONS(1242), + [anon_sym_u8_SQUOTE] = ACTIONS(1242), + [anon_sym_SQUOTE] = ACTIONS(1242), + [anon_sym_L_DQUOTE] = ACTIONS(1242), + [anon_sym_u_DQUOTE] = ACTIONS(1242), + [anon_sym_U_DQUOTE] = ACTIONS(1242), + [anon_sym_u8_DQUOTE] = ACTIONS(1242), + [anon_sym_DQUOTE] = ACTIONS(1242), + [sym_true] = ACTIONS(1240), + [sym_false] = ACTIONS(1240), + [anon_sym_NULL] = ACTIONS(1240), + [anon_sym_nullptr] = ACTIONS(1240), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1242), + }, + [298] = { + [sym__identifier] = ACTIONS(1252), + [aux_sym_preproc_include_token1] = ACTIONS(1252), + [aux_sym_preproc_def_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1252), + [sym_preproc_directive] = ACTIONS(1252), + [anon_sym_LPAREN2] = ACTIONS(1254), + [anon_sym_BANG] = ACTIONS(1254), + [anon_sym_TILDE] = ACTIONS(1254), + [anon_sym_DASH] = ACTIONS(1252), + [anon_sym_PLUS] = ACTIONS(1252), + [anon_sym_STAR] = ACTIONS(1254), + [anon_sym_AMP] = ACTIONS(1254), + [anon_sym_SEMI] = ACTIONS(1254), + [anon_sym___extension__] = ACTIONS(1252), + [anon_sym_typedef] = ACTIONS(1252), + [anon_sym_extern] = ACTIONS(1252), + [anon_sym___attribute__] = ACTIONS(1252), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1254), + [anon_sym___declspec] = ACTIONS(1252), + [anon_sym___cdecl] = ACTIONS(1252), + [anon_sym___clrcall] = ACTIONS(1252), + [anon_sym___stdcall] = ACTIONS(1252), + [anon_sym___fastcall] = ACTIONS(1252), + [anon_sym___thiscall] = ACTIONS(1252), + [anon_sym___vectorcall] = ACTIONS(1252), + [anon_sym_LBRACE] = ACTIONS(1254), + [anon_sym_RBRACE] = ACTIONS(1254), + [anon_sym_signed] = ACTIONS(1252), + [anon_sym_unsigned] = ACTIONS(1252), + [anon_sym_long] = ACTIONS(1252), + [anon_sym_short] = ACTIONS(1252), + [anon_sym_static] = ACTIONS(1252), + [anon_sym_auto] = ACTIONS(1252), + [anon_sym_register] = ACTIONS(1252), + [anon_sym_inline] = ACTIONS(1252), + [anon_sym___inline] = ACTIONS(1252), + [anon_sym___inline__] = ACTIONS(1252), + [anon_sym___forceinline] = ACTIONS(1252), + [anon_sym_thread_local] = ACTIONS(1252), + [anon_sym___thread] = ACTIONS(1252), + [anon_sym_const] = ACTIONS(1252), + [anon_sym_constexpr] = ACTIONS(1252), + [anon_sym_volatile] = ACTIONS(1252), + [anon_sym_restrict] = ACTIONS(1252), + [anon_sym___restrict__] = ACTIONS(1252), + [anon_sym__Atomic] = ACTIONS(1252), + [anon_sym__Noreturn] = ACTIONS(1252), + [anon_sym_noreturn] = ACTIONS(1252), + [anon_sym_alignas] = ACTIONS(1252), + [anon_sym__Alignas] = ACTIONS(1252), + [sym_primitive_type] = ACTIONS(1252), + [anon_sym_enum] = ACTIONS(1252), + [anon_sym_struct] = ACTIONS(1252), + [anon_sym_union] = ACTIONS(1252), + [anon_sym_if] = ACTIONS(1252), + [anon_sym_switch] = ACTIONS(1252), + [anon_sym_case] = ACTIONS(1252), + [anon_sym_default] = ACTIONS(1252), + [anon_sym_while] = ACTIONS(1252), + [anon_sym_do] = ACTIONS(1252), + [anon_sym_for] = ACTIONS(1252), + [anon_sym_return] = ACTIONS(1252), + [anon_sym_break] = ACTIONS(1252), + [anon_sym_continue] = ACTIONS(1252), + [anon_sym_goto] = ACTIONS(1252), + [anon_sym___try] = ACTIONS(1252), + [anon_sym___leave] = ACTIONS(1252), + [anon_sym_DASH_DASH] = ACTIONS(1254), + [anon_sym_PLUS_PLUS] = ACTIONS(1254), + [anon_sym_sizeof] = ACTIONS(1252), + [anon_sym___alignof__] = ACTIONS(1252), + [anon_sym___alignof] = ACTIONS(1252), + [anon_sym__alignof] = ACTIONS(1252), + [anon_sym_alignof] = ACTIONS(1252), + [anon_sym__Alignof] = ACTIONS(1252), + [anon_sym_offsetof] = ACTIONS(1252), + [anon_sym__Generic] = ACTIONS(1252), + [anon_sym_asm] = ACTIONS(1252), + [anon_sym___asm__] = ACTIONS(1252), + [sym__number_literal] = ACTIONS(1254), + [anon_sym_L_SQUOTE] = ACTIONS(1254), + [anon_sym_u_SQUOTE] = ACTIONS(1254), + [anon_sym_U_SQUOTE] = ACTIONS(1254), + [anon_sym_u8_SQUOTE] = ACTIONS(1254), + [anon_sym_SQUOTE] = ACTIONS(1254), + [anon_sym_L_DQUOTE] = ACTIONS(1254), + [anon_sym_u_DQUOTE] = ACTIONS(1254), + [anon_sym_U_DQUOTE] = ACTIONS(1254), + [anon_sym_u8_DQUOTE] = ACTIONS(1254), + [anon_sym_DQUOTE] = ACTIONS(1254), + [sym_true] = ACTIONS(1252), + [sym_false] = ACTIONS(1252), + [anon_sym_NULL] = ACTIONS(1252), + [anon_sym_nullptr] = ACTIONS(1252), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1254), + }, + [299] = { + [sym__identifier] = ACTIONS(1248), + [aux_sym_preproc_include_token1] = ACTIONS(1248), + [aux_sym_preproc_def_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token2] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1248), + [sym_preproc_directive] = ACTIONS(1248), + [anon_sym_LPAREN2] = ACTIONS(1250), + [anon_sym_BANG] = ACTIONS(1250), + [anon_sym_TILDE] = ACTIONS(1250), + [anon_sym_DASH] = ACTIONS(1248), + [anon_sym_PLUS] = ACTIONS(1248), + [anon_sym_STAR] = ACTIONS(1250), + [anon_sym_AMP] = ACTIONS(1250), + [anon_sym_SEMI] = ACTIONS(1250), + [anon_sym___extension__] = ACTIONS(1248), + [anon_sym_typedef] = ACTIONS(1248), + [anon_sym_extern] = ACTIONS(1248), + [anon_sym___attribute__] = ACTIONS(1248), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1250), + [anon_sym___declspec] = ACTIONS(1248), + [anon_sym___cdecl] = ACTIONS(1248), + [anon_sym___clrcall] = ACTIONS(1248), + [anon_sym___stdcall] = ACTIONS(1248), + [anon_sym___fastcall] = ACTIONS(1248), + [anon_sym___thiscall] = ACTIONS(1248), + [anon_sym___vectorcall] = ACTIONS(1248), + [anon_sym_LBRACE] = ACTIONS(1250), + [anon_sym_signed] = ACTIONS(1248), + [anon_sym_unsigned] = ACTIONS(1248), + [anon_sym_long] = ACTIONS(1248), + [anon_sym_short] = ACTIONS(1248), + [anon_sym_static] = ACTIONS(1248), + [anon_sym_auto] = ACTIONS(1248), + [anon_sym_register] = ACTIONS(1248), + [anon_sym_inline] = ACTIONS(1248), + [anon_sym___inline] = ACTIONS(1248), + [anon_sym___inline__] = ACTIONS(1248), + [anon_sym___forceinline] = ACTIONS(1248), + [anon_sym_thread_local] = ACTIONS(1248), + [anon_sym___thread] = ACTIONS(1248), + [anon_sym_const] = ACTIONS(1248), + [anon_sym_constexpr] = ACTIONS(1248), + [anon_sym_volatile] = ACTIONS(1248), + [anon_sym_restrict] = ACTIONS(1248), + [anon_sym___restrict__] = ACTIONS(1248), + [anon_sym__Atomic] = ACTIONS(1248), + [anon_sym__Noreturn] = ACTIONS(1248), + [anon_sym_noreturn] = ACTIONS(1248), + [anon_sym_alignas] = ACTIONS(1248), + [anon_sym__Alignas] = ACTIONS(1248), + [sym_primitive_type] = ACTIONS(1248), + [anon_sym_enum] = ACTIONS(1248), + [anon_sym_struct] = ACTIONS(1248), + [anon_sym_union] = ACTIONS(1248), + [anon_sym_if] = ACTIONS(1248), + [anon_sym_switch] = ACTIONS(1248), + [anon_sym_case] = ACTIONS(1248), + [anon_sym_default] = ACTIONS(1248), + [anon_sym_while] = ACTIONS(1248), + [anon_sym_do] = ACTIONS(1248), + [anon_sym_for] = ACTIONS(1248), + [anon_sym_return] = ACTIONS(1248), + [anon_sym_break] = ACTIONS(1248), + [anon_sym_continue] = ACTIONS(1248), + [anon_sym_goto] = ACTIONS(1248), + [anon_sym___try] = ACTIONS(1248), + [anon_sym___leave] = ACTIONS(1248), + [anon_sym_DASH_DASH] = ACTIONS(1250), + [anon_sym_PLUS_PLUS] = ACTIONS(1250), + [anon_sym_sizeof] = ACTIONS(1248), + [anon_sym___alignof__] = ACTIONS(1248), + [anon_sym___alignof] = ACTIONS(1248), + [anon_sym__alignof] = ACTIONS(1248), + [anon_sym_alignof] = ACTIONS(1248), + [anon_sym__Alignof] = ACTIONS(1248), + [anon_sym_offsetof] = ACTIONS(1248), + [anon_sym__Generic] = ACTIONS(1248), + [anon_sym_asm] = ACTIONS(1248), + [anon_sym___asm__] = ACTIONS(1248), + [sym__number_literal] = ACTIONS(1250), + [anon_sym_L_SQUOTE] = ACTIONS(1250), + [anon_sym_u_SQUOTE] = ACTIONS(1250), + [anon_sym_U_SQUOTE] = ACTIONS(1250), + [anon_sym_u8_SQUOTE] = ACTIONS(1250), + [anon_sym_SQUOTE] = ACTIONS(1250), + [anon_sym_L_DQUOTE] = ACTIONS(1250), + [anon_sym_u_DQUOTE] = ACTIONS(1250), + [anon_sym_U_DQUOTE] = ACTIONS(1250), + [anon_sym_u8_DQUOTE] = ACTIONS(1250), + [anon_sym_DQUOTE] = ACTIONS(1250), + [sym_true] = ACTIONS(1248), + [sym_false] = ACTIONS(1248), + [anon_sym_NULL] = ACTIONS(1248), + [anon_sym_nullptr] = ACTIONS(1248), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1250), + }, + [300] = { + [sym__identifier] = ACTIONS(1240), + [aux_sym_preproc_include_token1] = ACTIONS(1240), + [aux_sym_preproc_def_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1240), + [sym_preproc_directive] = ACTIONS(1240), + [anon_sym_LPAREN2] = ACTIONS(1242), + [anon_sym_BANG] = ACTIONS(1242), + [anon_sym_TILDE] = ACTIONS(1242), + [anon_sym_DASH] = ACTIONS(1240), + [anon_sym_PLUS] = ACTIONS(1240), + [anon_sym_STAR] = ACTIONS(1242), + [anon_sym_AMP] = ACTIONS(1242), + [anon_sym_SEMI] = ACTIONS(1242), + [anon_sym___extension__] = ACTIONS(1240), + [anon_sym_typedef] = ACTIONS(1240), + [anon_sym_extern] = ACTIONS(1240), + [anon_sym___attribute__] = ACTIONS(1240), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1240), + [anon_sym___cdecl] = ACTIONS(1240), + [anon_sym___clrcall] = ACTIONS(1240), + [anon_sym___stdcall] = ACTIONS(1240), + [anon_sym___fastcall] = ACTIONS(1240), + [anon_sym___thiscall] = ACTIONS(1240), + [anon_sym___vectorcall] = ACTIONS(1240), + [anon_sym_LBRACE] = ACTIONS(1242), + [anon_sym_RBRACE] = ACTIONS(1242), + [anon_sym_signed] = ACTIONS(1240), + [anon_sym_unsigned] = ACTIONS(1240), + [anon_sym_long] = ACTIONS(1240), + [anon_sym_short] = ACTIONS(1240), + [anon_sym_static] = ACTIONS(1240), + [anon_sym_auto] = ACTIONS(1240), + [anon_sym_register] = ACTIONS(1240), + [anon_sym_inline] = ACTIONS(1240), + [anon_sym___inline] = ACTIONS(1240), + [anon_sym___inline__] = ACTIONS(1240), + [anon_sym___forceinline] = ACTIONS(1240), + [anon_sym_thread_local] = ACTIONS(1240), + [anon_sym___thread] = ACTIONS(1240), + [anon_sym_const] = ACTIONS(1240), + [anon_sym_constexpr] = ACTIONS(1240), + [anon_sym_volatile] = ACTIONS(1240), + [anon_sym_restrict] = ACTIONS(1240), + [anon_sym___restrict__] = ACTIONS(1240), + [anon_sym__Atomic] = ACTIONS(1240), + [anon_sym__Noreturn] = ACTIONS(1240), + [anon_sym_noreturn] = ACTIONS(1240), + [anon_sym_alignas] = ACTIONS(1240), + [anon_sym__Alignas] = ACTIONS(1240), + [sym_primitive_type] = ACTIONS(1240), + [anon_sym_enum] = ACTIONS(1240), + [anon_sym_struct] = ACTIONS(1240), + [anon_sym_union] = ACTIONS(1240), + [anon_sym_if] = ACTIONS(1240), + [anon_sym_switch] = ACTIONS(1240), + [anon_sym_case] = ACTIONS(1240), + [anon_sym_default] = ACTIONS(1240), + [anon_sym_while] = ACTIONS(1240), + [anon_sym_do] = ACTIONS(1240), + [anon_sym_for] = ACTIONS(1240), + [anon_sym_return] = ACTIONS(1240), + [anon_sym_break] = ACTIONS(1240), + [anon_sym_continue] = ACTIONS(1240), + [anon_sym_goto] = ACTIONS(1240), + [anon_sym___try] = ACTIONS(1240), + [anon_sym___leave] = ACTIONS(1240), + [anon_sym_DASH_DASH] = ACTIONS(1242), + [anon_sym_PLUS_PLUS] = ACTIONS(1242), + [anon_sym_sizeof] = ACTIONS(1240), + [anon_sym___alignof__] = ACTIONS(1240), + [anon_sym___alignof] = ACTIONS(1240), + [anon_sym__alignof] = ACTIONS(1240), + [anon_sym_alignof] = ACTIONS(1240), + [anon_sym__Alignof] = ACTIONS(1240), + [anon_sym_offsetof] = ACTIONS(1240), + [anon_sym__Generic] = ACTIONS(1240), + [anon_sym_asm] = ACTIONS(1240), + [anon_sym___asm__] = ACTIONS(1240), + [sym__number_literal] = ACTIONS(1242), + [anon_sym_L_SQUOTE] = ACTIONS(1242), + [anon_sym_u_SQUOTE] = ACTIONS(1242), + [anon_sym_U_SQUOTE] = ACTIONS(1242), + [anon_sym_u8_SQUOTE] = ACTIONS(1242), + [anon_sym_SQUOTE] = ACTIONS(1242), + [anon_sym_L_DQUOTE] = ACTIONS(1242), + [anon_sym_u_DQUOTE] = ACTIONS(1242), + [anon_sym_U_DQUOTE] = ACTIONS(1242), + [anon_sym_u8_DQUOTE] = ACTIONS(1242), + [anon_sym_DQUOTE] = ACTIONS(1242), + [sym_true] = ACTIONS(1240), + [sym_false] = ACTIONS(1240), + [anon_sym_NULL] = ACTIONS(1240), + [anon_sym_nullptr] = ACTIONS(1240), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1242), + }, + [301] = { + [sym__identifier] = ACTIONS(1236), + [aux_sym_preproc_include_token1] = ACTIONS(1236), + [aux_sym_preproc_def_token1] = ACTIONS(1236), + [aux_sym_preproc_if_token1] = ACTIONS(1236), + [aux_sym_preproc_if_token2] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1236), + [sym_preproc_directive] = ACTIONS(1236), + [anon_sym_LPAREN2] = ACTIONS(1238), + [anon_sym_BANG] = ACTIONS(1238), + [anon_sym_TILDE] = ACTIONS(1238), + [anon_sym_DASH] = ACTIONS(1236), + [anon_sym_PLUS] = ACTIONS(1236), + [anon_sym_STAR] = ACTIONS(1238), + [anon_sym_AMP] = ACTIONS(1238), + [anon_sym_SEMI] = ACTIONS(1238), + [anon_sym___extension__] = ACTIONS(1236), + [anon_sym_typedef] = ACTIONS(1236), + [anon_sym_extern] = ACTIONS(1236), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1238), + [anon_sym___declspec] = ACTIONS(1236), + [anon_sym___cdecl] = ACTIONS(1236), + [anon_sym___clrcall] = ACTIONS(1236), + [anon_sym___stdcall] = ACTIONS(1236), + [anon_sym___fastcall] = ACTIONS(1236), + [anon_sym___thiscall] = ACTIONS(1236), + [anon_sym___vectorcall] = ACTIONS(1236), + [anon_sym_LBRACE] = ACTIONS(1238), + [anon_sym_signed] = ACTIONS(1236), + [anon_sym_unsigned] = ACTIONS(1236), + [anon_sym_long] = ACTIONS(1236), + [anon_sym_short] = ACTIONS(1236), + [anon_sym_static] = ACTIONS(1236), + [anon_sym_auto] = ACTIONS(1236), + [anon_sym_register] = ACTIONS(1236), + [anon_sym_inline] = ACTIONS(1236), + [anon_sym___inline] = ACTIONS(1236), + [anon_sym___inline__] = ACTIONS(1236), + [anon_sym___forceinline] = ACTIONS(1236), + [anon_sym_thread_local] = ACTIONS(1236), + [anon_sym___thread] = ACTIONS(1236), + [anon_sym_const] = ACTIONS(1236), + [anon_sym_constexpr] = ACTIONS(1236), + [anon_sym_volatile] = ACTIONS(1236), + [anon_sym_restrict] = ACTIONS(1236), + [anon_sym___restrict__] = ACTIONS(1236), + [anon_sym__Atomic] = ACTIONS(1236), + [anon_sym__Noreturn] = ACTIONS(1236), + [anon_sym_noreturn] = ACTIONS(1236), + [anon_sym_alignas] = ACTIONS(1236), + [anon_sym__Alignas] = ACTIONS(1236), + [sym_primitive_type] = ACTIONS(1236), + [anon_sym_enum] = ACTIONS(1236), + [anon_sym_struct] = ACTIONS(1236), + [anon_sym_union] = ACTIONS(1236), + [anon_sym_if] = ACTIONS(1236), + [anon_sym_switch] = ACTIONS(1236), + [anon_sym_case] = ACTIONS(1236), + [anon_sym_default] = ACTIONS(1236), + [anon_sym_while] = ACTIONS(1236), + [anon_sym_do] = ACTIONS(1236), + [anon_sym_for] = ACTIONS(1236), + [anon_sym_return] = ACTIONS(1236), + [anon_sym_break] = ACTIONS(1236), + [anon_sym_continue] = ACTIONS(1236), + [anon_sym_goto] = ACTIONS(1236), + [anon_sym___try] = ACTIONS(1236), + [anon_sym___leave] = ACTIONS(1236), + [anon_sym_DASH_DASH] = ACTIONS(1238), + [anon_sym_PLUS_PLUS] = ACTIONS(1238), + [anon_sym_sizeof] = ACTIONS(1236), + [anon_sym___alignof__] = ACTIONS(1236), + [anon_sym___alignof] = ACTIONS(1236), + [anon_sym__alignof] = ACTIONS(1236), + [anon_sym_alignof] = ACTIONS(1236), + [anon_sym__Alignof] = ACTIONS(1236), + [anon_sym_offsetof] = ACTIONS(1236), + [anon_sym__Generic] = ACTIONS(1236), + [anon_sym_asm] = ACTIONS(1236), + [anon_sym___asm__] = ACTIONS(1236), + [sym__number_literal] = ACTIONS(1238), + [anon_sym_L_SQUOTE] = ACTIONS(1238), + [anon_sym_u_SQUOTE] = ACTIONS(1238), + [anon_sym_U_SQUOTE] = ACTIONS(1238), + [anon_sym_u8_SQUOTE] = ACTIONS(1238), + [anon_sym_SQUOTE] = ACTIONS(1238), + [anon_sym_L_DQUOTE] = ACTIONS(1238), + [anon_sym_u_DQUOTE] = ACTIONS(1238), + [anon_sym_U_DQUOTE] = ACTIONS(1238), + [anon_sym_u8_DQUOTE] = ACTIONS(1238), + [anon_sym_DQUOTE] = ACTIONS(1238), + [sym_true] = ACTIONS(1236), + [sym_false] = ACTIONS(1236), + [anon_sym_NULL] = ACTIONS(1236), + [anon_sym_nullptr] = ACTIONS(1236), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1238), + }, + [302] = { + [sym__identifier] = ACTIONS(1272), + [aux_sym_preproc_include_token1] = ACTIONS(1272), + [aux_sym_preproc_def_token1] = ACTIONS(1272), + [aux_sym_preproc_if_token1] = ACTIONS(1272), + [aux_sym_preproc_if_token2] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1272), + [sym_preproc_directive] = ACTIONS(1272), + [anon_sym_LPAREN2] = ACTIONS(1275), + [anon_sym_BANG] = ACTIONS(1275), + [anon_sym_TILDE] = ACTIONS(1275), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1275), + [anon_sym_AMP] = ACTIONS(1275), + [anon_sym_SEMI] = ACTIONS(1275), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1275), + [anon_sym___declspec] = ACTIONS(1272), + [anon_sym___cdecl] = ACTIONS(1272), + [anon_sym___clrcall] = ACTIONS(1272), + [anon_sym___stdcall] = ACTIONS(1272), + [anon_sym___fastcall] = ACTIONS(1272), + [anon_sym___thiscall] = ACTIONS(1272), + [anon_sym___vectorcall] = ACTIONS(1272), + [anon_sym_LBRACE] = ACTIONS(1275), + [anon_sym_signed] = ACTIONS(1272), + [anon_sym_unsigned] = ACTIONS(1272), + [anon_sym_long] = ACTIONS(1272), + [anon_sym_short] = ACTIONS(1272), + [anon_sym_static] = ACTIONS(1272), + [anon_sym_auto] = ACTIONS(1272), + [anon_sym_register] = ACTIONS(1272), + [anon_sym_inline] = ACTIONS(1272), + [anon_sym___inline] = ACTIONS(1272), + [anon_sym___inline__] = ACTIONS(1272), + [anon_sym___forceinline] = ACTIONS(1272), + [anon_sym_thread_local] = ACTIONS(1272), + [anon_sym___thread] = ACTIONS(1272), + [anon_sym_const] = ACTIONS(1272), + [anon_sym_constexpr] = ACTIONS(1272), + [anon_sym_volatile] = ACTIONS(1272), + [anon_sym_restrict] = ACTIONS(1272), + [anon_sym___restrict__] = ACTIONS(1272), + [anon_sym__Atomic] = ACTIONS(1272), + [anon_sym__Noreturn] = ACTIONS(1272), + [anon_sym_noreturn] = ACTIONS(1272), + [anon_sym_alignas] = ACTIONS(1272), + [anon_sym__Alignas] = ACTIONS(1272), + [sym_primitive_type] = ACTIONS(1272), + [anon_sym_enum] = ACTIONS(1272), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1272), + [anon_sym_if] = ACTIONS(1272), + [anon_sym_switch] = ACTIONS(1272), + [anon_sym_case] = ACTIONS(1272), + [anon_sym_default] = ACTIONS(1272), + [anon_sym_while] = ACTIONS(1272), + [anon_sym_do] = ACTIONS(1272), + [anon_sym_for] = ACTIONS(1272), + [anon_sym_return] = ACTIONS(1272), + [anon_sym_break] = ACTIONS(1272), + [anon_sym_continue] = ACTIONS(1272), + [anon_sym_goto] = ACTIONS(1272), + [anon_sym___try] = ACTIONS(1272), + [anon_sym___leave] = ACTIONS(1272), + [anon_sym_DASH_DASH] = ACTIONS(1275), + [anon_sym_PLUS_PLUS] = ACTIONS(1275), + [anon_sym_sizeof] = ACTIONS(1272), + [anon_sym___alignof__] = ACTIONS(1272), + [anon_sym___alignof] = ACTIONS(1272), + [anon_sym__alignof] = ACTIONS(1272), + [anon_sym_alignof] = ACTIONS(1272), + [anon_sym__Alignof] = ACTIONS(1272), + [anon_sym_offsetof] = ACTIONS(1272), + [anon_sym__Generic] = ACTIONS(1272), + [anon_sym_asm] = ACTIONS(1272), + [anon_sym___asm__] = ACTIONS(1272), + [sym__number_literal] = ACTIONS(1275), + [anon_sym_L_SQUOTE] = ACTIONS(1275), + [anon_sym_u_SQUOTE] = ACTIONS(1275), + [anon_sym_U_SQUOTE] = ACTIONS(1275), + [anon_sym_u8_SQUOTE] = ACTIONS(1275), + [anon_sym_SQUOTE] = ACTIONS(1275), + [anon_sym_L_DQUOTE] = ACTIONS(1275), + [anon_sym_u_DQUOTE] = ACTIONS(1275), + [anon_sym_U_DQUOTE] = ACTIONS(1275), + [anon_sym_u8_DQUOTE] = ACTIONS(1275), + [anon_sym_DQUOTE] = ACTIONS(1275), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1275), + }, + [303] = { + [sym__identifier] = ACTIONS(1260), + [aux_sym_preproc_include_token1] = ACTIONS(1260), + [aux_sym_preproc_def_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token2] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1260), + [sym_preproc_directive] = ACTIONS(1260), + [anon_sym_LPAREN2] = ACTIONS(1262), + [anon_sym_BANG] = ACTIONS(1262), + [anon_sym_TILDE] = ACTIONS(1262), + [anon_sym_DASH] = ACTIONS(1260), + [anon_sym_PLUS] = ACTIONS(1260), + [anon_sym_STAR] = ACTIONS(1262), + [anon_sym_AMP] = ACTIONS(1262), + [anon_sym_SEMI] = ACTIONS(1262), + [anon_sym___extension__] = ACTIONS(1260), + [anon_sym_typedef] = ACTIONS(1260), + [anon_sym_extern] = ACTIONS(1260), + [anon_sym___attribute__] = ACTIONS(1260), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1262), + [anon_sym___declspec] = ACTIONS(1260), + [anon_sym___cdecl] = ACTIONS(1260), + [anon_sym___clrcall] = ACTIONS(1260), + [anon_sym___stdcall] = ACTIONS(1260), + [anon_sym___fastcall] = ACTIONS(1260), + [anon_sym___thiscall] = ACTIONS(1260), + [anon_sym___vectorcall] = ACTIONS(1260), + [anon_sym_LBRACE] = ACTIONS(1262), + [anon_sym_signed] = ACTIONS(1260), + [anon_sym_unsigned] = ACTIONS(1260), + [anon_sym_long] = ACTIONS(1260), + [anon_sym_short] = ACTIONS(1260), + [anon_sym_static] = ACTIONS(1260), + [anon_sym_auto] = ACTIONS(1260), + [anon_sym_register] = ACTIONS(1260), + [anon_sym_inline] = ACTIONS(1260), + [anon_sym___inline] = ACTIONS(1260), + [anon_sym___inline__] = ACTIONS(1260), + [anon_sym___forceinline] = ACTIONS(1260), + [anon_sym_thread_local] = ACTIONS(1260), + [anon_sym___thread] = ACTIONS(1260), + [anon_sym_const] = ACTIONS(1260), + [anon_sym_constexpr] = ACTIONS(1260), + [anon_sym_volatile] = ACTIONS(1260), + [anon_sym_restrict] = ACTIONS(1260), + [anon_sym___restrict__] = ACTIONS(1260), + [anon_sym__Atomic] = ACTIONS(1260), + [anon_sym__Noreturn] = ACTIONS(1260), + [anon_sym_noreturn] = ACTIONS(1260), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1260), + [anon_sym_enum] = ACTIONS(1260), + [anon_sym_struct] = ACTIONS(1260), + [anon_sym_union] = ACTIONS(1260), + [anon_sym_if] = ACTIONS(1260), + [anon_sym_switch] = ACTIONS(1260), + [anon_sym_case] = ACTIONS(1260), + [anon_sym_default] = ACTIONS(1260), + [anon_sym_while] = ACTIONS(1260), + [anon_sym_do] = ACTIONS(1260), + [anon_sym_for] = ACTIONS(1260), + [anon_sym_return] = ACTIONS(1260), + [anon_sym_break] = ACTIONS(1260), + [anon_sym_continue] = ACTIONS(1260), + [anon_sym_goto] = ACTIONS(1260), + [anon_sym___try] = ACTIONS(1260), + [anon_sym___leave] = ACTIONS(1260), + [anon_sym_DASH_DASH] = ACTIONS(1262), + [anon_sym_PLUS_PLUS] = ACTIONS(1262), + [anon_sym_sizeof] = ACTIONS(1260), + [anon_sym___alignof__] = ACTIONS(1260), + [anon_sym___alignof] = ACTIONS(1260), + [anon_sym__alignof] = ACTIONS(1260), + [anon_sym_alignof] = ACTIONS(1260), + [anon_sym__Alignof] = ACTIONS(1260), + [anon_sym_offsetof] = ACTIONS(1260), + [anon_sym__Generic] = ACTIONS(1260), + [anon_sym_asm] = ACTIONS(1260), + [anon_sym___asm__] = ACTIONS(1260), + [sym__number_literal] = ACTIONS(1262), + [anon_sym_L_SQUOTE] = ACTIONS(1262), + [anon_sym_u_SQUOTE] = ACTIONS(1262), + [anon_sym_U_SQUOTE] = ACTIONS(1262), + [anon_sym_u8_SQUOTE] = ACTIONS(1262), + [anon_sym_SQUOTE] = ACTIONS(1262), + [anon_sym_L_DQUOTE] = ACTIONS(1262), + [anon_sym_u_DQUOTE] = ACTIONS(1262), + [anon_sym_U_DQUOTE] = ACTIONS(1262), + [anon_sym_u8_DQUOTE] = ACTIONS(1262), + [anon_sym_DQUOTE] = ACTIONS(1262), + [sym_true] = ACTIONS(1260), + [sym_false] = ACTIONS(1260), + [anon_sym_NULL] = ACTIONS(1260), + [anon_sym_nullptr] = ACTIONS(1260), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1262), + }, + [304] = { + [sym__identifier] = ACTIONS(1278), + [aux_sym_preproc_include_token1] = ACTIONS(1278), + [aux_sym_preproc_def_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1278), + [sym_preproc_directive] = ACTIONS(1278), + [anon_sym_LPAREN2] = ACTIONS(1280), + [anon_sym_BANG] = ACTIONS(1280), + [anon_sym_TILDE] = ACTIONS(1280), + [anon_sym_DASH] = ACTIONS(1278), + [anon_sym_PLUS] = ACTIONS(1278), + [anon_sym_STAR] = ACTIONS(1280), + [anon_sym_AMP] = ACTIONS(1280), + [anon_sym_SEMI] = ACTIONS(1280), + [anon_sym___extension__] = ACTIONS(1278), + [anon_sym_typedef] = ACTIONS(1278), + [anon_sym_extern] = ACTIONS(1278), + [anon_sym___attribute__] = ACTIONS(1278), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1280), + [anon_sym___declspec] = ACTIONS(1278), + [anon_sym___cdecl] = ACTIONS(1278), + [anon_sym___clrcall] = ACTIONS(1278), + [anon_sym___stdcall] = ACTIONS(1278), + [anon_sym___fastcall] = ACTIONS(1278), + [anon_sym___thiscall] = ACTIONS(1278), + [anon_sym___vectorcall] = ACTIONS(1278), + [anon_sym_LBRACE] = ACTIONS(1280), + [anon_sym_RBRACE] = ACTIONS(1280), + [anon_sym_signed] = ACTIONS(1278), + [anon_sym_unsigned] = ACTIONS(1278), + [anon_sym_long] = ACTIONS(1278), + [anon_sym_short] = ACTIONS(1278), + [anon_sym_static] = ACTIONS(1278), + [anon_sym_auto] = ACTIONS(1278), + [anon_sym_register] = ACTIONS(1278), + [anon_sym_inline] = ACTIONS(1278), + [anon_sym___inline] = ACTIONS(1278), + [anon_sym___inline__] = ACTIONS(1278), + [anon_sym___forceinline] = ACTIONS(1278), + [anon_sym_thread_local] = ACTIONS(1278), + [anon_sym___thread] = ACTIONS(1278), + [anon_sym_const] = ACTIONS(1278), + [anon_sym_constexpr] = ACTIONS(1278), + [anon_sym_volatile] = ACTIONS(1278), + [anon_sym_restrict] = ACTIONS(1278), + [anon_sym___restrict__] = ACTIONS(1278), + [anon_sym__Atomic] = ACTIONS(1278), + [anon_sym__Noreturn] = ACTIONS(1278), + [anon_sym_noreturn] = ACTIONS(1278), + [anon_sym_alignas] = ACTIONS(1278), + [anon_sym__Alignas] = ACTIONS(1278), + [sym_primitive_type] = ACTIONS(1278), + [anon_sym_enum] = ACTIONS(1278), + [anon_sym_struct] = ACTIONS(1278), + [anon_sym_union] = ACTIONS(1278), + [anon_sym_if] = ACTIONS(1278), + [anon_sym_switch] = ACTIONS(1278), + [anon_sym_case] = ACTIONS(1278), + [anon_sym_default] = ACTIONS(1278), + [anon_sym_while] = ACTIONS(1278), + [anon_sym_do] = ACTIONS(1278), + [anon_sym_for] = ACTIONS(1278), + [anon_sym_return] = ACTIONS(1278), + [anon_sym_break] = ACTIONS(1278), + [anon_sym_continue] = ACTIONS(1278), + [anon_sym_goto] = ACTIONS(1278), + [anon_sym___try] = ACTIONS(1278), + [anon_sym___leave] = ACTIONS(1278), + [anon_sym_DASH_DASH] = ACTIONS(1280), + [anon_sym_PLUS_PLUS] = ACTIONS(1280), + [anon_sym_sizeof] = ACTIONS(1278), + [anon_sym___alignof__] = ACTIONS(1278), + [anon_sym___alignof] = ACTIONS(1278), + [anon_sym__alignof] = ACTIONS(1278), + [anon_sym_alignof] = ACTIONS(1278), + [anon_sym__Alignof] = ACTIONS(1278), + [anon_sym_offsetof] = ACTIONS(1278), + [anon_sym__Generic] = ACTIONS(1278), + [anon_sym_asm] = ACTIONS(1278), + [anon_sym___asm__] = ACTIONS(1278), + [sym__number_literal] = ACTIONS(1280), + [anon_sym_L_SQUOTE] = ACTIONS(1280), + [anon_sym_u_SQUOTE] = ACTIONS(1280), + [anon_sym_U_SQUOTE] = ACTIONS(1280), + [anon_sym_u8_SQUOTE] = ACTIONS(1280), + [anon_sym_SQUOTE] = ACTIONS(1280), + [anon_sym_L_DQUOTE] = ACTIONS(1280), + [anon_sym_u_DQUOTE] = ACTIONS(1280), + [anon_sym_U_DQUOTE] = ACTIONS(1280), + [anon_sym_u8_DQUOTE] = ACTIONS(1280), + [anon_sym_DQUOTE] = ACTIONS(1280), + [sym_true] = ACTIONS(1278), + [sym_false] = ACTIONS(1278), + [anon_sym_NULL] = ACTIONS(1278), + [anon_sym_nullptr] = ACTIONS(1278), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1280), + }, + [305] = { + [sym__identifier] = ACTIONS(1298), + [aux_sym_preproc_include_token1] = ACTIONS(1298), + [aux_sym_preproc_def_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token2] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1298), + [sym_preproc_directive] = ACTIONS(1298), + [anon_sym_LPAREN2] = ACTIONS(1300), + [anon_sym_BANG] = ACTIONS(1300), + [anon_sym_TILDE] = ACTIONS(1300), + [anon_sym_DASH] = ACTIONS(1298), + [anon_sym_PLUS] = ACTIONS(1298), + [anon_sym_STAR] = ACTIONS(1300), + [anon_sym_AMP] = ACTIONS(1300), + [anon_sym_SEMI] = ACTIONS(1300), + [anon_sym___extension__] = ACTIONS(1298), + [anon_sym_typedef] = ACTIONS(1298), + [anon_sym_extern] = ACTIONS(1298), + [anon_sym___attribute__] = ACTIONS(1298), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1300), + [anon_sym___declspec] = ACTIONS(1298), + [anon_sym___cdecl] = ACTIONS(1298), + [anon_sym___clrcall] = ACTIONS(1298), + [anon_sym___stdcall] = ACTIONS(1298), + [anon_sym___fastcall] = ACTIONS(1298), + [anon_sym___thiscall] = ACTIONS(1298), + [anon_sym___vectorcall] = ACTIONS(1298), + [anon_sym_LBRACE] = ACTIONS(1300), + [anon_sym_signed] = ACTIONS(1298), + [anon_sym_unsigned] = ACTIONS(1298), + [anon_sym_long] = ACTIONS(1298), + [anon_sym_short] = ACTIONS(1298), + [anon_sym_static] = ACTIONS(1298), + [anon_sym_auto] = ACTIONS(1298), + [anon_sym_register] = ACTIONS(1298), + [anon_sym_inline] = ACTIONS(1298), + [anon_sym___inline] = ACTIONS(1298), + [anon_sym___inline__] = ACTIONS(1298), + [anon_sym___forceinline] = ACTIONS(1298), + [anon_sym_thread_local] = ACTIONS(1298), + [anon_sym___thread] = ACTIONS(1298), + [anon_sym_const] = ACTIONS(1298), + [anon_sym_constexpr] = ACTIONS(1298), + [anon_sym_volatile] = ACTIONS(1298), + [anon_sym_restrict] = ACTIONS(1298), + [anon_sym___restrict__] = ACTIONS(1298), + [anon_sym__Atomic] = ACTIONS(1298), + [anon_sym__Noreturn] = ACTIONS(1298), + [anon_sym_noreturn] = ACTIONS(1298), + [anon_sym_alignas] = ACTIONS(1298), + [anon_sym__Alignas] = ACTIONS(1298), + [sym_primitive_type] = ACTIONS(1298), + [anon_sym_enum] = ACTIONS(1298), + [anon_sym_struct] = ACTIONS(1298), + [anon_sym_union] = ACTIONS(1298), + [anon_sym_if] = ACTIONS(1298), + [anon_sym_switch] = ACTIONS(1298), + [anon_sym_case] = ACTIONS(1298), + [anon_sym_default] = ACTIONS(1298), + [anon_sym_while] = ACTIONS(1298), + [anon_sym_do] = ACTIONS(1298), + [anon_sym_for] = ACTIONS(1298), + [anon_sym_return] = ACTIONS(1298), + [anon_sym_break] = ACTIONS(1298), + [anon_sym_continue] = ACTIONS(1298), + [anon_sym_goto] = ACTIONS(1298), + [anon_sym___try] = ACTIONS(1298), + [anon_sym___leave] = ACTIONS(1298), + [anon_sym_DASH_DASH] = ACTIONS(1300), + [anon_sym_PLUS_PLUS] = ACTIONS(1300), + [anon_sym_sizeof] = ACTIONS(1298), + [anon_sym___alignof__] = ACTIONS(1298), + [anon_sym___alignof] = ACTIONS(1298), + [anon_sym__alignof] = ACTIONS(1298), + [anon_sym_alignof] = ACTIONS(1298), + [anon_sym__Alignof] = ACTIONS(1298), + [anon_sym_offsetof] = ACTIONS(1298), + [anon_sym__Generic] = ACTIONS(1298), + [anon_sym_asm] = ACTIONS(1298), + [anon_sym___asm__] = ACTIONS(1298), + [sym__number_literal] = ACTIONS(1300), + [anon_sym_L_SQUOTE] = ACTIONS(1300), + [anon_sym_u_SQUOTE] = ACTIONS(1300), + [anon_sym_U_SQUOTE] = ACTIONS(1300), + [anon_sym_u8_SQUOTE] = ACTIONS(1300), + [anon_sym_SQUOTE] = ACTIONS(1300), + [anon_sym_L_DQUOTE] = ACTIONS(1300), + [anon_sym_u_DQUOTE] = ACTIONS(1300), + [anon_sym_U_DQUOTE] = ACTIONS(1300), + [anon_sym_u8_DQUOTE] = ACTIONS(1300), + [anon_sym_DQUOTE] = ACTIONS(1300), + [sym_true] = ACTIONS(1298), + [sym_false] = ACTIONS(1298), + [anon_sym_NULL] = ACTIONS(1298), + [anon_sym_nullptr] = ACTIONS(1298), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1300), + }, + [306] = { + [sym__identifier] = ACTIONS(1236), + [aux_sym_preproc_include_token1] = ACTIONS(1236), + [aux_sym_preproc_def_token1] = ACTIONS(1236), + [aux_sym_preproc_if_token1] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1236), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1236), + [sym_preproc_directive] = ACTIONS(1236), + [anon_sym_LPAREN2] = ACTIONS(1238), + [anon_sym_BANG] = ACTIONS(1238), + [anon_sym_TILDE] = ACTIONS(1238), + [anon_sym_DASH] = ACTIONS(1236), + [anon_sym_PLUS] = ACTIONS(1236), + [anon_sym_STAR] = ACTIONS(1238), + [anon_sym_AMP] = ACTIONS(1238), + [anon_sym_SEMI] = ACTIONS(1238), + [anon_sym___extension__] = ACTIONS(1236), + [anon_sym_typedef] = ACTIONS(1236), + [anon_sym_extern] = ACTIONS(1236), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1238), + [anon_sym___declspec] = ACTIONS(1236), + [anon_sym___cdecl] = ACTIONS(1236), + [anon_sym___clrcall] = ACTIONS(1236), + [anon_sym___stdcall] = ACTIONS(1236), + [anon_sym___fastcall] = ACTIONS(1236), + [anon_sym___thiscall] = ACTIONS(1236), + [anon_sym___vectorcall] = ACTIONS(1236), + [anon_sym_LBRACE] = ACTIONS(1238), + [anon_sym_RBRACE] = ACTIONS(1238), + [anon_sym_signed] = ACTIONS(1236), + [anon_sym_unsigned] = ACTIONS(1236), + [anon_sym_long] = ACTIONS(1236), + [anon_sym_short] = ACTIONS(1236), + [anon_sym_static] = ACTIONS(1236), + [anon_sym_auto] = ACTIONS(1236), + [anon_sym_register] = ACTIONS(1236), + [anon_sym_inline] = ACTIONS(1236), + [anon_sym___inline] = ACTIONS(1236), + [anon_sym___inline__] = ACTIONS(1236), + [anon_sym___forceinline] = ACTIONS(1236), + [anon_sym_thread_local] = ACTIONS(1236), + [anon_sym___thread] = ACTIONS(1236), + [anon_sym_const] = ACTIONS(1236), + [anon_sym_constexpr] = ACTIONS(1236), + [anon_sym_volatile] = ACTIONS(1236), + [anon_sym_restrict] = ACTIONS(1236), + [anon_sym___restrict__] = ACTIONS(1236), + [anon_sym__Atomic] = ACTIONS(1236), + [anon_sym__Noreturn] = ACTIONS(1236), + [anon_sym_noreturn] = ACTIONS(1236), + [anon_sym_alignas] = ACTIONS(1236), + [anon_sym__Alignas] = ACTIONS(1236), + [sym_primitive_type] = ACTIONS(1236), + [anon_sym_enum] = ACTIONS(1236), + [anon_sym_struct] = ACTIONS(1236), + [anon_sym_union] = ACTIONS(1236), + [anon_sym_if] = ACTIONS(1236), + [anon_sym_switch] = ACTIONS(1236), + [anon_sym_case] = ACTIONS(1236), + [anon_sym_default] = ACTIONS(1236), + [anon_sym_while] = ACTIONS(1236), + [anon_sym_do] = ACTIONS(1236), + [anon_sym_for] = ACTIONS(1236), + [anon_sym_return] = ACTIONS(1236), + [anon_sym_break] = ACTIONS(1236), + [anon_sym_continue] = ACTIONS(1236), + [anon_sym_goto] = ACTIONS(1236), + [anon_sym___try] = ACTIONS(1236), + [anon_sym___leave] = ACTIONS(1236), + [anon_sym_DASH_DASH] = ACTIONS(1238), + [anon_sym_PLUS_PLUS] = ACTIONS(1238), + [anon_sym_sizeof] = ACTIONS(1236), + [anon_sym___alignof__] = ACTIONS(1236), + [anon_sym___alignof] = ACTIONS(1236), + [anon_sym__alignof] = ACTIONS(1236), + [anon_sym_alignof] = ACTIONS(1236), + [anon_sym__Alignof] = ACTIONS(1236), + [anon_sym_offsetof] = ACTIONS(1236), + [anon_sym__Generic] = ACTIONS(1236), + [anon_sym_asm] = ACTIONS(1236), + [anon_sym___asm__] = ACTIONS(1236), + [sym__number_literal] = ACTIONS(1238), + [anon_sym_L_SQUOTE] = ACTIONS(1238), + [anon_sym_u_SQUOTE] = ACTIONS(1238), + [anon_sym_U_SQUOTE] = ACTIONS(1238), + [anon_sym_u8_SQUOTE] = ACTIONS(1238), + [anon_sym_SQUOTE] = ACTIONS(1238), + [anon_sym_L_DQUOTE] = ACTIONS(1238), + [anon_sym_u_DQUOTE] = ACTIONS(1238), + [anon_sym_U_DQUOTE] = ACTIONS(1238), + [anon_sym_u8_DQUOTE] = ACTIONS(1238), + [anon_sym_DQUOTE] = ACTIONS(1238), + [sym_true] = ACTIONS(1236), + [sym_false] = ACTIONS(1236), + [anon_sym_NULL] = ACTIONS(1236), + [anon_sym_nullptr] = ACTIONS(1236), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1238), + }, + [307] = { + [sym__identifier] = ACTIONS(1282), + [aux_sym_preproc_include_token1] = ACTIONS(1282), + [aux_sym_preproc_def_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1282), + [sym_preproc_directive] = ACTIONS(1282), + [anon_sym_LPAREN2] = ACTIONS(1284), + [anon_sym_BANG] = ACTIONS(1284), + [anon_sym_TILDE] = ACTIONS(1284), + [anon_sym_DASH] = ACTIONS(1282), + [anon_sym_PLUS] = ACTIONS(1282), + [anon_sym_STAR] = ACTIONS(1284), + [anon_sym_AMP] = ACTIONS(1284), + [anon_sym_SEMI] = ACTIONS(1284), + [anon_sym___extension__] = ACTIONS(1282), + [anon_sym_typedef] = ACTIONS(1282), + [anon_sym_extern] = ACTIONS(1282), + [anon_sym___attribute__] = ACTIONS(1282), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1284), + [anon_sym___declspec] = ACTIONS(1282), + [anon_sym___cdecl] = ACTIONS(1282), + [anon_sym___clrcall] = ACTIONS(1282), + [anon_sym___stdcall] = ACTIONS(1282), + [anon_sym___fastcall] = ACTIONS(1282), + [anon_sym___thiscall] = ACTIONS(1282), + [anon_sym___vectorcall] = ACTIONS(1282), + [anon_sym_LBRACE] = ACTIONS(1284), + [anon_sym_RBRACE] = ACTIONS(1284), + [anon_sym_signed] = ACTIONS(1282), + [anon_sym_unsigned] = ACTIONS(1282), + [anon_sym_long] = ACTIONS(1282), + [anon_sym_short] = ACTIONS(1282), + [anon_sym_static] = ACTIONS(1282), + [anon_sym_auto] = ACTIONS(1282), + [anon_sym_register] = ACTIONS(1282), + [anon_sym_inline] = ACTIONS(1282), + [anon_sym___inline] = ACTIONS(1282), + [anon_sym___inline__] = ACTIONS(1282), + [anon_sym___forceinline] = ACTIONS(1282), + [anon_sym_thread_local] = ACTIONS(1282), + [anon_sym___thread] = ACTIONS(1282), + [anon_sym_const] = ACTIONS(1282), + [anon_sym_constexpr] = ACTIONS(1282), + [anon_sym_volatile] = ACTIONS(1282), + [anon_sym_restrict] = ACTIONS(1282), + [anon_sym___restrict__] = ACTIONS(1282), + [anon_sym__Atomic] = ACTIONS(1282), + [anon_sym__Noreturn] = ACTIONS(1282), + [anon_sym_noreturn] = ACTIONS(1282), + [anon_sym_alignas] = ACTIONS(1282), + [anon_sym__Alignas] = ACTIONS(1282), + [sym_primitive_type] = ACTIONS(1282), + [anon_sym_enum] = ACTIONS(1282), + [anon_sym_struct] = ACTIONS(1282), + [anon_sym_union] = ACTIONS(1282), + [anon_sym_if] = ACTIONS(1282), + [anon_sym_switch] = ACTIONS(1282), + [anon_sym_case] = ACTIONS(1282), + [anon_sym_default] = ACTIONS(1282), + [anon_sym_while] = ACTIONS(1282), + [anon_sym_do] = ACTIONS(1282), + [anon_sym_for] = ACTIONS(1282), + [anon_sym_return] = ACTIONS(1282), + [anon_sym_break] = ACTIONS(1282), + [anon_sym_continue] = ACTIONS(1282), + [anon_sym_goto] = ACTIONS(1282), + [anon_sym___try] = ACTIONS(1282), + [anon_sym___leave] = ACTIONS(1282), + [anon_sym_DASH_DASH] = ACTIONS(1284), + [anon_sym_PLUS_PLUS] = ACTIONS(1284), + [anon_sym_sizeof] = ACTIONS(1282), + [anon_sym___alignof__] = ACTIONS(1282), + [anon_sym___alignof] = ACTIONS(1282), + [anon_sym__alignof] = ACTIONS(1282), + [anon_sym_alignof] = ACTIONS(1282), + [anon_sym__Alignof] = ACTIONS(1282), + [anon_sym_offsetof] = ACTIONS(1282), + [anon_sym__Generic] = ACTIONS(1282), + [anon_sym_asm] = ACTIONS(1282), + [anon_sym___asm__] = ACTIONS(1282), + [sym__number_literal] = ACTIONS(1284), + [anon_sym_L_SQUOTE] = ACTIONS(1284), + [anon_sym_u_SQUOTE] = ACTIONS(1284), + [anon_sym_U_SQUOTE] = ACTIONS(1284), + [anon_sym_u8_SQUOTE] = ACTIONS(1284), + [anon_sym_SQUOTE] = ACTIONS(1284), + [anon_sym_L_DQUOTE] = ACTIONS(1284), + [anon_sym_u_DQUOTE] = ACTIONS(1284), + [anon_sym_U_DQUOTE] = ACTIONS(1284), + [anon_sym_u8_DQUOTE] = ACTIONS(1284), + [anon_sym_DQUOTE] = ACTIONS(1284), + [sym_true] = ACTIONS(1282), + [sym_false] = ACTIONS(1282), + [anon_sym_NULL] = ACTIONS(1282), + [anon_sym_nullptr] = ACTIONS(1282), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1284), + }, + [308] = { + [sym__identifier] = ACTIONS(1272), + [aux_sym_preproc_include_token1] = ACTIONS(1272), + [aux_sym_preproc_def_token1] = ACTIONS(1272), + [aux_sym_preproc_if_token1] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1272), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1272), + [sym_preproc_directive] = ACTIONS(1272), + [anon_sym_LPAREN2] = ACTIONS(1275), + [anon_sym_BANG] = ACTIONS(1275), + [anon_sym_TILDE] = ACTIONS(1275), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1275), + [anon_sym_AMP] = ACTIONS(1275), + [anon_sym_SEMI] = ACTIONS(1275), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1275), + [anon_sym___declspec] = ACTIONS(1272), + [anon_sym___cdecl] = ACTIONS(1272), + [anon_sym___clrcall] = ACTIONS(1272), + [anon_sym___stdcall] = ACTIONS(1272), + [anon_sym___fastcall] = ACTIONS(1272), + [anon_sym___thiscall] = ACTIONS(1272), + [anon_sym___vectorcall] = ACTIONS(1272), + [anon_sym_LBRACE] = ACTIONS(1275), + [anon_sym_RBRACE] = ACTIONS(1275), + [anon_sym_signed] = ACTIONS(1272), + [anon_sym_unsigned] = ACTIONS(1272), + [anon_sym_long] = ACTIONS(1272), + [anon_sym_short] = ACTIONS(1272), + [anon_sym_static] = ACTIONS(1272), + [anon_sym_auto] = ACTIONS(1272), + [anon_sym_register] = ACTIONS(1272), + [anon_sym_inline] = ACTIONS(1272), + [anon_sym___inline] = ACTIONS(1272), + [anon_sym___inline__] = ACTIONS(1272), + [anon_sym___forceinline] = ACTIONS(1272), + [anon_sym_thread_local] = ACTIONS(1272), + [anon_sym___thread] = ACTIONS(1272), + [anon_sym_const] = ACTIONS(1272), + [anon_sym_constexpr] = ACTIONS(1272), + [anon_sym_volatile] = ACTIONS(1272), + [anon_sym_restrict] = ACTIONS(1272), + [anon_sym___restrict__] = ACTIONS(1272), + [anon_sym__Atomic] = ACTIONS(1272), + [anon_sym__Noreturn] = ACTIONS(1272), + [anon_sym_noreturn] = ACTIONS(1272), + [anon_sym_alignas] = ACTIONS(1272), + [anon_sym__Alignas] = ACTIONS(1272), + [sym_primitive_type] = ACTIONS(1272), + [anon_sym_enum] = ACTIONS(1272), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1272), + [anon_sym_if] = ACTIONS(1272), + [anon_sym_switch] = ACTIONS(1272), + [anon_sym_case] = ACTIONS(1272), + [anon_sym_default] = ACTIONS(1272), + [anon_sym_while] = ACTIONS(1272), + [anon_sym_do] = ACTIONS(1272), + [anon_sym_for] = ACTIONS(1272), + [anon_sym_return] = ACTIONS(1272), + [anon_sym_break] = ACTIONS(1272), + [anon_sym_continue] = ACTIONS(1272), + [anon_sym_goto] = ACTIONS(1272), + [anon_sym___try] = ACTIONS(1272), + [anon_sym___leave] = ACTIONS(1272), + [anon_sym_DASH_DASH] = ACTIONS(1275), + [anon_sym_PLUS_PLUS] = ACTIONS(1275), + [anon_sym_sizeof] = ACTIONS(1272), + [anon_sym___alignof__] = ACTIONS(1272), + [anon_sym___alignof] = ACTIONS(1272), + [anon_sym__alignof] = ACTIONS(1272), + [anon_sym_alignof] = ACTIONS(1272), + [anon_sym__Alignof] = ACTIONS(1272), + [anon_sym_offsetof] = ACTIONS(1272), + [anon_sym__Generic] = ACTIONS(1272), + [anon_sym_asm] = ACTIONS(1272), + [anon_sym___asm__] = ACTIONS(1272), + [sym__number_literal] = ACTIONS(1275), + [anon_sym_L_SQUOTE] = ACTIONS(1275), + [anon_sym_u_SQUOTE] = ACTIONS(1275), + [anon_sym_U_SQUOTE] = ACTIONS(1275), + [anon_sym_u8_SQUOTE] = ACTIONS(1275), + [anon_sym_SQUOTE] = ACTIONS(1275), + [anon_sym_L_DQUOTE] = ACTIONS(1275), + [anon_sym_u_DQUOTE] = ACTIONS(1275), + [anon_sym_U_DQUOTE] = ACTIONS(1275), + [anon_sym_u8_DQUOTE] = ACTIONS(1275), + [anon_sym_DQUOTE] = ACTIONS(1275), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1275), + }, + [309] = { + [sym__identifier] = ACTIONS(1310), + [aux_sym_preproc_include_token1] = ACTIONS(1310), + [aux_sym_preproc_def_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token2] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1310), + [sym_preproc_directive] = ACTIONS(1310), + [anon_sym_LPAREN2] = ACTIONS(1312), + [anon_sym_BANG] = ACTIONS(1312), + [anon_sym_TILDE] = ACTIONS(1312), + [anon_sym_DASH] = ACTIONS(1310), + [anon_sym_PLUS] = ACTIONS(1310), + [anon_sym_STAR] = ACTIONS(1312), + [anon_sym_AMP] = ACTIONS(1312), + [anon_sym_SEMI] = ACTIONS(1312), + [anon_sym___extension__] = ACTIONS(1310), + [anon_sym_typedef] = ACTIONS(1310), + [anon_sym_extern] = ACTIONS(1310), + [anon_sym___attribute__] = ACTIONS(1310), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1312), + [anon_sym___declspec] = ACTIONS(1310), + [anon_sym___cdecl] = ACTIONS(1310), + [anon_sym___clrcall] = ACTIONS(1310), + [anon_sym___stdcall] = ACTIONS(1310), + [anon_sym___fastcall] = ACTIONS(1310), + [anon_sym___thiscall] = ACTIONS(1310), + [anon_sym___vectorcall] = ACTIONS(1310), + [anon_sym_LBRACE] = ACTIONS(1312), + [anon_sym_signed] = ACTIONS(1310), + [anon_sym_unsigned] = ACTIONS(1310), + [anon_sym_long] = ACTIONS(1310), + [anon_sym_short] = ACTIONS(1310), + [anon_sym_static] = ACTIONS(1310), + [anon_sym_auto] = ACTIONS(1310), + [anon_sym_register] = ACTIONS(1310), + [anon_sym_inline] = ACTIONS(1310), + [anon_sym___inline] = ACTIONS(1310), + [anon_sym___inline__] = ACTIONS(1310), + [anon_sym___forceinline] = ACTIONS(1310), + [anon_sym_thread_local] = ACTIONS(1310), + [anon_sym___thread] = ACTIONS(1310), + [anon_sym_const] = ACTIONS(1310), + [anon_sym_constexpr] = ACTIONS(1310), + [anon_sym_volatile] = ACTIONS(1310), + [anon_sym_restrict] = ACTIONS(1310), + [anon_sym___restrict__] = ACTIONS(1310), + [anon_sym__Atomic] = ACTIONS(1310), + [anon_sym__Noreturn] = ACTIONS(1310), + [anon_sym_noreturn] = ACTIONS(1310), + [anon_sym_alignas] = ACTIONS(1310), + [anon_sym__Alignas] = ACTIONS(1310), + [sym_primitive_type] = ACTIONS(1310), + [anon_sym_enum] = ACTIONS(1310), + [anon_sym_struct] = ACTIONS(1310), + [anon_sym_union] = ACTIONS(1310), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1310), + [anon_sym_case] = ACTIONS(1310), + [anon_sym_default] = ACTIONS(1310), + [anon_sym_while] = ACTIONS(1310), + [anon_sym_do] = ACTIONS(1310), + [anon_sym_for] = ACTIONS(1310), + [anon_sym_return] = ACTIONS(1310), + [anon_sym_break] = ACTIONS(1310), + [anon_sym_continue] = ACTIONS(1310), + [anon_sym_goto] = ACTIONS(1310), + [anon_sym___try] = ACTIONS(1310), + [anon_sym___leave] = ACTIONS(1310), + [anon_sym_DASH_DASH] = ACTIONS(1312), + [anon_sym_PLUS_PLUS] = ACTIONS(1312), + [anon_sym_sizeof] = ACTIONS(1310), + [anon_sym___alignof__] = ACTIONS(1310), + [anon_sym___alignof] = ACTIONS(1310), + [anon_sym__alignof] = ACTIONS(1310), + [anon_sym_alignof] = ACTIONS(1310), + [anon_sym__Alignof] = ACTIONS(1310), + [anon_sym_offsetof] = ACTIONS(1310), + [anon_sym__Generic] = ACTIONS(1310), + [anon_sym_asm] = ACTIONS(1310), + [anon_sym___asm__] = ACTIONS(1310), + [sym__number_literal] = ACTIONS(1312), + [anon_sym_L_SQUOTE] = ACTIONS(1312), + [anon_sym_u_SQUOTE] = ACTIONS(1312), + [anon_sym_U_SQUOTE] = ACTIONS(1312), + [anon_sym_u8_SQUOTE] = ACTIONS(1312), + [anon_sym_SQUOTE] = ACTIONS(1312), + [anon_sym_L_DQUOTE] = ACTIONS(1312), + [anon_sym_u_DQUOTE] = ACTIONS(1312), + [anon_sym_U_DQUOTE] = ACTIONS(1312), + [anon_sym_u8_DQUOTE] = ACTIONS(1312), + [anon_sym_DQUOTE] = ACTIONS(1312), + [sym_true] = ACTIONS(1310), + [sym_false] = ACTIONS(1310), + [anon_sym_NULL] = ACTIONS(1310), + [anon_sym_nullptr] = ACTIONS(1310), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1312), + }, + [310] = { + [sym__identifier] = ACTIONS(1286), + [aux_sym_preproc_include_token1] = ACTIONS(1286), + [aux_sym_preproc_def_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1286), + [sym_preproc_directive] = ACTIONS(1286), + [anon_sym_LPAREN2] = ACTIONS(1288), + [anon_sym_BANG] = ACTIONS(1288), + [anon_sym_TILDE] = ACTIONS(1288), + [anon_sym_DASH] = ACTIONS(1286), + [anon_sym_PLUS] = ACTIONS(1286), + [anon_sym_STAR] = ACTIONS(1288), + [anon_sym_AMP] = ACTIONS(1288), + [anon_sym_SEMI] = ACTIONS(1288), + [anon_sym___extension__] = ACTIONS(1286), + [anon_sym_typedef] = ACTIONS(1286), + [anon_sym_extern] = ACTIONS(1286), + [anon_sym___attribute__] = ACTIONS(1286), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1288), + [anon_sym___declspec] = ACTIONS(1286), + [anon_sym___cdecl] = ACTIONS(1286), + [anon_sym___clrcall] = ACTIONS(1286), + [anon_sym___stdcall] = ACTIONS(1286), + [anon_sym___fastcall] = ACTIONS(1286), + [anon_sym___thiscall] = ACTIONS(1286), + [anon_sym___vectorcall] = ACTIONS(1286), + [anon_sym_LBRACE] = ACTIONS(1288), + [anon_sym_RBRACE] = ACTIONS(1288), + [anon_sym_signed] = ACTIONS(1286), + [anon_sym_unsigned] = ACTIONS(1286), + [anon_sym_long] = ACTIONS(1286), + [anon_sym_short] = ACTIONS(1286), + [anon_sym_static] = ACTIONS(1286), + [anon_sym_auto] = ACTIONS(1286), + [anon_sym_register] = ACTIONS(1286), + [anon_sym_inline] = ACTIONS(1286), + [anon_sym___inline] = ACTIONS(1286), + [anon_sym___inline__] = ACTIONS(1286), + [anon_sym___forceinline] = ACTIONS(1286), + [anon_sym_thread_local] = ACTIONS(1286), + [anon_sym___thread] = ACTIONS(1286), + [anon_sym_const] = ACTIONS(1286), + [anon_sym_constexpr] = ACTIONS(1286), + [anon_sym_volatile] = ACTIONS(1286), + [anon_sym_restrict] = ACTIONS(1286), + [anon_sym___restrict__] = ACTIONS(1286), + [anon_sym__Atomic] = ACTIONS(1286), + [anon_sym__Noreturn] = ACTIONS(1286), + [anon_sym_noreturn] = ACTIONS(1286), + [anon_sym_alignas] = ACTIONS(1286), + [anon_sym__Alignas] = ACTIONS(1286), + [sym_primitive_type] = ACTIONS(1286), + [anon_sym_enum] = ACTIONS(1286), + [anon_sym_struct] = ACTIONS(1286), + [anon_sym_union] = ACTIONS(1286), + [anon_sym_if] = ACTIONS(1286), + [anon_sym_switch] = ACTIONS(1286), + [anon_sym_case] = ACTIONS(1286), + [anon_sym_default] = ACTIONS(1286), + [anon_sym_while] = ACTIONS(1286), + [anon_sym_do] = ACTIONS(1286), + [anon_sym_for] = ACTIONS(1286), + [anon_sym_return] = ACTIONS(1286), + [anon_sym_break] = ACTIONS(1286), + [anon_sym_continue] = ACTIONS(1286), + [anon_sym_goto] = ACTIONS(1286), + [anon_sym___try] = ACTIONS(1286), + [anon_sym___leave] = ACTIONS(1286), + [anon_sym_DASH_DASH] = ACTIONS(1288), + [anon_sym_PLUS_PLUS] = ACTIONS(1288), + [anon_sym_sizeof] = ACTIONS(1286), + [anon_sym___alignof__] = ACTIONS(1286), + [anon_sym___alignof] = ACTIONS(1286), + [anon_sym__alignof] = ACTIONS(1286), + [anon_sym_alignof] = ACTIONS(1286), + [anon_sym__Alignof] = ACTIONS(1286), + [anon_sym_offsetof] = ACTIONS(1286), + [anon_sym__Generic] = ACTIONS(1286), + [anon_sym_asm] = ACTIONS(1286), + [anon_sym___asm__] = ACTIONS(1286), + [sym__number_literal] = ACTIONS(1288), + [anon_sym_L_SQUOTE] = ACTIONS(1288), + [anon_sym_u_SQUOTE] = ACTIONS(1288), + [anon_sym_U_SQUOTE] = ACTIONS(1288), + [anon_sym_u8_SQUOTE] = ACTIONS(1288), + [anon_sym_SQUOTE] = ACTIONS(1288), + [anon_sym_L_DQUOTE] = ACTIONS(1288), + [anon_sym_u_DQUOTE] = ACTIONS(1288), + [anon_sym_U_DQUOTE] = ACTIONS(1288), + [anon_sym_u8_DQUOTE] = ACTIONS(1288), + [anon_sym_DQUOTE] = ACTIONS(1288), + [sym_true] = ACTIONS(1286), + [sym_false] = ACTIONS(1286), + [anon_sym_NULL] = ACTIONS(1286), + [anon_sym_nullptr] = ACTIONS(1286), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1288), + }, + [311] = { + [sym__identifier] = ACTIONS(1290), + [aux_sym_preproc_include_token1] = ACTIONS(1290), + [aux_sym_preproc_def_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1290), + [sym_preproc_directive] = ACTIONS(1290), + [anon_sym_LPAREN2] = ACTIONS(1292), + [anon_sym_BANG] = ACTIONS(1292), + [anon_sym_TILDE] = ACTIONS(1292), + [anon_sym_DASH] = ACTIONS(1290), + [anon_sym_PLUS] = ACTIONS(1290), + [anon_sym_STAR] = ACTIONS(1292), + [anon_sym_AMP] = ACTIONS(1292), + [anon_sym_SEMI] = ACTIONS(1292), + [anon_sym___extension__] = ACTIONS(1290), + [anon_sym_typedef] = ACTIONS(1290), + [anon_sym_extern] = ACTIONS(1290), + [anon_sym___attribute__] = ACTIONS(1290), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1292), + [anon_sym___declspec] = ACTIONS(1290), + [anon_sym___cdecl] = ACTIONS(1290), + [anon_sym___clrcall] = ACTIONS(1290), + [anon_sym___stdcall] = ACTIONS(1290), + [anon_sym___fastcall] = ACTIONS(1290), + [anon_sym___thiscall] = ACTIONS(1290), + [anon_sym___vectorcall] = ACTIONS(1290), + [anon_sym_LBRACE] = ACTIONS(1292), + [anon_sym_RBRACE] = ACTIONS(1292), + [anon_sym_signed] = ACTIONS(1290), + [anon_sym_unsigned] = ACTIONS(1290), + [anon_sym_long] = ACTIONS(1290), + [anon_sym_short] = ACTIONS(1290), + [anon_sym_static] = ACTIONS(1290), + [anon_sym_auto] = ACTIONS(1290), + [anon_sym_register] = ACTIONS(1290), + [anon_sym_inline] = ACTIONS(1290), + [anon_sym___inline] = ACTIONS(1290), + [anon_sym___inline__] = ACTIONS(1290), + [anon_sym___forceinline] = ACTIONS(1290), + [anon_sym_thread_local] = ACTIONS(1290), + [anon_sym___thread] = ACTIONS(1290), + [anon_sym_const] = ACTIONS(1290), + [anon_sym_constexpr] = ACTIONS(1290), + [anon_sym_volatile] = ACTIONS(1290), + [anon_sym_restrict] = ACTIONS(1290), + [anon_sym___restrict__] = ACTIONS(1290), + [anon_sym__Atomic] = ACTIONS(1290), + [anon_sym__Noreturn] = ACTIONS(1290), + [anon_sym_noreturn] = ACTIONS(1290), + [anon_sym_alignas] = ACTIONS(1290), + [anon_sym__Alignas] = ACTIONS(1290), + [sym_primitive_type] = ACTIONS(1290), + [anon_sym_enum] = ACTIONS(1290), + [anon_sym_struct] = ACTIONS(1290), + [anon_sym_union] = ACTIONS(1290), + [anon_sym_if] = ACTIONS(1290), + [anon_sym_switch] = ACTIONS(1290), + [anon_sym_case] = ACTIONS(1290), + [anon_sym_default] = ACTIONS(1290), + [anon_sym_while] = ACTIONS(1290), + [anon_sym_do] = ACTIONS(1290), + [anon_sym_for] = ACTIONS(1290), + [anon_sym_return] = ACTIONS(1290), + [anon_sym_break] = ACTIONS(1290), + [anon_sym_continue] = ACTIONS(1290), + [anon_sym_goto] = ACTIONS(1290), + [anon_sym___try] = ACTIONS(1290), + [anon_sym___leave] = ACTIONS(1290), + [anon_sym_DASH_DASH] = ACTIONS(1292), + [anon_sym_PLUS_PLUS] = ACTIONS(1292), + [anon_sym_sizeof] = ACTIONS(1290), + [anon_sym___alignof__] = ACTIONS(1290), + [anon_sym___alignof] = ACTIONS(1290), + [anon_sym__alignof] = ACTIONS(1290), + [anon_sym_alignof] = ACTIONS(1290), + [anon_sym__Alignof] = ACTIONS(1290), + [anon_sym_offsetof] = ACTIONS(1290), + [anon_sym__Generic] = ACTIONS(1290), + [anon_sym_asm] = ACTIONS(1290), + [anon_sym___asm__] = ACTIONS(1290), + [sym__number_literal] = ACTIONS(1292), + [anon_sym_L_SQUOTE] = ACTIONS(1292), + [anon_sym_u_SQUOTE] = ACTIONS(1292), + [anon_sym_U_SQUOTE] = ACTIONS(1292), + [anon_sym_u8_SQUOTE] = ACTIONS(1292), + [anon_sym_SQUOTE] = ACTIONS(1292), + [anon_sym_L_DQUOTE] = ACTIONS(1292), + [anon_sym_u_DQUOTE] = ACTIONS(1292), + [anon_sym_U_DQUOTE] = ACTIONS(1292), + [anon_sym_u8_DQUOTE] = ACTIONS(1292), + [anon_sym_DQUOTE] = ACTIONS(1292), + [sym_true] = ACTIONS(1290), + [sym_false] = ACTIONS(1290), + [anon_sym_NULL] = ACTIONS(1290), + [anon_sym_nullptr] = ACTIONS(1290), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1292), + }, + [312] = { + [sym__identifier] = ACTIONS(1294), + [aux_sym_preproc_include_token1] = ACTIONS(1294), + [aux_sym_preproc_def_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1294), + [sym_preproc_directive] = ACTIONS(1294), + [anon_sym_LPAREN2] = ACTIONS(1296), + [anon_sym_BANG] = ACTIONS(1296), + [anon_sym_TILDE] = ACTIONS(1296), + [anon_sym_DASH] = ACTIONS(1294), + [anon_sym_PLUS] = ACTIONS(1294), + [anon_sym_STAR] = ACTIONS(1296), + [anon_sym_AMP] = ACTIONS(1296), + [anon_sym_SEMI] = ACTIONS(1296), + [anon_sym___extension__] = ACTIONS(1294), + [anon_sym_typedef] = ACTIONS(1294), + [anon_sym_extern] = ACTIONS(1294), + [anon_sym___attribute__] = ACTIONS(1294), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1296), + [anon_sym___declspec] = ACTIONS(1294), + [anon_sym___cdecl] = ACTIONS(1294), + [anon_sym___clrcall] = ACTIONS(1294), + [anon_sym___stdcall] = ACTIONS(1294), + [anon_sym___fastcall] = ACTIONS(1294), + [anon_sym___thiscall] = ACTIONS(1294), + [anon_sym___vectorcall] = ACTIONS(1294), + [anon_sym_LBRACE] = ACTIONS(1296), + [anon_sym_RBRACE] = ACTIONS(1296), + [anon_sym_signed] = ACTIONS(1294), + [anon_sym_unsigned] = ACTIONS(1294), + [anon_sym_long] = ACTIONS(1294), + [anon_sym_short] = ACTIONS(1294), + [anon_sym_static] = ACTIONS(1294), + [anon_sym_auto] = ACTIONS(1294), + [anon_sym_register] = ACTIONS(1294), + [anon_sym_inline] = ACTIONS(1294), + [anon_sym___inline] = ACTIONS(1294), + [anon_sym___inline__] = ACTIONS(1294), + [anon_sym___forceinline] = ACTIONS(1294), + [anon_sym_thread_local] = ACTIONS(1294), + [anon_sym___thread] = ACTIONS(1294), + [anon_sym_const] = ACTIONS(1294), + [anon_sym_constexpr] = ACTIONS(1294), + [anon_sym_volatile] = ACTIONS(1294), + [anon_sym_restrict] = ACTIONS(1294), + [anon_sym___restrict__] = ACTIONS(1294), + [anon_sym__Atomic] = ACTIONS(1294), + [anon_sym__Noreturn] = ACTIONS(1294), + [anon_sym_noreturn] = ACTIONS(1294), + [anon_sym_alignas] = ACTIONS(1294), + [anon_sym__Alignas] = ACTIONS(1294), + [sym_primitive_type] = ACTIONS(1294), + [anon_sym_enum] = ACTIONS(1294), + [anon_sym_struct] = ACTIONS(1294), + [anon_sym_union] = ACTIONS(1294), + [anon_sym_if] = ACTIONS(1294), + [anon_sym_switch] = ACTIONS(1294), + [anon_sym_case] = ACTIONS(1294), + [anon_sym_default] = ACTIONS(1294), + [anon_sym_while] = ACTIONS(1294), + [anon_sym_do] = ACTIONS(1294), + [anon_sym_for] = ACTIONS(1294), + [anon_sym_return] = ACTIONS(1294), + [anon_sym_break] = ACTIONS(1294), + [anon_sym_continue] = ACTIONS(1294), + [anon_sym_goto] = ACTIONS(1294), + [anon_sym___try] = ACTIONS(1294), + [anon_sym___leave] = ACTIONS(1294), + [anon_sym_DASH_DASH] = ACTIONS(1296), + [anon_sym_PLUS_PLUS] = ACTIONS(1296), + [anon_sym_sizeof] = ACTIONS(1294), + [anon_sym___alignof__] = ACTIONS(1294), + [anon_sym___alignof] = ACTIONS(1294), + [anon_sym__alignof] = ACTIONS(1294), + [anon_sym_alignof] = ACTIONS(1294), + [anon_sym__Alignof] = ACTIONS(1294), + [anon_sym_offsetof] = ACTIONS(1294), + [anon_sym__Generic] = ACTIONS(1294), + [anon_sym_asm] = ACTIONS(1294), + [anon_sym___asm__] = ACTIONS(1294), + [sym__number_literal] = ACTIONS(1296), + [anon_sym_L_SQUOTE] = ACTIONS(1296), + [anon_sym_u_SQUOTE] = ACTIONS(1296), + [anon_sym_U_SQUOTE] = ACTIONS(1296), + [anon_sym_u8_SQUOTE] = ACTIONS(1296), + [anon_sym_SQUOTE] = ACTIONS(1296), + [anon_sym_L_DQUOTE] = ACTIONS(1296), + [anon_sym_u_DQUOTE] = ACTIONS(1296), + [anon_sym_U_DQUOTE] = ACTIONS(1296), + [anon_sym_u8_DQUOTE] = ACTIONS(1296), + [anon_sym_DQUOTE] = ACTIONS(1296), + [sym_true] = ACTIONS(1294), + [sym_false] = ACTIONS(1294), + [anon_sym_NULL] = ACTIONS(1294), + [anon_sym_nullptr] = ACTIONS(1294), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1296), + }, + [313] = { + [sym__identifier] = ACTIONS(1302), + [aux_sym_preproc_include_token1] = ACTIONS(1302), + [aux_sym_preproc_def_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1302), + [sym_preproc_directive] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(1304), + [anon_sym_BANG] = ACTIONS(1304), + [anon_sym_TILDE] = ACTIONS(1304), + [anon_sym_DASH] = ACTIONS(1302), + [anon_sym_PLUS] = ACTIONS(1302), + [anon_sym_STAR] = ACTIONS(1304), + [anon_sym_AMP] = ACTIONS(1304), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym___extension__] = ACTIONS(1302), + [anon_sym_typedef] = ACTIONS(1302), + [anon_sym_extern] = ACTIONS(1302), + [anon_sym___attribute__] = ACTIONS(1302), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1304), + [anon_sym___declspec] = ACTIONS(1302), + [anon_sym___cdecl] = ACTIONS(1302), + [anon_sym___clrcall] = ACTIONS(1302), + [anon_sym___stdcall] = ACTIONS(1302), + [anon_sym___fastcall] = ACTIONS(1302), + [anon_sym___thiscall] = ACTIONS(1302), + [anon_sym___vectorcall] = ACTIONS(1302), + [anon_sym_LBRACE] = ACTIONS(1304), + [anon_sym_RBRACE] = ACTIONS(1304), + [anon_sym_signed] = ACTIONS(1302), + [anon_sym_unsigned] = ACTIONS(1302), + [anon_sym_long] = ACTIONS(1302), + [anon_sym_short] = ACTIONS(1302), + [anon_sym_static] = ACTIONS(1302), + [anon_sym_auto] = ACTIONS(1302), + [anon_sym_register] = ACTIONS(1302), + [anon_sym_inline] = ACTIONS(1302), + [anon_sym___inline] = ACTIONS(1302), + [anon_sym___inline__] = ACTIONS(1302), + [anon_sym___forceinline] = ACTIONS(1302), + [anon_sym_thread_local] = ACTIONS(1302), + [anon_sym___thread] = ACTIONS(1302), + [anon_sym_const] = ACTIONS(1302), + [anon_sym_constexpr] = ACTIONS(1302), + [anon_sym_volatile] = ACTIONS(1302), + [anon_sym_restrict] = ACTIONS(1302), + [anon_sym___restrict__] = ACTIONS(1302), + [anon_sym__Atomic] = ACTIONS(1302), + [anon_sym__Noreturn] = ACTIONS(1302), + [anon_sym_noreturn] = ACTIONS(1302), + [anon_sym_alignas] = ACTIONS(1302), + [anon_sym__Alignas] = ACTIONS(1302), + [sym_primitive_type] = ACTIONS(1302), + [anon_sym_enum] = ACTIONS(1302), + [anon_sym_struct] = ACTIONS(1302), + [anon_sym_union] = ACTIONS(1302), + [anon_sym_if] = ACTIONS(1302), + [anon_sym_switch] = ACTIONS(1302), + [anon_sym_case] = ACTIONS(1302), + [anon_sym_default] = ACTIONS(1302), + [anon_sym_while] = ACTIONS(1302), + [anon_sym_do] = ACTIONS(1302), + [anon_sym_for] = ACTIONS(1302), + [anon_sym_return] = ACTIONS(1302), + [anon_sym_break] = ACTIONS(1302), + [anon_sym_continue] = ACTIONS(1302), + [anon_sym_goto] = ACTIONS(1302), + [anon_sym___try] = ACTIONS(1302), + [anon_sym___leave] = ACTIONS(1302), + [anon_sym_DASH_DASH] = ACTIONS(1304), + [anon_sym_PLUS_PLUS] = ACTIONS(1304), + [anon_sym_sizeof] = ACTIONS(1302), + [anon_sym___alignof__] = ACTIONS(1302), + [anon_sym___alignof] = ACTIONS(1302), + [anon_sym__alignof] = ACTIONS(1302), + [anon_sym_alignof] = ACTIONS(1302), + [anon_sym__Alignof] = ACTIONS(1302), + [anon_sym_offsetof] = ACTIONS(1302), + [anon_sym__Generic] = ACTIONS(1302), + [anon_sym_asm] = ACTIONS(1302), + [anon_sym___asm__] = ACTIONS(1302), + [sym__number_literal] = ACTIONS(1304), + [anon_sym_L_SQUOTE] = ACTIONS(1304), + [anon_sym_u_SQUOTE] = ACTIONS(1304), + [anon_sym_U_SQUOTE] = ACTIONS(1304), + [anon_sym_u8_SQUOTE] = ACTIONS(1304), + [anon_sym_SQUOTE] = ACTIONS(1304), + [anon_sym_L_DQUOTE] = ACTIONS(1304), + [anon_sym_u_DQUOTE] = ACTIONS(1304), + [anon_sym_U_DQUOTE] = ACTIONS(1304), + [anon_sym_u8_DQUOTE] = ACTIONS(1304), + [anon_sym_DQUOTE] = ACTIONS(1304), + [sym_true] = ACTIONS(1302), + [sym_false] = ACTIONS(1302), + [anon_sym_NULL] = ACTIONS(1302), + [anon_sym_nullptr] = ACTIONS(1302), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1304), + }, + [314] = { + [sym__identifier] = ACTIONS(1314), + [aux_sym_preproc_include_token1] = ACTIONS(1314), + [aux_sym_preproc_def_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1314), + [sym_preproc_directive] = ACTIONS(1314), + [anon_sym_LPAREN2] = ACTIONS(1316), + [anon_sym_BANG] = ACTIONS(1316), + [anon_sym_TILDE] = ACTIONS(1316), + [anon_sym_DASH] = ACTIONS(1314), + [anon_sym_PLUS] = ACTIONS(1314), + [anon_sym_STAR] = ACTIONS(1316), + [anon_sym_AMP] = ACTIONS(1316), + [anon_sym_SEMI] = ACTIONS(1316), + [anon_sym___extension__] = ACTIONS(1314), + [anon_sym_typedef] = ACTIONS(1314), + [anon_sym_extern] = ACTIONS(1314), + [anon_sym___attribute__] = ACTIONS(1314), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1316), + [anon_sym___declspec] = ACTIONS(1314), + [anon_sym___cdecl] = ACTIONS(1314), + [anon_sym___clrcall] = ACTIONS(1314), + [anon_sym___stdcall] = ACTIONS(1314), + [anon_sym___fastcall] = ACTIONS(1314), + [anon_sym___thiscall] = ACTIONS(1314), + [anon_sym___vectorcall] = ACTIONS(1314), + [anon_sym_LBRACE] = ACTIONS(1316), + [anon_sym_RBRACE] = ACTIONS(1316), + [anon_sym_signed] = ACTIONS(1314), + [anon_sym_unsigned] = ACTIONS(1314), + [anon_sym_long] = ACTIONS(1314), + [anon_sym_short] = ACTIONS(1314), + [anon_sym_static] = ACTIONS(1314), + [anon_sym_auto] = ACTIONS(1314), + [anon_sym_register] = ACTIONS(1314), + [anon_sym_inline] = ACTIONS(1314), + [anon_sym___inline] = ACTIONS(1314), + [anon_sym___inline__] = ACTIONS(1314), + [anon_sym___forceinline] = ACTIONS(1314), + [anon_sym_thread_local] = ACTIONS(1314), + [anon_sym___thread] = ACTIONS(1314), + [anon_sym_const] = ACTIONS(1314), + [anon_sym_constexpr] = ACTIONS(1314), + [anon_sym_volatile] = ACTIONS(1314), + [anon_sym_restrict] = ACTIONS(1314), + [anon_sym___restrict__] = ACTIONS(1314), + [anon_sym__Atomic] = ACTIONS(1314), + [anon_sym__Noreturn] = ACTIONS(1314), + [anon_sym_noreturn] = ACTIONS(1314), + [anon_sym_alignas] = ACTIONS(1314), + [anon_sym__Alignas] = ACTIONS(1314), + [sym_primitive_type] = ACTIONS(1314), + [anon_sym_enum] = ACTIONS(1314), + [anon_sym_struct] = ACTIONS(1314), + [anon_sym_union] = ACTIONS(1314), + [anon_sym_if] = ACTIONS(1314), + [anon_sym_switch] = ACTIONS(1314), + [anon_sym_case] = ACTIONS(1314), + [anon_sym_default] = ACTIONS(1314), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1314), + [anon_sym_for] = ACTIONS(1314), + [anon_sym_return] = ACTIONS(1314), + [anon_sym_break] = ACTIONS(1314), + [anon_sym_continue] = ACTIONS(1314), + [anon_sym_goto] = ACTIONS(1314), + [anon_sym___try] = ACTIONS(1314), + [anon_sym___leave] = ACTIONS(1314), + [anon_sym_DASH_DASH] = ACTIONS(1316), + [anon_sym_PLUS_PLUS] = ACTIONS(1316), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1314), + [anon_sym___alignof] = ACTIONS(1314), + [anon_sym__alignof] = ACTIONS(1314), + [anon_sym_alignof] = ACTIONS(1314), + [anon_sym__Alignof] = ACTIONS(1314), + [anon_sym_offsetof] = ACTIONS(1314), + [anon_sym__Generic] = ACTIONS(1314), + [anon_sym_asm] = ACTIONS(1314), + [anon_sym___asm__] = ACTIONS(1314), + [sym__number_literal] = ACTIONS(1316), + [anon_sym_L_SQUOTE] = ACTIONS(1316), + [anon_sym_u_SQUOTE] = ACTIONS(1316), + [anon_sym_U_SQUOTE] = ACTIONS(1316), + [anon_sym_u8_SQUOTE] = ACTIONS(1316), + [anon_sym_SQUOTE] = ACTIONS(1316), + [anon_sym_L_DQUOTE] = ACTIONS(1316), + [anon_sym_u_DQUOTE] = ACTIONS(1316), + [anon_sym_U_DQUOTE] = ACTIONS(1316), + [anon_sym_u8_DQUOTE] = ACTIONS(1316), + [anon_sym_DQUOTE] = ACTIONS(1316), + [sym_true] = ACTIONS(1314), + [sym_false] = ACTIONS(1314), + [anon_sym_NULL] = ACTIONS(1314), + [anon_sym_nullptr] = ACTIONS(1314), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1316), + }, + [315] = { + [sym__identifier] = ACTIONS(1330), + [aux_sym_preproc_include_token1] = ACTIONS(1330), + [aux_sym_preproc_def_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token2] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1330), + [sym_preproc_directive] = ACTIONS(1330), + [anon_sym_LPAREN2] = ACTIONS(1332), + [anon_sym_BANG] = ACTIONS(1332), + [anon_sym_TILDE] = ACTIONS(1332), + [anon_sym_DASH] = ACTIONS(1330), + [anon_sym_PLUS] = ACTIONS(1330), + [anon_sym_STAR] = ACTIONS(1332), + [anon_sym_AMP] = ACTIONS(1332), + [anon_sym_SEMI] = ACTIONS(1332), + [anon_sym___extension__] = ACTIONS(1330), + [anon_sym_typedef] = ACTIONS(1330), + [anon_sym_extern] = ACTIONS(1330), + [anon_sym___attribute__] = ACTIONS(1330), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1332), + [anon_sym___declspec] = ACTIONS(1330), + [anon_sym___cdecl] = ACTIONS(1330), + [anon_sym___clrcall] = ACTIONS(1330), + [anon_sym___stdcall] = ACTIONS(1330), + [anon_sym___fastcall] = ACTIONS(1330), + [anon_sym___thiscall] = ACTIONS(1330), + [anon_sym___vectorcall] = ACTIONS(1330), + [anon_sym_LBRACE] = ACTIONS(1332), + [anon_sym_signed] = ACTIONS(1330), + [anon_sym_unsigned] = ACTIONS(1330), + [anon_sym_long] = ACTIONS(1330), + [anon_sym_short] = ACTIONS(1330), + [anon_sym_static] = ACTIONS(1330), + [anon_sym_auto] = ACTIONS(1330), + [anon_sym_register] = ACTIONS(1330), + [anon_sym_inline] = ACTIONS(1330), + [anon_sym___inline] = ACTIONS(1330), + [anon_sym___inline__] = ACTIONS(1330), + [anon_sym___forceinline] = ACTIONS(1330), + [anon_sym_thread_local] = ACTIONS(1330), + [anon_sym___thread] = ACTIONS(1330), + [anon_sym_const] = ACTIONS(1330), + [anon_sym_constexpr] = ACTIONS(1330), + [anon_sym_volatile] = ACTIONS(1330), + [anon_sym_restrict] = ACTIONS(1330), + [anon_sym___restrict__] = ACTIONS(1330), + [anon_sym__Atomic] = ACTIONS(1330), + [anon_sym__Noreturn] = ACTIONS(1330), + [anon_sym_noreturn] = ACTIONS(1330), + [anon_sym_alignas] = ACTIONS(1330), + [anon_sym__Alignas] = ACTIONS(1330), + [sym_primitive_type] = ACTIONS(1330), + [anon_sym_enum] = ACTIONS(1330), + [anon_sym_struct] = ACTIONS(1330), + [anon_sym_union] = ACTIONS(1330), + [anon_sym_if] = ACTIONS(1330), + [anon_sym_switch] = ACTIONS(1330), + [anon_sym_case] = ACTIONS(1330), + [anon_sym_default] = ACTIONS(1330), + [anon_sym_while] = ACTIONS(1330), + [anon_sym_do] = ACTIONS(1330), + [anon_sym_for] = ACTIONS(1330), + [anon_sym_return] = ACTIONS(1330), + [anon_sym_break] = ACTIONS(1330), + [anon_sym_continue] = ACTIONS(1330), + [anon_sym_goto] = ACTIONS(1330), + [anon_sym___try] = ACTIONS(1330), + [anon_sym___leave] = ACTIONS(1330), + [anon_sym_DASH_DASH] = ACTIONS(1332), + [anon_sym_PLUS_PLUS] = ACTIONS(1332), + [anon_sym_sizeof] = ACTIONS(1330), + [anon_sym___alignof__] = ACTIONS(1330), + [anon_sym___alignof] = ACTIONS(1330), + [anon_sym__alignof] = ACTIONS(1330), + [anon_sym_alignof] = ACTIONS(1330), + [anon_sym__Alignof] = ACTIONS(1330), + [anon_sym_offsetof] = ACTIONS(1330), + [anon_sym__Generic] = ACTIONS(1330), + [anon_sym_asm] = ACTIONS(1330), + [anon_sym___asm__] = ACTIONS(1330), + [sym__number_literal] = ACTIONS(1332), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1332), + [anon_sym_u_DQUOTE] = ACTIONS(1332), + [anon_sym_U_DQUOTE] = ACTIONS(1332), + [anon_sym_u8_DQUOTE] = ACTIONS(1332), + [anon_sym_DQUOTE] = ACTIONS(1332), + [sym_true] = ACTIONS(1330), + [sym_false] = ACTIONS(1330), + [anon_sym_NULL] = ACTIONS(1330), + [anon_sym_nullptr] = ACTIONS(1330), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1332), + }, + [316] = { + [sym__identifier] = ACTIONS(1318), + [aux_sym_preproc_include_token1] = ACTIONS(1318), + [aux_sym_preproc_def_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1318), + [sym_preproc_directive] = ACTIONS(1318), + [anon_sym_LPAREN2] = ACTIONS(1320), + [anon_sym_BANG] = ACTIONS(1320), + [anon_sym_TILDE] = ACTIONS(1320), + [anon_sym_DASH] = ACTIONS(1318), + [anon_sym_PLUS] = ACTIONS(1318), + [anon_sym_STAR] = ACTIONS(1320), + [anon_sym_AMP] = ACTIONS(1320), + [anon_sym_SEMI] = ACTIONS(1320), + [anon_sym___extension__] = ACTIONS(1318), + [anon_sym_typedef] = ACTIONS(1318), + [anon_sym_extern] = ACTIONS(1318), + [anon_sym___attribute__] = ACTIONS(1318), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1320), + [anon_sym___declspec] = ACTIONS(1318), + [anon_sym___cdecl] = ACTIONS(1318), + [anon_sym___clrcall] = ACTIONS(1318), + [anon_sym___stdcall] = ACTIONS(1318), + [anon_sym___fastcall] = ACTIONS(1318), + [anon_sym___thiscall] = ACTIONS(1318), + [anon_sym___vectorcall] = ACTIONS(1318), + [anon_sym_LBRACE] = ACTIONS(1320), + [anon_sym_RBRACE] = ACTIONS(1320), + [anon_sym_signed] = ACTIONS(1318), + [anon_sym_unsigned] = ACTIONS(1318), + [anon_sym_long] = ACTIONS(1318), + [anon_sym_short] = ACTIONS(1318), + [anon_sym_static] = ACTIONS(1318), + [anon_sym_auto] = ACTIONS(1318), + [anon_sym_register] = ACTIONS(1318), + [anon_sym_inline] = ACTIONS(1318), + [anon_sym___inline] = ACTIONS(1318), + [anon_sym___inline__] = ACTIONS(1318), + [anon_sym___forceinline] = ACTIONS(1318), + [anon_sym_thread_local] = ACTIONS(1318), + [anon_sym___thread] = ACTIONS(1318), + [anon_sym_const] = ACTIONS(1318), + [anon_sym_constexpr] = ACTIONS(1318), + [anon_sym_volatile] = ACTIONS(1318), + [anon_sym_restrict] = ACTIONS(1318), + [anon_sym___restrict__] = ACTIONS(1318), + [anon_sym__Atomic] = ACTIONS(1318), + [anon_sym__Noreturn] = ACTIONS(1318), + [anon_sym_noreturn] = ACTIONS(1318), + [anon_sym_alignas] = ACTIONS(1318), + [anon_sym__Alignas] = ACTIONS(1318), + [sym_primitive_type] = ACTIONS(1318), + [anon_sym_enum] = ACTIONS(1318), + [anon_sym_struct] = ACTIONS(1318), + [anon_sym_union] = ACTIONS(1318), + [anon_sym_if] = ACTIONS(1318), + [anon_sym_switch] = ACTIONS(1318), + [anon_sym_case] = ACTIONS(1318), + [anon_sym_default] = ACTIONS(1318), + [anon_sym_while] = ACTIONS(1318), + [anon_sym_do] = ACTIONS(1318), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1318), + [anon_sym_break] = ACTIONS(1318), + [anon_sym_continue] = ACTIONS(1318), + [anon_sym_goto] = ACTIONS(1318), + [anon_sym___try] = ACTIONS(1318), + [anon_sym___leave] = ACTIONS(1318), + [anon_sym_DASH_DASH] = ACTIONS(1320), + [anon_sym_PLUS_PLUS] = ACTIONS(1320), + [anon_sym_sizeof] = ACTIONS(1318), + [anon_sym___alignof__] = ACTIONS(1318), + [anon_sym___alignof] = ACTIONS(1318), + [anon_sym__alignof] = ACTIONS(1318), + [anon_sym_alignof] = ACTIONS(1318), + [anon_sym__Alignof] = ACTIONS(1318), + [anon_sym_offsetof] = ACTIONS(1318), + [anon_sym__Generic] = ACTIONS(1318), + [anon_sym_asm] = ACTIONS(1318), + [anon_sym___asm__] = ACTIONS(1318), + [sym__number_literal] = ACTIONS(1320), + [anon_sym_L_SQUOTE] = ACTIONS(1320), + [anon_sym_u_SQUOTE] = ACTIONS(1320), + [anon_sym_U_SQUOTE] = ACTIONS(1320), + [anon_sym_u8_SQUOTE] = ACTIONS(1320), + [anon_sym_SQUOTE] = ACTIONS(1320), + [anon_sym_L_DQUOTE] = ACTIONS(1320), + [anon_sym_u_DQUOTE] = ACTIONS(1320), + [anon_sym_U_DQUOTE] = ACTIONS(1320), + [anon_sym_u8_DQUOTE] = ACTIONS(1320), + [anon_sym_DQUOTE] = ACTIONS(1320), + [sym_true] = ACTIONS(1318), + [sym_false] = ACTIONS(1318), + [anon_sym_NULL] = ACTIONS(1318), + [anon_sym_nullptr] = ACTIONS(1318), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1320), + }, + [317] = { + [sym__identifier] = ACTIONS(1294), + [aux_sym_preproc_include_token1] = ACTIONS(1294), + [aux_sym_preproc_def_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token2] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1294), + [sym_preproc_directive] = ACTIONS(1294), + [anon_sym_LPAREN2] = ACTIONS(1296), + [anon_sym_BANG] = ACTIONS(1296), + [anon_sym_TILDE] = ACTIONS(1296), + [anon_sym_DASH] = ACTIONS(1294), + [anon_sym_PLUS] = ACTIONS(1294), + [anon_sym_STAR] = ACTIONS(1296), + [anon_sym_AMP] = ACTIONS(1296), + [anon_sym_SEMI] = ACTIONS(1296), + [anon_sym___extension__] = ACTIONS(1294), + [anon_sym_typedef] = ACTIONS(1294), + [anon_sym_extern] = ACTIONS(1294), + [anon_sym___attribute__] = ACTIONS(1294), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1296), + [anon_sym___declspec] = ACTIONS(1294), + [anon_sym___cdecl] = ACTIONS(1294), + [anon_sym___clrcall] = ACTIONS(1294), + [anon_sym___stdcall] = ACTIONS(1294), + [anon_sym___fastcall] = ACTIONS(1294), + [anon_sym___thiscall] = ACTIONS(1294), + [anon_sym___vectorcall] = ACTIONS(1294), + [anon_sym_LBRACE] = ACTIONS(1296), + [anon_sym_signed] = ACTIONS(1294), + [anon_sym_unsigned] = ACTIONS(1294), + [anon_sym_long] = ACTIONS(1294), + [anon_sym_short] = ACTIONS(1294), + [anon_sym_static] = ACTIONS(1294), + [anon_sym_auto] = ACTIONS(1294), + [anon_sym_register] = ACTIONS(1294), + [anon_sym_inline] = ACTIONS(1294), + [anon_sym___inline] = ACTIONS(1294), + [anon_sym___inline__] = ACTIONS(1294), + [anon_sym___forceinline] = ACTIONS(1294), + [anon_sym_thread_local] = ACTIONS(1294), + [anon_sym___thread] = ACTIONS(1294), + [anon_sym_const] = ACTIONS(1294), + [anon_sym_constexpr] = ACTIONS(1294), + [anon_sym_volatile] = ACTIONS(1294), + [anon_sym_restrict] = ACTIONS(1294), + [anon_sym___restrict__] = ACTIONS(1294), + [anon_sym__Atomic] = ACTIONS(1294), + [anon_sym__Noreturn] = ACTIONS(1294), + [anon_sym_noreturn] = ACTIONS(1294), + [anon_sym_alignas] = ACTIONS(1294), + [anon_sym__Alignas] = ACTIONS(1294), + [sym_primitive_type] = ACTIONS(1294), + [anon_sym_enum] = ACTIONS(1294), + [anon_sym_struct] = ACTIONS(1294), + [anon_sym_union] = ACTIONS(1294), + [anon_sym_if] = ACTIONS(1294), + [anon_sym_switch] = ACTIONS(1294), + [anon_sym_case] = ACTIONS(1294), + [anon_sym_default] = ACTIONS(1294), + [anon_sym_while] = ACTIONS(1294), + [anon_sym_do] = ACTIONS(1294), + [anon_sym_for] = ACTIONS(1294), + [anon_sym_return] = ACTIONS(1294), + [anon_sym_break] = ACTIONS(1294), + [anon_sym_continue] = ACTIONS(1294), + [anon_sym_goto] = ACTIONS(1294), + [anon_sym___try] = ACTIONS(1294), + [anon_sym___leave] = ACTIONS(1294), + [anon_sym_DASH_DASH] = ACTIONS(1296), + [anon_sym_PLUS_PLUS] = ACTIONS(1296), + [anon_sym_sizeof] = ACTIONS(1294), + [anon_sym___alignof__] = ACTIONS(1294), + [anon_sym___alignof] = ACTIONS(1294), + [anon_sym__alignof] = ACTIONS(1294), + [anon_sym_alignof] = ACTIONS(1294), + [anon_sym__Alignof] = ACTIONS(1294), + [anon_sym_offsetof] = ACTIONS(1294), + [anon_sym__Generic] = ACTIONS(1294), + [anon_sym_asm] = ACTIONS(1294), + [anon_sym___asm__] = ACTIONS(1294), + [sym__number_literal] = ACTIONS(1296), + [anon_sym_L_SQUOTE] = ACTIONS(1296), + [anon_sym_u_SQUOTE] = ACTIONS(1296), + [anon_sym_U_SQUOTE] = ACTIONS(1296), + [anon_sym_u8_SQUOTE] = ACTIONS(1296), + [anon_sym_SQUOTE] = ACTIONS(1296), + [anon_sym_L_DQUOTE] = ACTIONS(1296), + [anon_sym_u_DQUOTE] = ACTIONS(1296), + [anon_sym_U_DQUOTE] = ACTIONS(1296), + [anon_sym_u8_DQUOTE] = ACTIONS(1296), + [anon_sym_DQUOTE] = ACTIONS(1296), + [sym_true] = ACTIONS(1294), + [sym_false] = ACTIONS(1294), + [anon_sym_NULL] = ACTIONS(1294), + [anon_sym_nullptr] = ACTIONS(1294), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1296), + }, + [318] = { + [sym__identifier] = ACTIONS(1326), + [aux_sym_preproc_include_token1] = ACTIONS(1326), + [aux_sym_preproc_def_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token2] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1326), + [sym_preproc_directive] = ACTIONS(1326), + [anon_sym_LPAREN2] = ACTIONS(1328), + [anon_sym_BANG] = ACTIONS(1328), + [anon_sym_TILDE] = ACTIONS(1328), + [anon_sym_DASH] = ACTIONS(1326), + [anon_sym_PLUS] = ACTIONS(1326), + [anon_sym_STAR] = ACTIONS(1328), + [anon_sym_AMP] = ACTIONS(1328), + [anon_sym_SEMI] = ACTIONS(1328), + [anon_sym___extension__] = ACTIONS(1326), + [anon_sym_typedef] = ACTIONS(1326), + [anon_sym_extern] = ACTIONS(1326), + [anon_sym___attribute__] = ACTIONS(1326), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1328), + [anon_sym___declspec] = ACTIONS(1326), + [anon_sym___cdecl] = ACTIONS(1326), + [anon_sym___clrcall] = ACTIONS(1326), + [anon_sym___stdcall] = ACTIONS(1326), + [anon_sym___fastcall] = ACTIONS(1326), + [anon_sym___thiscall] = ACTIONS(1326), + [anon_sym___vectorcall] = ACTIONS(1326), + [anon_sym_LBRACE] = ACTIONS(1328), + [anon_sym_signed] = ACTIONS(1326), + [anon_sym_unsigned] = ACTIONS(1326), + [anon_sym_long] = ACTIONS(1326), + [anon_sym_short] = ACTIONS(1326), + [anon_sym_static] = ACTIONS(1326), + [anon_sym_auto] = ACTIONS(1326), + [anon_sym_register] = ACTIONS(1326), + [anon_sym_inline] = ACTIONS(1326), + [anon_sym___inline] = ACTIONS(1326), + [anon_sym___inline__] = ACTIONS(1326), + [anon_sym___forceinline] = ACTIONS(1326), + [anon_sym_thread_local] = ACTIONS(1326), + [anon_sym___thread] = ACTIONS(1326), + [anon_sym_const] = ACTIONS(1326), + [anon_sym_constexpr] = ACTIONS(1326), + [anon_sym_volatile] = ACTIONS(1326), + [anon_sym_restrict] = ACTIONS(1326), + [anon_sym___restrict__] = ACTIONS(1326), + [anon_sym__Atomic] = ACTIONS(1326), + [anon_sym__Noreturn] = ACTIONS(1326), + [anon_sym_noreturn] = ACTIONS(1326), + [anon_sym_alignas] = ACTIONS(1326), + [anon_sym__Alignas] = ACTIONS(1326), + [sym_primitive_type] = ACTIONS(1326), + [anon_sym_enum] = ACTIONS(1326), + [anon_sym_struct] = ACTIONS(1326), + [anon_sym_union] = ACTIONS(1326), + [anon_sym_if] = ACTIONS(1326), + [anon_sym_switch] = ACTIONS(1326), + [anon_sym_case] = ACTIONS(1326), + [anon_sym_default] = ACTIONS(1326), + [anon_sym_while] = ACTIONS(1326), + [anon_sym_do] = ACTIONS(1326), + [anon_sym_for] = ACTIONS(1326), + [anon_sym_return] = ACTIONS(1326), + [anon_sym_break] = ACTIONS(1326), + [anon_sym_continue] = ACTIONS(1326), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym___try] = ACTIONS(1326), + [anon_sym___leave] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(1328), + [anon_sym_PLUS_PLUS] = ACTIONS(1328), + [anon_sym_sizeof] = ACTIONS(1326), + [anon_sym___alignof__] = ACTIONS(1326), + [anon_sym___alignof] = ACTIONS(1326), + [anon_sym__alignof] = ACTIONS(1326), + [anon_sym_alignof] = ACTIONS(1326), + [anon_sym__Alignof] = ACTIONS(1326), + [anon_sym_offsetof] = ACTIONS(1326), + [anon_sym__Generic] = ACTIONS(1326), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1328), + [anon_sym_L_SQUOTE] = ACTIONS(1328), + [anon_sym_u_SQUOTE] = ACTIONS(1328), + [anon_sym_U_SQUOTE] = ACTIONS(1328), + [anon_sym_u8_SQUOTE] = ACTIONS(1328), + [anon_sym_SQUOTE] = ACTIONS(1328), + [anon_sym_L_DQUOTE] = ACTIONS(1328), + [anon_sym_u_DQUOTE] = ACTIONS(1328), + [anon_sym_U_DQUOTE] = ACTIONS(1328), + [anon_sym_u8_DQUOTE] = ACTIONS(1328), + [anon_sym_DQUOTE] = ACTIONS(1328), + [sym_true] = ACTIONS(1326), + [sym_false] = ACTIONS(1326), + [anon_sym_NULL] = ACTIONS(1326), + [anon_sym_nullptr] = ACTIONS(1326), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1328), + }, + [319] = { + [sym__identifier] = ACTIONS(1268), + [aux_sym_preproc_include_token1] = ACTIONS(1268), + [aux_sym_preproc_def_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1268), + [sym_preproc_directive] = ACTIONS(1268), + [anon_sym_LPAREN2] = ACTIONS(1270), + [anon_sym_BANG] = ACTIONS(1270), + [anon_sym_TILDE] = ACTIONS(1270), + [anon_sym_DASH] = ACTIONS(1268), + [anon_sym_PLUS] = ACTIONS(1268), + [anon_sym_STAR] = ACTIONS(1270), + [anon_sym_AMP] = ACTIONS(1270), + [anon_sym_SEMI] = ACTIONS(1270), + [anon_sym___extension__] = ACTIONS(1268), + [anon_sym_typedef] = ACTIONS(1268), + [anon_sym_extern] = ACTIONS(1268), + [anon_sym___attribute__] = ACTIONS(1268), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1270), + [anon_sym___declspec] = ACTIONS(1268), + [anon_sym___cdecl] = ACTIONS(1268), + [anon_sym___clrcall] = ACTIONS(1268), + [anon_sym___stdcall] = ACTIONS(1268), + [anon_sym___fastcall] = ACTIONS(1268), + [anon_sym___thiscall] = ACTIONS(1268), + [anon_sym___vectorcall] = ACTIONS(1268), + [anon_sym_LBRACE] = ACTIONS(1270), + [anon_sym_RBRACE] = ACTIONS(1270), + [anon_sym_signed] = ACTIONS(1268), + [anon_sym_unsigned] = ACTIONS(1268), + [anon_sym_long] = ACTIONS(1268), + [anon_sym_short] = ACTIONS(1268), + [anon_sym_static] = ACTIONS(1268), + [anon_sym_auto] = ACTIONS(1268), + [anon_sym_register] = ACTIONS(1268), + [anon_sym_inline] = ACTIONS(1268), + [anon_sym___inline] = ACTIONS(1268), + [anon_sym___inline__] = ACTIONS(1268), + [anon_sym___forceinline] = ACTIONS(1268), + [anon_sym_thread_local] = ACTIONS(1268), + [anon_sym___thread] = ACTIONS(1268), + [anon_sym_const] = ACTIONS(1268), + [anon_sym_constexpr] = ACTIONS(1268), + [anon_sym_volatile] = ACTIONS(1268), + [anon_sym_restrict] = ACTIONS(1268), + [anon_sym___restrict__] = ACTIONS(1268), + [anon_sym__Atomic] = ACTIONS(1268), + [anon_sym__Noreturn] = ACTIONS(1268), + [anon_sym_noreturn] = ACTIONS(1268), + [anon_sym_alignas] = ACTIONS(1268), + [anon_sym__Alignas] = ACTIONS(1268), + [sym_primitive_type] = ACTIONS(1268), + [anon_sym_enum] = ACTIONS(1268), + [anon_sym_struct] = ACTIONS(1268), + [anon_sym_union] = ACTIONS(1268), + [anon_sym_if] = ACTIONS(1268), + [anon_sym_switch] = ACTIONS(1268), + [anon_sym_case] = ACTIONS(1268), + [anon_sym_default] = ACTIONS(1268), + [anon_sym_while] = ACTIONS(1268), + [anon_sym_do] = ACTIONS(1268), + [anon_sym_for] = ACTIONS(1268), + [anon_sym_return] = ACTIONS(1268), + [anon_sym_break] = ACTIONS(1268), + [anon_sym_continue] = ACTIONS(1268), + [anon_sym_goto] = ACTIONS(1268), + [anon_sym___try] = ACTIONS(1268), + [anon_sym___leave] = ACTIONS(1268), + [anon_sym_DASH_DASH] = ACTIONS(1270), + [anon_sym_PLUS_PLUS] = ACTIONS(1270), + [anon_sym_sizeof] = ACTIONS(1268), + [anon_sym___alignof__] = ACTIONS(1268), + [anon_sym___alignof] = ACTIONS(1268), + [anon_sym__alignof] = ACTIONS(1268), + [anon_sym_alignof] = ACTIONS(1268), + [anon_sym__Alignof] = ACTIONS(1268), + [anon_sym_offsetof] = ACTIONS(1268), + [anon_sym__Generic] = ACTIONS(1268), + [anon_sym_asm] = ACTIONS(1268), + [anon_sym___asm__] = ACTIONS(1268), + [sym__number_literal] = ACTIONS(1270), + [anon_sym_L_SQUOTE] = ACTIONS(1270), + [anon_sym_u_SQUOTE] = ACTIONS(1270), + [anon_sym_U_SQUOTE] = ACTIONS(1270), + [anon_sym_u8_SQUOTE] = ACTIONS(1270), + [anon_sym_SQUOTE] = ACTIONS(1270), + [anon_sym_L_DQUOTE] = ACTIONS(1270), + [anon_sym_u_DQUOTE] = ACTIONS(1270), + [anon_sym_U_DQUOTE] = ACTIONS(1270), + [anon_sym_u8_DQUOTE] = ACTIONS(1270), + [anon_sym_DQUOTE] = ACTIONS(1270), + [sym_true] = ACTIONS(1268), + [sym_false] = ACTIONS(1268), + [anon_sym_NULL] = ACTIONS(1268), + [anon_sym_nullptr] = ACTIONS(1268), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1270), + }, + [320] = { + [sym__identifier] = ACTIONS(1342), + [aux_sym_preproc_include_token1] = ACTIONS(1342), + [aux_sym_preproc_def_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1342), + [sym_preproc_directive] = ACTIONS(1342), + [anon_sym_LPAREN2] = ACTIONS(1344), + [anon_sym_BANG] = ACTIONS(1344), + [anon_sym_TILDE] = ACTIONS(1344), + [anon_sym_DASH] = ACTIONS(1342), + [anon_sym_PLUS] = ACTIONS(1342), + [anon_sym_STAR] = ACTIONS(1344), + [anon_sym_AMP] = ACTIONS(1344), + [anon_sym_SEMI] = ACTIONS(1344), + [anon_sym___extension__] = ACTIONS(1342), + [anon_sym_typedef] = ACTIONS(1342), + [anon_sym_extern] = ACTIONS(1342), + [anon_sym___attribute__] = ACTIONS(1342), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1344), + [anon_sym___declspec] = ACTIONS(1342), + [anon_sym___cdecl] = ACTIONS(1342), + [anon_sym___clrcall] = ACTIONS(1342), + [anon_sym___stdcall] = ACTIONS(1342), + [anon_sym___fastcall] = ACTIONS(1342), + [anon_sym___thiscall] = ACTIONS(1342), + [anon_sym___vectorcall] = ACTIONS(1342), + [anon_sym_LBRACE] = ACTIONS(1344), + [anon_sym_RBRACE] = ACTIONS(1344), + [anon_sym_signed] = ACTIONS(1342), + [anon_sym_unsigned] = ACTIONS(1342), + [anon_sym_long] = ACTIONS(1342), + [anon_sym_short] = ACTIONS(1342), + [anon_sym_static] = ACTIONS(1342), + [anon_sym_auto] = ACTIONS(1342), + [anon_sym_register] = ACTIONS(1342), + [anon_sym_inline] = ACTIONS(1342), + [anon_sym___inline] = ACTIONS(1342), + [anon_sym___inline__] = ACTIONS(1342), + [anon_sym___forceinline] = ACTIONS(1342), + [anon_sym_thread_local] = ACTIONS(1342), + [anon_sym___thread] = ACTIONS(1342), + [anon_sym_const] = ACTIONS(1342), + [anon_sym_constexpr] = ACTIONS(1342), + [anon_sym_volatile] = ACTIONS(1342), + [anon_sym_restrict] = ACTIONS(1342), + [anon_sym___restrict__] = ACTIONS(1342), + [anon_sym__Atomic] = ACTIONS(1342), + [anon_sym__Noreturn] = ACTIONS(1342), + [anon_sym_noreturn] = ACTIONS(1342), + [anon_sym_alignas] = ACTIONS(1342), + [anon_sym__Alignas] = ACTIONS(1342), + [sym_primitive_type] = ACTIONS(1342), + [anon_sym_enum] = ACTIONS(1342), + [anon_sym_struct] = ACTIONS(1342), + [anon_sym_union] = ACTIONS(1342), + [anon_sym_if] = ACTIONS(1342), + [anon_sym_switch] = ACTIONS(1342), + [anon_sym_case] = ACTIONS(1342), + [anon_sym_default] = ACTIONS(1342), + [anon_sym_while] = ACTIONS(1342), + [anon_sym_do] = ACTIONS(1342), + [anon_sym_for] = ACTIONS(1342), + [anon_sym_return] = ACTIONS(1342), + [anon_sym_break] = ACTIONS(1342), + [anon_sym_continue] = ACTIONS(1342), + [anon_sym_goto] = ACTIONS(1342), + [anon_sym___try] = ACTIONS(1342), + [anon_sym___leave] = ACTIONS(1342), + [anon_sym_DASH_DASH] = ACTIONS(1344), + [anon_sym_PLUS_PLUS] = ACTIONS(1344), + [anon_sym_sizeof] = ACTIONS(1342), + [anon_sym___alignof__] = ACTIONS(1342), + [anon_sym___alignof] = ACTIONS(1342), + [anon_sym__alignof] = ACTIONS(1342), + [anon_sym_alignof] = ACTIONS(1342), + [anon_sym__Alignof] = ACTIONS(1342), + [anon_sym_offsetof] = ACTIONS(1342), + [anon_sym__Generic] = ACTIONS(1342), + [anon_sym_asm] = ACTIONS(1342), + [anon_sym___asm__] = ACTIONS(1342), + [sym__number_literal] = ACTIONS(1344), + [anon_sym_L_SQUOTE] = ACTIONS(1344), + [anon_sym_u_SQUOTE] = ACTIONS(1344), + [anon_sym_U_SQUOTE] = ACTIONS(1344), + [anon_sym_u8_SQUOTE] = ACTIONS(1344), + [anon_sym_SQUOTE] = ACTIONS(1344), + [anon_sym_L_DQUOTE] = ACTIONS(1344), + [anon_sym_u_DQUOTE] = ACTIONS(1344), + [anon_sym_U_DQUOTE] = ACTIONS(1344), + [anon_sym_u8_DQUOTE] = ACTIONS(1344), + [anon_sym_DQUOTE] = ACTIONS(1344), + [sym_true] = ACTIONS(1342), + [sym_false] = ACTIONS(1342), + [anon_sym_NULL] = ACTIONS(1342), + [anon_sym_nullptr] = ACTIONS(1342), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + }, + [321] = { + [sym__identifier] = ACTIONS(1228), + [aux_sym_preproc_include_token1] = ACTIONS(1228), + [aux_sym_preproc_def_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token2] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1228), + [sym_preproc_directive] = ACTIONS(1228), + [anon_sym_LPAREN2] = ACTIONS(1230), + [anon_sym_BANG] = ACTIONS(1230), + [anon_sym_TILDE] = ACTIONS(1230), + [anon_sym_DASH] = ACTIONS(1228), + [anon_sym_PLUS] = ACTIONS(1228), + [anon_sym_STAR] = ACTIONS(1230), + [anon_sym_AMP] = ACTIONS(1230), + [anon_sym_SEMI] = ACTIONS(1230), + [anon_sym___extension__] = ACTIONS(1228), + [anon_sym_typedef] = ACTIONS(1228), + [anon_sym_extern] = ACTIONS(1228), + [anon_sym___attribute__] = ACTIONS(1228), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1230), + [anon_sym___declspec] = ACTIONS(1228), + [anon_sym___cdecl] = ACTIONS(1228), + [anon_sym___clrcall] = ACTIONS(1228), + [anon_sym___stdcall] = ACTIONS(1228), + [anon_sym___fastcall] = ACTIONS(1228), + [anon_sym___thiscall] = ACTIONS(1228), + [anon_sym___vectorcall] = ACTIONS(1228), + [anon_sym_LBRACE] = ACTIONS(1230), + [anon_sym_signed] = ACTIONS(1228), + [anon_sym_unsigned] = ACTIONS(1228), + [anon_sym_long] = ACTIONS(1228), + [anon_sym_short] = ACTIONS(1228), + [anon_sym_static] = ACTIONS(1228), + [anon_sym_auto] = ACTIONS(1228), + [anon_sym_register] = ACTIONS(1228), + [anon_sym_inline] = ACTIONS(1228), + [anon_sym___inline] = ACTIONS(1228), + [anon_sym___inline__] = ACTIONS(1228), + [anon_sym___forceinline] = ACTIONS(1228), + [anon_sym_thread_local] = ACTIONS(1228), + [anon_sym___thread] = ACTIONS(1228), + [anon_sym_const] = ACTIONS(1228), + [anon_sym_constexpr] = ACTIONS(1228), + [anon_sym_volatile] = ACTIONS(1228), + [anon_sym_restrict] = ACTIONS(1228), + [anon_sym___restrict__] = ACTIONS(1228), + [anon_sym__Atomic] = ACTIONS(1228), + [anon_sym__Noreturn] = ACTIONS(1228), + [anon_sym_noreturn] = ACTIONS(1228), + [anon_sym_alignas] = ACTIONS(1228), + [anon_sym__Alignas] = ACTIONS(1228), + [sym_primitive_type] = ACTIONS(1228), + [anon_sym_enum] = ACTIONS(1228), + [anon_sym_struct] = ACTIONS(1228), + [anon_sym_union] = ACTIONS(1228), + [anon_sym_if] = ACTIONS(1228), + [anon_sym_switch] = ACTIONS(1228), + [anon_sym_case] = ACTIONS(1228), + [anon_sym_default] = ACTIONS(1228), + [anon_sym_while] = ACTIONS(1228), + [anon_sym_do] = ACTIONS(1228), + [anon_sym_for] = ACTIONS(1228), + [anon_sym_return] = ACTIONS(1228), + [anon_sym_break] = ACTIONS(1228), + [anon_sym_continue] = ACTIONS(1228), + [anon_sym_goto] = ACTIONS(1228), + [anon_sym___try] = ACTIONS(1228), + [anon_sym___leave] = ACTIONS(1228), + [anon_sym_DASH_DASH] = ACTIONS(1230), + [anon_sym_PLUS_PLUS] = ACTIONS(1230), + [anon_sym_sizeof] = ACTIONS(1228), + [anon_sym___alignof__] = ACTIONS(1228), + [anon_sym___alignof] = ACTIONS(1228), + [anon_sym__alignof] = ACTIONS(1228), + [anon_sym_alignof] = ACTIONS(1228), + [anon_sym__Alignof] = ACTIONS(1228), + [anon_sym_offsetof] = ACTIONS(1228), + [anon_sym__Generic] = ACTIONS(1228), + [anon_sym_asm] = ACTIONS(1228), + [anon_sym___asm__] = ACTIONS(1228), + [sym__number_literal] = ACTIONS(1230), + [anon_sym_L_SQUOTE] = ACTIONS(1230), + [anon_sym_u_SQUOTE] = ACTIONS(1230), + [anon_sym_U_SQUOTE] = ACTIONS(1230), + [anon_sym_u8_SQUOTE] = ACTIONS(1230), + [anon_sym_SQUOTE] = ACTIONS(1230), + [anon_sym_L_DQUOTE] = ACTIONS(1230), + [anon_sym_u_DQUOTE] = ACTIONS(1230), + [anon_sym_U_DQUOTE] = ACTIONS(1230), + [anon_sym_u8_DQUOTE] = ACTIONS(1230), + [anon_sym_DQUOTE] = ACTIONS(1230), + [sym_true] = ACTIONS(1228), + [sym_false] = ACTIONS(1228), + [anon_sym_NULL] = ACTIONS(1228), + [anon_sym_nullptr] = ACTIONS(1228), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1230), + }, + [322] = { + [sym__identifier] = ACTIONS(1338), + [aux_sym_preproc_include_token1] = ACTIONS(1338), + [aux_sym_preproc_def_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token2] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1338), + [sym_preproc_directive] = ACTIONS(1338), + [anon_sym_LPAREN2] = ACTIONS(1340), + [anon_sym_BANG] = ACTIONS(1340), + [anon_sym_TILDE] = ACTIONS(1340), + [anon_sym_DASH] = ACTIONS(1338), + [anon_sym_PLUS] = ACTIONS(1338), + [anon_sym_STAR] = ACTIONS(1340), + [anon_sym_AMP] = ACTIONS(1340), + [anon_sym_SEMI] = ACTIONS(1340), + [anon_sym___extension__] = ACTIONS(1338), + [anon_sym_typedef] = ACTIONS(1338), + [anon_sym_extern] = ACTIONS(1338), + [anon_sym___attribute__] = ACTIONS(1338), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1340), + [anon_sym___declspec] = ACTIONS(1338), + [anon_sym___cdecl] = ACTIONS(1338), + [anon_sym___clrcall] = ACTIONS(1338), + [anon_sym___stdcall] = ACTIONS(1338), + [anon_sym___fastcall] = ACTIONS(1338), + [anon_sym___thiscall] = ACTIONS(1338), + [anon_sym___vectorcall] = ACTIONS(1338), + [anon_sym_LBRACE] = ACTIONS(1340), + [anon_sym_signed] = ACTIONS(1338), + [anon_sym_unsigned] = ACTIONS(1338), + [anon_sym_long] = ACTIONS(1338), + [anon_sym_short] = ACTIONS(1338), + [anon_sym_static] = ACTIONS(1338), + [anon_sym_auto] = ACTIONS(1338), + [anon_sym_register] = ACTIONS(1338), + [anon_sym_inline] = ACTIONS(1338), + [anon_sym___inline] = ACTIONS(1338), + [anon_sym___inline__] = ACTIONS(1338), + [anon_sym___forceinline] = ACTIONS(1338), + [anon_sym_thread_local] = ACTIONS(1338), + [anon_sym___thread] = ACTIONS(1338), + [anon_sym_const] = ACTIONS(1338), + [anon_sym_constexpr] = ACTIONS(1338), + [anon_sym_volatile] = ACTIONS(1338), + [anon_sym_restrict] = ACTIONS(1338), + [anon_sym___restrict__] = ACTIONS(1338), + [anon_sym__Atomic] = ACTIONS(1338), + [anon_sym__Noreturn] = ACTIONS(1338), + [anon_sym_noreturn] = ACTIONS(1338), + [anon_sym_alignas] = ACTIONS(1338), + [anon_sym__Alignas] = ACTIONS(1338), + [sym_primitive_type] = ACTIONS(1338), + [anon_sym_enum] = ACTIONS(1338), + [anon_sym_struct] = ACTIONS(1338), + [anon_sym_union] = ACTIONS(1338), + [anon_sym_if] = ACTIONS(1338), + [anon_sym_switch] = ACTIONS(1338), + [anon_sym_case] = ACTIONS(1338), + [anon_sym_default] = ACTIONS(1338), + [anon_sym_while] = ACTIONS(1338), + [anon_sym_do] = ACTIONS(1338), + [anon_sym_for] = ACTIONS(1338), + [anon_sym_return] = ACTIONS(1338), + [anon_sym_break] = ACTIONS(1338), + [anon_sym_continue] = ACTIONS(1338), + [anon_sym_goto] = ACTIONS(1338), + [anon_sym___try] = ACTIONS(1338), + [anon_sym___leave] = ACTIONS(1338), + [anon_sym_DASH_DASH] = ACTIONS(1340), + [anon_sym_PLUS_PLUS] = ACTIONS(1340), + [anon_sym_sizeof] = ACTIONS(1338), + [anon_sym___alignof__] = ACTIONS(1338), + [anon_sym___alignof] = ACTIONS(1338), + [anon_sym__alignof] = ACTIONS(1338), + [anon_sym_alignof] = ACTIONS(1338), + [anon_sym__Alignof] = ACTIONS(1338), + [anon_sym_offsetof] = ACTIONS(1338), + [anon_sym__Generic] = ACTIONS(1338), + [anon_sym_asm] = ACTIONS(1338), + [anon_sym___asm__] = ACTIONS(1338), + [sym__number_literal] = ACTIONS(1340), + [anon_sym_L_SQUOTE] = ACTIONS(1340), + [anon_sym_u_SQUOTE] = ACTIONS(1340), + [anon_sym_U_SQUOTE] = ACTIONS(1340), + [anon_sym_u8_SQUOTE] = ACTIONS(1340), + [anon_sym_SQUOTE] = ACTIONS(1340), + [anon_sym_L_DQUOTE] = ACTIONS(1340), + [anon_sym_u_DQUOTE] = ACTIONS(1340), + [anon_sym_U_DQUOTE] = ACTIONS(1340), + [anon_sym_u8_DQUOTE] = ACTIONS(1340), + [anon_sym_DQUOTE] = ACTIONS(1340), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1338), + [anon_sym_nullptr] = ACTIONS(1338), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1340), + }, + [323] = { + [sym__identifier] = ACTIONS(1306), + [aux_sym_preproc_include_token1] = ACTIONS(1306), + [aux_sym_preproc_def_token1] = ACTIONS(1306), + [aux_sym_preproc_if_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1306), + [sym_preproc_directive] = ACTIONS(1306), + [anon_sym_LPAREN2] = ACTIONS(1308), + [anon_sym_BANG] = ACTIONS(1308), + [anon_sym_TILDE] = ACTIONS(1308), + [anon_sym_DASH] = ACTIONS(1306), + [anon_sym_PLUS] = ACTIONS(1306), + [anon_sym_STAR] = ACTIONS(1308), + [anon_sym_AMP] = ACTIONS(1308), + [anon_sym_SEMI] = ACTIONS(1308), + [anon_sym___extension__] = ACTIONS(1306), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(1306), + [anon_sym___attribute__] = ACTIONS(1306), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1308), + [anon_sym___declspec] = ACTIONS(1306), + [anon_sym___cdecl] = ACTIONS(1306), + [anon_sym___clrcall] = ACTIONS(1306), + [anon_sym___stdcall] = ACTIONS(1306), + [anon_sym___fastcall] = ACTIONS(1306), + [anon_sym___thiscall] = ACTIONS(1306), + [anon_sym___vectorcall] = ACTIONS(1306), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_RBRACE] = ACTIONS(1308), + [anon_sym_signed] = ACTIONS(1306), + [anon_sym_unsigned] = ACTIONS(1306), + [anon_sym_long] = ACTIONS(1306), + [anon_sym_short] = ACTIONS(1306), + [anon_sym_static] = ACTIONS(1306), + [anon_sym_auto] = ACTIONS(1306), + [anon_sym_register] = ACTIONS(1306), + [anon_sym_inline] = ACTIONS(1306), + [anon_sym___inline] = ACTIONS(1306), + [anon_sym___inline__] = ACTIONS(1306), + [anon_sym___forceinline] = ACTIONS(1306), + [anon_sym_thread_local] = ACTIONS(1306), + [anon_sym___thread] = ACTIONS(1306), + [anon_sym_const] = ACTIONS(1306), + [anon_sym_constexpr] = ACTIONS(1306), + [anon_sym_volatile] = ACTIONS(1306), + [anon_sym_restrict] = ACTIONS(1306), + [anon_sym___restrict__] = ACTIONS(1306), + [anon_sym__Atomic] = ACTIONS(1306), + [anon_sym__Noreturn] = ACTIONS(1306), + [anon_sym_noreturn] = ACTIONS(1306), + [anon_sym_alignas] = ACTIONS(1306), + [anon_sym__Alignas] = ACTIONS(1306), + [sym_primitive_type] = ACTIONS(1306), + [anon_sym_enum] = ACTIONS(1306), + [anon_sym_struct] = ACTIONS(1306), + [anon_sym_union] = ACTIONS(1306), + [anon_sym_if] = ACTIONS(1306), + [anon_sym_switch] = ACTIONS(1306), + [anon_sym_case] = ACTIONS(1306), + [anon_sym_default] = ACTIONS(1306), + [anon_sym_while] = ACTIONS(1306), + [anon_sym_do] = ACTIONS(1306), + [anon_sym_for] = ACTIONS(1306), + [anon_sym_return] = ACTIONS(1306), + [anon_sym_break] = ACTIONS(1306), + [anon_sym_continue] = ACTIONS(1306), + [anon_sym_goto] = ACTIONS(1306), + [anon_sym___try] = ACTIONS(1306), + [anon_sym___leave] = ACTIONS(1306), + [anon_sym_DASH_DASH] = ACTIONS(1308), + [anon_sym_PLUS_PLUS] = ACTIONS(1308), + [anon_sym_sizeof] = ACTIONS(1306), + [anon_sym___alignof__] = ACTIONS(1306), + [anon_sym___alignof] = ACTIONS(1306), + [anon_sym__alignof] = ACTIONS(1306), + [anon_sym_alignof] = ACTIONS(1306), + [anon_sym__Alignof] = ACTIONS(1306), + [anon_sym_offsetof] = ACTIONS(1306), + [anon_sym__Generic] = ACTIONS(1306), + [anon_sym_asm] = ACTIONS(1306), + [anon_sym___asm__] = ACTIONS(1306), + [sym__number_literal] = ACTIONS(1308), + [anon_sym_L_SQUOTE] = ACTIONS(1308), + [anon_sym_u_SQUOTE] = ACTIONS(1308), + [anon_sym_U_SQUOTE] = ACTIONS(1308), + [anon_sym_u8_SQUOTE] = ACTIONS(1308), + [anon_sym_SQUOTE] = ACTIONS(1308), + [anon_sym_L_DQUOTE] = ACTIONS(1308), + [anon_sym_u_DQUOTE] = ACTIONS(1308), + [anon_sym_U_DQUOTE] = ACTIONS(1308), + [anon_sym_u8_DQUOTE] = ACTIONS(1308), + [anon_sym_DQUOTE] = ACTIONS(1308), + [sym_true] = ACTIONS(1306), + [sym_false] = ACTIONS(1306), + [anon_sym_NULL] = ACTIONS(1306), + [anon_sym_nullptr] = ACTIONS(1306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1308), + }, + [324] = { + [sym__identifier] = ACTIONS(1232), + [aux_sym_preproc_include_token1] = ACTIONS(1232), + [aux_sym_preproc_def_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token2] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1232), + [sym_preproc_directive] = ACTIONS(1232), + [anon_sym_LPAREN2] = ACTIONS(1234), + [anon_sym_BANG] = ACTIONS(1234), + [anon_sym_TILDE] = ACTIONS(1234), + [anon_sym_DASH] = ACTIONS(1232), + [anon_sym_PLUS] = ACTIONS(1232), + [anon_sym_STAR] = ACTIONS(1234), + [anon_sym_AMP] = ACTIONS(1234), + [anon_sym_SEMI] = ACTIONS(1234), + [anon_sym___extension__] = ACTIONS(1232), + [anon_sym_typedef] = ACTIONS(1232), + [anon_sym_extern] = ACTIONS(1232), + [anon_sym___attribute__] = ACTIONS(1232), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1234), + [anon_sym___declspec] = ACTIONS(1232), + [anon_sym___cdecl] = ACTIONS(1232), + [anon_sym___clrcall] = ACTIONS(1232), + [anon_sym___stdcall] = ACTIONS(1232), + [anon_sym___fastcall] = ACTIONS(1232), + [anon_sym___thiscall] = ACTIONS(1232), + [anon_sym___vectorcall] = ACTIONS(1232), + [anon_sym_LBRACE] = ACTIONS(1234), + [anon_sym_signed] = ACTIONS(1232), + [anon_sym_unsigned] = ACTIONS(1232), + [anon_sym_long] = ACTIONS(1232), + [anon_sym_short] = ACTIONS(1232), + [anon_sym_static] = ACTIONS(1232), + [anon_sym_auto] = ACTIONS(1232), + [anon_sym_register] = ACTIONS(1232), + [anon_sym_inline] = ACTIONS(1232), + [anon_sym___inline] = ACTIONS(1232), + [anon_sym___inline__] = ACTIONS(1232), + [anon_sym___forceinline] = ACTIONS(1232), + [anon_sym_thread_local] = ACTIONS(1232), + [anon_sym___thread] = ACTIONS(1232), + [anon_sym_const] = ACTIONS(1232), + [anon_sym_constexpr] = ACTIONS(1232), + [anon_sym_volatile] = ACTIONS(1232), + [anon_sym_restrict] = ACTIONS(1232), + [anon_sym___restrict__] = ACTIONS(1232), + [anon_sym__Atomic] = ACTIONS(1232), + [anon_sym__Noreturn] = ACTIONS(1232), + [anon_sym_noreturn] = ACTIONS(1232), + [anon_sym_alignas] = ACTIONS(1232), + [anon_sym__Alignas] = ACTIONS(1232), + [sym_primitive_type] = ACTIONS(1232), + [anon_sym_enum] = ACTIONS(1232), + [anon_sym_struct] = ACTIONS(1232), + [anon_sym_union] = ACTIONS(1232), + [anon_sym_if] = ACTIONS(1232), + [anon_sym_switch] = ACTIONS(1232), + [anon_sym_case] = ACTIONS(1232), + [anon_sym_default] = ACTIONS(1232), + [anon_sym_while] = ACTIONS(1232), + [anon_sym_do] = ACTIONS(1232), + [anon_sym_for] = ACTIONS(1232), + [anon_sym_return] = ACTIONS(1232), + [anon_sym_break] = ACTIONS(1232), + [anon_sym_continue] = ACTIONS(1232), + [anon_sym_goto] = ACTIONS(1232), + [anon_sym___try] = ACTIONS(1232), + [anon_sym___leave] = ACTIONS(1232), + [anon_sym_DASH_DASH] = ACTIONS(1234), + [anon_sym_PLUS_PLUS] = ACTIONS(1234), + [anon_sym_sizeof] = ACTIONS(1232), + [anon_sym___alignof__] = ACTIONS(1232), + [anon_sym___alignof] = ACTIONS(1232), + [anon_sym__alignof] = ACTIONS(1232), + [anon_sym_alignof] = ACTIONS(1232), + [anon_sym__Alignof] = ACTIONS(1232), + [anon_sym_offsetof] = ACTIONS(1232), + [anon_sym__Generic] = ACTIONS(1232), + [anon_sym_asm] = ACTIONS(1232), + [anon_sym___asm__] = ACTIONS(1232), + [sym__number_literal] = ACTIONS(1234), + [anon_sym_L_SQUOTE] = ACTIONS(1234), + [anon_sym_u_SQUOTE] = ACTIONS(1234), + [anon_sym_U_SQUOTE] = ACTIONS(1234), + [anon_sym_u8_SQUOTE] = ACTIONS(1234), + [anon_sym_SQUOTE] = ACTIONS(1234), + [anon_sym_L_DQUOTE] = ACTIONS(1234), + [anon_sym_u_DQUOTE] = ACTIONS(1234), + [anon_sym_U_DQUOTE] = ACTIONS(1234), + [anon_sym_u8_DQUOTE] = ACTIONS(1234), + [anon_sym_DQUOTE] = ACTIONS(1234), + [sym_true] = ACTIONS(1232), + [sym_false] = ACTIONS(1232), + [anon_sym_NULL] = ACTIONS(1232), + [anon_sym_nullptr] = ACTIONS(1232), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1234), + }, + [325] = { + [sym__identifier] = ACTIONS(1302), + [aux_sym_preproc_include_token1] = ACTIONS(1302), + [aux_sym_preproc_def_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token2] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1302), + [sym_preproc_directive] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(1304), + [anon_sym_BANG] = ACTIONS(1304), + [anon_sym_TILDE] = ACTIONS(1304), + [anon_sym_DASH] = ACTIONS(1302), + [anon_sym_PLUS] = ACTIONS(1302), + [anon_sym_STAR] = ACTIONS(1304), + [anon_sym_AMP] = ACTIONS(1304), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym___extension__] = ACTIONS(1302), + [anon_sym_typedef] = ACTIONS(1302), + [anon_sym_extern] = ACTIONS(1302), + [anon_sym___attribute__] = ACTIONS(1302), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1304), + [anon_sym___declspec] = ACTIONS(1302), + [anon_sym___cdecl] = ACTIONS(1302), + [anon_sym___clrcall] = ACTIONS(1302), + [anon_sym___stdcall] = ACTIONS(1302), + [anon_sym___fastcall] = ACTIONS(1302), + [anon_sym___thiscall] = ACTIONS(1302), + [anon_sym___vectorcall] = ACTIONS(1302), + [anon_sym_LBRACE] = ACTIONS(1304), + [anon_sym_signed] = ACTIONS(1302), + [anon_sym_unsigned] = ACTIONS(1302), + [anon_sym_long] = ACTIONS(1302), + [anon_sym_short] = ACTIONS(1302), + [anon_sym_static] = ACTIONS(1302), + [anon_sym_auto] = ACTIONS(1302), + [anon_sym_register] = ACTIONS(1302), + [anon_sym_inline] = ACTIONS(1302), + [anon_sym___inline] = ACTIONS(1302), + [anon_sym___inline__] = ACTIONS(1302), + [anon_sym___forceinline] = ACTIONS(1302), + [anon_sym_thread_local] = ACTIONS(1302), + [anon_sym___thread] = ACTIONS(1302), + [anon_sym_const] = ACTIONS(1302), + [anon_sym_constexpr] = ACTIONS(1302), + [anon_sym_volatile] = ACTIONS(1302), + [anon_sym_restrict] = ACTIONS(1302), + [anon_sym___restrict__] = ACTIONS(1302), + [anon_sym__Atomic] = ACTIONS(1302), + [anon_sym__Noreturn] = ACTIONS(1302), + [anon_sym_noreturn] = ACTIONS(1302), + [anon_sym_alignas] = ACTIONS(1302), + [anon_sym__Alignas] = ACTIONS(1302), + [sym_primitive_type] = ACTIONS(1302), + [anon_sym_enum] = ACTIONS(1302), + [anon_sym_struct] = ACTIONS(1302), + [anon_sym_union] = ACTIONS(1302), + [anon_sym_if] = ACTIONS(1302), + [anon_sym_switch] = ACTIONS(1302), + [anon_sym_case] = ACTIONS(1302), + [anon_sym_default] = ACTIONS(1302), + [anon_sym_while] = ACTIONS(1302), + [anon_sym_do] = ACTIONS(1302), + [anon_sym_for] = ACTIONS(1302), + [anon_sym_return] = ACTIONS(1302), + [anon_sym_break] = ACTIONS(1302), + [anon_sym_continue] = ACTIONS(1302), + [anon_sym_goto] = ACTIONS(1302), + [anon_sym___try] = ACTIONS(1302), + [anon_sym___leave] = ACTIONS(1302), + [anon_sym_DASH_DASH] = ACTIONS(1304), + [anon_sym_PLUS_PLUS] = ACTIONS(1304), + [anon_sym_sizeof] = ACTIONS(1302), + [anon_sym___alignof__] = ACTIONS(1302), + [anon_sym___alignof] = ACTIONS(1302), + [anon_sym__alignof] = ACTIONS(1302), + [anon_sym_alignof] = ACTIONS(1302), + [anon_sym__Alignof] = ACTIONS(1302), + [anon_sym_offsetof] = ACTIONS(1302), + [anon_sym__Generic] = ACTIONS(1302), + [anon_sym_asm] = ACTIONS(1302), + [anon_sym___asm__] = ACTIONS(1302), + [sym__number_literal] = ACTIONS(1304), + [anon_sym_L_SQUOTE] = ACTIONS(1304), + [anon_sym_u_SQUOTE] = ACTIONS(1304), + [anon_sym_U_SQUOTE] = ACTIONS(1304), + [anon_sym_u8_SQUOTE] = ACTIONS(1304), + [anon_sym_SQUOTE] = ACTIONS(1304), + [anon_sym_L_DQUOTE] = ACTIONS(1304), + [anon_sym_u_DQUOTE] = ACTIONS(1304), + [anon_sym_U_DQUOTE] = ACTIONS(1304), + [anon_sym_u8_DQUOTE] = ACTIONS(1304), + [anon_sym_DQUOTE] = ACTIONS(1304), + [sym_true] = ACTIONS(1302), + [sym_false] = ACTIONS(1302), + [anon_sym_NULL] = ACTIONS(1302), + [anon_sym_nullptr] = ACTIONS(1302), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1304), + }, + [326] = { + [sym__identifier] = ACTIONS(1342), + [aux_sym_preproc_include_token1] = ACTIONS(1342), + [aux_sym_preproc_def_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token2] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1342), + [sym_preproc_directive] = ACTIONS(1342), + [anon_sym_LPAREN2] = ACTIONS(1344), + [anon_sym_BANG] = ACTIONS(1344), + [anon_sym_TILDE] = ACTIONS(1344), + [anon_sym_DASH] = ACTIONS(1342), + [anon_sym_PLUS] = ACTIONS(1342), + [anon_sym_STAR] = ACTIONS(1344), + [anon_sym_AMP] = ACTIONS(1344), + [anon_sym_SEMI] = ACTIONS(1344), + [anon_sym___extension__] = ACTIONS(1342), + [anon_sym_typedef] = ACTIONS(1342), + [anon_sym_extern] = ACTIONS(1342), + [anon_sym___attribute__] = ACTIONS(1342), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1344), + [anon_sym___declspec] = ACTIONS(1342), + [anon_sym___cdecl] = ACTIONS(1342), + [anon_sym___clrcall] = ACTIONS(1342), + [anon_sym___stdcall] = ACTIONS(1342), + [anon_sym___fastcall] = ACTIONS(1342), + [anon_sym___thiscall] = ACTIONS(1342), + [anon_sym___vectorcall] = ACTIONS(1342), + [anon_sym_LBRACE] = ACTIONS(1344), + [anon_sym_signed] = ACTIONS(1342), + [anon_sym_unsigned] = ACTIONS(1342), + [anon_sym_long] = ACTIONS(1342), + [anon_sym_short] = ACTIONS(1342), + [anon_sym_static] = ACTIONS(1342), + [anon_sym_auto] = ACTIONS(1342), + [anon_sym_register] = ACTIONS(1342), + [anon_sym_inline] = ACTIONS(1342), + [anon_sym___inline] = ACTIONS(1342), + [anon_sym___inline__] = ACTIONS(1342), + [anon_sym___forceinline] = ACTIONS(1342), + [anon_sym_thread_local] = ACTIONS(1342), + [anon_sym___thread] = ACTIONS(1342), + [anon_sym_const] = ACTIONS(1342), + [anon_sym_constexpr] = ACTIONS(1342), + [anon_sym_volatile] = ACTIONS(1342), + [anon_sym_restrict] = ACTIONS(1342), + [anon_sym___restrict__] = ACTIONS(1342), + [anon_sym__Atomic] = ACTIONS(1342), + [anon_sym__Noreturn] = ACTIONS(1342), + [anon_sym_noreturn] = ACTIONS(1342), + [anon_sym_alignas] = ACTIONS(1342), + [anon_sym__Alignas] = ACTIONS(1342), + [sym_primitive_type] = ACTIONS(1342), + [anon_sym_enum] = ACTIONS(1342), + [anon_sym_struct] = ACTIONS(1342), + [anon_sym_union] = ACTIONS(1342), + [anon_sym_if] = ACTIONS(1342), + [anon_sym_switch] = ACTIONS(1342), + [anon_sym_case] = ACTIONS(1342), + [anon_sym_default] = ACTIONS(1342), + [anon_sym_while] = ACTIONS(1342), + [anon_sym_do] = ACTIONS(1342), + [anon_sym_for] = ACTIONS(1342), + [anon_sym_return] = ACTIONS(1342), + [anon_sym_break] = ACTIONS(1342), + [anon_sym_continue] = ACTIONS(1342), + [anon_sym_goto] = ACTIONS(1342), + [anon_sym___try] = ACTIONS(1342), + [anon_sym___leave] = ACTIONS(1342), + [anon_sym_DASH_DASH] = ACTIONS(1344), + [anon_sym_PLUS_PLUS] = ACTIONS(1344), + [anon_sym_sizeof] = ACTIONS(1342), + [anon_sym___alignof__] = ACTIONS(1342), + [anon_sym___alignof] = ACTIONS(1342), + [anon_sym__alignof] = ACTIONS(1342), + [anon_sym_alignof] = ACTIONS(1342), + [anon_sym__Alignof] = ACTIONS(1342), + [anon_sym_offsetof] = ACTIONS(1342), + [anon_sym__Generic] = ACTIONS(1342), + [anon_sym_asm] = ACTIONS(1342), + [anon_sym___asm__] = ACTIONS(1342), + [sym__number_literal] = ACTIONS(1344), + [anon_sym_L_SQUOTE] = ACTIONS(1344), + [anon_sym_u_SQUOTE] = ACTIONS(1344), + [anon_sym_U_SQUOTE] = ACTIONS(1344), + [anon_sym_u8_SQUOTE] = ACTIONS(1344), + [anon_sym_SQUOTE] = ACTIONS(1344), + [anon_sym_L_DQUOTE] = ACTIONS(1344), + [anon_sym_u_DQUOTE] = ACTIONS(1344), + [anon_sym_U_DQUOTE] = ACTIONS(1344), + [anon_sym_u8_DQUOTE] = ACTIONS(1344), + [anon_sym_DQUOTE] = ACTIONS(1344), + [sym_true] = ACTIONS(1342), + [sym_false] = ACTIONS(1342), + [anon_sym_NULL] = ACTIONS(1342), + [anon_sym_nullptr] = ACTIONS(1342), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + }, + [327] = { + [sym__identifier] = ACTIONS(1244), + [aux_sym_preproc_include_token1] = ACTIONS(1244), + [aux_sym_preproc_def_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1244), + [sym_preproc_directive] = ACTIONS(1244), + [anon_sym_LPAREN2] = ACTIONS(1246), + [anon_sym_BANG] = ACTIONS(1246), + [anon_sym_TILDE] = ACTIONS(1246), + [anon_sym_DASH] = ACTIONS(1244), + [anon_sym_PLUS] = ACTIONS(1244), + [anon_sym_STAR] = ACTIONS(1246), + [anon_sym_AMP] = ACTIONS(1246), + [anon_sym_SEMI] = ACTIONS(1246), + [anon_sym___extension__] = ACTIONS(1244), + [anon_sym_typedef] = ACTIONS(1244), + [anon_sym_extern] = ACTIONS(1244), + [anon_sym___attribute__] = ACTIONS(1244), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1246), + [anon_sym___declspec] = ACTIONS(1244), + [anon_sym___cdecl] = ACTIONS(1244), + [anon_sym___clrcall] = ACTIONS(1244), + [anon_sym___stdcall] = ACTIONS(1244), + [anon_sym___fastcall] = ACTIONS(1244), + [anon_sym___thiscall] = ACTIONS(1244), + [anon_sym___vectorcall] = ACTIONS(1244), + [anon_sym_LBRACE] = ACTIONS(1246), + [anon_sym_RBRACE] = ACTIONS(1246), + [anon_sym_signed] = ACTIONS(1244), + [anon_sym_unsigned] = ACTIONS(1244), + [anon_sym_long] = ACTIONS(1244), + [anon_sym_short] = ACTIONS(1244), + [anon_sym_static] = ACTIONS(1244), + [anon_sym_auto] = ACTIONS(1244), + [anon_sym_register] = ACTIONS(1244), + [anon_sym_inline] = ACTIONS(1244), + [anon_sym___inline] = ACTIONS(1244), + [anon_sym___inline__] = ACTIONS(1244), + [anon_sym___forceinline] = ACTIONS(1244), + [anon_sym_thread_local] = ACTIONS(1244), + [anon_sym___thread] = ACTIONS(1244), + [anon_sym_const] = ACTIONS(1244), + [anon_sym_constexpr] = ACTIONS(1244), + [anon_sym_volatile] = ACTIONS(1244), + [anon_sym_restrict] = ACTIONS(1244), + [anon_sym___restrict__] = ACTIONS(1244), + [anon_sym__Atomic] = ACTIONS(1244), + [anon_sym__Noreturn] = ACTIONS(1244), + [anon_sym_noreturn] = ACTIONS(1244), + [anon_sym_alignas] = ACTIONS(1244), + [anon_sym__Alignas] = ACTIONS(1244), + [sym_primitive_type] = ACTIONS(1244), + [anon_sym_enum] = ACTIONS(1244), + [anon_sym_struct] = ACTIONS(1244), + [anon_sym_union] = ACTIONS(1244), + [anon_sym_if] = ACTIONS(1244), + [anon_sym_switch] = ACTIONS(1244), + [anon_sym_case] = ACTIONS(1244), + [anon_sym_default] = ACTIONS(1244), + [anon_sym_while] = ACTIONS(1244), + [anon_sym_do] = ACTIONS(1244), + [anon_sym_for] = ACTIONS(1244), + [anon_sym_return] = ACTIONS(1244), + [anon_sym_break] = ACTIONS(1244), + [anon_sym_continue] = ACTIONS(1244), + [anon_sym_goto] = ACTIONS(1244), + [anon_sym___try] = ACTIONS(1244), + [anon_sym___leave] = ACTIONS(1244), + [anon_sym_DASH_DASH] = ACTIONS(1246), + [anon_sym_PLUS_PLUS] = ACTIONS(1246), + [anon_sym_sizeof] = ACTIONS(1244), + [anon_sym___alignof__] = ACTIONS(1244), + [anon_sym___alignof] = ACTIONS(1244), + [anon_sym__alignof] = ACTIONS(1244), + [anon_sym_alignof] = ACTIONS(1244), + [anon_sym__Alignof] = ACTIONS(1244), + [anon_sym_offsetof] = ACTIONS(1244), + [anon_sym__Generic] = ACTIONS(1244), + [anon_sym_asm] = ACTIONS(1244), + [anon_sym___asm__] = ACTIONS(1244), + [sym__number_literal] = ACTIONS(1246), + [anon_sym_L_SQUOTE] = ACTIONS(1246), + [anon_sym_u_SQUOTE] = ACTIONS(1246), + [anon_sym_U_SQUOTE] = ACTIONS(1246), + [anon_sym_u8_SQUOTE] = ACTIONS(1246), + [anon_sym_SQUOTE] = ACTIONS(1246), + [anon_sym_L_DQUOTE] = ACTIONS(1246), + [anon_sym_u_DQUOTE] = ACTIONS(1246), + [anon_sym_U_DQUOTE] = ACTIONS(1246), + [anon_sym_u8_DQUOTE] = ACTIONS(1246), + [anon_sym_DQUOTE] = ACTIONS(1246), + [sym_true] = ACTIONS(1244), + [sym_false] = ACTIONS(1244), + [anon_sym_NULL] = ACTIONS(1244), + [anon_sym_nullptr] = ACTIONS(1244), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1246), + }, + [328] = { + [sym__identifier] = ACTIONS(1256), + [aux_sym_preproc_include_token1] = ACTIONS(1256), + [aux_sym_preproc_def_token1] = ACTIONS(1256), + [aux_sym_preproc_if_token1] = ACTIONS(1256), + [aux_sym_preproc_if_token2] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1256), + [sym_preproc_directive] = ACTIONS(1256), + [anon_sym_LPAREN2] = ACTIONS(1258), + [anon_sym_BANG] = ACTIONS(1258), + [anon_sym_TILDE] = ACTIONS(1258), + [anon_sym_DASH] = ACTIONS(1256), + [anon_sym_PLUS] = ACTIONS(1256), + [anon_sym_STAR] = ACTIONS(1258), + [anon_sym_AMP] = ACTIONS(1258), + [anon_sym_SEMI] = ACTIONS(1258), + [anon_sym___extension__] = ACTIONS(1256), + [anon_sym_typedef] = ACTIONS(1256), + [anon_sym_extern] = ACTIONS(1256), + [anon_sym___attribute__] = ACTIONS(1256), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1258), + [anon_sym___declspec] = ACTIONS(1256), + [anon_sym___cdecl] = ACTIONS(1256), + [anon_sym___clrcall] = ACTIONS(1256), + [anon_sym___stdcall] = ACTIONS(1256), + [anon_sym___fastcall] = ACTIONS(1256), + [anon_sym___thiscall] = ACTIONS(1256), + [anon_sym___vectorcall] = ACTIONS(1256), + [anon_sym_LBRACE] = ACTIONS(1258), + [anon_sym_signed] = ACTIONS(1256), + [anon_sym_unsigned] = ACTIONS(1256), + [anon_sym_long] = ACTIONS(1256), + [anon_sym_short] = ACTIONS(1256), + [anon_sym_static] = ACTIONS(1256), + [anon_sym_auto] = ACTIONS(1256), + [anon_sym_register] = ACTIONS(1256), + [anon_sym_inline] = ACTIONS(1256), + [anon_sym___inline] = ACTIONS(1256), + [anon_sym___inline__] = ACTIONS(1256), + [anon_sym___forceinline] = ACTIONS(1256), + [anon_sym_thread_local] = ACTIONS(1256), + [anon_sym___thread] = ACTIONS(1256), + [anon_sym_const] = ACTIONS(1256), + [anon_sym_constexpr] = ACTIONS(1256), + [anon_sym_volatile] = ACTIONS(1256), + [anon_sym_restrict] = ACTIONS(1256), + [anon_sym___restrict__] = ACTIONS(1256), + [anon_sym__Atomic] = ACTIONS(1256), + [anon_sym__Noreturn] = ACTIONS(1256), + [anon_sym_noreturn] = ACTIONS(1256), + [anon_sym_alignas] = ACTIONS(1256), + [anon_sym__Alignas] = ACTIONS(1256), + [sym_primitive_type] = ACTIONS(1256), + [anon_sym_enum] = ACTIONS(1256), + [anon_sym_struct] = ACTIONS(1256), + [anon_sym_union] = ACTIONS(1256), + [anon_sym_if] = ACTIONS(1256), + [anon_sym_switch] = ACTIONS(1256), + [anon_sym_case] = ACTIONS(1256), + [anon_sym_default] = ACTIONS(1256), + [anon_sym_while] = ACTIONS(1256), + [anon_sym_do] = ACTIONS(1256), + [anon_sym_for] = ACTIONS(1256), + [anon_sym_return] = ACTIONS(1256), + [anon_sym_break] = ACTIONS(1256), + [anon_sym_continue] = ACTIONS(1256), + [anon_sym_goto] = ACTIONS(1256), + [anon_sym___try] = ACTIONS(1256), + [anon_sym___leave] = ACTIONS(1256), + [anon_sym_DASH_DASH] = ACTIONS(1258), + [anon_sym_PLUS_PLUS] = ACTIONS(1258), + [anon_sym_sizeof] = ACTIONS(1256), + [anon_sym___alignof__] = ACTIONS(1256), + [anon_sym___alignof] = ACTIONS(1256), + [anon_sym__alignof] = ACTIONS(1256), + [anon_sym_alignof] = ACTIONS(1256), + [anon_sym__Alignof] = ACTIONS(1256), + [anon_sym_offsetof] = ACTIONS(1256), + [anon_sym__Generic] = ACTIONS(1256), + [anon_sym_asm] = ACTIONS(1256), + [anon_sym___asm__] = ACTIONS(1256), + [sym__number_literal] = ACTIONS(1258), + [anon_sym_L_SQUOTE] = ACTIONS(1258), + [anon_sym_u_SQUOTE] = ACTIONS(1258), + [anon_sym_U_SQUOTE] = ACTIONS(1258), + [anon_sym_u8_SQUOTE] = ACTIONS(1258), + [anon_sym_SQUOTE] = ACTIONS(1258), + [anon_sym_L_DQUOTE] = ACTIONS(1258), + [anon_sym_u_DQUOTE] = ACTIONS(1258), + [anon_sym_U_DQUOTE] = ACTIONS(1258), + [anon_sym_u8_DQUOTE] = ACTIONS(1258), + [anon_sym_DQUOTE] = ACTIONS(1258), + [sym_true] = ACTIONS(1256), + [sym_false] = ACTIONS(1256), + [anon_sym_NULL] = ACTIONS(1256), + [anon_sym_nullptr] = ACTIONS(1256), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1258), + }, + [329] = { + [sym__identifier] = ACTIONS(1232), + [aux_sym_preproc_include_token1] = ACTIONS(1232), + [aux_sym_preproc_def_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1232), + [sym_preproc_directive] = ACTIONS(1232), + [anon_sym_LPAREN2] = ACTIONS(1234), + [anon_sym_BANG] = ACTIONS(1234), + [anon_sym_TILDE] = ACTIONS(1234), + [anon_sym_DASH] = ACTIONS(1232), + [anon_sym_PLUS] = ACTIONS(1232), + [anon_sym_STAR] = ACTIONS(1234), + [anon_sym_AMP] = ACTIONS(1234), + [anon_sym_SEMI] = ACTIONS(1234), + [anon_sym___extension__] = ACTIONS(1232), + [anon_sym_typedef] = ACTIONS(1232), + [anon_sym_extern] = ACTIONS(1232), + [anon_sym___attribute__] = ACTIONS(1232), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1234), + [anon_sym___declspec] = ACTIONS(1232), + [anon_sym___cdecl] = ACTIONS(1232), + [anon_sym___clrcall] = ACTIONS(1232), + [anon_sym___stdcall] = ACTIONS(1232), + [anon_sym___fastcall] = ACTIONS(1232), + [anon_sym___thiscall] = ACTIONS(1232), + [anon_sym___vectorcall] = ACTIONS(1232), + [anon_sym_LBRACE] = ACTIONS(1234), + [anon_sym_RBRACE] = ACTIONS(1234), + [anon_sym_signed] = ACTIONS(1232), + [anon_sym_unsigned] = ACTIONS(1232), + [anon_sym_long] = ACTIONS(1232), + [anon_sym_short] = ACTIONS(1232), + [anon_sym_static] = ACTIONS(1232), + [anon_sym_auto] = ACTIONS(1232), + [anon_sym_register] = ACTIONS(1232), + [anon_sym_inline] = ACTIONS(1232), + [anon_sym___inline] = ACTIONS(1232), + [anon_sym___inline__] = ACTIONS(1232), + [anon_sym___forceinline] = ACTIONS(1232), + [anon_sym_thread_local] = ACTIONS(1232), + [anon_sym___thread] = ACTIONS(1232), + [anon_sym_const] = ACTIONS(1232), + [anon_sym_constexpr] = ACTIONS(1232), + [anon_sym_volatile] = ACTIONS(1232), + [anon_sym_restrict] = ACTIONS(1232), + [anon_sym___restrict__] = ACTIONS(1232), + [anon_sym__Atomic] = ACTIONS(1232), + [anon_sym__Noreturn] = ACTIONS(1232), + [anon_sym_noreturn] = ACTIONS(1232), + [anon_sym_alignas] = ACTIONS(1232), + [anon_sym__Alignas] = ACTIONS(1232), + [sym_primitive_type] = ACTIONS(1232), + [anon_sym_enum] = ACTIONS(1232), + [anon_sym_struct] = ACTIONS(1232), + [anon_sym_union] = ACTIONS(1232), + [anon_sym_if] = ACTIONS(1232), + [anon_sym_switch] = ACTIONS(1232), + [anon_sym_case] = ACTIONS(1232), + [anon_sym_default] = ACTIONS(1232), + [anon_sym_while] = ACTIONS(1232), + [anon_sym_do] = ACTIONS(1232), + [anon_sym_for] = ACTIONS(1232), + [anon_sym_return] = ACTIONS(1232), + [anon_sym_break] = ACTIONS(1232), + [anon_sym_continue] = ACTIONS(1232), + [anon_sym_goto] = ACTIONS(1232), + [anon_sym___try] = ACTIONS(1232), + [anon_sym___leave] = ACTIONS(1232), + [anon_sym_DASH_DASH] = ACTIONS(1234), + [anon_sym_PLUS_PLUS] = ACTIONS(1234), + [anon_sym_sizeof] = ACTIONS(1232), + [anon_sym___alignof__] = ACTIONS(1232), + [anon_sym___alignof] = ACTIONS(1232), + [anon_sym__alignof] = ACTIONS(1232), + [anon_sym_alignof] = ACTIONS(1232), + [anon_sym__Alignof] = ACTIONS(1232), + [anon_sym_offsetof] = ACTIONS(1232), + [anon_sym__Generic] = ACTIONS(1232), + [anon_sym_asm] = ACTIONS(1232), + [anon_sym___asm__] = ACTIONS(1232), + [sym__number_literal] = ACTIONS(1234), + [anon_sym_L_SQUOTE] = ACTIONS(1234), + [anon_sym_u_SQUOTE] = ACTIONS(1234), + [anon_sym_U_SQUOTE] = ACTIONS(1234), + [anon_sym_u8_SQUOTE] = ACTIONS(1234), + [anon_sym_SQUOTE] = ACTIONS(1234), + [anon_sym_L_DQUOTE] = ACTIONS(1234), + [anon_sym_u_DQUOTE] = ACTIONS(1234), + [anon_sym_U_DQUOTE] = ACTIONS(1234), + [anon_sym_u8_DQUOTE] = ACTIONS(1234), + [anon_sym_DQUOTE] = ACTIONS(1234), + [sym_true] = ACTIONS(1232), + [sym_false] = ACTIONS(1232), + [anon_sym_NULL] = ACTIONS(1232), + [anon_sym_nullptr] = ACTIONS(1232), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1234), + }, + [330] = { + [sym__identifier] = ACTIONS(1244), + [aux_sym_preproc_include_token1] = ACTIONS(1244), + [aux_sym_preproc_def_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token2] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1244), + [sym_preproc_directive] = ACTIONS(1244), + [anon_sym_LPAREN2] = ACTIONS(1246), + [anon_sym_BANG] = ACTIONS(1246), + [anon_sym_TILDE] = ACTIONS(1246), + [anon_sym_DASH] = ACTIONS(1244), + [anon_sym_PLUS] = ACTIONS(1244), + [anon_sym_STAR] = ACTIONS(1246), + [anon_sym_AMP] = ACTIONS(1246), + [anon_sym_SEMI] = ACTIONS(1246), + [anon_sym___extension__] = ACTIONS(1244), + [anon_sym_typedef] = ACTIONS(1244), + [anon_sym_extern] = ACTIONS(1244), + [anon_sym___attribute__] = ACTIONS(1244), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1246), + [anon_sym___declspec] = ACTIONS(1244), + [anon_sym___cdecl] = ACTIONS(1244), + [anon_sym___clrcall] = ACTIONS(1244), + [anon_sym___stdcall] = ACTIONS(1244), + [anon_sym___fastcall] = ACTIONS(1244), + [anon_sym___thiscall] = ACTIONS(1244), + [anon_sym___vectorcall] = ACTIONS(1244), + [anon_sym_LBRACE] = ACTIONS(1246), + [anon_sym_signed] = ACTIONS(1244), + [anon_sym_unsigned] = ACTIONS(1244), + [anon_sym_long] = ACTIONS(1244), + [anon_sym_short] = ACTIONS(1244), + [anon_sym_static] = ACTIONS(1244), + [anon_sym_auto] = ACTIONS(1244), + [anon_sym_register] = ACTIONS(1244), + [anon_sym_inline] = ACTIONS(1244), + [anon_sym___inline] = ACTIONS(1244), + [anon_sym___inline__] = ACTIONS(1244), + [anon_sym___forceinline] = ACTIONS(1244), + [anon_sym_thread_local] = ACTIONS(1244), + [anon_sym___thread] = ACTIONS(1244), + [anon_sym_const] = ACTIONS(1244), + [anon_sym_constexpr] = ACTIONS(1244), + [anon_sym_volatile] = ACTIONS(1244), + [anon_sym_restrict] = ACTIONS(1244), + [anon_sym___restrict__] = ACTIONS(1244), + [anon_sym__Atomic] = ACTIONS(1244), + [anon_sym__Noreturn] = ACTIONS(1244), + [anon_sym_noreturn] = ACTIONS(1244), + [anon_sym_alignas] = ACTIONS(1244), + [anon_sym__Alignas] = ACTIONS(1244), + [sym_primitive_type] = ACTIONS(1244), + [anon_sym_enum] = ACTIONS(1244), + [anon_sym_struct] = ACTIONS(1244), + [anon_sym_union] = ACTIONS(1244), + [anon_sym_if] = ACTIONS(1244), + [anon_sym_switch] = ACTIONS(1244), + [anon_sym_case] = ACTIONS(1244), + [anon_sym_default] = ACTIONS(1244), + [anon_sym_while] = ACTIONS(1244), + [anon_sym_do] = ACTIONS(1244), + [anon_sym_for] = ACTIONS(1244), + [anon_sym_return] = ACTIONS(1244), + [anon_sym_break] = ACTIONS(1244), + [anon_sym_continue] = ACTIONS(1244), + [anon_sym_goto] = ACTIONS(1244), + [anon_sym___try] = ACTIONS(1244), + [anon_sym___leave] = ACTIONS(1244), + [anon_sym_DASH_DASH] = ACTIONS(1246), + [anon_sym_PLUS_PLUS] = ACTIONS(1246), + [anon_sym_sizeof] = ACTIONS(1244), + [anon_sym___alignof__] = ACTIONS(1244), + [anon_sym___alignof] = ACTIONS(1244), + [anon_sym__alignof] = ACTIONS(1244), + [anon_sym_alignof] = ACTIONS(1244), + [anon_sym__Alignof] = ACTIONS(1244), + [anon_sym_offsetof] = ACTIONS(1244), + [anon_sym__Generic] = ACTIONS(1244), + [anon_sym_asm] = ACTIONS(1244), + [anon_sym___asm__] = ACTIONS(1244), + [sym__number_literal] = ACTIONS(1246), + [anon_sym_L_SQUOTE] = ACTIONS(1246), + [anon_sym_u_SQUOTE] = ACTIONS(1246), + [anon_sym_U_SQUOTE] = ACTIONS(1246), + [anon_sym_u8_SQUOTE] = ACTIONS(1246), + [anon_sym_SQUOTE] = ACTIONS(1246), + [anon_sym_L_DQUOTE] = ACTIONS(1246), + [anon_sym_u_DQUOTE] = ACTIONS(1246), + [anon_sym_U_DQUOTE] = ACTIONS(1246), + [anon_sym_u8_DQUOTE] = ACTIONS(1246), + [anon_sym_DQUOTE] = ACTIONS(1246), + [sym_true] = ACTIONS(1244), + [sym_false] = ACTIONS(1244), + [anon_sym_NULL] = ACTIONS(1244), + [anon_sym_nullptr] = ACTIONS(1244), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1246), + }, + [331] = { + [sym__identifier] = ACTIONS(1338), + [aux_sym_preproc_include_token1] = ACTIONS(1338), + [aux_sym_preproc_def_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1338), + [sym_preproc_directive] = ACTIONS(1338), + [anon_sym_LPAREN2] = ACTIONS(1340), + [anon_sym_BANG] = ACTIONS(1340), + [anon_sym_TILDE] = ACTIONS(1340), + [anon_sym_DASH] = ACTIONS(1338), + [anon_sym_PLUS] = ACTIONS(1338), + [anon_sym_STAR] = ACTIONS(1340), + [anon_sym_AMP] = ACTIONS(1340), + [anon_sym_SEMI] = ACTIONS(1340), + [anon_sym___extension__] = ACTIONS(1338), + [anon_sym_typedef] = ACTIONS(1338), + [anon_sym_extern] = ACTIONS(1338), + [anon_sym___attribute__] = ACTIONS(1338), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1340), + [anon_sym___declspec] = ACTIONS(1338), + [anon_sym___cdecl] = ACTIONS(1338), + [anon_sym___clrcall] = ACTIONS(1338), + [anon_sym___stdcall] = ACTIONS(1338), + [anon_sym___fastcall] = ACTIONS(1338), + [anon_sym___thiscall] = ACTIONS(1338), + [anon_sym___vectorcall] = ACTIONS(1338), + [anon_sym_LBRACE] = ACTIONS(1340), + [anon_sym_RBRACE] = ACTIONS(1340), + [anon_sym_signed] = ACTIONS(1338), + [anon_sym_unsigned] = ACTIONS(1338), + [anon_sym_long] = ACTIONS(1338), + [anon_sym_short] = ACTIONS(1338), + [anon_sym_static] = ACTIONS(1338), + [anon_sym_auto] = ACTIONS(1338), + [anon_sym_register] = ACTIONS(1338), + [anon_sym_inline] = ACTIONS(1338), + [anon_sym___inline] = ACTIONS(1338), + [anon_sym___inline__] = ACTIONS(1338), + [anon_sym___forceinline] = ACTIONS(1338), + [anon_sym_thread_local] = ACTIONS(1338), + [anon_sym___thread] = ACTIONS(1338), + [anon_sym_const] = ACTIONS(1338), + [anon_sym_constexpr] = ACTIONS(1338), + [anon_sym_volatile] = ACTIONS(1338), + [anon_sym_restrict] = ACTIONS(1338), + [anon_sym___restrict__] = ACTIONS(1338), + [anon_sym__Atomic] = ACTIONS(1338), + [anon_sym__Noreturn] = ACTIONS(1338), + [anon_sym_noreturn] = ACTIONS(1338), + [anon_sym_alignas] = ACTIONS(1338), + [anon_sym__Alignas] = ACTIONS(1338), + [sym_primitive_type] = ACTIONS(1338), + [anon_sym_enum] = ACTIONS(1338), + [anon_sym_struct] = ACTIONS(1338), + [anon_sym_union] = ACTIONS(1338), + [anon_sym_if] = ACTIONS(1338), + [anon_sym_switch] = ACTIONS(1338), + [anon_sym_case] = ACTIONS(1338), + [anon_sym_default] = ACTIONS(1338), + [anon_sym_while] = ACTIONS(1338), + [anon_sym_do] = ACTIONS(1338), + [anon_sym_for] = ACTIONS(1338), + [anon_sym_return] = ACTIONS(1338), + [anon_sym_break] = ACTIONS(1338), + [anon_sym_continue] = ACTIONS(1338), + [anon_sym_goto] = ACTIONS(1338), + [anon_sym___try] = ACTIONS(1338), + [anon_sym___leave] = ACTIONS(1338), + [anon_sym_DASH_DASH] = ACTIONS(1340), + [anon_sym_PLUS_PLUS] = ACTIONS(1340), + [anon_sym_sizeof] = ACTIONS(1338), + [anon_sym___alignof__] = ACTIONS(1338), + [anon_sym___alignof] = ACTIONS(1338), + [anon_sym__alignof] = ACTIONS(1338), + [anon_sym_alignof] = ACTIONS(1338), + [anon_sym__Alignof] = ACTIONS(1338), + [anon_sym_offsetof] = ACTIONS(1338), + [anon_sym__Generic] = ACTIONS(1338), + [anon_sym_asm] = ACTIONS(1338), + [anon_sym___asm__] = ACTIONS(1338), + [sym__number_literal] = ACTIONS(1340), + [anon_sym_L_SQUOTE] = ACTIONS(1340), + [anon_sym_u_SQUOTE] = ACTIONS(1340), + [anon_sym_U_SQUOTE] = ACTIONS(1340), + [anon_sym_u8_SQUOTE] = ACTIONS(1340), + [anon_sym_SQUOTE] = ACTIONS(1340), + [anon_sym_L_DQUOTE] = ACTIONS(1340), + [anon_sym_u_DQUOTE] = ACTIONS(1340), + [anon_sym_U_DQUOTE] = ACTIONS(1340), + [anon_sym_u8_DQUOTE] = ACTIONS(1340), + [anon_sym_DQUOTE] = ACTIONS(1340), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1338), + [anon_sym_nullptr] = ACTIONS(1338), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1340), + }, + [332] = { + [sym__identifier] = ACTIONS(1228), + [aux_sym_preproc_include_token1] = ACTIONS(1228), + [aux_sym_preproc_def_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1228), + [sym_preproc_directive] = ACTIONS(1228), + [anon_sym_LPAREN2] = ACTIONS(1230), + [anon_sym_BANG] = ACTIONS(1230), + [anon_sym_TILDE] = ACTIONS(1230), + [anon_sym_DASH] = ACTIONS(1228), + [anon_sym_PLUS] = ACTIONS(1228), + [anon_sym_STAR] = ACTIONS(1230), + [anon_sym_AMP] = ACTIONS(1230), + [anon_sym_SEMI] = ACTIONS(1230), + [anon_sym___extension__] = ACTIONS(1228), + [anon_sym_typedef] = ACTIONS(1228), + [anon_sym_extern] = ACTIONS(1228), + [anon_sym___attribute__] = ACTIONS(1228), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1230), + [anon_sym___declspec] = ACTIONS(1228), + [anon_sym___cdecl] = ACTIONS(1228), + [anon_sym___clrcall] = ACTIONS(1228), + [anon_sym___stdcall] = ACTIONS(1228), + [anon_sym___fastcall] = ACTIONS(1228), + [anon_sym___thiscall] = ACTIONS(1228), + [anon_sym___vectorcall] = ACTIONS(1228), + [anon_sym_LBRACE] = ACTIONS(1230), + [anon_sym_RBRACE] = ACTIONS(1230), + [anon_sym_signed] = ACTIONS(1228), + [anon_sym_unsigned] = ACTIONS(1228), + [anon_sym_long] = ACTIONS(1228), + [anon_sym_short] = ACTIONS(1228), + [anon_sym_static] = ACTIONS(1228), + [anon_sym_auto] = ACTIONS(1228), + [anon_sym_register] = ACTIONS(1228), + [anon_sym_inline] = ACTIONS(1228), + [anon_sym___inline] = ACTIONS(1228), + [anon_sym___inline__] = ACTIONS(1228), + [anon_sym___forceinline] = ACTIONS(1228), + [anon_sym_thread_local] = ACTIONS(1228), + [anon_sym___thread] = ACTIONS(1228), + [anon_sym_const] = ACTIONS(1228), + [anon_sym_constexpr] = ACTIONS(1228), + [anon_sym_volatile] = ACTIONS(1228), + [anon_sym_restrict] = ACTIONS(1228), + [anon_sym___restrict__] = ACTIONS(1228), + [anon_sym__Atomic] = ACTIONS(1228), + [anon_sym__Noreturn] = ACTIONS(1228), + [anon_sym_noreturn] = ACTIONS(1228), + [anon_sym_alignas] = ACTIONS(1228), + [anon_sym__Alignas] = ACTIONS(1228), + [sym_primitive_type] = ACTIONS(1228), + [anon_sym_enum] = ACTIONS(1228), + [anon_sym_struct] = ACTIONS(1228), + [anon_sym_union] = ACTIONS(1228), + [anon_sym_if] = ACTIONS(1228), + [anon_sym_switch] = ACTIONS(1228), + [anon_sym_case] = ACTIONS(1228), + [anon_sym_default] = ACTIONS(1228), + [anon_sym_while] = ACTIONS(1228), + [anon_sym_do] = ACTIONS(1228), + [anon_sym_for] = ACTIONS(1228), + [anon_sym_return] = ACTIONS(1228), + [anon_sym_break] = ACTIONS(1228), + [anon_sym_continue] = ACTIONS(1228), + [anon_sym_goto] = ACTIONS(1228), + [anon_sym___try] = ACTIONS(1228), + [anon_sym___leave] = ACTIONS(1228), + [anon_sym_DASH_DASH] = ACTIONS(1230), + [anon_sym_PLUS_PLUS] = ACTIONS(1230), + [anon_sym_sizeof] = ACTIONS(1228), + [anon_sym___alignof__] = ACTIONS(1228), + [anon_sym___alignof] = ACTIONS(1228), + [anon_sym__alignof] = ACTIONS(1228), + [anon_sym_alignof] = ACTIONS(1228), + [anon_sym__Alignof] = ACTIONS(1228), + [anon_sym_offsetof] = ACTIONS(1228), + [anon_sym__Generic] = ACTIONS(1228), + [anon_sym_asm] = ACTIONS(1228), + [anon_sym___asm__] = ACTIONS(1228), + [sym__number_literal] = ACTIONS(1230), + [anon_sym_L_SQUOTE] = ACTIONS(1230), + [anon_sym_u_SQUOTE] = ACTIONS(1230), + [anon_sym_U_SQUOTE] = ACTIONS(1230), + [anon_sym_u8_SQUOTE] = ACTIONS(1230), + [anon_sym_SQUOTE] = ACTIONS(1230), + [anon_sym_L_DQUOTE] = ACTIONS(1230), + [anon_sym_u_DQUOTE] = ACTIONS(1230), + [anon_sym_U_DQUOTE] = ACTIONS(1230), + [anon_sym_u8_DQUOTE] = ACTIONS(1230), + [anon_sym_DQUOTE] = ACTIONS(1230), + [sym_true] = ACTIONS(1228), + [sym_false] = ACTIONS(1228), + [anon_sym_NULL] = ACTIONS(1228), + [anon_sym_nullptr] = ACTIONS(1228), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1230), + }, + [333] = { + [sym__identifier] = ACTIONS(1330), + [aux_sym_preproc_include_token1] = ACTIONS(1330), + [aux_sym_preproc_def_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1330), + [sym_preproc_directive] = ACTIONS(1330), + [anon_sym_LPAREN2] = ACTIONS(1332), + [anon_sym_BANG] = ACTIONS(1332), + [anon_sym_TILDE] = ACTIONS(1332), + [anon_sym_DASH] = ACTIONS(1330), + [anon_sym_PLUS] = ACTIONS(1330), + [anon_sym_STAR] = ACTIONS(1332), + [anon_sym_AMP] = ACTIONS(1332), + [anon_sym_SEMI] = ACTIONS(1332), + [anon_sym___extension__] = ACTIONS(1330), + [anon_sym_typedef] = ACTIONS(1330), + [anon_sym_extern] = ACTIONS(1330), + [anon_sym___attribute__] = ACTIONS(1330), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1332), + [anon_sym___declspec] = ACTIONS(1330), + [anon_sym___cdecl] = ACTIONS(1330), + [anon_sym___clrcall] = ACTIONS(1330), + [anon_sym___stdcall] = ACTIONS(1330), + [anon_sym___fastcall] = ACTIONS(1330), + [anon_sym___thiscall] = ACTIONS(1330), + [anon_sym___vectorcall] = ACTIONS(1330), + [anon_sym_LBRACE] = ACTIONS(1332), + [anon_sym_RBRACE] = ACTIONS(1332), + [anon_sym_signed] = ACTIONS(1330), + [anon_sym_unsigned] = ACTIONS(1330), + [anon_sym_long] = ACTIONS(1330), + [anon_sym_short] = ACTIONS(1330), + [anon_sym_static] = ACTIONS(1330), + [anon_sym_auto] = ACTIONS(1330), + [anon_sym_register] = ACTIONS(1330), + [anon_sym_inline] = ACTIONS(1330), + [anon_sym___inline] = ACTIONS(1330), + [anon_sym___inline__] = ACTIONS(1330), + [anon_sym___forceinline] = ACTIONS(1330), + [anon_sym_thread_local] = ACTIONS(1330), + [anon_sym___thread] = ACTIONS(1330), + [anon_sym_const] = ACTIONS(1330), + [anon_sym_constexpr] = ACTIONS(1330), + [anon_sym_volatile] = ACTIONS(1330), + [anon_sym_restrict] = ACTIONS(1330), + [anon_sym___restrict__] = ACTIONS(1330), + [anon_sym__Atomic] = ACTIONS(1330), + [anon_sym__Noreturn] = ACTIONS(1330), + [anon_sym_noreturn] = ACTIONS(1330), + [anon_sym_alignas] = ACTIONS(1330), + [anon_sym__Alignas] = ACTIONS(1330), + [sym_primitive_type] = ACTIONS(1330), + [anon_sym_enum] = ACTIONS(1330), + [anon_sym_struct] = ACTIONS(1330), + [anon_sym_union] = ACTIONS(1330), + [anon_sym_if] = ACTIONS(1330), + [anon_sym_switch] = ACTIONS(1330), + [anon_sym_case] = ACTIONS(1330), + [anon_sym_default] = ACTIONS(1330), + [anon_sym_while] = ACTIONS(1330), + [anon_sym_do] = ACTIONS(1330), + [anon_sym_for] = ACTIONS(1330), + [anon_sym_return] = ACTIONS(1330), + [anon_sym_break] = ACTIONS(1330), + [anon_sym_continue] = ACTIONS(1330), + [anon_sym_goto] = ACTIONS(1330), + [anon_sym___try] = ACTIONS(1330), + [anon_sym___leave] = ACTIONS(1330), + [anon_sym_DASH_DASH] = ACTIONS(1332), + [anon_sym_PLUS_PLUS] = ACTIONS(1332), + [anon_sym_sizeof] = ACTIONS(1330), + [anon_sym___alignof__] = ACTIONS(1330), + [anon_sym___alignof] = ACTIONS(1330), + [anon_sym__alignof] = ACTIONS(1330), + [anon_sym_alignof] = ACTIONS(1330), + [anon_sym__Alignof] = ACTIONS(1330), + [anon_sym_offsetof] = ACTIONS(1330), + [anon_sym__Generic] = ACTIONS(1330), + [anon_sym_asm] = ACTIONS(1330), + [anon_sym___asm__] = ACTIONS(1330), + [sym__number_literal] = ACTIONS(1332), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1332), + [anon_sym_u_DQUOTE] = ACTIONS(1332), + [anon_sym_U_DQUOTE] = ACTIONS(1332), + [anon_sym_u8_DQUOTE] = ACTIONS(1332), + [anon_sym_DQUOTE] = ACTIONS(1332), + [sym_true] = ACTIONS(1330), + [sym_false] = ACTIONS(1330), + [anon_sym_NULL] = ACTIONS(1330), + [anon_sym_nullptr] = ACTIONS(1330), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1332), + }, + [334] = { + [sym__identifier] = ACTIONS(1326), + [aux_sym_preproc_include_token1] = ACTIONS(1326), + [aux_sym_preproc_def_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1326), + [sym_preproc_directive] = ACTIONS(1326), + [anon_sym_LPAREN2] = ACTIONS(1328), + [anon_sym_BANG] = ACTIONS(1328), + [anon_sym_TILDE] = ACTIONS(1328), + [anon_sym_DASH] = ACTIONS(1326), + [anon_sym_PLUS] = ACTIONS(1326), + [anon_sym_STAR] = ACTIONS(1328), + [anon_sym_AMP] = ACTIONS(1328), + [anon_sym_SEMI] = ACTIONS(1328), + [anon_sym___extension__] = ACTIONS(1326), + [anon_sym_typedef] = ACTIONS(1326), + [anon_sym_extern] = ACTIONS(1326), + [anon_sym___attribute__] = ACTIONS(1326), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1328), + [anon_sym___declspec] = ACTIONS(1326), + [anon_sym___cdecl] = ACTIONS(1326), + [anon_sym___clrcall] = ACTIONS(1326), + [anon_sym___stdcall] = ACTIONS(1326), + [anon_sym___fastcall] = ACTIONS(1326), + [anon_sym___thiscall] = ACTIONS(1326), + [anon_sym___vectorcall] = ACTIONS(1326), + [anon_sym_LBRACE] = ACTIONS(1328), + [anon_sym_RBRACE] = ACTIONS(1328), + [anon_sym_signed] = ACTIONS(1326), + [anon_sym_unsigned] = ACTIONS(1326), + [anon_sym_long] = ACTIONS(1326), + [anon_sym_short] = ACTIONS(1326), + [anon_sym_static] = ACTIONS(1326), + [anon_sym_auto] = ACTIONS(1326), + [anon_sym_register] = ACTIONS(1326), + [anon_sym_inline] = ACTIONS(1326), + [anon_sym___inline] = ACTIONS(1326), + [anon_sym___inline__] = ACTIONS(1326), + [anon_sym___forceinline] = ACTIONS(1326), + [anon_sym_thread_local] = ACTIONS(1326), + [anon_sym___thread] = ACTIONS(1326), + [anon_sym_const] = ACTIONS(1326), + [anon_sym_constexpr] = ACTIONS(1326), + [anon_sym_volatile] = ACTIONS(1326), + [anon_sym_restrict] = ACTIONS(1326), + [anon_sym___restrict__] = ACTIONS(1326), + [anon_sym__Atomic] = ACTIONS(1326), + [anon_sym__Noreturn] = ACTIONS(1326), + [anon_sym_noreturn] = ACTIONS(1326), + [anon_sym_alignas] = ACTIONS(1326), + [anon_sym__Alignas] = ACTIONS(1326), + [sym_primitive_type] = ACTIONS(1326), + [anon_sym_enum] = ACTIONS(1326), + [anon_sym_struct] = ACTIONS(1326), + [anon_sym_union] = ACTIONS(1326), + [anon_sym_if] = ACTIONS(1326), + [anon_sym_switch] = ACTIONS(1326), + [anon_sym_case] = ACTIONS(1326), + [anon_sym_default] = ACTIONS(1326), + [anon_sym_while] = ACTIONS(1326), + [anon_sym_do] = ACTIONS(1326), + [anon_sym_for] = ACTIONS(1326), + [anon_sym_return] = ACTIONS(1326), + [anon_sym_break] = ACTIONS(1326), + [anon_sym_continue] = ACTIONS(1326), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym___try] = ACTIONS(1326), + [anon_sym___leave] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(1328), + [anon_sym_PLUS_PLUS] = ACTIONS(1328), + [anon_sym_sizeof] = ACTIONS(1326), + [anon_sym___alignof__] = ACTIONS(1326), + [anon_sym___alignof] = ACTIONS(1326), + [anon_sym__alignof] = ACTIONS(1326), + [anon_sym_alignof] = ACTIONS(1326), + [anon_sym__Alignof] = ACTIONS(1326), + [anon_sym_offsetof] = ACTIONS(1326), + [anon_sym__Generic] = ACTIONS(1326), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1328), + [anon_sym_L_SQUOTE] = ACTIONS(1328), + [anon_sym_u_SQUOTE] = ACTIONS(1328), + [anon_sym_U_SQUOTE] = ACTIONS(1328), + [anon_sym_u8_SQUOTE] = ACTIONS(1328), + [anon_sym_SQUOTE] = ACTIONS(1328), + [anon_sym_L_DQUOTE] = ACTIONS(1328), + [anon_sym_u_DQUOTE] = ACTIONS(1328), + [anon_sym_U_DQUOTE] = ACTIONS(1328), + [anon_sym_u8_DQUOTE] = ACTIONS(1328), + [anon_sym_DQUOTE] = ACTIONS(1328), + [sym_true] = ACTIONS(1326), + [sym_false] = ACTIONS(1326), + [anon_sym_NULL] = ACTIONS(1326), + [anon_sym_nullptr] = ACTIONS(1326), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1328), + }, + [335] = { + [sym__identifier] = ACTIONS(1318), + [aux_sym_preproc_include_token1] = ACTIONS(1318), + [aux_sym_preproc_def_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token2] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1318), + [sym_preproc_directive] = ACTIONS(1318), + [anon_sym_LPAREN2] = ACTIONS(1320), + [anon_sym_BANG] = ACTIONS(1320), + [anon_sym_TILDE] = ACTIONS(1320), + [anon_sym_DASH] = ACTIONS(1318), + [anon_sym_PLUS] = ACTIONS(1318), + [anon_sym_STAR] = ACTIONS(1320), + [anon_sym_AMP] = ACTIONS(1320), + [anon_sym_SEMI] = ACTIONS(1320), + [anon_sym___extension__] = ACTIONS(1318), + [anon_sym_typedef] = ACTIONS(1318), + [anon_sym_extern] = ACTIONS(1318), + [anon_sym___attribute__] = ACTIONS(1318), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1320), + [anon_sym___declspec] = ACTIONS(1318), + [anon_sym___cdecl] = ACTIONS(1318), + [anon_sym___clrcall] = ACTIONS(1318), + [anon_sym___stdcall] = ACTIONS(1318), + [anon_sym___fastcall] = ACTIONS(1318), + [anon_sym___thiscall] = ACTIONS(1318), + [anon_sym___vectorcall] = ACTIONS(1318), + [anon_sym_LBRACE] = ACTIONS(1320), + [anon_sym_signed] = ACTIONS(1318), + [anon_sym_unsigned] = ACTIONS(1318), + [anon_sym_long] = ACTIONS(1318), + [anon_sym_short] = ACTIONS(1318), + [anon_sym_static] = ACTIONS(1318), + [anon_sym_auto] = ACTIONS(1318), + [anon_sym_register] = ACTIONS(1318), + [anon_sym_inline] = ACTIONS(1318), + [anon_sym___inline] = ACTIONS(1318), + [anon_sym___inline__] = ACTIONS(1318), + [anon_sym___forceinline] = ACTIONS(1318), + [anon_sym_thread_local] = ACTIONS(1318), + [anon_sym___thread] = ACTIONS(1318), + [anon_sym_const] = ACTIONS(1318), + [anon_sym_constexpr] = ACTIONS(1318), + [anon_sym_volatile] = ACTIONS(1318), + [anon_sym_restrict] = ACTIONS(1318), + [anon_sym___restrict__] = ACTIONS(1318), + [anon_sym__Atomic] = ACTIONS(1318), + [anon_sym__Noreturn] = ACTIONS(1318), + [anon_sym_noreturn] = ACTIONS(1318), + [anon_sym_alignas] = ACTIONS(1318), + [anon_sym__Alignas] = ACTIONS(1318), + [sym_primitive_type] = ACTIONS(1318), + [anon_sym_enum] = ACTIONS(1318), + [anon_sym_struct] = ACTIONS(1318), + [anon_sym_union] = ACTIONS(1318), + [anon_sym_if] = ACTIONS(1318), + [anon_sym_switch] = ACTIONS(1318), + [anon_sym_case] = ACTIONS(1318), + [anon_sym_default] = ACTIONS(1318), + [anon_sym_while] = ACTIONS(1318), + [anon_sym_do] = ACTIONS(1318), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1318), + [anon_sym_break] = ACTIONS(1318), + [anon_sym_continue] = ACTIONS(1318), + [anon_sym_goto] = ACTIONS(1318), + [anon_sym___try] = ACTIONS(1318), + [anon_sym___leave] = ACTIONS(1318), + [anon_sym_DASH_DASH] = ACTIONS(1320), + [anon_sym_PLUS_PLUS] = ACTIONS(1320), + [anon_sym_sizeof] = ACTIONS(1318), + [anon_sym___alignof__] = ACTIONS(1318), + [anon_sym___alignof] = ACTIONS(1318), + [anon_sym__alignof] = ACTIONS(1318), + [anon_sym_alignof] = ACTIONS(1318), + [anon_sym__Alignof] = ACTIONS(1318), + [anon_sym_offsetof] = ACTIONS(1318), + [anon_sym__Generic] = ACTIONS(1318), + [anon_sym_asm] = ACTIONS(1318), + [anon_sym___asm__] = ACTIONS(1318), + [sym__number_literal] = ACTIONS(1320), + [anon_sym_L_SQUOTE] = ACTIONS(1320), + [anon_sym_u_SQUOTE] = ACTIONS(1320), + [anon_sym_U_SQUOTE] = ACTIONS(1320), + [anon_sym_u8_SQUOTE] = ACTIONS(1320), + [anon_sym_SQUOTE] = ACTIONS(1320), + [anon_sym_L_DQUOTE] = ACTIONS(1320), + [anon_sym_u_DQUOTE] = ACTIONS(1320), + [anon_sym_U_DQUOTE] = ACTIONS(1320), + [anon_sym_u8_DQUOTE] = ACTIONS(1320), + [anon_sym_DQUOTE] = ACTIONS(1320), + [sym_true] = ACTIONS(1318), + [sym_false] = ACTIONS(1318), + [anon_sym_NULL] = ACTIONS(1318), + [anon_sym_nullptr] = ACTIONS(1318), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1320), + }, + [336] = { + [sym__identifier] = ACTIONS(1322), + [aux_sym_preproc_include_token1] = ACTIONS(1322), + [aux_sym_preproc_def_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1322), + [sym_preproc_directive] = ACTIONS(1322), + [anon_sym_LPAREN2] = ACTIONS(1324), + [anon_sym_BANG] = ACTIONS(1324), + [anon_sym_TILDE] = ACTIONS(1324), + [anon_sym_DASH] = ACTIONS(1322), + [anon_sym_PLUS] = ACTIONS(1322), + [anon_sym_STAR] = ACTIONS(1324), + [anon_sym_AMP] = ACTIONS(1324), + [anon_sym_SEMI] = ACTIONS(1324), + [anon_sym___extension__] = ACTIONS(1322), + [anon_sym_typedef] = ACTIONS(1322), + [anon_sym_extern] = ACTIONS(1322), + [anon_sym___attribute__] = ACTIONS(1322), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1324), + [anon_sym___declspec] = ACTIONS(1322), + [anon_sym___cdecl] = ACTIONS(1322), + [anon_sym___clrcall] = ACTIONS(1322), + [anon_sym___stdcall] = ACTIONS(1322), + [anon_sym___fastcall] = ACTIONS(1322), + [anon_sym___thiscall] = ACTIONS(1322), + [anon_sym___vectorcall] = ACTIONS(1322), + [anon_sym_LBRACE] = ACTIONS(1324), + [anon_sym_RBRACE] = ACTIONS(1324), + [anon_sym_signed] = ACTIONS(1322), + [anon_sym_unsigned] = ACTIONS(1322), + [anon_sym_long] = ACTIONS(1322), + [anon_sym_short] = ACTIONS(1322), + [anon_sym_static] = ACTIONS(1322), + [anon_sym_auto] = ACTIONS(1322), + [anon_sym_register] = ACTIONS(1322), + [anon_sym_inline] = ACTIONS(1322), + [anon_sym___inline] = ACTIONS(1322), + [anon_sym___inline__] = ACTIONS(1322), + [anon_sym___forceinline] = ACTIONS(1322), + [anon_sym_thread_local] = ACTIONS(1322), + [anon_sym___thread] = ACTIONS(1322), + [anon_sym_const] = ACTIONS(1322), + [anon_sym_constexpr] = ACTIONS(1322), + [anon_sym_volatile] = ACTIONS(1322), + [anon_sym_restrict] = ACTIONS(1322), + [anon_sym___restrict__] = ACTIONS(1322), + [anon_sym__Atomic] = ACTIONS(1322), + [anon_sym__Noreturn] = ACTIONS(1322), + [anon_sym_noreturn] = ACTIONS(1322), + [anon_sym_alignas] = ACTIONS(1322), + [anon_sym__Alignas] = ACTIONS(1322), + [sym_primitive_type] = ACTIONS(1322), + [anon_sym_enum] = ACTIONS(1322), + [anon_sym_struct] = ACTIONS(1322), + [anon_sym_union] = ACTIONS(1322), + [anon_sym_if] = ACTIONS(1322), + [anon_sym_switch] = ACTIONS(1322), + [anon_sym_case] = ACTIONS(1322), + [anon_sym_default] = ACTIONS(1322), + [anon_sym_while] = ACTIONS(1322), + [anon_sym_do] = ACTIONS(1322), + [anon_sym_for] = ACTIONS(1322), + [anon_sym_return] = ACTIONS(1322), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1322), + [anon_sym_goto] = ACTIONS(1322), + [anon_sym___try] = ACTIONS(1322), + [anon_sym___leave] = ACTIONS(1322), + [anon_sym_DASH_DASH] = ACTIONS(1324), + [anon_sym_PLUS_PLUS] = ACTIONS(1324), + [anon_sym_sizeof] = ACTIONS(1322), + [anon_sym___alignof__] = ACTIONS(1322), + [anon_sym___alignof] = ACTIONS(1322), + [anon_sym__alignof] = ACTIONS(1322), + [anon_sym_alignof] = ACTIONS(1322), + [anon_sym__Alignof] = ACTIONS(1322), + [anon_sym_offsetof] = ACTIONS(1322), + [anon_sym__Generic] = ACTIONS(1322), + [anon_sym_asm] = ACTIONS(1322), + [anon_sym___asm__] = ACTIONS(1322), + [sym__number_literal] = ACTIONS(1324), + [anon_sym_L_SQUOTE] = ACTIONS(1324), + [anon_sym_u_SQUOTE] = ACTIONS(1324), + [anon_sym_U_SQUOTE] = ACTIONS(1324), + [anon_sym_u8_SQUOTE] = ACTIONS(1324), + [anon_sym_SQUOTE] = ACTIONS(1324), + [anon_sym_L_DQUOTE] = ACTIONS(1324), + [anon_sym_u_DQUOTE] = ACTIONS(1324), + [anon_sym_U_DQUOTE] = ACTIONS(1324), + [anon_sym_u8_DQUOTE] = ACTIONS(1324), + [anon_sym_DQUOTE] = ACTIONS(1324), + [sym_true] = ACTIONS(1322), + [sym_false] = ACTIONS(1322), + [anon_sym_NULL] = ACTIONS(1322), + [anon_sym_nullptr] = ACTIONS(1322), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1324), + }, + [337] = { + [sym__identifier] = ACTIONS(1306), + [aux_sym_preproc_include_token1] = ACTIONS(1306), + [aux_sym_preproc_def_token1] = ACTIONS(1306), + [aux_sym_preproc_if_token1] = ACTIONS(1306), + [aux_sym_preproc_if_token2] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1306), + [sym_preproc_directive] = ACTIONS(1306), + [anon_sym_LPAREN2] = ACTIONS(1308), + [anon_sym_BANG] = ACTIONS(1308), + [anon_sym_TILDE] = ACTIONS(1308), + [anon_sym_DASH] = ACTIONS(1306), + [anon_sym_PLUS] = ACTIONS(1306), + [anon_sym_STAR] = ACTIONS(1308), + [anon_sym_AMP] = ACTIONS(1308), + [anon_sym_SEMI] = ACTIONS(1308), + [anon_sym___extension__] = ACTIONS(1306), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(1306), + [anon_sym___attribute__] = ACTIONS(1306), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1308), + [anon_sym___declspec] = ACTIONS(1306), + [anon_sym___cdecl] = ACTIONS(1306), + [anon_sym___clrcall] = ACTIONS(1306), + [anon_sym___stdcall] = ACTIONS(1306), + [anon_sym___fastcall] = ACTIONS(1306), + [anon_sym___thiscall] = ACTIONS(1306), + [anon_sym___vectorcall] = ACTIONS(1306), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_signed] = ACTIONS(1306), + [anon_sym_unsigned] = ACTIONS(1306), + [anon_sym_long] = ACTIONS(1306), + [anon_sym_short] = ACTIONS(1306), + [anon_sym_static] = ACTIONS(1306), + [anon_sym_auto] = ACTIONS(1306), + [anon_sym_register] = ACTIONS(1306), + [anon_sym_inline] = ACTIONS(1306), + [anon_sym___inline] = ACTIONS(1306), + [anon_sym___inline__] = ACTIONS(1306), + [anon_sym___forceinline] = ACTIONS(1306), + [anon_sym_thread_local] = ACTIONS(1306), + [anon_sym___thread] = ACTIONS(1306), + [anon_sym_const] = ACTIONS(1306), + [anon_sym_constexpr] = ACTIONS(1306), + [anon_sym_volatile] = ACTIONS(1306), + [anon_sym_restrict] = ACTIONS(1306), + [anon_sym___restrict__] = ACTIONS(1306), + [anon_sym__Atomic] = ACTIONS(1306), + [anon_sym__Noreturn] = ACTIONS(1306), + [anon_sym_noreturn] = ACTIONS(1306), + [anon_sym_alignas] = ACTIONS(1306), + [anon_sym__Alignas] = ACTIONS(1306), + [sym_primitive_type] = ACTIONS(1306), + [anon_sym_enum] = ACTIONS(1306), + [anon_sym_struct] = ACTIONS(1306), + [anon_sym_union] = ACTIONS(1306), + [anon_sym_if] = ACTIONS(1306), + [anon_sym_switch] = ACTIONS(1306), + [anon_sym_case] = ACTIONS(1306), + [anon_sym_default] = ACTIONS(1306), + [anon_sym_while] = ACTIONS(1306), + [anon_sym_do] = ACTIONS(1306), + [anon_sym_for] = ACTIONS(1306), + [anon_sym_return] = ACTIONS(1306), + [anon_sym_break] = ACTIONS(1306), + [anon_sym_continue] = ACTIONS(1306), + [anon_sym_goto] = ACTIONS(1306), + [anon_sym___try] = ACTIONS(1306), + [anon_sym___leave] = ACTIONS(1306), + [anon_sym_DASH_DASH] = ACTIONS(1308), + [anon_sym_PLUS_PLUS] = ACTIONS(1308), + [anon_sym_sizeof] = ACTIONS(1306), + [anon_sym___alignof__] = ACTIONS(1306), + [anon_sym___alignof] = ACTIONS(1306), + [anon_sym__alignof] = ACTIONS(1306), + [anon_sym_alignof] = ACTIONS(1306), + [anon_sym__Alignof] = ACTIONS(1306), + [anon_sym_offsetof] = ACTIONS(1306), + [anon_sym__Generic] = ACTIONS(1306), + [anon_sym_asm] = ACTIONS(1306), + [anon_sym___asm__] = ACTIONS(1306), + [sym__number_literal] = ACTIONS(1308), + [anon_sym_L_SQUOTE] = ACTIONS(1308), + [anon_sym_u_SQUOTE] = ACTIONS(1308), + [anon_sym_U_SQUOTE] = ACTIONS(1308), + [anon_sym_u8_SQUOTE] = ACTIONS(1308), + [anon_sym_SQUOTE] = ACTIONS(1308), + [anon_sym_L_DQUOTE] = ACTIONS(1308), + [anon_sym_u_DQUOTE] = ACTIONS(1308), + [anon_sym_U_DQUOTE] = ACTIONS(1308), + [anon_sym_u8_DQUOTE] = ACTIONS(1308), + [anon_sym_DQUOTE] = ACTIONS(1308), + [sym_true] = ACTIONS(1306), + [sym_false] = ACTIONS(1306), + [anon_sym_NULL] = ACTIONS(1306), + [anon_sym_nullptr] = ACTIONS(1306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1308), + }, + [338] = { + [sym__identifier] = ACTIONS(1248), + [aux_sym_preproc_include_token1] = ACTIONS(1248), + [aux_sym_preproc_def_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1248), + [sym_preproc_directive] = ACTIONS(1248), + [anon_sym_LPAREN2] = ACTIONS(1250), + [anon_sym_BANG] = ACTIONS(1250), + [anon_sym_TILDE] = ACTIONS(1250), + [anon_sym_DASH] = ACTIONS(1248), + [anon_sym_PLUS] = ACTIONS(1248), + [anon_sym_STAR] = ACTIONS(1250), + [anon_sym_AMP] = ACTIONS(1250), + [anon_sym_SEMI] = ACTIONS(1250), + [anon_sym___extension__] = ACTIONS(1248), + [anon_sym_typedef] = ACTIONS(1248), + [anon_sym_extern] = ACTIONS(1248), + [anon_sym___attribute__] = ACTIONS(1248), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1250), + [anon_sym___declspec] = ACTIONS(1248), + [anon_sym___cdecl] = ACTIONS(1248), + [anon_sym___clrcall] = ACTIONS(1248), + [anon_sym___stdcall] = ACTIONS(1248), + [anon_sym___fastcall] = ACTIONS(1248), + [anon_sym___thiscall] = ACTIONS(1248), + [anon_sym___vectorcall] = ACTIONS(1248), + [anon_sym_LBRACE] = ACTIONS(1250), + [anon_sym_RBRACE] = ACTIONS(1250), + [anon_sym_signed] = ACTIONS(1248), + [anon_sym_unsigned] = ACTIONS(1248), + [anon_sym_long] = ACTIONS(1248), + [anon_sym_short] = ACTIONS(1248), + [anon_sym_static] = ACTIONS(1248), + [anon_sym_auto] = ACTIONS(1248), + [anon_sym_register] = ACTIONS(1248), + [anon_sym_inline] = ACTIONS(1248), + [anon_sym___inline] = ACTIONS(1248), + [anon_sym___inline__] = ACTIONS(1248), + [anon_sym___forceinline] = ACTIONS(1248), + [anon_sym_thread_local] = ACTIONS(1248), + [anon_sym___thread] = ACTIONS(1248), + [anon_sym_const] = ACTIONS(1248), + [anon_sym_constexpr] = ACTIONS(1248), + [anon_sym_volatile] = ACTIONS(1248), + [anon_sym_restrict] = ACTIONS(1248), + [anon_sym___restrict__] = ACTIONS(1248), + [anon_sym__Atomic] = ACTIONS(1248), + [anon_sym__Noreturn] = ACTIONS(1248), + [anon_sym_noreturn] = ACTIONS(1248), + [anon_sym_alignas] = ACTIONS(1248), + [anon_sym__Alignas] = ACTIONS(1248), + [sym_primitive_type] = ACTIONS(1248), + [anon_sym_enum] = ACTIONS(1248), + [anon_sym_struct] = ACTIONS(1248), + [anon_sym_union] = ACTIONS(1248), + [anon_sym_if] = ACTIONS(1248), + [anon_sym_switch] = ACTIONS(1248), + [anon_sym_case] = ACTIONS(1248), + [anon_sym_default] = ACTIONS(1248), + [anon_sym_while] = ACTIONS(1248), + [anon_sym_do] = ACTIONS(1248), + [anon_sym_for] = ACTIONS(1248), + [anon_sym_return] = ACTIONS(1248), + [anon_sym_break] = ACTIONS(1248), + [anon_sym_continue] = ACTIONS(1248), + [anon_sym_goto] = ACTIONS(1248), + [anon_sym___try] = ACTIONS(1248), + [anon_sym___leave] = ACTIONS(1248), + [anon_sym_DASH_DASH] = ACTIONS(1250), + [anon_sym_PLUS_PLUS] = ACTIONS(1250), + [anon_sym_sizeof] = ACTIONS(1248), + [anon_sym___alignof__] = ACTIONS(1248), + [anon_sym___alignof] = ACTIONS(1248), + [anon_sym__alignof] = ACTIONS(1248), + [anon_sym_alignof] = ACTIONS(1248), + [anon_sym__Alignof] = ACTIONS(1248), + [anon_sym_offsetof] = ACTIONS(1248), + [anon_sym__Generic] = ACTIONS(1248), + [anon_sym_asm] = ACTIONS(1248), + [anon_sym___asm__] = ACTIONS(1248), + [sym__number_literal] = ACTIONS(1250), + [anon_sym_L_SQUOTE] = ACTIONS(1250), + [anon_sym_u_SQUOTE] = ACTIONS(1250), + [anon_sym_U_SQUOTE] = ACTIONS(1250), + [anon_sym_u8_SQUOTE] = ACTIONS(1250), + [anon_sym_SQUOTE] = ACTIONS(1250), + [anon_sym_L_DQUOTE] = ACTIONS(1250), + [anon_sym_u_DQUOTE] = ACTIONS(1250), + [anon_sym_U_DQUOTE] = ACTIONS(1250), + [anon_sym_u8_DQUOTE] = ACTIONS(1250), + [anon_sym_DQUOTE] = ACTIONS(1250), + [sym_true] = ACTIONS(1248), + [sym_false] = ACTIONS(1248), + [anon_sym_NULL] = ACTIONS(1248), + [anon_sym_nullptr] = ACTIONS(1248), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1250), + }, + [339] = { + [sym__identifier] = ACTIONS(1310), + [aux_sym_preproc_include_token1] = ACTIONS(1310), + [aux_sym_preproc_def_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1310), + [sym_preproc_directive] = ACTIONS(1310), + [anon_sym_LPAREN2] = ACTIONS(1312), + [anon_sym_BANG] = ACTIONS(1312), + [anon_sym_TILDE] = ACTIONS(1312), + [anon_sym_DASH] = ACTIONS(1310), + [anon_sym_PLUS] = ACTIONS(1310), + [anon_sym_STAR] = ACTIONS(1312), + [anon_sym_AMP] = ACTIONS(1312), + [anon_sym_SEMI] = ACTIONS(1312), + [anon_sym___extension__] = ACTIONS(1310), + [anon_sym_typedef] = ACTIONS(1310), + [anon_sym_extern] = ACTIONS(1310), + [anon_sym___attribute__] = ACTIONS(1310), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1312), + [anon_sym___declspec] = ACTIONS(1310), + [anon_sym___cdecl] = ACTIONS(1310), + [anon_sym___clrcall] = ACTIONS(1310), + [anon_sym___stdcall] = ACTIONS(1310), + [anon_sym___fastcall] = ACTIONS(1310), + [anon_sym___thiscall] = ACTIONS(1310), + [anon_sym___vectorcall] = ACTIONS(1310), + [anon_sym_LBRACE] = ACTIONS(1312), + [anon_sym_RBRACE] = ACTIONS(1312), + [anon_sym_signed] = ACTIONS(1310), + [anon_sym_unsigned] = ACTIONS(1310), + [anon_sym_long] = ACTIONS(1310), + [anon_sym_short] = ACTIONS(1310), + [anon_sym_static] = ACTIONS(1310), + [anon_sym_auto] = ACTIONS(1310), + [anon_sym_register] = ACTIONS(1310), + [anon_sym_inline] = ACTIONS(1310), + [anon_sym___inline] = ACTIONS(1310), + [anon_sym___inline__] = ACTIONS(1310), + [anon_sym___forceinline] = ACTIONS(1310), + [anon_sym_thread_local] = ACTIONS(1310), + [anon_sym___thread] = ACTIONS(1310), + [anon_sym_const] = ACTIONS(1310), + [anon_sym_constexpr] = ACTIONS(1310), + [anon_sym_volatile] = ACTIONS(1310), + [anon_sym_restrict] = ACTIONS(1310), + [anon_sym___restrict__] = ACTIONS(1310), + [anon_sym__Atomic] = ACTIONS(1310), + [anon_sym__Noreturn] = ACTIONS(1310), + [anon_sym_noreturn] = ACTIONS(1310), + [anon_sym_alignas] = ACTIONS(1310), + [anon_sym__Alignas] = ACTIONS(1310), + [sym_primitive_type] = ACTIONS(1310), + [anon_sym_enum] = ACTIONS(1310), + [anon_sym_struct] = ACTIONS(1310), + [anon_sym_union] = ACTIONS(1310), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1310), + [anon_sym_case] = ACTIONS(1310), + [anon_sym_default] = ACTIONS(1310), + [anon_sym_while] = ACTIONS(1310), + [anon_sym_do] = ACTIONS(1310), + [anon_sym_for] = ACTIONS(1310), + [anon_sym_return] = ACTIONS(1310), + [anon_sym_break] = ACTIONS(1310), + [anon_sym_continue] = ACTIONS(1310), + [anon_sym_goto] = ACTIONS(1310), + [anon_sym___try] = ACTIONS(1310), + [anon_sym___leave] = ACTIONS(1310), + [anon_sym_DASH_DASH] = ACTIONS(1312), + [anon_sym_PLUS_PLUS] = ACTIONS(1312), + [anon_sym_sizeof] = ACTIONS(1310), + [anon_sym___alignof__] = ACTIONS(1310), + [anon_sym___alignof] = ACTIONS(1310), + [anon_sym__alignof] = ACTIONS(1310), + [anon_sym_alignof] = ACTIONS(1310), + [anon_sym__Alignof] = ACTIONS(1310), + [anon_sym_offsetof] = ACTIONS(1310), + [anon_sym__Generic] = ACTIONS(1310), + [anon_sym_asm] = ACTIONS(1310), + [anon_sym___asm__] = ACTIONS(1310), + [sym__number_literal] = ACTIONS(1312), + [anon_sym_L_SQUOTE] = ACTIONS(1312), + [anon_sym_u_SQUOTE] = ACTIONS(1312), + [anon_sym_U_SQUOTE] = ACTIONS(1312), + [anon_sym_u8_SQUOTE] = ACTIONS(1312), + [anon_sym_SQUOTE] = ACTIONS(1312), + [anon_sym_L_DQUOTE] = ACTIONS(1312), + [anon_sym_u_DQUOTE] = ACTIONS(1312), + [anon_sym_U_DQUOTE] = ACTIONS(1312), + [anon_sym_u8_DQUOTE] = ACTIONS(1312), + [anon_sym_DQUOTE] = ACTIONS(1312), + [sym_true] = ACTIONS(1310), + [sym_false] = ACTIONS(1310), + [anon_sym_NULL] = ACTIONS(1310), + [anon_sym_nullptr] = ACTIONS(1310), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1312), + }, + [340] = { + [sym__identifier] = ACTIONS(1314), + [aux_sym_preproc_include_token1] = ACTIONS(1314), + [aux_sym_preproc_def_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token2] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1314), + [sym_preproc_directive] = ACTIONS(1314), + [anon_sym_LPAREN2] = ACTIONS(1316), + [anon_sym_BANG] = ACTIONS(1316), + [anon_sym_TILDE] = ACTIONS(1316), + [anon_sym_DASH] = ACTIONS(1314), + [anon_sym_PLUS] = ACTIONS(1314), + [anon_sym_STAR] = ACTIONS(1316), + [anon_sym_AMP] = ACTIONS(1316), + [anon_sym_SEMI] = ACTIONS(1316), + [anon_sym___extension__] = ACTIONS(1314), + [anon_sym_typedef] = ACTIONS(1314), + [anon_sym_extern] = ACTIONS(1314), + [anon_sym___attribute__] = ACTIONS(1314), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1316), + [anon_sym___declspec] = ACTIONS(1314), + [anon_sym___cdecl] = ACTIONS(1314), + [anon_sym___clrcall] = ACTIONS(1314), + [anon_sym___stdcall] = ACTIONS(1314), + [anon_sym___fastcall] = ACTIONS(1314), + [anon_sym___thiscall] = ACTIONS(1314), + [anon_sym___vectorcall] = ACTIONS(1314), + [anon_sym_LBRACE] = ACTIONS(1316), + [anon_sym_signed] = ACTIONS(1314), + [anon_sym_unsigned] = ACTIONS(1314), + [anon_sym_long] = ACTIONS(1314), + [anon_sym_short] = ACTIONS(1314), + [anon_sym_static] = ACTIONS(1314), + [anon_sym_auto] = ACTIONS(1314), + [anon_sym_register] = ACTIONS(1314), + [anon_sym_inline] = ACTIONS(1314), + [anon_sym___inline] = ACTIONS(1314), + [anon_sym___inline__] = ACTIONS(1314), + [anon_sym___forceinline] = ACTIONS(1314), + [anon_sym_thread_local] = ACTIONS(1314), + [anon_sym___thread] = ACTIONS(1314), + [anon_sym_const] = ACTIONS(1314), + [anon_sym_constexpr] = ACTIONS(1314), + [anon_sym_volatile] = ACTIONS(1314), + [anon_sym_restrict] = ACTIONS(1314), + [anon_sym___restrict__] = ACTIONS(1314), + [anon_sym__Atomic] = ACTIONS(1314), + [anon_sym__Noreturn] = ACTIONS(1314), + [anon_sym_noreturn] = ACTIONS(1314), + [anon_sym_alignas] = ACTIONS(1314), + [anon_sym__Alignas] = ACTIONS(1314), + [sym_primitive_type] = ACTIONS(1314), + [anon_sym_enum] = ACTIONS(1314), + [anon_sym_struct] = ACTIONS(1314), + [anon_sym_union] = ACTIONS(1314), + [anon_sym_if] = ACTIONS(1314), + [anon_sym_switch] = ACTIONS(1314), + [anon_sym_case] = ACTIONS(1314), + [anon_sym_default] = ACTIONS(1314), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1314), + [anon_sym_for] = ACTIONS(1314), + [anon_sym_return] = ACTIONS(1314), + [anon_sym_break] = ACTIONS(1314), + [anon_sym_continue] = ACTIONS(1314), + [anon_sym_goto] = ACTIONS(1314), + [anon_sym___try] = ACTIONS(1314), + [anon_sym___leave] = ACTIONS(1314), + [anon_sym_DASH_DASH] = ACTIONS(1316), + [anon_sym_PLUS_PLUS] = ACTIONS(1316), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1314), + [anon_sym___alignof] = ACTIONS(1314), + [anon_sym__alignof] = ACTIONS(1314), + [anon_sym_alignof] = ACTIONS(1314), + [anon_sym__Alignof] = ACTIONS(1314), + [anon_sym_offsetof] = ACTIONS(1314), + [anon_sym__Generic] = ACTIONS(1314), + [anon_sym_asm] = ACTIONS(1314), + [anon_sym___asm__] = ACTIONS(1314), + [sym__number_literal] = ACTIONS(1316), + [anon_sym_L_SQUOTE] = ACTIONS(1316), + [anon_sym_u_SQUOTE] = ACTIONS(1316), + [anon_sym_U_SQUOTE] = ACTIONS(1316), + [anon_sym_u8_SQUOTE] = ACTIONS(1316), + [anon_sym_SQUOTE] = ACTIONS(1316), + [anon_sym_L_DQUOTE] = ACTIONS(1316), + [anon_sym_u_DQUOTE] = ACTIONS(1316), + [anon_sym_U_DQUOTE] = ACTIONS(1316), + [anon_sym_u8_DQUOTE] = ACTIONS(1316), + [anon_sym_DQUOTE] = ACTIONS(1316), + [sym_true] = ACTIONS(1314), + [sym_false] = ACTIONS(1314), + [anon_sym_NULL] = ACTIONS(1314), + [anon_sym_nullptr] = ACTIONS(1314), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1316), + }, + [341] = { + [sym__identifier] = ACTIONS(1252), + [aux_sym_preproc_include_token1] = ACTIONS(1252), + [aux_sym_preproc_def_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token2] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1252), + [sym_preproc_directive] = ACTIONS(1252), + [anon_sym_LPAREN2] = ACTIONS(1254), + [anon_sym_BANG] = ACTIONS(1254), + [anon_sym_TILDE] = ACTIONS(1254), + [anon_sym_DASH] = ACTIONS(1252), + [anon_sym_PLUS] = ACTIONS(1252), + [anon_sym_STAR] = ACTIONS(1254), + [anon_sym_AMP] = ACTIONS(1254), + [anon_sym_SEMI] = ACTIONS(1254), + [anon_sym___extension__] = ACTIONS(1252), + [anon_sym_typedef] = ACTIONS(1252), + [anon_sym_extern] = ACTIONS(1252), + [anon_sym___attribute__] = ACTIONS(1252), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1254), + [anon_sym___declspec] = ACTIONS(1252), + [anon_sym___cdecl] = ACTIONS(1252), + [anon_sym___clrcall] = ACTIONS(1252), + [anon_sym___stdcall] = ACTIONS(1252), + [anon_sym___fastcall] = ACTIONS(1252), + [anon_sym___thiscall] = ACTIONS(1252), + [anon_sym___vectorcall] = ACTIONS(1252), + [anon_sym_LBRACE] = ACTIONS(1254), + [anon_sym_signed] = ACTIONS(1252), + [anon_sym_unsigned] = ACTIONS(1252), + [anon_sym_long] = ACTIONS(1252), + [anon_sym_short] = ACTIONS(1252), + [anon_sym_static] = ACTIONS(1252), + [anon_sym_auto] = ACTIONS(1252), + [anon_sym_register] = ACTIONS(1252), + [anon_sym_inline] = ACTIONS(1252), + [anon_sym___inline] = ACTIONS(1252), + [anon_sym___inline__] = ACTIONS(1252), + [anon_sym___forceinline] = ACTIONS(1252), + [anon_sym_thread_local] = ACTIONS(1252), + [anon_sym___thread] = ACTIONS(1252), + [anon_sym_const] = ACTIONS(1252), + [anon_sym_constexpr] = ACTIONS(1252), + [anon_sym_volatile] = ACTIONS(1252), + [anon_sym_restrict] = ACTIONS(1252), + [anon_sym___restrict__] = ACTIONS(1252), + [anon_sym__Atomic] = ACTIONS(1252), + [anon_sym__Noreturn] = ACTIONS(1252), + [anon_sym_noreturn] = ACTIONS(1252), + [anon_sym_alignas] = ACTIONS(1252), + [anon_sym__Alignas] = ACTIONS(1252), + [sym_primitive_type] = ACTIONS(1252), + [anon_sym_enum] = ACTIONS(1252), + [anon_sym_struct] = ACTIONS(1252), + [anon_sym_union] = ACTIONS(1252), + [anon_sym_if] = ACTIONS(1252), + [anon_sym_switch] = ACTIONS(1252), + [anon_sym_case] = ACTIONS(1252), + [anon_sym_default] = ACTIONS(1252), + [anon_sym_while] = ACTIONS(1252), + [anon_sym_do] = ACTIONS(1252), + [anon_sym_for] = ACTIONS(1252), + [anon_sym_return] = ACTIONS(1252), + [anon_sym_break] = ACTIONS(1252), + [anon_sym_continue] = ACTIONS(1252), + [anon_sym_goto] = ACTIONS(1252), + [anon_sym___try] = ACTIONS(1252), + [anon_sym___leave] = ACTIONS(1252), + [anon_sym_DASH_DASH] = ACTIONS(1254), + [anon_sym_PLUS_PLUS] = ACTIONS(1254), + [anon_sym_sizeof] = ACTIONS(1252), + [anon_sym___alignof__] = ACTIONS(1252), + [anon_sym___alignof] = ACTIONS(1252), + [anon_sym__alignof] = ACTIONS(1252), + [anon_sym_alignof] = ACTIONS(1252), + [anon_sym__Alignof] = ACTIONS(1252), + [anon_sym_offsetof] = ACTIONS(1252), + [anon_sym__Generic] = ACTIONS(1252), + [anon_sym_asm] = ACTIONS(1252), + [anon_sym___asm__] = ACTIONS(1252), + [sym__number_literal] = ACTIONS(1254), + [anon_sym_L_SQUOTE] = ACTIONS(1254), + [anon_sym_u_SQUOTE] = ACTIONS(1254), + [anon_sym_U_SQUOTE] = ACTIONS(1254), + [anon_sym_u8_SQUOTE] = ACTIONS(1254), + [anon_sym_SQUOTE] = ACTIONS(1254), + [anon_sym_L_DQUOTE] = ACTIONS(1254), + [anon_sym_u_DQUOTE] = ACTIONS(1254), + [anon_sym_U_DQUOTE] = ACTIONS(1254), + [anon_sym_u8_DQUOTE] = ACTIONS(1254), + [anon_sym_DQUOTE] = ACTIONS(1254), + [sym_true] = ACTIONS(1252), + [sym_false] = ACTIONS(1252), + [anon_sym_NULL] = ACTIONS(1252), + [anon_sym_nullptr] = ACTIONS(1252), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1254), + }, + [342] = { + [sym__identifier] = ACTIONS(1298), + [aux_sym_preproc_include_token1] = ACTIONS(1298), + [aux_sym_preproc_def_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1298), + [sym_preproc_directive] = ACTIONS(1298), + [anon_sym_LPAREN2] = ACTIONS(1300), + [anon_sym_BANG] = ACTIONS(1300), + [anon_sym_TILDE] = ACTIONS(1300), + [anon_sym_DASH] = ACTIONS(1298), + [anon_sym_PLUS] = ACTIONS(1298), + [anon_sym_STAR] = ACTIONS(1300), + [anon_sym_AMP] = ACTIONS(1300), + [anon_sym_SEMI] = ACTIONS(1300), + [anon_sym___extension__] = ACTIONS(1298), + [anon_sym_typedef] = ACTIONS(1298), + [anon_sym_extern] = ACTIONS(1298), + [anon_sym___attribute__] = ACTIONS(1298), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1300), + [anon_sym___declspec] = ACTIONS(1298), + [anon_sym___cdecl] = ACTIONS(1298), + [anon_sym___clrcall] = ACTIONS(1298), + [anon_sym___stdcall] = ACTIONS(1298), + [anon_sym___fastcall] = ACTIONS(1298), + [anon_sym___thiscall] = ACTIONS(1298), + [anon_sym___vectorcall] = ACTIONS(1298), + [anon_sym_LBRACE] = ACTIONS(1300), + [anon_sym_RBRACE] = ACTIONS(1300), + [anon_sym_signed] = ACTIONS(1298), + [anon_sym_unsigned] = ACTIONS(1298), + [anon_sym_long] = ACTIONS(1298), + [anon_sym_short] = ACTIONS(1298), + [anon_sym_static] = ACTIONS(1298), + [anon_sym_auto] = ACTIONS(1298), + [anon_sym_register] = ACTIONS(1298), + [anon_sym_inline] = ACTIONS(1298), + [anon_sym___inline] = ACTIONS(1298), + [anon_sym___inline__] = ACTIONS(1298), + [anon_sym___forceinline] = ACTIONS(1298), + [anon_sym_thread_local] = ACTIONS(1298), + [anon_sym___thread] = ACTIONS(1298), + [anon_sym_const] = ACTIONS(1298), + [anon_sym_constexpr] = ACTIONS(1298), + [anon_sym_volatile] = ACTIONS(1298), + [anon_sym_restrict] = ACTIONS(1298), + [anon_sym___restrict__] = ACTIONS(1298), + [anon_sym__Atomic] = ACTIONS(1298), + [anon_sym__Noreturn] = ACTIONS(1298), + [anon_sym_noreturn] = ACTIONS(1298), + [anon_sym_alignas] = ACTIONS(1298), + [anon_sym__Alignas] = ACTIONS(1298), + [sym_primitive_type] = ACTIONS(1298), + [anon_sym_enum] = ACTIONS(1298), + [anon_sym_struct] = ACTIONS(1298), + [anon_sym_union] = ACTIONS(1298), + [anon_sym_if] = ACTIONS(1298), + [anon_sym_switch] = ACTIONS(1298), + [anon_sym_case] = ACTIONS(1298), + [anon_sym_default] = ACTIONS(1298), + [anon_sym_while] = ACTIONS(1298), + [anon_sym_do] = ACTIONS(1298), + [anon_sym_for] = ACTIONS(1298), + [anon_sym_return] = ACTIONS(1298), + [anon_sym_break] = ACTIONS(1298), + [anon_sym_continue] = ACTIONS(1298), + [anon_sym_goto] = ACTIONS(1298), + [anon_sym___try] = ACTIONS(1298), + [anon_sym___leave] = ACTIONS(1298), + [anon_sym_DASH_DASH] = ACTIONS(1300), + [anon_sym_PLUS_PLUS] = ACTIONS(1300), + [anon_sym_sizeof] = ACTIONS(1298), + [anon_sym___alignof__] = ACTIONS(1298), + [anon_sym___alignof] = ACTIONS(1298), + [anon_sym__alignof] = ACTIONS(1298), + [anon_sym_alignof] = ACTIONS(1298), + [anon_sym__Alignof] = ACTIONS(1298), + [anon_sym_offsetof] = ACTIONS(1298), + [anon_sym__Generic] = ACTIONS(1298), + [anon_sym_asm] = ACTIONS(1298), + [anon_sym___asm__] = ACTIONS(1298), + [sym__number_literal] = ACTIONS(1300), + [anon_sym_L_SQUOTE] = ACTIONS(1300), + [anon_sym_u_SQUOTE] = ACTIONS(1300), + [anon_sym_U_SQUOTE] = ACTIONS(1300), + [anon_sym_u8_SQUOTE] = ACTIONS(1300), + [anon_sym_SQUOTE] = ACTIONS(1300), + [anon_sym_L_DQUOTE] = ACTIONS(1300), + [anon_sym_u_DQUOTE] = ACTIONS(1300), + [anon_sym_U_DQUOTE] = ACTIONS(1300), + [anon_sym_u8_DQUOTE] = ACTIONS(1300), + [anon_sym_DQUOTE] = ACTIONS(1300), + [sym_true] = ACTIONS(1298), + [sym_false] = ACTIONS(1298), + [anon_sym_NULL] = ACTIONS(1298), + [anon_sym_nullptr] = ACTIONS(1298), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1300), + }, + [343] = { + [sym__identifier] = ACTIONS(1334), + [aux_sym_preproc_include_token1] = ACTIONS(1334), + [aux_sym_preproc_def_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1334), + [sym_preproc_directive] = ACTIONS(1334), + [anon_sym_LPAREN2] = ACTIONS(1336), + [anon_sym_BANG] = ACTIONS(1336), + [anon_sym_TILDE] = ACTIONS(1336), + [anon_sym_DASH] = ACTIONS(1334), + [anon_sym_PLUS] = ACTIONS(1334), + [anon_sym_STAR] = ACTIONS(1336), + [anon_sym_AMP] = ACTIONS(1336), + [anon_sym_SEMI] = ACTIONS(1336), + [anon_sym___extension__] = ACTIONS(1334), + [anon_sym_typedef] = ACTIONS(1334), + [anon_sym_extern] = ACTIONS(1334), + [anon_sym___attribute__] = ACTIONS(1334), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1336), + [anon_sym___declspec] = ACTIONS(1334), + [anon_sym___cdecl] = ACTIONS(1334), + [anon_sym___clrcall] = ACTIONS(1334), + [anon_sym___stdcall] = ACTIONS(1334), + [anon_sym___fastcall] = ACTIONS(1334), + [anon_sym___thiscall] = ACTIONS(1334), + [anon_sym___vectorcall] = ACTIONS(1334), + [anon_sym_LBRACE] = ACTIONS(1336), + [anon_sym_RBRACE] = ACTIONS(1336), + [anon_sym_signed] = ACTIONS(1334), + [anon_sym_unsigned] = ACTIONS(1334), + [anon_sym_long] = ACTIONS(1334), + [anon_sym_short] = ACTIONS(1334), + [anon_sym_static] = ACTIONS(1334), + [anon_sym_auto] = ACTIONS(1334), + [anon_sym_register] = ACTIONS(1334), + [anon_sym_inline] = ACTIONS(1334), + [anon_sym___inline] = ACTIONS(1334), + [anon_sym___inline__] = ACTIONS(1334), + [anon_sym___forceinline] = ACTIONS(1334), + [anon_sym_thread_local] = ACTIONS(1334), + [anon_sym___thread] = ACTIONS(1334), + [anon_sym_const] = ACTIONS(1334), + [anon_sym_constexpr] = ACTIONS(1334), + [anon_sym_volatile] = ACTIONS(1334), + [anon_sym_restrict] = ACTIONS(1334), + [anon_sym___restrict__] = ACTIONS(1334), + [anon_sym__Atomic] = ACTIONS(1334), + [anon_sym__Noreturn] = ACTIONS(1334), + [anon_sym_noreturn] = ACTIONS(1334), + [anon_sym_alignas] = ACTIONS(1334), + [anon_sym__Alignas] = ACTIONS(1334), + [sym_primitive_type] = ACTIONS(1334), + [anon_sym_enum] = ACTIONS(1334), + [anon_sym_struct] = ACTIONS(1334), + [anon_sym_union] = ACTIONS(1334), + [anon_sym_if] = ACTIONS(1334), + [anon_sym_switch] = ACTIONS(1334), + [anon_sym_case] = ACTIONS(1334), + [anon_sym_default] = ACTIONS(1334), + [anon_sym_while] = ACTIONS(1334), + [anon_sym_do] = ACTIONS(1334), + [anon_sym_for] = ACTIONS(1334), + [anon_sym_return] = ACTIONS(1334), + [anon_sym_break] = ACTIONS(1334), + [anon_sym_continue] = ACTIONS(1334), + [anon_sym_goto] = ACTIONS(1334), + [anon_sym___try] = ACTIONS(1334), + [anon_sym___leave] = ACTIONS(1334), + [anon_sym_DASH_DASH] = ACTIONS(1336), + [anon_sym_PLUS_PLUS] = ACTIONS(1336), + [anon_sym_sizeof] = ACTIONS(1334), + [anon_sym___alignof__] = ACTIONS(1334), + [anon_sym___alignof] = ACTIONS(1334), + [anon_sym__alignof] = ACTIONS(1334), + [anon_sym_alignof] = ACTIONS(1334), + [anon_sym__Alignof] = ACTIONS(1334), + [anon_sym_offsetof] = ACTIONS(1334), + [anon_sym__Generic] = ACTIONS(1334), + [anon_sym_asm] = ACTIONS(1334), + [anon_sym___asm__] = ACTIONS(1334), + [sym__number_literal] = ACTIONS(1336), + [anon_sym_L_SQUOTE] = ACTIONS(1336), + [anon_sym_u_SQUOTE] = ACTIONS(1336), + [anon_sym_U_SQUOTE] = ACTIONS(1336), + [anon_sym_u8_SQUOTE] = ACTIONS(1336), + [anon_sym_SQUOTE] = ACTIONS(1336), + [anon_sym_L_DQUOTE] = ACTIONS(1336), + [anon_sym_u_DQUOTE] = ACTIONS(1336), + [anon_sym_U_DQUOTE] = ACTIONS(1336), + [anon_sym_u8_DQUOTE] = ACTIONS(1336), + [anon_sym_DQUOTE] = ACTIONS(1336), + [sym_true] = ACTIONS(1334), + [sym_false] = ACTIONS(1334), + [anon_sym_NULL] = ACTIONS(1334), + [anon_sym_nullptr] = ACTIONS(1334), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1336), + }, + [344] = { + [sym__identifier] = ACTIONS(1264), + [aux_sym_preproc_include_token1] = ACTIONS(1264), + [aux_sym_preproc_def_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token2] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1264), + [sym_preproc_directive] = ACTIONS(1264), + [anon_sym_LPAREN2] = ACTIONS(1266), + [anon_sym_BANG] = ACTIONS(1266), + [anon_sym_TILDE] = ACTIONS(1266), + [anon_sym_DASH] = ACTIONS(1264), + [anon_sym_PLUS] = ACTIONS(1264), + [anon_sym_STAR] = ACTIONS(1266), + [anon_sym_AMP] = ACTIONS(1266), + [anon_sym_SEMI] = ACTIONS(1266), + [anon_sym___extension__] = ACTIONS(1264), + [anon_sym_typedef] = ACTIONS(1264), + [anon_sym_extern] = ACTIONS(1264), + [anon_sym___attribute__] = ACTIONS(1264), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1266), + [anon_sym___declspec] = ACTIONS(1264), + [anon_sym___cdecl] = ACTIONS(1264), + [anon_sym___clrcall] = ACTIONS(1264), + [anon_sym___stdcall] = ACTIONS(1264), + [anon_sym___fastcall] = ACTIONS(1264), + [anon_sym___thiscall] = ACTIONS(1264), + [anon_sym___vectorcall] = ACTIONS(1264), + [anon_sym_LBRACE] = ACTIONS(1266), + [anon_sym_signed] = ACTIONS(1264), + [anon_sym_unsigned] = ACTIONS(1264), + [anon_sym_long] = ACTIONS(1264), + [anon_sym_short] = ACTIONS(1264), + [anon_sym_static] = ACTIONS(1264), + [anon_sym_auto] = ACTIONS(1264), + [anon_sym_register] = ACTIONS(1264), + [anon_sym_inline] = ACTIONS(1264), + [anon_sym___inline] = ACTIONS(1264), + [anon_sym___inline__] = ACTIONS(1264), + [anon_sym___forceinline] = ACTIONS(1264), + [anon_sym_thread_local] = ACTIONS(1264), + [anon_sym___thread] = ACTIONS(1264), + [anon_sym_const] = ACTIONS(1264), + [anon_sym_constexpr] = ACTIONS(1264), + [anon_sym_volatile] = ACTIONS(1264), + [anon_sym_restrict] = ACTIONS(1264), + [anon_sym___restrict__] = ACTIONS(1264), + [anon_sym__Atomic] = ACTIONS(1264), + [anon_sym__Noreturn] = ACTIONS(1264), + [anon_sym_noreturn] = ACTIONS(1264), + [anon_sym_alignas] = ACTIONS(1264), + [anon_sym__Alignas] = ACTIONS(1264), + [sym_primitive_type] = ACTIONS(1264), + [anon_sym_enum] = ACTIONS(1264), + [anon_sym_struct] = ACTIONS(1264), + [anon_sym_union] = ACTIONS(1264), + [anon_sym_if] = ACTIONS(1264), + [anon_sym_switch] = ACTIONS(1264), + [anon_sym_case] = ACTIONS(1264), + [anon_sym_default] = ACTIONS(1264), + [anon_sym_while] = ACTIONS(1264), + [anon_sym_do] = ACTIONS(1264), + [anon_sym_for] = ACTIONS(1264), + [anon_sym_return] = ACTIONS(1264), + [anon_sym_break] = ACTIONS(1264), + [anon_sym_continue] = ACTIONS(1264), + [anon_sym_goto] = ACTIONS(1264), + [anon_sym___try] = ACTIONS(1264), + [anon_sym___leave] = ACTIONS(1264), + [anon_sym_DASH_DASH] = ACTIONS(1266), + [anon_sym_PLUS_PLUS] = ACTIONS(1266), + [anon_sym_sizeof] = ACTIONS(1264), + [anon_sym___alignof__] = ACTIONS(1264), + [anon_sym___alignof] = ACTIONS(1264), + [anon_sym__alignof] = ACTIONS(1264), + [anon_sym_alignof] = ACTIONS(1264), + [anon_sym__Alignof] = ACTIONS(1264), + [anon_sym_offsetof] = ACTIONS(1264), + [anon_sym__Generic] = ACTIONS(1264), + [anon_sym_asm] = ACTIONS(1264), + [anon_sym___asm__] = ACTIONS(1264), + [sym__number_literal] = ACTIONS(1266), + [anon_sym_L_SQUOTE] = ACTIONS(1266), + [anon_sym_u_SQUOTE] = ACTIONS(1266), + [anon_sym_U_SQUOTE] = ACTIONS(1266), + [anon_sym_u8_SQUOTE] = ACTIONS(1266), + [anon_sym_SQUOTE] = ACTIONS(1266), + [anon_sym_L_DQUOTE] = ACTIONS(1266), + [anon_sym_u_DQUOTE] = ACTIONS(1266), + [anon_sym_U_DQUOTE] = ACTIONS(1266), + [anon_sym_u8_DQUOTE] = ACTIONS(1266), + [anon_sym_DQUOTE] = ACTIONS(1266), + [sym_true] = ACTIONS(1264), + [sym_false] = ACTIONS(1264), + [anon_sym_NULL] = ACTIONS(1264), + [anon_sym_nullptr] = ACTIONS(1264), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1266), + }, + [345] = { + [sym__identifier] = ACTIONS(1268), + [aux_sym_preproc_include_token1] = ACTIONS(1268), + [aux_sym_preproc_def_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token2] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1268), + [sym_preproc_directive] = ACTIONS(1268), + [anon_sym_LPAREN2] = ACTIONS(1270), + [anon_sym_BANG] = ACTIONS(1270), + [anon_sym_TILDE] = ACTIONS(1270), + [anon_sym_DASH] = ACTIONS(1268), + [anon_sym_PLUS] = ACTIONS(1268), + [anon_sym_STAR] = ACTIONS(1270), + [anon_sym_AMP] = ACTIONS(1270), + [anon_sym_SEMI] = ACTIONS(1270), + [anon_sym___extension__] = ACTIONS(1268), + [anon_sym_typedef] = ACTIONS(1268), + [anon_sym_extern] = ACTIONS(1268), + [anon_sym___attribute__] = ACTIONS(1268), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1270), + [anon_sym___declspec] = ACTIONS(1268), + [anon_sym___cdecl] = ACTIONS(1268), + [anon_sym___clrcall] = ACTIONS(1268), + [anon_sym___stdcall] = ACTIONS(1268), + [anon_sym___fastcall] = ACTIONS(1268), + [anon_sym___thiscall] = ACTIONS(1268), + [anon_sym___vectorcall] = ACTIONS(1268), + [anon_sym_LBRACE] = ACTIONS(1270), + [anon_sym_signed] = ACTIONS(1268), + [anon_sym_unsigned] = ACTIONS(1268), + [anon_sym_long] = ACTIONS(1268), + [anon_sym_short] = ACTIONS(1268), + [anon_sym_static] = ACTIONS(1268), + [anon_sym_auto] = ACTIONS(1268), + [anon_sym_register] = ACTIONS(1268), + [anon_sym_inline] = ACTIONS(1268), + [anon_sym___inline] = ACTIONS(1268), + [anon_sym___inline__] = ACTIONS(1268), + [anon_sym___forceinline] = ACTIONS(1268), + [anon_sym_thread_local] = ACTIONS(1268), + [anon_sym___thread] = ACTIONS(1268), + [anon_sym_const] = ACTIONS(1268), + [anon_sym_constexpr] = ACTIONS(1268), + [anon_sym_volatile] = ACTIONS(1268), + [anon_sym_restrict] = ACTIONS(1268), + [anon_sym___restrict__] = ACTIONS(1268), + [anon_sym__Atomic] = ACTIONS(1268), + [anon_sym__Noreturn] = ACTIONS(1268), + [anon_sym_noreturn] = ACTIONS(1268), + [anon_sym_alignas] = ACTIONS(1268), + [anon_sym__Alignas] = ACTIONS(1268), + [sym_primitive_type] = ACTIONS(1268), + [anon_sym_enum] = ACTIONS(1268), + [anon_sym_struct] = ACTIONS(1268), + [anon_sym_union] = ACTIONS(1268), + [anon_sym_if] = ACTIONS(1268), + [anon_sym_switch] = ACTIONS(1268), + [anon_sym_case] = ACTIONS(1268), + [anon_sym_default] = ACTIONS(1268), + [anon_sym_while] = ACTIONS(1268), + [anon_sym_do] = ACTIONS(1268), + [anon_sym_for] = ACTIONS(1268), + [anon_sym_return] = ACTIONS(1268), + [anon_sym_break] = ACTIONS(1268), + [anon_sym_continue] = ACTIONS(1268), + [anon_sym_goto] = ACTIONS(1268), + [anon_sym___try] = ACTIONS(1268), + [anon_sym___leave] = ACTIONS(1268), + [anon_sym_DASH_DASH] = ACTIONS(1270), + [anon_sym_PLUS_PLUS] = ACTIONS(1270), + [anon_sym_sizeof] = ACTIONS(1268), + [anon_sym___alignof__] = ACTIONS(1268), + [anon_sym___alignof] = ACTIONS(1268), + [anon_sym__alignof] = ACTIONS(1268), + [anon_sym_alignof] = ACTIONS(1268), + [anon_sym__Alignof] = ACTIONS(1268), + [anon_sym_offsetof] = ACTIONS(1268), + [anon_sym__Generic] = ACTIONS(1268), + [anon_sym_asm] = ACTIONS(1268), + [anon_sym___asm__] = ACTIONS(1268), + [sym__number_literal] = ACTIONS(1270), + [anon_sym_L_SQUOTE] = ACTIONS(1270), + [anon_sym_u_SQUOTE] = ACTIONS(1270), + [anon_sym_U_SQUOTE] = ACTIONS(1270), + [anon_sym_u8_SQUOTE] = ACTIONS(1270), + [anon_sym_SQUOTE] = ACTIONS(1270), + [anon_sym_L_DQUOTE] = ACTIONS(1270), + [anon_sym_u_DQUOTE] = ACTIONS(1270), + [anon_sym_U_DQUOTE] = ACTIONS(1270), + [anon_sym_u8_DQUOTE] = ACTIONS(1270), + [anon_sym_DQUOTE] = ACTIONS(1270), + [sym_true] = ACTIONS(1268), + [sym_false] = ACTIONS(1268), + [anon_sym_NULL] = ACTIONS(1268), + [anon_sym_nullptr] = ACTIONS(1268), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1270), + }, + [346] = { + [sym__identifier] = ACTIONS(1278), + [aux_sym_preproc_include_token1] = ACTIONS(1278), + [aux_sym_preproc_def_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token2] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1278), + [sym_preproc_directive] = ACTIONS(1278), + [anon_sym_LPAREN2] = ACTIONS(1280), + [anon_sym_BANG] = ACTIONS(1280), + [anon_sym_TILDE] = ACTIONS(1280), + [anon_sym_DASH] = ACTIONS(1278), + [anon_sym_PLUS] = ACTIONS(1278), + [anon_sym_STAR] = ACTIONS(1280), + [anon_sym_AMP] = ACTIONS(1280), + [anon_sym_SEMI] = ACTIONS(1280), + [anon_sym___extension__] = ACTIONS(1278), + [anon_sym_typedef] = ACTIONS(1278), + [anon_sym_extern] = ACTIONS(1278), + [anon_sym___attribute__] = ACTIONS(1278), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1280), + [anon_sym___declspec] = ACTIONS(1278), + [anon_sym___cdecl] = ACTIONS(1278), + [anon_sym___clrcall] = ACTIONS(1278), + [anon_sym___stdcall] = ACTIONS(1278), + [anon_sym___fastcall] = ACTIONS(1278), + [anon_sym___thiscall] = ACTIONS(1278), + [anon_sym___vectorcall] = ACTIONS(1278), + [anon_sym_LBRACE] = ACTIONS(1280), + [anon_sym_signed] = ACTIONS(1278), + [anon_sym_unsigned] = ACTIONS(1278), + [anon_sym_long] = ACTIONS(1278), + [anon_sym_short] = ACTIONS(1278), + [anon_sym_static] = ACTIONS(1278), + [anon_sym_auto] = ACTIONS(1278), + [anon_sym_register] = ACTIONS(1278), + [anon_sym_inline] = ACTIONS(1278), + [anon_sym___inline] = ACTIONS(1278), + [anon_sym___inline__] = ACTIONS(1278), + [anon_sym___forceinline] = ACTIONS(1278), + [anon_sym_thread_local] = ACTIONS(1278), + [anon_sym___thread] = ACTIONS(1278), + [anon_sym_const] = ACTIONS(1278), + [anon_sym_constexpr] = ACTIONS(1278), + [anon_sym_volatile] = ACTIONS(1278), + [anon_sym_restrict] = ACTIONS(1278), + [anon_sym___restrict__] = ACTIONS(1278), + [anon_sym__Atomic] = ACTIONS(1278), + [anon_sym__Noreturn] = ACTIONS(1278), + [anon_sym_noreturn] = ACTIONS(1278), + [anon_sym_alignas] = ACTIONS(1278), + [anon_sym__Alignas] = ACTIONS(1278), + [sym_primitive_type] = ACTIONS(1278), + [anon_sym_enum] = ACTIONS(1278), + [anon_sym_struct] = ACTIONS(1278), + [anon_sym_union] = ACTIONS(1278), + [anon_sym_if] = ACTIONS(1278), + [anon_sym_switch] = ACTIONS(1278), + [anon_sym_case] = ACTIONS(1278), + [anon_sym_default] = ACTIONS(1278), + [anon_sym_while] = ACTIONS(1278), + [anon_sym_do] = ACTIONS(1278), + [anon_sym_for] = ACTIONS(1278), + [anon_sym_return] = ACTIONS(1278), + [anon_sym_break] = ACTIONS(1278), + [anon_sym_continue] = ACTIONS(1278), + [anon_sym_goto] = ACTIONS(1278), + [anon_sym___try] = ACTIONS(1278), + [anon_sym___leave] = ACTIONS(1278), + [anon_sym_DASH_DASH] = ACTIONS(1280), + [anon_sym_PLUS_PLUS] = ACTIONS(1280), + [anon_sym_sizeof] = ACTIONS(1278), + [anon_sym___alignof__] = ACTIONS(1278), + [anon_sym___alignof] = ACTIONS(1278), + [anon_sym__alignof] = ACTIONS(1278), + [anon_sym_alignof] = ACTIONS(1278), + [anon_sym__Alignof] = ACTIONS(1278), + [anon_sym_offsetof] = ACTIONS(1278), + [anon_sym__Generic] = ACTIONS(1278), + [anon_sym_asm] = ACTIONS(1278), + [anon_sym___asm__] = ACTIONS(1278), + [sym__number_literal] = ACTIONS(1280), + [anon_sym_L_SQUOTE] = ACTIONS(1280), + [anon_sym_u_SQUOTE] = ACTIONS(1280), + [anon_sym_U_SQUOTE] = ACTIONS(1280), + [anon_sym_u8_SQUOTE] = ACTIONS(1280), + [anon_sym_SQUOTE] = ACTIONS(1280), + [anon_sym_L_DQUOTE] = ACTIONS(1280), + [anon_sym_u_DQUOTE] = ACTIONS(1280), + [anon_sym_U_DQUOTE] = ACTIONS(1280), + [anon_sym_u8_DQUOTE] = ACTIONS(1280), + [anon_sym_DQUOTE] = ACTIONS(1280), + [sym_true] = ACTIONS(1278), + [sym_false] = ACTIONS(1278), + [anon_sym_NULL] = ACTIONS(1278), + [anon_sym_nullptr] = ACTIONS(1278), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1280), + }, + [347] = { + [sym__identifier] = ACTIONS(1282), + [aux_sym_preproc_include_token1] = ACTIONS(1282), + [aux_sym_preproc_def_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token2] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1282), + [sym_preproc_directive] = ACTIONS(1282), + [anon_sym_LPAREN2] = ACTIONS(1284), + [anon_sym_BANG] = ACTIONS(1284), + [anon_sym_TILDE] = ACTIONS(1284), + [anon_sym_DASH] = ACTIONS(1282), + [anon_sym_PLUS] = ACTIONS(1282), + [anon_sym_STAR] = ACTIONS(1284), + [anon_sym_AMP] = ACTIONS(1284), + [anon_sym_SEMI] = ACTIONS(1284), + [anon_sym___extension__] = ACTIONS(1282), + [anon_sym_typedef] = ACTIONS(1282), + [anon_sym_extern] = ACTIONS(1282), + [anon_sym___attribute__] = ACTIONS(1282), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1284), + [anon_sym___declspec] = ACTIONS(1282), + [anon_sym___cdecl] = ACTIONS(1282), + [anon_sym___clrcall] = ACTIONS(1282), + [anon_sym___stdcall] = ACTIONS(1282), + [anon_sym___fastcall] = ACTIONS(1282), + [anon_sym___thiscall] = ACTIONS(1282), + [anon_sym___vectorcall] = ACTIONS(1282), + [anon_sym_LBRACE] = ACTIONS(1284), + [anon_sym_signed] = ACTIONS(1282), + [anon_sym_unsigned] = ACTIONS(1282), + [anon_sym_long] = ACTIONS(1282), + [anon_sym_short] = ACTIONS(1282), + [anon_sym_static] = ACTIONS(1282), + [anon_sym_auto] = ACTIONS(1282), + [anon_sym_register] = ACTIONS(1282), + [anon_sym_inline] = ACTIONS(1282), + [anon_sym___inline] = ACTIONS(1282), + [anon_sym___inline__] = ACTIONS(1282), + [anon_sym___forceinline] = ACTIONS(1282), + [anon_sym_thread_local] = ACTIONS(1282), + [anon_sym___thread] = ACTIONS(1282), + [anon_sym_const] = ACTIONS(1282), + [anon_sym_constexpr] = ACTIONS(1282), + [anon_sym_volatile] = ACTIONS(1282), + [anon_sym_restrict] = ACTIONS(1282), + [anon_sym___restrict__] = ACTIONS(1282), + [anon_sym__Atomic] = ACTIONS(1282), + [anon_sym__Noreturn] = ACTIONS(1282), + [anon_sym_noreturn] = ACTIONS(1282), + [anon_sym_alignas] = ACTIONS(1282), + [anon_sym__Alignas] = ACTIONS(1282), + [sym_primitive_type] = ACTIONS(1282), + [anon_sym_enum] = ACTIONS(1282), + [anon_sym_struct] = ACTIONS(1282), + [anon_sym_union] = ACTIONS(1282), + [anon_sym_if] = ACTIONS(1282), + [anon_sym_switch] = ACTIONS(1282), + [anon_sym_case] = ACTIONS(1282), + [anon_sym_default] = ACTIONS(1282), + [anon_sym_while] = ACTIONS(1282), + [anon_sym_do] = ACTIONS(1282), + [anon_sym_for] = ACTIONS(1282), + [anon_sym_return] = ACTIONS(1282), + [anon_sym_break] = ACTIONS(1282), + [anon_sym_continue] = ACTIONS(1282), + [anon_sym_goto] = ACTIONS(1282), + [anon_sym___try] = ACTIONS(1282), + [anon_sym___leave] = ACTIONS(1282), + [anon_sym_DASH_DASH] = ACTIONS(1284), + [anon_sym_PLUS_PLUS] = ACTIONS(1284), + [anon_sym_sizeof] = ACTIONS(1282), + [anon_sym___alignof__] = ACTIONS(1282), + [anon_sym___alignof] = ACTIONS(1282), + [anon_sym__alignof] = ACTIONS(1282), + [anon_sym_alignof] = ACTIONS(1282), + [anon_sym__Alignof] = ACTIONS(1282), + [anon_sym_offsetof] = ACTIONS(1282), + [anon_sym__Generic] = ACTIONS(1282), + [anon_sym_asm] = ACTIONS(1282), + [anon_sym___asm__] = ACTIONS(1282), + [sym__number_literal] = ACTIONS(1284), + [anon_sym_L_SQUOTE] = ACTIONS(1284), + [anon_sym_u_SQUOTE] = ACTIONS(1284), + [anon_sym_U_SQUOTE] = ACTIONS(1284), + [anon_sym_u8_SQUOTE] = ACTIONS(1284), + [anon_sym_SQUOTE] = ACTIONS(1284), + [anon_sym_L_DQUOTE] = ACTIONS(1284), + [anon_sym_u_DQUOTE] = ACTIONS(1284), + [anon_sym_U_DQUOTE] = ACTIONS(1284), + [anon_sym_u8_DQUOTE] = ACTIONS(1284), + [anon_sym_DQUOTE] = ACTIONS(1284), + [sym_true] = ACTIONS(1282), + [sym_false] = ACTIONS(1282), + [anon_sym_NULL] = ACTIONS(1282), + [anon_sym_nullptr] = ACTIONS(1282), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1284), + }, + [348] = { + [sym__identifier] = ACTIONS(1286), + [aux_sym_preproc_include_token1] = ACTIONS(1286), + [aux_sym_preproc_def_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token2] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1286), + [sym_preproc_directive] = ACTIONS(1286), + [anon_sym_LPAREN2] = ACTIONS(1288), + [anon_sym_BANG] = ACTIONS(1288), + [anon_sym_TILDE] = ACTIONS(1288), + [anon_sym_DASH] = ACTIONS(1286), + [anon_sym_PLUS] = ACTIONS(1286), + [anon_sym_STAR] = ACTIONS(1288), + [anon_sym_AMP] = ACTIONS(1288), + [anon_sym_SEMI] = ACTIONS(1288), + [anon_sym___extension__] = ACTIONS(1286), + [anon_sym_typedef] = ACTIONS(1286), + [anon_sym_extern] = ACTIONS(1286), + [anon_sym___attribute__] = ACTIONS(1286), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1288), + [anon_sym___declspec] = ACTIONS(1286), + [anon_sym___cdecl] = ACTIONS(1286), + [anon_sym___clrcall] = ACTIONS(1286), + [anon_sym___stdcall] = ACTIONS(1286), + [anon_sym___fastcall] = ACTIONS(1286), + [anon_sym___thiscall] = ACTIONS(1286), + [anon_sym___vectorcall] = ACTIONS(1286), + [anon_sym_LBRACE] = ACTIONS(1288), + [anon_sym_signed] = ACTIONS(1286), + [anon_sym_unsigned] = ACTIONS(1286), + [anon_sym_long] = ACTIONS(1286), + [anon_sym_short] = ACTIONS(1286), + [anon_sym_static] = ACTIONS(1286), + [anon_sym_auto] = ACTIONS(1286), + [anon_sym_register] = ACTIONS(1286), + [anon_sym_inline] = ACTIONS(1286), + [anon_sym___inline] = ACTIONS(1286), + [anon_sym___inline__] = ACTIONS(1286), + [anon_sym___forceinline] = ACTIONS(1286), + [anon_sym_thread_local] = ACTIONS(1286), + [anon_sym___thread] = ACTIONS(1286), + [anon_sym_const] = ACTIONS(1286), + [anon_sym_constexpr] = ACTIONS(1286), + [anon_sym_volatile] = ACTIONS(1286), + [anon_sym_restrict] = ACTIONS(1286), + [anon_sym___restrict__] = ACTIONS(1286), + [anon_sym__Atomic] = ACTIONS(1286), + [anon_sym__Noreturn] = ACTIONS(1286), + [anon_sym_noreturn] = ACTIONS(1286), + [anon_sym_alignas] = ACTIONS(1286), + [anon_sym__Alignas] = ACTIONS(1286), + [sym_primitive_type] = ACTIONS(1286), + [anon_sym_enum] = ACTIONS(1286), + [anon_sym_struct] = ACTIONS(1286), + [anon_sym_union] = ACTIONS(1286), + [anon_sym_if] = ACTIONS(1286), + [anon_sym_switch] = ACTIONS(1286), + [anon_sym_case] = ACTIONS(1286), + [anon_sym_default] = ACTIONS(1286), + [anon_sym_while] = ACTIONS(1286), + [anon_sym_do] = ACTIONS(1286), + [anon_sym_for] = ACTIONS(1286), + [anon_sym_return] = ACTIONS(1286), + [anon_sym_break] = ACTIONS(1286), + [anon_sym_continue] = ACTIONS(1286), + [anon_sym_goto] = ACTIONS(1286), + [anon_sym___try] = ACTIONS(1286), + [anon_sym___leave] = ACTIONS(1286), + [anon_sym_DASH_DASH] = ACTIONS(1288), + [anon_sym_PLUS_PLUS] = ACTIONS(1288), + [anon_sym_sizeof] = ACTIONS(1286), + [anon_sym___alignof__] = ACTIONS(1286), + [anon_sym___alignof] = ACTIONS(1286), + [anon_sym__alignof] = ACTIONS(1286), + [anon_sym_alignof] = ACTIONS(1286), + [anon_sym__Alignof] = ACTIONS(1286), + [anon_sym_offsetof] = ACTIONS(1286), + [anon_sym__Generic] = ACTIONS(1286), + [anon_sym_asm] = ACTIONS(1286), + [anon_sym___asm__] = ACTIONS(1286), + [sym__number_literal] = ACTIONS(1288), + [anon_sym_L_SQUOTE] = ACTIONS(1288), + [anon_sym_u_SQUOTE] = ACTIONS(1288), + [anon_sym_U_SQUOTE] = ACTIONS(1288), + [anon_sym_u8_SQUOTE] = ACTIONS(1288), + [anon_sym_SQUOTE] = ACTIONS(1288), + [anon_sym_L_DQUOTE] = ACTIONS(1288), + [anon_sym_u_DQUOTE] = ACTIONS(1288), + [anon_sym_U_DQUOTE] = ACTIONS(1288), + [anon_sym_u8_DQUOTE] = ACTIONS(1288), + [anon_sym_DQUOTE] = ACTIONS(1288), + [sym_true] = ACTIONS(1286), + [sym_false] = ACTIONS(1286), + [anon_sym_NULL] = ACTIONS(1286), + [anon_sym_nullptr] = ACTIONS(1286), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1288), + }, + [349] = { + [sym__identifier] = ACTIONS(1290), + [aux_sym_preproc_include_token1] = ACTIONS(1290), + [aux_sym_preproc_def_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token2] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1290), + [sym_preproc_directive] = ACTIONS(1290), + [anon_sym_LPAREN2] = ACTIONS(1292), + [anon_sym_BANG] = ACTIONS(1292), + [anon_sym_TILDE] = ACTIONS(1292), + [anon_sym_DASH] = ACTIONS(1290), + [anon_sym_PLUS] = ACTIONS(1290), + [anon_sym_STAR] = ACTIONS(1292), + [anon_sym_AMP] = ACTIONS(1292), + [anon_sym_SEMI] = ACTIONS(1292), + [anon_sym___extension__] = ACTIONS(1290), + [anon_sym_typedef] = ACTIONS(1290), + [anon_sym_extern] = ACTIONS(1290), + [anon_sym___attribute__] = ACTIONS(1290), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1292), + [anon_sym___declspec] = ACTIONS(1290), + [anon_sym___cdecl] = ACTIONS(1290), + [anon_sym___clrcall] = ACTIONS(1290), + [anon_sym___stdcall] = ACTIONS(1290), + [anon_sym___fastcall] = ACTIONS(1290), + [anon_sym___thiscall] = ACTIONS(1290), + [anon_sym___vectorcall] = ACTIONS(1290), + [anon_sym_LBRACE] = ACTIONS(1292), + [anon_sym_signed] = ACTIONS(1290), + [anon_sym_unsigned] = ACTIONS(1290), + [anon_sym_long] = ACTIONS(1290), + [anon_sym_short] = ACTIONS(1290), + [anon_sym_static] = ACTIONS(1290), + [anon_sym_auto] = ACTIONS(1290), + [anon_sym_register] = ACTIONS(1290), + [anon_sym_inline] = ACTIONS(1290), + [anon_sym___inline] = ACTIONS(1290), + [anon_sym___inline__] = ACTIONS(1290), + [anon_sym___forceinline] = ACTIONS(1290), + [anon_sym_thread_local] = ACTIONS(1290), + [anon_sym___thread] = ACTIONS(1290), + [anon_sym_const] = ACTIONS(1290), + [anon_sym_constexpr] = ACTIONS(1290), + [anon_sym_volatile] = ACTIONS(1290), + [anon_sym_restrict] = ACTIONS(1290), + [anon_sym___restrict__] = ACTIONS(1290), + [anon_sym__Atomic] = ACTIONS(1290), + [anon_sym__Noreturn] = ACTIONS(1290), + [anon_sym_noreturn] = ACTIONS(1290), + [anon_sym_alignas] = ACTIONS(1290), + [anon_sym__Alignas] = ACTIONS(1290), + [sym_primitive_type] = ACTIONS(1290), + [anon_sym_enum] = ACTIONS(1290), + [anon_sym_struct] = ACTIONS(1290), + [anon_sym_union] = ACTIONS(1290), + [anon_sym_if] = ACTIONS(1290), + [anon_sym_switch] = ACTIONS(1290), + [anon_sym_case] = ACTIONS(1290), + [anon_sym_default] = ACTIONS(1290), + [anon_sym_while] = ACTIONS(1290), + [anon_sym_do] = ACTIONS(1290), + [anon_sym_for] = ACTIONS(1290), + [anon_sym_return] = ACTIONS(1290), + [anon_sym_break] = ACTIONS(1290), + [anon_sym_continue] = ACTIONS(1290), + [anon_sym_goto] = ACTIONS(1290), + [anon_sym___try] = ACTIONS(1290), + [anon_sym___leave] = ACTIONS(1290), + [anon_sym_DASH_DASH] = ACTIONS(1292), + [anon_sym_PLUS_PLUS] = ACTIONS(1292), + [anon_sym_sizeof] = ACTIONS(1290), + [anon_sym___alignof__] = ACTIONS(1290), + [anon_sym___alignof] = ACTIONS(1290), + [anon_sym__alignof] = ACTIONS(1290), + [anon_sym_alignof] = ACTIONS(1290), + [anon_sym__Alignof] = ACTIONS(1290), + [anon_sym_offsetof] = ACTIONS(1290), + [anon_sym__Generic] = ACTIONS(1290), + [anon_sym_asm] = ACTIONS(1290), + [anon_sym___asm__] = ACTIONS(1290), + [sym__number_literal] = ACTIONS(1292), + [anon_sym_L_SQUOTE] = ACTIONS(1292), + [anon_sym_u_SQUOTE] = ACTIONS(1292), + [anon_sym_U_SQUOTE] = ACTIONS(1292), + [anon_sym_u8_SQUOTE] = ACTIONS(1292), + [anon_sym_SQUOTE] = ACTIONS(1292), + [anon_sym_L_DQUOTE] = ACTIONS(1292), + [anon_sym_u_DQUOTE] = ACTIONS(1292), + [anon_sym_U_DQUOTE] = ACTIONS(1292), + [anon_sym_u8_DQUOTE] = ACTIONS(1292), + [anon_sym_DQUOTE] = ACTIONS(1292), + [sym_true] = ACTIONS(1290), + [sym_false] = ACTIONS(1290), + [anon_sym_NULL] = ACTIONS(1290), + [anon_sym_nullptr] = ACTIONS(1290), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1292), + }, + [350] = { + [sym__identifier] = ACTIONS(1260), + [aux_sym_preproc_include_token1] = ACTIONS(1260), + [aux_sym_preproc_def_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1260), + [sym_preproc_directive] = ACTIONS(1260), + [anon_sym_LPAREN2] = ACTIONS(1262), + [anon_sym_BANG] = ACTIONS(1262), + [anon_sym_TILDE] = ACTIONS(1262), + [anon_sym_DASH] = ACTIONS(1260), + [anon_sym_PLUS] = ACTIONS(1260), + [anon_sym_STAR] = ACTIONS(1262), + [anon_sym_AMP] = ACTIONS(1262), + [anon_sym_SEMI] = ACTIONS(1262), + [anon_sym___extension__] = ACTIONS(1260), + [anon_sym_typedef] = ACTIONS(1260), + [anon_sym_extern] = ACTIONS(1260), + [anon_sym___attribute__] = ACTIONS(1260), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1262), + [anon_sym___declspec] = ACTIONS(1260), + [anon_sym___cdecl] = ACTIONS(1260), + [anon_sym___clrcall] = ACTIONS(1260), + [anon_sym___stdcall] = ACTIONS(1260), + [anon_sym___fastcall] = ACTIONS(1260), + [anon_sym___thiscall] = ACTIONS(1260), + [anon_sym___vectorcall] = ACTIONS(1260), + [anon_sym_LBRACE] = ACTIONS(1262), + [anon_sym_RBRACE] = ACTIONS(1262), + [anon_sym_signed] = ACTIONS(1260), + [anon_sym_unsigned] = ACTIONS(1260), + [anon_sym_long] = ACTIONS(1260), + [anon_sym_short] = ACTIONS(1260), + [anon_sym_static] = ACTIONS(1260), + [anon_sym_auto] = ACTIONS(1260), + [anon_sym_register] = ACTIONS(1260), + [anon_sym_inline] = ACTIONS(1260), + [anon_sym___inline] = ACTIONS(1260), + [anon_sym___inline__] = ACTIONS(1260), + [anon_sym___forceinline] = ACTIONS(1260), + [anon_sym_thread_local] = ACTIONS(1260), + [anon_sym___thread] = ACTIONS(1260), + [anon_sym_const] = ACTIONS(1260), + [anon_sym_constexpr] = ACTIONS(1260), + [anon_sym_volatile] = ACTIONS(1260), + [anon_sym_restrict] = ACTIONS(1260), + [anon_sym___restrict__] = ACTIONS(1260), + [anon_sym__Atomic] = ACTIONS(1260), + [anon_sym__Noreturn] = ACTIONS(1260), + [anon_sym_noreturn] = ACTIONS(1260), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1260), + [anon_sym_enum] = ACTIONS(1260), + [anon_sym_struct] = ACTIONS(1260), + [anon_sym_union] = ACTIONS(1260), + [anon_sym_if] = ACTIONS(1260), + [anon_sym_switch] = ACTIONS(1260), + [anon_sym_case] = ACTIONS(1260), + [anon_sym_default] = ACTIONS(1260), + [anon_sym_while] = ACTIONS(1260), + [anon_sym_do] = ACTIONS(1260), + [anon_sym_for] = ACTIONS(1260), + [anon_sym_return] = ACTIONS(1260), + [anon_sym_break] = ACTIONS(1260), + [anon_sym_continue] = ACTIONS(1260), + [anon_sym_goto] = ACTIONS(1260), + [anon_sym___try] = ACTIONS(1260), + [anon_sym___leave] = ACTIONS(1260), + [anon_sym_DASH_DASH] = ACTIONS(1262), + [anon_sym_PLUS_PLUS] = ACTIONS(1262), + [anon_sym_sizeof] = ACTIONS(1260), + [anon_sym___alignof__] = ACTIONS(1260), + [anon_sym___alignof] = ACTIONS(1260), + [anon_sym__alignof] = ACTIONS(1260), + [anon_sym_alignof] = ACTIONS(1260), + [anon_sym__Alignof] = ACTIONS(1260), + [anon_sym_offsetof] = ACTIONS(1260), + [anon_sym__Generic] = ACTIONS(1260), + [anon_sym_asm] = ACTIONS(1260), + [anon_sym___asm__] = ACTIONS(1260), + [sym__number_literal] = ACTIONS(1262), + [anon_sym_L_SQUOTE] = ACTIONS(1262), + [anon_sym_u_SQUOTE] = ACTIONS(1262), + [anon_sym_U_SQUOTE] = ACTIONS(1262), + [anon_sym_u8_SQUOTE] = ACTIONS(1262), + [anon_sym_SQUOTE] = ACTIONS(1262), + [anon_sym_L_DQUOTE] = ACTIONS(1262), + [anon_sym_u_DQUOTE] = ACTIONS(1262), + [anon_sym_U_DQUOTE] = ACTIONS(1262), + [anon_sym_u8_DQUOTE] = ACTIONS(1262), + [anon_sym_DQUOTE] = ACTIONS(1262), + [sym_true] = ACTIONS(1260), + [sym_false] = ACTIONS(1260), + [anon_sym_NULL] = ACTIONS(1260), + [anon_sym_nullptr] = ACTIONS(1260), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1262), + }, + [351] = { + [sym__identifier] = ACTIONS(1256), + [aux_sym_preproc_include_token1] = ACTIONS(1256), + [aux_sym_preproc_def_token1] = ACTIONS(1256), + [aux_sym_preproc_if_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1256), + [sym_preproc_directive] = ACTIONS(1256), + [anon_sym_LPAREN2] = ACTIONS(1258), + [anon_sym_BANG] = ACTIONS(1258), + [anon_sym_TILDE] = ACTIONS(1258), + [anon_sym_DASH] = ACTIONS(1256), + [anon_sym_PLUS] = ACTIONS(1256), + [anon_sym_STAR] = ACTIONS(1258), + [anon_sym_AMP] = ACTIONS(1258), + [anon_sym_SEMI] = ACTIONS(1258), + [anon_sym___extension__] = ACTIONS(1256), + [anon_sym_typedef] = ACTIONS(1256), + [anon_sym_extern] = ACTIONS(1256), + [anon_sym___attribute__] = ACTIONS(1256), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1258), + [anon_sym___declspec] = ACTIONS(1256), + [anon_sym___cdecl] = ACTIONS(1256), + [anon_sym___clrcall] = ACTIONS(1256), + [anon_sym___stdcall] = ACTIONS(1256), + [anon_sym___fastcall] = ACTIONS(1256), + [anon_sym___thiscall] = ACTIONS(1256), + [anon_sym___vectorcall] = ACTIONS(1256), + [anon_sym_LBRACE] = ACTIONS(1258), + [anon_sym_RBRACE] = ACTIONS(1258), + [anon_sym_signed] = ACTIONS(1256), + [anon_sym_unsigned] = ACTIONS(1256), + [anon_sym_long] = ACTIONS(1256), + [anon_sym_short] = ACTIONS(1256), + [anon_sym_static] = ACTIONS(1256), + [anon_sym_auto] = ACTIONS(1256), + [anon_sym_register] = ACTIONS(1256), + [anon_sym_inline] = ACTIONS(1256), + [anon_sym___inline] = ACTIONS(1256), + [anon_sym___inline__] = ACTIONS(1256), + [anon_sym___forceinline] = ACTIONS(1256), + [anon_sym_thread_local] = ACTIONS(1256), + [anon_sym___thread] = ACTIONS(1256), + [anon_sym_const] = ACTIONS(1256), + [anon_sym_constexpr] = ACTIONS(1256), + [anon_sym_volatile] = ACTIONS(1256), + [anon_sym_restrict] = ACTIONS(1256), + [anon_sym___restrict__] = ACTIONS(1256), + [anon_sym__Atomic] = ACTIONS(1256), + [anon_sym__Noreturn] = ACTIONS(1256), + [anon_sym_noreturn] = ACTIONS(1256), + [anon_sym_alignas] = ACTIONS(1256), + [anon_sym__Alignas] = ACTIONS(1256), + [sym_primitive_type] = ACTIONS(1256), + [anon_sym_enum] = ACTIONS(1256), + [anon_sym_struct] = ACTIONS(1256), + [anon_sym_union] = ACTIONS(1256), + [anon_sym_if] = ACTIONS(1256), + [anon_sym_switch] = ACTIONS(1256), + [anon_sym_case] = ACTIONS(1256), + [anon_sym_default] = ACTIONS(1256), + [anon_sym_while] = ACTIONS(1256), + [anon_sym_do] = ACTIONS(1256), + [anon_sym_for] = ACTIONS(1256), + [anon_sym_return] = ACTIONS(1256), + [anon_sym_break] = ACTIONS(1256), + [anon_sym_continue] = ACTIONS(1256), + [anon_sym_goto] = ACTIONS(1256), + [anon_sym___try] = ACTIONS(1256), + [anon_sym___leave] = ACTIONS(1256), + [anon_sym_DASH_DASH] = ACTIONS(1258), + [anon_sym_PLUS_PLUS] = ACTIONS(1258), + [anon_sym_sizeof] = ACTIONS(1256), + [anon_sym___alignof__] = ACTIONS(1256), + [anon_sym___alignof] = ACTIONS(1256), + [anon_sym__alignof] = ACTIONS(1256), + [anon_sym_alignof] = ACTIONS(1256), + [anon_sym__Alignof] = ACTIONS(1256), + [anon_sym_offsetof] = ACTIONS(1256), + [anon_sym__Generic] = ACTIONS(1256), + [anon_sym_asm] = ACTIONS(1256), + [anon_sym___asm__] = ACTIONS(1256), + [sym__number_literal] = ACTIONS(1258), + [anon_sym_L_SQUOTE] = ACTIONS(1258), + [anon_sym_u_SQUOTE] = ACTIONS(1258), + [anon_sym_U_SQUOTE] = ACTIONS(1258), + [anon_sym_u8_SQUOTE] = ACTIONS(1258), + [anon_sym_SQUOTE] = ACTIONS(1258), + [anon_sym_L_DQUOTE] = ACTIONS(1258), + [anon_sym_u_DQUOTE] = ACTIONS(1258), + [anon_sym_U_DQUOTE] = ACTIONS(1258), + [anon_sym_u8_DQUOTE] = ACTIONS(1258), + [anon_sym_DQUOTE] = ACTIONS(1258), + [sym_true] = ACTIONS(1256), + [sym_false] = ACTIONS(1256), + [anon_sym_NULL] = ACTIONS(1256), + [anon_sym_nullptr] = ACTIONS(1256), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1258), + }, + [352] = { + [ts_builtin_sym_end] = ACTIONS(1258), + [sym__identifier] = ACTIONS(1256), + [aux_sym_preproc_include_token1] = ACTIONS(1256), + [aux_sym_preproc_def_token1] = ACTIONS(1256), + [anon_sym_COMMA] = ACTIONS(1258), + [aux_sym_preproc_if_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1256), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1256), + [sym_preproc_directive] = ACTIONS(1256), + [anon_sym_LPAREN2] = ACTIONS(1258), + [anon_sym_BANG] = ACTIONS(1258), + [anon_sym_TILDE] = ACTIONS(1258), + [anon_sym_DASH] = ACTIONS(1256), + [anon_sym_PLUS] = ACTIONS(1256), + [anon_sym_STAR] = ACTIONS(1258), + [anon_sym_AMP] = ACTIONS(1258), + [anon_sym___extension__] = ACTIONS(1256), + [anon_sym_typedef] = ACTIONS(1256), + [anon_sym_extern] = ACTIONS(1256), + [anon_sym___attribute__] = ACTIONS(1256), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1258), + [anon_sym___declspec] = ACTIONS(1256), + [anon_sym___cdecl] = ACTIONS(1256), + [anon_sym___clrcall] = ACTIONS(1256), + [anon_sym___stdcall] = ACTIONS(1256), + [anon_sym___fastcall] = ACTIONS(1256), + [anon_sym___thiscall] = ACTIONS(1256), + [anon_sym___vectorcall] = ACTIONS(1256), + [anon_sym_LBRACE] = ACTIONS(1258), + [anon_sym_RBRACE] = ACTIONS(1258), + [anon_sym_signed] = ACTIONS(1256), + [anon_sym_unsigned] = ACTIONS(1256), + [anon_sym_long] = ACTIONS(1256), + [anon_sym_short] = ACTIONS(1256), + [anon_sym_static] = ACTIONS(1256), + [anon_sym_auto] = ACTIONS(1256), + [anon_sym_register] = ACTIONS(1256), + [anon_sym_inline] = ACTIONS(1256), + [anon_sym___inline] = ACTIONS(1256), + [anon_sym___inline__] = ACTIONS(1256), + [anon_sym___forceinline] = ACTIONS(1256), + [anon_sym_thread_local] = ACTIONS(1256), + [anon_sym___thread] = ACTIONS(1256), + [anon_sym_const] = ACTIONS(1256), + [anon_sym_constexpr] = ACTIONS(1256), + [anon_sym_volatile] = ACTIONS(1256), + [anon_sym_restrict] = ACTIONS(1256), + [anon_sym___restrict__] = ACTIONS(1256), + [anon_sym__Atomic] = ACTIONS(1256), + [anon_sym__Noreturn] = ACTIONS(1256), + [anon_sym_noreturn] = ACTIONS(1256), + [anon_sym_alignas] = ACTIONS(1256), + [anon_sym__Alignas] = ACTIONS(1256), + [sym_primitive_type] = ACTIONS(1256), + [anon_sym_enum] = ACTIONS(1256), + [anon_sym_struct] = ACTIONS(1256), + [anon_sym_union] = ACTIONS(1256), + [anon_sym_if] = ACTIONS(1256), + [anon_sym_switch] = ACTIONS(1256), + [anon_sym_case] = ACTIONS(1256), + [anon_sym_default] = ACTIONS(1256), + [anon_sym_while] = ACTIONS(1256), + [anon_sym_do] = ACTIONS(1256), + [anon_sym_for] = ACTIONS(1256), + [anon_sym_return] = ACTIONS(1256), + [anon_sym_break] = ACTIONS(1256), + [anon_sym_continue] = ACTIONS(1256), + [anon_sym_goto] = ACTIONS(1256), + [anon_sym_DASH_DASH] = ACTIONS(1258), + [anon_sym_PLUS_PLUS] = ACTIONS(1258), + [anon_sym_sizeof] = ACTIONS(1256), + [anon_sym___alignof__] = ACTIONS(1256), + [anon_sym___alignof] = ACTIONS(1256), + [anon_sym__alignof] = ACTIONS(1256), + [anon_sym_alignof] = ACTIONS(1256), + [anon_sym__Alignof] = ACTIONS(1256), + [anon_sym_offsetof] = ACTIONS(1256), + [anon_sym__Generic] = ACTIONS(1256), + [anon_sym_asm] = ACTIONS(1256), + [anon_sym___asm__] = ACTIONS(1256), + [sym__number_literal] = ACTIONS(1258), + [anon_sym_L_SQUOTE] = ACTIONS(1258), + [anon_sym_u_SQUOTE] = ACTIONS(1258), + [anon_sym_U_SQUOTE] = ACTIONS(1258), + [anon_sym_u8_SQUOTE] = ACTIONS(1258), + [anon_sym_SQUOTE] = ACTIONS(1258), + [anon_sym_L_DQUOTE] = ACTIONS(1258), + [anon_sym_u_DQUOTE] = ACTIONS(1258), + [anon_sym_U_DQUOTE] = ACTIONS(1258), + [anon_sym_u8_DQUOTE] = ACTIONS(1258), + [anon_sym_DQUOTE] = ACTIONS(1258), + [sym_true] = ACTIONS(1256), + [sym_false] = ACTIONS(1256), + [anon_sym_NULL] = ACTIONS(1256), + [anon_sym_nullptr] = ACTIONS(1256), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1258), + }, + [353] = { + [sym_expression] = STATE(913), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(1632), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1346), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1346), + [anon_sym_GT_GT] = ACTIONS(1346), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_RBRACK] = ACTIONS(1348), + [anon_sym_EQ] = ACTIONS(1346), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_STAR_EQ] = ACTIONS(1348), + [anon_sym_SLASH_EQ] = ACTIONS(1348), + [anon_sym_PERCENT_EQ] = ACTIONS(1348), + [anon_sym_PLUS_EQ] = ACTIONS(1348), + [anon_sym_DASH_EQ] = ACTIONS(1348), + [anon_sym_LT_LT_EQ] = ACTIONS(1348), + [anon_sym_GT_GT_EQ] = ACTIONS(1348), + [anon_sym_AMP_EQ] = ACTIONS(1348), + [anon_sym_CARET_EQ] = ACTIONS(1348), + [anon_sym_PIPE_EQ] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [354] = { + [ts_builtin_sym_end] = ACTIONS(1308), + [sym__identifier] = ACTIONS(1306), + [aux_sym_preproc_include_token1] = ACTIONS(1306), + [aux_sym_preproc_def_token1] = ACTIONS(1306), + [anon_sym_COMMA] = ACTIONS(1308), + [aux_sym_preproc_if_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1306), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1306), + [sym_preproc_directive] = ACTIONS(1306), + [anon_sym_LPAREN2] = ACTIONS(1308), + [anon_sym_BANG] = ACTIONS(1308), + [anon_sym_TILDE] = ACTIONS(1308), + [anon_sym_DASH] = ACTIONS(1306), + [anon_sym_PLUS] = ACTIONS(1306), + [anon_sym_STAR] = ACTIONS(1308), + [anon_sym_AMP] = ACTIONS(1308), + [anon_sym___extension__] = ACTIONS(1306), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(1306), + [anon_sym___attribute__] = ACTIONS(1306), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1308), + [anon_sym___declspec] = ACTIONS(1306), + [anon_sym___cdecl] = ACTIONS(1306), + [anon_sym___clrcall] = ACTIONS(1306), + [anon_sym___stdcall] = ACTIONS(1306), + [anon_sym___fastcall] = ACTIONS(1306), + [anon_sym___thiscall] = ACTIONS(1306), + [anon_sym___vectorcall] = ACTIONS(1306), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_RBRACE] = ACTIONS(1308), + [anon_sym_signed] = ACTIONS(1306), + [anon_sym_unsigned] = ACTIONS(1306), + [anon_sym_long] = ACTIONS(1306), + [anon_sym_short] = ACTIONS(1306), + [anon_sym_static] = ACTIONS(1306), + [anon_sym_auto] = ACTIONS(1306), + [anon_sym_register] = ACTIONS(1306), + [anon_sym_inline] = ACTIONS(1306), + [anon_sym___inline] = ACTIONS(1306), + [anon_sym___inline__] = ACTIONS(1306), + [anon_sym___forceinline] = ACTIONS(1306), + [anon_sym_thread_local] = ACTIONS(1306), + [anon_sym___thread] = ACTIONS(1306), + [anon_sym_const] = ACTIONS(1306), + [anon_sym_constexpr] = ACTIONS(1306), + [anon_sym_volatile] = ACTIONS(1306), + [anon_sym_restrict] = ACTIONS(1306), + [anon_sym___restrict__] = ACTIONS(1306), + [anon_sym__Atomic] = ACTIONS(1306), + [anon_sym__Noreturn] = ACTIONS(1306), + [anon_sym_noreturn] = ACTIONS(1306), + [anon_sym_alignas] = ACTIONS(1306), + [anon_sym__Alignas] = ACTIONS(1306), + [sym_primitive_type] = ACTIONS(1306), + [anon_sym_enum] = ACTIONS(1306), + [anon_sym_struct] = ACTIONS(1306), + [anon_sym_union] = ACTIONS(1306), + [anon_sym_if] = ACTIONS(1306), + [anon_sym_switch] = ACTIONS(1306), + [anon_sym_case] = ACTIONS(1306), + [anon_sym_default] = ACTIONS(1306), + [anon_sym_while] = ACTIONS(1306), + [anon_sym_do] = ACTIONS(1306), + [anon_sym_for] = ACTIONS(1306), + [anon_sym_return] = ACTIONS(1306), + [anon_sym_break] = ACTIONS(1306), + [anon_sym_continue] = ACTIONS(1306), + [anon_sym_goto] = ACTIONS(1306), + [anon_sym_DASH_DASH] = ACTIONS(1308), + [anon_sym_PLUS_PLUS] = ACTIONS(1308), + [anon_sym_sizeof] = ACTIONS(1306), + [anon_sym___alignof__] = ACTIONS(1306), + [anon_sym___alignof] = ACTIONS(1306), + [anon_sym__alignof] = ACTIONS(1306), + [anon_sym_alignof] = ACTIONS(1306), + [anon_sym__Alignof] = ACTIONS(1306), + [anon_sym_offsetof] = ACTIONS(1306), + [anon_sym__Generic] = ACTIONS(1306), + [anon_sym_asm] = ACTIONS(1306), + [anon_sym___asm__] = ACTIONS(1306), + [sym__number_literal] = ACTIONS(1308), + [anon_sym_L_SQUOTE] = ACTIONS(1308), + [anon_sym_u_SQUOTE] = ACTIONS(1308), + [anon_sym_U_SQUOTE] = ACTIONS(1308), + [anon_sym_u8_SQUOTE] = ACTIONS(1308), + [anon_sym_SQUOTE] = ACTIONS(1308), + [anon_sym_L_DQUOTE] = ACTIONS(1308), + [anon_sym_u_DQUOTE] = ACTIONS(1308), + [anon_sym_U_DQUOTE] = ACTIONS(1308), + [anon_sym_u8_DQUOTE] = ACTIONS(1308), + [anon_sym_DQUOTE] = ACTIONS(1308), + [sym_true] = ACTIONS(1306), + [sym_false] = ACTIONS(1306), + [anon_sym_NULL] = ACTIONS(1306), + [anon_sym_nullptr] = ACTIONS(1306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1308), + }, + [355] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1947), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [356] = { + [ts_builtin_sym_end] = ACTIONS(1648), + [sym__identifier] = ACTIONS(1650), + [aux_sym_preproc_include_token1] = ACTIONS(1650), + [aux_sym_preproc_def_token1] = ACTIONS(1650), + [aux_sym_preproc_if_token1] = ACTIONS(1650), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1650), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1650), + [sym_preproc_directive] = ACTIONS(1650), + [anon_sym_LPAREN2] = ACTIONS(1648), + [anon_sym_BANG] = ACTIONS(1648), + [anon_sym_TILDE] = ACTIONS(1648), + [anon_sym_DASH] = ACTIONS(1650), + [anon_sym_PLUS] = ACTIONS(1650), + [anon_sym_STAR] = ACTIONS(1648), + [anon_sym_AMP] = ACTIONS(1648), + [anon_sym___extension__] = ACTIONS(1650), + [anon_sym_typedef] = ACTIONS(1650), + [anon_sym_extern] = ACTIONS(1650), + [anon_sym___attribute__] = ACTIONS(1650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1648), + [anon_sym___declspec] = ACTIONS(1650), + [anon_sym___cdecl] = ACTIONS(1650), + [anon_sym___clrcall] = ACTIONS(1650), + [anon_sym___stdcall] = ACTIONS(1650), + [anon_sym___fastcall] = ACTIONS(1650), + [anon_sym___thiscall] = ACTIONS(1650), + [anon_sym___vectorcall] = ACTIONS(1650), + [anon_sym_LBRACE] = ACTIONS(1648), + [anon_sym_signed] = ACTIONS(1650), + [anon_sym_unsigned] = ACTIONS(1650), + [anon_sym_long] = ACTIONS(1650), + [anon_sym_short] = ACTIONS(1650), + [anon_sym_static] = ACTIONS(1650), + [anon_sym_auto] = ACTIONS(1650), + [anon_sym_register] = ACTIONS(1650), + [anon_sym_inline] = ACTIONS(1650), + [anon_sym___inline] = ACTIONS(1650), + [anon_sym___inline__] = ACTIONS(1650), + [anon_sym___forceinline] = ACTIONS(1650), + [anon_sym_thread_local] = ACTIONS(1650), + [anon_sym___thread] = ACTIONS(1650), + [anon_sym_const] = ACTIONS(1650), + [anon_sym_constexpr] = ACTIONS(1650), + [anon_sym_volatile] = ACTIONS(1650), + [anon_sym_restrict] = ACTIONS(1650), + [anon_sym___restrict__] = ACTIONS(1650), + [anon_sym__Atomic] = ACTIONS(1650), + [anon_sym__Noreturn] = ACTIONS(1650), + [anon_sym_noreturn] = ACTIONS(1650), + [anon_sym_alignas] = ACTIONS(1650), + [anon_sym__Alignas] = ACTIONS(1650), + [sym_primitive_type] = ACTIONS(1650), + [anon_sym_enum] = ACTIONS(1650), + [anon_sym_struct] = ACTIONS(1650), + [anon_sym_union] = ACTIONS(1650), + [anon_sym_if] = ACTIONS(1650), + [anon_sym_switch] = ACTIONS(1650), + [anon_sym_case] = ACTIONS(1650), + [anon_sym_default] = ACTIONS(1650), + [anon_sym_while] = ACTIONS(1650), + [anon_sym_do] = ACTIONS(1650), + [anon_sym_for] = ACTIONS(1650), + [anon_sym_return] = ACTIONS(1650), + [anon_sym_break] = ACTIONS(1650), + [anon_sym_continue] = ACTIONS(1650), + [anon_sym_goto] = ACTIONS(1650), + [anon_sym_DASH_DASH] = ACTIONS(1648), + [anon_sym_PLUS_PLUS] = ACTIONS(1648), + [anon_sym_sizeof] = ACTIONS(1650), + [anon_sym___alignof__] = ACTIONS(1650), + [anon_sym___alignof] = ACTIONS(1650), + [anon_sym__alignof] = ACTIONS(1650), + [anon_sym_alignof] = ACTIONS(1650), + [anon_sym__Alignof] = ACTIONS(1650), + [anon_sym_offsetof] = ACTIONS(1650), + [anon_sym__Generic] = ACTIONS(1650), + [anon_sym_asm] = ACTIONS(1650), + [anon_sym___asm__] = ACTIONS(1650), + [sym__number_literal] = ACTIONS(1648), + [anon_sym_L_SQUOTE] = ACTIONS(1648), + [anon_sym_u_SQUOTE] = ACTIONS(1648), + [anon_sym_U_SQUOTE] = ACTIONS(1648), + [anon_sym_u8_SQUOTE] = ACTIONS(1648), + [anon_sym_SQUOTE] = ACTIONS(1648), + [anon_sym_L_DQUOTE] = ACTIONS(1648), + [anon_sym_u_DQUOTE] = ACTIONS(1648), + [anon_sym_U_DQUOTE] = ACTIONS(1648), + [anon_sym_u8_DQUOTE] = ACTIONS(1648), + [anon_sym_DQUOTE] = ACTIONS(1648), + [sym_true] = ACTIONS(1650), + [sym_false] = ACTIONS(1650), + [anon_sym_NULL] = ACTIONS(1650), + [anon_sym_nullptr] = ACTIONS(1650), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1648), + }, + [357] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1966), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [358] = { + [ts_builtin_sym_end] = ACTIONS(1652), + [sym__identifier] = ACTIONS(1654), + [aux_sym_preproc_include_token1] = ACTIONS(1654), + [aux_sym_preproc_def_token1] = ACTIONS(1654), + [aux_sym_preproc_if_token1] = ACTIONS(1654), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1654), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1654), + [sym_preproc_directive] = ACTIONS(1654), + [anon_sym_LPAREN2] = ACTIONS(1652), + [anon_sym_BANG] = ACTIONS(1652), + [anon_sym_TILDE] = ACTIONS(1652), + [anon_sym_DASH] = ACTIONS(1654), + [anon_sym_PLUS] = ACTIONS(1654), + [anon_sym_STAR] = ACTIONS(1652), + [anon_sym_AMP] = ACTIONS(1652), + [anon_sym___extension__] = ACTIONS(1654), + [anon_sym_typedef] = ACTIONS(1654), + [anon_sym_extern] = ACTIONS(1654), + [anon_sym___attribute__] = ACTIONS(1654), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1652), + [anon_sym___declspec] = ACTIONS(1654), + [anon_sym___cdecl] = ACTIONS(1654), + [anon_sym___clrcall] = ACTIONS(1654), + [anon_sym___stdcall] = ACTIONS(1654), + [anon_sym___fastcall] = ACTIONS(1654), + [anon_sym___thiscall] = ACTIONS(1654), + [anon_sym___vectorcall] = ACTIONS(1654), + [anon_sym_LBRACE] = ACTIONS(1652), + [anon_sym_signed] = ACTIONS(1654), + [anon_sym_unsigned] = ACTIONS(1654), + [anon_sym_long] = ACTIONS(1654), + [anon_sym_short] = ACTIONS(1654), + [anon_sym_static] = ACTIONS(1654), + [anon_sym_auto] = ACTIONS(1654), + [anon_sym_register] = ACTIONS(1654), + [anon_sym_inline] = ACTIONS(1654), + [anon_sym___inline] = ACTIONS(1654), + [anon_sym___inline__] = ACTIONS(1654), + [anon_sym___forceinline] = ACTIONS(1654), + [anon_sym_thread_local] = ACTIONS(1654), + [anon_sym___thread] = ACTIONS(1654), + [anon_sym_const] = ACTIONS(1654), + [anon_sym_constexpr] = ACTIONS(1654), + [anon_sym_volatile] = ACTIONS(1654), + [anon_sym_restrict] = ACTIONS(1654), + [anon_sym___restrict__] = ACTIONS(1654), + [anon_sym__Atomic] = ACTIONS(1654), + [anon_sym__Noreturn] = ACTIONS(1654), + [anon_sym_noreturn] = ACTIONS(1654), + [anon_sym_alignas] = ACTIONS(1654), + [anon_sym__Alignas] = ACTIONS(1654), + [sym_primitive_type] = ACTIONS(1654), + [anon_sym_enum] = ACTIONS(1654), + [anon_sym_struct] = ACTIONS(1654), + [anon_sym_union] = ACTIONS(1654), + [anon_sym_if] = ACTIONS(1654), + [anon_sym_switch] = ACTIONS(1654), + [anon_sym_case] = ACTIONS(1654), + [anon_sym_default] = ACTIONS(1654), + [anon_sym_while] = ACTIONS(1654), + [anon_sym_do] = ACTIONS(1654), + [anon_sym_for] = ACTIONS(1654), + [anon_sym_return] = ACTIONS(1654), + [anon_sym_break] = ACTIONS(1654), + [anon_sym_continue] = ACTIONS(1654), + [anon_sym_goto] = ACTIONS(1654), + [anon_sym_DASH_DASH] = ACTIONS(1652), + [anon_sym_PLUS_PLUS] = ACTIONS(1652), + [anon_sym_sizeof] = ACTIONS(1654), + [anon_sym___alignof__] = ACTIONS(1654), + [anon_sym___alignof] = ACTIONS(1654), + [anon_sym__alignof] = ACTIONS(1654), + [anon_sym_alignof] = ACTIONS(1654), + [anon_sym__Alignof] = ACTIONS(1654), + [anon_sym_offsetof] = ACTIONS(1654), + [anon_sym__Generic] = ACTIONS(1654), + [anon_sym_asm] = ACTIONS(1654), + [anon_sym___asm__] = ACTIONS(1654), + [sym__number_literal] = ACTIONS(1652), + [anon_sym_L_SQUOTE] = ACTIONS(1652), + [anon_sym_u_SQUOTE] = ACTIONS(1652), + [anon_sym_U_SQUOTE] = ACTIONS(1652), + [anon_sym_u8_SQUOTE] = ACTIONS(1652), + [anon_sym_SQUOTE] = ACTIONS(1652), + [anon_sym_L_DQUOTE] = ACTIONS(1652), + [anon_sym_u_DQUOTE] = ACTIONS(1652), + [anon_sym_U_DQUOTE] = ACTIONS(1652), + [anon_sym_u8_DQUOTE] = ACTIONS(1652), + [anon_sym_DQUOTE] = ACTIONS(1652), + [sym_true] = ACTIONS(1654), + [sym_false] = ACTIONS(1654), + [anon_sym_NULL] = ACTIONS(1654), + [anon_sym_nullptr] = ACTIONS(1654), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1652), + }, + [359] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1865), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [360] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1955), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [361] = { + [ts_builtin_sym_end] = ACTIONS(1312), + [sym__identifier] = ACTIONS(1310), + [aux_sym_preproc_include_token1] = ACTIONS(1310), + [aux_sym_preproc_def_token1] = ACTIONS(1310), + [aux_sym_preproc_if_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1310), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1310), + [sym_preproc_directive] = ACTIONS(1310), + [anon_sym_LPAREN2] = ACTIONS(1312), + [anon_sym_BANG] = ACTIONS(1312), + [anon_sym_TILDE] = ACTIONS(1312), + [anon_sym_DASH] = ACTIONS(1310), + [anon_sym_PLUS] = ACTIONS(1310), + [anon_sym_STAR] = ACTIONS(1312), + [anon_sym_AMP] = ACTIONS(1312), + [anon_sym___extension__] = ACTIONS(1310), + [anon_sym_typedef] = ACTIONS(1310), + [anon_sym_extern] = ACTIONS(1310), + [anon_sym___attribute__] = ACTIONS(1310), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1312), + [anon_sym___declspec] = ACTIONS(1310), + [anon_sym___cdecl] = ACTIONS(1310), + [anon_sym___clrcall] = ACTIONS(1310), + [anon_sym___stdcall] = ACTIONS(1310), + [anon_sym___fastcall] = ACTIONS(1310), + [anon_sym___thiscall] = ACTIONS(1310), + [anon_sym___vectorcall] = ACTIONS(1310), + [anon_sym_LBRACE] = ACTIONS(1312), + [anon_sym_signed] = ACTIONS(1310), + [anon_sym_unsigned] = ACTIONS(1310), + [anon_sym_long] = ACTIONS(1310), + [anon_sym_short] = ACTIONS(1310), + [anon_sym_static] = ACTIONS(1310), + [anon_sym_auto] = ACTIONS(1310), + [anon_sym_register] = ACTIONS(1310), + [anon_sym_inline] = ACTIONS(1310), + [anon_sym___inline] = ACTIONS(1310), + [anon_sym___inline__] = ACTIONS(1310), + [anon_sym___forceinline] = ACTIONS(1310), + [anon_sym_thread_local] = ACTIONS(1310), + [anon_sym___thread] = ACTIONS(1310), + [anon_sym_const] = ACTIONS(1310), + [anon_sym_constexpr] = ACTIONS(1310), + [anon_sym_volatile] = ACTIONS(1310), + [anon_sym_restrict] = ACTIONS(1310), + [anon_sym___restrict__] = ACTIONS(1310), + [anon_sym__Atomic] = ACTIONS(1310), + [anon_sym__Noreturn] = ACTIONS(1310), + [anon_sym_noreturn] = ACTIONS(1310), + [anon_sym_alignas] = ACTIONS(1310), + [anon_sym__Alignas] = ACTIONS(1310), + [sym_primitive_type] = ACTIONS(1310), + [anon_sym_enum] = ACTIONS(1310), + [anon_sym_struct] = ACTIONS(1310), + [anon_sym_union] = ACTIONS(1310), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1310), + [anon_sym_case] = ACTIONS(1310), + [anon_sym_default] = ACTIONS(1310), + [anon_sym_while] = ACTIONS(1310), + [anon_sym_do] = ACTIONS(1310), + [anon_sym_for] = ACTIONS(1310), + [anon_sym_return] = ACTIONS(1310), + [anon_sym_break] = ACTIONS(1310), + [anon_sym_continue] = ACTIONS(1310), + [anon_sym_goto] = ACTIONS(1310), + [anon_sym_DASH_DASH] = ACTIONS(1312), + [anon_sym_PLUS_PLUS] = ACTIONS(1312), + [anon_sym_sizeof] = ACTIONS(1310), + [anon_sym___alignof__] = ACTIONS(1310), + [anon_sym___alignof] = ACTIONS(1310), + [anon_sym__alignof] = ACTIONS(1310), + [anon_sym_alignof] = ACTIONS(1310), + [anon_sym__Alignof] = ACTIONS(1310), + [anon_sym_offsetof] = ACTIONS(1310), + [anon_sym__Generic] = ACTIONS(1310), + [anon_sym_asm] = ACTIONS(1310), + [anon_sym___asm__] = ACTIONS(1310), + [sym__number_literal] = ACTIONS(1312), + [anon_sym_L_SQUOTE] = ACTIONS(1312), + [anon_sym_u_SQUOTE] = ACTIONS(1312), + [anon_sym_U_SQUOTE] = ACTIONS(1312), + [anon_sym_u8_SQUOTE] = ACTIONS(1312), + [anon_sym_SQUOTE] = ACTIONS(1312), + [anon_sym_L_DQUOTE] = ACTIONS(1312), + [anon_sym_u_DQUOTE] = ACTIONS(1312), + [anon_sym_U_DQUOTE] = ACTIONS(1312), + [anon_sym_u8_DQUOTE] = ACTIONS(1312), + [anon_sym_DQUOTE] = ACTIONS(1312), + [sym_true] = ACTIONS(1310), + [sym_false] = ACTIONS(1310), + [anon_sym_NULL] = ACTIONS(1310), + [anon_sym_nullptr] = ACTIONS(1310), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1312), + }, + [362] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1964), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [363] = { + [ts_builtin_sym_end] = ACTIONS(1656), + [sym__identifier] = ACTIONS(1659), + [aux_sym_preproc_include_token1] = ACTIONS(1659), + [aux_sym_preproc_def_token1] = ACTIONS(1659), + [aux_sym_preproc_if_token1] = ACTIONS(1659), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1659), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1659), + [sym_preproc_directive] = ACTIONS(1659), + [anon_sym_LPAREN2] = ACTIONS(1656), + [anon_sym_BANG] = ACTIONS(1656), + [anon_sym_TILDE] = ACTIONS(1656), + [anon_sym_DASH] = ACTIONS(1659), + [anon_sym_PLUS] = ACTIONS(1659), + [anon_sym_STAR] = ACTIONS(1656), + [anon_sym_AMP] = ACTIONS(1656), + [anon_sym___extension__] = ACTIONS(1659), + [anon_sym_typedef] = ACTIONS(1659), + [anon_sym_extern] = ACTIONS(1659), + [anon_sym___attribute__] = ACTIONS(1659), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1656), + [anon_sym___declspec] = ACTIONS(1659), + [anon_sym___cdecl] = ACTIONS(1659), + [anon_sym___clrcall] = ACTIONS(1659), + [anon_sym___stdcall] = ACTIONS(1659), + [anon_sym___fastcall] = ACTIONS(1659), + [anon_sym___thiscall] = ACTIONS(1659), + [anon_sym___vectorcall] = ACTIONS(1659), + [anon_sym_LBRACE] = ACTIONS(1656), + [anon_sym_signed] = ACTIONS(1659), + [anon_sym_unsigned] = ACTIONS(1659), + [anon_sym_long] = ACTIONS(1659), + [anon_sym_short] = ACTIONS(1659), + [anon_sym_static] = ACTIONS(1659), + [anon_sym_auto] = ACTIONS(1659), + [anon_sym_register] = ACTIONS(1659), + [anon_sym_inline] = ACTIONS(1659), + [anon_sym___inline] = ACTIONS(1659), + [anon_sym___inline__] = ACTIONS(1659), + [anon_sym___forceinline] = ACTIONS(1659), + [anon_sym_thread_local] = ACTIONS(1659), + [anon_sym___thread] = ACTIONS(1659), + [anon_sym_const] = ACTIONS(1659), + [anon_sym_constexpr] = ACTIONS(1659), + [anon_sym_volatile] = ACTIONS(1659), + [anon_sym_restrict] = ACTIONS(1659), + [anon_sym___restrict__] = ACTIONS(1659), + [anon_sym__Atomic] = ACTIONS(1659), + [anon_sym__Noreturn] = ACTIONS(1659), + [anon_sym_noreturn] = ACTIONS(1659), + [anon_sym_alignas] = ACTIONS(1659), + [anon_sym__Alignas] = ACTIONS(1659), + [sym_primitive_type] = ACTIONS(1659), + [anon_sym_enum] = ACTIONS(1659), + [anon_sym_struct] = ACTIONS(1659), + [anon_sym_union] = ACTIONS(1659), + [anon_sym_if] = ACTIONS(1659), + [anon_sym_switch] = ACTIONS(1659), + [anon_sym_case] = ACTIONS(1659), + [anon_sym_default] = ACTIONS(1659), + [anon_sym_while] = ACTIONS(1659), + [anon_sym_do] = ACTIONS(1659), + [anon_sym_for] = ACTIONS(1659), + [anon_sym_return] = ACTIONS(1659), + [anon_sym_break] = ACTIONS(1659), + [anon_sym_continue] = ACTIONS(1659), + [anon_sym_goto] = ACTIONS(1659), + [anon_sym_DASH_DASH] = ACTIONS(1656), + [anon_sym_PLUS_PLUS] = ACTIONS(1656), + [anon_sym_sizeof] = ACTIONS(1659), + [anon_sym___alignof__] = ACTIONS(1659), + [anon_sym___alignof] = ACTIONS(1659), + [anon_sym__alignof] = ACTIONS(1659), + [anon_sym_alignof] = ACTIONS(1659), + [anon_sym__Alignof] = ACTIONS(1659), + [anon_sym_offsetof] = ACTIONS(1659), + [anon_sym__Generic] = ACTIONS(1659), + [anon_sym_asm] = ACTIONS(1659), + [anon_sym___asm__] = ACTIONS(1659), + [sym__number_literal] = ACTIONS(1656), + [anon_sym_L_SQUOTE] = ACTIONS(1656), + [anon_sym_u_SQUOTE] = ACTIONS(1656), + [anon_sym_U_SQUOTE] = ACTIONS(1656), + [anon_sym_u8_SQUOTE] = ACTIONS(1656), + [anon_sym_SQUOTE] = ACTIONS(1656), + [anon_sym_L_DQUOTE] = ACTIONS(1656), + [anon_sym_u_DQUOTE] = ACTIONS(1656), + [anon_sym_U_DQUOTE] = ACTIONS(1656), + [anon_sym_u8_DQUOTE] = ACTIONS(1656), + [anon_sym_DQUOTE] = ACTIONS(1656), + [sym_true] = ACTIONS(1659), + [sym_false] = ACTIONS(1659), + [anon_sym_NULL] = ACTIONS(1659), + [anon_sym_nullptr] = ACTIONS(1659), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1656), + }, + [364] = { + [ts_builtin_sym_end] = ACTIONS(1262), + [sym__identifier] = ACTIONS(1260), + [aux_sym_preproc_include_token1] = ACTIONS(1260), + [aux_sym_preproc_def_token1] = ACTIONS(1260), + [aux_sym_preproc_if_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1260), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1260), + [sym_preproc_directive] = ACTIONS(1260), + [anon_sym_LPAREN2] = ACTIONS(1262), + [anon_sym_BANG] = ACTIONS(1262), + [anon_sym_TILDE] = ACTIONS(1262), + [anon_sym_DASH] = ACTIONS(1260), + [anon_sym_PLUS] = ACTIONS(1260), + [anon_sym_STAR] = ACTIONS(1262), + [anon_sym_AMP] = ACTIONS(1262), + [anon_sym___extension__] = ACTIONS(1260), + [anon_sym_typedef] = ACTIONS(1260), + [anon_sym_extern] = ACTIONS(1260), + [anon_sym___attribute__] = ACTIONS(1260), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1262), + [anon_sym___declspec] = ACTIONS(1260), + [anon_sym___cdecl] = ACTIONS(1260), + [anon_sym___clrcall] = ACTIONS(1260), + [anon_sym___stdcall] = ACTIONS(1260), + [anon_sym___fastcall] = ACTIONS(1260), + [anon_sym___thiscall] = ACTIONS(1260), + [anon_sym___vectorcall] = ACTIONS(1260), + [anon_sym_LBRACE] = ACTIONS(1262), + [anon_sym_signed] = ACTIONS(1260), + [anon_sym_unsigned] = ACTIONS(1260), + [anon_sym_long] = ACTIONS(1260), + [anon_sym_short] = ACTIONS(1260), + [anon_sym_static] = ACTIONS(1260), + [anon_sym_auto] = ACTIONS(1260), + [anon_sym_register] = ACTIONS(1260), + [anon_sym_inline] = ACTIONS(1260), + [anon_sym___inline] = ACTIONS(1260), + [anon_sym___inline__] = ACTIONS(1260), + [anon_sym___forceinline] = ACTIONS(1260), + [anon_sym_thread_local] = ACTIONS(1260), + [anon_sym___thread] = ACTIONS(1260), + [anon_sym_const] = ACTIONS(1260), + [anon_sym_constexpr] = ACTIONS(1260), + [anon_sym_volatile] = ACTIONS(1260), + [anon_sym_restrict] = ACTIONS(1260), + [anon_sym___restrict__] = ACTIONS(1260), + [anon_sym__Atomic] = ACTIONS(1260), + [anon_sym__Noreturn] = ACTIONS(1260), + [anon_sym_noreturn] = ACTIONS(1260), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1260), + [anon_sym_enum] = ACTIONS(1260), + [anon_sym_struct] = ACTIONS(1260), + [anon_sym_union] = ACTIONS(1260), + [anon_sym_if] = ACTIONS(1260), + [anon_sym_switch] = ACTIONS(1260), + [anon_sym_case] = ACTIONS(1260), + [anon_sym_default] = ACTIONS(1260), + [anon_sym_while] = ACTIONS(1260), + [anon_sym_do] = ACTIONS(1260), + [anon_sym_for] = ACTIONS(1260), + [anon_sym_return] = ACTIONS(1260), + [anon_sym_break] = ACTIONS(1260), + [anon_sym_continue] = ACTIONS(1260), + [anon_sym_goto] = ACTIONS(1260), + [anon_sym_DASH_DASH] = ACTIONS(1262), + [anon_sym_PLUS_PLUS] = ACTIONS(1262), + [anon_sym_sizeof] = ACTIONS(1260), + [anon_sym___alignof__] = ACTIONS(1260), + [anon_sym___alignof] = ACTIONS(1260), + [anon_sym__alignof] = ACTIONS(1260), + [anon_sym_alignof] = ACTIONS(1260), + [anon_sym__Alignof] = ACTIONS(1260), + [anon_sym_offsetof] = ACTIONS(1260), + [anon_sym__Generic] = ACTIONS(1260), + [anon_sym_asm] = ACTIONS(1260), + [anon_sym___asm__] = ACTIONS(1260), + [sym__number_literal] = ACTIONS(1262), + [anon_sym_L_SQUOTE] = ACTIONS(1262), + [anon_sym_u_SQUOTE] = ACTIONS(1262), + [anon_sym_U_SQUOTE] = ACTIONS(1262), + [anon_sym_u8_SQUOTE] = ACTIONS(1262), + [anon_sym_SQUOTE] = ACTIONS(1262), + [anon_sym_L_DQUOTE] = ACTIONS(1262), + [anon_sym_u_DQUOTE] = ACTIONS(1262), + [anon_sym_U_DQUOTE] = ACTIONS(1262), + [anon_sym_u8_DQUOTE] = ACTIONS(1262), + [anon_sym_DQUOTE] = ACTIONS(1262), + [sym_true] = ACTIONS(1260), + [sym_false] = ACTIONS(1260), + [anon_sym_NULL] = ACTIONS(1260), + [anon_sym_nullptr] = ACTIONS(1260), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1262), + }, + [365] = { + [ts_builtin_sym_end] = ACTIONS(1300), + [sym__identifier] = ACTIONS(1298), + [aux_sym_preproc_include_token1] = ACTIONS(1298), + [aux_sym_preproc_def_token1] = ACTIONS(1298), + [aux_sym_preproc_if_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1298), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1298), + [sym_preproc_directive] = ACTIONS(1298), + [anon_sym_LPAREN2] = ACTIONS(1300), + [anon_sym_BANG] = ACTIONS(1300), + [anon_sym_TILDE] = ACTIONS(1300), + [anon_sym_DASH] = ACTIONS(1298), + [anon_sym_PLUS] = ACTIONS(1298), + [anon_sym_STAR] = ACTIONS(1300), + [anon_sym_AMP] = ACTIONS(1300), + [anon_sym___extension__] = ACTIONS(1298), + [anon_sym_typedef] = ACTIONS(1298), + [anon_sym_extern] = ACTIONS(1298), + [anon_sym___attribute__] = ACTIONS(1298), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1300), + [anon_sym___declspec] = ACTIONS(1298), + [anon_sym___cdecl] = ACTIONS(1298), + [anon_sym___clrcall] = ACTIONS(1298), + [anon_sym___stdcall] = ACTIONS(1298), + [anon_sym___fastcall] = ACTIONS(1298), + [anon_sym___thiscall] = ACTIONS(1298), + [anon_sym___vectorcall] = ACTIONS(1298), + [anon_sym_LBRACE] = ACTIONS(1300), + [anon_sym_signed] = ACTIONS(1298), + [anon_sym_unsigned] = ACTIONS(1298), + [anon_sym_long] = ACTIONS(1298), + [anon_sym_short] = ACTIONS(1298), + [anon_sym_static] = ACTIONS(1298), + [anon_sym_auto] = ACTIONS(1298), + [anon_sym_register] = ACTIONS(1298), + [anon_sym_inline] = ACTIONS(1298), + [anon_sym___inline] = ACTIONS(1298), + [anon_sym___inline__] = ACTIONS(1298), + [anon_sym___forceinline] = ACTIONS(1298), + [anon_sym_thread_local] = ACTIONS(1298), + [anon_sym___thread] = ACTIONS(1298), + [anon_sym_const] = ACTIONS(1298), + [anon_sym_constexpr] = ACTIONS(1298), + [anon_sym_volatile] = ACTIONS(1298), + [anon_sym_restrict] = ACTIONS(1298), + [anon_sym___restrict__] = ACTIONS(1298), + [anon_sym__Atomic] = ACTIONS(1298), + [anon_sym__Noreturn] = ACTIONS(1298), + [anon_sym_noreturn] = ACTIONS(1298), + [anon_sym_alignas] = ACTIONS(1298), + [anon_sym__Alignas] = ACTIONS(1298), + [sym_primitive_type] = ACTIONS(1298), + [anon_sym_enum] = ACTIONS(1298), + [anon_sym_struct] = ACTIONS(1298), + [anon_sym_union] = ACTIONS(1298), + [anon_sym_if] = ACTIONS(1298), + [anon_sym_switch] = ACTIONS(1298), + [anon_sym_case] = ACTIONS(1298), + [anon_sym_default] = ACTIONS(1298), + [anon_sym_while] = ACTIONS(1298), + [anon_sym_do] = ACTIONS(1298), + [anon_sym_for] = ACTIONS(1298), + [anon_sym_return] = ACTIONS(1298), + [anon_sym_break] = ACTIONS(1298), + [anon_sym_continue] = ACTIONS(1298), + [anon_sym_goto] = ACTIONS(1298), + [anon_sym_DASH_DASH] = ACTIONS(1300), + [anon_sym_PLUS_PLUS] = ACTIONS(1300), + [anon_sym_sizeof] = ACTIONS(1298), + [anon_sym___alignof__] = ACTIONS(1298), + [anon_sym___alignof] = ACTIONS(1298), + [anon_sym__alignof] = ACTIONS(1298), + [anon_sym_alignof] = ACTIONS(1298), + [anon_sym__Alignof] = ACTIONS(1298), + [anon_sym_offsetof] = ACTIONS(1298), + [anon_sym__Generic] = ACTIONS(1298), + [anon_sym_asm] = ACTIONS(1298), + [anon_sym___asm__] = ACTIONS(1298), + [sym__number_literal] = ACTIONS(1300), + [anon_sym_L_SQUOTE] = ACTIONS(1300), + [anon_sym_u_SQUOTE] = ACTIONS(1300), + [anon_sym_U_SQUOTE] = ACTIONS(1300), + [anon_sym_u8_SQUOTE] = ACTIONS(1300), + [anon_sym_SQUOTE] = ACTIONS(1300), + [anon_sym_L_DQUOTE] = ACTIONS(1300), + [anon_sym_u_DQUOTE] = ACTIONS(1300), + [anon_sym_U_DQUOTE] = ACTIONS(1300), + [anon_sym_u8_DQUOTE] = ACTIONS(1300), + [anon_sym_DQUOTE] = ACTIONS(1300), + [sym_true] = ACTIONS(1298), + [sym_false] = ACTIONS(1298), + [anon_sym_NULL] = ACTIONS(1298), + [anon_sym_nullptr] = ACTIONS(1298), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1300), + }, + [366] = { + [ts_builtin_sym_end] = ACTIONS(1288), + [sym__identifier] = ACTIONS(1286), + [aux_sym_preproc_include_token1] = ACTIONS(1286), + [aux_sym_preproc_def_token1] = ACTIONS(1286), + [aux_sym_preproc_if_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1286), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1286), + [sym_preproc_directive] = ACTIONS(1286), + [anon_sym_LPAREN2] = ACTIONS(1288), + [anon_sym_BANG] = ACTIONS(1288), + [anon_sym_TILDE] = ACTIONS(1288), + [anon_sym_DASH] = ACTIONS(1286), + [anon_sym_PLUS] = ACTIONS(1286), + [anon_sym_STAR] = ACTIONS(1288), + [anon_sym_AMP] = ACTIONS(1288), + [anon_sym___extension__] = ACTIONS(1286), + [anon_sym_typedef] = ACTIONS(1286), + [anon_sym_extern] = ACTIONS(1286), + [anon_sym___attribute__] = ACTIONS(1286), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1288), + [anon_sym___declspec] = ACTIONS(1286), + [anon_sym___cdecl] = ACTIONS(1286), + [anon_sym___clrcall] = ACTIONS(1286), + [anon_sym___stdcall] = ACTIONS(1286), + [anon_sym___fastcall] = ACTIONS(1286), + [anon_sym___thiscall] = ACTIONS(1286), + [anon_sym___vectorcall] = ACTIONS(1286), + [anon_sym_LBRACE] = ACTIONS(1288), + [anon_sym_signed] = ACTIONS(1286), + [anon_sym_unsigned] = ACTIONS(1286), + [anon_sym_long] = ACTIONS(1286), + [anon_sym_short] = ACTIONS(1286), + [anon_sym_static] = ACTIONS(1286), + [anon_sym_auto] = ACTIONS(1286), + [anon_sym_register] = ACTIONS(1286), + [anon_sym_inline] = ACTIONS(1286), + [anon_sym___inline] = ACTIONS(1286), + [anon_sym___inline__] = ACTIONS(1286), + [anon_sym___forceinline] = ACTIONS(1286), + [anon_sym_thread_local] = ACTIONS(1286), + [anon_sym___thread] = ACTIONS(1286), + [anon_sym_const] = ACTIONS(1286), + [anon_sym_constexpr] = ACTIONS(1286), + [anon_sym_volatile] = ACTIONS(1286), + [anon_sym_restrict] = ACTIONS(1286), + [anon_sym___restrict__] = ACTIONS(1286), + [anon_sym__Atomic] = ACTIONS(1286), + [anon_sym__Noreturn] = ACTIONS(1286), + [anon_sym_noreturn] = ACTIONS(1286), + [anon_sym_alignas] = ACTIONS(1286), + [anon_sym__Alignas] = ACTIONS(1286), + [sym_primitive_type] = ACTIONS(1286), + [anon_sym_enum] = ACTIONS(1286), + [anon_sym_struct] = ACTIONS(1286), + [anon_sym_union] = ACTIONS(1286), + [anon_sym_if] = ACTIONS(1286), + [anon_sym_switch] = ACTIONS(1286), + [anon_sym_case] = ACTIONS(1286), + [anon_sym_default] = ACTIONS(1286), + [anon_sym_while] = ACTIONS(1286), + [anon_sym_do] = ACTIONS(1286), + [anon_sym_for] = ACTIONS(1286), + [anon_sym_return] = ACTIONS(1286), + [anon_sym_break] = ACTIONS(1286), + [anon_sym_continue] = ACTIONS(1286), + [anon_sym_goto] = ACTIONS(1286), + [anon_sym_DASH_DASH] = ACTIONS(1288), + [anon_sym_PLUS_PLUS] = ACTIONS(1288), + [anon_sym_sizeof] = ACTIONS(1286), + [anon_sym___alignof__] = ACTIONS(1286), + [anon_sym___alignof] = ACTIONS(1286), + [anon_sym__alignof] = ACTIONS(1286), + [anon_sym_alignof] = ACTIONS(1286), + [anon_sym__Alignof] = ACTIONS(1286), + [anon_sym_offsetof] = ACTIONS(1286), + [anon_sym__Generic] = ACTIONS(1286), + [anon_sym_asm] = ACTIONS(1286), + [anon_sym___asm__] = ACTIONS(1286), + [sym__number_literal] = ACTIONS(1288), + [anon_sym_L_SQUOTE] = ACTIONS(1288), + [anon_sym_u_SQUOTE] = ACTIONS(1288), + [anon_sym_U_SQUOTE] = ACTIONS(1288), + [anon_sym_u8_SQUOTE] = ACTIONS(1288), + [anon_sym_SQUOTE] = ACTIONS(1288), + [anon_sym_L_DQUOTE] = ACTIONS(1288), + [anon_sym_u_DQUOTE] = ACTIONS(1288), + [anon_sym_U_DQUOTE] = ACTIONS(1288), + [anon_sym_u8_DQUOTE] = ACTIONS(1288), + [anon_sym_DQUOTE] = ACTIONS(1288), + [sym_true] = ACTIONS(1286), + [sym_false] = ACTIONS(1286), + [anon_sym_NULL] = ACTIONS(1286), + [anon_sym_nullptr] = ACTIONS(1286), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1288), + }, + [367] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1983), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [368] = { + [ts_builtin_sym_end] = ACTIONS(1292), + [sym__identifier] = ACTIONS(1290), + [aux_sym_preproc_include_token1] = ACTIONS(1290), + [aux_sym_preproc_def_token1] = ACTIONS(1290), + [aux_sym_preproc_if_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1290), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1290), + [sym_preproc_directive] = ACTIONS(1290), + [anon_sym_LPAREN2] = ACTIONS(1292), + [anon_sym_BANG] = ACTIONS(1292), + [anon_sym_TILDE] = ACTIONS(1292), + [anon_sym_DASH] = ACTIONS(1290), + [anon_sym_PLUS] = ACTIONS(1290), + [anon_sym_STAR] = ACTIONS(1292), + [anon_sym_AMP] = ACTIONS(1292), + [anon_sym___extension__] = ACTIONS(1290), + [anon_sym_typedef] = ACTIONS(1290), + [anon_sym_extern] = ACTIONS(1290), + [anon_sym___attribute__] = ACTIONS(1290), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1292), + [anon_sym___declspec] = ACTIONS(1290), + [anon_sym___cdecl] = ACTIONS(1290), + [anon_sym___clrcall] = ACTIONS(1290), + [anon_sym___stdcall] = ACTIONS(1290), + [anon_sym___fastcall] = ACTIONS(1290), + [anon_sym___thiscall] = ACTIONS(1290), + [anon_sym___vectorcall] = ACTIONS(1290), + [anon_sym_LBRACE] = ACTIONS(1292), + [anon_sym_signed] = ACTIONS(1290), + [anon_sym_unsigned] = ACTIONS(1290), + [anon_sym_long] = ACTIONS(1290), + [anon_sym_short] = ACTIONS(1290), + [anon_sym_static] = ACTIONS(1290), + [anon_sym_auto] = ACTIONS(1290), + [anon_sym_register] = ACTIONS(1290), + [anon_sym_inline] = ACTIONS(1290), + [anon_sym___inline] = ACTIONS(1290), + [anon_sym___inline__] = ACTIONS(1290), + [anon_sym___forceinline] = ACTIONS(1290), + [anon_sym_thread_local] = ACTIONS(1290), + [anon_sym___thread] = ACTIONS(1290), + [anon_sym_const] = ACTIONS(1290), + [anon_sym_constexpr] = ACTIONS(1290), + [anon_sym_volatile] = ACTIONS(1290), + [anon_sym_restrict] = ACTIONS(1290), + [anon_sym___restrict__] = ACTIONS(1290), + [anon_sym__Atomic] = ACTIONS(1290), + [anon_sym__Noreturn] = ACTIONS(1290), + [anon_sym_noreturn] = ACTIONS(1290), + [anon_sym_alignas] = ACTIONS(1290), + [anon_sym__Alignas] = ACTIONS(1290), + [sym_primitive_type] = ACTIONS(1290), + [anon_sym_enum] = ACTIONS(1290), + [anon_sym_struct] = ACTIONS(1290), + [anon_sym_union] = ACTIONS(1290), + [anon_sym_if] = ACTIONS(1290), + [anon_sym_switch] = ACTIONS(1290), + [anon_sym_case] = ACTIONS(1290), + [anon_sym_default] = ACTIONS(1290), + [anon_sym_while] = ACTIONS(1290), + [anon_sym_do] = ACTIONS(1290), + [anon_sym_for] = ACTIONS(1290), + [anon_sym_return] = ACTIONS(1290), + [anon_sym_break] = ACTIONS(1290), + [anon_sym_continue] = ACTIONS(1290), + [anon_sym_goto] = ACTIONS(1290), + [anon_sym_DASH_DASH] = ACTIONS(1292), + [anon_sym_PLUS_PLUS] = ACTIONS(1292), + [anon_sym_sizeof] = ACTIONS(1290), + [anon_sym___alignof__] = ACTIONS(1290), + [anon_sym___alignof] = ACTIONS(1290), + [anon_sym__alignof] = ACTIONS(1290), + [anon_sym_alignof] = ACTIONS(1290), + [anon_sym__Alignof] = ACTIONS(1290), + [anon_sym_offsetof] = ACTIONS(1290), + [anon_sym__Generic] = ACTIONS(1290), + [anon_sym_asm] = ACTIONS(1290), + [anon_sym___asm__] = ACTIONS(1290), + [sym__number_literal] = ACTIONS(1292), + [anon_sym_L_SQUOTE] = ACTIONS(1292), + [anon_sym_u_SQUOTE] = ACTIONS(1292), + [anon_sym_U_SQUOTE] = ACTIONS(1292), + [anon_sym_u8_SQUOTE] = ACTIONS(1292), + [anon_sym_SQUOTE] = ACTIONS(1292), + [anon_sym_L_DQUOTE] = ACTIONS(1292), + [anon_sym_u_DQUOTE] = ACTIONS(1292), + [anon_sym_U_DQUOTE] = ACTIONS(1292), + [anon_sym_u8_DQUOTE] = ACTIONS(1292), + [anon_sym_DQUOTE] = ACTIONS(1292), + [sym_true] = ACTIONS(1290), + [sym_false] = ACTIONS(1290), + [anon_sym_NULL] = ACTIONS(1290), + [anon_sym_nullptr] = ACTIONS(1290), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1292), + }, + [369] = { + [ts_builtin_sym_end] = ACTIONS(1324), + [sym__identifier] = ACTIONS(1322), + [aux_sym_preproc_include_token1] = ACTIONS(1322), + [aux_sym_preproc_def_token1] = ACTIONS(1322), + [aux_sym_preproc_if_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1322), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1322), + [sym_preproc_directive] = ACTIONS(1322), + [anon_sym_LPAREN2] = ACTIONS(1324), + [anon_sym_BANG] = ACTIONS(1324), + [anon_sym_TILDE] = ACTIONS(1324), + [anon_sym_DASH] = ACTIONS(1322), + [anon_sym_PLUS] = ACTIONS(1322), + [anon_sym_STAR] = ACTIONS(1324), + [anon_sym_AMP] = ACTIONS(1324), + [anon_sym___extension__] = ACTIONS(1322), + [anon_sym_typedef] = ACTIONS(1322), + [anon_sym_extern] = ACTIONS(1322), + [anon_sym___attribute__] = ACTIONS(1322), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1324), + [anon_sym___declspec] = ACTIONS(1322), + [anon_sym___cdecl] = ACTIONS(1322), + [anon_sym___clrcall] = ACTIONS(1322), + [anon_sym___stdcall] = ACTIONS(1322), + [anon_sym___fastcall] = ACTIONS(1322), + [anon_sym___thiscall] = ACTIONS(1322), + [anon_sym___vectorcall] = ACTIONS(1322), + [anon_sym_LBRACE] = ACTIONS(1324), + [anon_sym_signed] = ACTIONS(1322), + [anon_sym_unsigned] = ACTIONS(1322), + [anon_sym_long] = ACTIONS(1322), + [anon_sym_short] = ACTIONS(1322), + [anon_sym_static] = ACTIONS(1322), + [anon_sym_auto] = ACTIONS(1322), + [anon_sym_register] = ACTIONS(1322), + [anon_sym_inline] = ACTIONS(1322), + [anon_sym___inline] = ACTIONS(1322), + [anon_sym___inline__] = ACTIONS(1322), + [anon_sym___forceinline] = ACTIONS(1322), + [anon_sym_thread_local] = ACTIONS(1322), + [anon_sym___thread] = ACTIONS(1322), + [anon_sym_const] = ACTIONS(1322), + [anon_sym_constexpr] = ACTIONS(1322), + [anon_sym_volatile] = ACTIONS(1322), + [anon_sym_restrict] = ACTIONS(1322), + [anon_sym___restrict__] = ACTIONS(1322), + [anon_sym__Atomic] = ACTIONS(1322), + [anon_sym__Noreturn] = ACTIONS(1322), + [anon_sym_noreturn] = ACTIONS(1322), + [anon_sym_alignas] = ACTIONS(1322), + [anon_sym__Alignas] = ACTIONS(1322), + [sym_primitive_type] = ACTIONS(1322), + [anon_sym_enum] = ACTIONS(1322), + [anon_sym_struct] = ACTIONS(1322), + [anon_sym_union] = ACTIONS(1322), + [anon_sym_if] = ACTIONS(1322), + [anon_sym_switch] = ACTIONS(1322), + [anon_sym_case] = ACTIONS(1322), + [anon_sym_default] = ACTIONS(1322), + [anon_sym_while] = ACTIONS(1322), + [anon_sym_do] = ACTIONS(1322), + [anon_sym_for] = ACTIONS(1322), + [anon_sym_return] = ACTIONS(1322), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1322), + [anon_sym_goto] = ACTIONS(1322), + [anon_sym_DASH_DASH] = ACTIONS(1324), + [anon_sym_PLUS_PLUS] = ACTIONS(1324), + [anon_sym_sizeof] = ACTIONS(1322), + [anon_sym___alignof__] = ACTIONS(1322), + [anon_sym___alignof] = ACTIONS(1322), + [anon_sym__alignof] = ACTIONS(1322), + [anon_sym_alignof] = ACTIONS(1322), + [anon_sym__Alignof] = ACTIONS(1322), + [anon_sym_offsetof] = ACTIONS(1322), + [anon_sym__Generic] = ACTIONS(1322), + [anon_sym_asm] = ACTIONS(1322), + [anon_sym___asm__] = ACTIONS(1322), + [sym__number_literal] = ACTIONS(1324), + [anon_sym_L_SQUOTE] = ACTIONS(1324), + [anon_sym_u_SQUOTE] = ACTIONS(1324), + [anon_sym_U_SQUOTE] = ACTIONS(1324), + [anon_sym_u8_SQUOTE] = ACTIONS(1324), + [anon_sym_SQUOTE] = ACTIONS(1324), + [anon_sym_L_DQUOTE] = ACTIONS(1324), + [anon_sym_u_DQUOTE] = ACTIONS(1324), + [anon_sym_U_DQUOTE] = ACTIONS(1324), + [anon_sym_u8_DQUOTE] = ACTIONS(1324), + [anon_sym_DQUOTE] = ACTIONS(1324), + [sym_true] = ACTIONS(1322), + [sym_false] = ACTIONS(1322), + [anon_sym_NULL] = ACTIONS(1322), + [anon_sym_nullptr] = ACTIONS(1322), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1324), + }, + [370] = { + [ts_builtin_sym_end] = ACTIONS(1328), + [sym__identifier] = ACTIONS(1326), + [aux_sym_preproc_include_token1] = ACTIONS(1326), + [aux_sym_preproc_def_token1] = ACTIONS(1326), + [aux_sym_preproc_if_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1326), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1326), + [sym_preproc_directive] = ACTIONS(1326), + [anon_sym_LPAREN2] = ACTIONS(1328), + [anon_sym_BANG] = ACTIONS(1328), + [anon_sym_TILDE] = ACTIONS(1328), + [anon_sym_DASH] = ACTIONS(1326), + [anon_sym_PLUS] = ACTIONS(1326), + [anon_sym_STAR] = ACTIONS(1328), + [anon_sym_AMP] = ACTIONS(1328), + [anon_sym___extension__] = ACTIONS(1326), + [anon_sym_typedef] = ACTIONS(1326), + [anon_sym_extern] = ACTIONS(1326), + [anon_sym___attribute__] = ACTIONS(1326), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1328), + [anon_sym___declspec] = ACTIONS(1326), + [anon_sym___cdecl] = ACTIONS(1326), + [anon_sym___clrcall] = ACTIONS(1326), + [anon_sym___stdcall] = ACTIONS(1326), + [anon_sym___fastcall] = ACTIONS(1326), + [anon_sym___thiscall] = ACTIONS(1326), + [anon_sym___vectorcall] = ACTIONS(1326), + [anon_sym_LBRACE] = ACTIONS(1328), + [anon_sym_signed] = ACTIONS(1326), + [anon_sym_unsigned] = ACTIONS(1326), + [anon_sym_long] = ACTIONS(1326), + [anon_sym_short] = ACTIONS(1326), + [anon_sym_static] = ACTIONS(1326), + [anon_sym_auto] = ACTIONS(1326), + [anon_sym_register] = ACTIONS(1326), + [anon_sym_inline] = ACTIONS(1326), + [anon_sym___inline] = ACTIONS(1326), + [anon_sym___inline__] = ACTIONS(1326), + [anon_sym___forceinline] = ACTIONS(1326), + [anon_sym_thread_local] = ACTIONS(1326), + [anon_sym___thread] = ACTIONS(1326), + [anon_sym_const] = ACTIONS(1326), + [anon_sym_constexpr] = ACTIONS(1326), + [anon_sym_volatile] = ACTIONS(1326), + [anon_sym_restrict] = ACTIONS(1326), + [anon_sym___restrict__] = ACTIONS(1326), + [anon_sym__Atomic] = ACTIONS(1326), + [anon_sym__Noreturn] = ACTIONS(1326), + [anon_sym_noreturn] = ACTIONS(1326), + [anon_sym_alignas] = ACTIONS(1326), + [anon_sym__Alignas] = ACTIONS(1326), + [sym_primitive_type] = ACTIONS(1326), + [anon_sym_enum] = ACTIONS(1326), + [anon_sym_struct] = ACTIONS(1326), + [anon_sym_union] = ACTIONS(1326), + [anon_sym_if] = ACTIONS(1326), + [anon_sym_switch] = ACTIONS(1326), + [anon_sym_case] = ACTIONS(1326), + [anon_sym_default] = ACTIONS(1326), + [anon_sym_while] = ACTIONS(1326), + [anon_sym_do] = ACTIONS(1326), + [anon_sym_for] = ACTIONS(1326), + [anon_sym_return] = ACTIONS(1326), + [anon_sym_break] = ACTIONS(1326), + [anon_sym_continue] = ACTIONS(1326), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(1328), + [anon_sym_PLUS_PLUS] = ACTIONS(1328), + [anon_sym_sizeof] = ACTIONS(1326), + [anon_sym___alignof__] = ACTIONS(1326), + [anon_sym___alignof] = ACTIONS(1326), + [anon_sym__alignof] = ACTIONS(1326), + [anon_sym_alignof] = ACTIONS(1326), + [anon_sym__Alignof] = ACTIONS(1326), + [anon_sym_offsetof] = ACTIONS(1326), + [anon_sym__Generic] = ACTIONS(1326), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1328), + [anon_sym_L_SQUOTE] = ACTIONS(1328), + [anon_sym_u_SQUOTE] = ACTIONS(1328), + [anon_sym_U_SQUOTE] = ACTIONS(1328), + [anon_sym_u8_SQUOTE] = ACTIONS(1328), + [anon_sym_SQUOTE] = ACTIONS(1328), + [anon_sym_L_DQUOTE] = ACTIONS(1328), + [anon_sym_u_DQUOTE] = ACTIONS(1328), + [anon_sym_U_DQUOTE] = ACTIONS(1328), + [anon_sym_u8_DQUOTE] = ACTIONS(1328), + [anon_sym_DQUOTE] = ACTIONS(1328), + [sym_true] = ACTIONS(1326), + [sym_false] = ACTIONS(1326), + [anon_sym_NULL] = ACTIONS(1326), + [anon_sym_nullptr] = ACTIONS(1326), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1328), + }, + [371] = { + [ts_builtin_sym_end] = ACTIONS(1332), + [sym__identifier] = ACTIONS(1330), + [aux_sym_preproc_include_token1] = ACTIONS(1330), + [aux_sym_preproc_def_token1] = ACTIONS(1330), + [aux_sym_preproc_if_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1330), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1330), + [sym_preproc_directive] = ACTIONS(1330), + [anon_sym_LPAREN2] = ACTIONS(1332), + [anon_sym_BANG] = ACTIONS(1332), + [anon_sym_TILDE] = ACTIONS(1332), + [anon_sym_DASH] = ACTIONS(1330), + [anon_sym_PLUS] = ACTIONS(1330), + [anon_sym_STAR] = ACTIONS(1332), + [anon_sym_AMP] = ACTIONS(1332), + [anon_sym___extension__] = ACTIONS(1330), + [anon_sym_typedef] = ACTIONS(1330), + [anon_sym_extern] = ACTIONS(1330), + [anon_sym___attribute__] = ACTIONS(1330), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1332), + [anon_sym___declspec] = ACTIONS(1330), + [anon_sym___cdecl] = ACTIONS(1330), + [anon_sym___clrcall] = ACTIONS(1330), + [anon_sym___stdcall] = ACTIONS(1330), + [anon_sym___fastcall] = ACTIONS(1330), + [anon_sym___thiscall] = ACTIONS(1330), + [anon_sym___vectorcall] = ACTIONS(1330), + [anon_sym_LBRACE] = ACTIONS(1332), + [anon_sym_signed] = ACTIONS(1330), + [anon_sym_unsigned] = ACTIONS(1330), + [anon_sym_long] = ACTIONS(1330), + [anon_sym_short] = ACTIONS(1330), + [anon_sym_static] = ACTIONS(1330), + [anon_sym_auto] = ACTIONS(1330), + [anon_sym_register] = ACTIONS(1330), + [anon_sym_inline] = ACTIONS(1330), + [anon_sym___inline] = ACTIONS(1330), + [anon_sym___inline__] = ACTIONS(1330), + [anon_sym___forceinline] = ACTIONS(1330), + [anon_sym_thread_local] = ACTIONS(1330), + [anon_sym___thread] = ACTIONS(1330), + [anon_sym_const] = ACTIONS(1330), + [anon_sym_constexpr] = ACTIONS(1330), + [anon_sym_volatile] = ACTIONS(1330), + [anon_sym_restrict] = ACTIONS(1330), + [anon_sym___restrict__] = ACTIONS(1330), + [anon_sym__Atomic] = ACTIONS(1330), + [anon_sym__Noreturn] = ACTIONS(1330), + [anon_sym_noreturn] = ACTIONS(1330), + [anon_sym_alignas] = ACTIONS(1330), + [anon_sym__Alignas] = ACTIONS(1330), + [sym_primitive_type] = ACTIONS(1330), + [anon_sym_enum] = ACTIONS(1330), + [anon_sym_struct] = ACTIONS(1330), + [anon_sym_union] = ACTIONS(1330), + [anon_sym_if] = ACTIONS(1330), + [anon_sym_switch] = ACTIONS(1330), + [anon_sym_case] = ACTIONS(1330), + [anon_sym_default] = ACTIONS(1330), + [anon_sym_while] = ACTIONS(1330), + [anon_sym_do] = ACTIONS(1330), + [anon_sym_for] = ACTIONS(1330), + [anon_sym_return] = ACTIONS(1330), + [anon_sym_break] = ACTIONS(1330), + [anon_sym_continue] = ACTIONS(1330), + [anon_sym_goto] = ACTIONS(1330), + [anon_sym_DASH_DASH] = ACTIONS(1332), + [anon_sym_PLUS_PLUS] = ACTIONS(1332), + [anon_sym_sizeof] = ACTIONS(1330), + [anon_sym___alignof__] = ACTIONS(1330), + [anon_sym___alignof] = ACTIONS(1330), + [anon_sym__alignof] = ACTIONS(1330), + [anon_sym_alignof] = ACTIONS(1330), + [anon_sym__Alignof] = ACTIONS(1330), + [anon_sym_offsetof] = ACTIONS(1330), + [anon_sym__Generic] = ACTIONS(1330), + [anon_sym_asm] = ACTIONS(1330), + [anon_sym___asm__] = ACTIONS(1330), + [sym__number_literal] = ACTIONS(1332), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1332), + [anon_sym_u_DQUOTE] = ACTIONS(1332), + [anon_sym_U_DQUOTE] = ACTIONS(1332), + [anon_sym_u8_DQUOTE] = ACTIONS(1332), + [anon_sym_DQUOTE] = ACTIONS(1332), + [sym_true] = ACTIONS(1330), + [sym_false] = ACTIONS(1330), + [anon_sym_NULL] = ACTIONS(1330), + [anon_sym_nullptr] = ACTIONS(1330), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1332), + }, + [372] = { + [ts_builtin_sym_end] = ACTIONS(1250), + [sym__identifier] = ACTIONS(1248), + [aux_sym_preproc_include_token1] = ACTIONS(1248), + [aux_sym_preproc_def_token1] = ACTIONS(1248), + [aux_sym_preproc_if_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1248), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1248), + [sym_preproc_directive] = ACTIONS(1248), + [anon_sym_LPAREN2] = ACTIONS(1250), + [anon_sym_BANG] = ACTIONS(1250), + [anon_sym_TILDE] = ACTIONS(1250), + [anon_sym_DASH] = ACTIONS(1248), + [anon_sym_PLUS] = ACTIONS(1248), + [anon_sym_STAR] = ACTIONS(1250), + [anon_sym_AMP] = ACTIONS(1250), + [anon_sym___extension__] = ACTIONS(1248), + [anon_sym_typedef] = ACTIONS(1248), + [anon_sym_extern] = ACTIONS(1248), + [anon_sym___attribute__] = ACTIONS(1248), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1250), + [anon_sym___declspec] = ACTIONS(1248), + [anon_sym___cdecl] = ACTIONS(1248), + [anon_sym___clrcall] = ACTIONS(1248), + [anon_sym___stdcall] = ACTIONS(1248), + [anon_sym___fastcall] = ACTIONS(1248), + [anon_sym___thiscall] = ACTIONS(1248), + [anon_sym___vectorcall] = ACTIONS(1248), + [anon_sym_LBRACE] = ACTIONS(1250), + [anon_sym_signed] = ACTIONS(1248), + [anon_sym_unsigned] = ACTIONS(1248), + [anon_sym_long] = ACTIONS(1248), + [anon_sym_short] = ACTIONS(1248), + [anon_sym_static] = ACTIONS(1248), + [anon_sym_auto] = ACTIONS(1248), + [anon_sym_register] = ACTIONS(1248), + [anon_sym_inline] = ACTIONS(1248), + [anon_sym___inline] = ACTIONS(1248), + [anon_sym___inline__] = ACTIONS(1248), + [anon_sym___forceinline] = ACTIONS(1248), + [anon_sym_thread_local] = ACTIONS(1248), + [anon_sym___thread] = ACTIONS(1248), + [anon_sym_const] = ACTIONS(1248), + [anon_sym_constexpr] = ACTIONS(1248), + [anon_sym_volatile] = ACTIONS(1248), + [anon_sym_restrict] = ACTIONS(1248), + [anon_sym___restrict__] = ACTIONS(1248), + [anon_sym__Atomic] = ACTIONS(1248), + [anon_sym__Noreturn] = ACTIONS(1248), + [anon_sym_noreturn] = ACTIONS(1248), + [anon_sym_alignas] = ACTIONS(1248), + [anon_sym__Alignas] = ACTIONS(1248), + [sym_primitive_type] = ACTIONS(1248), + [anon_sym_enum] = ACTIONS(1248), + [anon_sym_struct] = ACTIONS(1248), + [anon_sym_union] = ACTIONS(1248), + [anon_sym_if] = ACTIONS(1248), + [anon_sym_switch] = ACTIONS(1248), + [anon_sym_case] = ACTIONS(1248), + [anon_sym_default] = ACTIONS(1248), + [anon_sym_while] = ACTIONS(1248), + [anon_sym_do] = ACTIONS(1248), + [anon_sym_for] = ACTIONS(1248), + [anon_sym_return] = ACTIONS(1248), + [anon_sym_break] = ACTIONS(1248), + [anon_sym_continue] = ACTIONS(1248), + [anon_sym_goto] = ACTIONS(1248), + [anon_sym_DASH_DASH] = ACTIONS(1250), + [anon_sym_PLUS_PLUS] = ACTIONS(1250), + [anon_sym_sizeof] = ACTIONS(1248), + [anon_sym___alignof__] = ACTIONS(1248), + [anon_sym___alignof] = ACTIONS(1248), + [anon_sym__alignof] = ACTIONS(1248), + [anon_sym_alignof] = ACTIONS(1248), + [anon_sym__Alignof] = ACTIONS(1248), + [anon_sym_offsetof] = ACTIONS(1248), + [anon_sym__Generic] = ACTIONS(1248), + [anon_sym_asm] = ACTIONS(1248), + [anon_sym___asm__] = ACTIONS(1248), + [sym__number_literal] = ACTIONS(1250), + [anon_sym_L_SQUOTE] = ACTIONS(1250), + [anon_sym_u_SQUOTE] = ACTIONS(1250), + [anon_sym_U_SQUOTE] = ACTIONS(1250), + [anon_sym_u8_SQUOTE] = ACTIONS(1250), + [anon_sym_SQUOTE] = ACTIONS(1250), + [anon_sym_L_DQUOTE] = ACTIONS(1250), + [anon_sym_u_DQUOTE] = ACTIONS(1250), + [anon_sym_U_DQUOTE] = ACTIONS(1250), + [anon_sym_u8_DQUOTE] = ACTIONS(1250), + [anon_sym_DQUOTE] = ACTIONS(1250), + [sym_true] = ACTIONS(1248), + [sym_false] = ACTIONS(1248), + [anon_sym_NULL] = ACTIONS(1248), + [anon_sym_nullptr] = ACTIONS(1248), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1250), + }, + [373] = { + [ts_builtin_sym_end] = ACTIONS(1296), + [sym__identifier] = ACTIONS(1294), + [aux_sym_preproc_include_token1] = ACTIONS(1294), + [aux_sym_preproc_def_token1] = ACTIONS(1294), + [aux_sym_preproc_if_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1294), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1294), + [sym_preproc_directive] = ACTIONS(1294), + [anon_sym_LPAREN2] = ACTIONS(1296), + [anon_sym_BANG] = ACTIONS(1296), + [anon_sym_TILDE] = ACTIONS(1296), + [anon_sym_DASH] = ACTIONS(1294), + [anon_sym_PLUS] = ACTIONS(1294), + [anon_sym_STAR] = ACTIONS(1296), + [anon_sym_AMP] = ACTIONS(1296), + [anon_sym___extension__] = ACTIONS(1294), + [anon_sym_typedef] = ACTIONS(1294), + [anon_sym_extern] = ACTIONS(1294), + [anon_sym___attribute__] = ACTIONS(1294), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1296), + [anon_sym___declspec] = ACTIONS(1294), + [anon_sym___cdecl] = ACTIONS(1294), + [anon_sym___clrcall] = ACTIONS(1294), + [anon_sym___stdcall] = ACTIONS(1294), + [anon_sym___fastcall] = ACTIONS(1294), + [anon_sym___thiscall] = ACTIONS(1294), + [anon_sym___vectorcall] = ACTIONS(1294), + [anon_sym_LBRACE] = ACTIONS(1296), + [anon_sym_signed] = ACTIONS(1294), + [anon_sym_unsigned] = ACTIONS(1294), + [anon_sym_long] = ACTIONS(1294), + [anon_sym_short] = ACTIONS(1294), + [anon_sym_static] = ACTIONS(1294), + [anon_sym_auto] = ACTIONS(1294), + [anon_sym_register] = ACTIONS(1294), + [anon_sym_inline] = ACTIONS(1294), + [anon_sym___inline] = ACTIONS(1294), + [anon_sym___inline__] = ACTIONS(1294), + [anon_sym___forceinline] = ACTIONS(1294), + [anon_sym_thread_local] = ACTIONS(1294), + [anon_sym___thread] = ACTIONS(1294), + [anon_sym_const] = ACTIONS(1294), + [anon_sym_constexpr] = ACTIONS(1294), + [anon_sym_volatile] = ACTIONS(1294), + [anon_sym_restrict] = ACTIONS(1294), + [anon_sym___restrict__] = ACTIONS(1294), + [anon_sym__Atomic] = ACTIONS(1294), + [anon_sym__Noreturn] = ACTIONS(1294), + [anon_sym_noreturn] = ACTIONS(1294), + [anon_sym_alignas] = ACTIONS(1294), + [anon_sym__Alignas] = ACTIONS(1294), + [sym_primitive_type] = ACTIONS(1294), + [anon_sym_enum] = ACTIONS(1294), + [anon_sym_struct] = ACTIONS(1294), + [anon_sym_union] = ACTIONS(1294), + [anon_sym_if] = ACTIONS(1294), + [anon_sym_switch] = ACTIONS(1294), + [anon_sym_case] = ACTIONS(1294), + [anon_sym_default] = ACTIONS(1294), + [anon_sym_while] = ACTIONS(1294), + [anon_sym_do] = ACTIONS(1294), + [anon_sym_for] = ACTIONS(1294), + [anon_sym_return] = ACTIONS(1294), + [anon_sym_break] = ACTIONS(1294), + [anon_sym_continue] = ACTIONS(1294), + [anon_sym_goto] = ACTIONS(1294), + [anon_sym_DASH_DASH] = ACTIONS(1296), + [anon_sym_PLUS_PLUS] = ACTIONS(1296), + [anon_sym_sizeof] = ACTIONS(1294), + [anon_sym___alignof__] = ACTIONS(1294), + [anon_sym___alignof] = ACTIONS(1294), + [anon_sym__alignof] = ACTIONS(1294), + [anon_sym_alignof] = ACTIONS(1294), + [anon_sym__Alignof] = ACTIONS(1294), + [anon_sym_offsetof] = ACTIONS(1294), + [anon_sym__Generic] = ACTIONS(1294), + [anon_sym_asm] = ACTIONS(1294), + [anon_sym___asm__] = ACTIONS(1294), + [sym__number_literal] = ACTIONS(1296), + [anon_sym_L_SQUOTE] = ACTIONS(1296), + [anon_sym_u_SQUOTE] = ACTIONS(1296), + [anon_sym_U_SQUOTE] = ACTIONS(1296), + [anon_sym_u8_SQUOTE] = ACTIONS(1296), + [anon_sym_SQUOTE] = ACTIONS(1296), + [anon_sym_L_DQUOTE] = ACTIONS(1296), + [anon_sym_u_DQUOTE] = ACTIONS(1296), + [anon_sym_U_DQUOTE] = ACTIONS(1296), + [anon_sym_u8_DQUOTE] = ACTIONS(1296), + [anon_sym_DQUOTE] = ACTIONS(1296), + [sym_true] = ACTIONS(1294), + [sym_false] = ACTIONS(1294), + [anon_sym_NULL] = ACTIONS(1294), + [anon_sym_nullptr] = ACTIONS(1294), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1296), + }, + [374] = { + [ts_builtin_sym_end] = ACTIONS(1304), + [sym__identifier] = ACTIONS(1302), + [aux_sym_preproc_include_token1] = ACTIONS(1302), + [aux_sym_preproc_def_token1] = ACTIONS(1302), + [aux_sym_preproc_if_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1302), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1302), + [sym_preproc_directive] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(1304), + [anon_sym_BANG] = ACTIONS(1304), + [anon_sym_TILDE] = ACTIONS(1304), + [anon_sym_DASH] = ACTIONS(1302), + [anon_sym_PLUS] = ACTIONS(1302), + [anon_sym_STAR] = ACTIONS(1304), + [anon_sym_AMP] = ACTIONS(1304), + [anon_sym___extension__] = ACTIONS(1302), + [anon_sym_typedef] = ACTIONS(1302), + [anon_sym_extern] = ACTIONS(1302), + [anon_sym___attribute__] = ACTIONS(1302), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1304), + [anon_sym___declspec] = ACTIONS(1302), + [anon_sym___cdecl] = ACTIONS(1302), + [anon_sym___clrcall] = ACTIONS(1302), + [anon_sym___stdcall] = ACTIONS(1302), + [anon_sym___fastcall] = ACTIONS(1302), + [anon_sym___thiscall] = ACTIONS(1302), + [anon_sym___vectorcall] = ACTIONS(1302), + [anon_sym_LBRACE] = ACTIONS(1304), + [anon_sym_signed] = ACTIONS(1302), + [anon_sym_unsigned] = ACTIONS(1302), + [anon_sym_long] = ACTIONS(1302), + [anon_sym_short] = ACTIONS(1302), + [anon_sym_static] = ACTIONS(1302), + [anon_sym_auto] = ACTIONS(1302), + [anon_sym_register] = ACTIONS(1302), + [anon_sym_inline] = ACTIONS(1302), + [anon_sym___inline] = ACTIONS(1302), + [anon_sym___inline__] = ACTIONS(1302), + [anon_sym___forceinline] = ACTIONS(1302), + [anon_sym_thread_local] = ACTIONS(1302), + [anon_sym___thread] = ACTIONS(1302), + [anon_sym_const] = ACTIONS(1302), + [anon_sym_constexpr] = ACTIONS(1302), + [anon_sym_volatile] = ACTIONS(1302), + [anon_sym_restrict] = ACTIONS(1302), + [anon_sym___restrict__] = ACTIONS(1302), + [anon_sym__Atomic] = ACTIONS(1302), + [anon_sym__Noreturn] = ACTIONS(1302), + [anon_sym_noreturn] = ACTIONS(1302), + [anon_sym_alignas] = ACTIONS(1302), + [anon_sym__Alignas] = ACTIONS(1302), + [sym_primitive_type] = ACTIONS(1302), + [anon_sym_enum] = ACTIONS(1302), + [anon_sym_struct] = ACTIONS(1302), + [anon_sym_union] = ACTIONS(1302), + [anon_sym_if] = ACTIONS(1302), + [anon_sym_switch] = ACTIONS(1302), + [anon_sym_case] = ACTIONS(1302), + [anon_sym_default] = ACTIONS(1302), + [anon_sym_while] = ACTIONS(1302), + [anon_sym_do] = ACTIONS(1302), + [anon_sym_for] = ACTIONS(1302), + [anon_sym_return] = ACTIONS(1302), + [anon_sym_break] = ACTIONS(1302), + [anon_sym_continue] = ACTIONS(1302), + [anon_sym_goto] = ACTIONS(1302), + [anon_sym_DASH_DASH] = ACTIONS(1304), + [anon_sym_PLUS_PLUS] = ACTIONS(1304), + [anon_sym_sizeof] = ACTIONS(1302), + [anon_sym___alignof__] = ACTIONS(1302), + [anon_sym___alignof] = ACTIONS(1302), + [anon_sym__alignof] = ACTIONS(1302), + [anon_sym_alignof] = ACTIONS(1302), + [anon_sym__Alignof] = ACTIONS(1302), + [anon_sym_offsetof] = ACTIONS(1302), + [anon_sym__Generic] = ACTIONS(1302), + [anon_sym_asm] = ACTIONS(1302), + [anon_sym___asm__] = ACTIONS(1302), + [sym__number_literal] = ACTIONS(1304), + [anon_sym_L_SQUOTE] = ACTIONS(1304), + [anon_sym_u_SQUOTE] = ACTIONS(1304), + [anon_sym_U_SQUOTE] = ACTIONS(1304), + [anon_sym_u8_SQUOTE] = ACTIONS(1304), + [anon_sym_SQUOTE] = ACTIONS(1304), + [anon_sym_L_DQUOTE] = ACTIONS(1304), + [anon_sym_u_DQUOTE] = ACTIONS(1304), + [anon_sym_U_DQUOTE] = ACTIONS(1304), + [anon_sym_u8_DQUOTE] = ACTIONS(1304), + [anon_sym_DQUOTE] = ACTIONS(1304), + [sym_true] = ACTIONS(1302), + [sym_false] = ACTIONS(1302), + [anon_sym_NULL] = ACTIONS(1302), + [anon_sym_nullptr] = ACTIONS(1302), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1304), + }, + [375] = { + [ts_builtin_sym_end] = ACTIONS(1316), + [sym__identifier] = ACTIONS(1314), + [aux_sym_preproc_include_token1] = ACTIONS(1314), + [aux_sym_preproc_def_token1] = ACTIONS(1314), + [aux_sym_preproc_if_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1314), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1314), + [sym_preproc_directive] = ACTIONS(1314), + [anon_sym_LPAREN2] = ACTIONS(1316), + [anon_sym_BANG] = ACTIONS(1316), + [anon_sym_TILDE] = ACTIONS(1316), + [anon_sym_DASH] = ACTIONS(1314), + [anon_sym_PLUS] = ACTIONS(1314), + [anon_sym_STAR] = ACTIONS(1316), + [anon_sym_AMP] = ACTIONS(1316), + [anon_sym___extension__] = ACTIONS(1314), + [anon_sym_typedef] = ACTIONS(1314), + [anon_sym_extern] = ACTIONS(1314), + [anon_sym___attribute__] = ACTIONS(1314), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1316), + [anon_sym___declspec] = ACTIONS(1314), + [anon_sym___cdecl] = ACTIONS(1314), + [anon_sym___clrcall] = ACTIONS(1314), + [anon_sym___stdcall] = ACTIONS(1314), + [anon_sym___fastcall] = ACTIONS(1314), + [anon_sym___thiscall] = ACTIONS(1314), + [anon_sym___vectorcall] = ACTIONS(1314), + [anon_sym_LBRACE] = ACTIONS(1316), + [anon_sym_signed] = ACTIONS(1314), + [anon_sym_unsigned] = ACTIONS(1314), + [anon_sym_long] = ACTIONS(1314), + [anon_sym_short] = ACTIONS(1314), + [anon_sym_static] = ACTIONS(1314), + [anon_sym_auto] = ACTIONS(1314), + [anon_sym_register] = ACTIONS(1314), + [anon_sym_inline] = ACTIONS(1314), + [anon_sym___inline] = ACTIONS(1314), + [anon_sym___inline__] = ACTIONS(1314), + [anon_sym___forceinline] = ACTIONS(1314), + [anon_sym_thread_local] = ACTIONS(1314), + [anon_sym___thread] = ACTIONS(1314), + [anon_sym_const] = ACTIONS(1314), + [anon_sym_constexpr] = ACTIONS(1314), + [anon_sym_volatile] = ACTIONS(1314), + [anon_sym_restrict] = ACTIONS(1314), + [anon_sym___restrict__] = ACTIONS(1314), + [anon_sym__Atomic] = ACTIONS(1314), + [anon_sym__Noreturn] = ACTIONS(1314), + [anon_sym_noreturn] = ACTIONS(1314), + [anon_sym_alignas] = ACTIONS(1314), + [anon_sym__Alignas] = ACTIONS(1314), + [sym_primitive_type] = ACTIONS(1314), + [anon_sym_enum] = ACTIONS(1314), + [anon_sym_struct] = ACTIONS(1314), + [anon_sym_union] = ACTIONS(1314), + [anon_sym_if] = ACTIONS(1314), + [anon_sym_switch] = ACTIONS(1314), + [anon_sym_case] = ACTIONS(1314), + [anon_sym_default] = ACTIONS(1314), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1314), + [anon_sym_for] = ACTIONS(1314), + [anon_sym_return] = ACTIONS(1314), + [anon_sym_break] = ACTIONS(1314), + [anon_sym_continue] = ACTIONS(1314), + [anon_sym_goto] = ACTIONS(1314), + [anon_sym_DASH_DASH] = ACTIONS(1316), + [anon_sym_PLUS_PLUS] = ACTIONS(1316), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1314), + [anon_sym___alignof] = ACTIONS(1314), + [anon_sym__alignof] = ACTIONS(1314), + [anon_sym_alignof] = ACTIONS(1314), + [anon_sym__Alignof] = ACTIONS(1314), + [anon_sym_offsetof] = ACTIONS(1314), + [anon_sym__Generic] = ACTIONS(1314), + [anon_sym_asm] = ACTIONS(1314), + [anon_sym___asm__] = ACTIONS(1314), + [sym__number_literal] = ACTIONS(1316), + [anon_sym_L_SQUOTE] = ACTIONS(1316), + [anon_sym_u_SQUOTE] = ACTIONS(1316), + [anon_sym_U_SQUOTE] = ACTIONS(1316), + [anon_sym_u8_SQUOTE] = ACTIONS(1316), + [anon_sym_SQUOTE] = ACTIONS(1316), + [anon_sym_L_DQUOTE] = ACTIONS(1316), + [anon_sym_u_DQUOTE] = ACTIONS(1316), + [anon_sym_U_DQUOTE] = ACTIONS(1316), + [anon_sym_u8_DQUOTE] = ACTIONS(1316), + [anon_sym_DQUOTE] = ACTIONS(1316), + [sym_true] = ACTIONS(1314), + [sym_false] = ACTIONS(1314), + [anon_sym_NULL] = ACTIONS(1314), + [anon_sym_nullptr] = ACTIONS(1314), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1316), + }, + [376] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1899), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [377] = { + [ts_builtin_sym_end] = ACTIONS(1254), + [sym__identifier] = ACTIONS(1252), + [aux_sym_preproc_include_token1] = ACTIONS(1252), + [aux_sym_preproc_def_token1] = ACTIONS(1252), + [aux_sym_preproc_if_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1252), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1252), + [sym_preproc_directive] = ACTIONS(1252), + [anon_sym_LPAREN2] = ACTIONS(1254), + [anon_sym_BANG] = ACTIONS(1254), + [anon_sym_TILDE] = ACTIONS(1254), + [anon_sym_DASH] = ACTIONS(1252), + [anon_sym_PLUS] = ACTIONS(1252), + [anon_sym_STAR] = ACTIONS(1254), + [anon_sym_AMP] = ACTIONS(1254), + [anon_sym___extension__] = ACTIONS(1252), + [anon_sym_typedef] = ACTIONS(1252), + [anon_sym_extern] = ACTIONS(1252), + [anon_sym___attribute__] = ACTIONS(1252), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1254), + [anon_sym___declspec] = ACTIONS(1252), + [anon_sym___cdecl] = ACTIONS(1252), + [anon_sym___clrcall] = ACTIONS(1252), + [anon_sym___stdcall] = ACTIONS(1252), + [anon_sym___fastcall] = ACTIONS(1252), + [anon_sym___thiscall] = ACTIONS(1252), + [anon_sym___vectorcall] = ACTIONS(1252), + [anon_sym_LBRACE] = ACTIONS(1254), + [anon_sym_signed] = ACTIONS(1252), + [anon_sym_unsigned] = ACTIONS(1252), + [anon_sym_long] = ACTIONS(1252), + [anon_sym_short] = ACTIONS(1252), + [anon_sym_static] = ACTIONS(1252), + [anon_sym_auto] = ACTIONS(1252), + [anon_sym_register] = ACTIONS(1252), + [anon_sym_inline] = ACTIONS(1252), + [anon_sym___inline] = ACTIONS(1252), + [anon_sym___inline__] = ACTIONS(1252), + [anon_sym___forceinline] = ACTIONS(1252), + [anon_sym_thread_local] = ACTIONS(1252), + [anon_sym___thread] = ACTIONS(1252), + [anon_sym_const] = ACTIONS(1252), + [anon_sym_constexpr] = ACTIONS(1252), + [anon_sym_volatile] = ACTIONS(1252), + [anon_sym_restrict] = ACTIONS(1252), + [anon_sym___restrict__] = ACTIONS(1252), + [anon_sym__Atomic] = ACTIONS(1252), + [anon_sym__Noreturn] = ACTIONS(1252), + [anon_sym_noreturn] = ACTIONS(1252), + [anon_sym_alignas] = ACTIONS(1252), + [anon_sym__Alignas] = ACTIONS(1252), + [sym_primitive_type] = ACTIONS(1252), + [anon_sym_enum] = ACTIONS(1252), + [anon_sym_struct] = ACTIONS(1252), + [anon_sym_union] = ACTIONS(1252), + [anon_sym_if] = ACTIONS(1252), + [anon_sym_switch] = ACTIONS(1252), + [anon_sym_case] = ACTIONS(1252), + [anon_sym_default] = ACTIONS(1252), + [anon_sym_while] = ACTIONS(1252), + [anon_sym_do] = ACTIONS(1252), + [anon_sym_for] = ACTIONS(1252), + [anon_sym_return] = ACTIONS(1252), + [anon_sym_break] = ACTIONS(1252), + [anon_sym_continue] = ACTIONS(1252), + [anon_sym_goto] = ACTIONS(1252), + [anon_sym_DASH_DASH] = ACTIONS(1254), + [anon_sym_PLUS_PLUS] = ACTIONS(1254), + [anon_sym_sizeof] = ACTIONS(1252), + [anon_sym___alignof__] = ACTIONS(1252), + [anon_sym___alignof] = ACTIONS(1252), + [anon_sym__alignof] = ACTIONS(1252), + [anon_sym_alignof] = ACTIONS(1252), + [anon_sym__Alignof] = ACTIONS(1252), + [anon_sym_offsetof] = ACTIONS(1252), + [anon_sym__Generic] = ACTIONS(1252), + [anon_sym_asm] = ACTIONS(1252), + [anon_sym___asm__] = ACTIONS(1252), + [sym__number_literal] = ACTIONS(1254), + [anon_sym_L_SQUOTE] = ACTIONS(1254), + [anon_sym_u_SQUOTE] = ACTIONS(1254), + [anon_sym_U_SQUOTE] = ACTIONS(1254), + [anon_sym_u8_SQUOTE] = ACTIONS(1254), + [anon_sym_SQUOTE] = ACTIONS(1254), + [anon_sym_L_DQUOTE] = ACTIONS(1254), + [anon_sym_u_DQUOTE] = ACTIONS(1254), + [anon_sym_U_DQUOTE] = ACTIONS(1254), + [anon_sym_u8_DQUOTE] = ACTIONS(1254), + [anon_sym_DQUOTE] = ACTIONS(1254), + [sym_true] = ACTIONS(1252), + [sym_false] = ACTIONS(1252), + [anon_sym_NULL] = ACTIONS(1252), + [anon_sym_nullptr] = ACTIONS(1252), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1254), + }, + [378] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1982), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [379] = { + [ts_builtin_sym_end] = ACTIONS(1230), + [sym__identifier] = ACTIONS(1228), + [aux_sym_preproc_include_token1] = ACTIONS(1228), + [aux_sym_preproc_def_token1] = ACTIONS(1228), + [aux_sym_preproc_if_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1228), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1228), + [sym_preproc_directive] = ACTIONS(1228), + [anon_sym_LPAREN2] = ACTIONS(1230), + [anon_sym_BANG] = ACTIONS(1230), + [anon_sym_TILDE] = ACTIONS(1230), + [anon_sym_DASH] = ACTIONS(1228), + [anon_sym_PLUS] = ACTIONS(1228), + [anon_sym_STAR] = ACTIONS(1230), + [anon_sym_AMP] = ACTIONS(1230), + [anon_sym___extension__] = ACTIONS(1228), + [anon_sym_typedef] = ACTIONS(1228), + [anon_sym_extern] = ACTIONS(1228), + [anon_sym___attribute__] = ACTIONS(1228), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1230), + [anon_sym___declspec] = ACTIONS(1228), + [anon_sym___cdecl] = ACTIONS(1228), + [anon_sym___clrcall] = ACTIONS(1228), + [anon_sym___stdcall] = ACTIONS(1228), + [anon_sym___fastcall] = ACTIONS(1228), + [anon_sym___thiscall] = ACTIONS(1228), + [anon_sym___vectorcall] = ACTIONS(1228), + [anon_sym_LBRACE] = ACTIONS(1230), + [anon_sym_signed] = ACTIONS(1228), + [anon_sym_unsigned] = ACTIONS(1228), + [anon_sym_long] = ACTIONS(1228), + [anon_sym_short] = ACTIONS(1228), + [anon_sym_static] = ACTIONS(1228), + [anon_sym_auto] = ACTIONS(1228), + [anon_sym_register] = ACTIONS(1228), + [anon_sym_inline] = ACTIONS(1228), + [anon_sym___inline] = ACTIONS(1228), + [anon_sym___inline__] = ACTIONS(1228), + [anon_sym___forceinline] = ACTIONS(1228), + [anon_sym_thread_local] = ACTIONS(1228), + [anon_sym___thread] = ACTIONS(1228), + [anon_sym_const] = ACTIONS(1228), + [anon_sym_constexpr] = ACTIONS(1228), + [anon_sym_volatile] = ACTIONS(1228), + [anon_sym_restrict] = ACTIONS(1228), + [anon_sym___restrict__] = ACTIONS(1228), + [anon_sym__Atomic] = ACTIONS(1228), + [anon_sym__Noreturn] = ACTIONS(1228), + [anon_sym_noreturn] = ACTIONS(1228), + [anon_sym_alignas] = ACTIONS(1228), + [anon_sym__Alignas] = ACTIONS(1228), + [sym_primitive_type] = ACTIONS(1228), + [anon_sym_enum] = ACTIONS(1228), + [anon_sym_struct] = ACTIONS(1228), + [anon_sym_union] = ACTIONS(1228), + [anon_sym_if] = ACTIONS(1228), + [anon_sym_switch] = ACTIONS(1228), + [anon_sym_case] = ACTIONS(1228), + [anon_sym_default] = ACTIONS(1228), + [anon_sym_while] = ACTIONS(1228), + [anon_sym_do] = ACTIONS(1228), + [anon_sym_for] = ACTIONS(1228), + [anon_sym_return] = ACTIONS(1228), + [anon_sym_break] = ACTIONS(1228), + [anon_sym_continue] = ACTIONS(1228), + [anon_sym_goto] = ACTIONS(1228), + [anon_sym_DASH_DASH] = ACTIONS(1230), + [anon_sym_PLUS_PLUS] = ACTIONS(1230), + [anon_sym_sizeof] = ACTIONS(1228), + [anon_sym___alignof__] = ACTIONS(1228), + [anon_sym___alignof] = ACTIONS(1228), + [anon_sym__alignof] = ACTIONS(1228), + [anon_sym_alignof] = ACTIONS(1228), + [anon_sym__Alignof] = ACTIONS(1228), + [anon_sym_offsetof] = ACTIONS(1228), + [anon_sym__Generic] = ACTIONS(1228), + [anon_sym_asm] = ACTIONS(1228), + [anon_sym___asm__] = ACTIONS(1228), + [sym__number_literal] = ACTIONS(1230), + [anon_sym_L_SQUOTE] = ACTIONS(1230), + [anon_sym_u_SQUOTE] = ACTIONS(1230), + [anon_sym_U_SQUOTE] = ACTIONS(1230), + [anon_sym_u8_SQUOTE] = ACTIONS(1230), + [anon_sym_SQUOTE] = ACTIONS(1230), + [anon_sym_L_DQUOTE] = ACTIONS(1230), + [anon_sym_u_DQUOTE] = ACTIONS(1230), + [anon_sym_U_DQUOTE] = ACTIONS(1230), + [anon_sym_u8_DQUOTE] = ACTIONS(1230), + [anon_sym_DQUOTE] = ACTIONS(1230), + [sym_true] = ACTIONS(1228), + [sym_false] = ACTIONS(1228), + [anon_sym_NULL] = ACTIONS(1228), + [anon_sym_nullptr] = ACTIONS(1228), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1230), + }, + [380] = { + [ts_builtin_sym_end] = ACTIONS(1340), + [sym__identifier] = ACTIONS(1338), + [aux_sym_preproc_include_token1] = ACTIONS(1338), + [aux_sym_preproc_def_token1] = ACTIONS(1338), + [aux_sym_preproc_if_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1338), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1338), + [sym_preproc_directive] = ACTIONS(1338), + [anon_sym_LPAREN2] = ACTIONS(1340), + [anon_sym_BANG] = ACTIONS(1340), + [anon_sym_TILDE] = ACTIONS(1340), + [anon_sym_DASH] = ACTIONS(1338), + [anon_sym_PLUS] = ACTIONS(1338), + [anon_sym_STAR] = ACTIONS(1340), + [anon_sym_AMP] = ACTIONS(1340), + [anon_sym___extension__] = ACTIONS(1338), + [anon_sym_typedef] = ACTIONS(1338), + [anon_sym_extern] = ACTIONS(1338), + [anon_sym___attribute__] = ACTIONS(1338), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1340), + [anon_sym___declspec] = ACTIONS(1338), + [anon_sym___cdecl] = ACTIONS(1338), + [anon_sym___clrcall] = ACTIONS(1338), + [anon_sym___stdcall] = ACTIONS(1338), + [anon_sym___fastcall] = ACTIONS(1338), + [anon_sym___thiscall] = ACTIONS(1338), + [anon_sym___vectorcall] = ACTIONS(1338), + [anon_sym_LBRACE] = ACTIONS(1340), + [anon_sym_signed] = ACTIONS(1338), + [anon_sym_unsigned] = ACTIONS(1338), + [anon_sym_long] = ACTIONS(1338), + [anon_sym_short] = ACTIONS(1338), + [anon_sym_static] = ACTIONS(1338), + [anon_sym_auto] = ACTIONS(1338), + [anon_sym_register] = ACTIONS(1338), + [anon_sym_inline] = ACTIONS(1338), + [anon_sym___inline] = ACTIONS(1338), + [anon_sym___inline__] = ACTIONS(1338), + [anon_sym___forceinline] = ACTIONS(1338), + [anon_sym_thread_local] = ACTIONS(1338), + [anon_sym___thread] = ACTIONS(1338), + [anon_sym_const] = ACTIONS(1338), + [anon_sym_constexpr] = ACTIONS(1338), + [anon_sym_volatile] = ACTIONS(1338), + [anon_sym_restrict] = ACTIONS(1338), + [anon_sym___restrict__] = ACTIONS(1338), + [anon_sym__Atomic] = ACTIONS(1338), + [anon_sym__Noreturn] = ACTIONS(1338), + [anon_sym_noreturn] = ACTIONS(1338), + [anon_sym_alignas] = ACTIONS(1338), + [anon_sym__Alignas] = ACTIONS(1338), + [sym_primitive_type] = ACTIONS(1338), + [anon_sym_enum] = ACTIONS(1338), + [anon_sym_struct] = ACTIONS(1338), + [anon_sym_union] = ACTIONS(1338), + [anon_sym_if] = ACTIONS(1338), + [anon_sym_switch] = ACTIONS(1338), + [anon_sym_case] = ACTIONS(1338), + [anon_sym_default] = ACTIONS(1338), + [anon_sym_while] = ACTIONS(1338), + [anon_sym_do] = ACTIONS(1338), + [anon_sym_for] = ACTIONS(1338), + [anon_sym_return] = ACTIONS(1338), + [anon_sym_break] = ACTIONS(1338), + [anon_sym_continue] = ACTIONS(1338), + [anon_sym_goto] = ACTIONS(1338), + [anon_sym_DASH_DASH] = ACTIONS(1340), + [anon_sym_PLUS_PLUS] = ACTIONS(1340), + [anon_sym_sizeof] = ACTIONS(1338), + [anon_sym___alignof__] = ACTIONS(1338), + [anon_sym___alignof] = ACTIONS(1338), + [anon_sym__alignof] = ACTIONS(1338), + [anon_sym_alignof] = ACTIONS(1338), + [anon_sym__Alignof] = ACTIONS(1338), + [anon_sym_offsetof] = ACTIONS(1338), + [anon_sym__Generic] = ACTIONS(1338), + [anon_sym_asm] = ACTIONS(1338), + [anon_sym___asm__] = ACTIONS(1338), + [sym__number_literal] = ACTIONS(1340), + [anon_sym_L_SQUOTE] = ACTIONS(1340), + [anon_sym_u_SQUOTE] = ACTIONS(1340), + [anon_sym_U_SQUOTE] = ACTIONS(1340), + [anon_sym_u8_SQUOTE] = ACTIONS(1340), + [anon_sym_SQUOTE] = ACTIONS(1340), + [anon_sym_L_DQUOTE] = ACTIONS(1340), + [anon_sym_u_DQUOTE] = ACTIONS(1340), + [anon_sym_U_DQUOTE] = ACTIONS(1340), + [anon_sym_u8_DQUOTE] = ACTIONS(1340), + [anon_sym_DQUOTE] = ACTIONS(1340), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1338), + [anon_sym_nullptr] = ACTIONS(1338), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1340), + }, + [381] = { + [ts_builtin_sym_end] = ACTIONS(1266), + [sym__identifier] = ACTIONS(1264), + [aux_sym_preproc_include_token1] = ACTIONS(1264), + [aux_sym_preproc_def_token1] = ACTIONS(1264), + [aux_sym_preproc_if_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1264), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1264), + [sym_preproc_directive] = ACTIONS(1264), + [anon_sym_LPAREN2] = ACTIONS(1266), + [anon_sym_BANG] = ACTIONS(1266), + [anon_sym_TILDE] = ACTIONS(1266), + [anon_sym_DASH] = ACTIONS(1264), + [anon_sym_PLUS] = ACTIONS(1264), + [anon_sym_STAR] = ACTIONS(1266), + [anon_sym_AMP] = ACTIONS(1266), + [anon_sym___extension__] = ACTIONS(1264), + [anon_sym_typedef] = ACTIONS(1264), + [anon_sym_extern] = ACTIONS(1264), + [anon_sym___attribute__] = ACTIONS(1264), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1266), + [anon_sym___declspec] = ACTIONS(1264), + [anon_sym___cdecl] = ACTIONS(1264), + [anon_sym___clrcall] = ACTIONS(1264), + [anon_sym___stdcall] = ACTIONS(1264), + [anon_sym___fastcall] = ACTIONS(1264), + [anon_sym___thiscall] = ACTIONS(1264), + [anon_sym___vectorcall] = ACTIONS(1264), + [anon_sym_LBRACE] = ACTIONS(1266), + [anon_sym_signed] = ACTIONS(1264), + [anon_sym_unsigned] = ACTIONS(1264), + [anon_sym_long] = ACTIONS(1264), + [anon_sym_short] = ACTIONS(1264), + [anon_sym_static] = ACTIONS(1264), + [anon_sym_auto] = ACTIONS(1264), + [anon_sym_register] = ACTIONS(1264), + [anon_sym_inline] = ACTIONS(1264), + [anon_sym___inline] = ACTIONS(1264), + [anon_sym___inline__] = ACTIONS(1264), + [anon_sym___forceinline] = ACTIONS(1264), + [anon_sym_thread_local] = ACTIONS(1264), + [anon_sym___thread] = ACTIONS(1264), + [anon_sym_const] = ACTIONS(1264), + [anon_sym_constexpr] = ACTIONS(1264), + [anon_sym_volatile] = ACTIONS(1264), + [anon_sym_restrict] = ACTIONS(1264), + [anon_sym___restrict__] = ACTIONS(1264), + [anon_sym__Atomic] = ACTIONS(1264), + [anon_sym__Noreturn] = ACTIONS(1264), + [anon_sym_noreturn] = ACTIONS(1264), + [anon_sym_alignas] = ACTIONS(1264), + [anon_sym__Alignas] = ACTIONS(1264), + [sym_primitive_type] = ACTIONS(1264), + [anon_sym_enum] = ACTIONS(1264), + [anon_sym_struct] = ACTIONS(1264), + [anon_sym_union] = ACTIONS(1264), + [anon_sym_if] = ACTIONS(1264), + [anon_sym_switch] = ACTIONS(1264), + [anon_sym_case] = ACTIONS(1264), + [anon_sym_default] = ACTIONS(1264), + [anon_sym_while] = ACTIONS(1264), + [anon_sym_do] = ACTIONS(1264), + [anon_sym_for] = ACTIONS(1264), + [anon_sym_return] = ACTIONS(1264), + [anon_sym_break] = ACTIONS(1264), + [anon_sym_continue] = ACTIONS(1264), + [anon_sym_goto] = ACTIONS(1264), + [anon_sym_DASH_DASH] = ACTIONS(1266), + [anon_sym_PLUS_PLUS] = ACTIONS(1266), + [anon_sym_sizeof] = ACTIONS(1264), + [anon_sym___alignof__] = ACTIONS(1264), + [anon_sym___alignof] = ACTIONS(1264), + [anon_sym__alignof] = ACTIONS(1264), + [anon_sym_alignof] = ACTIONS(1264), + [anon_sym__Alignof] = ACTIONS(1264), + [anon_sym_offsetof] = ACTIONS(1264), + [anon_sym__Generic] = ACTIONS(1264), + [anon_sym_asm] = ACTIONS(1264), + [anon_sym___asm__] = ACTIONS(1264), + [sym__number_literal] = ACTIONS(1266), + [anon_sym_L_SQUOTE] = ACTIONS(1266), + [anon_sym_u_SQUOTE] = ACTIONS(1266), + [anon_sym_U_SQUOTE] = ACTIONS(1266), + [anon_sym_u8_SQUOTE] = ACTIONS(1266), + [anon_sym_SQUOTE] = ACTIONS(1266), + [anon_sym_L_DQUOTE] = ACTIONS(1266), + [anon_sym_u_DQUOTE] = ACTIONS(1266), + [anon_sym_U_DQUOTE] = ACTIONS(1266), + [anon_sym_u8_DQUOTE] = ACTIONS(1266), + [anon_sym_DQUOTE] = ACTIONS(1266), + [sym_true] = ACTIONS(1264), + [sym_false] = ACTIONS(1264), + [anon_sym_NULL] = ACTIONS(1264), + [anon_sym_nullptr] = ACTIONS(1264), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1266), + }, + [382] = { + [ts_builtin_sym_end] = ACTIONS(1270), + [sym__identifier] = ACTIONS(1268), + [aux_sym_preproc_include_token1] = ACTIONS(1268), + [aux_sym_preproc_def_token1] = ACTIONS(1268), + [aux_sym_preproc_if_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1268), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1268), + [sym_preproc_directive] = ACTIONS(1268), + [anon_sym_LPAREN2] = ACTIONS(1270), + [anon_sym_BANG] = ACTIONS(1270), + [anon_sym_TILDE] = ACTIONS(1270), + [anon_sym_DASH] = ACTIONS(1268), + [anon_sym_PLUS] = ACTIONS(1268), + [anon_sym_STAR] = ACTIONS(1270), + [anon_sym_AMP] = ACTIONS(1270), + [anon_sym___extension__] = ACTIONS(1268), + [anon_sym_typedef] = ACTIONS(1268), + [anon_sym_extern] = ACTIONS(1268), + [anon_sym___attribute__] = ACTIONS(1268), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1270), + [anon_sym___declspec] = ACTIONS(1268), + [anon_sym___cdecl] = ACTIONS(1268), + [anon_sym___clrcall] = ACTIONS(1268), + [anon_sym___stdcall] = ACTIONS(1268), + [anon_sym___fastcall] = ACTIONS(1268), + [anon_sym___thiscall] = ACTIONS(1268), + [anon_sym___vectorcall] = ACTIONS(1268), + [anon_sym_LBRACE] = ACTIONS(1270), + [anon_sym_signed] = ACTIONS(1268), + [anon_sym_unsigned] = ACTIONS(1268), + [anon_sym_long] = ACTIONS(1268), + [anon_sym_short] = ACTIONS(1268), + [anon_sym_static] = ACTIONS(1268), + [anon_sym_auto] = ACTIONS(1268), + [anon_sym_register] = ACTIONS(1268), + [anon_sym_inline] = ACTIONS(1268), + [anon_sym___inline] = ACTIONS(1268), + [anon_sym___inline__] = ACTIONS(1268), + [anon_sym___forceinline] = ACTIONS(1268), + [anon_sym_thread_local] = ACTIONS(1268), + [anon_sym___thread] = ACTIONS(1268), + [anon_sym_const] = ACTIONS(1268), + [anon_sym_constexpr] = ACTIONS(1268), + [anon_sym_volatile] = ACTIONS(1268), + [anon_sym_restrict] = ACTIONS(1268), + [anon_sym___restrict__] = ACTIONS(1268), + [anon_sym__Atomic] = ACTIONS(1268), + [anon_sym__Noreturn] = ACTIONS(1268), + [anon_sym_noreturn] = ACTIONS(1268), + [anon_sym_alignas] = ACTIONS(1268), + [anon_sym__Alignas] = ACTIONS(1268), + [sym_primitive_type] = ACTIONS(1268), + [anon_sym_enum] = ACTIONS(1268), + [anon_sym_struct] = ACTIONS(1268), + [anon_sym_union] = ACTIONS(1268), + [anon_sym_if] = ACTIONS(1268), + [anon_sym_switch] = ACTIONS(1268), + [anon_sym_case] = ACTIONS(1268), + [anon_sym_default] = ACTIONS(1268), + [anon_sym_while] = ACTIONS(1268), + [anon_sym_do] = ACTIONS(1268), + [anon_sym_for] = ACTIONS(1268), + [anon_sym_return] = ACTIONS(1268), + [anon_sym_break] = ACTIONS(1268), + [anon_sym_continue] = ACTIONS(1268), + [anon_sym_goto] = ACTIONS(1268), + [anon_sym_DASH_DASH] = ACTIONS(1270), + [anon_sym_PLUS_PLUS] = ACTIONS(1270), + [anon_sym_sizeof] = ACTIONS(1268), + [anon_sym___alignof__] = ACTIONS(1268), + [anon_sym___alignof] = ACTIONS(1268), + [anon_sym__alignof] = ACTIONS(1268), + [anon_sym_alignof] = ACTIONS(1268), + [anon_sym__Alignof] = ACTIONS(1268), + [anon_sym_offsetof] = ACTIONS(1268), + [anon_sym__Generic] = ACTIONS(1268), + [anon_sym_asm] = ACTIONS(1268), + [anon_sym___asm__] = ACTIONS(1268), + [sym__number_literal] = ACTIONS(1270), + [anon_sym_L_SQUOTE] = ACTIONS(1270), + [anon_sym_u_SQUOTE] = ACTIONS(1270), + [anon_sym_U_SQUOTE] = ACTIONS(1270), + [anon_sym_u8_SQUOTE] = ACTIONS(1270), + [anon_sym_SQUOTE] = ACTIONS(1270), + [anon_sym_L_DQUOTE] = ACTIONS(1270), + [anon_sym_u_DQUOTE] = ACTIONS(1270), + [anon_sym_U_DQUOTE] = ACTIONS(1270), + [anon_sym_u8_DQUOTE] = ACTIONS(1270), + [anon_sym_DQUOTE] = ACTIONS(1270), + [sym_true] = ACTIONS(1268), + [sym_false] = ACTIONS(1268), + [anon_sym_NULL] = ACTIONS(1268), + [anon_sym_nullptr] = ACTIONS(1268), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1270), + }, + [383] = { + [ts_builtin_sym_end] = ACTIONS(1336), + [sym__identifier] = ACTIONS(1334), + [aux_sym_preproc_include_token1] = ACTIONS(1334), + [aux_sym_preproc_def_token1] = ACTIONS(1334), + [aux_sym_preproc_if_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1334), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1334), + [sym_preproc_directive] = ACTIONS(1334), + [anon_sym_LPAREN2] = ACTIONS(1336), + [anon_sym_BANG] = ACTIONS(1336), + [anon_sym_TILDE] = ACTIONS(1336), + [anon_sym_DASH] = ACTIONS(1334), + [anon_sym_PLUS] = ACTIONS(1334), + [anon_sym_STAR] = ACTIONS(1336), + [anon_sym_AMP] = ACTIONS(1336), + [anon_sym___extension__] = ACTIONS(1334), + [anon_sym_typedef] = ACTIONS(1334), + [anon_sym_extern] = ACTIONS(1334), + [anon_sym___attribute__] = ACTIONS(1334), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1336), + [anon_sym___declspec] = ACTIONS(1334), + [anon_sym___cdecl] = ACTIONS(1334), + [anon_sym___clrcall] = ACTIONS(1334), + [anon_sym___stdcall] = ACTIONS(1334), + [anon_sym___fastcall] = ACTIONS(1334), + [anon_sym___thiscall] = ACTIONS(1334), + [anon_sym___vectorcall] = ACTIONS(1334), + [anon_sym_LBRACE] = ACTIONS(1336), + [anon_sym_signed] = ACTIONS(1334), + [anon_sym_unsigned] = ACTIONS(1334), + [anon_sym_long] = ACTIONS(1334), + [anon_sym_short] = ACTIONS(1334), + [anon_sym_static] = ACTIONS(1334), + [anon_sym_auto] = ACTIONS(1334), + [anon_sym_register] = ACTIONS(1334), + [anon_sym_inline] = ACTIONS(1334), + [anon_sym___inline] = ACTIONS(1334), + [anon_sym___inline__] = ACTIONS(1334), + [anon_sym___forceinline] = ACTIONS(1334), + [anon_sym_thread_local] = ACTIONS(1334), + [anon_sym___thread] = ACTIONS(1334), + [anon_sym_const] = ACTIONS(1334), + [anon_sym_constexpr] = ACTIONS(1334), + [anon_sym_volatile] = ACTIONS(1334), + [anon_sym_restrict] = ACTIONS(1334), + [anon_sym___restrict__] = ACTIONS(1334), + [anon_sym__Atomic] = ACTIONS(1334), + [anon_sym__Noreturn] = ACTIONS(1334), + [anon_sym_noreturn] = ACTIONS(1334), + [anon_sym_alignas] = ACTIONS(1334), + [anon_sym__Alignas] = ACTIONS(1334), + [sym_primitive_type] = ACTIONS(1334), + [anon_sym_enum] = ACTIONS(1334), + [anon_sym_struct] = ACTIONS(1334), + [anon_sym_union] = ACTIONS(1334), + [anon_sym_if] = ACTIONS(1334), + [anon_sym_switch] = ACTIONS(1334), + [anon_sym_case] = ACTIONS(1334), + [anon_sym_default] = ACTIONS(1334), + [anon_sym_while] = ACTIONS(1334), + [anon_sym_do] = ACTIONS(1334), + [anon_sym_for] = ACTIONS(1334), + [anon_sym_return] = ACTIONS(1334), + [anon_sym_break] = ACTIONS(1334), + [anon_sym_continue] = ACTIONS(1334), + [anon_sym_goto] = ACTIONS(1334), + [anon_sym_DASH_DASH] = ACTIONS(1336), + [anon_sym_PLUS_PLUS] = ACTIONS(1336), + [anon_sym_sizeof] = ACTIONS(1334), + [anon_sym___alignof__] = ACTIONS(1334), + [anon_sym___alignof] = ACTIONS(1334), + [anon_sym__alignof] = ACTIONS(1334), + [anon_sym_alignof] = ACTIONS(1334), + [anon_sym__Alignof] = ACTIONS(1334), + [anon_sym_offsetof] = ACTIONS(1334), + [anon_sym__Generic] = ACTIONS(1334), + [anon_sym_asm] = ACTIONS(1334), + [anon_sym___asm__] = ACTIONS(1334), + [sym__number_literal] = ACTIONS(1336), + [anon_sym_L_SQUOTE] = ACTIONS(1336), + [anon_sym_u_SQUOTE] = ACTIONS(1336), + [anon_sym_U_SQUOTE] = ACTIONS(1336), + [anon_sym_u8_SQUOTE] = ACTIONS(1336), + [anon_sym_SQUOTE] = ACTIONS(1336), + [anon_sym_L_DQUOTE] = ACTIONS(1336), + [anon_sym_u_DQUOTE] = ACTIONS(1336), + [anon_sym_U_DQUOTE] = ACTIONS(1336), + [anon_sym_u8_DQUOTE] = ACTIONS(1336), + [anon_sym_DQUOTE] = ACTIONS(1336), + [sym_true] = ACTIONS(1334), + [sym_false] = ACTIONS(1334), + [anon_sym_NULL] = ACTIONS(1334), + [anon_sym_nullptr] = ACTIONS(1334), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1336), + }, + [384] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1929), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [385] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1965), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [386] = { + [ts_builtin_sym_end] = ACTIONS(1234), + [sym__identifier] = ACTIONS(1232), + [aux_sym_preproc_include_token1] = ACTIONS(1232), + [aux_sym_preproc_def_token1] = ACTIONS(1232), + [aux_sym_preproc_if_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1232), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1232), + [sym_preproc_directive] = ACTIONS(1232), + [anon_sym_LPAREN2] = ACTIONS(1234), + [anon_sym_BANG] = ACTIONS(1234), + [anon_sym_TILDE] = ACTIONS(1234), + [anon_sym_DASH] = ACTIONS(1232), + [anon_sym_PLUS] = ACTIONS(1232), + [anon_sym_STAR] = ACTIONS(1234), + [anon_sym_AMP] = ACTIONS(1234), + [anon_sym___extension__] = ACTIONS(1232), + [anon_sym_typedef] = ACTIONS(1232), + [anon_sym_extern] = ACTIONS(1232), + [anon_sym___attribute__] = ACTIONS(1232), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1234), + [anon_sym___declspec] = ACTIONS(1232), + [anon_sym___cdecl] = ACTIONS(1232), + [anon_sym___clrcall] = ACTIONS(1232), + [anon_sym___stdcall] = ACTIONS(1232), + [anon_sym___fastcall] = ACTIONS(1232), + [anon_sym___thiscall] = ACTIONS(1232), + [anon_sym___vectorcall] = ACTIONS(1232), + [anon_sym_LBRACE] = ACTIONS(1234), + [anon_sym_signed] = ACTIONS(1232), + [anon_sym_unsigned] = ACTIONS(1232), + [anon_sym_long] = ACTIONS(1232), + [anon_sym_short] = ACTIONS(1232), + [anon_sym_static] = ACTIONS(1232), + [anon_sym_auto] = ACTIONS(1232), + [anon_sym_register] = ACTIONS(1232), + [anon_sym_inline] = ACTIONS(1232), + [anon_sym___inline] = ACTIONS(1232), + [anon_sym___inline__] = ACTIONS(1232), + [anon_sym___forceinline] = ACTIONS(1232), + [anon_sym_thread_local] = ACTIONS(1232), + [anon_sym___thread] = ACTIONS(1232), + [anon_sym_const] = ACTIONS(1232), + [anon_sym_constexpr] = ACTIONS(1232), + [anon_sym_volatile] = ACTIONS(1232), + [anon_sym_restrict] = ACTIONS(1232), + [anon_sym___restrict__] = ACTIONS(1232), + [anon_sym__Atomic] = ACTIONS(1232), + [anon_sym__Noreturn] = ACTIONS(1232), + [anon_sym_noreturn] = ACTIONS(1232), + [anon_sym_alignas] = ACTIONS(1232), + [anon_sym__Alignas] = ACTIONS(1232), + [sym_primitive_type] = ACTIONS(1232), + [anon_sym_enum] = ACTIONS(1232), + [anon_sym_struct] = ACTIONS(1232), + [anon_sym_union] = ACTIONS(1232), + [anon_sym_if] = ACTIONS(1232), + [anon_sym_switch] = ACTIONS(1232), + [anon_sym_case] = ACTIONS(1232), + [anon_sym_default] = ACTIONS(1232), + [anon_sym_while] = ACTIONS(1232), + [anon_sym_do] = ACTIONS(1232), + [anon_sym_for] = ACTIONS(1232), + [anon_sym_return] = ACTIONS(1232), + [anon_sym_break] = ACTIONS(1232), + [anon_sym_continue] = ACTIONS(1232), + [anon_sym_goto] = ACTIONS(1232), + [anon_sym_DASH_DASH] = ACTIONS(1234), + [anon_sym_PLUS_PLUS] = ACTIONS(1234), + [anon_sym_sizeof] = ACTIONS(1232), + [anon_sym___alignof__] = ACTIONS(1232), + [anon_sym___alignof] = ACTIONS(1232), + [anon_sym__alignof] = ACTIONS(1232), + [anon_sym_alignof] = ACTIONS(1232), + [anon_sym__Alignof] = ACTIONS(1232), + [anon_sym_offsetof] = ACTIONS(1232), + [anon_sym__Generic] = ACTIONS(1232), + [anon_sym_asm] = ACTIONS(1232), + [anon_sym___asm__] = ACTIONS(1232), + [sym__number_literal] = ACTIONS(1234), + [anon_sym_L_SQUOTE] = ACTIONS(1234), + [anon_sym_u_SQUOTE] = ACTIONS(1234), + [anon_sym_U_SQUOTE] = ACTIONS(1234), + [anon_sym_u8_SQUOTE] = ACTIONS(1234), + [anon_sym_SQUOTE] = ACTIONS(1234), + [anon_sym_L_DQUOTE] = ACTIONS(1234), + [anon_sym_u_DQUOTE] = ACTIONS(1234), + [anon_sym_U_DQUOTE] = ACTIONS(1234), + [anon_sym_u8_DQUOTE] = ACTIONS(1234), + [anon_sym_DQUOTE] = ACTIONS(1234), + [sym_true] = ACTIONS(1232), + [sym_false] = ACTIONS(1232), + [anon_sym_NULL] = ACTIONS(1232), + [anon_sym_nullptr] = ACTIONS(1232), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1234), + }, + [387] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1917), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [388] = { + [ts_builtin_sym_end] = ACTIONS(1344), + [sym__identifier] = ACTIONS(1342), + [aux_sym_preproc_include_token1] = ACTIONS(1342), + [aux_sym_preproc_def_token1] = ACTIONS(1342), + [aux_sym_preproc_if_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1342), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1342), + [sym_preproc_directive] = ACTIONS(1342), + [anon_sym_LPAREN2] = ACTIONS(1344), + [anon_sym_BANG] = ACTIONS(1344), + [anon_sym_TILDE] = ACTIONS(1344), + [anon_sym_DASH] = ACTIONS(1342), + [anon_sym_PLUS] = ACTIONS(1342), + [anon_sym_STAR] = ACTIONS(1344), + [anon_sym_AMP] = ACTIONS(1344), + [anon_sym___extension__] = ACTIONS(1342), + [anon_sym_typedef] = ACTIONS(1342), + [anon_sym_extern] = ACTIONS(1342), + [anon_sym___attribute__] = ACTIONS(1342), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1344), + [anon_sym___declspec] = ACTIONS(1342), + [anon_sym___cdecl] = ACTIONS(1342), + [anon_sym___clrcall] = ACTIONS(1342), + [anon_sym___stdcall] = ACTIONS(1342), + [anon_sym___fastcall] = ACTIONS(1342), + [anon_sym___thiscall] = ACTIONS(1342), + [anon_sym___vectorcall] = ACTIONS(1342), + [anon_sym_LBRACE] = ACTIONS(1344), + [anon_sym_signed] = ACTIONS(1342), + [anon_sym_unsigned] = ACTIONS(1342), + [anon_sym_long] = ACTIONS(1342), + [anon_sym_short] = ACTIONS(1342), + [anon_sym_static] = ACTIONS(1342), + [anon_sym_auto] = ACTIONS(1342), + [anon_sym_register] = ACTIONS(1342), + [anon_sym_inline] = ACTIONS(1342), + [anon_sym___inline] = ACTIONS(1342), + [anon_sym___inline__] = ACTIONS(1342), + [anon_sym___forceinline] = ACTIONS(1342), + [anon_sym_thread_local] = ACTIONS(1342), + [anon_sym___thread] = ACTIONS(1342), + [anon_sym_const] = ACTIONS(1342), + [anon_sym_constexpr] = ACTIONS(1342), + [anon_sym_volatile] = ACTIONS(1342), + [anon_sym_restrict] = ACTIONS(1342), + [anon_sym___restrict__] = ACTIONS(1342), + [anon_sym__Atomic] = ACTIONS(1342), + [anon_sym__Noreturn] = ACTIONS(1342), + [anon_sym_noreturn] = ACTIONS(1342), + [anon_sym_alignas] = ACTIONS(1342), + [anon_sym__Alignas] = ACTIONS(1342), + [sym_primitive_type] = ACTIONS(1342), + [anon_sym_enum] = ACTIONS(1342), + [anon_sym_struct] = ACTIONS(1342), + [anon_sym_union] = ACTIONS(1342), + [anon_sym_if] = ACTIONS(1342), + [anon_sym_switch] = ACTIONS(1342), + [anon_sym_case] = ACTIONS(1342), + [anon_sym_default] = ACTIONS(1342), + [anon_sym_while] = ACTIONS(1342), + [anon_sym_do] = ACTIONS(1342), + [anon_sym_for] = ACTIONS(1342), + [anon_sym_return] = ACTIONS(1342), + [anon_sym_break] = ACTIONS(1342), + [anon_sym_continue] = ACTIONS(1342), + [anon_sym_goto] = ACTIONS(1342), + [anon_sym_DASH_DASH] = ACTIONS(1344), + [anon_sym_PLUS_PLUS] = ACTIONS(1344), + [anon_sym_sizeof] = ACTIONS(1342), + [anon_sym___alignof__] = ACTIONS(1342), + [anon_sym___alignof] = ACTIONS(1342), + [anon_sym__alignof] = ACTIONS(1342), + [anon_sym_alignof] = ACTIONS(1342), + [anon_sym__Alignof] = ACTIONS(1342), + [anon_sym_offsetof] = ACTIONS(1342), + [anon_sym__Generic] = ACTIONS(1342), + [anon_sym_asm] = ACTIONS(1342), + [anon_sym___asm__] = ACTIONS(1342), + [sym__number_literal] = ACTIONS(1344), + [anon_sym_L_SQUOTE] = ACTIONS(1344), + [anon_sym_u_SQUOTE] = ACTIONS(1344), + [anon_sym_U_SQUOTE] = ACTIONS(1344), + [anon_sym_u8_SQUOTE] = ACTIONS(1344), + [anon_sym_SQUOTE] = ACTIONS(1344), + [anon_sym_L_DQUOTE] = ACTIONS(1344), + [anon_sym_u_DQUOTE] = ACTIONS(1344), + [anon_sym_U_DQUOTE] = ACTIONS(1344), + [anon_sym_u8_DQUOTE] = ACTIONS(1344), + [anon_sym_DQUOTE] = ACTIONS(1344), + [sym_true] = ACTIONS(1342), + [sym_false] = ACTIONS(1342), + [anon_sym_NULL] = ACTIONS(1342), + [anon_sym_nullptr] = ACTIONS(1342), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + }, + [389] = { + [ts_builtin_sym_end] = ACTIONS(1246), + [sym__identifier] = ACTIONS(1244), + [aux_sym_preproc_include_token1] = ACTIONS(1244), + [aux_sym_preproc_def_token1] = ACTIONS(1244), + [aux_sym_preproc_if_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1244), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1244), + [sym_preproc_directive] = ACTIONS(1244), + [anon_sym_LPAREN2] = ACTIONS(1246), + [anon_sym_BANG] = ACTIONS(1246), + [anon_sym_TILDE] = ACTIONS(1246), + [anon_sym_DASH] = ACTIONS(1244), + [anon_sym_PLUS] = ACTIONS(1244), + [anon_sym_STAR] = ACTIONS(1246), + [anon_sym_AMP] = ACTIONS(1246), + [anon_sym___extension__] = ACTIONS(1244), + [anon_sym_typedef] = ACTIONS(1244), + [anon_sym_extern] = ACTIONS(1244), + [anon_sym___attribute__] = ACTIONS(1244), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1246), + [anon_sym___declspec] = ACTIONS(1244), + [anon_sym___cdecl] = ACTIONS(1244), + [anon_sym___clrcall] = ACTIONS(1244), + [anon_sym___stdcall] = ACTIONS(1244), + [anon_sym___fastcall] = ACTIONS(1244), + [anon_sym___thiscall] = ACTIONS(1244), + [anon_sym___vectorcall] = ACTIONS(1244), + [anon_sym_LBRACE] = ACTIONS(1246), + [anon_sym_signed] = ACTIONS(1244), + [anon_sym_unsigned] = ACTIONS(1244), + [anon_sym_long] = ACTIONS(1244), + [anon_sym_short] = ACTIONS(1244), + [anon_sym_static] = ACTIONS(1244), + [anon_sym_auto] = ACTIONS(1244), + [anon_sym_register] = ACTIONS(1244), + [anon_sym_inline] = ACTIONS(1244), + [anon_sym___inline] = ACTIONS(1244), + [anon_sym___inline__] = ACTIONS(1244), + [anon_sym___forceinline] = ACTIONS(1244), + [anon_sym_thread_local] = ACTIONS(1244), + [anon_sym___thread] = ACTIONS(1244), + [anon_sym_const] = ACTIONS(1244), + [anon_sym_constexpr] = ACTIONS(1244), + [anon_sym_volatile] = ACTIONS(1244), + [anon_sym_restrict] = ACTIONS(1244), + [anon_sym___restrict__] = ACTIONS(1244), + [anon_sym__Atomic] = ACTIONS(1244), + [anon_sym__Noreturn] = ACTIONS(1244), + [anon_sym_noreturn] = ACTIONS(1244), + [anon_sym_alignas] = ACTIONS(1244), + [anon_sym__Alignas] = ACTIONS(1244), + [sym_primitive_type] = ACTIONS(1244), + [anon_sym_enum] = ACTIONS(1244), + [anon_sym_struct] = ACTIONS(1244), + [anon_sym_union] = ACTIONS(1244), + [anon_sym_if] = ACTIONS(1244), + [anon_sym_switch] = ACTIONS(1244), + [anon_sym_case] = ACTIONS(1244), + [anon_sym_default] = ACTIONS(1244), + [anon_sym_while] = ACTIONS(1244), + [anon_sym_do] = ACTIONS(1244), + [anon_sym_for] = ACTIONS(1244), + [anon_sym_return] = ACTIONS(1244), + [anon_sym_break] = ACTIONS(1244), + [anon_sym_continue] = ACTIONS(1244), + [anon_sym_goto] = ACTIONS(1244), + [anon_sym_DASH_DASH] = ACTIONS(1246), + [anon_sym_PLUS_PLUS] = ACTIONS(1246), + [anon_sym_sizeof] = ACTIONS(1244), + [anon_sym___alignof__] = ACTIONS(1244), + [anon_sym___alignof] = ACTIONS(1244), + [anon_sym__alignof] = ACTIONS(1244), + [anon_sym_alignof] = ACTIONS(1244), + [anon_sym__Alignof] = ACTIONS(1244), + [anon_sym_offsetof] = ACTIONS(1244), + [anon_sym__Generic] = ACTIONS(1244), + [anon_sym_asm] = ACTIONS(1244), + [anon_sym___asm__] = ACTIONS(1244), + [sym__number_literal] = ACTIONS(1246), + [anon_sym_L_SQUOTE] = ACTIONS(1246), + [anon_sym_u_SQUOTE] = ACTIONS(1246), + [anon_sym_U_SQUOTE] = ACTIONS(1246), + [anon_sym_u8_SQUOTE] = ACTIONS(1246), + [anon_sym_SQUOTE] = ACTIONS(1246), + [anon_sym_L_DQUOTE] = ACTIONS(1246), + [anon_sym_u_DQUOTE] = ACTIONS(1246), + [anon_sym_U_DQUOTE] = ACTIONS(1246), + [anon_sym_u8_DQUOTE] = ACTIONS(1246), + [anon_sym_DQUOTE] = ACTIONS(1246), + [sym_true] = ACTIONS(1244), + [sym_false] = ACTIONS(1244), + [anon_sym_NULL] = ACTIONS(1244), + [anon_sym_nullptr] = ACTIONS(1244), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1246), + }, + [390] = { + [ts_builtin_sym_end] = ACTIONS(1280), + [sym__identifier] = ACTIONS(1278), + [aux_sym_preproc_include_token1] = ACTIONS(1278), + [aux_sym_preproc_def_token1] = ACTIONS(1278), + [aux_sym_preproc_if_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1278), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1278), + [sym_preproc_directive] = ACTIONS(1278), + [anon_sym_LPAREN2] = ACTIONS(1280), + [anon_sym_BANG] = ACTIONS(1280), + [anon_sym_TILDE] = ACTIONS(1280), + [anon_sym_DASH] = ACTIONS(1278), + [anon_sym_PLUS] = ACTIONS(1278), + [anon_sym_STAR] = ACTIONS(1280), + [anon_sym_AMP] = ACTIONS(1280), + [anon_sym___extension__] = ACTIONS(1278), + [anon_sym_typedef] = ACTIONS(1278), + [anon_sym_extern] = ACTIONS(1278), + [anon_sym___attribute__] = ACTIONS(1278), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1280), + [anon_sym___declspec] = ACTIONS(1278), + [anon_sym___cdecl] = ACTIONS(1278), + [anon_sym___clrcall] = ACTIONS(1278), + [anon_sym___stdcall] = ACTIONS(1278), + [anon_sym___fastcall] = ACTIONS(1278), + [anon_sym___thiscall] = ACTIONS(1278), + [anon_sym___vectorcall] = ACTIONS(1278), + [anon_sym_LBRACE] = ACTIONS(1280), + [anon_sym_signed] = ACTIONS(1278), + [anon_sym_unsigned] = ACTIONS(1278), + [anon_sym_long] = ACTIONS(1278), + [anon_sym_short] = ACTIONS(1278), + [anon_sym_static] = ACTIONS(1278), + [anon_sym_auto] = ACTIONS(1278), + [anon_sym_register] = ACTIONS(1278), + [anon_sym_inline] = ACTIONS(1278), + [anon_sym___inline] = ACTIONS(1278), + [anon_sym___inline__] = ACTIONS(1278), + [anon_sym___forceinline] = ACTIONS(1278), + [anon_sym_thread_local] = ACTIONS(1278), + [anon_sym___thread] = ACTIONS(1278), + [anon_sym_const] = ACTIONS(1278), + [anon_sym_constexpr] = ACTIONS(1278), + [anon_sym_volatile] = ACTIONS(1278), + [anon_sym_restrict] = ACTIONS(1278), + [anon_sym___restrict__] = ACTIONS(1278), + [anon_sym__Atomic] = ACTIONS(1278), + [anon_sym__Noreturn] = ACTIONS(1278), + [anon_sym_noreturn] = ACTIONS(1278), + [anon_sym_alignas] = ACTIONS(1278), + [anon_sym__Alignas] = ACTIONS(1278), + [sym_primitive_type] = ACTIONS(1278), + [anon_sym_enum] = ACTIONS(1278), + [anon_sym_struct] = ACTIONS(1278), + [anon_sym_union] = ACTIONS(1278), + [anon_sym_if] = ACTIONS(1278), + [anon_sym_switch] = ACTIONS(1278), + [anon_sym_case] = ACTIONS(1278), + [anon_sym_default] = ACTIONS(1278), + [anon_sym_while] = ACTIONS(1278), + [anon_sym_do] = ACTIONS(1278), + [anon_sym_for] = ACTIONS(1278), + [anon_sym_return] = ACTIONS(1278), + [anon_sym_break] = ACTIONS(1278), + [anon_sym_continue] = ACTIONS(1278), + [anon_sym_goto] = ACTIONS(1278), + [anon_sym_DASH_DASH] = ACTIONS(1280), + [anon_sym_PLUS_PLUS] = ACTIONS(1280), + [anon_sym_sizeof] = ACTIONS(1278), + [anon_sym___alignof__] = ACTIONS(1278), + [anon_sym___alignof] = ACTIONS(1278), + [anon_sym__alignof] = ACTIONS(1278), + [anon_sym_alignof] = ACTIONS(1278), + [anon_sym__Alignof] = ACTIONS(1278), + [anon_sym_offsetof] = ACTIONS(1278), + [anon_sym__Generic] = ACTIONS(1278), + [anon_sym_asm] = ACTIONS(1278), + [anon_sym___asm__] = ACTIONS(1278), + [sym__number_literal] = ACTIONS(1280), + [anon_sym_L_SQUOTE] = ACTIONS(1280), + [anon_sym_u_SQUOTE] = ACTIONS(1280), + [anon_sym_U_SQUOTE] = ACTIONS(1280), + [anon_sym_u8_SQUOTE] = ACTIONS(1280), + [anon_sym_SQUOTE] = ACTIONS(1280), + [anon_sym_L_DQUOTE] = ACTIONS(1280), + [anon_sym_u_DQUOTE] = ACTIONS(1280), + [anon_sym_U_DQUOTE] = ACTIONS(1280), + [anon_sym_u8_DQUOTE] = ACTIONS(1280), + [anon_sym_DQUOTE] = ACTIONS(1280), + [sym_true] = ACTIONS(1278), + [sym_false] = ACTIONS(1278), + [anon_sym_NULL] = ACTIONS(1278), + [anon_sym_nullptr] = ACTIONS(1278), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1280), + }, + [391] = { + [ts_builtin_sym_end] = ACTIONS(1320), + [sym__identifier] = ACTIONS(1318), + [aux_sym_preproc_include_token1] = ACTIONS(1318), + [aux_sym_preproc_def_token1] = ACTIONS(1318), + [aux_sym_preproc_if_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1318), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1318), + [sym_preproc_directive] = ACTIONS(1318), + [anon_sym_LPAREN2] = ACTIONS(1320), + [anon_sym_BANG] = ACTIONS(1320), + [anon_sym_TILDE] = ACTIONS(1320), + [anon_sym_DASH] = ACTIONS(1318), + [anon_sym_PLUS] = ACTIONS(1318), + [anon_sym_STAR] = ACTIONS(1320), + [anon_sym_AMP] = ACTIONS(1320), + [anon_sym___extension__] = ACTIONS(1318), + [anon_sym_typedef] = ACTIONS(1318), + [anon_sym_extern] = ACTIONS(1318), + [anon_sym___attribute__] = ACTIONS(1318), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1320), + [anon_sym___declspec] = ACTIONS(1318), + [anon_sym___cdecl] = ACTIONS(1318), + [anon_sym___clrcall] = ACTIONS(1318), + [anon_sym___stdcall] = ACTIONS(1318), + [anon_sym___fastcall] = ACTIONS(1318), + [anon_sym___thiscall] = ACTIONS(1318), + [anon_sym___vectorcall] = ACTIONS(1318), + [anon_sym_LBRACE] = ACTIONS(1320), + [anon_sym_signed] = ACTIONS(1318), + [anon_sym_unsigned] = ACTIONS(1318), + [anon_sym_long] = ACTIONS(1318), + [anon_sym_short] = ACTIONS(1318), + [anon_sym_static] = ACTIONS(1318), + [anon_sym_auto] = ACTIONS(1318), + [anon_sym_register] = ACTIONS(1318), + [anon_sym_inline] = ACTIONS(1318), + [anon_sym___inline] = ACTIONS(1318), + [anon_sym___inline__] = ACTIONS(1318), + [anon_sym___forceinline] = ACTIONS(1318), + [anon_sym_thread_local] = ACTIONS(1318), + [anon_sym___thread] = ACTIONS(1318), + [anon_sym_const] = ACTIONS(1318), + [anon_sym_constexpr] = ACTIONS(1318), + [anon_sym_volatile] = ACTIONS(1318), + [anon_sym_restrict] = ACTIONS(1318), + [anon_sym___restrict__] = ACTIONS(1318), + [anon_sym__Atomic] = ACTIONS(1318), + [anon_sym__Noreturn] = ACTIONS(1318), + [anon_sym_noreturn] = ACTIONS(1318), + [anon_sym_alignas] = ACTIONS(1318), + [anon_sym__Alignas] = ACTIONS(1318), + [sym_primitive_type] = ACTIONS(1318), + [anon_sym_enum] = ACTIONS(1318), + [anon_sym_struct] = ACTIONS(1318), + [anon_sym_union] = ACTIONS(1318), + [anon_sym_if] = ACTIONS(1318), + [anon_sym_switch] = ACTIONS(1318), + [anon_sym_case] = ACTIONS(1318), + [anon_sym_default] = ACTIONS(1318), + [anon_sym_while] = ACTIONS(1318), + [anon_sym_do] = ACTIONS(1318), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1318), + [anon_sym_break] = ACTIONS(1318), + [anon_sym_continue] = ACTIONS(1318), + [anon_sym_goto] = ACTIONS(1318), + [anon_sym_DASH_DASH] = ACTIONS(1320), + [anon_sym_PLUS_PLUS] = ACTIONS(1320), + [anon_sym_sizeof] = ACTIONS(1318), + [anon_sym___alignof__] = ACTIONS(1318), + [anon_sym___alignof] = ACTIONS(1318), + [anon_sym__alignof] = ACTIONS(1318), + [anon_sym_alignof] = ACTIONS(1318), + [anon_sym__Alignof] = ACTIONS(1318), + [anon_sym_offsetof] = ACTIONS(1318), + [anon_sym__Generic] = ACTIONS(1318), + [anon_sym_asm] = ACTIONS(1318), + [anon_sym___asm__] = ACTIONS(1318), + [sym__number_literal] = ACTIONS(1320), + [anon_sym_L_SQUOTE] = ACTIONS(1320), + [anon_sym_u_SQUOTE] = ACTIONS(1320), + [anon_sym_U_SQUOTE] = ACTIONS(1320), + [anon_sym_u8_SQUOTE] = ACTIONS(1320), + [anon_sym_SQUOTE] = ACTIONS(1320), + [anon_sym_L_DQUOTE] = ACTIONS(1320), + [anon_sym_u_DQUOTE] = ACTIONS(1320), + [anon_sym_U_DQUOTE] = ACTIONS(1320), + [anon_sym_u8_DQUOTE] = ACTIONS(1320), + [anon_sym_DQUOTE] = ACTIONS(1320), + [sym_true] = ACTIONS(1318), + [sym_false] = ACTIONS(1318), + [anon_sym_NULL] = ACTIONS(1318), + [anon_sym_nullptr] = ACTIONS(1318), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1320), + }, + [392] = { + [ts_builtin_sym_end] = ACTIONS(1242), + [sym__identifier] = ACTIONS(1240), + [aux_sym_preproc_include_token1] = ACTIONS(1240), + [aux_sym_preproc_def_token1] = ACTIONS(1240), + [aux_sym_preproc_if_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1240), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1240), + [sym_preproc_directive] = ACTIONS(1240), + [anon_sym_LPAREN2] = ACTIONS(1242), + [anon_sym_BANG] = ACTIONS(1242), + [anon_sym_TILDE] = ACTIONS(1242), + [anon_sym_DASH] = ACTIONS(1240), + [anon_sym_PLUS] = ACTIONS(1240), + [anon_sym_STAR] = ACTIONS(1242), + [anon_sym_AMP] = ACTIONS(1242), + [anon_sym___extension__] = ACTIONS(1240), + [anon_sym_typedef] = ACTIONS(1240), + [anon_sym_extern] = ACTIONS(1240), + [anon_sym___attribute__] = ACTIONS(1240), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1240), + [anon_sym___cdecl] = ACTIONS(1240), + [anon_sym___clrcall] = ACTIONS(1240), + [anon_sym___stdcall] = ACTIONS(1240), + [anon_sym___fastcall] = ACTIONS(1240), + [anon_sym___thiscall] = ACTIONS(1240), + [anon_sym___vectorcall] = ACTIONS(1240), + [anon_sym_LBRACE] = ACTIONS(1242), + [anon_sym_signed] = ACTIONS(1240), + [anon_sym_unsigned] = ACTIONS(1240), + [anon_sym_long] = ACTIONS(1240), + [anon_sym_short] = ACTIONS(1240), + [anon_sym_static] = ACTIONS(1240), + [anon_sym_auto] = ACTIONS(1240), + [anon_sym_register] = ACTIONS(1240), + [anon_sym_inline] = ACTIONS(1240), + [anon_sym___inline] = ACTIONS(1240), + [anon_sym___inline__] = ACTIONS(1240), + [anon_sym___forceinline] = ACTIONS(1240), + [anon_sym_thread_local] = ACTIONS(1240), + [anon_sym___thread] = ACTIONS(1240), + [anon_sym_const] = ACTIONS(1240), + [anon_sym_constexpr] = ACTIONS(1240), + [anon_sym_volatile] = ACTIONS(1240), + [anon_sym_restrict] = ACTIONS(1240), + [anon_sym___restrict__] = ACTIONS(1240), + [anon_sym__Atomic] = ACTIONS(1240), + [anon_sym__Noreturn] = ACTIONS(1240), + [anon_sym_noreturn] = ACTIONS(1240), + [anon_sym_alignas] = ACTIONS(1240), + [anon_sym__Alignas] = ACTIONS(1240), + [sym_primitive_type] = ACTIONS(1240), + [anon_sym_enum] = ACTIONS(1240), + [anon_sym_struct] = ACTIONS(1240), + [anon_sym_union] = ACTIONS(1240), + [anon_sym_if] = ACTIONS(1240), + [anon_sym_switch] = ACTIONS(1240), + [anon_sym_case] = ACTIONS(1240), + [anon_sym_default] = ACTIONS(1240), + [anon_sym_while] = ACTIONS(1240), + [anon_sym_do] = ACTIONS(1240), + [anon_sym_for] = ACTIONS(1240), + [anon_sym_return] = ACTIONS(1240), + [anon_sym_break] = ACTIONS(1240), + [anon_sym_continue] = ACTIONS(1240), + [anon_sym_goto] = ACTIONS(1240), + [anon_sym_DASH_DASH] = ACTIONS(1242), + [anon_sym_PLUS_PLUS] = ACTIONS(1242), + [anon_sym_sizeof] = ACTIONS(1240), + [anon_sym___alignof__] = ACTIONS(1240), + [anon_sym___alignof] = ACTIONS(1240), + [anon_sym__alignof] = ACTIONS(1240), + [anon_sym_alignof] = ACTIONS(1240), + [anon_sym__Alignof] = ACTIONS(1240), + [anon_sym_offsetof] = ACTIONS(1240), + [anon_sym__Generic] = ACTIONS(1240), + [anon_sym_asm] = ACTIONS(1240), + [anon_sym___asm__] = ACTIONS(1240), + [sym__number_literal] = ACTIONS(1242), + [anon_sym_L_SQUOTE] = ACTIONS(1242), + [anon_sym_u_SQUOTE] = ACTIONS(1242), + [anon_sym_U_SQUOTE] = ACTIONS(1242), + [anon_sym_u8_SQUOTE] = ACTIONS(1242), + [anon_sym_SQUOTE] = ACTIONS(1242), + [anon_sym_L_DQUOTE] = ACTIONS(1242), + [anon_sym_u_DQUOTE] = ACTIONS(1242), + [anon_sym_U_DQUOTE] = ACTIONS(1242), + [anon_sym_u8_DQUOTE] = ACTIONS(1242), + [anon_sym_DQUOTE] = ACTIONS(1242), + [sym_true] = ACTIONS(1240), + [sym_false] = ACTIONS(1240), + [anon_sym_NULL] = ACTIONS(1240), + [anon_sym_nullptr] = ACTIONS(1240), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1242), + }, + [393] = { + [ts_builtin_sym_end] = ACTIONS(1284), + [sym__identifier] = ACTIONS(1282), + [aux_sym_preproc_include_token1] = ACTIONS(1282), + [aux_sym_preproc_def_token1] = ACTIONS(1282), + [aux_sym_preproc_if_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1282), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1282), + [sym_preproc_directive] = ACTIONS(1282), + [anon_sym_LPAREN2] = ACTIONS(1284), + [anon_sym_BANG] = ACTIONS(1284), + [anon_sym_TILDE] = ACTIONS(1284), + [anon_sym_DASH] = ACTIONS(1282), + [anon_sym_PLUS] = ACTIONS(1282), + [anon_sym_STAR] = ACTIONS(1284), + [anon_sym_AMP] = ACTIONS(1284), + [anon_sym___extension__] = ACTIONS(1282), + [anon_sym_typedef] = ACTIONS(1282), + [anon_sym_extern] = ACTIONS(1282), + [anon_sym___attribute__] = ACTIONS(1282), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1284), + [anon_sym___declspec] = ACTIONS(1282), + [anon_sym___cdecl] = ACTIONS(1282), + [anon_sym___clrcall] = ACTIONS(1282), + [anon_sym___stdcall] = ACTIONS(1282), + [anon_sym___fastcall] = ACTIONS(1282), + [anon_sym___thiscall] = ACTIONS(1282), + [anon_sym___vectorcall] = ACTIONS(1282), + [anon_sym_LBRACE] = ACTIONS(1284), + [anon_sym_signed] = ACTIONS(1282), + [anon_sym_unsigned] = ACTIONS(1282), + [anon_sym_long] = ACTIONS(1282), + [anon_sym_short] = ACTIONS(1282), + [anon_sym_static] = ACTIONS(1282), + [anon_sym_auto] = ACTIONS(1282), + [anon_sym_register] = ACTIONS(1282), + [anon_sym_inline] = ACTIONS(1282), + [anon_sym___inline] = ACTIONS(1282), + [anon_sym___inline__] = ACTIONS(1282), + [anon_sym___forceinline] = ACTIONS(1282), + [anon_sym_thread_local] = ACTIONS(1282), + [anon_sym___thread] = ACTIONS(1282), + [anon_sym_const] = ACTIONS(1282), + [anon_sym_constexpr] = ACTIONS(1282), + [anon_sym_volatile] = ACTIONS(1282), + [anon_sym_restrict] = ACTIONS(1282), + [anon_sym___restrict__] = ACTIONS(1282), + [anon_sym__Atomic] = ACTIONS(1282), + [anon_sym__Noreturn] = ACTIONS(1282), + [anon_sym_noreturn] = ACTIONS(1282), + [anon_sym_alignas] = ACTIONS(1282), + [anon_sym__Alignas] = ACTIONS(1282), + [sym_primitive_type] = ACTIONS(1282), + [anon_sym_enum] = ACTIONS(1282), + [anon_sym_struct] = ACTIONS(1282), + [anon_sym_union] = ACTIONS(1282), + [anon_sym_if] = ACTIONS(1282), + [anon_sym_switch] = ACTIONS(1282), + [anon_sym_case] = ACTIONS(1282), + [anon_sym_default] = ACTIONS(1282), + [anon_sym_while] = ACTIONS(1282), + [anon_sym_do] = ACTIONS(1282), + [anon_sym_for] = ACTIONS(1282), + [anon_sym_return] = ACTIONS(1282), + [anon_sym_break] = ACTIONS(1282), + [anon_sym_continue] = ACTIONS(1282), + [anon_sym_goto] = ACTIONS(1282), + [anon_sym_DASH_DASH] = ACTIONS(1284), + [anon_sym_PLUS_PLUS] = ACTIONS(1284), + [anon_sym_sizeof] = ACTIONS(1282), + [anon_sym___alignof__] = ACTIONS(1282), + [anon_sym___alignof] = ACTIONS(1282), + [anon_sym__alignof] = ACTIONS(1282), + [anon_sym_alignof] = ACTIONS(1282), + [anon_sym__Alignof] = ACTIONS(1282), + [anon_sym_offsetof] = ACTIONS(1282), + [anon_sym__Generic] = ACTIONS(1282), + [anon_sym_asm] = ACTIONS(1282), + [anon_sym___asm__] = ACTIONS(1282), + [sym__number_literal] = ACTIONS(1284), + [anon_sym_L_SQUOTE] = ACTIONS(1284), + [anon_sym_u_SQUOTE] = ACTIONS(1284), + [anon_sym_U_SQUOTE] = ACTIONS(1284), + [anon_sym_u8_SQUOTE] = ACTIONS(1284), + [anon_sym_SQUOTE] = ACTIONS(1284), + [anon_sym_L_DQUOTE] = ACTIONS(1284), + [anon_sym_u_DQUOTE] = ACTIONS(1284), + [anon_sym_U_DQUOTE] = ACTIONS(1284), + [anon_sym_u8_DQUOTE] = ACTIONS(1284), + [anon_sym_DQUOTE] = ACTIONS(1284), + [sym_true] = ACTIONS(1282), + [sym_false] = ACTIONS(1282), + [anon_sym_NULL] = ACTIONS(1282), + [anon_sym_nullptr] = ACTIONS(1282), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1284), + }, + [394] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1831), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [395] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1081), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1895), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [396] = { + [sym__identifier] = ACTIONS(1090), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1092), + [anon_sym_COMMA] = ACTIONS(1092), + [anon_sym_RPAREN] = ACTIONS(1092), + [aux_sym_preproc_if_token2] = ACTIONS(1092), + [aux_sym_preproc_else_token1] = ACTIONS(1092), + [aux_sym_preproc_elif_token1] = ACTIONS(1090), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1092), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1092), + [anon_sym_LPAREN2] = ACTIONS(1092), + [anon_sym_DASH] = ACTIONS(1090), + [anon_sym_PLUS] = ACTIONS(1090), + [anon_sym_STAR] = ACTIONS(1090), + [anon_sym_SLASH] = ACTIONS(1090), + [anon_sym_PERCENT] = ACTIONS(1090), + [anon_sym_PIPE_PIPE] = ACTIONS(1092), + [anon_sym_AMP_AMP] = ACTIONS(1092), + [anon_sym_PIPE] = ACTIONS(1090), + [anon_sym_CARET] = ACTIONS(1090), + [anon_sym_AMP] = ACTIONS(1090), + [anon_sym_EQ_EQ] = ACTIONS(1092), + [anon_sym_BANG_EQ] = ACTIONS(1092), + [anon_sym_GT] = ACTIONS(1090), + [anon_sym_GT_EQ] = ACTIONS(1092), + [anon_sym_LT_EQ] = ACTIONS(1092), + [anon_sym_LT] = ACTIONS(1090), + [anon_sym_LT_LT] = ACTIONS(1090), + [anon_sym_GT_GT] = ACTIONS(1090), + [anon_sym_SEMI] = ACTIONS(1092), + [anon_sym___extension__] = ACTIONS(1090), + [anon_sym_extern] = ACTIONS(1090), + [anon_sym___attribute__] = ACTIONS(1090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1092), + [anon_sym___declspec] = ACTIONS(1090), + [anon_sym___based] = ACTIONS(1090), + [anon_sym___cdecl] = ACTIONS(1090), + [anon_sym___clrcall] = ACTIONS(1090), + [anon_sym___stdcall] = ACTIONS(1090), + [anon_sym___fastcall] = ACTIONS(1090), + [anon_sym___thiscall] = ACTIONS(1090), + [anon_sym___vectorcall] = ACTIONS(1090), + [anon_sym_LBRACE] = ACTIONS(1092), + [anon_sym_RBRACE] = ACTIONS(1092), + [anon_sym_signed] = ACTIONS(1090), + [anon_sym_unsigned] = ACTIONS(1090), + [anon_sym_long] = ACTIONS(1090), + [anon_sym_short] = ACTIONS(1090), + [anon_sym_LBRACK] = ACTIONS(1090), + [anon_sym_static] = ACTIONS(1090), + [anon_sym_RBRACK] = ACTIONS(1092), + [anon_sym_EQ] = ACTIONS(1090), + [anon_sym_auto] = ACTIONS(1090), + [anon_sym_register] = ACTIONS(1090), + [anon_sym_inline] = ACTIONS(1090), + [anon_sym___inline] = ACTIONS(1090), + [anon_sym___inline__] = ACTIONS(1090), + [anon_sym___forceinline] = ACTIONS(1090), + [anon_sym_thread_local] = ACTIONS(1090), + [anon_sym___thread] = ACTIONS(1090), + [anon_sym_const] = ACTIONS(1090), + [anon_sym_constexpr] = ACTIONS(1090), + [anon_sym_volatile] = ACTIONS(1090), + [anon_sym_restrict] = ACTIONS(1090), + [anon_sym___restrict__] = ACTIONS(1090), + [anon_sym__Atomic] = ACTIONS(1090), + [anon_sym__Noreturn] = ACTIONS(1090), + [anon_sym_noreturn] = ACTIONS(1090), + [anon_sym_alignas] = ACTIONS(1090), + [anon_sym__Alignas] = ACTIONS(1090), + [anon_sym_COLON] = ACTIONS(1092), + [anon_sym_QMARK] = ACTIONS(1092), + [anon_sym_STAR_EQ] = ACTIONS(1092), + [anon_sym_SLASH_EQ] = ACTIONS(1092), + [anon_sym_PERCENT_EQ] = ACTIONS(1092), + [anon_sym_PLUS_EQ] = ACTIONS(1092), + [anon_sym_DASH_EQ] = ACTIONS(1092), + [anon_sym_LT_LT_EQ] = ACTIONS(1092), + [anon_sym_GT_GT_EQ] = ACTIONS(1092), + [anon_sym_AMP_EQ] = ACTIONS(1092), + [anon_sym_CARET_EQ] = ACTIONS(1092), + [anon_sym_PIPE_EQ] = ACTIONS(1092), + [anon_sym_DASH_DASH] = ACTIONS(1092), + [anon_sym_PLUS_PLUS] = ACTIONS(1092), + [anon_sym_asm] = ACTIONS(1090), + [anon_sym___asm__] = ACTIONS(1090), + [anon_sym_DOT] = ACTIONS(1090), + [anon_sym_DASH_GT] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1092), + [anon_sym_u_DQUOTE] = ACTIONS(1092), + [anon_sym_U_DQUOTE] = ACTIONS(1092), + [anon_sym_u8_DQUOTE] = ACTIONS(1092), + [anon_sym_DQUOTE] = ACTIONS(1092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1092), + }, + [397] = { + [sym_type_qualifier] = STATE(998), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(1113), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_expression] = STATE(1080), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_type_descriptor] = STATE(1900), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(616), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__type_definition_type_repeat1] = STATE(998), + [aux_sym_sized_type_specifier_repeat1] = STATE(1109), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(1640), + [anon_sym_struct] = ACTIONS(1642), + [anon_sym_union] = ACTIONS(1644), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [398] = { + [sym_expression] = STATE(829), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_COMMA] = ACTIONS(1348), + [anon_sym_RPAREN] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(23), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1348), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1348), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1348), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1348), + [anon_sym_GT_GT] = ACTIONS(1348), + [anon_sym_SEMI] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1346), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1348), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_COLON] = ACTIONS(1348), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [399] = { + [sym_expression] = STATE(789), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(817), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(817), + [sym_call_expression] = STATE(817), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(817), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(817), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(663), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(685), + [sym__identifier] = ACTIONS(1346), + [anon_sym_COMMA] = ACTIONS(1348), + [aux_sym_preproc_if_token2] = ACTIONS(1348), + [aux_sym_preproc_else_token1] = ACTIONS(1348), + [aux_sym_preproc_elif_token1] = ACTIONS(1346), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(1662), + [anon_sym_TILDE] = ACTIONS(1664), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1348), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1348), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1348), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1348), + [anon_sym_GT_GT] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(1666), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1348), + }, + [400] = { + [sym__identifier] = ACTIONS(1668), + [anon_sym_COMMA] = ACTIONS(1670), + [anon_sym_RPAREN] = ACTIONS(1670), + [anon_sym_LPAREN2] = ACTIONS(1670), + [anon_sym_BANG] = ACTIONS(1670), + [anon_sym_TILDE] = ACTIONS(1670), + [anon_sym_DASH] = ACTIONS(1668), + [anon_sym_PLUS] = ACTIONS(1668), + [anon_sym_STAR] = ACTIONS(1670), + [anon_sym_AMP] = ACTIONS(1670), + [anon_sym_SEMI] = ACTIONS(1670), + [anon_sym___extension__] = ACTIONS(1668), + [anon_sym_extern] = ACTIONS(1668), + [anon_sym___attribute__] = ACTIONS(1668), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1670), + [anon_sym___declspec] = ACTIONS(1668), + [anon_sym_LBRACE] = ACTIONS(1670), + [anon_sym_signed] = ACTIONS(1668), + [anon_sym_unsigned] = ACTIONS(1668), + [anon_sym_long] = ACTIONS(1668), + [anon_sym_short] = ACTIONS(1668), + [anon_sym_LBRACK] = ACTIONS(1668), + [anon_sym_static] = ACTIONS(1668), + [anon_sym_EQ] = ACTIONS(1670), + [anon_sym_auto] = ACTIONS(1668), + [anon_sym_register] = ACTIONS(1668), + [anon_sym_inline] = ACTIONS(1668), + [anon_sym___inline] = ACTIONS(1668), + [anon_sym___inline__] = ACTIONS(1668), + [anon_sym___forceinline] = ACTIONS(1668), + [anon_sym_thread_local] = ACTIONS(1668), + [anon_sym___thread] = ACTIONS(1668), + [anon_sym_const] = ACTIONS(1668), + [anon_sym_constexpr] = ACTIONS(1668), + [anon_sym_volatile] = ACTIONS(1668), + [anon_sym_restrict] = ACTIONS(1668), + [anon_sym___restrict__] = ACTIONS(1668), + [anon_sym__Atomic] = ACTIONS(1668), + [anon_sym__Noreturn] = ACTIONS(1668), + [anon_sym_noreturn] = ACTIONS(1668), + [anon_sym_alignas] = ACTIONS(1668), + [anon_sym__Alignas] = ACTIONS(1668), + [sym_primitive_type] = ACTIONS(1668), + [anon_sym_enum] = ACTIONS(1668), + [anon_sym_COLON] = ACTIONS(1670), + [anon_sym_struct] = ACTIONS(1668), + [anon_sym_union] = ACTIONS(1668), + [anon_sym_if] = ACTIONS(1668), + [anon_sym_switch] = ACTIONS(1668), + [anon_sym_case] = ACTIONS(1668), + [anon_sym_default] = ACTIONS(1668), + [anon_sym_while] = ACTIONS(1668), + [anon_sym_do] = ACTIONS(1668), + [anon_sym_for] = ACTIONS(1668), + [anon_sym_return] = ACTIONS(1668), + [anon_sym_break] = ACTIONS(1668), + [anon_sym_continue] = ACTIONS(1668), + [anon_sym_goto] = ACTIONS(1668), + [anon_sym___try] = ACTIONS(1668), + [anon_sym___leave] = ACTIONS(1668), + [anon_sym_DASH_DASH] = ACTIONS(1670), + [anon_sym_PLUS_PLUS] = ACTIONS(1670), + [anon_sym_sizeof] = ACTIONS(1668), + [anon_sym___alignof__] = ACTIONS(1668), + [anon_sym___alignof] = ACTIONS(1668), + [anon_sym__alignof] = ACTIONS(1668), + [anon_sym_alignof] = ACTIONS(1668), + [anon_sym__Alignof] = ACTIONS(1668), + [anon_sym_offsetof] = ACTIONS(1668), + [anon_sym__Generic] = ACTIONS(1668), + [anon_sym_asm] = ACTIONS(1668), + [anon_sym___asm__] = ACTIONS(1668), + [sym__number_literal] = ACTIONS(1670), + [anon_sym_L_SQUOTE] = ACTIONS(1670), + [anon_sym_u_SQUOTE] = ACTIONS(1670), + [anon_sym_U_SQUOTE] = ACTIONS(1670), + [anon_sym_u8_SQUOTE] = ACTIONS(1670), + [anon_sym_SQUOTE] = ACTIONS(1670), + [anon_sym_L_DQUOTE] = ACTIONS(1670), + [anon_sym_u_DQUOTE] = ACTIONS(1670), + [anon_sym_U_DQUOTE] = ACTIONS(1670), + [anon_sym_u8_DQUOTE] = ACTIONS(1670), + [anon_sym_DQUOTE] = ACTIONS(1670), + [sym_true] = ACTIONS(1668), + [sym_false] = ACTIONS(1668), + [anon_sym_NULL] = ACTIONS(1668), + [anon_sym_nullptr] = ACTIONS(1668), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1670), + }, + [401] = { + [sym__identifier] = ACTIONS(1672), + [anon_sym_COMMA] = ACTIONS(1674), + [anon_sym_RPAREN] = ACTIONS(1674), + [anon_sym_LPAREN2] = ACTIONS(1674), + [anon_sym_BANG] = ACTIONS(1674), + [anon_sym_TILDE] = ACTIONS(1674), + [anon_sym_DASH] = ACTIONS(1672), + [anon_sym_PLUS] = ACTIONS(1672), + [anon_sym_STAR] = ACTIONS(1674), + [anon_sym_AMP] = ACTIONS(1674), + [anon_sym_SEMI] = ACTIONS(1674), + [anon_sym___extension__] = ACTIONS(1672), + [anon_sym_extern] = ACTIONS(1672), + [anon_sym___attribute__] = ACTIONS(1672), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1674), + [anon_sym___declspec] = ACTIONS(1672), + [anon_sym_LBRACE] = ACTIONS(1674), + [anon_sym_signed] = ACTIONS(1672), + [anon_sym_unsigned] = ACTIONS(1672), + [anon_sym_long] = ACTIONS(1672), + [anon_sym_short] = ACTIONS(1672), + [anon_sym_LBRACK] = ACTIONS(1672), + [anon_sym_static] = ACTIONS(1672), + [anon_sym_EQ] = ACTIONS(1674), + [anon_sym_auto] = ACTIONS(1672), + [anon_sym_register] = ACTIONS(1672), + [anon_sym_inline] = ACTIONS(1672), + [anon_sym___inline] = ACTIONS(1672), + [anon_sym___inline__] = ACTIONS(1672), + [anon_sym___forceinline] = ACTIONS(1672), + [anon_sym_thread_local] = ACTIONS(1672), + [anon_sym___thread] = ACTIONS(1672), + [anon_sym_const] = ACTIONS(1672), + [anon_sym_constexpr] = ACTIONS(1672), + [anon_sym_volatile] = ACTIONS(1672), + [anon_sym_restrict] = ACTIONS(1672), + [anon_sym___restrict__] = ACTIONS(1672), + [anon_sym__Atomic] = ACTIONS(1672), + [anon_sym__Noreturn] = ACTIONS(1672), + [anon_sym_noreturn] = ACTIONS(1672), + [anon_sym_alignas] = ACTIONS(1672), + [anon_sym__Alignas] = ACTIONS(1672), + [sym_primitive_type] = ACTIONS(1672), + [anon_sym_enum] = ACTIONS(1672), + [anon_sym_COLON] = ACTIONS(1674), + [anon_sym_struct] = ACTIONS(1672), + [anon_sym_union] = ACTIONS(1672), + [anon_sym_if] = ACTIONS(1672), + [anon_sym_switch] = ACTIONS(1672), + [anon_sym_case] = ACTIONS(1672), + [anon_sym_default] = ACTIONS(1672), + [anon_sym_while] = ACTIONS(1672), + [anon_sym_do] = ACTIONS(1672), + [anon_sym_for] = ACTIONS(1672), + [anon_sym_return] = ACTIONS(1672), + [anon_sym_break] = ACTIONS(1672), + [anon_sym_continue] = ACTIONS(1672), + [anon_sym_goto] = ACTIONS(1672), + [anon_sym___try] = ACTIONS(1672), + [anon_sym___leave] = ACTIONS(1672), + [anon_sym_DASH_DASH] = ACTIONS(1674), + [anon_sym_PLUS_PLUS] = ACTIONS(1674), + [anon_sym_sizeof] = ACTIONS(1672), + [anon_sym___alignof__] = ACTIONS(1672), + [anon_sym___alignof] = ACTIONS(1672), + [anon_sym__alignof] = ACTIONS(1672), + [anon_sym_alignof] = ACTIONS(1672), + [anon_sym__Alignof] = ACTIONS(1672), + [anon_sym_offsetof] = ACTIONS(1672), + [anon_sym__Generic] = ACTIONS(1672), + [anon_sym_asm] = ACTIONS(1672), + [anon_sym___asm__] = ACTIONS(1672), + [sym__number_literal] = ACTIONS(1674), + [anon_sym_L_SQUOTE] = ACTIONS(1674), + [anon_sym_u_SQUOTE] = ACTIONS(1674), + [anon_sym_U_SQUOTE] = ACTIONS(1674), + [anon_sym_u8_SQUOTE] = ACTIONS(1674), + [anon_sym_SQUOTE] = ACTIONS(1674), + [anon_sym_L_DQUOTE] = ACTIONS(1674), + [anon_sym_u_DQUOTE] = ACTIONS(1674), + [anon_sym_U_DQUOTE] = ACTIONS(1674), + [anon_sym_u8_DQUOTE] = ACTIONS(1674), + [anon_sym_DQUOTE] = ACTIONS(1674), + [sym_true] = ACTIONS(1672), + [sym_false] = ACTIONS(1672), + [anon_sym_NULL] = ACTIONS(1672), + [anon_sym_nullptr] = ACTIONS(1672), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1674), + }, + [402] = { + [sym_expression] = STATE(913), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [sym__identifier] = ACTIONS(7), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1348), + [anon_sym_BANG] = ACTIONS(1676), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1346), + [anon_sym_PLUS] = ACTIONS(1346), + [anon_sym_STAR] = ACTIONS(1348), + [anon_sym_SLASH] = ACTIONS(1346), + [anon_sym_PERCENT] = ACTIONS(1348), + [anon_sym_PIPE_PIPE] = ACTIONS(1348), + [anon_sym_AMP_AMP] = ACTIONS(1348), + [anon_sym_PIPE] = ACTIONS(1346), + [anon_sym_CARET] = ACTIONS(1348), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_EQ_EQ] = ACTIONS(1348), + [anon_sym_BANG_EQ] = ACTIONS(1348), + [anon_sym_GT] = ACTIONS(1346), + [anon_sym_GT_EQ] = ACTIONS(1348), + [anon_sym_LT_EQ] = ACTIONS(1348), + [anon_sym_LT] = ACTIONS(1346), + [anon_sym_LT_LT] = ACTIONS(1348), + [anon_sym_GT_GT] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_LBRACK] = ACTIONS(1348), + [anon_sym_RBRACK] = ACTIONS(1348), + [anon_sym_QMARK] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1348), + [anon_sym_PLUS_PLUS] = ACTIONS(1348), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1346), + [anon_sym_DASH_GT] = ACTIONS(1348), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [403] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1701), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [404] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1708), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1701), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [405] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1711), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [406] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1708), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1713), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [407] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1708), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1715), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [408] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1717), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [409] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1715), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [410] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1713), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [411] = { + [sym_else_clause] = STATE(249), + [sym__identifier] = ACTIONS(1094), + [anon_sym_LPAREN2] = ACTIONS(1096), + [anon_sym_BANG] = ACTIONS(1096), + [anon_sym_TILDE] = ACTIONS(1096), + [anon_sym_DASH] = ACTIONS(1094), + [anon_sym_PLUS] = ACTIONS(1094), + [anon_sym_STAR] = ACTIONS(1096), + [anon_sym_AMP] = ACTIONS(1096), + [anon_sym_SEMI] = ACTIONS(1096), + [anon_sym___extension__] = ACTIONS(1094), + [anon_sym_typedef] = ACTIONS(1094), + [anon_sym_extern] = ACTIONS(1094), + [anon_sym___attribute__] = ACTIONS(1094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1096), + [anon_sym___declspec] = ACTIONS(1094), + [anon_sym_LBRACE] = ACTIONS(1096), + [anon_sym_signed] = ACTIONS(1094), + [anon_sym_unsigned] = ACTIONS(1094), + [anon_sym_long] = ACTIONS(1094), + [anon_sym_short] = ACTIONS(1094), + [anon_sym_static] = ACTIONS(1094), + [anon_sym_auto] = ACTIONS(1094), + [anon_sym_register] = ACTIONS(1094), + [anon_sym_inline] = ACTIONS(1094), + [anon_sym___inline] = ACTIONS(1094), + [anon_sym___inline__] = ACTIONS(1094), + [anon_sym___forceinline] = ACTIONS(1094), + [anon_sym_thread_local] = ACTIONS(1094), + [anon_sym___thread] = ACTIONS(1094), + [anon_sym_const] = ACTIONS(1094), + [anon_sym_constexpr] = ACTIONS(1094), + [anon_sym_volatile] = ACTIONS(1094), + [anon_sym_restrict] = ACTIONS(1094), + [anon_sym___restrict__] = ACTIONS(1094), + [anon_sym__Atomic] = ACTIONS(1094), + [anon_sym__Noreturn] = ACTIONS(1094), + [anon_sym_noreturn] = ACTIONS(1094), + [anon_sym_alignas] = ACTIONS(1094), + [anon_sym__Alignas] = ACTIONS(1094), + [sym_primitive_type] = ACTIONS(1094), + [anon_sym_enum] = ACTIONS(1094), + [anon_sym_struct] = ACTIONS(1094), + [anon_sym_union] = ACTIONS(1094), + [anon_sym_if] = ACTIONS(1094), + [anon_sym_else] = ACTIONS(1719), + [anon_sym_switch] = ACTIONS(1094), + [anon_sym_while] = ACTIONS(1094), + [anon_sym_do] = ACTIONS(1094), + [anon_sym_for] = ACTIONS(1094), + [anon_sym_return] = ACTIONS(1094), + [anon_sym_break] = ACTIONS(1094), + [anon_sym_continue] = ACTIONS(1094), + [anon_sym_goto] = ACTIONS(1094), + [anon_sym___try] = ACTIONS(1094), + [anon_sym___leave] = ACTIONS(1094), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1094), + [anon_sym___alignof__] = ACTIONS(1094), + [anon_sym___alignof] = ACTIONS(1094), + [anon_sym__alignof] = ACTIONS(1094), + [anon_sym_alignof] = ACTIONS(1094), + [anon_sym__Alignof] = ACTIONS(1094), + [anon_sym_offsetof] = ACTIONS(1094), + [anon_sym__Generic] = ACTIONS(1094), + [anon_sym_asm] = ACTIONS(1094), + [anon_sym___asm__] = ACTIONS(1094), + [sym__number_literal] = ACTIONS(1096), + [anon_sym_L_SQUOTE] = ACTIONS(1096), + [anon_sym_u_SQUOTE] = ACTIONS(1096), + [anon_sym_U_SQUOTE] = ACTIONS(1096), + [anon_sym_u8_SQUOTE] = ACTIONS(1096), + [anon_sym_SQUOTE] = ACTIONS(1096), + [anon_sym_L_DQUOTE] = ACTIONS(1096), + [anon_sym_u_DQUOTE] = ACTIONS(1096), + [anon_sym_U_DQUOTE] = ACTIONS(1096), + [anon_sym_u8_DQUOTE] = ACTIONS(1096), + [anon_sym_DQUOTE] = ACTIONS(1096), + [sym_true] = ACTIONS(1094), + [sym_false] = ACTIONS(1094), + [anon_sym_NULL] = ACTIONS(1094), + [anon_sym_nullptr] = ACTIONS(1094), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1096), + }, + [412] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1721), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_COLON] = ACTIONS(1717), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [413] = { + [sym__identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(1727), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1729), + [anon_sym_PLUS] = ACTIONS(1729), + [anon_sym_STAR] = ACTIONS(1727), + [anon_sym_AMP] = ACTIONS(1727), + [anon_sym_SEMI] = ACTIONS(1727), + [anon_sym___extension__] = ACTIONS(1731), + [anon_sym_extern] = ACTIONS(1731), + [anon_sym___attribute__] = ACTIONS(1731), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1733), + [anon_sym___declspec] = ACTIONS(1731), + [anon_sym_LBRACE] = ACTIONS(1727), + [anon_sym_signed] = ACTIONS(1731), + [anon_sym_unsigned] = ACTIONS(1731), + [anon_sym_long] = ACTIONS(1731), + [anon_sym_short] = ACTIONS(1731), + [anon_sym_static] = ACTIONS(1731), + [anon_sym_auto] = ACTIONS(1731), + [anon_sym_register] = ACTIONS(1731), + [anon_sym_inline] = ACTIONS(1731), + [anon_sym___inline] = ACTIONS(1731), + [anon_sym___inline__] = ACTIONS(1731), + [anon_sym___forceinline] = ACTIONS(1731), + [anon_sym_thread_local] = ACTIONS(1731), + [anon_sym___thread] = ACTIONS(1731), + [anon_sym_const] = ACTIONS(1731), + [anon_sym_constexpr] = ACTIONS(1731), + [anon_sym_volatile] = ACTIONS(1731), + [anon_sym_restrict] = ACTIONS(1731), + [anon_sym___restrict__] = ACTIONS(1731), + [anon_sym__Atomic] = ACTIONS(1731), + [anon_sym__Noreturn] = ACTIONS(1731), + [anon_sym_noreturn] = ACTIONS(1731), + [anon_sym_alignas] = ACTIONS(1731), + [anon_sym__Alignas] = ACTIONS(1731), + [sym_primitive_type] = ACTIONS(1731), + [anon_sym_enum] = ACTIONS(1731), + [anon_sym_struct] = ACTIONS(1731), + [anon_sym_union] = ACTIONS(1731), + [anon_sym_if] = ACTIONS(1729), + [anon_sym_switch] = ACTIONS(1729), + [anon_sym_case] = ACTIONS(1729), + [anon_sym_default] = ACTIONS(1729), + [anon_sym_while] = ACTIONS(1729), + [anon_sym_do] = ACTIONS(1729), + [anon_sym_for] = ACTIONS(1729), + [anon_sym_return] = ACTIONS(1729), + [anon_sym_break] = ACTIONS(1729), + [anon_sym_continue] = ACTIONS(1729), + [anon_sym_goto] = ACTIONS(1729), + [anon_sym___try] = ACTIONS(1729), + [anon_sym___leave] = ACTIONS(1729), + [anon_sym_DASH_DASH] = ACTIONS(1727), + [anon_sym_PLUS_PLUS] = ACTIONS(1727), + [anon_sym_sizeof] = ACTIONS(1729), + [anon_sym___alignof__] = ACTIONS(1729), + [anon_sym___alignof] = ACTIONS(1729), + [anon_sym__alignof] = ACTIONS(1729), + [anon_sym_alignof] = ACTIONS(1729), + [anon_sym__Alignof] = ACTIONS(1729), + [anon_sym_offsetof] = ACTIONS(1729), + [anon_sym__Generic] = ACTIONS(1729), + [anon_sym_asm] = ACTIONS(1729), + [anon_sym___asm__] = ACTIONS(1729), + [sym__number_literal] = ACTIONS(1727), + [anon_sym_L_SQUOTE] = ACTIONS(1727), + [anon_sym_u_SQUOTE] = ACTIONS(1727), + [anon_sym_U_SQUOTE] = ACTIONS(1727), + [anon_sym_u8_SQUOTE] = ACTIONS(1727), + [anon_sym_SQUOTE] = ACTIONS(1727), + [anon_sym_L_DQUOTE] = ACTIONS(1727), + [anon_sym_u_DQUOTE] = ACTIONS(1727), + [anon_sym_U_DQUOTE] = ACTIONS(1727), + [anon_sym_u8_DQUOTE] = ACTIONS(1727), + [anon_sym_DQUOTE] = ACTIONS(1727), + [sym_true] = ACTIONS(1729), + [sym_false] = ACTIONS(1729), + [anon_sym_NULL] = ACTIONS(1729), + [anon_sym_nullptr] = ACTIONS(1729), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1733), + }, + [414] = { + [sym_string_literal] = STATE(622), + [sym__string_literal] = STATE(624), + [aux_sym_sized_type_specifier_repeat1] = STATE(772), + [sym__identifier] = ACTIONS(1682), + [anon_sym_COMMA] = ACTIONS(1684), + [anon_sym_LPAREN2] = ACTIONS(1686), + [anon_sym_DASH] = ACTIONS(1690), + [anon_sym_PLUS] = ACTIONS(1690), + [anon_sym_STAR] = ACTIONS(1692), + [anon_sym_SLASH] = ACTIONS(1690), + [anon_sym_PERCENT] = ACTIONS(1690), + [anon_sym_PIPE_PIPE] = ACTIONS(1684), + [anon_sym_AMP_AMP] = ACTIONS(1684), + [anon_sym_PIPE] = ACTIONS(1690), + [anon_sym_CARET] = ACTIONS(1690), + [anon_sym_AMP] = ACTIONS(1690), + [anon_sym_EQ_EQ] = ACTIONS(1684), + [anon_sym_BANG_EQ] = ACTIONS(1684), + [anon_sym_GT] = ACTIONS(1690), + [anon_sym_GT_EQ] = ACTIONS(1684), + [anon_sym_LT_EQ] = ACTIONS(1684), + [anon_sym_LT] = ACTIONS(1690), + [anon_sym_LT_LT] = ACTIONS(1690), + [anon_sym_GT_GT] = ACTIONS(1690), + [anon_sym_SEMI] = ACTIONS(1684), + [anon_sym___extension__] = ACTIONS(1682), + [anon_sym_extern] = ACTIONS(1682), + [anon_sym___attribute__] = ACTIONS(1682), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1695), + [anon_sym___declspec] = ACTIONS(1682), + [anon_sym___based] = ACTIONS(1682), + [anon_sym___cdecl] = ACTIONS(1682), + [anon_sym___clrcall] = ACTIONS(1682), + [anon_sym___stdcall] = ACTIONS(1682), + [anon_sym___fastcall] = ACTIONS(1682), + [anon_sym___thiscall] = ACTIONS(1682), + [anon_sym___vectorcall] = ACTIONS(1682), + [anon_sym_signed] = ACTIONS(1697), + [anon_sym_unsigned] = ACTIONS(1697), + [anon_sym_long] = ACTIONS(1697), + [anon_sym_short] = ACTIONS(1697), + [anon_sym_LBRACK] = ACTIONS(1690), + [anon_sym_static] = ACTIONS(1682), + [anon_sym_EQ] = ACTIONS(1699), + [anon_sym_auto] = ACTIONS(1682), + [anon_sym_register] = ACTIONS(1682), + [anon_sym_inline] = ACTIONS(1682), + [anon_sym___inline] = ACTIONS(1682), + [anon_sym___inline__] = ACTIONS(1682), + [anon_sym___forceinline] = ACTIONS(1682), + [anon_sym_thread_local] = ACTIONS(1682), + [anon_sym___thread] = ACTIONS(1682), + [anon_sym_const] = ACTIONS(1682), + [anon_sym_constexpr] = ACTIONS(1682), + [anon_sym_volatile] = ACTIONS(1682), + [anon_sym_restrict] = ACTIONS(1682), + [anon_sym___restrict__] = ACTIONS(1682), + [anon_sym__Atomic] = ACTIONS(1682), + [anon_sym__Noreturn] = ACTIONS(1682), + [anon_sym_noreturn] = ACTIONS(1682), + [anon_sym_alignas] = ACTIONS(1682), + [anon_sym__Alignas] = ACTIONS(1682), + [anon_sym_QMARK] = ACTIONS(1684), + [anon_sym_STAR_EQ] = ACTIONS(1703), + [anon_sym_SLASH_EQ] = ACTIONS(1703), + [anon_sym_PERCENT_EQ] = ACTIONS(1703), + [anon_sym_PLUS_EQ] = ACTIONS(1703), + [anon_sym_DASH_EQ] = ACTIONS(1703), + [anon_sym_LT_LT_EQ] = ACTIONS(1703), + [anon_sym_GT_GT_EQ] = ACTIONS(1703), + [anon_sym_AMP_EQ] = ACTIONS(1703), + [anon_sym_CARET_EQ] = ACTIONS(1703), + [anon_sym_PIPE_EQ] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1684), + [anon_sym_PLUS_PLUS] = ACTIONS(1684), + [anon_sym_DOT] = ACTIONS(1684), + [anon_sym_DASH_GT] = ACTIONS(1684), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1705), + }, + [415] = { + [sym__identifier] = ACTIONS(1736), + [anon_sym_COMMA] = ACTIONS(1739), + [anon_sym_LPAREN2] = ACTIONS(1739), + [anon_sym_DASH] = ACTIONS(1744), + [anon_sym_PLUS] = ACTIONS(1744), + [anon_sym_STAR] = ACTIONS(1744), + [anon_sym_SLASH] = ACTIONS(1744), + [anon_sym_PERCENT] = ACTIONS(1744), + [anon_sym_PIPE_PIPE] = ACTIONS(1739), + [anon_sym_AMP_AMP] = ACTIONS(1739), + [anon_sym_PIPE] = ACTIONS(1744), + [anon_sym_CARET] = ACTIONS(1744), + [anon_sym_AMP] = ACTIONS(1744), + [anon_sym_EQ_EQ] = ACTIONS(1739), + [anon_sym_BANG_EQ] = ACTIONS(1739), + [anon_sym_GT] = ACTIONS(1744), + [anon_sym_GT_EQ] = ACTIONS(1739), + [anon_sym_LT_EQ] = ACTIONS(1739), + [anon_sym_LT] = ACTIONS(1744), + [anon_sym_LT_LT] = ACTIONS(1744), + [anon_sym_GT_GT] = ACTIONS(1744), + [anon_sym_SEMI] = ACTIONS(1739), + [anon_sym___extension__] = ACTIONS(1090), + [anon_sym_extern] = ACTIONS(1090), + [anon_sym___attribute__] = ACTIONS(1090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1092), + [anon_sym___declspec] = ACTIONS(1090), + [anon_sym___based] = ACTIONS(1090), + [anon_sym___cdecl] = ACTIONS(1090), + [anon_sym___clrcall] = ACTIONS(1090), + [anon_sym___stdcall] = ACTIONS(1090), + [anon_sym___fastcall] = ACTIONS(1090), + [anon_sym___thiscall] = ACTIONS(1090), + [anon_sym___vectorcall] = ACTIONS(1090), + [anon_sym_signed] = ACTIONS(1090), + [anon_sym_unsigned] = ACTIONS(1090), + [anon_sym_long] = ACTIONS(1090), + [anon_sym_short] = ACTIONS(1090), + [anon_sym_LBRACK] = ACTIONS(1744), + [anon_sym_static] = ACTIONS(1090), + [anon_sym_EQ] = ACTIONS(1090), + [anon_sym_auto] = ACTIONS(1090), + [anon_sym_register] = ACTIONS(1090), + [anon_sym_inline] = ACTIONS(1090), + [anon_sym___inline] = ACTIONS(1090), + [anon_sym___inline__] = ACTIONS(1090), + [anon_sym___forceinline] = ACTIONS(1090), + [anon_sym_thread_local] = ACTIONS(1090), + [anon_sym___thread] = ACTIONS(1090), + [anon_sym_const] = ACTIONS(1090), + [anon_sym_constexpr] = ACTIONS(1090), + [anon_sym_volatile] = ACTIONS(1090), + [anon_sym_restrict] = ACTIONS(1090), + [anon_sym___restrict__] = ACTIONS(1090), + [anon_sym__Atomic] = ACTIONS(1090), + [anon_sym__Noreturn] = ACTIONS(1090), + [anon_sym_noreturn] = ACTIONS(1090), + [anon_sym_alignas] = ACTIONS(1090), + [anon_sym__Alignas] = ACTIONS(1090), + [anon_sym_COLON] = ACTIONS(1092), + [anon_sym_QMARK] = ACTIONS(1739), + [anon_sym_STAR_EQ] = ACTIONS(1092), + [anon_sym_SLASH_EQ] = ACTIONS(1092), + [anon_sym_PERCENT_EQ] = ACTIONS(1092), + [anon_sym_PLUS_EQ] = ACTIONS(1092), + [anon_sym_DASH_EQ] = ACTIONS(1092), + [anon_sym_LT_LT_EQ] = ACTIONS(1092), + [anon_sym_GT_GT_EQ] = ACTIONS(1092), + [anon_sym_AMP_EQ] = ACTIONS(1092), + [anon_sym_CARET_EQ] = ACTIONS(1092), + [anon_sym_PIPE_EQ] = ACTIONS(1092), + [anon_sym_DASH_DASH] = ACTIONS(1739), + [anon_sym_PLUS_PLUS] = ACTIONS(1739), + [anon_sym_DOT] = ACTIONS(1739), + [anon_sym_DASH_GT] = ACTIONS(1739), + [anon_sym_L_DQUOTE] = ACTIONS(1749), + [anon_sym_u_DQUOTE] = ACTIONS(1749), + [anon_sym_U_DQUOTE] = ACTIONS(1749), + [anon_sym_u8_DQUOTE] = ACTIONS(1749), + [anon_sym_DQUOTE] = ACTIONS(1749), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1749), + }, + [416] = { + [sym_type_qualifier] = STATE(421), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1083), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(421), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1754), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1760), + [anon_sym_RBRACK] = ACTIONS(1762), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [417] = { + [sym_type_qualifier] = STATE(666), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1088), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(666), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1768), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_RBRACK] = ACTIONS(1772), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [418] = { + [sym_type_qualifier] = STATE(666), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1098), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(666), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1774), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_RBRACK] = ACTIONS(1776), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [419] = { + [sym_type_qualifier] = STATE(422), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1079), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(422), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1780), + [anon_sym_RBRACK] = ACTIONS(1782), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [420] = { + [sym_type_qualifier] = STATE(425), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1084), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(425), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1784), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1786), + [anon_sym_RBRACK] = ACTIONS(1788), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [421] = { + [sym_type_qualifier] = STATE(666), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1096), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(666), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1790), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_RBRACK] = ACTIONS(1792), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [422] = { + [sym_type_qualifier] = STATE(666), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1100), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(666), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1794), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_RBRACK] = ACTIONS(1796), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [423] = { + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1186), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_based_modifier] = STATE(1839), + [sym_ms_call_modifier] = STATE(1204), + [sym__declarator] = STATE(1426), + [sym__abstract_declarator] = STATE(1551), + [sym_parenthesized_declarator] = STATE(1353), + [sym_abstract_parenthesized_declarator] = STATE(1498), + [sym_attributed_declarator] = STATE(1353), + [sym_pointer_declarator] = STATE(1353), + [sym_abstract_pointer_declarator] = STATE(1498), + [sym_function_declarator] = STATE(1353), + [sym_abstract_function_declarator] = STATE(1498), + [sym_array_declarator] = STATE(1353), + [sym_abstract_array_declarator] = STATE(1498), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_variadic_parameter] = STATE(1593), + [sym_parameter_list] = STATE(1499), + [sym_parameter_declaration] = STATE(1593), + [sym_identifier] = STATE(932), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1800), + [anon_sym_RPAREN] = ACTIONS(1802), + [anon_sym_LPAREN2] = ACTIONS(1804), + [anon_sym_STAR] = ACTIONS(1806), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___based] = ACTIONS(1808), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_LBRACK] = ACTIONS(1810), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [424] = { + [sym_type_qualifier] = STATE(418), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1091), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(418), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1814), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1816), + [anon_sym_RBRACK] = ACTIONS(1818), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [425] = { + [sym_type_qualifier] = STATE(666), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1076), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(666), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1820), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_RBRACK] = ACTIONS(1822), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [426] = { + [sym_type_qualifier] = STATE(417), + [sym_alignas_qualifier] = STATE(708), + [sym_expression] = STATE(1103), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [aux_sym_array_declarator_repeat1] = STATE(417), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1824), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_static] = ACTIONS(1826), + [anon_sym_RBRACK] = ACTIONS(1828), + [anon_sym_const] = ACTIONS(1758), + [anon_sym_constexpr] = ACTIONS(1758), + [anon_sym_volatile] = ACTIONS(1758), + [anon_sym_restrict] = ACTIONS(1758), + [anon_sym___restrict__] = ACTIONS(1758), + [anon_sym__Atomic] = ACTIONS(1758), + [anon_sym__Noreturn] = ACTIONS(1758), + [anon_sym_noreturn] = ACTIONS(1758), + [anon_sym_alignas] = ACTIONS(1764), + [anon_sym__Alignas] = ACTIONS(1764), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [427] = { + [sym_expression] = STATE(1023), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1672), + [sym_initializer_pair] = STATE(1672), + [sym_subscript_designator] = STATE(1446), + [sym_subscript_range_designator] = STATE(1446), + [sym_field_designator] = STATE(1446), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(723), + [aux_sym_initializer_pair_repeat1] = STATE(1446), + [sym__identifier] = ACTIONS(7), + [anon_sym_COMMA] = ACTIONS(1830), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1832), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1836), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [428] = { + [sym_expression] = STATE(1060), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1750), + [sym_initializer_pair] = STATE(1750), + [sym_subscript_designator] = STATE(1446), + [sym_subscript_range_designator] = STATE(1446), + [sym_field_designator] = STATE(1446), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(723), + [aux_sym_initializer_pair_repeat1] = STATE(1446), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1838), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1836), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [429] = { + [sym_expression] = STATE(1060), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1750), + [sym_initializer_pair] = STATE(1750), + [sym_subscript_designator] = STATE(1446), + [sym_subscript_range_designator] = STATE(1446), + [sym_field_designator] = STATE(1446), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(723), + [aux_sym_initializer_pair_repeat1] = STATE(1446), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1840), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1836), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [430] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1930), + [sym_preproc_elif_in_field_declaration_list] = STATE(1930), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1930), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1846), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [431] = { + [sym_preproc_def] = STATE(442), + [sym_preproc_function_def] = STATE(442), + [sym_preproc_call] = STATE(442), + [sym_preproc_if_in_field_declaration_list] = STATE(442), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(442), + [sym_preproc_else_in_field_declaration_list] = STATE(1922), + [sym_preproc_elif_in_field_declaration_list] = STATE(1922), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1922), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(442), + [sym_field_declaration] = STATE(442), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(442), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1858), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [432] = { + [sym_preproc_def] = STATE(444), + [sym_preproc_function_def] = STATE(444), + [sym_preproc_call] = STATE(444), + [sym_preproc_if_in_field_declaration_list] = STATE(444), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(444), + [sym_preproc_else_in_field_declaration_list] = STATE(1919), + [sym_preproc_elif_in_field_declaration_list] = STATE(1919), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1919), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(444), + [sym_field_declaration] = STATE(444), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(444), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1860), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [433] = { + [sym_preproc_def] = STATE(430), + [sym_preproc_function_def] = STATE(430), + [sym_preproc_call] = STATE(430), + [sym_preproc_if_in_field_declaration_list] = STATE(430), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(430), + [sym_preproc_else_in_field_declaration_list] = STATE(1934), + [sym_preproc_elif_in_field_declaration_list] = STATE(1934), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1934), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(430), + [sym_field_declaration] = STATE(430), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(430), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1862), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [434] = { + [sym_preproc_def] = STATE(441), + [sym_preproc_function_def] = STATE(441), + [sym_preproc_call] = STATE(441), + [sym_preproc_if_in_field_declaration_list] = STATE(441), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(441), + [sym_preproc_else_in_field_declaration_list] = STATE(1938), + [sym_preproc_elif_in_field_declaration_list] = STATE(1938), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1938), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(441), + [sym_field_declaration] = STATE(441), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(441), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1864), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [435] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1979), + [sym_preproc_elif_in_field_declaration_list] = STATE(1979), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1979), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1866), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [436] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1975), + [sym_preproc_elif_in_field_declaration_list] = STATE(1975), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1975), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1868), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [437] = { + [sym_preproc_def] = STATE(435), + [sym_preproc_function_def] = STATE(435), + [sym_preproc_call] = STATE(435), + [sym_preproc_if_in_field_declaration_list] = STATE(435), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(435), + [sym_preproc_else_in_field_declaration_list] = STATE(1973), + [sym_preproc_elif_in_field_declaration_list] = STATE(1973), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1973), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(435), + [sym_field_declaration] = STATE(435), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(435), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1870), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [438] = { + [sym_preproc_def] = STATE(436), + [sym_preproc_function_def] = STATE(436), + [sym_preproc_call] = STATE(436), + [sym_preproc_if_in_field_declaration_list] = STATE(436), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(436), + [sym_preproc_else_in_field_declaration_list] = STATE(1970), + [sym_preproc_elif_in_field_declaration_list] = STATE(1970), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1970), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(436), + [sym_field_declaration] = STATE(436), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(436), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1872), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [439] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1866), + [sym_preproc_elif_in_field_declaration_list] = STATE(1866), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1866), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1874), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [440] = { + [sym_preproc_def] = STATE(445), + [sym_preproc_function_def] = STATE(445), + [sym_preproc_call] = STATE(445), + [sym_preproc_if_in_field_declaration_list] = STATE(445), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(445), + [sym_preproc_else_in_field_declaration_list] = STATE(1871), + [sym_preproc_elif_in_field_declaration_list] = STATE(1871), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1871), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(445), + [sym_field_declaration] = STATE(445), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(445), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1876), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [441] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1933), + [sym_preproc_elif_in_field_declaration_list] = STATE(1933), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1933), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1878), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [442] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1945), + [sym_preproc_elif_in_field_declaration_list] = STATE(1945), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1945), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1880), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [443] = { + [sym_preproc_def] = STATE(439), + [sym_preproc_function_def] = STATE(439), + [sym_preproc_call] = STATE(439), + [sym_preproc_if_in_field_declaration_list] = STATE(439), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(439), + [sym_preproc_else_in_field_declaration_list] = STATE(1824), + [sym_preproc_elif_in_field_declaration_list] = STATE(1824), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1824), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(439), + [sym_field_declaration] = STATE(439), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(439), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1882), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [444] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1821), + [sym_preproc_elif_in_field_declaration_list] = STATE(1821), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1821), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1884), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [445] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym_preproc_else_in_field_declaration_list] = STATE(1924), + [sym_preproc_elif_in_field_declaration_list] = STATE(1924), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1924), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1842), + [aux_sym_preproc_if_token1] = ACTIONS(1844), + [aux_sym_preproc_if_token2] = ACTIONS(1886), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1848), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1848), + [aux_sym_preproc_else_token1] = ACTIONS(1850), + [aux_sym_preproc_elif_token1] = ACTIONS(1852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1854), + [sym_preproc_directive] = ACTIONS(1856), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [446] = { + [sym_expression] = STATE(1060), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1750), + [sym_initializer_pair] = STATE(1750), + [sym_subscript_designator] = STATE(1446), + [sym_subscript_range_designator] = STATE(1446), + [sym_field_designator] = STATE(1446), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(723), + [aux_sym_initializer_pair_repeat1] = STATE(1446), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [anon_sym_DOT] = ACTIONS(1836), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1512), + }, + [447] = { + [sym__identifier] = ACTIONS(1090), + [anon_sym_COMMA] = ACTIONS(1092), + [anon_sym_RPAREN] = ACTIONS(1092), + [aux_sym_preproc_if_token2] = ACTIONS(1092), + [aux_sym_preproc_else_token1] = ACTIONS(1092), + [aux_sym_preproc_elif_token1] = ACTIONS(1090), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1092), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1092), + [anon_sym_LPAREN2] = ACTIONS(1092), + [anon_sym_DASH] = ACTIONS(1092), + [anon_sym_PLUS] = ACTIONS(1092), + [anon_sym_STAR] = ACTIONS(1092), + [anon_sym_SLASH] = ACTIONS(1090), + [anon_sym_PERCENT] = ACTIONS(1092), + [anon_sym_PIPE_PIPE] = ACTIONS(1092), + [anon_sym_AMP_AMP] = ACTIONS(1092), + [anon_sym_PIPE] = ACTIONS(1090), + [anon_sym_CARET] = ACTIONS(1092), + [anon_sym_AMP] = ACTIONS(1090), + [anon_sym_EQ_EQ] = ACTIONS(1092), + [anon_sym_BANG_EQ] = ACTIONS(1092), + [anon_sym_GT] = ACTIONS(1090), + [anon_sym_GT_EQ] = ACTIONS(1092), + [anon_sym_LT_EQ] = ACTIONS(1092), + [anon_sym_LT] = ACTIONS(1090), + [anon_sym_LT_LT] = ACTIONS(1092), + [anon_sym_GT_GT] = ACTIONS(1092), + [anon_sym_SEMI] = ACTIONS(1092), + [anon_sym___extension__] = ACTIONS(1090), + [anon_sym_extern] = ACTIONS(1090), + [anon_sym___attribute__] = ACTIONS(1090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1092), + [anon_sym___declspec] = ACTIONS(1090), + [anon_sym___based] = ACTIONS(1090), + [anon_sym___cdecl] = ACTIONS(1090), + [anon_sym___clrcall] = ACTIONS(1090), + [anon_sym___stdcall] = ACTIONS(1090), + [anon_sym___fastcall] = ACTIONS(1090), + [anon_sym___thiscall] = ACTIONS(1090), + [anon_sym___vectorcall] = ACTIONS(1090), + [anon_sym_LBRACE] = ACTIONS(1092), + [anon_sym_signed] = ACTIONS(1090), + [anon_sym_unsigned] = ACTIONS(1090), + [anon_sym_long] = ACTIONS(1090), + [anon_sym_short] = ACTIONS(1090), + [anon_sym_LBRACK] = ACTIONS(1090), + [anon_sym_static] = ACTIONS(1090), + [anon_sym_EQ] = ACTIONS(1090), + [anon_sym_auto] = ACTIONS(1090), + [anon_sym_register] = ACTIONS(1090), + [anon_sym_inline] = ACTIONS(1090), + [anon_sym___inline] = ACTIONS(1090), + [anon_sym___inline__] = ACTIONS(1090), + [anon_sym___forceinline] = ACTIONS(1090), + [anon_sym_thread_local] = ACTIONS(1090), + [anon_sym___thread] = ACTIONS(1090), + [anon_sym_const] = ACTIONS(1090), + [anon_sym_constexpr] = ACTIONS(1090), + [anon_sym_volatile] = ACTIONS(1090), + [anon_sym_restrict] = ACTIONS(1090), + [anon_sym___restrict__] = ACTIONS(1090), + [anon_sym__Atomic] = ACTIONS(1090), + [anon_sym__Noreturn] = ACTIONS(1090), + [anon_sym_noreturn] = ACTIONS(1090), + [anon_sym_alignas] = ACTIONS(1090), + [anon_sym__Alignas] = ACTIONS(1090), + [sym_primitive_type] = ACTIONS(1090), + [anon_sym_COLON] = ACTIONS(1092), + [anon_sym_asm] = ACTIONS(1090), + [anon_sym___asm__] = ACTIONS(1090), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1092), + }, + [448] = { + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1186), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_ms_call_modifier] = STATE(1374), + [sym__abstract_declarator] = STATE(1551), + [sym_abstract_parenthesized_declarator] = STATE(1498), + [sym_abstract_pointer_declarator] = STATE(1498), + [sym_abstract_function_declarator] = STATE(1498), + [sym_abstract_array_declarator] = STATE(1498), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym_variadic_parameter] = STATE(1593), + [sym_parameter_list] = STATE(1499), + [sym_parameter_declaration] = STATE(1593), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1800), + [anon_sym_RPAREN] = ACTIONS(1802), + [anon_sym_LPAREN2] = ACTIONS(1888), + [anon_sym_STAR] = ACTIONS(1890), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_LBRACK] = ACTIONS(1810), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [449] = { + [sym_preproc_def] = STATE(449), + [sym_preproc_function_def] = STATE(449), + [sym_preproc_call] = STATE(449), + [sym_preproc_if_in_field_declaration_list] = STATE(449), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(449), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1285), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(449), + [sym_field_declaration] = STATE(449), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1892), + [aux_sym_preproc_def_token1] = ACTIONS(1895), + [aux_sym_preproc_if_token1] = ACTIONS(1898), + [aux_sym_preproc_if_token2] = ACTIONS(1901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1903), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1903), + [aux_sym_preproc_else_token1] = ACTIONS(1901), + [aux_sym_preproc_elif_token1] = ACTIONS(1901), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1901), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1901), + [sym_preproc_directive] = ACTIONS(1906), + [anon_sym___extension__] = ACTIONS(1909), + [anon_sym_extern] = ACTIONS(1912), + [anon_sym___attribute__] = ACTIONS(1915), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1918), + [anon_sym___declspec] = ACTIONS(1921), + [anon_sym_signed] = ACTIONS(1924), + [anon_sym_unsigned] = ACTIONS(1924), + [anon_sym_long] = ACTIONS(1924), + [anon_sym_short] = ACTIONS(1924), + [anon_sym_static] = ACTIONS(1912), + [anon_sym_auto] = ACTIONS(1912), + [anon_sym_register] = ACTIONS(1912), + [anon_sym_inline] = ACTIONS(1912), + [anon_sym___inline] = ACTIONS(1912), + [anon_sym___inline__] = ACTIONS(1912), + [anon_sym___forceinline] = ACTIONS(1912), + [anon_sym_thread_local] = ACTIONS(1912), + [anon_sym___thread] = ACTIONS(1912), + [anon_sym_const] = ACTIONS(1909), + [anon_sym_constexpr] = ACTIONS(1909), + [anon_sym_volatile] = ACTIONS(1909), + [anon_sym_restrict] = ACTIONS(1909), + [anon_sym___restrict__] = ACTIONS(1909), + [anon_sym__Atomic] = ACTIONS(1909), + [anon_sym__Noreturn] = ACTIONS(1909), + [anon_sym_noreturn] = ACTIONS(1909), + [anon_sym_alignas] = ACTIONS(1927), + [anon_sym__Alignas] = ACTIONS(1927), + [sym_primitive_type] = ACTIONS(1930), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1936), + [anon_sym_union] = ACTIONS(1939), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1942), + }, + [450] = { + [sym_compound_statement] = STATE(1690), + [sym_expression] = STATE(1018), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(1947), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [451] = { + [sym_compound_statement] = STATE(1585), + [sym_expression] = STATE(1022), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(1951), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [452] = { + [sym__identifier] = ACTIONS(1953), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1739), + [anon_sym_COMMA] = ACTIONS(1739), + [anon_sym_RPAREN] = ACTIONS(1739), + [anon_sym_LPAREN2] = ACTIONS(1739), + [anon_sym_DASH] = ACTIONS(1744), + [anon_sym_PLUS] = ACTIONS(1744), + [anon_sym_STAR] = ACTIONS(1744), + [anon_sym_SLASH] = ACTIONS(1744), + [anon_sym_PERCENT] = ACTIONS(1744), + [anon_sym_PIPE_PIPE] = ACTIONS(1739), + [anon_sym_AMP_AMP] = ACTIONS(1739), + [anon_sym_PIPE] = ACTIONS(1744), + [anon_sym_CARET] = ACTIONS(1744), + [anon_sym_AMP] = ACTIONS(1744), + [anon_sym_EQ_EQ] = ACTIONS(1739), + [anon_sym_BANG_EQ] = ACTIONS(1739), + [anon_sym_GT] = ACTIONS(1744), + [anon_sym_GT_EQ] = ACTIONS(1739), + [anon_sym_LT_EQ] = ACTIONS(1739), + [anon_sym_LT] = ACTIONS(1744), + [anon_sym_LT_LT] = ACTIONS(1744), + [anon_sym_GT_GT] = ACTIONS(1744), + [anon_sym_SEMI] = ACTIONS(1739), + [anon_sym___extension__] = ACTIONS(1090), + [anon_sym___attribute__] = ACTIONS(1744), + [anon_sym_RBRACE] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(1090), + [anon_sym_unsigned] = ACTIONS(1090), + [anon_sym_long] = ACTIONS(1090), + [anon_sym_short] = ACTIONS(1090), + [anon_sym_LBRACK] = ACTIONS(1739), + [anon_sym_RBRACK] = ACTIONS(1739), + [anon_sym_EQ] = ACTIONS(1090), + [anon_sym_const] = ACTIONS(1090), + [anon_sym_constexpr] = ACTIONS(1090), + [anon_sym_volatile] = ACTIONS(1090), + [anon_sym_restrict] = ACTIONS(1090), + [anon_sym___restrict__] = ACTIONS(1090), + [anon_sym__Atomic] = ACTIONS(1090), + [anon_sym__Noreturn] = ACTIONS(1090), + [anon_sym_noreturn] = ACTIONS(1090), + [anon_sym_alignas] = ACTIONS(1090), + [anon_sym__Alignas] = ACTIONS(1090), + [anon_sym_COLON] = ACTIONS(1739), + [anon_sym_QMARK] = ACTIONS(1739), + [anon_sym_STAR_EQ] = ACTIONS(1092), + [anon_sym_SLASH_EQ] = ACTIONS(1092), + [anon_sym_PERCENT_EQ] = ACTIONS(1092), + [anon_sym_PLUS_EQ] = ACTIONS(1092), + [anon_sym_DASH_EQ] = ACTIONS(1092), + [anon_sym_LT_LT_EQ] = ACTIONS(1092), + [anon_sym_GT_GT_EQ] = ACTIONS(1092), + [anon_sym_AMP_EQ] = ACTIONS(1092), + [anon_sym_CARET_EQ] = ACTIONS(1092), + [anon_sym_PIPE_EQ] = ACTIONS(1092), + [anon_sym_DASH_DASH] = ACTIONS(1739), + [anon_sym_PLUS_PLUS] = ACTIONS(1739), + [anon_sym_DOT] = ACTIONS(1744), + [anon_sym_DASH_GT] = ACTIONS(1739), + [anon_sym_L_DQUOTE] = ACTIONS(1749), + [anon_sym_u_DQUOTE] = ACTIONS(1749), + [anon_sym_U_DQUOTE] = ACTIONS(1749), + [anon_sym_u8_DQUOTE] = ACTIONS(1749), + [anon_sym_DQUOTE] = ACTIONS(1749), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1749), + }, + [453] = { + [sym_compound_statement] = STATE(1777), + [sym_expression] = STATE(1063), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym___extension__] = ACTIONS(1955), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [454] = { + [sym_expression] = STATE(1057), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2012), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [455] = { + [sym_preproc_def] = STATE(471), + [sym_preproc_function_def] = STATE(471), + [sym_preproc_call] = STATE(471), + [sym_preproc_if_in_field_declaration_list] = STATE(471), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(471), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1280), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(471), + [sym_field_declaration] = STATE(471), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(471), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1959), + [aux_sym_preproc_if_token1] = ACTIONS(1961), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1963), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(1967), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [456] = { + [sym_expression] = STATE(1038), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1921), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [457] = { + [sym_expression] = STATE(1065), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2023), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [458] = { + [sym_expression] = STATE(1068), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1820), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [459] = { + [sym_expression] = STATE(1069), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1811), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(1975), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [460] = { + [sym_expression] = STATE(1067), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1816), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(1977), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [461] = { + [sym_expression] = STATE(913), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [462] = { + [sym_expression] = STATE(829), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1983), + [anon_sym_BANG] = ACTIONS(1360), + [anon_sym_TILDE] = ACTIONS(1360), + [anon_sym_DASH] = ACTIONS(1358), + [anon_sym_PLUS] = ACTIONS(1358), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(1985), + [anon_sym_PLUS_PLUS] = ACTIONS(1985), + [anon_sym_sizeof] = ACTIONS(1362), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [463] = { + [sym_expression] = STATE(1037), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1958), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(1987), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [464] = { + [sym_expression] = STATE(913), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(916), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(916), + [sym_call_expression] = STATE(916), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(916), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(916), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(740), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1752), + [anon_sym_BANG] = ACTIONS(1678), + [anon_sym_TILDE] = ACTIONS(1678), + [anon_sym_DASH] = ACTIONS(1676), + [anon_sym_PLUS] = ACTIONS(1676), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(1766), + [anon_sym_PLUS_PLUS] = ACTIONS(1766), + [anon_sym_sizeof] = ACTIONS(1680), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [465] = { + [sym_expression] = STATE(1066), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1903), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(1989), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [466] = { + [sym_preproc_def] = STATE(478), + [sym_preproc_function_def] = STATE(478), + [sym_preproc_call] = STATE(478), + [sym_preproc_if_in_field_declaration_list] = STATE(478), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(478), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1276), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(478), + [sym_field_declaration] = STATE(478), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(478), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1991), + [aux_sym_preproc_if_token1] = ACTIONS(1993), + [aux_sym_preproc_if_token2] = ACTIONS(1995), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1997), + [sym_preproc_directive] = ACTIONS(1999), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [467] = { + [sym_expression] = STATE(1070), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1827), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(2001), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [468] = { + [sym_expression] = STATE(1059), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1748), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [469] = { + [sym_expression] = STATE(789), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(817), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(817), + [sym_call_expression] = STATE(817), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(817), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(817), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(663), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(685), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(2003), + [anon_sym_BANG] = ACTIONS(1664), + [anon_sym_TILDE] = ACTIONS(1664), + [anon_sym_DASH] = ACTIONS(1662), + [anon_sym_PLUS] = ACTIONS(1662), + [anon_sym_STAR] = ACTIONS(2005), + [anon_sym_AMP] = ACTIONS(2005), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(2007), + [anon_sym_PLUS_PLUS] = ACTIONS(2007), + [anon_sym_sizeof] = ACTIONS(1666), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2009), + }, + [470] = { + [sym_expression] = STATE(1058), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1747), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [471] = { + [sym_preproc_def] = STATE(487), + [sym_preproc_function_def] = STATE(487), + [sym_preproc_call] = STATE(487), + [sym_preproc_if_in_field_declaration_list] = STATE(487), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(487), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1280), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(487), + [sym_field_declaration] = STATE(487), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(487), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1959), + [aux_sym_preproc_if_token1] = ACTIONS(1961), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1963), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_RBRACE] = ACTIONS(2011), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [472] = { + [sym_expression] = STATE(1045), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1976), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [473] = { + [sym_expression] = STATE(1041), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1968), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(2015), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [474] = { + [sym_expression] = STATE(829), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [475] = { + [sym_expression] = STATE(1050), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1954), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(2017), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [476] = { + [sym_expression] = STATE(1029), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_initializer_list] = STATE(1738), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [477] = { + [sym_expression] = STATE(1047), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2007), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [478] = { + [sym_preproc_def] = STATE(481), + [sym_preproc_function_def] = STATE(481), + [sym_preproc_call] = STATE(481), + [sym_preproc_if_in_field_declaration_list] = STATE(481), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(481), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1276), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(481), + [sym_field_declaration] = STATE(481), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(481), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1798), + [aux_sym_preproc_def_token1] = ACTIONS(1991), + [aux_sym_preproc_if_token1] = ACTIONS(1993), + [aux_sym_preproc_if_token2] = ACTIONS(2021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1997), + [sym_preproc_directive] = ACTIONS(1999), + [anon_sym___extension__] = ACTIONS(47), + [anon_sym_extern] = ACTIONS(45), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1088), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_signed] = ACTIONS(43), + [anon_sym_unsigned] = ACTIONS(43), + [anon_sym_long] = ACTIONS(43), + [anon_sym_short] = ACTIONS(43), + [anon_sym_static] = ACTIONS(45), + [anon_sym_auto] = ACTIONS(45), + [anon_sym_register] = ACTIONS(45), + [anon_sym_inline] = ACTIONS(45), + [anon_sym___inline] = ACTIONS(45), + [anon_sym___inline__] = ACTIONS(45), + [anon_sym___forceinline] = ACTIONS(45), + [anon_sym_thread_local] = ACTIONS(45), + [anon_sym___thread] = ACTIONS(45), + [anon_sym_const] = ACTIONS(47), + [anon_sym_constexpr] = ACTIONS(47), + [anon_sym_volatile] = ACTIONS(47), + [anon_sym_restrict] = ACTIONS(47), + [anon_sym___restrict__] = ACTIONS(47), + [anon_sym__Atomic] = ACTIONS(47), + [anon_sym__Noreturn] = ACTIONS(47), + [anon_sym_noreturn] = ACTIONS(47), + [anon_sym_alignas] = ACTIONS(49), + [anon_sym__Alignas] = ACTIONS(49), + [sym_primitive_type] = ACTIONS(51), + [anon_sym_enum] = ACTIONS(53), + [anon_sym_struct] = ACTIONS(55), + [anon_sym_union] = ACTIONS(57), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1812), + }, + [479] = { + [sym_expression] = STATE(1046), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1870), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [480] = { + [sym_expression] = STATE(789), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_initializer_list] = STATE(692), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(663), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(676), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(1352), + [anon_sym_TILDE] = ACTIONS(1352), + [anon_sym_DASH] = ACTIONS(1350), + [anon_sym_PLUS] = ACTIONS(1350), + [anon_sym_STAR] = ACTIONS(2005), + [anon_sym_AMP] = ACTIONS(2005), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_DASH_DASH] = ACTIONS(2027), + [anon_sym_PLUS_PLUS] = ACTIONS(2027), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2029), + }, + [481] = { + [sym_preproc_def] = STATE(481), + [sym_preproc_function_def] = STATE(481), + [sym_preproc_call] = STATE(481), + [sym_preproc_if_in_field_declaration_list] = STATE(481), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(481), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1276), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(481), + [sym_field_declaration] = STATE(481), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(481), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1892), + [aux_sym_preproc_def_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token1] = ACTIONS(2034), + [aux_sym_preproc_if_token2] = ACTIONS(1901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2037), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2037), + [sym_preproc_directive] = ACTIONS(2040), + [anon_sym___extension__] = ACTIONS(1909), + [anon_sym_extern] = ACTIONS(1912), + [anon_sym___attribute__] = ACTIONS(1915), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1918), + [anon_sym___declspec] = ACTIONS(1921), + [anon_sym_signed] = ACTIONS(1924), + [anon_sym_unsigned] = ACTIONS(1924), + [anon_sym_long] = ACTIONS(1924), + [anon_sym_short] = ACTIONS(1924), + [anon_sym_static] = ACTIONS(1912), + [anon_sym_auto] = ACTIONS(1912), + [anon_sym_register] = ACTIONS(1912), + [anon_sym_inline] = ACTIONS(1912), + [anon_sym___inline] = ACTIONS(1912), + [anon_sym___inline__] = ACTIONS(1912), + [anon_sym___forceinline] = ACTIONS(1912), + [anon_sym_thread_local] = ACTIONS(1912), + [anon_sym___thread] = ACTIONS(1912), + [anon_sym_const] = ACTIONS(1909), + [anon_sym_constexpr] = ACTIONS(1909), + [anon_sym_volatile] = ACTIONS(1909), + [anon_sym_restrict] = ACTIONS(1909), + [anon_sym___restrict__] = ACTIONS(1909), + [anon_sym__Atomic] = ACTIONS(1909), + [anon_sym__Noreturn] = ACTIONS(1909), + [anon_sym_noreturn] = ACTIONS(1909), + [anon_sym_alignas] = ACTIONS(1927), + [anon_sym__Alignas] = ACTIONS(1927), + [sym_primitive_type] = ACTIONS(1930), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1936), + [anon_sym_union] = ACTIONS(1939), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1942), + }, + [482] = { + [sym_expression] = STATE(1071), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1994), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [483] = { + [sym_expression] = STATE(1056), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(2010), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(2045), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [484] = { + [sym_expression] = STATE(1044), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1974), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [485] = { + [sym_expression] = STATE(1039), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1882), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_RPAREN] = ACTIONS(2049), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [486] = { + [sym_expression] = STATE(1030), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1932), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_COLON] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [487] = { + [sym_preproc_def] = STATE(487), + [sym_preproc_function_def] = STATE(487), + [sym_preproc_call] = STATE(487), + [sym_preproc_if_in_field_declaration_list] = STATE(487), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(487), + [sym__declaration_modifiers] = STATE(699), + [sym__declaration_specifiers] = STATE(1280), + [sym_attribute_specifier] = STATE(699), + [sym_attribute_declaration] = STATE(699), + [sym_ms_declspec_modifier] = STATE(699), + [sym_storage_class_specifier] = STATE(699), + [sym_type_qualifier] = STATE(699), + [sym_alignas_qualifier] = STATE(716), + [sym_type_specifier] = STATE(719), + [sym_sized_type_specifier] = STATE(792), + [sym_enum_specifier] = STATE(792), + [sym_struct_specifier] = STATE(792), + [sym_union_specifier] = STATE(792), + [sym__field_declaration_list_item] = STATE(487), + [sym_field_declaration] = STATE(487), + [sym_identifier] = STATE(793), + [sym_macro_type_specifier] = STATE(792), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(487), + [aux_sym__declaration_specifiers_repeat1] = STATE(699), + [aux_sym_sized_type_specifier_repeat1] = STATE(734), + [sym__identifier] = ACTIONS(1892), + [aux_sym_preproc_def_token1] = ACTIONS(2053), + [aux_sym_preproc_if_token1] = ACTIONS(2056), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2059), + [sym_preproc_directive] = ACTIONS(2062), + [anon_sym___extension__] = ACTIONS(1909), + [anon_sym_extern] = ACTIONS(1912), + [anon_sym___attribute__] = ACTIONS(1915), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1918), + [anon_sym___declspec] = ACTIONS(1921), + [anon_sym_RBRACE] = ACTIONS(2065), + [anon_sym_signed] = ACTIONS(1924), + [anon_sym_unsigned] = ACTIONS(1924), + [anon_sym_long] = ACTIONS(1924), + [anon_sym_short] = ACTIONS(1924), + [anon_sym_static] = ACTIONS(1912), + [anon_sym_auto] = ACTIONS(1912), + [anon_sym_register] = ACTIONS(1912), + [anon_sym_inline] = ACTIONS(1912), + [anon_sym___inline] = ACTIONS(1912), + [anon_sym___inline__] = ACTIONS(1912), + [anon_sym___forceinline] = ACTIONS(1912), + [anon_sym_thread_local] = ACTIONS(1912), + [anon_sym___thread] = ACTIONS(1912), + [anon_sym_const] = ACTIONS(1909), + [anon_sym_constexpr] = ACTIONS(1909), + [anon_sym_volatile] = ACTIONS(1909), + [anon_sym_restrict] = ACTIONS(1909), + [anon_sym___restrict__] = ACTIONS(1909), + [anon_sym__Atomic] = ACTIONS(1909), + [anon_sym__Noreturn] = ACTIONS(1909), + [anon_sym_noreturn] = ACTIONS(1909), + [anon_sym_alignas] = ACTIONS(1927), + [anon_sym__Alignas] = ACTIONS(1927), + [sym_primitive_type] = ACTIONS(1930), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1936), + [anon_sym_union] = ACTIONS(1939), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1942), + }, + [488] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [489] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2069), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [490] = { + [sym_expression] = STATE(1049), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1863), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [491] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [492] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2073), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [493] = { + [sym_expression] = STATE(1032), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1856), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [494] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [495] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2077), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [496] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [497] = { + [sym_expression] = STATE(1016), + [sym__string] = STATE(695), + [sym_comma_expression] = STATE(1643), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(846), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(846), + [sym_call_expression] = STATE(846), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(846), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(846), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(704), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(81), + [anon_sym_PLUS_PLUS] = ACTIONS(81), + [anon_sym_sizeof] = ACTIONS(83), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1646), + }, + [498] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2081), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [499] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, + [500] = { + [sym_expression] = STATE(906), + [sym__string] = STATE(695), + [sym_conditional_expression] = STATE(695), + [sym_assignment_expression] = STATE(695), + [sym_pointer_expression] = STATE(672), + [sym_unary_expression] = STATE(695), + [sym_binary_expression] = STATE(695), + [sym_update_expression] = STATE(695), + [sym_cast_expression] = STATE(695), + [sym_sizeof_expression] = STATE(695), + [sym_alignof_expression] = STATE(695), + [sym_offsetof_expression] = STATE(695), + [sym_generic_expression] = STATE(695), + [sym_subscript_expression] = STATE(672), + [sym_call_expression] = STATE(672), + [sym_gnu_asm_expression] = STATE(695), + [sym_field_expression] = STATE(672), + [sym_compound_literal_expression] = STATE(695), + [sym_parenthesized_expression] = STATE(672), + [sym_number_literal] = STATE(695), + [sym_char_literal] = STATE(695), + [sym__char_literal] = STATE(696), + [sym_concatenated_string] = STATE(695), + [sym_string_literal] = STATE(660), + [sym__string_literal] = STATE(624), + [sym_null] = STATE(695), + [sym_identifier] = STATE(661), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1979), + [anon_sym_BANG] = ACTIONS(1634), + [anon_sym_TILDE] = ACTIONS(1634), + [anon_sym_DASH] = ACTIONS(1632), + [anon_sym_PLUS] = ACTIONS(1632), + [anon_sym_STAR] = ACTIONS(1756), + [anon_sym_AMP] = ACTIONS(1756), + [anon_sym_RBRACK] = ACTIONS(2085), + [anon_sym_DASH_DASH] = ACTIONS(1981), + [anon_sym_PLUS_PLUS] = ACTIONS(1981), + [anon_sym_sizeof] = ACTIONS(1636), + [anon_sym___alignof__] = ACTIONS(85), + [anon_sym___alignof] = ACTIONS(85), + [anon_sym__alignof] = ACTIONS(85), + [anon_sym_alignof] = ACTIONS(85), + [anon_sym__Alignof] = ACTIONS(85), + [anon_sym_offsetof] = ACTIONS(87), + [anon_sym__Generic] = ACTIONS(89), + [anon_sym_asm] = ACTIONS(91), + [anon_sym___asm__] = ACTIONS(91), + [sym__number_literal] = ACTIONS(93), + [anon_sym_L_SQUOTE] = ACTIONS(95), + [anon_sym_u_SQUOTE] = ACTIONS(95), + [anon_sym_U_SQUOTE] = ACTIONS(95), + [anon_sym_u8_SQUOTE] = ACTIONS(95), + [anon_sym_SQUOTE] = ACTIONS(95), + [anon_sym_L_DQUOTE] = ACTIONS(97), + [anon_sym_u_DQUOTE] = ACTIONS(97), + [anon_sym_U_DQUOTE] = ACTIONS(97), + [anon_sym_u8_DQUOTE] = ACTIONS(97), + [anon_sym_DQUOTE] = ACTIONS(97), + [sym_true] = ACTIONS(159), + [sym_false] = ACTIONS(159), + [anon_sym_NULL] = ACTIONS(101), + [anon_sym_nullptr] = ACTIONS(101), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1364), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1031), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [115] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(828), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [230] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(745), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [345] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(766), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [460] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2009), 1, + sym_grit_metavariable, + ACTIONS(2087), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(765), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [575] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(832), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [690] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(968), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [805] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(901), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [920] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(970), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1035] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(974), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1150] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(971), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1265] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(2089), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(915), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1380] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(905), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1495] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(964), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1610] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(906), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1725] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(907), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1840] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(828), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1955] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(966), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2070] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(967), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2185] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(975), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2300] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1077), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2415] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1086), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2530] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1095), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2645] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1089), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2760] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(976), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2875] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(911), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2990] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(914), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3105] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(903), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3220] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(902), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3335] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(909), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3450] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(963), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3565] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(900), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3680] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(899), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3795] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(898), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3910] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(912), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4025] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(908), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4140] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(910), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4255] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(2091), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(915), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4370] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(905), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4485] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1636), 1, + anon_sym_sizeof, + ACTIONS(1979), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(907), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1632), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1634), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1981), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4600] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(977), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4715] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1062), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4830] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1003), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4945] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(827), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5060] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1019), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5175] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1075), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5290] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1006), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5405] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1007), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5520] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1008), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5635] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(965), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5750] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1009), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5865] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1005), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5980] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1004), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6095] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1001), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6210] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1025), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6325] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(999), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6440] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(843), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6555] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(834), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6670] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1072), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6785] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(836), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6900] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(993), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7015] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1002), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7130] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(837), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7245] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(973), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7360] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1064), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7475] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1021), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7590] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1053), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7705] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1051), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7820] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1027), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7935] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1048), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8050] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1042), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8165] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1036), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8280] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1035), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8395] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1034), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8510] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1033), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8625] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(901), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8740] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(2093), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(835), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8855] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1090), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8970] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(825), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9085] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(745), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9200] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(766), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9315] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(992), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9430] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2029), 1, + sym_grit_metavariable, + ACTIONS(2095), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(765), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9545] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(838), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9660] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1097), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9775] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(839), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9890] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1026), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10005] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(842), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10120] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(841), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10235] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(783), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10350] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1093), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10465] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1101), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10580] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1666), 1, + anon_sym_sizeof, + ACTIONS(2003), 1, + anon_sym_LPAREN2, + ACTIONS(2009), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(685), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(752), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1662), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1664), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2007), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(817), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10695] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(782), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10810] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(781), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10925] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(752), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11040] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(780), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11155] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(779), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11270] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(778), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11385] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + ACTIONS(1680), 1, + anon_sym_sizeof, + ACTIONS(1752), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(740), 1, + sym_identifier, + STATE(1055), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1676), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1678), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1756), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1766), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(916), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11500] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(760), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11615] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(776), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11730] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1054), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11845] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(770), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11960] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(775), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12075] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1087), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12190] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(774), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12305] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(825), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12420] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1356), 1, + anon_sym_sizeof, + ACTIONS(2025), 1, + anon_sym_LPAREN2, + ACTIONS(2029), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(663), 1, + sym_string_literal, + STATE(676), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(764), 1, + sym_expression, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1350), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1352), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2005), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2027), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12535] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(2097), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(835), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12650] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(83), 1, + anon_sym_sizeof, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1646), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(696), 1, + sym__char_literal, + STATE(704), 1, + sym_identifier, + STATE(1073), 1, + sym_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(81), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(846), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12765] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(840), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12880] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(826), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12995] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(843), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13110] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(87), 1, + anon_sym_offsetof, + ACTIONS(89), 1, + anon_sym__Generic, + ACTIONS(93), 1, + sym__number_literal, + ACTIONS(1362), 1, + anon_sym_sizeof, + ACTIONS(1364), 1, + sym_grit_metavariable, + ACTIONS(1983), 1, + anon_sym_LPAREN2, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(661), 1, + sym_identifier, + STATE(696), 1, + sym__char_literal, + STATE(830), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(101), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(159), 2, + sym_true, + sym_false, + ACTIONS(1358), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1360), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1985), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(85), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(95), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(672), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(695), 17, + sym__string, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_alignof_expression, + sym_offsetof_expression, + sym_generic_expression, + sym_gnu_asm_expression, + sym_compound_literal_expression, + sym_number_literal, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13225] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1682), 1, + anon_sym_const, + ACTIONS(1686), 1, + anon_sym_LPAREN2, + ACTIONS(1692), 1, + anon_sym_STAR, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + STATE(772), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1708), 2, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(2099), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1695), 10, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [13321] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2103), 1, + anon_sym_LBRACE, + STATE(681), 1, + sym_ms_call_modifier, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1174), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(364), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [13435] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2105), 1, + anon_sym_LBRACE, + STATE(678), 1, + sym_ms_call_modifier, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1175), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(303), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [13549] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2107), 1, + anon_sym_LBRACE, + STATE(669), 1, + sym_ms_call_modifier, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1170), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(350), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [13663] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2109), 1, + anon_sym_LBRACE, + STATE(673), 1, + sym_ms_call_modifier, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1177), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(123), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [13777] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2111), 1, + sym__identifier, + ACTIONS(2121), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(621), 3, + sym_string_literal, + sym_identifier, + aux_sym_concatenated_string_repeat1, + ACTIONS(2118), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2116), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2114), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [13855] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2128), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(623), 3, + sym_string_literal, + sym_identifier, + aux_sym_concatenated_string_repeat1, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2126), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2124), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [13933] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2128), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(621), 3, + sym_string_literal, + sym_identifier, + aux_sym_concatenated_string_repeat1, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2132), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2130), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [14011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1953), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2134), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [14075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1736), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(1749), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [14139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2136), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2138), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [14203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2140), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2142), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [14267] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(309), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(640), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [14372] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2144), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2146), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [14435] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2148), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2150), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [14498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2152), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2154), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [14561] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1800), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2156), 1, + anon_sym_RPAREN, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(921), 1, + sym_identifier, + STATE(1186), 1, + sym__declaration_specifiers, + STATE(1539), 1, + sym_variadic_parameter, + STATE(1593), 1, + sym_parameter_declaration, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [14668] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(294), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [14773] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2158), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2160), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [14836] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(135), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(652), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [14941] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(381), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15046] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2162), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2164), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [15109] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(391), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15214] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2166), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2168), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [15277] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(335), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15382] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2170), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2172), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [15445] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2174), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2176), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [15508] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(344), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15613] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(325), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(643), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15718] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2188), 1, + anon_sym___attribute__, + ACTIONS(2191), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2194), 1, + anon_sym___declspec, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(2197), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2180), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + sym_grit_metavariable, + STATE(645), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2182), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2185), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(2178), 17, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [15797] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2200), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2202), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [15860] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(361), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(638), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [15965] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1800), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1802), 1, + anon_sym_RPAREN, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1186), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1593), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16070] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2204), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym__identifier, + ACTIONS(2206), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [16133] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(313), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(633), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16238] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(316), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16343] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(137), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16448] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(133), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(654), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16553] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(124), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16658] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(339), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(651), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16763] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(374), 1, + sym_compound_statement, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(636), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16868] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2208), 1, + sym__identifier, + ACTIONS(2217), 1, + anon_sym___attribute__, + ACTIONS(2220), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2223), 1, + anon_sym___declspec, + ACTIONS(2226), 1, + anon_sym_LBRACE, + ACTIONS(2234), 1, + sym_primitive_type, + ACTIONS(2237), 1, + anon_sym_enum, + ACTIONS(2240), 1, + anon_sym_struct, + ACTIONS(2243), 1, + anon_sym_union, + ACTIONS(2246), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1176), 1, + sym__declaration_specifiers, + ACTIONS(2231), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(2228), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2211), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2214), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [16970] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1800), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1186), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1749), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [17072] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1800), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(928), 1, + sym_identifier, + STATE(1186), 1, + sym__declaration_specifiers, + STATE(1729), 1, + sym_variadic_parameter, + STATE(1749), 1, + sym_parameter_declaration, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [17176] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2128), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(622), 2, + sym_string_literal, + sym_identifier, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2251), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2249), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [17248] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1690), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(1684), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [17316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2255), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2253), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + [17376] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(624), 1, + sym__string_literal, + STATE(622), 2, + sym_string_literal, + sym_identifier, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2251), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2249), 29, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [17442] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1670), 22, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(1668), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym___try, + anon_sym___leave, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + [17502] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1674), 22, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(1672), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym___try, + anon_sym___leave, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + [17562] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2264), 1, + anon_sym_static, + STATE(708), 1, + sym_alignas_qualifier, + ACTIONS(2267), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(666), 2, + sym_type_qualifier, + aux_sym_array_declarator_repeat1, + ACTIONS(2261), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2257), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(2259), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [17632] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2272), 22, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(2270), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym___try, + anon_sym___leave, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + [17692] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2270), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2272), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [17752] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1209), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [17847] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1953), 1, + sym__identifier, + ACTIONS(1749), 6, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(1744), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(1739), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [17910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2274), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2276), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [17969] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1690), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(1684), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18028] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1215), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18123] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1194), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18218] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1190), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18313] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2278), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1690), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(1684), 28, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [18380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2281), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2283), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18439] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1217), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18534] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2285), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2287), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18593] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2289), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2291), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18652] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1224), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18747] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2293), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2295), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18806] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1196), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [18901] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2297), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2299), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [18960] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2278), 1, + sym_grit_metavariable, + ACTIONS(2301), 1, + anon_sym_EQ, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2303), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 14, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + sym__identifier, + ACTIONS(1684), 18, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [19031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2305), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2307), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19090] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2309), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2311), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2313), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2315), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19208] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2317), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2319), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2323), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19326] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2325), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2327), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2329), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2331), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19444] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2333), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2335), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19503] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2337), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2339), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1690), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(1684), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19621] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2341), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2343), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19680] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2345), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_DOT, + sym__identifier, + ACTIONS(2347), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19739] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(719), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + STATE(1193), 1, + sym__declaration_specifiers, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(699), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [19834] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(53), 1, + anon_sym_enum, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(725), 1, + sym_type_specifier, + STATE(734), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(793), 1, + sym_identifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(43), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(645), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [19926] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2349), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym__identifier, + ACTIONS(2351), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [19984] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2353), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym__identifier, + ACTIONS(2355), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [20042] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2357), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym__identifier, + ACTIONS(2359), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [20100] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2361), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym__identifier, + ACTIONS(2363), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [20158] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [20228] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 1, + anon_sym_EQ, + ACTIONS(1749), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1092), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1744), 14, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + sym__identifier, + ACTIONS(1739), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [20291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2367), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(2365), 29, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_static, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + [20348] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1749), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1744), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(1739), 29, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [20407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2371), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(2369), 29, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_static, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + [20464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2375), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2373), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [20520] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2367), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2365), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [20576] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(736), 1, + sym_field_declaration_list, + STATE(768), 1, + sym_attribute_specifier, + ACTIONS(2379), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2377), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [20640] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(738), 1, + sym_field_declaration_list, + STATE(757), 1, + sym_attribute_specifier, + ACTIONS(2385), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2383), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [20704] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(739), 1, + sym_field_declaration_list, + STATE(754), 1, + sym_attribute_specifier, + ACTIONS(2389), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2387), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [20768] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(742), 1, + sym_field_declaration_list, + STATE(747), 1, + sym_attribute_specifier, + ACTIONS(2393), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2391), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [20832] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(732), 1, + sym_field_declaration_list, + STATE(767), 1, + sym_attribute_specifier, + ACTIONS(2397), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2395), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [20896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2371), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2369), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [20952] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1715), 1, + anon_sym_COLON, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21021] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1670), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1668), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [21076] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2401), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + sym_grit_metavariable, + STATE(721), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2399), 9, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [21147] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2405), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + sym_grit_metavariable, + STATE(645), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2403), 9, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [21218] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2409), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + sym_grit_metavariable, + STATE(645), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2407), 9, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [21289] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1711), 1, + anon_sym_COLON, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21358] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(2411), 1, + anon_sym_COLON, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21427] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1701), 1, + anon_sym_COLON, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21496] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2415), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + sym_grit_metavariable, + STATE(720), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(2413), 9, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [21567] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1674), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1672), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [21622] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 1, + anon_sym_EQ, + ACTIONS(1953), 1, + sym__identifier, + ACTIONS(1749), 6, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + ACTIONS(1092), 11, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1744), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1739), 16, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21685] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1713), 1, + anon_sym_COLON, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21754] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1717), 1, + anon_sym_COLON, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [21823] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2419), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2417), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [21878] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(759), 1, + sym_attribute_specifier, + ACTIONS(2423), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2421), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [21936] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(748), 1, + sym_attribute_specifier, + ACTIONS(2427), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2425), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [21994] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(771), 1, + sym_attribute_specifier, + ACTIONS(2431), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2429), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22052] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2433), 1, + sym__identifier, + ACTIONS(2442), 1, + sym_primitive_type, + ACTIONS(2444), 1, + sym_grit_metavariable, + STATE(761), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(762), 1, + sym_identifier, + ACTIONS(2440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2436), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2438), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + [22118] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(746), 1, + sym_attribute_specifier, + ACTIONS(2449), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2447), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22176] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(785), 1, + sym_attribute_specifier, + ACTIONS(2453), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2451), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22234] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2459), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2457), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2455), 33, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22292] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(758), 1, + sym_attribute_specifier, + ACTIONS(2464), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2462), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22350] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(790), 1, + sym_attribute_specifier, + ACTIONS(2468), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2466), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22408] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(2470), 1, + anon_sym_EQ, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2472), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(1684), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [22474] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(769), 1, + sym_attribute_specifier, + ACTIONS(2476), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2474), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22532] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(787), 1, + sym_attribute_specifier, + ACTIONS(2480), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2478), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22590] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(756), 1, + sym_attribute_specifier, + ACTIONS(2484), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2482), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22648] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2488), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2486), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22701] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2490), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2492), 25, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_grit_metavariable, + [22762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2502), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2500), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2506), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2504), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2510), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2508), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22921] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2514), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2512), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [22974] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2518), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2516), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23027] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2522), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2520), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23080] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2524), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [23143] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2532), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2530), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23196] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2536), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2534), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23249] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2540), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2538), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2544), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2542), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23355] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2548), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2546), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2552), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2550), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23461] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2554), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [23514] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2566), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2568), 1, + anon_sym_AMP_AMP, + ACTIONS(2570), 1, + anon_sym_PIPE, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + ACTIONS(2584), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2558), 3, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + sym__identifier, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2560), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [23601] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2455), 1, + sym_primitive_type, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2459), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2589), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2586), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [23660] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(795), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2596), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2594), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2592), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [23717] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(796), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2602), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2600), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2598), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [23774] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2566), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2568), 1, + anon_sym_AMP_AMP, + ACTIONS(2570), 1, + anon_sym_PIPE, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + ACTIONS(2584), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2604), 3, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + sym__identifier, + ACTIONS(2606), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [23861] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2608), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2610), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [23924] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2612), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2614), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [23987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2618), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2616), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [24040] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2622), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2620), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [24093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2626), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2624), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [24146] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2628), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2630), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24209] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2634), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2632), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [24262] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2640), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2638), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2636), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [24319] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2566), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2568), 1, + anon_sym_AMP_AMP, + ACTIONS(2570), 1, + anon_sym_PIPE, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + ACTIONS(2584), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2642), 3, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + sym__identifier, + ACTIONS(2644), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24406] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 10, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24473] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 8, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24542] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 6, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 21, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2648), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2646), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [24668] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 6, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24743] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2574), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 5, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24820] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 4, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24899] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2570), 1, + anon_sym_PIPE, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + sym__identifier, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24980] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2568), 1, + anon_sym_AMP_AMP, + ACTIONS(2570), 1, + anon_sym_PIPE, + ACTIONS(2572), 1, + anon_sym_CARET, + ACTIONS(2574), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2562), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2576), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2578), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2580), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2582), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + sym__identifier, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 18, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25063] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2564), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 12, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2526), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25128] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2652), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2650), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25181] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2656), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2654), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25234] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2640), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2660), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2658), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [25291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2664), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2662), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25344] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(786), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2670), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2668), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2666), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [25401] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2672), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(2674), 23, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2678), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2676), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2682), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2680), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25570] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2668), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2666), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25623] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2684), 1, + anon_sym_LPAREN2, + STATE(772), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1697), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1695), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(1682), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [25682] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2689), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2687), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25735] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2640), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2693), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2691), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [25792] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2640), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2697), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2695), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [25849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2701), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2699), 37, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [25902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym__identifier, + ACTIONS(1092), 29, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [25954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1296), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1294), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26006] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2703), 1, + anon_sym_SEMI, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2401), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + STATE(721), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2399), 8, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [26076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1328), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1326), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26128] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1324), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1322), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26180] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2705), 1, + anon_sym_SEMI, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2401), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + STATE(721), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2399), 8, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [26250] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1258), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1256), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2709), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2707), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1246), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1244), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1306), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26458] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2713), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2711), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26510] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2715), 1, + anon_sym_SEMI, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2401), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + STATE(721), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2399), 8, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [26580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2719), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2717), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26632] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1092), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1090), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26684] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2723), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2721), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2727), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2725), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26788] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2731), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2729), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2735), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2733), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26892] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2739), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2737), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [26944] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2301), 1, + anon_sym_EQ, + ACTIONS(2303), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 14, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + sym__identifier, + ACTIONS(1684), 19, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_grit_metavariable, + [27000] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1088), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2741), 1, + anon_sym_SEMI, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2401), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + STATE(721), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(2399), 8, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(45), 10, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + [27070] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1306), 1, + sym__declarator, + STATE(1474), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2743), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(822), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(937), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [27160] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2755), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2753), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [27212] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2759), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2757), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [27264] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1314), 1, + sym__declarator, + STATE(1464), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2761), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(936), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [27354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2765), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2763), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [27406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2769), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2767), 42, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [27458] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2612), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2614), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27519] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_EQ, + ACTIONS(2777), 1, + anon_sym_AMP_AMP, + ACTIONS(2779), 1, + anon_sym_PIPE, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27600] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2604), 1, + anon_sym_EQ, + ACTIONS(2777), 1, + anon_sym_AMP_AMP, + ACTIONS(2779), 1, + anon_sym_PIPE, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + ACTIONS(2793), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2795), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2606), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27685] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2490), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2492), 25, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [27744] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2672), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2674), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27805] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27868] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2642), 1, + anon_sym_EQ, + ACTIONS(2777), 1, + anon_sym_AMP_AMP, + ACTIONS(2779), 1, + anon_sym_PIPE, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + ACTIONS(2793), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2795), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2644), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [27953] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2558), 1, + anon_sym_EQ, + ACTIONS(2777), 1, + anon_sym_AMP_AMP, + ACTIONS(2779), 1, + anon_sym_PIPE, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + ACTIONS(2793), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2795), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2560), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28038] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2801), 1, + anon_sym___attribute__, + ACTIONS(2804), 1, + anon_sym_LBRACE, + ACTIONS(2806), 1, + anon_sym_COLON, + STATE(750), 1, + sym_attribute_specifier, + STATE(877), 1, + sym_enumerator_list, + ACTIONS(2799), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2797), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [28099] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2628), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2630), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28160] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2608), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2610), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28221] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28286] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(2526), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28353] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2526), 21, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28424] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2526), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28497] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_EQ, + ACTIONS(2779), 1, + anon_sym_PIPE, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28576] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2781), 1, + anon_sym_CARET, + ACTIONS(2783), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28653] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2783), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2773), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2785), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2787), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2789), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2791), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(2775), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28728] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2524), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [28789] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2808), 2, + anon_sym___attribute__, + sym__identifier, + ACTIONS(2815), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2818), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(2811), 4, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_EQ, + ACTIONS(2813), 30, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + [28845] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2820), 2, + anon_sym___attribute__, + sym__identifier, + ACTIONS(2827), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2830), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(2823), 4, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_EQ, + ACTIONS(2825), 30, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + [28901] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 19, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [28955] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2804), 1, + anon_sym_LBRACE, + ACTIONS(2836), 1, + anon_sym___attribute__, + STATE(753), 1, + sym_attribute_specifier, + STATE(874), 1, + sym_enumerator_list, + ACTIONS(2834), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2832), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [29013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2134), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1953), 38, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2138), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2136), 38, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29111] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2419), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2841), 1, + sym_grit_metavariable, + STATE(619), 1, + sym_string_literal, + STATE(848), 1, + sym__string_literal, + ACTIONS(2839), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2417), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29168] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2419), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2841), 1, + sym_grit_metavariable, + STATE(620), 1, + sym_string_literal, + STATE(848), 1, + sym__string_literal, + ACTIONS(2839), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2417), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29225] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2419), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2841), 1, + sym_grit_metavariable, + STATE(618), 1, + sym_string_literal, + STATE(848), 1, + sym__string_literal, + ACTIONS(2839), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2417), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2142), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2140), 38, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29331] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2419), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2841), 1, + sym_grit_metavariable, + STATE(617), 1, + sym_string_literal, + STATE(848), 1, + sym__string_literal, + ACTIONS(2839), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2417), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29388] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1296), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1294), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29436] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2723), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2721), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29484] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2727), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2725), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29532] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1328), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1326), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1324), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1322), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29628] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2848), 1, + anon_sym___attribute__, + STATE(751), 1, + sym_attribute_specifier, + ACTIONS(2846), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2844), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [29680] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1359), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(865), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1000), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [29762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2739), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2737), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29810] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1306), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2769), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2767), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [29906] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1356), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(997), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [29988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1246), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1244), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30036] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1258), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1256), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30084] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1356), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(881), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(997), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [30166] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1324), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1322), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30214] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1328), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1326), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30262] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1258), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1256), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30310] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1246), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1244), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2759), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2757), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30406] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2863), 1, + anon_sym___attribute__, + STATE(794), 1, + sym_attribute_specifier, + ACTIONS(2861), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2859), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [30458] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2755), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2753), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2769), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2767), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30554] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2870), 1, + anon_sym___attribute__, + STATE(791), 1, + sym_attribute_specifier, + ACTIONS(2868), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2866), 31, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [30606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2755), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2753), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30654] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2731), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2729), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30702] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2765), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2763), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30750] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1361), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(995), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [30832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2759), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2757), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2735), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2733), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1306), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [30976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1296), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(1294), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31024] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2765), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2763), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31072] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2719), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2717), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2709), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2707), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31168] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2713), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2711), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31216] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2719), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2717), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2723), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2721), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2713), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2711), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2727), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2725), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2731), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2729), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2735), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2733), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2739), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2737), 38, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31552] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2709), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(2707), 37, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [31600] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [31675] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [31748] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2526), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [31819] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2524), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [31878] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(2526), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [31943] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32006] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2642), 1, + anon_sym_EQ, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(2893), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2895), 1, + anon_sym_AMP_AMP, + ACTIONS(2897), 1, + anon_sym_PIPE, + ACTIONS(2899), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2644), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32089] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2612), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2614), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32148] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2628), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2630), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32207] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2490), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2492), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [32264] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_EQ, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(2895), 1, + anon_sym_AMP_AMP, + ACTIONS(2897), 1, + anon_sym_PIPE, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32343] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2526), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32412] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2524), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2526), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32473] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2558), 1, + anon_sym_EQ, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(2893), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2895), 1, + anon_sym_AMP_AMP, + ACTIONS(2897), 1, + anon_sym_PIPE, + ACTIONS(2899), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2560), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32556] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_EQ, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(2897), 1, + anon_sym_PIPE, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2526), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32633] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2672), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2674), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32692] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2604), 1, + anon_sym_EQ, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2879), 1, + anon_sym_CARET, + ACTIONS(2881), 1, + anon_sym_AMP, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(2893), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2895), 1, + anon_sym_AMP_AMP, + ACTIONS(2897), 1, + anon_sym_PIPE, + ACTIONS(2899), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2875), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2883), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2885), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2887), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2889), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2877), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2606), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32775] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2608), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(2610), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [32834] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2470), 1, + anon_sym_EQ, + ACTIONS(2472), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(1684), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [32884] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2361), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2363), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [32930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2903), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2901), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [32976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2349), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2351), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2353), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2355), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33068] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2684), 1, + anon_sym_LPAREN2, + ACTIONS(2905), 1, + anon_sym_COMMA, + ACTIONS(2908), 1, + anon_sym_RPAREN, + STATE(772), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1577), 1, + aux_sym__old_style_parameter_list_repeat1, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1697), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1682), 26, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [33126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2357), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2359), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1180), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1182), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33217] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1192), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1194), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33262] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1116), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1118), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1116), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1118), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1192), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1194), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33397] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2684), 1, + anon_sym_LPAREN2, + STATE(772), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2911), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(1697), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1682), 26, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [33450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1144), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1146), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33495] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1144), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1146), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1108), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1110), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33585] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2917), 1, + anon_sym_LPAREN2, + ACTIONS(2921), 1, + anon_sym_LBRACK, + STATE(772), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2914), 2, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + ACTIONS(1695), 3, + anon_sym_COMMA, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(1697), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1682), 25, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + [33640] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1108), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1110), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33685] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_EQ, + ACTIONS(2924), 1, + anon_sym_SEMI, + ACTIONS(1703), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1690), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1684), 13, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [33736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1152), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + ACTIONS(1154), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [33781] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1307), 1, + sym__declarator, + STATE(1461), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2926), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [33855] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1314), 1, + sym__declarator, + STATE(1464), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2761), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [33929] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1347), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1099), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [34002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1108), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1146), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1144), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34088] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2934), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2932), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1192), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34174] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1346), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(959), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1094), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [34247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1146), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1144), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34290] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2936), 1, + anon_sym_typedef, + ACTIONS(2371), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2369), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1182), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1180), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1192), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34421] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1314), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(962), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1078), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [34492] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1108), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34535] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1314), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1078), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [34606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2942), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2825), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34649] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1118), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1116), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34692] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2944), 1, + anon_sym_typedef, + ACTIONS(2371), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2369), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34737] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2946), 1, + anon_sym_typedef, + ACTIONS(2371), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2369), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1118), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1116), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34825] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1345), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(938), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1082), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [34898] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2950), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(2948), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34941] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2952), 1, + anon_sym_typedef, + ACTIONS(2371), 2, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2369), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [34986] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1345), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1082), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [35059] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1154), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(1152), 32, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [35102] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1306), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1102), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [35173] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1307), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2747), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1104), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2745), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [35244] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2960), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2962), 1, + anon_sym_AMP_AMP, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + ACTIONS(2978), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2642), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2644), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [35322] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2968), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + sym__identifier, + ACTIONS(2526), 10, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + sym_grit_metavariable, + [35390] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2960), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2962), 1, + anon_sym_AMP_AMP, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + ACTIONS(2978), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2604), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2606), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [35468] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 4, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + sym__identifier, + ACTIONS(2526), 10, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + sym_grit_metavariable, + [35534] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 4, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + sym__identifier, + ACTIONS(2526), 12, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + sym_grit_metavariable, + [35598] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 8, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + sym__identifier, + ACTIONS(2526), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + sym_grit_metavariable, + [35654] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2745), 1, + sym_ms_restrict_modifier, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1474), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2982), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2984), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(972), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1107), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2743), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [35726] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2962), 1, + anon_sym_AMP_AMP, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2524), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 8, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + sym_grit_metavariable, + [35800] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 3, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + sym__identifier, + ACTIONS(2526), 9, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + sym_grit_metavariable, + [35870] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2745), 1, + sym_ms_restrict_modifier, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1464), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2982), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2984), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1112), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2761), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [35942] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2960), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2962), 1, + anon_sym_AMP_AMP, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + ACTIONS(2978), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2558), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2560), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [36020] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2524), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 9, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + sym_grit_metavariable, + [36092] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 6, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + sym__identifier, + ACTIONS(2526), 14, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + sym_grit_metavariable, + [36152] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 6, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + sym__identifier, + ACTIONS(2526), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + sym_grit_metavariable, + [36210] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_SLASH, + ACTIONS(2960), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2962), 1, + anon_sym_AMP_AMP, + ACTIONS(2964), 1, + anon_sym_PIPE, + ACTIONS(2966), 1, + anon_sym_CARET, + ACTIONS(2968), 1, + anon_sym_AMP, + ACTIONS(2978), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2498), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2954), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2956), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2970), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2974), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2976), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2988), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(2990), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [36288] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1263), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36357] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1238), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36426] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1236), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36495] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1234), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36564] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1257), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36633] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1640), 1, + anon_sym_enum, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1113), 1, + sym_type_specifier, + STATE(1894), 1, + sym_type_descriptor, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(998), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36702] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1264), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36771] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1266), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36840] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1640), 1, + anon_sym_enum, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1113), 1, + sym_type_specifier, + STATE(1972), 1, + sym_type_descriptor, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(998), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36909] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1121), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + STATE(1237), 1, + sym__type_definition_type, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(994), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [36978] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2998), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1113), 1, + sym_type_specifier, + STATE(2014), 1, + sym_type_descriptor, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(996), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37047] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2998), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1113), 1, + sym_type_specifier, + STATE(1946), 1, + sym_type_descriptor, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(996), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37116] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1640), 1, + anon_sym_enum, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1113), 1, + sym_type_specifier, + STATE(1967), 1, + sym_type_descriptor, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(998), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37185] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(1015), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(3007), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(3004), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3002), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(3000), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [37234] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2606), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [37308] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [37362] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_struct, + ACTIONS(57), 1, + anon_sym_union, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2994), 1, + sym_primitive_type, + ACTIONS(2996), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1154), 1, + sym_type_specifier, + STATE(1167), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1178), 1, + sym_identifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2992), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37428] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1354), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37494] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2998), 1, + anon_sym_enum, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1111), 1, + sym_type_specifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37560] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1361), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37626] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(51), 1, + sym_primitive_type, + ACTIONS(1640), 1, + anon_sym_enum, + ACTIONS(1642), 1, + anon_sym_struct, + ACTIONS(1644), 1, + anon_sym_union, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(716), 1, + sym_alignas_qualifier, + STATE(793), 1, + sym_identifier, + STATE(1109), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1111), 1, + sym_type_specifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1638), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(792), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37692] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [37762] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1356), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [37828] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [37896] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2560), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [37970] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2644), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [38044] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_PIPE, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38112] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_PIPE, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3024), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38178] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38234] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38292] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38354] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2526), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [38418] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3036), 11, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3038), 20, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + [38457] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3040), 11, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3042), 20, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + [38496] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3044), 11, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3046), 20, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + [38535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3048), 11, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3050), 20, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + [38574] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(3059), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3054), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(3056), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + ACTIONS(3052), 10, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym__identifier, + [38621] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3064), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(3062), 23, + anon_sym___extension__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [38659] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3068), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [38733] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3072), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(3070), 23, + anon_sym___extension__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [38771] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3076), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + STATE(1630), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [38846] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3078), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + STATE(1642), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [38921] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2804), 1, + anon_sym_LBRACE, + ACTIONS(3080), 1, + anon_sym_COLON, + STATE(750), 1, + sym_attribute_specifier, + STATE(1092), 1, + sym_enumerator_list, + ACTIONS(2799), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + sym_grit_metavariable, + ACTIONS(2797), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [38968] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3082), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + STATE(1623), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39043] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3084), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + STATE(1725), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39118] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3086), 1, + anon_sym_COMMA, + ACTIONS(3088), 1, + anon_sym_RBRACE, + STATE(671), 1, + sym_argument_list, + STATE(1717), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39193] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(2804), 1, + anon_sym_LBRACE, + STATE(753), 1, + sym_attribute_specifier, + STATE(1074), 1, + sym_enumerator_list, + ACTIONS(2834), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2832), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [39238] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3090), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [39309] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3092), 1, + anon_sym_COMMA, + ACTIONS(3094), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + STATE(1673), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39384] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [39440] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3104), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39512] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3106), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [39582] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3108), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39654] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + [39706] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3110), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [39778] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + [39846] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [39912] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_PIPE, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [39978] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2524), 1, + anon_sym_PIPE, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3118), 1, + anon_sym_AMP, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [40042] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3126), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40114] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3128), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40186] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3130), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40258] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3132), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40330] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3134), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40402] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [40464] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3136), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40536] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3138), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40608] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3140), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40680] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3142), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40752] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3144), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40824] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2524), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2526), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [40884] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3146), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [40956] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3148), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [41028] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2524), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2526), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + [41082] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3150), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [41154] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2644), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [41226] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3156), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41296] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + ACTIONS(3158), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(3160), 1, + anon_sym_RBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [41370] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3162), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [41442] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3164), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [41514] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3166), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [41584] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3168), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [41654] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3170), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [41724] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3172), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [41796] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3174), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41866] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3176), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41936] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2606), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [42008] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3178), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42080] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3180), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42152] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3182), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42224] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3184), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42296] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3186), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42368] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3188), 1, + anon_sym_SEMI, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42440] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3066), 1, + anon_sym_COMMA, + ACTIONS(3190), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42512] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2771), 1, + anon_sym_DASH_GT, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(2891), 1, + anon_sym_DOT, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2560), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [42584] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2990), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42654] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(794), 1, + sym_attribute_specifier, + ACTIONS(2861), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2859), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [42693] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + ACTIONS(3192), 1, + anon_sym_RBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [42762] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2085), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [42831] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3194), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [42900] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1307), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [42955] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2071), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43024] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3196), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43093] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3198), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43162] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1347), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [43219] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2073), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43288] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2067), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43357] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(751), 1, + sym_attribute_specifier, + ACTIONS(2846), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2844), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [43396] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3200), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43465] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3202), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43534] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2069), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43603] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3204), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43672] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + ACTIONS(3206), 1, + anon_sym_RBRACK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43741] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2079), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [43810] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + STATE(791), 1, + sym_attribute_specifier, + ACTIONS(2868), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(2866), 18, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [43849] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3208), 1, + anon_sym_COLON, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43918] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1345), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [43975] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3210), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44044] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [44113] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3212), 1, + anon_sym_COMMA, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44182] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2075), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [44251] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1344), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44308] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2083), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [44377] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + ACTIONS(3214), 1, + anon_sym_RPAREN, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44446] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1314), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44501] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2081), 1, + anon_sym_RBRACK, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(2873), 1, + anon_sym_LPAREN2, + ACTIONS(3100), 1, + anon_sym_SLASH, + ACTIONS(3112), 1, + anon_sym_AMP_AMP, + ACTIONS(3114), 1, + anon_sym_PIPE, + ACTIONS(3116), 1, + anon_sym_CARET, + ACTIONS(3118), 1, + anon_sym_AMP, + ACTIONS(3152), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3154), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3096), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3098), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3102), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3120), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3122), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3124), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [44570] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1323), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44625] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1465), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3216), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44679] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1458), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3218), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44733] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1464), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2761), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44787] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(2496), 1, + anon_sym_LBRACK, + ACTIONS(3014), 1, + anon_sym_SLASH, + ACTIONS(3016), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3018), 1, + anon_sym_AMP_AMP, + ACTIONS(3020), 1, + anon_sym_PIPE, + ACTIONS(3022), 1, + anon_sym_CARET, + ACTIONS(3024), 1, + anon_sym_AMP, + ACTIONS(3034), 1, + anon_sym_QMARK, + STATE(671), 1, + sym_argument_list, + ACTIONS(2528), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2771), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3010), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3012), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3026), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3028), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3030), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3032), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44853] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2442), 1, + sym_primitive_type, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(762), 1, + sym_identifier, + STATE(1116), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3220), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2436), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2438), 11, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + [44899] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_SEMI, + ACTIONS(1690), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1684), 18, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [44935] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1471), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1106), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3222), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [44989] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1461), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2926), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [45043] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_const, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(716), 1, + sym_alignas_qualifier, + STATE(1453), 1, + sym__abstract_declarator, + STATE(1499), 1, + sym_parameter_list, + ACTIONS(2986), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1105), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3224), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(2980), 8, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [45097] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3226), 1, + anon_sym_RPAREN, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1192), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45150] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + ACTIONS(3242), 1, + anon_sym_RPAREN, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1189), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45203] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + sym_grit_metavariable, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2455), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(2459), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2589), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2586), 11, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + [45244] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1274), 1, + sym_ms_call_modifier, + STATE(1427), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [45299] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + ACTIONS(3244), 1, + anon_sym_RPAREN, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1191), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45352] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1270), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45402] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1223), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45452] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1153), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3264), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3262), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [45492] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1259), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45542] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1265), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45592] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1249), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45642] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1251), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45692] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3268), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3266), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [45732] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1212), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45782] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(647), 1, + sym__old_style_function_declarator, + STATE(1293), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1355), 1, + sym__declarator, + STATE(1475), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1576), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [45840] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1252), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45890] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1269), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45940] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1235), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [45990] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1256), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46040] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1248), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46090] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1242), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46140] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1250), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46190] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1267), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46240] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1231), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46290] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(628), 1, + sym__old_style_function_declarator, + STATE(1295), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1357), 1, + sym__declarator, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1602), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [46348] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1201), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46398] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1226), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46448] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1233), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46498] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1221), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46548] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1222), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46598] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1227), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46648] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1220), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46698] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1262), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46748] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1216), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46798] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1202), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46848] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1213), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46898] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1211), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46948] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1254), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [46998] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1208), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47048] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3272), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3270), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [47088] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(716), 1, + sym_alignas_qualifier, + ACTIONS(49), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1126), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3276), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3274), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(47), 9, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + [47128] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1253), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47178] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1207), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47228] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1246), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47278] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(655), 1, + sym__old_style_function_declarator, + STATE(1290), 1, + sym_ms_call_modifier, + STATE(1350), 1, + sym__declarator, + STATE(1353), 1, + sym_function_declarator, + STATE(1451), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1723), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47336] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1239), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47386] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1244), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47436] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(3228), 1, + anon_sym_LPAREN2, + ACTIONS(3230), 1, + anon_sym_defined, + ACTIONS(3236), 1, + sym__number_literal, + ACTIONS(3240), 1, + sym_grit_metavariable, + STATE(1185), 1, + sym_identifier, + STATE(1219), 1, + sym__char_literal, + ACTIONS(3232), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3234), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3238), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1247), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47486] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1243), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47536] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1240), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47586] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(635), 1, + sym__old_style_function_declarator, + STATE(1296), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1365), 1, + sym__declarator, + STATE(1470), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47644] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(3248), 1, + anon_sym_LPAREN2, + ACTIONS(3250), 1, + anon_sym_defined, + ACTIONS(3256), 1, + sym__number_literal, + ACTIONS(3260), 1, + sym_grit_metavariable, + STATE(1197), 1, + sym_identifier, + STATE(1228), 1, + sym__char_literal, + ACTIONS(3252), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3254), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3258), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1268), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [47694] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1289), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1602), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47749] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2433), 1, + sym__identifier, + ACTIONS(2444), 1, + sym_grit_metavariable, + ACTIONS(3281), 1, + sym_primitive_type, + STATE(1181), 1, + sym_identifier, + STATE(1183), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2436), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3278), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2438), 12, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + [47792] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1294), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1475), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1576), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47847] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1297), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1470), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47902] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1290), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1376), 1, + sym__declarator, + STATE(1451), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1723), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [47957] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1287), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1459), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1707), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48012] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1292), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1451), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1723), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48067] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1298), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1505), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1734), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48122] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1293), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1385), 1, + sym__declarator, + STATE(1475), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1576), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48177] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1295), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1371), 1, + sym__declarator, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1602), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48232] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1291), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1433), 1, + sym__declarator, + STATE(1455), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1644), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48287] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1296), 1, + sym_ms_call_modifier, + STATE(1353), 1, + sym_function_declarator, + STATE(1377), 1, + sym__declarator, + STATE(1470), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [48342] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2684), 1, + anon_sym_LPAREN2, + STATE(1182), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1695), 2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3284), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1682), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48378] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1184), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2668), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3287), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2666), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48412] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1187), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2600), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3290), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2598), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48446] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1188), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2594), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3293), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2592), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48480] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2638), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3296), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2636), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48514] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2589), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3299), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2586), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48548] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2660), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3303), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2658), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48582] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3308), 1, + anon_sym_LPAREN2, + STATE(1013), 1, + sym_preproc_argument_list, + ACTIONS(3310), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3306), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48616] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1403), 1, + sym__declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1502), 1, + sym__abstract_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(3312), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [48668] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2697), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3314), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2695), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48702] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(737), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2693), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + sym_grit_metavariable, + ACTIONS(3317), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2691), 14, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + [48736] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(3322), 1, + anon_sym_RPAREN, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + STATE(1660), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48791] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(644), 1, + sym__old_style_function_declarator, + STATE(1319), 1, + sym_ms_call_modifier, + STATE(1381), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [48838] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3348), 1, + anon_sym_RPAREN, + STATE(1708), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48893] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3350), 1, + anon_sym_RPAREN, + STATE(1629), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48948] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(653), 1, + sym__old_style_function_declarator, + STATE(1316), 1, + sym_ms_call_modifier, + STATE(1380), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [48995] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(656), 1, + sym__old_style_function_declarator, + STATE(1315), 1, + sym_ms_call_modifier, + STATE(1379), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49042] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1092), 1, + anon_sym_LPAREN2, + ACTIONS(3356), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3352), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49073] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(650), 1, + sym__old_style_function_declarator, + STATE(1324), 1, + sym_ms_call_modifier, + STATE(1372), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49120] = 5, + ACTIONS(3306), 1, + anon_sym_LF, + ACTIONS(3360), 1, + anon_sym_LPAREN2, + ACTIONS(3362), 1, + sym_comment, + STATE(1258), 1, + sym_preproc_argument_list, + ACTIONS(3310), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49153] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1309), 1, + sym_ms_call_modifier, + STATE(1426), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49197] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3364), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2317), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2319), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49253] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3368), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49281] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3370), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3368), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3374), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3372), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49341] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1804), 1, + anon_sym_LPAREN2, + ACTIONS(1806), 1, + anon_sym_STAR, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2749), 1, + anon_sym_LBRACK, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1438), 1, + sym__declarator, + STATE(1499), 1, + sym_parameter_list, + STATE(1535), 1, + sym__abstract_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49389] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2323), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49417] = 3, + ACTIONS(1092), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(1090), 19, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49445] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3368), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [49491] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3370), 1, + anon_sym_PIPE, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3368), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [49537] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1324), 1, + sym_ms_call_modifier, + STATE(1408), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49581] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(1322), 1, + sym_ms_call_modifier, + STATE(1389), 1, + sym_identifier, + STATE(1417), 1, + sym__field_declarator, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [49627] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3368), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [49675] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3378), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3376), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49703] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3370), 1, + anon_sym_PIPE, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3368), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [49747] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3382), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3380), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49775] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1316), 1, + sym_ms_call_modifier, + STATE(1401), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49819] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3370), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3368), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [49861] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1319), 1, + sym_ms_call_modifier, + STATE(1411), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [49905] = 4, + ACTIONS(1090), 1, + anon_sym_LPAREN2, + ACTIONS(3352), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3356), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2341), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2343), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [49963] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3370), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3368), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [50003] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3384), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [50053] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3370), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3368), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [50089] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3370), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3368), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50123] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1315), 1, + sym_ms_call_modifier, + STATE(1399), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [50167] = 3, + ACTIONS(2319), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(2317), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50194] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3386), 1, + anon_sym_LF, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50239] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3408), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50284] = 3, + ACTIONS(2343), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(2341), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50311] = 3, + ACTIONS(3042), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3040), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50338] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3372), 1, + anon_sym_LF, + ACTIONS(3374), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50365] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3370), 13, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50396] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2797), 1, + anon_sym_const, + ACTIONS(2804), 1, + anon_sym_LBRACE, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(3412), 1, + anon_sym_COLON, + STATE(750), 1, + sym_attribute_specifier, + STATE(1092), 1, + sym_enumerator_list, + ACTIONS(2799), 13, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_alignas, + anon_sym__Alignas, + [50433] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3415), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50478] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1569), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [50525] = 11, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3370), 2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50568] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1547), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [50615] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1557), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [50662] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1530), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [50709] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3417), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50754] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3419), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50799] = 3, + ACTIONS(2323), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(2321), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50826] = 8, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(3370), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [50863] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3421), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [50908] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3376), 1, + anon_sym_LF, + ACTIONS(3378), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50935] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3364), 1, + anon_sym_LF, + ACTIONS(3366), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50962] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3423), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51007] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3425), 1, + anon_sym_RPAREN, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51056] = 9, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3370), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51095] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3370), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51140] = 7, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(3370), 7, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [51175] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3427), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51220] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3429), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51265] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3328), 1, + anon_sym_SLASH, + ACTIONS(3330), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3332), 1, + anon_sym_AMP_AMP, + ACTIONS(3334), 1, + anon_sym_PIPE, + ACTIONS(3336), 1, + anon_sym_CARET, + ACTIONS(3338), 1, + anon_sym_AMP, + ACTIONS(3431), 1, + anon_sym_RPAREN, + ACTIONS(3324), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3326), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3340), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3342), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3344), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3346), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51314] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3433), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51359] = 3, + ACTIONS(3038), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3036), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51386] = 10, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3370), 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51427] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1513), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [51474] = 3, + ACTIONS(3050), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3048), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51501] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3370), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51530] = 3, + ACTIONS(3046), 1, + anon_sym_LF, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3044), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51557] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3380), 1, + anon_sym_LF, + ACTIONS(3382), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51584] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3435), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51629] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1543), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [51676] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1510), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [51723] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3370), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [51750] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1362), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1534), 1, + sym__type_definition_declarators, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [51797] = 6, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3368), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3370), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51830] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3437), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51875] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3439), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51920] = 12, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3392), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3394), 1, + anon_sym_AMP_AMP, + ACTIONS(3396), 1, + anon_sym_PIPE, + ACTIONS(3398), 1, + anon_sym_CARET, + ACTIONS(3400), 1, + anon_sym_AMP, + ACTIONS(3441), 1, + anon_sym_LF, + ACTIONS(3388), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3402), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3406), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3390), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3404), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [51965] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3447), 1, + anon_sym_LBRACK, + STATE(1283), 1, + sym_gnu_asm_expression, + STATE(1302), 1, + sym_identifier, + STATE(1338), 1, + sym_attribute_specifier, + STATE(1449), 1, + aux_sym_type_definition_repeat1, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(3443), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(1284), 2, + sym_preproc_call_expression, + aux_sym_function_declarator_repeat1, + ACTIONS(3445), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52011] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1378), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [52055] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3447), 1, + anon_sym_LBRACK, + STATE(1277), 1, + sym_gnu_asm_expression, + STATE(1302), 1, + sym_identifier, + ACTIONS(91), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(1284), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3445), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52095] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + sym_primitive_type, + STATE(1435), 1, + sym__type_declarator, + STATE(1443), 1, + sym_identifier, + STATE(1891), 1, + sym_ms_based_modifier, + ACTIONS(2855), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1447), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [52139] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1302), 1, + sym_identifier, + ACTIONS(3451), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + STATE(1279), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3449), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52174] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + ACTIONS(3453), 1, + anon_sym_SEMI, + STATE(1334), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1647), 1, + sym__field_declaration_declarator, + STATE(1953), 1, + sym_attribute_specifier, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [52221] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1302), 1, + sym_identifier, + ACTIONS(3457), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + STATE(1275), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3455), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52256] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3459), 1, + aux_sym_preproc_if_token2, + ACTIONS(3461), 1, + aux_sym_preproc_else_token1, + ACTIONS(3463), 1, + aux_sym_preproc_elif_token1, + STATE(1310), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1313), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1373), 1, + sym_identifier, + STATE(1407), 1, + sym_enumerator, + ACTIONS(3465), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1904), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1908), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [52301] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 1, + sym__identifier, + ACTIONS(3472), 1, + anon_sym___attribute__, + ACTIONS(3477), 1, + sym_grit_metavariable, + STATE(1302), 1, + sym_identifier, + ACTIONS(3475), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + STATE(1279), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3470), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52336] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + ACTIONS(3480), 1, + anon_sym_SEMI, + STATE(1334), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1608), 1, + sym__field_declaration_declarator, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1999), 1, + sym_attribute_specifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [52383] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3461), 1, + aux_sym_preproc_else_token1, + ACTIONS(3463), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3482), 1, + aux_sym_preproc_if_token2, + STATE(1311), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1312), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1373), 1, + sym_identifier, + STATE(1407), 1, + sym_enumerator, + ACTIONS(3465), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1874), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + STATE(1875), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [52428] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3461), 1, + aux_sym_preproc_else_token1, + ACTIONS(3463), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3484), 1, + aux_sym_preproc_if_token2, + STATE(1330), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1331), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1373), 1, + sym_identifier, + STATE(1407), 1, + sym_enumerator, + ACTIONS(3465), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1859), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1860), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [52473] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3457), 1, + anon_sym_LBRACK, + STATE(1302), 1, + sym_identifier, + STATE(1338), 1, + sym_attribute_specifier, + STATE(1450), 1, + aux_sym_type_definition_repeat1, + ACTIONS(3486), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(3488), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(1275), 2, + sym_preproc_call_expression, + aux_sym_function_declarator_repeat1, + ACTIONS(3455), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52516] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1302), 1, + sym_identifier, + ACTIONS(3457), 3, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + STATE(1279), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3455), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [52551] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + ACTIONS(3490), 1, + anon_sym_SEMI, + STATE(1334), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1638), 1, + sym__field_declaration_declarator, + STATE(1989), 1, + sym_attribute_specifier, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [52598] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3461), 1, + aux_sym_preproc_else_token1, + ACTIONS(3463), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3492), 1, + aux_sym_preproc_if_token2, + STATE(1318), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1320), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1373), 1, + sym_identifier, + STATE(1407), 1, + sym_enumerator, + ACTIONS(3465), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1886), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1892), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [52643] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1472), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52684] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3494), 1, + aux_sym_preproc_if_token1, + ACTIONS(3498), 1, + anon_sym_RBRACE, + STATE(1681), 1, + sym_identifier, + ACTIONS(3496), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1803), 2, + sym_preproc_call, + sym_enumerator, + STATE(2004), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(1317), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [52723] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1469), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52764] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1409), 1, + sym__declarator, + STATE(1466), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52805] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1460), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52846] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1466), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52887] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1410), 1, + sym__declarator, + STATE(1467), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52928] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1467), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [52969] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1404), 1, + sym__declarator, + STATE(1469), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [53010] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1387), 1, + sym__declarator, + STATE(1452), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [53051] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1452), 1, + sym__declaration_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [53092] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1353), 1, + sym_function_declarator, + STATE(1457), 1, + sym__declarator, + STATE(1506), 1, + sym__declaration_declarator, + STATE(1544), 1, + sym__function_declaration_declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1382), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_identifier, + [53133] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3494), 1, + aux_sym_preproc_if_token1, + ACTIONS(3500), 1, + anon_sym_RBRACE, + STATE(1681), 1, + sym_identifier, + ACTIONS(3496), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1742), 2, + sym_preproc_call, + sym_enumerator, + STATE(1911), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(1288), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [53172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3502), 5, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3504), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + [53194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2830), 5, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(2823), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + [53216] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3308), 1, + anon_sym_LPAREN2, + STATE(1013), 1, + sym_preproc_argument_list, + ACTIONS(3506), 5, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(3508), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + [53242] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3512), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3515), 1, + anon_sym_LBRACK, + STATE(1303), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3510), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [53268] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2818), 5, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + ACTIONS(2811), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + [53290] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(3519), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(1391), 1, + sym_identifier, + ACTIONS(3517), 2, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1526), 2, + sym__string, + sym_concatenated_string, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [53324] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3521), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [53353] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3527), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [53382] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(1348), 1, + sym__field_declarator, + STATE(1389), 1, + sym_identifier, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [53417] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1438), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [53450] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3529), 1, + aux_sym_preproc_if_token2, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1943), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [53485] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3537), 1, + aux_sym_preproc_if_token2, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1853), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [53522] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3545), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1858), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [53557] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3547), 1, + aux_sym_preproc_if_token2, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1941), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [53594] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3549), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [53623] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1390), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [53656] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1386), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [53689] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3551), 1, + sym__identifier, + ACTIONS(3554), 1, + aux_sym_preproc_if_token1, + ACTIONS(3560), 1, + sym_preproc_directive, + ACTIONS(3563), 1, + anon_sym_RBRACE, + ACTIONS(3565), 1, + sym_grit_metavariable, + STATE(1681), 1, + sym_identifier, + ACTIONS(3557), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1907), 2, + sym_preproc_call, + sym_enumerator, + STATE(1317), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [53724] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3568), 1, + aux_sym_preproc_if_token2, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1838), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [53761] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1397), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [53794] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3570), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1826), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [53829] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3572), 1, + aux_sym_preproc_if_token2, + STATE(1318), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1886), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [53866] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2928), 1, + anon_sym_LPAREN2, + ACTIONS(2930), 1, + anon_sym_STAR, + STATE(1389), 1, + sym_identifier, + STATE(1428), 1, + sym__field_declarator, + STATE(1997), 1, + sym_ms_based_modifier, + STATE(1405), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [53901] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3574), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [53930] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1808), 1, + anon_sym___based, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2938), 1, + anon_sym_LPAREN2, + ACTIONS(2940), 1, + anon_sym_STAR, + STATE(1395), 1, + sym__declarator, + STATE(1839), 1, + sym_ms_based_modifier, + STATE(1353), 6, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_identifier, + [53963] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3459), 1, + aux_sym_preproc_if_token2, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + STATE(1313), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1904), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [54000] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3576), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1310), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1908), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [54035] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3578), 1, + aux_sym_preproc_if_token2, + STATE(1311), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1875), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [54072] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3580), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1330), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1860), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [54107] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3484), 1, + aux_sym_preproc_if_token2, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + STATE(1331), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1859), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [54144] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3531), 1, + aux_sym_preproc_else_token1, + ACTIONS(3533), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3582), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + ACTIONS(3535), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1920), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [54179] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3539), 1, + aux_sym_preproc_else_token1, + ACTIONS(3541), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3584), 1, + aux_sym_preproc_if_token2, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3543), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1918), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [54216] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3586), 1, + sym__identifier, + ACTIONS(3590), 1, + sym_system_lib_string, + ACTIONS(3592), 1, + sym_grit_metavariable, + STATE(1689), 1, + sym_identifier, + STATE(1993), 1, + sym__string_literal, + STATE(1912), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3588), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54246] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3586), 1, + sym__identifier, + ACTIONS(3592), 1, + sym_grit_metavariable, + ACTIONS(3594), 1, + sym_system_lib_string, + STATE(1613), 1, + sym_identifier, + STATE(1993), 1, + sym__string_literal, + STATE(1985), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3588), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54276] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3596), 1, + anon_sym_COMMA, + ACTIONS(3600), 1, + anon_sym_LBRACK, + ACTIONS(3602), 1, + anon_sym_COLON, + STATE(1392), 1, + sym_parameter_list, + STATE(1520), 1, + sym_bitfield_clause, + STATE(1529), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(3598), 2, + anon_sym_SEMI, + anon_sym___attribute__, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [54312] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3586), 1, + sym__identifier, + ACTIONS(3592), 1, + sym_grit_metavariable, + ACTIONS(3604), 1, + sym_system_lib_string, + STATE(1581), 1, + sym_identifier, + STATE(1993), 1, + sym__string_literal, + STATE(1896), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3588), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54342] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3586), 1, + sym__identifier, + ACTIONS(3592), 1, + sym_grit_metavariable, + ACTIONS(3606), 1, + sym_system_lib_string, + STATE(1691), 1, + sym_identifier, + STATE(1993), 1, + sym__string_literal, + STATE(1857), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3588), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54372] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(3519), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(1391), 1, + sym_identifier, + STATE(1646), 2, + sym__string, + sym_concatenated_string, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54402] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 1, + anon_sym___attribute__, + ACTIONS(3506), 2, + anon_sym_LBRACK, + sym__identifier, + ACTIONS(3608), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(3613), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(3508), 5, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + [54428] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(3519), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(1391), 1, + sym_identifier, + STATE(1636), 2, + sym__string, + sym_concatenated_string, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54458] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3617), 1, + anon_sym_LBRACK, + STATE(1303), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3615), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [54482] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(3621), 1, + anon_sym_LBRACK, + STATE(624), 1, + sym__string_literal, + STATE(1567), 1, + sym_gnu_asm_output_operand, + STATE(2015), 1, + sym_string_literal, + ACTIONS(3619), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54512] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(3625), 1, + anon_sym_LBRACK, + STATE(624), 1, + sym__string_literal, + STATE(1571), 1, + sym_gnu_asm_input_operand, + STATE(1832), 1, + sym_string_literal, + ACTIONS(3623), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54542] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(3519), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(660), 1, + sym_string_literal, + STATE(1391), 1, + sym_identifier, + STATE(1615), 2, + sym__string, + sym_concatenated_string, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54572] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3627), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [54599] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3629), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [54626] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3631), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [54653] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3633), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [54680] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + ACTIONS(3602), 1, + anon_sym_COLON, + STATE(1392), 1, + sym_parameter_list, + STATE(1727), 1, + sym_bitfield_clause, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3635), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [54711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3639), 1, + anon_sym_LBRACK, + ACTIONS(3637), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [54729] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(342), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [54761] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3647), 1, + anon_sym_LBRACK, + ACTIONS(3645), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [54779] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(3621), 1, + anon_sym_LBRACK, + STATE(624), 1, + sym__string_literal, + STATE(1711), 1, + sym_gnu_asm_output_operand, + STATE(2015), 1, + sym_string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [54805] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3651), 1, + anon_sym_LBRACK, + ACTIONS(3649), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [54823] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3653), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [54849] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(365), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [54881] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3657), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [54907] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(305), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [54939] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1953), 1, + sym__identifier, + ACTIONS(2134), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(1749), 6, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + [54959] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3659), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [54985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3663), 1, + anon_sym_LBRACK, + ACTIONS(3661), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [55003] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3665), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [55029] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + ACTIONS(3667), 1, + anon_sym_COMMA, + STATE(1431), 1, + sym_parameter_list, + STATE(1545), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(3669), 2, + anon_sym_SEMI, + anon_sym___attribute__, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55059] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3673), 1, + anon_sym_LBRACK, + ACTIONS(3671), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [55077] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3675), 1, + sym__identifier, + ACTIONS(3680), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3682), 1, + sym_grit_metavariable, + STATE(1373), 1, + sym_identifier, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + ACTIONS(3678), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [55103] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(132), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3687), 1, + anon_sym_LBRACK, + ACTIONS(3685), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [55153] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3691), 1, + anon_sym_LBRACK, + STATE(1303), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3689), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [55175] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3695), 1, + anon_sym_LBRACK, + ACTIONS(3693), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [55193] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + ACTIONS(3625), 1, + anon_sym_LBRACK, + STATE(624), 1, + sym__string_literal, + STATE(1667), 1, + sym_gnu_asm_input_operand, + STATE(1832), 1, + sym_string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [55219] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3697), 1, + sym__identifier, + ACTIONS(3702), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3704), 1, + sym_grit_metavariable, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + ACTIONS(3700), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [55247] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(305), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55276] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + STATE(314), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55305] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3711), 1, + anon_sym_EQ, + ACTIONS(3707), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(3709), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [55324] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1888), 1, + anon_sym_LPAREN2, + ACTIONS(1890), 1, + anon_sym_STAR, + ACTIONS(2749), 1, + anon_sym_LBRACK, + STATE(1499), 1, + sym_parameter_list, + STATE(1535), 1, + sym__abstract_declarator, + STATE(1498), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [55349] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(712), 1, + sym_identifier, + STATE(743), 1, + sym_field_declaration_list, + STATE(1444), 1, + sym_attribute_specifier, + STATE(1504), 1, + sym_ms_declspec_modifier, + [55380] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(342), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55409] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(132), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55438] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3713), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [55463] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + STATE(375), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55492] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + STATE(136), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55521] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3641), 1, + anon_sym_LPAREN2, + STATE(340), 1, + sym_compound_statement, + STATE(941), 1, + sym__old_style_parameter_list, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55550] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3651), 1, + anon_sym_LBRACK, + ACTIONS(3649), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3715), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [55569] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(712), 1, + sym_identifier, + STATE(743), 1, + sym_field_declaration_list, + STATE(1421), 1, + sym_attribute_specifier, + STATE(1484), 1, + sym_ms_declspec_modifier, + [55600] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3719), 1, + anon_sym_LBRACK, + STATE(1303), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3717), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + [55621] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(365), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55650] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(125), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55676] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(143), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55702] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 1, + anon_sym_LBRACK, + ACTIONS(3721), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3727), 1, + anon_sym_LBRACK, + ACTIONS(3725), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55734] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(382), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55760] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(622), 1, + sym_string_literal, + STATE(624), 1, + sym__string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [55780] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_LBRACK, + ACTIONS(3729), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3735), 1, + anon_sym_LBRACK, + ACTIONS(3733), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55812] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3739), 1, + anon_sym_LBRACK, + ACTIONS(3737), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55828] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(319), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3743), 1, + anon_sym_LBRACK, + ACTIONS(3741), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55870] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(345), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3747), 1, + anon_sym_LBRACK, + ACTIONS(3745), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55912] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(375), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55938] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3751), 1, + anon_sym_LBRACK, + ACTIONS(3749), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [55954] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(131), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(136), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [55980] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(1956), 1, + sym_string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [56000] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1273), 1, + sym_parameter_list, + ACTIONS(3753), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56024] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(326), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3757), 1, + anon_sym_LBRACK, + ACTIONS(3755), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [56066] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + sym_grit_metavariable, + STATE(624), 1, + sym__string_literal, + STATE(1931), 1, + sym_string_literal, + ACTIONS(97), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [56086] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3761), 1, + anon_sym_COMMA, + ACTIONS(3759), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(3763), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [56104] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(314), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56130] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(375), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(320), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56156] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(388), 1, + sym_compound_statement, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56182] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(427), 1, + anon_sym_LBRACE, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(340), 1, + sym_compound_statement, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56208] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3765), 1, + anon_sym_LBRACK, + ACTIONS(3768), 1, + anon_sym_EQ, + ACTIONS(3770), 1, + anon_sym_DOT, + STATE(1412), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [56227] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3775), 1, + anon_sym_LBRACK, + ACTIONS(3773), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3779), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3777), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56257] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3783), 1, + anon_sym___attribute__, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3781), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [56274] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3788), 1, + anon_sym_LBRACK, + ACTIONS(3786), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56289] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + ACTIONS(3790), 1, + anon_sym_RPAREN, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56312] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(715), 1, + sym_identifier, + STATE(731), 1, + sym_field_declaration_list, + STATE(1500), 1, + sym_ms_declspec_modifier, + [56337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3563), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3792), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3796), 1, + anon_sym_LBRACK, + ACTIONS(3794), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56367] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(711), 1, + sym_identifier, + STATE(741), 1, + sym_field_declaration_list, + STATE(1480), 1, + sym_ms_declspec_modifier, + [56392] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3800), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3798), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3804), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3802), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56422] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3808), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3806), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3812), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3810), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56452] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3814), 1, + anon_sym_RPAREN, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56475] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + ACTIONS(3816), 1, + anon_sym_RPAREN, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56498] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3600), 1, + anon_sym_LBRACK, + ACTIONS(3818), 1, + anon_sym_RPAREN, + STATE(1392), 1, + sym_parameter_list, + STATE(1367), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3822), 1, + anon_sym_LBRACK, + ACTIONS(3820), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56536] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3826), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3824), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3830), 1, + anon_sym_LBRACK, + ACTIONS(3828), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 1, + anon_sym_LBRACK, + ACTIONS(3832), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56581] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3643), 1, + anon_sym_EQ, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3838), 1, + anon_sym_LBRACK, + ACTIONS(3836), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56619] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3655), 1, + anon_sym_LBRACK, + ACTIONS(3840), 1, + anon_sym_RPAREN, + STATE(1431), 1, + sym_parameter_list, + STATE(1384), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56642] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3844), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3842), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56657] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3844), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3842), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56672] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + ACTIONS(3846), 1, + anon_sym_RPAREN, + STATE(1273), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56695] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3848), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + STATE(1407), 1, + sym_enumerator, + STATE(1463), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1476), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + [56720] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3804), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3802), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56735] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(715), 1, + sym_identifier, + STATE(731), 1, + sym_field_declaration_list, + STATE(1492), 1, + sym_ms_declspec_modifier, + [56760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(3850), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [56775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_LBRACK, + ACTIONS(3854), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56790] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(711), 1, + sym_identifier, + STATE(741), 1, + sym_field_declaration_list, + STATE(1490), 1, + sym_ms_declspec_modifier, + [56815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3702), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(3700), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [56830] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1834), 1, + anon_sym_LBRACK, + ACTIONS(3858), 1, + anon_sym_EQ, + ACTIONS(3860), 1, + anon_sym_DOT, + STATE(1412), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [56849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3864), 1, + anon_sym_LBRACK, + ACTIONS(3862), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56864] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3868), 1, + anon_sym_LBRACK, + ACTIONS(3866), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [56879] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3486), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [56896] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3870), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [56913] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3874), 1, + anon_sym_SEMI, + STATE(1700), 1, + aux_sym_declaration_repeat1, + STATE(1701), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [56933] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3878), 1, + anon_sym_SEMI, + STATE(1653), 1, + sym_gnu_asm_expression, + STATE(1654), 1, + aux_sym_declaration_repeat1, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [56953] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3880), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [56971] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3884), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + STATE(1463), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [56991] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3886), 1, + anon_sym_SEMI, + STATE(1626), 1, + aux_sym_declaration_repeat1, + STATE(1627), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57011] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3848), 1, + aux_sym_preproc_if_token2, + STATE(1476), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + [57033] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3525), 1, + anon_sym_LBRACK, + STATE(1271), 1, + sym_parameter_list, + STATE(1340), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [57053] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3888), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57071] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3890), 1, + anon_sym_SEMI, + STATE(1722), 1, + aux_sym_declaration_repeat1, + STATE(1724), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57091] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3892), 1, + anon_sym_SEMI, + STATE(1609), 1, + aux_sym_declaration_repeat1, + STATE(1612), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57111] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3894), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57129] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3896), 1, + anon_sym_LPAREN2, + STATE(1462), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(3898), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [57145] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(3901), 1, + aux_sym_preproc_if_token2, + STATE(1373), 1, + sym_identifier, + STATE(1364), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [57165] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3903), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57183] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3905), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57201] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3907), 1, + anon_sym_SEMI, + STATE(1632), 1, + aux_sym_declaration_repeat1, + STATE(1633), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57221] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3909), 1, + anon_sym_SEMI, + STATE(1702), 1, + sym_gnu_asm_expression, + STATE(1703), 1, + aux_sym_declaration_repeat1, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57241] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3911), 1, + anon_sym_SEMI, + STATE(1597), 1, + aux_sym_declaration_repeat1, + STATE(1600), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57261] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3913), 1, + anon_sym_SEMI, + STATE(1589), 1, + aux_sym_declaration_repeat1, + STATE(1590), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57281] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3915), 1, + anon_sym_SEMI, + STATE(1618), 1, + sym_gnu_asm_expression, + STATE(1619), 1, + aux_sym_declaration_repeat1, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57301] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3917), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57319] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3919), 1, + anon_sym_SEMI, + STATE(1680), 1, + aux_sym_declaration_repeat1, + STATE(1685), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57339] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3921), 1, + anon_sym_LPAREN2, + STATE(1477), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(3923), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [57355] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3925), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [57373] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(3927), 1, + anon_sym_SEMI, + STATE(1594), 1, + aux_sym_declaration_repeat1, + STATE(1596), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + [57393] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3929), 1, + aux_sym_preproc_if_token2, + STATE(1370), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1681), 1, + sym_identifier, + STATE(1835), 1, + sym_enumerator, + [57415] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3931), 1, + anon_sym_LPAREN2, + STATE(1462), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(3923), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [57431] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3933), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57442] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3935), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(3937), 1, + anon_sym_RPAREN, + STATE(1598), 1, + sym_identifier, + [57461] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(713), 1, + sym_identifier, + STATE(733), 1, + sym_field_declaration_list, + [57480] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3939), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57491] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + ACTIONS(3943), 1, + anon_sym_COLON_COLON, + STATE(1740), 1, + sym_argument_list, + ACTIONS(3941), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [57508] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2804), 1, + anon_sym_LBRACE, + STATE(1085), 1, + sym_enumerator_list, + STATE(1232), 1, + sym_identifier, + [57527] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(711), 1, + sym_identifier, + STATE(741), 1, + sym_field_declaration_list, + [57546] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3945), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3947), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57568] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2804), 1, + anon_sym_LBRACE, + STATE(1020), 1, + sym_identifier, + STATE(1085), 1, + sym_enumerator_list, + [57587] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(1800), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1761), 2, + sym_variadic_parameter, + sym_identifier, + [57604] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3949), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57615] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(713), 1, + sym_identifier, + STATE(733), 1, + sym_field_declaration_list, + [57634] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2804), 1, + anon_sym_LBRACE, + STATE(833), 1, + sym_identifier, + STATE(860), 1, + sym_enumerator_list, + [57653] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2381), 1, + anon_sym_LBRACE, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(714), 1, + sym_identifier, + STATE(735), 1, + sym_field_declaration_list, + [57672] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3951), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57683] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(2804), 1, + anon_sym_LBRACE, + STATE(1020), 1, + sym_identifier, + STATE(1085), 1, + sym_enumerator_list, + [57702] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3953), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57713] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3955), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57724] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3957), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57735] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3959), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57746] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3961), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57757] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(714), 1, + sym_identifier, + STATE(735), 1, + sym_field_declaration_list, + [57776] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3963), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57787] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + STATE(1493), 1, + sym_parameter_list, + ACTIONS(3753), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [57804] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3965), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [57815] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(2381), 1, + anon_sym_LBRACE, + STATE(711), 1, + sym_identifier, + STATE(741), 1, + sym_field_declaration_list, + [57834] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(1752), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(3967), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [57849] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(1756), 1, + sym_gnu_asm_expression, + ACTIONS(3876), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(3969), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [57864] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(3971), 1, + anon_sym_RPAREN, + STATE(1666), 1, + sym_identifier, + [57880] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3973), 1, + aux_sym_preproc_include_token2, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(3977), 1, + sym_preproc_arg, + STATE(1730), 1, + sym_preproc_params, + [57896] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(3979), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [57910] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(3981), 1, + anon_sym_SEMI, + STATE(1549), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [57924] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(3983), 1, + aux_sym_preproc_include_token2, + ACTIONS(3985), 1, + sym_preproc_arg, + STATE(1809), 1, + sym_preproc_params, + [57940] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(3987), 1, + aux_sym_preproc_include_token2, + ACTIONS(3989), 1, + sym_preproc_arg, + STATE(1733), 1, + sym_preproc_params, + [57956] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(3991), 1, + anon_sym_SEMI, + STATE(1558), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [57970] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 1, + anon_sym_COMMA, + STATE(1514), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(3996), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [57984] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3596), 1, + anon_sym_COMMA, + STATE(1514), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(3998), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [57998] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + ACTIONS(4000), 1, + anon_sym_DOT_DOT_DOT, + STATE(1765), 1, + sym_identifier, + [58014] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4002), 1, + anon_sym___except, + ACTIONS(4004), 1, + anon_sym___finally, + STATE(259), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [58028] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(4006), 1, + aux_sym_preproc_include_token2, + ACTIONS(4008), 1, + sym_preproc_arg, + STATE(1800), 1, + sym_preproc_params, + [58044] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4010), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58058] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3596), 1, + anon_sym_COMMA, + STATE(1515), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4012), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [58072] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4014), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58086] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4016), 1, + anon_sym___except, + ACTIONS(4018), 1, + anon_sym___finally, + STATE(253), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [58100] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4020), 1, + anon_sym_DQUOTE, + ACTIONS(4022), 1, + aux_sym__string_literal_token1, + ACTIONS(4024), 1, + sym_escape_sequence, + STATE(1546), 1, + aux_sym__string_literal_repeat1, + [58116] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 1, + anon_sym_COMMA, + STATE(1524), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4029), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58130] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4031), 1, + anon_sym_COMMA, + STATE(1550), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4033), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4035), 1, + anon_sym_COMMA, + STATE(1553), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4037), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58158] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(1482), 1, + sym_identifier, + STATE(1704), 1, + sym_attribute, + [58174] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(4043), 1, + aux_sym_preproc_include_token2, + ACTIONS(4045), 1, + sym_preproc_arg, + STATE(1737), 1, + sym_preproc_params, + [58190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3596), 1, + anon_sym_COMMA, + STATE(1514), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4047), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [58204] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4049), 1, + anon_sym_SEMI, + STATE(1541), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58218] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(1482), 1, + sym_identifier, + STATE(1592), 1, + sym_attribute, + [58234] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(4051), 1, + aux_sym_preproc_include_token2, + ACTIONS(4053), 1, + sym_preproc_arg, + STATE(1781), 1, + sym_preproc_params, + [58250] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4055), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58264] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4057), 1, + anon_sym_SEMI, + STATE(1519), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58278] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + ACTIONS(4059), 1, + anon_sym_RPAREN, + STATE(1493), 1, + sym_parameter_list, + [58294] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(1482), 1, + sym_identifier, + STATE(1807), 1, + sym_attribute, + [58310] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4061), 1, + anon_sym___except, + ACTIONS(4063), 1, + anon_sym___finally, + STATE(259), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [58324] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3246), 1, + sym__identifier, + ACTIONS(4065), 1, + anon_sym_LPAREN2, + ACTIONS(4067), 1, + sym_grit_metavariable, + STATE(1245), 1, + sym_identifier, + [58340] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4069), 1, + anon_sym_COMMA, + ACTIONS(4071), 1, + anon_sym_RPAREN, + STATE(1577), 1, + aux_sym__old_style_parameter_list_repeat1, + STATE(1670), 1, + aux_sym_parameter_list_repeat1, + [58356] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + ACTIONS(4073), 1, + anon_sym_LPAREN2, + STATE(1199), 1, + sym_identifier, + [58372] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4075), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58386] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4077), 1, + anon_sym___except, + ACTIONS(4079), 1, + anon_sym___finally, + STATE(112), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [58400] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4081), 1, + anon_sym_SEMI, + STATE(1521), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58414] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4083), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [58424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3667), 1, + anon_sym_COMMA, + STATE(1572), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(4085), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [58438] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4087), 1, + anon_sym_DQUOTE, + ACTIONS(4089), 1, + aux_sym__string_literal_token1, + ACTIONS(4091), 1, + sym_escape_sequence, + STATE(1560), 1, + aux_sym__string_literal_repeat1, + [58454] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4093), 1, + anon_sym_SEMI, + STATE(1509), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58468] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4095), 1, + anon_sym_SQUOTE, + STATE(1559), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4097), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [58482] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4099), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58496] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4101), 1, + anon_sym_COMMA, + STATE(1550), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4104), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58510] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + anon_sym_LPAREN2, + ACTIONS(3882), 1, + anon_sym_LBRACK, + ACTIONS(4106), 1, + anon_sym_RPAREN, + STATE(1493), 1, + sym_parameter_list, + [58526] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4108), 1, + anon_sym_DQUOTE, + ACTIONS(4110), 1, + aux_sym__string_literal_token1, + ACTIONS(4112), 1, + sym_escape_sequence, + STATE(1564), 1, + aux_sym__string_literal_repeat1, + [58542] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4035), 1, + anon_sym_COMMA, + STATE(1556), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4114), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58556] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4116), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58570] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(3975), 1, + anon_sym_LPAREN, + ACTIONS(4118), 1, + aux_sym_preproc_include_token2, + ACTIONS(4120), 1, + sym_preproc_arg, + STATE(1798), 1, + sym_preproc_params, + [58586] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4122), 1, + anon_sym_COMMA, + STATE(1556), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4125), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58600] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4127), 1, + anon_sym_SEMI, + STATE(1533), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58614] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4129), 1, + anon_sym_SEMI, + STATE(1415), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58628] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4131), 1, + anon_sym_SQUOTE, + STATE(1559), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4133), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [58642] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4136), 1, + anon_sym_DQUOTE, + ACTIONS(4138), 1, + aux_sym__string_literal_token1, + ACTIONS(4141), 1, + sym_escape_sequence, + STATE(1560), 1, + aux_sym__string_literal_repeat1, + [58658] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4144), 1, + anon_sym_DQUOTE, + ACTIONS(4146), 1, + aux_sym__string_literal_token1, + ACTIONS(4148), 1, + sym_escape_sequence, + STATE(1565), 1, + aux_sym__string_literal_repeat1, + [58674] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(1482), 1, + sym_identifier, + STATE(1715), 1, + sym_attribute, + [58690] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4150), 1, + anon_sym_SQUOTE, + STATE(1559), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4097), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [58704] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4089), 1, + aux_sym__string_literal_token1, + ACTIONS(4091), 1, + sym_escape_sequence, + ACTIONS(4152), 1, + anon_sym_DQUOTE, + STATE(1560), 1, + aux_sym__string_literal_repeat1, + [58720] = 5, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4089), 1, + aux_sym__string_literal_token1, + ACTIONS(4091), 1, + sym_escape_sequence, + ACTIONS(4154), 1, + anon_sym_DQUOTE, + STATE(1560), 1, + aux_sym__string_literal_repeat1, + [58736] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4156), 1, + anon_sym_SQUOTE, + STATE(1559), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4097), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [58750] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 1, + anon_sym_COMMA, + STATE(1573), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4160), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58764] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 4, + anon_sym_LPAREN2, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [58774] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4164), 1, + anon_sym_SEMI, + STATE(1554), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58788] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 1, + anon_sym___except, + ACTIONS(4168), 1, + anon_sym___finally, + STATE(222), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [58802] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4031), 1, + anon_sym_COMMA, + STATE(1525), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4170), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58816] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4172), 1, + anon_sym_COMMA, + STATE(1572), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(4175), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [58830] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 1, + anon_sym_COMMA, + STATE(1524), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4177), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [58844] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + STATE(1735), 1, + sym_argument_list, + ACTIONS(4179), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [58858] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(688), 1, + sym_identifier, + [58871] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4181), 1, + anon_sym_SEMI, + STATE(1591), 1, + aux_sym_declaration_repeat1, + [58884] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4183), 1, + anon_sym_COMMA, + ACTIONS(4185), 1, + anon_sym_RPAREN, + STATE(1674), 1, + aux_sym__old_style_parameter_list_repeat1, + [58897] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1508), 1, + sym_identifier, + [58910] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4191), 1, + sym__identifier, + ACTIONS(4193), 1, + sym_grit_metavariable, + STATE(688), 1, + sym_identifier, + [58923] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4195), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [58936] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4197), 1, + aux_sym_preproc_include_token2, + ACTIONS(4199), 1, + anon_sym_LPAREN2, + STATE(1876), 1, + sym_preproc_argument_list, + [58949] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(6), 1, + sym_identifier, + [58962] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4201), 1, + anon_sym_COMMA, + ACTIONS(4204), 1, + anon_sym_RBRACK_RBRACK, + STATE(1583), 1, + aux_sym_attribute_declaration_repeat1, + [58975] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4206), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [58988] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3084), 1, + anon_sym_RPAREN, + STATE(1725), 1, + aux_sym_argument_list_repeat1, + [59001] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4208), 1, + anon_sym_SEMI, + STATE(1621), 1, + aux_sym_declaration_repeat1, + [59014] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4210), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59027] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1823), 1, + sym_identifier, + [59040] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4212), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59053] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4214), 1, + anon_sym_SEMI, + STATE(1580), 1, + aux_sym_declaration_repeat1, + [59066] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4216), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59079] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4220), 1, + anon_sym_RBRACK_RBRACK, + STATE(1610), 1, + aux_sym_attribute_declaration_repeat1, + [59092] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 1, + anon_sym_COMMA, + ACTIONS(4224), 1, + anon_sym_RPAREN, + STATE(1670), 1, + aux_sym_parameter_list_repeat1, + [59105] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4226), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59118] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4228), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59131] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4230), 1, + anon_sym_SEMI, + STATE(1718), 1, + aux_sym_declaration_repeat1, + [59144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4232), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59157] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 1, + anon_sym_COMMA, + ACTIONS(4236), 1, + anon_sym_RPAREN, + STATE(1688), 1, + aux_sym_preproc_params_repeat1, + [59170] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 1, + anon_sym_RPAREN, + ACTIONS(4240), 1, + anon_sym_COLON, + STATE(1659), 1, + sym_gnu_asm_input_operand_list, + [59183] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4242), 1, + anon_sym_SEMI, + STATE(1584), 1, + aux_sym_declaration_repeat1, + [59196] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1528), 1, + sym_identifier, + [59209] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4244), 1, + anon_sym_SEMI, + STATE(1595), 1, + aux_sym_declaration_repeat1, + [59222] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(7), 1, + sym_identifier, + [59235] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [59244] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4248), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [59253] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4250), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59266] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4252), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59279] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4254), 1, + anon_sym_SEMI, + STATE(1986), 1, + sym_attribute_specifier, + [59292] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4256), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59305] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4258), 1, + anon_sym_RBRACK_RBRACK, + STATE(1583), 1, + aux_sym_attribute_declaration_repeat1, + [59318] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4260), 1, + anon_sym_COMMA, + ACTIONS(4263), 1, + anon_sym_RPAREN, + STATE(1611), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [59331] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4265), 1, + anon_sym_SEMI, + STATE(1606), 1, + aux_sym_declaration_repeat1, + [59344] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4199), 1, + anon_sym_LPAREN2, + ACTIONS(4267), 1, + aux_sym_preproc_include_token2, + STATE(1876), 1, + sym_preproc_argument_list, + [59357] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4269), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59370] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4271), 1, + anon_sym_RPAREN, + ACTIONS(4273), 1, + anon_sym_COLON, + STATE(1628), 1, + sym_gnu_asm_output_operand_list, + [59383] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1770), 1, + sym_identifier, + [59396] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4275), 1, + anon_sym_COMMA, + ACTIONS(4277), 1, + anon_sym_RPAREN, + STATE(1611), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [59409] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4279), 1, + anon_sym_SEMI, + STATE(1655), 1, + aux_sym_declaration_repeat1, + [59422] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4281), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59435] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(2013), 1, + sym_identifier, + [59448] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4283), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59461] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1511), 1, + sym_identifier, + [59474] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(4285), 1, + anon_sym_RPAREN, + STATE(1656), 1, + aux_sym_argument_list_repeat1, + [59487] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4287), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59500] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1518), 1, + sym_identifier, + [59513] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4289), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59526] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_SEMI, + STATE(1607), 1, + aux_sym_declaration_repeat1, + [59539] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4240), 1, + anon_sym_COLON, + ACTIONS(4293), 1, + anon_sym_RPAREN, + STATE(1687), 1, + sym_gnu_asm_input_operand_list, + [59552] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(4295), 1, + anon_sym_RPAREN, + STATE(1663), 1, + aux_sym_preproc_argument_list_repeat1, + [59565] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3082), 1, + anon_sym_RPAREN, + STATE(1656), 1, + aux_sym_argument_list_repeat1, + [59578] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4297), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4299), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59604] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4301), 1, + anon_sym_SEMI, + STATE(1624), 1, + aux_sym_declaration_repeat1, + [59617] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1532), 1, + sym_identifier, + [59630] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1879), 1, + sym_identifier, + [59643] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4303), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [59652] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4305), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [59661] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4307), 1, + anon_sym_SEMI, + STATE(1971), 1, + sym_attribute_specifier, + [59674] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1328), 1, + sym_identifier, + [59687] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(1574), 1, + sym_identifier, + [59700] = 3, + ACTIONS(3362), 1, + sym_comment, + STATE(1566), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4309), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [59711] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(4311), 1, + anon_sym_RPAREN, + STATE(1656), 1, + aux_sym_argument_list_repeat1, + [59724] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3068), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [59733] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4313), 1, + anon_sym_SEMI, + STATE(1614), 1, + aux_sym_declaration_repeat1, + [59746] = 3, + ACTIONS(3362), 1, + sym_comment, + STATE(1548), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4315), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [59757] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4273), 1, + anon_sym_COLON, + ACTIONS(4317), 1, + anon_sym_RPAREN, + STATE(1599), 1, + sym_gnu_asm_output_operand_list, + [59770] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3410), 1, + anon_sym___attribute__, + ACTIONS(4319), 1, + anon_sym_SEMI, + STATE(1935), 1, + sym_attribute_specifier, + [59783] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1716), 1, + sym_identifier, + [59796] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1887), 1, + sym_identifier, + [59809] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1888), 1, + sym_identifier, + [59822] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(2005), 1, + sym_identifier, + [59835] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4321), 1, + anon_sym_RPAREN, + ACTIONS(4323), 1, + anon_sym_COLON, + STATE(1889), 1, + sym_gnu_asm_goto_list, + [59848] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4325), 1, + anon_sym_SEMI, + STATE(1669), 1, + aux_sym_declaration_repeat1, + [59861] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4327), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59874] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4329), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [59887] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3176), 1, + anon_sym_RPAREN, + ACTIONS(4331), 1, + anon_sym_COMMA, + STATE(1656), 1, + aux_sym_argument_list_repeat1, + [59900] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4334), 1, + anon_sym_COMMA, + ACTIONS(4337), 1, + anon_sym_RPAREN, + STATE(1657), 1, + aux_sym_generic_expression_repeat1, + [59913] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1901), 1, + sym_identifier, + [59926] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4339), 1, + anon_sym_RPAREN, + ACTIONS(4341), 1, + anon_sym_COLON, + STATE(1710), 1, + sym_gnu_asm_clobber_list, + [59939] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(4343), 1, + anon_sym_RPAREN, + STATE(1663), 1, + aux_sym_preproc_argument_list_repeat1, + [59952] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(14), 1, + sym_identifier, + [59965] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1512), 1, + sym_identifier, + [59978] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3384), 1, + anon_sym_RPAREN, + ACTIONS(4345), 1, + anon_sym_COMMA, + STATE(1663), 1, + aux_sym_preproc_argument_list_repeat1, + [59991] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4348), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60004] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4350), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [60013] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4275), 1, + anon_sym_COMMA, + ACTIONS(4352), 1, + anon_sym_RPAREN, + STATE(1617), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [60026] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4354), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60035] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4356), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [60044] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4358), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60057] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 1, + anon_sym_COMMA, + ACTIONS(4360), 1, + anon_sym_RPAREN, + STATE(1699), 1, + aux_sym_parameter_list_repeat1, + [60070] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4362), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60079] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3086), 1, + anon_sym_COMMA, + ACTIONS(3088), 1, + anon_sym_RBRACE, + STATE(1717), 1, + aux_sym_initializer_list_repeat1, + [60092] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3092), 1, + anon_sym_COMMA, + ACTIONS(4364), 1, + anon_sym_RPAREN, + STATE(1657), 1, + aux_sym_generic_expression_repeat1, + [60105] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4366), 1, + anon_sym_COMMA, + ACTIONS(4369), 1, + anon_sym_RPAREN, + STATE(1674), 1, + aux_sym__old_style_parameter_list_repeat1, + [60118] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4371), 1, + anon_sym_COMMA, + ACTIONS(4374), 1, + anon_sym_RPAREN, + STATE(1675), 1, + aux_sym_preproc_params_repeat1, + [60131] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4376), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4378), 1, + sym__identifier, + ACTIONS(4380), 1, + sym_grit_metavariable, + STATE(434), 1, + sym_identifier, + [60157] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1828), 1, + sym_identifier, + [60170] = 3, + ACTIONS(1090), 1, + sym_preproc_arg, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(1092), 2, + aux_sym_preproc_include_token2, + anon_sym_LPAREN, + [60181] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4382), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4384), 1, + anon_sym_EQ, + ACTIONS(3709), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [60205] = 3, + ACTIONS(3362), 1, + sym_comment, + STATE(1563), 1, + aux_sym__char_literal_repeat1, + ACTIONS(4386), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [60216] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(2020), 1, + sym_identifier, + [60229] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4378), 1, + sym__identifier, + ACTIONS(4380), 1, + sym_grit_metavariable, + STATE(440), 1, + sym_identifier, + [60242] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4388), 1, + anon_sym_SEMI, + STATE(1664), 1, + aux_sym_declaration_repeat1, + [60255] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3170), 1, + anon_sym_RBRACE, + ACTIONS(4390), 1, + anon_sym_COMMA, + STATE(1686), 1, + aux_sym_initializer_list_repeat1, + [60268] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4341), 1, + anon_sym_COLON, + ACTIONS(4393), 1, + anon_sym_RPAREN, + STATE(1652), 1, + sym_gnu_asm_clobber_list, + [60281] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 1, + anon_sym_COMMA, + ACTIONS(4395), 1, + anon_sym_RPAREN, + STATE(1675), 1, + aux_sym_preproc_params_repeat1, + [60294] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4199), 1, + anon_sym_LPAREN2, + ACTIONS(4397), 1, + aux_sym_preproc_include_token2, + STATE(1876), 1, + sym_preproc_argument_list, + [60307] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3076), 1, + anon_sym_RPAREN, + STATE(1630), 1, + aux_sym_argument_list_repeat1, + [60320] = 4, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4199), 1, + anon_sym_LPAREN2, + ACTIONS(4399), 1, + aux_sym_preproc_include_token2, + STATE(1876), 1, + sym_preproc_argument_list, + [60333] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1948), 1, + sym_identifier, + [60346] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(8), 1, + sym_identifier, + [60359] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4187), 1, + sym__identifier, + ACTIONS(4189), 1, + sym_grit_metavariable, + STATE(1555), 1, + sym_identifier, + [60372] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4401), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60385] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1286), 1, + sym_identifier, + [60398] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1321), 1, + sym_identifier, + [60411] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4378), 1, + sym__identifier, + ACTIONS(4380), 1, + sym_grit_metavariable, + STATE(438), 1, + sym_identifier, + [60424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4403), 1, + anon_sym_COMMA, + ACTIONS(4406), 1, + anon_sym_RPAREN, + STATE(1699), 1, + aux_sym_parameter_list_repeat1, + [60437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4408), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4410), 1, + anon_sym_SEMI, + STATE(1631), 1, + aux_sym_declaration_repeat1, + [60463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4412), 1, + anon_sym_SEMI, + STATE(1587), 1, + aux_sym_declaration_repeat1, + [60476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4414), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4416), 1, + anon_sym_RBRACK_RBRACK, + STATE(1709), 1, + aux_sym_attribute_declaration_repeat1, + [60502] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4418), 1, + anon_sym_RBRACK_RBRACK, + STATE(1583), 1, + aux_sym_attribute_declaration_repeat1, + [60515] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4378), 1, + sym__identifier, + ACTIONS(4380), 1, + sym_grit_metavariable, + STATE(432), 1, + sym_identifier, + [60528] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4420), 1, + anon_sym_SEMI, + STATE(1719), 1, + aux_sym_declaration_repeat1, + [60541] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3320), 1, + anon_sym_COMMA, + ACTIONS(4422), 1, + anon_sym_RPAREN, + STATE(1663), 1, + aux_sym_preproc_argument_list_repeat1, + [60554] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4424), 1, + anon_sym_RBRACK_RBRACK, + STATE(1583), 1, + aux_sym_attribute_declaration_repeat1, + [60567] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4323), 1, + anon_sym_COLON, + ACTIONS(4426), 1, + anon_sym_RPAREN, + STATE(1937), 1, + sym_gnu_asm_goto_list, + [60580] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4428), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60589] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4039), 1, + sym__identifier, + ACTIONS(4041), 1, + sym_grit_metavariable, + STATE(2), 1, + sym_identifier, + [60602] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1282), 1, + sym_identifier, + [60615] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1898), 1, + sym_identifier, + [60628] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym_COMMA, + ACTIONS(4430), 1, + anon_sym_RBRACK_RBRACK, + STATE(1705), 1, + aux_sym_attribute_declaration_repeat1, + [60641] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4432), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [60650] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1840), 1, + anon_sym_RBRACE, + ACTIONS(4434), 1, + anon_sym_COMMA, + STATE(1686), 1, + aux_sym_initializer_list_repeat1, + [60663] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4436), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60676] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4438), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60689] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(2751), 1, + sym_grit_metavariable, + STATE(1923), 1, + sym_identifier, + [60702] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4440), 1, + anon_sym_COMMA, + ACTIONS(4443), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60715] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4445), 1, + anon_sym_SEMI, + STATE(1721), 1, + aux_sym_declaration_repeat1, + [60728] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4447), 1, + anon_sym_SEMI, + STATE(1695), 1, + aux_sym_declaration_repeat1, + [60741] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3872), 1, + anon_sym_COMMA, + ACTIONS(4449), 1, + anon_sym_SEMI, + STATE(1676), 1, + aux_sym_declaration_repeat1, + [60754] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COMMA, + ACTIONS(3078), 1, + anon_sym_RPAREN, + STATE(1656), 1, + aux_sym_argument_list_repeat1, + [60767] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1798), 1, + sym__identifier, + ACTIONS(1812), 1, + sym_grit_metavariable, + STATE(1329), 1, + sym_identifier, + [60780] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4451), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [60789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(131), 1, + anon_sym_LBRACE, + STATE(91), 1, + sym_compound_statement, + [60799] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4453), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [60807] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4456), 1, + aux_sym_preproc_include_token2, + ACTIONS(4458), 1, + sym_preproc_arg, + [60817] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(163), 1, + sym_parenthesized_expression, + [60827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + anon_sym_LBRACE, + STATE(216), 1, + sym_compound_statement, + [60837] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4462), 1, + aux_sym_preproc_include_token2, + ACTIONS(4464), 1, + sym_preproc_arg, + [60847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3967), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [60855] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4466), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [60863] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1784), 1, + sym_parenthesized_expression, + [60873] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4470), 1, + aux_sym_preproc_include_token2, + ACTIONS(4472), 1, + sym_preproc_arg, + [60883] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3106), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [60891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1963), 1, + sym_parenthesized_expression, + [60901] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4474), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [60909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_compound_statement, + [60919] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3498), 1, + anon_sym_RBRACE, + ACTIONS(4476), 1, + anon_sym_COMMA, + [60929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(1537), 1, + sym_compound_statement, + [60939] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(155), 1, + sym_parenthesized_expression, + [60949] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4478), 1, + aux_sym_preproc_include_token2, + ACTIONS(4480), 1, + sym_preproc_arg, + [60959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + STATE(1845), 1, + sym_argument_list, + [60969] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3166), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [60977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3168), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [60985] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4406), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [60993] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3170), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [61001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(289), 1, + sym_compound_statement, + [61011] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3969), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [61019] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1751), 1, + sym_parenthesized_expression, + [61029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(172), 1, + sym_parenthesized_expression, + [61039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(131), 1, + anon_sym_LBRACE, + STATE(77), 1, + sym_compound_statement, + [61049] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4482), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [61057] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(179), 1, + sym_parenthesized_expression, + [61067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(157), 1, + sym_parenthesized_expression, + [61077] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(1542), 1, + sym_compound_statement, + [61087] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4484), 1, + aux_sym_preproc_include_token2, + ACTIONS(4486), 1, + sym_preproc_arg, + [61097] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4369), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [61105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(173), 1, + sym_parenthesized_expression, + [61115] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1952), 1, + sym_parenthesized_expression, + [61125] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4488), 1, + aux_sym_preproc_include_token2, + ACTIONS(4490), 1, + sym_preproc_arg, + [61135] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4374), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [61143] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4492), 1, + aux_sym_preproc_include_token2, + ACTIONS(4494), 1, + sym_preproc_arg, + [61153] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1786), 1, + sym_parenthesized_expression, + [61163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1797), 1, + sym_parenthesized_expression, + [61173] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + anon_sym_LBRACE, + STATE(233), 1, + sym_compound_statement, + [61183] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4496), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [61191] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4498), 1, + aux_sym_preproc_include_token2, + ACTIONS(4500), 1, + sym_preproc_arg, + [61201] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(1522), 1, + sym_compound_statement, + [61211] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 1, + anon_sym_LPAREN2, + STATE(1991), 1, + sym_argument_list, + [61221] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1741), 1, + sym_parenthesized_expression, + [61231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(1570), 1, + sym_compound_statement, + [61241] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1980), 1, + sym_parenthesized_expression, + [61251] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3176), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [61259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(278), 1, + sym_compound_statement, + [61269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(200), 1, + sym_compound_statement, + [61279] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4502), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [61287] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4504), 1, + aux_sym_preproc_include_token2, + ACTIONS(4506), 1, + sym_preproc_arg, + [61297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1843), 1, + sym_parenthesized_expression, + [61307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1728), 1, + sym_parenthesized_expression, + [61317] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(216), 1, + sym_compound_statement, + [61327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1792), 1, + sym_parenthesized_expression, + [61337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(287), 1, + sym_compound_statement, + [61347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(152), 1, + sym_parenthesized_expression, + [61357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 1, + anon_sym_LBRACE, + STATE(238), 1, + sym_compound_statement, + [61367] = 3, + ACTIONS(1090), 1, + anon_sym_LPAREN2, + ACTIONS(1749), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [61377] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4508), 1, + aux_sym_preproc_include_token2, + ACTIONS(4510), 1, + sym_preproc_arg, + [61387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(1517), 1, + sym_compound_statement, + [61397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 1, + anon_sym_LBRACE, + STATE(250), 1, + sym_compound_statement, + [61407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(165), 1, + sym_parenthesized_expression, + [61417] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4512), 1, + aux_sym_preproc_include_token2, + ACTIONS(4514), 1, + sym_preproc_arg, + [61427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1769), 1, + sym_parenthesized_expression, + [61437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(181), 1, + sym_parenthesized_expression, + [61447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(131), 1, + anon_sym_LBRACE, + STATE(111), 1, + sym_compound_statement, + [61457] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4516), 1, + aux_sym_preproc_include_token2, + ACTIONS(4518), 1, + sym_preproc_arg, + [61467] = 3, + ACTIONS(1090), 1, + anon_sym_LPAREN2, + ACTIONS(1092), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [61477] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4520), 1, + aux_sym_preproc_include_token2, + ACTIONS(4522), 1, + sym_preproc_arg, + [61487] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4524), 1, + aux_sym_preproc_include_token2, + ACTIONS(4526), 1, + sym_preproc_arg, + [61497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4460), 1, + anon_sym_LPAREN2, + STATE(156), 1, + sym_parenthesized_expression, + [61507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4476), 1, + anon_sym_COMMA, + ACTIONS(4528), 1, + anon_sym_RBRACE, + [61517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + anon_sym_LBRACE, + STATE(200), 1, + sym_compound_statement, + [61527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4468), 1, + anon_sym_LPAREN2, + STATE(1732), 1, + sym_parenthesized_expression, + [61537] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4530), 1, + aux_sym_preproc_include_token2, + ACTIONS(4532), 1, + sym_preproc_arg, + [61547] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4204), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [61555] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4534), 1, + aux_sym_preproc_include_token2, + ACTIONS(4536), 1, + sym_preproc_arg, + [61565] = 3, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4538), 1, + aux_sym_preproc_include_token2, + ACTIONS(4540), 1, + sym_preproc_arg, + [61575] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4542), 1, + anon_sym_SEMI, + [61582] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3186), 1, + anon_sym_RPAREN, + [61589] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4544), 1, + aux_sym_preproc_include_token2, + [61596] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4546), 1, + aux_sym_preproc_include_token2, + [61603] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4548), 1, + aux_sym_preproc_include_token2, + [61610] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4550), 1, + aux_sym_preproc_include_token2, + [61617] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3182), 1, + anon_sym_RPAREN, + [61624] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4552), 1, + sym_primitive_type, + [61631] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4554), 1, + aux_sym_preproc_include_token2, + [61638] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4556), 1, + anon_sym_SEMI, + [61645] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3184), 1, + anon_sym_RPAREN, + [61652] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4558), 1, + aux_sym_preproc_if_token2, + [61659] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4560), 1, + aux_sym_preproc_include_token2, + [61666] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4562), 1, + anon_sym_RBRACK, + [61673] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4564), 1, + aux_sym_preproc_if_token2, + [61680] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4566), 1, + aux_sym_preproc_include_token2, + [61687] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 1, + aux_sym_preproc_if_token2, + [61694] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3188), 1, + anon_sym_SEMI, + [61701] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4570), 1, + anon_sym_SEMI, + [61708] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4572), 1, + aux_sym_preproc_include_token2, + [61715] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3172), 1, + anon_sym_SEMI, + [61722] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4574), 1, + anon_sym_RPAREN, + [61729] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4576), 1, + anon_sym_LPAREN2, + [61736] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4578), 1, + anon_sym_RBRACE, + [61743] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4580), 1, + aux_sym_preproc_include_token2, + [61750] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3761), 1, + anon_sym_COMMA, + [61757] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3088), 1, + anon_sym_RBRACE, + [61764] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4582), 1, + anon_sym_COLON, + [61771] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 1, + aux_sym_preproc_if_token2, + [61778] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4586), 1, + anon_sym_STAR, + [61785] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4588), 1, + aux_sym_preproc_if_token2, + [61792] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4590), 1, + anon_sym_RBRACE, + [61799] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4592), 1, + anon_sym_COLON, + [61806] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4594), 1, + anon_sym_SEMI, + [61813] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4596), 1, + aux_sym_preproc_if_token2, + [61820] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 1, + anon_sym_RPAREN, + [61827] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4600), 1, + anon_sym_SEMI, + [61834] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 1, + aux_sym_preproc_if_token2, + [61841] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4604), 1, + aux_sym_preproc_if_token2, + [61848] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 1, + anon_sym_SEMI, + [61855] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4608), 1, + aux_sym_preproc_if_token2, + [61862] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4610), 1, + aux_sym_preproc_if_token2, + [61869] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4612), 1, + anon_sym_RBRACE, + [61876] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4614), 1, + aux_sym_preproc_if_token2, + [61883] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4616), 1, + anon_sym_RBRACE, + [61890] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4618), 1, + aux_sym_preproc_include_token2, + [61897] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3110), 1, + anon_sym_RPAREN, + [61904] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4399), 1, + aux_sym_preproc_include_token2, + [61911] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4620), 1, + aux_sym_preproc_if_token2, + [61918] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4622), 1, + aux_sym_preproc_if_token2, + [61925] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4624), 1, + aux_sym_preproc_if_token2, + [61932] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4626), 1, + anon_sym_RBRACE, + [61939] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4628), 1, + aux_sym_preproc_include_token2, + [61946] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3146), 1, + anon_sym_RPAREN, + [61953] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4630), 1, + anon_sym_RPAREN, + [61960] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4632), 1, + anon_sym_RPAREN, + [61967] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4634), 1, + aux_sym_preproc_if_token2, + [61974] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4636), 1, + anon_sym_SEMI, + [61981] = 2, + ACTIONS(3046), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [61988] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4638), 1, + aux_sym_preproc_if_token2, + [61995] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3142), 1, + anon_sym_COLON, + [62002] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4640), 1, + aux_sym_preproc_if_token2, + [62009] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3136), 1, + anon_sym_SEMI, + [62016] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4642), 1, + anon_sym_while, + [62023] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4644), 1, + aux_sym_preproc_if_token2, + [62030] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4646), 1, + aux_sym_preproc_if_token2, + [62037] = 2, + ACTIONS(3050), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [62044] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4648), 1, + aux_sym_preproc_include_token2, + [62051] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 1, + anon_sym_COLON, + [62058] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4652), 1, + anon_sym_SEMI, + [62065] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4654), 1, + aux_sym_preproc_if_token2, + [62072] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4656), 1, + anon_sym_LPAREN2, + [62079] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3130), 1, + anon_sym_RPAREN, + [62086] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4658), 1, + aux_sym_preproc_include_token2, + [62093] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4660), 1, + aux_sym_preproc_include_token2, + [62100] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4662), 1, + aux_sym_preproc_if_token2, + [62107] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4664), 1, + aux_sym_preproc_if_token2, + [62114] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4666), 1, + anon_sym_RPAREN, + [62121] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4668), 1, + anon_sym_RBRACK, + [62128] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4670), 1, + anon_sym_RPAREN, + [62135] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4672), 1, + anon_sym_LPAREN2, + [62142] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4674), 1, + anon_sym_STAR, + [62149] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + aux_sym_preproc_if_token2, + [62156] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4678), 1, + aux_sym_preproc_if_token2, + [62163] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4680), 1, + anon_sym_RPAREN, + [62170] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3198), 1, + anon_sym_RPAREN, + [62177] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4197), 1, + aux_sym_preproc_include_token2, + [62184] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4682), 1, + anon_sym_RPAREN, + [62191] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4684), 1, + anon_sym_RPAREN, + [62198] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4686), 1, + anon_sym_RPAREN, + [62205] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3196), 1, + anon_sym_RPAREN, + [62212] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4688), 1, + anon_sym_SEMI, + [62219] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4690), 1, + anon_sym_RBRACE, + [62226] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3180), 1, + anon_sym_SEMI, + [62233] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4692), 1, + aux_sym_preproc_if_token2, + [62240] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3104), 1, + anon_sym_SEMI, + [62247] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4694), 1, + anon_sym_SEMI, + [62254] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4476), 1, + anon_sym_COMMA, + [62261] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4696), 1, + aux_sym_preproc_if_token2, + [62268] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4698), 1, + aux_sym_preproc_include_token2, + [62275] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4700), 1, + anon_sym_SEMI, + [62282] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3498), 1, + anon_sym_RBRACE, + [62289] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4397), 1, + aux_sym_preproc_include_token2, + [62296] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4702), 1, + aux_sym_preproc_if_token2, + [62303] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4704), 1, + anon_sym_SEMI, + [62310] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4706), 1, + anon_sym_SEMI, + [62317] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4708), 1, + sym_primitive_type, + [62324] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4710), 1, + anon_sym_RPAREN, + [62331] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + aux_sym_preproc_if_token2, + [62338] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + aux_sym_preproc_if_token2, + [62345] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + aux_sym_preproc_if_token2, + [62352] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3128), 1, + anon_sym_COLON, + [62359] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + aux_sym_preproc_if_token2, + [62366] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4720), 1, + anon_sym_RPAREN, + [62373] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4722), 1, + aux_sym_preproc_if_token2, + [62380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4724), 1, + anon_sym_COLON, + [62387] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4726), 1, + aux_sym_preproc_if_token2, + [62394] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4728), 1, + aux_sym_preproc_if_token2, + [62401] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4730), 1, + anon_sym_RPAREN, + [62408] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4732), 1, + anon_sym_RPAREN, + [62415] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4734), 1, + aux_sym_preproc_if_token2, + [62422] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4736), 1, + anon_sym_LPAREN2, + [62429] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3108), 1, + anon_sym_COLON, + [62436] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4738), 1, + aux_sym_preproc_if_token2, + [62443] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4740), 1, + aux_sym_preproc_if_token2, + [62450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4742), 1, + anon_sym_SEMI, + [62457] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4744), 1, + anon_sym_LPAREN2, + [62464] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4746), 1, + anon_sym_RPAREN, + [62471] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4748), 1, + aux_sym_preproc_if_token2, + [62478] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4750), 1, + anon_sym_LPAREN2, + [62485] = 2, + ACTIONS(3042), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [62492] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4752), 1, + aux_sym_preproc_if_token2, + [62499] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4754), 1, + aux_sym_preproc_if_token2, + [62506] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + aux_sym_preproc_if_token2, + [62513] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4758), 1, + aux_sym_preproc_include_token2, + [62520] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4760), 1, + aux_sym_preproc_if_token2, + [62527] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4762), 1, + anon_sym_COLON, + [62534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4764), 1, + anon_sym_RPAREN, + [62541] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4766), 1, + anon_sym_RPAREN, + [62548] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + aux_sym_preproc_if_token2, + [62555] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4770), 1, + anon_sym_LPAREN2, + [62562] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4772), 1, + aux_sym_preproc_if_token2, + [62569] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4774), 1, + anon_sym_SEMI, + [62576] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_SEMI, + [62583] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3148), 1, + anon_sym_SEMI, + [62590] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4778), 1, + anon_sym_RPAREN, + [62597] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4780), 1, + anon_sym_LPAREN2, + [62604] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4782), 1, + aux_sym_preproc_if_token2, + [62611] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3126), 1, + anon_sym_COLON, + [62618] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4784), 1, + aux_sym_preproc_if_token2, + [62625] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4786), 1, + aux_sym_preproc_include_token2, + [62632] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + anon_sym_RPAREN, + [62639] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3132), 1, + anon_sym_SEMI, + [62646] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 1, + anon_sym_SEMI, + [62653] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4792), 1, + anon_sym_RPAREN, + [62660] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 1, + anon_sym_RPAREN, + [62667] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4796), 1, + anon_sym_RPAREN, + [62674] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 1, + anon_sym_RPAREN, + [62681] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3134), 1, + anon_sym_COLON, + [62688] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4800), 1, + aux_sym_preproc_if_token2, + [62695] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 1, + aux_sym_preproc_if_token2, + [62702] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4804), 1, + anon_sym_SEMI, + [62709] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 1, + anon_sym_COMMA, + [62716] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4808), 1, + aux_sym_preproc_if_token2, + [62723] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3138), 1, + anon_sym_SEMI, + [62730] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 1, + aux_sym_preproc_if_token2, + [62737] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3140), 1, + anon_sym_SEMI, + [62744] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4812), 1, + anon_sym_LPAREN2, + [62751] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 1, + anon_sym_LPAREN2, + [62758] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4816), 1, + aux_sym_preproc_if_token2, + [62765] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 1, + anon_sym_SEMI, + [62772] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4820), 1, + aux_sym_preproc_include_token2, + [62779] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 1, + anon_sym_RPAREN, + [62786] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4824), 1, + anon_sym_RPAREN, + [62793] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4826), 1, + anon_sym_RPAREN, + [62800] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4267), 1, + aux_sym_preproc_include_token2, + [62807] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4828), 1, + anon_sym_SEMI, + [62814] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4830), 1, + anon_sym_while, + [62821] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4832), 1, + anon_sym_LPAREN2, + [62828] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4834), 1, + anon_sym_SEMI, + [62835] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 1, + ts_builtin_sym_end, + [62842] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4838), 1, + anon_sym_STAR, + [62849] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 1, + aux_sym_preproc_if_token2, + [62856] = 2, + ACTIONS(2134), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [62863] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3190), 1, + anon_sym_COLON, + [62870] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4842), 1, + aux_sym_preproc_include_token2, + [62877] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 1, + anon_sym_LPAREN2, + [62884] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4846), 1, + anon_sym_STAR, + [62891] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 1, + anon_sym_LPAREN2, + [62898] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4850), 1, + anon_sym_SEMI, + [62905] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4852), 1, + aux_sym_preproc_include_token2, + [62912] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + anon_sym_while, + [62919] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4856), 1, + anon_sym_COLON, + [62926] = 2, + ACTIONS(3038), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [62933] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4528), 1, + anon_sym_RBRACE, + [62940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4858), 1, + anon_sym_RPAREN, + [62947] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3150), 1, + anon_sym_SEMI, + [62954] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3144), 1, + anon_sym_RPAREN, + [62961] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4860), 1, + anon_sym_SEMI, + [62968] = 2, + ACTIONS(2142), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [62975] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3162), 1, + anon_sym_RPAREN, + [62982] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4862), 1, + anon_sym_while, + [62989] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3164), 1, + anon_sym_SEMI, + [62996] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4864), 1, + anon_sym_RPAREN, + [63003] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4866), 1, + anon_sym_COLON, + [63010] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4868), 1, + anon_sym_LPAREN2, + [63017] = 2, + ACTIONS(3362), 1, + sym_comment, + ACTIONS(4870), 1, + aux_sym_preproc_include_token2, + [63024] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4872), 1, + anon_sym_SEMI, + [63031] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4874), 1, + anon_sym_LPAREN2, + [63038] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4876), 1, + anon_sym_SEMI, + [63045] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4878), 1, + anon_sym_SEMI, + [63052] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4880), 1, + anon_sym_LPAREN2, + [63059] = 2, + ACTIONS(2138), 1, + aux_sym_preproc_include_token2, + ACTIONS(3362), 1, + sym_comment, + [63066] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3178), 1, + anon_sym_SEMI, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(501)] = 0, + [SMALL_STATE(502)] = 115, + [SMALL_STATE(503)] = 230, + [SMALL_STATE(504)] = 345, + [SMALL_STATE(505)] = 460, + [SMALL_STATE(506)] = 575, + [SMALL_STATE(507)] = 690, + [SMALL_STATE(508)] = 805, + [SMALL_STATE(509)] = 920, + [SMALL_STATE(510)] = 1035, + [SMALL_STATE(511)] = 1150, + [SMALL_STATE(512)] = 1265, + [SMALL_STATE(513)] = 1380, + [SMALL_STATE(514)] = 1495, + [SMALL_STATE(515)] = 1610, + [SMALL_STATE(516)] = 1725, + [SMALL_STATE(517)] = 1840, + [SMALL_STATE(518)] = 1955, + [SMALL_STATE(519)] = 2070, + [SMALL_STATE(520)] = 2185, + [SMALL_STATE(521)] = 2300, + [SMALL_STATE(522)] = 2415, + [SMALL_STATE(523)] = 2530, + [SMALL_STATE(524)] = 2645, + [SMALL_STATE(525)] = 2760, + [SMALL_STATE(526)] = 2875, + [SMALL_STATE(527)] = 2990, + [SMALL_STATE(528)] = 3105, + [SMALL_STATE(529)] = 3220, + [SMALL_STATE(530)] = 3335, + [SMALL_STATE(531)] = 3450, + [SMALL_STATE(532)] = 3565, + [SMALL_STATE(533)] = 3680, + [SMALL_STATE(534)] = 3795, + [SMALL_STATE(535)] = 3910, + [SMALL_STATE(536)] = 4025, + [SMALL_STATE(537)] = 4140, + [SMALL_STATE(538)] = 4255, + [SMALL_STATE(539)] = 4370, + [SMALL_STATE(540)] = 4485, + [SMALL_STATE(541)] = 4600, + [SMALL_STATE(542)] = 4715, + [SMALL_STATE(543)] = 4830, + [SMALL_STATE(544)] = 4945, + [SMALL_STATE(545)] = 5060, + [SMALL_STATE(546)] = 5175, + [SMALL_STATE(547)] = 5290, + [SMALL_STATE(548)] = 5405, + [SMALL_STATE(549)] = 5520, + [SMALL_STATE(550)] = 5635, + [SMALL_STATE(551)] = 5750, + [SMALL_STATE(552)] = 5865, + [SMALL_STATE(553)] = 5980, + [SMALL_STATE(554)] = 6095, + [SMALL_STATE(555)] = 6210, + [SMALL_STATE(556)] = 6325, + [SMALL_STATE(557)] = 6440, + [SMALL_STATE(558)] = 6555, + [SMALL_STATE(559)] = 6670, + [SMALL_STATE(560)] = 6785, + [SMALL_STATE(561)] = 6900, + [SMALL_STATE(562)] = 7015, + [SMALL_STATE(563)] = 7130, + [SMALL_STATE(564)] = 7245, + [SMALL_STATE(565)] = 7360, + [SMALL_STATE(566)] = 7475, + [SMALL_STATE(567)] = 7590, + [SMALL_STATE(568)] = 7705, + [SMALL_STATE(569)] = 7820, + [SMALL_STATE(570)] = 7935, + [SMALL_STATE(571)] = 8050, + [SMALL_STATE(572)] = 8165, + [SMALL_STATE(573)] = 8280, + [SMALL_STATE(574)] = 8395, + [SMALL_STATE(575)] = 8510, + [SMALL_STATE(576)] = 8625, + [SMALL_STATE(577)] = 8740, + [SMALL_STATE(578)] = 8855, + [SMALL_STATE(579)] = 8970, + [SMALL_STATE(580)] = 9085, + [SMALL_STATE(581)] = 9200, + [SMALL_STATE(582)] = 9315, + [SMALL_STATE(583)] = 9430, + [SMALL_STATE(584)] = 9545, + [SMALL_STATE(585)] = 9660, + [SMALL_STATE(586)] = 9775, + [SMALL_STATE(587)] = 9890, + [SMALL_STATE(588)] = 10005, + [SMALL_STATE(589)] = 10120, + [SMALL_STATE(590)] = 10235, + [SMALL_STATE(591)] = 10350, + [SMALL_STATE(592)] = 10465, + [SMALL_STATE(593)] = 10580, + [SMALL_STATE(594)] = 10695, + [SMALL_STATE(595)] = 10810, + [SMALL_STATE(596)] = 10925, + [SMALL_STATE(597)] = 11040, + [SMALL_STATE(598)] = 11155, + [SMALL_STATE(599)] = 11270, + [SMALL_STATE(600)] = 11385, + [SMALL_STATE(601)] = 11500, + [SMALL_STATE(602)] = 11615, + [SMALL_STATE(603)] = 11730, + [SMALL_STATE(604)] = 11845, + [SMALL_STATE(605)] = 11960, + [SMALL_STATE(606)] = 12075, + [SMALL_STATE(607)] = 12190, + [SMALL_STATE(608)] = 12305, + [SMALL_STATE(609)] = 12420, + [SMALL_STATE(610)] = 12535, + [SMALL_STATE(611)] = 12650, + [SMALL_STATE(612)] = 12765, + [SMALL_STATE(613)] = 12880, + [SMALL_STATE(614)] = 12995, + [SMALL_STATE(615)] = 13110, + [SMALL_STATE(616)] = 13225, + [SMALL_STATE(617)] = 13321, + [SMALL_STATE(618)] = 13435, + [SMALL_STATE(619)] = 13549, + [SMALL_STATE(620)] = 13663, + [SMALL_STATE(621)] = 13777, + [SMALL_STATE(622)] = 13855, + [SMALL_STATE(623)] = 13933, + [SMALL_STATE(624)] = 14011, + [SMALL_STATE(625)] = 14075, + [SMALL_STATE(626)] = 14139, + [SMALL_STATE(627)] = 14203, + [SMALL_STATE(628)] = 14267, + [SMALL_STATE(629)] = 14372, + [SMALL_STATE(630)] = 14435, + [SMALL_STATE(631)] = 14498, + [SMALL_STATE(632)] = 14561, + [SMALL_STATE(633)] = 14668, + [SMALL_STATE(634)] = 14773, + [SMALL_STATE(635)] = 14836, + [SMALL_STATE(636)] = 14941, + [SMALL_STATE(637)] = 15046, + [SMALL_STATE(638)] = 15109, + [SMALL_STATE(639)] = 15214, + [SMALL_STATE(640)] = 15277, + [SMALL_STATE(641)] = 15382, + [SMALL_STATE(642)] = 15445, + [SMALL_STATE(643)] = 15508, + [SMALL_STATE(644)] = 15613, + [SMALL_STATE(645)] = 15718, + [SMALL_STATE(646)] = 15797, + [SMALL_STATE(647)] = 15860, + [SMALL_STATE(648)] = 15965, + [SMALL_STATE(649)] = 16070, + [SMALL_STATE(650)] = 16133, + [SMALL_STATE(651)] = 16238, + [SMALL_STATE(652)] = 16343, + [SMALL_STATE(653)] = 16448, + [SMALL_STATE(654)] = 16553, + [SMALL_STATE(655)] = 16658, + [SMALL_STATE(656)] = 16763, + [SMALL_STATE(657)] = 16868, + [SMALL_STATE(658)] = 16970, + [SMALL_STATE(659)] = 17072, + [SMALL_STATE(660)] = 17176, + [SMALL_STATE(661)] = 17248, + [SMALL_STATE(662)] = 17316, + [SMALL_STATE(663)] = 17376, + [SMALL_STATE(664)] = 17442, + [SMALL_STATE(665)] = 17502, + [SMALL_STATE(666)] = 17562, + [SMALL_STATE(667)] = 17632, + [SMALL_STATE(668)] = 17692, + [SMALL_STATE(669)] = 17752, + [SMALL_STATE(670)] = 17847, + [SMALL_STATE(671)] = 17910, + [SMALL_STATE(672)] = 17969, + [SMALL_STATE(673)] = 18028, + [SMALL_STATE(674)] = 18123, + [SMALL_STATE(675)] = 18218, + [SMALL_STATE(676)] = 18313, + [SMALL_STATE(677)] = 18380, + [SMALL_STATE(678)] = 18439, + [SMALL_STATE(679)] = 18534, + [SMALL_STATE(680)] = 18593, + [SMALL_STATE(681)] = 18652, + [SMALL_STATE(682)] = 18747, + [SMALL_STATE(683)] = 18806, + [SMALL_STATE(684)] = 18901, + [SMALL_STATE(685)] = 18960, + [SMALL_STATE(686)] = 19031, + [SMALL_STATE(687)] = 19090, + [SMALL_STATE(688)] = 19149, + [SMALL_STATE(689)] = 19208, + [SMALL_STATE(690)] = 19267, + [SMALL_STATE(691)] = 19326, + [SMALL_STATE(692)] = 19385, + [SMALL_STATE(693)] = 19444, + [SMALL_STATE(694)] = 19503, + [SMALL_STATE(695)] = 19562, + [SMALL_STATE(696)] = 19621, + [SMALL_STATE(697)] = 19680, + [SMALL_STATE(698)] = 19739, + [SMALL_STATE(699)] = 19834, + [SMALL_STATE(700)] = 19926, + [SMALL_STATE(701)] = 19984, + [SMALL_STATE(702)] = 20042, + [SMALL_STATE(703)] = 20100, + [SMALL_STATE(704)] = 20158, + [SMALL_STATE(705)] = 20228, + [SMALL_STATE(706)] = 20291, + [SMALL_STATE(707)] = 20348, + [SMALL_STATE(708)] = 20407, + [SMALL_STATE(709)] = 20464, + [SMALL_STATE(710)] = 20520, + [SMALL_STATE(711)] = 20576, + [SMALL_STATE(712)] = 20640, + [SMALL_STATE(713)] = 20704, + [SMALL_STATE(714)] = 20768, + [SMALL_STATE(715)] = 20832, + [SMALL_STATE(716)] = 20896, + [SMALL_STATE(717)] = 20952, + [SMALL_STATE(718)] = 21021, + [SMALL_STATE(719)] = 21076, + [SMALL_STATE(720)] = 21147, + [SMALL_STATE(721)] = 21218, + [SMALL_STATE(722)] = 21289, + [SMALL_STATE(723)] = 21358, + [SMALL_STATE(724)] = 21427, + [SMALL_STATE(725)] = 21496, + [SMALL_STATE(726)] = 21567, + [SMALL_STATE(727)] = 21622, + [SMALL_STATE(728)] = 21685, + [SMALL_STATE(729)] = 21754, + [SMALL_STATE(730)] = 21823, + [SMALL_STATE(731)] = 21878, + [SMALL_STATE(732)] = 21936, + [SMALL_STATE(733)] = 21994, + [SMALL_STATE(734)] = 22052, + [SMALL_STATE(735)] = 22118, + [SMALL_STATE(736)] = 22176, + [SMALL_STATE(737)] = 22234, + [SMALL_STATE(738)] = 22292, + [SMALL_STATE(739)] = 22350, + [SMALL_STATE(740)] = 22408, + [SMALL_STATE(741)] = 22474, + [SMALL_STATE(742)] = 22532, + [SMALL_STATE(743)] = 22590, + [SMALL_STATE(744)] = 22648, + [SMALL_STATE(745)] = 22701, + [SMALL_STATE(746)] = 22762, + [SMALL_STATE(747)] = 22815, + [SMALL_STATE(748)] = 22868, + [SMALL_STATE(749)] = 22921, + [SMALL_STATE(750)] = 22974, + [SMALL_STATE(751)] = 23027, + [SMALL_STATE(752)] = 23080, + [SMALL_STATE(753)] = 23143, + [SMALL_STATE(754)] = 23196, + [SMALL_STATE(755)] = 23249, + [SMALL_STATE(756)] = 23302, + [SMALL_STATE(757)] = 23355, + [SMALL_STATE(758)] = 23408, + [SMALL_STATE(759)] = 23461, + [SMALL_STATE(760)] = 23514, + [SMALL_STATE(761)] = 23601, + [SMALL_STATE(762)] = 23660, + [SMALL_STATE(763)] = 23717, + [SMALL_STATE(764)] = 23774, + [SMALL_STATE(765)] = 23861, + [SMALL_STATE(766)] = 23924, + [SMALL_STATE(767)] = 23987, + [SMALL_STATE(768)] = 24040, + [SMALL_STATE(769)] = 24093, + [SMALL_STATE(770)] = 24146, + [SMALL_STATE(771)] = 24209, + [SMALL_STATE(772)] = 24262, + [SMALL_STATE(773)] = 24319, + [SMALL_STATE(774)] = 24406, + [SMALL_STATE(775)] = 24473, + [SMALL_STATE(776)] = 24542, + [SMALL_STATE(777)] = 24615, + [SMALL_STATE(778)] = 24668, + [SMALL_STATE(779)] = 24743, + [SMALL_STATE(780)] = 24820, + [SMALL_STATE(781)] = 24899, + [SMALL_STATE(782)] = 24980, + [SMALL_STATE(783)] = 25063, + [SMALL_STATE(784)] = 25128, + [SMALL_STATE(785)] = 25181, + [SMALL_STATE(786)] = 25234, + [SMALL_STATE(787)] = 25291, + [SMALL_STATE(788)] = 25344, + [SMALL_STATE(789)] = 25401, + [SMALL_STATE(790)] = 25464, + [SMALL_STATE(791)] = 25517, + [SMALL_STATE(792)] = 25570, + [SMALL_STATE(793)] = 25623, + [SMALL_STATE(794)] = 25682, + [SMALL_STATE(795)] = 25735, + [SMALL_STATE(796)] = 25792, + [SMALL_STATE(797)] = 25849, + [SMALL_STATE(798)] = 25902, + [SMALL_STATE(799)] = 25954, + [SMALL_STATE(800)] = 26006, + [SMALL_STATE(801)] = 26076, + [SMALL_STATE(802)] = 26128, + [SMALL_STATE(803)] = 26180, + [SMALL_STATE(804)] = 26250, + [SMALL_STATE(805)] = 26302, + [SMALL_STATE(806)] = 26354, + [SMALL_STATE(807)] = 26406, + [SMALL_STATE(808)] = 26458, + [SMALL_STATE(809)] = 26510, + [SMALL_STATE(810)] = 26580, + [SMALL_STATE(811)] = 26632, + [SMALL_STATE(812)] = 26684, + [SMALL_STATE(813)] = 26736, + [SMALL_STATE(814)] = 26788, + [SMALL_STATE(815)] = 26840, + [SMALL_STATE(816)] = 26892, + [SMALL_STATE(817)] = 26944, + [SMALL_STATE(818)] = 27000, + [SMALL_STATE(819)] = 27070, + [SMALL_STATE(820)] = 27160, + [SMALL_STATE(821)] = 27212, + [SMALL_STATE(822)] = 27264, + [SMALL_STATE(823)] = 27354, + [SMALL_STATE(824)] = 27406, + [SMALL_STATE(825)] = 27458, + [SMALL_STATE(826)] = 27519, + [SMALL_STATE(827)] = 27600, + [SMALL_STATE(828)] = 27685, + [SMALL_STATE(829)] = 27744, + [SMALL_STATE(830)] = 27805, + [SMALL_STATE(831)] = 27868, + [SMALL_STATE(832)] = 27953, + [SMALL_STATE(833)] = 28038, + [SMALL_STATE(834)] = 28099, + [SMALL_STATE(835)] = 28160, + [SMALL_STATE(836)] = 28221, + [SMALL_STATE(837)] = 28286, + [SMALL_STATE(838)] = 28353, + [SMALL_STATE(839)] = 28424, + [SMALL_STATE(840)] = 28497, + [SMALL_STATE(841)] = 28576, + [SMALL_STATE(842)] = 28653, + [SMALL_STATE(843)] = 28728, + [SMALL_STATE(844)] = 28789, + [SMALL_STATE(845)] = 28845, + [SMALL_STATE(846)] = 28901, + [SMALL_STATE(847)] = 28955, + [SMALL_STATE(848)] = 29013, + [SMALL_STATE(849)] = 29062, + [SMALL_STATE(850)] = 29111, + [SMALL_STATE(851)] = 29168, + [SMALL_STATE(852)] = 29225, + [SMALL_STATE(853)] = 29282, + [SMALL_STATE(854)] = 29331, + [SMALL_STATE(855)] = 29388, + [SMALL_STATE(856)] = 29436, + [SMALL_STATE(857)] = 29484, + [SMALL_STATE(858)] = 29532, + [SMALL_STATE(859)] = 29580, + [SMALL_STATE(860)] = 29628, + [SMALL_STATE(861)] = 29680, + [SMALL_STATE(862)] = 29762, + [SMALL_STATE(863)] = 29810, + [SMALL_STATE(864)] = 29858, + [SMALL_STATE(865)] = 29906, + [SMALL_STATE(866)] = 29988, + [SMALL_STATE(867)] = 30036, + [SMALL_STATE(868)] = 30084, + [SMALL_STATE(869)] = 30166, + [SMALL_STATE(870)] = 30214, + [SMALL_STATE(871)] = 30262, + [SMALL_STATE(872)] = 30310, + [SMALL_STATE(873)] = 30358, + [SMALL_STATE(874)] = 30406, + [SMALL_STATE(875)] = 30458, + [SMALL_STATE(876)] = 30506, + [SMALL_STATE(877)] = 30554, + [SMALL_STATE(878)] = 30606, + [SMALL_STATE(879)] = 30654, + [SMALL_STATE(880)] = 30702, + [SMALL_STATE(881)] = 30750, + [SMALL_STATE(882)] = 30832, + [SMALL_STATE(883)] = 30880, + [SMALL_STATE(884)] = 30928, + [SMALL_STATE(885)] = 30976, + [SMALL_STATE(886)] = 31024, + [SMALL_STATE(887)] = 31072, + [SMALL_STATE(888)] = 31120, + [SMALL_STATE(889)] = 31168, + [SMALL_STATE(890)] = 31216, + [SMALL_STATE(891)] = 31264, + [SMALL_STATE(892)] = 31312, + [SMALL_STATE(893)] = 31360, + [SMALL_STATE(894)] = 31408, + [SMALL_STATE(895)] = 31456, + [SMALL_STATE(896)] = 31504, + [SMALL_STATE(897)] = 31552, + [SMALL_STATE(898)] = 31600, + [SMALL_STATE(899)] = 31675, + [SMALL_STATE(900)] = 31748, + [SMALL_STATE(901)] = 31819, + [SMALL_STATE(902)] = 31878, + [SMALL_STATE(903)] = 31943, + [SMALL_STATE(904)] = 32006, + [SMALL_STATE(905)] = 32089, + [SMALL_STATE(906)] = 32148, + [SMALL_STATE(907)] = 32207, + [SMALL_STATE(908)] = 32264, + [SMALL_STATE(909)] = 32343, + [SMALL_STATE(910)] = 32412, + [SMALL_STATE(911)] = 32473, + [SMALL_STATE(912)] = 32556, + [SMALL_STATE(913)] = 32633, + [SMALL_STATE(914)] = 32692, + [SMALL_STATE(915)] = 32775, + [SMALL_STATE(916)] = 32834, + [SMALL_STATE(917)] = 32884, + [SMALL_STATE(918)] = 32930, + [SMALL_STATE(919)] = 32976, + [SMALL_STATE(920)] = 33022, + [SMALL_STATE(921)] = 33068, + [SMALL_STATE(922)] = 33126, + [SMALL_STATE(923)] = 33172, + [SMALL_STATE(924)] = 33217, + [SMALL_STATE(925)] = 33262, + [SMALL_STATE(926)] = 33307, + [SMALL_STATE(927)] = 33352, + [SMALL_STATE(928)] = 33397, + [SMALL_STATE(929)] = 33450, + [SMALL_STATE(930)] = 33495, + [SMALL_STATE(931)] = 33540, + [SMALL_STATE(932)] = 33585, + [SMALL_STATE(933)] = 33640, + [SMALL_STATE(934)] = 33685, + [SMALL_STATE(935)] = 33736, + [SMALL_STATE(936)] = 33781, + [SMALL_STATE(937)] = 33855, + [SMALL_STATE(938)] = 33929, + [SMALL_STATE(939)] = 34002, + [SMALL_STATE(940)] = 34045, + [SMALL_STATE(941)] = 34088, + [SMALL_STATE(942)] = 34131, + [SMALL_STATE(943)] = 34174, + [SMALL_STATE(944)] = 34247, + [SMALL_STATE(945)] = 34290, + [SMALL_STATE(946)] = 34335, + [SMALL_STATE(947)] = 34378, + [SMALL_STATE(948)] = 34421, + [SMALL_STATE(949)] = 34492, + [SMALL_STATE(950)] = 34535, + [SMALL_STATE(951)] = 34606, + [SMALL_STATE(952)] = 34649, + [SMALL_STATE(953)] = 34692, + [SMALL_STATE(954)] = 34737, + [SMALL_STATE(955)] = 34782, + [SMALL_STATE(956)] = 34825, + [SMALL_STATE(957)] = 34898, + [SMALL_STATE(958)] = 34941, + [SMALL_STATE(959)] = 34986, + [SMALL_STATE(960)] = 35059, + [SMALL_STATE(961)] = 35102, + [SMALL_STATE(962)] = 35173, + [SMALL_STATE(963)] = 35244, + [SMALL_STATE(964)] = 35322, + [SMALL_STATE(965)] = 35390, + [SMALL_STATE(966)] = 35468, + [SMALL_STATE(967)] = 35534, + [SMALL_STATE(968)] = 35598, + [SMALL_STATE(969)] = 35654, + [SMALL_STATE(970)] = 35726, + [SMALL_STATE(971)] = 35800, + [SMALL_STATE(972)] = 35870, + [SMALL_STATE(973)] = 35942, + [SMALL_STATE(974)] = 36020, + [SMALL_STATE(975)] = 36092, + [SMALL_STATE(976)] = 36152, + [SMALL_STATE(977)] = 36210, + [SMALL_STATE(978)] = 36288, + [SMALL_STATE(979)] = 36357, + [SMALL_STATE(980)] = 36426, + [SMALL_STATE(981)] = 36495, + [SMALL_STATE(982)] = 36564, + [SMALL_STATE(983)] = 36633, + [SMALL_STATE(984)] = 36702, + [SMALL_STATE(985)] = 36771, + [SMALL_STATE(986)] = 36840, + [SMALL_STATE(987)] = 36909, + [SMALL_STATE(988)] = 36978, + [SMALL_STATE(989)] = 37047, + [SMALL_STATE(990)] = 37116, + [SMALL_STATE(991)] = 37185, + [SMALL_STATE(992)] = 37234, + [SMALL_STATE(993)] = 37308, + [SMALL_STATE(994)] = 37362, + [SMALL_STATE(995)] = 37428, + [SMALL_STATE(996)] = 37494, + [SMALL_STATE(997)] = 37560, + [SMALL_STATE(998)] = 37626, + [SMALL_STATE(999)] = 37692, + [SMALL_STATE(1000)] = 37762, + [SMALL_STATE(1001)] = 37828, + [SMALL_STATE(1002)] = 37896, + [SMALL_STATE(1003)] = 37970, + [SMALL_STATE(1004)] = 38044, + [SMALL_STATE(1005)] = 38112, + [SMALL_STATE(1006)] = 38178, + [SMALL_STATE(1007)] = 38234, + [SMALL_STATE(1008)] = 38292, + [SMALL_STATE(1009)] = 38354, + [SMALL_STATE(1010)] = 38418, + [SMALL_STATE(1011)] = 38457, + [SMALL_STATE(1012)] = 38496, + [SMALL_STATE(1013)] = 38535, + [SMALL_STATE(1014)] = 38574, + [SMALL_STATE(1015)] = 38621, + [SMALL_STATE(1016)] = 38659, + [SMALL_STATE(1017)] = 38733, + [SMALL_STATE(1018)] = 38771, + [SMALL_STATE(1019)] = 38846, + [SMALL_STATE(1020)] = 38921, + [SMALL_STATE(1021)] = 38968, + [SMALL_STATE(1022)] = 39043, + [SMALL_STATE(1023)] = 39118, + [SMALL_STATE(1024)] = 39193, + [SMALL_STATE(1025)] = 39238, + [SMALL_STATE(1026)] = 39309, + [SMALL_STATE(1027)] = 39384, + [SMALL_STATE(1028)] = 39440, + [SMALL_STATE(1029)] = 39512, + [SMALL_STATE(1030)] = 39582, + [SMALL_STATE(1031)] = 39654, + [SMALL_STATE(1032)] = 39706, + [SMALL_STATE(1033)] = 39778, + [SMALL_STATE(1034)] = 39846, + [SMALL_STATE(1035)] = 39912, + [SMALL_STATE(1036)] = 39978, + [SMALL_STATE(1037)] = 40042, + [SMALL_STATE(1038)] = 40114, + [SMALL_STATE(1039)] = 40186, + [SMALL_STATE(1040)] = 40258, + [SMALL_STATE(1041)] = 40330, + [SMALL_STATE(1042)] = 40402, + [SMALL_STATE(1043)] = 40464, + [SMALL_STATE(1044)] = 40536, + [SMALL_STATE(1045)] = 40608, + [SMALL_STATE(1046)] = 40680, + [SMALL_STATE(1047)] = 40752, + [SMALL_STATE(1048)] = 40824, + [SMALL_STATE(1049)] = 40884, + [SMALL_STATE(1050)] = 40956, + [SMALL_STATE(1051)] = 41028, + [SMALL_STATE(1052)] = 41082, + [SMALL_STATE(1053)] = 41154, + [SMALL_STATE(1054)] = 41226, + [SMALL_STATE(1055)] = 41296, + [SMALL_STATE(1056)] = 41370, + [SMALL_STATE(1057)] = 41442, + [SMALL_STATE(1058)] = 41514, + [SMALL_STATE(1059)] = 41584, + [SMALL_STATE(1060)] = 41654, + [SMALL_STATE(1061)] = 41724, + [SMALL_STATE(1062)] = 41796, + [SMALL_STATE(1063)] = 41866, + [SMALL_STATE(1064)] = 41936, + [SMALL_STATE(1065)] = 42008, + [SMALL_STATE(1066)] = 42080, + [SMALL_STATE(1067)] = 42152, + [SMALL_STATE(1068)] = 42224, + [SMALL_STATE(1069)] = 42296, + [SMALL_STATE(1070)] = 42368, + [SMALL_STATE(1071)] = 42440, + [SMALL_STATE(1072)] = 42512, + [SMALL_STATE(1073)] = 42584, + [SMALL_STATE(1074)] = 42654, + [SMALL_STATE(1075)] = 42693, + [SMALL_STATE(1076)] = 42762, + [SMALL_STATE(1077)] = 42831, + [SMALL_STATE(1078)] = 42900, + [SMALL_STATE(1079)] = 42955, + [SMALL_STATE(1080)] = 43024, + [SMALL_STATE(1081)] = 43093, + [SMALL_STATE(1082)] = 43162, + [SMALL_STATE(1083)] = 43219, + [SMALL_STATE(1084)] = 43288, + [SMALL_STATE(1085)] = 43357, + [SMALL_STATE(1086)] = 43396, + [SMALL_STATE(1087)] = 43465, + [SMALL_STATE(1088)] = 43534, + [SMALL_STATE(1089)] = 43603, + [SMALL_STATE(1090)] = 43672, + [SMALL_STATE(1091)] = 43741, + [SMALL_STATE(1092)] = 43810, + [SMALL_STATE(1093)] = 43849, + [SMALL_STATE(1094)] = 43918, + [SMALL_STATE(1095)] = 43975, + [SMALL_STATE(1096)] = 44044, + [SMALL_STATE(1097)] = 44113, + [SMALL_STATE(1098)] = 44182, + [SMALL_STATE(1099)] = 44251, + [SMALL_STATE(1100)] = 44308, + [SMALL_STATE(1101)] = 44377, + [SMALL_STATE(1102)] = 44446, + [SMALL_STATE(1103)] = 44501, + [SMALL_STATE(1104)] = 44570, + [SMALL_STATE(1105)] = 44625, + [SMALL_STATE(1106)] = 44679, + [SMALL_STATE(1107)] = 44733, + [SMALL_STATE(1108)] = 44787, + [SMALL_STATE(1109)] = 44853, + [SMALL_STATE(1110)] = 44899, + [SMALL_STATE(1111)] = 44935, + [SMALL_STATE(1112)] = 44989, + [SMALL_STATE(1113)] = 45043, + [SMALL_STATE(1114)] = 45097, + [SMALL_STATE(1115)] = 45150, + [SMALL_STATE(1116)] = 45203, + [SMALL_STATE(1117)] = 45244, + [SMALL_STATE(1118)] = 45299, + [SMALL_STATE(1119)] = 45352, + [SMALL_STATE(1120)] = 45402, + [SMALL_STATE(1121)] = 45452, + [SMALL_STATE(1122)] = 45492, + [SMALL_STATE(1123)] = 45542, + [SMALL_STATE(1124)] = 45592, + [SMALL_STATE(1125)] = 45642, + [SMALL_STATE(1126)] = 45692, + [SMALL_STATE(1127)] = 45732, + [SMALL_STATE(1128)] = 45782, + [SMALL_STATE(1129)] = 45840, + [SMALL_STATE(1130)] = 45890, + [SMALL_STATE(1131)] = 45940, + [SMALL_STATE(1132)] = 45990, + [SMALL_STATE(1133)] = 46040, + [SMALL_STATE(1134)] = 46090, + [SMALL_STATE(1135)] = 46140, + [SMALL_STATE(1136)] = 46190, + [SMALL_STATE(1137)] = 46240, + [SMALL_STATE(1138)] = 46290, + [SMALL_STATE(1139)] = 46348, + [SMALL_STATE(1140)] = 46398, + [SMALL_STATE(1141)] = 46448, + [SMALL_STATE(1142)] = 46498, + [SMALL_STATE(1143)] = 46548, + [SMALL_STATE(1144)] = 46598, + [SMALL_STATE(1145)] = 46648, + [SMALL_STATE(1146)] = 46698, + [SMALL_STATE(1147)] = 46748, + [SMALL_STATE(1148)] = 46798, + [SMALL_STATE(1149)] = 46848, + [SMALL_STATE(1150)] = 46898, + [SMALL_STATE(1151)] = 46948, + [SMALL_STATE(1152)] = 46998, + [SMALL_STATE(1153)] = 47048, + [SMALL_STATE(1154)] = 47088, + [SMALL_STATE(1155)] = 47128, + [SMALL_STATE(1156)] = 47178, + [SMALL_STATE(1157)] = 47228, + [SMALL_STATE(1158)] = 47278, + [SMALL_STATE(1159)] = 47336, + [SMALL_STATE(1160)] = 47386, + [SMALL_STATE(1161)] = 47436, + [SMALL_STATE(1162)] = 47486, + [SMALL_STATE(1163)] = 47536, + [SMALL_STATE(1164)] = 47586, + [SMALL_STATE(1165)] = 47644, + [SMALL_STATE(1166)] = 47694, + [SMALL_STATE(1167)] = 47749, + [SMALL_STATE(1168)] = 47792, + [SMALL_STATE(1169)] = 47847, + [SMALL_STATE(1170)] = 47902, + [SMALL_STATE(1171)] = 47957, + [SMALL_STATE(1172)] = 48012, + [SMALL_STATE(1173)] = 48067, + [SMALL_STATE(1174)] = 48122, + [SMALL_STATE(1175)] = 48177, + [SMALL_STATE(1176)] = 48232, + [SMALL_STATE(1177)] = 48287, + [SMALL_STATE(1178)] = 48342, + [SMALL_STATE(1179)] = 48378, + [SMALL_STATE(1180)] = 48412, + [SMALL_STATE(1181)] = 48446, + [SMALL_STATE(1182)] = 48480, + [SMALL_STATE(1183)] = 48514, + [SMALL_STATE(1184)] = 48548, + [SMALL_STATE(1185)] = 48582, + [SMALL_STATE(1186)] = 48616, + [SMALL_STATE(1187)] = 48668, + [SMALL_STATE(1188)] = 48702, + [SMALL_STATE(1189)] = 48736, + [SMALL_STATE(1190)] = 48791, + [SMALL_STATE(1191)] = 48838, + [SMALL_STATE(1192)] = 48893, + [SMALL_STATE(1193)] = 48948, + [SMALL_STATE(1194)] = 48995, + [SMALL_STATE(1195)] = 49042, + [SMALL_STATE(1196)] = 49073, + [SMALL_STATE(1197)] = 49120, + [SMALL_STATE(1198)] = 49153, + [SMALL_STATE(1199)] = 49197, + [SMALL_STATE(1200)] = 49225, + [SMALL_STATE(1201)] = 49253, + [SMALL_STATE(1202)] = 49281, + [SMALL_STATE(1203)] = 49313, + [SMALL_STATE(1204)] = 49341, + [SMALL_STATE(1205)] = 49389, + [SMALL_STATE(1206)] = 49417, + [SMALL_STATE(1207)] = 49445, + [SMALL_STATE(1208)] = 49491, + [SMALL_STATE(1209)] = 49537, + [SMALL_STATE(1210)] = 49581, + [SMALL_STATE(1211)] = 49627, + [SMALL_STATE(1212)] = 49675, + [SMALL_STATE(1213)] = 49703, + [SMALL_STATE(1214)] = 49747, + [SMALL_STATE(1215)] = 49775, + [SMALL_STATE(1216)] = 49819, + [SMALL_STATE(1217)] = 49861, + [SMALL_STATE(1218)] = 49905, + [SMALL_STATE(1219)] = 49935, + [SMALL_STATE(1220)] = 49963, + [SMALL_STATE(1221)] = 50003, + [SMALL_STATE(1222)] = 50053, + [SMALL_STATE(1223)] = 50089, + [SMALL_STATE(1224)] = 50123, + [SMALL_STATE(1225)] = 50167, + [SMALL_STATE(1226)] = 50194, + [SMALL_STATE(1227)] = 50239, + [SMALL_STATE(1228)] = 50284, + [SMALL_STATE(1229)] = 50311, + [SMALL_STATE(1230)] = 50338, + [SMALL_STATE(1231)] = 50365, + [SMALL_STATE(1232)] = 50396, + [SMALL_STATE(1233)] = 50433, + [SMALL_STATE(1234)] = 50478, + [SMALL_STATE(1235)] = 50525, + [SMALL_STATE(1236)] = 50568, + [SMALL_STATE(1237)] = 50615, + [SMALL_STATE(1238)] = 50662, + [SMALL_STATE(1239)] = 50709, + [SMALL_STATE(1240)] = 50754, + [SMALL_STATE(1241)] = 50799, + [SMALL_STATE(1242)] = 50826, + [SMALL_STATE(1243)] = 50863, + [SMALL_STATE(1244)] = 50908, + [SMALL_STATE(1245)] = 50935, + [SMALL_STATE(1246)] = 50962, + [SMALL_STATE(1247)] = 51007, + [SMALL_STATE(1248)] = 51056, + [SMALL_STATE(1249)] = 51095, + [SMALL_STATE(1250)] = 51140, + [SMALL_STATE(1251)] = 51175, + [SMALL_STATE(1252)] = 51220, + [SMALL_STATE(1253)] = 51265, + [SMALL_STATE(1254)] = 51314, + [SMALL_STATE(1255)] = 51359, + [SMALL_STATE(1256)] = 51386, + [SMALL_STATE(1257)] = 51427, + [SMALL_STATE(1258)] = 51474, + [SMALL_STATE(1259)] = 51501, + [SMALL_STATE(1260)] = 51530, + [SMALL_STATE(1261)] = 51557, + [SMALL_STATE(1262)] = 51584, + [SMALL_STATE(1263)] = 51629, + [SMALL_STATE(1264)] = 51676, + [SMALL_STATE(1265)] = 51723, + [SMALL_STATE(1266)] = 51750, + [SMALL_STATE(1267)] = 51797, + [SMALL_STATE(1268)] = 51830, + [SMALL_STATE(1269)] = 51875, + [SMALL_STATE(1270)] = 51920, + [SMALL_STATE(1271)] = 51965, + [SMALL_STATE(1272)] = 52011, + [SMALL_STATE(1273)] = 52055, + [SMALL_STATE(1274)] = 52095, + [SMALL_STATE(1275)] = 52139, + [SMALL_STATE(1276)] = 52174, + [SMALL_STATE(1277)] = 52221, + [SMALL_STATE(1278)] = 52256, + [SMALL_STATE(1279)] = 52301, + [SMALL_STATE(1280)] = 52336, + [SMALL_STATE(1281)] = 52383, + [SMALL_STATE(1282)] = 52428, + [SMALL_STATE(1283)] = 52473, + [SMALL_STATE(1284)] = 52516, + [SMALL_STATE(1285)] = 52551, + [SMALL_STATE(1286)] = 52598, + [SMALL_STATE(1287)] = 52643, + [SMALL_STATE(1288)] = 52684, + [SMALL_STATE(1289)] = 52723, + [SMALL_STATE(1290)] = 52764, + [SMALL_STATE(1291)] = 52805, + [SMALL_STATE(1292)] = 52846, + [SMALL_STATE(1293)] = 52887, + [SMALL_STATE(1294)] = 52928, + [SMALL_STATE(1295)] = 52969, + [SMALL_STATE(1296)] = 53010, + [SMALL_STATE(1297)] = 53051, + [SMALL_STATE(1298)] = 53092, + [SMALL_STATE(1299)] = 53133, + [SMALL_STATE(1300)] = 53172, + [SMALL_STATE(1301)] = 53194, + [SMALL_STATE(1302)] = 53216, + [SMALL_STATE(1303)] = 53242, + [SMALL_STATE(1304)] = 53268, + [SMALL_STATE(1305)] = 53290, + [SMALL_STATE(1306)] = 53324, + [SMALL_STATE(1307)] = 53353, + [SMALL_STATE(1308)] = 53382, + [SMALL_STATE(1309)] = 53417, + [SMALL_STATE(1310)] = 53450, + [SMALL_STATE(1311)] = 53485, + [SMALL_STATE(1312)] = 53522, + [SMALL_STATE(1313)] = 53557, + [SMALL_STATE(1314)] = 53594, + [SMALL_STATE(1315)] = 53623, + [SMALL_STATE(1316)] = 53656, + [SMALL_STATE(1317)] = 53689, + [SMALL_STATE(1318)] = 53724, + [SMALL_STATE(1319)] = 53761, + [SMALL_STATE(1320)] = 53794, + [SMALL_STATE(1321)] = 53829, + [SMALL_STATE(1322)] = 53866, + [SMALL_STATE(1323)] = 53901, + [SMALL_STATE(1324)] = 53930, + [SMALL_STATE(1325)] = 53963, + [SMALL_STATE(1326)] = 54000, + [SMALL_STATE(1327)] = 54035, + [SMALL_STATE(1328)] = 54072, + [SMALL_STATE(1329)] = 54107, + [SMALL_STATE(1330)] = 54144, + [SMALL_STATE(1331)] = 54179, + [SMALL_STATE(1332)] = 54216, + [SMALL_STATE(1333)] = 54246, + [SMALL_STATE(1334)] = 54276, + [SMALL_STATE(1335)] = 54312, + [SMALL_STATE(1336)] = 54342, + [SMALL_STATE(1337)] = 54372, + [SMALL_STATE(1338)] = 54402, + [SMALL_STATE(1339)] = 54428, + [SMALL_STATE(1340)] = 54458, + [SMALL_STATE(1341)] = 54482, + [SMALL_STATE(1342)] = 54512, + [SMALL_STATE(1343)] = 54542, + [SMALL_STATE(1344)] = 54572, + [SMALL_STATE(1345)] = 54599, + [SMALL_STATE(1346)] = 54626, + [SMALL_STATE(1347)] = 54653, + [SMALL_STATE(1348)] = 54680, + [SMALL_STATE(1349)] = 54711, + [SMALL_STATE(1350)] = 54729, + [SMALL_STATE(1351)] = 54761, + [SMALL_STATE(1352)] = 54779, + [SMALL_STATE(1353)] = 54805, + [SMALL_STATE(1354)] = 54823, + [SMALL_STATE(1355)] = 54849, + [SMALL_STATE(1356)] = 54881, + [SMALL_STATE(1357)] = 54907, + [SMALL_STATE(1358)] = 54939, + [SMALL_STATE(1359)] = 54959, + [SMALL_STATE(1360)] = 54985, + [SMALL_STATE(1361)] = 55003, + [SMALL_STATE(1362)] = 55029, + [SMALL_STATE(1363)] = 55059, + [SMALL_STATE(1364)] = 55077, + [SMALL_STATE(1365)] = 55103, + [SMALL_STATE(1366)] = 55135, + [SMALL_STATE(1367)] = 55153, + [SMALL_STATE(1368)] = 55175, + [SMALL_STATE(1369)] = 55193, + [SMALL_STATE(1370)] = 55219, + [SMALL_STATE(1371)] = 55247, + [SMALL_STATE(1372)] = 55276, + [SMALL_STATE(1373)] = 55305, + [SMALL_STATE(1374)] = 55324, + [SMALL_STATE(1375)] = 55349, + [SMALL_STATE(1376)] = 55380, + [SMALL_STATE(1377)] = 55409, + [SMALL_STATE(1378)] = 55438, + [SMALL_STATE(1379)] = 55463, + [SMALL_STATE(1380)] = 55492, + [SMALL_STATE(1381)] = 55521, + [SMALL_STATE(1382)] = 55550, + [SMALL_STATE(1383)] = 55569, + [SMALL_STATE(1384)] = 55600, + [SMALL_STATE(1385)] = 55621, + [SMALL_STATE(1386)] = 55650, + [SMALL_STATE(1387)] = 55676, + [SMALL_STATE(1388)] = 55702, + [SMALL_STATE(1389)] = 55718, + [SMALL_STATE(1390)] = 55734, + [SMALL_STATE(1391)] = 55760, + [SMALL_STATE(1392)] = 55780, + [SMALL_STATE(1393)] = 55796, + [SMALL_STATE(1394)] = 55812, + [SMALL_STATE(1395)] = 55828, + [SMALL_STATE(1396)] = 55854, + [SMALL_STATE(1397)] = 55870, + [SMALL_STATE(1398)] = 55896, + [SMALL_STATE(1399)] = 55912, + [SMALL_STATE(1400)] = 55938, + [SMALL_STATE(1401)] = 55954, + [SMALL_STATE(1402)] = 55980, + [SMALL_STATE(1403)] = 56000, + [SMALL_STATE(1404)] = 56024, + [SMALL_STATE(1405)] = 56050, + [SMALL_STATE(1406)] = 56066, + [SMALL_STATE(1407)] = 56086, + [SMALL_STATE(1408)] = 56104, + [SMALL_STATE(1409)] = 56130, + [SMALL_STATE(1410)] = 56156, + [SMALL_STATE(1411)] = 56182, + [SMALL_STATE(1412)] = 56208, + [SMALL_STATE(1413)] = 56227, + [SMALL_STATE(1414)] = 56242, + [SMALL_STATE(1415)] = 56257, + [SMALL_STATE(1416)] = 56274, + [SMALL_STATE(1417)] = 56289, + [SMALL_STATE(1418)] = 56312, + [SMALL_STATE(1419)] = 56337, + [SMALL_STATE(1420)] = 56352, + [SMALL_STATE(1421)] = 56367, + [SMALL_STATE(1422)] = 56392, + [SMALL_STATE(1423)] = 56407, + [SMALL_STATE(1424)] = 56422, + [SMALL_STATE(1425)] = 56437, + [SMALL_STATE(1426)] = 56452, + [SMALL_STATE(1427)] = 56475, + [SMALL_STATE(1428)] = 56498, + [SMALL_STATE(1429)] = 56521, + [SMALL_STATE(1430)] = 56536, + [SMALL_STATE(1431)] = 56551, + [SMALL_STATE(1432)] = 56566, + [SMALL_STATE(1433)] = 56581, + [SMALL_STATE(1434)] = 56604, + [SMALL_STATE(1435)] = 56619, + [SMALL_STATE(1436)] = 56642, + [SMALL_STATE(1437)] = 56657, + [SMALL_STATE(1438)] = 56672, + [SMALL_STATE(1439)] = 56695, + [SMALL_STATE(1440)] = 56720, + [SMALL_STATE(1441)] = 56735, + [SMALL_STATE(1442)] = 56760, + [SMALL_STATE(1443)] = 56775, + [SMALL_STATE(1444)] = 56790, + [SMALL_STATE(1445)] = 56815, + [SMALL_STATE(1446)] = 56830, + [SMALL_STATE(1447)] = 56849, + [SMALL_STATE(1448)] = 56864, + [SMALL_STATE(1449)] = 56879, + [SMALL_STATE(1450)] = 56896, + [SMALL_STATE(1451)] = 56913, + [SMALL_STATE(1452)] = 56933, + [SMALL_STATE(1453)] = 56953, + [SMALL_STATE(1454)] = 56971, + [SMALL_STATE(1455)] = 56991, + [SMALL_STATE(1456)] = 57011, + [SMALL_STATE(1457)] = 57033, + [SMALL_STATE(1458)] = 57053, + [SMALL_STATE(1459)] = 57071, + [SMALL_STATE(1460)] = 57091, + [SMALL_STATE(1461)] = 57111, + [SMALL_STATE(1462)] = 57129, + [SMALL_STATE(1463)] = 57145, + [SMALL_STATE(1464)] = 57165, + [SMALL_STATE(1465)] = 57183, + [SMALL_STATE(1466)] = 57201, + [SMALL_STATE(1467)] = 57221, + [SMALL_STATE(1468)] = 57241, + [SMALL_STATE(1469)] = 57261, + [SMALL_STATE(1470)] = 57281, + [SMALL_STATE(1471)] = 57301, + [SMALL_STATE(1472)] = 57319, + [SMALL_STATE(1473)] = 57339, + [SMALL_STATE(1474)] = 57355, + [SMALL_STATE(1475)] = 57373, + [SMALL_STATE(1476)] = 57393, + [SMALL_STATE(1477)] = 57415, + [SMALL_STATE(1478)] = 57431, + [SMALL_STATE(1479)] = 57442, + [SMALL_STATE(1480)] = 57461, + [SMALL_STATE(1481)] = 57480, + [SMALL_STATE(1482)] = 57491, + [SMALL_STATE(1483)] = 57508, + [SMALL_STATE(1484)] = 57527, + [SMALL_STATE(1485)] = 57546, + [SMALL_STATE(1486)] = 57557, + [SMALL_STATE(1487)] = 57568, + [SMALL_STATE(1488)] = 57587, + [SMALL_STATE(1489)] = 57604, + [SMALL_STATE(1490)] = 57615, + [SMALL_STATE(1491)] = 57634, + [SMALL_STATE(1492)] = 57653, + [SMALL_STATE(1493)] = 57672, + [SMALL_STATE(1494)] = 57683, + [SMALL_STATE(1495)] = 57702, + [SMALL_STATE(1496)] = 57713, + [SMALL_STATE(1497)] = 57724, + [SMALL_STATE(1498)] = 57735, + [SMALL_STATE(1499)] = 57746, + [SMALL_STATE(1500)] = 57757, + [SMALL_STATE(1501)] = 57776, + [SMALL_STATE(1502)] = 57787, + [SMALL_STATE(1503)] = 57804, + [SMALL_STATE(1504)] = 57815, + [SMALL_STATE(1505)] = 57834, + [SMALL_STATE(1506)] = 57849, + [SMALL_STATE(1507)] = 57864, + [SMALL_STATE(1508)] = 57880, + [SMALL_STATE(1509)] = 57896, + [SMALL_STATE(1510)] = 57910, + [SMALL_STATE(1511)] = 57924, + [SMALL_STATE(1512)] = 57940, + [SMALL_STATE(1513)] = 57956, + [SMALL_STATE(1514)] = 57970, + [SMALL_STATE(1515)] = 57984, + [SMALL_STATE(1516)] = 57998, + [SMALL_STATE(1517)] = 58014, + [SMALL_STATE(1518)] = 58028, + [SMALL_STATE(1519)] = 58044, + [SMALL_STATE(1520)] = 58058, + [SMALL_STATE(1521)] = 58072, + [SMALL_STATE(1522)] = 58086, + [SMALL_STATE(1523)] = 58100, + [SMALL_STATE(1524)] = 58116, + [SMALL_STATE(1525)] = 58130, + [SMALL_STATE(1526)] = 58144, + [SMALL_STATE(1527)] = 58158, + [SMALL_STATE(1528)] = 58174, + [SMALL_STATE(1529)] = 58190, + [SMALL_STATE(1530)] = 58204, + [SMALL_STATE(1531)] = 58218, + [SMALL_STATE(1532)] = 58234, + [SMALL_STATE(1533)] = 58250, + [SMALL_STATE(1534)] = 58264, + [SMALL_STATE(1535)] = 58278, + [SMALL_STATE(1536)] = 58294, + [SMALL_STATE(1537)] = 58310, + [SMALL_STATE(1538)] = 58324, + [SMALL_STATE(1539)] = 58340, + [SMALL_STATE(1540)] = 58356, + [SMALL_STATE(1541)] = 58372, + [SMALL_STATE(1542)] = 58386, + [SMALL_STATE(1543)] = 58400, + [SMALL_STATE(1544)] = 58414, + [SMALL_STATE(1545)] = 58424, + [SMALL_STATE(1546)] = 58438, + [SMALL_STATE(1547)] = 58454, + [SMALL_STATE(1548)] = 58468, + [SMALL_STATE(1549)] = 58482, + [SMALL_STATE(1550)] = 58496, + [SMALL_STATE(1551)] = 58510, + [SMALL_STATE(1552)] = 58526, + [SMALL_STATE(1553)] = 58542, + [SMALL_STATE(1554)] = 58556, + [SMALL_STATE(1555)] = 58570, + [SMALL_STATE(1556)] = 58586, + [SMALL_STATE(1557)] = 58600, + [SMALL_STATE(1558)] = 58614, + [SMALL_STATE(1559)] = 58628, + [SMALL_STATE(1560)] = 58642, + [SMALL_STATE(1561)] = 58658, + [SMALL_STATE(1562)] = 58674, + [SMALL_STATE(1563)] = 58690, + [SMALL_STATE(1564)] = 58704, + [SMALL_STATE(1565)] = 58720, + [SMALL_STATE(1566)] = 58736, + [SMALL_STATE(1567)] = 58750, + [SMALL_STATE(1568)] = 58764, + [SMALL_STATE(1569)] = 58774, + [SMALL_STATE(1570)] = 58788, + [SMALL_STATE(1571)] = 58802, + [SMALL_STATE(1572)] = 58816, + [SMALL_STATE(1573)] = 58830, + [SMALL_STATE(1574)] = 58844, + [SMALL_STATE(1575)] = 58858, + [SMALL_STATE(1576)] = 58871, + [SMALL_STATE(1577)] = 58884, + [SMALL_STATE(1578)] = 58897, + [SMALL_STATE(1579)] = 58910, + [SMALL_STATE(1580)] = 58923, + [SMALL_STATE(1581)] = 58936, + [SMALL_STATE(1582)] = 58949, + [SMALL_STATE(1583)] = 58962, + [SMALL_STATE(1584)] = 58975, + [SMALL_STATE(1585)] = 58988, + [SMALL_STATE(1586)] = 59001, + [SMALL_STATE(1587)] = 59014, + [SMALL_STATE(1588)] = 59027, + [SMALL_STATE(1589)] = 59040, + [SMALL_STATE(1590)] = 59053, + [SMALL_STATE(1591)] = 59066, + [SMALL_STATE(1592)] = 59079, + [SMALL_STATE(1593)] = 59092, + [SMALL_STATE(1594)] = 59105, + [SMALL_STATE(1595)] = 59118, + [SMALL_STATE(1596)] = 59131, + [SMALL_STATE(1597)] = 59144, + [SMALL_STATE(1598)] = 59157, + [SMALL_STATE(1599)] = 59170, + [SMALL_STATE(1600)] = 59183, + [SMALL_STATE(1601)] = 59196, + [SMALL_STATE(1602)] = 59209, + [SMALL_STATE(1603)] = 59222, + [SMALL_STATE(1604)] = 59235, + [SMALL_STATE(1605)] = 59244, + [SMALL_STATE(1606)] = 59253, + [SMALL_STATE(1607)] = 59266, + [SMALL_STATE(1608)] = 59279, + [SMALL_STATE(1609)] = 59292, + [SMALL_STATE(1610)] = 59305, + [SMALL_STATE(1611)] = 59318, + [SMALL_STATE(1612)] = 59331, + [SMALL_STATE(1613)] = 59344, + [SMALL_STATE(1614)] = 59357, + [SMALL_STATE(1615)] = 59370, + [SMALL_STATE(1616)] = 59383, + [SMALL_STATE(1617)] = 59396, + [SMALL_STATE(1618)] = 59409, + [SMALL_STATE(1619)] = 59422, + [SMALL_STATE(1620)] = 59435, + [SMALL_STATE(1621)] = 59448, + [SMALL_STATE(1622)] = 59461, + [SMALL_STATE(1623)] = 59474, + [SMALL_STATE(1624)] = 59487, + [SMALL_STATE(1625)] = 59500, + [SMALL_STATE(1626)] = 59513, + [SMALL_STATE(1627)] = 59526, + [SMALL_STATE(1628)] = 59539, + [SMALL_STATE(1629)] = 59552, + [SMALL_STATE(1630)] = 59565, + [SMALL_STATE(1631)] = 59578, + [SMALL_STATE(1632)] = 59591, + [SMALL_STATE(1633)] = 59604, + [SMALL_STATE(1634)] = 59617, + [SMALL_STATE(1635)] = 59630, + [SMALL_STATE(1636)] = 59643, + [SMALL_STATE(1637)] = 59652, + [SMALL_STATE(1638)] = 59661, + [SMALL_STATE(1639)] = 59674, + [SMALL_STATE(1640)] = 59687, + [SMALL_STATE(1641)] = 59700, + [SMALL_STATE(1642)] = 59711, + [SMALL_STATE(1643)] = 59724, + [SMALL_STATE(1644)] = 59733, + [SMALL_STATE(1645)] = 59746, + [SMALL_STATE(1646)] = 59757, + [SMALL_STATE(1647)] = 59770, + [SMALL_STATE(1648)] = 59783, + [SMALL_STATE(1649)] = 59796, + [SMALL_STATE(1650)] = 59809, + [SMALL_STATE(1651)] = 59822, + [SMALL_STATE(1652)] = 59835, + [SMALL_STATE(1653)] = 59848, + [SMALL_STATE(1654)] = 59861, + [SMALL_STATE(1655)] = 59874, + [SMALL_STATE(1656)] = 59887, + [SMALL_STATE(1657)] = 59900, + [SMALL_STATE(1658)] = 59913, + [SMALL_STATE(1659)] = 59926, + [SMALL_STATE(1660)] = 59939, + [SMALL_STATE(1661)] = 59952, + [SMALL_STATE(1662)] = 59965, + [SMALL_STATE(1663)] = 59978, + [SMALL_STATE(1664)] = 59991, + [SMALL_STATE(1665)] = 60004, + [SMALL_STATE(1666)] = 60013, + [SMALL_STATE(1667)] = 60026, + [SMALL_STATE(1668)] = 60035, + [SMALL_STATE(1669)] = 60044, + [SMALL_STATE(1670)] = 60057, + [SMALL_STATE(1671)] = 60070, + [SMALL_STATE(1672)] = 60079, + [SMALL_STATE(1673)] = 60092, + [SMALL_STATE(1674)] = 60105, + [SMALL_STATE(1675)] = 60118, + [SMALL_STATE(1676)] = 60131, + [SMALL_STATE(1677)] = 60144, + [SMALL_STATE(1678)] = 60157, + [SMALL_STATE(1679)] = 60170, + [SMALL_STATE(1680)] = 60181, + [SMALL_STATE(1681)] = 60194, + [SMALL_STATE(1682)] = 60205, + [SMALL_STATE(1683)] = 60216, + [SMALL_STATE(1684)] = 60229, + [SMALL_STATE(1685)] = 60242, + [SMALL_STATE(1686)] = 60255, + [SMALL_STATE(1687)] = 60268, + [SMALL_STATE(1688)] = 60281, + [SMALL_STATE(1689)] = 60294, + [SMALL_STATE(1690)] = 60307, + [SMALL_STATE(1691)] = 60320, + [SMALL_STATE(1692)] = 60333, + [SMALL_STATE(1693)] = 60346, + [SMALL_STATE(1694)] = 60359, + [SMALL_STATE(1695)] = 60372, + [SMALL_STATE(1696)] = 60385, + [SMALL_STATE(1697)] = 60398, + [SMALL_STATE(1698)] = 60411, + [SMALL_STATE(1699)] = 60424, + [SMALL_STATE(1700)] = 60437, + [SMALL_STATE(1701)] = 60450, + [SMALL_STATE(1702)] = 60463, + [SMALL_STATE(1703)] = 60476, + [SMALL_STATE(1704)] = 60489, + [SMALL_STATE(1705)] = 60502, + [SMALL_STATE(1706)] = 60515, + [SMALL_STATE(1707)] = 60528, + [SMALL_STATE(1708)] = 60541, + [SMALL_STATE(1709)] = 60554, + [SMALL_STATE(1710)] = 60567, + [SMALL_STATE(1711)] = 60580, + [SMALL_STATE(1712)] = 60589, + [SMALL_STATE(1713)] = 60602, + [SMALL_STATE(1714)] = 60615, + [SMALL_STATE(1715)] = 60628, + [SMALL_STATE(1716)] = 60641, + [SMALL_STATE(1717)] = 60650, + [SMALL_STATE(1718)] = 60663, + [SMALL_STATE(1719)] = 60676, + [SMALL_STATE(1720)] = 60689, + [SMALL_STATE(1721)] = 60702, + [SMALL_STATE(1722)] = 60715, + [SMALL_STATE(1723)] = 60728, + [SMALL_STATE(1724)] = 60741, + [SMALL_STATE(1725)] = 60754, + [SMALL_STATE(1726)] = 60767, + [SMALL_STATE(1727)] = 60780, + [SMALL_STATE(1728)] = 60789, + [SMALL_STATE(1729)] = 60799, + [SMALL_STATE(1730)] = 60807, + [SMALL_STATE(1731)] = 60817, + [SMALL_STATE(1732)] = 60827, + [SMALL_STATE(1733)] = 60837, + [SMALL_STATE(1734)] = 60847, + [SMALL_STATE(1735)] = 60855, + [SMALL_STATE(1736)] = 60863, + [SMALL_STATE(1737)] = 60873, + [SMALL_STATE(1738)] = 60883, + [SMALL_STATE(1739)] = 60891, + [SMALL_STATE(1740)] = 60901, + [SMALL_STATE(1741)] = 60909, + [SMALL_STATE(1742)] = 60919, + [SMALL_STATE(1743)] = 60929, + [SMALL_STATE(1744)] = 60939, + [SMALL_STATE(1745)] = 60949, + [SMALL_STATE(1746)] = 60959, + [SMALL_STATE(1747)] = 60969, + [SMALL_STATE(1748)] = 60977, + [SMALL_STATE(1749)] = 60985, + [SMALL_STATE(1750)] = 60993, + [SMALL_STATE(1751)] = 61001, + [SMALL_STATE(1752)] = 61011, + [SMALL_STATE(1753)] = 61019, + [SMALL_STATE(1754)] = 61029, + [SMALL_STATE(1755)] = 61039, + [SMALL_STATE(1756)] = 61049, + [SMALL_STATE(1757)] = 61057, + [SMALL_STATE(1758)] = 61067, + [SMALL_STATE(1759)] = 61077, + [SMALL_STATE(1760)] = 61087, + [SMALL_STATE(1761)] = 61097, + [SMALL_STATE(1762)] = 61105, + [SMALL_STATE(1763)] = 61115, + [SMALL_STATE(1764)] = 61125, + [SMALL_STATE(1765)] = 61135, + [SMALL_STATE(1766)] = 61143, + [SMALL_STATE(1767)] = 61153, + [SMALL_STATE(1768)] = 61163, + [SMALL_STATE(1769)] = 61173, + [SMALL_STATE(1770)] = 61183, + [SMALL_STATE(1771)] = 61191, + [SMALL_STATE(1772)] = 61201, + [SMALL_STATE(1773)] = 61211, + [SMALL_STATE(1774)] = 61221, + [SMALL_STATE(1775)] = 61231, + [SMALL_STATE(1776)] = 61241, + [SMALL_STATE(1777)] = 61251, + [SMALL_STATE(1778)] = 61259, + [SMALL_STATE(1779)] = 61269, + [SMALL_STATE(1780)] = 61279, + [SMALL_STATE(1781)] = 61287, + [SMALL_STATE(1782)] = 61297, + [SMALL_STATE(1783)] = 61307, + [SMALL_STATE(1784)] = 61317, + [SMALL_STATE(1785)] = 61327, + [SMALL_STATE(1786)] = 61337, + [SMALL_STATE(1787)] = 61347, + [SMALL_STATE(1788)] = 61357, + [SMALL_STATE(1789)] = 61367, + [SMALL_STATE(1790)] = 61377, + [SMALL_STATE(1791)] = 61387, + [SMALL_STATE(1792)] = 61397, + [SMALL_STATE(1793)] = 61407, + [SMALL_STATE(1794)] = 61417, + [SMALL_STATE(1795)] = 61427, + [SMALL_STATE(1796)] = 61437, + [SMALL_STATE(1797)] = 61447, + [SMALL_STATE(1798)] = 61457, + [SMALL_STATE(1799)] = 61467, + [SMALL_STATE(1800)] = 61477, + [SMALL_STATE(1801)] = 61487, + [SMALL_STATE(1802)] = 61497, + [SMALL_STATE(1803)] = 61507, + [SMALL_STATE(1804)] = 61517, + [SMALL_STATE(1805)] = 61527, + [SMALL_STATE(1806)] = 61537, + [SMALL_STATE(1807)] = 61547, + [SMALL_STATE(1808)] = 61555, + [SMALL_STATE(1809)] = 61565, + [SMALL_STATE(1810)] = 61575, + [SMALL_STATE(1811)] = 61582, + [SMALL_STATE(1812)] = 61589, + [SMALL_STATE(1813)] = 61596, + [SMALL_STATE(1814)] = 61603, + [SMALL_STATE(1815)] = 61610, + [SMALL_STATE(1816)] = 61617, + [SMALL_STATE(1817)] = 61624, + [SMALL_STATE(1818)] = 61631, + [SMALL_STATE(1819)] = 61638, + [SMALL_STATE(1820)] = 61645, + [SMALL_STATE(1821)] = 61652, + [SMALL_STATE(1822)] = 61659, + [SMALL_STATE(1823)] = 61666, + [SMALL_STATE(1824)] = 61673, + [SMALL_STATE(1825)] = 61680, + [SMALL_STATE(1826)] = 61687, + [SMALL_STATE(1827)] = 61694, + [SMALL_STATE(1828)] = 61701, + [SMALL_STATE(1829)] = 61708, + [SMALL_STATE(1830)] = 61715, + [SMALL_STATE(1831)] = 61722, + [SMALL_STATE(1832)] = 61729, + [SMALL_STATE(1833)] = 61736, + [SMALL_STATE(1834)] = 61743, + [SMALL_STATE(1835)] = 61750, + [SMALL_STATE(1836)] = 61757, + [SMALL_STATE(1837)] = 61764, + [SMALL_STATE(1838)] = 61771, + [SMALL_STATE(1839)] = 61778, + [SMALL_STATE(1840)] = 61785, + [SMALL_STATE(1841)] = 61792, + [SMALL_STATE(1842)] = 61799, + [SMALL_STATE(1843)] = 61806, + [SMALL_STATE(1844)] = 61813, + [SMALL_STATE(1845)] = 61820, + [SMALL_STATE(1846)] = 61827, + [SMALL_STATE(1847)] = 61834, + [SMALL_STATE(1848)] = 61841, + [SMALL_STATE(1849)] = 61848, + [SMALL_STATE(1850)] = 61855, + [SMALL_STATE(1851)] = 61862, + [SMALL_STATE(1852)] = 61869, + [SMALL_STATE(1853)] = 61876, + [SMALL_STATE(1854)] = 61883, + [SMALL_STATE(1855)] = 61890, + [SMALL_STATE(1856)] = 61897, + [SMALL_STATE(1857)] = 61904, + [SMALL_STATE(1858)] = 61911, + [SMALL_STATE(1859)] = 61918, + [SMALL_STATE(1860)] = 61925, + [SMALL_STATE(1861)] = 61932, + [SMALL_STATE(1862)] = 61939, + [SMALL_STATE(1863)] = 61946, + [SMALL_STATE(1864)] = 61953, + [SMALL_STATE(1865)] = 61960, + [SMALL_STATE(1866)] = 61967, + [SMALL_STATE(1867)] = 61974, + [SMALL_STATE(1868)] = 61981, + [SMALL_STATE(1869)] = 61988, + [SMALL_STATE(1870)] = 61995, + [SMALL_STATE(1871)] = 62002, + [SMALL_STATE(1872)] = 62009, + [SMALL_STATE(1873)] = 62016, + [SMALL_STATE(1874)] = 62023, + [SMALL_STATE(1875)] = 62030, + [SMALL_STATE(1876)] = 62037, + [SMALL_STATE(1877)] = 62044, + [SMALL_STATE(1878)] = 62051, + [SMALL_STATE(1879)] = 62058, + [SMALL_STATE(1880)] = 62065, + [SMALL_STATE(1881)] = 62072, + [SMALL_STATE(1882)] = 62079, + [SMALL_STATE(1883)] = 62086, + [SMALL_STATE(1884)] = 62093, + [SMALL_STATE(1885)] = 62100, + [SMALL_STATE(1886)] = 62107, + [SMALL_STATE(1887)] = 62114, + [SMALL_STATE(1888)] = 62121, + [SMALL_STATE(1889)] = 62128, + [SMALL_STATE(1890)] = 62135, + [SMALL_STATE(1891)] = 62142, + [SMALL_STATE(1892)] = 62149, + [SMALL_STATE(1893)] = 62156, + [SMALL_STATE(1894)] = 62163, + [SMALL_STATE(1895)] = 62170, + [SMALL_STATE(1896)] = 62177, + [SMALL_STATE(1897)] = 62184, + [SMALL_STATE(1898)] = 62191, + [SMALL_STATE(1899)] = 62198, + [SMALL_STATE(1900)] = 62205, + [SMALL_STATE(1901)] = 62212, + [SMALL_STATE(1902)] = 62219, + [SMALL_STATE(1903)] = 62226, + [SMALL_STATE(1904)] = 62233, + [SMALL_STATE(1905)] = 62240, + [SMALL_STATE(1906)] = 62247, + [SMALL_STATE(1907)] = 62254, + [SMALL_STATE(1908)] = 62261, + [SMALL_STATE(1909)] = 62268, + [SMALL_STATE(1910)] = 62275, + [SMALL_STATE(1911)] = 62282, + [SMALL_STATE(1912)] = 62289, + [SMALL_STATE(1913)] = 62296, + [SMALL_STATE(1914)] = 62303, + [SMALL_STATE(1915)] = 62310, + [SMALL_STATE(1916)] = 62317, + [SMALL_STATE(1917)] = 62324, + [SMALL_STATE(1918)] = 62331, + [SMALL_STATE(1919)] = 62338, + [SMALL_STATE(1920)] = 62345, + [SMALL_STATE(1921)] = 62352, + [SMALL_STATE(1922)] = 62359, + [SMALL_STATE(1923)] = 62366, + [SMALL_STATE(1924)] = 62373, + [SMALL_STATE(1925)] = 62380, + [SMALL_STATE(1926)] = 62387, + [SMALL_STATE(1927)] = 62394, + [SMALL_STATE(1928)] = 62401, + [SMALL_STATE(1929)] = 62408, + [SMALL_STATE(1930)] = 62415, + [SMALL_STATE(1931)] = 62422, + [SMALL_STATE(1932)] = 62429, + [SMALL_STATE(1933)] = 62436, + [SMALL_STATE(1934)] = 62443, + [SMALL_STATE(1935)] = 62450, + [SMALL_STATE(1936)] = 62457, + [SMALL_STATE(1937)] = 62464, + [SMALL_STATE(1938)] = 62471, + [SMALL_STATE(1939)] = 62478, + [SMALL_STATE(1940)] = 62485, + [SMALL_STATE(1941)] = 62492, + [SMALL_STATE(1942)] = 62499, + [SMALL_STATE(1943)] = 62506, + [SMALL_STATE(1944)] = 62513, + [SMALL_STATE(1945)] = 62520, + [SMALL_STATE(1946)] = 62527, + [SMALL_STATE(1947)] = 62534, + [SMALL_STATE(1948)] = 62541, + [SMALL_STATE(1949)] = 62548, + [SMALL_STATE(1950)] = 62555, + [SMALL_STATE(1951)] = 62562, + [SMALL_STATE(1952)] = 62569, + [SMALL_STATE(1953)] = 62576, + [SMALL_STATE(1954)] = 62583, + [SMALL_STATE(1955)] = 62590, + [SMALL_STATE(1956)] = 62597, + [SMALL_STATE(1957)] = 62604, + [SMALL_STATE(1958)] = 62611, + [SMALL_STATE(1959)] = 62618, + [SMALL_STATE(1960)] = 62625, + [SMALL_STATE(1961)] = 62632, + [SMALL_STATE(1962)] = 62639, + [SMALL_STATE(1963)] = 62646, + [SMALL_STATE(1964)] = 62653, + [SMALL_STATE(1965)] = 62660, + [SMALL_STATE(1966)] = 62667, + [SMALL_STATE(1967)] = 62674, + [SMALL_STATE(1968)] = 62681, + [SMALL_STATE(1969)] = 62688, + [SMALL_STATE(1970)] = 62695, + [SMALL_STATE(1971)] = 62702, + [SMALL_STATE(1972)] = 62709, + [SMALL_STATE(1973)] = 62716, + [SMALL_STATE(1974)] = 62723, + [SMALL_STATE(1975)] = 62730, + [SMALL_STATE(1976)] = 62737, + [SMALL_STATE(1977)] = 62744, + [SMALL_STATE(1978)] = 62751, + [SMALL_STATE(1979)] = 62758, + [SMALL_STATE(1980)] = 62765, + [SMALL_STATE(1981)] = 62772, + [SMALL_STATE(1982)] = 62779, + [SMALL_STATE(1983)] = 62786, + [SMALL_STATE(1984)] = 62793, + [SMALL_STATE(1985)] = 62800, + [SMALL_STATE(1986)] = 62807, + [SMALL_STATE(1987)] = 62814, + [SMALL_STATE(1988)] = 62821, + [SMALL_STATE(1989)] = 62828, + [SMALL_STATE(1990)] = 62835, + [SMALL_STATE(1991)] = 62842, + [SMALL_STATE(1992)] = 62849, + [SMALL_STATE(1993)] = 62856, + [SMALL_STATE(1994)] = 62863, + [SMALL_STATE(1995)] = 62870, + [SMALL_STATE(1996)] = 62877, + [SMALL_STATE(1997)] = 62884, + [SMALL_STATE(1998)] = 62891, + [SMALL_STATE(1999)] = 62898, + [SMALL_STATE(2000)] = 62905, + [SMALL_STATE(2001)] = 62912, + [SMALL_STATE(2002)] = 62919, + [SMALL_STATE(2003)] = 62926, + [SMALL_STATE(2004)] = 62933, + [SMALL_STATE(2005)] = 62940, + [SMALL_STATE(2006)] = 62947, + [SMALL_STATE(2007)] = 62954, + [SMALL_STATE(2008)] = 62961, + [SMALL_STATE(2009)] = 62968, + [SMALL_STATE(2010)] = 62975, + [SMALL_STATE(2011)] = 62982, + [SMALL_STATE(2012)] = 62989, + [SMALL_STATE(2013)] = 62996, + [SMALL_STATE(2014)] = 63003, + [SMALL_STATE(2015)] = 63010, + [SMALL_STATE(2016)] = 63017, + [SMALL_STATE(2017)] = 63024, + [SMALL_STATE(2018)] = 63031, + [SMALL_STATE(2019)] = 63038, + [SMALL_STATE(2020)] = 63045, + [SMALL_STATE(2021)] = 63052, + [SMALL_STATE(2022)] = 63059, + [SMALL_STATE(2023)] = 63066, +}; + +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, 0, 0), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1333), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1578), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1130), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1582), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1806), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(945), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(985), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(854), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1996), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1988), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(918), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(734), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(730), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(716), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1890), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1491), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1375), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1418), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1757), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1753), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(606), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1878), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1731), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1881), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1910), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1810), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1678), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(577), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1936), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1939), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1950), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1473), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1645), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1523), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1110), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(694), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1335), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1694), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1163), + [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 2, 0, 18), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1693), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1140), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1712), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1790), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(958), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(980), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(851), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1796), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1768), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1925), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1787), + [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2018), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2019), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2017), + [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1683), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1759), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2008), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(695), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372), + [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, 0, 41), + [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 3, 0, 18), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), + [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), + [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, 0, 41), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(371), + [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1335), + [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1694), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1163), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1693), + [216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1790), + [219] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(558), + [231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(958), + [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(980), + [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(851), + [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1562), + [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(918), + [255] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(41), + [258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(734), + [261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1491), + [276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1375), + [279] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1418), + [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1796), + [285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1768), + [288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(522), + [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1925), + [294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1787), + [297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(186), + [300] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2018), + [303] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(457), + [306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2019), + [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2017), + [312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1683), + [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1759), + [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2008), + [321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(579), + [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(577), + [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1936), + [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1939), + [333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1950), + [336] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1473), + [339] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(690), + [342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1645), + [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1523), + [348] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(695), + [351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(694), + [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(415), + [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1336), + [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1601), + [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1125), + [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1603), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1766), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(953), + [371] = {.entry = {.count = 1, .reusable = false}}, SHIFT(979), + [373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(850), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1762), + [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1795), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591), + [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1842), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), + [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1978), + [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1846), + [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1849), + [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1635), + [401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1743), + [403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1819), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1332), + [409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1634), + [411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1141), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1, 0, 0), + [415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1661), + [417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1771), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(954), + [423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), + [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(852), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1744), + [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1774), + [433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(521), + [435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1837), + [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1758), + [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2021), + [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465), + [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1915), + [447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1914), + [449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1658), + [451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1775), + [453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1906), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2, 0, 0), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1332), + [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1634), + [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1141), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1661), + [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1771), + [476] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(197), + [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(954), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(981), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(852), + [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1744), + [494] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1774), + [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(521), + [500] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1837), + [503] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1758), + [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(176), + [509] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2021), + [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(465), + [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1915), + [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1914), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1658), + [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1775), + [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1906), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1336), + [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1601), + [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1125), + [539] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1603), + [542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1766), + [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(277), + [548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(953), + [551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(979), + [554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(850), + [557] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1762), + [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1795), + [568] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(591), + [571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1842), + [574] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1754), + [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(185), + [580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1978), + [583] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1846), + [589] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1849), + [592] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1635), + [595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1743), + [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1819), + [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), + [627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [630] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1333), + [633] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1578), + [636] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1130), + [639] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1582), + [642] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1806), + [645] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [651] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [654] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(558), + [657] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(945), + [660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(985), + [663] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(854), + [666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [669] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1562), + [672] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [675] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(918), + [678] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(28), + [681] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(734), + [684] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [687] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [690] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [693] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [696] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1491), + [699] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1375), + [702] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1418), + [705] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1757), + [708] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1753), + [711] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(606), + [714] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1878), + [717] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1731), + [720] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(175), + [723] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1881), + [726] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(467), + [729] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1910), + [732] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1810), + [735] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1678), + [738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(579), + [741] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(577), + [744] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1936), + [747] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1939), + [750] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1950), + [753] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1473), + [756] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(690), + [759] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1645), + [762] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1523), + [765] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1110), + [768] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(694), + [771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(415), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0), + [776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, 0, 10), + [778] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [789] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(517), + [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(558), + [795] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [798] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(958), + [801] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(980), + [804] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [807] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [810] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1562), + [813] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [816] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(41), + [819] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(734), + [822] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [825] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [828] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1491), + [834] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1375), + [837] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1418), + [840] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1796), + [843] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1768), + [846] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1787), + [849] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(186), + [852] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2018), + [855] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(457), + [858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2019), + [861] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2017), + [864] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1683), + [867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1759), + [870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2008), + [873] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(579), + [876] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(577), + [879] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1936), + [882] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1939), + [885] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1950), + [888] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1473), + [891] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(690), + [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1645), + [897] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1523), + [900] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(695), + [903] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(694), + [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(415), + [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2, 0, 0), + [911] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 0), + [913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 10), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [917] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(220), + [920] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(945), + [923] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(985), + [926] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(28), + [929] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1757), + [932] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1753), + [935] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1731), + [938] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(175), + [941] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1881), + [944] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(467), + [947] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1910), + [950] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1810), + [953] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1678), + [956] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1772), + [959] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1867), + [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 10), + [964] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(197), + [967] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(954), + [970] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(981), + [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1744), + [979] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1774), + [982] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1758), + [985] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(176), + [988] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2021), + [991] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(465), + [994] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1915), + [997] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1914), + [1000] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1658), + [1003] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1775), + [1006] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1906), + [1009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2, 0, 0), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1772), + [1015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1867), + [1017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 10), + [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 0), + [1021] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(277), + [1024] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(953), + [1027] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(979), + [1030] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [1033] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1762), + [1036] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1795), + [1039] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1754), + [1042] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(185), + [1045] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1978), + [1048] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [1051] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1846), + [1054] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1849), + [1057] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1635), + [1060] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1743), + [1063] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1819), + [1066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1802), + [1068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1793), + [1070] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1998), + [1072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1791), + [1074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1802), + [1077] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1793), + [1080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1998), + [1083] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1791), + [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1531), + [1090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 1), + [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 1), + [1094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 28), + [1096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 28), + [1098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_finally_clause, 2, 0, 8), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_finally_clause, 2, 0, 8), + [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 34), + [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 34), + [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, 0, 77), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, 0, 77), + [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 64), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 64), + [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), + [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), + [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0), + [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 77), + [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 77), + [1136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 48), + [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 48), + [1140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [1144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 62), + [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 62), + [1148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_except_clause, 3, 0, 101), + [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_except_clause, 3, 0, 101), + [1152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 6, 0, 112), + [1154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 6, 0, 112), + [1156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 30), + [1158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 30), + [1160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [1162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [1164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, 0, 82), + [1166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, 0, 82), + [1168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 38), + [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 38), + [1172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 86), + [1174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 86), + [1176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [1178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [1180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 91), + [1182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 91), + [1184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [1190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [1192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 92), + [1194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 92), + [1196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [1198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [1200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0), + [1206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0), + [1208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, 0, 48), + [1210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, 0, 48), + [1212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 29), + [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 29), + [1216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_try_statement, 3, 0, 8), + [1218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_try_statement, 3, 0, 8), + [1220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 56), + [1222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 56), + [1224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 29), + [1226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 29), + [1228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 42), + [1230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 42), + [1232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0), + [1234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0), + [1236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 2), + [1238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 2), + [1240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, 0, 17), + [1242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, 0, 17), + [1244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, 0, 18), + [1246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, 0, 18), + [1248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, 0, 18), + [1250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, 0, 18), + [1252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, 0, 98), + [1254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, 0, 98), + [1256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, 0, 19), + [1258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, 0, 19), + [1260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, 0, 24), + [1262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, 0, 24), + [1264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 5, 0, 96), + [1266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 5, 0, 96), + [1268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 95), + [1270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 95), + [1272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [1275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [1278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0), + [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0), + [1282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, 0, 74), + [1284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, 0, 74), + [1286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 41), + [1288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 41), + [1290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 73), + [1292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 73), + [1294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, 0, 72), + [1296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, 0, 72), + [1298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 32), + [1300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 32), + [1302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 68), + [1304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 68), + [1306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, 0, 5), + [1308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, 0, 5), + [1310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 3, 0, 35), + [1312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 3, 0, 35), + [1314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 67), + [1316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 67), + [1318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 66), + [1320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 66), + [1322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, 0, 39), + [1324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, 0, 39), + [1326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, 0, 40), + [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, 0, 40), + [1330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, 0, 41), + [1332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, 0, 41), + [1334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [1336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [1338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 18), + [1340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 18), + [1342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 61), + [1344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 61), + [1346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, 0, 58), + [1348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, 0, 58), + [1350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580), + [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583), + [1358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502), + [1360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(610), + [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), + [1366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(396), + [1369] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(362), + [1372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(517), + [1375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(517), + [1378] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(558), + [1381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(197), + [1384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1527), + [1387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(39), + [1390] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1744), + [1393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1774), + [1396] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(521), + [1399] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1837), + [1402] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1758), + [1405] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(176), + [1408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2021), + [1411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(465), + [1414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1915), + [1417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1914), + [1420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1658), + [1423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1775), + [1426] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1906), + [1429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(579), + [1432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(577), + [1435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1936), + [1438] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1939), + [1441] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1950), + [1444] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1473), + [1447] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(690), + [1450] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1645), + [1453] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1523), + [1456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(695), + [1459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(694), + [1462] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(727), + [1465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(83), + [1468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(41), + [1471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1796), + [1474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1768), + [1477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(522), + [1480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1925), + [1483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1787), + [1486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(186), + [1489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2018), + [1492] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(457), + [1495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2019), + [1498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2017), + [1501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1683), + [1504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1759), + [1507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2008), + [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1527), + [1512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(727), + [1514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(524), + [1516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2002), + [1518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), + [1520] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(277), + [1523] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(28), + [1526] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1802), + [1529] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1753), + [1532] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(524), + [1535] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2002), + [1538] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1793), + [1541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(175), + [1544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1998), + [1547] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(467), + [1550] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1910), + [1553] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1810), + [1556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1678), + [1559] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1791), + [1562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1819), + [1565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), + [1567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(32), + [1570] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1762), + [1573] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1795), + [1576] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(591), + [1579] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1842), + [1582] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1754), + [1585] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(185), + [1588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1978), + [1591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(475), + [1594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1846), + [1597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1849), + [1600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1635), + [1603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1743), + [1606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), + [1608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(220), + [1611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1757), + [1614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(606), + [1617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1878), + [1620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1731), + [1623] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1881), + [1626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1772), + [1629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1867), + [1632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), + [1636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(538), + [1638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1109), + [1640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1494), + [1642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1383), + [1644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1441), + [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 2), + [1650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 2), + [1652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [1654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [1656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [1659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [1662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(503), + [1664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505), + [1668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [1670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [1672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [1674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [1676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(516), + [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [1680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(512), + [1682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 4), + [1684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [1686] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), SHIFT(983), + [1690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [1692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [1695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), + [1697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(772), + [1699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [1705] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(624), + [1708] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [1719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [1721] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(358), + [1724] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), + [1733] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1736] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [1739] = {.entry = {.count = 4, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [1744] = {.entry = {.count = 4, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [1749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [1758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708), + [1760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), + [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398), + [1764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1977), + [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [1770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(666), + [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1485), + [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1413), + [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [1780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), + [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1503), + [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [1786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1349), + [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393), + [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489), + [1798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), + [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1780), + [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), + [1804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(819), + [1808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1773), + [1810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), + [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [1816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), + [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1416), + [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1351), + [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1497), + [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1836), + [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693), + [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [1836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1648), + [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), + [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), + [1842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1625), + [1844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1151), + [1846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(890), + [1848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1698), + [1850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), + [1852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1157), + [1854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1684), + [1856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1794), + [1858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, 0, 41), + [1860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(875), + [1862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(896), + [1864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(878), + [1866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(810), + [1868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(814), + [1870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(816), + [1872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(820), + [1874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(887), + [1876] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 2, 0, 18), + [1878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(894), + [1880] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 41), + [1882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(862), + [1884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(879), + [1886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 18), + [1888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969), + [1892] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [1895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1625), + [1898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1151), + [1901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [1903] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1698), + [1906] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1794), + [1909] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [1912] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [1915] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [1918] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1531), + [1921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [1924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(734), + [1927] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [1930] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [1933] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1491), + [1936] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1375), + [1939] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1418), + [1942] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [1945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(920), + [1947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566), + [1949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [1951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(545), + [1953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 1, 0, 0), + [1955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), + [1957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [1959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1662), + [1961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1129), + [1963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1706), + [1965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1760), + [1967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(749), + [1969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [1971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 57), + [1975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 85), + [1977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 41), + [1979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [1981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [1985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [1987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [1989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [1991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1622), + [1993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1144), + [1995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1, 0, 0), + [1997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1677), + [1999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1808), + [2001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [2003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [2005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), + [2007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [2009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(705), + [2011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777), + [2013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [2015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [2017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [2019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 0), + [2021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2, 0, 0), + [2023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [2025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [2027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [2029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707), + [2031] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1622), + [2034] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1144), + [2037] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1677), + [2040] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1808), + [2043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [2045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 57), + [2047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [2049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 106), + [2051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [2053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1662), + [2056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1129), + [2059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1706), + [2062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1760), + [2065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [2067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1368), + [2069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1478), + [2071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1495), + [2073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1394), + [2075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420), + [2077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388), + [2079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432), + [2081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486), + [2083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1501), + [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1363), + [2087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [2089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [2091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [2093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [2095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [2097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [2099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [2101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [2103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [2105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [2107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [2109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [2111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [2114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [2116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [2118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1523), + [2121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [2124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [2126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [2130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [2132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [2134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 1, 0, 0), + [2136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 2, 0, 0), + [2138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 2, 0, 0), + [2140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 3, 0, 0), + [2142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 3, 0, 0), + [2144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59), + [2146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59), + [2148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89), + [2150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89), + [2152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125), + [2154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125), + [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844), + [2158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88), + [2162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130), + [2164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130), + [2166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121), + [2168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121), + [2170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120), + [2172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120), + [2174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109), + [2176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109), + [2178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [2180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [2182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [2185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [2188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [2191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1531), + [2194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [2197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [2200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110), + [2202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110), + [2204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126), + [2206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126), + [2208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [2211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [2214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(730), + [2217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [2220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1531), + [2223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1988), + [2226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), + [2228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(734), + [2231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [2234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [2237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1491), + [2240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1375), + [2243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1418), + [2246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [2249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 1, 0, 0), + [2251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string, 1, 0, 0), + [2253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [2255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [2257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [2259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [2261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(708), + [2264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(666), + [2267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1977), + [2270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [2274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 13), + [2276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 13), + [2278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(624), + [2281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3, 0, 0), + [2283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3, 0, 0), + [2285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignof_expression, 4, 0, 58), + [2287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignof_expression, 4, 0, 58), + [2289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_offsetof_expression, 6, 0, 107), + [2291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_offsetof_expression, 6, 0, 107), + [2293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, 0, 69), + [2295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, 0, 69), + [2297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5, 0, 0), + [2299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5, 0, 0), + [2301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531), + [2303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [2305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4, 0, 0), + [2307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4, 0, 0), + [2309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 8, 0, 0), + [2311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 8, 0, 0), + [2313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 37), + [2315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 37), + [2317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__char_literal, 3, 0, 0), + [2319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__char_literal, 3, 0, 0), + [2321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [2323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [2325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 12), + [2327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 12), + [2329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, 0, 46), + [2331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, 0, 46), + [2333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2, 0, 0), + [2335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2, 0, 0), + [2337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_null, 1, 0, 0), + [2339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null, 1, 0, 0), + [2341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 1, 0, 0), + [2343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 1, 0, 0), + [2345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 9, 0, 0), + [2347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 9, 0, 0), + [2349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, 0, 0), + [2351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, 0, 0), + [2353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), + [2355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [2357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), + [2359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [2361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [2363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [2365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [2367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [2369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [2371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [2373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [2375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [2377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 27), + [2379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 27), + [2381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [2383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 9), + [2385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 9), + [2387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 54), + [2389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 54), + [2391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 27), + [2393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 27), + [2395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 9), + [2397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 9), + [2399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [2401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [2403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, 0, 15), + [2405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, 0, 15), + [2407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [2409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [2411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [2413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 15), + [2415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 15), + [2417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [2419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [2421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 8), + [2423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 8), + [2425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 25), + [2427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 25), + [2429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 53), + [2431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 53), + [2433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(447), + [2436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [2438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [2440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(761), + [2442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(763), + [2444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(447), + [2447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 26), + [2449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 26), + [2451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 55), + [2453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 55), + [2455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(737), + [2462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 25), + [2464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 25), + [2466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 81), + [2468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 81), + [2470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(567), + [2472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [2474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 26), + [2476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 26), + [2478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 55), + [2480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 55), + [2482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 8), + [2484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 8), + [2486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [2488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [2490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 6), + [2492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 6), + [2494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [2496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [2498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1579), + [2500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 26), + [2502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 26), + [2504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 27), + [2506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 27), + [2508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 25), + [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 25), + [2512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [2514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [2516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 9), + [2518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 9), + [2520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 8), + [2522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 8), + [2524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 36), + [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 36), + [2528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [2530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 51), + [2532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 51), + [2534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 54), + [2536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 54), + [2538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [2540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [2542] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 8), + [2544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 8), + [2546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 9), + [2548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 9), + [2550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 25), + [2552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 25), + [2554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 8), + [2556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 8), + [2558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 97), + [2560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 97), + [2562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(590), + [2564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(596), + [2566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [2568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [2570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(597), + [2572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598), + [2574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599), + [2576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [2578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605), + [2580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [2582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607), + [2584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [2586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 16), + [2594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 16), + [2596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795), + [2598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 15), + [2600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 15), + [2602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796), + [2604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 4, 0, 70), + [2606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 4, 0, 70), + [2608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, 0, 10), + [2610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, 0, 10), + [2612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 6), + [2614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 6), + [2616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 9), + [2618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 9), + [2620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 27), + [2622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 27), + [2624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 26), + [2626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 26), + [2628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, 0, 6), + [2630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, 0, 6), + [2632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 53), + [2634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 53), + [2636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 14), + [2638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 14), + [2640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(737), + [2642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 36), + [2644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 36), + [2646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [2648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [2650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_type_specifier, 4, -1, 71), + [2652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_type_specifier, 4, -1, 71), + [2654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 55), + [2656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 55), + [2658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [2660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [2662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, 0, 55), + [2664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, 0, 55), + [2666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), + [2668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), + [2670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(786), + [2672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 0, 46), + [2674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 0, 46), + [2676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, 0, 81), + [2678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, 0, 81), + [2680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 25), + [2682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 25), + [2684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(983), + [2687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 6, 0, 79), + [2689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 6, 0, 79), + [2691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 16), + [2693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 16), + [2695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 15), + [2697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 15), + [2699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [2701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [2703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [2705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [2707] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98), + [2709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98), + [2711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74), + [2713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74), + [2715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [2717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 41), + [2719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 41), + [2721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73), + [2723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73), + [2725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 80), + [2727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 80), + [2729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 18), + [2731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 18), + [2733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 42), + [2735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 42), + [2737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 41), + [2739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 41), + [2741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [2743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0), + [2745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1015), + [2747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1017), + [2749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [2751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [2753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 18), + [2755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 18), + [2757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 80), + [2759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 80), + [2761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0), + [2763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 43), + [2765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 43), + [2767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 43), + [2769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 43), + [2771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575), + [2773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615), + [2775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(614), + [2777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [2779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(589), + [2781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588), + [2783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(586), + [2785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [2787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(563), + [2789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [2791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560), + [2793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), + [2795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [2797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 9), + [2799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 9), + [2801] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 9), SHIFT(1996), + [2804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299), + [2806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1916), + [2808] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [2813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2815] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2818] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), + [2820] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [2825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2827] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2830] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), + [2832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 51), + [2834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 51), + [2836] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 51), SHIFT(1996), + [2839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1552), + [2841] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), SHIFT(848), + [2844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), + [2846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 8), + [2848] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), SHIFT(1996), + [2851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), + [2853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861), + [2855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1448), + [2857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1447), + [2859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79), + [2861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 79), + [2863] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79), SHIFT(1996), + [2866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 25), + [2868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 25), + [2870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 25), SHIFT(1996), + [2873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [2875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(537), + [2877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), + [2879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), + [2881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), + [2883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [2885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529), + [2887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [2889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), + [2891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1575), + [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [2895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [2897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534), + [2899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [2901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [2903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [2905] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(1488), + [2908] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(951), + [2911] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), + [2914] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), + [2917] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(983), + [2921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), + [2924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [2926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0), + [2928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210), + [2930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [2932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_declarator, 2, 0, 33), + [2934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_declarator, 2, 0, 33), + [2936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(982), + [2938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198), + [2940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961), + [2942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(978), + [2946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(987), + [2948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0), + [2950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0), + [2952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(984), + [2954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [2956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [2958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593), + [2960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [2962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [2964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [2966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [2968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(518), + [2970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [2972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(520), + [2974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [2976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [2978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [2980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [2982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1015), + [2984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), + [2986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1890), + [2988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 3, 0, 78), + [2990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, 0, 78), + [2992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167), + [2994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1179), + [2996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1487), + [2998] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1483), + [3000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [3002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [3004] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1015), + [3007] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1017), + [3010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(561), + [3012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [3014] = {.entry = {.count = 1, .reusable = false}}, SHIFT(557), + [3016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [3018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [3020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553), + [3022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), + [3024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551), + [3026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [3028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), + [3030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [3032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [3034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [3036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [3038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [3040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [3042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [3044] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [3046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [3048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, 0, 13), + [3050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, 0, 13), + [3052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [3054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [3056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [3059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1890), + [3062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [3064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [3066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), + [3068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, 0, 45), + [3070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [3072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [3074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [3076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), + [3078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), + [3080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1817), + [3082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), + [3084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [3086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [3088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [3090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2, 0, 0), + [3092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(989), + [3094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [3096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(501), + [3098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [3100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(576), + [3102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [3104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [3106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, 0, 63), + [3108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [3110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [3112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [3114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), + [3116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), + [3118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(571), + [3120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [3122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(569), + [3124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [3126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), + [3128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [3130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 5, 0, 117), + [3132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [3134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [3136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [3138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [3140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [3142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), + [3144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 83), + [3146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667), + [3148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [3150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [3152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [3154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [3156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 4, 0, 0), + [3158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [3160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1668), + [3162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 84), + [3164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [3166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 116), + [3168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 115), + [3170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), + [3172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [3174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 3, 0, 0), + [3176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [3178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [3180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [3182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 103), + [3184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 105), + [3186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 104), + [3188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [3190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [3192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(682), + [3194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [3196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), + [3198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706), + [3200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [3202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [3204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [3206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1665), + [3208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [3210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1637), + [3212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(988), + [3214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1604), + [3216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 3), + [3218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 15), + [3220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1116), + [3222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 15), + [3224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, 0, 3), + [3226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1255), + [3228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1155), + [3230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1540), + [3232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127), + [3234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1127), + [3236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1205), + [3238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1682), + [3240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195), + [3242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1010), + [3244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2003), + [3246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206), + [3248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161), + [3250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1538), + [3252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1160), + [3254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1160), + [3256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1241), + [3258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1641), + [3260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218), + [3262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [3264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [3266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 3, 0, 15), + [3268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 3, 0, 15), + [3270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [3272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [3274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 15), + [3276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 15), + [3278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1183), + [3281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1180), + [3284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 4), SHIFT(1182), + [3287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(1184), + [3290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 15), SHIFT(1187), + [3293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 16), SHIFT(1188), + [3296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 14), SHIFT(737), + [3299] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT(737), + [3303] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), SHIFT(737), + [3306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [3308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1115), + [3310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [3312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, 0, 43), + [3314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 15), SHIFT(737), + [3317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 16), SHIFT(737), + [3320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1142), + [3322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1012), + [3324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148), + [3326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1139), + [3328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1139), + [3330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), + [3332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156), + [3334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1152), + [3336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149), + [3338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1147), + [3340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1145), + [3342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1143), + [3344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1143), + [3346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1120), + [3348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1868), + [3350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260), + [3352] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [3356] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 1), + [3360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1114), + [3362] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [3364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [3366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [3368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 36), + [3370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, 0, 36), + [3372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [3374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [3376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 6), + [3378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, 0, 6), + [3380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [3382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [3384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), + [3386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [3388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1122), + [3390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1123), + [3392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1124), + [3394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1131), + [3396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1132), + [3398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1133), + [3400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1134), + [3402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1135), + [3404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1136), + [3406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1137), + [3408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [3410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1996), + [3412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 9), SHIFT(1817), + [3415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [3417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1327), + [3419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [3421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281), + [3423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [3425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230), + [3427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [3429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [3431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1203), + [3433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [3435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1278), + [3437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1326), + [3439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [3441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1325), + [3443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 2, 0, 33), + [3445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, 0, 33), + [3447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, 0, 33), + [3449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 4, 0, 33), + [3451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 4, 0, 33), + [3453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864), + [3455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, 0, 33), + [3457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, 0, 33), + [3459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 3, 0, 41), + [3461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1439), + [3463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1146), + [3465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1713), + [3467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [3470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), + [3472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [3475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), + [3477] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [3480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(876), + [3482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1423), + [3484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 2, 0, 18), + [3486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 3, 0, 33), + [3488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 3, 0, 33), + [3490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), + [3492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437), + [3494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1162), + [3496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1696), + [3498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [3500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(744), + [3502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4, 0, 0), + [3504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [3506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [3512] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1562), + [3515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [3517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 1, 0, 0), + [3519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1358), + [3521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, 1, 31), + [3523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), + [3525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), + [3527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, 1, 90), + [3529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 41), + [3531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1454), + [3533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1165), + [3535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1639), + [3537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425), + [3539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456), + [3541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1119), + [3543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1726), + [3545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1854), + [3547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 41), + [3549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, 1, 60), + [3551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [3554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1159), + [3557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1697), + [3560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1806), + [3563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [3565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [3568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424), + [3570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1833), + [3572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436), + [3574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, 1, 111), + [3576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 3, 0, 41), + [3578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1440), + [3580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 2, 0, 18), + [3582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 18), + [3584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 18), + [3586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1799), + [3588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1561), + [3590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1912), + [3592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1789), + [3594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1985), + [3596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), + [3598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 1, 0, 23), + [3600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [3602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), + [3604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1896), + [3606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1857), + [3608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), + [3610] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), + [3615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [3617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [3619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 1, 0, 0), + [3621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588), + [3623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 1, 0, 0), + [3625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1650), + [3627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, 1, 111), + [3629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, 1, 60), + [3631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, 1, 31), + [3633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, 1, 90), + [3635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 31), + [3637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, 0, 23), + [3639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, 0, 23), + [3641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [3643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [3645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 23), + [3647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 23), + [3649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), + [3651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), + [3653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, 1, 111), + [3655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), + [3657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, 1, 60), + [3659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, 1, 31), + [3661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [3663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [3665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, 1, 90), + [3667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1272), + [3669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 1, 0, 23), + [3671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, 0, 113), + [3673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, 0, 113), + [3675] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [3678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [3680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [3682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(447), + [3685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [3687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [3689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [3691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [3693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 93), + [3695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 93), + [3697] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [3700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [3702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [3704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [3707] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 1, 0, 7), + [3709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, 0, 7), + [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), + [3713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 31), + [3715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 0), + [3717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [3719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [3721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, 0, 113), + [3723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, 0, 113), + [3725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 52), + [3727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 52), + [3729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, 0, 33), + [3731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, 0, 33), + [3733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 23), + [3735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 23), + [3737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 93), + [3739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 93), + [3741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [3743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [3745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, 0, 23), + [3747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, 0, 23), + [3749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [3751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [3753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 34), + [3755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 0), + [3757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 0), + [3759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [3761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445), + [3763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [3765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(600), + [3768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), + [3770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(1648), + [3773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 23), + [3775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 23), + [3777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 42), + [3779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 42), + [3781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), + [3783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [3786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, 0, 23), + [3788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, 0, 23), + [3790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1396), + [3792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [3794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, 0, 113), + [3796] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, 0, 113), + [3798] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73), + [3800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73), + [3802] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 41), + [3804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 41), + [3806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 18), + [3808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 18), + [3810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 41), + [3812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 41), + [3814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), + [3816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1429), + [3818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1400), + [3820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [3822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [3824] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74), + [3826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74), + [3828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, 0, 33), + [3830] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, 0, 33), + [3832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 93), + [3834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 93), + [3836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [3838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [3840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1434), + [3842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 18), + [3844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 18), + [3846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360), + [3848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 1, 0, 0), + [3850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98), + [3852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98), + [3854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 4), + [3856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 4), + [3858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [3860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1648), + [3862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 0), + [3864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 0), + [3866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 22), + [3868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 22), + [3870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 4, 0, 33), + [3872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), + [3874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [3876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473), + [3878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [3880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 20), + [3882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [3884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 1, 0, 0), + [3886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), + [3888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, 0, 76), + [3890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931), + [3892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944), + [3894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 90), + [3896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), + [3898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1568), + [3901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 2, 0, 0), + [3903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 60), + [3905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 44), + [3907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [3909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [3911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [3913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [3915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [3917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 47), + [3919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930), + [3921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1343), + [3923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1568), + [3925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 31), + [3927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [3929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 2, 0, 0), + [3931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1337), + [3933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 99), + [3935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1598), + [3937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801), + [3939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0), + [3941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 7), + [3943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1640), + [3945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0), + [3947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 75), + [3949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 23), + [3951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, 0, 33), + [3953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 93), + [3955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0), + [3957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0), + [3959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1, 0, 0), + [3961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, 0, 21), + [3963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, 0, 113), + [3965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 23), + [3967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 31), + [3969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 3, 0, 94), + [3971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 1, 0, 0), + [3973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [3975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1479), + [3977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877), + [3979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [3981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [3983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866), + [3985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1813), + [3987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), + [3989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1883), + [3991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [3993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 65), SHIFT_REPEAT(1308), + [3996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 65), + [3998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 3, 0, 102), + [4000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765), + [4002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1736), + [4004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1779), + [4006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806), + [4008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1818), + [4010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [4012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 23), + [4014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [4016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1767), + [4018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778), + [4020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626), + [4022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1546), + [4024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1546), + [4026] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1352), + [4029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118), + [4031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1369), + [4033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 3, 0, 108), + [4035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339), + [4037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 2, 0, 119), + [4039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [4041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [4043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [4045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1884), + [4047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 49), + [4049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [4051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [4053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1829), + [4055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [4057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [4059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481), + [4061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1805), + [4063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1804), + [4065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1720), + [4067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1206), + [4069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), + [4071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845), + [4073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1692), + [4075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [4077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1783), + [4079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1755), + [4081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [4083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 11), + [4085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 2, 0, 49), + [4087] = {.entry = {.count = 1, .reusable = false}}, SHIFT(627), + [4089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560), + [4091] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1560), + [4093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [4095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(689), + [4097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1559), + [4099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [4101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1369), + [4104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118), + [4106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1496), + [4108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(849), + [4110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564), + [4112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1564), + [4114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 3, 0, 123), + [4116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [4118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [4120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2000), + [4122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128), SHIFT_REPEAT(1339), + [4125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128), + [4127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [4129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [4131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__char_literal_repeat1, 2, 0, 0), + [4133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__char_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1559), + [4136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), + [4138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1560), + [4141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1560), + [4144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2022), + [4146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565), + [4148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1565), + [4150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200), + [4152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(853), + [4154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2009), + [4156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1225), + [4158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1352), + [4160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 2, 0, 87), + [4162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_qualifier, 1, 0, 0), + [4164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [4166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1785), + [4168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1788), + [4170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 2, 0, 87), + [4172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 65), SHIFT_REPEAT(1272), + [4175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 65), + [4177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 3, 0, 108), + [4179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 50), + [4181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [4183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1488), + [4185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957), + [4187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1679), + [4189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1679), + [4191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(798), + [4193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798), + [4195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [4197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [4199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1118), + [4201] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(1536), + [4204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), + [4206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [4208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [4210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [4212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [4214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [4216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [4218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536), + [4220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [4222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), + [4224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1301), + [4226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [4228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [4230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [4232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [4234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516), + [4236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1745), + [4238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), + [4240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1342), + [4242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [4244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [4246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 7, 0, 132), + [4248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 7, 0, 132), + [4250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(960), + [4252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [4254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), + [4256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942), + [4258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [4260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131), SHIFT_REPEAT(1616), + [4263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131), + [4265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), + [4267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [4269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), + [4271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [4273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341), + [4275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1616), + [4277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 3, 0, 129), + [4279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [4281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [4283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [4285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919), + [4287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [4289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), + [4291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940), + [4293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [4295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229), + [4297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [4299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [4301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 119), + [4305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 4, 0, 122), + [4307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821), + [4309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1566), + [4311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700), + [4313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(939), + [4315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1548), + [4317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [4319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882), + [4321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), + [4323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1507), + [4325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [4327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [4329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [4331] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(453), + [4334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(989), + [4337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), + [4339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [4341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305), + [4343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), + [4345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1142), + [4348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(935), + [4350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_range_designator, 5, 0, 127), + [4352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 2, 0, 124), + [4354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 87), + [4356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3, 0, 0), + [4358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [4360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1300), + [4362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 4, 0, 122), + [4364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [4366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1488), + [4369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), + [4371] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), SHIFT_REPEAT(1516), + [4374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), + [4376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927), + [4378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(811), + [4380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [4382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924), + [4384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [4386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1563), + [4388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923), + [4390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(446), + [4393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764), + [4397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [4399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [4401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [4403] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(658), + [4406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [4408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [4410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [4412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [4414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [4416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [4418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [4420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), + [4422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1940), + [4424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [4426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [4428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 87), + [4430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [4432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, 0, 100), + [4434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [4436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [4438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(925), + [4440] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 65), SHIFT_REPEAT(1173), + [4443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 65), + [4445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926), + [4447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [4449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), + [4451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 31), + [4453] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), + [4456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [4458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1995), + [4460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [4462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [4464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1855), + [4466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 50), + [4468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [4470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [4472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1944), + [4474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 7), + [4476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419), + [4478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 3, 0, 0), + [4480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3, 0, 0), + [4482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 4, 0, 114), + [4484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(884), + [4486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1909), + [4488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 4, 0, 0), + [4490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4, 0, 0), + [4492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [4494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1862), + [4496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 124), + [4498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [4500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1834), + [4502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1, 0, 0), + [4504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [4506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1825), + [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [4510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2016), + [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), + [4514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1822), + [4516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [4518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1960), + [4520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801), + [4522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1814), + [4524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 2, 0, 0), + [4526] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2, 0, 0), + [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), + [4530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [4532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1981), + [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863), + [4536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1812), + [4538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [4540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1815), + [4542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [4544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867), + [4546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(869), + [4548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), + [4550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), + [4552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024), + [4554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), + [4556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [4558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [4560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), + [4562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1406), + [4564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), + [4566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [4568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1861), + [4570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [4572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [4574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [4576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [4578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 18), + [4580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [4582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [4584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1430), + [4586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [4588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [4590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 42), + [4592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [4594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [4596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, 0, 98), + [4598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662), + [4600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [4602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [4604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 3, 0, 42), + [4606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [4608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [4610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [4612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 73), + [4614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442), + [4616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 41), + [4618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885), + [4620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1902), + [4622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 42), + [4624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 42), + [4626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 5, 0, 74), + [4628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [4630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [4632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), + [4636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [4638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [4640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 42), + [4642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1776), + [4644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1852), + [4646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1422), + [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [4650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [4652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [4654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(859), + [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [4662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [4664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414), + [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1671), + [4668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1402), + [4670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [4672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [4674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(868), + [4676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1841), + [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [4680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [4682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [4684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [4686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [4688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [4690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 6, 0, 98), + [4692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 73), + [4694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [4696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 73), + [4698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), + [4700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [4702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 4, 0, 74), + [4704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [4706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [4708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847), + [4710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [4712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 4, 0, 74), + [4714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883), + [4716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 4, 0, 74), + [4718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 73), + [4720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1261), + [4722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 4, 0, 74), + [4724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [4726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, 0, 73), + [4728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [4730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [4732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [4734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888), + [4736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1651), + [4738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), + [4740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(891), + [4742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), + [4744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), + [4746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [4748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(895), + [4750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(986), + [4752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 5, 0, 98), + [4754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [4756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 5, 0, 98), + [4758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [4760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, 0, 98), + [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [4766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214), + [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [4770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [4772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [4774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [4776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(880), + [4778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [4780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [4782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [4784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [4786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [4788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [4790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [4792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [4794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [4796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [4798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), + [4800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [4802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), + [4804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(813), + [4806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1620), + [4808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(812), + [4810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [4812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [4814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [4816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [4818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [4820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [4822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [4824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [4826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [4828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), + [4830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739), + [4832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1714), + [4834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), + [4836] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [4838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2, 0, 0), + [4840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [4842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [4844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1746), + [4846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [4848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [4850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886), + [4852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [4854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763), + [4856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [4858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1605), + [4860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [4862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1782), + [4864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), + [4866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [4868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1649), + [4870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [4872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [4874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [4876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [4878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [4880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), +}; + +#ifdef __cplusplus +extern "C" { +#endif +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC const TSLanguage *tree_sitter_c(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym__identifier, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/resources/language-metavariables/tree-sitter-c/src/tree_sitter/alloc.h b/resources/language-metavariables/tree-sitter-c/src/tree_sitter/alloc.h new file mode 100644 index 000000000..1f4466d75 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/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/resources/language-metavariables/tree-sitter-c/src/tree_sitter/array.h b/resources/language-metavariables/tree-sitter-c/src/tree_sitter/array.h new file mode 100644 index 000000000..15a3b233b --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/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/resources/language-metavariables/tree-sitter-c/src/tree_sitter/parser.h b/resources/language-metavariables/tree-sitter-c/src/tree_sitter/parser.h new file mode 100644 index 000000000..17f0e94bf --- /dev/null +++ b/resources/language-metavariables/tree-sitter-c/src/tree_sitter/parser.h @@ -0,0 +1,265 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/resources/language-metavariables/tree-sitter-cpp/.editorconfig b/resources/language-metavariables/tree-sitter-cpp/.editorconfig new file mode 100644 index 000000000..d3a8b5b69 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/.editorconfig @@ -0,0 +1,39 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.rs] +indent_style = space +indent_size = 4 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.{py,pyi}] +indent_style = space +indent_size = 4 + +[*.swift] +indent_style = space +indent_size = 4 + +[*.go] +indent_style = tab +indent_size = 8 + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/resources/language-metavariables/tree-sitter-cpp/.gitignore b/resources/language-metavariables/tree-sitter-cpp/.gitignore new file mode 100644 index 000000000..27fc43f72 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/.gitignore @@ -0,0 +1,38 @@ +# Rust artifacts +Cargo.lock +target/ + +# Node artifacts +build/ +prebuilds/ +node_modules/ +*.tgz + +# Swift artifacts +.build/ + +# Go artifacts +go.sum +_obj/ + +# Python artifacts +.venv/ +dist/ +*.egg-info +*.whl + +# C artifacts +*.a +*.so +*.so.* +*.dylib +*.dll +*.pc + +# Example dirs +/examples/*/ + +# Grammar volatiles +*.wasm +*.obj +*.o diff --git a/resources/language-metavariables/tree-sitter-cpp/Cargo.toml b/resources/language-metavariables/tree-sitter-cpp/Cargo.toml new file mode 100644 index 000000000..202e5ec25 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "tree-sitter-cpp" +description = "C++ grammar for tree-sitter" +version = "0.22.1" +authors = [ + "Max Brunsfeld ", + "Amaan Qureshi ", +] +license = "MIT" +keywords = ["incremental", "parsing", "tree-sitter", "cpp"] +categories = ["parsing", "text-editors"] +repository = "https://github.com/tree-sitter/tree-sitter-cpp" +edition = "2021" +autoexamples = false + +build = "bindings/rust/build.rs" +include = ["bindings/rust/*", "grammar.js", "queries/*", "src/*"] + +[lib] +path = "bindings/rust/lib.rs" + +[dependencies] +tree-sitter = "~0.20" + +[build-dependencies] +cc = "1.0.94" diff --git a/resources/language-metavariables/tree-sitter-cpp/LICENSE b/resources/language-metavariables/tree-sitter-cpp/LICENSE new file mode 100644 index 000000000..4b52d191c --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Max Brunsfeld + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/resources/language-metavariables/tree-sitter-cpp/Makefile b/resources/language-metavariables/tree-sitter-cpp/Makefile new file mode 100644 index 000000000..b5c22b019 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/Makefile @@ -0,0 +1,111 @@ +VERSION := 0.22.1 + +LANGUAGE_NAME := tree-sitter-cpp + +# 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 + +# ABI versioning +SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION))) +SONAME_MINOR := $(word 2,$(subst ., ,$(VERSION))) + +# install directory layout +PREFIX ?= /usr/local +INCLUDEDIR ?= $(PREFIX)/include +LIBDIR ?= $(PREFIX)/lib +PCLIBDIR ?= $(LIBDIR)/pkgconfig + +# object files +OBJS := $(patsubst %.c,%.o,$(wildcard $(SRC_DIR)/*.c)) + +# flags +ARFLAGS := rcs +override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC + +# OS-specific bits +ifeq ($(OS),Windows_NT) + $(error "Windows is not supported") +else ifeq ($(shell uname),Darwin) + SOEXT = dylib + SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib + SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib + LINKSHARED := $(LINKSHARED)-dynamiclib -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS), + endif + LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks +else + SOEXT = so + SOEXTVER_MAJOR = so.$(SONAME_MAJOR) + SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR) + LINKSHARED := $(LINKSHARED)-shared -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS) + endif + LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).so.$(SONAME_MAJOR) +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)|' $< > $@ + +$(SRC_DIR)/parser.c: grammar.js + $(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 + $(TS) parse examples/* --quiet --time + +.PHONY: all install uninstall clean test diff --git a/resources/language-metavariables/tree-sitter-cpp/Package.swift b/resources/language-metavariables/tree-sitter-cpp/Package.swift new file mode 100644 index 000000000..8a60cfc9e --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/Package.swift @@ -0,0 +1,47 @@ +// swift-tools-version:5.3 +import PackageDescription + +let package = Package( + name: "TreeSitterCPP", + products: [ + .library(name: "TreeSitterCPP", targets: ["TreeSitterCPP"]), + ], + dependencies: [], + targets: [ + .target(name: "TreeSitterCPP", + 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", + "src/scanner.c", + ], + resources: [ + .copy("queries") + ], + publicHeadersPath: "bindings/swift", + cSettings: [.headerSearchPath("src")]) + ], + cLanguageStandard: .c11 +) diff --git a/resources/language-metavariables/tree-sitter-cpp/README.md b/resources/language-metavariables/tree-sitter-cpp/README.md new file mode 100644 index 000000000..9e8883e84 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/README.md @@ -0,0 +1,22 @@ +# tree-sitter-cpp + +[![CI][ci]](https://github.com/tree-sitter/tree-sitter-cpp/actions/workflows/ci.yml) +[![discord][discord]](https://discord.gg/w7nTvsVJhm) +[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org) +[![crates][crates]](https://crates.io/crates/tree-sitter-cpp) +[![npm][npm]](https://www.npmjs.com/package/tree-sitter-cpp) +[![pypi][pypi]](https://pypi.org/project/tree-sitter-cpp) + +C++ grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter). + +## References + +- [Hyperlinked C++ BNF Grammar](http://www.nongnu.org/hcb/) +- [EBNF Syntax: C++](http://www.externsoft.ch/download/cpp-iso.html) + +[ci]: https://img.shields.io/github/actions/workflow/status/tree-sitter/tree-sitter-cpp/ci.yml?logo=github&label=CI +[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord&label=discord +[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix&label=matrix +[npm]: https://img.shields.io/npm/v/tree-sitter-cpp?logo=npm +[crates]: https://img.shields.io/crates/v/tree-sitter-cpp?logo=rust +[pypi]: https://img.shields.io/pypi/v/tree-sitter-cpp?logo=pypi&logoColor=ffd242 diff --git a/resources/language-metavariables/tree-sitter-cpp/binding.gyp b/resources/language-metavariables/tree-sitter-cpp/binding.gyp new file mode 100644 index 000000000..316668234 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/binding.gyp @@ -0,0 +1,21 @@ +{ + "targets": [ + { + "target_name": "tree_sitter_cpp_binding", + "dependencies": [ + " + +typedef struct TSLanguage TSLanguage; + +extern "C" TSLanguage *tree_sitter_cpp(); + +// "tree-sitter", "language" hashed with BLAKE2 +const napi_type_tag LANGUAGE_TYPE_TAG = { + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 +}; + +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports["name"] = Napi::String::New(env, "cpp"); + auto language = Napi::External::New(env, tree_sitter_cpp()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; + return exports; +} + +NODE_API_MODULE(tree_sitter_cpp_binding, Init) diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/node/index.d.ts b/resources/language-metavariables/tree-sitter-cpp/bindings/node/index.d.ts new file mode 100644 index 000000000..efe259eed --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/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/resources/language-metavariables/tree-sitter-cpp/bindings/node/index.js b/resources/language-metavariables/tree-sitter-cpp/bindings/node/index.js new file mode 100644 index 000000000..6657bcf42 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/node/index.js @@ -0,0 +1,7 @@ +const root = require("path").join(__dirname, "..", ".."); + +module.exports = require("node-gyp-build")(root); + +try { + module.exports.nodeTypeInfo = require("../../src/node-types.json"); +} catch (_) {} diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.py b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.py new file mode 100644 index 000000000..0d1fa877d --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.py @@ -0,0 +1,5 @@ +"C++ grammar for tree-sitter" + +from ._binding import language + +__all__ = ["language"] diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.pyi b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.pyi new file mode 100644 index 000000000..5416666fc --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/__init__.pyi @@ -0,0 +1 @@ +def language() -> int: ... diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c new file mode 100644 index 000000000..56a78e236 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c @@ -0,0 +1,27 @@ +#include + +typedef struct TSLanguage TSLanguage; + +TSLanguage *tree_sitter_cpp(void); + +static PyObject* _binding_language(PyObject *self, PyObject *args) { + return PyLong_FromVoidPtr(tree_sitter_cpp()); +} + +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/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/py.typed b/resources/language-metavariables/tree-sitter-cpp/bindings/python/tree_sitter_cpp/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/rust/build.rs b/resources/language-metavariables/tree-sitter-cpp/bindings/rust/build.rs new file mode 100644 index 000000000..ce2e00d7d --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/rust/build.rs @@ -0,0 +1,19 @@ +fn main() { + let src_dir = std::path::Path::new("src"); + + let mut c_config = cc::Build::new(); + 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()); + + 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("tree-sitter-cpp"); +} diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/rust/lib.rs b/resources/language-metavariables/tree-sitter-cpp/bindings/rust/lib.rs new file mode 100644 index 000000000..0f67744e8 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/rust/lib.rs @@ -0,0 +1,58 @@ +//! This crate provides a C++ grammar for the [tree-sitter][] parsing library. +//! +//! Typically, you will use the [language][language func] function to add this grammar to a +//! tree-sitter [Parser][], and then use the parser to parse some code: +//! +//! ``` +//! use tree_sitter::Parser; +//! +//! let code = r#" +//! int double(int x) { +//! return x * 2; +//! } +//! "#; +//! let mut parser = Parser::new(); +//! parser.set_language(&tree_sitter_cpp::language()).expect("Error loading C++ grammar"); +//! let tree = parser.parse(code, None).unwrap(); +//! assert!(!tree.root_node().has_error()); +//! ``` +//! +//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html +//! [language func]: fn.language.html +//! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html +//! [tree-sitter]: https://tree-sitter.github.io/ + +use tree_sitter::Language; + +extern "C" { + fn tree_sitter_cpp() -> Language; +} + +/// Returns 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_cpp() } +} + +/// 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: &str = include_str!("../../src/node-types.json"); + +/// The syntax highlighting query for this language. +pub const HIGHLIGHT_QUERY: &str = include_str!("../../queries/highlights.scm"); + +/// The symbol tagging query for this language. +pub const TAGS_QUERY: &str = include_str!("../../queries/tags.scm"); + +#[cfg(test)] +mod tests { + #[test] + fn can_load_grammar() { + let mut parser = tree_sitter::Parser::new(); + parser + .set_language(&super::language()) + .expect("Error loading C++ grammar"); + } +} diff --git a/resources/language-metavariables/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h b/resources/language-metavariables/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h new file mode 100644 index 000000000..7cbad5af8 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h @@ -0,0 +1,16 @@ +#ifndef TREE_SITTER_CPP_H_ +#define TREE_SITTER_CPP_H_ + +typedef struct TSLanguage TSLanguage; + +#ifdef __cplusplus +extern "C" { +#endif + +const TSLanguage *tree_sitter_cpp(void); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_CPP_H_ diff --git a/resources/language-metavariables/tree-sitter-cpp/examples/marker-index.h b/resources/language-metavariables/tree-sitter-cpp/examples/marker-index.h new file mode 100644 index 000000000..4b2311561 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/examples/marker-index.h @@ -0,0 +1,131 @@ +#ifndef MARKER_INDEX_H_ +#define MARKER_INDEX_H_ + +#include +#include +#include "flat_set.h" +#include "point.h" +#include "range.h" + +class MarkerIndex { +public: + using MarkerId = unsigned; + using MarkerIdSet = flat_set; + + struct SpliceResult { + flat_set touch; + flat_set inside; + flat_set overlap; + flat_set surround; + }; + + struct Boundary { + Point position; + flat_set starting; + flat_set ending; + }; + + struct BoundaryQueryResult { + std::vector containing_start; + std::vector boundaries; + }; + + MarkerIndex(unsigned seed = 0u); + ~MarkerIndex(); + int generate_random_number(); + void insert(MarkerId id, Point start, Point end); + void set_exclusive(MarkerId id, bool exclusive); + void remove(MarkerId id); + bool has(MarkerId id); + SpliceResult splice(Point start, Point old_extent, Point new_extent); + Point get_start(MarkerId id) const; + Point get_end(MarkerId id) const; + Range get_range(MarkerId id) const; + + int compare(MarkerId id1, MarkerId id2) const; + flat_set find_intersecting(Point start, Point end); + flat_set find_containing(Point start, Point end); + flat_set find_contained_in(Point start, Point end); + flat_set find_starting_in(Point start, Point end); + flat_set find_starting_at(Point position); + flat_set find_ending_in(Point start, Point end); + flat_set find_ending_at(Point position); + BoundaryQueryResult find_boundaries_after(Point start, size_t max_count); + + std::unordered_map dump(); + +private: + friend class Iterator; + + struct Node { + Node *parent; + Node *left; + Node *right; + Point left_extent; + flat_set left_marker_ids; + flat_set right_marker_ids; + flat_set start_marker_ids; + flat_set end_marker_ids; + int priority; + + Node(Node *parent, Point left_extent); + bool is_marker_endpoint(); + }; + + class Iterator { + public: + Iterator(MarkerIndex *marker_index); + void reset(); + Node* insert_marker_start(const MarkerId &id, const Point &start_position, const Point &end_position); + Node* insert_marker_end(const MarkerId &id, const Point &start_position, const Point &end_position); + Node* insert_splice_boundary(const Point &position, bool is_insertion_end); + void find_intersecting(const Point &start, const Point &end, flat_set *result); + void find_contained_in(const Point &start, const Point &end, flat_set *result); + void find_starting_in(const Point &start, const Point &end, flat_set *result); + void find_ending_in(const Point &start, const Point &end, flat_set *result); + void find_boundaries_after(Point start, size_t max_count, BoundaryQueryResult *result); + std::unordered_map dump(); + + private: + void ascend(); + void descend_left(); + void descend_right(); + void move_to_successor(); + void seek_to_first_node_greater_than_or_equal_to(const Point &position); + void mark_right(const MarkerId &id, const Point &start_position, const Point &end_position); + void mark_left(const MarkerId &id, const Point &start_position, const Point &end_position); + Node* insert_left_child(const Point &position); + Node* insert_right_child(const Point &position); + void check_intersection(const Point &start, const Point &end, flat_set *results); + void cache_node_position() const; + + MarkerIndex *marker_index; + Node *current_node; + Point current_node_position; + Point left_ancestor_position; + Point right_ancestor_position; + std::vector left_ancestor_position_stack; + std::vector right_ancestor_position_stack; + }; + + Point get_node_position(const Node *node) const; + void delete_node(Node *node); + void delete_subtree(Node *node); + void bubble_node_up(Node *node); + void bubble_node_down(Node *node); + void rotate_node_left(Node *pivot); + void rotate_node_right(Node *pivot); + void get_starting_and_ending_markers_within_subtree(const Node *node, flat_set *starting, flat_set *ending); + void populate_splice_invalidation_sets(SpliceResult *invalidated, const Node *start_node, const Node *end_node, const flat_set &starting_inside_splice, const flat_set &ending_inside_splice); + + std::default_random_engine random_engine; + std::uniform_int_distribution random_distribution; + Node *root; + std::unordered_map start_nodes_by_id; + std::unordered_map end_nodes_by_id; + Iterator iterator; + flat_set exclusive_marker_ids; + mutable std::unordered_map node_position_cache; +}; + +#endif // MARKER_INDEX_H_ diff --git a/resources/language-metavariables/tree-sitter-cpp/examples/rule.cc b/resources/language-metavariables/tree-sitter-cpp/examples/rule.cc new file mode 100644 index 000000000..f802f3fa0 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/examples/rule.cc @@ -0,0 +1,287 @@ +#include "compiler/rule.h" +#include "compiler/util/hash_combine.h" + +namespace tree_sitter { +namespace rules { + +using std::move; +using std::vector; +using util::hash_combine; + +Rule::Rule(const Rule &other) : blank_(Blank{}), type(BlankType) { + *this = other; +} + +Rule::Rule(Rule &&other) noexcept : blank_(Blank{}), type(BlankType) { + *this = move(other); +} + +static void destroy_value(Rule *rule) { + switch (rule->type) { + case Rule::BlankType: return rule->blank_.~Blank(); + case Rule::CharacterSetType: return rule->character_set_.~CharacterSet(); + case Rule::StringType: return rule->string_ .~String(); + case Rule::PatternType: return rule->pattern_ .~Pattern(); + case Rule::NamedSymbolType: return rule->named_symbol_.~NamedSymbol(); + case Rule::SymbolType: return rule->symbol_ .~Symbol(); + case Rule::ChoiceType: return rule->choice_ .~Choice(); + case Rule::MetadataType: return rule->metadata_ .~Metadata(); + case Rule::RepeatType: return rule->repeat_ .~Repeat(); + case Rule::SeqType: return rule->seq_ .~Seq(); + } +} + +Rule &Rule::operator=(const Rule &other) { + destroy_value(this); + type = other.type; + switch (type) { + case BlankType: + new (&blank_) Blank(other.blank_); + break; + case CharacterSetType: + new (&character_set_) CharacterSet(other.character_set_); + break; + case StringType: + new (&string_) String(other.string_); + break; + case PatternType: + new (&pattern_) Pattern(other.pattern_); + break; + case NamedSymbolType: + new (&named_symbol_) NamedSymbol(other.named_symbol_); + break; + case SymbolType: + new (&symbol_) Symbol(other.symbol_); + break; + case ChoiceType: + new (&choice_) Choice(other.choice_); + break; + case MetadataType: + new (&metadata_) Metadata(other.metadata_); + break; + case RepeatType: + new (&repeat_) Repeat(other.repeat_); + break; + case SeqType: + new (&seq_) Seq(other.seq_); + break; + } + return *this; +} + +Rule &Rule::operator=(Rule &&other) noexcept { + destroy_value(this); + type = other.type; + switch (type) { + case BlankType: + new (&blank_) Blank(move(other.blank_)); + break; + case CharacterSetType: + new (&character_set_) CharacterSet(move(other.character_set_)); + break; + case StringType: + new (&string_) String(move(other.string_)); + break; + case PatternType: + new (&pattern_) Pattern(move(other.pattern_)); + break; + case NamedSymbolType: + new (&named_symbol_) NamedSymbol(move(other.named_symbol_)); + break; + case SymbolType: + new (&symbol_) Symbol(move(other.symbol_)); + break; + case ChoiceType: + new (&choice_) Choice(move(other.choice_)); + break; + case MetadataType: + new (&metadata_) Metadata(move(other.metadata_)); + break; + case RepeatType: + new (&repeat_) Repeat(move(other.repeat_)); + break; + case SeqType: + new (&seq_) Seq(move(other.seq_)); + break; + } + other.type = BlankType; + other.blank_ = Blank{}; + return *this; +} + +Rule::~Rule() noexcept { + destroy_value(this); +} + +bool Rule::operator==(const Rule &other) const { + if (type != other.type) return false; + switch (type) { + case Rule::CharacterSetType: return character_set_ == other.character_set_; + case Rule::StringType: return string_ == other.string_; + case Rule::PatternType: return pattern_ == other.pattern_; + case Rule::NamedSymbolType: return named_symbol_ == other.named_symbol_; + case Rule::SymbolType: return symbol_ == other.symbol_; + case Rule::ChoiceType: return choice_ == other.choice_; + case Rule::MetadataType: return metadata_ == other.metadata_; + case Rule::RepeatType: return repeat_ == other.repeat_; + case Rule::SeqType: return seq_ == other.seq_; + default: return blank_ == other.blank_; + } +} + +template <> +bool Rule::is() const { return type == BlankType; } + +template <> +bool Rule::is() const { return type == SymbolType; } + +template <> +bool Rule::is() const { return type == RepeatType; } + +template <> +const Symbol & Rule::get_unchecked() const { return symbol_; } + +static inline void add_choice_element(std::vector *elements, const Rule &new_rule) { + new_rule.match( + [elements](Choice choice) { + for (auto &element : choice.elements) { + add_choice_element(elements, element); + } + }, + + [elements](auto rule) { + for (auto &element : *elements) { + if (element == rule) return; + } + elements->push_back(rule); + } + ); +} + +Rule Rule::choice(const vector &rules) { + vector elements; + for (auto &element : rules) { + add_choice_element(&elements, element); + } + return (elements.size() == 1) ? elements.front() : Choice{elements}; +} + +Rule Rule::repeat(const Rule &rule) { + return rule.is() ? rule : Repeat{rule}; +} + +Rule Rule::seq(const vector &rules) { + Rule result; + for (const auto &rule : rules) { + rule.match( + [](Blank) {}, + [&](Metadata metadata) { + if (!metadata.rule->is()) { + result = Seq{result, rule}; + } + }, + [&](auto) { + if (result.is()) { + result = rule; + } else { + result = Seq{result, rule}; + } + } + ); + } + return result; +} + +} // namespace rules +} // namespace tree_sitter + +namespace std { + +size_t hash::operator()(const Symbol &symbol) const { + auto result = hash()(symbol.index); + hash_combine(&result, hash()(symbol.type)); + return result; +} + +size_t hash::operator()(const NamedSymbol &symbol) const { + return hash()(symbol.value); +} + +size_t hash::operator()(const Pattern &symbol) const { + return hash()(symbol.value); +} + +size_t hash::operator()(const String &symbol) const { + return hash()(symbol.value); +} + +size_t hash::operator()(const CharacterSet &character_set) const { + size_t result = 0; + hash_combine(&result, character_set.includes_all); + hash_combine(&result, character_set.included_chars.size()); + for (uint32_t c : character_set.included_chars) { + hash_combine(&result, c); + } + hash_combine(&result, character_set.excluded_chars.size()); + for (uint32_t c : character_set.excluded_chars) { + hash_combine(&result, c); + } + return result; +} + +size_t hash::operator()(const Blank &blank) const { + return 0; +} + +size_t hash::operator()(const Choice &choice) const { + size_t result = 0; + for (const auto &element : choice.elements) { + symmetric_hash_combine(&result, element); + } + return result; +} + +size_t hash::operator()(const Repeat &repeat) const { + size_t result = 0; + hash_combine(&result, *repeat.rule); + return result; +} + +size_t hash::operator()(const Seq &seq) const { + size_t result = 0; + hash_combine(&result, *seq.left); + hash_combine(&result, *seq.right); + return result; +} + +size_t hash::operator()(const Metadata &metadata) const { + size_t result = 0; + hash_combine(&result, *metadata.rule); + hash_combine(&result, metadata.params.precedence); + hash_combine(&result, metadata.params.associativity); + hash_combine(&result, metadata.params.has_precedence); + hash_combine(&result, metadata.params.has_associativity); + hash_combine(&result, metadata.params.is_token); + hash_combine(&result, metadata.params.is_string); + hash_combine(&result, metadata.params.is_active); + hash_combine(&result, metadata.params.is_main_token); + return result; +} + +size_t hash::operator()(const Rule &rule) const { + size_t result = hash()(rule.type); + switch (rule.type) { + case Rule::CharacterSetType: return result ^ hash()(rule.character_set_); + case Rule::StringType: return result ^ hash()(rule.string_); + case Rule::PatternType: return result ^ hash()(rule.pattern_); + case Rule::NamedSymbolType: return result ^ hash()(rule.named_symbol_); + case Rule::SymbolType: return result ^ hash()(rule.symbol_); + case Rule::ChoiceType: return result ^ hash()(rule.choice_); + case Rule::MetadataType: return result ^ hash()(rule.metadata_); + case Rule::RepeatType: return result ^ hash()(rule.repeat_); + case Rule::SeqType: return result ^ hash()(rule.seq_); + default: return result ^ hash()(rule.blank_); + } +} + +} // namespace std \ No newline at end of file diff --git a/resources/language-metavariables/tree-sitter-cpp/grammar.js b/resources/language-metavariables/tree-sitter-cpp/grammar.js new file mode 100644 index 000000000..6a6817bb5 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/grammar.js @@ -0,0 +1,1430 @@ +/** + * @file C++ grammar for tree-sitter + * @author Max Brunsfeld + * @author Amaan Qureshi + * @author John Drouhard + * @license MIT + */ + +/// +// @ts-check + +const C = require('../tree-sitter-c/grammar'); + +// GRIT_METAVARIABLE is in c-metavariable-gramma.js. +const PREC = Object.assign(C.PREC, { + LAMBDA: 18, + NEW: C.PREC.CALL + 1, + STRUCTURED_BINDING: -1, + THREE_WAY: C.PREC.RELATIONAL + 1, +}); + +const FOLD_OPERATORS = [ + '+', '-', '*', '/', '%', + '^', '&', '|', + '=', '<', '>', + '<<', '>>', + '+=', '-=', '*=', '/=', '%=', '^=', '&=', '|=', + '>>=', '<<=', + '==', '!=', '<=', '>=', + '&&', '||', + ',', + '.*', '->*', + 'or', 'and', 'bitor', 'xor', 'bitand', 'not_eq', +]; + +const ASSIGNMENT_OPERATORS = [ + '=', + '*=', + '/=', + '%=', + '+=', + '-=', + '<<=', + '>>=', + '&=', + '^=', + '|=', + 'and_eq', + 'or_eq', + 'xor_eq', +]; + +module.exports = grammar(C, { + name: 'cpp', + + externals: $ => [ + $.raw_string_delimiter, + $.raw_string_content, + ], + + conflicts: $ => [ + // C + [$.type_specifier, $._declarator], + [$.type_specifier, $.expression], + [$.sized_type_specifier], + [$.attributed_statement], + [$._declaration_modifiers, $.attributed_statement], + [$._top_level_item, $._top_level_statement], + [$._block_item, $.statement], + // Grit + [$.linkage_specification, $.storage_class_specifier], + [$.identifier, $.user_defined_literal, $.string_literal, $.char_literal], + [$.identifier, $.user_defined_literal], + [$.identifier, $.string_literal], + [$.char_literal, $.string_literal], + //[$.type_specifier, $.concatenated_string], + [$.identifier, $.char_literal], + [$.expression, $.concatenated_string], + + // C++ + [$.template_function, $.template_type], + [$.template_function, $.template_type, $.expression], + [$.template_function, $.template_type, $.qualified_identifier], + [$.template_type, $.qualified_type_identifier], + [$.qualified_type_identifier, $.qualified_identifier], + [$.comma_expression, $.initializer_list], + [$.expression, $._declarator], + [$.expression, $.structured_binding_declarator], + [$.expression, $._declarator, $.type_specifier], + [$.parameter_list, $.argument_list], + [$.type_specifier, $.call_expression], + [$._declaration_specifiers, $._constructor_specifiers], + [$._binary_fold_operator, $._fold_operator], + [$._function_declarator_seq], + [$.type_specifier, $.sized_type_specifier], + [$.initializer_pair, $.comma_expression], + [$.expression_statement, $._for_statement_body], + [$.init_statement, $._for_statement_body], + // Grit + [$.identifier, $.user_defined_literal, $.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal], + [$.number_literal, $.char_literal, $.string_literal], + ], + + inline: ($, original) => original.concat([ + $._namespace_identifier, + ]), + + precedences: $ => [ + [$.argument_list, $.type_qualifier], + [$._expression_not_binary, $._class_name], + ], + + rules: { + _top_level_item: ($, original) => choice( + ...original.members.filter((member) => member.content?.name != '_old_style_function_definition'), + $.namespace_definition, + $.concept_definition, + $.namespace_alias_definition, + $.using_declaration, + $.alias_declaration, + $.static_assert_declaration, + $.template_declaration, + $.template_instantiation, + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + ), + + _block_item: ($, original) => choice( + ...original.members.filter((member) => member.content?.name != '_old_style_function_definition'), + $.namespace_definition, + $.concept_definition, + $.namespace_alias_definition, + $.using_declaration, + $.alias_declaration, + $.static_assert_declaration, + $.template_declaration, + $.template_instantiation, + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + ), + + // Types + + placeholder_type_specifier: $ => prec(1, seq( + field('constraint', optional($.type_specifier)), + choice($.auto, alias($.decltype_auto, $.decltype)), + )), + + auto: _ => 'auto', + decltype_auto: $ => seq( + 'decltype', + '(', + $.auto, + ')', + ), + decltype: $ => seq( + 'decltype', + '(', + $.expression, + ')', + ), + + type_specifier: $ => choice( + $.struct_specifier, + $.union_specifier, + $.enum_specifier, + $.class_specifier, + $.sized_type_specifier, + $.primitive_type, + $.template_type, + $.dependent_type, + $.placeholder_type_specifier, + $.decltype, + prec.right(choice( + alias($.qualified_type_identifier, $.qualified_identifier), + $._type_identifier, + )), + ), + + type_qualifier: (_, original) => choice( + original, + 'mutable', + 'constinit', + 'consteval', + ), + + type_descriptor: (_, original) => prec.right(original), + + // When used in a trailing return type, these specifiers can now occur immediately before + // a compound statement. This introduces a shift/reduce conflict that needs to be resolved + // with an associativity. + _class_declaration: $ => seq( + repeat(choice($.attribute_specifier, $.alignas_qualifier)), + optional($.ms_declspec_modifier), + repeat($.attribute_declaration), + $._class_declaration_item, + ), + _class_declaration_item: $ => prec.right(seq( + choice( + field('name', $._class_name), + seq( + optional(field('name', $._class_name)), + optional($.virtual_specifier), + optional($.base_class_clause), + field('body', $.field_declaration_list), + ), + ), + optional($.attribute_specifier), + )), + + class_specifier: $ => seq( + 'class', + $._class_declaration, + ), + + union_specifier: $ => seq( + 'union', + $._class_declaration, + ), + + struct_specifier: $ => seq( + 'struct', + $._class_declaration, + ), + + _class_name: $ => prec.right(choice( + $._type_identifier, + $.template_type, + alias($.qualified_type_identifier, $.qualified_identifier), + )), + + function_definition: ($, original) => ({ + ...original, + members: original.members.map( + (e) => e.name !== 'body' ? + e : + field('body', choice(e.content, $.try_statement))), + }), + + declaration: $ => seq( + $._declaration_specifiers, + commaSep1(field('declarator', choice( + seq( + // C uses _declaration_declarator here for some nice macro parsing in function declarators, + // but this causes a world of pain for C++ so we'll just stick to the normal _declarator here. + $._declarator, + optional($.gnu_asm_expression), + ), + $.init_declarator, + ))), + ';', + ), + + virtual_specifier: _ => choice( + 'final', // the only legal value here for classes + 'override', // legal for functions in addition to final, plus permutations. + ), + + virtual: _ => 'virtual', + + _declaration_modifiers: ($, original) => choice( + original, + $.virtual, + ), + + explicit_function_specifier: $ => choice( + 'explicit', + prec(PREC.CALL, seq( + 'explicit', + '(', + $.expression, + ')', + )), + ), + + base_class_clause: $ => seq( + ':', + commaSep1(seq( + repeat($.attribute_declaration), + optional(choice( + $.access_specifier, + seq($.access_specifier, optional($.virtual)), + seq($.virtual, optional($.access_specifier)), + )), + $._class_name, + optional('...'), + )), + ), + + enum_specifier: $ => prec.right(seq( + 'enum', + optional(choice('class', 'struct')), + choice( + seq( + field('name', $._class_name), + optional($._enum_base_clause), + optional(field('body', $.enumerator_list)), + ), + field('body', $.enumerator_list), + ), + optional($.attribute_specifier), + )), + + _enum_base_clause: $ => prec.left(seq( + ':', + field('base', choice( + alias($.qualified_type_identifier, $.qualified_identifier), + $._type_identifier, + $.primitive_type, + $.sized_type_specifier, + )), + )), + + // The `auto` storage class is removed in C++0x in order to allow for the `auto` type. + storage_class_specifier: (_, original) => choice( + ...original.members.filter((member) => member.value !== 'auto'), + 'thread_local', + ), + + dependent_type: $ => prec.dynamic(-1, prec.right(seq( + 'typename', + $.type_specifier, + ))), + + // Declarations + + template_declaration: $ => seq( + 'template', + field('parameters', $.template_parameter_list), + optional($.requires_clause), + choice( + $._empty_declaration, + $.alias_declaration, + $.declaration, + $.template_declaration, + $.function_definition, + $.concept_definition, + $.friend_declaration, + alias($.constructor_or_destructor_declaration, $.declaration), + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + alias($.operator_cast_definition, $.function_definition), + ), + ), + + template_instantiation: $ => seq( + 'template', + optional($._declaration_specifiers), + field('declarator', $._declarator), + ';', + ), + + template_parameter_list: $ => seq( + '<', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.type_parameter_declaration, + $.variadic_parameter_declaration, + $.variadic_type_parameter_declaration, + $.optional_type_parameter_declaration, + $.template_template_parameter_declaration, + )), + alias(token(prec(1, '>')), '>'), + ), + + type_parameter_declaration: $ => prec(1, seq( + choice('typename', 'class'), + optional($._type_identifier), + )), + + variadic_type_parameter_declaration: $ => prec(1, seq( + choice('typename', 'class'), + '...', + optional($._type_identifier), + )), + + optional_type_parameter_declaration: $ => seq( + choice('typename', 'class'), + optional(field('name', $._type_identifier)), + '=', + field('default_type', $.type_specifier), + ), + + template_template_parameter_declaration: $ => seq( + 'template', + field('parameters', $.template_parameter_list), + choice( + $.type_parameter_declaration, + $.variadic_type_parameter_declaration, + $.optional_type_parameter_declaration, + ), + ), + + parameter_list: $ => seq( + '(', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.variadic_parameter_declaration, + '...', + )), + ')', + ), + + optional_parameter_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', optional(choice($._declarator, $.abstract_reference_declarator))), + '=', + field('default_value', $.expression), + ), + + variadic_parameter_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', choice( + $.variadic_declarator, + alias($.variadic_reference_declarator, $.reference_declarator), + )), + ), + + variadic_declarator: $ => seq( + '...', + optional($.identifier), + ), + + variadic_reference_declarator: $ => seq( + choice('&&', '&'), + $.variadic_declarator, + ), + + init_declarator: ($, original) => choice( + original, + seq( + field('declarator', $._declarator), + field('value', choice( + $.argument_list, + $.initializer_list, + )), + ), + ), + + operator_cast: $ => prec.right(1, seq( + 'operator', + $._declaration_specifiers, + field('declarator', $._abstract_declarator), + )), + + // Avoid ambiguity between compound statement and initializer list in a construct like: + // A b {}; + compound_statement: (_, original) => prec(-1, original), + + field_initializer_list: $ => seq( + ':', + commaSep1($.field_initializer), + ), + + field_initializer: $ => prec(1, seq( + choice( + $._field_identifier, + $.template_method, + alias($.qualified_field_identifier, $.qualified_identifier), + ), + choice($.initializer_list, $.argument_list), + optional('...'), + )), + + _field_declaration_list_item: ($, original) => choice( + original, + $.template_declaration, + alias($.inline_method_definition, $.function_definition), + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.constructor_or_destructor_declaration, $.declaration), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + $.friend_declaration, + seq($.access_specifier, ':'), + $.alias_declaration, + $.using_declaration, + $.type_definition, + $.static_assert_declaration, + ), + + field_declaration: $ => seq( + $._declaration_specifiers, + commaSep(seq( + field('declarator', $._field_declarator), + optional(choice( + $.bitfield_clause, + field('default_value', $.initializer_list), + seq('=', field('default_value', choice($.expression, $.initializer_list))), + )), + )), + optional($.attribute_specifier), + ';', + ), + + inline_method_definition: $ => seq( + $._declaration_specifiers, + field('declarator', $._field_declarator), + choice( + field('body', choice($.compound_statement, $.try_statement)), + $.default_method_clause, + $.delete_method_clause, + $.pure_virtual_clause, + ), + ), + + _constructor_specifiers: $ => choice( + $._declaration_modifiers, + $.explicit_function_specifier, + ), + + operator_cast_definition: $ => seq( + repeat($._constructor_specifiers), + field('declarator', choice( + $.operator_cast, + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + )), + field('body', choice($.compound_statement, $.try_statement)), + ), + + operator_cast_declaration: $ => prec(1, seq( + repeat($._constructor_specifiers), + field('declarator', choice( + $.operator_cast, + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + )), + optional(seq('=', field('default_value', $.expression))), + ';', + )), + + constructor_try_statement: $ => seq( + 'try', + optional($.field_initializer_list), + field('body', $.compound_statement), + repeat1($.catch_clause), + ), + + constructor_or_destructor_definition: $ => seq( + repeat($._constructor_specifiers), + field('declarator', $.function_declarator), + choice( + seq( + optional($.field_initializer_list), + field('body', $.compound_statement), + ), + alias($.constructor_try_statement, $.try_statement), + $.default_method_clause, + $.delete_method_clause, + $.pure_virtual_clause, + ), + ), + + constructor_or_destructor_declaration: $ => seq( + repeat($._constructor_specifiers), + field('declarator', $.function_declarator), + ';', + ), + + default_method_clause: _ => seq('=', 'default', ';'), + delete_method_clause: _ => seq('=', 'delete', ';'), + pure_virtual_clause: _ => seq('=', '0', ';'), + + friend_declaration: $ => seq( + 'friend', + choice( + $.declaration, + $.function_definition, + seq( + optional(choice( + 'class', + 'struct', + 'union', + )), + $._class_name, ';', + ), + ), + ), + + access_specifier: _ => choice( + 'public', + 'private', + 'protected', + ), + + _declarator: ($, original) => choice( + original, + $.reference_declarator, + $.qualified_identifier, + $.template_function, + $.operator_name, + $.destructor_name, + $.structured_binding_declarator, + ), + + _field_declarator: ($, original) => choice( + original, + alias($.reference_field_declarator, $.reference_declarator), + $.template_method, + $.operator_name, + ), + + _type_declarator: ($, original) => choice( + original, + alias($.reference_type_declarator, $.reference_declarator), + ), + + _abstract_declarator: ($, original) => choice( + original, + $.abstract_reference_declarator, + ), + + reference_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._declarator))), + reference_field_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._field_declarator))), + reference_type_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._type_declarator))), + abstract_reference_declarator: $ => prec.right(seq(choice('&', '&&'), optional($._abstract_declarator))), + + structured_binding_declarator: $ => prec.dynamic(PREC.STRUCTURED_BINDING, seq( + '[', commaSep1($.identifier), ']', + )), + + ref_qualifier: _ => choice('&', '&&'), + + _function_declarator_seq: $ => seq( + field('parameters', $.parameter_list), + optional($._function_attributes_start), + optional($.ref_qualifier), + optional($._function_exception_specification), + optional($._function_attributes_end), + optional($.trailing_return_type), + optional($._function_postfix), + ), + + _function_attributes_start: $ => prec(1, choice( + seq(repeat1($.attribute_specifier), repeat($.type_qualifier)), + seq(repeat($.attribute_specifier), repeat1($.type_qualifier)), + )), + + _function_exception_specification: $ => choice( + $.noexcept, + $.throw_specifier, + ), + + _function_attributes_end: $ => prec.right(seq( + optional($.gnu_asm_expression), + choice( + seq(repeat1($.attribute_specifier), repeat($.attribute_declaration)), + seq(repeat($.attribute_specifier), repeat1($.attribute_declaration)), + ), + )), + + _function_postfix: $ => prec.right(choice( + repeat1($.virtual_specifier), + $.requires_clause, + )), + + function_declarator: $ => prec.dynamic(1, seq( + field('declarator', $._declarator), + $._function_declarator_seq, + )), + + function_field_declarator: $ => prec.dynamic(1, seq( + field('declarator', $._field_declarator), + $._function_declarator_seq, + )), + + abstract_function_declarator: $ => seq( + field('declarator', optional($._abstract_declarator)), + $._function_declarator_seq, + ), + + trailing_return_type: $ => seq('->', $.type_descriptor), + + noexcept: $ => prec.right(seq( + 'noexcept', + optional( + seq( + '(', + optional($.expression), + ')', + ), + ), + )), + + throw_specifier: $ => seq( + 'throw', + seq( + '(', + commaSep($.type_descriptor), + ')', + ), + ), + + template_type: $ => seq( + field('name', $._type_identifier), + field('arguments', $.template_argument_list), + ), + + template_method: $ => seq( + field('name', choice($._field_identifier, $.operator_name)), + field('arguments', $.template_argument_list), + ), + + template_function: $ => seq( + field('name', $.identifier), + field('arguments', $.template_argument_list), + ), + + template_argument_list: $ => seq( + '<', + commaSep(choice( + prec.dynamic(3, $.type_descriptor), + prec.dynamic(2, alias($.type_parameter_pack_expansion, $.parameter_pack_expansion)), + prec.dynamic(1, $.expression), + )), + alias(token(prec(1, '>')), '>'), + ), + + namespace_definition: $ => seq( + optional('inline'), + 'namespace', + optional($.attribute_declaration), + field('name', optional( + choice( + $._namespace_identifier, + $.nested_namespace_specifier, + ))), + field('body', $.declaration_list), + ), + + namespace_alias_definition: $ => seq( + 'namespace', + field('name', $._namespace_identifier), + '=', + choice( + $._namespace_identifier, + $.nested_namespace_specifier, + ), + ';', + ), + + _namespace_specifier: $ => seq( + optional('inline'), + $._namespace_identifier, + ), + + nested_namespace_specifier: $ => prec(1, seq( + optional($._namespace_specifier), + '::', + choice( + $.nested_namespace_specifier, + $._namespace_specifier, + ), + )), + + using_declaration: $ => seq( + 'using', + optional(choice('namespace', 'enum')), + choice( + $.identifier, + $.qualified_identifier, + ), + ';', + ), + + alias_declaration: $ => seq( + 'using', + field('name', $._type_identifier), + repeat($.attribute_declaration), + '=', + field('type', $.type_descriptor), + ';', + ), + + static_assert_declaration: $ => seq( + 'static_assert', + '(', + field('condition', $.expression), + optional(seq( + ',', + field('message', choice( + $.string_literal, + $.raw_string_literal, + $.concatenated_string, + )), + )), + ')', + ';', + ), + + concept_definition: $ => seq( + 'concept', + field('name', $.identifier), + '=', + $.expression, + ';', + ), + + // Statements + + _top_level_statement: ($, original) => choice( + original, + $.co_return_statement, + $.co_yield_statement, + $.for_range_loop, + $.try_statement, + $.throw_statement, + ), + + _non_case_statement: ($, original) => choice( + original, + $.co_return_statement, + $.co_yield_statement, + $.for_range_loop, + $.try_statement, + $.throw_statement, + ), + + switch_statement: $ => seq( + 'switch', + field('condition', $.condition_clause), + field('body', $.compound_statement), + ), + + while_statement: $ => seq( + 'while', + field('condition', $.condition_clause), + field('body', $.statement), + ), + + if_statement: $ => prec.right(seq( + 'if', + optional('constexpr'), + field('condition', $.condition_clause), + field('consequence', $.statement), + optional(field('alternative', $.else_clause)), + )), + + // Using prec(1) instead of prec.dynamic(1) causes issues with the + // range loop's declaration specifiers if `int` is passed in, it'll + // always prefer the standard for loop and give us a parse error. + _for_statement_body: ($, original) => prec.dynamic(1, original), + for_range_loop: $ => seq( + 'for', + '(', + $._for_range_loop_body, + ')', + field('body', $.statement), + ), + _for_range_loop_body: $ => seq( + field('initializer', optional($.init_statement)), + $._declaration_specifiers, + field('declarator', $._declarator), + ':', + field('right', choice( + $.expression, + $.initializer_list, + )), + ), + + init_statement: $ => choice( + $.alias_declaration, + $.type_definition, + $.declaration, + $.expression_statement, + ), + + condition_clause: $ => seq( + '(', + field('initializer', optional($.init_statement)), + field('value', choice( + $.expression, + $.comma_expression, + alias($.condition_declaration, $.declaration), + )), + ')', + ), + + condition_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', $._declarator), + choice( + seq( + '=', + field('value', $.expression), + ), + field('value', $.initializer_list), + ), + ), + + return_statement: ($, original) => seq( + choice( + original, + seq('return', $.initializer_list, ';'), + ), + ), + + co_return_statement: $ => seq( + 'co_return', + optional($.expression), + ';', + ), + + co_yield_statement: $ => seq( + 'co_yield', + $.expression, + ';', + ), + + throw_statement: $ => seq( + 'throw', + optional($.expression), + ';', + ), + + try_statement: $ => seq( + 'try', + field('body', $.compound_statement), + repeat1($.catch_clause), + ), + + catch_clause: $ => seq( + 'catch', + field('parameters', $.parameter_list), + field('body', $.compound_statement), + ), + + // Expressions + + _expression_not_binary: ($, original) => choice( + original, + $.co_await_expression, + $.requires_expression, + $.requires_clause, + $.template_function, + $.qualified_identifier, + $.new_expression, + $.delete_expression, + $.lambda_expression, + $.parameter_pack_expansion, + $.this, + $.raw_string_literal, + $.user_defined_literal, + $.fold_expression, + ), + + raw_string_literal: $ => seq( + choice('R"', 'LR"', 'uR"', 'UR"', 'u8R"'), + choice( + seq( + field('delimiter', $.raw_string_delimiter), + '(', + $.raw_string_content, + ')', + $.raw_string_delimiter, + ), + seq( + '(', + $.raw_string_content, + ')', + )), + '"', + ), + + subscript_expression: $ => prec(PREC.SUBSCRIPT, seq( + field('argument', $.expression), + field('indices', $.subscript_argument_list), + )), + + subscript_argument_list: $ => seq( + '[', + commaSep(choice($.expression, $.initializer_list)), + ']', + ), + + call_expression: ($, original) => choice(original, seq( + field('function', $.primitive_type), + field('arguments', $.argument_list), + )), + + co_await_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', 'co_await'), + field('argument', $.expression), + )), + + new_expression: $ => prec.right(PREC.NEW, seq( + optional('::'), + 'new', + field('placement', optional($.argument_list)), + field('type', $.type_specifier), + field('declarator', optional($.new_declarator)), + field('arguments', optional(choice( + $.argument_list, + $.initializer_list, + ))), + )), + + new_declarator: $ => prec.right(seq( + '[', + field('length', $.expression), + ']', + optional($.new_declarator), + )), + + delete_expression: $ => seq( + optional('::'), + 'delete', + optional(seq('[', ']')), + $.expression, + ), + + field_expression: $ => prec.right(seq( + prec(PREC.FIELD, seq( + field('argument', $.expression), + field('operator', choice('.', '.*', '->')), + )), + field('field', choice( + $._field_identifier, + alias($.qualified_field_identifier, $.qualified_identifier), + $.destructor_name, + $.template_method, + alias($.dependent_field_identifier, $.dependent_name), + )), + )), + + type_requirement: $ => seq('typename', $._class_name), + + compound_requirement: $ => seq( + '{', $.expression, '}', + optional('noexcept'), + optional($.trailing_return_type), + ';', + ), + + _requirement: $ => choice( + alias($.expression_statement, $.simple_requirement), + $.type_requirement, + $.compound_requirement, + ), + + requirement_seq: $ => seq('{', repeat($._requirement), '}'), + + constraint_conjunction: $ => prec.left(PREC.LOGICAL_AND, seq( + field('left', $._requirement_clause_constraint), + field('operator', choice('&&', 'and')), + field('right', $._requirement_clause_constraint)), + ), + + constraint_disjunction: $ => prec.left(PREC.LOGICAL_OR, seq( + field('left', $._requirement_clause_constraint), + field('operator', choice('||', 'or')), + field('right', $._requirement_clause_constraint)), + ), + + _requirement_clause_constraint: $ => choice( + // Primary expressions" + $.true, + $.false, + $._class_name, + $.fold_expression, + $.lambda_expression, + $.requires_expression, + + // Parenthesized expressions + seq('(', $.expression, ')'), + + // conjunction or disjunction of the above + $.constraint_conjunction, + $.constraint_disjunction, + ), + + requires_clause: $ => seq( + 'requires', + field('constraint', $._requirement_clause_constraint), + ), + + requires_parameter_list: $ => seq( + '(', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.variadic_parameter_declaration, + )), + ')', + ), + + requires_expression: $ => seq( + 'requires', + field('parameters', optional(alias($.requires_parameter_list, $.parameter_list))), + field('requirements', $.requirement_seq), + ), + + lambda_expression: $ => seq( + field('captures', $.lambda_capture_specifier), + optional(seq( + field('template_parameters', $.template_parameter_list), + optional(field('constraint', $.requires_clause)), + )), + optional(field('declarator', $.abstract_function_declarator)), + field('body', $.compound_statement), + ), + + lambda_capture_specifier: $ => prec(PREC.LAMBDA, seq( + '[', + choice( + $.lambda_default_capture, + commaSep($.expression), + seq( + $.lambda_default_capture, + ',', commaSep1($.expression), + ), + ), + ']', + )), + + lambda_default_capture: _ => choice('=', '&'), + + _fold_operator: _ => choice(...FOLD_OPERATORS), + _binary_fold_operator: _ => choice(...FOLD_OPERATORS.map((operator) => seq(field('operator', operator), '...', operator))), + + _unary_left_fold: $ => seq( + field('left', '...'), + field('operator', $._fold_operator), + field('right', $.expression), + ), + _unary_right_fold: $ => seq( + field('left', $.expression), + field('operator', $._fold_operator), + field('right', '...'), + ), + _binary_fold: $ => seq( + field('left', $.expression), + $._binary_fold_operator, + field('right', $.expression), + ), + + fold_expression: $ => seq( + '(', + choice( + $._unary_right_fold, + $._unary_left_fold, + $._binary_fold, + ), + ')', + ), + + parameter_pack_expansion: $ => prec(-1, seq( + field('pattern', $.expression), + '...', + )), + + type_parameter_pack_expansion: $ => seq( + field('pattern', $.type_descriptor), + '...', + ), + + sizeof_expression: ($, original) => prec.right(PREC.SIZEOF, choice( + original, + seq( + 'sizeof', '...', + '(', + field('value', $.identifier), + ')', + ), + )), + + unary_expression: ($, original) => choice( + original, + prec.left(PREC.UNARY, seq( + field('operator', choice('not', 'compl')), + field('argument', $.expression), + )), + ), + + binary_expression: ($, original) => { + const table = [ + ['<=>', PREC.THREE_WAY], + ['or', PREC.LOGICAL_OR], + ['and', PREC.LOGICAL_AND], + ['bitor', PREC.INCLUSIVE_OR], + ['xor', PREC.EXCLUSIVE_OR], + ['bitand', PREC.BITWISE_AND], + ['not_eq', PREC.EQUAL], + ]; + + return choice( + original, + ...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $.expression), + // @ts-ignore + field('operator', operator), + field('right', $.expression), + )); + })); + }, + + // The compound_statement is added to parse macros taking statements as arguments, e.g. MYFORLOOP(1, 10, i, { foo(i); bar(i); }) + argument_list: $ => seq( + '(', + commaSep(choice(seq(optional('__extension__'), $.expression), $.initializer_list, $.compound_statement)), + ')', + ), + + destructor_name: $ => prec(1, seq('~', $.identifier)), + + compound_literal_expression: ($, original) => choice( + original, + seq( + field('type', choice($._class_name, $.primitive_type)), + field('value', $.initializer_list), + ), + ), + + dependent_identifier: $ => seq('template', $.template_function), + dependent_field_identifier: $ => seq('template', $.template_method), + dependent_type_identifier: $ => seq('template', $.template_type), + + _scope_resolution: $ => prec(1, seq( + field('scope', optional(choice( + $._namespace_identifier, + $.template_type, + $.decltype, + alias($.dependent_type_identifier, $.dependent_name), + ))), + '::', + )), + + qualified_field_identifier: $ => prec.right(seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_field_identifier, $.dependent_name), + alias($.qualified_field_identifier, $.qualified_identifier), + $.template_method, + $._field_identifier, + )), + )), + + qualified_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_identifier, $.dependent_name), + $.qualified_identifier, + $.template_function, + seq(optional('template'), $.identifier), + $.operator_name, + $.destructor_name, + $.pointer_type_declarator, + )), + ), + + qualified_type_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_type_identifier, $.dependent_name), + alias($.qualified_type_identifier, $.qualified_identifier), + $.template_type, + $._type_identifier, + )), + ), + + qualified_operator_cast_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + $.operator_cast, + )), + ), + + _assignment_left_expression: ($, original) => choice( + original, + $.qualified_identifier, + $.user_defined_literal, + ), + + assignment_expression: $ => prec.right(PREC.ASSIGNMENT, seq( + field('left', $._assignment_left_expression), + field('operator', choice(...ASSIGNMENT_OPERATORS)), + field('right', choice($.expression, $.initializer_list)), + )), + + _assignment_expression_lhs: $ => seq( + field('left', $.expression), + field('operator', choice(...ASSIGNMENT_OPERATORS)), + field('right', choice($.expression, $.initializer_list)), + ), + + // This prevents an ambiguity between fold expressions + // and assignment expressions within parentheses. + parenthesized_expression: ($, original) => choice( + original, + seq('(', alias($._assignment_expression_lhs, $.assignment_expression), ')'), + ), + + operator_name: $ => prec(1, seq( + 'operator', + choice( + 'co_await', + '+', '-', '*', '/', '%', + '^', '&', '|', '~', + '!', '=', '<', '>', + '+=', '-=', '*=', '/=', '%=', '^=', '&=', '|=', + '<<', '>>', '>>=', '<<=', + '==', '!=', '<=', '>=', + '<=>', + '&&', '||', + '++', '--', + ',', + '->*', + '->', + '()', '[]', + 'xor', 'bitand', 'bitor', 'compl', + 'not', 'xor_eq', 'and_eq', 'or_eq', 'not_eq', + 'and', 'or', + seq(choice('new', 'delete'), optional('[]')), + seq('""', $.identifier), + ), + )), + + this: _ => 'this', + + concatenated_string: $ => prec.right(seq( + choice($.identifier, $.string_literal, $.raw_string_literal), + choice($.string_literal, $.raw_string_literal), + repeat(choice($.identifier, $.string_literal, $.raw_string_literal)), + )), + + + number_literal: $ => field('number_literal', choice($.grit_metavariable, $._number_literal)), + _number_literal: $ => { + const sign = /[-\+]/; + const separator = '\''; + const binary = /[01]/; + const binaryDigits = seq(repeat1(binary), repeat(seq(separator, repeat1(binary)))); + const decimal = /[0-9]/; + const firstDecimal = /[1-9]/; + const intDecimalDigits = seq(firstDecimal, repeat(decimal), repeat(seq(separator, repeat1(decimal)))); + const floatDecimalDigits = seq(repeat1(decimal), repeat(seq(separator, repeat1(decimal)))); + const hex = /[0-9a-fA-F]/; + const hexDigits = seq(repeat1(hex), repeat(seq(separator, repeat1(hex)))); + const octal = /[0-7]/; + const octalDigits = seq('0', repeat(octal), repeat(seq(separator, repeat1(octal)))); + const hexExponent = seq(/[pP]/, optional(sign), floatDecimalDigits); + const decimalExponent = seq(/[eE]/, optional(sign), floatDecimalDigits); + const intSuffix = /(ll|LL)[uU]?|[uU](ll|LL)?|[uU][lL]?|[uU][zZ]?|[lL][uU]?|[zZ][uU]?/; + const floatSuffix = /([fF](16|32|64|128)?)|[lL]|(bf16|BF16)/; + + return token(seq( + optional(sign), + choice( + seq( + choice( + seq(choice('0b', '0B'), binaryDigits), + intDecimalDigits, + seq(choice('0x', '0X'), hexDigits), + octalDigits, + ), + optional(intSuffix), + ), + seq( + choice( + seq(floatDecimalDigits, decimalExponent), + seq(floatDecimalDigits, '.', optional(floatDecimalDigits), optional(decimalExponent)), + seq('.', floatDecimalDigits, optional(decimalExponent)), + seq( + choice('0x', '0X'), + choice( + hexDigits, + seq(hexDigits, '.', optional(hexDigits)), + seq('.', hexDigits)), + hexExponent, + ), + ), + optional(floatSuffix), + ), + ), + )); + }, + + literal_suffix: _ => token.immediate(/[a-zA-Z_]\w*/), + + identifier: $ => field('identifier', choice($.grit_metavariable, $._identifier)), + _identifier: $ => + // eslint-disable-next-line max-len + /(\p{XID_Start}|\$|_|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})(\p{XID_Continue}|\$|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})*/, + + user_defined_literal: $ => choice($._user_defined_literal, $.grit_metavariable), + _user_defined_literal: $ => seq( + choice( + $.number_literal, + $.char_literal, + $.string_literal, + $.raw_string_literal, + $.concatenated_string, + ), + $.literal_suffix, + ), + + _namespace_identifier: $ => alias($.identifier, $.namespace_identifier), + grit_metavariable: ($) => token(prec(PREC.GRIT_METAVARIABLE, choice("µ...", /µ[a-zA-Z_][a-zA-Z0-9_]*/))), + }, +}); + +/** + * Creates a rule to optionally match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {ChoiceRule} + * + */ +function commaSep(rule) { + return optional(commaSep1(rule)); +} + +/** + * Creates a rule to match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {SeqRule} + * + */ +function commaSep1(rule) { + return seq(rule, repeat(seq(',', rule))); +} diff --git a/resources/language-metavariables/tree-sitter-cpp/package-lock.json b/resources/language-metavariables/tree-sitter-cpp/package-lock.json new file mode 100644 index 000000000..ae3983707 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/package-lock.json @@ -0,0 +1,1494 @@ +{ + "name": "tree-sitter-cpp", + "version": "0.22.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-cpp", + "version": "0.22.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "devDependencies": { + "eslint": "^8.57.0", + "eslint-config-google": "^0.14.0", + "prebuildify": "^6.0.1", + "tree-sitter-c": "^0.21.3", + "tree-sitter-cli": "^0.22.6" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": 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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "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/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "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/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.57.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz", + "integrity": "sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.0.0.tgz", + "integrity": "sha512-ipO7rsHEBqa9STO5C5T10fj732ml+5kLN1cAG8/jdHd56ldQeGj3Q7+scUS+VHK/qy1zLEwC4wMK5+yM0btPvw==", + "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/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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/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/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "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": { + "queue-microtask": "^1.2.2" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tree-sitter": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.21.1.tgz", + "integrity": "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" + } + }, + "node_modules/tree-sitter-c": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/tree-sitter-c/-/tree-sitter-c-0.21.3.tgz", + "integrity": "sha512-nTmA2Me7V8Y5B8qf1mLhRKEj9ugMLSDU++8qUnTIDbRDraRBLVMcGSOlOWbO+wKMBM6CfGwDNpRrn0fXv1gu9g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + } + }, + "node_modules/tree-sitter-cli": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.22.6.tgz", + "integrity": "sha512-s7mYOJXi8sIFkt/nLJSqlYZP96VmKTc3BAwIX0rrrlRxWjWuCwixFqwzxWZBQz4R8Hx01iP7z3cT3ih58BUmZQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "tree-sitter": "cli.js" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "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 + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/resources/language-metavariables/tree-sitter-cpp/package.json b/resources/language-metavariables/tree-sitter-cpp/package.json new file mode 100644 index 000000000..b4c32d685 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/package.json @@ -0,0 +1,116 @@ +{ + "name": "tree-sitter-cpp", + "version": "0.22.1", + "description": "C++ grammar for tree-sitter", + "repository": "github:tree-sitter/tree-sitter-cpp", + "license": "MIT", + "author": "Max Brunsfeld ", + "contributors": [ + "Amaan Qureshi " + ], + "main": "bindings/node", + "types": "bindings/node", + "keywords": [ + "incremental", + "parsing", + "tree-sitter", + "c++" + ], + "files": [ + "grammar.js", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**" + ], + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + }, + "devDependencies": { + "eslint": "^8.57.0", + "eslint-config-google": "^0.14.0", + "prebuildify": "^6.0.1", + "tree-sitter-c": "^0.21.3", + "tree-sitter-cli": "^0.22.6" + }, + "scripts": { + "install": "node-gyp-build", + "prebuildify": "prebuildify --napi --strip", + "build": "tree-sitter generate --no-bindings", + "build-wasm": "tree-sitter build-wasm", + "lint": "eslint grammar.js", + "parse": "tree-sitter parse", + "test": "tree-sitter test" + }, + "tree-sitter": [ + { + "scope": "source.cpp", + "file-types": [ + "cc", + "cpp", + "cxx", + "hpp", + "hxx", + "h" + ], + "highlights": [ + "node_modules/tree-sitter-c/queries/highlights.scm", + "queries/highlights.scm" + ], + "injections": "queries/injections.scm", + "injection-regex": "^(cc|cpp)$" + } + ], + "eslintConfig": { + "env": { + "commonjs": true, + "es2021": true + }, + "extends": "google", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "rules": { + "arrow-parens": "off", + "camel-case": "off", + "indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "max-len": [ + "error", + { + "code": 160, + "ignoreComments": true, + "ignoreUrls": true, + "ignoreStrings": true + } + ], + "spaced-comment": [ + "warn", + "always", + { + "line": { + "markers": [ + "/" + ] + } + } + ] + } + } +} diff --git a/resources/language-metavariables/tree-sitter-cpp/pyproject.toml b/resources/language-metavariables/tree-sitter-cpp/pyproject.toml new file mode 100644 index 000000000..071e80414 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/pyproject.toml @@ -0,0 +1,33 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "tree-sitter-cpp" +description = "C++ grammar for tree-sitter" +version = "0.22.1" +keywords = ["incremental", "parsing", "tree-sitter", "cpp"] +classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Topic :: Software Development :: Compilers", + "Topic :: Text Processing :: Linguistic", + "Typing :: Typed", +] +authors = [ + { name = "Max Brunsfeld", email = "maxbrunsfeld@gmail.com" }, + { name = "Amaan Qureshi", email = "amaanq12@gmail.com" }, +] +requires-python = ">=3.8" +license.text = "MIT" +readme = "README.md" + +[project.urls] +Homepage = "https://github.com/tree-sitter/tree-sitter-cpp" + +[project.optional-dependencies] +core = ["tree-sitter~=0.21"] + +[tool.cibuildwheel] +build = "cp38-*" +build-frontend = "build" diff --git a/resources/language-metavariables/tree-sitter-cpp/queries/highlights.scm b/resources/language-metavariables/tree-sitter-cpp/queries/highlights.scm new file mode 100644 index 000000000..9d4931808 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/queries/highlights.scm @@ -0,0 +1,70 @@ +; Functions + +(call_expression + function: (qualified_identifier + name: (identifier) @function)) + +(template_function + name: (identifier) @function) + +(template_method + name: (field_identifier) @function) + +(template_function + name: (identifier) @function) + +(function_declarator + declarator: (qualified_identifier + name: (identifier) @function)) + +(function_declarator + declarator: (field_identifier) @function) + +; Types + +((namespace_identifier) @type + (#match? @type "^[A-Z]")) + +(auto) @type + +; Constants + +(this) @variable.builtin +(null "nullptr" @constant) + +; Keywords + +[ + "catch" + "class" + "co_await" + "co_return" + "co_yield" + "constexpr" + "constinit" + "consteval" + "delete" + "explicit" + "final" + "friend" + "mutable" + "namespace" + "noexcept" + "new" + "override" + "private" + "protected" + "public" + "template" + "throw" + "try" + "typename" + "using" + "concept" + "requires" + (virtual) +] @keyword + +; Strings + +(raw_string_literal) @string diff --git a/resources/language-metavariables/tree-sitter-cpp/queries/injections.scm b/resources/language-metavariables/tree-sitter-cpp/queries/injections.scm new file mode 100644 index 000000000..6850c953f --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/queries/injections.scm @@ -0,0 +1,3 @@ +(raw_string_literal + delimiter: (raw_string_delimiter) @injection.language + (raw_string_content) @injection.content) diff --git a/resources/language-metavariables/tree-sitter-cpp/queries/tags.scm b/resources/language-metavariables/tree-sitter-cpp/queries/tags.scm new file mode 100644 index 000000000..621a97d02 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/queries/tags.scm @@ -0,0 +1,15 @@ +(struct_specifier name: (type_identifier) @name body:(_)) @definition.class + +(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class + +(function_declarator declarator: (identifier) @name) @definition.function + +(function_declarator declarator: (field_identifier) @name) @definition.function + +(function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name)) @definition.method + +(type_definition declarator: (type_identifier) @name) @definition.type + +(enum_specifier name: (type_identifier) @name) @definition.type + +(class_specifier name: (type_identifier) @name) @definition.class diff --git a/resources/language-metavariables/tree-sitter-cpp/setup.py b/resources/language-metavariables/tree-sitter-cpp/setup.py new file mode 100644 index 000000000..05c390fc3 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/setup.py @@ -0,0 +1,57 @@ +from os.path import isdir, join +from platform import system + +from setuptools import Extension, find_packages, setup +from setuptools.command.build import build +from wheel.bdist_wheel import bdist_wheel + + +class Build(build): + def run(self): + if isdir("queries"): + dest = join(self.build_lib, "tree_sitter_cpp", "queries") + self.copy_tree("queries", dest) + super().run() + + +class BdistWheel(bdist_wheel): + def get_tag(self): + python, abi, platform = super().get_tag() + if python.startswith("cp"): + python, abi = "cp38", "abi3" + return python, abi, platform + + +setup( + packages=find_packages("bindings/python"), + package_dir={"": "bindings/python"}, + package_data={ + "tree_sitter_cpp": ["*.pyi", "py.typed"], + "tree_sitter_cpp.queries": ["*.scm"], + }, + ext_package="tree_sitter_cpp", + ext_modules=[ + Extension( + name="_binding", + sources=[ + "bindings/python/tree_sitter_cpp/binding.c", + "src/parser.c", + "src/scanner.c", + ], + extra_compile_args=( + ["-std=c11"] if system() != "Windows" else [] + ), + define_macros=[ + ("Py_LIMITED_API", "0x03080000"), + ("PY_SSIZE_T_CLEAN", None) + ], + include_dirs=["src"], + py_limited_api=True, + ) + ], + cmdclass={ + "build": Build, + "bdist_wheel": BdistWheel + }, + zip_safe=False +) diff --git a/resources/language-metavariables/tree-sitter-cpp/src/grammar.json b/resources/language-metavariables/tree-sitter-cpp/src/grammar.json new file mode 100644 index 000000000..12e382fbe --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/src/grammar.json @@ -0,0 +1,17029 @@ +{ + "0": "c", + "name": "cpp", + "word": "_identifier", + "rules": { + "translation_unit": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_top_level_item" + } + }, + "_top_level_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SYMBOL", + "name": "linkage_specification" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "_top_level_statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "_empty_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_if" + }, + { + "type": "SYMBOL", + "name": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_include" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "SYMBOL", + "name": "namespace_definition" + }, + { + "type": "SYMBOL", + "name": "concept_definition" + }, + { + "type": "SYMBOL", + "name": "namespace_alias_definition" + }, + { + "type": "SYMBOL", + "name": "using_declaration" + }, + { + "type": "SYMBOL", + "name": "alias_declaration" + }, + { + "type": "SYMBOL", + "name": "static_assert_declaration" + }, + { + "type": "SYMBOL", + "name": "template_declaration" + }, + { + "type": "SYMBOL", + "name": "template_instantiation" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_declaration" + }, + "named": true, + "value": "declaration" + } + ] + }, + "_block_item": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SYMBOL", + "name": "linkage_specification" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "_empty_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_if" + }, + { + "type": "SYMBOL", + "name": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_include" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "SYMBOL", + "name": "namespace_definition" + }, + { + "type": "SYMBOL", + "name": "concept_definition" + }, + { + "type": "SYMBOL", + "name": "namespace_alias_definition" + }, + { + "type": "SYMBOL", + "name": "using_declaration" + }, + { + "type": "SYMBOL", + "name": "alias_declaration" + }, + { + "type": "SYMBOL", + "name": "static_assert_declaration" + }, + { + "type": "SYMBOL", + "name": "template_declaration" + }, + { + "type": "SYMBOL", + "name": "template_instantiation" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_declaration" + }, + "named": true, + "value": "declaration" + } + ] + }, + "preproc_include": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*include" + }, + "named": false, + "value": "#include" + }, + { + "type": "FIELD", + "name": "path", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "system_lib_string" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_call_expression" + }, + "named": true, + "value": "call_expression" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_def": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*define" + }, + "named": false, + "value": "#define" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_function_def": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*define" + }, + "named": false, + "value": "#define" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "preproc_params" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_params": { + "type": "SEQ", + "members": [ + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "STRING", + "value": "(" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "..." + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "..." + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_call": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "directive", + "content": { + "type": "SYMBOL", + "name": "preproc_directive" + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_arg" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "\\r?\\n" + } + } + ] + }, + "preproc_if": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + } + ] + } + }, + "preproc_elif": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_else" + }, + { + "type": "SYMBOL", + "name": "preproc_elif" + }, + { + "type": "SYMBOL", + "name": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + } + ] + } + }, + "preproc_elif_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_field_declaration_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_field_declaration_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + } + ] + } + }, + "preproc_elif_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_enumerator_list": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_if_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*if" + }, + "named": false, + "value": "#if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_ifdef_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifdef" + }, + "named": false, + "value": "#ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*ifndef" + }, + "named": false, + "value": "#ifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*endif" + }, + "named": false, + "value": "#endif" + } + ] + } + }, + "preproc_else_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*else" + }, + "named": false, + "value": "#else" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + } + ] + } + }, + "preproc_elif_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elif" + }, + "named": false, + "value": "#elif" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "STRING", + "value": "\n" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_elifdef_in_enumerator_list_no_comma": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifdef" + }, + "named": false, + "value": "#elifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "#[ \t]*elifndef" + }, + "named": false, + "value": "#elifndef" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "enumerator" + } + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_else_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_else" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elif_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elif" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_elifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_elifdef" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "preproc_arg": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": -1, + "content": { + "type": "PATTERN", + "value": "\\S([^/\\n]|\\/[^*]|\\\\\\r?\\n)*" + } + } + }, + "preproc_directive": { + "type": "PATTERN", + "value": "#[ \\t]*[a-zA-Z0-9]\\w*" + }, + "_preproc_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_call_expression" + }, + "named": true, + "value": "call_expression" + }, + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "preproc_defined" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_unary_expression" + }, + "named": true, + "value": "unary_expression" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_binary_expression" + }, + "named": true, + "value": "binary_expression" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_parenthesized_expression" + }, + "named": true, + "value": "parenthesized_expression" + } + ] + }, + "preproc_parenthesized_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_preproc_expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_defined": { + "type": "CHOICE", + "members": [ + { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "defined" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "defined" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + }, + "preproc_unary_expression": { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "~" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "+" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + "preproc_call_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_argument_list" + }, + "named": true, + "value": "argument_list" + } + } + ] + } + }, + "preproc_argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_preproc_expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_preproc_expression" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "preproc_binary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "==" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "!=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_preproc_expression" + } + } + ] + } + } + ] + }, + "function_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "SYMBOL", + "name": "try_statement" + } + ] + } + } + ] + }, + "_old_style_function_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_function_declarator" + }, + "named": true, + "value": "function_declarator" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "declaration" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "init_declarator" + } + ] + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "init_declarator" + } + ] + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "type_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "typedef" + }, + { + "type": "SYMBOL", + "name": "_type_definition_type" + }, + { + "type": "SYMBOL", + "name": "_type_definition_declarators" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_type_definition_type": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + } + ] + }, + "_type_definition_declarators": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + } + ] + } + } + ] + }, + "_declaration_modifiers": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "storage_class_specifier" + }, + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "SYMBOL", + "name": "attribute_declaration" + }, + { + "type": "SYMBOL", + "name": "ms_declspec_modifier" + } + ] + }, + { + "type": "SYMBOL", + "name": "virtual" + } + ] + }, + "_declaration_specifiers": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_declaration_modifiers" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_declaration_modifiers" + } + } + ] + } + }, + "linkage_specification": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "extern" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "declaration_list" + } + ] + } + } + ] + }, + "attribute_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__attribute__" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "attribute": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "prefix", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "::" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "attribute_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "attribute" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "attribute" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "]]" + } + ] + }, + "ms_declspec_modifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__declspec" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "ms_based_modifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__based" + }, + { + "type": "SYMBOL", + "name": "argument_list" + } + ] + }, + "ms_call_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__cdecl" + }, + { + "type": "STRING", + "value": "__clrcall" + }, + { + "type": "STRING", + "value": "__stdcall" + }, + { + "type": "STRING", + "value": "__fastcall" + }, + { + "type": "STRING", + "value": "__thiscall" + }, + { + "type": "STRING", + "value": "__vectorcall" + } + ] + }, + "ms_restrict_modifier": { + "type": "STRING", + "value": "__restrict" + }, + "ms_unsigned_ptr_modifier": { + "type": "STRING", + "value": "__uptr" + }, + "ms_signed_ptr_modifier": { + "type": "STRING", + "value": "__sptr" + }, + "ms_unaligned_ptr_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "_unaligned" + }, + { + "type": "STRING", + "value": "__unaligned" + } + ] + }, + "ms_pointer_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_unaligned_ptr_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_restrict_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_unsigned_ptr_modifier" + }, + { + "type": "SYMBOL", + "name": "ms_signed_ptr_modifier" + } + ] + }, + "declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_declarator" + }, + { + "type": "SYMBOL", + "name": "pointer_declarator" + }, + { + "type": "SYMBOL", + "name": "function_declarator" + }, + { + "type": "SYMBOL", + "name": "array_declarator" + }, + { + "type": "SYMBOL", + "name": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "SYMBOL", + "name": "reference_declarator" + }, + { + "type": "SYMBOL", + "name": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "template_function" + }, + { + "type": "SYMBOL", + "name": "operator_name" + }, + { + "type": "SYMBOL", + "name": "destructor_name" + }, + { + "type": "SYMBOL", + "name": "structured_binding_declarator" + } + ] + }, + "_declaration_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_declarator" + }, + { + "type": "SYMBOL", + "name": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_function_declaration_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "SYMBOL", + "name": "array_declarator" + }, + { + "type": "SYMBOL", + "name": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "_field_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "attributed_field_declarator" + }, + "named": true, + "value": "attributed_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "pointer_field_declarator" + }, + "named": true, + "value": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "function_field_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "array_field_declarator" + }, + "named": true, + "value": "array_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "parenthesized_field_declarator" + }, + "named": true, + "value": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "reference_field_declarator" + }, + "named": true, + "value": "reference_declarator" + }, + { + "type": "SYMBOL", + "name": "template_method" + }, + { + "type": "SYMBOL", + "name": "operator_name" + } + ] + }, + "_type_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "attributed_type_declarator" + }, + "named": true, + "value": "attributed_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "pointer_type_declarator" + }, + "named": true, + "value": "pointer_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "function_type_declarator" + }, + "named": true, + "value": "function_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "array_type_declarator" + }, + "named": true, + "value": "array_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "parenthesized_type_declarator" + }, + "named": true, + "value": "parenthesized_declarator" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + }, + "named": true, + "value": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "reference_type_declarator" + }, + "named": true, + "value": "reference_declarator" + } + ] + }, + "_abstract_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "abstract_pointer_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_function_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_array_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_parenthesized_declarator" + } + ] + }, + { + "type": "SYMBOL", + "name": "abstract_reference_declarator" + } + ] + }, + "parenthesized_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "parenthesized_field_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_field_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "parenthesized_type_declarator": { + "type": "PREC_DYNAMIC", + "value": -10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "abstract_parenthesized_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_call_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "attributed_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "attributed_field_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_field_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "attributed_type_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_type_declarator" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + }, + "pointer_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + } + ] + } + } + }, + "pointer_field_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + } + ] + } + } + }, + "pointer_type_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_based_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + } + ] + } + } + }, + "abstract_pointer_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "ms_pointer_modifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + } + }, + "function_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "SYMBOL", + "name": "_function_declarator_seq" + } + ] + } + }, + "_function_declaration_declarator": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + } + ] + } + }, + "function_field_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "SYMBOL", + "name": "_function_declarator_seq" + } + ] + } + }, + "function_type_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + } + ] + } + }, + "abstract_function_declarator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "SYMBOL", + "name": "_function_declarator_seq" + } + ] + }, + "_old_style_function_declarator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_old_style_parameter_list" + }, + "named": true, + "value": "parameter_list" + } + } + ] + }, + "array_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "array_field_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "array_type_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_type_declarator" + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "abstract_array_declarator": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_qualifier" + }, + { + "type": "STRING", + "value": "static" + } + ] + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "init_declarator": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + ] + }, + "compound_statement": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_block_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + } + }, + "storage_class_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "extern" + }, + { + "type": "STRING", + "value": "static" + }, + { + "type": "STRING", + "value": "register" + }, + { + "type": "STRING", + "value": "inline" + }, + { + "type": "STRING", + "value": "__inline" + }, + { + "type": "STRING", + "value": "__inline__" + }, + { + "type": "STRING", + "value": "__forceinline" + }, + { + "type": "STRING", + "value": "thread_local" + }, + { + "type": "STRING", + "value": "__thread" + }, + { + "type": "STRING", + "value": "thread_local" + } + ] + }, + "type_qualifier": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "const" + }, + { + "type": "STRING", + "value": "constexpr" + }, + { + "type": "STRING", + "value": "volatile" + }, + { + "type": "STRING", + "value": "restrict" + }, + { + "type": "STRING", + "value": "__restrict__" + }, + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "STRING", + "value": "_Atomic" + }, + { + "type": "STRING", + "value": "_Noreturn" + }, + { + "type": "STRING", + "value": "noreturn" + }, + { + "type": "SYMBOL", + "name": "alignas_qualifier" + } + ] + }, + { + "type": "STRING", + "value": "mutable" + }, + { + "type": "STRING", + "value": "constinit" + }, + { + "type": "STRING", + "value": "consteval" + } + ] + }, + "alignas_qualifier": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "alignas" + }, + { + "type": "STRING", + "value": "_Alignas" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "type_descriptor" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "type_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "struct_specifier" + }, + { + "type": "SYMBOL", + "name": "union_specifier" + }, + { + "type": "SYMBOL", + "name": "enum_specifier" + }, + { + "type": "SYMBOL", + "name": "class_specifier" + }, + { + "type": "SYMBOL", + "name": "sized_type_specifier" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "template_type" + }, + { + "type": "SYMBOL", + "name": "dependent_type" + }, + { + "type": "SYMBOL", + "name": "placeholder_type_specifier" + }, + { + "type": "SYMBOL", + "name": "decltype" + }, + { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_type_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + } + ] + } + } + ] + }, + "sized_type_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "signed" + }, + { + "type": "STRING", + "value": "unsigned" + }, + { + "type": "STRING", + "value": "long" + }, + { + "type": "STRING", + "value": "short" + } + ] + } + } + ] + } + ] + }, + "primitive_type": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "bool" + }, + { + "type": "STRING", + "value": "char" + }, + { + "type": "STRING", + "value": "int" + }, + { + "type": "STRING", + "value": "float" + }, + { + "type": "STRING", + "value": "double" + }, + { + "type": "STRING", + "value": "void" + }, + { + "type": "STRING", + "value": "size_t" + }, + { + "type": "STRING", + "value": "ssize_t" + }, + { + "type": "STRING", + "value": "ptrdiff_t" + }, + { + "type": "STRING", + "value": "intptr_t" + }, + { + "type": "STRING", + "value": "uintptr_t" + }, + { + "type": "STRING", + "value": "charptr_t" + }, + { + "type": "STRING", + "value": "nullptr_t" + }, + { + "type": "STRING", + "value": "max_align_t" + }, + { + "type": "STRING", + "value": "int8_t" + }, + { + "type": "STRING", + "value": "int16_t" + }, + { + "type": "STRING", + "value": "int32_t" + }, + { + "type": "STRING", + "value": "int64_t" + }, + { + "type": "STRING", + "value": "uint8_t" + }, + { + "type": "STRING", + "value": "uint16_t" + }, + { + "type": "STRING", + "value": "uint32_t" + }, + { + "type": "STRING", + "value": "uint64_t" + }, + { + "type": "STRING", + "value": "char8_t" + }, + { + "type": "STRING", + "value": "char16_t" + }, + { + "type": "STRING", + "value": "char32_t" + }, + { + "type": "STRING", + "value": "char64_t" + } + ] + } + }, + "enum_specifier": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "enum" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "class" + }, + { + "type": "STRING", + "value": "struct" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_class_name" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_enum_base_clause" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "enumerator_list" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "enumerator_list" + } + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "enumerator_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_enumerator_list" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_enumerator_list" + }, + "named": true, + "value": "preproc_ifdef" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "STRING", + "value": "," + } + ] + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "enumerator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_enumerator_list_no_comma" + }, + "named": true, + "value": "preproc_ifdef" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "struct_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "struct" + }, + { + "type": "SYMBOL", + "name": "_class_declaration" + } + ] + }, + "union_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "union" + }, + { + "type": "SYMBOL", + "name": "_class_declaration" + } + ] + }, + "field_declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_field_declaration_list_item" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_field_declaration_list_item": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_declaration" + }, + { + "type": "SYMBOL", + "name": "preproc_def" + }, + { + "type": "SYMBOL", + "name": "preproc_function_def" + }, + { + "type": "SYMBOL", + "name": "preproc_call" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_if_in_field_declaration_list" + }, + "named": true, + "value": "preproc_if" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "preproc_ifdef_in_field_declaration_list" + }, + "named": true, + "value": "preproc_ifdef" + } + ] + }, + { + "type": "SYMBOL", + "name": "template_declaration" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "inline_method_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_declaration" + }, + "named": true, + "value": "declaration" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_declaration" + }, + "named": true, + "value": "declaration" + }, + { + "type": "SYMBOL", + "name": "friend_declaration" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + { + "type": "SYMBOL", + "name": "alias_declaration" + }, + { + "type": "SYMBOL", + "name": "using_declaration" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "static_assert_declaration" + } + ] + }, + "field_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_field_declaration_declarator": { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bitfield_clause" + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + } + } + ] + }, + "bitfield_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "enumerator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "variadic_parameter": { + "type": "STRING", + "value": "..." + }, + "parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + }, + { + "type": "STRING", + "value": "..." + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + }, + { + "type": "STRING", + "value": "..." + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "_old_style_parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "SYMBOL", + "name": "_abstract_declarator" + } + ] + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "attributed_statement": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "case_statement" + }, + { + "type": "SYMBOL", + "name": "_non_case_statement" + } + ] + }, + "_non_case_statement": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "labeled_statement" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "SYMBOL", + "name": "expression_statement" + }, + { + "type": "SYMBOL", + "name": "if_statement" + }, + { + "type": "SYMBOL", + "name": "switch_statement" + }, + { + "type": "SYMBOL", + "name": "do_statement" + }, + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "return_statement" + }, + { + "type": "SYMBOL", + "name": "break_statement" + }, + { + "type": "SYMBOL", + "name": "continue_statement" + }, + { + "type": "SYMBOL", + "name": "goto_statement" + }, + { + "type": "SYMBOL", + "name": "seh_try_statement" + }, + { + "type": "SYMBOL", + "name": "seh_leave_statement" + } + ] + }, + { + "type": "SYMBOL", + "name": "co_return_statement" + }, + { + "type": "SYMBOL", + "name": "co_yield_statement" + }, + { + "type": "SYMBOL", + "name": "for_range_loop" + }, + { + "type": "SYMBOL", + "name": "try_statement" + }, + { + "type": "SYMBOL", + "name": "throw_statement" + } + ] + }, + "_top_level_statement": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "case_statement" + }, + { + "type": "SYMBOL", + "name": "attributed_statement" + }, + { + "type": "SYMBOL", + "name": "labeled_statement" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_top_level_expression_statement" + }, + "named": true, + "value": "expression_statement" + }, + { + "type": "SYMBOL", + "name": "if_statement" + }, + { + "type": "SYMBOL", + "name": "switch_statement" + }, + { + "type": "SYMBOL", + "name": "do_statement" + }, + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "return_statement" + }, + { + "type": "SYMBOL", + "name": "break_statement" + }, + { + "type": "SYMBOL", + "name": "continue_statement" + }, + { + "type": "SYMBOL", + "name": "goto_statement" + } + ] + }, + { + "type": "SYMBOL", + "name": "co_return_statement" + }, + { + "type": "SYMBOL", + "name": "co_yield_statement" + }, + { + "type": "SYMBOL", + "name": "for_range_loop" + }, + { + "type": "SYMBOL", + "name": "try_statement" + }, + { + "type": "SYMBOL", + "name": "throw_statement" + } + ] + }, + "labeled_statement": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "_statement_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "_top_level_expression_statement": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "expression_statement": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "if_statement": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "constexpr" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "condition_clause" + } + }, + { + "type": "FIELD", + "name": "consequence", + "content": { + "type": "SYMBOL", + "name": "statement" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "SYMBOL", + "name": "else_clause" + } + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "else_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + }, + "switch_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "switch" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "condition_clause" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "case_statement": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "case" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "STRING", + "value": "default" + } + ] + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_non_case_statement" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "type_definition" + } + ] + } + } + ] + } + }, + "while_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "while" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "condition_clause" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + } + ] + }, + "do_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "do" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + }, + { + "type": "STRING", + "value": "while" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "for_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_for_statement_body" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + } + ] + }, + "_for_statement_body": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "SYMBOL", + "name": "declaration" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "update", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "return_statement": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "return" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "return" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + } + ] + }, + "break_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "break" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "continue_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "continue" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "goto_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "goto" + }, + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "_statement_identifier" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "seh_try_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__try" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "seh_except_clause" + }, + { + "type": "SYMBOL", + "name": "seh_finally_clause" + } + ] + } + ] + }, + "seh_except_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__except" + }, + { + "type": "FIELD", + "name": "filter", + "content": { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "seh_finally_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__finally" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "seh_leave_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__leave" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "SYMBOL", + "name": "binary_expression" + } + ] + }, + "_expression_not_binary": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "conditional_expression" + }, + { + "type": "SYMBOL", + "name": "assignment_expression" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + }, + { + "type": "SYMBOL", + "name": "update_expression" + }, + { + "type": "SYMBOL", + "name": "cast_expression" + }, + { + "type": "SYMBOL", + "name": "pointer_expression" + }, + { + "type": "SYMBOL", + "name": "sizeof_expression" + }, + { + "type": "SYMBOL", + "name": "alignof_expression" + }, + { + "type": "SYMBOL", + "name": "offsetof_expression" + }, + { + "type": "SYMBOL", + "name": "generic_expression" + }, + { + "type": "SYMBOL", + "name": "subscript_expression" + }, + { + "type": "SYMBOL", + "name": "call_expression" + }, + { + "type": "SYMBOL", + "name": "field_expression" + }, + { + "type": "SYMBOL", + "name": "compound_literal_expression" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "_string" + }, + { + "type": "SYMBOL", + "name": "true" + }, + { + "type": "SYMBOL", + "name": "false" + }, + { + "type": "SYMBOL", + "name": "null" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + }, + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "co_await_expression" + }, + { + "type": "SYMBOL", + "name": "requires_expression" + }, + { + "type": "SYMBOL", + "name": "requires_clause" + }, + { + "type": "SYMBOL", + "name": "template_function" + }, + { + "type": "SYMBOL", + "name": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "new_expression" + }, + { + "type": "SYMBOL", + "name": "delete_expression" + }, + { + "type": "SYMBOL", + "name": "lambda_expression" + }, + { + "type": "SYMBOL", + "name": "parameter_pack_expansion" + }, + { + "type": "SYMBOL", + "name": "this" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + }, + { + "type": "SYMBOL", + "name": "user_defined_literal" + }, + { + "type": "SYMBOL", + "name": "fold_expression" + } + ] + }, + "_string": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "concatenated_string" + } + ] + } + }, + "comma_expression": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + } + } + ] + }, + "conditional_expression": { + "type": "PREC_RIGHT", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "?" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "consequence", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "_assignment_left_expression": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "call_expression" + }, + { + "type": "SYMBOL", + "name": "field_expression" + }, + { + "type": "SYMBOL", + "name": "pointer_expression" + }, + { + "type": "SYMBOL", + "name": "subscript_expression" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "user_defined_literal" + } + ] + }, + "assignment_expression": { + "type": "PREC_RIGHT", + "value": -2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_assignment_left_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": ">>=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": "and_eq" + }, + { + "type": "STRING", + "value": "or_eq" + }, + { + "type": "STRING", + "value": "xor_eq" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + }, + "pointer_expression": { + "type": "PREC_LEFT", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "&" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "unary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "~" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "+" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "not" + }, + { + "type": "STRING", + "value": "compl" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] + }, + "binary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 11, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "==" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "!=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] + }, + { + "type": "PREC_LEFT", + "value": 8, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=>" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "or" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "and" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "bitor" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "xor" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "bitand" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "not_eq" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] + }, + "update_expression": { + "type": "PREC_RIGHT", + "value": 14, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "--" + }, + { + "type": "STRING", + "value": "++" + } + ] + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "--" + }, + { + "type": "STRING", + "value": "++" + } + ] + } + } + ] + } + ] + } + }, + "cast_expression": { + "type": "PREC", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "type_descriptor": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "sizeof_expression": { + "type": "PREC_RIGHT", + "value": 13, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PREC", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "sizeof" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + ] + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "sizeof" + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + }, + "alignof_expression": { + "type": "PREC", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__alignof__" + }, + { + "type": "STRING", + "value": "__alignof" + }, + { + "type": "STRING", + "value": "_alignof" + }, + { + "type": "STRING", + "value": "alignof" + }, + { + "type": "STRING", + "value": "_Alignof" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + }, + "offsetof_expression": { + "type": "PREC", + "value": 8, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "offsetof" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "member", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + } + }, + "generic_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "_Generic" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_descriptor" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_descriptor" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "subscript_expression": { + "type": "PREC", + "value": 17, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "indices", + "content": { + "type": "SYMBOL", + "name": "subscript_argument_list" + } + } + ] + } + }, + "call_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "argument_list" + } + } + ] + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "primitive_type" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "argument_list" + } + } + ] + } + ] + }, + "gnu_asm_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "asm" + }, + { + "type": "STRING", + "value": "__asm__" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_qualifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "assembly_code", + "content": { + "type": "SYMBOL", + "name": "_string" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "output_operands", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "input_operands", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clobbers", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_clobber_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "goto_labels", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_goto_list" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "gnu_asm_qualifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "volatile" + }, + { + "type": "STRING", + "value": "inline" + }, + { + "type": "STRING", + "value": "goto" + } + ] + }, + "gnu_asm_output_operand_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_output_operand" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_output_operand": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "symbol", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "gnu_asm_input_operand_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "gnu_asm_input_operand" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_input_operand": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "symbol", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "string_literal" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "gnu_asm_clobber_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "register", + "content": { + "type": "SYMBOL", + "name": "_string" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "register", + "content": { + "type": "SYMBOL", + "name": "_string" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "gnu_asm_goto_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "label", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "field_expression": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "PREC", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "STRING", + "value": ".*" + }, + { + "type": "STRING", + "value": "->" + } + ] + } + } + ] + } + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_identifier" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_field_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "destructor_name" + }, + { + "type": "SYMBOL", + "name": "template_method" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "dependent_field_identifier" + }, + "named": true, + "value": "dependent_name" + } + ] + } + } + ] + } + }, + "compound_literal_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_class_name" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + } + ] + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + } + ] + } + ] + }, + "parenthesized_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_assignment_expression_lhs" + }, + "named": true, + "value": "assignment_expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "initializer_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_pair" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_pair" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "initializer_pair": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "designator", + "content": { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "subscript_designator" + }, + { + "type": "SYMBOL", + "name": "field_designator" + }, + { + "type": "SYMBOL", + "name": "subscript_range_designator" + } + ] + } + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "designator", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + } + ] + }, + "subscript_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "subscript_range_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "start", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "FIELD", + "name": "end", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "field_designator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + }, + "number_literal": { + "type": "FIELD", + "name": "number_literal", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_number_literal" + } + ] + } + }, + "_number_literal": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "0b" + }, + { + "type": "STRING", + "value": "0B" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[01]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[01]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[1-9]" + }, + { + "type": "REPEAT", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "0x" + }, + { + "type": "STRING", + "value": "0X" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "0" + }, + { + "type": "REPEAT", + "content": { + "type": "PATTERN", + "value": "[0-7]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-7]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "(ll|LL)[uU]?|[uU](ll|LL)?|[uU][lL]?|[uU][zZ]?|[lL][uU]?|[zZ][uU]?" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[eE]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[eE]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[eE]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "0x" + }, + { + "type": "STRING", + "value": "0X" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9a-fA-F]" + } + } + ] + } + } + ] + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[pP]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[-\\+]" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "REPEAT1", + "content": { + "type": "PATTERN", + "value": "[0-9]" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "([fF](16|32|64|128)?)|[lL]|(bf16|BF16)" + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + } + ] + } + }, + "char_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_char_literal" + } + ] + }, + "_char_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "L'" + }, + { + "type": "STRING", + "value": "u'" + }, + { + "type": "STRING", + "value": "U'" + }, + { + "type": "STRING", + "value": "u8'" + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "escape_sequence" + }, + { + "type": "ALIAS", + "content": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "[^\\n']" + } + }, + "named": true, + "value": "character" + } + ] + } + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + "concatenated_string": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + } + ] + } + } + ] + } + }, + "string_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_string_literal" + } + ] + }, + "_string_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "L\"" + }, + { + "type": "STRING", + "value": "u\"" + }, + { + "type": "STRING", + "value": "U\"" + }, + { + "type": "STRING", + "value": "u8\"" + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "PATTERN", + "value": "[^\\\\\"\\n]+" + } + } + }, + "named": true, + "value": "string_content" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "escape_sequence": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\\" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^xuU]" + }, + { + "type": "PATTERN", + "value": "\\d{2,3}" + }, + { + "type": "PATTERN", + "value": "x[0-9a-fA-F]{2,}" + }, + { + "type": "PATTERN", + "value": "u[0-9a-fA-F]{4}" + }, + { + "type": "PATTERN", + "value": "U[0-9a-fA-F]{8}" + } + ] + } + ] + } + } + }, + "system_lib_string": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^>\\n]" + }, + { + "type": "STRING", + "value": "\\>" + } + ] + } + }, + { + "type": "STRING", + "value": ">" + } + ] + } + }, + "true": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "TRUE" + }, + { + "type": "STRING", + "value": "true" + } + ] + } + }, + "false": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "FALSE" + }, + { + "type": "STRING", + "value": "false" + } + ] + } + }, + "null": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "NULL" + }, + { + "type": "STRING", + "value": "nullptr" + } + ] + }, + "identifier": { + "type": "FIELD", + "name": "identifier", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "grit_metavariable" + }, + { + "type": "SYMBOL", + "name": "_identifier" + } + ] + } + }, + "_identifier": { + "type": "PATTERN", + "value": "(\\p{XID_Start}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})(\\p{XID_Continue}|\\$|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})*" + }, + "_type_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "type_identifier" + }, + "_field_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "field_identifier" + }, + "_statement_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "statement_identifier" + }, + "_empty_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_specifier" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "macro_type_specifier": { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "comment": { + "type": "TOKEN", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "//" + }, + { + "type": "PATTERN", + "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/*" + }, + { + "type": "PATTERN", + "value": "[^*]*\\*+([^/*][^*]*\\*+)*" + }, + { + "type": "STRING", + "value": "/" + } + ] + } + ] + } + }, + "grit_metavariable": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 100, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "µ..." + }, + { + "type": "PATTERN", + "value": "µ[a-zA-Z_][a-zA-Z0-9_]*" + } + ] + } + } + }, + "placeholder_type_specifier": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_specifier" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "auto" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "decltype_auto" + }, + "named": true, + "value": "decltype" + } + ] + } + ] + } + }, + "auto": { + "type": "STRING", + "value": "auto" + }, + "decltype_auto": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "decltype" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "auto" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "decltype": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "decltype" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "_class_declaration": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "SYMBOL", + "name": "alignas_qualifier" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ms_declspec_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "SYMBOL", + "name": "_class_declaration_item" + } + ] + }, + "_class_declaration_item": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_class_name" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_class_name" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "virtual_specifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "base_class_clause" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_declaration_list" + } + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "class_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "class" + }, + { + "type": "SYMBOL", + "name": "_class_declaration" + } + ] + }, + "_class_name": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "SYMBOL", + "name": "template_type" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_type_identifier" + }, + "named": true, + "value": "qualified_identifier" + } + ] + } + }, + "virtual_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "final" + }, + { + "type": "STRING", + "value": "override" + } + ] + }, + "virtual": { + "type": "STRING", + "value": "virtual" + }, + "explicit_function_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "explicit" + }, + { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "explicit" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + } + ] + }, + "base_class_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "virtual" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "virtual" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_class_name" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "virtual" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "virtual" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "access_specifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_class_name" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + } + } + ] + } + ] + }, + "_enum_base_clause": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "base", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_type_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "SYMBOL", + "name": "primitive_type" + }, + { + "type": "SYMBOL", + "name": "sized_type_specifier" + } + ] + } + } + ] + } + }, + "dependent_type": { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "typename" + }, + { + "type": "SYMBOL", + "name": "type_specifier" + } + ] + } + } + }, + "template_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "template_parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "requires_clause" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_empty_declaration" + }, + { + "type": "SYMBOL", + "name": "alias_declaration" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "template_declaration" + }, + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SYMBOL", + "name": "concept_definition" + }, + { + "type": "SYMBOL", + "name": "friend_declaration" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_declaration" + }, + "named": true, + "value": "declaration" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_or_destructor_definition" + }, + "named": true, + "value": "function_definition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_declaration" + }, + "named": true, + "value": "declaration" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "operator_cast_definition" + }, + "named": true, + "value": "function_definition" + } + ] + } + ] + }, + "template_instantiation": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "template_parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "template_template_parameter_declaration" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "template_template_parameter_declaration" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "STRING", + "value": ">" + } + } + }, + "named": false, + "value": ">" + } + ] + }, + "type_parameter_declaration": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "typename" + }, + { + "type": "STRING", + "value": "class" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "variadic_type_parameter_declaration": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "typename" + }, + { + "type": "STRING", + "value": "class" + } + ] + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "optional_type_parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "typename" + }, + { + "type": "STRING", + "value": "class" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "default_type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + } + ] + }, + "template_template_parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "template_parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_type_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_type_parameter_declaration" + } + ] + } + ] + }, + "optional_parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_declarator" + }, + { + "type": "SYMBOL", + "name": "abstract_reference_declarator" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + "variadic_parameter_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "variadic_declarator" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "variadic_reference_declarator" + }, + "named": true, + "value": "reference_declarator" + } + ] + } + } + ] + }, + "variadic_declarator": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "variadic_reference_declarator": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "&" + } + ] + }, + { + "type": "SYMBOL", + "name": "variadic_declarator" + } + ] + }, + "operator_cast": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "operator" + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_abstract_declarator" + } + } + ] + } + }, + "field_initializer_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "field_initializer" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "field_initializer" + } + ] + } + } + ] + } + ] + }, + "field_initializer": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_identifier" + }, + { + "type": "SYMBOL", + "name": "template_method" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_field_identifier" + }, + "named": true, + "value": "qualified_identifier" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "initializer_list" + }, + { + "type": "SYMBOL", + "name": "argument_list" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "inline_method_definition": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_field_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "SYMBOL", + "name": "try_statement" + } + ] + } + }, + { + "type": "SYMBOL", + "name": "default_method_clause" + }, + { + "type": "SYMBOL", + "name": "delete_method_clause" + }, + { + "type": "SYMBOL", + "name": "pure_virtual_clause" + } + ] + } + ] + }, + "_constructor_specifiers": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_modifiers" + }, + { + "type": "SYMBOL", + "name": "explicit_function_specifier" + } + ] + }, + "operator_cast_definition": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_constructor_specifiers" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "operator_cast" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_operator_cast_identifier" + }, + "named": true, + "value": "qualified_identifier" + } + ] + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "compound_statement" + }, + { + "type": "SYMBOL", + "name": "try_statement" + } + ] + } + } + ] + }, + "operator_cast_declaration": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_constructor_specifiers" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "operator_cast" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_operator_cast_identifier" + }, + "named": true, + "value": "qualified_identifier" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "default_value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + } + }, + "constructor_try_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "try" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_initializer_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "catch_clause" + } + } + ] + }, + "constructor_or_destructor_definition": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_constructor_specifiers" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "function_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_initializer_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "constructor_try_statement" + }, + "named": true, + "value": "try_statement" + }, + { + "type": "SYMBOL", + "name": "default_method_clause" + }, + { + "type": "SYMBOL", + "name": "delete_method_clause" + }, + { + "type": "SYMBOL", + "name": "pure_virtual_clause" + } + ] + } + ] + }, + "constructor_or_destructor_declaration": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_constructor_specifiers" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "function_declarator" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "default_method_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "default" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "delete_method_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "delete" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "pure_virtual_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "0" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "friend_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "friend" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "function_definition" + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "class" + }, + { + "type": "STRING", + "value": "struct" + }, + { + "type": "STRING", + "value": "union" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_class_name" + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + } + ] + }, + "access_specifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "public" + }, + { + "type": "STRING", + "value": "private" + }, + { + "type": "STRING", + "value": "protected" + } + ] + }, + "reference_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + { + "type": "SYMBOL", + "name": "_declarator" + } + ] + } + } + }, + "reference_field_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + { + "type": "SYMBOL", + "name": "_field_declarator" + } + ] + } + } + }, + "reference_type_declarator": { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_declarator" + } + ] + } + } + }, + "abstract_reference_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_abstract_declarator" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "structured_binding_declarator": { + "type": "PREC_DYNAMIC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "ref_qualifier": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + "_function_declarator_seq": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_function_attributes_start" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ref_qualifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_function_exception_specification" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_function_attributes_end" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "trailing_return_type" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_function_postfix" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "_function_attributes_start": { + "type": "PREC", + "value": 1, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + } + ] + } + ] + } + }, + "_function_exception_specification": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "noexcept" + }, + { + "type": "SYMBOL", + "name": "throw_specifier" + } + ] + }, + "_function_attributes_end": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "gnu_asm_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + } + ] + } + ] + } + ] + } + }, + "_function_postfix": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "virtual_specifier" + } + }, + { + "type": "SYMBOL", + "name": "requires_clause" + } + ] + } + }, + "trailing_return_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "SYMBOL", + "name": "type_descriptor" + } + ] + }, + "noexcept": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "noexcept" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "throw_specifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "throw" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_descriptor" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_descriptor" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "template_type": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "template_argument_list" + } + } + ] + }, + "template_method": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_identifier" + }, + { + "type": "SYMBOL", + "name": "operator_name" + } + ] + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "template_argument_list" + } + } + ] + }, + "template_function": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "template_argument_list" + } + } + ] + }, + "template_argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": 3, + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 2, + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "type_parameter_pack_expansion" + }, + "named": true, + "value": "parameter_pack_expansion" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": 3, + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 2, + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "type_parameter_pack_expansion" + }, + "named": true, + "value": "parameter_pack_expansion" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "STRING", + "value": ">" + } + } + }, + "named": false, + "value": ">" + } + ] + }, + "namespace_definition": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "inline" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "namespace" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_declaration" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_namespace_identifier" + }, + { + "type": "SYMBOL", + "name": "nested_namespace_specifier" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "declaration_list" + } + } + ] + }, + "namespace_alias_definition": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "namespace" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_namespace_identifier" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_namespace_identifier" + }, + { + "type": "SYMBOL", + "name": "nested_namespace_specifier" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_namespace_specifier": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "inline" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_namespace_identifier" + } + ] + }, + "nested_namespace_specifier": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_namespace_specifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "::" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "nested_namespace_specifier" + }, + { + "type": "SYMBOL", + "name": "_namespace_specifier" + } + ] + } + ] + } + }, + "using_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "using" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "namespace" + }, + { + "type": "STRING", + "value": "enum" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "qualified_identifier" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "alias_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "using" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_declaration" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "static_assert_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "static_assert" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "message", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + }, + { + "type": "SYMBOL", + "name": "concatenated_string" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "concept_definition": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "concept" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "for_range_loop": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_for_range_loop_body" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "statement" + } + } + ] + }, + "_for_range_loop_body": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "init_statement" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + }, + "init_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "alias_declaration" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "expression_statement" + } + ] + }, + "condition_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "initializer", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "init_statement" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "comma_expression" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "condition_declaration" + }, + "named": true, + "value": "declaration" + } + ] + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "condition_declaration": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_declaration_specifiers" + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "_declarator" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "initializer_list" + } + } + ] + } + ] + }, + "co_return_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "co_return" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "co_yield_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "co_yield" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "throw_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "throw" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "try_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "try" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "catch_clause" + } + } + ] + }, + "catch_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "catch" + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "raw_string_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "R\"" + }, + { + "type": "STRING", + "value": "LR\"" + }, + { + "type": "STRING", + "value": "uR\"" + }, + { + "type": "STRING", + "value": "UR\"" + }, + { + "type": "STRING", + "value": "u8R\"" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "delimiter", + "content": { + "type": "SYMBOL", + "name": "raw_string_delimiter" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "raw_string_content" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "SYMBOL", + "name": "raw_string_delimiter" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "raw_string_content" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "subscript_argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "co_await_expression": { + "type": "PREC_LEFT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "co_await" + } + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + }, + "new_expression": { + "type": "PREC_RIGHT", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "::" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "new" + }, + { + "type": "FIELD", + "name": "placement", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type_specifier" + } + }, + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "new_declarator" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "new_declarator": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "length", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "new_declarator" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "delete_expression": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "::" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "delete" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "type_requirement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "typename" + }, + { + "type": "SYMBOL", + "name": "_class_name" + } + ] + }, + "compound_requirement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "}" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "noexcept" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "trailing_return_type" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_requirement": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "expression_statement" + }, + "named": true, + "value": "simple_requirement" + }, + { + "type": "SYMBOL", + "name": "type_requirement" + }, + { + "type": "SYMBOL", + "name": "compound_requirement" + } + ] + }, + "requirement_seq": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_requirement" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "constraint_conjunction": { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_requirement_clause_constraint" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "and" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_requirement_clause_constraint" + } + } + ] + } + }, + "constraint_disjunction": { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_requirement_clause_constraint" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "||" + }, + { + "type": "STRING", + "value": "or" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_requirement_clause_constraint" + } + } + ] + } + }, + "_requirement_clause_constraint": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "true" + }, + { + "type": "SYMBOL", + "name": "false" + }, + { + "type": "SYMBOL", + "name": "_class_name" + }, + { + "type": "SYMBOL", + "name": "fold_expression" + }, + { + "type": "SYMBOL", + "name": "lambda_expression" + }, + { + "type": "SYMBOL", + "name": "requires_expression" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "SYMBOL", + "name": "constraint_conjunction" + }, + { + "type": "SYMBOL", + "name": "constraint_disjunction" + } + ] + }, + "requires_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "requires" + }, + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "_requirement_clause_constraint" + } + } + ] + }, + "requires_parameter_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "optional_parameter_declaration" + }, + { + "type": "SYMBOL", + "name": "variadic_parameter_declaration" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "requires_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "requires" + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "requires_parameter_list" + }, + "named": true, + "value": "parameter_list" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "requirements", + "content": { + "type": "SYMBOL", + "name": "requirement_seq" + } + } + ] + }, + "lambda_expression": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "captures", + "content": { + "type": "SYMBOL", + "name": "lambda_capture_specifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "template_parameters", + "content": { + "type": "SYMBOL", + "name": "template_parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "constraint", + "content": { + "type": "SYMBOL", + "name": "requires_clause" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "declarator", + "content": { + "type": "SYMBOL", + "name": "abstract_function_declarator" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "compound_statement" + } + } + ] + }, + "lambda_capture_specifier": { + "type": "PREC", + "value": 18, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "lambda_default_capture" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "lambda_default_capture" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + } + ] + } + ] + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "lambda_default_capture": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "&" + } + ] + }, + "_fold_operator": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + }, + { + "type": "STRING", + "value": "^" + }, + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": "<<" + }, + { + "type": "STRING", + "value": ">>" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": ">>=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">=" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "||" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "STRING", + "value": ".*" + }, + { + "type": "STRING", + "value": "->*" + }, + { + "type": "STRING", + "value": "or" + }, + { + "type": "STRING", + "value": "and" + }, + { + "type": "STRING", + "value": "bitor" + }, + { + "type": "STRING", + "value": "xor" + }, + { + "type": "STRING", + "value": "bitand" + }, + { + "type": "STRING", + "value": "not_eq" + } + ] + }, + "_binary_fold_operator": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "+" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "-" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "/" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "%" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "^" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "&" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "|" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "<" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": ">" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "<<" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": ">>" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "+=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "+=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "-=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "*=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "*=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "/=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "/=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "%=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "%=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "^=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "&=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "|=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">>=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": ">>=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<<=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "<<=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "==" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "==" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "!=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "!=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "<=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "<=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ">=" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": ">=" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "&&" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "||" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "," + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": ".*" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": ".*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "->*" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "->*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "or" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "or" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "and" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "and" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "bitor" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "bitor" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "xor" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "xor" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "bitand" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "bitand" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "not_eq" + } + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "not_eq" + } + ] + } + ] + }, + "_unary_left_fold": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "STRING", + "value": "..." + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "SYMBOL", + "name": "_fold_operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + "_unary_right_fold": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "SYMBOL", + "name": "_fold_operator" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "STRING", + "value": "..." + } + } + ] + }, + "_binary_fold": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "SYMBOL", + "name": "_binary_fold_operator" + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + }, + "fold_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_unary_right_fold" + }, + { + "type": "SYMBOL", + "name": "_unary_left_fold" + }, + { + "type": "SYMBOL", + "name": "_binary_fold" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "parameter_pack_expansion": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "STRING", + "value": "..." + } + ] + } + }, + "type_parameter_pack_expansion": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "type_descriptor" + } + }, + { + "type": "STRING", + "value": "..." + } + ] + }, + "destructor_name": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "~" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + }, + "dependent_identifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "SYMBOL", + "name": "template_function" + } + ] + }, + "dependent_field_identifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "SYMBOL", + "name": "template_method" + } + ] + }, + "dependent_type_identifier": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "SYMBOL", + "name": "template_type" + } + ] + }, + "_scope_resolution": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "scope", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_namespace_identifier" + }, + { + "type": "SYMBOL", + "name": "template_type" + }, + { + "type": "SYMBOL", + "name": "decltype" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "dependent_type_identifier" + }, + "named": true, + "value": "dependent_name" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "::" + } + ] + } + }, + "qualified_field_identifier": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_scope_resolution" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "dependent_field_identifier" + }, + "named": true, + "value": "dependent_name" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_field_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "template_method" + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + } + } + ] + } + }, + "qualified_identifier": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_scope_resolution" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "dependent_identifier" + }, + "named": true, + "value": "dependent_name" + }, + { + "type": "SYMBOL", + "name": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "template_function" + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "template" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "SYMBOL", + "name": "operator_name" + }, + { + "type": "SYMBOL", + "name": "destructor_name" + }, + { + "type": "SYMBOL", + "name": "pointer_type_declarator" + } + ] + } + } + ] + }, + "qualified_type_identifier": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_scope_resolution" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "dependent_type_identifier" + }, + "named": true, + "value": "dependent_name" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_type_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "template_type" + }, + { + "type": "SYMBOL", + "name": "_type_identifier" + } + ] + } + } + ] + }, + "qualified_operator_cast_identifier": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_scope_resolution" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "qualified_operator_cast_identifier" + }, + "named": true, + "value": "qualified_identifier" + }, + { + "type": "SYMBOL", + "name": "operator_cast" + } + ] + } + } + ] + }, + "_assignment_expression_lhs": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": ">>=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": "and_eq" + }, + { + "type": "STRING", + "value": "or_eq" + }, + { + "type": "STRING", + "value": "xor_eq" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "initializer_list" + } + ] + } + } + ] + }, + "operator_name": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "operator" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "co_await" + }, + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + }, + { + "type": "STRING", + "value": "^" + }, + { + "type": "STRING", + "value": "&" + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "STRING", + "value": "~" + }, + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": "<<" + }, + { + "type": "STRING", + "value": ">>" + }, + { + "type": "STRING", + "value": ">>=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">=" + }, + { + "type": "STRING", + "value": "<=>" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "STRING", + "value": "||" + }, + { + "type": "STRING", + "value": "++" + }, + { + "type": "STRING", + "value": "--" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "STRING", + "value": "->*" + }, + { + "type": "STRING", + "value": "->" + }, + { + "type": "STRING", + "value": "()" + }, + { + "type": "STRING", + "value": "[]" + }, + { + "type": "STRING", + "value": "xor" + }, + { + "type": "STRING", + "value": "bitand" + }, + { + "type": "STRING", + "value": "bitor" + }, + { + "type": "STRING", + "value": "compl" + }, + { + "type": "STRING", + "value": "not" + }, + { + "type": "STRING", + "value": "xor_eq" + }, + { + "type": "STRING", + "value": "and_eq" + }, + { + "type": "STRING", + "value": "or_eq" + }, + { + "type": "STRING", + "value": "not_eq" + }, + { + "type": "STRING", + "value": "and" + }, + { + "type": "STRING", + "value": "or" + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "new" + }, + { + "type": "STRING", + "value": "delete" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "[]" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"\"" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + } + ] + } + }, + "this": { + "type": "STRING", + "value": "this" + }, + "literal_suffix": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PATTERN", + "value": "[a-zA-Z_]\\w*" + } + }, + "user_defined_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_user_defined_literal" + }, + { + "type": "SYMBOL", + "name": "grit_metavariable" + } + ] + }, + "_user_defined_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "number_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal" + }, + { + "type": "SYMBOL", + "name": "concatenated_string" + } + ] + }, + { + "type": "SYMBOL", + "name": "literal_suffix" + } + ] + }, + "_namespace_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "namespace_identifier" + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s|\\\\\\r?\\n" + }, + { + "type": "SYMBOL", + "name": "comment" + } + ], + "conflicts": [ + [ + "type_specifier", + "_declarator" + ], + [ + "type_specifier", + "expression" + ], + [ + "sized_type_specifier" + ], + [ + "attributed_statement" + ], + [ + "_declaration_modifiers", + "attributed_statement" + ], + [ + "_top_level_item", + "_top_level_statement" + ], + [ + "_block_item", + "statement" + ], + [ + "linkage_specification", + "storage_class_specifier" + ], + [ + "identifier", + "user_defined_literal", + "string_literal", + "char_literal" + ], + [ + "identifier", + "user_defined_literal" + ], + [ + "identifier", + "string_literal" + ], + [ + "char_literal", + "string_literal" + ], + [ + "identifier", + "char_literal" + ], + [ + "expression", + "concatenated_string" + ], + [ + "template_function", + "template_type" + ], + [ + "template_function", + "template_type", + "expression" + ], + [ + "template_function", + "template_type", + "qualified_identifier" + ], + [ + "template_type", + "qualified_type_identifier" + ], + [ + "qualified_type_identifier", + "qualified_identifier" + ], + [ + "comma_expression", + "initializer_list" + ], + [ + "expression", + "_declarator" + ], + [ + "expression", + "structured_binding_declarator" + ], + [ + "expression", + "_declarator", + "type_specifier" + ], + [ + "parameter_list", + "argument_list" + ], + [ + "type_specifier", + "call_expression" + ], + [ + "_declaration_specifiers", + "_constructor_specifiers" + ], + [ + "_binary_fold_operator", + "_fold_operator" + ], + [ + "_function_declarator_seq" + ], + [ + "type_specifier", + "sized_type_specifier" + ], + [ + "initializer_pair", + "comma_expression" + ], + [ + "expression_statement", + "_for_statement_body" + ], + [ + "init_statement", + "_for_statement_body" + ], + [ + "identifier", + "user_defined_literal", + "number_literal", + "char_literal", + "string_literal" + ], + [ + "identifier", + "number_literal", + "char_literal", + "string_literal" + ], + [ + "identifier", + "number_literal", + "char_literal" + ], + [ + "number_literal", + "char_literal", + "string_literal" + ] + ], + "precedences": [ + [ + { + "type": "SYMBOL", + "name": "argument_list" + }, + { + "type": "SYMBOL", + "name": "type_qualifier" + } + ], + [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "SYMBOL", + "name": "_class_name" + } + ] + ], + "externals": [ + { + "type": "SYMBOL", + "name": "raw_string_delimiter" + }, + { + "type": "SYMBOL", + "name": "raw_string_content" + } + ], + "inline": [ + "_type_identifier", + "_field_identifier", + "_statement_identifier", + "_non_case_statement", + "_assignment_left_expression", + "_expression_not_binary", + "_namespace_identifier" + ], + "supertypes": [ + "expression", + "statement", + "type_specifier", + "_declarator", + "_field_declarator", + "_type_declarator", + "_abstract_declarator" + ] +} diff --git a/resources/language-metavariables/tree-sitter-cpp/src/node-types.json b/resources/language-metavariables/tree-sitter-cpp/src/node-types.json new file mode 100644 index 000000000..6e81f5072 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/src/node-types.json @@ -0,0 +1,8038 @@ +[ + { + "type": "_abstract_declarator", + "named": true, + "subtypes": [ + { + "type": "abstract_array_declarator", + "named": true + }, + { + "type": "abstract_function_declarator", + "named": true + }, + { + "type": "abstract_parenthesized_declarator", + "named": true + }, + { + "type": "abstract_pointer_declarator", + "named": true + }, + { + "type": "abstract_reference_declarator", + "named": true + } + ] + }, + { + "type": "_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "structured_binding_declarator", + "named": true + }, + { + "type": "template_function", + "named": true + } + ] + }, + { + "type": "_field_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + }, + { + "type": "_type_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + { + "type": "expression", + "named": true, + "subtypes": [ + { + "type": "alignof_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "cast_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "co_await_expression", + "named": true + }, + { + "type": "compound_literal_expression", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "conditional_expression", + "named": true + }, + { + "type": "delete_expression", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "fold_expression", + "named": true + }, + { + "type": "generic_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "offsetof_expression", + "named": true + }, + { + "type": "parameter_pack_expansion", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "requires_expression", + "named": true + }, + { + "type": "sizeof_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "template_function", + "named": true + }, + { + "type": "this", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + }, + { + "type": "user_defined_literal", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + }, + { + "type": "type_specifier", + "named": true, + "subtypes": [ + { + "type": "class_specifier", + "named": true + }, + { + "type": "decltype", + "named": true + }, + { + "type": "dependent_type", + "named": true + }, + { + "type": "enum_specifier", + "named": true + }, + { + "type": "placeholder_type_specifier", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "struct_specifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "union_specifier", + "named": true + } + ] + }, + { + "type": "abstract_array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "noexcept", + "named": true + }, + { + "type": "ref_qualifier", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "throw_specifier", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "abstract_parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "abstract_pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_reference_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + { + "type": "access_specifier", + "named": true, + "fields": {} + }, + { + "type": "alias_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "alignas_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "alignof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "%=", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "and_eq", + "named": false + }, + { + "type": "or_eq", + "named": false + }, + { + "type": "xor_eq", + "named": false + }, + { + "type": "|=", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "prefix": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attribute_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "attribute_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attributed_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "attributed_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "base_class_clause", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "<=>", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + } + }, + { + "type": "bitfield_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "break_statement", + "named": true, + "fields": {} + }, + { + "type": "call_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "primitive_type", + "named": true + } + ] + } + } + }, + { + "type": "case_statement", + "named": true, + "fields": { + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "cast_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "catch_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "char_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "character", + "named": true + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "class_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "co_await_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "co_await", + "named": false + } + ] + } + } + }, + { + "type": "co_return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "co_yield_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "comma_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "compound_literal_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_descriptor", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "compound_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + } + ] + } + }, + { + "type": "compound_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "concatenated_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "concept_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "condition_clause", + "named": true, + "fields": { + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "init_statement", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "conditional_expression", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "constraint_conjunction", + "named": true, + "fields": { + "left": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&&", + "named": false + }, + { + "type": "and", + "named": false + } + ] + }, + "right": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "constraint_disjunction", + "named": true, + "fields": { + "left": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "or", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {} + }, + { + "type": "declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "init_declarator", + "named": true + }, + { + "type": "operator_cast", + "named": true + } + ] + }, + "default_value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "explicit_function_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "decltype", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "auto", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "default_method_clause", + "named": true, + "fields": {} + }, + { + "type": "delete_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "delete_method_clause", + "named": true, + "fields": {} + }, + { + "type": "dependent_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_function", + "named": true + }, + { + "type": "template_method", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + }, + { + "type": "dependent_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "destructor_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "do_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "enum_specifier", + "named": true, + "fields": { + "base": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "enumerator_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + } + ] + } + }, + { + "type": "enumerator", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enumerator_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enumerator", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "explicit_function_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "field_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_field_declarator", + "named": true + } + ] + }, + "default_value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "bitfield_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "field_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + } + }, + { + "type": "field_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "dependent_name", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": ".*", + "named": false + } + ] + } + } + }, + { + "type": "field_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "field_initializer", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + } + }, + { + "type": "field_initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_initializer", + "named": true + } + ] + } + }, + { + "type": "fold_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "...", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->*", + "named": false + }, + { + "type": ".*", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "...", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "for_range_loop", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "init_statement", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "update": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "friend_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "noexcept", + "named": true + }, + { + "type": "ref_qualifier", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "throw_specifier", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "function_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "operator_cast", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "default_method_clause", + "named": true + }, + { + "type": "delete_method_clause", + "named": true + }, + { + "type": "explicit_function_specifier", + "named": true + }, + { + "type": "field_initializer_list", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "pure_virtual_clause", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "generic_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_clobber_list", + "named": true, + "fields": { + "register": { + "multiple": true, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_expression", + "named": true, + "fields": { + "assembly_code": { + "multiple": false, + "required": true, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + }, + "clobbers": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_clobber_list", + "named": true + } + ] + }, + "goto_labels": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_goto_list", + "named": true + } + ] + }, + "input_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand_list", + "named": true + } + ] + }, + "output_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_qualifier", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_goto_list", + "named": true, + "fields": { + "label": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_qualifier", + "named": true, + "fields": {} + }, + { + "type": "goto_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + } + }, + { + "type": "init_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "init_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, + { + "type": "initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "initializer_pair", + "named": true + } + ] + } + }, + { + "type": "initializer_pair", + "named": true, + "fields": { + "designator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_designator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "subscript_designator", + "named": true + }, + { + "type": "subscript_range_designator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "lambda_capture_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "lambda_default_capture", + "named": true + } + ] + } + }, + { + "type": "lambda_default_capture", + "named": true, + "fields": {} + }, + { + "type": "lambda_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "captures": { + "multiple": false, + "required": true, + "types": [ + { + "type": "lambda_capture_specifier", + "named": true + } + ] + }, + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "requires_clause", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "abstract_function_declarator", + "named": true + } + ] + }, + "template_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "linkage_specification", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "declaration_list", + "named": true + }, + { + "type": "function_definition", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "ms_based_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "ms_call_modifier", + "named": true, + "fields": {} + }, + { + "type": "ms_declspec_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "ms_pointer_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + } + ] + } + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true, + "fields": {} + }, + { + "type": "namespace_alias_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "namespace_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + { + "type": "namespace_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "namespace_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "nested_namespace_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + { + "type": "new_declarator", + "named": true, + "fields": { + "length": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "new_declarator", + "named": true + } + ] + } + }, + { + "type": "new_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "new_declarator", + "named": true + } + ] + }, + "placement": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + } + }, + { + "type": "noexcept", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "null", + "named": true, + "fields": {} + }, + { + "type": "number_literal", + "named": true, + "fields": { + "number_literal": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "offsetof_expression", + "named": true, + "fields": { + "member": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "operator_cast", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "operator_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "optional_parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "abstract_reference_declarator", + "named": true + } + ] + }, + "default_value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "optional_type_parameter_declaration", + "named": true, + "fields": { + "default_type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "optional_parameter_declaration", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter", + "named": true + }, + { + "type": "variadic_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "parameter_pack_expansion", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "placeholder_type_specifier", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "auto", + "named": true + }, + { + "type": "decltype", + "named": true + } + ] + } + }, + { + "type": "pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "pointer_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&", + "named": false + }, + { + "type": "*", + "named": false + } + ] + } + } + }, + { + "type": "pointer_type_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "preproc_call", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + }, + "directive": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_directive", + "named": true + } + ] + } + } + }, + { + "type": "preproc_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_defined", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elif", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_elifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_else", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_function_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_params", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_if", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_ifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_include", + "named": true, + "fields": { + "path": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "system_lib_string", + "named": true + } + ] + } + } + }, + { + "type": "preproc_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "pure_virtual_clause", + "named": true, + "fields": {} + }, + { + "type": "qualified_identifier", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "dependent_name", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "operator_cast", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "pointer_type_declarator", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template", + "named": false + }, + { + "type": "template_function", + "named": true + }, + { + "type": "template_method", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "scope": { + "multiple": false, + "required": false, + "types": [ + { + "type": "decltype", + "named": true + }, + { + "type": "dependent_name", + "named": true + }, + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + } + }, + { + "type": "raw_string_literal", + "named": true, + "fields": { + "delimiter": { + "multiple": false, + "required": false, + "types": [ + { + "type": "raw_string_delimiter", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "raw_string_content", + "named": true + }, + { + "type": "raw_string_delimiter", + "named": true + } + ] + } + }, + { + "type": "ref_qualifier", + "named": true, + "fields": {} + }, + { + "type": "reference_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "variadic_declarator", + "named": true + } + ] + } + }, + { + "type": "requirement_seq", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_requirement", + "named": true + }, + { + "type": "simple_requirement", + "named": true + }, + { + "type": "type_requirement", + "named": true + } + ] + } + }, + { + "type": "requires_clause", + "named": true, + "fields": { + "constraint": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "requires_expression", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + }, + "requirements": { + "multiple": false, + "required": true, + "types": [ + { + "type": "requirement_seq", + "named": true + } + ] + } + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + { + "type": "seh_except_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "filter": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "seh_finally_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + } + }, + { + "type": "seh_leave_statement", + "named": true, + "fields": {} + }, + { + "type": "seh_try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "seh_except_clause", + "named": true + }, + { + "type": "seh_finally_clause", + "named": true + } + ] + } + }, + { + "type": "simple_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "sized_type_specifier", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "sizeof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "statement_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "static_assert_declaration", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "message": { + "multiple": false, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "storage_class_specifier", + "named": true, + "fields": {} + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "string_content", + "named": true + } + ] + } + }, + { + "type": "struct_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "structured_binding_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "subscript_argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + { + "type": "subscript_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "indices": { + "multiple": false, + "required": true, + "types": [ + { + "type": "subscript_argument_list", + "named": true + } + ] + } + } + }, + { + "type": "subscript_range_designator", + "named": true, + "fields": { + "end": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "start": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + } + } + }, + { + "type": "template_argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "template_declaration", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "template_function", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "template_instantiation", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "template_method", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "operator_name", + "named": true + } + ] + } + } + }, + { + "type": "template_parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "optional_parameter_declaration", + "named": true + }, + { + "type": "optional_type_parameter_declaration", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "template_template_parameter_declaration", + "named": true + }, + { + "type": "type_parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter_declaration", + "named": true + }, + { + "type": "variadic_type_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "template_template_parameter_declaration", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "optional_type_parameter_declaration", + "named": true + }, + { + "type": "type_parameter_declaration", + "named": true + }, + { + "type": "variadic_type_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "template_type", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "throw_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "throw_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "trailing_return_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "translation_unit", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "catch_clause", + "named": true + }, + { + "type": "field_initializer_list", + "named": true + } + ] + } + }, + { + "type": "type_definition", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_descriptor", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "type_parameter_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "type_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "compl", + "named": false + }, + { + "type": "not", + "named": false + }, + { + "type": "~", + "named": false + } + ] + } + } + }, + { + "type": "union_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "update_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "++", + "named": false + }, + { + "type": "--", + "named": false + } + ] + } + } + }, + { + "type": "user_defined_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "char_literal", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "literal_suffix", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "using_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + } + ] + } + }, + { + "type": "variadic_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "variadic_parameter", + "named": true, + "fields": {} + }, + { + "type": "variadic_parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "reference_declarator", + "named": true + }, + { + "type": "variadic_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "variadic_type_parameter_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "virtual_specifier", + "named": true, + "fields": {} + }, + { + "type": "while_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + } + } + }, + { + "type": "\n", + "named": false + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "\"\"", + "named": false + }, + { + "type": "#define", + "named": false + }, + { + "type": "#elif", + "named": false + }, + { + "type": "#elifdef", + "named": false + }, + { + "type": "#elifndef", + "named": false + }, + { + "type": "#else", + "named": false + }, + { + "type": "#endif", + "named": false + }, + { + "type": "#if", + "named": false + }, + { + "type": "#ifdef", + "named": false + }, + { + "type": "#ifndef", + "named": false + }, + { + "type": "#include", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": "()", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "++", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": "->*", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": ".*", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "0", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "<=>", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "L\"", + "named": false + }, + { + "type": "L'", + "named": false + }, + { + "type": "LR\"", + "named": false + }, + { + "type": "NULL", + "named": false + }, + { + "type": "R\"", + "named": false + }, + { + "type": "U\"", + "named": false + }, + { + "type": "U'", + "named": false + }, + { + "type": "UR\"", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "[[", + "named": false + }, + { + "type": "[]", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "]]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "_Alignas", + "named": false + }, + { + "type": "_Alignof", + "named": false + }, + { + "type": "_Atomic", + "named": false + }, + { + "type": "_Generic", + "named": false + }, + { + "type": "_Noreturn", + "named": false + }, + { + "type": "__alignof", + "named": false + }, + { + "type": "__alignof__", + "named": false + }, + { + "type": "__asm__", + "named": false + }, + { + "type": "__attribute__", + "named": false + }, + { + "type": "__based", + "named": false + }, + { + "type": "__cdecl", + "named": false + }, + { + "type": "__clrcall", + "named": false + }, + { + "type": "__declspec", + "named": false + }, + { + "type": "__except", + "named": false + }, + { + "type": "__extension__", + "named": false + }, + { + "type": "__fastcall", + "named": false + }, + { + "type": "__finally", + "named": false + }, + { + "type": "__forceinline", + "named": false + }, + { + "type": "__inline", + "named": false + }, + { + "type": "__inline__", + "named": false + }, + { + "type": "__leave", + "named": false + }, + { + "type": "__restrict__", + "named": false + }, + { + "type": "__stdcall", + "named": false + }, + { + "type": "__thiscall", + "named": false + }, + { + "type": "__thread", + "named": false + }, + { + "type": "__try", + "named": false + }, + { + "type": "__unaligned", + "named": false + }, + { + "type": "__vectorcall", + "named": false + }, + { + "type": "_alignof", + "named": false + }, + { + "type": "_unaligned", + "named": false + }, + { + "type": "alignas", + "named": false + }, + { + "type": "alignof", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "and_eq", + "named": false + }, + { + "type": "asm", + "named": false + }, + { + "type": "auto", + "named": true + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "break", + "named": false + }, + { + "type": "case", + "named": false + }, + { + "type": "catch", + "named": false + }, + { + "type": "character", + "named": true + }, + { + "type": "class", + "named": false + }, + { + "type": "co_await", + "named": false + }, + { + "type": "co_return", + "named": false + }, + { + "type": "co_yield", + "named": false + }, + { + "type": "comment", + "named": true + }, + { + "type": "compl", + "named": false + }, + { + "type": "concept", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "consteval", + "named": false + }, + { + "type": "constexpr", + "named": false + }, + { + "type": "constinit", + "named": false + }, + { + "type": "continue", + "named": false + }, + { + "type": "decltype", + "named": false + }, + { + "type": "default", + "named": false + }, + { + "type": "defined", + "named": false + }, + { + "type": "delete", + "named": false + }, + { + "type": "do", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "explicit", + "named": false + }, + { + "type": "extern", + "named": false + }, + { + "type": "false", + "named": true + }, + { + "type": "final", + "named": false + }, + { + "type": "for", + "named": false + }, + { + "type": "friend", + "named": false + }, + { + "type": "goto", + "named": false + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "inline", + "named": false + }, + { + "type": "literal_suffix", + "named": true + }, + { + "type": "long", + "named": false + }, + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + }, + { + "type": "mutable", + "named": false + }, + { + "type": "namespace", + "named": false + }, + { + "type": "new", + "named": false + }, + { + "type": "noexcept", + "named": false + }, + { + "type": "noreturn", + "named": false + }, + { + "type": "not", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "nullptr", + "named": false + }, + { + "type": "offsetof", + "named": false + }, + { + "type": "operator", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "or_eq", + "named": false + }, + { + "type": "override", + "named": false + }, + { + "type": "preproc_arg", + "named": true + }, + { + "type": "preproc_directive", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "private", + "named": false + }, + { + "type": "protected", + "named": false + }, + { + "type": "public", + "named": false + }, + { + "type": "raw_string_content", + "named": true + }, + { + "type": "raw_string_delimiter", + "named": true + }, + { + "type": "register", + "named": false + }, + { + "type": "requires", + "named": false + }, + { + "type": "restrict", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "short", + "named": false + }, + { + "type": "signed", + "named": false + }, + { + "type": "sizeof", + "named": false + }, + { + "type": "static", + "named": false + }, + { + "type": "static_assert", + "named": false + }, + { + "type": "string_content", + "named": true + }, + { + "type": "struct", + "named": false + }, + { + "type": "switch", + "named": false + }, + { + "type": "system_lib_string", + "named": true + }, + { + "type": "template", + "named": false + }, + { + "type": "this", + "named": true + }, + { + "type": "thread_local", + "named": false + }, + { + "type": "throw", + "named": false + }, + { + "type": "true", + "named": true + }, + { + "type": "try", + "named": false + }, + { + "type": "typedef", + "named": false + }, + { + "type": "typename", + "named": false + }, + { + "type": "u\"", + "named": false + }, + { + "type": "u'", + "named": false + }, + { + "type": "u8\"", + "named": false + }, + { + "type": "u8'", + "named": false + }, + { + "type": "u8R\"", + "named": false + }, + { + "type": "uR\"", + "named": false + }, + { + "type": "union", + "named": false + }, + { + "type": "unsigned", + "named": false + }, + { + "type": "using", + "named": false + }, + { + "type": "virtual", + "named": true + }, + { + "type": "volatile", + "named": false + }, + { + "type": "while", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "xor_eq", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + }, + { + "type": "~", + "named": false + } +] \ No newline at end of file diff --git a/resources/language-metavariables/tree-sitter-cpp/src/parser.c b/resources/language-metavariables/tree-sitter-cpp/src/parser.c new file mode 100644 index 000000000..292ec5580 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/src/parser.c @@ -0,0 +1,533096 @@ +#include "tree_sitter/parser.h" + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#ifdef _MSC_VER +#pragma optimize("", off) +#elif defined(__clang__) +#pragma clang optimize off +#elif defined(__GNUC__) +#pragma GCC optimize ("O0") +#endif + +#define LANGUAGE_VERSION 14 +#define STATE_COUNT 8591 +#define LARGE_STATE_COUNT 2333 +#define SYMBOL_COUNT 535 +#define ALIAS_COUNT 5 +#define TOKEN_COUNT 216 +#define EXTERNAL_TOKEN_COUNT 2 +#define FIELD_COUNT 52 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define PRODUCTION_ID_COUNT 219 + +enum ts_symbol_identifiers { + sym__identifier = 1, + aux_sym_preproc_include_token1 = 2, + aux_sym_preproc_include_token2 = 3, + aux_sym_preproc_def_token1 = 4, + anon_sym_LPAREN = 5, + anon_sym_DOT_DOT_DOT = 6, + anon_sym_COMMA = 7, + anon_sym_RPAREN = 8, + aux_sym_preproc_if_token1 = 9, + anon_sym_LF = 10, + aux_sym_preproc_if_token2 = 11, + aux_sym_preproc_ifdef_token1 = 12, + aux_sym_preproc_ifdef_token2 = 13, + aux_sym_preproc_else_token1 = 14, + aux_sym_preproc_elif_token1 = 15, + aux_sym_preproc_elifdef_token1 = 16, + aux_sym_preproc_elifdef_token2 = 17, + sym_preproc_arg = 18, + sym_preproc_directive = 19, + anon_sym_LPAREN2 = 20, + anon_sym_defined = 21, + anon_sym_BANG = 22, + anon_sym_TILDE = 23, + anon_sym_DASH = 24, + anon_sym_PLUS = 25, + anon_sym_STAR = 26, + anon_sym_SLASH = 27, + anon_sym_PERCENT = 28, + anon_sym_PIPE_PIPE = 29, + anon_sym_AMP_AMP = 30, + anon_sym_PIPE = 31, + anon_sym_CARET = 32, + anon_sym_AMP = 33, + anon_sym_EQ_EQ = 34, + anon_sym_BANG_EQ = 35, + anon_sym_GT = 36, + anon_sym_GT_EQ = 37, + anon_sym_LT_EQ = 38, + anon_sym_LT = 39, + anon_sym_LT_LT = 40, + anon_sym_GT_GT = 41, + anon_sym_SEMI = 42, + anon_sym___extension__ = 43, + anon_sym_typedef = 44, + anon_sym_extern = 45, + anon_sym___attribute__ = 46, + anon_sym_COLON_COLON = 47, + anon_sym_LBRACK_LBRACK = 48, + anon_sym_RBRACK_RBRACK = 49, + anon_sym___declspec = 50, + anon_sym___based = 51, + anon_sym___cdecl = 52, + anon_sym___clrcall = 53, + anon_sym___stdcall = 54, + anon_sym___fastcall = 55, + anon_sym___thiscall = 56, + anon_sym___vectorcall = 57, + sym_ms_restrict_modifier = 58, + sym_ms_unsigned_ptr_modifier = 59, + sym_ms_signed_ptr_modifier = 60, + anon_sym__unaligned = 61, + anon_sym___unaligned = 62, + anon_sym_LBRACE = 63, + anon_sym_RBRACE = 64, + anon_sym_signed = 65, + anon_sym_unsigned = 66, + anon_sym_long = 67, + anon_sym_short = 68, + anon_sym_LBRACK = 69, + anon_sym_static = 70, + anon_sym_RBRACK = 71, + anon_sym_EQ = 72, + anon_sym_register = 73, + anon_sym_inline = 74, + anon_sym___inline = 75, + anon_sym___inline__ = 76, + anon_sym___forceinline = 77, + anon_sym_thread_local = 78, + anon_sym___thread = 79, + anon_sym_const = 80, + anon_sym_constexpr = 81, + anon_sym_volatile = 82, + anon_sym_restrict = 83, + anon_sym___restrict__ = 84, + anon_sym__Atomic = 85, + anon_sym__Noreturn = 86, + anon_sym_noreturn = 87, + anon_sym_mutable = 88, + anon_sym_constinit = 89, + anon_sym_consteval = 90, + anon_sym_alignas = 91, + anon_sym__Alignas = 92, + sym_primitive_type = 93, + anon_sym_enum = 94, + anon_sym_class = 95, + anon_sym_struct = 96, + anon_sym_union = 97, + anon_sym_COLON = 98, + anon_sym_if = 99, + anon_sym_else = 100, + anon_sym_switch = 101, + anon_sym_case = 102, + anon_sym_default = 103, + anon_sym_while = 104, + anon_sym_do = 105, + anon_sym_for = 106, + anon_sym_return = 107, + anon_sym_break = 108, + anon_sym_continue = 109, + anon_sym_goto = 110, + anon_sym___try = 111, + anon_sym___except = 112, + anon_sym___finally = 113, + anon_sym___leave = 114, + anon_sym_QMARK = 115, + anon_sym_STAR_EQ = 116, + anon_sym_SLASH_EQ = 117, + anon_sym_PERCENT_EQ = 118, + anon_sym_PLUS_EQ = 119, + anon_sym_DASH_EQ = 120, + anon_sym_LT_LT_EQ = 121, + anon_sym_GT_GT_EQ = 122, + anon_sym_AMP_EQ = 123, + anon_sym_CARET_EQ = 124, + anon_sym_PIPE_EQ = 125, + anon_sym_and_eq = 126, + anon_sym_or_eq = 127, + anon_sym_xor_eq = 128, + anon_sym_not = 129, + anon_sym_compl = 130, + anon_sym_LT_EQ_GT = 131, + anon_sym_or = 132, + anon_sym_and = 133, + anon_sym_bitor = 134, + anon_sym_xor = 135, + anon_sym_bitand = 136, + anon_sym_not_eq = 137, + anon_sym_DASH_DASH = 138, + anon_sym_PLUS_PLUS = 139, + anon_sym_sizeof = 140, + anon_sym___alignof__ = 141, + anon_sym___alignof = 142, + anon_sym__alignof = 143, + anon_sym_alignof = 144, + anon_sym__Alignof = 145, + anon_sym_offsetof = 146, + anon_sym__Generic = 147, + anon_sym_asm = 148, + anon_sym___asm__ = 149, + anon_sym_DOT = 150, + anon_sym_DOT_STAR = 151, + anon_sym_DASH_GT = 152, + sym__number_literal = 153, + anon_sym_L_SQUOTE = 154, + anon_sym_u_SQUOTE = 155, + anon_sym_U_SQUOTE = 156, + anon_sym_u8_SQUOTE = 157, + anon_sym_SQUOTE = 158, + aux_sym__char_literal_token1 = 159, + anon_sym_L_DQUOTE = 160, + anon_sym_u_DQUOTE = 161, + anon_sym_U_DQUOTE = 162, + anon_sym_u8_DQUOTE = 163, + anon_sym_DQUOTE = 164, + aux_sym__string_literal_token1 = 165, + sym_escape_sequence = 166, + sym_system_lib_string = 167, + sym_true = 168, + sym_false = 169, + anon_sym_NULL = 170, + anon_sym_nullptr = 171, + sym_comment = 172, + sym_grit_metavariable = 173, + sym_auto = 174, + anon_sym_decltype = 175, + anon_sym_final = 176, + anon_sym_override = 177, + sym_virtual = 178, + anon_sym_explicit = 179, + anon_sym_typename = 180, + anon_sym_template = 181, + anon_sym_GT2 = 182, + anon_sym_operator = 183, + anon_sym_try = 184, + anon_sym_delete = 185, + anon_sym_0 = 186, + anon_sym_friend = 187, + anon_sym_public = 188, + anon_sym_private = 189, + anon_sym_protected = 190, + anon_sym_noexcept = 191, + anon_sym_throw = 192, + anon_sym_namespace = 193, + anon_sym_using = 194, + anon_sym_static_assert = 195, + anon_sym_concept = 196, + anon_sym_co_return = 197, + anon_sym_co_yield = 198, + anon_sym_catch = 199, + anon_sym_R_DQUOTE = 200, + anon_sym_LR_DQUOTE = 201, + anon_sym_uR_DQUOTE = 202, + anon_sym_UR_DQUOTE = 203, + anon_sym_u8R_DQUOTE = 204, + anon_sym_co_await = 205, + anon_sym_new = 206, + anon_sym_requires = 207, + anon_sym_DASH_GT_STAR = 208, + anon_sym_LPAREN_RPAREN = 209, + anon_sym_LBRACK_RBRACK = 210, + anon_sym_DQUOTE_DQUOTE = 211, + sym_this = 212, + sym_literal_suffix = 213, + sym_raw_string_delimiter = 214, + sym_raw_string_content = 215, + sym_translation_unit = 216, + sym__top_level_item = 217, + sym__block_item = 218, + sym_preproc_include = 219, + sym_preproc_def = 220, + sym_preproc_function_def = 221, + sym_preproc_params = 222, + sym_preproc_call = 223, + sym_preproc_if = 224, + sym_preproc_ifdef = 225, + sym_preproc_else = 226, + sym_preproc_elif = 227, + sym_preproc_elifdef = 228, + sym_preproc_if_in_field_declaration_list = 229, + sym_preproc_ifdef_in_field_declaration_list = 230, + sym_preproc_else_in_field_declaration_list = 231, + sym_preproc_elif_in_field_declaration_list = 232, + sym_preproc_elifdef_in_field_declaration_list = 233, + sym_preproc_if_in_enumerator_list = 234, + sym_preproc_ifdef_in_enumerator_list = 235, + sym_preproc_else_in_enumerator_list = 236, + sym_preproc_elif_in_enumerator_list = 237, + sym_preproc_elifdef_in_enumerator_list = 238, + sym_preproc_if_in_enumerator_list_no_comma = 239, + sym_preproc_ifdef_in_enumerator_list_no_comma = 240, + sym_preproc_else_in_enumerator_list_no_comma = 241, + sym_preproc_elif_in_enumerator_list_no_comma = 242, + sym_preproc_elifdef_in_enumerator_list_no_comma = 243, + sym__preproc_expression = 244, + sym_preproc_parenthesized_expression = 245, + sym_preproc_defined = 246, + sym_preproc_unary_expression = 247, + sym_preproc_call_expression = 248, + sym_preproc_argument_list = 249, + sym_preproc_binary_expression = 250, + sym_function_definition = 251, + sym_declaration = 252, + sym_type_definition = 253, + sym__type_definition_type = 254, + sym__type_definition_declarators = 255, + sym__declaration_modifiers = 256, + sym__declaration_specifiers = 257, + sym_linkage_specification = 258, + sym_attribute_specifier = 259, + sym_attribute = 260, + sym_attribute_declaration = 261, + sym_ms_declspec_modifier = 262, + sym_ms_based_modifier = 263, + sym_ms_call_modifier = 264, + sym_ms_unaligned_ptr_modifier = 265, + sym_ms_pointer_modifier = 266, + sym_declaration_list = 267, + sym__declarator = 268, + sym__field_declarator = 269, + sym__type_declarator = 270, + sym__abstract_declarator = 271, + sym_parenthesized_declarator = 272, + sym_parenthesized_field_declarator = 273, + sym_parenthesized_type_declarator = 274, + sym_abstract_parenthesized_declarator = 275, + sym_attributed_declarator = 276, + sym_attributed_field_declarator = 277, + sym_attributed_type_declarator = 278, + sym_pointer_declarator = 279, + sym_pointer_field_declarator = 280, + sym_pointer_type_declarator = 281, + sym_abstract_pointer_declarator = 282, + sym_function_declarator = 283, + sym_function_field_declarator = 284, + sym_function_type_declarator = 285, + sym_abstract_function_declarator = 286, + sym_array_declarator = 287, + sym_array_field_declarator = 288, + sym_array_type_declarator = 289, + sym_abstract_array_declarator = 290, + sym_init_declarator = 291, + sym_compound_statement = 292, + sym_storage_class_specifier = 293, + sym_type_qualifier = 294, + sym_alignas_qualifier = 295, + sym_type_specifier = 296, + sym_sized_type_specifier = 297, + sym_enum_specifier = 298, + sym_enumerator_list = 299, + sym_struct_specifier = 300, + sym_union_specifier = 301, + sym_field_declaration_list = 302, + sym__field_declaration_list_item = 303, + sym_field_declaration = 304, + sym_bitfield_clause = 305, + sym_enumerator = 306, + sym_parameter_list = 307, + sym_parameter_declaration = 308, + sym_attributed_statement = 309, + sym_statement = 310, + sym__top_level_statement = 311, + sym_labeled_statement = 312, + sym__top_level_expression_statement = 313, + sym_expression_statement = 314, + sym_if_statement = 315, + sym_else_clause = 316, + sym_switch_statement = 317, + sym_case_statement = 318, + sym_while_statement = 319, + sym_do_statement = 320, + sym_for_statement = 321, + sym__for_statement_body = 322, + sym_return_statement = 323, + sym_break_statement = 324, + sym_continue_statement = 325, + sym_goto_statement = 326, + sym_seh_try_statement = 327, + sym_seh_except_clause = 328, + sym_seh_finally_clause = 329, + sym_seh_leave_statement = 330, + sym_expression = 331, + sym__string = 332, + sym_comma_expression = 333, + sym_conditional_expression = 334, + sym_assignment_expression = 335, + sym_pointer_expression = 336, + sym_unary_expression = 337, + sym_binary_expression = 338, + sym_update_expression = 339, + sym_cast_expression = 340, + sym_type_descriptor = 341, + sym_sizeof_expression = 342, + sym_alignof_expression = 343, + sym_offsetof_expression = 344, + sym_generic_expression = 345, + sym_subscript_expression = 346, + sym_call_expression = 347, + sym_gnu_asm_expression = 348, + sym_gnu_asm_qualifier = 349, + sym_gnu_asm_output_operand_list = 350, + sym_gnu_asm_output_operand = 351, + sym_gnu_asm_input_operand_list = 352, + sym_gnu_asm_input_operand = 353, + sym_gnu_asm_clobber_list = 354, + sym_gnu_asm_goto_list = 355, + sym_argument_list = 356, + sym_field_expression = 357, + sym_compound_literal_expression = 358, + sym_parenthesized_expression = 359, + sym_initializer_list = 360, + sym_initializer_pair = 361, + sym_subscript_designator = 362, + sym_subscript_range_designator = 363, + sym_field_designator = 364, + sym_number_literal = 365, + sym_char_literal = 366, + sym__char_literal = 367, + sym_concatenated_string = 368, + sym_string_literal = 369, + sym__string_literal = 370, + sym_null = 371, + sym_identifier = 372, + sym__empty_declaration = 373, + sym_placeholder_type_specifier = 374, + sym_decltype_auto = 375, + sym_decltype = 376, + sym__class_declaration = 377, + sym__class_declaration_item = 378, + sym_class_specifier = 379, + sym__class_name = 380, + sym_virtual_specifier = 381, + sym_explicit_function_specifier = 382, + sym_base_class_clause = 383, + sym__enum_base_clause = 384, + sym_dependent_type = 385, + sym_template_declaration = 386, + sym_template_instantiation = 387, + sym_template_parameter_list = 388, + sym_type_parameter_declaration = 389, + sym_variadic_type_parameter_declaration = 390, + sym_optional_type_parameter_declaration = 391, + sym_template_template_parameter_declaration = 392, + sym_optional_parameter_declaration = 393, + sym_variadic_parameter_declaration = 394, + sym_variadic_declarator = 395, + sym_variadic_reference_declarator = 396, + sym_operator_cast = 397, + sym_field_initializer_list = 398, + sym_field_initializer = 399, + sym_inline_method_definition = 400, + sym__constructor_specifiers = 401, + sym_operator_cast_definition = 402, + sym_operator_cast_declaration = 403, + sym_constructor_try_statement = 404, + sym_constructor_or_destructor_definition = 405, + sym_constructor_or_destructor_declaration = 406, + sym_default_method_clause = 407, + sym_delete_method_clause = 408, + sym_pure_virtual_clause = 409, + sym_friend_declaration = 410, + sym_access_specifier = 411, + sym_reference_declarator = 412, + sym_reference_field_declarator = 413, + sym_reference_type_declarator = 414, + sym_abstract_reference_declarator = 415, + sym_structured_binding_declarator = 416, + sym_ref_qualifier = 417, + sym__function_declarator_seq = 418, + sym__function_attributes_start = 419, + sym__function_exception_specification = 420, + sym__function_attributes_end = 421, + sym__function_postfix = 422, + sym_trailing_return_type = 423, + sym_noexcept = 424, + sym_throw_specifier = 425, + sym_template_type = 426, + sym_template_method = 427, + sym_template_function = 428, + sym_template_argument_list = 429, + sym_namespace_definition = 430, + sym_namespace_alias_definition = 431, + sym__namespace_specifier = 432, + sym_nested_namespace_specifier = 433, + sym_using_declaration = 434, + sym_alias_declaration = 435, + sym_static_assert_declaration = 436, + sym_concept_definition = 437, + sym_for_range_loop = 438, + sym__for_range_loop_body = 439, + sym_init_statement = 440, + sym_condition_clause = 441, + sym_condition_declaration = 442, + sym_co_return_statement = 443, + sym_co_yield_statement = 444, + sym_throw_statement = 445, + sym_try_statement = 446, + sym_catch_clause = 447, + sym_raw_string_literal = 448, + sym_subscript_argument_list = 449, + sym_co_await_expression = 450, + sym_new_expression = 451, + sym_new_declarator = 452, + sym_delete_expression = 453, + sym_type_requirement = 454, + sym_compound_requirement = 455, + sym__requirement = 456, + sym_requirement_seq = 457, + sym_constraint_conjunction = 458, + sym_constraint_disjunction = 459, + sym__requirement_clause_constraint = 460, + sym_requires_clause = 461, + sym_requires_parameter_list = 462, + sym_requires_expression = 463, + sym_lambda_expression = 464, + sym_lambda_capture_specifier = 465, + sym_lambda_default_capture = 466, + sym__fold_operator = 467, + sym__binary_fold_operator = 468, + sym__unary_left_fold = 469, + sym__unary_right_fold = 470, + sym__binary_fold = 471, + sym_fold_expression = 472, + sym_parameter_pack_expansion = 473, + sym_type_parameter_pack_expansion = 474, + sym_destructor_name = 475, + sym_dependent_identifier = 476, + sym_dependent_field_identifier = 477, + sym_dependent_type_identifier = 478, + sym__scope_resolution = 479, + sym_qualified_field_identifier = 480, + sym_qualified_identifier = 481, + sym_qualified_type_identifier = 482, + sym_qualified_operator_cast_identifier = 483, + sym__assignment_expression_lhs = 484, + sym_operator_name = 485, + sym_user_defined_literal = 486, + sym__user_defined_literal = 487, + aux_sym_translation_unit_repeat1 = 488, + aux_sym_preproc_params_repeat1 = 489, + aux_sym_preproc_if_repeat1 = 490, + aux_sym_preproc_if_in_field_declaration_list_repeat1 = 491, + aux_sym_preproc_if_in_enumerator_list_repeat1 = 492, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1 = 493, + aux_sym_preproc_argument_list_repeat1 = 494, + aux_sym_declaration_repeat1 = 495, + aux_sym_type_definition_repeat1 = 496, + aux_sym__type_definition_type_repeat1 = 497, + aux_sym__type_definition_declarators_repeat1 = 498, + aux_sym__declaration_specifiers_repeat1 = 499, + aux_sym_attribute_declaration_repeat1 = 500, + aux_sym_attributed_declarator_repeat1 = 501, + aux_sym_pointer_declarator_repeat1 = 502, + aux_sym_array_declarator_repeat1 = 503, + aux_sym_sized_type_specifier_repeat1 = 504, + aux_sym_enumerator_list_repeat1 = 505, + aux_sym_field_declaration_repeat1 = 506, + aux_sym_parameter_list_repeat1 = 507, + aux_sym_case_statement_repeat1 = 508, + aux_sym_generic_expression_repeat1 = 509, + aux_sym_gnu_asm_expression_repeat1 = 510, + aux_sym_gnu_asm_output_operand_list_repeat1 = 511, + aux_sym_gnu_asm_input_operand_list_repeat1 = 512, + aux_sym_gnu_asm_clobber_list_repeat1 = 513, + aux_sym_gnu_asm_goto_list_repeat1 = 514, + aux_sym_argument_list_repeat1 = 515, + aux_sym_initializer_list_repeat1 = 516, + aux_sym_initializer_pair_repeat1 = 517, + aux_sym__char_literal_repeat1 = 518, + aux_sym_concatenated_string_repeat1 = 519, + aux_sym__string_literal_repeat1 = 520, + aux_sym__class_declaration_repeat1 = 521, + aux_sym_base_class_clause_repeat1 = 522, + aux_sym_template_parameter_list_repeat1 = 523, + aux_sym_field_initializer_list_repeat1 = 524, + aux_sym_operator_cast_definition_repeat1 = 525, + aux_sym_constructor_try_statement_repeat1 = 526, + aux_sym_structured_binding_declarator_repeat1 = 527, + aux_sym__function_postfix_repeat1 = 528, + aux_sym_throw_specifier_repeat1 = 529, + aux_sym_template_argument_list_repeat1 = 530, + aux_sym_subscript_argument_list_repeat1 = 531, + aux_sym_requirement_seq_repeat1 = 532, + aux_sym_requires_parameter_list_repeat1 = 533, + aux_sym_lambda_capture_specifier_repeat1 = 534, + alias_sym_field_identifier = 535, + alias_sym_namespace_identifier = 536, + alias_sym_simple_requirement = 537, + alias_sym_statement_identifier = 538, + alias_sym_type_identifier = 539, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym__identifier] = "_identifier", + [aux_sym_preproc_include_token1] = "#include", + [aux_sym_preproc_include_token2] = "preproc_include_token2", + [aux_sym_preproc_def_token1] = "#define", + [anon_sym_LPAREN] = "(", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_COMMA] = ",", + [anon_sym_RPAREN] = ")", + [aux_sym_preproc_if_token1] = "#if", + [anon_sym_LF] = "\n", + [aux_sym_preproc_if_token2] = "#endif", + [aux_sym_preproc_ifdef_token1] = "#ifdef", + [aux_sym_preproc_ifdef_token2] = "#ifndef", + [aux_sym_preproc_else_token1] = "#else", + [aux_sym_preproc_elif_token1] = "#elif", + [aux_sym_preproc_elifdef_token1] = "#elifdef", + [aux_sym_preproc_elifdef_token2] = "#elifndef", + [sym_preproc_arg] = "preproc_arg", + [sym_preproc_directive] = "preproc_directive", + [anon_sym_LPAREN2] = "(", + [anon_sym_defined] = "defined", + [anon_sym_BANG] = "!", + [anon_sym_TILDE] = "~", + [anon_sym_DASH] = "-", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE] = "|", + [anon_sym_CARET] = "^", + [anon_sym_AMP] = "&", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_LT] = "<", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_SEMI] = ";", + [anon_sym___extension__] = "__extension__", + [anon_sym_typedef] = "typedef", + [anon_sym_extern] = "extern", + [anon_sym___attribute__] = "__attribute__", + [anon_sym_COLON_COLON] = "::", + [anon_sym_LBRACK_LBRACK] = "[[", + [anon_sym_RBRACK_RBRACK] = "]]", + [anon_sym___declspec] = "__declspec", + [anon_sym___based] = "__based", + [anon_sym___cdecl] = "__cdecl", + [anon_sym___clrcall] = "__clrcall", + [anon_sym___stdcall] = "__stdcall", + [anon_sym___fastcall] = "__fastcall", + [anon_sym___thiscall] = "__thiscall", + [anon_sym___vectorcall] = "__vectorcall", + [sym_ms_restrict_modifier] = "ms_restrict_modifier", + [sym_ms_unsigned_ptr_modifier] = "ms_unsigned_ptr_modifier", + [sym_ms_signed_ptr_modifier] = "ms_signed_ptr_modifier", + [anon_sym__unaligned] = "_unaligned", + [anon_sym___unaligned] = "__unaligned", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_signed] = "signed", + [anon_sym_unsigned] = "unsigned", + [anon_sym_long] = "long", + [anon_sym_short] = "short", + [anon_sym_LBRACK] = "[", + [anon_sym_static] = "static", + [anon_sym_RBRACK] = "]", + [anon_sym_EQ] = "=", + [anon_sym_register] = "register", + [anon_sym_inline] = "inline", + [anon_sym___inline] = "__inline", + [anon_sym___inline__] = "__inline__", + [anon_sym___forceinline] = "__forceinline", + [anon_sym_thread_local] = "thread_local", + [anon_sym___thread] = "__thread", + [anon_sym_const] = "const", + [anon_sym_constexpr] = "constexpr", + [anon_sym_volatile] = "volatile", + [anon_sym_restrict] = "restrict", + [anon_sym___restrict__] = "__restrict__", + [anon_sym__Atomic] = "_Atomic", + [anon_sym__Noreturn] = "_Noreturn", + [anon_sym_noreturn] = "noreturn", + [anon_sym_mutable] = "mutable", + [anon_sym_constinit] = "constinit", + [anon_sym_consteval] = "consteval", + [anon_sym_alignas] = "alignas", + [anon_sym__Alignas] = "_Alignas", + [sym_primitive_type] = "primitive_type", + [anon_sym_enum] = "enum", + [anon_sym_class] = "class", + [anon_sym_struct] = "struct", + [anon_sym_union] = "union", + [anon_sym_COLON] = ":", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_switch] = "switch", + [anon_sym_case] = "case", + [anon_sym_default] = "default", + [anon_sym_while] = "while", + [anon_sym_do] = "do", + [anon_sym_for] = "for", + [anon_sym_return] = "return", + [anon_sym_break] = "break", + [anon_sym_continue] = "continue", + [anon_sym_goto] = "goto", + [anon_sym___try] = "__try", + [anon_sym___except] = "__except", + [anon_sym___finally] = "__finally", + [anon_sym___leave] = "__leave", + [anon_sym_QMARK] = "\?", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_LT_LT_EQ] = "<<=", + [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_AMP_EQ] = "&=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_PIPE_EQ] = "|=", + [anon_sym_and_eq] = "and_eq", + [anon_sym_or_eq] = "or_eq", + [anon_sym_xor_eq] = "xor_eq", + [anon_sym_not] = "not", + [anon_sym_compl] = "compl", + [anon_sym_LT_EQ_GT] = "<=>", + [anon_sym_or] = "or", + [anon_sym_and] = "and", + [anon_sym_bitor] = "bitor", + [anon_sym_xor] = "xor", + [anon_sym_bitand] = "bitand", + [anon_sym_not_eq] = "not_eq", + [anon_sym_DASH_DASH] = "--", + [anon_sym_PLUS_PLUS] = "++", + [anon_sym_sizeof] = "sizeof", + [anon_sym___alignof__] = "__alignof__", + [anon_sym___alignof] = "__alignof", + [anon_sym__alignof] = "_alignof", + [anon_sym_alignof] = "alignof", + [anon_sym__Alignof] = "_Alignof", + [anon_sym_offsetof] = "offsetof", + [anon_sym__Generic] = "_Generic", + [anon_sym_asm] = "asm", + [anon_sym___asm__] = "__asm__", + [anon_sym_DOT] = ".", + [anon_sym_DOT_STAR] = ".*", + [anon_sym_DASH_GT] = "->", + [sym__number_literal] = "_number_literal", + [anon_sym_L_SQUOTE] = "L'", + [anon_sym_u_SQUOTE] = "u'", + [anon_sym_U_SQUOTE] = "U'", + [anon_sym_u8_SQUOTE] = "u8'", + [anon_sym_SQUOTE] = "'", + [aux_sym__char_literal_token1] = "character", + [anon_sym_L_DQUOTE] = "L\"", + [anon_sym_u_DQUOTE] = "u\"", + [anon_sym_U_DQUOTE] = "U\"", + [anon_sym_u8_DQUOTE] = "u8\"", + [anon_sym_DQUOTE] = "\"", + [aux_sym__string_literal_token1] = "string_content", + [sym_escape_sequence] = "escape_sequence", + [sym_system_lib_string] = "system_lib_string", + [sym_true] = "true", + [sym_false] = "false", + [anon_sym_NULL] = "NULL", + [anon_sym_nullptr] = "nullptr", + [sym_comment] = "comment", + [sym_grit_metavariable] = "grit_metavariable", + [sym_auto] = "auto", + [anon_sym_decltype] = "decltype", + [anon_sym_final] = "final", + [anon_sym_override] = "override", + [sym_virtual] = "virtual", + [anon_sym_explicit] = "explicit", + [anon_sym_typename] = "typename", + [anon_sym_template] = "template", + [anon_sym_GT2] = ">", + [anon_sym_operator] = "operator", + [anon_sym_try] = "try", + [anon_sym_delete] = "delete", + [anon_sym_0] = "0", + [anon_sym_friend] = "friend", + [anon_sym_public] = "public", + [anon_sym_private] = "private", + [anon_sym_protected] = "protected", + [anon_sym_noexcept] = "noexcept", + [anon_sym_throw] = "throw", + [anon_sym_namespace] = "namespace", + [anon_sym_using] = "using", + [anon_sym_static_assert] = "static_assert", + [anon_sym_concept] = "concept", + [anon_sym_co_return] = "co_return", + [anon_sym_co_yield] = "co_yield", + [anon_sym_catch] = "catch", + [anon_sym_R_DQUOTE] = "R\"", + [anon_sym_LR_DQUOTE] = "LR\"", + [anon_sym_uR_DQUOTE] = "uR\"", + [anon_sym_UR_DQUOTE] = "UR\"", + [anon_sym_u8R_DQUOTE] = "u8R\"", + [anon_sym_co_await] = "co_await", + [anon_sym_new] = "new", + [anon_sym_requires] = "requires", + [anon_sym_DASH_GT_STAR] = "->*", + [anon_sym_LPAREN_RPAREN] = "()", + [anon_sym_LBRACK_RBRACK] = "[]", + [anon_sym_DQUOTE_DQUOTE] = "\"\"", + [sym_this] = "this", + [sym_literal_suffix] = "literal_suffix", + [sym_raw_string_delimiter] = "raw_string_delimiter", + [sym_raw_string_content] = "raw_string_content", + [sym_translation_unit] = "translation_unit", + [sym__top_level_item] = "_top_level_item", + [sym__block_item] = "_block_item", + [sym_preproc_include] = "preproc_include", + [sym_preproc_def] = "preproc_def", + [sym_preproc_function_def] = "preproc_function_def", + [sym_preproc_params] = "preproc_params", + [sym_preproc_call] = "preproc_call", + [sym_preproc_if] = "preproc_if", + [sym_preproc_ifdef] = "preproc_ifdef", + [sym_preproc_else] = "preproc_else", + [sym_preproc_elif] = "preproc_elif", + [sym_preproc_elifdef] = "preproc_elifdef", + [sym_preproc_if_in_field_declaration_list] = "preproc_if", + [sym_preproc_ifdef_in_field_declaration_list] = "preproc_ifdef", + [sym_preproc_else_in_field_declaration_list] = "preproc_else", + [sym_preproc_elif_in_field_declaration_list] = "preproc_elif", + [sym_preproc_elifdef_in_field_declaration_list] = "preproc_elifdef", + [sym_preproc_if_in_enumerator_list] = "preproc_if", + [sym_preproc_ifdef_in_enumerator_list] = "preproc_ifdef", + [sym_preproc_else_in_enumerator_list] = "preproc_else", + [sym_preproc_elif_in_enumerator_list] = "preproc_elif", + [sym_preproc_elifdef_in_enumerator_list] = "preproc_elifdef", + [sym_preproc_if_in_enumerator_list_no_comma] = "preproc_if", + [sym_preproc_ifdef_in_enumerator_list_no_comma] = "preproc_ifdef", + [sym_preproc_else_in_enumerator_list_no_comma] = "preproc_else", + [sym_preproc_elif_in_enumerator_list_no_comma] = "preproc_elif", + [sym_preproc_elifdef_in_enumerator_list_no_comma] = "preproc_elifdef", + [sym__preproc_expression] = "_preproc_expression", + [sym_preproc_parenthesized_expression] = "parenthesized_expression", + [sym_preproc_defined] = "preproc_defined", + [sym_preproc_unary_expression] = "unary_expression", + [sym_preproc_call_expression] = "call_expression", + [sym_preproc_argument_list] = "argument_list", + [sym_preproc_binary_expression] = "binary_expression", + [sym_function_definition] = "function_definition", + [sym_declaration] = "declaration", + [sym_type_definition] = "type_definition", + [sym__type_definition_type] = "_type_definition_type", + [sym__type_definition_declarators] = "_type_definition_declarators", + [sym__declaration_modifiers] = "_declaration_modifiers", + [sym__declaration_specifiers] = "_declaration_specifiers", + [sym_linkage_specification] = "linkage_specification", + [sym_attribute_specifier] = "attribute_specifier", + [sym_attribute] = "attribute", + [sym_attribute_declaration] = "attribute_declaration", + [sym_ms_declspec_modifier] = "ms_declspec_modifier", + [sym_ms_based_modifier] = "ms_based_modifier", + [sym_ms_call_modifier] = "ms_call_modifier", + [sym_ms_unaligned_ptr_modifier] = "ms_unaligned_ptr_modifier", + [sym_ms_pointer_modifier] = "ms_pointer_modifier", + [sym_declaration_list] = "declaration_list", + [sym__declarator] = "_declarator", + [sym__field_declarator] = "_field_declarator", + [sym__type_declarator] = "_type_declarator", + [sym__abstract_declarator] = "_abstract_declarator", + [sym_parenthesized_declarator] = "parenthesized_declarator", + [sym_parenthesized_field_declarator] = "parenthesized_declarator", + [sym_parenthesized_type_declarator] = "parenthesized_declarator", + [sym_abstract_parenthesized_declarator] = "abstract_parenthesized_declarator", + [sym_attributed_declarator] = "attributed_declarator", + [sym_attributed_field_declarator] = "attributed_declarator", + [sym_attributed_type_declarator] = "attributed_declarator", + [sym_pointer_declarator] = "pointer_declarator", + [sym_pointer_field_declarator] = "pointer_declarator", + [sym_pointer_type_declarator] = "pointer_type_declarator", + [sym_abstract_pointer_declarator] = "abstract_pointer_declarator", + [sym_function_declarator] = "function_declarator", + [sym_function_field_declarator] = "function_declarator", + [sym_function_type_declarator] = "function_declarator", + [sym_abstract_function_declarator] = "abstract_function_declarator", + [sym_array_declarator] = "array_declarator", + [sym_array_field_declarator] = "array_declarator", + [sym_array_type_declarator] = "array_declarator", + [sym_abstract_array_declarator] = "abstract_array_declarator", + [sym_init_declarator] = "init_declarator", + [sym_compound_statement] = "compound_statement", + [sym_storage_class_specifier] = "storage_class_specifier", + [sym_type_qualifier] = "type_qualifier", + [sym_alignas_qualifier] = "alignas_qualifier", + [sym_type_specifier] = "type_specifier", + [sym_sized_type_specifier] = "sized_type_specifier", + [sym_enum_specifier] = "enum_specifier", + [sym_enumerator_list] = "enumerator_list", + [sym_struct_specifier] = "struct_specifier", + [sym_union_specifier] = "union_specifier", + [sym_field_declaration_list] = "field_declaration_list", + [sym__field_declaration_list_item] = "_field_declaration_list_item", + [sym_field_declaration] = "field_declaration", + [sym_bitfield_clause] = "bitfield_clause", + [sym_enumerator] = "enumerator", + [sym_parameter_list] = "parameter_list", + [sym_parameter_declaration] = "parameter_declaration", + [sym_attributed_statement] = "attributed_statement", + [sym_statement] = "statement", + [sym__top_level_statement] = "_top_level_statement", + [sym_labeled_statement] = "labeled_statement", + [sym__top_level_expression_statement] = "expression_statement", + [sym_expression_statement] = "expression_statement", + [sym_if_statement] = "if_statement", + [sym_else_clause] = "else_clause", + [sym_switch_statement] = "switch_statement", + [sym_case_statement] = "case_statement", + [sym_while_statement] = "while_statement", + [sym_do_statement] = "do_statement", + [sym_for_statement] = "for_statement", + [sym__for_statement_body] = "_for_statement_body", + [sym_return_statement] = "return_statement", + [sym_break_statement] = "break_statement", + [sym_continue_statement] = "continue_statement", + [sym_goto_statement] = "goto_statement", + [sym_seh_try_statement] = "seh_try_statement", + [sym_seh_except_clause] = "seh_except_clause", + [sym_seh_finally_clause] = "seh_finally_clause", + [sym_seh_leave_statement] = "seh_leave_statement", + [sym_expression] = "expression", + [sym__string] = "_string", + [sym_comma_expression] = "comma_expression", + [sym_conditional_expression] = "conditional_expression", + [sym_assignment_expression] = "assignment_expression", + [sym_pointer_expression] = "pointer_expression", + [sym_unary_expression] = "unary_expression", + [sym_binary_expression] = "binary_expression", + [sym_update_expression] = "update_expression", + [sym_cast_expression] = "cast_expression", + [sym_type_descriptor] = "type_descriptor", + [sym_sizeof_expression] = "sizeof_expression", + [sym_alignof_expression] = "alignof_expression", + [sym_offsetof_expression] = "offsetof_expression", + [sym_generic_expression] = "generic_expression", + [sym_subscript_expression] = "subscript_expression", + [sym_call_expression] = "call_expression", + [sym_gnu_asm_expression] = "gnu_asm_expression", + [sym_gnu_asm_qualifier] = "gnu_asm_qualifier", + [sym_gnu_asm_output_operand_list] = "gnu_asm_output_operand_list", + [sym_gnu_asm_output_operand] = "gnu_asm_output_operand", + [sym_gnu_asm_input_operand_list] = "gnu_asm_input_operand_list", + [sym_gnu_asm_input_operand] = "gnu_asm_input_operand", + [sym_gnu_asm_clobber_list] = "gnu_asm_clobber_list", + [sym_gnu_asm_goto_list] = "gnu_asm_goto_list", + [sym_argument_list] = "argument_list", + [sym_field_expression] = "field_expression", + [sym_compound_literal_expression] = "compound_literal_expression", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_initializer_list] = "initializer_list", + [sym_initializer_pair] = "initializer_pair", + [sym_subscript_designator] = "subscript_designator", + [sym_subscript_range_designator] = "subscript_range_designator", + [sym_field_designator] = "field_designator", + [sym_number_literal] = "number_literal", + [sym_char_literal] = "char_literal", + [sym__char_literal] = "_char_literal", + [sym_concatenated_string] = "concatenated_string", + [sym_string_literal] = "string_literal", + [sym__string_literal] = "_string_literal", + [sym_null] = "null", + [sym_identifier] = "identifier", + [sym__empty_declaration] = "_empty_declaration", + [sym_placeholder_type_specifier] = "placeholder_type_specifier", + [sym_decltype_auto] = "decltype", + [sym_decltype] = "decltype", + [sym__class_declaration] = "_class_declaration", + [sym__class_declaration_item] = "_class_declaration_item", + [sym_class_specifier] = "class_specifier", + [sym__class_name] = "_class_name", + [sym_virtual_specifier] = "virtual_specifier", + [sym_explicit_function_specifier] = "explicit_function_specifier", + [sym_base_class_clause] = "base_class_clause", + [sym__enum_base_clause] = "_enum_base_clause", + [sym_dependent_type] = "dependent_type", + [sym_template_declaration] = "template_declaration", + [sym_template_instantiation] = "template_instantiation", + [sym_template_parameter_list] = "template_parameter_list", + [sym_type_parameter_declaration] = "type_parameter_declaration", + [sym_variadic_type_parameter_declaration] = "variadic_type_parameter_declaration", + [sym_optional_type_parameter_declaration] = "optional_type_parameter_declaration", + [sym_template_template_parameter_declaration] = "template_template_parameter_declaration", + [sym_optional_parameter_declaration] = "optional_parameter_declaration", + [sym_variadic_parameter_declaration] = "variadic_parameter_declaration", + [sym_variadic_declarator] = "variadic_declarator", + [sym_variadic_reference_declarator] = "reference_declarator", + [sym_operator_cast] = "operator_cast", + [sym_field_initializer_list] = "field_initializer_list", + [sym_field_initializer] = "field_initializer", + [sym_inline_method_definition] = "function_definition", + [sym__constructor_specifiers] = "_constructor_specifiers", + [sym_operator_cast_definition] = "function_definition", + [sym_operator_cast_declaration] = "declaration", + [sym_constructor_try_statement] = "try_statement", + [sym_constructor_or_destructor_definition] = "function_definition", + [sym_constructor_or_destructor_declaration] = "declaration", + [sym_default_method_clause] = "default_method_clause", + [sym_delete_method_clause] = "delete_method_clause", + [sym_pure_virtual_clause] = "pure_virtual_clause", + [sym_friend_declaration] = "friend_declaration", + [sym_access_specifier] = "access_specifier", + [sym_reference_declarator] = "reference_declarator", + [sym_reference_field_declarator] = "reference_declarator", + [sym_reference_type_declarator] = "reference_declarator", + [sym_abstract_reference_declarator] = "abstract_reference_declarator", + [sym_structured_binding_declarator] = "structured_binding_declarator", + [sym_ref_qualifier] = "ref_qualifier", + [sym__function_declarator_seq] = "_function_declarator_seq", + [sym__function_attributes_start] = "_function_attributes_start", + [sym__function_exception_specification] = "_function_exception_specification", + [sym__function_attributes_end] = "_function_attributes_end", + [sym__function_postfix] = "_function_postfix", + [sym_trailing_return_type] = "trailing_return_type", + [sym_noexcept] = "noexcept", + [sym_throw_specifier] = "throw_specifier", + [sym_template_type] = "template_type", + [sym_template_method] = "template_method", + [sym_template_function] = "template_function", + [sym_template_argument_list] = "template_argument_list", + [sym_namespace_definition] = "namespace_definition", + [sym_namespace_alias_definition] = "namespace_alias_definition", + [sym__namespace_specifier] = "_namespace_specifier", + [sym_nested_namespace_specifier] = "nested_namespace_specifier", + [sym_using_declaration] = "using_declaration", + [sym_alias_declaration] = "alias_declaration", + [sym_static_assert_declaration] = "static_assert_declaration", + [sym_concept_definition] = "concept_definition", + [sym_for_range_loop] = "for_range_loop", + [sym__for_range_loop_body] = "_for_range_loop_body", + [sym_init_statement] = "init_statement", + [sym_condition_clause] = "condition_clause", + [sym_condition_declaration] = "declaration", + [sym_co_return_statement] = "co_return_statement", + [sym_co_yield_statement] = "co_yield_statement", + [sym_throw_statement] = "throw_statement", + [sym_try_statement] = "try_statement", + [sym_catch_clause] = "catch_clause", + [sym_raw_string_literal] = "raw_string_literal", + [sym_subscript_argument_list] = "subscript_argument_list", + [sym_co_await_expression] = "co_await_expression", + [sym_new_expression] = "new_expression", + [sym_new_declarator] = "new_declarator", + [sym_delete_expression] = "delete_expression", + [sym_type_requirement] = "type_requirement", + [sym_compound_requirement] = "compound_requirement", + [sym__requirement] = "_requirement", + [sym_requirement_seq] = "requirement_seq", + [sym_constraint_conjunction] = "constraint_conjunction", + [sym_constraint_disjunction] = "constraint_disjunction", + [sym__requirement_clause_constraint] = "_requirement_clause_constraint", + [sym_requires_clause] = "requires_clause", + [sym_requires_parameter_list] = "parameter_list", + [sym_requires_expression] = "requires_expression", + [sym_lambda_expression] = "lambda_expression", + [sym_lambda_capture_specifier] = "lambda_capture_specifier", + [sym_lambda_default_capture] = "lambda_default_capture", + [sym__fold_operator] = "_fold_operator", + [sym__binary_fold_operator] = "_binary_fold_operator", + [sym__unary_left_fold] = "_unary_left_fold", + [sym__unary_right_fold] = "_unary_right_fold", + [sym__binary_fold] = "_binary_fold", + [sym_fold_expression] = "fold_expression", + [sym_parameter_pack_expansion] = "parameter_pack_expansion", + [sym_type_parameter_pack_expansion] = "parameter_pack_expansion", + [sym_destructor_name] = "destructor_name", + [sym_dependent_identifier] = "dependent_name", + [sym_dependent_field_identifier] = "dependent_name", + [sym_dependent_type_identifier] = "dependent_name", + [sym__scope_resolution] = "_scope_resolution", + [sym_qualified_field_identifier] = "qualified_identifier", + [sym_qualified_identifier] = "qualified_identifier", + [sym_qualified_type_identifier] = "qualified_identifier", + [sym_qualified_operator_cast_identifier] = "qualified_identifier", + [sym__assignment_expression_lhs] = "assignment_expression", + [sym_operator_name] = "operator_name", + [sym_user_defined_literal] = "user_defined_literal", + [sym__user_defined_literal] = "_user_defined_literal", + [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", + [aux_sym_preproc_params_repeat1] = "preproc_params_repeat1", + [aux_sym_preproc_if_repeat1] = "preproc_if_repeat1", + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = "preproc_if_in_field_declaration_list_repeat1", + [aux_sym_preproc_if_in_enumerator_list_repeat1] = "preproc_if_in_enumerator_list_repeat1", + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = "preproc_if_in_enumerator_list_no_comma_repeat1", + [aux_sym_preproc_argument_list_repeat1] = "preproc_argument_list_repeat1", + [aux_sym_declaration_repeat1] = "declaration_repeat1", + [aux_sym_type_definition_repeat1] = "type_definition_repeat1", + [aux_sym__type_definition_type_repeat1] = "_type_definition_type_repeat1", + [aux_sym__type_definition_declarators_repeat1] = "_type_definition_declarators_repeat1", + [aux_sym__declaration_specifiers_repeat1] = "_declaration_specifiers_repeat1", + [aux_sym_attribute_declaration_repeat1] = "attribute_declaration_repeat1", + [aux_sym_attributed_declarator_repeat1] = "attributed_declarator_repeat1", + [aux_sym_pointer_declarator_repeat1] = "pointer_declarator_repeat1", + [aux_sym_array_declarator_repeat1] = "array_declarator_repeat1", + [aux_sym_sized_type_specifier_repeat1] = "sized_type_specifier_repeat1", + [aux_sym_enumerator_list_repeat1] = "enumerator_list_repeat1", + [aux_sym_field_declaration_repeat1] = "field_declaration_repeat1", + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", + [aux_sym_case_statement_repeat1] = "case_statement_repeat1", + [aux_sym_generic_expression_repeat1] = "generic_expression_repeat1", + [aux_sym_gnu_asm_expression_repeat1] = "gnu_asm_expression_repeat1", + [aux_sym_gnu_asm_output_operand_list_repeat1] = "gnu_asm_output_operand_list_repeat1", + [aux_sym_gnu_asm_input_operand_list_repeat1] = "gnu_asm_input_operand_list_repeat1", + [aux_sym_gnu_asm_clobber_list_repeat1] = "gnu_asm_clobber_list_repeat1", + [aux_sym_gnu_asm_goto_list_repeat1] = "gnu_asm_goto_list_repeat1", + [aux_sym_argument_list_repeat1] = "argument_list_repeat1", + [aux_sym_initializer_list_repeat1] = "initializer_list_repeat1", + [aux_sym_initializer_pair_repeat1] = "initializer_pair_repeat1", + [aux_sym__char_literal_repeat1] = "_char_literal_repeat1", + [aux_sym_concatenated_string_repeat1] = "concatenated_string_repeat1", + [aux_sym__string_literal_repeat1] = "_string_literal_repeat1", + [aux_sym__class_declaration_repeat1] = "_class_declaration_repeat1", + [aux_sym_base_class_clause_repeat1] = "base_class_clause_repeat1", + [aux_sym_template_parameter_list_repeat1] = "template_parameter_list_repeat1", + [aux_sym_field_initializer_list_repeat1] = "field_initializer_list_repeat1", + [aux_sym_operator_cast_definition_repeat1] = "operator_cast_definition_repeat1", + [aux_sym_constructor_try_statement_repeat1] = "constructor_try_statement_repeat1", + [aux_sym_structured_binding_declarator_repeat1] = "structured_binding_declarator_repeat1", + [aux_sym__function_postfix_repeat1] = "_function_postfix_repeat1", + [aux_sym_throw_specifier_repeat1] = "throw_specifier_repeat1", + [aux_sym_template_argument_list_repeat1] = "template_argument_list_repeat1", + [aux_sym_subscript_argument_list_repeat1] = "subscript_argument_list_repeat1", + [aux_sym_requirement_seq_repeat1] = "requirement_seq_repeat1", + [aux_sym_requires_parameter_list_repeat1] = "requires_parameter_list_repeat1", + [aux_sym_lambda_capture_specifier_repeat1] = "lambda_capture_specifier_repeat1", + [alias_sym_field_identifier] = "field_identifier", + [alias_sym_namespace_identifier] = "namespace_identifier", + [alias_sym_simple_requirement] = "simple_requirement", + [alias_sym_statement_identifier] = "statement_identifier", + [alias_sym_type_identifier] = "type_identifier", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym__identifier] = sym__identifier, + [aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1, + [aux_sym_preproc_include_token2] = aux_sym_preproc_include_token2, + [aux_sym_preproc_def_token1] = aux_sym_preproc_def_token1, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [aux_sym_preproc_if_token1] = aux_sym_preproc_if_token1, + [anon_sym_LF] = anon_sym_LF, + [aux_sym_preproc_if_token2] = aux_sym_preproc_if_token2, + [aux_sym_preproc_ifdef_token1] = aux_sym_preproc_ifdef_token1, + [aux_sym_preproc_ifdef_token2] = aux_sym_preproc_ifdef_token2, + [aux_sym_preproc_else_token1] = aux_sym_preproc_else_token1, + [aux_sym_preproc_elif_token1] = aux_sym_preproc_elif_token1, + [aux_sym_preproc_elifdef_token1] = aux_sym_preproc_elifdef_token1, + [aux_sym_preproc_elifdef_token2] = aux_sym_preproc_elifdef_token2, + [sym_preproc_arg] = sym_preproc_arg, + [sym_preproc_directive] = sym_preproc_directive, + [anon_sym_LPAREN2] = anon_sym_LPAREN, + [anon_sym_defined] = anon_sym_defined, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_TILDE] = anon_sym_TILDE, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym___extension__] = anon_sym___extension__, + [anon_sym_typedef] = anon_sym_typedef, + [anon_sym_extern] = anon_sym_extern, + [anon_sym___attribute__] = anon_sym___attribute__, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_LBRACK_LBRACK] = anon_sym_LBRACK_LBRACK, + [anon_sym_RBRACK_RBRACK] = anon_sym_RBRACK_RBRACK, + [anon_sym___declspec] = anon_sym___declspec, + [anon_sym___based] = anon_sym___based, + [anon_sym___cdecl] = anon_sym___cdecl, + [anon_sym___clrcall] = anon_sym___clrcall, + [anon_sym___stdcall] = anon_sym___stdcall, + [anon_sym___fastcall] = anon_sym___fastcall, + [anon_sym___thiscall] = anon_sym___thiscall, + [anon_sym___vectorcall] = anon_sym___vectorcall, + [sym_ms_restrict_modifier] = sym_ms_restrict_modifier, + [sym_ms_unsigned_ptr_modifier] = sym_ms_unsigned_ptr_modifier, + [sym_ms_signed_ptr_modifier] = sym_ms_signed_ptr_modifier, + [anon_sym__unaligned] = anon_sym__unaligned, + [anon_sym___unaligned] = anon_sym___unaligned, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_signed] = anon_sym_signed, + [anon_sym_unsigned] = anon_sym_unsigned, + [anon_sym_long] = anon_sym_long, + [anon_sym_short] = anon_sym_short, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_static] = anon_sym_static, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_register] = anon_sym_register, + [anon_sym_inline] = anon_sym_inline, + [anon_sym___inline] = anon_sym___inline, + [anon_sym___inline__] = anon_sym___inline__, + [anon_sym___forceinline] = anon_sym___forceinline, + [anon_sym_thread_local] = anon_sym_thread_local, + [anon_sym___thread] = anon_sym___thread, + [anon_sym_const] = anon_sym_const, + [anon_sym_constexpr] = anon_sym_constexpr, + [anon_sym_volatile] = anon_sym_volatile, + [anon_sym_restrict] = anon_sym_restrict, + [anon_sym___restrict__] = anon_sym___restrict__, + [anon_sym__Atomic] = anon_sym__Atomic, + [anon_sym__Noreturn] = anon_sym__Noreturn, + [anon_sym_noreturn] = anon_sym_noreturn, + [anon_sym_mutable] = anon_sym_mutable, + [anon_sym_constinit] = anon_sym_constinit, + [anon_sym_consteval] = anon_sym_consteval, + [anon_sym_alignas] = anon_sym_alignas, + [anon_sym__Alignas] = anon_sym__Alignas, + [sym_primitive_type] = sym_primitive_type, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_class] = anon_sym_class, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_union] = anon_sym_union, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_switch] = anon_sym_switch, + [anon_sym_case] = anon_sym_case, + [anon_sym_default] = anon_sym_default, + [anon_sym_while] = anon_sym_while, + [anon_sym_do] = anon_sym_do, + [anon_sym_for] = anon_sym_for, + [anon_sym_return] = anon_sym_return, + [anon_sym_break] = anon_sym_break, + [anon_sym_continue] = anon_sym_continue, + [anon_sym_goto] = anon_sym_goto, + [anon_sym___try] = anon_sym___try, + [anon_sym___except] = anon_sym___except, + [anon_sym___finally] = anon_sym___finally, + [anon_sym___leave] = anon_sym___leave, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, + [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_AMP_EQ] = anon_sym_AMP_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, + [anon_sym_and_eq] = anon_sym_and_eq, + [anon_sym_or_eq] = anon_sym_or_eq, + [anon_sym_xor_eq] = anon_sym_xor_eq, + [anon_sym_not] = anon_sym_not, + [anon_sym_compl] = anon_sym_compl, + [anon_sym_LT_EQ_GT] = anon_sym_LT_EQ_GT, + [anon_sym_or] = anon_sym_or, + [anon_sym_and] = anon_sym_and, + [anon_sym_bitor] = anon_sym_bitor, + [anon_sym_xor] = anon_sym_xor, + [anon_sym_bitand] = anon_sym_bitand, + [anon_sym_not_eq] = anon_sym_not_eq, + [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, + [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, + [anon_sym_sizeof] = anon_sym_sizeof, + [anon_sym___alignof__] = anon_sym___alignof__, + [anon_sym___alignof] = anon_sym___alignof, + [anon_sym__alignof] = anon_sym__alignof, + [anon_sym_alignof] = anon_sym_alignof, + [anon_sym__Alignof] = anon_sym__Alignof, + [anon_sym_offsetof] = anon_sym_offsetof, + [anon_sym__Generic] = anon_sym__Generic, + [anon_sym_asm] = anon_sym_asm, + [anon_sym___asm__] = anon_sym___asm__, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_DOT_STAR] = anon_sym_DOT_STAR, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [sym__number_literal] = sym__number_literal, + [anon_sym_L_SQUOTE] = anon_sym_L_SQUOTE, + [anon_sym_u_SQUOTE] = anon_sym_u_SQUOTE, + [anon_sym_U_SQUOTE] = anon_sym_U_SQUOTE, + [anon_sym_u8_SQUOTE] = anon_sym_u8_SQUOTE, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym__char_literal_token1] = aux_sym__char_literal_token1, + [anon_sym_L_DQUOTE] = anon_sym_L_DQUOTE, + [anon_sym_u_DQUOTE] = anon_sym_u_DQUOTE, + [anon_sym_U_DQUOTE] = anon_sym_U_DQUOTE, + [anon_sym_u8_DQUOTE] = anon_sym_u8_DQUOTE, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym__string_literal_token1] = aux_sym__string_literal_token1, + [sym_escape_sequence] = sym_escape_sequence, + [sym_system_lib_string] = sym_system_lib_string, + [sym_true] = sym_true, + [sym_false] = sym_false, + [anon_sym_NULL] = anon_sym_NULL, + [anon_sym_nullptr] = anon_sym_nullptr, + [sym_comment] = sym_comment, + [sym_grit_metavariable] = sym_grit_metavariable, + [sym_auto] = sym_auto, + [anon_sym_decltype] = anon_sym_decltype, + [anon_sym_final] = anon_sym_final, + [anon_sym_override] = anon_sym_override, + [sym_virtual] = sym_virtual, + [anon_sym_explicit] = anon_sym_explicit, + [anon_sym_typename] = anon_sym_typename, + [anon_sym_template] = anon_sym_template, + [anon_sym_GT2] = anon_sym_GT, + [anon_sym_operator] = anon_sym_operator, + [anon_sym_try] = anon_sym_try, + [anon_sym_delete] = anon_sym_delete, + [anon_sym_0] = anon_sym_0, + [anon_sym_friend] = anon_sym_friend, + [anon_sym_public] = anon_sym_public, + [anon_sym_private] = anon_sym_private, + [anon_sym_protected] = anon_sym_protected, + [anon_sym_noexcept] = anon_sym_noexcept, + [anon_sym_throw] = anon_sym_throw, + [anon_sym_namespace] = anon_sym_namespace, + [anon_sym_using] = anon_sym_using, + [anon_sym_static_assert] = anon_sym_static_assert, + [anon_sym_concept] = anon_sym_concept, + [anon_sym_co_return] = anon_sym_co_return, + [anon_sym_co_yield] = anon_sym_co_yield, + [anon_sym_catch] = anon_sym_catch, + [anon_sym_R_DQUOTE] = anon_sym_R_DQUOTE, + [anon_sym_LR_DQUOTE] = anon_sym_LR_DQUOTE, + [anon_sym_uR_DQUOTE] = anon_sym_uR_DQUOTE, + [anon_sym_UR_DQUOTE] = anon_sym_UR_DQUOTE, + [anon_sym_u8R_DQUOTE] = anon_sym_u8R_DQUOTE, + [anon_sym_co_await] = anon_sym_co_await, + [anon_sym_new] = anon_sym_new, + [anon_sym_requires] = anon_sym_requires, + [anon_sym_DASH_GT_STAR] = anon_sym_DASH_GT_STAR, + [anon_sym_LPAREN_RPAREN] = anon_sym_LPAREN_RPAREN, + [anon_sym_LBRACK_RBRACK] = anon_sym_LBRACK_RBRACK, + [anon_sym_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE, + [sym_this] = sym_this, + [sym_literal_suffix] = sym_literal_suffix, + [sym_raw_string_delimiter] = sym_raw_string_delimiter, + [sym_raw_string_content] = sym_raw_string_content, + [sym_translation_unit] = sym_translation_unit, + [sym__top_level_item] = sym__top_level_item, + [sym__block_item] = sym__block_item, + [sym_preproc_include] = sym_preproc_include, + [sym_preproc_def] = sym_preproc_def, + [sym_preproc_function_def] = sym_preproc_function_def, + [sym_preproc_params] = sym_preproc_params, + [sym_preproc_call] = sym_preproc_call, + [sym_preproc_if] = sym_preproc_if, + [sym_preproc_ifdef] = sym_preproc_ifdef, + [sym_preproc_else] = sym_preproc_else, + [sym_preproc_elif] = sym_preproc_elif, + [sym_preproc_elifdef] = sym_preproc_elifdef, + [sym_preproc_if_in_field_declaration_list] = sym_preproc_if, + [sym_preproc_ifdef_in_field_declaration_list] = sym_preproc_ifdef, + [sym_preproc_else_in_field_declaration_list] = sym_preproc_else, + [sym_preproc_elif_in_field_declaration_list] = sym_preproc_elif, + [sym_preproc_elifdef_in_field_declaration_list] = sym_preproc_elifdef, + [sym_preproc_if_in_enumerator_list] = sym_preproc_if, + [sym_preproc_ifdef_in_enumerator_list] = sym_preproc_ifdef, + [sym_preproc_else_in_enumerator_list] = sym_preproc_else, + [sym_preproc_elif_in_enumerator_list] = sym_preproc_elif, + [sym_preproc_elifdef_in_enumerator_list] = sym_preproc_elifdef, + [sym_preproc_if_in_enumerator_list_no_comma] = sym_preproc_if, + [sym_preproc_ifdef_in_enumerator_list_no_comma] = sym_preproc_ifdef, + [sym_preproc_else_in_enumerator_list_no_comma] = sym_preproc_else, + [sym_preproc_elif_in_enumerator_list_no_comma] = sym_preproc_elif, + [sym_preproc_elifdef_in_enumerator_list_no_comma] = sym_preproc_elifdef, + [sym__preproc_expression] = sym__preproc_expression, + [sym_preproc_parenthesized_expression] = sym_parenthesized_expression, + [sym_preproc_defined] = sym_preproc_defined, + [sym_preproc_unary_expression] = sym_unary_expression, + [sym_preproc_call_expression] = sym_call_expression, + [sym_preproc_argument_list] = sym_argument_list, + [sym_preproc_binary_expression] = sym_binary_expression, + [sym_function_definition] = sym_function_definition, + [sym_declaration] = sym_declaration, + [sym_type_definition] = sym_type_definition, + [sym__type_definition_type] = sym__type_definition_type, + [sym__type_definition_declarators] = sym__type_definition_declarators, + [sym__declaration_modifiers] = sym__declaration_modifiers, + [sym__declaration_specifiers] = sym__declaration_specifiers, + [sym_linkage_specification] = sym_linkage_specification, + [sym_attribute_specifier] = sym_attribute_specifier, + [sym_attribute] = sym_attribute, + [sym_attribute_declaration] = sym_attribute_declaration, + [sym_ms_declspec_modifier] = sym_ms_declspec_modifier, + [sym_ms_based_modifier] = sym_ms_based_modifier, + [sym_ms_call_modifier] = sym_ms_call_modifier, + [sym_ms_unaligned_ptr_modifier] = sym_ms_unaligned_ptr_modifier, + [sym_ms_pointer_modifier] = sym_ms_pointer_modifier, + [sym_declaration_list] = sym_declaration_list, + [sym__declarator] = sym__declarator, + [sym__field_declarator] = sym__field_declarator, + [sym__type_declarator] = sym__type_declarator, + [sym__abstract_declarator] = sym__abstract_declarator, + [sym_parenthesized_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_field_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_type_declarator] = sym_parenthesized_declarator, + [sym_abstract_parenthesized_declarator] = sym_abstract_parenthesized_declarator, + [sym_attributed_declarator] = sym_attributed_declarator, + [sym_attributed_field_declarator] = sym_attributed_declarator, + [sym_attributed_type_declarator] = sym_attributed_declarator, + [sym_pointer_declarator] = sym_pointer_declarator, + [sym_pointer_field_declarator] = sym_pointer_declarator, + [sym_pointer_type_declarator] = sym_pointer_type_declarator, + [sym_abstract_pointer_declarator] = sym_abstract_pointer_declarator, + [sym_function_declarator] = sym_function_declarator, + [sym_function_field_declarator] = sym_function_declarator, + [sym_function_type_declarator] = sym_function_declarator, + [sym_abstract_function_declarator] = sym_abstract_function_declarator, + [sym_array_declarator] = sym_array_declarator, + [sym_array_field_declarator] = sym_array_declarator, + [sym_array_type_declarator] = sym_array_declarator, + [sym_abstract_array_declarator] = sym_abstract_array_declarator, + [sym_init_declarator] = sym_init_declarator, + [sym_compound_statement] = sym_compound_statement, + [sym_storage_class_specifier] = sym_storage_class_specifier, + [sym_type_qualifier] = sym_type_qualifier, + [sym_alignas_qualifier] = sym_alignas_qualifier, + [sym_type_specifier] = sym_type_specifier, + [sym_sized_type_specifier] = sym_sized_type_specifier, + [sym_enum_specifier] = sym_enum_specifier, + [sym_enumerator_list] = sym_enumerator_list, + [sym_struct_specifier] = sym_struct_specifier, + [sym_union_specifier] = sym_union_specifier, + [sym_field_declaration_list] = sym_field_declaration_list, + [sym__field_declaration_list_item] = sym__field_declaration_list_item, + [sym_field_declaration] = sym_field_declaration, + [sym_bitfield_clause] = sym_bitfield_clause, + [sym_enumerator] = sym_enumerator, + [sym_parameter_list] = sym_parameter_list, + [sym_parameter_declaration] = sym_parameter_declaration, + [sym_attributed_statement] = sym_attributed_statement, + [sym_statement] = sym_statement, + [sym__top_level_statement] = sym__top_level_statement, + [sym_labeled_statement] = sym_labeled_statement, + [sym__top_level_expression_statement] = sym_expression_statement, + [sym_expression_statement] = sym_expression_statement, + [sym_if_statement] = sym_if_statement, + [sym_else_clause] = sym_else_clause, + [sym_switch_statement] = sym_switch_statement, + [sym_case_statement] = sym_case_statement, + [sym_while_statement] = sym_while_statement, + [sym_do_statement] = sym_do_statement, + [sym_for_statement] = sym_for_statement, + [sym__for_statement_body] = sym__for_statement_body, + [sym_return_statement] = sym_return_statement, + [sym_break_statement] = sym_break_statement, + [sym_continue_statement] = sym_continue_statement, + [sym_goto_statement] = sym_goto_statement, + [sym_seh_try_statement] = sym_seh_try_statement, + [sym_seh_except_clause] = sym_seh_except_clause, + [sym_seh_finally_clause] = sym_seh_finally_clause, + [sym_seh_leave_statement] = sym_seh_leave_statement, + [sym_expression] = sym_expression, + [sym__string] = sym__string, + [sym_comma_expression] = sym_comma_expression, + [sym_conditional_expression] = sym_conditional_expression, + [sym_assignment_expression] = sym_assignment_expression, + [sym_pointer_expression] = sym_pointer_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_update_expression] = sym_update_expression, + [sym_cast_expression] = sym_cast_expression, + [sym_type_descriptor] = sym_type_descriptor, + [sym_sizeof_expression] = sym_sizeof_expression, + [sym_alignof_expression] = sym_alignof_expression, + [sym_offsetof_expression] = sym_offsetof_expression, + [sym_generic_expression] = sym_generic_expression, + [sym_subscript_expression] = sym_subscript_expression, + [sym_call_expression] = sym_call_expression, + [sym_gnu_asm_expression] = sym_gnu_asm_expression, + [sym_gnu_asm_qualifier] = sym_gnu_asm_qualifier, + [sym_gnu_asm_output_operand_list] = sym_gnu_asm_output_operand_list, + [sym_gnu_asm_output_operand] = sym_gnu_asm_output_operand, + [sym_gnu_asm_input_operand_list] = sym_gnu_asm_input_operand_list, + [sym_gnu_asm_input_operand] = sym_gnu_asm_input_operand, + [sym_gnu_asm_clobber_list] = sym_gnu_asm_clobber_list, + [sym_gnu_asm_goto_list] = sym_gnu_asm_goto_list, + [sym_argument_list] = sym_argument_list, + [sym_field_expression] = sym_field_expression, + [sym_compound_literal_expression] = sym_compound_literal_expression, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_initializer_list] = sym_initializer_list, + [sym_initializer_pair] = sym_initializer_pair, + [sym_subscript_designator] = sym_subscript_designator, + [sym_subscript_range_designator] = sym_subscript_range_designator, + [sym_field_designator] = sym_field_designator, + [sym_number_literal] = sym_number_literal, + [sym_char_literal] = sym_char_literal, + [sym__char_literal] = sym__char_literal, + [sym_concatenated_string] = sym_concatenated_string, + [sym_string_literal] = sym_string_literal, + [sym__string_literal] = sym__string_literal, + [sym_null] = sym_null, + [sym_identifier] = sym_identifier, + [sym__empty_declaration] = sym__empty_declaration, + [sym_placeholder_type_specifier] = sym_placeholder_type_specifier, + [sym_decltype_auto] = sym_decltype, + [sym_decltype] = sym_decltype, + [sym__class_declaration] = sym__class_declaration, + [sym__class_declaration_item] = sym__class_declaration_item, + [sym_class_specifier] = sym_class_specifier, + [sym__class_name] = sym__class_name, + [sym_virtual_specifier] = sym_virtual_specifier, + [sym_explicit_function_specifier] = sym_explicit_function_specifier, + [sym_base_class_clause] = sym_base_class_clause, + [sym__enum_base_clause] = sym__enum_base_clause, + [sym_dependent_type] = sym_dependent_type, + [sym_template_declaration] = sym_template_declaration, + [sym_template_instantiation] = sym_template_instantiation, + [sym_template_parameter_list] = sym_template_parameter_list, + [sym_type_parameter_declaration] = sym_type_parameter_declaration, + [sym_variadic_type_parameter_declaration] = sym_variadic_type_parameter_declaration, + [sym_optional_type_parameter_declaration] = sym_optional_type_parameter_declaration, + [sym_template_template_parameter_declaration] = sym_template_template_parameter_declaration, + [sym_optional_parameter_declaration] = sym_optional_parameter_declaration, + [sym_variadic_parameter_declaration] = sym_variadic_parameter_declaration, + [sym_variadic_declarator] = sym_variadic_declarator, + [sym_variadic_reference_declarator] = sym_reference_declarator, + [sym_operator_cast] = sym_operator_cast, + [sym_field_initializer_list] = sym_field_initializer_list, + [sym_field_initializer] = sym_field_initializer, + [sym_inline_method_definition] = sym_function_definition, + [sym__constructor_specifiers] = sym__constructor_specifiers, + [sym_operator_cast_definition] = sym_function_definition, + [sym_operator_cast_declaration] = sym_declaration, + [sym_constructor_try_statement] = sym_try_statement, + [sym_constructor_or_destructor_definition] = sym_function_definition, + [sym_constructor_or_destructor_declaration] = sym_declaration, + [sym_default_method_clause] = sym_default_method_clause, + [sym_delete_method_clause] = sym_delete_method_clause, + [sym_pure_virtual_clause] = sym_pure_virtual_clause, + [sym_friend_declaration] = sym_friend_declaration, + [sym_access_specifier] = sym_access_specifier, + [sym_reference_declarator] = sym_reference_declarator, + [sym_reference_field_declarator] = sym_reference_declarator, + [sym_reference_type_declarator] = sym_reference_declarator, + [sym_abstract_reference_declarator] = sym_abstract_reference_declarator, + [sym_structured_binding_declarator] = sym_structured_binding_declarator, + [sym_ref_qualifier] = sym_ref_qualifier, + [sym__function_declarator_seq] = sym__function_declarator_seq, + [sym__function_attributes_start] = sym__function_attributes_start, + [sym__function_exception_specification] = sym__function_exception_specification, + [sym__function_attributes_end] = sym__function_attributes_end, + [sym__function_postfix] = sym__function_postfix, + [sym_trailing_return_type] = sym_trailing_return_type, + [sym_noexcept] = sym_noexcept, + [sym_throw_specifier] = sym_throw_specifier, + [sym_template_type] = sym_template_type, + [sym_template_method] = sym_template_method, + [sym_template_function] = sym_template_function, + [sym_template_argument_list] = sym_template_argument_list, + [sym_namespace_definition] = sym_namespace_definition, + [sym_namespace_alias_definition] = sym_namespace_alias_definition, + [sym__namespace_specifier] = sym__namespace_specifier, + [sym_nested_namespace_specifier] = sym_nested_namespace_specifier, + [sym_using_declaration] = sym_using_declaration, + [sym_alias_declaration] = sym_alias_declaration, + [sym_static_assert_declaration] = sym_static_assert_declaration, + [sym_concept_definition] = sym_concept_definition, + [sym_for_range_loop] = sym_for_range_loop, + [sym__for_range_loop_body] = sym__for_range_loop_body, + [sym_init_statement] = sym_init_statement, + [sym_condition_clause] = sym_condition_clause, + [sym_condition_declaration] = sym_declaration, + [sym_co_return_statement] = sym_co_return_statement, + [sym_co_yield_statement] = sym_co_yield_statement, + [sym_throw_statement] = sym_throw_statement, + [sym_try_statement] = sym_try_statement, + [sym_catch_clause] = sym_catch_clause, + [sym_raw_string_literal] = sym_raw_string_literal, + [sym_subscript_argument_list] = sym_subscript_argument_list, + [sym_co_await_expression] = sym_co_await_expression, + [sym_new_expression] = sym_new_expression, + [sym_new_declarator] = sym_new_declarator, + [sym_delete_expression] = sym_delete_expression, + [sym_type_requirement] = sym_type_requirement, + [sym_compound_requirement] = sym_compound_requirement, + [sym__requirement] = sym__requirement, + [sym_requirement_seq] = sym_requirement_seq, + [sym_constraint_conjunction] = sym_constraint_conjunction, + [sym_constraint_disjunction] = sym_constraint_disjunction, + [sym__requirement_clause_constraint] = sym__requirement_clause_constraint, + [sym_requires_clause] = sym_requires_clause, + [sym_requires_parameter_list] = sym_parameter_list, + [sym_requires_expression] = sym_requires_expression, + [sym_lambda_expression] = sym_lambda_expression, + [sym_lambda_capture_specifier] = sym_lambda_capture_specifier, + [sym_lambda_default_capture] = sym_lambda_default_capture, + [sym__fold_operator] = sym__fold_operator, + [sym__binary_fold_operator] = sym__binary_fold_operator, + [sym__unary_left_fold] = sym__unary_left_fold, + [sym__unary_right_fold] = sym__unary_right_fold, + [sym__binary_fold] = sym__binary_fold, + [sym_fold_expression] = sym_fold_expression, + [sym_parameter_pack_expansion] = sym_parameter_pack_expansion, + [sym_type_parameter_pack_expansion] = sym_parameter_pack_expansion, + [sym_destructor_name] = sym_destructor_name, + [sym_dependent_identifier] = sym_dependent_identifier, + [sym_dependent_field_identifier] = sym_dependent_identifier, + [sym_dependent_type_identifier] = sym_dependent_identifier, + [sym__scope_resolution] = sym__scope_resolution, + [sym_qualified_field_identifier] = sym_qualified_identifier, + [sym_qualified_identifier] = sym_qualified_identifier, + [sym_qualified_type_identifier] = sym_qualified_identifier, + [sym_qualified_operator_cast_identifier] = sym_qualified_identifier, + [sym__assignment_expression_lhs] = sym_assignment_expression, + [sym_operator_name] = sym_operator_name, + [sym_user_defined_literal] = sym_user_defined_literal, + [sym__user_defined_literal] = sym__user_defined_literal, + [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1, + [aux_sym_preproc_params_repeat1] = aux_sym_preproc_params_repeat1, + [aux_sym_preproc_if_repeat1] = aux_sym_preproc_if_repeat1, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = aux_sym_preproc_if_in_field_declaration_list_repeat1, + [aux_sym_preproc_if_in_enumerator_list_repeat1] = aux_sym_preproc_if_in_enumerator_list_repeat1, + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [aux_sym_preproc_argument_list_repeat1] = aux_sym_preproc_argument_list_repeat1, + [aux_sym_declaration_repeat1] = aux_sym_declaration_repeat1, + [aux_sym_type_definition_repeat1] = aux_sym_type_definition_repeat1, + [aux_sym__type_definition_type_repeat1] = aux_sym__type_definition_type_repeat1, + [aux_sym__type_definition_declarators_repeat1] = aux_sym__type_definition_declarators_repeat1, + [aux_sym__declaration_specifiers_repeat1] = aux_sym__declaration_specifiers_repeat1, + [aux_sym_attribute_declaration_repeat1] = aux_sym_attribute_declaration_repeat1, + [aux_sym_attributed_declarator_repeat1] = aux_sym_attributed_declarator_repeat1, + [aux_sym_pointer_declarator_repeat1] = aux_sym_pointer_declarator_repeat1, + [aux_sym_array_declarator_repeat1] = aux_sym_array_declarator_repeat1, + [aux_sym_sized_type_specifier_repeat1] = aux_sym_sized_type_specifier_repeat1, + [aux_sym_enumerator_list_repeat1] = aux_sym_enumerator_list_repeat1, + [aux_sym_field_declaration_repeat1] = aux_sym_field_declaration_repeat1, + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, + [aux_sym_case_statement_repeat1] = aux_sym_case_statement_repeat1, + [aux_sym_generic_expression_repeat1] = aux_sym_generic_expression_repeat1, + [aux_sym_gnu_asm_expression_repeat1] = aux_sym_gnu_asm_expression_repeat1, + [aux_sym_gnu_asm_output_operand_list_repeat1] = aux_sym_gnu_asm_output_operand_list_repeat1, + [aux_sym_gnu_asm_input_operand_list_repeat1] = aux_sym_gnu_asm_input_operand_list_repeat1, + [aux_sym_gnu_asm_clobber_list_repeat1] = aux_sym_gnu_asm_clobber_list_repeat1, + [aux_sym_gnu_asm_goto_list_repeat1] = aux_sym_gnu_asm_goto_list_repeat1, + [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1, + [aux_sym_initializer_list_repeat1] = aux_sym_initializer_list_repeat1, + [aux_sym_initializer_pair_repeat1] = aux_sym_initializer_pair_repeat1, + [aux_sym__char_literal_repeat1] = aux_sym__char_literal_repeat1, + [aux_sym_concatenated_string_repeat1] = aux_sym_concatenated_string_repeat1, + [aux_sym__string_literal_repeat1] = aux_sym__string_literal_repeat1, + [aux_sym__class_declaration_repeat1] = aux_sym__class_declaration_repeat1, + [aux_sym_base_class_clause_repeat1] = aux_sym_base_class_clause_repeat1, + [aux_sym_template_parameter_list_repeat1] = aux_sym_template_parameter_list_repeat1, + [aux_sym_field_initializer_list_repeat1] = aux_sym_field_initializer_list_repeat1, + [aux_sym_operator_cast_definition_repeat1] = aux_sym_operator_cast_definition_repeat1, + [aux_sym_constructor_try_statement_repeat1] = aux_sym_constructor_try_statement_repeat1, + [aux_sym_structured_binding_declarator_repeat1] = aux_sym_structured_binding_declarator_repeat1, + [aux_sym__function_postfix_repeat1] = aux_sym__function_postfix_repeat1, + [aux_sym_throw_specifier_repeat1] = aux_sym_throw_specifier_repeat1, + [aux_sym_template_argument_list_repeat1] = aux_sym_template_argument_list_repeat1, + [aux_sym_subscript_argument_list_repeat1] = aux_sym_subscript_argument_list_repeat1, + [aux_sym_requirement_seq_repeat1] = aux_sym_requirement_seq_repeat1, + [aux_sym_requires_parameter_list_repeat1] = aux_sym_requires_parameter_list_repeat1, + [aux_sym_lambda_capture_specifier_repeat1] = aux_sym_lambda_capture_specifier_repeat1, + [alias_sym_field_identifier] = alias_sym_field_identifier, + [alias_sym_namespace_identifier] = alias_sym_namespace_identifier, + [alias_sym_simple_requirement] = alias_sym_simple_requirement, + [alias_sym_statement_identifier] = alias_sym_statement_identifier, + [alias_sym_type_identifier] = alias_sym_type_identifier, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym__identifier] = { + .visible = false, + .named = true, + }, + [aux_sym_preproc_include_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_include_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_def_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LF] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_else_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elif_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elifdef_token2] = { + .visible = true, + .named = false, + }, + [sym_preproc_arg] = { + .visible = true, + .named = true, + }, + [sym_preproc_directive] = { + .visible = true, + .named = true, + }, + [anon_sym_LPAREN2] = { + .visible = true, + .named = false, + }, + [anon_sym_defined] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_TILDE] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym___extension__] = { + .visible = true, + .named = false, + }, + [anon_sym_typedef] = { + .visible = true, + .named = false, + }, + [anon_sym_extern] = { + .visible = true, + .named = false, + }, + [anon_sym___attribute__] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym___declspec] = { + .visible = true, + .named = false, + }, + [anon_sym___based] = { + .visible = true, + .named = false, + }, + [anon_sym___cdecl] = { + .visible = true, + .named = false, + }, + [anon_sym___clrcall] = { + .visible = true, + .named = false, + }, + [anon_sym___stdcall] = { + .visible = true, + .named = false, + }, + [anon_sym___fastcall] = { + .visible = true, + .named = false, + }, + [anon_sym___thiscall] = { + .visible = true, + .named = false, + }, + [anon_sym___vectorcall] = { + .visible = true, + .named = false, + }, + [sym_ms_restrict_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unsigned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_signed_ptr_modifier] = { + .visible = true, + .named = true, + }, + [anon_sym__unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym___unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_signed] = { + .visible = true, + .named = false, + }, + [anon_sym_unsigned] = { + .visible = true, + .named = false, + }, + [anon_sym_long] = { + .visible = true, + .named = false, + }, + [anon_sym_short] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_static] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_register] = { + .visible = true, + .named = false, + }, + [anon_sym_inline] = { + .visible = true, + .named = false, + }, + [anon_sym___inline] = { + .visible = true, + .named = false, + }, + [anon_sym___inline__] = { + .visible = true, + .named = false, + }, + [anon_sym___forceinline] = { + .visible = true, + .named = false, + }, + [anon_sym_thread_local] = { + .visible = true, + .named = false, + }, + [anon_sym___thread] = { + .visible = true, + .named = false, + }, + [anon_sym_const] = { + .visible = true, + .named = false, + }, + [anon_sym_constexpr] = { + .visible = true, + .named = false, + }, + [anon_sym_volatile] = { + .visible = true, + .named = false, + }, + [anon_sym_restrict] = { + .visible = true, + .named = false, + }, + [anon_sym___restrict__] = { + .visible = true, + .named = false, + }, + [anon_sym__Atomic] = { + .visible = true, + .named = false, + }, + [anon_sym__Noreturn] = { + .visible = true, + .named = false, + }, + [anon_sym_noreturn] = { + .visible = true, + .named = false, + }, + [anon_sym_mutable] = { + .visible = true, + .named = false, + }, + [anon_sym_constinit] = { + .visible = true, + .named = false, + }, + [anon_sym_consteval] = { + .visible = true, + .named = false, + }, + [anon_sym_alignas] = { + .visible = true, + .named = false, + }, + [anon_sym__Alignas] = { + .visible = true, + .named = false, + }, + [sym_primitive_type] = { + .visible = true, + .named = true, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_class] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_union] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_switch] = { + .visible = true, + .named = false, + }, + [anon_sym_case] = { + .visible = true, + .named = false, + }, + [anon_sym_default] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_do] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_break] = { + .visible = true, + .named = false, + }, + [anon_sym_continue] = { + .visible = true, + .named = false, + }, + [anon_sym_goto] = { + .visible = true, + .named = false, + }, + [anon_sym___try] = { + .visible = true, + .named = false, + }, + [anon_sym___except] = { + .visible = true, + .named = false, + }, + [anon_sym___finally] = { + .visible = true, + .named = false, + }, + [anon_sym___leave] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_and_eq] = { + .visible = true, + .named = false, + }, + [anon_sym_or_eq] = { + .visible = true, + .named = false, + }, + [anon_sym_xor_eq] = { + .visible = true, + .named = false, + }, + [anon_sym_not] = { + .visible = true, + .named = false, + }, + [anon_sym_compl] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_or] = { + .visible = true, + .named = false, + }, + [anon_sym_and] = { + .visible = true, + .named = false, + }, + [anon_sym_bitor] = { + .visible = true, + .named = false, + }, + [anon_sym_xor] = { + .visible = true, + .named = false, + }, + [anon_sym_bitand] = { + .visible = true, + .named = false, + }, + [anon_sym_not_eq] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_sizeof] = { + .visible = true, + .named = false, + }, + [anon_sym___alignof__] = { + .visible = true, + .named = false, + }, + [anon_sym___alignof] = { + .visible = true, + .named = false, + }, + [anon_sym__alignof] = { + .visible = true, + .named = false, + }, + [anon_sym_alignof] = { + .visible = true, + .named = false, + }, + [anon_sym__Alignof] = { + .visible = true, + .named = false, + }, + [anon_sym_offsetof] = { + .visible = true, + .named = false, + }, + [anon_sym__Generic] = { + .visible = true, + .named = false, + }, + [anon_sym_asm] = { + .visible = true, + .named = false, + }, + [anon_sym___asm__] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym__number_literal] = { + .visible = false, + .named = true, + }, + [anon_sym_L_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__char_literal_token1] = { + .visible = true, + .named = true, + }, + [anon_sym_L_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__string_literal_token1] = { + .visible = true, + .named = true, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [sym_system_lib_string] = { + .visible = true, + .named = true, + }, + [sym_true] = { + .visible = true, + .named = true, + }, + [sym_false] = { + .visible = true, + .named = true, + }, + [anon_sym_NULL] = { + .visible = true, + .named = false, + }, + [anon_sym_nullptr] = { + .visible = true, + .named = false, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_grit_metavariable] = { + .visible = true, + .named = true, + }, + [sym_auto] = { + .visible = true, + .named = true, + }, + [anon_sym_decltype] = { + .visible = true, + .named = false, + }, + [anon_sym_final] = { + .visible = true, + .named = false, + }, + [anon_sym_override] = { + .visible = true, + .named = false, + }, + [sym_virtual] = { + .visible = true, + .named = true, + }, + [anon_sym_explicit] = { + .visible = true, + .named = false, + }, + [anon_sym_typename] = { + .visible = true, + .named = false, + }, + [anon_sym_template] = { + .visible = true, + .named = false, + }, + [anon_sym_GT2] = { + .visible = true, + .named = false, + }, + [anon_sym_operator] = { + .visible = true, + .named = false, + }, + [anon_sym_try] = { + .visible = true, + .named = false, + }, + [anon_sym_delete] = { + .visible = true, + .named = false, + }, + [anon_sym_0] = { + .visible = true, + .named = false, + }, + [anon_sym_friend] = { + .visible = true, + .named = false, + }, + [anon_sym_public] = { + .visible = true, + .named = false, + }, + [anon_sym_private] = { + .visible = true, + .named = false, + }, + [anon_sym_protected] = { + .visible = true, + .named = false, + }, + [anon_sym_noexcept] = { + .visible = true, + .named = false, + }, + [anon_sym_throw] = { + .visible = true, + .named = false, + }, + [anon_sym_namespace] = { + .visible = true, + .named = false, + }, + [anon_sym_using] = { + .visible = true, + .named = false, + }, + [anon_sym_static_assert] = { + .visible = true, + .named = false, + }, + [anon_sym_concept] = { + .visible = true, + .named = false, + }, + [anon_sym_co_return] = { + .visible = true, + .named = false, + }, + [anon_sym_co_yield] = { + .visible = true, + .named = false, + }, + [anon_sym_catch] = { + .visible = true, + .named = false, + }, + [anon_sym_R_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_LR_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_uR_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_UR_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8R_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_co_await] = { + .visible = true, + .named = false, + }, + [anon_sym_new] = { + .visible = true, + .named = false, + }, + [anon_sym_requires] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE_DQUOTE] = { + .visible = true, + .named = false, + }, + [sym_this] = { + .visible = true, + .named = true, + }, + [sym_literal_suffix] = { + .visible = true, + .named = true, + }, + [sym_raw_string_delimiter] = { + .visible = true, + .named = true, + }, + [sym_raw_string_content] = { + .visible = true, + .named = true, + }, + [sym_translation_unit] = { + .visible = true, + .named = true, + }, + [sym__top_level_item] = { + .visible = false, + .named = true, + }, + [sym__block_item] = { + .visible = false, + .named = true, + }, + [sym_preproc_include] = { + .visible = true, + .named = true, + }, + [sym_preproc_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_function_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_params] = { + .visible = true, + .named = true, + }, + [sym_preproc_call] = { + .visible = true, + .named = true, + }, + [sym_preproc_if] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_else] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym_preproc_elifdef_in_enumerator_list_no_comma] = { + .visible = true, + .named = true, + }, + [sym__preproc_expression] = { + .visible = false, + .named = true, + }, + [sym_preproc_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_defined] = { + .visible = true, + .named = true, + }, + [sym_preproc_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_call_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_argument_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_function_definition] = { + .visible = true, + .named = true, + }, + [sym_declaration] = { + .visible = true, + .named = true, + }, + [sym_type_definition] = { + .visible = true, + .named = true, + }, + [sym__type_definition_type] = { + .visible = false, + .named = true, + }, + [sym__type_definition_declarators] = { + .visible = false, + .named = true, + }, + [sym__declaration_modifiers] = { + .visible = false, + .named = true, + }, + [sym__declaration_specifiers] = { + .visible = false, + .named = true, + }, + [sym_linkage_specification] = { + .visible = true, + .named = true, + }, + [sym_attribute_specifier] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_declaration] = { + .visible = true, + .named = true, + }, + [sym_ms_declspec_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_based_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_call_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unaligned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_pointer_modifier] = { + .visible = true, + .named = true, + }, + [sym_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__field_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__type_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__abstract_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_init_declarator] = { + .visible = true, + .named = true, + }, + [sym_compound_statement] = { + .visible = true, + .named = true, + }, + [sym_storage_class_specifier] = { + .visible = true, + .named = true, + }, + [sym_type_qualifier] = { + .visible = true, + .named = true, + }, + [sym_alignas_qualifier] = { + .visible = true, + .named = true, + }, + [sym_type_specifier] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_sized_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_enum_specifier] = { + .visible = true, + .named = true, + }, + [sym_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_struct_specifier] = { + .visible = true, + .named = true, + }, + [sym_union_specifier] = { + .visible = true, + .named = true, + }, + [sym_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__field_declaration_list_item] = { + .visible = false, + .named = true, + }, + [sym_field_declaration] = { + .visible = true, + .named = true, + }, + [sym_bitfield_clause] = { + .visible = true, + .named = true, + }, + [sym_enumerator] = { + .visible = true, + .named = true, + }, + [sym_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_attributed_statement] = { + .visible = true, + .named = true, + }, + [sym_statement] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__top_level_statement] = { + .visible = false, + .named = true, + }, + [sym_labeled_statement] = { + .visible = true, + .named = true, + }, + [sym__top_level_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_if_statement] = { + .visible = true, + .named = true, + }, + [sym_else_clause] = { + .visible = true, + .named = true, + }, + [sym_switch_statement] = { + .visible = true, + .named = true, + }, + [sym_case_statement] = { + .visible = true, + .named = true, + }, + [sym_while_statement] = { + .visible = true, + .named = true, + }, + [sym_do_statement] = { + .visible = true, + .named = true, + }, + [sym_for_statement] = { + .visible = true, + .named = true, + }, + [sym__for_statement_body] = { + .visible = false, + .named = true, + }, + [sym_return_statement] = { + .visible = true, + .named = true, + }, + [sym_break_statement] = { + .visible = true, + .named = true, + }, + [sym_continue_statement] = { + .visible = true, + .named = true, + }, + [sym_goto_statement] = { + .visible = true, + .named = true, + }, + [sym_seh_try_statement] = { + .visible = true, + .named = true, + }, + [sym_seh_except_clause] = { + .visible = true, + .named = true, + }, + [sym_seh_finally_clause] = { + .visible = true, + .named = true, + }, + [sym_seh_leave_statement] = { + .visible = true, + .named = true, + }, + [sym_expression] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__string] = { + .visible = false, + .named = true, + }, + [sym_comma_expression] = { + .visible = true, + .named = true, + }, + [sym_conditional_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment_expression] = { + .visible = true, + .named = true, + }, + [sym_pointer_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_update_expression] = { + .visible = true, + .named = true, + }, + [sym_cast_expression] = { + .visible = true, + .named = true, + }, + [sym_type_descriptor] = { + .visible = true, + .named = true, + }, + [sym_sizeof_expression] = { + .visible = true, + .named = true, + }, + [sym_alignof_expression] = { + .visible = true, + .named = true, + }, + [sym_offsetof_expression] = { + .visible = true, + .named = true, + }, + [sym_generic_expression] = { + .visible = true, + .named = true, + }, + [sym_subscript_expression] = { + .visible = true, + .named = true, + }, + [sym_call_expression] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_expression] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_qualifier] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_output_operand_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_output_operand] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_input_operand_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_input_operand] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_clobber_list] = { + .visible = true, + .named = true, + }, + [sym_gnu_asm_goto_list] = { + .visible = true, + .named = true, + }, + [sym_argument_list] = { + .visible = true, + .named = true, + }, + [sym_field_expression] = { + .visible = true, + .named = true, + }, + [sym_compound_literal_expression] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_initializer_pair] = { + .visible = true, + .named = true, + }, + [sym_subscript_designator] = { + .visible = true, + .named = true, + }, + [sym_subscript_range_designator] = { + .visible = true, + .named = true, + }, + [sym_field_designator] = { + .visible = true, + .named = true, + }, + [sym_number_literal] = { + .visible = true, + .named = true, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym__char_literal] = { + .visible = false, + .named = true, + }, + [sym_concatenated_string] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym__string_literal] = { + .visible = false, + .named = true, + }, + [sym_null] = { + .visible = true, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [sym__empty_declaration] = { + .visible = false, + .named = true, + }, + [sym_placeholder_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_decltype_auto] = { + .visible = true, + .named = true, + }, + [sym_decltype] = { + .visible = true, + .named = true, + }, + [sym__class_declaration] = { + .visible = false, + .named = true, + }, + [sym__class_declaration_item] = { + .visible = false, + .named = true, + }, + [sym_class_specifier] = { + .visible = true, + .named = true, + }, + [sym__class_name] = { + .visible = false, + .named = true, + }, + [sym_virtual_specifier] = { + .visible = true, + .named = true, + }, + [sym_explicit_function_specifier] = { + .visible = true, + .named = true, + }, + [sym_base_class_clause] = { + .visible = true, + .named = true, + }, + [sym__enum_base_clause] = { + .visible = false, + .named = true, + }, + [sym_dependent_type] = { + .visible = true, + .named = true, + }, + [sym_template_declaration] = { + .visible = true, + .named = true, + }, + [sym_template_instantiation] = { + .visible = true, + .named = true, + }, + [sym_template_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_optional_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_template_template_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_optional_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_declarator] = { + .visible = true, + .named = true, + }, + [sym_variadic_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_operator_cast] = { + .visible = true, + .named = true, + }, + [sym_field_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_field_initializer] = { + .visible = true, + .named = true, + }, + [sym_inline_method_definition] = { + .visible = true, + .named = true, + }, + [sym__constructor_specifiers] = { + .visible = false, + .named = true, + }, + [sym_operator_cast_definition] = { + .visible = true, + .named = true, + }, + [sym_operator_cast_declaration] = { + .visible = true, + .named = true, + }, + [sym_constructor_try_statement] = { + .visible = true, + .named = true, + }, + [sym_constructor_or_destructor_definition] = { + .visible = true, + .named = true, + }, + [sym_constructor_or_destructor_declaration] = { + .visible = true, + .named = true, + }, + [sym_default_method_clause] = { + .visible = true, + .named = true, + }, + [sym_delete_method_clause] = { + .visible = true, + .named = true, + }, + [sym_pure_virtual_clause] = { + .visible = true, + .named = true, + }, + [sym_friend_declaration] = { + .visible = true, + .named = true, + }, + [sym_access_specifier] = { + .visible = true, + .named = true, + }, + [sym_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_reference_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_reference_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_structured_binding_declarator] = { + .visible = true, + .named = true, + }, + [sym_ref_qualifier] = { + .visible = true, + .named = true, + }, + [sym__function_declarator_seq] = { + .visible = false, + .named = true, + }, + [sym__function_attributes_start] = { + .visible = false, + .named = true, + }, + [sym__function_exception_specification] = { + .visible = false, + .named = true, + }, + [sym__function_attributes_end] = { + .visible = false, + .named = true, + }, + [sym__function_postfix] = { + .visible = false, + .named = true, + }, + [sym_trailing_return_type] = { + .visible = true, + .named = true, + }, + [sym_noexcept] = { + .visible = true, + .named = true, + }, + [sym_throw_specifier] = { + .visible = true, + .named = true, + }, + [sym_template_type] = { + .visible = true, + .named = true, + }, + [sym_template_method] = { + .visible = true, + .named = true, + }, + [sym_template_function] = { + .visible = true, + .named = true, + }, + [sym_template_argument_list] = { + .visible = true, + .named = true, + }, + [sym_namespace_definition] = { + .visible = true, + .named = true, + }, + [sym_namespace_alias_definition] = { + .visible = true, + .named = true, + }, + [sym__namespace_specifier] = { + .visible = false, + .named = true, + }, + [sym_nested_namespace_specifier] = { + .visible = true, + .named = true, + }, + [sym_using_declaration] = { + .visible = true, + .named = true, + }, + [sym_alias_declaration] = { + .visible = true, + .named = true, + }, + [sym_static_assert_declaration] = { + .visible = true, + .named = true, + }, + [sym_concept_definition] = { + .visible = true, + .named = true, + }, + [sym_for_range_loop] = { + .visible = true, + .named = true, + }, + [sym__for_range_loop_body] = { + .visible = false, + .named = true, + }, + [sym_init_statement] = { + .visible = true, + .named = true, + }, + [sym_condition_clause] = { + .visible = true, + .named = true, + }, + [sym_condition_declaration] = { + .visible = true, + .named = true, + }, + [sym_co_return_statement] = { + .visible = true, + .named = true, + }, + [sym_co_yield_statement] = { + .visible = true, + .named = true, + }, + [sym_throw_statement] = { + .visible = true, + .named = true, + }, + [sym_try_statement] = { + .visible = true, + .named = true, + }, + [sym_catch_clause] = { + .visible = true, + .named = true, + }, + [sym_raw_string_literal] = { + .visible = true, + .named = true, + }, + [sym_subscript_argument_list] = { + .visible = true, + .named = true, + }, + [sym_co_await_expression] = { + .visible = true, + .named = true, + }, + [sym_new_expression] = { + .visible = true, + .named = true, + }, + [sym_new_declarator] = { + .visible = true, + .named = true, + }, + [sym_delete_expression] = { + .visible = true, + .named = true, + }, + [sym_type_requirement] = { + .visible = true, + .named = true, + }, + [sym_compound_requirement] = { + .visible = true, + .named = true, + }, + [sym__requirement] = { + .visible = false, + .named = true, + }, + [sym_requirement_seq] = { + .visible = true, + .named = true, + }, + [sym_constraint_conjunction] = { + .visible = true, + .named = true, + }, + [sym_constraint_disjunction] = { + .visible = true, + .named = true, + }, + [sym__requirement_clause_constraint] = { + .visible = false, + .named = true, + }, + [sym_requires_clause] = { + .visible = true, + .named = true, + }, + [sym_requires_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_requires_expression] = { + .visible = true, + .named = true, + }, + [sym_lambda_expression] = { + .visible = true, + .named = true, + }, + [sym_lambda_capture_specifier] = { + .visible = true, + .named = true, + }, + [sym_lambda_default_capture] = { + .visible = true, + .named = true, + }, + [sym__fold_operator] = { + .visible = false, + .named = true, + }, + [sym__binary_fold_operator] = { + .visible = false, + .named = true, + }, + [sym__unary_left_fold] = { + .visible = false, + .named = true, + }, + [sym__unary_right_fold] = { + .visible = false, + .named = true, + }, + [sym__binary_fold] = { + .visible = false, + .named = true, + }, + [sym_fold_expression] = { + .visible = true, + .named = true, + }, + [sym_parameter_pack_expansion] = { + .visible = true, + .named = true, + }, + [sym_type_parameter_pack_expansion] = { + .visible = true, + .named = true, + }, + [sym_destructor_name] = { + .visible = true, + .named = true, + }, + [sym_dependent_identifier] = { + .visible = true, + .named = true, + }, + [sym_dependent_field_identifier] = { + .visible = true, + .named = true, + }, + [sym_dependent_type_identifier] = { + .visible = true, + .named = true, + }, + [sym__scope_resolution] = { + .visible = false, + .named = true, + }, + [sym_qualified_field_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_type_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_operator_cast_identifier] = { + .visible = true, + .named = true, + }, + [sym__assignment_expression_lhs] = { + .visible = true, + .named = true, + }, + [sym_operator_name] = { + .visible = true, + .named = true, + }, + [sym_user_defined_literal] = { + .visible = true, + .named = true, + }, + [sym__user_defined_literal] = { + .visible = false, + .named = true, + }, + [aux_sym_translation_unit_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_definition_type_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_definition_declarators_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__declaration_specifiers_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attributed_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_pointer_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_array_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_sized_type_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_case_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_generic_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_output_operand_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_input_operand_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_clobber_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_gnu_asm_goto_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_pair_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__char_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concatenated_string_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__class_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_base_class_clause_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_template_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_operator_cast_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_constructor_try_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_structured_binding_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__function_postfix_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_throw_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_template_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_subscript_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_requirement_seq_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_requires_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_lambda_capture_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_namespace_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_simple_requirement] = { + .visible = true, + .named = true, + }, + [alias_sym_statement_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_type_identifier] = { + .visible = true, + .named = true, + }, +}; + +enum ts_field_identifiers { + field_alternative = 1, + field_argument = 2, + field_arguments = 3, + field_assembly_code = 4, + field_base = 5, + field_body = 6, + field_captures = 7, + field_clobbers = 8, + field_condition = 9, + field_consequence = 10, + field_constraint = 11, + field_declarator = 12, + field_default_type = 13, + field_default_value = 14, + field_delimiter = 15, + field_designator = 16, + field_directive = 17, + field_end = 18, + field_field = 19, + field_filter = 20, + field_function = 21, + field_goto_labels = 22, + field_identifier = 23, + field_indices = 24, + field_initializer = 25, + field_input_operands = 26, + field_label = 27, + field_left = 28, + field_length = 29, + field_member = 30, + field_message = 31, + field_name = 32, + field_number_literal = 33, + field_operand = 34, + field_operator = 35, + field_output_operands = 36, + field_parameters = 37, + field_path = 38, + field_pattern = 39, + field_placement = 40, + field_prefix = 41, + field_register = 42, + field_requirements = 43, + field_right = 44, + field_scope = 45, + field_size = 46, + field_start = 47, + field_symbol = 48, + field_template_parameters = 49, + field_type = 50, + field_update = 51, + field_value = 52, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alternative] = "alternative", + [field_argument] = "argument", + [field_arguments] = "arguments", + [field_assembly_code] = "assembly_code", + [field_base] = "base", + [field_body] = "body", + [field_captures] = "captures", + [field_clobbers] = "clobbers", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_constraint] = "constraint", + [field_declarator] = "declarator", + [field_default_type] = "default_type", + [field_default_value] = "default_value", + [field_delimiter] = "delimiter", + [field_designator] = "designator", + [field_directive] = "directive", + [field_end] = "end", + [field_field] = "field", + [field_filter] = "filter", + [field_function] = "function", + [field_goto_labels] = "goto_labels", + [field_identifier] = "identifier", + [field_indices] = "indices", + [field_initializer] = "initializer", + [field_input_operands] = "input_operands", + [field_label] = "label", + [field_left] = "left", + [field_length] = "length", + [field_member] = "member", + [field_message] = "message", + [field_name] = "name", + [field_number_literal] = "number_literal", + [field_operand] = "operand", + [field_operator] = "operator", + [field_output_operands] = "output_operands", + [field_parameters] = "parameters", + [field_path] = "path", + [field_pattern] = "pattern", + [field_placement] = "placement", + [field_prefix] = "prefix", + [field_register] = "register", + [field_requirements] = "requirements", + [field_right] = "right", + [field_scope] = "scope", + [field_size] = "size", + [field_start] = "start", + [field_symbol] = "symbol", + [field_template_parameters] = "template_parameters", + [field_type] = "type", + [field_update] = "update", + [field_value] = "value", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 1}, + [2] = {.index = 1, .length = 1}, + [3] = {.index = 2, .length = 1}, + [5] = {.index = 3, .length = 1}, + [6] = {.index = 4, .length = 2}, + [7] = {.index = 6, .length = 1}, + [8] = {.index = 7, .length = 1}, + [9] = {.index = 8, .length = 2}, + [10] = {.index = 10, .length = 2}, + [11] = {.index = 12, .length = 1}, + [12] = {.index = 13, .length = 1}, + [13] = {.index = 14, .length = 1}, + [14] = {.index = 15, .length = 2}, + [15] = {.index = 17, .length = 2}, + [16] = {.index = 19, .length = 1}, + [18] = {.index = 20, .length = 1}, + [19] = {.index = 21, .length = 1}, + [20] = {.index = 22, .length = 1}, + [21] = {.index = 23, .length = 1}, + [22] = {.index = 24, .length = 2}, + [23] = {.index = 26, .length = 2}, + [24] = {.index = 28, .length = 1}, + [25] = {.index = 29, .length = 1}, + [26] = {.index = 30, .length = 1}, + [27] = {.index = 31, .length = 2}, + [28] = {.index = 33, .length = 2}, + [29] = {.index = 35, .length = 1}, + [30] = {.index = 36, .length = 2}, + [31] = {.index = 36, .length = 2}, + [32] = {.index = 2, .length = 1}, + [33] = {.index = 35, .length = 1}, + [34] = {.index = 38, .length = 2}, + [35] = {.index = 40, .length = 1}, + [36] = {.index = 41, .length = 2}, + [37] = {.index = 41, .length = 2}, + [38] = {.index = 20, .length = 1}, + [39] = {.index = 43, .length = 1}, + [40] = {.index = 44, .length = 2}, + [41] = {.index = 46, .length = 2}, + [42] = {.index = 48, .length = 3}, + [43] = {.index = 51, .length = 1}, + [46] = {.index = 52, .length = 2}, + [47] = {.index = 54, .length = 1}, + [48] = {.index = 55, .length = 1}, + [49] = {.index = 56, .length = 1}, + [50] = {.index = 57, .length = 2}, + [51] = {.index = 59, .length = 2}, + [52] = {.index = 61, .length = 2}, + [53] = {.index = 63, .length = 2}, + [54] = {.index = 65, .length = 2}, + [55] = {.index = 67, .length = 1}, + [56] = {.index = 68, .length = 1}, + [57] = {.index = 69, .length = 1}, + [58] = {.index = 70, .length = 2}, + [60] = {.index = 57, .length = 2}, + [61] = {.index = 72, .length = 2}, + [62] = {.index = 74, .length = 2}, + [63] = {.index = 76, .length = 2}, + [65] = {.index = 78, .length = 2}, + [66] = {.index = 80, .length = 2}, + [67] = {.index = 82, .length = 3}, + [68] = {.index = 85, .length = 2}, + [69] = {.index = 87, .length = 2}, + [70] = {.index = 89, .length = 3}, + [71] = {.index = 92, .length = 3}, + [72] = {.index = 92, .length = 3}, + [73] = {.index = 95, .length = 1}, + [74] = {.index = 96, .length = 3}, + [75] = {.index = 99, .length = 3}, + [76] = {.index = 102, .length = 3}, + [77] = {.index = 105, .length = 2}, + [78] = {.index = 107, .length = 2}, + [79] = {.index = 109, .length = 2}, + [80] = {.index = 111, .length = 1}, + [81] = {.index = 112, .length = 2}, + [82] = {.index = 114, .length = 2}, + [83] = {.index = 116, .length = 2}, + [84] = {.index = 118, .length = 3}, + [85] = {.index = 121, .length = 2}, + [86] = {.index = 123, .length = 1}, + [87] = {.index = 124, .length = 2}, + [88] = {.index = 126, .length = 2}, + [89] = {.index = 128, .length = 2}, + [90] = {.index = 130, .length = 2}, + [91] = {.index = 132, .length = 2}, + [92] = {.index = 134, .length = 2}, + [93] = {.index = 136, .length = 2}, + [94] = {.index = 138, .length = 1}, + [95] = {.index = 139, .length = 2}, + [96] = {.index = 139, .length = 2}, + [98] = {.index = 141, .length = 2}, + [99] = {.index = 143, .length = 1}, + [100] = {.index = 143, .length = 1}, + [101] = {.index = 144, .length = 3}, + [103] = {.index = 147, .length = 2}, + [104] = {.index = 149, .length = 2}, + [105] = {.index = 151, .length = 2}, + [106] = {.index = 153, .length = 3}, + [107] = {.index = 156, .length = 1}, + [108] = {.index = 157, .length = 1}, + [110] = {.index = 158, .length = 3}, + [111] = {.index = 161, .length = 3}, + [112] = {.index = 164, .length = 3}, + [113] = {.index = 167, .length = 3}, + [114] = {.index = 170, .length = 2}, + [115] = {.index = 172, .length = 3}, + [116] = {.index = 175, .length = 3}, + [117] = {.index = 178, .length = 2}, + [118] = {.index = 180, .length = 3}, + [119] = {.index = 183, .length = 2}, + [120] = {.index = 36, .length = 2}, + [121] = {.index = 41, .length = 2}, + [122] = {.index = 185, .length = 2}, + [123] = {.index = 187, .length = 2}, + [124] = {.index = 189, .length = 1}, + [125] = {.index = 190, .length = 4}, + [126] = {.index = 194, .length = 4}, + [127] = {.index = 198, .length = 2}, + [128] = {.index = 200, .length = 3}, + [129] = {.index = 203, .length = 2}, + [130] = {.index = 205, .length = 2}, + [131] = {.index = 207, .length = 1}, + [132] = {.index = 208, .length = 2}, + [133] = {.index = 210, .length = 2}, + [134] = {.index = 212, .length = 3}, + [135] = {.index = 215, .length = 3}, + [136] = {.index = 218, .length = 3}, + [137] = {.index = 221, .length = 2}, + [138] = {.index = 221, .length = 2}, + [139] = {.index = 223, .length = 2}, + [140] = {.index = 223, .length = 2}, + [141] = {.index = 225, .length = 2}, + [142] = {.index = 227, .length = 3}, + [143] = {.index = 230, .length = 2}, + [144] = {.index = 232, .length = 2}, + [145] = {.index = 234, .length = 3}, + [146] = {.index = 237, .length = 2}, + [147] = {.index = 239, .length = 3}, + [148] = {.index = 242, .length = 2}, + [149] = {.index = 244, .length = 1}, + [150] = {.index = 245, .length = 2}, + [151] = {.index = 247, .length = 2}, + [152] = {.index = 249, .length = 4}, + [153] = {.index = 253, .length = 5}, + [154] = {.index = 258, .length = 1}, + [155] = {.index = 259, .length = 1}, + [156] = {.index = 260, .length = 2}, + [157] = {.index = 262, .length = 1}, + [159] = {.index = 263, .length = 1}, + [160] = {.index = 264, .length = 2}, + [161] = {.index = 266, .length = 2}, + [162] = {.index = 13, .length = 1}, + [163] = {.index = 13, .length = 1}, + [164] = {.index = 268, .length = 2}, + [165] = {.index = 270, .length = 1}, + [166] = {.index = 271, .length = 1}, + [167] = {.index = 272, .length = 4}, + [168] = {.index = 276, .length = 2}, + [169] = {.index = 278, .length = 4}, + [170] = {.index = 282, .length = 1}, + [171] = {.index = 283, .length = 3}, + [172] = {.index = 286, .length = 2}, + [173] = {.index = 288, .length = 3}, + [174] = {.index = 291, .length = 1}, + [175] = {.index = 292, .length = 5}, + [176] = {.index = 297, .length = 2}, + [177] = {.index = 299, .length = 2}, + [178] = {.index = 301, .length = 4}, + [179] = {.index = 305, .length = 2}, + [180] = {.index = 307, .length = 3}, + [181] = {.index = 310, .length = 4}, + [182] = {.index = 314, .length = 4}, + [183] = {.index = 318, .length = 3}, + [184] = {.index = 321, .length = 2}, + [185] = {.index = 323, .length = 3}, + [186] = {.index = 326, .length = 3}, + [187] = {.index = 329, .length = 2}, + [188] = {.index = 331, .length = 2}, + [189] = {.index = 333, .length = 2}, + [190] = {.index = 335, .length = 2}, + [191] = {.index = 337, .length = 3}, + [192] = {.index = 340, .length = 2}, + [193] = {.index = 342, .length = 2}, + [194] = {.index = 344, .length = 3}, + [195] = {.index = 347, .length = 2}, + [196] = {.index = 349, .length = 2}, + [197] = {.index = 351, .length = 2}, + [198] = {.index = 353, .length = 4}, + [199] = {.index = 357, .length = 5}, + [200] = {.index = 362, .length = 3}, + [201] = {.index = 365, .length = 4}, + [202] = {.index = 369, .length = 2}, + [203] = {.index = 371, .length = 1}, + [204] = {.index = 372, .length = 4}, + [205] = {.index = 376, .length = 3}, + [206] = {.index = 379, .length = 2}, + [207] = {.index = 381, .length = 1}, + [208] = {.index = 382, .length = 5}, + [209] = {.index = 387, .length = 2}, + [210] = {.index = 389, .length = 2}, + [211] = {.index = 67, .length = 1}, + [212] = {.index = 391, .length = 5}, + [213] = {.index = 396, .length = 4}, + [214] = {.index = 400, .length = 2}, + [215] = {.index = 402, .length = 2}, + [216] = {.index = 404, .length = 5}, + [217] = {.index = 409, .length = 2}, + [218] = {.index = 411, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_number_literal, 0}, + [1] = + {field_identifier, 0}, + [2] = + {field_type, 0}, + [3] = + {field_directive, 0}, + [4] = + {field_argument, 1}, + {field_operator, 0}, + [6] = + {field_declarator, 1}, + [7] = + {field_name, 0}, + [8] = + {field_arguments, 1}, + {field_function, 0}, + [10] = + {field_type, 0}, + {field_value, 1}, + [12] = + {field_body, 1}, + [13] = + {field_name, 1}, + [14] = + {field_body, 0}, + [15] = + {field_body, 1, .inherited = true}, + {field_name, 1, .inherited = true}, + [17] = + {field_body, 0, .inherited = true}, + {field_name, 0, .inherited = true}, + [19] = + {field_value, 1}, + [20] = + {field_type, 1}, + [21] = + {field_requirements, 1}, + [22] = + {field_constraint, 1}, + [23] = + {field_parameters, 0}, + [24] = + {field_declarator, 0}, + {field_parameters, 1, .inherited = true}, + [26] = + {field_body, 1}, + {field_declarator, 0}, + [28] = + {field_declarator, 0}, + [29] = + {field_constraint, 0}, + [30] = + {field_pattern, 0}, + [31] = + {field_argument, 0}, + {field_operator, 1}, + [33] = + {field_argument, 0}, + {field_indices, 1}, + [35] = + {field_scope, 0}, + [36] = + {field_arguments, 1}, + {field_name, 0}, + [38] = + {field_body, 1}, + {field_captures, 0}, + [40] = + {field_parameters, 0, .inherited = true}, + [41] = + {field_name, 1}, + {field_scope, 0, .inherited = true}, + [43] = + {field_path, 1}, + [44] = + {field_argument, 1}, + {field_directive, 0}, + [46] = + {field_declarator, 1}, + {field_type, 0}, + [48] = + {field_left, 1, .inherited = true}, + {field_operator, 1, .inherited = true}, + {field_right, 1, .inherited = true}, + [51] = + {field_declarator, 2}, + [52] = + {field_body, 2}, + {field_value, 1}, + [54] = + {field_type, 2}, + [55] = + {field_body, 2}, + [56] = + {field_name, 2}, + [57] = + {field_body, 2}, + {field_name, 1}, + [59] = + {field_base, 2, .inherited = true}, + {field_name, 1}, + [61] = + {field_body, 1}, + {field_name, 0}, + [63] = + {field_condition, 1}, + {field_consequence, 2}, + [65] = + {field_body, 2}, + {field_condition, 1}, + [67] = + {field_label, 1}, + [68] = + {field_type, 0, .inherited = true}, + [69] = + {field_parameters, 1}, + [70] = + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [72] = + {field_arguments, 2}, + {field_type, 1}, + [74] = + {field_declarator, 2}, + {field_type, 1}, + [76] = + {field_placement, 1}, + {field_type, 2}, + [78] = + {field_parameters, 1}, + {field_requirements, 2}, + [80] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [82] = + {field_body, 2}, + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [85] = + {field_declarator, 0}, + {field_value, 1}, + [87] = + {field_body, 2}, + {field_declarator, 0}, + [89] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [92] = + {field_argument, 0}, + {field_field, 2}, + {field_operator, 1}, + [95] = + {field_label, 0}, + [96] = + {field_body, 2}, + {field_captures, 0}, + {field_declarator, 1}, + [99] = + {field_body, 2}, + {field_captures, 0}, + {field_template_parameters, 1}, + [102] = + {field_name, 1}, + {field_name, 2}, + {field_scope, 0, .inherited = true}, + [105] = + {field_body, 2}, + {field_declarator, 1}, + [107] = + {field_name, 1}, + {field_value, 2}, + [109] = + {field_name, 1}, + {field_parameters, 2}, + [111] = + {field_condition, 1}, + [112] = + {field_alternative, 2}, + {field_name, 1}, + [114] = + {field_declarator, 2}, + {field_type, 0}, + [116] = + {field_left, 0}, + {field_right, 2}, + [118] = + {field_left, 0}, + {field_operator, 1, .inherited = true}, + {field_right, 2}, + [121] = + {field_type, 1}, + {field_value, 3}, + [123] = + {field_declarator, 3}, + [124] = + {field_declarator, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [126] = + {field_declarator, 0}, + {field_parameters, 1}, + [128] = + {field_declarator, 0}, + {field_declarator, 1, .inherited = true}, + [130] = + {field_arguments, 3}, + {field_type, 2}, + [132] = + {field_declarator, 3}, + {field_type, 2}, + [134] = + {field_placement, 2}, + {field_type, 3}, + [136] = + {field_name, 2}, + {field_prefix, 0}, + [138] = + {field_body, 3}, + [139] = + {field_body, 3}, + {field_name, 2}, + [141] = + {field_base, 3, .inherited = true}, + {field_name, 2}, + [143] = + {field_base, 1}, + [144] = + {field_base, 2, .inherited = true}, + {field_body, 3}, + {field_name, 1}, + [147] = + {field_body, 2, .inherited = true}, + {field_name, 2, .inherited = true}, + [149] = + {field_body, 2}, + {field_name, 0}, + [151] = + {field_condition, 2}, + {field_consequence, 3}, + [153] = + {field_alternative, 3}, + {field_condition, 1}, + {field_consequence, 2}, + [156] = + {field_initializer, 0}, + [157] = + {field_assembly_code, 2}, + [158] = + {field_arguments, 3}, + {field_declarator, 2}, + {field_type, 1}, + [161] = + {field_arguments, 3}, + {field_placement, 1}, + {field_type, 2}, + [164] = + {field_declarator, 3}, + {field_placement, 1}, + {field_type, 2}, + [167] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [170] = + {field_declarator, 0}, + {field_value, 2}, + [172] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [175] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [178] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + [180] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [183] = + {field_declarator, 0}, + {field_size, 2}, + [185] = + {field_alternative, 3}, + {field_condition, 0}, + [187] = + {field_declarator, 0}, + {field_default_value, 2}, + [189] = + {field_size, 1}, + [190] = + {field_body, 3}, + {field_captures, 0}, + {field_declarator, 2}, + {field_template_parameters, 1}, + [194] = + {field_body, 3}, + {field_captures, 0}, + {field_constraint, 2}, + {field_template_parameters, 1}, + [198] = + {field_body, 3}, + {field_declarator, 1}, + [200] = + {field_name, 1}, + {field_parameters, 2}, + {field_value, 3}, + [203] = + {field_alternative, 3}, + {field_condition, 1}, + [205] = + {field_alternative, 3}, + {field_name, 1}, + [207] = + {field_operator, 0}, + [208] = + {field_declarator, 3}, + {field_type, 1}, + [210] = + {field_declarator, 3, .inherited = true}, + {field_type, 2, .inherited = true}, + [212] = + {field_arguments, 4}, + {field_declarator, 3}, + {field_type, 2}, + [215] = + {field_arguments, 4}, + {field_placement, 2}, + {field_type, 3}, + [218] = + {field_declarator, 4}, + {field_placement, 2}, + {field_type, 3}, + [221] = + {field_body, 4}, + {field_name, 3}, + [223] = + {field_designator, 0}, + {field_value, 2}, + [225] = + {field_name, 0}, + {field_value, 2}, + [227] = + {field_base, 3, .inherited = true}, + {field_body, 4}, + {field_name, 2}, + [230] = + {field_body, 3}, + {field_name, 0}, + [232] = + {field_body, 3, .inherited = true}, + {field_name, 3, .inherited = true}, + [234] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + {field_value, 2}, + [237] = + {field_initializer, 1}, + {field_value, 2}, + [239] = + {field_alternative, 4}, + {field_condition, 2}, + {field_consequence, 3}, + [242] = + {field_body, 1}, + {field_condition, 3}, + [244] = + {field_update, 2}, + [245] = + {field_initializer, 0}, + {field_update, 2}, + [247] = + {field_condition, 1}, + {field_initializer, 0}, + [249] = + {field_body, 4}, + {field_condition, 2, .inherited = true}, + {field_initializer, 2, .inherited = true}, + {field_update, 2, .inherited = true}, + [253] = + {field_body, 4}, + {field_declarator, 2, .inherited = true}, + {field_initializer, 2, .inherited = true}, + {field_right, 2, .inherited = true}, + {field_type, 2, .inherited = true}, + [258] = + {field_value, 3}, + [259] = + {field_operand, 1}, + [260] = + {field_assembly_code, 2}, + {field_output_operands, 3}, + [262] = + {field_assembly_code, 3}, + [263] = + {field_default_type, 2}, + [264] = + {field_default_value, 2}, + {field_type, 0, .inherited = true}, + [266] = + {field_body, 2}, + {field_parameters, 1}, + [268] = + {field_name, 1}, + {field_type, 3}, + [270] = + {field_condition, 2}, + [271] = + {field_length, 1}, + [272] = + {field_arguments, 4}, + {field_declarator, 3}, + {field_placement, 1}, + {field_type, 2}, + [276] = + {field_declarator, 1}, + {field_declarator, 2}, + [278] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3, .inherited = true}, + {field_type, 0, .inherited = true}, + [282] = + {field_declarator, 4}, + [283] = + {field_body, 4}, + {field_declarator, 3}, + {field_type, 1, .inherited = true}, + [286] = + {field_declarator, 0}, + {field_size, 3}, + [288] = + {field_alternative, 4}, + {field_condition, 0}, + {field_consequence, 2}, + [291] = + {field_size, 2}, + [292] = + {field_body, 4}, + {field_captures, 0}, + {field_constraint, 2}, + {field_declarator, 3}, + {field_template_parameters, 1}, + [297] = + {field_declarator, 1}, + {field_default_value, 3}, + [299] = + {field_alternative, 4}, + {field_condition, 1}, + [301] = + {field_arguments, 5}, + {field_declarator, 4}, + {field_placement, 2}, + {field_type, 3}, + [305] = + {field_body, 2}, + {field_filter, 1}, + [307] = + {field_declarator, 1}, + {field_default_value, 2}, + {field_type, 0, .inherited = true}, + [310] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_default_value, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [314] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + {field_default_value, 0, .inherited = true}, + {field_default_value, 1, .inherited = true}, + [318] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + {field_value, 3}, + [321] = + {field_condition, 1}, + {field_update, 3}, + [323] = + {field_condition, 1}, + {field_initializer, 0}, + {field_update, 3}, + [326] = + {field_declarator, 1}, + {field_right, 3}, + {field_type, 0, .inherited = true}, + [329] = + {field_initializer, 0}, + {field_update, 3}, + [331] = + {field_condition, 2}, + {field_initializer, 0}, + [333] = + {field_member, 4}, + {field_type, 2}, + [335] = + {field_operand, 1}, + {field_operand, 2, .inherited = true}, + [337] = + {field_assembly_code, 2}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [340] = + {field_assembly_code, 3}, + {field_output_operands, 4}, + [342] = + {field_default_type, 3}, + {field_name, 1}, + [344] = + {field_declarator, 1}, + {field_default_value, 3}, + {field_type, 0, .inherited = true}, + [347] = + {field_name, 1}, + {field_type, 4}, + [349] = + {field_end, 3}, + {field_start, 1}, + [351] = + {field_declarator, 1}, + {field_default_value, 2}, + [353] = + {field_declarator, 1}, + {field_declarator, 3, .inherited = true}, + {field_default_value, 3, .inherited = true}, + {field_type, 0, .inherited = true}, + [357] = + {field_declarator, 1}, + {field_declarator, 3, .inherited = true}, + {field_default_value, 2}, + {field_default_value, 3, .inherited = true}, + {field_type, 0, .inherited = true}, + [362] = + {field_condition, 2}, + {field_initializer, 0}, + {field_update, 4}, + [365] = + {field_declarator, 2}, + {field_initializer, 0}, + {field_right, 4}, + {field_type, 1, .inherited = true}, + [369] = + {field_operand, 0, .inherited = true}, + {field_operand, 1, .inherited = true}, + [371] = + {field_register, 1}, + [372] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [376] = + {field_assembly_code, 3}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [379] = + {field_condition, 2}, + {field_message, 4}, + [381] = + {field_delimiter, 1}, + [382] = + {field_declarator, 1}, + {field_declarator, 4, .inherited = true}, + {field_default_value, 3}, + {field_default_value, 4, .inherited = true}, + {field_type, 0, .inherited = true}, + [387] = + {field_constraint, 0}, + {field_value, 2}, + [389] = + {field_register, 1}, + {field_register, 2, .inherited = true}, + [391] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_goto_labels, 6}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [396] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [400] = + {field_register, 0, .inherited = true}, + {field_register, 1, .inherited = true}, + [402] = + {field_label, 1}, + {field_label, 2, .inherited = true}, + [404] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_goto_labels, 7}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [409] = + {field_label, 0, .inherited = true}, + {field_label, 1, .inherited = true}, + [411] = + {field_constraint, 3}, + {field_symbol, 1}, + {field_value, 5}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [4] = { + [0] = alias_sym_type_identifier, + }, + [17] = { + [0] = alias_sym_namespace_identifier, + }, + [29] = { + [0] = alias_sym_namespace_identifier, + }, + [30] = { + [0] = alias_sym_type_identifier, + }, + [32] = { + [0] = alias_sym_type_identifier, + }, + [37] = { + [1] = alias_sym_type_identifier, + }, + [38] = { + [1] = alias_sym_type_identifier, + }, + [44] = { + [0] = sym_primitive_type, + }, + [45] = { + [0] = sym_pointer_declarator, + }, + [55] = { + [1] = alias_sym_statement_identifier, + }, + [59] = { + [1] = alias_sym_namespace_identifier, + }, + [60] = { + [1] = alias_sym_namespace_identifier, + }, + [64] = { + [0] = alias_sym_simple_requirement, + }, + [71] = { + [2] = alias_sym_field_identifier, + }, + [73] = { + [0] = alias_sym_statement_identifier, + }, + [95] = { + [2] = alias_sym_namespace_identifier, + }, + [97] = { + [1] = alias_sym_field_identifier, + }, + [100] = { + [1] = alias_sym_type_identifier, + }, + [102] = { + [0] = alias_sym_field_identifier, + }, + [109] = { + [1] = alias_sym_type_identifier, + }, + [120] = { + [0] = alias_sym_field_identifier, + }, + [121] = { + [1] = alias_sym_field_identifier, + }, + [137] = { + [3] = alias_sym_namespace_identifier, + }, + [139] = { + [0] = alias_sym_field_identifier, + }, + [158] = { + [2] = alias_sym_type_identifier, + }, + [162] = { + [1] = alias_sym_namespace_identifier, + [3] = alias_sym_namespace_identifier, + }, + [163] = { + [1] = alias_sym_namespace_identifier, + }, + [164] = { + [1] = alias_sym_type_identifier, + }, + [189] = { + [4] = alias_sym_field_identifier, + }, + [193] = { + [1] = alias_sym_type_identifier, + }, + [195] = { + [1] = alias_sym_type_identifier, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + sym_pointer_type_declarator, 2, + sym_pointer_type_declarator, + sym_pointer_declarator, + sym_expression_statement, 2, + sym_expression_statement, + alias_sym_simple_requirement, + sym_identifier, 5, + sym_identifier, + alias_sym_field_identifier, + alias_sym_namespace_identifier, + alias_sym_statement_identifier, + alias_sym_type_identifier, + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 2, + [4] = 2, + [5] = 2, + [6] = 2, + [7] = 2, + [8] = 2, + [9] = 2, + [10] = 2, + [11] = 2, + [12] = 2, + [13] = 13, + [14] = 13, + [15] = 15, + [16] = 16, + [17] = 17, + [18] = 18, + [19] = 13, + [20] = 15, + [21] = 18, + [22] = 13, + [23] = 23, + [24] = 24, + [25] = 18, + [26] = 18, + [27] = 16, + [28] = 15, + [29] = 16, + [30] = 30, + [31] = 15, + [32] = 16, + [33] = 33, + [34] = 33, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 36, + [39] = 37, + [40] = 36, + [41] = 41, + [42] = 37, + [43] = 36, + [44] = 36, + [45] = 45, + [46] = 46, + [47] = 37, + [48] = 36, + [49] = 36, + [50] = 37, + [51] = 37, + [52] = 37, + [53] = 45, + [54] = 41, + [55] = 36, + [56] = 37, + [57] = 36, + [58] = 33, + [59] = 36, + [60] = 45, + [61] = 37, + [62] = 37, + [63] = 41, + [64] = 37, + [65] = 37, + [66] = 36, + [67] = 45, + [68] = 36, + [69] = 36, + [70] = 37, + [71] = 36, + [72] = 37, + [73] = 37, + [74] = 36, + [75] = 37, + [76] = 41, + [77] = 36, + [78] = 36, + [79] = 37, + [80] = 80, + [81] = 81, + [82] = 82, + [83] = 83, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 85, + [88] = 85, + [89] = 85, + [90] = 84, + [91] = 82, + [92] = 86, + [93] = 86, + [94] = 84, + [95] = 83, + [96] = 84, + [97] = 82, + [98] = 86, + [99] = 83, + [100] = 82, + [101] = 83, + [102] = 83, + [103] = 82, + [104] = 86, + [105] = 85, + [106] = 84, + [107] = 107, + [108] = 107, + [109] = 107, + [110] = 107, + [111] = 107, + [112] = 107, + [113] = 113, + [114] = 114, + [115] = 114, + [116] = 114, + [117] = 117, + [118] = 117, + [119] = 117, + [120] = 117, + [121] = 117, + [122] = 117, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 126, + [128] = 128, + [129] = 126, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 134, + [138] = 138, + [139] = 130, + [140] = 130, + [141] = 141, + [142] = 131, + [143] = 135, + [144] = 131, + [145] = 145, + [146] = 134, + [147] = 138, + [148] = 126, + [149] = 145, + [150] = 141, + [151] = 133, + [152] = 132, + [153] = 133, + [154] = 141, + [155] = 130, + [156] = 145, + [157] = 136, + [158] = 130, + [159] = 131, + [160] = 132, + [161] = 138, + [162] = 135, + [163] = 145, + [164] = 134, + [165] = 135, + [166] = 138, + [167] = 136, + [168] = 138, + [169] = 133, + [170] = 131, + [171] = 132, + [172] = 141, + [173] = 133, + [174] = 132, + [175] = 145, + [176] = 135, + [177] = 141, + [178] = 145, + [179] = 131, + [180] = 134, + [181] = 134, + [182] = 136, + [183] = 133, + [184] = 136, + [185] = 141, + [186] = 136, + [187] = 138, + [188] = 135, + [189] = 130, + [190] = 190, + [191] = 191, + [192] = 190, + [193] = 126, + [194] = 126, + [195] = 190, + [196] = 191, + [197] = 191, + [198] = 190, + [199] = 190, + [200] = 191, + [201] = 191, + [202] = 190, + [203] = 190, + [204] = 190, + [205] = 191, + [206] = 191, + [207] = 191, + [208] = 190, + [209] = 190, + [210] = 190, + [211] = 191, + [212] = 212, + [213] = 126, + [214] = 191, + [215] = 190, + [216] = 191, + [217] = 217, + [218] = 191, + [219] = 190, + [220] = 191, + [221] = 191, + [222] = 190, + [223] = 191, + [224] = 190, + [225] = 126, + [226] = 226, + [227] = 226, + [228] = 226, + [229] = 226, + [230] = 226, + [231] = 226, + [232] = 226, + [233] = 226, + [234] = 226, + [235] = 226, + [236] = 226, + [237] = 226, + [238] = 226, + [239] = 226, + [240] = 226, + [241] = 226, + [242] = 226, + [243] = 243, + [244] = 244, + [245] = 245, + [246] = 246, + [247] = 247, + [248] = 248, + [249] = 249, + [250] = 243, + [251] = 251, + [252] = 252, + [253] = 251, + [254] = 251, + [255] = 251, + [256] = 251, + [257] = 251, + [258] = 258, + [259] = 212, + [260] = 217, + [261] = 261, + [262] = 262, + [263] = 263, + [264] = 264, + [265] = 265, + [266] = 266, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 270, + [271] = 271, + [272] = 272, + [273] = 273, + [274] = 274, + [275] = 275, + [276] = 276, + [277] = 277, + [278] = 278, + [279] = 279, + [280] = 280, + [281] = 281, + [282] = 282, + [283] = 283, + [284] = 284, + [285] = 285, + [286] = 286, + [287] = 287, + [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 293, + [294] = 294, + [295] = 295, + [296] = 296, + [297] = 297, + [298] = 298, + [299] = 299, + [300] = 300, + [301] = 301, + [302] = 302, + [303] = 303, + [304] = 304, + [305] = 305, + [306] = 305, + [307] = 307, + [308] = 308, + [309] = 309, + [310] = 310, + [311] = 311, + [312] = 244, + [313] = 313, + [314] = 314, + [315] = 315, + [316] = 245, + [317] = 317, + [318] = 318, + [319] = 319, + [320] = 320, + [321] = 321, + [322] = 322, + [323] = 323, + [324] = 324, + [325] = 245, + [326] = 326, + [327] = 327, + [328] = 328, + [329] = 329, + [330] = 330, + [331] = 331, + [332] = 332, + [333] = 333, + [334] = 334, + [335] = 335, + [336] = 336, + [337] = 337, + [338] = 338, + [339] = 339, + [340] = 340, + [341] = 341, + [342] = 342, + [343] = 343, + [344] = 344, + [345] = 345, + [346] = 346, + [347] = 347, + [348] = 348, + [349] = 245, + [350] = 350, + [351] = 351, + [352] = 352, + [353] = 353, + [354] = 244, + [355] = 317, + [356] = 356, + [357] = 357, + [358] = 358, + [359] = 359, + [360] = 360, + [361] = 333, + [362] = 362, + [363] = 363, + [364] = 364, + [365] = 365, + [366] = 366, + [367] = 367, + [368] = 368, + [369] = 369, + [370] = 370, + [371] = 371, + [372] = 372, + [373] = 373, + [374] = 374, + [375] = 375, + [376] = 345, + [377] = 377, + [378] = 333, + [379] = 305, + [380] = 317, + [381] = 381, + [382] = 382, + [383] = 345, + [384] = 244, + [385] = 385, + [386] = 386, + [387] = 387, + [388] = 388, + [389] = 389, + [390] = 390, + [391] = 391, + [392] = 392, + [393] = 393, + [394] = 394, + [395] = 126, + [396] = 258, + [397] = 258, + [398] = 252, + [399] = 252, + [400] = 261, + [401] = 263, + [402] = 212, + [403] = 217, + [404] = 217, + [405] = 264, + [406] = 264, + [407] = 212, + [408] = 263, + [409] = 263, + [410] = 261, + [411] = 264, + [412] = 261, + [413] = 268, + [414] = 280, + [415] = 274, + [416] = 265, + [417] = 281, + [418] = 281, + [419] = 267, + [420] = 278, + [421] = 273, + [422] = 295, + [423] = 299, + [424] = 277, + [425] = 425, + [426] = 279, + [427] = 271, + [428] = 294, + [429] = 297, + [430] = 276, + [431] = 272, + [432] = 291, + [433] = 288, + [434] = 301, + [435] = 283, + [436] = 283, + [437] = 288, + [438] = 291, + [439] = 297, + [440] = 266, + [441] = 287, + [442] = 274, + [443] = 293, + [444] = 302, + [445] = 298, + [446] = 290, + [447] = 294, + [448] = 270, + [449] = 271, + [450] = 289, + [451] = 288, + [452] = 267, + [453] = 292, + [454] = 283, + [455] = 279, + [456] = 296, + [457] = 275, + [458] = 270, + [459] = 279, + [460] = 273, + [461] = 265, + [462] = 287, + [463] = 285, + [464] = 266, + [465] = 278, + [466] = 286, + [467] = 291, + [468] = 282, + [469] = 287, + [470] = 295, + [471] = 298, + [472] = 276, + [473] = 278, + [474] = 290, + [475] = 272, + [476] = 276, + [477] = 270, + [478] = 275, + [479] = 293, + [480] = 289, + [481] = 302, + [482] = 301, + [483] = 282, + [484] = 285, + [485] = 299, + [486] = 289, + [487] = 292, + [488] = 300, + [489] = 299, + [490] = 267, + [491] = 265, + [492] = 295, + [493] = 273, + [494] = 300, + [495] = 298, + [496] = 277, + [497] = 302, + [498] = 274, + [499] = 272, + [500] = 268, + [501] = 296, + [502] = 284, + [503] = 275, + [504] = 286, + [505] = 290, + [506] = 280, + [507] = 292, + [508] = 300, + [509] = 268, + [510] = 301, + [511] = 269, + [512] = 284, + [513] = 285, + [514] = 296, + [515] = 277, + [516] = 297, + [517] = 269, + [518] = 294, + [519] = 280, + [520] = 282, + [521] = 293, + [522] = 269, + [523] = 271, + [524] = 281, + [525] = 266, + [526] = 286, + [527] = 284, + [528] = 353, + [529] = 318, + [530] = 304, + [531] = 393, + [532] = 346, + [533] = 348, + [534] = 320, + [535] = 386, + [536] = 310, + [537] = 386, + [538] = 334, + [539] = 326, + [540] = 321, + [541] = 327, + [542] = 335, + [543] = 370, + [544] = 373, + [545] = 339, + [546] = 328, + [547] = 385, + [548] = 323, + [549] = 340, + [550] = 324, + [551] = 357, + [552] = 368, + [553] = 374, + [554] = 337, + [555] = 337, + [556] = 309, + [557] = 342, + [558] = 365, + [559] = 342, + [560] = 324, + [561] = 321, + [562] = 348, + [563] = 381, + [564] = 346, + [565] = 358, + [566] = 388, + [567] = 366, + [568] = 392, + [569] = 364, + [570] = 340, + [571] = 126, + [572] = 334, + [573] = 369, + [574] = 391, + [575] = 303, + [576] = 389, + [577] = 362, + [578] = 352, + [579] = 331, + [580] = 356, + [581] = 328, + [582] = 344, + [583] = 329, + [584] = 344, + [585] = 315, + [586] = 359, + [587] = 308, + [588] = 313, + [589] = 319, + [590] = 343, + [591] = 347, + [592] = 390, + [593] = 318, + [594] = 314, + [595] = 313, + [596] = 351, + [597] = 350, + [598] = 338, + [599] = 353, + [600] = 319, + [601] = 356, + [602] = 307, + [603] = 387, + [604] = 335, + [605] = 331, + [606] = 387, + [607] = 362, + [608] = 303, + [609] = 351, + [610] = 365, + [611] = 377, + [612] = 258, + [613] = 341, + [614] = 336, + [615] = 375, + [616] = 329, + [617] = 326, + [618] = 347, + [619] = 352, + [620] = 323, + [621] = 392, + [622] = 126, + [623] = 311, + [624] = 309, + [625] = 382, + [626] = 336, + [627] = 369, + [628] = 370, + [629] = 322, + [630] = 394, + [631] = 375, + [632] = 368, + [633] = 390, + [634] = 388, + [635] = 360, + [636] = 341, + [637] = 126, + [638] = 359, + [639] = 363, + [640] = 320, + [641] = 327, + [642] = 381, + [643] = 373, + [644] = 286, + [645] = 314, + [646] = 367, + [647] = 377, + [648] = 363, + [649] = 360, + [650] = 322, + [651] = 357, + [652] = 374, + [653] = 350, + [654] = 307, + [655] = 304, + [656] = 310, + [657] = 343, + [658] = 367, + [659] = 385, + [660] = 308, + [661] = 252, + [662] = 366, + [663] = 338, + [664] = 315, + [665] = 358, + [666] = 394, + [667] = 391, + [668] = 364, + [669] = 311, + [670] = 339, + [671] = 393, + [672] = 382, + [673] = 389, + [674] = 126, + [675] = 126, + [676] = 320, + [677] = 126, + [678] = 319, + [679] = 390, + [680] = 680, + [681] = 359, + [682] = 680, + [683] = 358, + [684] = 341, + [685] = 315, + [686] = 686, + [687] = 318, + [688] = 336, + [689] = 328, + [690] = 391, + [691] = 331, + [692] = 334, + [693] = 393, + [694] = 327, + [695] = 326, + [696] = 335, + [697] = 697, + [698] = 322, + [699] = 310, + [700] = 368, + [701] = 680, + [702] = 339, + [703] = 366, + [704] = 340, + [705] = 392, + [706] = 686, + [707] = 707, + [708] = 381, + [709] = 342, + [710] = 323, + [711] = 356, + [712] = 324, + [713] = 351, + [714] = 382, + [715] = 388, + [716] = 686, + [717] = 425, + [718] = 338, + [719] = 308, + [720] = 720, + [721] = 389, + [722] = 680, + [723] = 311, + [724] = 377, + [725] = 364, + [726] = 360, + [727] = 337, + [728] = 387, + [729] = 352, + [730] = 686, + [731] = 394, + [732] = 374, + [733] = 733, + [734] = 734, + [735] = 347, + [736] = 686, + [737] = 365, + [738] = 686, + [739] = 686, + [740] = 680, + [741] = 309, + [742] = 329, + [743] = 425, + [744] = 344, + [745] = 686, + [746] = 362, + [747] = 350, + [748] = 375, + [749] = 680, + [750] = 307, + [751] = 363, + [752] = 353, + [753] = 321, + [754] = 357, + [755] = 680, + [756] = 304, + [757] = 314, + [758] = 343, + [759] = 385, + [760] = 680, + [761] = 303, + [762] = 680, + [763] = 686, + [764] = 346, + [765] = 369, + [766] = 686, + [767] = 370, + [768] = 373, + [769] = 680, + [770] = 348, + [771] = 313, + [772] = 386, + [773] = 773, + [774] = 773, + [775] = 775, + [776] = 776, + [777] = 777, + [778] = 778, + [779] = 777, + [780] = 780, + [781] = 780, + [782] = 782, + [783] = 783, + [784] = 780, + [785] = 775, + [786] = 782, + [787] = 787, + [788] = 788, + [789] = 783, + [790] = 780, + [791] = 777, + [792] = 792, + [793] = 793, + [794] = 778, + [795] = 777, + [796] = 796, + [797] = 796, + [798] = 796, + [799] = 796, + [800] = 796, + [801] = 796, + [802] = 796, + [803] = 803, + [804] = 804, + [805] = 805, + [806] = 805, + [807] = 805, + [808] = 805, + [809] = 805, + [810] = 805, + [811] = 805, + [812] = 812, + [813] = 813, + [814] = 813, + [815] = 815, + [816] = 815, + [817] = 815, + [818] = 818, + [819] = 819, + [820] = 245, + [821] = 244, + [822] = 125, + [823] = 823, + [824] = 217, + [825] = 825, + [826] = 825, + [827] = 827, + [828] = 828, + [829] = 823, + [830] = 825, + [831] = 825, + [832] = 828, + [833] = 263, + [834] = 828, + [835] = 825, + [836] = 825, + [837] = 823, + [838] = 828, + [839] = 828, + [840] = 840, + [841] = 828, + [842] = 823, + [843] = 825, + [844] = 823, + [845] = 825, + [846] = 212, + [847] = 828, + [848] = 823, + [849] = 828, + [850] = 828, + [851] = 825, + [852] = 264, + [853] = 853, + [854] = 261, + [855] = 295, + [856] = 856, + [857] = 273, + [858] = 272, + [859] = 859, + [860] = 287, + [861] = 859, + [862] = 290, + [863] = 856, + [864] = 275, + [865] = 283, + [866] = 266, + [867] = 276, + [868] = 278, + [869] = 267, + [870] = 870, + [871] = 804, + [872] = 856, + [873] = 270, + [874] = 818, + [875] = 859, + [876] = 277, + [877] = 803, + [878] = 293, + [879] = 298, + [880] = 301, + [881] = 291, + [882] = 296, + [883] = 302, + [884] = 265, + [885] = 271, + [886] = 856, + [887] = 289, + [888] = 856, + [889] = 859, + [890] = 281, + [891] = 269, + [892] = 299, + [893] = 292, + [894] = 288, + [895] = 274, + [896] = 280, + [897] = 284, + [898] = 294, + [899] = 279, + [900] = 859, + [901] = 856, + [902] = 297, + [903] = 268, + [904] = 859, + [905] = 282, + [906] = 300, + [907] = 285, + [908] = 908, + [909] = 909, + [910] = 909, + [911] = 911, + [912] = 911, + [913] = 909, + [914] = 909, + [915] = 909, + [916] = 911, + [917] = 911, + [918] = 918, + [919] = 918, + [920] = 918, + [921] = 918, + [922] = 918, + [923] = 918, + [924] = 918, + [925] = 925, + [926] = 926, + [927] = 927, + [928] = 926, + [929] = 925, + [930] = 927, + [931] = 925, + [932] = 932, + [933] = 926, + [934] = 927, + [935] = 926, + [936] = 926, + [937] = 925, + [938] = 926, + [939] = 925, + [940] = 926, + [941] = 926, + [942] = 853, + [943] = 926, + [944] = 944, + [945] = 944, + [946] = 946, + [947] = 947, + [948] = 948, + [949] = 944, + [950] = 950, + [951] = 951, + [952] = 951, + [953] = 950, + [954] = 944, + [955] = 955, + [956] = 956, + [957] = 944, + [958] = 944, + [959] = 944, + [960] = 947, + [961] = 951, + [962] = 947, + [963] = 951, + [964] = 950, + [965] = 950, + [966] = 950, + [967] = 951, + [968] = 968, + [969] = 947, + [970] = 951, + [971] = 950, + [972] = 944, + [973] = 853, + [974] = 947, + [975] = 951, + [976] = 946, + [977] = 944, + [978] = 978, + [979] = 950, + [980] = 947, + [981] = 950, + [982] = 982, + [983] = 983, + [984] = 947, + [985] = 944, + [986] = 986, + [987] = 950, + [988] = 988, + [989] = 951, + [990] = 947, + [991] = 947, + [992] = 992, + [993] = 944, + [994] = 994, + [995] = 950, + [996] = 951, + [997] = 950, + [998] = 951, + [999] = 950, + [1000] = 950, + [1001] = 1001, + [1002] = 950, + [1003] = 1003, + [1004] = 944, + [1005] = 947, + [1006] = 1006, + [1007] = 946, + [1008] = 947, + [1009] = 944, + [1010] = 947, + [1011] = 944, + [1012] = 947, + [1013] = 951, + [1014] = 951, + [1015] = 944, + [1016] = 1016, + [1017] = 951, + [1018] = 947, + [1019] = 951, + [1020] = 950, + [1021] = 951, + [1022] = 947, + [1023] = 1023, + [1024] = 1024, + [1025] = 1025, + [1026] = 1024, + [1027] = 1024, + [1028] = 1028, + [1029] = 1029, + [1030] = 1025, + [1031] = 1025, + [1032] = 1032, + [1033] = 1033, + [1034] = 1025, + [1035] = 125, + [1036] = 1036, + [1037] = 1037, + [1038] = 1038, + [1039] = 1025, + [1040] = 1025, + [1041] = 1024, + [1042] = 1024, + [1043] = 1029, + [1044] = 1024, + [1045] = 1025, + [1046] = 1024, + [1047] = 1029, + [1048] = 1048, + [1049] = 1029, + [1050] = 1025, + [1051] = 1029, + [1052] = 1052, + [1053] = 1053, + [1054] = 1025, + [1055] = 1025, + [1056] = 1024, + [1057] = 1057, + [1058] = 1024, + [1059] = 1024, + [1060] = 1029, + [1061] = 1061, + [1062] = 1029, + [1063] = 1025, + [1064] = 1024, + [1065] = 1065, + [1066] = 1029, + [1067] = 1067, + [1068] = 1024, + [1069] = 1025, + [1070] = 1025, + [1071] = 1024, + [1072] = 1025, + [1073] = 1073, + [1074] = 1074, + [1075] = 1024, + [1076] = 1076, + [1077] = 1024, + [1078] = 1078, + [1079] = 1025, + [1080] = 1080, + [1081] = 1081, + [1082] = 1082, + [1083] = 1083, + [1084] = 1084, + [1085] = 1085, + [1086] = 1085, + [1087] = 1085, + [1088] = 1085, + [1089] = 1085, + [1090] = 1085, + [1091] = 1091, + [1092] = 1092, + [1093] = 1093, + [1094] = 1094, + [1095] = 1085, + [1096] = 1082, + [1097] = 1097, + [1098] = 1085, + [1099] = 1082, + [1100] = 1091, + [1101] = 1101, + [1102] = 1085, + [1103] = 1081, + [1104] = 1104, + [1105] = 125, + [1106] = 1106, + [1107] = 1097, + [1108] = 1108, + [1109] = 1109, + [1110] = 1092, + [1111] = 1085, + [1112] = 1093, + [1113] = 1113, + [1114] = 1114, + [1115] = 1115, + [1116] = 1116, + [1117] = 1117, + [1118] = 1118, + [1119] = 1119, + [1120] = 1120, + [1121] = 1121, + [1122] = 1122, + [1123] = 1123, + [1124] = 1124, + [1125] = 1125, + [1126] = 1126, + [1127] = 1127, + [1128] = 1128, + [1129] = 1129, + [1130] = 1130, + [1131] = 1131, + [1132] = 1132, + [1133] = 1133, + [1134] = 1134, + [1135] = 1135, + [1136] = 1082, + [1137] = 1137, + [1138] = 1083, + [1139] = 1084, + [1140] = 1082, + [1141] = 1082, + [1142] = 1097, + [1143] = 1082, + [1144] = 1082, + [1145] = 1082, + [1146] = 1082, + [1147] = 1082, + [1148] = 1082, + [1149] = 1149, + [1150] = 1081, + [1151] = 1082, + [1152] = 1083, + [1153] = 1081, + [1154] = 1092, + [1155] = 1091, + [1156] = 1137, + [1157] = 1135, + [1158] = 1134, + [1159] = 1108, + [1160] = 1133, + [1161] = 1132, + [1162] = 1106, + [1163] = 1131, + [1164] = 1130, + [1165] = 1084, + [1166] = 1129, + [1167] = 1127, + [1168] = 1126, + [1169] = 1084, + [1170] = 1125, + [1171] = 1124, + [1172] = 1083, + [1173] = 1123, + [1174] = 1122, + [1175] = 1121, + [1176] = 1120, + [1177] = 1119, + [1178] = 1118, + [1179] = 1117, + [1180] = 1082, + [1181] = 1116, + [1182] = 1128, + [1183] = 1092, + [1184] = 1080, + [1185] = 1084, + [1186] = 1115, + [1187] = 1083, + [1188] = 1082, + [1189] = 1114, + [1190] = 1113, + [1191] = 1191, + [1192] = 1192, + [1193] = 1192, + [1194] = 1194, + [1195] = 1195, + [1196] = 1196, + [1197] = 1195, + [1198] = 1198, + [1199] = 1199, + [1200] = 1200, + [1201] = 1195, + [1202] = 1202, + [1203] = 1199, + [1204] = 1198, + [1205] = 1199, + [1206] = 1206, + [1207] = 1206, + [1208] = 1198, + [1209] = 1209, + [1210] = 1210, + [1211] = 1211, + [1212] = 1212, + [1213] = 1200, + [1214] = 1214, + [1215] = 1215, + [1216] = 1216, + [1217] = 1195, + [1218] = 1210, + [1219] = 1219, + [1220] = 1220, + [1221] = 1221, + [1222] = 1214, + [1223] = 1223, + [1224] = 1224, + [1225] = 1225, + [1226] = 1226, + [1227] = 1224, + [1228] = 1223, + [1229] = 1215, + [1230] = 1214, + [1231] = 1231, + [1232] = 1220, + [1233] = 1192, + [1234] = 1220, + [1235] = 1216, + [1236] = 1194, + [1237] = 1196, + [1238] = 1210, + [1239] = 1206, + [1240] = 1212, + [1241] = 1226, + [1242] = 1220, + [1243] = 1225, + [1244] = 1209, + [1245] = 1200, + [1246] = 1246, + [1247] = 1220, + [1248] = 1216, + [1249] = 1212, + [1250] = 1192, + [1251] = 1251, + [1252] = 1225, + [1253] = 1226, + [1254] = 1224, + [1255] = 1212, + [1256] = 1223, + [1257] = 1215, + [1258] = 1214, + [1259] = 1231, + [1260] = 1192, + [1261] = 1194, + [1262] = 1262, + [1263] = 1219, + [1264] = 1210, + [1265] = 1196, + [1266] = 1209, + [1267] = 1210, + [1268] = 1212, + [1269] = 1206, + [1270] = 1220, + [1271] = 1271, + [1272] = 1272, + [1273] = 1273, + [1274] = 1198, + [1275] = 1231, + [1276] = 1276, + [1277] = 1225, + [1278] = 1226, + [1279] = 1224, + [1280] = 1223, + [1281] = 1215, + [1282] = 1212, + [1283] = 1231, + [1284] = 1214, + [1285] = 1285, + [1286] = 1192, + [1287] = 1194, + [1288] = 1196, + [1289] = 1199, + [1290] = 1210, + [1291] = 1212, + [1292] = 1225, + [1293] = 1226, + [1294] = 1224, + [1295] = 1223, + [1296] = 1215, + [1297] = 1210, + [1298] = 1212, + [1299] = 1299, + [1300] = 1214, + [1301] = 1215, + [1302] = 1206, + [1303] = 1231, + [1304] = 1210, + [1305] = 1198, + [1306] = 1199, + [1307] = 1212, + [1308] = 1192, + [1309] = 1194, + [1310] = 1196, + [1311] = 1200, + [1312] = 1210, + [1313] = 1212, + [1314] = 1314, + [1315] = 1210, + [1316] = 1212, + [1317] = 1202, + [1318] = 1318, + [1319] = 1223, + [1320] = 1210, + [1321] = 1321, + [1322] = 1202, + [1323] = 1196, + [1324] = 1194, + [1325] = 1192, + [1326] = 1231, + [1327] = 1214, + [1328] = 1215, + [1329] = 1223, + [1330] = 1224, + [1331] = 1226, + [1332] = 1224, + [1333] = 1221, + [1334] = 1225, + [1335] = 1276, + [1336] = 1336, + [1337] = 1337, + [1338] = 1336, + [1339] = 1226, + [1340] = 1340, + [1341] = 1210, + [1342] = 1221, + [1343] = 1246, + [1344] = 1344, + [1345] = 1345, + [1346] = 1272, + [1347] = 1212, + [1348] = 1209, + [1349] = 1349, + [1350] = 1231, + [1351] = 1276, + [1352] = 1198, + [1353] = 1285, + [1354] = 1202, + [1355] = 1336, + [1356] = 1199, + [1357] = 1357, + [1358] = 1337, + [1359] = 1225, + [1360] = 1340, + [1361] = 1221, + [1362] = 1200, + [1363] = 1199, + [1364] = 1198, + [1365] = 1272, + [1366] = 1216, + [1367] = 1216, + [1368] = 1276, + [1369] = 1212, + [1370] = 1219, + [1371] = 1336, + [1372] = 1210, + [1373] = 1209, + [1374] = 1206, + [1375] = 1206, + [1376] = 1200, + [1377] = 1202, + [1378] = 1200, + [1379] = 1199, + [1380] = 1337, + [1381] = 1198, + [1382] = 1225, + [1383] = 1196, + [1384] = 1194, + [1385] = 1285, + [1386] = 1246, + [1387] = 1192, + [1388] = 1388, + [1389] = 1231, + [1390] = 1340, + [1391] = 1199, + [1392] = 1198, + [1393] = 1214, + [1394] = 1215, + [1395] = 1223, + [1396] = 1224, + [1397] = 1209, + [1398] = 1225, + [1399] = 1221, + [1400] = 1206, + [1401] = 1226, + [1402] = 1209, + [1403] = 1200, + [1404] = 1224, + [1405] = 1226, + [1406] = 1196, + [1407] = 1223, + [1408] = 1272, + [1409] = 1225, + [1410] = 1226, + [1411] = 1224, + [1412] = 1223, + [1413] = 1215, + [1414] = 1214, + [1415] = 1231, + [1416] = 1192, + [1417] = 1194, + [1418] = 1196, + [1419] = 1202, + [1420] = 1337, + [1421] = 1195, + [1422] = 1215, + [1423] = 1336, + [1424] = 1336, + [1425] = 1425, + [1426] = 1209, + [1427] = 1337, + [1428] = 1276, + [1429] = 1272, + [1430] = 1214, + [1431] = 1225, + [1432] = 1192, + [1433] = 1206, + [1434] = 1194, + [1435] = 1202, + [1436] = 1196, + [1437] = 1196, + [1438] = 1276, + [1439] = 1221, + [1440] = 1192, + [1441] = 1202, + [1442] = 1231, + [1443] = 1209, + [1444] = 1214, + [1445] = 1215, + [1446] = 1340, + [1447] = 1225, + [1448] = 1226, + [1449] = 1223, + [1450] = 1224, + [1451] = 1223, + [1452] = 1215, + [1453] = 1214, + [1454] = 1216, + [1455] = 1337, + [1456] = 1231, + [1457] = 1224, + [1458] = 1198, + [1459] = 1345, + [1460] = 1344, + [1461] = 1199, + [1462] = 1231, + [1463] = 1226, + [1464] = 1194, + [1465] = 1196, + [1466] = 1202, + [1467] = 1196, + [1468] = 1225, + [1469] = 1194, + [1470] = 1192, + [1471] = 1231, + [1472] = 1214, + [1473] = 1215, + [1474] = 1223, + [1475] = 1224, + [1476] = 1226, + [1477] = 1194, + [1478] = 1200, + [1479] = 1200, + [1480] = 1199, + [1481] = 1198, + [1482] = 1198, + [1483] = 1206, + [1484] = 1285, + [1485] = 1199, + [1486] = 1198, + [1487] = 1202, + [1488] = 1200, + [1489] = 1209, + [1490] = 1202, + [1491] = 1199, + [1492] = 1202, + [1493] = 1206, + [1494] = 1209, + [1495] = 1206, + [1496] = 1212, + [1497] = 1209, + [1498] = 1246, + [1499] = 1209, + [1500] = 1210, + [1501] = 1210, + [1502] = 1246, + [1503] = 1220, + [1504] = 1212, + [1505] = 1200, + [1506] = 1209, + [1507] = 1206, + [1508] = 1198, + [1509] = 1285, + [1510] = 1199, + [1511] = 1511, + [1512] = 1202, + [1513] = 1216, + [1514] = 1200, + [1515] = 1200, + [1516] = 1199, + [1517] = 1202, + [1518] = 1225, + [1519] = 1226, + [1520] = 1224, + [1521] = 1223, + [1522] = 1215, + [1523] = 1214, + [1524] = 1340, + [1525] = 1231, + [1526] = 1198, + [1527] = 1425, + [1528] = 1196, + [1529] = 1529, + [1530] = 1194, + [1531] = 1192, + [1532] = 1194, + [1533] = 1196, + [1534] = 1202, + [1535] = 1337, + [1536] = 1195, + [1537] = 1336, + [1538] = 1200, + [1539] = 1194, + [1540] = 1276, + [1541] = 1272, + [1542] = 1206, + [1543] = 1314, + [1544] = 1221, + [1545] = 1209, + [1546] = 1340, + [1547] = 1225, + [1548] = 1226, + [1549] = 1192, + [1550] = 1224, + [1551] = 1231, + [1552] = 1223, + [1553] = 1215, + [1554] = 1214, + [1555] = 1206, + [1556] = 125, + [1557] = 1557, + [1558] = 1558, + [1559] = 1559, + [1560] = 1560, + [1561] = 1561, + [1562] = 1562, + [1563] = 1563, + [1564] = 1564, + [1565] = 1565, + [1566] = 1566, + [1567] = 1566, + [1568] = 1568, + [1569] = 1568, + [1570] = 1568, + [1571] = 1568, + [1572] = 1572, + [1573] = 1573, + [1574] = 314, + [1575] = 339, + [1576] = 1560, + [1577] = 911, + [1578] = 1560, + [1579] = 1557, + [1580] = 125, + [1581] = 1565, + [1582] = 1564, + [1583] = 911, + [1584] = 1561, + [1585] = 1565, + [1586] = 1563, + [1587] = 1558, + [1588] = 1559, + [1589] = 1560, + [1590] = 125, + [1591] = 1562, + [1592] = 911, + [1593] = 1562, + [1594] = 125, + [1595] = 1561, + [1596] = 1564, + [1597] = 1558, + [1598] = 1559, + [1599] = 1565, + [1600] = 1557, + [1601] = 1563, + [1602] = 853, + [1603] = 1559, + [1604] = 1558, + [1605] = 1563, + [1606] = 1562, + [1607] = 1565, + [1608] = 1564, + [1609] = 1561, + [1610] = 1557, + [1611] = 853, + [1612] = 853, + [1613] = 853, + [1614] = 1558, + [1615] = 1557, + [1616] = 1561, + [1617] = 1559, + [1618] = 1562, + [1619] = 1563, + [1620] = 1564, + [1621] = 1565, + [1622] = 1622, + [1623] = 1622, + [1624] = 1622, + [1625] = 1622, + [1626] = 1626, + [1627] = 1627, + [1628] = 1627, + [1629] = 1627, + [1630] = 1627, + [1631] = 1627, + [1632] = 1627, + [1633] = 1627, + [1634] = 1634, + [1635] = 1635, + [1636] = 1636, + [1637] = 1637, + [1638] = 1638, + [1639] = 1639, + [1640] = 1640, + [1641] = 1641, + [1642] = 1642, + [1643] = 1643, + [1644] = 1644, + [1645] = 1645, + [1646] = 1646, + [1647] = 1646, + [1648] = 1648, + [1649] = 1649, + [1650] = 1650, + [1651] = 1651, + [1652] = 1652, + [1653] = 1653, + [1654] = 1654, + [1655] = 1655, + [1656] = 1565, + [1657] = 1565, + [1658] = 1557, + [1659] = 1659, + [1660] = 1559, + [1661] = 1661, + [1662] = 1659, + [1663] = 1561, + [1664] = 1562, + [1665] = 1563, + [1666] = 125, + [1667] = 1659, + [1668] = 1659, + [1669] = 1558, + [1670] = 1564, + [1671] = 1671, + [1672] = 1672, + [1673] = 1557, + [1674] = 1674, + [1675] = 1675, + [1676] = 1564, + [1677] = 1563, + [1678] = 1562, + [1679] = 125, + [1680] = 1680, + [1681] = 1558, + [1682] = 252, + [1683] = 245, + [1684] = 1684, + [1685] = 1685, + [1686] = 258, + [1687] = 244, + [1688] = 1688, + [1689] = 1689, + [1690] = 1674, + [1691] = 1559, + [1692] = 1692, + [1693] = 1693, + [1694] = 1561, + [1695] = 1695, + [1696] = 286, + [1697] = 1655, + [1698] = 1560, + [1699] = 1699, + [1700] = 1700, + [1701] = 1700, + [1702] = 1702, + [1703] = 1674, + [1704] = 1565, + [1705] = 1700, + [1706] = 1702, + [1707] = 1700, + [1708] = 1700, + [1709] = 286, + [1710] = 1700, + [1711] = 1702, + [1712] = 1702, + [1713] = 1700, + [1714] = 1714, + [1715] = 263, + [1716] = 1716, + [1717] = 1564, + [1718] = 1718, + [1719] = 1719, + [1720] = 1560, + [1721] = 1721, + [1722] = 1563, + [1723] = 1562, + [1724] = 1558, + [1725] = 212, + [1726] = 1726, + [1727] = 1727, + [1728] = 1557, + [1729] = 1561, + [1730] = 1730, + [1731] = 1559, + [1732] = 1732, + [1733] = 217, + [1734] = 389, + [1735] = 1735, + [1736] = 1736, + [1737] = 1737, + [1738] = 1738, + [1739] = 360, + [1740] = 391, + [1741] = 1741, + [1742] = 393, + [1743] = 1743, + [1744] = 352, + [1745] = 1745, + [1746] = 385, + [1747] = 304, + [1748] = 357, + [1749] = 309, + [1750] = 318, + [1751] = 387, + [1752] = 329, + [1753] = 1636, + [1754] = 351, + [1755] = 365, + [1756] = 1756, + [1757] = 377, + [1758] = 1758, + [1759] = 1759, + [1760] = 1760, + [1761] = 1761, + [1762] = 382, + [1763] = 394, + [1764] = 390, + [1765] = 388, + [1766] = 381, + [1767] = 1767, + [1768] = 1768, + [1769] = 1769, + [1770] = 1770, + [1771] = 1771, + [1772] = 1772, + [1773] = 1773, + [1774] = 293, + [1775] = 1775, + [1776] = 1776, + [1777] = 1777, + [1778] = 374, + [1779] = 290, + [1780] = 125, + [1781] = 1781, + [1782] = 1782, + [1783] = 373, + [1784] = 1784, + [1785] = 1785, + [1786] = 370, + [1787] = 283, + [1788] = 288, + [1789] = 291, + [1790] = 327, + [1791] = 1791, + [1792] = 1792, + [1793] = 335, + [1794] = 334, + [1795] = 853, + [1796] = 320, + [1797] = 331, + [1798] = 314, + [1799] = 853, + [1800] = 323, + [1801] = 289, + [1802] = 343, + [1803] = 350, + [1804] = 1804, + [1805] = 1635, + [1806] = 1806, + [1807] = 1560, + [1808] = 364, + [1809] = 339, + [1810] = 363, + [1811] = 375, + [1812] = 328, + [1813] = 1813, + [1814] = 1814, + [1815] = 285, + [1816] = 282, + [1817] = 1756, + [1818] = 366, + [1819] = 1719, + [1820] = 368, + [1821] = 281, + [1822] = 1721, + [1823] = 1760, + [1824] = 319, + [1825] = 1825, + [1826] = 1826, + [1827] = 266, + [1828] = 1828, + [1829] = 1829, + [1830] = 1830, + [1831] = 1831, + [1832] = 1634, + [1833] = 1833, + [1834] = 1834, + [1835] = 1835, + [1836] = 1836, + [1837] = 1837, + [1838] = 1838, + [1839] = 1839, + [1840] = 1840, + [1841] = 1841, + [1842] = 1842, + [1843] = 313, + [1844] = 1844, + [1845] = 1845, + [1846] = 1846, + [1847] = 1847, + [1848] = 1848, + [1849] = 1849, + [1850] = 1850, + [1851] = 1851, + [1852] = 1852, + [1853] = 1853, + [1854] = 1854, + [1855] = 1855, + [1856] = 1856, + [1857] = 1857, + [1858] = 1858, + [1859] = 1859, + [1860] = 1860, + [1861] = 1861, + [1862] = 125, + [1863] = 308, + [1864] = 337, + [1865] = 1865, + [1866] = 1866, + [1867] = 1756, + [1868] = 1868, + [1869] = 1869, + [1870] = 1870, + [1871] = 1626, + [1872] = 1872, + [1873] = 1873, + [1874] = 1874, + [1875] = 1875, + [1876] = 1876, + [1877] = 1877, + [1878] = 1878, + [1879] = 1879, + [1880] = 1880, + [1881] = 1881, + [1882] = 1882, + [1883] = 1883, + [1884] = 1884, + [1885] = 1885, + [1886] = 1886, + [1887] = 1887, + [1888] = 322, + [1889] = 1889, + [1890] = 1635, + [1891] = 1636, + [1892] = 1565, + [1893] = 1634, + [1894] = 1636, + [1895] = 244, + [1896] = 244, + [1897] = 1897, + [1898] = 258, + [1899] = 1899, + [1900] = 1716, + [1901] = 1901, + [1902] = 252, + [1903] = 1626, + [1904] = 1904, + [1905] = 1674, + [1906] = 1845, + [1907] = 1904, + [1908] = 1899, + [1909] = 258, + [1910] = 1885, + [1911] = 1911, + [1912] = 1904, + [1913] = 1714, + [1914] = 1634, + [1915] = 1904, + [1916] = 1565, + [1917] = 252, + [1918] = 1674, + [1919] = 1560, + [1920] = 853, + [1921] = 1921, + [1922] = 1674, + [1923] = 1730, + [1924] = 1674, + [1925] = 1674, + [1926] = 1718, + [1927] = 1885, + [1928] = 1635, + [1929] = 1904, + [1930] = 853, + [1931] = 1813, + [1932] = 125, + [1933] = 1885, + [1934] = 1904, + [1935] = 245, + [1936] = 1897, + [1937] = 1885, + [1938] = 245, + [1939] = 1674, + [1940] = 1885, + [1941] = 1941, + [1942] = 1904, + [1943] = 1943, + [1944] = 286, + [1945] = 1945, + [1946] = 286, + [1947] = 1947, + [1948] = 1674, + [1949] = 1947, + [1950] = 1674, + [1951] = 1951, + [1952] = 1674, + [1953] = 1853, + [1954] = 286, + [1955] = 1743, + [1956] = 1565, + [1957] = 1674, + [1958] = 1947, + [1959] = 286, + [1960] = 125, + [1961] = 1947, + [1962] = 1636, + [1963] = 1770, + [1964] = 1964, + [1965] = 853, + [1966] = 1743, + [1967] = 1967, + [1968] = 1689, + [1969] = 1743, + [1970] = 1721, + [1971] = 217, + [1972] = 212, + [1973] = 1861, + [1974] = 1921, + [1975] = 1719, + [1976] = 1692, + [1977] = 263, + [1978] = 1978, + [1979] = 853, + [1980] = 1980, + [1981] = 1981, + [1982] = 1727, + [1983] = 1685, + [1984] = 1984, + [1985] = 1741, + [1986] = 1688, + [1987] = 1684, + [1988] = 1732, + [1989] = 1989, + [1990] = 1990, + [1991] = 1911, + [1992] = 1921, + [1993] = 1635, + [1994] = 1994, + [1995] = 1743, + [1996] = 1996, + [1997] = 1997, + [1998] = 853, + [1999] = 1861, + [2000] = 2000, + [2001] = 1634, + [2002] = 2002, + [2003] = 2003, + [2004] = 2004, + [2005] = 2005, + [2006] = 2006, + [2007] = 2007, + [2008] = 217, + [2009] = 2009, + [2010] = 2010, + [2011] = 2011, + [2012] = 1655, + [2013] = 1911, + [2014] = 2014, + [2015] = 2015, + [2016] = 263, + [2017] = 2017, + [2018] = 212, + [2019] = 1719, + [2020] = 1721, + [2021] = 2021, + [2022] = 853, + [2023] = 1726, + [2024] = 2024, + [2025] = 2025, + [2026] = 334, + [2027] = 363, + [2028] = 1849, + [2029] = 1829, + [2030] = 1768, + [2031] = 2031, + [2032] = 2032, + [2033] = 1866, + [2034] = 375, + [2035] = 1769, + [2036] = 363, + [2037] = 1945, + [2038] = 1769, + [2039] = 1859, + [2040] = 293, + [2041] = 1899, + [2042] = 1825, + [2043] = 290, + [2044] = 1768, + [2045] = 1773, + [2046] = 1772, + [2047] = 283, + [2048] = 281, + [2049] = 1839, + [2050] = 390, + [2051] = 388, + [2052] = 381, + [2053] = 803, + [2054] = 1860, + [2055] = 387, + [2056] = 2056, + [2057] = 2057, + [2058] = 364, + [2059] = 318, + [2060] = 374, + [2061] = 309, + [2062] = 1841, + [2063] = 357, + [2064] = 304, + [2065] = 2065, + [2066] = 385, + [2067] = 1865, + [2068] = 1874, + [2069] = 1876, + [2070] = 1842, + [2071] = 320, + [2072] = 327, + [2073] = 288, + [2074] = 1880, + [2075] = 2075, + [2076] = 291, + [2077] = 1881, + [2078] = 1882, + [2079] = 1883, + [2080] = 323, + [2081] = 1884, + [2082] = 1856, + [2083] = 387, + [2084] = 1855, + [2085] = 329, + [2086] = 351, + [2087] = 365, + [2088] = 281, + [2089] = 2089, + [2090] = 1854, + [2091] = 373, + [2092] = 370, + [2093] = 2093, + [2094] = 352, + [2095] = 2095, + [2096] = 337, + [2097] = 314, + [2098] = 1868, + [2099] = 282, + [2100] = 1655, + [2101] = 1911, + [2102] = 393, + [2103] = 391, + [2104] = 285, + [2105] = 375, + [2106] = 1735, + [2107] = 1834, + [2108] = 289, + [2109] = 343, + [2110] = 350, + [2111] = 1835, + [2112] = 1857, + [2113] = 313, + [2114] = 1792, + [2115] = 1865, + [2116] = 308, + [2117] = 2117, + [2118] = 1878, + [2119] = 1852, + [2120] = 1877, + [2121] = 1875, + [2122] = 1873, + [2123] = 1872, + [2124] = 1870, + [2125] = 282, + [2126] = 1869, + [2127] = 285, + [2128] = 1699, + [2129] = 266, + [2130] = 377, + [2131] = 1851, + [2132] = 1874, + [2133] = 382, + [2134] = 1876, + [2135] = 1858, + [2136] = 1814, + [2137] = 1880, + [2138] = 366, + [2139] = 394, + [2140] = 368, + [2141] = 1881, + [2142] = 2142, + [2143] = 1850, + [2144] = 1848, + [2145] = 1847, + [2146] = 1846, + [2147] = 1869, + [2148] = 360, + [2149] = 1844, + [2150] = 390, + [2151] = 1882, + [2152] = 1870, + [2153] = 2153, + [2154] = 1886, + [2155] = 339, + [2156] = 266, + [2157] = 1883, + [2158] = 291, + [2159] = 1872, + [2160] = 288, + [2161] = 1887, + [2162] = 283, + [2163] = 1884, + [2164] = 388, + [2165] = 1873, + [2166] = 389, + [2167] = 381, + [2168] = 327, + [2169] = 125, + [2170] = 391, + [2171] = 289, + [2172] = 393, + [2173] = 1889, + [2174] = 314, + [2175] = 2175, + [2176] = 2010, + [2177] = 1856, + [2178] = 853, + [2179] = 360, + [2180] = 2180, + [2181] = 1855, + [2182] = 322, + [2183] = 1560, + [2184] = 1875, + [2185] = 1719, + [2186] = 293, + [2187] = 290, + [2188] = 1854, + [2189] = 318, + [2190] = 309, + [2191] = 1852, + [2192] = 374, + [2193] = 1877, + [2194] = 853, + [2195] = 1851, + [2196] = 1850, + [2197] = 1848, + [2198] = 357, + [2199] = 1847, + [2200] = 804, + [2201] = 351, + [2202] = 304, + [2203] = 1846, + [2204] = 1844, + [2205] = 329, + [2206] = 1878, + [2207] = 385, + [2208] = 1785, + [2209] = 1759, + [2210] = 853, + [2211] = 1758, + [2212] = 1784, + [2213] = 1840, + [2214] = 1721, + [2215] = 1782, + [2216] = 1921, + [2217] = 1838, + [2218] = 1837, + [2219] = 1836, + [2220] = 1833, + [2221] = 1831, + [2222] = 1830, + [2223] = 1828, + [2224] = 1826, + [2225] = 373, + [2226] = 370, + [2227] = 1826, + [2228] = 853, + [2229] = 1828, + [2230] = 1736, + [2231] = 308, + [2232] = 389, + [2233] = 1767, + [2234] = 1737, + [2235] = 319, + [2236] = 1761, + [2237] = 365, + [2238] = 377, + [2239] = 1738, + [2240] = 335, + [2241] = 1781, + [2242] = 1655, + [2243] = 1838, + [2244] = 335, + [2245] = 339, + [2246] = 2024, + [2247] = 382, + [2248] = 394, + [2249] = 328, + [2250] = 352, + [2251] = 331, + [2252] = 2003, + [2253] = 2002, + [2254] = 319, + [2255] = 331, + [2256] = 1777, + [2257] = 334, + [2258] = 328, + [2259] = 2259, + [2260] = 313, + [2261] = 2261, + [2262] = 322, + [2263] = 337, + [2264] = 1840, + [2265] = 1775, + [2266] = 320, + [2267] = 323, + [2268] = 1776, + [2269] = 1861, + [2270] = 2009, + [2271] = 368, + [2272] = 366, + [2273] = 1830, + [2274] = 364, + [2275] = 1831, + [2276] = 343, + [2277] = 350, + [2278] = 1833, + [2279] = 1980, + [2280] = 2006, + [2281] = 1879, + [2282] = 1901, + [2283] = 1994, + [2284] = 1837, + [2285] = 1836, + [2286] = 1853, + [2287] = 212, + [2288] = 1557, + [2289] = 853, + [2290] = 125, + [2291] = 1561, + [2292] = 1730, + [2293] = 1688, + [2294] = 1730, + [2295] = 2004, + [2296] = 1743, + [2297] = 1688, + [2298] = 1684, + [2299] = 217, + [2300] = 1563, + [2301] = 1716, + [2302] = 2302, + [2303] = 1559, + [2304] = 1714, + [2305] = 2305, + [2306] = 1558, + [2307] = 1564, + [2308] = 2308, + [2309] = 1685, + [2310] = 1685, + [2311] = 853, + [2312] = 1718, + [2313] = 1562, + [2314] = 1692, + [2315] = 1684, + [2316] = 2316, + [2317] = 1716, + [2318] = 1689, + [2319] = 1689, + [2320] = 1714, + [2321] = 853, + [2322] = 2322, + [2323] = 1853, + [2324] = 2324, + [2325] = 1718, + [2326] = 125, + [2327] = 2327, + [2328] = 1675, + [2329] = 2329, + [2330] = 1692, + [2331] = 1565, + [2332] = 1675, + [2333] = 1719, + [2334] = 2334, + [2335] = 125, + [2336] = 2024, + [2337] = 2337, + [2338] = 1684, + [2339] = 2009, + [2340] = 1721, + [2341] = 2341, + [2342] = 2342, + [2343] = 1994, + [2344] = 2344, + [2345] = 125, + [2346] = 2346, + [2347] = 1980, + [2348] = 804, + [2349] = 1689, + [2350] = 2350, + [2351] = 2004, + [2352] = 1685, + [2353] = 1675, + [2354] = 2354, + [2355] = 1743, + [2356] = 2356, + [2357] = 2357, + [2358] = 2006, + [2359] = 1684, + [2360] = 1685, + [2361] = 1688, + [2362] = 1951, + [2363] = 1688, + [2364] = 2364, + [2365] = 1689, + [2366] = 2366, + [2367] = 1861, + [2368] = 1685, + [2369] = 2369, + [2370] = 1692, + [2371] = 1689, + [2372] = 1943, + [2373] = 1692, + [2374] = 1692, + [2375] = 1743, + [2376] = 1655, + [2377] = 803, + [2378] = 2002, + [2379] = 2003, + [2380] = 1688, + [2381] = 1684, + [2382] = 1699, + [2383] = 2383, + [2384] = 2384, + [2385] = 2385, + [2386] = 2386, + [2387] = 2387, + [2388] = 2388, + [2389] = 2389, + [2390] = 2021, + [2391] = 2391, + [2392] = 2392, + [2393] = 2393, + [2394] = 1994, + [2395] = 1643, + [2396] = 1652, + [2397] = 1645, + [2398] = 1699, + [2399] = 2399, + [2400] = 2024, + [2401] = 2401, + [2402] = 2402, + [2403] = 2403, + [2404] = 1981, + [2405] = 2405, + [2406] = 2406, + [2407] = 2407, + [2408] = 2408, + [2409] = 1651, + [2410] = 2410, + [2411] = 2411, + [2412] = 2007, + [2413] = 2000, + [2414] = 1964, + [2415] = 2415, + [2416] = 2416, + [2417] = 2417, + [2418] = 2418, + [2419] = 1637, + [2420] = 1997, + [2421] = 1653, + [2422] = 1996, + [2423] = 2423, + [2424] = 2424, + [2425] = 2425, + [2426] = 2426, + [2427] = 2427, + [2428] = 2428, + [2429] = 2429, + [2430] = 2430, + [2431] = 2431, + [2432] = 2432, + [2433] = 1861, + [2434] = 2434, + [2435] = 1649, + [2436] = 2006, + [2437] = 2437, + [2438] = 2438, + [2439] = 2439, + [2440] = 2440, + [2441] = 2003, + [2442] = 1978, + [2443] = 2009, + [2444] = 1655, + [2445] = 2445, + [2446] = 1638, + [2447] = 1650, + [2448] = 1648, + [2449] = 1980, + [2450] = 1989, + [2451] = 212, + [2452] = 2002, + [2453] = 1639, + [2454] = 1642, + [2455] = 1689, + [2456] = 2456, + [2457] = 2457, + [2458] = 2015, + [2459] = 1688, + [2460] = 2460, + [2461] = 2461, + [2462] = 2462, + [2463] = 2463, + [2464] = 1684, + [2465] = 2014, + [2466] = 2466, + [2467] = 2467, + [2468] = 2468, + [2469] = 2469, + [2470] = 1641, + [2471] = 1692, + [2472] = 2472, + [2473] = 1644, + [2474] = 2474, + [2475] = 2475, + [2476] = 2476, + [2477] = 2477, + [2478] = 1945, + [2479] = 2479, + [2480] = 2480, + [2481] = 1685, + [2482] = 2482, + [2483] = 2017, + [2484] = 217, + [2485] = 2485, + [2486] = 1640, + [2487] = 2487, + [2488] = 2488, + [2489] = 2489, + [2490] = 2490, + [2491] = 2322, + [2492] = 1636, + [2493] = 1688, + [2494] = 1732, + [2495] = 1727, + [2496] = 1945, + [2497] = 2329, + [2498] = 1743, + [2499] = 2010, + [2500] = 1726, + [2501] = 1684, + [2502] = 125, + [2503] = 1675, + [2504] = 1699, + [2505] = 1743, + [2506] = 125, + [2507] = 1692, + [2508] = 1689, + [2509] = 1634, + [2510] = 1635, + [2511] = 125, + [2512] = 1685, + [2513] = 1699, + [2514] = 2004, + [2515] = 1945, + [2516] = 1655, + [2517] = 1735, + [2518] = 1741, + [2519] = 1868, + [2520] = 1767, + [2521] = 1684, + [2522] = 1859, + [2523] = 1761, + [2524] = 1773, + [2525] = 1775, + [2526] = 1841, + [2527] = 1692, + [2528] = 2528, + [2529] = 1825, + [2530] = 1784, + [2531] = 1839, + [2532] = 1759, + [2533] = 1866, + [2534] = 1849, + [2535] = 1785, + [2536] = 1758, + [2537] = 2010, + [2538] = 1776, + [2539] = 2539, + [2540] = 1858, + [2541] = 2541, + [2542] = 1860, + [2543] = 1781, + [2544] = 1782, + [2545] = 1879, + [2546] = 125, + [2547] = 1736, + [2548] = 2548, + [2549] = 1689, + [2550] = 2009, + [2551] = 2006, + [2552] = 1829, + [2553] = 1777, + [2554] = 125, + [2555] = 1857, + [2556] = 1738, + [2557] = 1861, + [2558] = 1835, + [2559] = 2024, + [2560] = 1980, + [2561] = 1685, + [2562] = 2562, + [2563] = 1792, + [2564] = 1886, + [2565] = 1770, + [2566] = 1994, + [2567] = 1688, + [2568] = 1887, + [2569] = 1889, + [2570] = 1834, + [2571] = 1861, + [2572] = 1772, + [2573] = 1814, + [2574] = 2003, + [2575] = 1842, + [2576] = 1737, + [2577] = 2002, + [2578] = 2578, + [2579] = 1730, + [2580] = 1951, + [2581] = 1714, + [2582] = 2322, + [2583] = 2006, + [2584] = 1718, + [2585] = 1626, + [2586] = 2004, + [2587] = 1770, + [2588] = 2329, + [2589] = 1718, + [2590] = 2590, + [2591] = 2024, + [2592] = 2590, + [2593] = 1562, + [2594] = 1945, + [2595] = 2002, + [2596] = 2002, + [2597] = 1563, + [2598] = 1559, + [2599] = 1730, + [2600] = 1564, + [2601] = 1716, + [2602] = 2009, + [2603] = 1994, + [2604] = 1626, + [2605] = 2003, + [2606] = 2590, + [2607] = 2003, + [2608] = 2024, + [2609] = 1770, + [2610] = 1699, + [2611] = 1558, + [2612] = 1980, + [2613] = 2006, + [2614] = 1741, + [2615] = 2590, + [2616] = 1655, + [2617] = 1980, + [2618] = 1943, + [2619] = 1557, + [2620] = 1561, + [2621] = 2009, + [2622] = 1741, + [2623] = 1994, + [2624] = 1716, + [2625] = 1714, + [2626] = 1996, + [2627] = 2322, + [2628] = 1675, + [2629] = 2004, + [2630] = 1804, + [2631] = 1558, + [2632] = 1626, + [2633] = 2528, + [2634] = 125, + [2635] = 1685, + [2636] = 1559, + [2637] = 2010, + [2638] = 1561, + [2639] = 1557, + [2640] = 1564, + [2641] = 1563, + [2642] = 1716, + [2643] = 1562, + [2644] = 1714, + [2645] = 1853, + [2646] = 1791, + [2647] = 1692, + [2648] = 1684, + [2649] = 1718, + [2650] = 2650, + [2651] = 1626, + [2652] = 2004, + [2653] = 1688, + [2654] = 1981, + [2655] = 2655, + [2656] = 2014, + [2657] = 2015, + [2658] = 1989, + [2659] = 1771, + [2660] = 1730, + [2661] = 1689, + [2662] = 2017, + [2663] = 2329, + [2664] = 2021, + [2665] = 1978, + [2666] = 2666, + [2667] = 2562, + [2668] = 2668, + [2669] = 2669, + [2670] = 2670, + [2671] = 2671, + [2672] = 2672, + [2673] = 2673, + [2674] = 2674, + [2675] = 1997, + [2676] = 2676, + [2677] = 2677, + [2678] = 2678, + [2679] = 2679, + [2680] = 2680, + [2681] = 2681, + [2682] = 2682, + [2683] = 2683, + [2684] = 2684, + [2685] = 2685, + [2686] = 1745, + [2687] = 1964, + [2688] = 2528, + [2689] = 2562, + [2690] = 2690, + [2691] = 2691, + [2692] = 2692, + [2693] = 2693, + [2694] = 2007, + [2695] = 1853, + [2696] = 2000, + [2697] = 1899, + [2698] = 2322, + [2699] = 2329, + [2700] = 2700, + [2701] = 2701, + [2702] = 1866, + [2703] = 1853, + [2704] = 1849, + [2705] = 2705, + [2706] = 1745, + [2707] = 2707, + [2708] = 1771, + [2709] = 1727, + [2710] = 1738, + [2711] = 1732, + [2712] = 1845, + [2713] = 1879, + [2714] = 1726, + [2715] = 1772, + [2716] = 1791, + [2717] = 2717, + [2718] = 1770, + [2719] = 1626, + [2720] = 270, + [2721] = 2410, + [2722] = 1834, + [2723] = 2024, + [2724] = 2003, + [2725] = 1804, + [2726] = 1943, + [2727] = 2727, + [2728] = 2728, + [2729] = 2407, + [2730] = 2701, + [2731] = 2002, + [2732] = 2732, + [2733] = 2009, + [2734] = 2006, + [2735] = 294, + [2736] = 2528, + [2737] = 1853, + [2738] = 2431, + [2739] = 1626, + [2740] = 1994, + [2741] = 2701, + [2742] = 1980, + [2743] = 2457, + [2744] = 2744, + [2745] = 2562, + [2746] = 1730, + [2747] = 2701, + [2748] = 1741, + [2749] = 2701, + [2750] = 2750, + [2751] = 2701, + [2752] = 1716, + [2753] = 1558, + [2754] = 1559, + [2755] = 1561, + [2756] = 1557, + [2757] = 1564, + [2758] = 1563, + [2759] = 1562, + [2760] = 1714, + [2761] = 2761, + [2762] = 1718, + [2763] = 2701, + [2764] = 1951, + [2765] = 2765, + [2766] = 1860, + [2767] = 1775, + [2768] = 1943, + [2769] = 2666, + [2770] = 1814, + [2771] = 2771, + [2772] = 2000, + [2773] = 2773, + [2774] = 2774, + [2775] = 2771, + [2776] = 2776, + [2777] = 2007, + [2778] = 1859, + [2779] = 1964, + [2780] = 2466, + [2781] = 2776, + [2782] = 2782, + [2783] = 2776, + [2784] = 2671, + [2785] = 2670, + [2786] = 1951, + [2787] = 1635, + [2788] = 1842, + [2789] = 1997, + [2790] = 2672, + [2791] = 1996, + [2792] = 2774, + [2793] = 2774, + [2794] = 2322, + [2795] = 1841, + [2796] = 2324, + [2797] = 2021, + [2798] = 1839, + [2799] = 2017, + [2800] = 1636, + [2801] = 1901, + [2802] = 1829, + [2803] = 2776, + [2804] = 2014, + [2805] = 1781, + [2806] = 1721, + [2807] = 1899, + [2808] = 1981, + [2809] = 1784, + [2810] = 2685, + [2811] = 1737, + [2812] = 2329, + [2813] = 1736, + [2814] = 1562, + [2815] = 1563, + [2816] = 1564, + [2817] = 2423, + [2818] = 1782, + [2819] = 2773, + [2820] = 2426, + [2821] = 1557, + [2822] = 1561, + [2823] = 1559, + [2824] = 1719, + [2825] = 2782, + [2826] = 1558, + [2827] = 2427, + [2828] = 1951, + [2829] = 1758, + [2830] = 2773, + [2831] = 2776, + [2832] = 2004, + [2833] = 1759, + [2834] = 2015, + [2835] = 2773, + [2836] = 1989, + [2837] = 2428, + [2838] = 2774, + [2839] = 2430, + [2840] = 1718, + [2841] = 1773, + [2842] = 2782, + [2843] = 1943, + [2844] = 1785, + [2845] = 2774, + [2846] = 1634, + [2847] = 2302, + [2848] = 1978, + [2849] = 2773, + [2850] = 2655, + [2851] = 2650, + [2852] = 2776, + [2853] = 1730, + [2854] = 2782, + [2855] = 1868, + [2856] = 1735, + [2857] = 2771, + [2858] = 2771, + [2859] = 2774, + [2860] = 2782, + [2861] = 1889, + [2862] = 1887, + [2863] = 2771, + [2864] = 1565, + [2865] = 1886, + [2866] = 1858, + [2867] = 2773, + [2868] = 1761, + [2869] = 1716, + [2870] = 1714, + [2871] = 1857, + [2872] = 1835, + [2873] = 2776, + [2874] = 2782, + [2875] = 2771, + [2876] = 1767, + [2877] = 1825, + [2878] = 2432, + [2879] = 1792, + [2880] = 1777, + [2881] = 2445, + [2882] = 1776, + [2883] = 2021, + [2884] = 1866, + [2885] = 1901, + [2886] = 2750, + [2887] = 1804, + [2888] = 1967, + [2889] = 1879, + [2890] = 1771, + [2891] = 2005, + [2892] = 2324, + [2893] = 2893, + [2894] = 2893, + [2895] = 1560, + [2896] = 1772, + [2897] = 2011, + [2898] = 2898, + [2899] = 1634, + [2900] = 2017, + [2901] = 1745, + [2902] = 2727, + [2903] = 1732, + [2904] = 2744, + [2905] = 2302, + [2906] = 2728, + [2907] = 1738, + [2908] = 1635, + [2909] = 2761, + [2910] = 1636, + [2911] = 1560, + [2912] = 1853, + [2913] = 1726, + [2914] = 1981, + [2915] = 1964, + [2916] = 2007, + [2917] = 2000, + [2918] = 1727, + [2919] = 2919, + [2920] = 1997, + [2921] = 1791, + [2922] = 1996, + [2923] = 2014, + [2924] = 1990, + [2925] = 1989, + [2926] = 1834, + [2927] = 2015, + [2928] = 2010, + [2929] = 2893, + [2930] = 1849, + [2931] = 1984, + [2932] = 1978, + [2933] = 2933, + [2934] = 1857, + [2935] = 2056, + [2936] = 2683, + [2937] = 1777, + [2938] = 1835, + [2939] = 1636, + [2940] = 1967, + [2941] = 1886, + [2942] = 2015, + [2943] = 1565, + [2944] = 1858, + [2945] = 2692, + [2946] = 1772, + [2947] = 2684, + [2948] = 1853, + [2949] = 2075, + [2950] = 1726, + [2951] = 1889, + [2952] = 1861, + [2953] = 2117, + [2954] = 1887, + [2955] = 1841, + [2956] = 2682, + [2957] = 2681, + [2958] = 2021, + [2959] = 1741, + [2960] = 2017, + [2961] = 1635, + [2962] = 2680, + [2963] = 2691, + [2964] = 2031, + [2965] = 2679, + [2966] = 2678, + [2967] = 2677, + [2968] = 2095, + [2969] = 1560, + [2970] = 2970, + [2971] = 1634, + [2972] = 2676, + [2973] = 2674, + [2974] = 1736, + [2975] = 2065, + [2976] = 2673, + [2977] = 1732, + [2978] = 2011, + [2979] = 1758, + [2980] = 1759, + [2981] = 1978, + [2982] = 2693, + [2983] = 2933, + [2984] = 2933, + [2985] = 2933, + [2986] = 2014, + [2987] = 1770, + [2988] = 2007, + [2989] = 1773, + [2990] = 1775, + [2991] = 1989, + [2992] = 1839, + [2993] = 2970, + [2994] = 2000, + [2995] = 1776, + [2996] = 2933, + [2997] = 2933, + [2998] = 2933, + [2999] = 1767, + [3000] = 1761, + [3001] = 1997, + [3002] = 1951, + [3003] = 1727, + [3004] = 1996, + [3005] = 1964, + [3006] = 2005, + [3007] = 1901, + [3008] = 1737, + [3009] = 2933, + [3010] = 2690, + [3011] = 1735, + [3012] = 1943, + [3013] = 1825, + [3014] = 1792, + [3015] = 1984, + [3016] = 1829, + [3017] = 1834, + [3018] = 1866, + [3019] = 1781, + [3020] = 1945, + [3021] = 1782, + [3022] = 1899, + [3023] = 1784, + [3024] = 1785, + [3025] = 2668, + [3026] = 1849, + [3027] = 1814, + [3028] = 1565, + [3029] = 1981, + [3030] = 2669, + [3031] = 2933, + [3032] = 1860, + [3033] = 1859, + [3034] = 1738, + [3035] = 1990, + [3036] = 1868, + [3037] = 1842, + [3038] = 2933, + [3039] = 1879, + [3040] = 2691, + [3041] = 3041, + [3042] = 2693, + [3043] = 2308, + [3044] = 2692, + [3045] = 1901, + [3046] = 1981, + [3047] = 2693, + [3048] = 2692, + [3049] = 2691, + [3050] = 2690, + [3051] = 2684, + [3052] = 2683, + [3053] = 2682, + [3054] = 2681, + [3055] = 2680, + [3056] = 2679, + [3057] = 2678, + [3058] = 2677, + [3059] = 2676, + [3060] = 2674, + [3061] = 2354, + [3062] = 1964, + [3063] = 2673, + [3064] = 2669, + [3065] = 2668, + [3066] = 2970, + [3067] = 2075, + [3068] = 1813, + [3069] = 2690, + [3070] = 2095, + [3071] = 2369, + [3072] = 2666, + [3073] = 2014, + [3074] = 2015, + [3075] = 1989, + [3076] = 1978, + [3077] = 2010, + [3078] = 1719, + [3079] = 2056, + [3080] = 2369, + [3081] = 2031, + [3082] = 2322, + [3083] = 2684, + [3084] = 2316, + [3085] = 2683, + [3086] = 2682, + [3087] = 2681, + [3088] = 2680, + [3089] = 2369, + [3090] = 2679, + [3091] = 2678, + [3092] = 2677, + [3093] = 3093, + [3094] = 1721, + [3095] = 2676, + [3096] = 2674, + [3097] = 2650, + [3098] = 2673, + [3099] = 2065, + [3100] = 2669, + [3101] = 1767, + [3102] = 1761, + [3103] = 1781, + [3104] = 3104, + [3105] = 1782, + [3106] = 1784, + [3107] = 1785, + [3108] = 1814, + [3109] = 2117, + [3110] = 1996, + [3111] = 1997, + [3112] = 2000, + [3113] = 2007, + [3114] = 1860, + [3115] = 1859, + [3116] = 1842, + [3117] = 1841, + [3118] = 1839, + [3119] = 2670, + [3120] = 2668, + [3121] = 1829, + [3122] = 1825, + [3123] = 2671, + [3124] = 2672, + [3125] = 3093, + [3126] = 1901, + [3127] = 2655, + [3128] = 2685, + [3129] = 1719, + [3130] = 1737, + [3131] = 1736, + [3132] = 3041, + [3133] = 1758, + [3134] = 3041, + [3135] = 1759, + [3136] = 1773, + [3137] = 1775, + [3138] = 1776, + [3139] = 1777, + [3140] = 1792, + [3141] = 3041, + [3142] = 2354, + [3143] = 3143, + [3144] = 1835, + [3145] = 1857, + [3146] = 2548, + [3147] = 1858, + [3148] = 1886, + [3149] = 1887, + [3150] = 2021, + [3151] = 2327, + [3152] = 2017, + [3153] = 1889, + [3154] = 1721, + [3155] = 1735, + [3156] = 1868, + [3157] = 1560, + [3158] = 3158, + [3159] = 1699, + [3160] = 1565, + [3161] = 2970, + [3162] = 1899, + [3163] = 3163, + [3164] = 1945, + [3165] = 3093, + [3166] = 3041, + [3167] = 3093, + [3168] = 2369, + [3169] = 1565, + [3170] = 3041, + [3171] = 1743, + [3172] = 3041, + [3173] = 2329, + [3174] = 2690, + [3175] = 2681, + [3176] = 1689, + [3177] = 2369, + [3178] = 2685, + [3179] = 1688, + [3180] = 2093, + [3181] = 2010, + [3182] = 2142, + [3183] = 3183, + [3184] = 2744, + [3185] = 2761, + [3186] = 2261, + [3187] = 2259, + [3188] = 2089, + [3189] = 1642, + [3190] = 2672, + [3191] = 2671, + [3192] = 2434, + [3193] = 2342, + [3194] = 3194, + [3195] = 1639, + [3196] = 2750, + [3197] = 2668, + [3198] = 2669, + [3199] = 2673, + [3200] = 2674, + [3201] = 2676, + [3202] = 2677, + [3203] = 2678, + [3204] = 2679, + [3205] = 2680, + [3206] = 2681, + [3207] = 1861, + [3208] = 2682, + [3209] = 2668, + [3210] = 2683, + [3211] = 2684, + [3212] = 1834, + [3213] = 2690, + [3214] = 2691, + [3215] = 2692, + [3216] = 2693, + [3217] = 2670, + [3218] = 1640, + [3219] = 3194, + [3220] = 2728, + [3221] = 2727, + [3222] = 3222, + [3223] = 2341, + [3224] = 3194, + [3225] = 2032, + [3226] = 3226, + [3227] = 2728, + [3228] = 2305, + [3229] = 2393, + [3230] = 2669, + [3231] = 803, + [3232] = 2761, + [3233] = 2461, + [3234] = 2970, + [3235] = 1732, + [3236] = 1692, + [3237] = 2744, + [3238] = 1770, + [3239] = 2057, + [3240] = 1651, + [3241] = 2673, + [3242] = 2970, + [3243] = 1685, + [3244] = 2970, + [3245] = 2650, + [3246] = 2674, + [3247] = 2676, + [3248] = 2677, + [3249] = 2970, + [3250] = 2678, + [3251] = 1684, + [3252] = 2679, + [3253] = 2680, + [3254] = 3254, + [3255] = 1726, + [3256] = 2682, + [3257] = 1565, + [3258] = 3222, + [3259] = 2683, + [3260] = 2684, + [3261] = 2655, + [3262] = 1643, + [3263] = 2693, + [3264] = 2692, + [3265] = 3194, + [3266] = 2346, + [3267] = 2691, + [3268] = 2690, + [3269] = 1772, + [3270] = 1727, + [3271] = 2434, + [3272] = 2970, + [3273] = 2666, + [3274] = 2684, + [3275] = 212, + [3276] = 1652, + [3277] = 2683, + [3278] = 2682, + [3279] = 2727, + [3280] = 2970, + [3281] = 2681, + [3282] = 1879, + [3283] = 2369, + [3284] = 1645, + [3285] = 1738, + [3286] = 3194, + [3287] = 2680, + [3288] = 3143, + [3289] = 2705, + [3290] = 803, + [3291] = 3226, + [3292] = 2750, + [3293] = 2666, + [3294] = 2679, + [3295] = 3194, + [3296] = 3222, + [3297] = 2445, + [3298] = 3194, + [3299] = 2354, + [3300] = 1644, + [3301] = 1641, + [3302] = 1648, + [3303] = 2678, + [3304] = 3194, + [3305] = 2369, + [3306] = 2677, + [3307] = 3307, + [3308] = 2676, + [3309] = 2674, + [3310] = 2316, + [3311] = 3194, + [3312] = 2650, + [3313] = 2673, + [3314] = 2669, + [3315] = 1650, + [3316] = 2970, + [3317] = 2393, + [3318] = 2670, + [3319] = 2668, + [3320] = 2691, + [3321] = 1638, + [3322] = 1741, + [3323] = 2671, + [3324] = 2672, + [3325] = 2350, + [3326] = 2919, + [3327] = 2692, + [3328] = 1637, + [3329] = 1866, + [3330] = 2685, + [3331] = 2308, + [3332] = 2693, + [3333] = 2655, + [3334] = 804, + [3335] = 1649, + [3336] = 1849, + [3337] = 2180, + [3338] = 2025, + [3339] = 1721, + [3340] = 1653, + [3341] = 2327, + [3342] = 2175, + [3343] = 2153, + [3344] = 1719, + [3345] = 2369, + [3346] = 804, + [3347] = 2970, + [3348] = 217, + [3349] = 2432, + [3350] = 2430, + [3351] = 2423, + [3352] = 2426, + [3353] = 2427, + [3354] = 2428, + [3355] = 2461, + [3356] = 2305, + [3357] = 2761, + [3358] = 2025, + [3359] = 2393, + [3360] = 2425, + [3361] = 2418, + [3362] = 2180, + [3363] = 1741, + [3364] = 2541, + [3365] = 3365, + [3366] = 2337, + [3367] = 1638, + [3368] = 1650, + [3369] = 1648, + [3370] = 2344, + [3371] = 1825, + [3372] = 2466, + [3373] = 2175, + [3374] = 1829, + [3375] = 1839, + [3376] = 2346, + [3377] = 1841, + [3378] = 1842, + [3379] = 2461, + [3380] = 2153, + [3381] = 2472, + [3382] = 2342, + [3383] = 1859, + [3384] = 2329, + [3385] = 1860, + [3386] = 2476, + [3387] = 1644, + [3388] = 2417, + [3389] = 1641, + [3390] = 2415, + [3391] = 2411, + [3392] = 217, + [3393] = 2970, + [3394] = 2324, + [3395] = 2095, + [3396] = 1651, + [3397] = 1770, + [3398] = 2387, + [3399] = 2031, + [3400] = 2489, + [3401] = 2445, + [3402] = 2432, + [3403] = 2322, + [3404] = 2430, + [3405] = 2350, + [3406] = 2482, + [3407] = 3407, + [3408] = 2009, + [3409] = 2468, + [3410] = 2970, + [3411] = 2428, + [3412] = 2456, + [3413] = 2427, + [3414] = 2434, + [3415] = 1699, + [3416] = 2369, + [3417] = 2474, + [3418] = 1642, + [3419] = 1639, + [3420] = 2426, + [3421] = 2006, + [3422] = 2423, + [3423] = 1899, + [3424] = 2466, + [3425] = 2403, + [3426] = 1737, + [3427] = 1736, + [3428] = 1814, + [3429] = 2093, + [3430] = 2369, + [3431] = 1653, + [3432] = 1945, + [3433] = 1758, + [3434] = 1759, + [3435] = 2475, + [3436] = 2065, + [3437] = 2010, + [3438] = 2383, + [3439] = 1773, + [3440] = 1775, + [3441] = 1994, + [3442] = 1776, + [3443] = 1785, + [3444] = 1777, + [3445] = 2004, + [3446] = 1784, + [3447] = 125, + [3448] = 2424, + [3449] = 2407, + [3450] = 2410, + [3451] = 2009, + [3452] = 1792, + [3453] = 125, + [3454] = 2354, + [3455] = 2369, + [3456] = 212, + [3457] = 1980, + [3458] = 1901, + [3459] = 1781, + [3460] = 2744, + [3461] = 1719, + [3462] = 2024, + [3463] = 2429, + [3464] = 2466, + [3465] = 2406, + [3466] = 2388, + [3467] = 804, + [3468] = 2750, + [3469] = 2392, + [3470] = 1721, + [3471] = 803, + [3472] = 2391, + [3473] = 2466, + [3474] = 2389, + [3475] = 2384, + [3476] = 2466, + [3477] = 2056, + [3478] = 2440, + [3479] = 1782, + [3480] = 1643, + [3481] = 1652, + [3482] = 2385, + [3483] = 2386, + [3484] = 2437, + [3485] = 1761, + [3486] = 2302, + [3487] = 1645, + [3488] = 1675, + [3489] = 2366, + [3490] = 2364, + [3491] = 2401, + [3492] = 2402, + [3493] = 1767, + [3494] = 2334, + [3495] = 2357, + [3496] = 2469, + [3497] = 2356, + [3498] = 2970, + [3499] = 1637, + [3500] = 1649, + [3501] = 2089, + [3502] = 2431, + [3503] = 1835, + [3504] = 1857, + [3505] = 2057, + [3506] = 1858, + [3507] = 2032, + [3508] = 2003, + [3509] = 1886, + [3510] = 2002, + [3511] = 1887, + [3512] = 1889, + [3513] = 2259, + [3514] = 2261, + [3515] = 2142, + [3516] = 2477, + [3517] = 2479, + [3518] = 2002, + [3519] = 2457, + [3520] = 2416, + [3521] = 2480, + [3522] = 2490, + [3523] = 2487, + [3524] = 2970, + [3525] = 1655, + [3526] = 2003, + [3527] = 3527, + [3528] = 2024, + [3529] = 1980, + [3530] = 2438, + [3531] = 2439, + [3532] = 1994, + [3533] = 2728, + [3534] = 1640, + [3535] = 2460, + [3536] = 2462, + [3537] = 2463, + [3538] = 2727, + [3539] = 2006, + [3540] = 2467, + [3541] = 2341, + [3542] = 1868, + [3543] = 1735, + [3544] = 2426, + [3545] = 3545, + [3546] = 1652, + [3547] = 3547, + [3548] = 1649, + [3549] = 1637, + [3550] = 3550, + [3551] = 1684, + [3552] = 1639, + [3553] = 1642, + [3554] = 1640, + [3555] = 3555, + [3556] = 1641, + [3557] = 2467, + [3558] = 1644, + [3559] = 3559, + [3560] = 2466, + [3561] = 1648, + [3562] = 3562, + [3563] = 1650, + [3564] = 2678, + [3565] = 2679, + [3566] = 2680, + [3567] = 1638, + [3568] = 2357, + [3569] = 2383, + [3570] = 3570, + [3571] = 3547, + [3572] = 2324, + [3573] = 1653, + [3574] = 3574, + [3575] = 1716, + [3576] = 3574, + [3577] = 2475, + [3578] = 3547, + [3579] = 1714, + [3580] = 2681, + [3581] = 1651, + [3582] = 3570, + [3583] = 1718, + [3584] = 2682, + [3585] = 2466, + [3586] = 2466, + [3587] = 2356, + [3588] = 3550, + [3589] = 2683, + [3590] = 3590, + [3591] = 2684, + [3592] = 2460, + [3593] = 3593, + [3594] = 1741, + [3595] = 3559, + [3596] = 3545, + [3597] = 2440, + [3598] = 2387, + [3599] = 2385, + [3600] = 2386, + [3601] = 3559, + [3602] = 3602, + [3603] = 2401, + [3604] = 2402, + [3605] = 3562, + [3606] = 2477, + [3607] = 2479, + [3608] = 2369, + [3609] = 2334, + [3610] = 2439, + [3611] = 2364, + [3612] = 3570, + [3613] = 2691, + [3614] = 2438, + [3615] = 2474, + [3616] = 3550, + [3617] = 2666, + [3618] = 2366, + [3619] = 3555, + [3620] = 2463, + [3621] = 2462, + [3622] = 3574, + [3623] = 3545, + [3624] = 3547, + [3625] = 2411, + [3626] = 2437, + [3627] = 2415, + [3628] = 1643, + [3629] = 3559, + [3630] = 2410, + [3631] = 2302, + [3632] = 1645, + [3633] = 3559, + [3634] = 2423, + [3635] = 3555, + [3636] = 3547, + [3637] = 3547, + [3638] = 2427, + [3639] = 2428, + [3640] = 2466, + [3641] = 2430, + [3642] = 3550, + [3643] = 2432, + [3644] = 3562, + [3645] = 3559, + [3646] = 2677, + [3647] = 3550, + [3648] = 2457, + [3649] = 3547, + [3650] = 2393, + [3651] = 1675, + [3652] = 1730, + [3653] = 2322, + [3654] = 3559, + [3655] = 1565, + [3656] = 1688, + [3657] = 3574, + [3658] = 3545, + [3659] = 3574, + [3660] = 2487, + [3661] = 3547, + [3662] = 2391, + [3663] = 3550, + [3664] = 2472, + [3665] = 3570, + [3666] = 2490, + [3667] = 2674, + [3668] = 3555, + [3669] = 3562, + [3670] = 3547, + [3671] = 2650, + [3672] = 2329, + [3673] = 2673, + [3674] = 2004, + [3675] = 2693, + [3676] = 3574, + [3677] = 3555, + [3678] = 3545, + [3679] = 2480, + [3680] = 2461, + [3681] = 2692, + [3682] = 2431, + [3683] = 3562, + [3684] = 3562, + [3685] = 1558, + [3686] = 3545, + [3687] = 2388, + [3688] = 2476, + [3689] = 2469, + [3690] = 3550, + [3691] = 2308, + [3692] = 1559, + [3693] = 1561, + [3694] = 2403, + [3695] = 1557, + [3696] = 1564, + [3697] = 1563, + [3698] = 2690, + [3699] = 1562, + [3700] = 3570, + [3701] = 2685, + [3702] = 1560, + [3703] = 3703, + [3704] = 3559, + [3705] = 2468, + [3706] = 3550, + [3707] = 2482, + [3708] = 3547, + [3709] = 3574, + [3710] = 2670, + [3711] = 2456, + [3712] = 3545, + [3713] = 3574, + [3714] = 212, + [3715] = 2445, + [3716] = 2489, + [3717] = 217, + [3718] = 3547, + [3719] = 2970, + [3720] = 3545, + [3721] = 3550, + [3722] = 2429, + [3723] = 3559, + [3724] = 2676, + [3725] = 1689, + [3726] = 2416, + [3727] = 2308, + [3728] = 2672, + [3729] = 2406, + [3730] = 1558, + [3731] = 3547, + [3732] = 1559, + [3733] = 1561, + [3734] = 1557, + [3735] = 1685, + [3736] = 1564, + [3737] = 1563, + [3738] = 1562, + [3739] = 3545, + [3740] = 1692, + [3741] = 2344, + [3742] = 2337, + [3743] = 2671, + [3744] = 1684, + [3745] = 1688, + [3746] = 1689, + [3747] = 2392, + [3748] = 3570, + [3749] = 2407, + [3750] = 3750, + [3751] = 2434, + [3752] = 1565, + [3753] = 2668, + [3754] = 2970, + [3755] = 2389, + [3756] = 2384, + [3757] = 3574, + [3758] = 125, + [3759] = 1770, + [3760] = 2424, + [3761] = 3555, + [3762] = 2669, + [3763] = 2417, + [3764] = 2418, + [3765] = 2425, + [3766] = 1745, + [3767] = 2728, + [3768] = 1692, + [3769] = 1804, + [3770] = 3770, + [3771] = 2406, + [3772] = 1684, + [3773] = 1685, + [3774] = 3770, + [3775] = 2490, + [3776] = 1688, + [3777] = 125, + [3778] = 1685, + [3779] = 3770, + [3780] = 1692, + [3781] = 2727, + [3782] = 3770, + [3783] = 1684, + [3784] = 1688, + [3785] = 3770, + [3786] = 1689, + [3787] = 1689, + [3788] = 3770, + [3789] = 2472, + [3790] = 3770, + [3791] = 3791, + [3792] = 2919, + [3793] = 3793, + [3794] = 2750, + [3795] = 3770, + [3796] = 3791, + [3797] = 3770, + [3798] = 1853, + [3799] = 3793, + [3800] = 3770, + [3801] = 1771, + [3802] = 3802, + [3803] = 3770, + [3804] = 3791, + [3805] = 2342, + [3806] = 2439, + [3807] = 3770, + [3808] = 3793, + [3809] = 1791, + [3810] = 2342, + [3811] = 3770, + [3812] = 2010, + [3813] = 1675, + [3814] = 3770, + [3815] = 3815, + [3816] = 2744, + [3817] = 2761, + [3818] = 3791, + [3819] = 2970, + [3820] = 3820, + [3821] = 3793, + [3822] = 2416, + [3823] = 3823, + [3824] = 2476, + [3825] = 2389, + [3826] = 2475, + [3827] = 2424, + [3828] = 2480, + [3829] = 2384, + [3830] = 2457, + [3831] = 2385, + [3832] = 2437, + [3833] = 2386, + [3834] = 2438, + [3835] = 3820, + [3836] = 2431, + [3837] = 2383, + [3838] = 3163, + [3839] = 2467, + [3840] = 2480, + [3841] = 3823, + [3842] = 3158, + [3843] = 2415, + [3844] = 2411, + [3845] = 2440, + [3846] = 1645, + [3847] = 1648, + [3848] = 2406, + [3849] = 1652, + [3850] = 2479, + [3851] = 1943, + [3852] = 2429, + [3853] = 2477, + [3854] = 1650, + [3855] = 1637, + [3856] = 1649, + [3857] = 2302, + [3858] = 1638, + [3859] = 2487, + [3860] = 1684, + [3861] = 2479, + [3862] = 2437, + [3863] = 2438, + [3864] = 3823, + [3865] = 1643, + [3866] = 2487, + [3867] = 1653, + [3868] = 2439, + [3869] = 3869, + [3870] = 212, + [3871] = 2415, + [3872] = 3823, + [3873] = 2477, + [3874] = 2411, + [3875] = 1688, + [3876] = 1741, + [3877] = 1639, + [3878] = 3869, + [3879] = 1651, + [3880] = 1943, + [3881] = 2970, + [3882] = 217, + [3883] = 3820, + [3884] = 2388, + [3885] = 3820, + [3886] = 1689, + [3887] = 2440, + [3888] = 3888, + [3889] = 3820, + [3890] = 1951, + [3891] = 2402, + [3892] = 1685, + [3893] = 3869, + [3894] = 2472, + [3895] = 2402, + [3896] = 3820, + [3897] = 2490, + [3898] = 1642, + [3899] = 3823, + [3900] = 2460, + [3901] = 2383, + [3902] = 2462, + [3903] = 2463, + [3904] = 3869, + [3905] = 2401, + [3906] = 2476, + [3907] = 2391, + [3908] = 1692, + [3909] = 1644, + [3910] = 3869, + [3911] = 2429, + [3912] = 2456, + [3913] = 2456, + [3914] = 2401, + [3915] = 1641, + [3916] = 2392, + [3917] = 2324, + [3918] = 2387, + [3919] = 2970, + [3920] = 2416, + [3921] = 2475, + [3922] = 2388, + [3923] = 2407, + [3924] = 2463, + [3925] = 1565, + [3926] = 1640, + [3927] = 2460, + [3928] = 2410, + [3929] = 2392, + [3930] = 2386, + [3931] = 2391, + [3932] = 2385, + [3933] = 2970, + [3934] = 3869, + [3935] = 2384, + [3936] = 2467, + [3937] = 1951, + [3938] = 2387, + [3939] = 2424, + [3940] = 2389, + [3941] = 2462, + [3942] = 1770, + [3943] = 3823, + [3944] = 1989, + [3945] = 2031, + [3946] = 2000, + [3947] = 2007, + [3948] = 2014, + [3949] = 1996, + [3950] = 1997, + [3951] = 1996, + [3952] = 2095, + [3953] = 1997, + [3954] = 1560, + [3955] = 3793, + [3956] = 2919, + [3957] = 1945, + [3958] = 2000, + [3959] = 1978, + [3960] = 2007, + [3961] = 3793, + [3962] = 2056, + [3963] = 3791, + [3964] = 2021, + [3965] = 1964, + [3966] = 2015, + [3967] = 1978, + [3968] = 2014, + [3969] = 2017, + [3970] = 1989, + [3971] = 2065, + [3972] = 2021, + [3973] = 3791, + [3974] = 2017, + [3975] = 2322, + [3976] = 3976, + [3977] = 3977, + [3978] = 1981, + [3979] = 2329, + [3980] = 2015, + [3981] = 1964, + [3982] = 1981, + [3983] = 3983, + [3984] = 3984, + [3985] = 3985, + [3986] = 3984, + [3987] = 3984, + [3988] = 3983, + [3989] = 3989, + [3990] = 3984, + [3991] = 3793, + [3992] = 1834, + [3993] = 1791, + [3994] = 1866, + [3995] = 3985, + [3996] = 3989, + [3997] = 3984, + [3998] = 1771, + [3999] = 3983, + [4000] = 3984, + [4001] = 1804, + [4002] = 1727, + [4003] = 1699, + [4004] = 3989, + [4005] = 3985, + [4006] = 3983, + [4007] = 3989, + [4008] = 3984, + [4009] = 3983, + [4010] = 3985, + [4011] = 3985, + [4012] = 1565, + [4013] = 1772, + [4014] = 1849, + [4015] = 3989, + [4016] = 3984, + [4017] = 3983, + [4018] = 2010, + [4019] = 3983, + [4020] = 3791, + [4021] = 3985, + [4022] = 3985, + [4023] = 3983, + [4024] = 3989, + [4025] = 3989, + [4026] = 1879, + [4027] = 3985, + [4028] = 3989, + [4029] = 3983, + [4030] = 3989, + [4031] = 3750, + [4032] = 3985, + [4033] = 1732, + [4034] = 1745, + [4035] = 1726, + [4036] = 1738, + [4037] = 3984, + [4038] = 1737, + [4039] = 1889, + [4040] = 1736, + [4041] = 1868, + [4042] = 4042, + [4043] = 1825, + [4044] = 1758, + [4045] = 1829, + [4046] = 1759, + [4047] = 1839, + [4048] = 1841, + [4049] = 3791, + [4050] = 1767, + [4051] = 1842, + [4052] = 1761, + [4053] = 1859, + [4054] = 1860, + [4055] = 1773, + [4056] = 1775, + [4057] = 1776, + [4058] = 1886, + [4059] = 1782, + [4060] = 1777, + [4061] = 1735, + [4062] = 1784, + [4063] = 1785, + [4064] = 1741, + [4065] = 1792, + [4066] = 4042, + [4067] = 1887, + [4068] = 1814, + [4069] = 1835, + [4070] = 1857, + [4071] = 1770, + [4072] = 3793, + [4073] = 1781, + [4074] = 1858, + [4075] = 4075, + [4076] = 4076, + [4077] = 4077, + [4078] = 4078, + [4079] = 3791, + [4080] = 1745, + [4081] = 2691, + [4082] = 2666, + [4083] = 3793, + [4084] = 4078, + [4085] = 4085, + [4086] = 1743, + [4087] = 2684, + [4088] = 1804, + [4089] = 2431, + [4090] = 3041, + [4091] = 2410, + [4092] = 2322, + [4093] = 2457, + [4094] = 2650, + [4095] = 4095, + [4096] = 4096, + [4097] = 4097, + [4098] = 4096, + [4099] = 4085, + [4100] = 1743, + [4101] = 4097, + [4102] = 2683, + [4103] = 2407, + [4104] = 2669, + [4105] = 2682, + [4106] = 1791, + [4107] = 4077, + [4108] = 4076, + [4109] = 2673, + [4110] = 2670, + [4111] = 2690, + [4112] = 2671, + [4113] = 2681, + [4114] = 2693, + [4115] = 1560, + [4116] = 2680, + [4117] = 2692, + [4118] = 2672, + [4119] = 4095, + [4120] = 4085, + [4121] = 2674, + [4122] = 2685, + [4123] = 3041, + [4124] = 4077, + [4125] = 2679, + [4126] = 2668, + [4127] = 2678, + [4128] = 2676, + [4129] = 2677, + [4130] = 2329, + [4131] = 1771, + [4132] = 1572, + [4133] = 339, + [4134] = 4134, + [4135] = 2727, + [4136] = 1791, + [4137] = 1804, + [4138] = 2329, + [4139] = 4085, + [4140] = 2728, + [4141] = 2750, + [4142] = 125, + [4143] = 314, + [4144] = 2744, + [4145] = 2761, + [4146] = 1771, + [4147] = 289, + [4148] = 1745, + [4149] = 1743, + [4150] = 2488, + [4151] = 4151, + [4152] = 3791, + [4153] = 281, + [4154] = 2329, + [4155] = 285, + [4156] = 4077, + [4157] = 2322, + [4158] = 3977, + [4159] = 282, + [4160] = 3793, + [4161] = 2322, + [4162] = 2399, + [4163] = 3976, + [4164] = 2666, + [4165] = 1861, + [4166] = 2065, + [4167] = 2324, + [4168] = 3791, + [4169] = 2031, + [4170] = 1741, + [4171] = 2302, + [4172] = 2670, + [4173] = 2650, + [4174] = 1560, + [4175] = 1655, + [4176] = 2010, + [4177] = 2672, + [4178] = 3793, + [4179] = 3791, + [4180] = 2671, + [4181] = 1770, + [4182] = 2056, + [4183] = 4085, + [4184] = 4085, + [4185] = 2010, + [4186] = 3793, + [4187] = 4077, + [4188] = 4077, + [4189] = 1945, + [4190] = 2685, + [4191] = 2095, + [4192] = 4192, + [4193] = 4193, + [4194] = 2302, + [4195] = 3793, + [4196] = 4196, + [4197] = 2744, + [4198] = 4198, + [4199] = 4199, + [4200] = 4200, + [4201] = 2728, + [4202] = 4199, + [4203] = 1743, + [4204] = 4198, + [4205] = 4085, + [4206] = 4198, + [4207] = 4134, + [4208] = 2727, + [4209] = 4077, + [4210] = 4151, + [4211] = 3791, + [4212] = 3793, + [4213] = 4134, + [4214] = 4192, + [4215] = 2750, + [4216] = 4192, + [4217] = 4217, + [4218] = 4199, + [4219] = 3791, + [4220] = 4193, + [4221] = 4221, + [4222] = 2324, + [4223] = 4196, + [4224] = 4196, + [4225] = 4193, + [4226] = 2761, + [4227] = 2541, + [4228] = 4228, + [4229] = 2578, + [4230] = 1655, + [4231] = 4196, + [4232] = 4232, + [4233] = 4085, + [4234] = 1945, + [4235] = 2539, + [4236] = 4198, + [4237] = 4134, + [4238] = 1861, + [4239] = 4192, + [4240] = 1565, + [4241] = 4193, + [4242] = 4077, + [4243] = 4243, + [4244] = 4244, + [4245] = 4245, + [4246] = 4193, + [4247] = 4244, + [4248] = 2056, + [4249] = 2673, + [4250] = 4250, + [4251] = 1639, + [4252] = 2684, + [4253] = 2683, + [4254] = 2682, + [4255] = 2681, + [4256] = 2680, + [4257] = 2679, + [4258] = 2678, + [4259] = 4259, + [4260] = 2677, + [4261] = 1642, + [4262] = 2676, + [4263] = 2674, + [4264] = 2674, + [4265] = 2676, + [4266] = 2673, + [4267] = 4267, + [4268] = 2692, + [4269] = 2677, + [4270] = 2668, + [4271] = 2678, + [4272] = 2679, + [4273] = 2669, + [4274] = 2680, + [4275] = 2681, + [4276] = 4085, + [4277] = 4277, + [4278] = 4244, + [4279] = 2691, + [4280] = 4244, + [4281] = 4259, + [4282] = 4282, + [4283] = 2682, + [4284] = 4192, + [4285] = 4285, + [4286] = 3791, + [4287] = 2690, + [4288] = 4259, + [4289] = 4285, + [4290] = 4290, + [4291] = 4290, + [4292] = 4282, + [4293] = 2668, + [4294] = 4290, + [4295] = 4282, + [4296] = 2691, + [4297] = 2683, + [4298] = 4290, + [4299] = 1980, + [4300] = 1770, + [4301] = 125, + [4302] = 2692, + [4303] = 2693, + [4304] = 4244, + [4305] = 1641, + [4306] = 4196, + [4307] = 4245, + [4308] = 4245, + [4309] = 4245, + [4310] = 4277, + [4311] = 4290, + [4312] = 4312, + [4313] = 2684, + [4314] = 1644, + [4315] = 1640, + [4316] = 2095, + [4317] = 1994, + [4318] = 4259, + [4319] = 2669, + [4320] = 4290, + [4321] = 4277, + [4322] = 1741, + [4323] = 2006, + [4324] = 2009, + [4325] = 4325, + [4326] = 4290, + [4327] = 4282, + [4328] = 4077, + [4329] = 2031, + [4330] = 2322, + [4331] = 2329, + [4332] = 4290, + [4333] = 4290, + [4334] = 4290, + [4335] = 1652, + [4336] = 2669, + [4337] = 4290, + [4338] = 4244, + [4339] = 4285, + [4340] = 4290, + [4341] = 2004, + [4342] = 4245, + [4343] = 1648, + [4344] = 4282, + [4345] = 4345, + [4346] = 1650, + [4347] = 1638, + [4348] = 4290, + [4349] = 2693, + [4350] = 4196, + [4351] = 4290, + [4352] = 2673, + [4353] = 2674, + [4354] = 2676, + [4355] = 2677, + [4356] = 4277, + [4357] = 2678, + [4358] = 2668, + [4359] = 2679, + [4360] = 4277, + [4361] = 4361, + [4362] = 2002, + [4363] = 2003, + [4364] = 4364, + [4365] = 2680, + [4366] = 2681, + [4367] = 2682, + [4368] = 4245, + [4369] = 2683, + [4370] = 2693, + [4371] = 2684, + [4372] = 2024, + [4373] = 4244, + [4374] = 4282, + [4375] = 1653, + [4376] = 217, + [4377] = 4259, + [4378] = 4290, + [4379] = 212, + [4380] = 4380, + [4381] = 4259, + [4382] = 1651, + [4383] = 4383, + [4384] = 4277, + [4385] = 4290, + [4386] = 1637, + [4387] = 1643, + [4388] = 4193, + [4389] = 2322, + [4390] = 4192, + [4391] = 2329, + [4392] = 4392, + [4393] = 2010, + [4394] = 4394, + [4395] = 1649, + [4396] = 4396, + [4397] = 2690, + [4398] = 4245, + [4399] = 2692, + [4400] = 4277, + [4401] = 4401, + [4402] = 4198, + [4403] = 2691, + [4404] = 4198, + [4405] = 2690, + [4406] = 1645, + [4407] = 2065, + [4408] = 3793, + [4409] = 4290, + [4410] = 2727, + [4411] = 4411, + [4412] = 4412, + [4413] = 4413, + [4414] = 2672, + [4415] = 4415, + [4416] = 4416, + [4417] = 2671, + [4418] = 2666, + [4419] = 4411, + [4420] = 4411, + [4421] = 4415, + [4422] = 2669, + [4423] = 4423, + [4424] = 2693, + [4425] = 4412, + [4426] = 4426, + [4427] = 2692, + [4428] = 2691, + [4429] = 4415, + [4430] = 4430, + [4431] = 4431, + [4432] = 2690, + [4433] = 2670, + [4434] = 2668, + [4435] = 4435, + [4436] = 2684, + [4437] = 4430, + [4438] = 4430, + [4439] = 2673, + [4440] = 2650, + [4441] = 2674, + [4442] = 2676, + [4443] = 2677, + [4444] = 2678, + [4445] = 4243, + [4446] = 4446, + [4447] = 4435, + [4448] = 2684, + [4449] = 2679, + [4450] = 4450, + [4451] = 2680, + [4452] = 2683, + [4453] = 2681, + [4454] = 2682, + [4455] = 2683, + [4456] = 4077, + [4457] = 2684, + [4458] = 1699, + [4459] = 4459, + [4460] = 1813, + [4461] = 4415, + [4462] = 2682, + [4463] = 2681, + [4464] = 4464, + [4465] = 2680, + [4466] = 2679, + [4467] = 4243, + [4468] = 2678, + [4469] = 2677, + [4470] = 2676, + [4471] = 2674, + [4472] = 2666, + [4473] = 4435, + [4474] = 4474, + [4475] = 4413, + [4476] = 2690, + [4477] = 2691, + [4478] = 4478, + [4479] = 4411, + [4480] = 2692, + [4481] = 4481, + [4482] = 4411, + [4483] = 4423, + [4484] = 2692, + [4485] = 2693, + [4486] = 4413, + [4487] = 2683, + [4488] = 2682, + [4489] = 4411, + [4490] = 2681, + [4491] = 2672, + [4492] = 4228, + [4493] = 2673, + [4494] = 4413, + [4495] = 4495, + [4496] = 2761, + [4497] = 2680, + [4498] = 4498, + [4499] = 2679, + [4500] = 2678, + [4501] = 4415, + [4502] = 2677, + [4503] = 4423, + [4504] = 4075, + [4505] = 2685, + [4506] = 4506, + [4507] = 2691, + [4508] = 2744, + [4509] = 4413, + [4510] = 4510, + [4511] = 4411, + [4512] = 2668, + [4513] = 4412, + [4514] = 2671, + [4515] = 4464, + [4516] = 2674, + [4517] = 2668, + [4518] = 4430, + [4519] = 4519, + [4520] = 2650, + [4521] = 4464, + [4522] = 2673, + [4523] = 4464, + [4524] = 4412, + [4525] = 2676, + [4526] = 1565, + [4527] = 4435, + [4528] = 4464, + [4529] = 4413, + [4530] = 4411, + [4531] = 4531, + [4532] = 2670, + [4533] = 2728, + [4534] = 4196, + [4535] = 4415, + [4536] = 4536, + [4537] = 4537, + [4538] = 2669, + [4539] = 4435, + [4540] = 4415, + [4541] = 4541, + [4542] = 2693, + [4543] = 4228, + [4544] = 4423, + [4545] = 4464, + [4546] = 2685, + [4547] = 4547, + [4548] = 4464, + [4549] = 4464, + [4550] = 3226, + [4551] = 2690, + [4552] = 4198, + [4553] = 4430, + [4554] = 4541, + [4555] = 4464, + [4556] = 4464, + [4557] = 4412, + [4558] = 4423, + [4559] = 4192, + [4560] = 4464, + [4561] = 4412, + [4562] = 4413, + [4563] = 2669, + [4564] = 4430, + [4565] = 4430, + [4566] = 4464, + [4567] = 1845, + [4568] = 4413, + [4569] = 4569, + [4570] = 4423, + [4571] = 2750, + [4572] = 4464, + [4573] = 4573, + [4574] = 1945, + [4575] = 4575, + [4576] = 4576, + [4577] = 4413, + [4578] = 4578, + [4579] = 4415, + [4580] = 4580, + [4581] = 4464, + [4582] = 4193, + [4583] = 4411, + [4584] = 4415, + [4585] = 4412, + [4586] = 2308, + [4587] = 4587, + [4588] = 4464, + [4589] = 4085, + [4590] = 4426, + [4591] = 4506, + [4592] = 4198, + [4593] = 4593, + [4594] = 4594, + [4595] = 4593, + [4596] = 4596, + [4597] = 4597, + [4598] = 4598, + [4599] = 4599, + [4600] = 4593, + [4601] = 4593, + [4602] = 4602, + [4603] = 4603, + [4604] = 4604, + [4605] = 4605, + [4606] = 4606, + [4607] = 4607, + [4608] = 4605, + [4609] = 4593, + [4610] = 4610, + [4611] = 4605, + [4612] = 4610, + [4613] = 4613, + [4614] = 4594, + [4615] = 4607, + [4616] = 4616, + [4617] = 4617, + [4618] = 4618, + [4619] = 4596, + [4620] = 4597, + [4621] = 4593, + [4622] = 4616, + [4623] = 4623, + [4624] = 2329, + [4625] = 4606, + [4626] = 4599, + [4627] = 4599, + [4628] = 4628, + [4629] = 4629, + [4630] = 4603, + [4631] = 4596, + [4632] = 4632, + [4633] = 4603, + [4634] = 4603, + [4635] = 4635, + [4636] = 1980, + [4637] = 2750, + [4638] = 2727, + [4639] = 4594, + [4640] = 1994, + [4641] = 4623, + [4642] = 2006, + [4643] = 2009, + [4644] = 4077, + [4645] = 4628, + [4646] = 1945, + [4647] = 4616, + [4648] = 2761, + [4649] = 4610, + [4650] = 4610, + [4651] = 2002, + [4652] = 2003, + [4653] = 2024, + [4654] = 2322, + [4655] = 4596, + [4656] = 4607, + [4657] = 4603, + [4658] = 4605, + [4659] = 4596, + [4660] = 4660, + [4661] = 4616, + [4662] = 2346, + [4663] = 2744, + [4664] = 4593, + [4665] = 2341, + [4666] = 4594, + [4667] = 4599, + [4668] = 4668, + [4669] = 4669, + [4670] = 1718, + [4671] = 4605, + [4672] = 4669, + [4673] = 1626, + [4674] = 4594, + [4675] = 4669, + [4676] = 4676, + [4677] = 4677, + [4678] = 4678, + [4679] = 4632, + [4680] = 4623, + [4681] = 4629, + [4682] = 4597, + [4683] = 4683, + [4684] = 4594, + [4685] = 4669, + [4686] = 4607, + [4687] = 1714, + [4688] = 4599, + [4689] = 1716, + [4690] = 2342, + [4691] = 4691, + [4692] = 4192, + [4693] = 4628, + [4694] = 4628, + [4695] = 4616, + [4696] = 2010, + [4697] = 4603, + [4698] = 1699, + [4699] = 4593, + [4700] = 4607, + [4701] = 1558, + [4702] = 1559, + [4703] = 1561, + [4704] = 1557, + [4705] = 4597, + [4706] = 1564, + [4707] = 1563, + [4708] = 1562, + [4709] = 4596, + [4710] = 4610, + [4711] = 2350, + [4712] = 4267, + [4713] = 4623, + [4714] = 4593, + [4715] = 4623, + [4716] = 4599, + [4717] = 4676, + [4718] = 4718, + [4719] = 4605, + [4720] = 1899, + [4721] = 1730, + [4722] = 4722, + [4723] = 4401, + [4724] = 4085, + [4725] = 4628, + [4726] = 4594, + [4727] = 4599, + [4728] = 4616, + [4729] = 1743, + [4730] = 4730, + [4731] = 4603, + [4732] = 1699, + [4733] = 4196, + [4734] = 4193, + [4735] = 4735, + [4736] = 2728, + [4737] = 2410, + [4738] = 4738, + [4739] = 1770, + [4740] = 4495, + [4741] = 2476, + [4742] = 2324, + [4743] = 4085, + [4744] = 2391, + [4745] = 2411, + [4746] = 4746, + [4747] = 2392, + [4748] = 2329, + [4749] = 2456, + [4750] = 2490, + [4751] = 2415, + [4752] = 2438, + [4753] = 4753, + [4754] = 4754, + [4755] = 1741, + [4756] = 1951, + [4757] = 2389, + [4758] = 2384, + [4759] = 2440, + [4760] = 4760, + [4761] = 2480, + [4762] = 2406, + [4763] = 4077, + [4764] = 2302, + [4765] = 2487, + [4766] = 4766, + [4767] = 1770, + [4768] = 4768, + [4769] = 2439, + [4770] = 1853, + [4771] = 2463, + [4772] = 2479, + [4773] = 2472, + [4774] = 2477, + [4775] = 4775, + [4776] = 4198, + [4777] = 2457, + [4778] = 4754, + [4779] = 1741, + [4780] = 4775, + [4781] = 4738, + [4782] = 1770, + [4783] = 2322, + [4784] = 2407, + [4785] = 1741, + [4786] = 2475, + [4787] = 1943, + [4788] = 2460, + [4789] = 4085, + [4790] = 2388, + [4791] = 2387, + [4792] = 2467, + [4793] = 2383, + [4794] = 4196, + [4795] = 2462, + [4796] = 2431, + [4797] = 4077, + [4798] = 2424, + [4799] = 2385, + [4800] = 2386, + [4801] = 2429, + [4802] = 4802, + [4803] = 4193, + [4804] = 2401, + [4805] = 2416, + [4806] = 2402, + [4807] = 4768, + [4808] = 2437, + [4809] = 4192, + [4810] = 2004, + [4811] = 4198, + [4812] = 2000, + [4813] = 1981, + [4814] = 2007, + [4815] = 1813, + [4816] = 1964, + [4817] = 2015, + [4818] = 2017, + [4819] = 4738, + [4820] = 1978, + [4821] = 2014, + [4822] = 2010, + [4823] = 1727, + [4824] = 1845, + [4825] = 4192, + [4826] = 4738, + [4827] = 1989, + [4828] = 2021, + [4829] = 1997, + [4830] = 1996, + [4831] = 4196, + [4832] = 4193, + [4833] = 4833, + [4834] = 4198, + [4835] = 4738, + [4836] = 1943, + [4837] = 1735, + [4838] = 2329, + [4839] = 4085, + [4840] = 4840, + [4841] = 1868, + [4842] = 2010, + [4843] = 1759, + [4844] = 1758, + [4845] = 1772, + [4846] = 1782, + [4847] = 1773, + [4848] = 4738, + [4849] = 1775, + [4850] = 1879, + [4851] = 4840, + [4852] = 4840, + [4853] = 4853, + [4854] = 4840, + [4855] = 1792, + [4856] = 1785, + [4857] = 4840, + [4858] = 4853, + [4859] = 1951, + [4860] = 4840, + [4861] = 4738, + [4862] = 4738, + [4863] = 1889, + [4864] = 4864, + [4865] = 1887, + [4866] = 4853, + [4867] = 1776, + [4868] = 4840, + [4869] = 1737, + [4870] = 4077, + [4871] = 4853, + [4872] = 1767, + [4873] = 1886, + [4874] = 1825, + [4875] = 2322, + [4876] = 1866, + [4877] = 1860, + [4878] = 1738, + [4879] = 4853, + [4880] = 1859, + [4881] = 1858, + [4882] = 4853, + [4883] = 1777, + [4884] = 1784, + [4885] = 2329, + [4886] = 4193, + [4887] = 1842, + [4888] = 2322, + [4889] = 1857, + [4890] = 4198, + [4891] = 4192, + [4892] = 1835, + [4893] = 4853, + [4894] = 1945, + [4895] = 1849, + [4896] = 1736, + [4897] = 4840, + [4898] = 4738, + [4899] = 1841, + [4900] = 1834, + [4901] = 1839, + [4902] = 4840, + [4903] = 4228, + [4904] = 4193, + [4905] = 1814, + [4906] = 4196, + [4907] = 1761, + [4908] = 4853, + [4909] = 1829, + [4910] = 4853, + [4911] = 4738, + [4912] = 4853, + [4913] = 1781, + [4914] = 4840, + [4915] = 4738, + [4916] = 4738, + [4917] = 4840, + [4918] = 4853, + [4919] = 4192, + [4920] = 2017, + [4921] = 4192, + [4922] = 2329, + [4923] = 2021, + [4924] = 1978, + [4925] = 4925, + [4926] = 4926, + [4927] = 4193, + [4928] = 4196, + [4929] = 4198, + [4930] = 1981, + [4931] = 1964, + [4932] = 2014, + [4933] = 4738, + [4934] = 4738, + [4935] = 4926, + [4936] = 4196, + [4937] = 2015, + [4938] = 2007, + [4939] = 4198, + [4940] = 2329, + [4941] = 2322, + [4942] = 4925, + [4943] = 4228, + [4944] = 2000, + [4945] = 2322, + [4946] = 1989, + [4947] = 4193, + [4948] = 4738, + [4949] = 1997, + [4950] = 1996, + [4951] = 4738, + [4952] = 1743, + [4953] = 4953, + [4954] = 4954, + [4955] = 4955, + [4956] = 4956, + [4957] = 1943, + [4958] = 4958, + [4959] = 4958, + [4960] = 4958, + [4961] = 1951, + [4962] = 4958, + [4963] = 1732, + [4964] = 4964, + [4965] = 4958, + [4966] = 4966, + [4967] = 4953, + [4968] = 4968, + [4969] = 4969, + [4970] = 4970, + [4971] = 4964, + [4972] = 4925, + [4973] = 4964, + [4974] = 4974, + [4975] = 2010, + [4976] = 4956, + [4977] = 4958, + [4978] = 4955, + [4979] = 4954, + [4980] = 4980, + [4981] = 4956, + [4982] = 4974, + [4983] = 4955, + [4984] = 1726, + [4985] = 4954, + [4986] = 4974, + [4987] = 4958, + [4988] = 4968, + [4989] = 4956, + [4990] = 4955, + [4991] = 4954, + [4992] = 4974, + [4993] = 4974, + [4994] = 4964, + [4995] = 4954, + [4996] = 4964, + [4997] = 4956, + [4998] = 4955, + [4999] = 4958, + [5000] = 4958, + [5001] = 4956, + [5002] = 4956, + [5003] = 4955, + [5004] = 4955, + [5005] = 4980, + [5006] = 4954, + [5007] = 1727, + [5008] = 1866, + [5009] = 1849, + [5010] = 4958, + [5011] = 4966, + [5012] = 4953, + [5013] = 4968, + [5014] = 4958, + [5015] = 1738, + [5016] = 4953, + [5017] = 4966, + [5018] = 4968, + [5019] = 1772, + [5020] = 2548, + [5021] = 5021, + [5022] = 4954, + [5023] = 1834, + [5024] = 4980, + [5025] = 4974, + [5026] = 4974, + [5027] = 5027, + [5028] = 4964, + [5029] = 4964, + [5030] = 4966, + [5031] = 4953, + [5032] = 4958, + [5033] = 4964, + [5034] = 4968, + [5035] = 4953, + [5036] = 4968, + [5037] = 4966, + [5038] = 4958, + [5039] = 4966, + [5040] = 4953, + [5041] = 4968, + [5042] = 4974, + [5043] = 4958, + [5044] = 4974, + [5045] = 4968, + [5046] = 4964, + [5047] = 4953, + [5048] = 4953, + [5049] = 4966, + [5050] = 4966, + [5051] = 4958, + [5052] = 4958, + [5053] = 4966, + [5054] = 4980, + [5055] = 4958, + [5056] = 4953, + [5057] = 1879, + [5058] = 4968, + [5059] = 4738, + [5060] = 4964, + [5061] = 4958, + [5062] = 4926, + [5063] = 4974, + [5064] = 4925, + [5065] = 4968, + [5066] = 4953, + [5067] = 4966, + [5068] = 4966, + [5069] = 4980, + [5070] = 4958, + [5071] = 4968, + [5072] = 4953, + [5073] = 4966, + [5074] = 4953, + [5075] = 4953, + [5076] = 4968, + [5077] = 4974, + [5078] = 4926, + [5079] = 4966, + [5080] = 4966, + [5081] = 4968, + [5082] = 4953, + [5083] = 4966, + [5084] = 4958, + [5085] = 4958, + [5086] = 5086, + [5087] = 4968, + [5088] = 4953, + [5089] = 4966, + [5090] = 5090, + [5091] = 4958, + [5092] = 4964, + [5093] = 4968, + [5094] = 4953, + [5095] = 4966, + [5096] = 4966, + [5097] = 4953, + [5098] = 4966, + [5099] = 4968, + [5100] = 4968, + [5101] = 4738, + [5102] = 4953, + [5103] = 4966, + [5104] = 4968, + [5105] = 4953, + [5106] = 5106, + [5107] = 4968, + [5108] = 4958, + [5109] = 4968, + [5110] = 1814, + [5111] = 5111, + [5112] = 1736, + [5113] = 3750, + [5114] = 1841, + [5115] = 2322, + [5116] = 4925, + [5117] = 5111, + [5118] = 1758, + [5119] = 5119, + [5120] = 1759, + [5121] = 4198, + [5122] = 5122, + [5123] = 1773, + [5124] = 1775, + [5125] = 4925, + [5126] = 4926, + [5127] = 1776, + [5128] = 5122, + [5129] = 5111, + [5130] = 5130, + [5131] = 5111, + [5132] = 5132, + [5133] = 4925, + [5134] = 4925, + [5135] = 1777, + [5136] = 1792, + [5137] = 5119, + [5138] = 5119, + [5139] = 4926, + [5140] = 5119, + [5141] = 5141, + [5142] = 4926, + [5143] = 1901, + [5144] = 5144, + [5145] = 1835, + [5146] = 5122, + [5147] = 1857, + [5148] = 5111, + [5149] = 4926, + [5150] = 2329, + [5151] = 5111, + [5152] = 1858, + [5153] = 5111, + [5154] = 4925, + [5155] = 5141, + [5156] = 1886, + [5157] = 5141, + [5158] = 5119, + [5159] = 4926, + [5160] = 5144, + [5161] = 1887, + [5162] = 5141, + [5163] = 1889, + [5164] = 5111, + [5165] = 5119, + [5166] = 5141, + [5167] = 5111, + [5168] = 5111, + [5169] = 4196, + [5170] = 2006, + [5171] = 2009, + [5172] = 5111, + [5173] = 5111, + [5174] = 1735, + [5175] = 5111, + [5176] = 1868, + [5177] = 5111, + [5178] = 5111, + [5179] = 5141, + [5180] = 4193, + [5181] = 2024, + [5182] = 5111, + [5183] = 1980, + [5184] = 5122, + [5185] = 1899, + [5186] = 1767, + [5187] = 1761, + [5188] = 5119, + [5189] = 1737, + [5190] = 4926, + [5191] = 1861, + [5192] = 4192, + [5193] = 4925, + [5194] = 1781, + [5195] = 5111, + [5196] = 5111, + [5197] = 1825, + [5198] = 1782, + [5199] = 4926, + [5200] = 1829, + [5201] = 4925, + [5202] = 5111, + [5203] = 5203, + [5204] = 1839, + [5205] = 1784, + [5206] = 1785, + [5207] = 1860, + [5208] = 4926, + [5209] = 1859, + [5210] = 5144, + [5211] = 2003, + [5212] = 5141, + [5213] = 1994, + [5214] = 5122, + [5215] = 4925, + [5216] = 5122, + [5217] = 5111, + [5218] = 5144, + [5219] = 2002, + [5220] = 1842, + [5221] = 1996, + [5222] = 2548, + [5223] = 4738, + [5224] = 4738, + [5225] = 1981, + [5226] = 2017, + [5227] = 4738, + [5228] = 1964, + [5229] = 2014, + [5230] = 4738, + [5231] = 4926, + [5232] = 2021, + [5233] = 4926, + [5234] = 2015, + [5235] = 4925, + [5236] = 1989, + [5237] = 2548, + [5238] = 4926, + [5239] = 1978, + [5240] = 4925, + [5241] = 4925, + [5242] = 1997, + [5243] = 2000, + [5244] = 4925, + [5245] = 2329, + [5246] = 4926, + [5247] = 2007, + [5248] = 2322, + [5249] = 4925, + [5250] = 2004, + [5251] = 5251, + [5252] = 4926, + [5253] = 4925, + [5254] = 2117, + [5255] = 5255, + [5256] = 4926, + [5257] = 5257, + [5258] = 5258, + [5259] = 3977, + [5260] = 5258, + [5261] = 5261, + [5262] = 5257, + [5263] = 5257, + [5264] = 3976, + [5265] = 5265, + [5266] = 5261, + [5267] = 5265, + [5268] = 5257, + [5269] = 5269, + [5270] = 4926, + [5271] = 5258, + [5272] = 5269, + [5273] = 4925, + [5274] = 5261, + [5275] = 5269, + [5276] = 4926, + [5277] = 5269, + [5278] = 4926, + [5279] = 5258, + [5280] = 5269, + [5281] = 4926, + [5282] = 5269, + [5283] = 5269, + [5284] = 5265, + [5285] = 5265, + [5286] = 4925, + [5287] = 5261, + [5288] = 4925, + [5289] = 5269, + [5290] = 4925, + [5291] = 3163, + [5292] = 5292, + [5293] = 5265, + [5294] = 5261, + [5295] = 5258, + [5296] = 3158, + [5297] = 5261, + [5298] = 5261, + [5299] = 5258, + [5300] = 5265, + [5301] = 5265, + [5302] = 5258, + [5303] = 5258, + [5304] = 5265, + [5305] = 5265, + [5306] = 5265, + [5307] = 4228, + [5308] = 5261, + [5309] = 5258, + [5310] = 5258, + [5311] = 5261, + [5312] = 5261, + [5313] = 5265, + [5314] = 5258, + [5315] = 5265, + [5316] = 5261, + [5317] = 5258, + [5318] = 5261, + [5319] = 5265, + [5320] = 5261, + [5321] = 5321, + [5322] = 5258, + [5323] = 5261, + [5324] = 5265, + [5325] = 5265, + [5326] = 5321, + [5327] = 5258, + [5328] = 5265, + [5329] = 5261, + [5330] = 5321, + [5331] = 5258, + [5332] = 5258, + [5333] = 5261, + [5334] = 5334, + [5335] = 5335, + [5336] = 5336, + [5337] = 5337, + [5338] = 5336, + [5339] = 5258, + [5340] = 5340, + [5341] = 5337, + [5342] = 5342, + [5343] = 5337, + [5344] = 5336, + [5345] = 5336, + [5346] = 5336, + [5347] = 5265, + [5348] = 5337, + [5349] = 5336, + [5350] = 5337, + [5351] = 5351, + [5352] = 5352, + [5353] = 5336, + [5354] = 5337, + [5355] = 5355, + [5356] = 5337, + [5357] = 5352, + [5358] = 5337, + [5359] = 5337, + [5360] = 5360, + [5361] = 5336, + [5362] = 5261, + [5363] = 5336, + [5364] = 5337, + [5365] = 5365, + [5366] = 5336, + [5367] = 5367, + [5368] = 5368, + [5369] = 5369, + [5370] = 5355, + [5371] = 5371, + [5372] = 5352, + [5373] = 5373, + [5374] = 5374, + [5375] = 5352, + [5376] = 5352, + [5377] = 5377, + [5378] = 5340, + [5379] = 5351, + [5380] = 5265, + [5381] = 5381, + [5382] = 5351, + [5383] = 5334, + [5384] = 5337, + [5385] = 5336, + [5386] = 5386, + [5387] = 5387, + [5388] = 5336, + [5389] = 5337, + [5390] = 5337, + [5391] = 5391, + [5392] = 5258, + [5393] = 5352, + [5394] = 5369, + [5395] = 5395, + [5396] = 5337, + [5397] = 5397, + [5398] = 5395, + [5399] = 5336, + [5400] = 5342, + [5401] = 5401, + [5402] = 5261, + [5403] = 5342, + [5404] = 5397, + [5405] = 5337, + [5406] = 5387, + [5407] = 5407, + [5408] = 5352, + [5409] = 5409, + [5410] = 5352, + [5411] = 5391, + [5412] = 5337, + [5413] = 5336, + [5414] = 5336, + [5415] = 5371, + [5416] = 5336, + [5417] = 5352, + [5418] = 5335, + [5419] = 5337, + [5420] = 5336, + [5421] = 5355, + [5422] = 5386, + [5423] = 5374, + [5424] = 5369, + [5425] = 5342, + [5426] = 5368, + [5427] = 5373, + [5428] = 5428, + [5429] = 5428, + [5430] = 5430, + [5431] = 5431, + [5432] = 5432, + [5433] = 5433, + [5434] = 5428, + [5435] = 5431, + [5436] = 5430, + [5437] = 5428, + [5438] = 5432, + [5439] = 5433, + [5440] = 5369, + [5441] = 5441, + [5442] = 5431, + [5443] = 5431, + [5444] = 5433, + [5445] = 5432, + [5446] = 5428, + [5447] = 5432, + [5448] = 5433, + [5449] = 5428, + [5450] = 5430, + [5451] = 5430, + [5452] = 5428, + [5453] = 1845, + [5454] = 5430, + [5455] = 5431, + [5456] = 5428, + [5457] = 5430, + [5458] = 5432, + [5459] = 5432, + [5460] = 5433, + [5461] = 5433, + [5462] = 5430, + [5463] = 5428, + [5464] = 5431, + [5465] = 5431, + [5466] = 1813, + [5467] = 5432, + [5468] = 5433, + [5469] = 5430, + [5470] = 5470, + [5471] = 5428, + [5472] = 5431, + [5473] = 5428, + [5474] = 5432, + [5475] = 5431, + [5476] = 5433, + [5477] = 5430, + [5478] = 5433, + [5479] = 5432, + [5480] = 5428, + [5481] = 5431, + [5482] = 5430, + [5483] = 5432, + [5484] = 5433, + [5485] = 5430, + [5486] = 5428, + [5487] = 5432, + [5488] = 5431, + [5489] = 5433, + [5490] = 5432, + [5491] = 5430, + [5492] = 5428, + [5493] = 5431, + [5494] = 5428, + [5495] = 5432, + [5496] = 5433, + [5497] = 5430, + [5498] = 5428, + [5499] = 5431, + [5500] = 5430, + [5501] = 5432, + [5502] = 5433, + [5503] = 5433, + [5504] = 5430, + [5505] = 5428, + [5506] = 5432, + [5507] = 5431, + [5508] = 5431, + [5509] = 5431, + [5510] = 5441, + [5511] = 5430, + [5512] = 5430, + [5513] = 5432, + [5514] = 5430, + [5515] = 5431, + [5516] = 5433, + [5517] = 5433, + [5518] = 5432, + [5519] = 5433, + [5520] = 5431, + [5521] = 5433, + [5522] = 5432, + [5523] = 5431, + [5524] = 5441, + [5525] = 5432, + [5526] = 5433, + [5527] = 5430, + [5528] = 5428, + [5529] = 5428, + [5530] = 5431, + [5531] = 5428, + [5532] = 5430, + [5533] = 5432, + [5534] = 5433, + [5535] = 5369, + [5536] = 5536, + [5537] = 5537, + [5538] = 5536, + [5539] = 5536, + [5540] = 5540, + [5541] = 5537, + [5542] = 5536, + [5543] = 5536, + [5544] = 5536, + [5545] = 5536, + [5546] = 5369, + [5547] = 5537, + [5548] = 5548, + [5549] = 5536, + [5550] = 5548, + [5551] = 5536, + [5552] = 5537, + [5553] = 5261, + [5554] = 5554, + [5555] = 5548, + [5556] = 5537, + [5557] = 5536, + [5558] = 5536, + [5559] = 5258, + [5560] = 5560, + [5561] = 5261, + [5562] = 5548, + [5563] = 5560, + [5564] = 5261, + [5565] = 5548, + [5566] = 5537, + [5567] = 5537, + [5568] = 5568, + [5569] = 5536, + [5570] = 5548, + [5571] = 5548, + [5572] = 5537, + [5573] = 5537, + [5574] = 5536, + [5575] = 5258, + [5576] = 5258, + [5577] = 5536, + [5578] = 5265, + [5579] = 5261, + [5580] = 5265, + [5581] = 5548, + [5582] = 5265, + [5583] = 5548, + [5584] = 5536, + [5585] = 5536, + [5586] = 5258, + [5587] = 5265, + [5588] = 5560, + [5589] = 5536, + [5590] = 5590, + [5591] = 5591, + [5592] = 5590, + [5593] = 5593, + [5594] = 5590, + [5595] = 5591, + [5596] = 5593, + [5597] = 5369, + [5598] = 5593, + [5599] = 5599, + [5600] = 5593, + [5601] = 5593, + [5602] = 5590, + [5603] = 5591, + [5604] = 5593, + [5605] = 5593, + [5606] = 5606, + [5607] = 5591, + [5608] = 5608, + [5609] = 5540, + [5610] = 5591, + [5611] = 5608, + [5612] = 5591, + [5613] = 5613, + [5614] = 5593, + [5615] = 5593, + [5616] = 5608, + [5617] = 5369, + [5618] = 5618, + [5619] = 5619, + [5620] = 5620, + [5621] = 5621, + [5622] = 5622, + [5623] = 5623, + [5624] = 5624, + [5625] = 5625, + [5626] = 5568, + [5627] = 5627, + [5628] = 5628, + [5629] = 1636, + [5630] = 5630, + [5631] = 5631, + [5632] = 5632, + [5633] = 5633, + [5634] = 5634, + [5635] = 5635, + [5636] = 5618, + [5637] = 5637, + [5638] = 5618, + [5639] = 5618, + [5640] = 5640, + [5641] = 2750, + [5642] = 5642, + [5643] = 2761, + [5644] = 5644, + [5645] = 5645, + [5646] = 5646, + [5647] = 5613, + [5648] = 5648, + [5649] = 5618, + [5650] = 5618, + [5651] = 5554, + [5652] = 5652, + [5653] = 2744, + [5654] = 1635, + [5655] = 5655, + [5656] = 1634, + [5657] = 5618, + [5658] = 125, + [5659] = 5659, + [5660] = 5660, + [5661] = 5661, + [5662] = 5662, + [5663] = 5663, + [5664] = 5664, + [5665] = 5665, + [5666] = 5666, + [5667] = 5667, + [5668] = 5666, + [5669] = 5669, + [5670] = 5670, + [5671] = 5659, + [5672] = 5672, + [5673] = 5624, + [5674] = 5663, + [5675] = 5670, + [5676] = 5676, + [5677] = 5677, + [5678] = 5669, + [5679] = 5679, + [5680] = 5669, + [5681] = 5621, + [5682] = 5628, + [5683] = 5679, + [5684] = 1640, + [5685] = 5630, + [5686] = 5666, + [5687] = 5667, + [5688] = 5631, + [5689] = 5632, + [5690] = 5633, + [5691] = 5627, + [5692] = 5672, + [5693] = 5634, + [5694] = 5635, + [5695] = 5665, + [5696] = 5659, + [5697] = 1649, + [5698] = 1637, + [5699] = 5699, + [5700] = 5700, + [5701] = 5637, + [5702] = 5702, + [5703] = 5703, + [5704] = 1652, + [5705] = 2761, + [5706] = 2744, + [5707] = 2324, + [5708] = 5670, + [5709] = 5709, + [5710] = 5661, + [5711] = 5663, + [5712] = 5369, + [5713] = 1639, + [5714] = 1642, + [5715] = 212, + [5716] = 1641, + [5717] = 217, + [5718] = 1644, + [5719] = 2750, + [5720] = 1648, + [5721] = 1650, + [5722] = 1638, + [5723] = 5667, + [5724] = 5724, + [5725] = 1653, + [5726] = 5642, + [5727] = 5727, + [5728] = 5679, + [5729] = 1651, + [5730] = 2302, + [5731] = 5672, + [5732] = 5659, + [5733] = 1645, + [5734] = 2302, + [5735] = 1643, + [5736] = 5670, + [5737] = 5655, + [5738] = 5679, + [5739] = 5672, + [5740] = 5670, + [5741] = 5679, + [5742] = 5742, + [5743] = 5672, + [5744] = 5744, + [5745] = 5659, + [5746] = 5746, + [5747] = 5672, + [5748] = 5659, + [5749] = 5699, + [5750] = 2324, + [5751] = 5648, + [5752] = 5670, + [5753] = 5646, + [5754] = 5754, + [5755] = 5755, + [5756] = 5640, + [5757] = 5755, + [5758] = 5620, + [5759] = 5619, + [5760] = 5679, + [5761] = 5699, + [5762] = 5663, + [5763] = 5763, + [5764] = 5764, + [5765] = 5669, + [5766] = 5666, + [5767] = 5767, + [5768] = 5667, + [5769] = 5769, + [5770] = 5661, + [5771] = 5767, + [5772] = 5665, + [5773] = 5665, + [5774] = 5661, + [5775] = 5775, + [5776] = 5776, + [5777] = 5777, + [5778] = 5777, + [5779] = 5779, + [5780] = 5670, + [5781] = 5779, + [5782] = 5659, + [5783] = 1634, + [5784] = 5777, + [5785] = 5777, + [5786] = 5777, + [5787] = 5787, + [5788] = 5787, + [5789] = 5789, + [5790] = 5787, + [5791] = 5672, + [5792] = 5670, + [5793] = 5779, + [5794] = 5777, + [5795] = 1636, + [5796] = 5777, + [5797] = 5787, + [5798] = 5659, + [5799] = 5799, + [5800] = 1635, + [5801] = 5672, + [5802] = 5787, + [5803] = 5679, + [5804] = 5777, + [5805] = 5779, + [5806] = 5679, + [5807] = 5777, + [5808] = 2117, + [5809] = 5787, + [5810] = 5779, + [5811] = 5777, + [5812] = 5777, + [5813] = 5777, + [5814] = 5779, + [5815] = 5777, + [5816] = 5777, + [5817] = 5777, + [5818] = 5746, + [5819] = 5369, + [5820] = 5763, + [5821] = 5777, + [5822] = 5777, + [5823] = 5777, + [5824] = 5779, + [5825] = 5777, + [5826] = 5777, + [5827] = 5777, + [5828] = 5787, + [5829] = 5777, + [5830] = 5830, + [5831] = 5776, + [5832] = 5832, + [5833] = 5679, + [5834] = 5834, + [5835] = 5835, + [5836] = 5836, + [5837] = 5837, + [5838] = 5838, + [5839] = 5839, + [5840] = 5835, + [5841] = 5659, + [5842] = 5842, + [5843] = 5839, + [5844] = 5844, + [5845] = 5844, + [5846] = 5369, + [5847] = 5839, + [5848] = 5838, + [5849] = 5838, + [5850] = 5850, + [5851] = 5839, + [5852] = 5852, + [5853] = 5832, + [5854] = 5670, + [5855] = 5839, + [5856] = 5844, + [5857] = 5838, + [5858] = 5858, + [5859] = 5839, + [5860] = 5659, + [5861] = 5844, + [5862] = 5844, + [5863] = 5863, + [5864] = 5864, + [5865] = 5865, + [5866] = 5866, + [5867] = 5670, + [5868] = 5868, + [5869] = 5832, + [5870] = 5672, + [5871] = 5871, + [5872] = 1770, + [5873] = 5873, + [5874] = 5874, + [5875] = 5838, + [5876] = 5369, + [5877] = 5832, + [5878] = 5672, + [5879] = 5879, + [5880] = 5880, + [5881] = 5659, + [5882] = 5838, + [5883] = 5670, + [5884] = 5679, + [5885] = 5844, + [5886] = 5844, + [5887] = 5887, + [5888] = 5679, + [5889] = 5672, + [5890] = 5838, + [5891] = 5832, + [5892] = 5838, + [5893] = 5659, + [5894] = 5670, + [5895] = 5679, + [5896] = 5896, + [5897] = 5897, + [5898] = 5898, + [5899] = 5899, + [5900] = 5844, + [5901] = 5901, + [5902] = 5838, + [5903] = 5903, + [5904] = 5835, + [5905] = 5672, + [5906] = 5906, + [5907] = 5907, + [5908] = 5908, + [5909] = 5844, + [5910] = 5910, + [5911] = 5838, + [5912] = 1741, + [5913] = 5835, + [5914] = 5839, + [5915] = 5844, + [5916] = 5835, + [5917] = 1650, + [5918] = 5918, + [5919] = 5918, + [5920] = 5661, + [5921] = 2354, + [5922] = 5666, + [5923] = 5918, + [5924] = 5659, + [5925] = 1640, + [5926] = 5926, + [5927] = 5918, + [5928] = 5928, + [5929] = 1649, + [5930] = 5369, + [5931] = 1637, + [5932] = 5918, + [5933] = 5665, + [5934] = 1652, + [5935] = 212, + [5936] = 5764, + [5937] = 1639, + [5938] = 1642, + [5939] = 1641, + [5940] = 217, + [5941] = 1644, + [5942] = 5942, + [5943] = 5918, + [5944] = 5667, + [5945] = 5918, + [5946] = 5369, + [5947] = 5947, + [5948] = 5948, + [5949] = 5918, + [5950] = 5666, + [5951] = 5918, + [5952] = 1648, + [5953] = 5769, + [5954] = 5665, + [5955] = 5918, + [5956] = 5669, + [5957] = 1653, + [5958] = 5918, + [5959] = 1651, + [5960] = 5918, + [5961] = 5672, + [5962] = 5918, + [5963] = 1638, + [5964] = 5670, + [5965] = 5965, + [5966] = 5670, + [5967] = 5918, + [5968] = 5659, + [5969] = 803, + [5970] = 1645, + [5971] = 2302, + [5972] = 5918, + [5973] = 1643, + [5974] = 5679, + [5975] = 5918, + [5976] = 5976, + [5977] = 5918, + [5978] = 5669, + [5979] = 5918, + [5980] = 5667, + [5981] = 5672, + [5982] = 5918, + [5983] = 5918, + [5984] = 2324, + [5985] = 804, + [5986] = 5661, + [5987] = 5918, + [5988] = 5679, + [5989] = 5918, + [5990] = 5918, + [5991] = 5991, + [5992] = 5992, + [5993] = 5993, + [5994] = 5994, + [5995] = 5992, + [5996] = 5996, + [5997] = 5997, + [5998] = 5997, + [5999] = 5999, + [6000] = 5659, + [6001] = 5996, + [6002] = 2369, + [6003] = 2461, + [6004] = 5999, + [6005] = 5679, + [6006] = 5672, + [6007] = 6007, + [6008] = 6008, + [6009] = 6009, + [6010] = 6010, + [6011] = 6011, + [6012] = 6012, + [6013] = 6013, + [6014] = 5997, + [6015] = 5991, + [6016] = 5993, + [6017] = 5996, + [6018] = 1689, + [6019] = 5992, + [6020] = 1675, + [6021] = 2434, + [6022] = 6007, + [6023] = 1967, + [6024] = 1688, + [6025] = 2117, + [6026] = 6008, + [6027] = 5992, + [6028] = 1684, + [6029] = 1984, + [6030] = 1990, + [6031] = 2011, + [6032] = 5999, + [6033] = 6009, + [6034] = 6010, + [6035] = 5997, + [6036] = 6036, + [6037] = 6007, + [6038] = 5996, + [6039] = 6008, + [6040] = 6011, + [6041] = 6012, + [6042] = 5999, + [6043] = 6013, + [6044] = 6009, + [6045] = 5996, + [6046] = 1692, + [6047] = 6047, + [6048] = 5992, + [6049] = 5997, + [6050] = 5992, + [6051] = 1685, + [6052] = 5996, + [6053] = 5997, + [6054] = 5993, + [6055] = 5993, + [6056] = 5659, + [6057] = 5997, + [6058] = 6010, + [6059] = 5996, + [6060] = 5999, + [6061] = 5992, + [6062] = 6011, + [6063] = 6012, + [6064] = 5992, + [6065] = 5670, + [6066] = 5999, + [6067] = 2005, + [6068] = 5670, + [6069] = 5996, + [6070] = 5999, + [6071] = 5999, + [6072] = 6013, + [6073] = 5999, + [6074] = 5992, + [6075] = 5996, + [6076] = 5992, + [6077] = 5679, + [6078] = 5993, + [6079] = 5991, + [6080] = 5672, + [6081] = 5999, + [6082] = 5993, + [6083] = 5996, + [6084] = 5887, + [6085] = 6085, + [6086] = 5666, + [6087] = 5991, + [6088] = 6085, + [6089] = 5679, + [6090] = 5669, + [6091] = 6091, + [6092] = 6085, + [6093] = 5666, + [6094] = 6091, + [6095] = 6095, + [6096] = 6095, + [6097] = 5670, + [6098] = 5659, + [6099] = 5661, + [6100] = 5896, + [6101] = 5667, + [6102] = 5865, + [6103] = 5672, + [6104] = 6085, + [6105] = 5672, + [6106] = 5679, + [6107] = 5665, + [6108] = 6108, + [6109] = 5868, + [6110] = 5871, + [6111] = 5661, + [6112] = 6112, + [6113] = 5659, + [6114] = 5661, + [6115] = 6095, + [6116] = 6085, + [6117] = 5665, + [6118] = 6095, + [6119] = 6085, + [6120] = 5670, + [6121] = 6007, + [6122] = 5669, + [6123] = 6123, + [6124] = 2302, + [6125] = 6085, + [6126] = 2324, + [6127] = 5906, + [6128] = 6091, + [6129] = 6129, + [6130] = 6085, + [6131] = 6131, + [6132] = 6132, + [6133] = 5903, + [6134] = 6134, + [6135] = 5901, + [6136] = 6085, + [6137] = 6091, + [6138] = 6085, + [6139] = 5665, + [6140] = 5899, + [6141] = 5898, + [6142] = 6142, + [6143] = 2324, + [6144] = 5667, + [6145] = 5669, + [6146] = 2075, + [6147] = 6085, + [6148] = 2302, + [6149] = 6008, + [6150] = 6095, + [6151] = 6009, + [6152] = 6085, + [6153] = 6112, + [6154] = 6091, + [6155] = 5907, + [6156] = 5908, + [6157] = 6123, + [6158] = 5369, + [6159] = 6085, + [6160] = 6132, + [6161] = 6095, + [6162] = 6085, + [6163] = 5850, + [6164] = 6085, + [6165] = 6085, + [6166] = 5837, + [6167] = 6091, + [6168] = 6168, + [6169] = 6169, + [6170] = 5667, + [6171] = 6169, + [6172] = 6085, + [6173] = 6168, + [6174] = 1565, + [6175] = 5863, + [6176] = 6095, + [6177] = 6177, + [6178] = 5666, + [6179] = 1675, + [6180] = 5669, + [6181] = 6085, + [6182] = 5666, + [6183] = 6013, + [6184] = 6012, + [6185] = 6085, + [6186] = 5864, + [6187] = 6091, + [6188] = 5667, + [6189] = 5880, + [6190] = 5661, + [6191] = 6011, + [6192] = 6010, + [6193] = 6193, + [6194] = 6085, + [6195] = 5842, + [6196] = 6085, + [6197] = 5873, + [6198] = 5874, + [6199] = 6085, + [6200] = 6177, + [6201] = 6085, + [6202] = 5836, + [6203] = 5665, + [6204] = 2089, + [6205] = 5991, + [6206] = 6206, + [6207] = 6207, + [6208] = 2175, + [6209] = 6011, + [6210] = 6210, + [6211] = 6010, + [6212] = 2153, + [6213] = 2430, + [6214] = 6214, + [6215] = 6214, + [6216] = 1967, + [6217] = 2428, + [6218] = 6218, + [6219] = 6219, + [6220] = 2393, + [6221] = 6007, + [6222] = 6008, + [6223] = 6009, + [6224] = 6010, + [6225] = 6011, + [6226] = 6012, + [6227] = 6009, + [6228] = 6013, + [6229] = 6013, + [6230] = 2025, + [6231] = 5991, + [6232] = 6232, + [6233] = 2180, + [6234] = 6234, + [6235] = 2427, + [6236] = 2057, + [6237] = 6237, + [6238] = 6238, + [6239] = 6008, + [6240] = 2445, + [6241] = 6241, + [6242] = 6242, + [6243] = 6238, + [6244] = 6206, + [6245] = 6245, + [6246] = 6246, + [6247] = 6247, + [6248] = 6012, + [6249] = 6249, + [6250] = 6250, + [6251] = 2432, + [6252] = 6252, + [6253] = 6214, + [6254] = 6254, + [6255] = 2011, + [6256] = 6256, + [6257] = 6214, + [6258] = 6214, + [6259] = 6206, + [6260] = 5679, + [6261] = 5672, + [6262] = 6206, + [6263] = 5659, + [6264] = 6264, + [6265] = 2005, + [6266] = 6266, + [6267] = 5670, + [6268] = 2426, + [6269] = 1990, + [6270] = 2423, + [6271] = 6007, + [6272] = 1984, + [6273] = 2032, + [6274] = 6274, + [6275] = 5679, + [6276] = 5672, + [6277] = 5659, + [6278] = 6278, + [6279] = 6214, + [6280] = 6264, + [6281] = 6281, + [6282] = 6282, + [6283] = 6214, + [6284] = 6284, + [6285] = 6285, + [6286] = 6286, + [6287] = 6287, + [6288] = 6288, + [6289] = 2093, + [6290] = 2142, + [6291] = 3888, + [6292] = 2261, + [6293] = 6293, + [6294] = 6238, + [6295] = 2259, + [6296] = 5670, + [6297] = 6297, + [6298] = 6238, + [6299] = 6299, + [6300] = 6013, + [6301] = 5667, + [6302] = 6012, + [6303] = 6011, + [6304] = 1990, + [6305] = 5991, + [6306] = 6010, + [6307] = 5665, + [6308] = 5666, + [6309] = 5669, + [6310] = 6009, + [6311] = 6311, + [6312] = 6008, + [6313] = 2302, + [6314] = 2011, + [6315] = 6315, + [6316] = 5661, + [6317] = 6317, + [6318] = 6315, + [6319] = 5679, + [6320] = 5672, + [6321] = 5659, + [6322] = 6007, + [6323] = 5670, + [6324] = 6324, + [6325] = 5670, + [6326] = 5661, + [6327] = 6327, + [6328] = 5659, + [6329] = 5665, + [6330] = 5672, + [6331] = 5667, + [6332] = 5666, + [6333] = 5679, + [6334] = 5669, + [6335] = 2324, + [6336] = 2005, + [6337] = 6168, + [6338] = 6338, + [6339] = 6177, + [6340] = 6340, + [6341] = 2075, + [6342] = 6342, + [6343] = 6132, + [6344] = 6344, + [6345] = 1967, + [6346] = 6169, + [6347] = 6112, + [6348] = 6348, + [6349] = 6315, + [6350] = 6315, + [6351] = 1984, + [6352] = 6142, + [6353] = 6353, + [6354] = 6354, + [6355] = 6355, + [6356] = 6356, + [6357] = 6357, + [6358] = 6355, + [6359] = 6354, + [6360] = 6360, + [6361] = 6361, + [6362] = 6356, + [6363] = 6354, + [6364] = 5669, + [6365] = 5666, + [6366] = 6010, + [6367] = 6009, + [6368] = 5667, + [6369] = 6355, + [6370] = 6011, + [6371] = 5665, + [6372] = 6372, + [6373] = 5661, + [6374] = 5669, + [6375] = 6375, + [6376] = 5666, + [6377] = 5667, + [6378] = 6378, + [6379] = 6378, + [6380] = 6375, + [6381] = 2075, + [6382] = 6382, + [6383] = 5665, + [6384] = 6008, + [6385] = 6372, + [6386] = 6356, + [6387] = 6355, + [6388] = 6355, + [6389] = 6378, + [6390] = 6372, + [6391] = 6391, + [6392] = 6356, + [6393] = 6375, + [6394] = 6012, + [6395] = 6360, + [6396] = 6396, + [6397] = 6356, + [6398] = 5661, + [6399] = 6354, + [6400] = 6382, + [6401] = 6013, + [6402] = 6402, + [6403] = 2302, + [6404] = 2324, + [6405] = 6405, + [6406] = 6169, + [6407] = 6407, + [6408] = 6356, + [6409] = 6132, + [6410] = 6354, + [6411] = 6355, + [6412] = 6168, + [6413] = 6354, + [6414] = 6177, + [6415] = 6355, + [6416] = 6355, + [6417] = 6112, + [6418] = 6354, + [6419] = 2357, + [6420] = 6355, + [6421] = 6375, + [6422] = 6355, + [6423] = 6354, + [6424] = 5991, + [6425] = 6378, + [6426] = 6354, + [6427] = 6355, + [6428] = 6355, + [6429] = 6355, + [6430] = 6007, + [6431] = 6382, + [6432] = 6375, + [6433] = 6375, + [6434] = 6372, + [6435] = 6354, + [6436] = 6354, + [6437] = 6360, + [6438] = 6354, + [6439] = 6354, + [6440] = 6354, + [6441] = 6372, + [6442] = 6378, + [6443] = 6375, + [6444] = 6378, + [6445] = 6354, + [6446] = 6354, + [6447] = 6447, + [6448] = 6448, + [6449] = 6354, + [6450] = 6007, + [6451] = 6355, + [6452] = 6013, + [6453] = 6012, + [6454] = 6382, + [6455] = 6354, + [6456] = 6354, + [6457] = 6354, + [6458] = 6009, + [6459] = 6355, + [6460] = 6372, + [6461] = 6354, + [6462] = 6378, + [6463] = 6372, + [6464] = 6354, + [6465] = 6354, + [6466] = 6360, + [6467] = 6354, + [6468] = 6356, + [6469] = 6011, + [6470] = 6470, + [6471] = 6471, + [6472] = 6472, + [6473] = 6473, + [6474] = 1561, + [6475] = 6012, + [6476] = 1558, + [6477] = 1559, + [6478] = 6478, + [6479] = 6013, + [6480] = 6480, + [6481] = 5991, + [6482] = 6007, + [6483] = 6470, + [6484] = 1562, + [6485] = 6008, + [6486] = 1563, + [6487] = 1564, + [6488] = 6009, + [6489] = 6489, + [6490] = 6010, + [6491] = 1557, + [6492] = 6492, + [6493] = 5947, + [6494] = 6494, + [6495] = 6009, + [6496] = 6008, + [6497] = 6497, + [6498] = 6498, + [6499] = 6492, + [6500] = 6007, + [6501] = 6492, + [6502] = 6502, + [6503] = 2302, + [6504] = 6010, + [6505] = 6011, + [6506] = 6506, + [6507] = 6012, + [6508] = 6013, + [6509] = 6498, + [6510] = 2324, + [6511] = 6498, + [6512] = 6512, + [6513] = 6498, + [6514] = 5991, + [6515] = 5928, + [6516] = 6492, + [6517] = 6517, + [6518] = 6177, + [6519] = 6519, + [6520] = 6112, + [6521] = 6521, + [6522] = 6522, + [6523] = 6132, + [6524] = 5928, + [6525] = 6525, + [6526] = 6526, + [6527] = 6131, + [6528] = 6129, + [6529] = 6519, + [6530] = 6530, + [6531] = 6521, + [6532] = 6168, + [6533] = 6521, + [6534] = 6522, + [6535] = 6007, + [6536] = 6519, + [6537] = 6522, + [6538] = 6522, + [6539] = 6008, + [6540] = 5947, + [6541] = 6009, + [6542] = 2369, + [6543] = 6134, + [6544] = 6519, + [6545] = 6545, + [6546] = 6521, + [6547] = 6547, + [6548] = 5991, + [6549] = 6549, + [6550] = 6169, + [6551] = 6013, + [6552] = 6012, + [6553] = 6521, + [6554] = 6193, + [6555] = 6108, + [6556] = 6521, + [6557] = 6011, + [6558] = 6010, + [6559] = 6521, + [6560] = 6560, + [6561] = 6561, + [6562] = 6012, + [6563] = 6563, + [6564] = 1967, + [6565] = 6565, + [6566] = 6566, + [6567] = 6567, + [6568] = 6568, + [6569] = 6569, + [6570] = 6570, + [6571] = 6568, + [6572] = 6572, + [6573] = 5991, + [6574] = 6574, + [6575] = 6575, + [6576] = 6576, + [6577] = 6575, + [6578] = 6574, + [6579] = 6579, + [6580] = 6580, + [6581] = 6581, + [6582] = 6013, + [6583] = 6009, + [6584] = 2369, + [6585] = 6008, + [6586] = 6009, + [6587] = 6587, + [6588] = 6010, + [6589] = 6007, + [6590] = 6575, + [6591] = 1984, + [6592] = 2408, + [6593] = 6593, + [6594] = 6010, + [6595] = 6595, + [6596] = 6008, + [6597] = 6597, + [6598] = 5991, + [6599] = 2485, + [6600] = 6574, + [6601] = 6601, + [6602] = 6602, + [6603] = 2405, + [6604] = 2011, + [6605] = 6568, + [6606] = 6606, + [6607] = 6572, + [6608] = 6011, + [6609] = 6572, + [6610] = 6610, + [6611] = 6611, + [6612] = 6572, + [6613] = 6012, + [6614] = 6614, + [6615] = 6615, + [6616] = 6575, + [6617] = 6617, + [6618] = 2005, + [6619] = 1990, + [6620] = 6013, + [6621] = 6568, + [6622] = 6574, + [6623] = 6623, + [6624] = 6011, + [6625] = 6568, + [6626] = 6007, + [6627] = 6627, + [6628] = 6628, + [6629] = 6629, + [6630] = 6630, + [6631] = 6629, + [6632] = 6632, + [6633] = 6630, + [6634] = 6630, + [6635] = 6630, + [6636] = 6629, + [6637] = 6632, + [6638] = 6638, + [6639] = 6639, + [6640] = 6632, + [6641] = 6638, + [6642] = 6638, + [6643] = 2369, + [6644] = 6638, + [6645] = 6645, + [6646] = 6646, + [6647] = 6630, + [6648] = 6632, + [6649] = 6630, + [6650] = 6629, + [6651] = 2369, + [6652] = 6630, + [6653] = 6629, + [6654] = 6646, + [6655] = 6655, + [6656] = 6638, + [6657] = 6646, + [6658] = 6629, + [6659] = 6659, + [6660] = 6632, + [6661] = 6661, + [6662] = 6632, + [6663] = 6663, + [6664] = 6646, + [6665] = 6629, + [6666] = 2075, + [6667] = 6632, + [6668] = 6646, + [6669] = 6655, + [6670] = 6646, + [6671] = 6338, + [6672] = 6672, + [6673] = 6646, + [6674] = 6317, + [6675] = 6638, + [6676] = 6676, + [6677] = 6659, + [6678] = 6327, + [6679] = 6679, + [6680] = 6638, + [6681] = 6681, + [6682] = 2369, + [6683] = 6683, + [6684] = 6684, + [6685] = 6008, + [6686] = 6686, + [6687] = 6009, + [6688] = 6688, + [6689] = 6689, + [6690] = 6683, + [6691] = 6691, + [6692] = 6683, + [6693] = 6693, + [6694] = 6694, + [6695] = 6681, + [6696] = 6696, + [6697] = 6683, + [6698] = 6698, + [6699] = 2327, + [6700] = 6683, + [6701] = 6683, + [6702] = 6702, + [6703] = 6683, + [6704] = 6010, + [6705] = 6684, + [6706] = 6011, + [6707] = 6012, + [6708] = 6683, + [6709] = 6013, + [6710] = 6686, + [6711] = 6691, + [6712] = 6683, + [6713] = 6689, + [6714] = 6007, + [6715] = 6715, + [6716] = 6683, + [6717] = 6717, + [6718] = 6683, + [6719] = 6683, + [6720] = 6688, + [6721] = 6684, + [6722] = 5991, + [6723] = 6694, + [6724] = 6688, + [6725] = 6681, + [6726] = 6717, + [6727] = 6683, + [6728] = 6683, + [6729] = 6683, + [6730] = 6696, + [6731] = 6683, + [6732] = 6715, + [6733] = 6683, + [6734] = 6686, + [6735] = 6683, + [6736] = 6689, + [6737] = 6737, + [6738] = 6683, + [6739] = 6683, + [6740] = 6740, + [6741] = 6741, + [6742] = 6742, + [6743] = 2369, + [6744] = 6683, + [6745] = 6740, + [6746] = 6746, + [6747] = 6702, + [6748] = 6683, + [6749] = 6717, + [6750] = 6683, + [6751] = 6683, + [6752] = 6715, + [6753] = 6691, + [6754] = 6754, + [6755] = 6755, + [6756] = 6756, + [6757] = 6757, + [6758] = 6758, + [6759] = 6759, + [6760] = 6760, + [6761] = 6761, + [6762] = 6762, + [6763] = 6763, + [6764] = 6764, + [6765] = 6754, + [6766] = 6766, + [6767] = 6767, + [6768] = 6755, + [6769] = 6769, + [6770] = 6770, + [6771] = 6771, + [6772] = 6772, + [6773] = 6773, + [6774] = 6774, + [6775] = 6775, + [6776] = 6776, + [6777] = 6777, + [6778] = 6760, + [6779] = 6779, + [6780] = 6780, + [6781] = 6781, + [6782] = 6782, + [6783] = 6772, + [6784] = 6784, + [6785] = 6755, + [6786] = 6766, + [6787] = 6754, + [6788] = 6771, + [6789] = 6754, + [6790] = 6777, + [6791] = 6777, + [6792] = 6762, + [6793] = 6758, + [6794] = 6764, + [6795] = 6773, + [6796] = 6760, + [6797] = 6779, + [6798] = 6798, + [6799] = 6754, + [6800] = 6767, + [6801] = 6801, + [6802] = 6779, + [6803] = 6803, + [6804] = 6766, + [6805] = 6755, + [6806] = 6806, + [6807] = 6764, + [6808] = 6764, + [6809] = 6770, + [6810] = 6777, + [6811] = 6811, + [6812] = 6777, + [6813] = 6758, + [6814] = 6755, + [6815] = 6766, + [6816] = 6816, + [6817] = 6772, + [6818] = 6757, + [6819] = 6754, + [6820] = 6779, + [6821] = 6770, + [6822] = 6776, + [6823] = 6757, + [6824] = 6761, + [6825] = 6764, + [6826] = 6760, + [6827] = 6780, + [6828] = 6777, + [6829] = 6780, + [6830] = 6761, + [6831] = 6762, + [6832] = 6762, + [6833] = 6758, + [6834] = 6758, + [6835] = 6755, + [6836] = 6766, + [6837] = 6779, + [6838] = 6758, + [6839] = 6772, + [6840] = 6771, + [6841] = 6841, + [6842] = 6770, + [6843] = 6760, + [6844] = 5928, + [6845] = 6780, + [6846] = 6759, + [6847] = 6773, + [6848] = 6776, + [6849] = 6776, + [6850] = 6754, + [6851] = 6851, + [6852] = 6773, + [6853] = 6758, + [6854] = 6771, + [6855] = 6758, + [6856] = 6767, + [6857] = 6771, + [6858] = 6769, + [6859] = 6851, + [6860] = 6774, + [6861] = 6775, + [6862] = 6759, + [6863] = 6779, + [6864] = 6767, + [6865] = 6766, + [6866] = 6755, + [6867] = 6867, + [6868] = 6757, + [6869] = 6756, + [6870] = 6851, + [6871] = 6871, + [6872] = 6872, + [6873] = 6760, + [6874] = 6762, + [6875] = 6875, + [6876] = 6777, + [6877] = 6755, + [6878] = 6766, + [6879] = 6761, + [6880] = 6759, + [6881] = 6775, + [6882] = 6770, + [6883] = 6766, + [6884] = 6758, + [6885] = 6754, + [6886] = 6886, + [6887] = 6766, + [6888] = 6756, + [6889] = 6771, + [6890] = 6754, + [6891] = 6754, + [6892] = 6774, + [6893] = 6779, + [6894] = 6758, + [6895] = 6851, + [6896] = 6767, + [6897] = 6767, + [6898] = 6766, + [6899] = 6757, + [6900] = 6772, + [6901] = 6754, + [6902] = 6775, + [6903] = 6774, + [6904] = 6904, + [6905] = 6905, + [6906] = 6764, + [6907] = 6769, + [6908] = 6908, + [6909] = 6769, + [6910] = 6777, + [6911] = 6758, + [6912] = 6780, + [6913] = 6756, + [6914] = 6755, + [6915] = 6766, + [6916] = 6769, + [6917] = 6769, + [6918] = 6767, + [6919] = 6779, + [6920] = 6759, + [6921] = 6764, + [6922] = 6762, + [6923] = 6764, + [6924] = 6924, + [6925] = 6925, + [6926] = 6780, + [6927] = 6766, + [6928] = 6767, + [6929] = 6777, + [6930] = 6770, + [6931] = 6754, + [6932] = 6774, + [6933] = 6755, + [6934] = 6775, + [6935] = 6851, + [6936] = 6771, + [6937] = 6775, + [6938] = 6761, + [6939] = 6772, + [6940] = 6940, + [6941] = 6774, + [6942] = 6777, + [6943] = 6767, + [6944] = 6760, + [6945] = 6775, + [6946] = 6780, + [6947] = 6766, + [6948] = 6780, + [6949] = 6767, + [6950] = 6950, + [6951] = 6769, + [6952] = 6767, + [6953] = 6774, + [6954] = 6775, + [6955] = 6754, + [6956] = 6759, + [6957] = 6957, + [6958] = 6767, + [6959] = 6779, + [6960] = 6960, + [6961] = 6766, + [6962] = 6754, + [6963] = 6851, + [6964] = 6760, + [6965] = 6762, + [6966] = 6776, + [6967] = 6770, + [6968] = 6968, + [6969] = 6762, + [6970] = 6774, + [6971] = 6767, + [6972] = 6766, + [6973] = 6772, + [6974] = 6764, + [6975] = 6871, + [6976] = 6758, + [6977] = 6754, + [6978] = 6851, + [6979] = 6754, + [6980] = 6761, + [6981] = 6758, + [6982] = 6851, + [6983] = 6767, + [6984] = 6771, + [6985] = 6766, + [6986] = 6755, + [6987] = 6771, + [6988] = 6756, + [6989] = 6780, + [6990] = 6775, + [6991] = 6760, + [6992] = 6777, + [6993] = 6754, + [6994] = 6756, + [6995] = 6776, + [6996] = 6755, + [6997] = 6766, + [6998] = 6754, + [6999] = 6774, + [7000] = 6771, + [7001] = 6764, + [7002] = 6777, + [7003] = 6762, + [7004] = 7004, + [7005] = 6767, + [7006] = 7006, + [7007] = 6769, + [7008] = 6758, + [7009] = 6769, + [7010] = 6758, + [7011] = 6766, + [7012] = 6771, + [7013] = 6767, + [7014] = 6769, + [7015] = 7015, + [7016] = 6761, + [7017] = 6772, + [7018] = 6760, + [7019] = 6756, + [7020] = 6761, + [7021] = 6772, + [7022] = 6767, + [7023] = 6771, + [7024] = 6757, + [7025] = 6754, + [7026] = 6758, + [7027] = 6766, + [7028] = 6761, + [7029] = 6759, + [7030] = 7030, + [7031] = 7031, + [7032] = 7032, + [7033] = 7033, + [7034] = 7034, + [7035] = 7035, + [7036] = 7036, + [7037] = 7030, + [7038] = 7038, + [7039] = 7035, + [7040] = 7040, + [7041] = 7041, + [7042] = 7042, + [7043] = 7030, + [7044] = 7044, + [7045] = 7045, + [7046] = 7046, + [7047] = 7030, + [7048] = 7048, + [7049] = 7049, + [7050] = 7050, + [7051] = 7051, + [7052] = 7052, + [7053] = 7053, + [7054] = 7054, + [7055] = 7055, + [7056] = 6506, + [7057] = 7057, + [7058] = 7058, + [7059] = 7059, + [7060] = 7060, + [7061] = 7061, + [7062] = 7062, + [7063] = 7063, + [7064] = 7030, + [7065] = 7035, + [7066] = 7066, + [7067] = 7067, + [7068] = 7032, + [7069] = 7033, + [7070] = 7070, + [7071] = 7057, + [7072] = 7072, + [7073] = 7073, + [7074] = 7074, + [7075] = 7075, + [7076] = 7076, + [7077] = 7031, + [7078] = 7078, + [7079] = 7060, + [7080] = 7080, + [7081] = 7081, + [7082] = 7082, + [7083] = 7083, + [7084] = 7075, + [7085] = 7085, + [7086] = 7034, + [7087] = 7087, + [7088] = 7057, + [7089] = 7089, + [7090] = 7090, + [7091] = 7089, + [7092] = 7092, + [7093] = 7033, + [7094] = 7032, + [7095] = 7067, + [7096] = 7096, + [7097] = 7030, + [7098] = 7090, + [7099] = 7060, + [7100] = 7067, + [7101] = 7032, + [7102] = 7033, + [7103] = 7103, + [7104] = 7104, + [7105] = 7105, + [7106] = 7106, + [7107] = 7107, + [7108] = 7108, + [7109] = 7109, + [7110] = 7106, + [7111] = 7052, + [7112] = 7112, + [7113] = 7113, + [7114] = 7106, + [7115] = 7040, + [7116] = 7081, + [7117] = 7092, + [7118] = 7045, + [7119] = 7076, + [7120] = 7082, + [7121] = 7121, + [7122] = 7122, + [7123] = 7123, + [7124] = 7049, + [7125] = 7087, + [7126] = 7057, + [7127] = 7127, + [7128] = 7067, + [7129] = 7032, + [7130] = 7033, + [7131] = 7131, + [7132] = 7132, + [7133] = 7044, + [7134] = 7134, + [7135] = 7135, + [7136] = 7051, + [7137] = 7045, + [7138] = 7033, + [7139] = 7139, + [7140] = 7104, + [7141] = 7061, + [7142] = 7075, + [7143] = 7036, + [7144] = 7132, + [7145] = 7127, + [7146] = 7032, + [7147] = 7121, + [7148] = 7112, + [7149] = 7067, + [7150] = 7075, + [7151] = 7151, + [7152] = 7152, + [7153] = 7030, + [7154] = 7154, + [7155] = 7155, + [7156] = 7067, + [7157] = 7032, + [7158] = 7033, + [7159] = 7076, + [7160] = 7076, + [7161] = 264, + [7162] = 7066, + [7163] = 7081, + [7164] = 7052, + [7165] = 7061, + [7166] = 7053, + [7167] = 7109, + [7168] = 7049, + [7169] = 7032, + [7170] = 7170, + [7171] = 7033, + [7172] = 7034, + [7173] = 7030, + [7174] = 7058, + [7175] = 7049, + [7176] = 7107, + [7177] = 7050, + [7178] = 7103, + [7179] = 7179, + [7180] = 7030, + [7181] = 7058, + [7182] = 7045, + [7183] = 7067, + [7184] = 7032, + [7185] = 7033, + [7186] = 7034, + [7187] = 7036, + [7188] = 7089, + [7189] = 7066, + [7190] = 7106, + [7191] = 7112, + [7192] = 7087, + [7193] = 7193, + [7194] = 7194, + [7195] = 7152, + [7196] = 7089, + [7197] = 7197, + [7198] = 7198, + [7199] = 7199, + [7200] = 7200, + [7201] = 7132, + [7202] = 7202, + [7203] = 7170, + [7204] = 7204, + [7205] = 7205, + [7206] = 7053, + [7207] = 7030, + [7208] = 7040, + [7209] = 7061, + [7210] = 7067, + [7211] = 7032, + [7212] = 7033, + [7213] = 7030, + [7214] = 7036, + [7215] = 7215, + [7216] = 7030, + [7217] = 7054, + [7218] = 7218, + [7219] = 7050, + [7220] = 7220, + [7221] = 7123, + [7222] = 7066, + [7223] = 7223, + [7224] = 7224, + [7225] = 7225, + [7226] = 7040, + [7227] = 7227, + [7228] = 7228, + [7229] = 7121, + [7230] = 7030, + [7231] = 7103, + [7232] = 7066, + [7233] = 7030, + [7234] = 7139, + [7235] = 7058, + [7236] = 7067, + [7237] = 7032, + [7238] = 7033, + [7239] = 7035, + [7240] = 7227, + [7241] = 7241, + [7242] = 7242, + [7243] = 7061, + [7244] = 7070, + [7245] = 7087, + [7246] = 7246, + [7247] = 7247, + [7248] = 7112, + [7249] = 7034, + [7250] = 7132, + [7251] = 7251, + [7252] = 7103, + [7253] = 7082, + [7254] = 7204, + [7255] = 7107, + [7256] = 7050, + [7257] = 7170, + [7258] = 7036, + [7259] = 7051, + [7260] = 7082, + [7261] = 7198, + [7262] = 7089, + [7263] = 7067, + [7264] = 7109, + [7265] = 7049, + [7266] = 7227, + [7267] = 7045, + [7268] = 7040, + [7269] = 7269, + [7270] = 7053, + [7271] = 7045, + [7272] = 7227, + [7273] = 7031, + [7274] = 7031, + [7275] = 7275, + [7276] = 7276, + [7277] = 7049, + [7278] = 7061, + [7279] = 7033, + [7280] = 7106, + [7281] = 7105, + [7282] = 7108, + [7283] = 7283, + [7284] = 7227, + [7285] = 7285, + [7286] = 7032, + [7287] = 7067, + [7288] = 7081, + [7289] = 7057, + [7290] = 7051, + [7291] = 7291, + [7292] = 7090, + [7293] = 7293, + [7294] = 7294, + [7295] = 7295, + [7296] = 7092, + [7297] = 7123, + [7298] = 7123, + [7299] = 7087, + [7300] = 7057, + [7301] = 7036, + [7302] = 7104, + [7303] = 7067, + [7304] = 7030, + [7305] = 7107, + [7306] = 7227, + [7307] = 7307, + [7308] = 7053, + [7309] = 7132, + [7310] = 7067, + [7311] = 261, + [7312] = 7104, + [7313] = 7313, + [7314] = 7314, + [7315] = 7030, + [7316] = 7032, + [7317] = 7170, + [7318] = 7033, + [7319] = 7087, + [7320] = 7036, + [7321] = 7321, + [7322] = 7322, + [7323] = 7323, + [7324] = 7324, + [7325] = 7204, + [7326] = 7326, + [7327] = 7227, + [7328] = 7031, + [7329] = 7135, + [7330] = 7031, + [7331] = 7331, + [7332] = 7204, + [7333] = 7082, + [7334] = 7060, + [7335] = 7087, + [7336] = 7092, + [7337] = 7090, + [7338] = 7087, + [7339] = 7105, + [7340] = 7060, + [7341] = 7341, + [7342] = 7106, + [7343] = 7070, + [7344] = 7049, + [7345] = 7044, + [7346] = 7044, + [7347] = 7170, + [7348] = 7045, + [7349] = 7040, + [7350] = 7075, + [7351] = 7132, + [7352] = 7112, + [7353] = 7075, + [7354] = 7076, + [7355] = 7053, + [7356] = 7204, + [7357] = 7204, + [7358] = 7358, + [7359] = 7359, + [7360] = 7031, + [7361] = 7087, + [7362] = 7035, + [7363] = 7058, + [7364] = 7107, + [7365] = 7365, + [7366] = 7040, + [7367] = 7109, + [7368] = 7078, + [7369] = 7054, + [7370] = 7087, + [7371] = 7371, + [7372] = 7087, + [7373] = 7373, + [7374] = 7061, + [7375] = 7121, + [7376] = 7371, + [7377] = 7076, + [7378] = 7378, + [7379] = 7076, + [7380] = 7127, + [7381] = 7036, + [7382] = 7382, + [7383] = 7036, + [7384] = 7082, + [7385] = 7090, + [7386] = 7123, + [7387] = 7033, + [7388] = 7198, + [7389] = 7104, + [7390] = 7032, + [7391] = 7391, + [7392] = 7067, + [7393] = 7109, + [7394] = 7123, + [7395] = 7081, + [7396] = 7396, + [7397] = 7050, + [7398] = 7081, + [7399] = 7170, + [7400] = 7121, + [7401] = 7401, + [7402] = 7402, + [7403] = 7127, + [7404] = 7404, + [7405] = 7052, + [7406] = 7291, + [7407] = 7035, + [7408] = 7058, + [7409] = 7152, + [7410] = 7121, + [7411] = 7034, + [7412] = 7127, + [7413] = 7121, + [7414] = 7127, + [7415] = 7127, + [7416] = 7123, + [7417] = 7417, + [7418] = 7054, + [7419] = 7170, + [7420] = 7104, + [7421] = 7421, + [7422] = 125, + [7423] = 7423, + [7424] = 7108, + [7425] = 7067, + [7426] = 7426, + [7427] = 7032, + [7428] = 7104, + [7429] = 7033, + [7430] = 7078, + [7431] = 7431, + [7432] = 7112, + [7433] = 7075, + [7434] = 7227, + [7435] = 7435, + [7436] = 7104, + [7437] = 7437, + [7438] = 7107, + [7439] = 2369, + [7440] = 7440, + [7441] = 7054, + [7442] = 7081, + [7443] = 7443, + [7444] = 7109, + [7445] = 7067, + [7446] = 7066, + [7447] = 7447, + [7448] = 7087, + [7449] = 7449, + [7450] = 7032, + [7451] = 7451, + [7452] = 7050, + [7453] = 7105, + [7454] = 7076, + [7455] = 7455, + [7456] = 7033, + [7457] = 7089, + [7458] = 7109, + [7459] = 7227, + [7460] = 7031, + [7461] = 7227, + [7462] = 7060, + [7463] = 7031, + [7464] = 7054, + [7465] = 7082, + [7466] = 7090, + [7467] = 7081, + [7468] = 7152, + [7469] = 7089, + [7470] = 7123, + [7471] = 7132, + [7472] = 7030, + [7473] = 7473, + [7474] = 7112, + [7475] = 7475, + [7476] = 7031, + [7477] = 7092, + [7478] = 7035, + [7479] = 7058, + [7480] = 7057, + [7481] = 7481, + [7482] = 7034, + [7483] = 7106, + [7484] = 7054, + [7485] = 7485, + [7486] = 7033, + [7487] = 7049, + [7488] = 7032, + [7489] = 7489, + [7490] = 7045, + [7491] = 7040, + [7492] = 7170, + [7493] = 7053, + [7494] = 7067, + [7495] = 7495, + [7496] = 7496, + [7497] = 7497, + [7498] = 7498, + [7499] = 7499, + [7500] = 7500, + [7501] = 7501, + [7502] = 7501, + [7503] = 7503, + [7504] = 7503, + [7505] = 7503, + [7506] = 7503, + [7507] = 7503, + [7508] = 7503, + [7509] = 7503, + [7510] = 7503, + [7511] = 7503, + [7512] = 7503, + [7513] = 7503, + [7514] = 7514, + [7515] = 7503, + [7516] = 7516, + [7517] = 7517, + [7518] = 7517, + [7519] = 7503, + [7520] = 7520, + [7521] = 7495, + [7522] = 7503, + [7523] = 7523, + [7524] = 7524, + [7525] = 7525, + [7526] = 7503, + [7527] = 7527, + [7528] = 7528, + [7529] = 7529, + [7530] = 7530, + [7531] = 7529, + [7532] = 7532, + [7533] = 7530, + [7534] = 7530, + [7535] = 7514, + [7536] = 7529, + [7537] = 7503, + [7538] = 7538, + [7539] = 7539, + [7540] = 7525, + [7541] = 7501, + [7542] = 7497, + [7543] = 7543, + [7544] = 7496, + [7545] = 7528, + [7546] = 7546, + [7547] = 7547, + [7548] = 7524, + [7549] = 7549, + [7550] = 7532, + [7551] = 7495, + [7552] = 7552, + [7553] = 7553, + [7554] = 7514, + [7555] = 7514, + [7556] = 7498, + [7557] = 7516, + [7558] = 2391, + [7559] = 7559, + [7560] = 7499, + [7561] = 7525, + [7562] = 7520, + [7563] = 7520, + [7564] = 7546, + [7565] = 7528, + [7566] = 7530, + [7567] = 7529, + [7568] = 7568, + [7569] = 7514, + [7570] = 2462, + [7571] = 7546, + [7572] = 2463, + [7573] = 7517, + [7574] = 7501, + [7575] = 7517, + [7576] = 7516, + [7577] = 7528, + [7578] = 7543, + [7579] = 2479, + [7580] = 2477, + [7581] = 2402, + [7582] = 2401, + [7583] = 7496, + [7584] = 7524, + [7585] = 7516, + [7586] = 2386, + [7587] = 2385, + [7588] = 7588, + [7589] = 7589, + [7590] = 2440, + [7591] = 7591, + [7592] = 7592, + [7593] = 7523, + [7594] = 7517, + [7595] = 7595, + [7596] = 7596, + [7597] = 7524, + [7598] = 7598, + [7599] = 7514, + [7600] = 7600, + [7601] = 7601, + [7602] = 7516, + [7603] = 7596, + [7604] = 7499, + [7605] = 7495, + [7606] = 7606, + [7607] = 7514, + [7608] = 7608, + [7609] = 7609, + [7610] = 7527, + [7611] = 7499, + [7612] = 7524, + [7613] = 7514, + [7614] = 7528, + [7615] = 7615, + [7616] = 7616, + [7617] = 7525, + [7618] = 7529, + [7619] = 7619, + [7620] = 7516, + [7621] = 7568, + [7622] = 7559, + [7623] = 7530, + [7624] = 7495, + [7625] = 7625, + [7626] = 7588, + [7627] = 7627, + [7628] = 7543, + [7629] = 7629, + [7630] = 7520, + [7631] = 7627, + [7632] = 7592, + [7633] = 7528, + [7634] = 7619, + [7635] = 7495, + [7636] = 125, + [7637] = 7495, + [7638] = 7627, + [7639] = 7608, + [7640] = 7496, + [7641] = 7496, + [7642] = 7528, + [7643] = 7524, + [7644] = 7644, + [7645] = 7516, + [7646] = 7520, + [7647] = 7596, + [7648] = 7619, + [7649] = 7649, + [7650] = 7650, + [7651] = 7517, + [7652] = 7652, + [7653] = 7619, + [7654] = 7530, + [7655] = 7655, + [7656] = 7656, + [7657] = 7546, + [7658] = 7559, + [7659] = 7659, + [7660] = 7529, + [7661] = 7496, + [7662] = 7523, + [7663] = 7627, + [7664] = 7501, + [7665] = 7608, + [7666] = 7666, + [7667] = 7667, + [7668] = 7668, + [7669] = 7667, + [7670] = 7568, + [7671] = 7596, + [7672] = 7497, + [7673] = 7514, + [7674] = 7619, + [7675] = 7559, + [7676] = 7523, + [7677] = 7516, + [7678] = 7495, + [7679] = 7503, + [7680] = 7495, + [7681] = 7547, + [7682] = 7525, + [7683] = 7532, + [7684] = 7498, + [7685] = 7627, + [7686] = 7608, + [7687] = 7525, + [7688] = 7529, + [7689] = 7608, + [7690] = 7530, + [7691] = 7691, + [7692] = 7543, + [7693] = 7495, + [7694] = 7523, + [7695] = 7568, + [7696] = 7596, + [7697] = 7616, + [7698] = 7627, + [7699] = 7699, + [7700] = 7700, + [7701] = 7701, + [7702] = 7627, + [7703] = 7703, + [7704] = 7619, + [7705] = 7616, + [7706] = 7501, + [7707] = 7498, + [7708] = 7496, + [7709] = 7592, + [7710] = 1675, + [7711] = 7528, + [7712] = 7712, + [7713] = 7529, + [7714] = 7530, + [7715] = 7616, + [7716] = 7529, + [7717] = 7530, + [7718] = 7627, + [7719] = 7667, + [7720] = 7608, + [7721] = 7547, + [7722] = 7525, + [7723] = 7723, + [7724] = 7525, + [7725] = 7529, + [7726] = 7530, + [7727] = 7532, + [7728] = 7496, + [7729] = 7520, + [7730] = 7514, + [7731] = 7608, + [7732] = 7732, + [7733] = 7532, + [7734] = 7501, + [7735] = 7547, + [7736] = 7497, + [7737] = 7589, + [7738] = 7668, + [7739] = 7495, + [7740] = 7525, + [7741] = 7568, + [7742] = 7528, + [7743] = 7529, + [7744] = 7744, + [7745] = 7530, + [7746] = 7592, + [7747] = 7596, + [7748] = 7588, + [7749] = 7749, + [7750] = 7496, + [7751] = 7619, + [7752] = 7528, + [7753] = 7619, + [7754] = 7592, + [7755] = 7667, + [7756] = 7530, + [7757] = 7529, + [7758] = 7546, + [7759] = 7525, + [7760] = 7495, + [7761] = 7497, + [7762] = 7588, + [7763] = 7596, + [7764] = 7498, + [7765] = 7497, + [7766] = 7616, + [7767] = 7627, + [7768] = 7495, + [7769] = 7769, + [7770] = 7608, + [7771] = 7520, + [7772] = 7495, + [7773] = 7532, + [7774] = 7547, + [7775] = 7559, + [7776] = 7776, + [7777] = 7589, + [7778] = 7668, + [7779] = 7588, + [7780] = 7568, + [7781] = 7496, + [7782] = 7627, + [7783] = 7528, + [7784] = 7495, + [7785] = 7546, + [7786] = 7524, + [7787] = 7499, + [7788] = 7527, + [7789] = 7527, + [7790] = 7524, + [7791] = 7616, + [7792] = 7517, + [7793] = 7498, + [7794] = 7497, + [7795] = 7523, + [7796] = 7495, + [7797] = 7528, + [7798] = 7668, + [7799] = 7516, + [7800] = 7800, + [7801] = 7801, + [7802] = 7589, + [7803] = 7559, + [7804] = 7514, + [7805] = 7514, + [7806] = 7806, + [7807] = 7807, + [7808] = 7808, + [7809] = 7809, + [7810] = 7810, + [7811] = 7811, + [7812] = 7812, + [7813] = 7813, + [7814] = 7814, + [7815] = 7815, + [7816] = 7816, + [7817] = 7817, + [7818] = 7811, + [7819] = 7819, + [7820] = 7820, + [7821] = 7821, + [7822] = 7822, + [7823] = 7823, + [7824] = 7824, + [7825] = 7825, + [7826] = 7826, + [7827] = 7827, + [7828] = 7828, + [7829] = 7829, + [7830] = 7830, + [7831] = 7811, + [7832] = 7812, + [7833] = 7833, + [7834] = 7834, + [7835] = 7835, + [7836] = 7836, + [7837] = 7812, + [7838] = 7838, + [7839] = 7839, + [7840] = 7840, + [7841] = 7812, + [7842] = 7812, + [7843] = 7843, + [7844] = 7844, + [7845] = 7845, + [7846] = 7846, + [7847] = 7847, + [7848] = 7848, + [7849] = 7849, + [7850] = 7811, + [7851] = 7811, + [7852] = 7826, + [7853] = 7853, + [7854] = 7854, + [7855] = 7855, + [7856] = 7856, + [7857] = 7811, + [7858] = 7812, + [7859] = 7849, + [7860] = 7860, + [7861] = 7846, + [7862] = 7845, + [7863] = 7863, + [7864] = 7835, + [7865] = 7865, + [7866] = 7833, + [7867] = 7867, + [7868] = 7812, + [7869] = 7869, + [7870] = 7812, + [7871] = 7871, + [7872] = 7815, + [7873] = 7869, + [7874] = 7874, + [7875] = 7875, + [7876] = 7814, + [7877] = 7811, + [7878] = 7878, + [7879] = 7813, + [7880] = 7880, + [7881] = 7881, + [7882] = 7882, + [7883] = 7883, + [7884] = 7884, + [7885] = 7885, + [7886] = 7886, + [7887] = 7811, + [7888] = 7888, + [7889] = 7812, + [7890] = 7890, + [7891] = 7891, + [7892] = 7892, + [7893] = 7893, + [7894] = 7894, + [7895] = 7895, + [7896] = 7896, + [7897] = 7881, + [7898] = 7898, + [7899] = 7899, + [7900] = 7900, + [7901] = 7817, + [7902] = 7902, + [7903] = 7810, + [7904] = 7904, + [7905] = 7811, + [7906] = 7812, + [7907] = 7907, + [7908] = 7908, + [7909] = 7909, + [7910] = 7910, + [7911] = 7880, + [7912] = 7912, + [7913] = 7913, + [7914] = 7823, + [7915] = 7836, + [7916] = 7899, + [7917] = 7917, + [7918] = 7918, + [7919] = 7919, + [7920] = 7920, + [7921] = 7869, + [7922] = 7848, + [7923] = 7923, + [7924] = 7881, + [7925] = 7925, + [7926] = 7926, + [7927] = 7927, + [7928] = 7928, + [7929] = 7929, + [7930] = 7930, + [7931] = 7931, + [7932] = 7890, + [7933] = 7898, + [7934] = 7880, + [7935] = 7935, + [7936] = 7936, + [7937] = 7869, + [7938] = 7938, + [7939] = 7939, + [7940] = 7940, + [7941] = 7941, + [7942] = 7811, + [7943] = 7855, + [7944] = 7867, + [7945] = 7945, + [7946] = 7946, + [7947] = 7813, + [7948] = 7836, + [7949] = 7949, + [7950] = 7865, + [7951] = 7814, + [7952] = 7952, + [7953] = 7881, + [7954] = 7899, + [7955] = 7936, + [7956] = 7898, + [7957] = 7813, + [7958] = 7881, + [7959] = 7844, + [7960] = 7867, + [7961] = 7946, + [7962] = 7899, + [7963] = 7963, + [7964] = 7865, + [7965] = 7844, + [7966] = 7966, + [7967] = 7967, + [7968] = 7817, + [7969] = 7875, + [7970] = 7945, + [7971] = 7971, + [7972] = 7904, + [7973] = 7973, + [7974] = 7974, + [7975] = 7975, + [7976] = 7821, + [7977] = 7821, + [7978] = 7925, + [7979] = 7979, + [7980] = 7865, + [7981] = 7907, + [7982] = 7817, + [7983] = 5655, + [7984] = 7807, + [7985] = 7938, + [7986] = 7929, + [7987] = 7807, + [7988] = 7888, + [7989] = 7989, + [7990] = 7967, + [7991] = 7838, + [7992] = 7967, + [7993] = 7830, + [7994] = 7973, + [7995] = 7823, + [7996] = 7967, + [7997] = 7967, + [7998] = 7890, + [7999] = 7973, + [8000] = 7813, + [8001] = 7949, + [8002] = 8002, + [8003] = 8003, + [8004] = 8004, + [8005] = 8005, + [8006] = 7807, + [8007] = 7836, + [8008] = 7925, + [8009] = 8009, + [8010] = 7813, + [8011] = 7907, + [8012] = 7904, + [8013] = 7869, + [8014] = 7946, + [8015] = 7946, + [8016] = 7925, + [8017] = 7886, + [8018] = 7883, + [8019] = 7923, + [8020] = 7844, + [8021] = 8021, + [8022] = 7945, + [8023] = 7865, + [8024] = 7902, + [8025] = 7945, + [8026] = 7867, + [8027] = 7811, + [8028] = 7888, + [8029] = 7812, + [8030] = 7828, + [8031] = 7846, + [8032] = 8032, + [8033] = 8033, + [8034] = 8034, + [8035] = 7923, + [8036] = 8036, + [8037] = 8037, + [8038] = 7809, + [8039] = 7814, + [8040] = 7823, + [8041] = 8041, + [8042] = 8036, + [8043] = 7817, + [8044] = 7839, + [8045] = 7881, + [8046] = 7847, + [8047] = 8047, + [8048] = 7936, + [8049] = 8049, + [8050] = 7826, + [8051] = 7925, + [8052] = 8052, + [8053] = 7971, + [8054] = 7899, + [8055] = 7899, + [8056] = 8056, + [8057] = 7840, + [8058] = 5646, + [8059] = 7967, + [8060] = 7838, + [8061] = 7813, + [8062] = 7830, + [8063] = 8063, + [8064] = 7973, + [8065] = 8065, + [8066] = 7825, + [8067] = 7925, + [8068] = 8068, + [8069] = 7833, + [8070] = 7925, + [8071] = 7829, + [8072] = 8072, + [8073] = 7971, + [8074] = 7856, + [8075] = 7826, + [8076] = 7884, + [8077] = 7881, + [8078] = 8078, + [8079] = 7936, + [8080] = 8080, + [8081] = 7923, + [8082] = 8068, + [8083] = 7881, + [8084] = 7940, + [8085] = 7848, + [8086] = 8036, + [8087] = 7811, + [8088] = 8088, + [8089] = 8089, + [8090] = 7907, + [8091] = 7878, + [8092] = 7918, + [8093] = 7936, + [8094] = 8094, + [8095] = 7904, + [8096] = 7928, + [8097] = 7836, + [8098] = 7907, + [8099] = 7935, + [8100] = 7890, + [8101] = 8101, + [8102] = 7898, + [8103] = 8103, + [8104] = 8104, + [8105] = 7838, + [8106] = 7811, + [8107] = 7830, + [8108] = 7904, + [8109] = 7880, + [8110] = 7869, + [8111] = 7939, + [8112] = 7848, + [8113] = 7896, + [8114] = 8114, + [8115] = 7941, + [8116] = 7902, + [8117] = 8117, + [8118] = 7938, + [8119] = 7923, + [8120] = 8120, + [8121] = 7888, + [8122] = 7817, + [8123] = 7875, + [8124] = 7923, + [8125] = 5648, + [8126] = 7811, + [8127] = 7881, + [8128] = 7814, + [8129] = 7813, + [8130] = 7888, + [8131] = 7812, + [8132] = 7846, + [8133] = 7936, + [8134] = 8134, + [8135] = 7821, + [8136] = 7810, + [8137] = 7869, + [8138] = 8138, + [8139] = 7884, + [8140] = 7902, + [8141] = 7814, + [8142] = 7838, + [8143] = 7815, + [8144] = 7830, + [8145] = 7869, + [8146] = 7880, + [8147] = 7898, + [8148] = 8056, + [8149] = 7890, + [8150] = 7816, + [8151] = 7923, + [8152] = 7817, + [8153] = 5642, + [8154] = 1684, + [8155] = 7936, + [8156] = 7881, + [8157] = 8068, + [8158] = 7830, + [8159] = 7814, + [8160] = 7833, + [8161] = 8068, + [8162] = 8162, + [8163] = 7923, + [8164] = 7829, + [8165] = 7839, + [8166] = 7936, + [8167] = 7899, + [8168] = 7830, + [8169] = 7971, + [8170] = 7938, + [8171] = 7967, + [8172] = 7923, + [8173] = 7936, + [8174] = 7830, + [8175] = 7813, + [8176] = 7936, + [8177] = 7830, + [8178] = 7884, + [8179] = 7936, + [8180] = 7830, + [8181] = 7936, + [8182] = 7830, + [8183] = 7936, + [8184] = 7830, + [8185] = 7936, + [8186] = 7830, + [8187] = 7936, + [8188] = 7830, + [8189] = 7936, + [8190] = 7830, + [8191] = 7945, + [8192] = 7946, + [8193] = 8193, + [8194] = 7835, + [8195] = 8195, + [8196] = 8196, + [8197] = 8197, + [8198] = 7909, + [8199] = 7899, + [8200] = 8200, + [8201] = 8201, + [8202] = 7869, + [8203] = 8203, + [8204] = 7909, + [8205] = 7938, + [8206] = 7815, + [8207] = 7925, + [8208] = 7817, + [8209] = 1688, + [8210] = 7812, + [8211] = 7930, + [8212] = 1689, + [8213] = 7895, + [8214] = 7882, + [8215] = 8215, + [8216] = 8216, + [8217] = 7952, + [8218] = 7830, + [8219] = 8219, + [8220] = 7838, + [8221] = 8221, + [8222] = 7888, + [8223] = 8072, + [8224] = 8089, + [8225] = 7849, + [8226] = 7884, + [8227] = 7878, + [8228] = 7845, + [8229] = 7817, + [8230] = 7846, + [8231] = 7845, + [8232] = 7936, + [8233] = 8233, + [8234] = 7826, + [8235] = 7812, + [8236] = 7839, + [8237] = 7878, + [8238] = 7813, + [8239] = 8239, + [8240] = 7835, + [8241] = 8241, + [8242] = 7881, + [8243] = 8243, + [8244] = 8244, + [8245] = 8245, + [8246] = 8246, + [8247] = 7878, + [8248] = 7878, + [8249] = 8249, + [8250] = 8250, + [8251] = 8251, + [8252] = 8252, + [8253] = 8253, + [8254] = 8254, + [8255] = 7890, + [8256] = 7898, + [8257] = 8257, + [8258] = 8200, + [8259] = 7880, + [8260] = 7869, + [8261] = 7909, + [8262] = 8262, + [8263] = 8263, + [8264] = 7821, + [8265] = 8265, + [8266] = 7895, + [8267] = 8267, + [8268] = 7809, + [8269] = 7846, + [8270] = 8270, + [8271] = 7930, + [8272] = 8272, + [8273] = 7902, + [8274] = 8274, + [8275] = 7835, + [8276] = 8257, + [8277] = 7875, + [8278] = 8278, + [8279] = 8279, + [8280] = 8280, + [8281] = 8281, + [8282] = 8282, + [8283] = 8283, + [8284] = 8284, + [8285] = 8285, + [8286] = 7829, + [8287] = 7928, + [8288] = 7940, + [8289] = 8289, + [8290] = 7949, + [8291] = 7829, + [8292] = 7814, + [8293] = 7979, + [8294] = 7890, + [8295] = 8295, + [8296] = 7898, + [8297] = 8297, + [8298] = 7833, + [8299] = 7880, + [8300] = 7810, + [8301] = 7815, + [8302] = 7867, + [8303] = 7869, + [8304] = 6639, + [8305] = 8305, + [8306] = 7845, + [8307] = 7878, + [8308] = 8308, + [8309] = 7814, + [8310] = 8310, + [8311] = 8311, + [8312] = 7884, + [8313] = 8313, + [8314] = 8314, + [8315] = 7930, + [8316] = 7812, + [8317] = 8080, + [8318] = 8318, + [8319] = 8193, + [8320] = 8320, + [8321] = 8196, + [8322] = 8197, + [8323] = 7808, + [8324] = 7946, + [8325] = 8200, + [8326] = 8326, + [8327] = 7869, + [8328] = 7971, + [8329] = 7878, + [8330] = 7882, + [8331] = 7826, + [8332] = 7952, + [8333] = 7835, + [8334] = 8334, + [8335] = 7811, + [8336] = 7808, + [8337] = 8072, + [8338] = 8089, + [8339] = 7848, + [8340] = 7928, + [8341] = 7888, + [8342] = 7813, + [8343] = 8239, + [8344] = 7813, + [8345] = 7931, + [8346] = 7881, + [8347] = 7967, + [8348] = 7812, + [8349] = 8253, + [8350] = 8257, + [8351] = 7940, + [8352] = 7845, + [8353] = 8353, + [8354] = 8193, + [8355] = 8355, + [8356] = 8196, + [8357] = 7808, + [8358] = 7846, + [8359] = 8200, + [8360] = 8197, + [8361] = 7869, + [8362] = 7844, + [8363] = 8363, + [8364] = 7882, + [8365] = 7949, + [8366] = 7952, + [8367] = 7829, + [8368] = 7838, + [8369] = 8369, + [8370] = 7830, + [8371] = 8072, + [8372] = 8089, + [8373] = 8373, + [8374] = 8374, + [8375] = 7813, + [8376] = 8239, + [8377] = 7931, + [8378] = 8378, + [8379] = 7881, + [8380] = 7807, + [8381] = 8381, + [8382] = 8253, + [8383] = 8257, + [8384] = 8384, + [8385] = 8193, + [8386] = 8196, + [8387] = 7808, + [8388] = 7815, + [8389] = 8200, + [8390] = 8390, + [8391] = 8391, + [8392] = 7882, + [8393] = 7952, + [8394] = 7814, + [8395] = 8395, + [8396] = 8072, + [8397] = 8089, + [8398] = 8239, + [8399] = 7904, + [8400] = 7812, + [8401] = 8401, + [8402] = 8253, + [8403] = 8257, + [8404] = 8404, + [8405] = 8193, + [8406] = 8196, + [8407] = 7808, + [8408] = 7836, + [8409] = 8200, + [8410] = 8196, + [8411] = 7907, + [8412] = 7952, + [8413] = 8253, + [8414] = 8414, + [8415] = 8072, + [8416] = 8089, + [8417] = 8239, + [8418] = 7845, + [8419] = 7881, + [8420] = 7875, + [8421] = 8253, + [8422] = 8257, + [8423] = 8423, + [8424] = 8193, + [8425] = 7899, + [8426] = 8200, + [8427] = 8427, + [8428] = 7875, + [8429] = 7867, + [8430] = 7865, + [8431] = 8072, + [8432] = 8089, + [8433] = 7844, + [8434] = 7973, + [8435] = 7846, + [8436] = 8253, + [8437] = 7888, + [8438] = 8193, + [8439] = 8200, + [8440] = 7836, + [8441] = 8089, + [8442] = 7807, + [8443] = 8239, + [8444] = 8253, + [8445] = 7886, + [8446] = 8193, + [8447] = 8200, + [8448] = 7883, + [8449] = 8089, + [8450] = 7925, + [8451] = 8253, + [8452] = 8193, + [8453] = 8200, + [8454] = 8089, + [8455] = 8253, + [8456] = 8089, + [8457] = 8253, + [8458] = 8089, + [8459] = 8253, + [8460] = 8089, + [8461] = 8253, + [8462] = 8089, + [8463] = 8253, + [8464] = 8089, + [8465] = 8253, + [8466] = 8089, + [8467] = 8253, + [8468] = 8089, + [8469] = 8253, + [8470] = 7941, + [8471] = 7847, + [8472] = 8197, + [8473] = 8215, + [8474] = 7971, + [8475] = 7881, + [8476] = 7813, + [8477] = 7839, + [8478] = 8195, + [8479] = 7849, + [8480] = 7895, + [8481] = 7949, + [8482] = 8080, + [8483] = 7940, + [8484] = 7927, + [8485] = 7928, + [8486] = 7840, + [8487] = 7888, + [8488] = 7815, + [8489] = 8197, + [8490] = 8215, + [8491] = 7925, + [8492] = 8492, + [8493] = 7813, + [8494] = 7825, + [8495] = 7902, + [8496] = 7927, + [8497] = 7848, + [8498] = 7939, + [8499] = 8193, + [8500] = 8197, + [8501] = 8215, + [8502] = 7811, + [8503] = 7973, + [8504] = 7817, + [8505] = 7967, + [8506] = 7809, + [8507] = 7927, + [8508] = 7884, + [8509] = 7935, + [8510] = 7878, + [8511] = 8215, + [8512] = 7938, + [8513] = 7821, + [8514] = 7918, + [8515] = 7846, + [8516] = 7927, + [8517] = 7807, + [8518] = 7811, + [8519] = 8215, + [8520] = 8520, + [8521] = 8521, + [8522] = 8522, + [8523] = 7829, + [8524] = 7927, + [8525] = 7945, + [8526] = 7848, + [8527] = 8215, + [8528] = 7855, + [8529] = 7869, + [8530] = 7967, + [8531] = 7927, + [8532] = 7890, + [8533] = 7880, + [8534] = 7898, + [8535] = 7927, + [8536] = 7971, + [8537] = 7923, + [8538] = 7927, + [8539] = 7898, + [8540] = 7927, + [8541] = 7890, + [8542] = 7927, + [8543] = 7929, + [8544] = 7927, + [8545] = 7930, + [8546] = 7927, + [8547] = 7895, + [8548] = 7927, + [8549] = 7816, + [8550] = 7927, + [8551] = 7844, + [8552] = 7927, + [8553] = 7865, + [8554] = 7927, + [8555] = 8334, + [8556] = 8088, + [8557] = 7880, + [8558] = 8334, + [8559] = 8088, + [8560] = 7979, + [8561] = 8334, + [8562] = 8088, + [8563] = 8056, + [8564] = 8334, + [8565] = 8088, + [8566] = 7869, + [8567] = 8334, + [8568] = 8088, + [8569] = 7938, + [8570] = 8088, + [8571] = 8088, + [8572] = 8088, + [8573] = 8088, + [8574] = 8088, + [8575] = 8088, + [8576] = 8088, + [8577] = 8088, + [8578] = 8088, + [8579] = 8088, + [8580] = 8088, + [8581] = 7821, + [8582] = 7867, + [8583] = 7899, + [8584] = 7856, + [8585] = 8310, + [8586] = 8203, + [8587] = 8203, + [8588] = 8203, + [8589] = 8203, + [8590] = 8203, +}; + +static TSCharacterRange sym__identifier_character_set_1[] = { + {'$', '$'}, {'A', 'Z'}, {'\\', '\\'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, + {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, + {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, + {0x3f7, 0x481}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, + {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, + {0x712, 0x72f}, {0x74d, 0x7a5}, {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, + {0x824, 0x824}, {0x828, 0x828}, {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, + {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, + {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, + {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, + {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, + {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, + {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, + {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, + {0xbd0, 0xbd0}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, + {0xc60, 0xc61}, {0xc80, 0xc80}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, + {0xcdd, 0xcde}, {0xce0, 0xce1}, {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, + {0xd54, 0xd56}, {0xd5f, 0xd61}, {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, + {0xe01, 0xe30}, {0xe32, 0xe32}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, + {0xea7, 0xeb0}, {0xeb2, 0xeb2}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, + {0xf49, 0xf6c}, {0xf88, 0xf8c}, {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, + {0x106e, 0x1070}, {0x1075, 0x1081}, {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, + {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, + {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, + {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, + {0x171f, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, + {0x1880, 0x18a8}, {0x18aa, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, + {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, + {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d}, {0x1c80, 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}, {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}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, + {0x12f90, 0x12ff0}, {0x13000, 0x1342e}, {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}, + {0x1b150, 0x1b152}, {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}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, + {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {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, 0x2b738}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, + {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, +}; + +static TSCharacterRange sym__identifier_character_set_2[] = { + {'$', '$'}, {'0', '9'}, {'A', 'Z'}, {'\\', '\\'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, + {0xb7, 0xb7}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, + {0x2ee, 0x2ee}, {0x300, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, + {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, + {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a}, {0x620, 0x669}, + {0x66e, 0x6d3}, {0x6d5, 0x6dc}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1}, {0x7c0, 0x7f5}, + {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {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, 0xcf2}, {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, 0xecd}, {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}, {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, 0x30fa}, {0x30fc, 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}, + {0xff66, 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}, {0x10f00, 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, 0x1123e}, {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}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342e}, {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}, {0x1b150, 0x1b152}, {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}, + {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, + {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {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, 0x2b738}, {0x2b740, 0x2b81d}, + {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0xe0100, 0xe01ef}, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(383); + ADVANCE_MAP( + '!', 450, + '"', 569, + '#', 330, + '%', 474, + '&', 484, + '\'', 560, + '(', 387, + ')', 390, + '*', 470, + '+', 464, + ',', 389, + '-', 453, + '.', 534, + '/', 472, + '0', 687, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 510, + '\\', 2, + ']', 512, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(381); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(189); + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(189); + if (lookahead == '\r') SKIP(1); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 3: + if (lookahead == '\n') SKIP(198); + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(198); + if (lookahead == '\r') SKIP(3); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 5: + if (lookahead == '\n') SKIP(197); + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(197); + if (lookahead == '\r') SKIP(5); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(200); + END_STATE(); + case 8: + if (lookahead == '\n') SKIP(200); + if (lookahead == '\r') SKIP(7); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 9: + if (lookahead == '\n') SKIP(199); + END_STATE(); + case 10: + if (lookahead == '\n') SKIP(199); + if (lookahead == '\r') SKIP(9); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 11: + if (lookahead == '\n') SKIP(201); + END_STATE(); + case 12: + if (lookahead == '\n') SKIP(201); + if (lookahead == '\r') SKIP(11); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 13: + if (lookahead == '\n') SKIP(192); + END_STATE(); + case 14: + if (lookahead == '\n') SKIP(192); + if (lookahead == '\r') SKIP(13); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 15: + if (lookahead == '\n') SKIP(202); + END_STATE(); + case 16: + if (lookahead == '\n') SKIP(202); + if (lookahead == '\r') SKIP(15); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 17: + if (lookahead == '\n') SKIP(193); + END_STATE(); + case 18: + if (lookahead == '\n') SKIP(193); + if (lookahead == '\r') SKIP(17); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 19: + if (lookahead == '\n') SKIP(282); + END_STATE(); + case 20: + if (lookahead == '\n') SKIP(282); + if (lookahead == '\r') SKIP(19); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 21: + if (lookahead == '\n') SKIP(226); + END_STATE(); + case 22: + if (lookahead == '\n') SKIP(226); + if (lookahead == '\r') SKIP(21); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 23: + if (lookahead == '\n') SKIP(283); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(283); + if (lookahead == '\r') SKIP(23); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 25: + if (lookahead == '\n') SKIP(195); + END_STATE(); + case 26: + if (lookahead == '\n') SKIP(195); + if (lookahead == '\r') SKIP(25); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 27: + if (lookahead == '\n') SKIP(216); + END_STATE(); + case 28: + if (lookahead == '\n') SKIP(216); + if (lookahead == '\r') SKIP(27); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 29: + if (lookahead == '\n') SKIP(217); + END_STATE(); + case 30: + if (lookahead == '\n') SKIP(217); + if (lookahead == '\r') SKIP(29); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 31: + if (lookahead == '\n') SKIP(212); + END_STATE(); + case 32: + if (lookahead == '\n') SKIP(212); + if (lookahead == '\r') SKIP(31); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 33: + if (lookahead == '\n') SKIP(203); + END_STATE(); + case 34: + if (lookahead == '\n') SKIP(203); + if (lookahead == '\r') SKIP(33); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 35: + if (lookahead == '\n') SKIP(227); + END_STATE(); + case 36: + if (lookahead == '\n') SKIP(227); + if (lookahead == '\r') SKIP(35); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 37: + if (lookahead == '\n') SKIP(205); + END_STATE(); + case 38: + if (lookahead == '\n') SKIP(205); + if (lookahead == '\r') SKIP(37); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 39: + if (lookahead == '\n') SKIP(225); + END_STATE(); + case 40: + if (lookahead == '\n') SKIP(225); + if (lookahead == '\r') SKIP(39); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 41: + if (lookahead == '\n') SKIP(211); + END_STATE(); + case 42: + if (lookahead == '\n') SKIP(211); + if (lookahead == '\r') SKIP(41); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 43: + if (lookahead == '\n') SKIP(219); + END_STATE(); + case 44: + if (lookahead == '\n') SKIP(219); + if (lookahead == '\r') SKIP(43); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 45: + if (lookahead == '\n') SKIP(263); + END_STATE(); + case 46: + if (lookahead == '\n') SKIP(263); + if (lookahead == '\r') SKIP(45); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 47: + if (lookahead == '\n') SKIP(228); + END_STATE(); + case 48: + if (lookahead == '\n') SKIP(228); + if (lookahead == '\r') SKIP(47); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 49: + if (lookahead == '\n') SKIP(236); + END_STATE(); + case 50: + if (lookahead == '\n') SKIP(236); + if (lookahead == '\r') SKIP(49); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 51: + if (lookahead == '\n') SKIP(240); + END_STATE(); + case 52: + if (lookahead == '\n') SKIP(240); + if (lookahead == '\r') SKIP(51); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 53: + if (lookahead == '\n') SKIP(248); + END_STATE(); + case 54: + if (lookahead == '\n') SKIP(248); + if (lookahead == '\r') SKIP(53); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 55: + if (lookahead == '\n') SKIP(264); + END_STATE(); + case 56: + if (lookahead == '\n') SKIP(264); + if (lookahead == '\r') SKIP(55); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 57: + if (lookahead == '\n') SKIP(281); + END_STATE(); + case 58: + if (lookahead == '\n') SKIP(281); + if (lookahead == '\r') SKIP(57); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 59: + if (lookahead == '\n') SKIP(250); + END_STATE(); + case 60: + if (lookahead == '\n') SKIP(250); + if (lookahead == '\r') SKIP(59); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 61: + if (lookahead == '\n') SKIP(280); + END_STATE(); + case 62: + if (lookahead == '\n') SKIP(280); + if (lookahead == '\r') SKIP(61); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 63: + if (lookahead == '\n') SKIP(273); + END_STATE(); + case 64: + if (lookahead == '\n') SKIP(273); + if (lookahead == '\r') SKIP(63); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 65: + if (lookahead == '\n') SKIP(244); + END_STATE(); + case 66: + if (lookahead == '\n') SKIP(244); + if (lookahead == '\r') SKIP(65); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 67: + if (lookahead == '\n') SKIP(266); + END_STATE(); + case 68: + if (lookahead == '\n') SKIP(266); + if (lookahead == '\r') SKIP(67); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 69: + if (lookahead == '\n') SKIP(232); + END_STATE(); + case 70: + if (lookahead == '\n') SKIP(232); + if (lookahead == '\r') SKIP(69); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 71: + if (lookahead == '\n') SKIP(271); + END_STATE(); + case 72: + if (lookahead == '\n') SKIP(271); + if (lookahead == '\r') SKIP(71); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 73: + if (lookahead == '\n') SKIP(209); + END_STATE(); + case 74: + if (lookahead == '\n') SKIP(209); + if (lookahead == '\r') SKIP(73); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 75: + if (lookahead == '\n') SKIP(222); + END_STATE(); + case 76: + if (lookahead == '\n') SKIP(222); + if (lookahead == '\r') SKIP(75); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 77: + if (lookahead == '\n') SKIP(276); + END_STATE(); + case 78: + if (lookahead == '\n') SKIP(276); + if (lookahead == '\r') SKIP(77); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 79: + if (lookahead == '\n') SKIP(234); + END_STATE(); + case 80: + if (lookahead == '\n') SKIP(234); + if (lookahead == '\r') SKIP(79); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 81: + if (lookahead == '\n') SKIP(251); + END_STATE(); + case 82: + if (lookahead == '\n') SKIP(251); + if (lookahead == '\r') SKIP(81); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 83: + if (lookahead == '\n') SKIP(288); + END_STATE(); + case 84: + if (lookahead == '\n') SKIP(288); + if (lookahead == '\r') SKIP(83); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 85: + if (lookahead == '\n') SKIP(254); + END_STATE(); + case 86: + if (lookahead == '\n') SKIP(254); + if (lookahead == '\r') SKIP(85); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 87: + if (lookahead == '\n') SKIP(196); + END_STATE(); + case 88: + if (lookahead == '\n') SKIP(196); + if (lookahead == '\r') SKIP(87); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 89: + if (lookahead == '\n') SKIP(223); + END_STATE(); + case 90: + if (lookahead == '\n') SKIP(223); + if (lookahead == '\r') SKIP(89); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 91: + if (lookahead == '\n') SKIP(257); + END_STATE(); + case 92: + if (lookahead == '\n') SKIP(257); + if (lookahead == '\r') SKIP(91); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 93: + if (lookahead == '\n') SKIP(289); + END_STATE(); + case 94: + if (lookahead == '\n') SKIP(289); + if (lookahead == '\r') SKIP(93); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 95: + if (lookahead == '\n') SKIP(284); + END_STATE(); + case 96: + if (lookahead == '\n') SKIP(284); + if (lookahead == '\r') SKIP(95); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 97: + if (lookahead == '\n') SKIP(243); + END_STATE(); + case 98: + if (lookahead == '\n') SKIP(243); + if (lookahead == '\r') SKIP(97); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 99: + if (lookahead == '\n') SKIP(256); + END_STATE(); + case 100: + if (lookahead == '\n') SKIP(256); + if (lookahead == '\r') SKIP(99); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 101: + if (lookahead == '\n') SKIP(290); + END_STATE(); + case 102: + if (lookahead == '\n') SKIP(290); + if (lookahead == '\r') SKIP(101); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 103: + if (lookahead == '\n') SKIP(262); + END_STATE(); + case 104: + if (lookahead == '\n') SKIP(262); + if (lookahead == '\r') SKIP(103); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 105: + if (lookahead == '\n') SKIP(287); + END_STATE(); + case 106: + if (lookahead == '\n') SKIP(287); + if (lookahead == '\r') SKIP(105); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 107: + if (lookahead == '\n') SKIP(295); + END_STATE(); + case 108: + if (lookahead == '\n') SKIP(295); + if (lookahead == '\r') SKIP(107); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 109: + if (lookahead == '\n') SKIP(204); + END_STATE(); + case 110: + if (lookahead == '\n') SKIP(204); + if (lookahead == '\r') SKIP(109); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 111: + if (lookahead == '\n') SKIP(113); + END_STATE(); + case 112: + if (lookahead == '\n') SKIP(113); + if (lookahead == '\r') SKIP(111); + END_STATE(); + case 113: + ADVANCE_MAP( + '\n', 392, + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 462, + '-', 452, + '/', 471, + '<', 497, + '=', 320, + '>', 488, + ); + if (lookahead == '\\') SKIP(112); + if (lookahead == '^') ADVANCE(480); + if (lookahead == '|') ADVANCE(479); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(113); + END_STATE(); + case 114: + if (lookahead == '\n') SKIP(294); + END_STATE(); + case 115: + if (lookahead == '\n') SKIP(294); + if (lookahead == '\r') SKIP(114); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 116: + if (lookahead == '\n') SKIP(277); + END_STATE(); + case 117: + if (lookahead == '\n') SKIP(277); + if (lookahead == '\r') SKIP(116); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 118: + if (lookahead == '\n') SKIP(278); + if (lookahead == '"') ADVANCE(569); + if (lookahead == '/') ADVANCE(570); + if (lookahead == '\\') ADVANCE(119); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(573); + if (lookahead != 0) ADVANCE(574); + END_STATE(); + case 119: + if (lookahead == '\n') ADVANCE(576); + if (lookahead == '\r') ADVANCE(575); + if (lookahead == 'U') ADVANCE(379); + if (lookahead == 'u') ADVANCE(371); + if (lookahead == 'x') ADVANCE(367); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(578); + if (lookahead != 0) ADVANCE(575); + END_STATE(); + case 120: + if (lookahead == '\n') SKIP(291); + if (lookahead == '\'') ADVANCE(560); + if (lookahead == '/') ADVANCE(563); + if (lookahead == '\\') ADVANCE(562); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(564); + if (lookahead != 0) ADVANCE(561); + END_STATE(); + case 121: + if (lookahead == '\n') ADVANCE(385); + if (lookahead == '\r') ADVANCE(125); + if (lookahead == '(') ADVANCE(387); + if (lookahead == '/') ADVANCE(413); + if (lookahead == '\\') ADVANCE(408); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(310); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 122: + if (lookahead == '\n') ADVANCE(385); + if (lookahead == '\r') ADVANCE(125); + if (lookahead == '/') ADVANCE(413); + if (lookahead == '\\') ADVANCE(408); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(310); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 123: + if (lookahead == '\n') ADVANCE(385); + if (lookahead == '\r') ADVANCE(124); + if (lookahead == '(') ADVANCE(448); + if (lookahead == '/') ADVANCE(299); + if (lookahead == '\\') SKIP(127); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(296); + END_STATE(); + case 124: + if (lookahead == '\n') ADVANCE(385); + if (lookahead == '(') ADVANCE(448); + if (lookahead == '/') ADVANCE(299); + if (lookahead == '\\') SKIP(127); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(296); + END_STATE(); + case 125: + if (lookahead == '\n') ADVANCE(385); + if (lookahead == '/') ADVANCE(413); + if (lookahead == '\\') ADVANCE(408); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(310); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 126: + if (lookahead == '\n') SKIP(296); + END_STATE(); + case 127: + if (lookahead == '\n') SKIP(296); + if (lookahead == '\r') SKIP(126); + END_STATE(); + case 128: + if (lookahead == '\n') SKIP(190); + END_STATE(); + case 129: + if (lookahead == '\n') SKIP(190); + if (lookahead == '\r') SKIP(128); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 130: + if (lookahead == '\n') SKIP(194); + END_STATE(); + case 131: + if (lookahead == '\n') SKIP(194); + if (lookahead == '\r') SKIP(130); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 132: + if (lookahead == '\n') SKIP(235); + END_STATE(); + case 133: + if (lookahead == '\n') SKIP(235); + if (lookahead == '\r') SKIP(132); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 134: + if (lookahead == '\n') SKIP(207); + END_STATE(); + case 135: + if (lookahead == '\n') SKIP(207); + if (lookahead == '\r') SKIP(134); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 136: + if (lookahead == '\n') SKIP(213); + END_STATE(); + case 137: + if (lookahead == '\n') SKIP(213); + if (lookahead == '\r') SKIP(136); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 138: + if (lookahead == '\n') SKIP(220); + END_STATE(); + case 139: + if (lookahead == '\n') SKIP(220); + if (lookahead == '\r') SKIP(138); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 140: + if (lookahead == '\n') SKIP(231); + END_STATE(); + case 141: + if (lookahead == '\n') SKIP(231); + if (lookahead == '\r') SKIP(140); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 142: + if (lookahead == '\n') SKIP(230); + END_STATE(); + case 143: + if (lookahead == '\n') SKIP(230); + if (lookahead == '\r') SKIP(142); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 144: + if (lookahead == '\n') SKIP(241); + END_STATE(); + case 145: + if (lookahead == '\n') SKIP(241); + if (lookahead == '\r') SKIP(144); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 146: + if (lookahead == '\n') SKIP(267); + END_STATE(); + case 147: + if (lookahead == '\n') SKIP(267); + if (lookahead == '\r') SKIP(146); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 148: + if (lookahead == '\n') SKIP(268); + END_STATE(); + case 149: + if (lookahead == '\n') SKIP(268); + if (lookahead == '\r') SKIP(148); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 150: + if (lookahead == '\n') SKIP(258); + END_STATE(); + case 151: + if (lookahead == '\n') SKIP(258); + if (lookahead == '\r') SKIP(150); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 152: + if (lookahead == '\n') SKIP(242); + END_STATE(); + case 153: + if (lookahead == '\n') SKIP(242); + if (lookahead == '\r') SKIP(152); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 154: + if (lookahead == '\n') SKIP(255); + END_STATE(); + case 155: + if (lookahead == '\n') SKIP(255); + if (lookahead == '\r') SKIP(154); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 156: + if (lookahead == '\n') SKIP(239); + END_STATE(); + case 157: + if (lookahead == '\n') SKIP(239); + if (lookahead == '\r') SKIP(156); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 158: + if (lookahead == '\n') SKIP(249); + END_STATE(); + case 159: + if (lookahead == '\n') SKIP(249); + if (lookahead == '\r') SKIP(158); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 160: + if (lookahead == '\n') SKIP(270); + END_STATE(); + case 161: + if (lookahead == '\n') SKIP(270); + if (lookahead == '\r') SKIP(160); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 162: + if (lookahead == '\n') SKIP(260); + END_STATE(); + case 163: + if (lookahead == '\n') SKIP(260); + if (lookahead == '\r') SKIP(162); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 164: + if (lookahead == '\n') SKIP(286); + END_STATE(); + case 165: + if (lookahead == '\n') SKIP(286); + if (lookahead == '\r') SKIP(164); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 166: + if (lookahead == '\n') SKIP(246); + END_STATE(); + case 167: + if (lookahead == '\n') SKIP(246); + if (lookahead == '\r') SKIP(166); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 168: + if (lookahead == '\n') SKIP(272); + END_STATE(); + case 169: + if (lookahead == '\n') SKIP(272); + if (lookahead == '\r') SKIP(168); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 170: + if (lookahead == '\n') SKIP(191); + END_STATE(); + case 171: + if (lookahead == '\n') SKIP(191); + if (lookahead == '\r') SKIP(170); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 172: + if (lookahead == '\n') SKIP(237); + END_STATE(); + case 173: + if (lookahead == '\n') SKIP(237); + if (lookahead == '\r') SKIP(172); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 174: + if (lookahead == '\n') SKIP(252); + END_STATE(); + case 175: + if (lookahead == '\n') SKIP(252); + if (lookahead == '\r') SKIP(174); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 176: + if (lookahead == '\n') SKIP(261); + END_STATE(); + case 177: + if (lookahead == '\n') SKIP(261); + if (lookahead == '\r') SKIP(176); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 178: + if (lookahead == '\n') SKIP(285); + END_STATE(); + case 179: + if (lookahead == '\n') SKIP(285); + if (lookahead == '\r') SKIP(178); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 180: + if (lookahead == '\n') SKIP(247); + END_STATE(); + case 181: + if (lookahead == '\n') SKIP(247); + if (lookahead == '\r') SKIP(180); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 182: + if (lookahead == '\n') SKIP(229); + END_STATE(); + case 183: + if (lookahead == '\n') SKIP(229); + if (lookahead == '\r') SKIP(182); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 184: + if (lookahead == '\n') SKIP(265); + END_STATE(); + case 185: + if (lookahead == '\n') SKIP(265); + if (lookahead == '\r') SKIP(184); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 186: + if (lookahead == '\n') SKIP(275); + END_STATE(); + case 187: + if (lookahead == '\n') SKIP(275); + if (lookahead == '\r') SKIP(186); + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 188: + if (lookahead == '\r') ADVANCE(682); + if (lookahead == '\\') ADVANCE(676); + if (lookahead != 0) ADVANCE(681); + END_STATE(); + case 189: + ADVANCE_MAP( + '!', 450, + '"', 569, + '#', 330, + '%', 474, + '&', 484, + '\'', 560, + '(', 448, + ')', 390, + '*', 470, + '+', 464, + ',', 389, + '-', 453, + '.', 534, + '/', 472, + '0', 687, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 510, + '\\', 2, + ']', 512, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(189); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 190: + ADVANCE_MAP( + '!', 450, + '"', 569, + '#', 339, + '%', 474, + '&', 484, + '\'', 560, + '(', 448, + ')', 390, + '*', 470, + '+', 464, + ',', 389, + '-', 454, + '.', 534, + '/', 472, + '0', 542, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 129, + ']', 512, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(190); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 191: + ADVANCE_MAP( + '!', 450, + '"', 569, + '#', 339, + '%', 473, + '&', 483, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 455, + '.', 534, + '/', 471, + '0', 542, + ':', 518, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 171, + ']', 512, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 479, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(191); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 192: + ADVANCE_MAP( + '!', 450, + '"', 569, + '%', 474, + '&', 484, + '\'', 560, + '(', 448, + ')', 390, + '*', 470, + '+', 464, + ',', 389, + '-', 453, + '.', 534, + '/', 472, + '0', 542, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 14, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(192); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 193: + ADVANCE_MAP( + '!', 450, + '"', 569, + '%', 474, + '&', 484, + '\'', 560, + '(', 448, + '*', 470, + '+', 464, + ',', 389, + '-', 454, + '.', 534, + '/', 472, + '0', 542, + ':', 317, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 18, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(193); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 194: + ADVANCE_MAP( + '!', 450, + '"', 569, + '%', 473, + '&', 483, + '\'', 560, + '(', 448, + '*', 469, + '+', 465, + ',', 389, + '-', 455, + '.', 534, + '/', 471, + '0', 542, + ':', 317, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 131, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 479, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(194); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 195: + ADVANCE_MAP( + '!', 450, + '"', 279, + '%', 474, + '&', 484, + '(', 297, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '[', 327, + '\\', 26, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '|', 478, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(195); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 196: + ADVANCE_MAP( + '!', 450, + '"', 279, + '%', 474, + '&', 484, + '(', 297, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '[', 328, + '\\', 88, + '^', 481, + '|', 478, + '~', 451, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(196); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 197: + ADVANCE_MAP( + '!', 449, + '"', 569, + '#', 330, + '&', 483, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 305, + '/', 299, + '0', 542, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 509, + '\\', 6, + ']', 512, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 353, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(197); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 198: + ADVANCE_MAP( + '!', 449, + '"', 569, + '#', 334, + '%', 473, + '&', 483, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 536, + '/', 471, + '0', 542, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 509, + '\\', 4, + ']', 329, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 353, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(198); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 199: + ADVANCE_MAP( + '!', 449, + '"', 569, + '#', 338, + '&', 482, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + '-', 456, + '.', 305, + '/', 299, + '0', 542, + ':', 317, + ';', 502, + '>', 321, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 509, + '\\', 10, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(199); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 200: + ADVANCE_MAP( + '!', 449, + '"', 569, + '#', 332, + '&', 483, + '\'', 560, + '(', 448, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 359, + '/', 299, + '0', 542, + ':', 317, + ';', 502, + '<', 318, + '>', 487, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 509, + '\\', 8, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 477, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(200); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 201: + ADVANCE_MAP( + '!', 449, + '"', 569, + '&', 483, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 535, + '/', 299, + '0', 542, + ':', 317, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 12, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(201); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 202: + ADVANCE_MAP( + '!', 449, + '"', 569, + '&', 482, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 535, + '/', 299, + '0', 542, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 16, + ']', 512, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(202); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 203: + ADVANCE_MAP( + '!', 449, + '"', 569, + '&', 482, + '\'', 560, + '(', 448, + '*', 469, + '+', 465, + '-', 456, + '.', 359, + '/', 299, + '0', 687, + ':', 317, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 508, + '\\', 34, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(203); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 204: + ADVANCE_MAP( + '!', 449, + '\'', 560, + '(', 448, + ')', 390, + '+', 467, + '-', 460, + '.', 359, + '/', 299, + '0', 542, + 'L', 601, + 'U', 602, + '\\', 110, + 'u', 603, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(204); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 205: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 38, + ']', 512, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(205); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 206: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 38, + ']', 512, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(205); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 207: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 135, + ']', 512, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(207); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 208: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 135, + ']', 512, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(207); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 209: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 74, + ']', 512, + '^', 480, + 'u', 591, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(209); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 210: + ADVANCE_MAP( + '!', 319, + '"', 569, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 74, + ']', 512, + '^', 480, + 'u', 700, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(209); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 211: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 518, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 42, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(211); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 212: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 509, + '\\', 32, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(212); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 213: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 137, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(213); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 214: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 509, + '\\', 32, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(212); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 215: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 137, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(213); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 216: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 509, + '\\', 28, + ']', 329, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(216); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 217: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 509, + '\\', 30, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(217); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 218: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 509, + '\\', 30, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(217); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 219: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 44, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(219); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 220: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 139, + '^', 481, + 'u', 591, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(220); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 221: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 139, + '^', 481, + 'u', 700, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(220); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 222: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 462, + ',', 389, + '-', 452, + '/', 471, + ':', 517, + '<', 497, + '=', 320, + '>', 488, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 509, + '\\', 76, + '^', 480, + 'u', 591, + '{', 506, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(222); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 223: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + 'L', 584, + 'R', 586, + 'U', 588, + '[', 508, + '\\', 90, + '^', 480, + 'u', 591, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(223); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 224: + ADVANCE_MAP( + '!', 319, + '"', 569, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + 'L', 697, + 'R', 698, + 'U', 699, + '[', 508, + '\\', 90, + '^', 480, + 'u', 700, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(223); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 225: + ADVANCE_MAP( + '!', 319, + '#', 350, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 40, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(225); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 226: + ADVANCE_MAP( + '!', 319, + '#', 335, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 462, + ',', 389, + '-', 452, + '/', 471, + ':', 317, + ';', 502, + '<', 497, + '=', 320, + '>', 488, + '[', 509, + '\\', 22, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '|', 479, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(226); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 227: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 36, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(227); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 228: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 48, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(228); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 229: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 183, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(229); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 230: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 143, + ']', 512, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(230); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 231: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 141, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(231); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 232: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 511, + '\\', 70, + ']', 512, + '^', 481, + '|', 478, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(232); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 233: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 80, + '^', 481, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(234); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 234: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 80, + '^', 481, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(234); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 235: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 518, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 133, + ']', 512, + '^', 480, + '{', 506, + '|', 479, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(235); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 236: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 50, + ']', 512, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(236); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 237: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 173, + ']', 512, + '^', 480, + '{', 506, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(237); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 238: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 157, + '^', 480, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(239); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 239: + ADVANCE_MAP( + '!', 319, + '#', 339, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 157, + '^', 480, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(239); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 240: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '0', 686, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 52, + '^', 481, + '{', 506, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(240); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 241: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 317, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 145, + '^', 481, + '{', 506, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(241); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 242: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + ':', 517, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 153, + '^', 481, + '{', 506, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(242); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 243: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 510, + '\\', 98, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(243); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 244: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 66, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(244); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 245: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 167, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(246); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 246: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 167, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(246); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 247: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 457, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 511, + '\\', 181, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(247); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 248: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 508, + '\\', 54, + '^', 481, + '{', 506, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(248); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 249: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 159, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(249); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 250: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 60, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(250); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 251: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 509, + '\\', 82, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(251); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 252: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 175, + ']', 512, + '^', 481, + '{', 506, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(252); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 253: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 86, + ']', 512, + '^', 481, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(254); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 254: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + ')', 390, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 508, + '\\', 86, + ']', 512, + '^', 481, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(254); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 255: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ':', 517, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 508, + '\\', 155, + '^', 481, + '{', 506, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(255); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 256: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + ';', 502, + '<', 494, + '=', 514, + '>', 489, + '?', 519, + '[', 510, + '\\', 100, + '^', 481, + '|', 478, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(256); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 257: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 509, + '\\', 92, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(257); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 258: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 508, + '\\', 151, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 478, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(258); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 259: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 508, + '\\', 163, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(260); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 260: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 508, + '\\', 163, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(260); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 261: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '(', 448, + '*', 470, + '+', 466, + ',', 389, + '-', 458, + '.', 533, + '/', 472, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + '[', 511, + '\\', 177, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(261); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 262: + ADVANCE_MAP( + '!', 319, + '%', 474, + '&', 484, + '*', 470, + '+', 468, + ',', 389, + '-', 461, + '.', 298, + '/', 472, + '<', 495, + '=', 514, + '>', 489, + '\\', 104, + '^', 481, + '|', 478, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(262); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 263: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 518, + ';', 502, + '<', 496, + '=', 514, + '>', 488, + '?', 519, + '[', 509, + '\\', 46, + '^', 480, + '{', 506, + '|', 479, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(263); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 264: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 518, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 56, + ']', 512, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(264); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 265: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 518, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 185, + ']', 512, + '^', 480, + '{', 506, + '|', 479, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(265); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 266: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 518, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + '[', 508, + '\\', 68, + '^', 480, + '{', 506, + '|', 479, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(266); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 267: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 317, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 147, + ']', 329, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 479, + '}', 507, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(267); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 268: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 149, + ']', 512, + '^', 480, + '{', 506, + '|', 479, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(268); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 269: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 161, + ']', 512, + '^', 480, + '|', 479, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(270); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 270: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 508, + '\\', 161, + ']', 512, + '^', 480, + '|', 479, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(270); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 271: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ':', 517, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + '[', 508, + '\\', 72, + '^', 480, + '{', 506, + '|', 479, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(271); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 272: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + ';', 502, + '<', 496, + '=', 320, + '>', 488, + '?', 519, + '[', 509, + '\\', 169, + '^', 480, + '|', 479, + '}', 507, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(272); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 273: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + '[', 508, + '\\', 64, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 479, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(273); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 274: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + '[', 508, + '\\', 187, + '^', 480, + '|', 479, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(275); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 275: + ADVANCE_MAP( + '!', 319, + '%', 473, + '&', 483, + '(', 448, + '*', 469, + '+', 463, + ',', 389, + '-', 459, + '.', 533, + '/', 471, + '<', 496, + '=', 320, + '>', 685, + '?', 519, + '[', 508, + '\\', 187, + '^', 480, + '|', 479, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(275); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 276: + ADVANCE_MAP( + '"', 569, + '&', 483, + '(', 448, + '*', 469, + '/', 299, + ':', 317, + 'L', 585, + 'U', 589, + '[', 509, + '\\', 78, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 592, + 'v', 653, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(276); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 277: + ADVANCE_MAP( + '"', 569, + '/', 299, + '<', 323, + 'L', 585, + 'U', 589, + '\\', 117, + 'u', 593, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(277); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 278: + if (lookahead == '"') ADVANCE(569); + if (lookahead == '/') ADVANCE(299); + if (lookahead == '\\') ADVANCE(119); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(278); + END_STATE(); + case 279: + if (lookahead == '"') ADVANCE(696); + END_STATE(); + case 280: + ADVANCE_MAP( + '#', 339, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '-', 322, + '.', 304, + '/', 299, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 509, + '\\', 62, + '{', 506, + '|', 353, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(280); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 281: + ADVANCE_MAP( + '#', 339, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '.', 304, + '/', 299, + ':', 317, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 508, + '\\', 58, + '{', 506, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(281); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 282: + ADVANCE_MAP( + '#', 331, + '&', 483, + '(', 448, + ')', 390, + '*', 469, + '+', 462, + ',', 389, + '-', 322, + '.', 304, + '/', 299, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 509, + '\\', 20, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + '|', 353, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(282); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 283: + ADVANCE_MAP( + '#', 333, + '&', 483, + '(', 448, + '*', 469, + ',', 389, + '/', 299, + ':', 317, + ';', 502, + '[', 509, + '\\', 24, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(283); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 284: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '-', 322, + '.', 304, + '/', 299, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 509, + '\\', 96, + '{', 506, + '|', 353, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(284); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 285: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '-', 322, + '.', 304, + '/', 299, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 508, + '\\', 179, + '{', 506, + '|', 353, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(285); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 286: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '-', 322, + '.', 304, + '/', 299, + ':', 517, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 509, + '\\', 165, + '{', 506, + '|', 353, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(286); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 287: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '.', 304, + '/', 299, + ':', 517, + ';', 502, + '=', 513, + '>', 685, + '[', 508, + '\\', 106, + '{', 506, + '|', 353, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(287); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 288: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '/', 299, + ':', 517, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 509, + '\\', 84, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(288); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 289: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '/', 299, + ':', 517, + ';', 502, + '=', 513, + '>', 685, + '[', 509, + '\\', 94, + '{', 506, + '|', 353, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(289); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 290: + ADVANCE_MAP( + '&', 483, + '(', 448, + ')', 390, + '*', 469, + ',', 389, + '/', 299, + ';', 502, + '=', 513, + '>', 685, + '[', 508, + '\\', 102, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 648, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 'u', 641, + 'v', 653, + '{', 506, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(290); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 291: + if (lookahead == '\'') ADVANCE(560); + if (lookahead == '/') ADVANCE(299); + if (lookahead == '\\') ADVANCE(119); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(291); + END_STATE(); + case 292: + if (lookahead == '\'') ADVANCE(364); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(354); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(292); + END_STATE(); + case 293: + if (lookahead == '\'') ADVANCE(360); + if (lookahead == '.') ADVANCE(549); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(354); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(293); + END_STATE(); + case 294: + ADVANCE_MAP( + '(', 448, + ')', 390, + ',', 389, + '/', 299, + ':', 517, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + '[', 510, + '\\', 115, + '{', 506, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(294); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 295: + ADVANCE_MAP( + '(', 448, + '/', 299, + ':', 317, + 'F', 610, + 'T', 614, + '[', 508, + '\\', 108, + 'f', 620, + 't', 661, + '{', 506, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(295); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 296: + if (lookahead == '(') ADVANCE(448); + if (lookahead == '/') ADVANCE(299); + if (lookahead == '\\') SKIP(127); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(296); + END_STATE(); + case 297: + if (lookahead == ')') ADVANCE(694); + END_STATE(); + case 298: + if (lookahead == '*') ADVANCE(537); + END_STATE(); + case 299: + if (lookahead == '*') ADVANCE(302); + if (lookahead == '/') ADVANCE(681); + END_STATE(); + case 300: + if (lookahead == '*') ADVANCE(693); + END_STATE(); + case 301: + if (lookahead == '*') ADVANCE(301); + if (lookahead == '/') ADVANCE(674); + if (lookahead != 0) ADVANCE(302); + END_STATE(); + case 302: + if (lookahead == '*') ADVANCE(301); + if (lookahead != 0) ADVANCE(302); + END_STATE(); + case 303: + if (lookahead == '*') ADVANCE(301); + if (lookahead != 0) ADVANCE(406); + END_STATE(); + case 304: + if (lookahead == '.') ADVANCE(306); + END_STATE(); + case 305: + if (lookahead == '.') ADVANCE(306); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 306: + if (lookahead == '.') ADVANCE(388); + END_STATE(); + case 307: + if (lookahead == '.') ADVANCE(683); + END_STATE(); + case 308: + if (lookahead == '.') ADVANCE(364); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(547); + END_STATE(); + case 309: + if (lookahead == '.') ADVANCE(307); + END_STATE(); + case 310: + if (lookahead == '/') ADVANCE(413); + if (lookahead == '\\') ADVANCE(408); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(310); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 311: + if (lookahead == '1') ADVANCE(315); + END_STATE(); + case 312: + if (lookahead == '2') ADVANCE(540); + END_STATE(); + case 313: + if (lookahead == '2') ADVANCE(316); + if (lookahead == '6') ADVANCE(540); + END_STATE(); + case 314: + if (lookahead == '4') ADVANCE(540); + END_STATE(); + case 315: + if (lookahead == '6') ADVANCE(540); + END_STATE(); + case 316: + if (lookahead == '8') ADVANCE(540); + END_STATE(); + case 317: + if (lookahead == ':') ADVANCE(503); + END_STATE(); + case 318: + if (lookahead == '<') ADVANCE(498); + if (lookahead == '=') ADVANCE(491); + END_STATE(); + case 319: + if (lookahead == '=') ADVANCE(486); + END_STATE(); + case 320: + if (lookahead == '=') ADVANCE(485); + END_STATE(); + case 321: + if (lookahead == '=') ADVANCE(490); + if (lookahead == '>') ADVANCE(500); + END_STATE(); + case 322: + if (lookahead == '>') ADVANCE(538); + END_STATE(); + case 323: + if (lookahead == '>') ADVANCE(579); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(323); + END_STATE(); + case 324: + if (lookahead == '>') ADVANCE(580); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(323); + END_STATE(); + case 325: + if (lookahead == 'F') ADVANCE(311); + END_STATE(); + case 326: + if (lookahead == 'U') ADVANCE(378); + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 327: + if (lookahead == '[') ADVANCE(504); + if (lookahead == ']') ADVANCE(695); + END_STATE(); + case 328: + if (lookahead == ']') ADVANCE(695); + END_STATE(); + case 329: + if (lookahead == ']') ADVANCE(505); + END_STATE(); + case 330: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'e') ADVANCE(442); + if (lookahead == 'i') ADVANCE(430); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(330); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 331: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'e') ADVANCE(442); + if (lookahead == 'i') ADVANCE(431); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(331); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 332: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'e') ADVANCE(444); + if (lookahead == 'i') ADVANCE(430); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(332); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 333: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'e') ADVANCE(444); + if (lookahead == 'i') ADVANCE(431); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(333); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 334: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'i') ADVANCE(430); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(334); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 335: + if (lookahead == 'd') ADVANCE(422); + if (lookahead == 'i') ADVANCE(431); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(335); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 336: + if (lookahead == 'd') ADVANCE(348); + END_STATE(); + case 337: + if (lookahead == 'd') ADVANCE(342); + END_STATE(); + case 338: + if (lookahead == 'e') ADVANCE(352); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(338); + END_STATE(); + case 339: + if (lookahead == 'e') ADVANCE(351); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(339); + END_STATE(); + case 340: + if (lookahead == 'e') ADVANCE(397); + END_STATE(); + case 341: + if (lookahead == 'e') ADVANCE(346); + END_STATE(); + case 342: + if (lookahead == 'e') ADVANCE(347); + END_STATE(); + case 343: + if (lookahead == 'f') ADVANCE(311); + END_STATE(); + case 344: + if (lookahead == 'f') ADVANCE(393); + END_STATE(); + case 345: + if (lookahead == 'f') ADVANCE(399); + END_STATE(); + case 346: + if (lookahead == 'f') ADVANCE(401); + END_STATE(); + case 347: + if (lookahead == 'f') ADVANCE(403); + END_STATE(); + case 348: + if (lookahead == 'i') ADVANCE(344); + END_STATE(); + case 349: + if (lookahead == 'i') ADVANCE(345); + if (lookahead == 's') ADVANCE(340); + END_STATE(); + case 350: + if (lookahead == 'i') ADVANCE(431); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(350); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 351: + if (lookahead == 'l') ADVANCE(349); + if (lookahead == 'n') ADVANCE(336); + END_STATE(); + case 352: + if (lookahead == 'n') ADVANCE(336); + END_STATE(); + case 353: + if (lookahead == '|') ADVANCE(475); + END_STATE(); + case 354: + if (lookahead == '+' || + lookahead == '-') ADVANCE(361); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(546); + END_STATE(); + case 355: + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(354); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(292); + END_STATE(); + case 356: + if (lookahead == '0' || + lookahead == '1') ADVANCE(544); + END_STATE(); + case 357: + if (lookahead == '8' || + lookahead == '9') ADVANCE(293); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(543); + END_STATE(); + case 358: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 359: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 360: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(293); + END_STATE(); + case 361: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(546); + END_STATE(); + case 362: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(673); + END_STATE(); + case 363: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(547); + END_STATE(); + case 364: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(292); + END_STATE(); + case 365: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(575); + END_STATE(); + case 366: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(362); + END_STATE(); + case 367: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(365); + END_STATE(); + case 368: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(366); + END_STATE(); + case 369: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(367); + END_STATE(); + case 370: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(368); + END_STATE(); + case 371: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(369); + END_STATE(); + case 372: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(370); + END_STATE(); + case 373: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(371); + END_STATE(); + case 374: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(372); + END_STATE(); + case 375: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(373); + END_STATE(); + case 376: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(374); + END_STATE(); + case 377: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(375); + END_STATE(); + case 378: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(376); + END_STATE(); + case 379: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(377); + END_STATE(); + case 380: + if (lookahead != 0 && + lookahead != '*') ADVANCE(415); + END_STATE(); + case 381: + if (eof) ADVANCE(383); + ADVANCE_MAP( + '!', 450, + '"', 569, + '#', 330, + '%', 474, + '&', 484, + '\'', 560, + '(', 448, + ')', 390, + '*', 470, + '+', 464, + ',', 389, + '-', 453, + '.', 534, + '/', 472, + '0', 687, + ':', 518, + ';', 502, + '<', 494, + '=', 514, + '>', 685, + '?', 519, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 510, + '\\', 2, + ']', 512, + '^', 481, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 478, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(381); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 382: + if (eof) ADVANCE(383); + ADVANCE_MAP( + '!', 449, + '"', 569, + '#', 334, + '%', 473, + '&', 483, + '\'', 560, + '(', 448, + ')', 390, + '*', 469, + '+', 465, + ',', 389, + '-', 456, + '.', 536, + '/', 471, + '0', 542, + ':', 518, + ';', 502, + '<', 493, + '=', 513, + '>', 685, + 'F', 610, + 'L', 583, + 'R', 586, + 'T', 614, + 'U', 587, + '[', 509, + '\\', 4, + ']', 329, + '^', 480, + 'b', 656, + 'c', 635, + 'd', 652, + 'f', 619, + 'i', 649, + 'm', 621, + 'n', 669, + 'p', 666, + 's', 636, + 't', 661, + 'u', 590, + 'v', 653, + '{', 506, + '|', 353, + '}', 507, + '~', 451, + 0xb5, 605, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(382); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + if (set_contains(sym__identifier_character_set_1, 658, lookahead)) ADVANCE(673); + END_STATE(); + case 383: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 384: + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 385: + ACCEPT_TOKEN(aux_sym_preproc_include_token2); + END_STATE(); + case 386: + ACCEPT_TOKEN(aux_sym_preproc_def_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 387: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 388: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 389: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 390: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 391: + ACCEPT_TOKEN(aux_sym_preproc_if_token1); + if (lookahead == 'd') ADVANCE(426); + if (lookahead == 'n') ADVANCE(420); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 392: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(392); + END_STATE(); + case 393: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + END_STATE(); + case 394: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 395: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 396: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 397: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + END_STATE(); + case 398: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 399: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(341); + if (lookahead == 'n') ADVANCE(337); + END_STATE(); + case 400: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(428); + if (lookahead == 'n') ADVANCE(421); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 401: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + END_STATE(); + case 402: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 403: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + END_STATE(); + case 404: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 405: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(302); + if (lookahead == '*') ADVANCE(405); + if (lookahead == '/') ADVANCE(674); + if (lookahead == '\\') ADVANCE(411); + if (lookahead != 0) ADVANCE(406); + END_STATE(); + case 406: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(302); + if (lookahead == '*') ADVANCE(405); + if (lookahead == '/') ADVANCE(303); + if (lookahead == '\\') ADVANCE(411); + if (lookahead != 0) ADVANCE(406); + END_STATE(); + case 407: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(681); + if (lookahead == '\r') ADVANCE(675); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(677); + if (lookahead != 0) ADVANCE(679); + END_STATE(); + case 408: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(310); + if (lookahead == '\r') ADVANCE(409); + if (lookahead == '/') ADVANCE(380); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 409: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(310); + if (lookahead == '/') ADVANCE(380); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 410: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(416); + if (lookahead == '/') ADVANCE(380); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 411: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(414); + if (lookahead == '*') ADVANCE(405); + if (lookahead == '/') ADVANCE(303); + if (lookahead == '\\') ADVANCE(411); + if (lookahead != 0) ADVANCE(406); + END_STATE(); + case 412: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(680); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(677); + if (lookahead != 0) ADVANCE(679); + END_STATE(); + case 413: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(406); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(415); + END_STATE(); + case 414: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(405); + if (lookahead == '/') ADVANCE(303); + if (lookahead == '\\') ADVANCE(411); + if (lookahead != 0) ADVANCE(406); + END_STATE(); + case 415: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(380); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(415); + END_STATE(); + case 416: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(380); + if (lookahead == '\\') ADVANCE(410); + if (lookahead != 0) ADVANCE(415); + END_STATE(); + case 417: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'c') ADVANCE(443); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 418: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(441); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 419: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(425); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 420: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(427); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 421: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(429); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 422: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(432); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 423: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 424: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(386); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 425: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(384); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 426: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(435); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 427: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(436); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 428: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(437); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 429: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(438); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 430: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(391); + if (lookahead == 'n') ADVANCE(417); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 431: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(391); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 432: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(439); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 433: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(400); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 434: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(394); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 435: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(395); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 436: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(396); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 437: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(402); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 438: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(404); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 439: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(445); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 440: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(433); + if (lookahead == 's') ADVANCE(423); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 441: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(434); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 442: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(440); + if (lookahead == 'n') ADVANCE(418); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 443: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(446); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 444: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(418); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 445: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(424); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 446: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'u') ADVANCE(419); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 447: + ACCEPT_TOKEN(sym_preproc_directive); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(447); + END_STATE(); + case 448: + ACCEPT_TOKEN(anon_sym_LPAREN2); + END_STATE(); + case 449: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 450: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(486); + END_STATE(); + case 451: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 452: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 453: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (lookahead == '=') ADVANCE(524); + if (lookahead == '>') ADVANCE(539); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 454: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (lookahead == '=') ADVANCE(524); + if (lookahead == '>') ADVANCE(538); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 455: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (lookahead == '>') ADVANCE(538); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 456: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 457: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '=') ADVANCE(524); + if (lookahead == '>') ADVANCE(539); + END_STATE(); + case 458: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '=') ADVANCE(524); + if (lookahead == '>') ADVANCE(538); + END_STATE(); + case 459: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(531); + if (lookahead == '>') ADVANCE(538); + END_STATE(); + case 460: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 461: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(524); + if (lookahead == '>') ADVANCE(300); + END_STATE(); + case 462: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 463: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(532); + END_STATE(); + case 464: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(532); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (lookahead == '=') ADVANCE(523); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 465: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(532); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 466: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(532); + if (lookahead == '=') ADVANCE(523); + END_STATE(); + case 467: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '.') ADVANCE(359); + if (lookahead == '0') ADVANCE(542); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 468: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(523); + END_STATE(); + case 469: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 470: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(520); + END_STATE(); + case 471: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(302); + if (lookahead == '/') ADVANCE(681); + END_STATE(); + case 472: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(302); + if (lookahead == '/') ADVANCE(681); + if (lookahead == '=') ADVANCE(521); + END_STATE(); + case 473: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 474: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(522); + END_STATE(); + case 475: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 476: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 477: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 478: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(529); + if (lookahead == '|') ADVANCE(475); + END_STATE(); + case 479: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(475); + END_STATE(); + case 480: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 481: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(528); + END_STATE(); + case 482: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 483: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(476); + END_STATE(); + case 484: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(476); + if (lookahead == '=') ADVANCE(527); + END_STATE(); + case 485: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 486: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 487: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 488: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(490); + if (lookahead == '>') ADVANCE(500); + END_STATE(); + case 489: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(490); + if (lookahead == '>') ADVANCE(501); + END_STATE(); + case 490: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 491: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 492: + ACCEPT_TOKEN(anon_sym_LT_EQ); + if (lookahead == '>') ADVANCE(530); + END_STATE(); + case 493: + ACCEPT_TOKEN(anon_sym_LT); + END_STATE(); + case 494: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(499); + if (lookahead == '=') ADVANCE(492); + END_STATE(); + case 495: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(499); + if (lookahead == '=') ADVANCE(491); + END_STATE(); + case 496: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(498); + if (lookahead == '=') ADVANCE(492); + END_STATE(); + case 497: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(498); + if (lookahead == '=') ADVANCE(491); + END_STATE(); + case 498: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 499: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(525); + END_STATE(); + case 500: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 501: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(526); + END_STATE(); + case 502: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 503: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 504: + ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK); + END_STATE(); + case 505: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK); + END_STATE(); + case 506: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 507: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 508: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 509: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(504); + END_STATE(); + case 510: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(504); + if (lookahead == ']') ADVANCE(695); + END_STATE(); + case 511: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == ']') ADVANCE(695); + END_STATE(); + case 512: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 513: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 514: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(485); + END_STATE(); + case 515: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(609); + if (lookahead == '3') ADVANCE(607); + if (lookahead == '6') ADVANCE(608); + if (lookahead == '8') ADVANCE(618); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'p') ADVANCE(667); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 516: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 517: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 518: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(503); + END_STATE(); + case 519: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 520: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 521: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 522: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 523: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 524: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 525: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 526: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 527: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 528: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 529: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 530: + ACCEPT_TOKEN(anon_sym_LT_EQ_GT); + END_STATE(); + case 531: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 532: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 533: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(537); + if (lookahead == '.') ADVANCE(306); + END_STATE(); + case 534: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(537); + if (lookahead == '.') ADVANCE(306); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 535: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(306); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 536: + ACCEPT_TOKEN(anon_sym_DOT); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 537: + ACCEPT_TOKEN(anon_sym_DOT_STAR); + END_STATE(); + case 538: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 539: + ACCEPT_TOKEN(anon_sym_DASH_GT); + if (lookahead == '*') ADVANCE(693); + END_STATE(); + case 540: + ACCEPT_TOKEN(sym__number_literal); + END_STATE(); + case 541: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 359, + 'B', 325, + 'b', 343, + 'E', 354, + 'e', 354, + 'F', 548, + 'f', 548, + 'L', 540, + 'l', 540, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 542: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 357, + '.', 549, + 'L', 550, + 'l', 553, + 'B', 356, + 'b', 356, + 'E', 354, + 'e', 354, + 'U', 552, + 'u', 552, + 'X', 308, + 'x', 308, + 'Z', 555, + 'z', 555, + '8', 293, + '9', 293, + ); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(543); + END_STATE(); + case 543: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 357, + '.', 549, + 'L', 550, + 'l', 553, + 'E', 354, + 'e', 354, + 'U', 552, + 'u', 552, + 'Z', 555, + 'z', 555, + '8', 293, + '9', 293, + ); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(543); + END_STATE(); + case 544: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 356, + 'L', 550, + 'l', 553, + 'U', 552, + 'u', 552, + 'Z', 555, + 'z', 555, + '0', 544, + '1', 544, + ); + END_STATE(); + case 545: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 358, + '.', 549, + 'L', 550, + 'l', 553, + 'E', 354, + 'e', 354, + 'U', 552, + 'u', 552, + 'Z', 555, + 'z', 555, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(545); + END_STATE(); + case 546: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == '\'') ADVANCE(361); + if (lookahead == 'B') ADVANCE(325); + if (lookahead == 'b') ADVANCE(343); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(548); + if (lookahead == 'L' || + lookahead == 'l') ADVANCE(540); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(546); + END_STATE(); + case 547: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + '\'', 363, + '.', 355, + 'L', 550, + 'l', 553, + 'P', 354, + 'p', 354, + 'U', 552, + 'u', 552, + 'Z', 555, + 'z', 555, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(547); + END_STATE(); + case 548: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == '1') ADVANCE(313); + if (lookahead == '3') ADVANCE(312); + if (lookahead == '6') ADVANCE(314); + END_STATE(); + case 549: + ACCEPT_TOKEN(sym__number_literal); + ADVANCE_MAP( + 'B', 325, + 'b', 343, + 'E', 354, + 'e', 354, + 'F', 548, + 'f', 548, + 'L', 540, + 'l', 540, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(541); + END_STATE(); + case 550: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'L') ADVANCE(555); + if (lookahead == 'U' || + lookahead == 'u') ADVANCE(540); + END_STATE(); + case 551: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'L') ADVANCE(540); + END_STATE(); + case 552: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'L') ADVANCE(551); + if (lookahead == 'l') ADVANCE(554); + if (lookahead == 'Z' || + lookahead == 'z') ADVANCE(540); + END_STATE(); + case 553: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'l') ADVANCE(555); + if (lookahead == 'U' || + lookahead == 'u') ADVANCE(540); + END_STATE(); + case 554: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'l') ADVANCE(540); + END_STATE(); + case 555: + ACCEPT_TOKEN(sym__number_literal); + if (lookahead == 'U' || + lookahead == 'u') ADVANCE(540); + END_STATE(); + case 556: + ACCEPT_TOKEN(anon_sym_L_SQUOTE); + END_STATE(); + case 557: + ACCEPT_TOKEN(anon_sym_u_SQUOTE); + END_STATE(); + case 558: + ACCEPT_TOKEN(anon_sym_U_SQUOTE); + END_STATE(); + case 559: + ACCEPT_TOKEN(anon_sym_u8_SQUOTE); + END_STATE(); + case 560: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 561: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + END_STATE(); + case 562: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '\n') ADVANCE(576); + if (lookahead == '\r') ADVANCE(575); + if (lookahead == 'U') ADVANCE(379); + if (lookahead == 'u') ADVANCE(371); + if (lookahead == 'x') ADVANCE(367); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(578); + if (lookahead != 0) ADVANCE(575); + END_STATE(); + case 563: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '*') ADVANCE(302); + if (lookahead == '/') ADVANCE(681); + END_STATE(); + case 564: + ACCEPT_TOKEN(aux_sym__char_literal_token1); + if (lookahead == '\\') ADVANCE(119); + END_STATE(); + case 565: + ACCEPT_TOKEN(anon_sym_L_DQUOTE); + END_STATE(); + case 566: + ACCEPT_TOKEN(anon_sym_u_DQUOTE); + END_STATE(); + case 567: + ACCEPT_TOKEN(anon_sym_U_DQUOTE); + END_STATE(); + case 568: + ACCEPT_TOKEN(anon_sym_u8_DQUOTE); + END_STATE(); + case 569: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 570: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(572); + if (lookahead == '/') ADVANCE(574); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(574); + END_STATE(); + case 571: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(571); + if (lookahead == '/') ADVANCE(574); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(572); + END_STATE(); + case 572: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '*') ADVANCE(571); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(572); + END_STATE(); + case 573: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead == '/') ADVANCE(570); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(573); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != '"' && + lookahead != '\\') ADVANCE(574); + END_STATE(); + case 574: + ACCEPT_TOKEN(aux_sym__string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(574); + END_STATE(); + case 575: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 576: + ACCEPT_TOKEN(sym_escape_sequence); + if (lookahead == '\\') ADVANCE(119); + END_STATE(); + case 577: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(575); + END_STATE(); + case 578: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(577); + END_STATE(); + case 579: + ACCEPT_TOKEN(sym_system_lib_string); + END_STATE(); + case 580: + ACCEPT_TOKEN(sym_system_lib_string); + if (lookahead == '>') ADVANCE(579); + if (lookahead == '\\') ADVANCE(324); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(323); + END_STATE(); + case 581: + ACCEPT_TOKEN(sym_true); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 582: + ACCEPT_TOKEN(sym_false); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 583: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(565); + if (lookahead == '\'') ADVANCE(556); + if (lookahead == 'R') ADVANCE(594); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 584: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(565); + if (lookahead == 'R') ADVANCE(594); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 585: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(565); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 586: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(688); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 587: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(567); + if (lookahead == '\'') ADVANCE(558); + if (lookahead == 'R') ADVANCE(595); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 588: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(567); + if (lookahead == 'R') ADVANCE(595); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 589: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(567); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 590: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(566); + if (lookahead == '\'') ADVANCE(557); + if (lookahead == '8') ADVANCE(596); + if (lookahead == 'R') ADVANCE(599); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(651); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 591: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(566); + if (lookahead == '8') ADVANCE(597); + if (lookahead == 'R') ADVANCE(599); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 592: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(566); + if (lookahead == '8') ADVANCE(598); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(651); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 593: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(566); + if (lookahead == '8') ADVANCE(598); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 594: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(689); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 595: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(691); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 596: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(568); + if (lookahead == '\'') ADVANCE(559); + if (lookahead == 'R') ADVANCE(600); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 597: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(568); + if (lookahead == 'R') ADVANCE(600); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 598: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(568); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 599: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(690); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 600: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '"') ADVANCE(692); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 601: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(556); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 602: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(558); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 603: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(557); + if (lookahead == '8') ADVANCE(604); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 604: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\'') ADVANCE(559); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 605: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '.') ADVANCE(309); + if (lookahead == '\\') ADVANCE(326); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(684); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 606: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '1') ADVANCE(609); + if (lookahead == '3') ADVANCE(607); + if (lookahead == '6') ADVANCE(608); + if (lookahead == '8') ADVANCE(618); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'p') ADVANCE(667); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 607: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '2') ADVANCE(618); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 608: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '4') ADVANCE(618); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 609: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '6') ADVANCE(618); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 610: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'A') ADVANCE(613); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 611: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'E') ADVANCE(581); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 612: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'E') ADVANCE(582); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 613: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'L') ADVANCE(615); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 614: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'R') ADVANCE(616); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 615: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'S') ADVANCE(612); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 616: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == 'U') ADVANCE(611); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 617: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == '_') ADVANCE(624); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 618: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == '_') ADVANCE(664); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 619: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(642); + if (lookahead == 'l') ADVANCE(654); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 620: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(642); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 621: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(671); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 622: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(658); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 623: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(664); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 624: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'a') ADVANCE(646); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 625: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'b') ADVANCE(647); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 626: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'd') ADVANCE(516); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 627: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'd') ADVANCE(638); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 628: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'e') ADVANCE(581); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 629: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'e') ADVANCE(516); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 630: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'e') ADVANCE(582); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 631: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'e') ADVANCE(618); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 632: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'f') ADVANCE(618); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 633: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'f') ADVANCE(632); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 634: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'g') ADVANCE(650); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 635: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'h') ADVANCE(622); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 636: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(672); + if (lookahead == 's') ADVANCE(637); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 637: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(672); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 638: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(633); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 639: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(634); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 640: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(626); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 641: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'i') ADVANCE(651); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 642: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(662); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 643: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(516); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 644: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(657); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 645: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(644); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 646: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(639); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 647: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(629); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 648: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'l') ADVANCE(654); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 649: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'n') ADVANCE(663); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 650: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'n') ADVANCE(618); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 651: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'n') ADVANCE(665); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 652: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'o') ADVANCE(668); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 653: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'o') ADVANCE(640); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 654: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'o') ADVANCE(623); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 655: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'o') ADVANCE(643); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 656: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'o') ADVANCE(655); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 657: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'p') ADVANCE(667); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 658: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'r') ADVANCE(515); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 659: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'r') ADVANCE(627); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 660: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'r') ADVANCE(618); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 661: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'r') ADVANCE(670); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 662: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 's') ADVANCE(630); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 663: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 't') ADVANCE(515); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 664: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 't') ADVANCE(516); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 665: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 't') ADVANCE(606); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 666: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 't') ADVANCE(659); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 667: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 't') ADVANCE(660); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 668: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'u') ADVANCE(625); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 669: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'u') ADVANCE(645); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 670: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'u') ADVANCE(628); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 671: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'x') ADVANCE(617); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 672: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (lookahead == 'z') ADVANCE(631); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 673: + ACCEPT_TOKEN(sym__identifier); + if (lookahead == '\\') ADVANCE(326); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 674: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 675: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\n') ADVANCE(681); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(412); + if (lookahead != 0) ADVANCE(679); + END_STATE(); + case 676: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(682); + if (lookahead == '\\') ADVANCE(676); + if (lookahead != 0) ADVANCE(681); + END_STATE(); + case 677: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(680); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(677); + if (lookahead != 0) ADVANCE(679); + END_STATE(); + case 678: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '*') ADVANCE(681); + if (lookahead == '\\') ADVANCE(407); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(679); + END_STATE(); + case 679: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(412); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(679); + END_STATE(); + case 680: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(678); + if (lookahead == '\\') ADVANCE(412); + if (lookahead != 0) ADVANCE(679); + END_STATE(); + case 681: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(188); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(681); + END_STATE(); + case 682: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(188); + if (lookahead != 0) ADVANCE(681); + END_STATE(); + case 683: + ACCEPT_TOKEN(sym_grit_metavariable); + END_STATE(); + case 684: + ACCEPT_TOKEN(sym_grit_metavariable); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(684); + END_STATE(); + case 685: + ACCEPT_TOKEN(anon_sym_GT2); + END_STATE(); + case 686: + ACCEPT_TOKEN(anon_sym_0); + END_STATE(); + case 687: + ACCEPT_TOKEN(anon_sym_0); + ADVANCE_MAP( + '\'', 357, + '.', 549, + 'L', 550, + 'l', 553, + 'B', 356, + 'b', 356, + 'E', 354, + 'e', 354, + 'U', 552, + 'u', 552, + 'X', 308, + 'x', 308, + 'Z', 555, + 'z', 555, + '8', 293, + '9', 293, + ); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(543); + END_STATE(); + case 688: + ACCEPT_TOKEN(anon_sym_R_DQUOTE); + END_STATE(); + case 689: + ACCEPT_TOKEN(anon_sym_LR_DQUOTE); + END_STATE(); + case 690: + ACCEPT_TOKEN(anon_sym_uR_DQUOTE); + END_STATE(); + case 691: + ACCEPT_TOKEN(anon_sym_UR_DQUOTE); + END_STATE(); + case 692: + ACCEPT_TOKEN(anon_sym_u8R_DQUOTE); + END_STATE(); + case 693: + ACCEPT_TOKEN(anon_sym_DASH_GT_STAR); + END_STATE(); + case 694: + ACCEPT_TOKEN(anon_sym_LPAREN_RPAREN); + END_STATE(); + case 695: + ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK); + END_STATE(); + case 696: + ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE); + END_STATE(); + case 697: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(565); + if (lookahead == 'R') ADVANCE(701); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 698: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(688); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 699: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(567); + if (lookahead == 'R') ADVANCE(702); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 700: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(566); + if (lookahead == '8') ADVANCE(703); + if (lookahead == 'R') ADVANCE(704); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 701: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(689); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 702: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(691); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 703: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(568); + if (lookahead == 'R') ADVANCE(705); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 704: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(690); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 705: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(692); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + END_STATE(); + case 706: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '\\') ADVANCE(326); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(706); + if (set_contains(sym__identifier_character_set_2, 765, lookahead)) ADVANCE(673); + 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 == 'N') ADVANCE(1); + if (lookahead == '\\') SKIP(2); + if (lookahead == '_') ADVANCE(3); + if (lookahead == 'a') ADVANCE(4); + if (lookahead == 'b') ADVANCE(5); + if (lookahead == 'c') ADVANCE(6); + if (lookahead == 'd') ADVANCE(7); + if (lookahead == 'e') ADVANCE(8); + if (lookahead == 'f') ADVANCE(9); + if (lookahead == 'g') ADVANCE(10); + if (lookahead == 'i') ADVANCE(11); + if (lookahead == 'l') ADVANCE(12); + if (lookahead == 'm') ADVANCE(13); + if (lookahead == 'n') ADVANCE(14); + if (lookahead == 'o') ADVANCE(15); + if (lookahead == 'p') ADVANCE(16); + if (lookahead == 'r') ADVANCE(17); + if (lookahead == 's') ADVANCE(18); + if (lookahead == 't') ADVANCE(19); + if (lookahead == 'u') ADVANCE(20); + if (lookahead == 'v') ADVANCE(21); + if (lookahead == 'w') ADVANCE(22); + if (lookahead == 'x') ADVANCE(23); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + END_STATE(); + case 1: + if (lookahead == 'U') ADVANCE(24); + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(0); + if (lookahead == '\r') SKIP(25); + END_STATE(); + case 3: + if (lookahead == 'A') ADVANCE(26); + if (lookahead == 'G') ADVANCE(27); + if (lookahead == 'N') ADVANCE(28); + if (lookahead == '_') ADVANCE(29); + if (lookahead == 'a') ADVANCE(30); + if (lookahead == 'u') ADVANCE(31); + END_STATE(); + case 4: + if (lookahead == 'l') ADVANCE(32); + if (lookahead == 'n') ADVANCE(33); + if (lookahead == 's') ADVANCE(34); + if (lookahead == 'u') ADVANCE(35); + END_STATE(); + case 5: + if (lookahead == 'i') ADVANCE(36); + if (lookahead == 'r') ADVANCE(37); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(38); + if (lookahead == 'l') ADVANCE(39); + if (lookahead == 'o') ADVANCE(40); + END_STATE(); + case 7: + if (lookahead == 'e') ADVANCE(41); + if (lookahead == 'o') ADVANCE(42); + END_STATE(); + case 8: + if (lookahead == 'l') ADVANCE(43); + if (lookahead == 'n') ADVANCE(44); + if (lookahead == 'x') ADVANCE(45); + END_STATE(); + case 9: + if (lookahead == 'i') ADVANCE(46); + if (lookahead == 'o') ADVANCE(47); + if (lookahead == 'r') ADVANCE(48); + END_STATE(); + case 10: + if (lookahead == 'o') ADVANCE(49); + END_STATE(); + case 11: + if (lookahead == 'f') ADVANCE(50); + if (lookahead == 'n') ADVANCE(51); + END_STATE(); + case 12: + if (lookahead == 'o') ADVANCE(52); + END_STATE(); + case 13: + if (lookahead == 'u') ADVANCE(53); + END_STATE(); + case 14: + if (lookahead == 'a') ADVANCE(54); + if (lookahead == 'e') ADVANCE(55); + if (lookahead == 'o') ADVANCE(56); + if (lookahead == 'u') ADVANCE(57); + END_STATE(); + case 15: + if (lookahead == 'f') ADVANCE(58); + if (lookahead == 'p') ADVANCE(59); + if (lookahead == 'r') ADVANCE(60); + if (lookahead == 'v') ADVANCE(61); + END_STATE(); + case 16: + if (lookahead == 'r') ADVANCE(62); + if (lookahead == 'u') ADVANCE(63); + END_STATE(); + case 17: + if (lookahead == 'e') ADVANCE(64); + END_STATE(); + case 18: + if (lookahead == 'h') ADVANCE(65); + if (lookahead == 'i') ADVANCE(66); + if (lookahead == 't') ADVANCE(67); + if (lookahead == 'w') ADVANCE(68); + END_STATE(); + case 19: + if (lookahead == 'e') ADVANCE(69); + if (lookahead == 'h') ADVANCE(70); + if (lookahead == 'r') ADVANCE(71); + if (lookahead == 'y') ADVANCE(72); + END_STATE(); + case 20: + if (lookahead == 'n') ADVANCE(73); + if (lookahead == 's') ADVANCE(74); + END_STATE(); + case 21: + if (lookahead == 'i') ADVANCE(75); + if (lookahead == 'o') ADVANCE(76); + END_STATE(); + case 22: + if (lookahead == 'h') ADVANCE(77); + END_STATE(); + case 23: + if (lookahead == 'o') ADVANCE(78); + END_STATE(); + case 24: + if (lookahead == 'L') ADVANCE(79); + END_STATE(); + case 25: + if (lookahead == '\n') SKIP(0); + END_STATE(); + case 26: + if (lookahead == 'l') ADVANCE(80); + if (lookahead == 't') ADVANCE(81); + END_STATE(); + case 27: + if (lookahead == 'e') ADVANCE(82); + END_STATE(); + case 28: + if (lookahead == 'o') ADVANCE(83); + END_STATE(); + case 29: + ADVANCE_MAP( + 'a', 84, + 'b', 85, + 'c', 86, + 'd', 87, + 'e', 88, + 'f', 89, + 'i', 90, + 'l', 91, + 'r', 92, + 's', 93, + 't', 94, + 'u', 95, + 'v', 96, + ); + END_STATE(); + case 30: + if (lookahead == 'l') ADVANCE(97); + END_STATE(); + case 31: + if (lookahead == 'n') ADVANCE(98); + END_STATE(); + case 32: + if (lookahead == 'i') ADVANCE(99); + END_STATE(); + case 33: + if (lookahead == 'd') ADVANCE(100); + END_STATE(); + case 34: + if (lookahead == 'm') ADVANCE(101); + END_STATE(); + case 35: + if (lookahead == 't') ADVANCE(102); + END_STATE(); + case 36: + if (lookahead == 't') ADVANCE(103); + END_STATE(); + case 37: + if (lookahead == 'e') ADVANCE(104); + END_STATE(); + case 38: + if (lookahead == 's') ADVANCE(105); + if (lookahead == 't') ADVANCE(106); + END_STATE(); + case 39: + if (lookahead == 'a') ADVANCE(107); + END_STATE(); + case 40: + if (lookahead == '_') ADVANCE(108); + if (lookahead == 'm') ADVANCE(109); + if (lookahead == 'n') ADVANCE(110); + END_STATE(); + case 41: + if (lookahead == 'c') ADVANCE(111); + if (lookahead == 'f') ADVANCE(112); + if (lookahead == 'l') ADVANCE(113); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_do); + END_STATE(); + case 43: + if (lookahead == 's') ADVANCE(114); + END_STATE(); + case 44: + if (lookahead == 'u') ADVANCE(115); + END_STATE(); + case 45: + if (lookahead == 'p') ADVANCE(116); + if (lookahead == 't') ADVANCE(117); + END_STATE(); + case 46: + if (lookahead == 'n') ADVANCE(118); + END_STATE(); + case 47: + if (lookahead == 'r') ADVANCE(119); + END_STATE(); + case 48: + if (lookahead == 'i') ADVANCE(120); + END_STATE(); + case 49: + if (lookahead == 't') ADVANCE(121); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 51: + if (lookahead == 'l') ADVANCE(122); + END_STATE(); + case 52: + if (lookahead == 'n') ADVANCE(123); + END_STATE(); + case 53: + if (lookahead == 't') ADVANCE(124); + END_STATE(); + case 54: + if (lookahead == 'm') ADVANCE(125); + END_STATE(); + case 55: + if (lookahead == 'w') ADVANCE(126); + END_STATE(); + case 56: + if (lookahead == 'e') ADVANCE(127); + if (lookahead == 'r') ADVANCE(128); + if (lookahead == 't') ADVANCE(129); + END_STATE(); + case 57: + if (lookahead == 'l') ADVANCE(130); + END_STATE(); + case 58: + if (lookahead == 'f') ADVANCE(131); + END_STATE(); + case 59: + if (lookahead == 'e') ADVANCE(132); + END_STATE(); + case 60: + ACCEPT_TOKEN(anon_sym_or); + if (lookahead == '_') ADVANCE(133); + END_STATE(); + case 61: + if (lookahead == 'e') ADVANCE(134); + END_STATE(); + case 62: + if (lookahead == 'i') ADVANCE(135); + if (lookahead == 'o') ADVANCE(136); + END_STATE(); + case 63: + if (lookahead == 'b') ADVANCE(137); + END_STATE(); + case 64: + if (lookahead == 'g') ADVANCE(138); + if (lookahead == 'q') ADVANCE(139); + if (lookahead == 's') ADVANCE(140); + if (lookahead == 't') ADVANCE(141); + END_STATE(); + case 65: + if (lookahead == 'o') ADVANCE(142); + END_STATE(); + case 66: + if (lookahead == 'g') ADVANCE(143); + if (lookahead == 'z') ADVANCE(144); + END_STATE(); + case 67: + if (lookahead == 'a') ADVANCE(145); + if (lookahead == 'r') ADVANCE(146); + END_STATE(); + case 68: + if (lookahead == 'i') ADVANCE(147); + END_STATE(); + case 69: + if (lookahead == 'm') ADVANCE(148); + END_STATE(); + case 70: + if (lookahead == 'i') ADVANCE(149); + if (lookahead == 'r') ADVANCE(150); + END_STATE(); + case 71: + if (lookahead == 'y') ADVANCE(151); + END_STATE(); + case 72: + if (lookahead == 'p') ADVANCE(152); + END_STATE(); + case 73: + if (lookahead == 'i') ADVANCE(153); + if (lookahead == 's') ADVANCE(154); + END_STATE(); + case 74: + if (lookahead == 'i') ADVANCE(155); + END_STATE(); + case 75: + if (lookahead == 'r') ADVANCE(156); + END_STATE(); + case 76: + if (lookahead == 'l') ADVANCE(157); + END_STATE(); + case 77: + if (lookahead == 'i') ADVANCE(158); + END_STATE(); + case 78: + if (lookahead == 'r') ADVANCE(159); + END_STATE(); + case 79: + if (lookahead == 'L') ADVANCE(160); + END_STATE(); + case 80: + if (lookahead == 'i') ADVANCE(161); + END_STATE(); + case 81: + if (lookahead == 'o') ADVANCE(162); + END_STATE(); + case 82: + if (lookahead == 'n') ADVANCE(163); + END_STATE(); + case 83: + if (lookahead == 'r') ADVANCE(164); + END_STATE(); + case 84: + if (lookahead == 'l') ADVANCE(165); + if (lookahead == 's') ADVANCE(166); + if (lookahead == 't') ADVANCE(167); + END_STATE(); + case 85: + if (lookahead == 'a') ADVANCE(168); + END_STATE(); + case 86: + if (lookahead == 'd') ADVANCE(169); + if (lookahead == 'l') ADVANCE(170); + END_STATE(); + case 87: + if (lookahead == 'e') ADVANCE(171); + END_STATE(); + case 88: + if (lookahead == 'x') ADVANCE(172); + END_STATE(); + case 89: + if (lookahead == 'a') ADVANCE(173); + if (lookahead == 'i') ADVANCE(174); + if (lookahead == 'o') ADVANCE(175); + END_STATE(); + case 90: + if (lookahead == 'n') ADVANCE(176); + END_STATE(); + case 91: + if (lookahead == 'e') ADVANCE(177); + END_STATE(); + case 92: + if (lookahead == 'e') ADVANCE(178); + END_STATE(); + case 93: + if (lookahead == 'p') ADVANCE(179); + if (lookahead == 't') ADVANCE(180); + END_STATE(); + case 94: + if (lookahead == 'h') ADVANCE(181); + if (lookahead == 'r') ADVANCE(182); + END_STATE(); + case 95: + if (lookahead == 'n') ADVANCE(183); + if (lookahead == 'p') ADVANCE(184); + END_STATE(); + case 96: + if (lookahead == 'e') ADVANCE(185); + END_STATE(); + case 97: + if (lookahead == 'i') ADVANCE(186); + END_STATE(); + case 98: + if (lookahead == 'a') ADVANCE(187); + END_STATE(); + case 99: + if (lookahead == 'g') ADVANCE(188); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_and); + if (lookahead == '_') ADVANCE(189); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_asm); + END_STATE(); + case 102: + if (lookahead == 'o') ADVANCE(190); + END_STATE(); + case 103: + if (lookahead == 'a') ADVANCE(191); + if (lookahead == 'o') ADVANCE(192); + END_STATE(); + case 104: + if (lookahead == 'a') ADVANCE(193); + END_STATE(); + case 105: + if (lookahead == 'e') ADVANCE(194); + END_STATE(); + case 106: + if (lookahead == 'c') ADVANCE(195); + END_STATE(); + case 107: + if (lookahead == 's') ADVANCE(196); + END_STATE(); + case 108: + if (lookahead == 'a') ADVANCE(197); + if (lookahead == 'r') ADVANCE(198); + if (lookahead == 'y') ADVANCE(199); + END_STATE(); + case 109: + if (lookahead == 'p') ADVANCE(200); + END_STATE(); + case 110: + if (lookahead == 'c') ADVANCE(201); + if (lookahead == 's') ADVANCE(202); + if (lookahead == 't') ADVANCE(203); + END_STATE(); + case 111: + if (lookahead == 'l') ADVANCE(204); + END_STATE(); + case 112: + if (lookahead == 'a') ADVANCE(205); + if (lookahead == 'i') ADVANCE(206); + END_STATE(); + case 113: + if (lookahead == 'e') ADVANCE(207); + END_STATE(); + case 114: + if (lookahead == 'e') ADVANCE(208); + END_STATE(); + case 115: + if (lookahead == 'm') ADVANCE(209); + END_STATE(); + case 116: + if (lookahead == 'l') ADVANCE(210); + END_STATE(); + case 117: + if (lookahead == 'e') ADVANCE(211); + END_STATE(); + case 118: + if (lookahead == 'a') ADVANCE(212); + END_STATE(); + case 119: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 120: + if (lookahead == 'e') ADVANCE(213); + END_STATE(); + case 121: + if (lookahead == 'o') ADVANCE(214); + END_STATE(); + case 122: + if (lookahead == 'i') ADVANCE(215); + END_STATE(); + case 123: + if (lookahead == 'g') ADVANCE(216); + END_STATE(); + case 124: + if (lookahead == 'a') ADVANCE(217); + END_STATE(); + case 125: + if (lookahead == 'e') ADVANCE(218); + END_STATE(); + case 126: + ACCEPT_TOKEN(anon_sym_new); + END_STATE(); + case 127: + if (lookahead == 'x') ADVANCE(219); + END_STATE(); + case 128: + if (lookahead == 'e') ADVANCE(220); + END_STATE(); + case 129: + ACCEPT_TOKEN(anon_sym_not); + if (lookahead == '_') ADVANCE(221); + END_STATE(); + case 130: + if (lookahead == 'l') ADVANCE(222); + END_STATE(); + case 131: + if (lookahead == 's') ADVANCE(223); + END_STATE(); + case 132: + if (lookahead == 'r') ADVANCE(224); + END_STATE(); + case 133: + if (lookahead == 'e') ADVANCE(225); + END_STATE(); + case 134: + if (lookahead == 'r') ADVANCE(226); + END_STATE(); + case 135: + if (lookahead == 'v') ADVANCE(227); + END_STATE(); + case 136: + if (lookahead == 't') ADVANCE(228); + END_STATE(); + case 137: + if (lookahead == 'l') ADVANCE(229); + END_STATE(); + case 138: + if (lookahead == 'i') ADVANCE(230); + END_STATE(); + case 139: + if (lookahead == 'u') ADVANCE(231); + END_STATE(); + case 140: + if (lookahead == 't') ADVANCE(232); + END_STATE(); + case 141: + if (lookahead == 'u') ADVANCE(233); + END_STATE(); + case 142: + if (lookahead == 'r') ADVANCE(234); + END_STATE(); + case 143: + if (lookahead == 'n') ADVANCE(235); + END_STATE(); + case 144: + if (lookahead == 'e') ADVANCE(236); + END_STATE(); + case 145: + if (lookahead == 't') ADVANCE(237); + END_STATE(); + case 146: + if (lookahead == 'u') ADVANCE(238); + END_STATE(); + case 147: + if (lookahead == 't') ADVANCE(239); + END_STATE(); + case 148: + if (lookahead == 'p') ADVANCE(240); + END_STATE(); + case 149: + if (lookahead == 's') ADVANCE(241); + END_STATE(); + case 150: + if (lookahead == 'e') ADVANCE(242); + if (lookahead == 'o') ADVANCE(243); + END_STATE(); + case 151: + ACCEPT_TOKEN(anon_sym_try); + END_STATE(); + case 152: + if (lookahead == 'e') ADVANCE(244); + END_STATE(); + case 153: + if (lookahead == 'o') ADVANCE(245); + END_STATE(); + case 154: + if (lookahead == 'i') ADVANCE(246); + END_STATE(); + case 155: + if (lookahead == 'n') ADVANCE(247); + END_STATE(); + case 156: + if (lookahead == 't') ADVANCE(248); + END_STATE(); + case 157: + if (lookahead == 'a') ADVANCE(249); + END_STATE(); + case 158: + if (lookahead == 'l') ADVANCE(250); + END_STATE(); + case 159: + ACCEPT_TOKEN(anon_sym_xor); + if (lookahead == '_') ADVANCE(251); + END_STATE(); + case 160: + ACCEPT_TOKEN(anon_sym_NULL); + END_STATE(); + case 161: + if (lookahead == 'g') ADVANCE(252); + END_STATE(); + case 162: + if (lookahead == 'm') ADVANCE(253); + END_STATE(); + case 163: + if (lookahead == 'e') ADVANCE(254); + END_STATE(); + case 164: + if (lookahead == 'e') ADVANCE(255); + END_STATE(); + case 165: + if (lookahead == 'i') ADVANCE(256); + END_STATE(); + case 166: + if (lookahead == 'm') ADVANCE(257); + END_STATE(); + case 167: + if (lookahead == 't') ADVANCE(258); + END_STATE(); + case 168: + if (lookahead == 's') ADVANCE(259); + END_STATE(); + case 169: + if (lookahead == 'e') ADVANCE(260); + END_STATE(); + case 170: + if (lookahead == 'r') ADVANCE(261); + END_STATE(); + case 171: + if (lookahead == 'c') ADVANCE(262); + END_STATE(); + case 172: + if (lookahead == 'c') ADVANCE(263); + if (lookahead == 't') ADVANCE(264); + END_STATE(); + case 173: + if (lookahead == 's') ADVANCE(265); + END_STATE(); + case 174: + if (lookahead == 'n') ADVANCE(266); + END_STATE(); + case 175: + if (lookahead == 'r') ADVANCE(267); + END_STATE(); + case 176: + if (lookahead == 'l') ADVANCE(268); + END_STATE(); + case 177: + if (lookahead == 'a') ADVANCE(269); + END_STATE(); + case 178: + if (lookahead == 's') ADVANCE(270); + END_STATE(); + case 179: + if (lookahead == 't') ADVANCE(271); + END_STATE(); + case 180: + if (lookahead == 'd') ADVANCE(272); + END_STATE(); + case 181: + if (lookahead == 'i') ADVANCE(273); + if (lookahead == 'r') ADVANCE(274); + END_STATE(); + case 182: + if (lookahead == 'y') ADVANCE(275); + END_STATE(); + case 183: + if (lookahead == 'a') ADVANCE(276); + END_STATE(); + case 184: + if (lookahead == 't') ADVANCE(277); + END_STATE(); + case 185: + if (lookahead == 'c') ADVANCE(278); + END_STATE(); + case 186: + if (lookahead == 'g') ADVANCE(279); + END_STATE(); + case 187: + if (lookahead == 'l') ADVANCE(280); + END_STATE(); + case 188: + if (lookahead == 'n') ADVANCE(281); + END_STATE(); + case 189: + if (lookahead == 'e') ADVANCE(282); + END_STATE(); + case 190: + ACCEPT_TOKEN(sym_auto); + END_STATE(); + case 191: + if (lookahead == 'n') ADVANCE(283); + END_STATE(); + case 192: + if (lookahead == 'r') ADVANCE(284); + END_STATE(); + case 193: + if (lookahead == 'k') ADVANCE(285); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 195: + if (lookahead == 'h') ADVANCE(286); + END_STATE(); + case 196: + if (lookahead == 's') ADVANCE(287); + END_STATE(); + case 197: + if (lookahead == 'w') ADVANCE(288); + END_STATE(); + case 198: + if (lookahead == 'e') ADVANCE(289); + END_STATE(); + case 199: + if (lookahead == 'i') ADVANCE(290); + END_STATE(); + case 200: + if (lookahead == 'l') ADVANCE(291); + END_STATE(); + case 201: + if (lookahead == 'e') ADVANCE(292); + END_STATE(); + case 202: + if (lookahead == 't') ADVANCE(293); + END_STATE(); + case 203: + if (lookahead == 'i') ADVANCE(294); + END_STATE(); + case 204: + if (lookahead == 't') ADVANCE(295); + END_STATE(); + case 205: + if (lookahead == 'u') ADVANCE(296); + END_STATE(); + case 206: + if (lookahead == 'n') ADVANCE(297); + END_STATE(); + case 207: + if (lookahead == 't') ADVANCE(298); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 209: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 210: + if (lookahead == 'i') ADVANCE(299); + END_STATE(); + case 211: + if (lookahead == 'r') ADVANCE(300); + END_STATE(); + case 212: + if (lookahead == 'l') ADVANCE(301); + END_STATE(); + case 213: + if (lookahead == 'n') ADVANCE(302); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_goto); + END_STATE(); + case 215: + if (lookahead == 'n') ADVANCE(303); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_long); + END_STATE(); + case 217: + if (lookahead == 'b') ADVANCE(304); + END_STATE(); + case 218: + if (lookahead == 's') ADVANCE(305); + END_STATE(); + case 219: + if (lookahead == 'c') ADVANCE(306); + END_STATE(); + case 220: + if (lookahead == 't') ADVANCE(307); + END_STATE(); + case 221: + if (lookahead == 'e') ADVANCE(308); + END_STATE(); + case 222: + if (lookahead == 'p') ADVANCE(309); + END_STATE(); + case 223: + if (lookahead == 'e') ADVANCE(310); + END_STATE(); + case 224: + if (lookahead == 'a') ADVANCE(311); + END_STATE(); + case 225: + if (lookahead == 'q') ADVANCE(312); + END_STATE(); + case 226: + if (lookahead == 'r') ADVANCE(313); + END_STATE(); + case 227: + if (lookahead == 'a') ADVANCE(314); + END_STATE(); + case 228: + if (lookahead == 'e') ADVANCE(315); + END_STATE(); + case 229: + if (lookahead == 'i') ADVANCE(316); + END_STATE(); + case 230: + if (lookahead == 's') ADVANCE(317); + END_STATE(); + case 231: + if (lookahead == 'i') ADVANCE(318); + END_STATE(); + case 232: + if (lookahead == 'r') ADVANCE(319); + END_STATE(); + case 233: + if (lookahead == 'r') ADVANCE(320); + END_STATE(); + case 234: + if (lookahead == 't') ADVANCE(321); + END_STATE(); + case 235: + if (lookahead == 'e') ADVANCE(322); + END_STATE(); + case 236: + if (lookahead == 'o') ADVANCE(323); + END_STATE(); + case 237: + if (lookahead == 'i') ADVANCE(324); + END_STATE(); + case 238: + if (lookahead == 'c') ADVANCE(325); + END_STATE(); + case 239: + if (lookahead == 'c') ADVANCE(326); + END_STATE(); + case 240: + if (lookahead == 'l') ADVANCE(327); + END_STATE(); + case 241: + ACCEPT_TOKEN(sym_this); + END_STATE(); + case 242: + if (lookahead == 'a') ADVANCE(328); + END_STATE(); + case 243: + if (lookahead == 'w') ADVANCE(329); + END_STATE(); + case 244: + if (lookahead == 'd') ADVANCE(330); + if (lookahead == 'n') ADVANCE(331); + END_STATE(); + case 245: + if (lookahead == 'n') ADVANCE(332); + END_STATE(); + case 246: + if (lookahead == 'g') ADVANCE(333); + END_STATE(); + case 247: + if (lookahead == 'g') ADVANCE(334); + END_STATE(); + case 248: + if (lookahead == 'u') ADVANCE(335); + END_STATE(); + case 249: + if (lookahead == 't') ADVANCE(336); + END_STATE(); + case 250: + if (lookahead == 'e') ADVANCE(337); + END_STATE(); + case 251: + if (lookahead == 'e') ADVANCE(338); + END_STATE(); + case 252: + if (lookahead == 'n') ADVANCE(339); + END_STATE(); + case 253: + if (lookahead == 'i') ADVANCE(340); + END_STATE(); + case 254: + if (lookahead == 'r') ADVANCE(341); + END_STATE(); + case 255: + if (lookahead == 't') ADVANCE(342); + END_STATE(); + case 256: + if (lookahead == 'g') ADVANCE(343); + END_STATE(); + case 257: + if (lookahead == '_') ADVANCE(344); + END_STATE(); + case 258: + if (lookahead == 'r') ADVANCE(345); + END_STATE(); + case 259: + if (lookahead == 'e') ADVANCE(346); + END_STATE(); + case 260: + if (lookahead == 'c') ADVANCE(347); + END_STATE(); + case 261: + if (lookahead == 'c') ADVANCE(348); + END_STATE(); + case 262: + if (lookahead == 'l') ADVANCE(349); + END_STATE(); + case 263: + if (lookahead == 'e') ADVANCE(350); + END_STATE(); + case 264: + if (lookahead == 'e') ADVANCE(351); + END_STATE(); + case 265: + if (lookahead == 't') ADVANCE(352); + END_STATE(); + case 266: + if (lookahead == 'a') ADVANCE(353); + END_STATE(); + case 267: + if (lookahead == 'c') ADVANCE(354); + END_STATE(); + case 268: + if (lookahead == 'i') ADVANCE(355); + END_STATE(); + case 269: + if (lookahead == 'v') ADVANCE(356); + END_STATE(); + case 270: + if (lookahead == 't') ADVANCE(357); + END_STATE(); + case 271: + if (lookahead == 'r') ADVANCE(358); + END_STATE(); + case 272: + if (lookahead == 'c') ADVANCE(359); + END_STATE(); + case 273: + if (lookahead == 's') ADVANCE(360); + END_STATE(); + case 274: + if (lookahead == 'e') ADVANCE(361); + END_STATE(); + case 275: + ACCEPT_TOKEN(anon_sym___try); + END_STATE(); + case 276: + if (lookahead == 'l') ADVANCE(362); + END_STATE(); + case 277: + if (lookahead == 'r') ADVANCE(363); + END_STATE(); + case 278: + if (lookahead == 't') ADVANCE(364); + END_STATE(); + case 279: + if (lookahead == 'n') ADVANCE(365); + END_STATE(); + case 280: + if (lookahead == 'i') ADVANCE(366); + END_STATE(); + case 281: + if (lookahead == 'a') ADVANCE(367); + if (lookahead == 'o') ADVANCE(368); + END_STATE(); + case 282: + if (lookahead == 'q') ADVANCE(369); + END_STATE(); + case 283: + if (lookahead == 'd') ADVANCE(370); + END_STATE(); + case 284: + ACCEPT_TOKEN(anon_sym_bitor); + END_STATE(); + case 285: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 286: + ACCEPT_TOKEN(anon_sym_catch); + END_STATE(); + case 287: + ACCEPT_TOKEN(anon_sym_class); + END_STATE(); + case 288: + if (lookahead == 'a') ADVANCE(371); + END_STATE(); + case 289: + if (lookahead == 't') ADVANCE(372); + END_STATE(); + case 290: + if (lookahead == 'e') ADVANCE(373); + END_STATE(); + case 291: + ACCEPT_TOKEN(anon_sym_compl); + END_STATE(); + case 292: + if (lookahead == 'p') ADVANCE(374); + END_STATE(); + case 293: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'e') ADVANCE(375); + if (lookahead == 'i') ADVANCE(376); + END_STATE(); + case 294: + if (lookahead == 'n') ADVANCE(377); + END_STATE(); + case 295: + if (lookahead == 'y') ADVANCE(378); + END_STATE(); + case 296: + if (lookahead == 'l') ADVANCE(379); + END_STATE(); + case 297: + if (lookahead == 'e') ADVANCE(380); + END_STATE(); + case 298: + if (lookahead == 'e') ADVANCE(381); + END_STATE(); + case 299: + if (lookahead == 'c') ADVANCE(382); + END_STATE(); + case 300: + if (lookahead == 'n') ADVANCE(383); + END_STATE(); + case 301: + ACCEPT_TOKEN(anon_sym_final); + END_STATE(); + case 302: + if (lookahead == 'd') ADVANCE(384); + END_STATE(); + case 303: + if (lookahead == 'e') ADVANCE(385); + END_STATE(); + case 304: + if (lookahead == 'l') ADVANCE(386); + END_STATE(); + case 305: + if (lookahead == 'p') ADVANCE(387); + END_STATE(); + case 306: + if (lookahead == 'e') ADVANCE(388); + END_STATE(); + case 307: + if (lookahead == 'u') ADVANCE(389); + END_STATE(); + case 308: + if (lookahead == 'q') ADVANCE(390); + END_STATE(); + case 309: + if (lookahead == 't') ADVANCE(391); + END_STATE(); + case 310: + if (lookahead == 't') ADVANCE(392); + END_STATE(); + case 311: + if (lookahead == 't') ADVANCE(393); + END_STATE(); + case 312: + ACCEPT_TOKEN(anon_sym_or_eq); + END_STATE(); + case 313: + if (lookahead == 'i') ADVANCE(394); + END_STATE(); + case 314: + if (lookahead == 't') ADVANCE(395); + END_STATE(); + case 315: + if (lookahead == 'c') ADVANCE(396); + END_STATE(); + case 316: + if (lookahead == 'c') ADVANCE(397); + END_STATE(); + case 317: + if (lookahead == 't') ADVANCE(398); + END_STATE(); + case 318: + if (lookahead == 'r') ADVANCE(399); + END_STATE(); + case 319: + if (lookahead == 'i') ADVANCE(400); + END_STATE(); + case 320: + if (lookahead == 'n') ADVANCE(401); + END_STATE(); + case 321: + ACCEPT_TOKEN(anon_sym_short); + END_STATE(); + case 322: + if (lookahead == 'd') ADVANCE(402); + END_STATE(); + case 323: + if (lookahead == 'f') ADVANCE(403); + END_STATE(); + case 324: + if (lookahead == 'c') ADVANCE(404); + END_STATE(); + case 325: + if (lookahead == 't') ADVANCE(405); + END_STATE(); + case 326: + if (lookahead == 'h') ADVANCE(406); + END_STATE(); + case 327: + if (lookahead == 'a') ADVANCE(407); + END_STATE(); + case 328: + if (lookahead == 'd') ADVANCE(408); + END_STATE(); + case 329: + ACCEPT_TOKEN(anon_sym_throw); + END_STATE(); + case 330: + if (lookahead == 'e') ADVANCE(409); + END_STATE(); + case 331: + if (lookahead == 'a') ADVANCE(410); + END_STATE(); + case 332: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 333: + if (lookahead == 'n') ADVANCE(411); + END_STATE(); + case 334: + ACCEPT_TOKEN(anon_sym_using); + END_STATE(); + case 335: + if (lookahead == 'a') ADVANCE(412); + END_STATE(); + case 336: + if (lookahead == 'i') ADVANCE(413); + END_STATE(); + case 337: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 338: + if (lookahead == 'q') ADVANCE(414); + END_STATE(); + case 339: + if (lookahead == 'a') ADVANCE(415); + if (lookahead == 'o') ADVANCE(416); + END_STATE(); + case 340: + if (lookahead == 'c') ADVANCE(417); + END_STATE(); + case 341: + if (lookahead == 'i') ADVANCE(418); + END_STATE(); + case 342: + if (lookahead == 'u') ADVANCE(419); + END_STATE(); + case 343: + if (lookahead == 'n') ADVANCE(420); + END_STATE(); + case 344: + if (lookahead == '_') ADVANCE(421); + END_STATE(); + case 345: + if (lookahead == 'i') ADVANCE(422); + END_STATE(); + case 346: + if (lookahead == 'd') ADVANCE(423); + END_STATE(); + case 347: + if (lookahead == 'l') ADVANCE(424); + END_STATE(); + case 348: + if (lookahead == 'a') ADVANCE(425); + END_STATE(); + case 349: + if (lookahead == 's') ADVANCE(426); + END_STATE(); + case 350: + if (lookahead == 'p') ADVANCE(427); + END_STATE(); + case 351: + if (lookahead == 'n') ADVANCE(428); + END_STATE(); + case 352: + if (lookahead == 'c') ADVANCE(429); + END_STATE(); + case 353: + if (lookahead == 'l') ADVANCE(430); + END_STATE(); + case 354: + if (lookahead == 'e') ADVANCE(431); + END_STATE(); + case 355: + if (lookahead == 'n') ADVANCE(432); + END_STATE(); + case 356: + if (lookahead == 'e') ADVANCE(433); + END_STATE(); + case 357: + if (lookahead == 'r') ADVANCE(434); + END_STATE(); + case 358: + ACCEPT_TOKEN(sym_ms_signed_ptr_modifier); + END_STATE(); + case 359: + if (lookahead == 'a') ADVANCE(435); + END_STATE(); + case 360: + if (lookahead == 'c') ADVANCE(436); + END_STATE(); + case 361: + if (lookahead == 'a') ADVANCE(437); + END_STATE(); + case 362: + if (lookahead == 'i') ADVANCE(438); + END_STATE(); + case 363: + ACCEPT_TOKEN(sym_ms_unsigned_ptr_modifier); + END_STATE(); + case 364: + if (lookahead == 'o') ADVANCE(439); + END_STATE(); + case 365: + if (lookahead == 'o') ADVANCE(440); + END_STATE(); + case 366: + if (lookahead == 'g') ADVANCE(441); + END_STATE(); + case 367: + if (lookahead == 's') ADVANCE(442); + END_STATE(); + case 368: + if (lookahead == 'f') ADVANCE(443); + END_STATE(); + case 369: + ACCEPT_TOKEN(anon_sym_and_eq); + END_STATE(); + case 370: + ACCEPT_TOKEN(anon_sym_bitand); + END_STATE(); + case 371: + if (lookahead == 'i') ADVANCE(444); + END_STATE(); + case 372: + if (lookahead == 'u') ADVANCE(445); + END_STATE(); + case 373: + if (lookahead == 'l') ADVANCE(446); + END_STATE(); + case 374: + if (lookahead == 't') ADVANCE(447); + END_STATE(); + case 375: + if (lookahead == 'v') ADVANCE(448); + if (lookahead == 'x') ADVANCE(449); + END_STATE(); + case 376: + if (lookahead == 'n') ADVANCE(450); + END_STATE(); + case 377: + if (lookahead == 'u') ADVANCE(451); + END_STATE(); + case 378: + if (lookahead == 'p') ADVANCE(452); + END_STATE(); + case 379: + if (lookahead == 't') ADVANCE(453); + END_STATE(); + case 380: + if (lookahead == 'd') ADVANCE(454); + END_STATE(); + case 381: + ACCEPT_TOKEN(anon_sym_delete); + END_STATE(); + case 382: + if (lookahead == 'i') ADVANCE(455); + END_STATE(); + case 383: + ACCEPT_TOKEN(anon_sym_extern); + END_STATE(); + case 384: + ACCEPT_TOKEN(anon_sym_friend); + END_STATE(); + case 385: + ACCEPT_TOKEN(anon_sym_inline); + END_STATE(); + case 386: + if (lookahead == 'e') ADVANCE(456); + END_STATE(); + case 387: + if (lookahead == 'a') ADVANCE(457); + END_STATE(); + case 388: + if (lookahead == 'p') ADVANCE(458); + END_STATE(); + case 389: + if (lookahead == 'r') ADVANCE(459); + END_STATE(); + case 390: + ACCEPT_TOKEN(anon_sym_not_eq); + END_STATE(); + case 391: + if (lookahead == 'r') ADVANCE(460); + END_STATE(); + case 392: + if (lookahead == 'o') ADVANCE(461); + END_STATE(); + case 393: + if (lookahead == 'o') ADVANCE(462); + END_STATE(); + case 394: + if (lookahead == 'd') ADVANCE(463); + END_STATE(); + case 395: + if (lookahead == 'e') ADVANCE(464); + END_STATE(); + case 396: + if (lookahead == 't') ADVANCE(465); + END_STATE(); + case 397: + ACCEPT_TOKEN(anon_sym_public); + END_STATE(); + case 398: + if (lookahead == 'e') ADVANCE(466); + END_STATE(); + case 399: + if (lookahead == 'e') ADVANCE(467); + END_STATE(); + case 400: + if (lookahead == 'c') ADVANCE(468); + END_STATE(); + case 401: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 402: + ACCEPT_TOKEN(anon_sym_signed); + END_STATE(); + case 403: + ACCEPT_TOKEN(anon_sym_sizeof); + END_STATE(); + case 404: + ACCEPT_TOKEN(anon_sym_static); + if (lookahead == '_') ADVANCE(469); + END_STATE(); + case 405: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 406: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 407: + if (lookahead == 't') ADVANCE(470); + END_STATE(); + case 408: + if (lookahead == '_') ADVANCE(471); + END_STATE(); + case 409: + if (lookahead == 'f') ADVANCE(472); + END_STATE(); + case 410: + if (lookahead == 'm') ADVANCE(473); + END_STATE(); + case 411: + if (lookahead == 'e') ADVANCE(474); + END_STATE(); + case 412: + if (lookahead == 'l') ADVANCE(475); + END_STATE(); + case 413: + if (lookahead == 'l') ADVANCE(476); + END_STATE(); + case 414: + ACCEPT_TOKEN(anon_sym_xor_eq); + END_STATE(); + case 415: + if (lookahead == 's') ADVANCE(477); + END_STATE(); + case 416: + if (lookahead == 'f') ADVANCE(478); + END_STATE(); + case 417: + ACCEPT_TOKEN(anon_sym__Atomic); + END_STATE(); + case 418: + if (lookahead == 'c') ADVANCE(479); + END_STATE(); + case 419: + if (lookahead == 'r') ADVANCE(480); + END_STATE(); + case 420: + if (lookahead == 'o') ADVANCE(481); + END_STATE(); + case 421: + ACCEPT_TOKEN(anon_sym___asm__); + END_STATE(); + case 422: + if (lookahead == 'b') ADVANCE(482); + END_STATE(); + case 423: + ACCEPT_TOKEN(anon_sym___based); + END_STATE(); + case 424: + ACCEPT_TOKEN(anon_sym___cdecl); + END_STATE(); + case 425: + if (lookahead == 'l') ADVANCE(483); + END_STATE(); + case 426: + if (lookahead == 'p') ADVANCE(484); + END_STATE(); + case 427: + if (lookahead == 't') ADVANCE(485); + END_STATE(); + case 428: + if (lookahead == 's') ADVANCE(486); + END_STATE(); + case 429: + if (lookahead == 'a') ADVANCE(487); + END_STATE(); + case 430: + if (lookahead == 'l') ADVANCE(488); + END_STATE(); + case 431: + if (lookahead == 'i') ADVANCE(489); + END_STATE(); + case 432: + if (lookahead == 'e') ADVANCE(490); + END_STATE(); + case 433: + ACCEPT_TOKEN(anon_sym___leave); + END_STATE(); + case 434: + if (lookahead == 'i') ADVANCE(491); + END_STATE(); + case 435: + if (lookahead == 'l') ADVANCE(492); + END_STATE(); + case 436: + if (lookahead == 'a') ADVANCE(493); + END_STATE(); + case 437: + if (lookahead == 'd') ADVANCE(494); + END_STATE(); + case 438: + if (lookahead == 'g') ADVANCE(495); + END_STATE(); + case 439: + if (lookahead == 'r') ADVANCE(496); + END_STATE(); + case 440: + if (lookahead == 'f') ADVANCE(497); + END_STATE(); + case 441: + if (lookahead == 'n') ADVANCE(498); + END_STATE(); + case 442: + ACCEPT_TOKEN(anon_sym_alignas); + END_STATE(); + case 443: + ACCEPT_TOKEN(anon_sym_alignof); + END_STATE(); + case 444: + if (lookahead == 't') ADVANCE(499); + END_STATE(); + case 445: + if (lookahead == 'r') ADVANCE(500); + END_STATE(); + case 446: + if (lookahead == 'd') ADVANCE(501); + END_STATE(); + case 447: + ACCEPT_TOKEN(anon_sym_concept); + END_STATE(); + case 448: + if (lookahead == 'a') ADVANCE(502); + END_STATE(); + case 449: + if (lookahead == 'p') ADVANCE(503); + END_STATE(); + case 450: + if (lookahead == 'i') ADVANCE(504); + END_STATE(); + case 451: + if (lookahead == 'e') ADVANCE(505); + END_STATE(); + case 452: + if (lookahead == 'e') ADVANCE(506); + END_STATE(); + case 453: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 454: + ACCEPT_TOKEN(anon_sym_defined); + END_STATE(); + case 455: + if (lookahead == 't') ADVANCE(507); + END_STATE(); + case 456: + ACCEPT_TOKEN(anon_sym_mutable); + END_STATE(); + case 457: + if (lookahead == 'c') ADVANCE(508); + END_STATE(); + case 458: + if (lookahead == 't') ADVANCE(509); + END_STATE(); + case 459: + if (lookahead == 'n') ADVANCE(510); + END_STATE(); + case 460: + ACCEPT_TOKEN(anon_sym_nullptr); + END_STATE(); + case 461: + if (lookahead == 'f') ADVANCE(511); + END_STATE(); + case 462: + if (lookahead == 'r') ADVANCE(512); + END_STATE(); + case 463: + if (lookahead == 'e') ADVANCE(513); + END_STATE(); + case 464: + ACCEPT_TOKEN(anon_sym_private); + END_STATE(); + case 465: + if (lookahead == 'e') ADVANCE(514); + END_STATE(); + case 466: + if (lookahead == 'r') ADVANCE(515); + END_STATE(); + case 467: + if (lookahead == 's') ADVANCE(516); + END_STATE(); + case 468: + if (lookahead == 't') ADVANCE(517); + END_STATE(); + case 469: + if (lookahead == 'a') ADVANCE(518); + END_STATE(); + case 470: + if (lookahead == 'e') ADVANCE(519); + END_STATE(); + case 471: + if (lookahead == 'l') ADVANCE(520); + END_STATE(); + case 472: + ACCEPT_TOKEN(anon_sym_typedef); + END_STATE(); + case 473: + if (lookahead == 'e') ADVANCE(521); + END_STATE(); + case 474: + if (lookahead == 'd') ADVANCE(522); + END_STATE(); + case 475: + ACCEPT_TOKEN(sym_virtual); + END_STATE(); + case 476: + if (lookahead == 'e') ADVANCE(523); + END_STATE(); + case 477: + ACCEPT_TOKEN(anon_sym__Alignas); + END_STATE(); + case 478: + ACCEPT_TOKEN(anon_sym__Alignof); + END_STATE(); + case 479: + ACCEPT_TOKEN(anon_sym__Generic); + END_STATE(); + case 480: + if (lookahead == 'n') ADVANCE(524); + END_STATE(); + case 481: + if (lookahead == 'f') ADVANCE(525); + END_STATE(); + case 482: + if (lookahead == 'u') ADVANCE(526); + END_STATE(); + case 483: + if (lookahead == 'l') ADVANCE(527); + END_STATE(); + case 484: + if (lookahead == 'e') ADVANCE(528); + END_STATE(); + case 485: + ACCEPT_TOKEN(anon_sym___except); + END_STATE(); + case 486: + if (lookahead == 'i') ADVANCE(529); + END_STATE(); + case 487: + if (lookahead == 'l') ADVANCE(530); + END_STATE(); + case 488: + if (lookahead == 'y') ADVANCE(531); + END_STATE(); + case 489: + if (lookahead == 'n') ADVANCE(532); + END_STATE(); + case 490: + ACCEPT_TOKEN(anon_sym___inline); + if (lookahead == '_') ADVANCE(533); + END_STATE(); + case 491: + if (lookahead == 'c') ADVANCE(534); + END_STATE(); + case 492: + if (lookahead == 'l') ADVANCE(535); + END_STATE(); + case 493: + if (lookahead == 'l') ADVANCE(536); + END_STATE(); + case 494: + ACCEPT_TOKEN(anon_sym___thread); + END_STATE(); + case 495: + if (lookahead == 'n') ADVANCE(537); + END_STATE(); + case 496: + if (lookahead == 'c') ADVANCE(538); + END_STATE(); + case 497: + ACCEPT_TOKEN(anon_sym__alignof); + END_STATE(); + case 498: + if (lookahead == 'e') ADVANCE(539); + END_STATE(); + case 499: + ACCEPT_TOKEN(anon_sym_co_await); + END_STATE(); + case 500: + if (lookahead == 'n') ADVANCE(540); + END_STATE(); + case 501: + ACCEPT_TOKEN(anon_sym_co_yield); + END_STATE(); + case 502: + if (lookahead == 'l') ADVANCE(541); + END_STATE(); + case 503: + if (lookahead == 'r') ADVANCE(542); + END_STATE(); + case 504: + if (lookahead == 't') ADVANCE(543); + END_STATE(); + case 505: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 506: + ACCEPT_TOKEN(anon_sym_decltype); + END_STATE(); + case 507: + ACCEPT_TOKEN(anon_sym_explicit); + END_STATE(); + case 508: + if (lookahead == 'e') ADVANCE(544); + END_STATE(); + case 509: + ACCEPT_TOKEN(anon_sym_noexcept); + END_STATE(); + case 510: + ACCEPT_TOKEN(anon_sym_noreturn); + END_STATE(); + case 511: + ACCEPT_TOKEN(anon_sym_offsetof); + END_STATE(); + case 512: + ACCEPT_TOKEN(anon_sym_operator); + END_STATE(); + case 513: + ACCEPT_TOKEN(anon_sym_override); + END_STATE(); + case 514: + if (lookahead == 'd') ADVANCE(545); + END_STATE(); + case 515: + ACCEPT_TOKEN(anon_sym_register); + END_STATE(); + case 516: + ACCEPT_TOKEN(anon_sym_requires); + END_STATE(); + case 517: + ACCEPT_TOKEN(anon_sym_restrict); + END_STATE(); + case 518: + if (lookahead == 's') ADVANCE(546); + END_STATE(); + case 519: + ACCEPT_TOKEN(anon_sym_template); + END_STATE(); + case 520: + if (lookahead == 'o') ADVANCE(547); + END_STATE(); + case 521: + ACCEPT_TOKEN(anon_sym_typename); + END_STATE(); + case 522: + ACCEPT_TOKEN(anon_sym_unsigned); + END_STATE(); + case 523: + ACCEPT_TOKEN(anon_sym_volatile); + END_STATE(); + case 524: + ACCEPT_TOKEN(anon_sym__Noreturn); + END_STATE(); + case 525: + ACCEPT_TOKEN(anon_sym___alignof); + if (lookahead == '_') ADVANCE(548); + END_STATE(); + case 526: + if (lookahead == 't') ADVANCE(549); + END_STATE(); + case 527: + ACCEPT_TOKEN(anon_sym___clrcall); + END_STATE(); + case 528: + if (lookahead == 'c') ADVANCE(550); + END_STATE(); + case 529: + if (lookahead == 'o') ADVANCE(551); + END_STATE(); + case 530: + if (lookahead == 'l') ADVANCE(552); + END_STATE(); + case 531: + ACCEPT_TOKEN(anon_sym___finally); + END_STATE(); + case 532: + if (lookahead == 'l') ADVANCE(553); + END_STATE(); + case 533: + if (lookahead == '_') ADVANCE(554); + END_STATE(); + case 534: + if (lookahead == 't') ADVANCE(555); + END_STATE(); + case 535: + ACCEPT_TOKEN(anon_sym___stdcall); + END_STATE(); + case 536: + if (lookahead == 'l') ADVANCE(556); + END_STATE(); + case 537: + if (lookahead == 'e') ADVANCE(557); + END_STATE(); + case 538: + if (lookahead == 'a') ADVANCE(558); + END_STATE(); + case 539: + if (lookahead == 'd') ADVANCE(559); + END_STATE(); + case 540: + ACCEPT_TOKEN(anon_sym_co_return); + END_STATE(); + case 541: + ACCEPT_TOKEN(anon_sym_consteval); + END_STATE(); + case 542: + ACCEPT_TOKEN(anon_sym_constexpr); + END_STATE(); + case 543: + ACCEPT_TOKEN(anon_sym_constinit); + END_STATE(); + case 544: + ACCEPT_TOKEN(anon_sym_namespace); + END_STATE(); + case 545: + ACCEPT_TOKEN(anon_sym_protected); + END_STATE(); + case 546: + if (lookahead == 's') ADVANCE(560); + END_STATE(); + case 547: + if (lookahead == 'c') ADVANCE(561); + END_STATE(); + case 548: + if (lookahead == '_') ADVANCE(562); + END_STATE(); + case 549: + if (lookahead == 'e') ADVANCE(563); + END_STATE(); + case 550: + ACCEPT_TOKEN(anon_sym___declspec); + END_STATE(); + case 551: + if (lookahead == 'n') ADVANCE(564); + END_STATE(); + case 552: + ACCEPT_TOKEN(anon_sym___fastcall); + END_STATE(); + case 553: + if (lookahead == 'i') ADVANCE(565); + END_STATE(); + case 554: + ACCEPT_TOKEN(anon_sym___inline__); + END_STATE(); + case 555: + ACCEPT_TOKEN(sym_ms_restrict_modifier); + if (lookahead == '_') ADVANCE(566); + END_STATE(); + case 556: + ACCEPT_TOKEN(anon_sym___thiscall); + END_STATE(); + case 557: + if (lookahead == 'd') ADVANCE(567); + END_STATE(); + case 558: + if (lookahead == 'l') ADVANCE(568); + END_STATE(); + case 559: + ACCEPT_TOKEN(anon_sym__unaligned); + END_STATE(); + case 560: + if (lookahead == 'e') ADVANCE(569); + END_STATE(); + case 561: + if (lookahead == 'a') ADVANCE(570); + END_STATE(); + case 562: + ACCEPT_TOKEN(anon_sym___alignof__); + END_STATE(); + case 563: + if (lookahead == '_') ADVANCE(571); + END_STATE(); + case 564: + if (lookahead == '_') ADVANCE(572); + END_STATE(); + case 565: + if (lookahead == 'n') ADVANCE(573); + END_STATE(); + case 566: + if (lookahead == '_') ADVANCE(574); + END_STATE(); + case 567: + ACCEPT_TOKEN(anon_sym___unaligned); + END_STATE(); + case 568: + if (lookahead == 'l') ADVANCE(575); + END_STATE(); + case 569: + if (lookahead == 'r') ADVANCE(576); + END_STATE(); + case 570: + if (lookahead == 'l') ADVANCE(577); + END_STATE(); + case 571: + if (lookahead == '_') ADVANCE(578); + END_STATE(); + case 572: + if (lookahead == '_') ADVANCE(579); + END_STATE(); + case 573: + if (lookahead == 'e') ADVANCE(580); + END_STATE(); + case 574: + ACCEPT_TOKEN(anon_sym___restrict__); + END_STATE(); + case 575: + ACCEPT_TOKEN(anon_sym___vectorcall); + END_STATE(); + case 576: + if (lookahead == 't') ADVANCE(581); + END_STATE(); + case 577: + ACCEPT_TOKEN(anon_sym_thread_local); + END_STATE(); + case 578: + ACCEPT_TOKEN(anon_sym___attribute__); + END_STATE(); + case 579: + ACCEPT_TOKEN(anon_sym___extension__); + END_STATE(); + case 580: + ACCEPT_TOKEN(anon_sym___forceinline); + END_STATE(); + case 581: + ACCEPT_TOKEN(anon_sym_static_assert); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 382}, + [2] = {.lex_state = 382}, + [3] = {.lex_state = 382}, + [4] = {.lex_state = 382}, + [5] = {.lex_state = 382}, + [6] = {.lex_state = 382}, + [7] = {.lex_state = 382}, + [8] = {.lex_state = 382}, + [9] = {.lex_state = 382}, + [10] = {.lex_state = 382}, + [11] = {.lex_state = 382}, + [12] = {.lex_state = 382}, + [13] = {.lex_state = 197}, + [14] = {.lex_state = 197}, + [15] = {.lex_state = 197}, + [16] = {.lex_state = 197}, + [17] = {.lex_state = 197}, + [18] = {.lex_state = 197}, + [19] = {.lex_state = 197}, + [20] = {.lex_state = 197}, + [21] = {.lex_state = 197}, + [22] = {.lex_state = 197}, + [23] = {.lex_state = 197}, + [24] = {.lex_state = 197}, + [25] = {.lex_state = 197}, + [26] = {.lex_state = 197}, + [27] = {.lex_state = 197}, + [28] = {.lex_state = 197}, + [29] = {.lex_state = 197}, + [30] = {.lex_state = 197}, + [31] = {.lex_state = 197}, + [32] = {.lex_state = 197}, + [33] = {.lex_state = 197}, + [34] = {.lex_state = 200}, + [35] = {.lex_state = 200}, + [36] = {.lex_state = 382}, + [37] = {.lex_state = 382}, + [38] = {.lex_state = 382}, + [39] = {.lex_state = 382}, + [40] = {.lex_state = 382}, + [41] = {.lex_state = 382}, + [42] = {.lex_state = 382}, + [43] = {.lex_state = 382}, + [44] = {.lex_state = 382}, + [45] = {.lex_state = 382}, + [46] = {.lex_state = 200}, + [47] = {.lex_state = 382}, + [48] = {.lex_state = 382}, + [49] = {.lex_state = 382}, + [50] = {.lex_state = 382}, + [51] = {.lex_state = 382}, + [52] = {.lex_state = 382}, + [53] = {.lex_state = 382}, + [54] = {.lex_state = 382}, + [55] = {.lex_state = 382}, + [56] = {.lex_state = 382}, + [57] = {.lex_state = 382}, + [58] = {.lex_state = 382}, + [59] = {.lex_state = 382}, + [60] = {.lex_state = 382}, + [61] = {.lex_state = 382}, + [62] = {.lex_state = 382}, + [63] = {.lex_state = 382}, + [64] = {.lex_state = 382}, + [65] = {.lex_state = 382}, + [66] = {.lex_state = 382}, + [67] = {.lex_state = 382}, + [68] = {.lex_state = 382}, + [69] = {.lex_state = 382}, + [70] = {.lex_state = 382}, + [71] = {.lex_state = 382}, + [72] = {.lex_state = 382}, + [73] = {.lex_state = 382}, + [74] = {.lex_state = 382}, + [75] = {.lex_state = 382}, + [76] = {.lex_state = 382}, + [77] = {.lex_state = 382}, + [78] = {.lex_state = 382}, + [79] = {.lex_state = 382}, + [80] = {.lex_state = 382}, + [81] = {.lex_state = 382}, + [82] = {.lex_state = 197}, + [83] = {.lex_state = 197}, + [84] = {.lex_state = 197}, + [85] = {.lex_state = 197}, + [86] = {.lex_state = 197}, + [87] = {.lex_state = 200}, + [88] = {.lex_state = 382}, + [89] = {.lex_state = 382}, + [90] = {.lex_state = 382}, + [91] = {.lex_state = 382}, + [92] = {.lex_state = 200}, + [93] = {.lex_state = 382}, + [94] = {.lex_state = 200}, + [95] = {.lex_state = 382}, + [96] = {.lex_state = 382}, + [97] = {.lex_state = 200}, + [98] = {.lex_state = 382}, + [99] = {.lex_state = 200}, + [100] = {.lex_state = 382}, + [101] = {.lex_state = 382}, + [102] = {.lex_state = 199}, + [103] = {.lex_state = 199}, + [104] = {.lex_state = 199}, + [105] = {.lex_state = 199}, + [106] = {.lex_state = 199}, + [107] = {.lex_state = 199}, + [108] = {.lex_state = 199}, + [109] = {.lex_state = 199}, + [110] = {.lex_state = 199}, + [111] = {.lex_state = 199}, + [112] = {.lex_state = 199}, + [113] = {.lex_state = 199}, + [114] = {.lex_state = 201}, + [115] = {.lex_state = 201}, + [116] = {.lex_state = 201}, + [117] = {.lex_state = 199}, + [118] = {.lex_state = 199}, + [119] = {.lex_state = 199}, + [120] = {.lex_state = 199}, + [121] = {.lex_state = 199}, + [122] = {.lex_state = 199}, + [123] = {.lex_state = 199}, + [124] = {.lex_state = 199}, + [125] = {.lex_state = 197}, + [126] = {.lex_state = 190}, + [127] = {.lex_state = 190}, + [128] = {.lex_state = 199}, + [129] = {.lex_state = 190}, + [130] = {.lex_state = 199}, + [131] = {.lex_state = 199}, + [132] = {.lex_state = 199}, + [133] = {.lex_state = 199}, + [134] = {.lex_state = 199}, + [135] = {.lex_state = 199}, + [136] = {.lex_state = 199}, + [137] = {.lex_state = 199}, + [138] = {.lex_state = 199}, + [139] = {.lex_state = 199}, + [140] = {.lex_state = 199}, + [141] = {.lex_state = 199}, + [142] = {.lex_state = 199}, + [143] = {.lex_state = 199}, + [144] = {.lex_state = 199}, + [145] = {.lex_state = 199}, + [146] = {.lex_state = 199}, + [147] = {.lex_state = 199}, + [148] = {.lex_state = 192}, + [149] = {.lex_state = 199}, + [150] = {.lex_state = 199}, + [151] = {.lex_state = 199}, + [152] = {.lex_state = 199}, + [153] = {.lex_state = 199}, + [154] = {.lex_state = 199}, + [155] = {.lex_state = 199}, + [156] = {.lex_state = 199}, + [157] = {.lex_state = 199}, + [158] = {.lex_state = 199}, + [159] = {.lex_state = 199}, + [160] = {.lex_state = 199}, + [161] = {.lex_state = 199}, + [162] = {.lex_state = 199}, + [163] = {.lex_state = 199}, + [164] = {.lex_state = 199}, + [165] = {.lex_state = 199}, + [166] = {.lex_state = 199}, + [167] = {.lex_state = 199}, + [168] = {.lex_state = 199}, + [169] = {.lex_state = 199}, + [170] = {.lex_state = 199}, + [171] = {.lex_state = 199}, + [172] = {.lex_state = 199}, + [173] = {.lex_state = 199}, + [174] = {.lex_state = 199}, + [175] = {.lex_state = 199}, + [176] = {.lex_state = 199}, + [177] = {.lex_state = 199}, + [178] = {.lex_state = 199}, + [179] = {.lex_state = 199}, + [180] = {.lex_state = 199}, + [181] = {.lex_state = 199}, + [182] = {.lex_state = 199}, + [183] = {.lex_state = 199}, + [184] = {.lex_state = 199}, + [185] = {.lex_state = 199}, + [186] = {.lex_state = 199}, + [187] = {.lex_state = 199}, + [188] = {.lex_state = 199}, + [189] = {.lex_state = 199}, + [190] = {.lex_state = 202}, + [191] = {.lex_state = 202}, + [192] = {.lex_state = 202}, + [193] = {.lex_state = 190}, + [194] = {.lex_state = 190}, + [195] = {.lex_state = 202}, + [196] = {.lex_state = 202}, + [197] = {.lex_state = 202}, + [198] = {.lex_state = 202}, + [199] = {.lex_state = 202}, + [200] = {.lex_state = 202}, + [201] = {.lex_state = 202}, + [202] = {.lex_state = 202}, + [203] = {.lex_state = 202}, + [204] = {.lex_state = 202}, + [205] = {.lex_state = 202}, + [206] = {.lex_state = 202}, + [207] = {.lex_state = 202}, + [208] = {.lex_state = 202}, + [209] = {.lex_state = 202}, + [210] = {.lex_state = 202}, + [211] = {.lex_state = 202}, + [212] = {.lex_state = 382}, + [213] = {.lex_state = 193}, + [214] = {.lex_state = 202}, + [215] = {.lex_state = 202}, + [216] = {.lex_state = 202}, + [217] = {.lex_state = 382}, + [218] = {.lex_state = 202}, + [219] = {.lex_state = 202}, + [220] = {.lex_state = 202}, + [221] = {.lex_state = 202}, + [222] = {.lex_state = 202}, + [223] = {.lex_state = 202}, + [224] = {.lex_state = 202}, + [225] = {.lex_state = 192}, + [226] = {.lex_state = 202}, + [227] = {.lex_state = 202}, + [228] = {.lex_state = 202}, + [229] = {.lex_state = 202}, + [230] = {.lex_state = 202}, + [231] = {.lex_state = 202}, + [232] = {.lex_state = 202}, + [233] = {.lex_state = 202}, + [234] = {.lex_state = 202}, + [235] = {.lex_state = 202}, + [236] = {.lex_state = 202}, + [237] = {.lex_state = 202}, + [238] = {.lex_state = 202}, + [239] = {.lex_state = 202}, + [240] = {.lex_state = 202}, + [241] = {.lex_state = 202}, + [242] = {.lex_state = 202}, + [243] = {.lex_state = 201}, + [244] = {.lex_state = 197}, + [245] = {.lex_state = 197}, + [246] = {.lex_state = 202}, + [247] = {.lex_state = 199}, + [248] = {.lex_state = 199}, + [249] = {.lex_state = 199}, + [250] = {.lex_state = 201}, + [251] = {.lex_state = 202}, + [252] = {.lex_state = 197}, + [253] = {.lex_state = 202}, + [254] = {.lex_state = 202}, + [255] = {.lex_state = 202}, + [256] = {.lex_state = 202}, + [257] = {.lex_state = 202}, + [258] = {.lex_state = 197}, + [259] = {.lex_state = 197}, + [260] = {.lex_state = 197}, + [261] = {.lex_state = 197}, + [262] = {.lex_state = 199}, + [263] = {.lex_state = 197}, + [264] = {.lex_state = 197}, + [265] = {.lex_state = 197}, + [266] = {.lex_state = 197}, + [267] = {.lex_state = 197}, + [268] = {.lex_state = 197}, + [269] = {.lex_state = 197}, + [270] = {.lex_state = 197}, + [271] = {.lex_state = 197}, + [272] = {.lex_state = 197}, + [273] = {.lex_state = 197}, + [274] = {.lex_state = 197}, + [275] = {.lex_state = 197}, + [276] = {.lex_state = 197}, + [277] = {.lex_state = 197}, + [278] = {.lex_state = 197}, + [279] = {.lex_state = 197}, + [280] = {.lex_state = 197}, + [281] = {.lex_state = 197}, + [282] = {.lex_state = 197}, + [283] = {.lex_state = 197}, + [284] = {.lex_state = 197}, + [285] = {.lex_state = 197}, + [286] = {.lex_state = 197}, + [287] = {.lex_state = 197}, + [288] = {.lex_state = 197}, + [289] = {.lex_state = 197}, + [290] = {.lex_state = 197}, + [291] = {.lex_state = 197}, + [292] = {.lex_state = 197}, + [293] = {.lex_state = 197}, + [294] = {.lex_state = 197}, + [295] = {.lex_state = 197}, + [296] = {.lex_state = 197}, + [297] = {.lex_state = 197}, + [298] = {.lex_state = 197}, + [299] = {.lex_state = 197}, + [300] = {.lex_state = 197}, + [301] = {.lex_state = 197}, + [302] = {.lex_state = 197}, + [303] = {.lex_state = 197}, + [304] = {.lex_state = 197}, + [305] = {.lex_state = 282}, + [306] = {.lex_state = 282}, + [307] = {.lex_state = 197}, + [308] = {.lex_state = 197}, + [309] = {.lex_state = 197}, + [310] = {.lex_state = 197}, + [311] = {.lex_state = 197}, + [312] = {.lex_state = 382}, + [313] = {.lex_state = 197}, + [314] = {.lex_state = 197}, + [315] = {.lex_state = 197}, + [316] = {.lex_state = 382}, + [317] = {.lex_state = 282}, + [318] = {.lex_state = 197}, + [319] = {.lex_state = 197}, + [320] = {.lex_state = 197}, + [321] = {.lex_state = 197}, + [322] = {.lex_state = 197}, + [323] = {.lex_state = 197}, + [324] = {.lex_state = 197}, + [325] = {.lex_state = 382}, + [326] = {.lex_state = 197}, + [327] = {.lex_state = 197}, + [328] = {.lex_state = 197}, + [329] = {.lex_state = 197}, + [330] = {.lex_state = 282}, + [331] = {.lex_state = 197}, + [332] = {.lex_state = 282}, + [333] = {.lex_state = 282}, + [334] = {.lex_state = 197}, + [335] = {.lex_state = 197}, + [336] = {.lex_state = 197}, + [337] = {.lex_state = 197}, + [338] = {.lex_state = 197}, + [339] = {.lex_state = 197}, + [340] = {.lex_state = 197}, + [341] = {.lex_state = 197}, + [342] = {.lex_state = 197}, + [343] = {.lex_state = 197}, + [344] = {.lex_state = 197}, + [345] = {.lex_state = 282}, + [346] = {.lex_state = 197}, + [347] = {.lex_state = 197}, + [348] = {.lex_state = 197}, + [349] = {.lex_state = 200}, + [350] = {.lex_state = 197}, + [351] = {.lex_state = 197}, + [352] = {.lex_state = 197}, + [353] = {.lex_state = 197}, + [354] = {.lex_state = 200}, + [355] = {.lex_state = 282}, + [356] = {.lex_state = 197}, + [357] = {.lex_state = 197}, + [358] = {.lex_state = 197}, + [359] = {.lex_state = 197}, + [360] = {.lex_state = 197}, + [361] = {.lex_state = 282}, + [362] = {.lex_state = 197}, + [363] = {.lex_state = 197}, + [364] = {.lex_state = 197}, + [365] = {.lex_state = 197}, + [366] = {.lex_state = 197}, + [367] = {.lex_state = 197}, + [368] = {.lex_state = 197}, + [369] = {.lex_state = 197}, + [370] = {.lex_state = 197}, + [371] = {.lex_state = 282}, + [372] = {.lex_state = 282}, + [373] = {.lex_state = 197}, + [374] = {.lex_state = 197}, + [375] = {.lex_state = 197}, + [376] = {.lex_state = 282}, + [377] = {.lex_state = 197}, + [378] = {.lex_state = 282}, + [379] = {.lex_state = 282}, + [380] = {.lex_state = 282}, + [381] = {.lex_state = 197}, + [382] = {.lex_state = 197}, + [383] = {.lex_state = 282}, + [384] = {.lex_state = 382}, + [385] = {.lex_state = 197}, + [386] = {.lex_state = 197}, + [387] = {.lex_state = 197}, + [388] = {.lex_state = 197}, + [389] = {.lex_state = 197}, + [390] = {.lex_state = 197}, + [391] = {.lex_state = 197}, + [392] = {.lex_state = 197}, + [393] = {.lex_state = 197}, + [394] = {.lex_state = 197}, + [395] = {.lex_state = 191}, + [396] = {.lex_state = 200}, + [397] = {.lex_state = 382}, + [398] = {.lex_state = 382}, + [399] = {.lex_state = 200}, + [400] = {.lex_state = 382}, + [401] = {.lex_state = 382}, + [402] = {.lex_state = 382}, + [403] = {.lex_state = 200}, + [404] = {.lex_state = 382}, + [405] = {.lex_state = 382}, + [406] = {.lex_state = 200}, + [407] = {.lex_state = 200}, + [408] = {.lex_state = 200}, + [409] = {.lex_state = 382}, + [410] = {.lex_state = 382}, + [411] = {.lex_state = 382}, + [412] = {.lex_state = 200}, + [413] = {.lex_state = 200}, + [414] = {.lex_state = 382}, + [415] = {.lex_state = 382}, + [416] = {.lex_state = 200}, + [417] = {.lex_state = 200}, + [418] = {.lex_state = 382}, + [419] = {.lex_state = 200}, + [420] = {.lex_state = 382}, + [421] = {.lex_state = 382}, + [422] = {.lex_state = 382}, + [423] = {.lex_state = 382}, + [424] = {.lex_state = 382}, + [425] = {.lex_state = 282}, + [426] = {.lex_state = 382}, + [427] = {.lex_state = 382}, + [428] = {.lex_state = 200}, + [429] = {.lex_state = 200}, + [430] = {.lex_state = 200}, + [431] = {.lex_state = 200}, + [432] = {.lex_state = 200}, + [433] = {.lex_state = 200}, + [434] = {.lex_state = 382}, + [435] = {.lex_state = 200}, + [436] = {.lex_state = 382}, + [437] = {.lex_state = 382}, + [438] = {.lex_state = 382}, + [439] = {.lex_state = 382}, + [440] = {.lex_state = 200}, + [441] = {.lex_state = 382}, + [442] = {.lex_state = 382}, + [443] = {.lex_state = 382}, + [444] = {.lex_state = 200}, + [445] = {.lex_state = 382}, + [446] = {.lex_state = 382}, + [447] = {.lex_state = 382}, + [448] = {.lex_state = 382}, + [449] = {.lex_state = 382}, + [450] = {.lex_state = 200}, + [451] = {.lex_state = 382}, + [452] = {.lex_state = 382}, + [453] = {.lex_state = 382}, + [454] = {.lex_state = 382}, + [455] = {.lex_state = 382}, + [456] = {.lex_state = 382}, + [457] = {.lex_state = 382}, + [458] = {.lex_state = 382}, + [459] = {.lex_state = 200}, + [460] = {.lex_state = 382}, + [461] = {.lex_state = 382}, + [462] = {.lex_state = 382}, + [463] = {.lex_state = 200}, + [464] = {.lex_state = 382}, + [465] = {.lex_state = 200}, + [466] = {.lex_state = 200}, + [467] = {.lex_state = 382}, + [468] = {.lex_state = 200}, + [469] = {.lex_state = 200}, + [470] = {.lex_state = 382}, + [471] = {.lex_state = 200}, + [472] = {.lex_state = 382}, + [473] = {.lex_state = 382}, + [474] = {.lex_state = 200}, + [475] = {.lex_state = 382}, + [476] = {.lex_state = 382}, + [477] = {.lex_state = 200}, + [478] = {.lex_state = 382}, + [479] = {.lex_state = 200}, + [480] = {.lex_state = 382}, + [481] = {.lex_state = 382}, + [482] = {.lex_state = 200}, + [483] = {.lex_state = 382}, + [484] = {.lex_state = 382}, + [485] = {.lex_state = 382}, + [486] = {.lex_state = 382}, + [487] = {.lex_state = 382}, + [488] = {.lex_state = 200}, + [489] = {.lex_state = 200}, + [490] = {.lex_state = 382}, + [491] = {.lex_state = 382}, + [492] = {.lex_state = 200}, + [493] = {.lex_state = 200}, + [494] = {.lex_state = 382}, + [495] = {.lex_state = 382}, + [496] = {.lex_state = 382}, + [497] = {.lex_state = 382}, + [498] = {.lex_state = 200}, + [499] = {.lex_state = 382}, + [500] = {.lex_state = 382}, + [501] = {.lex_state = 382}, + [502] = {.lex_state = 382}, + [503] = {.lex_state = 200}, + [504] = {.lex_state = 382}, + [505] = {.lex_state = 382}, + [506] = {.lex_state = 382}, + [507] = {.lex_state = 200}, + [508] = {.lex_state = 382}, + [509] = {.lex_state = 382}, + [510] = {.lex_state = 382}, + [511] = {.lex_state = 382}, + [512] = {.lex_state = 382}, + [513] = {.lex_state = 382}, + [514] = {.lex_state = 200}, + [515] = {.lex_state = 200}, + [516] = {.lex_state = 382}, + [517] = {.lex_state = 200}, + [518] = {.lex_state = 382}, + [519] = {.lex_state = 200}, + [520] = {.lex_state = 382}, + [521] = {.lex_state = 382}, + [522] = {.lex_state = 382}, + [523] = {.lex_state = 200}, + [524] = {.lex_state = 382}, + [525] = {.lex_state = 382}, + [526] = {.lex_state = 382}, + [527] = {.lex_state = 200}, + [528] = {.lex_state = 200}, + [529] = {.lex_state = 382}, + [530] = {.lex_state = 200}, + [531] = {.lex_state = 382}, + [532] = {.lex_state = 382}, + [533] = {.lex_state = 382}, + [534] = {.lex_state = 382}, + [535] = {.lex_state = 382}, + [536] = {.lex_state = 200}, + [537] = {.lex_state = 200}, + [538] = {.lex_state = 382}, + [539] = {.lex_state = 382}, + [540] = {.lex_state = 382}, + [541] = {.lex_state = 382}, + [542] = {.lex_state = 382}, + [543] = {.lex_state = 200}, + [544] = {.lex_state = 200}, + [545] = {.lex_state = 382}, + [546] = {.lex_state = 382}, + [547] = {.lex_state = 200}, + [548] = {.lex_state = 382}, + [549] = {.lex_state = 382}, + [550] = {.lex_state = 382}, + [551] = {.lex_state = 200}, + [552] = {.lex_state = 200}, + [553] = {.lex_state = 200}, + [554] = {.lex_state = 200}, + [555] = {.lex_state = 382}, + [556] = {.lex_state = 200}, + [557] = {.lex_state = 382}, + [558] = {.lex_state = 200}, + [559] = {.lex_state = 200}, + [560] = {.lex_state = 200}, + [561] = {.lex_state = 200}, + [562] = {.lex_state = 200}, + [563] = {.lex_state = 200}, + [564] = {.lex_state = 200}, + [565] = {.lex_state = 382}, + [566] = {.lex_state = 200}, + [567] = {.lex_state = 200}, + [568] = {.lex_state = 382}, + [569] = {.lex_state = 200}, + [570] = {.lex_state = 200}, + [571] = {.lex_state = 191}, + [572] = {.lex_state = 200}, + [573] = {.lex_state = 200}, + [574] = {.lex_state = 382}, + [575] = {.lex_state = 200}, + [576] = {.lex_state = 200}, + [577] = {.lex_state = 200}, + [578] = {.lex_state = 200}, + [579] = {.lex_state = 200}, + [580] = {.lex_state = 200}, + [581] = {.lex_state = 200}, + [582] = {.lex_state = 382}, + [583] = {.lex_state = 382}, + [584] = {.lex_state = 200}, + [585] = {.lex_state = 382}, + [586] = {.lex_state = 200}, + [587] = {.lex_state = 200}, + [588] = {.lex_state = 200}, + [589] = {.lex_state = 200}, + [590] = {.lex_state = 382}, + [591] = {.lex_state = 382}, + [592] = {.lex_state = 200}, + [593] = {.lex_state = 200}, + [594] = {.lex_state = 200}, + [595] = {.lex_state = 382}, + [596] = {.lex_state = 382}, + [597] = {.lex_state = 382}, + [598] = {.lex_state = 382}, + [599] = {.lex_state = 382}, + [600] = {.lex_state = 382}, + [601] = {.lex_state = 382}, + [602] = {.lex_state = 382}, + [603] = {.lex_state = 382}, + [604] = {.lex_state = 200}, + [605] = {.lex_state = 382}, + [606] = {.lex_state = 200}, + [607] = {.lex_state = 382}, + [608] = {.lex_state = 382}, + [609] = {.lex_state = 200}, + [610] = {.lex_state = 382}, + [611] = {.lex_state = 382}, + [612] = {.lex_state = 382}, + [613] = {.lex_state = 200}, + [614] = {.lex_state = 200}, + [615] = {.lex_state = 382}, + [616] = {.lex_state = 200}, + [617] = {.lex_state = 200}, + [618] = {.lex_state = 200}, + [619] = {.lex_state = 382}, + [620] = {.lex_state = 200}, + [621] = {.lex_state = 200}, + [622] = {.lex_state = 191}, + [623] = {.lex_state = 382}, + [624] = {.lex_state = 382}, + [625] = {.lex_state = 382}, + [626] = {.lex_state = 382}, + [627] = {.lex_state = 382}, + [628] = {.lex_state = 382}, + [629] = {.lex_state = 382}, + [630] = {.lex_state = 382}, + [631] = {.lex_state = 200}, + [632] = {.lex_state = 382}, + [633] = {.lex_state = 382}, + [634] = {.lex_state = 382}, + [635] = {.lex_state = 200}, + [636] = {.lex_state = 382}, + [637] = {.lex_state = 191}, + [638] = {.lex_state = 382}, + [639] = {.lex_state = 200}, + [640] = {.lex_state = 200}, + [641] = {.lex_state = 200}, + [642] = {.lex_state = 382}, + [643] = {.lex_state = 382}, + [644] = {.lex_state = 382}, + [645] = {.lex_state = 382}, + [646] = {.lex_state = 200}, + [647] = {.lex_state = 200}, + [648] = {.lex_state = 382}, + [649] = {.lex_state = 382}, + [650] = {.lex_state = 200}, + [651] = {.lex_state = 382}, + [652] = {.lex_state = 382}, + [653] = {.lex_state = 200}, + [654] = {.lex_state = 200}, + [655] = {.lex_state = 382}, + [656] = {.lex_state = 382}, + [657] = {.lex_state = 200}, + [658] = {.lex_state = 382}, + [659] = {.lex_state = 382}, + [660] = {.lex_state = 382}, + [661] = {.lex_state = 382}, + [662] = {.lex_state = 382}, + [663] = {.lex_state = 200}, + [664] = {.lex_state = 200}, + [665] = {.lex_state = 200}, + [666] = {.lex_state = 200}, + [667] = {.lex_state = 200}, + [668] = {.lex_state = 382}, + [669] = {.lex_state = 200}, + [670] = {.lex_state = 200}, + [671] = {.lex_state = 200}, + [672] = {.lex_state = 200}, + [673] = {.lex_state = 382}, + [674] = {.lex_state = 194}, + [675] = {.lex_state = 191}, + [676] = {.lex_state = 382}, + [677] = {.lex_state = 191}, + [678] = {.lex_state = 382}, + [679] = {.lex_state = 382}, + [680] = {.lex_state = 226}, + [681] = {.lex_state = 382}, + [682] = {.lex_state = 226}, + [683] = {.lex_state = 382}, + [684] = {.lex_state = 382}, + [685] = {.lex_state = 382}, + [686] = {.lex_state = 226}, + [687] = {.lex_state = 382}, + [688] = {.lex_state = 382}, + [689] = {.lex_state = 382}, + [690] = {.lex_state = 382}, + [691] = {.lex_state = 382}, + [692] = {.lex_state = 382}, + [693] = {.lex_state = 382}, + [694] = {.lex_state = 382}, + [695] = {.lex_state = 382}, + [696] = {.lex_state = 382}, + [697] = {.lex_state = 382}, + [698] = {.lex_state = 382}, + [699] = {.lex_state = 382}, + [700] = {.lex_state = 382}, + [701] = {.lex_state = 226}, + [702] = {.lex_state = 382}, + [703] = {.lex_state = 382}, + [704] = {.lex_state = 382}, + [705] = {.lex_state = 382}, + [706] = {.lex_state = 226}, + [707] = {.lex_state = 283}, + [708] = {.lex_state = 382}, + [709] = {.lex_state = 382}, + [710] = {.lex_state = 382}, + [711] = {.lex_state = 382}, + [712] = {.lex_state = 382}, + [713] = {.lex_state = 382}, + [714] = {.lex_state = 382}, + [715] = {.lex_state = 382}, + [716] = {.lex_state = 226}, + [717] = {.lex_state = 283}, + [718] = {.lex_state = 382}, + [719] = {.lex_state = 382}, + [720] = {.lex_state = 283}, + [721] = {.lex_state = 382}, + [722] = {.lex_state = 226}, + [723] = {.lex_state = 382}, + [724] = {.lex_state = 382}, + [725] = {.lex_state = 382}, + [726] = {.lex_state = 382}, + [727] = {.lex_state = 382}, + [728] = {.lex_state = 382}, + [729] = {.lex_state = 382}, + [730] = {.lex_state = 226}, + [731] = {.lex_state = 382}, + [732] = {.lex_state = 382}, + [733] = {.lex_state = 382}, + [734] = {.lex_state = 191}, + [735] = {.lex_state = 382}, + [736] = {.lex_state = 226}, + [737] = {.lex_state = 382}, + [738] = {.lex_state = 226}, + [739] = {.lex_state = 226}, + [740] = {.lex_state = 226}, + [741] = {.lex_state = 382}, + [742] = {.lex_state = 382}, + [743] = {.lex_state = 226}, + [744] = {.lex_state = 382}, + [745] = {.lex_state = 226}, + [746] = {.lex_state = 382}, + [747] = {.lex_state = 382}, + [748] = {.lex_state = 382}, + [749] = {.lex_state = 226}, + [750] = {.lex_state = 382}, + [751] = {.lex_state = 382}, + [752] = {.lex_state = 382}, + [753] = {.lex_state = 382}, + [754] = {.lex_state = 382}, + [755] = {.lex_state = 226}, + [756] = {.lex_state = 382}, + [757] = {.lex_state = 382}, + [758] = {.lex_state = 382}, + [759] = {.lex_state = 382}, + [760] = {.lex_state = 226}, + [761] = {.lex_state = 382}, + [762] = {.lex_state = 226}, + [763] = {.lex_state = 226}, + [764] = {.lex_state = 382}, + [765] = {.lex_state = 382}, + [766] = {.lex_state = 226}, + [767] = {.lex_state = 382}, + [768] = {.lex_state = 382}, + [769] = {.lex_state = 226}, + [770] = {.lex_state = 382}, + [771] = {.lex_state = 382}, + [772] = {.lex_state = 382}, + [773] = {.lex_state = 195}, + [774] = {.lex_state = 195}, + [775] = {.lex_state = 202}, + [776] = {.lex_state = 202}, + [777] = {.lex_state = 202}, + [778] = {.lex_state = 202}, + [779] = {.lex_state = 202}, + [780] = {.lex_state = 202}, + [781] = {.lex_state = 202}, + [782] = {.lex_state = 202}, + [783] = {.lex_state = 202}, + [784] = {.lex_state = 202}, + [785] = {.lex_state = 202}, + [786] = {.lex_state = 202}, + [787] = {.lex_state = 202}, + [788] = {.lex_state = 202}, + [789] = {.lex_state = 202}, + [790] = {.lex_state = 202}, + [791] = {.lex_state = 202}, + [792] = {.lex_state = 202}, + [793] = {.lex_state = 202}, + [794] = {.lex_state = 202}, + [795] = {.lex_state = 202}, + [796] = {.lex_state = 282}, + [797] = {.lex_state = 282}, + [798] = {.lex_state = 282}, + [799] = {.lex_state = 282}, + [800] = {.lex_state = 282}, + [801] = {.lex_state = 282}, + [802] = {.lex_state = 282}, + [803] = {.lex_state = 382}, + [804] = {.lex_state = 382}, + [805] = {.lex_state = 282}, + [806] = {.lex_state = 282}, + [807] = {.lex_state = 282}, + [808] = {.lex_state = 282}, + [809] = {.lex_state = 282}, + [810] = {.lex_state = 282}, + [811] = {.lex_state = 282}, + [812] = {.lex_state = 216}, + [813] = {.lex_state = 201}, + [814] = {.lex_state = 201}, + [815] = {.lex_state = 216}, + [816] = {.lex_state = 216}, + [817] = {.lex_state = 216}, + [818] = {.lex_state = 382}, + [819] = {.lex_state = 216}, + [820] = {.lex_state = 199}, + [821] = {.lex_state = 199}, + [822] = {.lex_state = 216}, + [823] = {.lex_state = 202}, + [824] = {.lex_state = 199}, + [825] = {.lex_state = 202}, + [826] = {.lex_state = 202}, + [827] = {.lex_state = 202}, + [828] = {.lex_state = 202}, + [829] = {.lex_state = 202}, + [830] = {.lex_state = 202}, + [831] = {.lex_state = 202}, + [832] = {.lex_state = 202}, + [833] = {.lex_state = 199}, + [834] = {.lex_state = 202}, + [835] = {.lex_state = 202}, + [836] = {.lex_state = 202}, + [837] = {.lex_state = 202}, + [838] = {.lex_state = 202}, + [839] = {.lex_state = 202}, + [840] = {.lex_state = 202}, + [841] = {.lex_state = 202}, + [842] = {.lex_state = 202}, + [843] = {.lex_state = 202}, + [844] = {.lex_state = 202}, + [845] = {.lex_state = 202}, + [846] = {.lex_state = 199}, + [847] = {.lex_state = 202}, + [848] = {.lex_state = 202}, + [849] = {.lex_state = 202}, + [850] = {.lex_state = 202}, + [851] = {.lex_state = 202}, + [852] = {.lex_state = 199}, + [853] = {.lex_state = 218}, + [854] = {.lex_state = 199}, + [855] = {.lex_state = 199}, + [856] = {.lex_state = 202}, + [857] = {.lex_state = 199}, + [858] = {.lex_state = 199}, + [859] = {.lex_state = 202}, + [860] = {.lex_state = 199}, + [861] = {.lex_state = 202}, + [862] = {.lex_state = 199}, + [863] = {.lex_state = 202}, + [864] = {.lex_state = 199}, + [865] = {.lex_state = 199}, + [866] = {.lex_state = 199}, + [867] = {.lex_state = 199}, + [868] = {.lex_state = 199}, + [869] = {.lex_state = 199}, + [870] = {.lex_state = 282}, + [871] = {.lex_state = 199}, + [872] = {.lex_state = 202}, + [873] = {.lex_state = 199}, + [874] = {.lex_state = 199}, + [875] = {.lex_state = 202}, + [876] = {.lex_state = 199}, + [877] = {.lex_state = 199}, + [878] = {.lex_state = 199}, + [879] = {.lex_state = 199}, + [880] = {.lex_state = 199}, + [881] = {.lex_state = 199}, + [882] = {.lex_state = 199}, + [883] = {.lex_state = 199}, + [884] = {.lex_state = 199}, + [885] = {.lex_state = 199}, + [886] = {.lex_state = 202}, + [887] = {.lex_state = 199}, + [888] = {.lex_state = 202}, + [889] = {.lex_state = 202}, + [890] = {.lex_state = 199}, + [891] = {.lex_state = 199}, + [892] = {.lex_state = 199}, + [893] = {.lex_state = 199}, + [894] = {.lex_state = 199}, + [895] = {.lex_state = 199}, + [896] = {.lex_state = 199}, + [897] = {.lex_state = 199}, + [898] = {.lex_state = 199}, + [899] = {.lex_state = 199}, + [900] = {.lex_state = 202}, + [901] = {.lex_state = 202}, + [902] = {.lex_state = 199}, + [903] = {.lex_state = 199}, + [904] = {.lex_state = 202}, + [905] = {.lex_state = 199}, + [906] = {.lex_state = 199}, + [907] = {.lex_state = 199}, + [908] = {.lex_state = 202}, + [909] = {.lex_state = 216}, + [910] = {.lex_state = 216}, + [911] = {.lex_state = 216}, + [912] = {.lex_state = 212}, + [913] = {.lex_state = 216}, + [914] = {.lex_state = 216}, + [915] = {.lex_state = 216}, + [916] = {.lex_state = 216}, + [917] = {.lex_state = 216}, + [918] = {.lex_state = 202}, + [919] = {.lex_state = 202}, + [920] = {.lex_state = 202}, + [921] = {.lex_state = 202}, + [922] = {.lex_state = 202}, + [923] = {.lex_state = 202}, + [924] = {.lex_state = 202}, + [925] = {.lex_state = 202}, + [926] = {.lex_state = 202}, + [927] = {.lex_state = 203}, + [928] = {.lex_state = 202}, + [929] = {.lex_state = 202}, + [930] = {.lex_state = 203}, + [931] = {.lex_state = 202}, + [932] = {.lex_state = 202}, + [933] = {.lex_state = 202}, + [934] = {.lex_state = 203}, + [935] = {.lex_state = 202}, + [936] = {.lex_state = 202}, + [937] = {.lex_state = 202}, + [938] = {.lex_state = 202}, + [939] = {.lex_state = 202}, + [940] = {.lex_state = 202}, + [941] = {.lex_state = 202}, + [942] = {.lex_state = 218}, + [943] = {.lex_state = 202}, + [944] = {.lex_state = 202}, + [945] = {.lex_state = 202}, + [946] = {.lex_state = 202}, + [947] = {.lex_state = 202}, + [948] = {.lex_state = 202}, + [949] = {.lex_state = 202}, + [950] = {.lex_state = 201}, + [951] = {.lex_state = 201}, + [952] = {.lex_state = 201}, + [953] = {.lex_state = 201}, + [954] = {.lex_state = 202}, + [955] = {.lex_state = 202}, + [956] = {.lex_state = 202}, + [957] = {.lex_state = 202}, + [958] = {.lex_state = 202}, + [959] = {.lex_state = 202}, + [960] = {.lex_state = 202}, + [961] = {.lex_state = 201}, + [962] = {.lex_state = 202}, + [963] = {.lex_state = 201}, + [964] = {.lex_state = 201}, + [965] = {.lex_state = 201}, + [966] = {.lex_state = 201}, + [967] = {.lex_state = 201}, + [968] = {.lex_state = 202}, + [969] = {.lex_state = 202}, + [970] = {.lex_state = 201}, + [971] = {.lex_state = 201}, + [972] = {.lex_state = 202}, + [973] = {.lex_state = 214}, + [974] = {.lex_state = 202}, + [975] = {.lex_state = 201}, + [976] = {.lex_state = 202}, + [977] = {.lex_state = 202}, + [978] = {.lex_state = 202}, + [979] = {.lex_state = 201}, + [980] = {.lex_state = 202}, + [981] = {.lex_state = 201}, + [982] = {.lex_state = 202}, + [983] = {.lex_state = 202}, + [984] = {.lex_state = 202}, + [985] = {.lex_state = 202}, + [986] = {.lex_state = 202}, + [987] = {.lex_state = 201}, + [988] = {.lex_state = 202}, + [989] = {.lex_state = 201}, + [990] = {.lex_state = 202}, + [991] = {.lex_state = 202}, + [992] = {.lex_state = 202}, + [993] = {.lex_state = 202}, + [994] = {.lex_state = 202}, + [995] = {.lex_state = 201}, + [996] = {.lex_state = 201}, + [997] = {.lex_state = 201}, + [998] = {.lex_state = 201}, + [999] = {.lex_state = 201}, + [1000] = {.lex_state = 201}, + [1001] = {.lex_state = 202}, + [1002] = {.lex_state = 201}, + [1003] = {.lex_state = 202}, + [1004] = {.lex_state = 202}, + [1005] = {.lex_state = 202}, + [1006] = {.lex_state = 202}, + [1007] = {.lex_state = 202}, + [1008] = {.lex_state = 202}, + [1009] = {.lex_state = 202}, + [1010] = {.lex_state = 202}, + [1011] = {.lex_state = 202}, + [1012] = {.lex_state = 202}, + [1013] = {.lex_state = 201}, + [1014] = {.lex_state = 201}, + [1015] = {.lex_state = 202}, + [1016] = {.lex_state = 202}, + [1017] = {.lex_state = 201}, + [1018] = {.lex_state = 202}, + [1019] = {.lex_state = 201}, + [1020] = {.lex_state = 201}, + [1021] = {.lex_state = 201}, + [1022] = {.lex_state = 202}, + [1023] = {.lex_state = 202}, + [1024] = {.lex_state = 202}, + [1025] = {.lex_state = 202}, + [1026] = {.lex_state = 202}, + [1027] = {.lex_state = 202}, + [1028] = {.lex_state = 202}, + [1029] = {.lex_state = 202}, + [1030] = {.lex_state = 202}, + [1031] = {.lex_state = 202}, + [1032] = {.lex_state = 202}, + [1033] = {.lex_state = 202}, + [1034] = {.lex_state = 202}, + [1035] = {.lex_state = 212}, + [1036] = {.lex_state = 202}, + [1037] = {.lex_state = 202}, + [1038] = {.lex_state = 202}, + [1039] = {.lex_state = 202}, + [1040] = {.lex_state = 202}, + [1041] = {.lex_state = 202}, + [1042] = {.lex_state = 202}, + [1043] = {.lex_state = 202}, + [1044] = {.lex_state = 202}, + [1045] = {.lex_state = 202}, + [1046] = {.lex_state = 202}, + [1047] = {.lex_state = 202}, + [1048] = {.lex_state = 202}, + [1049] = {.lex_state = 202}, + [1050] = {.lex_state = 202}, + [1051] = {.lex_state = 202}, + [1052] = {.lex_state = 202}, + [1053] = {.lex_state = 202}, + [1054] = {.lex_state = 202}, + [1055] = {.lex_state = 202}, + [1056] = {.lex_state = 202}, + [1057] = {.lex_state = 202}, + [1058] = {.lex_state = 202}, + [1059] = {.lex_state = 202}, + [1060] = {.lex_state = 202}, + [1061] = {.lex_state = 202}, + [1062] = {.lex_state = 202}, + [1063] = {.lex_state = 202}, + [1064] = {.lex_state = 202}, + [1065] = {.lex_state = 202}, + [1066] = {.lex_state = 202}, + [1067] = {.lex_state = 202}, + [1068] = {.lex_state = 202}, + [1069] = {.lex_state = 202}, + [1070] = {.lex_state = 202}, + [1071] = {.lex_state = 202}, + [1072] = {.lex_state = 202}, + [1073] = {.lex_state = 202}, + [1074] = {.lex_state = 202}, + [1075] = {.lex_state = 202}, + [1076] = {.lex_state = 202}, + [1077] = {.lex_state = 202}, + [1078] = {.lex_state = 202}, + [1079] = {.lex_state = 202}, + [1080] = {.lex_state = 202}, + [1081] = {.lex_state = 202}, + [1082] = {.lex_state = 202}, + [1083] = {.lex_state = 202}, + [1084] = {.lex_state = 202}, + [1085] = {.lex_state = 202}, + [1086] = {.lex_state = 202}, + [1087] = {.lex_state = 202}, + [1088] = {.lex_state = 202}, + [1089] = {.lex_state = 202}, + [1090] = {.lex_state = 202}, + [1091] = {.lex_state = 202}, + [1092] = {.lex_state = 202}, + [1093] = {.lex_state = 202}, + [1094] = {.lex_state = 202}, + [1095] = {.lex_state = 202}, + [1096] = {.lex_state = 202}, + [1097] = {.lex_state = 202}, + [1098] = {.lex_state = 202}, + [1099] = {.lex_state = 202}, + [1100] = {.lex_state = 202}, + [1101] = {.lex_state = 202}, + [1102] = {.lex_state = 202}, + [1103] = {.lex_state = 202}, + [1104] = {.lex_state = 202}, + [1105] = {.lex_state = 227}, + [1106] = {.lex_state = 202}, + [1107] = {.lex_state = 202}, + [1108] = {.lex_state = 202}, + [1109] = {.lex_state = 202}, + [1110] = {.lex_state = 202}, + [1111] = {.lex_state = 202}, + [1112] = {.lex_state = 202}, + [1113] = {.lex_state = 202}, + [1114] = {.lex_state = 202}, + [1115] = {.lex_state = 202}, + [1116] = {.lex_state = 202}, + [1117] = {.lex_state = 202}, + [1118] = {.lex_state = 202}, + [1119] = {.lex_state = 202}, + [1120] = {.lex_state = 202}, + [1121] = {.lex_state = 202}, + [1122] = {.lex_state = 202}, + [1123] = {.lex_state = 202}, + [1124] = {.lex_state = 202}, + [1125] = {.lex_state = 202}, + [1126] = {.lex_state = 202}, + [1127] = {.lex_state = 202}, + [1128] = {.lex_state = 202}, + [1129] = {.lex_state = 202}, + [1130] = {.lex_state = 202}, + [1131] = {.lex_state = 202}, + [1132] = {.lex_state = 202}, + [1133] = {.lex_state = 202}, + [1134] = {.lex_state = 202}, + [1135] = {.lex_state = 202}, + [1136] = {.lex_state = 202}, + [1137] = {.lex_state = 202}, + [1138] = {.lex_state = 202}, + [1139] = {.lex_state = 202}, + [1140] = {.lex_state = 202}, + [1141] = {.lex_state = 202}, + [1142] = {.lex_state = 202}, + [1143] = {.lex_state = 202}, + [1144] = {.lex_state = 202}, + [1145] = {.lex_state = 202}, + [1146] = {.lex_state = 202}, + [1147] = {.lex_state = 202}, + [1148] = {.lex_state = 202}, + [1149] = {.lex_state = 202}, + [1150] = {.lex_state = 202}, + [1151] = {.lex_state = 202}, + [1152] = {.lex_state = 202}, + [1153] = {.lex_state = 202}, + [1154] = {.lex_state = 202}, + [1155] = {.lex_state = 202}, + [1156] = {.lex_state = 202}, + [1157] = {.lex_state = 202}, + [1158] = {.lex_state = 202}, + [1159] = {.lex_state = 202}, + [1160] = {.lex_state = 202}, + [1161] = {.lex_state = 202}, + [1162] = {.lex_state = 202}, + [1163] = {.lex_state = 202}, + [1164] = {.lex_state = 202}, + [1165] = {.lex_state = 202}, + [1166] = {.lex_state = 202}, + [1167] = {.lex_state = 202}, + [1168] = {.lex_state = 202}, + [1169] = {.lex_state = 202}, + [1170] = {.lex_state = 202}, + [1171] = {.lex_state = 202}, + [1172] = {.lex_state = 202}, + [1173] = {.lex_state = 202}, + [1174] = {.lex_state = 202}, + [1175] = {.lex_state = 202}, + [1176] = {.lex_state = 202}, + [1177] = {.lex_state = 202}, + [1178] = {.lex_state = 202}, + [1179] = {.lex_state = 202}, + [1180] = {.lex_state = 202}, + [1181] = {.lex_state = 202}, + [1182] = {.lex_state = 202}, + [1183] = {.lex_state = 202}, + [1184] = {.lex_state = 202}, + [1185] = {.lex_state = 202}, + [1186] = {.lex_state = 202}, + [1187] = {.lex_state = 202}, + [1188] = {.lex_state = 202}, + [1189] = {.lex_state = 202}, + [1190] = {.lex_state = 202}, + [1191] = {.lex_state = 202}, + [1192] = {.lex_state = 202}, + [1193] = {.lex_state = 202}, + [1194] = {.lex_state = 202}, + [1195] = {.lex_state = 202}, + [1196] = {.lex_state = 202}, + [1197] = {.lex_state = 202}, + [1198] = {.lex_state = 202}, + [1199] = {.lex_state = 202}, + [1200] = {.lex_state = 202}, + [1201] = {.lex_state = 202}, + [1202] = {.lex_state = 202}, + [1203] = {.lex_state = 202}, + [1204] = {.lex_state = 202}, + [1205] = {.lex_state = 202}, + [1206] = {.lex_state = 202}, + [1207] = {.lex_state = 202}, + [1208] = {.lex_state = 202}, + [1209] = {.lex_state = 202}, + [1210] = {.lex_state = 202}, + [1211] = {.lex_state = 202}, + [1212] = {.lex_state = 202}, + [1213] = {.lex_state = 202}, + [1214] = {.lex_state = 202}, + [1215] = {.lex_state = 202}, + [1216] = {.lex_state = 202}, + [1217] = {.lex_state = 202}, + [1218] = {.lex_state = 202}, + [1219] = {.lex_state = 202}, + [1220] = {.lex_state = 202}, + [1221] = {.lex_state = 202}, + [1222] = {.lex_state = 202}, + [1223] = {.lex_state = 202}, + [1224] = {.lex_state = 202}, + [1225] = {.lex_state = 202}, + [1226] = {.lex_state = 202}, + [1227] = {.lex_state = 202}, + [1228] = {.lex_state = 202}, + [1229] = {.lex_state = 202}, + [1230] = {.lex_state = 202}, + [1231] = {.lex_state = 202}, + [1232] = {.lex_state = 202}, + [1233] = {.lex_state = 202}, + [1234] = {.lex_state = 202}, + [1235] = {.lex_state = 202}, + [1236] = {.lex_state = 202}, + [1237] = {.lex_state = 202}, + [1238] = {.lex_state = 202}, + [1239] = {.lex_state = 202}, + [1240] = {.lex_state = 202}, + [1241] = {.lex_state = 202}, + [1242] = {.lex_state = 202}, + [1243] = {.lex_state = 202}, + [1244] = {.lex_state = 202}, + [1245] = {.lex_state = 202}, + [1246] = {.lex_state = 202}, + [1247] = {.lex_state = 202}, + [1248] = {.lex_state = 202}, + [1249] = {.lex_state = 202}, + [1250] = {.lex_state = 202}, + [1251] = {.lex_state = 202}, + [1252] = {.lex_state = 202}, + [1253] = {.lex_state = 202}, + [1254] = {.lex_state = 202}, + [1255] = {.lex_state = 202}, + [1256] = {.lex_state = 202}, + [1257] = {.lex_state = 202}, + [1258] = {.lex_state = 202}, + [1259] = {.lex_state = 202}, + [1260] = {.lex_state = 202}, + [1261] = {.lex_state = 202}, + [1262] = {.lex_state = 202}, + [1263] = {.lex_state = 202}, + [1264] = {.lex_state = 202}, + [1265] = {.lex_state = 202}, + [1266] = {.lex_state = 202}, + [1267] = {.lex_state = 202}, + [1268] = {.lex_state = 202}, + [1269] = {.lex_state = 202}, + [1270] = {.lex_state = 202}, + [1271] = {.lex_state = 202}, + [1272] = {.lex_state = 202}, + [1273] = {.lex_state = 202}, + [1274] = {.lex_state = 202}, + [1275] = {.lex_state = 202}, + [1276] = {.lex_state = 202}, + [1277] = {.lex_state = 202}, + [1278] = {.lex_state = 202}, + [1279] = {.lex_state = 202}, + [1280] = {.lex_state = 202}, + [1281] = {.lex_state = 202}, + [1282] = {.lex_state = 202}, + [1283] = {.lex_state = 202}, + [1284] = {.lex_state = 202}, + [1285] = {.lex_state = 202}, + [1286] = {.lex_state = 202}, + [1287] = {.lex_state = 202}, + [1288] = {.lex_state = 202}, + [1289] = {.lex_state = 202}, + [1290] = {.lex_state = 202}, + [1291] = {.lex_state = 202}, + [1292] = {.lex_state = 202}, + [1293] = {.lex_state = 202}, + [1294] = {.lex_state = 202}, + [1295] = {.lex_state = 202}, + [1296] = {.lex_state = 202}, + [1297] = {.lex_state = 202}, + [1298] = {.lex_state = 202}, + [1299] = {.lex_state = 202}, + [1300] = {.lex_state = 202}, + [1301] = {.lex_state = 202}, + [1302] = {.lex_state = 202}, + [1303] = {.lex_state = 202}, + [1304] = {.lex_state = 202}, + [1305] = {.lex_state = 202}, + [1306] = {.lex_state = 202}, + [1307] = {.lex_state = 202}, + [1308] = {.lex_state = 202}, + [1309] = {.lex_state = 202}, + [1310] = {.lex_state = 202}, + [1311] = {.lex_state = 202}, + [1312] = {.lex_state = 202}, + [1313] = {.lex_state = 202}, + [1314] = {.lex_state = 202}, + [1315] = {.lex_state = 202}, + [1316] = {.lex_state = 202}, + [1317] = {.lex_state = 202}, + [1318] = {.lex_state = 202}, + [1319] = {.lex_state = 202}, + [1320] = {.lex_state = 202}, + [1321] = {.lex_state = 202}, + [1322] = {.lex_state = 202}, + [1323] = {.lex_state = 202}, + [1324] = {.lex_state = 202}, + [1325] = {.lex_state = 202}, + [1326] = {.lex_state = 202}, + [1327] = {.lex_state = 202}, + [1328] = {.lex_state = 202}, + [1329] = {.lex_state = 202}, + [1330] = {.lex_state = 202}, + [1331] = {.lex_state = 202}, + [1332] = {.lex_state = 202}, + [1333] = {.lex_state = 202}, + [1334] = {.lex_state = 202}, + [1335] = {.lex_state = 202}, + [1336] = {.lex_state = 202}, + [1337] = {.lex_state = 202}, + [1338] = {.lex_state = 202}, + [1339] = {.lex_state = 202}, + [1340] = {.lex_state = 202}, + [1341] = {.lex_state = 202}, + [1342] = {.lex_state = 202}, + [1343] = {.lex_state = 202}, + [1344] = {.lex_state = 202}, + [1345] = {.lex_state = 202}, + [1346] = {.lex_state = 202}, + [1347] = {.lex_state = 202}, + [1348] = {.lex_state = 202}, + [1349] = {.lex_state = 202}, + [1350] = {.lex_state = 202}, + [1351] = {.lex_state = 202}, + [1352] = {.lex_state = 202}, + [1353] = {.lex_state = 202}, + [1354] = {.lex_state = 202}, + [1355] = {.lex_state = 202}, + [1356] = {.lex_state = 202}, + [1357] = {.lex_state = 202}, + [1358] = {.lex_state = 202}, + [1359] = {.lex_state = 202}, + [1360] = {.lex_state = 202}, + [1361] = {.lex_state = 202}, + [1362] = {.lex_state = 202}, + [1363] = {.lex_state = 202}, + [1364] = {.lex_state = 202}, + [1365] = {.lex_state = 202}, + [1366] = {.lex_state = 202}, + [1367] = {.lex_state = 202}, + [1368] = {.lex_state = 202}, + [1369] = {.lex_state = 202}, + [1370] = {.lex_state = 202}, + [1371] = {.lex_state = 202}, + [1372] = {.lex_state = 202}, + [1373] = {.lex_state = 202}, + [1374] = {.lex_state = 202}, + [1375] = {.lex_state = 202}, + [1376] = {.lex_state = 202}, + [1377] = {.lex_state = 202}, + [1378] = {.lex_state = 202}, + [1379] = {.lex_state = 202}, + [1380] = {.lex_state = 202}, + [1381] = {.lex_state = 202}, + [1382] = {.lex_state = 202}, + [1383] = {.lex_state = 202}, + [1384] = {.lex_state = 202}, + [1385] = {.lex_state = 202}, + [1386] = {.lex_state = 202}, + [1387] = {.lex_state = 202}, + [1388] = {.lex_state = 202}, + [1389] = {.lex_state = 202}, + [1390] = {.lex_state = 202}, + [1391] = {.lex_state = 202}, + [1392] = {.lex_state = 202}, + [1393] = {.lex_state = 202}, + [1394] = {.lex_state = 202}, + [1395] = {.lex_state = 202}, + [1396] = {.lex_state = 202}, + [1397] = {.lex_state = 202}, + [1398] = {.lex_state = 202}, + [1399] = {.lex_state = 202}, + [1400] = {.lex_state = 202}, + [1401] = {.lex_state = 202}, + [1402] = {.lex_state = 202}, + [1403] = {.lex_state = 202}, + [1404] = {.lex_state = 202}, + [1405] = {.lex_state = 202}, + [1406] = {.lex_state = 202}, + [1407] = {.lex_state = 202}, + [1408] = {.lex_state = 202}, + [1409] = {.lex_state = 202}, + [1410] = {.lex_state = 202}, + [1411] = {.lex_state = 202}, + [1412] = {.lex_state = 202}, + [1413] = {.lex_state = 202}, + [1414] = {.lex_state = 202}, + [1415] = {.lex_state = 202}, + [1416] = {.lex_state = 202}, + [1417] = {.lex_state = 202}, + [1418] = {.lex_state = 202}, + [1419] = {.lex_state = 202}, + [1420] = {.lex_state = 202}, + [1421] = {.lex_state = 202}, + [1422] = {.lex_state = 202}, + [1423] = {.lex_state = 202}, + [1424] = {.lex_state = 202}, + [1425] = {.lex_state = 202}, + [1426] = {.lex_state = 202}, + [1427] = {.lex_state = 202}, + [1428] = {.lex_state = 202}, + [1429] = {.lex_state = 202}, + [1430] = {.lex_state = 202}, + [1431] = {.lex_state = 202}, + [1432] = {.lex_state = 202}, + [1433] = {.lex_state = 202}, + [1434] = {.lex_state = 202}, + [1435] = {.lex_state = 202}, + [1436] = {.lex_state = 202}, + [1437] = {.lex_state = 202}, + [1438] = {.lex_state = 202}, + [1439] = {.lex_state = 202}, + [1440] = {.lex_state = 202}, + [1441] = {.lex_state = 202}, + [1442] = {.lex_state = 202}, + [1443] = {.lex_state = 202}, + [1444] = {.lex_state = 202}, + [1445] = {.lex_state = 202}, + [1446] = {.lex_state = 202}, + [1447] = {.lex_state = 202}, + [1448] = {.lex_state = 202}, + [1449] = {.lex_state = 202}, + [1450] = {.lex_state = 202}, + [1451] = {.lex_state = 202}, + [1452] = {.lex_state = 202}, + [1453] = {.lex_state = 202}, + [1454] = {.lex_state = 202}, + [1455] = {.lex_state = 202}, + [1456] = {.lex_state = 202}, + [1457] = {.lex_state = 202}, + [1458] = {.lex_state = 202}, + [1459] = {.lex_state = 202}, + [1460] = {.lex_state = 202}, + [1461] = {.lex_state = 202}, + [1462] = {.lex_state = 202}, + [1463] = {.lex_state = 202}, + [1464] = {.lex_state = 202}, + [1465] = {.lex_state = 202}, + [1466] = {.lex_state = 202}, + [1467] = {.lex_state = 202}, + [1468] = {.lex_state = 202}, + [1469] = {.lex_state = 202}, + [1470] = {.lex_state = 202}, + [1471] = {.lex_state = 202}, + [1472] = {.lex_state = 202}, + [1473] = {.lex_state = 202}, + [1474] = {.lex_state = 202}, + [1475] = {.lex_state = 202}, + [1476] = {.lex_state = 202}, + [1477] = {.lex_state = 202}, + [1478] = {.lex_state = 202}, + [1479] = {.lex_state = 202}, + [1480] = {.lex_state = 202}, + [1481] = {.lex_state = 202}, + [1482] = {.lex_state = 202}, + [1483] = {.lex_state = 202}, + [1484] = {.lex_state = 202}, + [1485] = {.lex_state = 202}, + [1486] = {.lex_state = 202}, + [1487] = {.lex_state = 202}, + [1488] = {.lex_state = 202}, + [1489] = {.lex_state = 202}, + [1490] = {.lex_state = 202}, + [1491] = {.lex_state = 202}, + [1492] = {.lex_state = 202}, + [1493] = {.lex_state = 202}, + [1494] = {.lex_state = 202}, + [1495] = {.lex_state = 202}, + [1496] = {.lex_state = 202}, + [1497] = {.lex_state = 202}, + [1498] = {.lex_state = 202}, + [1499] = {.lex_state = 202}, + [1500] = {.lex_state = 202}, + [1501] = {.lex_state = 202}, + [1502] = {.lex_state = 202}, + [1503] = {.lex_state = 202}, + [1504] = {.lex_state = 202}, + [1505] = {.lex_state = 202}, + [1506] = {.lex_state = 202}, + [1507] = {.lex_state = 202}, + [1508] = {.lex_state = 202}, + [1509] = {.lex_state = 202}, + [1510] = {.lex_state = 202}, + [1511] = {.lex_state = 202}, + [1512] = {.lex_state = 202}, + [1513] = {.lex_state = 202}, + [1514] = {.lex_state = 202}, + [1515] = {.lex_state = 202}, + [1516] = {.lex_state = 202}, + [1517] = {.lex_state = 202}, + [1518] = {.lex_state = 202}, + [1519] = {.lex_state = 202}, + [1520] = {.lex_state = 202}, + [1521] = {.lex_state = 202}, + [1522] = {.lex_state = 202}, + [1523] = {.lex_state = 202}, + [1524] = {.lex_state = 202}, + [1525] = {.lex_state = 202}, + [1526] = {.lex_state = 202}, + [1527] = {.lex_state = 202}, + [1528] = {.lex_state = 202}, + [1529] = {.lex_state = 202}, + [1530] = {.lex_state = 202}, + [1531] = {.lex_state = 202}, + [1532] = {.lex_state = 202}, + [1533] = {.lex_state = 202}, + [1534] = {.lex_state = 202}, + [1535] = {.lex_state = 202}, + [1536] = {.lex_state = 202}, + [1537] = {.lex_state = 202}, + [1538] = {.lex_state = 202}, + [1539] = {.lex_state = 202}, + [1540] = {.lex_state = 202}, + [1541] = {.lex_state = 202}, + [1542] = {.lex_state = 202}, + [1543] = {.lex_state = 202}, + [1544] = {.lex_state = 202}, + [1545] = {.lex_state = 202}, + [1546] = {.lex_state = 202}, + [1547] = {.lex_state = 202}, + [1548] = {.lex_state = 202}, + [1549] = {.lex_state = 202}, + [1550] = {.lex_state = 202}, + [1551] = {.lex_state = 202}, + [1552] = {.lex_state = 202}, + [1553] = {.lex_state = 202}, + [1554] = {.lex_state = 202}, + [1555] = {.lex_state = 202}, + [1556] = {.lex_state = 205}, + [1557] = {.lex_state = 227}, + [1558] = {.lex_state = 227}, + [1559] = {.lex_state = 227}, + [1560] = {.lex_state = 227}, + [1561] = {.lex_state = 227}, + [1562] = {.lex_state = 227}, + [1563] = {.lex_state = 227}, + [1564] = {.lex_state = 227}, + [1565] = {.lex_state = 227}, + [1566] = {.lex_state = 282}, + [1567] = {.lex_state = 282}, + [1568] = {.lex_state = 282}, + [1569] = {.lex_state = 282}, + [1570] = {.lex_state = 282}, + [1571] = {.lex_state = 282}, + [1572] = {.lex_state = 199}, + [1573] = {.lex_state = 212}, + [1574] = {.lex_state = 199}, + [1575] = {.lex_state = 199}, + [1576] = {.lex_state = 225}, + [1577] = {.lex_state = 211}, + [1578] = {.lex_state = 227}, + [1579] = {.lex_state = 225}, + [1580] = {.lex_state = 211}, + [1581] = {.lex_state = 225}, + [1582] = {.lex_state = 225}, + [1583] = {.lex_state = 219}, + [1584] = {.lex_state = 225}, + [1585] = {.lex_state = 227}, + [1586] = {.lex_state = 225}, + [1587] = {.lex_state = 225}, + [1588] = {.lex_state = 225}, + [1589] = {.lex_state = 227}, + [1590] = {.lex_state = 225}, + [1591] = {.lex_state = 225}, + [1592] = {.lex_state = 205}, + [1593] = {.lex_state = 263}, + [1594] = {.lex_state = 219}, + [1595] = {.lex_state = 263}, + [1596] = {.lex_state = 263}, + [1597] = {.lex_state = 263}, + [1598] = {.lex_state = 263}, + [1599] = {.lex_state = 227}, + [1600] = {.lex_state = 263}, + [1601] = {.lex_state = 263}, + [1602] = {.lex_state = 214}, + [1603] = {.lex_state = 225}, + [1604] = {.lex_state = 225}, + [1605] = {.lex_state = 225}, + [1606] = {.lex_state = 225}, + [1607] = {.lex_state = 225}, + [1608] = {.lex_state = 225}, + [1609] = {.lex_state = 225}, + [1610] = {.lex_state = 225}, + [1611] = {.lex_state = 215}, + [1612] = {.lex_state = 221}, + [1613] = {.lex_state = 206}, + [1614] = {.lex_state = 228}, + [1615] = {.lex_state = 228}, + [1616] = {.lex_state = 228}, + [1617] = {.lex_state = 228}, + [1618] = {.lex_state = 228}, + [1619] = {.lex_state = 228}, + [1620] = {.lex_state = 228}, + [1621] = {.lex_state = 263}, + [1622] = {.lex_state = 282}, + [1623] = {.lex_state = 282}, + [1624] = {.lex_state = 282}, + [1625] = {.lex_state = 282}, + [1626] = {.lex_state = 282}, + [1627] = {.lex_state = 282}, + [1628] = {.lex_state = 282}, + [1629] = {.lex_state = 282}, + [1630] = {.lex_state = 282}, + [1631] = {.lex_state = 282}, + [1632] = {.lex_state = 282}, + [1633] = {.lex_state = 282}, + [1634] = {.lex_state = 208}, + [1635] = {.lex_state = 208}, + [1636] = {.lex_state = 208}, + [1637] = {.lex_state = 282}, + [1638] = {.lex_state = 282}, + [1639] = {.lex_state = 282}, + [1640] = {.lex_state = 282}, + [1641] = {.lex_state = 282}, + [1642] = {.lex_state = 282}, + [1643] = {.lex_state = 282}, + [1644] = {.lex_state = 282}, + [1645] = {.lex_state = 282}, + [1646] = {.lex_state = 282}, + [1647] = {.lex_state = 282}, + [1648] = {.lex_state = 282}, + [1649] = {.lex_state = 282}, + [1650] = {.lex_state = 282}, + [1651] = {.lex_state = 282}, + [1652] = {.lex_state = 282}, + [1653] = {.lex_state = 282}, + [1654] = {.lex_state = 282}, + [1655] = {.lex_state = 236}, + [1656] = {.lex_state = 263}, + [1657] = {.lex_state = 263}, + [1658] = {.lex_state = 240}, + [1659] = {.lex_state = 282}, + [1660] = {.lex_state = 240}, + [1661] = {.lex_state = 199}, + [1662] = {.lex_state = 282}, + [1663] = {.lex_state = 240}, + [1664] = {.lex_state = 240}, + [1665] = {.lex_state = 240}, + [1666] = {.lex_state = 235}, + [1667] = {.lex_state = 282}, + [1668] = {.lex_state = 282}, + [1669] = {.lex_state = 240}, + [1670] = {.lex_state = 240}, + [1671] = {.lex_state = 199}, + [1672] = {.lex_state = 202}, + [1673] = {.lex_state = 248}, + [1674] = {.lex_state = 205}, + [1675] = {.lex_state = 208}, + [1676] = {.lex_state = 248}, + [1677] = {.lex_state = 248}, + [1678] = {.lex_state = 248}, + [1679] = {.lex_state = 208}, + [1680] = {.lex_state = 282}, + [1681] = {.lex_state = 248}, + [1682] = {.lex_state = 282}, + [1683] = {.lex_state = 282}, + [1684] = {.lex_state = 208}, + [1685] = {.lex_state = 208}, + [1686] = {.lex_state = 282}, + [1687] = {.lex_state = 282}, + [1688] = {.lex_state = 208}, + [1689] = {.lex_state = 208}, + [1690] = {.lex_state = 205}, + [1691] = {.lex_state = 248}, + [1692] = {.lex_state = 208}, + [1693] = {.lex_state = 282}, + [1694] = {.lex_state = 248}, + [1695] = {.lex_state = 282}, + [1696] = {.lex_state = 282}, + [1697] = {.lex_state = 230}, + [1698] = {.lex_state = 241}, + [1699] = {.lex_state = 231}, + [1700] = {.lex_state = 263}, + [1701] = {.lex_state = 263}, + [1702] = {.lex_state = 263}, + [1703] = {.lex_state = 205}, + [1704] = {.lex_state = 241}, + [1705] = {.lex_state = 263}, + [1706] = {.lex_state = 263}, + [1707] = {.lex_state = 263}, + [1708] = {.lex_state = 263}, + [1709] = {.lex_state = 282}, + [1710] = {.lex_state = 263}, + [1711] = {.lex_state = 263}, + [1712] = {.lex_state = 263}, + [1713] = {.lex_state = 263}, + [1714] = {.lex_state = 264}, + [1715] = {.lex_state = 282}, + [1716] = {.lex_state = 264}, + [1717] = {.lex_state = 264}, + [1718] = {.lex_state = 264}, + [1719] = {.lex_state = 206}, + [1720] = {.lex_state = 240}, + [1721] = {.lex_state = 206}, + [1722] = {.lex_state = 264}, + [1723] = {.lex_state = 264}, + [1724] = {.lex_state = 264}, + [1725] = {.lex_state = 282}, + [1726] = {.lex_state = 264}, + [1727] = {.lex_state = 236}, + [1728] = {.lex_state = 264}, + [1729] = {.lex_state = 264}, + [1730] = {.lex_state = 264}, + [1731] = {.lex_state = 264}, + [1732] = {.lex_state = 264}, + [1733] = {.lex_state = 282}, + [1734] = {.lex_state = 282}, + [1735] = {.lex_state = 236}, + [1736] = {.lex_state = 236}, + [1737] = {.lex_state = 236}, + [1738] = {.lex_state = 236}, + [1739] = {.lex_state = 282}, + [1740] = {.lex_state = 282}, + [1741] = {.lex_state = 228}, + [1742] = {.lex_state = 282}, + [1743] = {.lex_state = 236}, + [1744] = {.lex_state = 282}, + [1745] = {.lex_state = 231}, + [1746] = {.lex_state = 282}, + [1747] = {.lex_state = 282}, + [1748] = {.lex_state = 282}, + [1749] = {.lex_state = 282}, + [1750] = {.lex_state = 282}, + [1751] = {.lex_state = 282}, + [1752] = {.lex_state = 282}, + [1753] = {.lex_state = 215}, + [1754] = {.lex_state = 282}, + [1755] = {.lex_state = 282}, + [1756] = {.lex_state = 212}, + [1757] = {.lex_state = 282}, + [1758] = {.lex_state = 236}, + [1759] = {.lex_state = 236}, + [1760] = {.lex_state = 212}, + [1761] = {.lex_state = 236}, + [1762] = {.lex_state = 282}, + [1763] = {.lex_state = 282}, + [1764] = {.lex_state = 282}, + [1765] = {.lex_state = 282}, + [1766] = {.lex_state = 282}, + [1767] = {.lex_state = 236}, + [1768] = {.lex_state = 282}, + [1769] = {.lex_state = 282}, + [1770] = {.lex_state = 228}, + [1771] = {.lex_state = 231}, + [1772] = {.lex_state = 236}, + [1773] = {.lex_state = 236}, + [1774] = {.lex_state = 282}, + [1775] = {.lex_state = 236}, + [1776] = {.lex_state = 236}, + [1777] = {.lex_state = 236}, + [1778] = {.lex_state = 282}, + [1779] = {.lex_state = 282}, + [1780] = {.lex_state = 282}, + [1781] = {.lex_state = 236}, + [1782] = {.lex_state = 236}, + [1783] = {.lex_state = 282}, + [1784] = {.lex_state = 236}, + [1785] = {.lex_state = 236}, + [1786] = {.lex_state = 282}, + [1787] = {.lex_state = 282}, + [1788] = {.lex_state = 282}, + [1789] = {.lex_state = 282}, + [1790] = {.lex_state = 282}, + [1791] = {.lex_state = 231}, + [1792] = {.lex_state = 236}, + [1793] = {.lex_state = 282}, + [1794] = {.lex_state = 282}, + [1795] = {.lex_state = 206}, + [1796] = {.lex_state = 282}, + [1797] = {.lex_state = 282}, + [1798] = {.lex_state = 282}, + [1799] = {.lex_state = 206}, + [1800] = {.lex_state = 282}, + [1801] = {.lex_state = 282}, + [1802] = {.lex_state = 282}, + [1803] = {.lex_state = 282}, + [1804] = {.lex_state = 231}, + [1805] = {.lex_state = 215}, + [1806] = {.lex_state = 205}, + [1807] = {.lex_state = 248}, + [1808] = {.lex_state = 282}, + [1809] = {.lex_state = 282}, + [1810] = {.lex_state = 282}, + [1811] = {.lex_state = 282}, + [1812] = {.lex_state = 282}, + [1813] = {.lex_state = 202}, + [1814] = {.lex_state = 236}, + [1815] = {.lex_state = 282}, + [1816] = {.lex_state = 282}, + [1817] = {.lex_state = 216}, + [1818] = {.lex_state = 282}, + [1819] = {.lex_state = 208}, + [1820] = {.lex_state = 282}, + [1821] = {.lex_state = 282}, + [1822] = {.lex_state = 208}, + [1823] = {.lex_state = 216}, + [1824] = {.lex_state = 282}, + [1825] = {.lex_state = 236}, + [1826] = {.lex_state = 282}, + [1827] = {.lex_state = 282}, + [1828] = {.lex_state = 282}, + [1829] = {.lex_state = 236}, + [1830] = {.lex_state = 282}, + [1831] = {.lex_state = 282}, + [1832] = {.lex_state = 215}, + [1833] = {.lex_state = 282}, + [1834] = {.lex_state = 236}, + [1835] = {.lex_state = 236}, + [1836] = {.lex_state = 282}, + [1837] = {.lex_state = 282}, + [1838] = {.lex_state = 282}, + [1839] = {.lex_state = 236}, + [1840] = {.lex_state = 282}, + [1841] = {.lex_state = 236}, + [1842] = {.lex_state = 236}, + [1843] = {.lex_state = 282}, + [1844] = {.lex_state = 282}, + [1845] = {.lex_state = 202}, + [1846] = {.lex_state = 282}, + [1847] = {.lex_state = 282}, + [1848] = {.lex_state = 282}, + [1849] = {.lex_state = 236}, + [1850] = {.lex_state = 282}, + [1851] = {.lex_state = 282}, + [1852] = {.lex_state = 282}, + [1853] = {.lex_state = 236}, + [1854] = {.lex_state = 282}, + [1855] = {.lex_state = 282}, + [1856] = {.lex_state = 282}, + [1857] = {.lex_state = 236}, + [1858] = {.lex_state = 236}, + [1859] = {.lex_state = 236}, + [1860] = {.lex_state = 236}, + [1861] = {.lex_state = 236}, + [1862] = {.lex_state = 282}, + [1863] = {.lex_state = 282}, + [1864] = {.lex_state = 282}, + [1865] = {.lex_state = 282}, + [1866] = {.lex_state = 236}, + [1867] = {.lex_state = 216}, + [1868] = {.lex_state = 236}, + [1869] = {.lex_state = 282}, + [1870] = {.lex_state = 282}, + [1871] = {.lex_state = 235}, + [1872] = {.lex_state = 282}, + [1873] = {.lex_state = 282}, + [1874] = {.lex_state = 282}, + [1875] = {.lex_state = 282}, + [1876] = {.lex_state = 282}, + [1877] = {.lex_state = 282}, + [1878] = {.lex_state = 282}, + [1879] = {.lex_state = 236}, + [1880] = {.lex_state = 282}, + [1881] = {.lex_state = 282}, + [1882] = {.lex_state = 282}, + [1883] = {.lex_state = 282}, + [1884] = {.lex_state = 282}, + [1885] = {.lex_state = 205}, + [1886] = {.lex_state = 236}, + [1887] = {.lex_state = 236}, + [1888] = {.lex_state = 282}, + [1889] = {.lex_state = 236}, + [1890] = {.lex_state = 206}, + [1891] = {.lex_state = 206}, + [1892] = {.lex_state = 240}, + [1893] = {.lex_state = 206}, + [1894] = {.lex_state = 221}, + [1895] = {.lex_state = 283}, + [1896] = {.lex_state = 226}, + [1897] = {.lex_state = 205}, + [1898] = {.lex_state = 283}, + [1899] = {.lex_state = 237}, + [1900] = {.lex_state = 228}, + [1901] = {.lex_state = 237}, + [1902] = {.lex_state = 226}, + [1903] = {.lex_state = 228}, + [1904] = {.lex_state = 282}, + [1905] = {.lex_state = 205}, + [1906] = {.lex_state = 282}, + [1907] = {.lex_state = 282}, + [1908] = {.lex_state = 282}, + [1909] = {.lex_state = 226}, + [1910] = {.lex_state = 205}, + [1911] = {.lex_state = 281}, + [1912] = {.lex_state = 282}, + [1913] = {.lex_state = 228}, + [1914] = {.lex_state = 221}, + [1915] = {.lex_state = 282}, + [1916] = {.lex_state = 248}, + [1917] = {.lex_state = 283}, + [1918] = {.lex_state = 205}, + [1919] = {.lex_state = 250}, + [1920] = {.lex_state = 206}, + [1921] = {.lex_state = 281}, + [1922] = {.lex_state = 211}, + [1923] = {.lex_state = 228}, + [1924] = {.lex_state = 211}, + [1925] = {.lex_state = 205}, + [1926] = {.lex_state = 228}, + [1927] = {.lex_state = 205}, + [1928] = {.lex_state = 221}, + [1929] = {.lex_state = 282}, + [1930] = {.lex_state = 206}, + [1931] = {.lex_state = 282}, + [1932] = {.lex_state = 228}, + [1933] = {.lex_state = 205}, + [1934] = {.lex_state = 282}, + [1935] = {.lex_state = 226}, + [1936] = {.lex_state = 205}, + [1937] = {.lex_state = 205}, + [1938] = {.lex_state = 283}, + [1939] = {.lex_state = 205}, + [1940] = {.lex_state = 205}, + [1941] = {.lex_state = 282}, + [1942] = {.lex_state = 282}, + [1943] = {.lex_state = 231}, + [1944] = {.lex_state = 283}, + [1945] = {.lex_state = 228}, + [1946] = {.lex_state = 226}, + [1947] = {.lex_state = 282}, + [1948] = {.lex_state = 219}, + [1949] = {.lex_state = 282}, + [1950] = {.lex_state = 205}, + [1951] = {.lex_state = 231}, + [1952] = {.lex_state = 219}, + [1953] = {.lex_state = 231}, + [1954] = {.lex_state = 226}, + [1955] = {.lex_state = 230}, + [1956] = {.lex_state = 250}, + [1957] = {.lex_state = 205}, + [1958] = {.lex_state = 282}, + [1959] = {.lex_state = 283}, + [1960] = {.lex_state = 280}, + [1961] = {.lex_state = 282}, + [1962] = {.lex_state = 215}, + [1963] = {.lex_state = 282}, + [1964] = {.lex_state = 231}, + [1965] = {.lex_state = 206}, + [1966] = {.lex_state = 230}, + [1967] = {.lex_state = 229}, + [1968] = {.lex_state = 208}, + [1969] = {.lex_state = 273}, + [1970] = {.lex_state = 206}, + [1971] = {.lex_state = 283}, + [1972] = {.lex_state = 283}, + [1973] = {.lex_state = 230}, + [1974] = {.lex_state = 281}, + [1975] = {.lex_state = 206}, + [1976] = {.lex_state = 208}, + [1977] = {.lex_state = 283}, + [1978] = {.lex_state = 231}, + [1979] = {.lex_state = 218}, + [1980] = {.lex_state = 268}, + [1981] = {.lex_state = 231}, + [1982] = {.lex_state = 231}, + [1983] = {.lex_state = 208}, + [1984] = {.lex_state = 229}, + [1985] = {.lex_state = 282}, + [1986] = {.lex_state = 208}, + [1987] = {.lex_state = 208}, + [1988] = {.lex_state = 228}, + [1989] = {.lex_state = 231}, + [1990] = {.lex_state = 229}, + [1991] = {.lex_state = 235}, + [1992] = {.lex_state = 235}, + [1993] = {.lex_state = 215}, + [1994] = {.lex_state = 268}, + [1995] = {.lex_state = 236}, + [1996] = {.lex_state = 231}, + [1997] = {.lex_state = 231}, + [1998] = {.lex_state = 218}, + [1999] = {.lex_state = 230}, + [2000] = {.lex_state = 231}, + [2001] = {.lex_state = 215}, + [2002] = {.lex_state = 268}, + [2003] = {.lex_state = 268}, + [2004] = {.lex_state = 268}, + [2005] = {.lex_state = 229}, + [2006] = {.lex_state = 268}, + [2007] = {.lex_state = 231}, + [2008] = {.lex_state = 226}, + [2009] = {.lex_state = 268}, + [2010] = {.lex_state = 228}, + [2011] = {.lex_state = 229}, + [2012] = {.lex_state = 282}, + [2013] = {.lex_state = 281}, + [2014] = {.lex_state = 231}, + [2015] = {.lex_state = 231}, + [2016] = {.lex_state = 226}, + [2017] = {.lex_state = 231}, + [2018] = {.lex_state = 226}, + [2019] = {.lex_state = 215}, + [2020] = {.lex_state = 215}, + [2021] = {.lex_state = 231}, + [2022] = {.lex_state = 214}, + [2023] = {.lex_state = 228}, + [2024] = {.lex_state = 268}, + [2025] = {.lex_state = 229}, + [2026] = {.lex_state = 283}, + [2027] = {.lex_state = 283}, + [2028] = {.lex_state = 231}, + [2029] = {.lex_state = 231}, + [2030] = {.lex_state = 226}, + [2031] = {.lex_state = 231}, + [2032] = {.lex_state = 229}, + [2033] = {.lex_state = 231}, + [2034] = {.lex_state = 226}, + [2035] = {.lex_state = 226}, + [2036] = {.lex_state = 226}, + [2037] = {.lex_state = 250}, + [2038] = {.lex_state = 283}, + [2039] = {.lex_state = 231}, + [2040] = {.lex_state = 226}, + [2041] = {.lex_state = 231}, + [2042] = {.lex_state = 231}, + [2043] = {.lex_state = 226}, + [2044] = {.lex_state = 283}, + [2045] = {.lex_state = 231}, + [2046] = {.lex_state = 231}, + [2047] = {.lex_state = 226}, + [2048] = {.lex_state = 226}, + [2049] = {.lex_state = 231}, + [2050] = {.lex_state = 226}, + [2051] = {.lex_state = 226}, + [2052] = {.lex_state = 226}, + [2053] = {.lex_state = 280}, + [2054] = {.lex_state = 231}, + [2055] = {.lex_state = 283}, + [2056] = {.lex_state = 231}, + [2057] = {.lex_state = 229}, + [2058] = {.lex_state = 226}, + [2059] = {.lex_state = 283}, + [2060] = {.lex_state = 226}, + [2061] = {.lex_state = 283}, + [2062] = {.lex_state = 231}, + [2063] = {.lex_state = 283}, + [2064] = {.lex_state = 283}, + [2065] = {.lex_state = 231}, + [2066] = {.lex_state = 283}, + [2067] = {.lex_state = 283}, + [2068] = {.lex_state = 283}, + [2069] = {.lex_state = 283}, + [2070] = {.lex_state = 231}, + [2071] = {.lex_state = 226}, + [2072] = {.lex_state = 226}, + [2073] = {.lex_state = 226}, + [2074] = {.lex_state = 283}, + [2075] = {.lex_state = 229}, + [2076] = {.lex_state = 226}, + [2077] = {.lex_state = 283}, + [2078] = {.lex_state = 283}, + [2079] = {.lex_state = 283}, + [2080] = {.lex_state = 226}, + [2081] = {.lex_state = 283}, + [2082] = {.lex_state = 226}, + [2083] = {.lex_state = 226}, + [2084] = {.lex_state = 226}, + [2085] = {.lex_state = 283}, + [2086] = {.lex_state = 283}, + [2087] = {.lex_state = 283}, + [2088] = {.lex_state = 283}, + [2089] = {.lex_state = 229}, + [2090] = {.lex_state = 226}, + [2091] = {.lex_state = 226}, + [2092] = {.lex_state = 226}, + [2093] = {.lex_state = 229}, + [2094] = {.lex_state = 283}, + [2095] = {.lex_state = 231}, + [2096] = {.lex_state = 226}, + [2097] = {.lex_state = 226}, + [2098] = {.lex_state = 231}, + [2099] = {.lex_state = 226}, + [2100] = {.lex_state = 273}, + [2101] = {.lex_state = 235}, + [2102] = {.lex_state = 283}, + [2103] = {.lex_state = 283}, + [2104] = {.lex_state = 226}, + [2105] = {.lex_state = 283}, + [2106] = {.lex_state = 231}, + [2107] = {.lex_state = 231}, + [2108] = {.lex_state = 226}, + [2109] = {.lex_state = 226}, + [2110] = {.lex_state = 226}, + [2111] = {.lex_state = 231}, + [2112] = {.lex_state = 231}, + [2113] = {.lex_state = 226}, + [2114] = {.lex_state = 231}, + [2115] = {.lex_state = 226}, + [2116] = {.lex_state = 226}, + [2117] = {.lex_state = 229}, + [2118] = {.lex_state = 283}, + [2119] = {.lex_state = 226}, + [2120] = {.lex_state = 283}, + [2121] = {.lex_state = 283}, + [2122] = {.lex_state = 283}, + [2123] = {.lex_state = 283}, + [2124] = {.lex_state = 283}, + [2125] = {.lex_state = 283}, + [2126] = {.lex_state = 283}, + [2127] = {.lex_state = 283}, + [2128] = {.lex_state = 268}, + [2129] = {.lex_state = 226}, + [2130] = {.lex_state = 283}, + [2131] = {.lex_state = 226}, + [2132] = {.lex_state = 226}, + [2133] = {.lex_state = 283}, + [2134] = {.lex_state = 226}, + [2135] = {.lex_state = 231}, + [2136] = {.lex_state = 231}, + [2137] = {.lex_state = 226}, + [2138] = {.lex_state = 226}, + [2139] = {.lex_state = 283}, + [2140] = {.lex_state = 226}, + [2141] = {.lex_state = 226}, + [2142] = {.lex_state = 229}, + [2143] = {.lex_state = 226}, + [2144] = {.lex_state = 226}, + [2145] = {.lex_state = 226}, + [2146] = {.lex_state = 226}, + [2147] = {.lex_state = 226}, + [2148] = {.lex_state = 283}, + [2149] = {.lex_state = 226}, + [2150] = {.lex_state = 283}, + [2151] = {.lex_state = 226}, + [2152] = {.lex_state = 226}, + [2153] = {.lex_state = 229}, + [2154] = {.lex_state = 231}, + [2155] = {.lex_state = 283}, + [2156] = {.lex_state = 283}, + [2157] = {.lex_state = 226}, + [2158] = {.lex_state = 283}, + [2159] = {.lex_state = 226}, + [2160] = {.lex_state = 283}, + [2161] = {.lex_state = 231}, + [2162] = {.lex_state = 283}, + [2163] = {.lex_state = 226}, + [2164] = {.lex_state = 283}, + [2165] = {.lex_state = 226}, + [2166] = {.lex_state = 226}, + [2167] = {.lex_state = 283}, + [2168] = {.lex_state = 283}, + [2169] = {.lex_state = 231}, + [2170] = {.lex_state = 226}, + [2171] = {.lex_state = 283}, + [2172] = {.lex_state = 226}, + [2173] = {.lex_state = 231}, + [2174] = {.lex_state = 283}, + [2175] = {.lex_state = 229}, + [2176] = {.lex_state = 250}, + [2177] = {.lex_state = 283}, + [2178] = {.lex_state = 206}, + [2179] = {.lex_state = 226}, + [2180] = {.lex_state = 229}, + [2181] = {.lex_state = 283}, + [2182] = {.lex_state = 226}, + [2183] = {.lex_state = 228}, + [2184] = {.lex_state = 226}, + [2185] = {.lex_state = 221}, + [2186] = {.lex_state = 283}, + [2187] = {.lex_state = 283}, + [2188] = {.lex_state = 283}, + [2189] = {.lex_state = 226}, + [2190] = {.lex_state = 226}, + [2191] = {.lex_state = 283}, + [2192] = {.lex_state = 283}, + [2193] = {.lex_state = 226}, + [2194] = {.lex_state = 206}, + [2195] = {.lex_state = 283}, + [2196] = {.lex_state = 283}, + [2197] = {.lex_state = 283}, + [2198] = {.lex_state = 226}, + [2199] = {.lex_state = 283}, + [2200] = {.lex_state = 280}, + [2201] = {.lex_state = 226}, + [2202] = {.lex_state = 226}, + [2203] = {.lex_state = 283}, + [2204] = {.lex_state = 283}, + [2205] = {.lex_state = 226}, + [2206] = {.lex_state = 226}, + [2207] = {.lex_state = 226}, + [2208] = {.lex_state = 231}, + [2209] = {.lex_state = 231}, + [2210] = {.lex_state = 215}, + [2211] = {.lex_state = 231}, + [2212] = {.lex_state = 231}, + [2213] = {.lex_state = 283}, + [2214] = {.lex_state = 221}, + [2215] = {.lex_state = 231}, + [2216] = {.lex_state = 235}, + [2217] = {.lex_state = 283}, + [2218] = {.lex_state = 283}, + [2219] = {.lex_state = 283}, + [2220] = {.lex_state = 283}, + [2221] = {.lex_state = 283}, + [2222] = {.lex_state = 283}, + [2223] = {.lex_state = 283}, + [2224] = {.lex_state = 283}, + [2225] = {.lex_state = 283}, + [2226] = {.lex_state = 283}, + [2227] = {.lex_state = 226}, + [2228] = {.lex_state = 215}, + [2229] = {.lex_state = 226}, + [2230] = {.lex_state = 231}, + [2231] = {.lex_state = 283}, + [2232] = {.lex_state = 283}, + [2233] = {.lex_state = 231}, + [2234] = {.lex_state = 231}, + [2235] = {.lex_state = 283}, + [2236] = {.lex_state = 231}, + [2237] = {.lex_state = 226}, + [2238] = {.lex_state = 226}, + [2239] = {.lex_state = 231}, + [2240] = {.lex_state = 226}, + [2241] = {.lex_state = 231}, + [2242] = {.lex_state = 228}, + [2243] = {.lex_state = 226}, + [2244] = {.lex_state = 283}, + [2245] = {.lex_state = 226}, + [2246] = {.lex_state = 228}, + [2247] = {.lex_state = 226}, + [2248] = {.lex_state = 226}, + [2249] = {.lex_state = 226}, + [2250] = {.lex_state = 226}, + [2251] = {.lex_state = 226}, + [2252] = {.lex_state = 228}, + [2253] = {.lex_state = 228}, + [2254] = {.lex_state = 226}, + [2255] = {.lex_state = 283}, + [2256] = {.lex_state = 231}, + [2257] = {.lex_state = 226}, + [2258] = {.lex_state = 283}, + [2259] = {.lex_state = 229}, + [2260] = {.lex_state = 283}, + [2261] = {.lex_state = 229}, + [2262] = {.lex_state = 283}, + [2263] = {.lex_state = 283}, + [2264] = {.lex_state = 226}, + [2265] = {.lex_state = 231}, + [2266] = {.lex_state = 283}, + [2267] = {.lex_state = 283}, + [2268] = {.lex_state = 231}, + [2269] = {.lex_state = 273}, + [2270] = {.lex_state = 228}, + [2271] = {.lex_state = 283}, + [2272] = {.lex_state = 283}, + [2273] = {.lex_state = 226}, + [2274] = {.lex_state = 283}, + [2275] = {.lex_state = 226}, + [2276] = {.lex_state = 283}, + [2277] = {.lex_state = 283}, + [2278] = {.lex_state = 226}, + [2279] = {.lex_state = 228}, + [2280] = {.lex_state = 228}, + [2281] = {.lex_state = 231}, + [2282] = {.lex_state = 231}, + [2283] = {.lex_state = 228}, + [2284] = {.lex_state = 226}, + [2285] = {.lex_state = 226}, + [2286] = {.lex_state = 282}, + [2287] = {.lex_state = 282}, + [2288] = {.lex_state = 282}, + [2289] = {.lex_state = 221}, + [2290] = {.lex_state = 215}, + [2291] = {.lex_state = 282}, + [2292] = {.lex_state = 280}, + [2293] = {.lex_state = 206}, + [2294] = {.lex_state = 282}, + [2295] = {.lex_state = 228}, + [2296] = {.lex_state = 244}, + [2297] = {.lex_state = 215}, + [2298] = {.lex_state = 215}, + [2299] = {.lex_state = 282}, + [2300] = {.lex_state = 282}, + [2301] = {.lex_state = 282}, + [2302] = {.lex_state = 282}, + [2303] = {.lex_state = 282}, + [2304] = {.lex_state = 282}, + [2305] = {.lex_state = 228}, + [2306] = {.lex_state = 282}, + [2307] = {.lex_state = 282}, + [2308] = {.lex_state = 231}, + [2309] = {.lex_state = 215}, + [2310] = {.lex_state = 206}, + [2311] = {.lex_state = 221}, + [2312] = {.lex_state = 282}, + [2313] = {.lex_state = 282}, + [2314] = {.lex_state = 206}, + [2315] = {.lex_state = 206}, + [2316] = {.lex_state = 228}, + [2317] = {.lex_state = 280}, + [2318] = {.lex_state = 215}, + [2319] = {.lex_state = 206}, + [2320] = {.lex_state = 280}, + [2321] = {.lex_state = 206}, + [2322] = {.lex_state = 231}, + [2323] = {.lex_state = 280}, + [2324] = {.lex_state = 282}, + [2325] = {.lex_state = 280}, + [2326] = {.lex_state = 206}, + [2327] = {.lex_state = 228}, + [2328] = {.lex_state = 215}, + [2329] = {.lex_state = 231}, + [2330] = {.lex_state = 215}, + [2331] = {.lex_state = 228}, + [2332] = {.lex_state = 206}, + [2333] = {.lex_state = 215}, + [2334] = {.lex_state = 231}, + [2335] = {.lex_state = 221}, + [2336] = {.lex_state = 252}, + [2337] = {.lex_state = 231}, + [2338] = {.lex_state = 215}, + [2339] = {.lex_state = 252}, + [2340] = {.lex_state = 215}, + [2341] = {.lex_state = 229}, + [2342] = {.lex_state = 231}, + [2343] = {.lex_state = 252}, + [2344] = {.lex_state = 231}, + [2345] = {.lex_state = 266}, + [2346] = {.lex_state = 229}, + [2347] = {.lex_state = 252}, + [2348] = {.lex_state = 229}, + [2349] = {.lex_state = 215}, + [2350] = {.lex_state = 229}, + [2351] = {.lex_state = 252}, + [2352] = {.lex_state = 215}, + [2353] = {.lex_state = 221}, + [2354] = {.lex_state = 232}, + [2355] = {.lex_state = 258}, + [2356] = {.lex_state = 231}, + [2357] = {.lex_state = 231}, + [2358] = {.lex_state = 252}, + [2359] = {.lex_state = 221}, + [2360] = {.lex_state = 221}, + [2361] = {.lex_state = 206}, + [2362] = {.lex_state = 268}, + [2363] = {.lex_state = 221}, + [2364] = {.lex_state = 231}, + [2365] = {.lex_state = 206}, + [2366] = {.lex_state = 231}, + [2367] = {.lex_state = 244}, + [2368] = {.lex_state = 206}, + [2369] = {.lex_state = 231}, + [2370] = {.lex_state = 215}, + [2371] = {.lex_state = 221}, + [2372] = {.lex_state = 268}, + [2373] = {.lex_state = 206}, + [2374] = {.lex_state = 221}, + [2375] = {.lex_state = 230}, + [2376] = {.lex_state = 244}, + [2377] = {.lex_state = 229}, + [2378] = {.lex_state = 252}, + [2379] = {.lex_state = 252}, + [2380] = {.lex_state = 215}, + [2381] = {.lex_state = 206}, + [2382] = {.lex_state = 242}, + [2383] = {.lex_state = 231}, + [2384] = {.lex_state = 231}, + [2385] = {.lex_state = 231}, + [2386] = {.lex_state = 231}, + [2387] = {.lex_state = 231}, + [2388] = {.lex_state = 231}, + [2389] = {.lex_state = 231}, + [2390] = {.lex_state = 268}, + [2391] = {.lex_state = 231}, + [2392] = {.lex_state = 231}, + [2393] = {.lex_state = 231}, + [2394] = {.lex_state = 266}, + [2395] = {.lex_state = 231}, + [2396] = {.lex_state = 231}, + [2397] = {.lex_state = 231}, + [2398] = {.lex_state = 271}, + [2399] = {.lex_state = 280}, + [2400] = {.lex_state = 266}, + [2401] = {.lex_state = 231}, + [2402] = {.lex_state = 231}, + [2403] = {.lex_state = 231}, + [2404] = {.lex_state = 268}, + [2405] = {.lex_state = 282}, + [2406] = {.lex_state = 231}, + [2407] = {.lex_state = 231}, + [2408] = {.lex_state = 282}, + [2409] = {.lex_state = 231}, + [2410] = {.lex_state = 231}, + [2411] = {.lex_state = 231}, + [2412] = {.lex_state = 268}, + [2413] = {.lex_state = 268}, + [2414] = {.lex_state = 268}, + [2415] = {.lex_state = 231}, + [2416] = {.lex_state = 231}, + [2417] = {.lex_state = 231}, + [2418] = {.lex_state = 231}, + [2419] = {.lex_state = 231}, + [2420] = {.lex_state = 268}, + [2421] = {.lex_state = 231}, + [2422] = {.lex_state = 268}, + [2423] = {.lex_state = 231}, + [2424] = {.lex_state = 231}, + [2425] = {.lex_state = 231}, + [2426] = {.lex_state = 231}, + [2427] = {.lex_state = 231}, + [2428] = {.lex_state = 231}, + [2429] = {.lex_state = 231}, + [2430] = {.lex_state = 231}, + [2431] = {.lex_state = 231}, + [2432] = {.lex_state = 231}, + [2433] = {.lex_state = 258}, + [2434] = {.lex_state = 231}, + [2435] = {.lex_state = 231}, + [2436] = {.lex_state = 266}, + [2437] = {.lex_state = 231}, + [2438] = {.lex_state = 231}, + [2439] = {.lex_state = 231}, + [2440] = {.lex_state = 231}, + [2441] = {.lex_state = 266}, + [2442] = {.lex_state = 268}, + [2443] = {.lex_state = 266}, + [2444] = {.lex_state = 258}, + [2445] = {.lex_state = 231}, + [2446] = {.lex_state = 231}, + [2447] = {.lex_state = 231}, + [2448] = {.lex_state = 231}, + [2449] = {.lex_state = 266}, + [2450] = {.lex_state = 268}, + [2451] = {.lex_state = 231}, + [2452] = {.lex_state = 266}, + [2453] = {.lex_state = 231}, + [2454] = {.lex_state = 231}, + [2455] = {.lex_state = 221}, + [2456] = {.lex_state = 231}, + [2457] = {.lex_state = 231}, + [2458] = {.lex_state = 268}, + [2459] = {.lex_state = 221}, + [2460] = {.lex_state = 231}, + [2461] = {.lex_state = 231}, + [2462] = {.lex_state = 231}, + [2463] = {.lex_state = 231}, + [2464] = {.lex_state = 221}, + [2465] = {.lex_state = 268}, + [2466] = {.lex_state = 231}, + [2467] = {.lex_state = 231}, + [2468] = {.lex_state = 231}, + [2469] = {.lex_state = 231}, + [2470] = {.lex_state = 231}, + [2471] = {.lex_state = 221}, + [2472] = {.lex_state = 231}, + [2473] = {.lex_state = 231}, + [2474] = {.lex_state = 231}, + [2475] = {.lex_state = 231}, + [2476] = {.lex_state = 231}, + [2477] = {.lex_state = 231}, + [2478] = {.lex_state = 240}, + [2479] = {.lex_state = 231}, + [2480] = {.lex_state = 231}, + [2481] = {.lex_state = 221}, + [2482] = {.lex_state = 231}, + [2483] = {.lex_state = 268}, + [2484] = {.lex_state = 231}, + [2485] = {.lex_state = 282}, + [2486] = {.lex_state = 231}, + [2487] = {.lex_state = 231}, + [2488] = {.lex_state = 280}, + [2489] = {.lex_state = 231}, + [2490] = {.lex_state = 231}, + [2491] = {.lex_state = 252}, + [2492] = {.lex_state = 210}, + [2493] = {.lex_state = 215}, + [2494] = {.lex_state = 280}, + [2495] = {.lex_state = 280}, + [2496] = {.lex_state = 280}, + [2497] = {.lex_state = 252}, + [2498] = {.lex_state = 282}, + [2499] = {.lex_state = 240}, + [2500] = {.lex_state = 280}, + [2501] = {.lex_state = 215}, + [2502] = {.lex_state = 268}, + [2503] = {.lex_state = 215}, + [2504] = {.lex_state = 255}, + [2505] = {.lex_state = 244}, + [2506] = {.lex_state = 215}, + [2507] = {.lex_state = 215}, + [2508] = {.lex_state = 215}, + [2509] = {.lex_state = 210}, + [2510] = {.lex_state = 210}, + [2511] = {.lex_state = 222}, + [2512] = {.lex_state = 215}, + [2513] = {.lex_state = 280}, + [2514] = {.lex_state = 266}, + [2515] = {.lex_state = 248}, + [2516] = {.lex_state = 244}, + [2517] = {.lex_state = 280}, + [2518] = {.lex_state = 240}, + [2519] = {.lex_state = 280}, + [2520] = {.lex_state = 280}, + [2521] = {.lex_state = 215}, + [2522] = {.lex_state = 280}, + [2523] = {.lex_state = 280}, + [2524] = {.lex_state = 280}, + [2525] = {.lex_state = 280}, + [2526] = {.lex_state = 280}, + [2527] = {.lex_state = 215}, + [2528] = {.lex_state = 281}, + [2529] = {.lex_state = 280}, + [2530] = {.lex_state = 280}, + [2531] = {.lex_state = 280}, + [2532] = {.lex_state = 280}, + [2533] = {.lex_state = 280}, + [2534] = {.lex_state = 280}, + [2535] = {.lex_state = 280}, + [2536] = {.lex_state = 280}, + [2537] = {.lex_state = 248}, + [2538] = {.lex_state = 280}, + [2539] = {.lex_state = 280}, + [2540] = {.lex_state = 280}, + [2541] = {.lex_state = 280}, + [2542] = {.lex_state = 280}, + [2543] = {.lex_state = 280}, + [2544] = {.lex_state = 280}, + [2545] = {.lex_state = 280}, + [2546] = {.lex_state = 202}, + [2547] = {.lex_state = 280}, + [2548] = {.lex_state = 280}, + [2549] = {.lex_state = 215}, + [2550] = {.lex_state = 240}, + [2551] = {.lex_state = 240}, + [2552] = {.lex_state = 280}, + [2553] = {.lex_state = 280}, + [2554] = {.lex_state = 240}, + [2555] = {.lex_state = 280}, + [2556] = {.lex_state = 280}, + [2557] = {.lex_state = 282}, + [2558] = {.lex_state = 280}, + [2559] = {.lex_state = 240}, + [2560] = {.lex_state = 240}, + [2561] = {.lex_state = 215}, + [2562] = {.lex_state = 281}, + [2563] = {.lex_state = 280}, + [2564] = {.lex_state = 280}, + [2565] = {.lex_state = 240}, + [2566] = {.lex_state = 240}, + [2567] = {.lex_state = 215}, + [2568] = {.lex_state = 280}, + [2569] = {.lex_state = 280}, + [2570] = {.lex_state = 280}, + [2571] = {.lex_state = 244}, + [2572] = {.lex_state = 280}, + [2573] = {.lex_state = 280}, + [2574] = {.lex_state = 240}, + [2575] = {.lex_state = 280}, + [2576] = {.lex_state = 280}, + [2577] = {.lex_state = 240}, + [2578] = {.lex_state = 280}, + [2579] = {.lex_state = 266}, + [2580] = {.lex_state = 266}, + [2581] = {.lex_state = 240}, + [2582] = {.lex_state = 242}, + [2583] = {.lex_state = 248}, + [2584] = {.lex_state = 266}, + [2585] = {.lex_state = 266}, + [2586] = {.lex_state = 240}, + [2587] = {.lex_state = 248}, + [2588] = {.lex_state = 242}, + [2589] = {.lex_state = 240}, + [2590] = {.lex_state = 276}, + [2591] = {.lex_state = 280}, + [2592] = {.lex_state = 276}, + [2593] = {.lex_state = 266}, + [2594] = {.lex_state = 240}, + [2595] = {.lex_state = 248}, + [2596] = {.lex_state = 280}, + [2597] = {.lex_state = 266}, + [2598] = {.lex_state = 266}, + [2599] = {.lex_state = 240}, + [2600] = {.lex_state = 266}, + [2601] = {.lex_state = 240}, + [2602] = {.lex_state = 248}, + [2603] = {.lex_state = 280}, + [2604] = {.lex_state = 240}, + [2605] = {.lex_state = 280}, + [2606] = {.lex_state = 276}, + [2607] = {.lex_state = 248}, + [2608] = {.lex_state = 248}, + [2609] = {.lex_state = 202}, + [2610] = {.lex_state = 242}, + [2611] = {.lex_state = 266}, + [2612] = {.lex_state = 248}, + [2613] = {.lex_state = 280}, + [2614] = {.lex_state = 202}, + [2615] = {.lex_state = 276}, + [2616] = {.lex_state = 280}, + [2617] = {.lex_state = 280}, + [2618] = {.lex_state = 266}, + [2619] = {.lex_state = 266}, + [2620] = {.lex_state = 266}, + [2621] = {.lex_state = 280}, + [2622] = {.lex_state = 248}, + [2623] = {.lex_state = 248}, + [2624] = {.lex_state = 266}, + [2625] = {.lex_state = 266}, + [2626] = {.lex_state = 266}, + [2627] = {.lex_state = 255}, + [2628] = {.lex_state = 210}, + [2629] = {.lex_state = 280}, + [2630] = {.lex_state = 240}, + [2631] = {.lex_state = 280}, + [2632] = {.lex_state = 248}, + [2633] = {.lex_state = 281}, + [2634] = {.lex_state = 210}, + [2635] = {.lex_state = 210}, + [2636] = {.lex_state = 280}, + [2637] = {.lex_state = 240}, + [2638] = {.lex_state = 280}, + [2639] = {.lex_state = 280}, + [2640] = {.lex_state = 280}, + [2641] = {.lex_state = 280}, + [2642] = {.lex_state = 248}, + [2643] = {.lex_state = 280}, + [2644] = {.lex_state = 248}, + [2645] = {.lex_state = 271}, + [2646] = {.lex_state = 240}, + [2647] = {.lex_state = 210}, + [2648] = {.lex_state = 210}, + [2649] = {.lex_state = 248}, + [2650] = {.lex_state = 228}, + [2651] = {.lex_state = 240}, + [2652] = {.lex_state = 248}, + [2653] = {.lex_state = 210}, + [2654] = {.lex_state = 266}, + [2655] = {.lex_state = 228}, + [2656] = {.lex_state = 266}, + [2657] = {.lex_state = 266}, + [2658] = {.lex_state = 266}, + [2659] = {.lex_state = 240}, + [2660] = {.lex_state = 248}, + [2661] = {.lex_state = 210}, + [2662] = {.lex_state = 266}, + [2663] = {.lex_state = 255}, + [2664] = {.lex_state = 266}, + [2665] = {.lex_state = 266}, + [2666] = {.lex_state = 228}, + [2667] = {.lex_state = 281}, + [2668] = {.lex_state = 228}, + [2669] = {.lex_state = 228}, + [2670] = {.lex_state = 228}, + [2671] = {.lex_state = 228}, + [2672] = {.lex_state = 228}, + [2673] = {.lex_state = 228}, + [2674] = {.lex_state = 228}, + [2675] = {.lex_state = 266}, + [2676] = {.lex_state = 228}, + [2677] = {.lex_state = 228}, + [2678] = {.lex_state = 228}, + [2679] = {.lex_state = 228}, + [2680] = {.lex_state = 228}, + [2681] = {.lex_state = 228}, + [2682] = {.lex_state = 228}, + [2683] = {.lex_state = 228}, + [2684] = {.lex_state = 228}, + [2685] = {.lex_state = 228}, + [2686] = {.lex_state = 240}, + [2687] = {.lex_state = 266}, + [2688] = {.lex_state = 235}, + [2689] = {.lex_state = 235}, + [2690] = {.lex_state = 228}, + [2691] = {.lex_state = 228}, + [2692] = {.lex_state = 228}, + [2693] = {.lex_state = 228}, + [2694] = {.lex_state = 266}, + [2695] = {.lex_state = 242}, + [2696] = {.lex_state = 266}, + [2697] = {.lex_state = 280}, + [2698] = {.lex_state = 252}, + [2699] = {.lex_state = 252}, + [2700] = {.lex_state = 202}, + [2701] = {.lex_state = 263}, + [2702] = {.lex_state = 266}, + [2703] = {.lex_state = 255}, + [2704] = {.lex_state = 266}, + [2705] = {.lex_state = 280}, + [2706] = {.lex_state = 248}, + [2707] = {.lex_state = 202}, + [2708] = {.lex_state = 248}, + [2709] = {.lex_state = 266}, + [2710] = {.lex_state = 266}, + [2711] = {.lex_state = 266}, + [2712] = {.lex_state = 280}, + [2713] = {.lex_state = 266}, + [2714] = {.lex_state = 266}, + [2715] = {.lex_state = 266}, + [2716] = {.lex_state = 248}, + [2717] = {.lex_state = 202}, + [2718] = {.lex_state = 240}, + [2719] = {.lex_state = 202}, + [2720] = {.lex_state = 202}, + [2721] = {.lex_state = 267}, + [2722] = {.lex_state = 266}, + [2723] = {.lex_state = 240}, + [2724] = {.lex_state = 240}, + [2725] = {.lex_state = 248}, + [2726] = {.lex_state = 240}, + [2727] = {.lex_state = 233}, + [2728] = {.lex_state = 233}, + [2729] = {.lex_state = 267}, + [2730] = {.lex_state = 263}, + [2731] = {.lex_state = 240}, + [2732] = {.lex_state = 202}, + [2733] = {.lex_state = 240}, + [2734] = {.lex_state = 240}, + [2735] = {.lex_state = 202}, + [2736] = {.lex_state = 235}, + [2737] = {.lex_state = 202}, + [2738] = {.lex_state = 267}, + [2739] = {.lex_state = 280}, + [2740] = {.lex_state = 240}, + [2741] = {.lex_state = 263}, + [2742] = {.lex_state = 240}, + [2743] = {.lex_state = 267}, + [2744] = {.lex_state = 233}, + [2745] = {.lex_state = 235}, + [2746] = {.lex_state = 202}, + [2747] = {.lex_state = 263}, + [2748] = {.lex_state = 240}, + [2749] = {.lex_state = 263}, + [2750] = {.lex_state = 233}, + [2751] = {.lex_state = 263}, + [2752] = {.lex_state = 202}, + [2753] = {.lex_state = 202}, + [2754] = {.lex_state = 202}, + [2755] = {.lex_state = 202}, + [2756] = {.lex_state = 202}, + [2757] = {.lex_state = 202}, + [2758] = {.lex_state = 202}, + [2759] = {.lex_state = 202}, + [2760] = {.lex_state = 202}, + [2761] = {.lex_state = 233}, + [2762] = {.lex_state = 202}, + [2763] = {.lex_state = 263}, + [2764] = {.lex_state = 240}, + [2765] = {.lex_state = 202}, + [2766] = {.lex_state = 266}, + [2767] = {.lex_state = 266}, + [2768] = {.lex_state = 248}, + [2769] = {.lex_state = 250}, + [2770] = {.lex_state = 266}, + [2771] = {.lex_state = 235}, + [2772] = {.lex_state = 240}, + [2773] = {.lex_state = 235}, + [2774] = {.lex_state = 235}, + [2775] = {.lex_state = 235}, + [2776] = {.lex_state = 263}, + [2777] = {.lex_state = 240}, + [2778] = {.lex_state = 266}, + [2779] = {.lex_state = 240}, + [2780] = {.lex_state = 228}, + [2781] = {.lex_state = 263}, + [2782] = {.lex_state = 235}, + [2783] = {.lex_state = 263}, + [2784] = {.lex_state = 250}, + [2785] = {.lex_state = 250}, + [2786] = {.lex_state = 248}, + [2787] = {.lex_state = 210}, + [2788] = {.lex_state = 266}, + [2789] = {.lex_state = 240}, + [2790] = {.lex_state = 250}, + [2791] = {.lex_state = 240}, + [2792] = {.lex_state = 235}, + [2793] = {.lex_state = 235}, + [2794] = {.lex_state = 242}, + [2795] = {.lex_state = 266}, + [2796] = {.lex_state = 228}, + [2797] = {.lex_state = 240}, + [2798] = {.lex_state = 266}, + [2799] = {.lex_state = 240}, + [2800] = {.lex_state = 210}, + [2801] = {.lex_state = 266}, + [2802] = {.lex_state = 266}, + [2803] = {.lex_state = 263}, + [2804] = {.lex_state = 240}, + [2805] = {.lex_state = 266}, + [2806] = {.lex_state = 210}, + [2807] = {.lex_state = 266}, + [2808] = {.lex_state = 240}, + [2809] = {.lex_state = 266}, + [2810] = {.lex_state = 250}, + [2811] = {.lex_state = 266}, + [2812] = {.lex_state = 242}, + [2813] = {.lex_state = 266}, + [2814] = {.lex_state = 240}, + [2815] = {.lex_state = 240}, + [2816] = {.lex_state = 240}, + [2817] = {.lex_state = 251}, + [2818] = {.lex_state = 266}, + [2819] = {.lex_state = 235}, + [2820] = {.lex_state = 251}, + [2821] = {.lex_state = 240}, + [2822] = {.lex_state = 240}, + [2823] = {.lex_state = 240}, + [2824] = {.lex_state = 210}, + [2825] = {.lex_state = 235}, + [2826] = {.lex_state = 240}, + [2827] = {.lex_state = 251}, + [2828] = {.lex_state = 280}, + [2829] = {.lex_state = 266}, + [2830] = {.lex_state = 235}, + [2831] = {.lex_state = 263}, + [2832] = {.lex_state = 240}, + [2833] = {.lex_state = 266}, + [2834] = {.lex_state = 240}, + [2835] = {.lex_state = 235}, + [2836] = {.lex_state = 240}, + [2837] = {.lex_state = 251}, + [2838] = {.lex_state = 235}, + [2839] = {.lex_state = 251}, + [2840] = {.lex_state = 240}, + [2841] = {.lex_state = 266}, + [2842] = {.lex_state = 235}, + [2843] = {.lex_state = 280}, + [2844] = {.lex_state = 266}, + [2845] = {.lex_state = 235}, + [2846] = {.lex_state = 210}, + [2847] = {.lex_state = 228}, + [2848] = {.lex_state = 240}, + [2849] = {.lex_state = 235}, + [2850] = {.lex_state = 250}, + [2851] = {.lex_state = 250}, + [2852] = {.lex_state = 263}, + [2853] = {.lex_state = 240}, + [2854] = {.lex_state = 235}, + [2855] = {.lex_state = 266}, + [2856] = {.lex_state = 266}, + [2857] = {.lex_state = 235}, + [2858] = {.lex_state = 235}, + [2859] = {.lex_state = 235}, + [2860] = {.lex_state = 235}, + [2861] = {.lex_state = 266}, + [2862] = {.lex_state = 266}, + [2863] = {.lex_state = 235}, + [2864] = {.lex_state = 249}, + [2865] = {.lex_state = 266}, + [2866] = {.lex_state = 266}, + [2867] = {.lex_state = 235}, + [2868] = {.lex_state = 266}, + [2869] = {.lex_state = 240}, + [2870] = {.lex_state = 240}, + [2871] = {.lex_state = 266}, + [2872] = {.lex_state = 266}, + [2873] = {.lex_state = 263}, + [2874] = {.lex_state = 235}, + [2875] = {.lex_state = 235}, + [2876] = {.lex_state = 266}, + [2877] = {.lex_state = 266}, + [2878] = {.lex_state = 251}, + [2879] = {.lex_state = 266}, + [2880] = {.lex_state = 266}, + [2881] = {.lex_state = 251}, + [2882] = {.lex_state = 266}, + [2883] = {.lex_state = 248}, + [2884] = {.lex_state = 240}, + [2885] = {.lex_state = 288}, + [2886] = {.lex_state = 253}, + [2887] = {.lex_state = 240}, + [2888] = {.lex_state = 241}, + [2889] = {.lex_state = 240}, + [2890] = {.lex_state = 240}, + [2891] = {.lex_state = 241}, + [2892] = {.lex_state = 252}, + [2893] = {.lex_state = 240}, + [2894] = {.lex_state = 240}, + [2895] = {.lex_state = 249}, + [2896] = {.lex_state = 240}, + [2897] = {.lex_state = 241}, + [2898] = {.lex_state = 280}, + [2899] = {.lex_state = 210}, + [2900] = {.lex_state = 248}, + [2901] = {.lex_state = 240}, + [2902] = {.lex_state = 253}, + [2903] = {.lex_state = 240}, + [2904] = {.lex_state = 253}, + [2905] = {.lex_state = 252}, + [2906] = {.lex_state = 253}, + [2907] = {.lex_state = 240}, + [2908] = {.lex_state = 210}, + [2909] = {.lex_state = 253}, + [2910] = {.lex_state = 210}, + [2911] = {.lex_state = 241}, + [2912] = {.lex_state = 242}, + [2913] = {.lex_state = 240}, + [2914] = {.lex_state = 248}, + [2915] = {.lex_state = 248}, + [2916] = {.lex_state = 248}, + [2917] = {.lex_state = 248}, + [2918] = {.lex_state = 240}, + [2919] = {.lex_state = 280}, + [2920] = {.lex_state = 248}, + [2921] = {.lex_state = 240}, + [2922] = {.lex_state = 248}, + [2923] = {.lex_state = 248}, + [2924] = {.lex_state = 241}, + [2925] = {.lex_state = 248}, + [2926] = {.lex_state = 240}, + [2927] = {.lex_state = 248}, + [2928] = {.lex_state = 280}, + [2929] = {.lex_state = 240}, + [2930] = {.lex_state = 240}, + [2931] = {.lex_state = 241}, + [2932] = {.lex_state = 248}, + [2933] = {.lex_state = 196}, + [2934] = {.lex_state = 240}, + [2935] = {.lex_state = 240}, + [2936] = {.lex_state = 250}, + [2937] = {.lex_state = 240}, + [2938] = {.lex_state = 240}, + [2939] = {.lex_state = 224}, + [2940] = {.lex_state = 257}, + [2941] = {.lex_state = 240}, + [2942] = {.lex_state = 280}, + [2943] = {.lex_state = 241}, + [2944] = {.lex_state = 240}, + [2945] = {.lex_state = 250}, + [2946] = {.lex_state = 248}, + [2947] = {.lex_state = 250}, + [2948] = {.lex_state = 289}, + [2949] = {.lex_state = 241}, + [2950] = {.lex_state = 248}, + [2951] = {.lex_state = 240}, + [2952] = {.lex_state = 282}, + [2953] = {.lex_state = 241}, + [2954] = {.lex_state = 240}, + [2955] = {.lex_state = 240}, + [2956] = {.lex_state = 250}, + [2957] = {.lex_state = 250}, + [2958] = {.lex_state = 280}, + [2959] = {.lex_state = 280}, + [2960] = {.lex_state = 280}, + [2961] = {.lex_state = 224}, + [2962] = {.lex_state = 250}, + [2963] = {.lex_state = 250}, + [2964] = {.lex_state = 240}, + [2965] = {.lex_state = 250}, + [2966] = {.lex_state = 250}, + [2967] = {.lex_state = 250}, + [2968] = {.lex_state = 240}, + [2969] = {.lex_state = 240}, + [2970] = {.lex_state = 284}, + [2971] = {.lex_state = 224}, + [2972] = {.lex_state = 250}, + [2973] = {.lex_state = 250}, + [2974] = {.lex_state = 240}, + [2975] = {.lex_state = 240}, + [2976] = {.lex_state = 250}, + [2977] = {.lex_state = 248}, + [2978] = {.lex_state = 257}, + [2979] = {.lex_state = 240}, + [2980] = {.lex_state = 240}, + [2981] = {.lex_state = 280}, + [2982] = {.lex_state = 250}, + [2983] = {.lex_state = 196}, + [2984] = {.lex_state = 196}, + [2985] = {.lex_state = 196}, + [2986] = {.lex_state = 280}, + [2987] = {.lex_state = 280}, + [2988] = {.lex_state = 280}, + [2989] = {.lex_state = 240}, + [2990] = {.lex_state = 240}, + [2991] = {.lex_state = 280}, + [2992] = {.lex_state = 240}, + [2993] = {.lex_state = 284}, + [2994] = {.lex_state = 280}, + [2995] = {.lex_state = 240}, + [2996] = {.lex_state = 196}, + [2997] = {.lex_state = 196}, + [2998] = {.lex_state = 196}, + [2999] = {.lex_state = 240}, + [3000] = {.lex_state = 240}, + [3001] = {.lex_state = 280}, + [3002] = {.lex_state = 240}, + [3003] = {.lex_state = 248}, + [3004] = {.lex_state = 280}, + [3005] = {.lex_state = 280}, + [3006] = {.lex_state = 257}, + [3007] = {.lex_state = 240}, + [3008] = {.lex_state = 240}, + [3009] = {.lex_state = 196}, + [3010] = {.lex_state = 250}, + [3011] = {.lex_state = 240}, + [3012] = {.lex_state = 240}, + [3013] = {.lex_state = 240}, + [3014] = {.lex_state = 240}, + [3015] = {.lex_state = 257}, + [3016] = {.lex_state = 240}, + [3017] = {.lex_state = 248}, + [3018] = {.lex_state = 248}, + [3019] = {.lex_state = 240}, + [3020] = {.lex_state = 284}, + [3021] = {.lex_state = 240}, + [3022] = {.lex_state = 240}, + [3023] = {.lex_state = 240}, + [3024] = {.lex_state = 240}, + [3025] = {.lex_state = 250}, + [3026] = {.lex_state = 248}, + [3027] = {.lex_state = 240}, + [3028] = {.lex_state = 266}, + [3029] = {.lex_state = 280}, + [3030] = {.lex_state = 250}, + [3031] = {.lex_state = 196}, + [3032] = {.lex_state = 240}, + [3033] = {.lex_state = 240}, + [3034] = {.lex_state = 248}, + [3035] = {.lex_state = 257}, + [3036] = {.lex_state = 240}, + [3037] = {.lex_state = 240}, + [3038] = {.lex_state = 196}, + [3039] = {.lex_state = 248}, + [3040] = {.lex_state = 240}, + [3041] = {.lex_state = 282}, + [3042] = {.lex_state = 240}, + [3043] = {.lex_state = 240}, + [3044] = {.lex_state = 240}, + [3045] = {.lex_state = 248}, + [3046] = {.lex_state = 240}, + [3047] = {.lex_state = 250}, + [3048] = {.lex_state = 250}, + [3049] = {.lex_state = 250}, + [3050] = {.lex_state = 250}, + [3051] = {.lex_state = 250}, + [3052] = {.lex_state = 250}, + [3053] = {.lex_state = 250}, + [3054] = {.lex_state = 250}, + [3055] = {.lex_state = 250}, + [3056] = {.lex_state = 250}, + [3057] = {.lex_state = 250}, + [3058] = {.lex_state = 250}, + [3059] = {.lex_state = 250}, + [3060] = {.lex_state = 250}, + [3061] = {.lex_state = 243}, + [3062] = {.lex_state = 240}, + [3063] = {.lex_state = 250}, + [3064] = {.lex_state = 250}, + [3065] = {.lex_state = 250}, + [3066] = {.lex_state = 286}, + [3067] = {.lex_state = 257}, + [3068] = {.lex_state = 280}, + [3069] = {.lex_state = 240}, + [3070] = {.lex_state = 248}, + [3071] = {.lex_state = 241}, + [3072] = {.lex_state = 240}, + [3073] = {.lex_state = 240}, + [3074] = {.lex_state = 240}, + [3075] = {.lex_state = 240}, + [3076] = {.lex_state = 240}, + [3077] = {.lex_state = 280}, + [3078] = {.lex_state = 210}, + [3079] = {.lex_state = 248}, + [3080] = {.lex_state = 241}, + [3081] = {.lex_state = 248}, + [3082] = {.lex_state = 263}, + [3083] = {.lex_state = 240}, + [3084] = {.lex_state = 240}, + [3085] = {.lex_state = 240}, + [3086] = {.lex_state = 240}, + [3087] = {.lex_state = 240}, + [3088] = {.lex_state = 240}, + [3089] = {.lex_state = 251}, + [3090] = {.lex_state = 240}, + [3091] = {.lex_state = 240}, + [3092] = {.lex_state = 240}, + [3093] = {.lex_state = 282}, + [3094] = {.lex_state = 210}, + [3095] = {.lex_state = 240}, + [3096] = {.lex_state = 240}, + [3097] = {.lex_state = 240}, + [3098] = {.lex_state = 240}, + [3099] = {.lex_state = 248}, + [3100] = {.lex_state = 240}, + [3101] = {.lex_state = 248}, + [3102] = {.lex_state = 248}, + [3103] = {.lex_state = 248}, + [3104] = {.lex_state = 202}, + [3105] = {.lex_state = 248}, + [3106] = {.lex_state = 248}, + [3107] = {.lex_state = 248}, + [3108] = {.lex_state = 248}, + [3109] = {.lex_state = 257}, + [3110] = {.lex_state = 240}, + [3111] = {.lex_state = 240}, + [3112] = {.lex_state = 240}, + [3113] = {.lex_state = 240}, + [3114] = {.lex_state = 248}, + [3115] = {.lex_state = 248}, + [3116] = {.lex_state = 248}, + [3117] = {.lex_state = 248}, + [3118] = {.lex_state = 248}, + [3119] = {.lex_state = 240}, + [3120] = {.lex_state = 240}, + [3121] = {.lex_state = 248}, + [3122] = {.lex_state = 248}, + [3123] = {.lex_state = 240}, + [3124] = {.lex_state = 240}, + [3125] = {.lex_state = 282}, + [3126] = {.lex_state = 280}, + [3127] = {.lex_state = 240}, + [3128] = {.lex_state = 240}, + [3129] = {.lex_state = 210}, + [3130] = {.lex_state = 248}, + [3131] = {.lex_state = 248}, + [3132] = {.lex_state = 282}, + [3133] = {.lex_state = 248}, + [3134] = {.lex_state = 282}, + [3135] = {.lex_state = 248}, + [3136] = {.lex_state = 248}, + [3137] = {.lex_state = 248}, + [3138] = {.lex_state = 248}, + [3139] = {.lex_state = 248}, + [3140] = {.lex_state = 248}, + [3141] = {.lex_state = 282}, + [3142] = {.lex_state = 256}, + [3143] = {.lex_state = 280}, + [3144] = {.lex_state = 248}, + [3145] = {.lex_state = 248}, + [3146] = {.lex_state = 280}, + [3147] = {.lex_state = 248}, + [3148] = {.lex_state = 248}, + [3149] = {.lex_state = 248}, + [3150] = {.lex_state = 240}, + [3151] = {.lex_state = 240}, + [3152] = {.lex_state = 240}, + [3153] = {.lex_state = 248}, + [3154] = {.lex_state = 210}, + [3155] = {.lex_state = 248}, + [3156] = {.lex_state = 248}, + [3157] = {.lex_state = 248}, + [3158] = {.lex_state = 280}, + [3159] = {.lex_state = 237}, + [3160] = {.lex_state = 240}, + [3161] = {.lex_state = 286}, + [3162] = {.lex_state = 248}, + [3163] = {.lex_state = 280}, + [3164] = {.lex_state = 235}, + [3165] = {.lex_state = 282}, + [3166] = {.lex_state = 282}, + [3167] = {.lex_state = 282}, + [3168] = {.lex_state = 251}, + [3169] = {.lex_state = 265}, + [3170] = {.lex_state = 282}, + [3171] = {.lex_state = 236}, + [3172] = {.lex_state = 282}, + [3173] = {.lex_state = 263}, + [3174] = {.lex_state = 248}, + [3175] = {.lex_state = 248}, + [3176] = {.lex_state = 210}, + [3177] = {.lex_state = 240}, + [3178] = {.lex_state = 248}, + [3179] = {.lex_state = 210}, + [3180] = {.lex_state = 241}, + [3181] = {.lex_state = 235}, + [3182] = {.lex_state = 241}, + [3183] = {.lex_state = 280}, + [3184] = {.lex_state = 253}, + [3185] = {.lex_state = 253}, + [3186] = {.lex_state = 241}, + [3187] = {.lex_state = 241}, + [3188] = {.lex_state = 241}, + [3189] = {.lex_state = 237}, + [3190] = {.lex_state = 248}, + [3191] = {.lex_state = 248}, + [3192] = {.lex_state = 241}, + [3193] = {.lex_state = 240}, + [3194] = {.lex_state = 240}, + [3195] = {.lex_state = 237}, + [3196] = {.lex_state = 253}, + [3197] = {.lex_state = 252}, + [3198] = {.lex_state = 252}, + [3199] = {.lex_state = 252}, + [3200] = {.lex_state = 252}, + [3201] = {.lex_state = 252}, + [3202] = {.lex_state = 252}, + [3203] = {.lex_state = 252}, + [3204] = {.lex_state = 252}, + [3205] = {.lex_state = 252}, + [3206] = {.lex_state = 252}, + [3207] = {.lex_state = 236}, + [3208] = {.lex_state = 252}, + [3209] = {.lex_state = 248}, + [3210] = {.lex_state = 252}, + [3211] = {.lex_state = 252}, + [3212] = {.lex_state = 240}, + [3213] = {.lex_state = 252}, + [3214] = {.lex_state = 252}, + [3215] = {.lex_state = 252}, + [3216] = {.lex_state = 252}, + [3217] = {.lex_state = 248}, + [3218] = {.lex_state = 237}, + [3219] = {.lex_state = 240}, + [3220] = {.lex_state = 253}, + [3221] = {.lex_state = 253}, + [3222] = {.lex_state = 241}, + [3223] = {.lex_state = 241}, + [3224] = {.lex_state = 240}, + [3225] = {.lex_state = 241}, + [3226] = {.lex_state = 241}, + [3227] = {.lex_state = 245}, + [3228] = {.lex_state = 240}, + [3229] = {.lex_state = 241}, + [3230] = {.lex_state = 248}, + [3231] = {.lex_state = 282}, + [3232] = {.lex_state = 245}, + [3233] = {.lex_state = 241}, + [3234] = {.lex_state = 284}, + [3235] = {.lex_state = 240}, + [3236] = {.lex_state = 210}, + [3237] = {.lex_state = 245}, + [3238] = {.lex_state = 280}, + [3239] = {.lex_state = 241}, + [3240] = {.lex_state = 237}, + [3241] = {.lex_state = 248}, + [3242] = {.lex_state = 286}, + [3243] = {.lex_state = 210}, + [3244] = {.lex_state = 286}, + [3245] = {.lex_state = 248}, + [3246] = {.lex_state = 248}, + [3247] = {.lex_state = 248}, + [3248] = {.lex_state = 248}, + [3249] = {.lex_state = 284}, + [3250] = {.lex_state = 248}, + [3251] = {.lex_state = 210}, + [3252] = {.lex_state = 248}, + [3253] = {.lex_state = 248}, + [3254] = {.lex_state = 250}, + [3255] = {.lex_state = 240}, + [3256] = {.lex_state = 248}, + [3257] = {.lex_state = 248}, + [3258] = {.lex_state = 251}, + [3259] = {.lex_state = 248}, + [3260] = {.lex_state = 248}, + [3261] = {.lex_state = 248}, + [3262] = {.lex_state = 237}, + [3263] = {.lex_state = 250}, + [3264] = {.lex_state = 250}, + [3265] = {.lex_state = 240}, + [3266] = {.lex_state = 241}, + [3267] = {.lex_state = 250}, + [3268] = {.lex_state = 250}, + [3269] = {.lex_state = 240}, + [3270] = {.lex_state = 240}, + [3271] = {.lex_state = 251}, + [3272] = {.lex_state = 286}, + [3273] = {.lex_state = 252}, + [3274] = {.lex_state = 250}, + [3275] = {.lex_state = 237}, + [3276] = {.lex_state = 237}, + [3277] = {.lex_state = 250}, + [3278] = {.lex_state = 250}, + [3279] = {.lex_state = 245}, + [3280] = {.lex_state = 284}, + [3281] = {.lex_state = 250}, + [3282] = {.lex_state = 240}, + [3283] = {.lex_state = 250}, + [3284] = {.lex_state = 237}, + [3285] = {.lex_state = 240}, + [3286] = {.lex_state = 240}, + [3287] = {.lex_state = 250}, + [3288] = {.lex_state = 282}, + [3289] = {.lex_state = 282}, + [3290] = {.lex_state = 241}, + [3291] = {.lex_state = 251}, + [3292] = {.lex_state = 245}, + [3293] = {.lex_state = 248}, + [3294] = {.lex_state = 250}, + [3295] = {.lex_state = 240}, + [3296] = {.lex_state = 251}, + [3297] = {.lex_state = 241}, + [3298] = {.lex_state = 240}, + [3299] = {.lex_state = 247}, + [3300] = {.lex_state = 237}, + [3301] = {.lex_state = 237}, + [3302] = {.lex_state = 237}, + [3303] = {.lex_state = 250}, + [3304] = {.lex_state = 240}, + [3305] = {.lex_state = 240}, + [3306] = {.lex_state = 250}, + [3307] = {.lex_state = 282}, + [3308] = {.lex_state = 250}, + [3309] = {.lex_state = 250}, + [3310] = {.lex_state = 248}, + [3311] = {.lex_state = 240}, + [3312] = {.lex_state = 252}, + [3313] = {.lex_state = 250}, + [3314] = {.lex_state = 250}, + [3315] = {.lex_state = 237}, + [3316] = {.lex_state = 284}, + [3317] = {.lex_state = 251}, + [3318] = {.lex_state = 252}, + [3319] = {.lex_state = 250}, + [3320] = {.lex_state = 248}, + [3321] = {.lex_state = 237}, + [3322] = {.lex_state = 280}, + [3323] = {.lex_state = 252}, + [3324] = {.lex_state = 252}, + [3325] = {.lex_state = 241}, + [3326] = {.lex_state = 280}, + [3327] = {.lex_state = 248}, + [3328] = {.lex_state = 237}, + [3329] = {.lex_state = 240}, + [3330] = {.lex_state = 252}, + [3331] = {.lex_state = 248}, + [3332] = {.lex_state = 248}, + [3333] = {.lex_state = 252}, + [3334] = {.lex_state = 282}, + [3335] = {.lex_state = 237}, + [3336] = {.lex_state = 240}, + [3337] = {.lex_state = 241}, + [3338] = {.lex_state = 241}, + [3339] = {.lex_state = 210}, + [3340] = {.lex_state = 237}, + [3341] = {.lex_state = 248}, + [3342] = {.lex_state = 241}, + [3343] = {.lex_state = 241}, + [3344] = {.lex_state = 210}, + [3345] = {.lex_state = 240}, + [3346] = {.lex_state = 241}, + [3347] = {.lex_state = 286}, + [3348] = {.lex_state = 237}, + [3349] = {.lex_state = 241}, + [3350] = {.lex_state = 241}, + [3351] = {.lex_state = 241}, + [3352] = {.lex_state = 241}, + [3353] = {.lex_state = 241}, + [3354] = {.lex_state = 241}, + [3355] = {.lex_state = 251}, + [3356] = {.lex_state = 248}, + [3357] = {.lex_state = 259}, + [3358] = {.lex_state = 257}, + [3359] = {.lex_state = 240}, + [3360] = {.lex_state = 240}, + [3361] = {.lex_state = 240}, + [3362] = {.lex_state = 257}, + [3363] = {.lex_state = 235}, + [3364] = {.lex_state = 282}, + [3365] = {.lex_state = 263}, + [3366] = {.lex_state = 240}, + [3367] = {.lex_state = 240}, + [3368] = {.lex_state = 240}, + [3369] = {.lex_state = 240}, + [3370] = {.lex_state = 240}, + [3371] = {.lex_state = 240}, + [3372] = {.lex_state = 250}, + [3373] = {.lex_state = 257}, + [3374] = {.lex_state = 240}, + [3375] = {.lex_state = 240}, + [3376] = {.lex_state = 257}, + [3377] = {.lex_state = 240}, + [3378] = {.lex_state = 240}, + [3379] = {.lex_state = 240}, + [3380] = {.lex_state = 257}, + [3381] = {.lex_state = 240}, + [3382] = {.lex_state = 248}, + [3383] = {.lex_state = 240}, + [3384] = {.lex_state = 280}, + [3385] = {.lex_state = 240}, + [3386] = {.lex_state = 240}, + [3387] = {.lex_state = 240}, + [3388] = {.lex_state = 240}, + [3389] = {.lex_state = 240}, + [3390] = {.lex_state = 240}, + [3391] = {.lex_state = 240}, + [3392] = {.lex_state = 240}, + [3393] = {.lex_state = 284}, + [3394] = {.lex_state = 240}, + [3395] = {.lex_state = 240}, + [3396] = {.lex_state = 240}, + [3397] = {.lex_state = 235}, + [3398] = {.lex_state = 240}, + [3399] = {.lex_state = 240}, + [3400] = {.lex_state = 240}, + [3401] = {.lex_state = 240}, + [3402] = {.lex_state = 240}, + [3403] = {.lex_state = 280}, + [3404] = {.lex_state = 240}, + [3405] = {.lex_state = 257}, + [3406] = {.lex_state = 240}, + [3407] = {.lex_state = 282}, + [3408] = {.lex_state = 284}, + [3409] = {.lex_state = 240}, + [3410] = {.lex_state = 284}, + [3411] = {.lex_state = 240}, + [3412] = {.lex_state = 240}, + [3413] = {.lex_state = 240}, + [3414] = {.lex_state = 240}, + [3415] = {.lex_state = 286}, + [3416] = {.lex_state = 248}, + [3417] = {.lex_state = 240}, + [3418] = {.lex_state = 240}, + [3419] = {.lex_state = 240}, + [3420] = {.lex_state = 240}, + [3421] = {.lex_state = 284}, + [3422] = {.lex_state = 240}, + [3423] = {.lex_state = 240}, + [3424] = {.lex_state = 250}, + [3425] = {.lex_state = 240}, + [3426] = {.lex_state = 240}, + [3427] = {.lex_state = 240}, + [3428] = {.lex_state = 240}, + [3429] = {.lex_state = 257}, + [3430] = {.lex_state = 248}, + [3431] = {.lex_state = 240}, + [3432] = {.lex_state = 265}, + [3433] = {.lex_state = 240}, + [3434] = {.lex_state = 240}, + [3435] = {.lex_state = 240}, + [3436] = {.lex_state = 240}, + [3437] = {.lex_state = 265}, + [3438] = {.lex_state = 240}, + [3439] = {.lex_state = 240}, + [3440] = {.lex_state = 240}, + [3441] = {.lex_state = 284}, + [3442] = {.lex_state = 240}, + [3443] = {.lex_state = 240}, + [3444] = {.lex_state = 240}, + [3445] = {.lex_state = 284}, + [3446] = {.lex_state = 240}, + [3447] = {.lex_state = 257}, + [3448] = {.lex_state = 240}, + [3449] = {.lex_state = 240}, + [3450] = {.lex_state = 240}, + [3451] = {.lex_state = 235}, + [3452] = {.lex_state = 240}, + [3453] = {.lex_state = 251}, + [3454] = {.lex_state = 261}, + [3455] = {.lex_state = 250}, + [3456] = {.lex_state = 240}, + [3457] = {.lex_state = 284}, + [3458] = {.lex_state = 240}, + [3459] = {.lex_state = 240}, + [3460] = {.lex_state = 259}, + [3461] = {.lex_state = 224}, + [3462] = {.lex_state = 284}, + [3463] = {.lex_state = 240}, + [3464] = {.lex_state = 250}, + [3465] = {.lex_state = 240}, + [3466] = {.lex_state = 240}, + [3467] = {.lex_state = 257}, + [3468] = {.lex_state = 259}, + [3469] = {.lex_state = 240}, + [3470] = {.lex_state = 224}, + [3471] = {.lex_state = 257}, + [3472] = {.lex_state = 240}, + [3473] = {.lex_state = 240}, + [3474] = {.lex_state = 240}, + [3475] = {.lex_state = 240}, + [3476] = {.lex_state = 240}, + [3477] = {.lex_state = 240}, + [3478] = {.lex_state = 240}, + [3479] = {.lex_state = 240}, + [3480] = {.lex_state = 240}, + [3481] = {.lex_state = 240}, + [3482] = {.lex_state = 240}, + [3483] = {.lex_state = 240}, + [3484] = {.lex_state = 240}, + [3485] = {.lex_state = 240}, + [3486] = {.lex_state = 240}, + [3487] = {.lex_state = 240}, + [3488] = {.lex_state = 210}, + [3489] = {.lex_state = 240}, + [3490] = {.lex_state = 240}, + [3491] = {.lex_state = 240}, + [3492] = {.lex_state = 240}, + [3493] = {.lex_state = 240}, + [3494] = {.lex_state = 240}, + [3495] = {.lex_state = 240}, + [3496] = {.lex_state = 240}, + [3497] = {.lex_state = 240}, + [3498] = {.lex_state = 284}, + [3499] = {.lex_state = 240}, + [3500] = {.lex_state = 240}, + [3501] = {.lex_state = 257}, + [3502] = {.lex_state = 240}, + [3503] = {.lex_state = 240}, + [3504] = {.lex_state = 240}, + [3505] = {.lex_state = 257}, + [3506] = {.lex_state = 240}, + [3507] = {.lex_state = 257}, + [3508] = {.lex_state = 284}, + [3509] = {.lex_state = 240}, + [3510] = {.lex_state = 284}, + [3511] = {.lex_state = 240}, + [3512] = {.lex_state = 240}, + [3513] = {.lex_state = 257}, + [3514] = {.lex_state = 257}, + [3515] = {.lex_state = 257}, + [3516] = {.lex_state = 240}, + [3517] = {.lex_state = 240}, + [3518] = {.lex_state = 235}, + [3519] = {.lex_state = 240}, + [3520] = {.lex_state = 240}, + [3521] = {.lex_state = 240}, + [3522] = {.lex_state = 240}, + [3523] = {.lex_state = 240}, + [3524] = {.lex_state = 284}, + [3525] = {.lex_state = 235}, + [3526] = {.lex_state = 235}, + [3527] = {.lex_state = 280}, + [3528] = {.lex_state = 235}, + [3529] = {.lex_state = 235}, + [3530] = {.lex_state = 240}, + [3531] = {.lex_state = 240}, + [3532] = {.lex_state = 235}, + [3533] = {.lex_state = 259}, + [3534] = {.lex_state = 240}, + [3535] = {.lex_state = 240}, + [3536] = {.lex_state = 240}, + [3537] = {.lex_state = 240}, + [3538] = {.lex_state = 259}, + [3539] = {.lex_state = 235}, + [3540] = {.lex_state = 240}, + [3541] = {.lex_state = 257}, + [3542] = {.lex_state = 240}, + [3543] = {.lex_state = 240}, + [3544] = {.lex_state = 248}, + [3545] = {.lex_state = 282}, + [3546] = {.lex_state = 248}, + [3547] = {.lex_state = 282}, + [3548] = {.lex_state = 248}, + [3549] = {.lex_state = 248}, + [3550] = {.lex_state = 282}, + [3551] = {.lex_state = 282}, + [3552] = {.lex_state = 248}, + [3553] = {.lex_state = 248}, + [3554] = {.lex_state = 248}, + [3555] = {.lex_state = 282}, + [3556] = {.lex_state = 248}, + [3557] = {.lex_state = 248}, + [3558] = {.lex_state = 248}, + [3559] = {.lex_state = 282}, + [3560] = {.lex_state = 248}, + [3561] = {.lex_state = 248}, + [3562] = {.lex_state = 282}, + [3563] = {.lex_state = 248}, + [3564] = {.lex_state = 240}, + [3565] = {.lex_state = 240}, + [3566] = {.lex_state = 240}, + [3567] = {.lex_state = 248}, + [3568] = {.lex_state = 248}, + [3569] = {.lex_state = 248}, + [3570] = {.lex_state = 282}, + [3571] = {.lex_state = 282}, + [3572] = {.lex_state = 248}, + [3573] = {.lex_state = 248}, + [3574] = {.lex_state = 282}, + [3575] = {.lex_state = 235}, + [3576] = {.lex_state = 282}, + [3577] = {.lex_state = 248}, + [3578] = {.lex_state = 282}, + [3579] = {.lex_state = 235}, + [3580] = {.lex_state = 240}, + [3581] = {.lex_state = 248}, + [3582] = {.lex_state = 282}, + [3583] = {.lex_state = 235}, + [3584] = {.lex_state = 240}, + [3585] = {.lex_state = 250}, + [3586] = {.lex_state = 248}, + [3587] = {.lex_state = 248}, + [3588] = {.lex_state = 282}, + [3589] = {.lex_state = 240}, + [3590] = {.lex_state = 251}, + [3591] = {.lex_state = 240}, + [3592] = {.lex_state = 248}, + [3593] = {.lex_state = 282}, + [3594] = {.lex_state = 284}, + [3595] = {.lex_state = 282}, + [3596] = {.lex_state = 282}, + [3597] = {.lex_state = 248}, + [3598] = {.lex_state = 248}, + [3599] = {.lex_state = 248}, + [3600] = {.lex_state = 248}, + [3601] = {.lex_state = 282}, + [3602] = {.lex_state = 210}, + [3603] = {.lex_state = 248}, + [3604] = {.lex_state = 248}, + [3605] = {.lex_state = 282}, + [3606] = {.lex_state = 248}, + [3607] = {.lex_state = 248}, + [3608] = {.lex_state = 250}, + [3609] = {.lex_state = 248}, + [3610] = {.lex_state = 248}, + [3611] = {.lex_state = 248}, + [3612] = {.lex_state = 282}, + [3613] = {.lex_state = 240}, + [3614] = {.lex_state = 248}, + [3615] = {.lex_state = 248}, + [3616] = {.lex_state = 282}, + [3617] = {.lex_state = 240}, + [3618] = {.lex_state = 248}, + [3619] = {.lex_state = 282}, + [3620] = {.lex_state = 248}, + [3621] = {.lex_state = 248}, + [3622] = {.lex_state = 282}, + [3623] = {.lex_state = 282}, + [3624] = {.lex_state = 282}, + [3625] = {.lex_state = 248}, + [3626] = {.lex_state = 248}, + [3627] = {.lex_state = 248}, + [3628] = {.lex_state = 248}, + [3629] = {.lex_state = 282}, + [3630] = {.lex_state = 248}, + [3631] = {.lex_state = 248}, + [3632] = {.lex_state = 248}, + [3633] = {.lex_state = 282}, + [3634] = {.lex_state = 248}, + [3635] = {.lex_state = 282}, + [3636] = {.lex_state = 282}, + [3637] = {.lex_state = 282}, + [3638] = {.lex_state = 248}, + [3639] = {.lex_state = 248}, + [3640] = {.lex_state = 252}, + [3641] = {.lex_state = 248}, + [3642] = {.lex_state = 282}, + [3643] = {.lex_state = 248}, + [3644] = {.lex_state = 282}, + [3645] = {.lex_state = 282}, + [3646] = {.lex_state = 240}, + [3647] = {.lex_state = 282}, + [3648] = {.lex_state = 248}, + [3649] = {.lex_state = 282}, + [3650] = {.lex_state = 248}, + [3651] = {.lex_state = 210}, + [3652] = {.lex_state = 235}, + [3653] = {.lex_state = 237}, + [3654] = {.lex_state = 282}, + [3655] = {.lex_state = 235}, + [3656] = {.lex_state = 282}, + [3657] = {.lex_state = 282}, + [3658] = {.lex_state = 282}, + [3659] = {.lex_state = 282}, + [3660] = {.lex_state = 248}, + [3661] = {.lex_state = 282}, + [3662] = {.lex_state = 248}, + [3663] = {.lex_state = 282}, + [3664] = {.lex_state = 248}, + [3665] = {.lex_state = 282}, + [3666] = {.lex_state = 248}, + [3667] = {.lex_state = 240}, + [3668] = {.lex_state = 282}, + [3669] = {.lex_state = 282}, + [3670] = {.lex_state = 282}, + [3671] = {.lex_state = 240}, + [3672] = {.lex_state = 237}, + [3673] = {.lex_state = 240}, + [3674] = {.lex_state = 235}, + [3675] = {.lex_state = 240}, + [3676] = {.lex_state = 282}, + [3677] = {.lex_state = 282}, + [3678] = {.lex_state = 282}, + [3679] = {.lex_state = 248}, + [3680] = {.lex_state = 248}, + [3681] = {.lex_state = 240}, + [3682] = {.lex_state = 248}, + [3683] = {.lex_state = 282}, + [3684] = {.lex_state = 282}, + [3685] = {.lex_state = 252}, + [3686] = {.lex_state = 282}, + [3687] = {.lex_state = 248}, + [3688] = {.lex_state = 248}, + [3689] = {.lex_state = 248}, + [3690] = {.lex_state = 282}, + [3691] = {.lex_state = 240}, + [3692] = {.lex_state = 252}, + [3693] = {.lex_state = 252}, + [3694] = {.lex_state = 248}, + [3695] = {.lex_state = 252}, + [3696] = {.lex_state = 252}, + [3697] = {.lex_state = 252}, + [3698] = {.lex_state = 240}, + [3699] = {.lex_state = 252}, + [3700] = {.lex_state = 282}, + [3701] = {.lex_state = 240}, + [3702] = {.lex_state = 280}, + [3703] = {.lex_state = 282}, + [3704] = {.lex_state = 282}, + [3705] = {.lex_state = 248}, + [3706] = {.lex_state = 282}, + [3707] = {.lex_state = 248}, + [3708] = {.lex_state = 282}, + [3709] = {.lex_state = 282}, + [3710] = {.lex_state = 240}, + [3711] = {.lex_state = 248}, + [3712] = {.lex_state = 282}, + [3713] = {.lex_state = 282}, + [3714] = {.lex_state = 248}, + [3715] = {.lex_state = 248}, + [3716] = {.lex_state = 248}, + [3717] = {.lex_state = 248}, + [3718] = {.lex_state = 282}, + [3719] = {.lex_state = 284}, + [3720] = {.lex_state = 282}, + [3721] = {.lex_state = 282}, + [3722] = {.lex_state = 248}, + [3723] = {.lex_state = 282}, + [3724] = {.lex_state = 240}, + [3725] = {.lex_state = 282}, + [3726] = {.lex_state = 248}, + [3727] = {.lex_state = 237}, + [3728] = {.lex_state = 240}, + [3729] = {.lex_state = 248}, + [3730] = {.lex_state = 235}, + [3731] = {.lex_state = 282}, + [3732] = {.lex_state = 235}, + [3733] = {.lex_state = 235}, + [3734] = {.lex_state = 235}, + [3735] = {.lex_state = 210}, + [3736] = {.lex_state = 235}, + [3737] = {.lex_state = 235}, + [3738] = {.lex_state = 235}, + [3739] = {.lex_state = 282}, + [3740] = {.lex_state = 210}, + [3741] = {.lex_state = 248}, + [3742] = {.lex_state = 248}, + [3743] = {.lex_state = 240}, + [3744] = {.lex_state = 210}, + [3745] = {.lex_state = 210}, + [3746] = {.lex_state = 210}, + [3747] = {.lex_state = 248}, + [3748] = {.lex_state = 282}, + [3749] = {.lex_state = 248}, + [3750] = {.lex_state = 288}, + [3751] = {.lex_state = 248}, + [3752] = {.lex_state = 240}, + [3753] = {.lex_state = 240}, + [3754] = {.lex_state = 284}, + [3755] = {.lex_state = 248}, + [3756] = {.lex_state = 248}, + [3757] = {.lex_state = 282}, + [3758] = {.lex_state = 210}, + [3759] = {.lex_state = 284}, + [3760] = {.lex_state = 248}, + [3761] = {.lex_state = 282}, + [3762] = {.lex_state = 240}, + [3763] = {.lex_state = 248}, + [3764] = {.lex_state = 248}, + [3765] = {.lex_state = 248}, + [3766] = {.lex_state = 235}, + [3767] = {.lex_state = 245}, + [3768] = {.lex_state = 224}, + [3769] = {.lex_state = 235}, + [3770] = {.lex_state = 282}, + [3771] = {.lex_state = 237}, + [3772] = {.lex_state = 224}, + [3773] = {.lex_state = 224}, + [3774] = {.lex_state = 282}, + [3775] = {.lex_state = 237}, + [3776] = {.lex_state = 224}, + [3777] = {.lex_state = 224}, + [3778] = {.lex_state = 210}, + [3779] = {.lex_state = 282}, + [3780] = {.lex_state = 210}, + [3781] = {.lex_state = 245}, + [3782] = {.lex_state = 282}, + [3783] = {.lex_state = 210}, + [3784] = {.lex_state = 210}, + [3785] = {.lex_state = 282}, + [3786] = {.lex_state = 224}, + [3787] = {.lex_state = 210}, + [3788] = {.lex_state = 282}, + [3789] = {.lex_state = 237}, + [3790] = {.lex_state = 282}, + [3791] = {.lex_state = 286}, + [3792] = {.lex_state = 280}, + [3793] = {.lex_state = 286}, + [3794] = {.lex_state = 245}, + [3795] = {.lex_state = 282}, + [3796] = {.lex_state = 286}, + [3797] = {.lex_state = 282}, + [3798] = {.lex_state = 237}, + [3799] = {.lex_state = 286}, + [3800] = {.lex_state = 282}, + [3801] = {.lex_state = 235}, + [3802] = {.lex_state = 250}, + [3803] = {.lex_state = 282}, + [3804] = {.lex_state = 284}, + [3805] = {.lex_state = 240}, + [3806] = {.lex_state = 237}, + [3807] = {.lex_state = 282}, + [3808] = {.lex_state = 284}, + [3809] = {.lex_state = 235}, + [3810] = {.lex_state = 237}, + [3811] = {.lex_state = 282}, + [3812] = {.lex_state = 284}, + [3813] = {.lex_state = 224}, + [3814] = {.lex_state = 282}, + [3815] = {.lex_state = 282}, + [3816] = {.lex_state = 245}, + [3817] = {.lex_state = 245}, + [3818] = {.lex_state = 285}, + [3819] = {.lex_state = 286}, + [3820] = {.lex_state = 235}, + [3821] = {.lex_state = 285}, + [3822] = {.lex_state = 240}, + [3823] = {.lex_state = 235}, + [3824] = {.lex_state = 237}, + [3825] = {.lex_state = 237}, + [3826] = {.lex_state = 237}, + [3827] = {.lex_state = 237}, + [3828] = {.lex_state = 237}, + [3829] = {.lex_state = 237}, + [3830] = {.lex_state = 240}, + [3831] = {.lex_state = 237}, + [3832] = {.lex_state = 237}, + [3833] = {.lex_state = 237}, + [3834] = {.lex_state = 237}, + [3835] = {.lex_state = 235}, + [3836] = {.lex_state = 240}, + [3837] = {.lex_state = 237}, + [3838] = {.lex_state = 263}, + [3839] = {.lex_state = 240}, + [3840] = {.lex_state = 240}, + [3841] = {.lex_state = 235}, + [3842] = {.lex_state = 263}, + [3843] = {.lex_state = 237}, + [3844] = {.lex_state = 237}, + [3845] = {.lex_state = 237}, + [3846] = {.lex_state = 240}, + [3847] = {.lex_state = 240}, + [3848] = {.lex_state = 240}, + [3849] = {.lex_state = 240}, + [3850] = {.lex_state = 240}, + [3851] = {.lex_state = 284}, + [3852] = {.lex_state = 240}, + [3853] = {.lex_state = 240}, + [3854] = {.lex_state = 240}, + [3855] = {.lex_state = 240}, + [3856] = {.lex_state = 240}, + [3857] = {.lex_state = 240}, + [3858] = {.lex_state = 240}, + [3859] = {.lex_state = 237}, + [3860] = {.lex_state = 224}, + [3861] = {.lex_state = 237}, + [3862] = {.lex_state = 240}, + [3863] = {.lex_state = 240}, + [3864] = {.lex_state = 235}, + [3865] = {.lex_state = 240}, + [3866] = {.lex_state = 240}, + [3867] = {.lex_state = 240}, + [3868] = {.lex_state = 240}, + [3869] = {.lex_state = 235}, + [3870] = {.lex_state = 240}, + [3871] = {.lex_state = 240}, + [3872] = {.lex_state = 235}, + [3873] = {.lex_state = 237}, + [3874] = {.lex_state = 240}, + [3875] = {.lex_state = 224}, + [3876] = {.lex_state = 265}, + [3877] = {.lex_state = 240}, + [3878] = {.lex_state = 235}, + [3879] = {.lex_state = 240}, + [3880] = {.lex_state = 235}, + [3881] = {.lex_state = 286}, + [3882] = {.lex_state = 240}, + [3883] = {.lex_state = 235}, + [3884] = {.lex_state = 237}, + [3885] = {.lex_state = 235}, + [3886] = {.lex_state = 224}, + [3887] = {.lex_state = 240}, + [3888] = {.lex_state = 282}, + [3889] = {.lex_state = 235}, + [3890] = {.lex_state = 284}, + [3891] = {.lex_state = 240}, + [3892] = {.lex_state = 224}, + [3893] = {.lex_state = 235}, + [3894] = {.lex_state = 240}, + [3895] = {.lex_state = 237}, + [3896] = {.lex_state = 235}, + [3897] = {.lex_state = 240}, + [3898] = {.lex_state = 240}, + [3899] = {.lex_state = 235}, + [3900] = {.lex_state = 237}, + [3901] = {.lex_state = 240}, + [3902] = {.lex_state = 237}, + [3903] = {.lex_state = 237}, + [3904] = {.lex_state = 235}, + [3905] = {.lex_state = 240}, + [3906] = {.lex_state = 240}, + [3907] = {.lex_state = 237}, + [3908] = {.lex_state = 224}, + [3909] = {.lex_state = 240}, + [3910] = {.lex_state = 235}, + [3911] = {.lex_state = 237}, + [3912] = {.lex_state = 240}, + [3913] = {.lex_state = 237}, + [3914] = {.lex_state = 237}, + [3915] = {.lex_state = 240}, + [3916] = {.lex_state = 237}, + [3917] = {.lex_state = 240}, + [3918] = {.lex_state = 240}, + [3919] = {.lex_state = 286}, + [3920] = {.lex_state = 237}, + [3921] = {.lex_state = 240}, + [3922] = {.lex_state = 240}, + [3923] = {.lex_state = 240}, + [3924] = {.lex_state = 240}, + [3925] = {.lex_state = 263}, + [3926] = {.lex_state = 240}, + [3927] = {.lex_state = 240}, + [3928] = {.lex_state = 240}, + [3929] = {.lex_state = 240}, + [3930] = {.lex_state = 240}, + [3931] = {.lex_state = 240}, + [3932] = {.lex_state = 240}, + [3933] = {.lex_state = 286}, + [3934] = {.lex_state = 235}, + [3935] = {.lex_state = 240}, + [3936] = {.lex_state = 237}, + [3937] = {.lex_state = 235}, + [3938] = {.lex_state = 237}, + [3939] = {.lex_state = 240}, + [3940] = {.lex_state = 240}, + [3941] = {.lex_state = 240}, + [3942] = {.lex_state = 265}, + [3943] = {.lex_state = 235}, + [3944] = {.lex_state = 235}, + [3945] = {.lex_state = 237}, + [3946] = {.lex_state = 235}, + [3947] = {.lex_state = 235}, + [3948] = {.lex_state = 284}, + [3949] = {.lex_state = 284}, + [3950] = {.lex_state = 235}, + [3951] = {.lex_state = 235}, + [3952] = {.lex_state = 237}, + [3953] = {.lex_state = 284}, + [3954] = {.lex_state = 280}, + [3955] = {.lex_state = 286}, + [3956] = {.lex_state = 280}, + [3957] = {.lex_state = 266}, + [3958] = {.lex_state = 284}, + [3959] = {.lex_state = 235}, + [3960] = {.lex_state = 284}, + [3961] = {.lex_state = 284}, + [3962] = {.lex_state = 237}, + [3963] = {.lex_state = 286}, + [3964] = {.lex_state = 235}, + [3965] = {.lex_state = 284}, + [3966] = {.lex_state = 235}, + [3967] = {.lex_state = 284}, + [3968] = {.lex_state = 235}, + [3969] = {.lex_state = 284}, + [3970] = {.lex_state = 284}, + [3971] = {.lex_state = 237}, + [3972] = {.lex_state = 284}, + [3973] = {.lex_state = 284}, + [3974] = {.lex_state = 235}, + [3975] = {.lex_state = 268}, + [3976] = {.lex_state = 288}, + [3977] = {.lex_state = 288}, + [3978] = {.lex_state = 284}, + [3979] = {.lex_state = 268}, + [3980] = {.lex_state = 284}, + [3981] = {.lex_state = 235}, + [3982] = {.lex_state = 235}, + [3983] = {.lex_state = 282}, + [3984] = {.lex_state = 282}, + [3985] = {.lex_state = 282}, + [3986] = {.lex_state = 282}, + [3987] = {.lex_state = 282}, + [3988] = {.lex_state = 282}, + [3989] = {.lex_state = 282}, + [3990] = {.lex_state = 282}, + [3991] = {.lex_state = 284}, + [3992] = {.lex_state = 235}, + [3993] = {.lex_state = 268}, + [3994] = {.lex_state = 235}, + [3995] = {.lex_state = 282}, + [3996] = {.lex_state = 282}, + [3997] = {.lex_state = 282}, + [3998] = {.lex_state = 268}, + [3999] = {.lex_state = 282}, + [4000] = {.lex_state = 282}, + [4001] = {.lex_state = 268}, + [4002] = {.lex_state = 235}, + [4003] = {.lex_state = 289}, + [4004] = {.lex_state = 282}, + [4005] = {.lex_state = 282}, + [4006] = {.lex_state = 282}, + [4007] = {.lex_state = 282}, + [4008] = {.lex_state = 282}, + [4009] = {.lex_state = 282}, + [4010] = {.lex_state = 282}, + [4011] = {.lex_state = 282}, + [4012] = {.lex_state = 280}, + [4013] = {.lex_state = 235}, + [4014] = {.lex_state = 235}, + [4015] = {.lex_state = 282}, + [4016] = {.lex_state = 282}, + [4017] = {.lex_state = 282}, + [4018] = {.lex_state = 266}, + [4019] = {.lex_state = 282}, + [4020] = {.lex_state = 284}, + [4021] = {.lex_state = 282}, + [4022] = {.lex_state = 282}, + [4023] = {.lex_state = 282}, + [4024] = {.lex_state = 282}, + [4025] = {.lex_state = 282}, + [4026] = {.lex_state = 235}, + [4027] = {.lex_state = 282}, + [4028] = {.lex_state = 282}, + [4029] = {.lex_state = 282}, + [4030] = {.lex_state = 282}, + [4031] = {.lex_state = 281}, + [4032] = {.lex_state = 282}, + [4033] = {.lex_state = 235}, + [4034] = {.lex_state = 268}, + [4035] = {.lex_state = 235}, + [4036] = {.lex_state = 235}, + [4037] = {.lex_state = 282}, + [4038] = {.lex_state = 235}, + [4039] = {.lex_state = 235}, + [4040] = {.lex_state = 235}, + [4041] = {.lex_state = 235}, + [4042] = {.lex_state = 281}, + [4043] = {.lex_state = 235}, + [4044] = {.lex_state = 235}, + [4045] = {.lex_state = 235}, + [4046] = {.lex_state = 235}, + [4047] = {.lex_state = 235}, + [4048] = {.lex_state = 235}, + [4049] = {.lex_state = 268}, + [4050] = {.lex_state = 235}, + [4051] = {.lex_state = 235}, + [4052] = {.lex_state = 235}, + [4053] = {.lex_state = 235}, + [4054] = {.lex_state = 235}, + [4055] = {.lex_state = 235}, + [4056] = {.lex_state = 235}, + [4057] = {.lex_state = 235}, + [4058] = {.lex_state = 235}, + [4059] = {.lex_state = 235}, + [4060] = {.lex_state = 235}, + [4061] = {.lex_state = 235}, + [4062] = {.lex_state = 235}, + [4063] = {.lex_state = 235}, + [4064] = {.lex_state = 266}, + [4065] = {.lex_state = 235}, + [4066] = {.lex_state = 281}, + [4067] = {.lex_state = 235}, + [4068] = {.lex_state = 235}, + [4069] = {.lex_state = 235}, + [4070] = {.lex_state = 235}, + [4071] = {.lex_state = 266}, + [4072] = {.lex_state = 268}, + [4073] = {.lex_state = 235}, + [4074] = {.lex_state = 235}, + [4075] = {.lex_state = 235}, + [4076] = {.lex_state = 281}, + [4077] = {.lex_state = 284}, + [4078] = {.lex_state = 263}, + [4079] = {.lex_state = 266}, + [4080] = {.lex_state = 268}, + [4081] = {.lex_state = 235}, + [4082] = {.lex_state = 235}, + [4083] = {.lex_state = 266}, + [4084] = {.lex_state = 263}, + [4085] = {.lex_state = 284}, + [4086] = {.lex_state = 282}, + [4087] = {.lex_state = 235}, + [4088] = {.lex_state = 268}, + [4089] = {.lex_state = 237}, + [4090] = {.lex_state = 282}, + [4091] = {.lex_state = 237}, + [4092] = {.lex_state = 271}, + [4093] = {.lex_state = 237}, + [4094] = {.lex_state = 235}, + [4095] = {.lex_state = 263}, + [4096] = {.lex_state = 263}, + [4097] = {.lex_state = 263}, + [4098] = {.lex_state = 263}, + [4099] = {.lex_state = 286}, + [4100] = {.lex_state = 282}, + [4101] = {.lex_state = 263}, + [4102] = {.lex_state = 235}, + [4103] = {.lex_state = 237}, + [4104] = {.lex_state = 235}, + [4105] = {.lex_state = 235}, + [4106] = {.lex_state = 268}, + [4107] = {.lex_state = 286}, + [4108] = {.lex_state = 281}, + [4109] = {.lex_state = 235}, + [4110] = {.lex_state = 235}, + [4111] = {.lex_state = 235}, + [4112] = {.lex_state = 235}, + [4113] = {.lex_state = 235}, + [4114] = {.lex_state = 235}, + [4115] = {.lex_state = 280}, + [4116] = {.lex_state = 235}, + [4117] = {.lex_state = 235}, + [4118] = {.lex_state = 235}, + [4119] = {.lex_state = 263}, + [4120] = {.lex_state = 286}, + [4121] = {.lex_state = 235}, + [4122] = {.lex_state = 235}, + [4123] = {.lex_state = 282}, + [4124] = {.lex_state = 286}, + [4125] = {.lex_state = 235}, + [4126] = {.lex_state = 235}, + [4127] = {.lex_state = 235}, + [4128] = {.lex_state = 235}, + [4129] = {.lex_state = 235}, + [4130] = {.lex_state = 271}, + [4131] = {.lex_state = 268}, + [4132] = {.lex_state = 282}, + [4133] = {.lex_state = 282}, + [4134] = {.lex_state = 281}, + [4135] = {.lex_state = 238}, + [4136] = {.lex_state = 266}, + [4137] = {.lex_state = 266}, + [4138] = {.lex_state = 289}, + [4139] = {.lex_state = 285}, + [4140] = {.lex_state = 238}, + [4141] = {.lex_state = 238}, + [4142] = {.lex_state = 285}, + [4143] = {.lex_state = 282}, + [4144] = {.lex_state = 238}, + [4145] = {.lex_state = 238}, + [4146] = {.lex_state = 266}, + [4147] = {.lex_state = 282}, + [4148] = {.lex_state = 266}, + [4149] = {.lex_state = 288}, + [4150] = {.lex_state = 284}, + [4151] = {.lex_state = 284}, + [4152] = {.lex_state = 286}, + [4153] = {.lex_state = 282}, + [4154] = {.lex_state = 268}, + [4155] = {.lex_state = 282}, + [4156] = {.lex_state = 285}, + [4157] = {.lex_state = 289}, + [4158] = {.lex_state = 281}, + [4159] = {.lex_state = 282}, + [4160] = {.lex_state = 286}, + [4161] = {.lex_state = 268}, + [4162] = {.lex_state = 284}, + [4163] = {.lex_state = 281}, + [4164] = {.lex_state = 268}, + [4165] = {.lex_state = 288}, + [4166] = {.lex_state = 268}, + [4167] = {.lex_state = 235}, + [4168] = {.lex_state = 285}, + [4169] = {.lex_state = 268}, + [4170] = {.lex_state = 284}, + [4171] = {.lex_state = 235}, + [4172] = {.lex_state = 268}, + [4173] = {.lex_state = 268}, + [4174] = {.lex_state = 280}, + [4175] = {.lex_state = 288}, + [4176] = {.lex_state = 284}, + [4177] = {.lex_state = 268}, + [4178] = {.lex_state = 268}, + [4179] = {.lex_state = 268}, + [4180] = {.lex_state = 268}, + [4181] = {.lex_state = 284}, + [4182] = {.lex_state = 268}, + [4183] = {.lex_state = 286}, + [4184] = {.lex_state = 284}, + [4185] = {.lex_state = 284}, + [4186] = {.lex_state = 285}, + [4187] = {.lex_state = 286}, + [4188] = {.lex_state = 284}, + [4189] = {.lex_state = 284}, + [4190] = {.lex_state = 268}, + [4191] = {.lex_state = 268}, + [4192] = {.lex_state = 286}, + [4193] = {.lex_state = 284}, + [4194] = {.lex_state = 268}, + [4195] = {.lex_state = 268}, + [4196] = {.lex_state = 284}, + [4197] = {.lex_state = 269}, + [4198] = {.lex_state = 286}, + [4199] = {.lex_state = 268}, + [4200] = {.lex_state = 263}, + [4201] = {.lex_state = 269}, + [4202] = {.lex_state = 268}, + [4203] = {.lex_state = 290}, + [4204] = {.lex_state = 284}, + [4205] = {.lex_state = 284}, + [4206] = {.lex_state = 286}, + [4207] = {.lex_state = 281}, + [4208] = {.lex_state = 269}, + [4209] = {.lex_state = 284}, + [4210] = {.lex_state = 286}, + [4211] = {.lex_state = 268}, + [4212] = {.lex_state = 266}, + [4213] = {.lex_state = 235}, + [4214] = {.lex_state = 284}, + [4215] = {.lex_state = 269}, + [4216] = {.lex_state = 286}, + [4217] = {.lex_state = 263}, + [4218] = {.lex_state = 268}, + [4219] = {.lex_state = 266}, + [4220] = {.lex_state = 286}, + [4221] = {.lex_state = 263}, + [4222] = {.lex_state = 268}, + [4223] = {.lex_state = 286}, + [4224] = {.lex_state = 286}, + [4225] = {.lex_state = 286}, + [4226] = {.lex_state = 269}, + [4227] = {.lex_state = 284}, + [4228] = {.lex_state = 284}, + [4229] = {.lex_state = 284}, + [4230] = {.lex_state = 290}, + [4231] = {.lex_state = 285}, + [4232] = {.lex_state = 268}, + [4233] = {.lex_state = 268}, + [4234] = {.lex_state = 285}, + [4235] = {.lex_state = 284}, + [4236] = {.lex_state = 285}, + [4237] = {.lex_state = 235}, + [4238] = {.lex_state = 290}, + [4239] = {.lex_state = 285}, + [4240] = {.lex_state = 263}, + [4241] = {.lex_state = 285}, + [4242] = {.lex_state = 268}, + [4243] = {.lex_state = 268}, + [4244] = {.lex_state = 268}, + [4245] = {.lex_state = 268}, + [4246] = {.lex_state = 286}, + [4247] = {.lex_state = 268}, + [4248] = {.lex_state = 266}, + [4249] = {.lex_state = 268}, + [4250] = {.lex_state = 262}, + [4251] = {.lex_state = 266}, + [4252] = {.lex_state = 268}, + [4253] = {.lex_state = 268}, + [4254] = {.lex_state = 268}, + [4255] = {.lex_state = 268}, + [4256] = {.lex_state = 268}, + [4257] = {.lex_state = 268}, + [4258] = {.lex_state = 268}, + [4259] = {.lex_state = 268}, + [4260] = {.lex_state = 268}, + [4261] = {.lex_state = 266}, + [4262] = {.lex_state = 268}, + [4263] = {.lex_state = 268}, + [4264] = {.lex_state = 268}, + [4265] = {.lex_state = 268}, + [4266] = {.lex_state = 268}, + [4267] = {.lex_state = 284}, + [4268] = {.lex_state = 268}, + [4269] = {.lex_state = 268}, + [4270] = {.lex_state = 268}, + [4271] = {.lex_state = 268}, + [4272] = {.lex_state = 268}, + [4273] = {.lex_state = 268}, + [4274] = {.lex_state = 268}, + [4275] = {.lex_state = 268}, + [4276] = {.lex_state = 266}, + [4277] = {.lex_state = 235}, + [4278] = {.lex_state = 268}, + [4279] = {.lex_state = 268}, + [4280] = {.lex_state = 268}, + [4281] = {.lex_state = 268}, + [4282] = {.lex_state = 268}, + [4283] = {.lex_state = 268}, + [4284] = {.lex_state = 286}, + [4285] = {.lex_state = 268}, + [4286] = {.lex_state = 268}, + [4287] = {.lex_state = 268}, + [4288] = {.lex_state = 268}, + [4289] = {.lex_state = 268}, + [4290] = {.lex_state = 266}, + [4291] = {.lex_state = 266}, + [4292] = {.lex_state = 268}, + [4293] = {.lex_state = 268}, + [4294] = {.lex_state = 266}, + [4295] = {.lex_state = 268}, + [4296] = {.lex_state = 268}, + [4297] = {.lex_state = 268}, + [4298] = {.lex_state = 266}, + [4299] = {.lex_state = 286}, + [4300] = {.lex_state = 285}, + [4301] = {.lex_state = 286}, + [4302] = {.lex_state = 268}, + [4303] = {.lex_state = 268}, + [4304] = {.lex_state = 268}, + [4305] = {.lex_state = 266}, + [4306] = {.lex_state = 286}, + [4307] = {.lex_state = 268}, + [4308] = {.lex_state = 268}, + [4309] = {.lex_state = 268}, + [4310] = {.lex_state = 235}, + [4311] = {.lex_state = 266}, + [4312] = {.lex_state = 268}, + [4313] = {.lex_state = 268}, + [4314] = {.lex_state = 266}, + [4315] = {.lex_state = 266}, + [4316] = {.lex_state = 266}, + [4317] = {.lex_state = 286}, + [4318] = {.lex_state = 268}, + [4319] = {.lex_state = 268}, + [4320] = {.lex_state = 266}, + [4321] = {.lex_state = 235}, + [4322] = {.lex_state = 285}, + [4323] = {.lex_state = 286}, + [4324] = {.lex_state = 286}, + [4325] = {.lex_state = 235}, + [4326] = {.lex_state = 266}, + [4327] = {.lex_state = 268}, + [4328] = {.lex_state = 266}, + [4329] = {.lex_state = 266}, + [4330] = {.lex_state = 286}, + [4331] = {.lex_state = 286}, + [4332] = {.lex_state = 266}, + [4333] = {.lex_state = 266}, + [4334] = {.lex_state = 266}, + [4335] = {.lex_state = 266}, + [4336] = {.lex_state = 268}, + [4337] = {.lex_state = 266}, + [4338] = {.lex_state = 268}, + [4339] = {.lex_state = 268}, + [4340] = {.lex_state = 266}, + [4341] = {.lex_state = 286}, + [4342] = {.lex_state = 268}, + [4343] = {.lex_state = 266}, + [4344] = {.lex_state = 268}, + [4345] = {.lex_state = 268}, + [4346] = {.lex_state = 266}, + [4347] = {.lex_state = 266}, + [4348] = {.lex_state = 266}, + [4349] = {.lex_state = 268}, + [4350] = {.lex_state = 284}, + [4351] = {.lex_state = 266}, + [4352] = {.lex_state = 268}, + [4353] = {.lex_state = 268}, + [4354] = {.lex_state = 268}, + [4355] = {.lex_state = 268}, + [4356] = {.lex_state = 235}, + [4357] = {.lex_state = 268}, + [4358] = {.lex_state = 268}, + [4359] = {.lex_state = 268}, + [4360] = {.lex_state = 235}, + [4361] = {.lex_state = 268}, + [4362] = {.lex_state = 286}, + [4363] = {.lex_state = 286}, + [4364] = {.lex_state = 268}, + [4365] = {.lex_state = 268}, + [4366] = {.lex_state = 268}, + [4367] = {.lex_state = 268}, + [4368] = {.lex_state = 268}, + [4369] = {.lex_state = 268}, + [4370] = {.lex_state = 268}, + [4371] = {.lex_state = 268}, + [4372] = {.lex_state = 286}, + [4373] = {.lex_state = 268}, + [4374] = {.lex_state = 268}, + [4375] = {.lex_state = 266}, + [4376] = {.lex_state = 266}, + [4377] = {.lex_state = 268}, + [4378] = {.lex_state = 266}, + [4379] = {.lex_state = 266}, + [4380] = {.lex_state = 268}, + [4381] = {.lex_state = 268}, + [4382] = {.lex_state = 266}, + [4383] = {.lex_state = 268}, + [4384] = {.lex_state = 235}, + [4385] = {.lex_state = 266}, + [4386] = {.lex_state = 266}, + [4387] = {.lex_state = 266}, + [4388] = {.lex_state = 284}, + [4389] = {.lex_state = 286}, + [4390] = {.lex_state = 284}, + [4391] = {.lex_state = 286}, + [4392] = {.lex_state = 268}, + [4393] = {.lex_state = 285}, + [4394] = {.lex_state = 268}, + [4395] = {.lex_state = 266}, + [4396] = {.lex_state = 268}, + [4397] = {.lex_state = 268}, + [4398] = {.lex_state = 268}, + [4399] = {.lex_state = 268}, + [4400] = {.lex_state = 235}, + [4401] = {.lex_state = 284}, + [4402] = {.lex_state = 286}, + [4403] = {.lex_state = 268}, + [4404] = {.lex_state = 284}, + [4405] = {.lex_state = 268}, + [4406] = {.lex_state = 266}, + [4407] = {.lex_state = 266}, + [4408] = {.lex_state = 268}, + [4409] = {.lex_state = 266}, + [4410] = {.lex_state = 269}, + [4411] = {.lex_state = 282}, + [4412] = {.lex_state = 235}, + [4413] = {.lex_state = 282}, + [4414] = {.lex_state = 266}, + [4415] = {.lex_state = 282}, + [4416] = {.lex_state = 268}, + [4417] = {.lex_state = 266}, + [4418] = {.lex_state = 266}, + [4419] = {.lex_state = 282}, + [4420] = {.lex_state = 282}, + [4421] = {.lex_state = 282}, + [4422] = {.lex_state = 268}, + [4423] = {.lex_state = 268}, + [4424] = {.lex_state = 268}, + [4425] = {.lex_state = 235}, + [4426] = {.lex_state = 268}, + [4427] = {.lex_state = 268}, + [4428] = {.lex_state = 268}, + [4429] = {.lex_state = 282}, + [4430] = {.lex_state = 268}, + [4431] = {.lex_state = 268}, + [4432] = {.lex_state = 268}, + [4433] = {.lex_state = 268}, + [4434] = {.lex_state = 268}, + [4435] = {.lex_state = 268}, + [4436] = {.lex_state = 266}, + [4437] = {.lex_state = 268}, + [4438] = {.lex_state = 268}, + [4439] = {.lex_state = 268}, + [4440] = {.lex_state = 268}, + [4441] = {.lex_state = 268}, + [4442] = {.lex_state = 268}, + [4443] = {.lex_state = 268}, + [4444] = {.lex_state = 268}, + [4445] = {.lex_state = 268}, + [4446] = {.lex_state = 268}, + [4447] = {.lex_state = 268}, + [4448] = {.lex_state = 268}, + [4449] = {.lex_state = 268}, + [4450] = {.lex_state = 268}, + [4451] = {.lex_state = 268}, + [4452] = {.lex_state = 268}, + [4453] = {.lex_state = 268}, + [4454] = {.lex_state = 268}, + [4455] = {.lex_state = 268}, + [4456] = {.lex_state = 286}, + [4457] = {.lex_state = 268}, + [4458] = {.lex_state = 286}, + [4459] = {.lex_state = 268}, + [4460] = {.lex_state = 281}, + [4461] = {.lex_state = 282}, + [4462] = {.lex_state = 268}, + [4463] = {.lex_state = 268}, + [4464] = {.lex_state = 268}, + [4465] = {.lex_state = 268}, + [4466] = {.lex_state = 268}, + [4467] = {.lex_state = 268}, + [4468] = {.lex_state = 268}, + [4469] = {.lex_state = 268}, + [4470] = {.lex_state = 268}, + [4471] = {.lex_state = 268}, + [4472] = {.lex_state = 268}, + [4473] = {.lex_state = 268}, + [4474] = {.lex_state = 268}, + [4475] = {.lex_state = 282}, + [4476] = {.lex_state = 268}, + [4477] = {.lex_state = 268}, + [4478] = {.lex_state = 268}, + [4479] = {.lex_state = 282}, + [4480] = {.lex_state = 268}, + [4481] = {.lex_state = 268}, + [4482] = {.lex_state = 282}, + [4483] = {.lex_state = 268}, + [4484] = {.lex_state = 266}, + [4485] = {.lex_state = 268}, + [4486] = {.lex_state = 282}, + [4487] = {.lex_state = 266}, + [4488] = {.lex_state = 266}, + [4489] = {.lex_state = 282}, + [4490] = {.lex_state = 266}, + [4491] = {.lex_state = 268}, + [4492] = {.lex_state = 282}, + [4493] = {.lex_state = 268}, + [4494] = {.lex_state = 282}, + [4495] = {.lex_state = 284}, + [4496] = {.lex_state = 269}, + [4497] = {.lex_state = 266}, + [4498] = {.lex_state = 268}, + [4499] = {.lex_state = 266}, + [4500] = {.lex_state = 266}, + [4501] = {.lex_state = 282}, + [4502] = {.lex_state = 266}, + [4503] = {.lex_state = 268}, + [4504] = {.lex_state = 268}, + [4505] = {.lex_state = 268}, + [4506] = {.lex_state = 268}, + [4507] = {.lex_state = 266}, + [4508] = {.lex_state = 269}, + [4509] = {.lex_state = 282}, + [4510] = {.lex_state = 268}, + [4511] = {.lex_state = 282}, + [4512] = {.lex_state = 268}, + [4513] = {.lex_state = 235}, + [4514] = {.lex_state = 268}, + [4515] = {.lex_state = 268}, + [4516] = {.lex_state = 266}, + [4517] = {.lex_state = 266}, + [4518] = {.lex_state = 268}, + [4519] = {.lex_state = 268}, + [4520] = {.lex_state = 266}, + [4521] = {.lex_state = 268}, + [4522] = {.lex_state = 266}, + [4523] = {.lex_state = 268}, + [4524] = {.lex_state = 235}, + [4525] = {.lex_state = 266}, + [4526] = {.lex_state = 266}, + [4527] = {.lex_state = 268}, + [4528] = {.lex_state = 268}, + [4529] = {.lex_state = 282}, + [4530] = {.lex_state = 282}, + [4531] = {.lex_state = 268}, + [4532] = {.lex_state = 266}, + [4533] = {.lex_state = 269}, + [4534] = {.lex_state = 284}, + [4535] = {.lex_state = 282}, + [4536] = {.lex_state = 268}, + [4537] = {.lex_state = 235}, + [4538] = {.lex_state = 268}, + [4539] = {.lex_state = 268}, + [4540] = {.lex_state = 282}, + [4541] = {.lex_state = 268}, + [4542] = {.lex_state = 266}, + [4543] = {.lex_state = 286}, + [4544] = {.lex_state = 268}, + [4545] = {.lex_state = 268}, + [4546] = {.lex_state = 266}, + [4547] = {.lex_state = 268}, + [4548] = {.lex_state = 268}, + [4549] = {.lex_state = 268}, + [4550] = {.lex_state = 272}, + [4551] = {.lex_state = 266}, + [4552] = {.lex_state = 284}, + [4553] = {.lex_state = 268}, + [4554] = {.lex_state = 266}, + [4555] = {.lex_state = 268}, + [4556] = {.lex_state = 268}, + [4557] = {.lex_state = 235}, + [4558] = {.lex_state = 268}, + [4559] = {.lex_state = 284}, + [4560] = {.lex_state = 268}, + [4561] = {.lex_state = 235}, + [4562] = {.lex_state = 282}, + [4563] = {.lex_state = 266}, + [4564] = {.lex_state = 268}, + [4565] = {.lex_state = 268}, + [4566] = {.lex_state = 268}, + [4567] = {.lex_state = 281}, + [4568] = {.lex_state = 282}, + [4569] = {.lex_state = 268}, + [4570] = {.lex_state = 268}, + [4571] = {.lex_state = 269}, + [4572] = {.lex_state = 268}, + [4573] = {.lex_state = 268}, + [4574] = {.lex_state = 285}, + [4575] = {.lex_state = 268}, + [4576] = {.lex_state = 268}, + [4577] = {.lex_state = 282}, + [4578] = {.lex_state = 266}, + [4579] = {.lex_state = 282}, + [4580] = {.lex_state = 268}, + [4581] = {.lex_state = 268}, + [4582] = {.lex_state = 284}, + [4583] = {.lex_state = 282}, + [4584] = {.lex_state = 282}, + [4585] = {.lex_state = 235}, + [4586] = {.lex_state = 266}, + [4587] = {.lex_state = 268}, + [4588] = {.lex_state = 268}, + [4589] = {.lex_state = 286}, + [4590] = {.lex_state = 266}, + [4591] = {.lex_state = 266}, + [4592] = {.lex_state = 268}, + [4593] = {.lex_state = 268}, + [4594] = {.lex_state = 268}, + [4595] = {.lex_state = 268}, + [4596] = {.lex_state = 268}, + [4597] = {.lex_state = 268}, + [4598] = {.lex_state = 268}, + [4599] = {.lex_state = 268}, + [4600] = {.lex_state = 268}, + [4601] = {.lex_state = 268}, + [4602] = {.lex_state = 268}, + [4603] = {.lex_state = 268}, + [4604] = {.lex_state = 268}, + [4605] = {.lex_state = 268}, + [4606] = {.lex_state = 268}, + [4607] = {.lex_state = 268}, + [4608] = {.lex_state = 268}, + [4609] = {.lex_state = 268}, + [4610] = {.lex_state = 268}, + [4611] = {.lex_state = 268}, + [4612] = {.lex_state = 268}, + [4613] = {.lex_state = 268}, + [4614] = {.lex_state = 268}, + [4615] = {.lex_state = 268}, + [4616] = {.lex_state = 268}, + [4617] = {.lex_state = 268}, + [4618] = {.lex_state = 268}, + [4619] = {.lex_state = 268}, + [4620] = {.lex_state = 268}, + [4621] = {.lex_state = 268}, + [4622] = {.lex_state = 268}, + [4623] = {.lex_state = 268}, + [4624] = {.lex_state = 286}, + [4625] = {.lex_state = 268}, + [4626] = {.lex_state = 268}, + [4627] = {.lex_state = 268}, + [4628] = {.lex_state = 268}, + [4629] = {.lex_state = 268}, + [4630] = {.lex_state = 268}, + [4631] = {.lex_state = 268}, + [4632] = {.lex_state = 268}, + [4633] = {.lex_state = 268}, + [4634] = {.lex_state = 268}, + [4635] = {.lex_state = 268}, + [4636] = {.lex_state = 285}, + [4637] = {.lex_state = 274}, + [4638] = {.lex_state = 274}, + [4639] = {.lex_state = 268}, + [4640] = {.lex_state = 285}, + [4641] = {.lex_state = 268}, + [4642] = {.lex_state = 285}, + [4643] = {.lex_state = 285}, + [4644] = {.lex_state = 268}, + [4645] = {.lex_state = 268}, + [4646] = {.lex_state = 285}, + [4647] = {.lex_state = 268}, + [4648] = {.lex_state = 274}, + [4649] = {.lex_state = 268}, + [4650] = {.lex_state = 268}, + [4651] = {.lex_state = 285}, + [4652] = {.lex_state = 285}, + [4653] = {.lex_state = 285}, + [4654] = {.lex_state = 286}, + [4655] = {.lex_state = 268}, + [4656] = {.lex_state = 268}, + [4657] = {.lex_state = 268}, + [4658] = {.lex_state = 268}, + [4659] = {.lex_state = 268}, + [4660] = {.lex_state = 268}, + [4661] = {.lex_state = 268}, + [4662] = {.lex_state = 286}, + [4663] = {.lex_state = 274}, + [4664] = {.lex_state = 268}, + [4665] = {.lex_state = 286}, + [4666] = {.lex_state = 268}, + [4667] = {.lex_state = 268}, + [4668] = {.lex_state = 268}, + [4669] = {.lex_state = 268}, + [4670] = {.lex_state = 285}, + [4671] = {.lex_state = 268}, + [4672] = {.lex_state = 268}, + [4673] = {.lex_state = 285}, + [4674] = {.lex_state = 268}, + [4675] = {.lex_state = 268}, + [4676] = {.lex_state = 268}, + [4677] = {.lex_state = 268}, + [4678] = {.lex_state = 268}, + [4679] = {.lex_state = 268}, + [4680] = {.lex_state = 268}, + [4681] = {.lex_state = 268}, + [4682] = {.lex_state = 268}, + [4683] = {.lex_state = 268}, + [4684] = {.lex_state = 268}, + [4685] = {.lex_state = 268}, + [4686] = {.lex_state = 268}, + [4687] = {.lex_state = 285}, + [4688] = {.lex_state = 268}, + [4689] = {.lex_state = 285}, + [4690] = {.lex_state = 266}, + [4691] = {.lex_state = 268}, + [4692] = {.lex_state = 268}, + [4693] = {.lex_state = 268}, + [4694] = {.lex_state = 268}, + [4695] = {.lex_state = 268}, + [4696] = {.lex_state = 285}, + [4697] = {.lex_state = 268}, + [4698] = {.lex_state = 287}, + [4699] = {.lex_state = 268}, + [4700] = {.lex_state = 268}, + [4701] = {.lex_state = 285}, + [4702] = {.lex_state = 285}, + [4703] = {.lex_state = 285}, + [4704] = {.lex_state = 285}, + [4705] = {.lex_state = 268}, + [4706] = {.lex_state = 285}, + [4707] = {.lex_state = 285}, + [4708] = {.lex_state = 285}, + [4709] = {.lex_state = 268}, + [4710] = {.lex_state = 268}, + [4711] = {.lex_state = 286}, + [4712] = {.lex_state = 286}, + [4713] = {.lex_state = 268}, + [4714] = {.lex_state = 268}, + [4715] = {.lex_state = 268}, + [4716] = {.lex_state = 268}, + [4717] = {.lex_state = 268}, + [4718] = {.lex_state = 268}, + [4719] = {.lex_state = 268}, + [4720] = {.lex_state = 286}, + [4721] = {.lex_state = 285}, + [4722] = {.lex_state = 268}, + [4723] = {.lex_state = 286}, + [4724] = {.lex_state = 268}, + [4725] = {.lex_state = 268}, + [4726] = {.lex_state = 268}, + [4727] = {.lex_state = 268}, + [4728] = {.lex_state = 268}, + [4729] = {.lex_state = 288}, + [4730] = {.lex_state = 268}, + [4731] = {.lex_state = 268}, + [4732] = {.lex_state = 236}, + [4733] = {.lex_state = 268}, + [4734] = {.lex_state = 268}, + [4735] = {.lex_state = 268}, + [4736] = {.lex_state = 274}, + [4737] = {.lex_state = 266}, + [4738] = {.lex_state = 284}, + [4739] = {.lex_state = 285}, + [4740] = {.lex_state = 286}, + [4741] = {.lex_state = 266}, + [4742] = {.lex_state = 266}, + [4743] = {.lex_state = 268}, + [4744] = {.lex_state = 266}, + [4745] = {.lex_state = 266}, + [4746] = {.lex_state = 272}, + [4747] = {.lex_state = 266}, + [4748] = {.lex_state = 287}, + [4749] = {.lex_state = 266}, + [4750] = {.lex_state = 266}, + [4751] = {.lex_state = 266}, + [4752] = {.lex_state = 266}, + [4753] = {.lex_state = 282}, + [4754] = {.lex_state = 263}, + [4755] = {.lex_state = 282}, + [4756] = {.lex_state = 286}, + [4757] = {.lex_state = 266}, + [4758] = {.lex_state = 266}, + [4759] = {.lex_state = 266}, + [4760] = {.lex_state = 280}, + [4761] = {.lex_state = 266}, + [4762] = {.lex_state = 266}, + [4763] = {.lex_state = 266}, + [4764] = {.lex_state = 266}, + [4765] = {.lex_state = 266}, + [4766] = {.lex_state = 268}, + [4767] = {.lex_state = 282}, + [4768] = {.lex_state = 263}, + [4769] = {.lex_state = 266}, + [4770] = {.lex_state = 287}, + [4771] = {.lex_state = 266}, + [4772] = {.lex_state = 266}, + [4773] = {.lex_state = 266}, + [4774] = {.lex_state = 266}, + [4775] = {.lex_state = 263}, + [4776] = {.lex_state = 266}, + [4777] = {.lex_state = 266}, + [4778] = {.lex_state = 263}, + [4779] = {.lex_state = 285}, + [4780] = {.lex_state = 263}, + [4781] = {.lex_state = 284}, + [4782] = {.lex_state = 285}, + [4783] = {.lex_state = 287}, + [4784] = {.lex_state = 266}, + [4785] = {.lex_state = 285}, + [4786] = {.lex_state = 266}, + [4787] = {.lex_state = 286}, + [4788] = {.lex_state = 266}, + [4789] = {.lex_state = 266}, + [4790] = {.lex_state = 266}, + [4791] = {.lex_state = 266}, + [4792] = {.lex_state = 266}, + [4793] = {.lex_state = 266}, + [4794] = {.lex_state = 266}, + [4795] = {.lex_state = 266}, + [4796] = {.lex_state = 266}, + [4797] = {.lex_state = 268}, + [4798] = {.lex_state = 266}, + [4799] = {.lex_state = 266}, + [4800] = {.lex_state = 266}, + [4801] = {.lex_state = 266}, + [4802] = {.lex_state = 269}, + [4803] = {.lex_state = 266}, + [4804] = {.lex_state = 266}, + [4805] = {.lex_state = 266}, + [4806] = {.lex_state = 266}, + [4807] = {.lex_state = 263}, + [4808] = {.lex_state = 266}, + [4809] = {.lex_state = 266}, + [4810] = {.lex_state = 285}, + [4811] = {.lex_state = 286}, + [4812] = {.lex_state = 286}, + [4813] = {.lex_state = 286}, + [4814] = {.lex_state = 286}, + [4815] = {.lex_state = 286}, + [4816] = {.lex_state = 286}, + [4817] = {.lex_state = 286}, + [4818] = {.lex_state = 286}, + [4819] = {.lex_state = 286}, + [4820] = {.lex_state = 286}, + [4821] = {.lex_state = 286}, + [4822] = {.lex_state = 285}, + [4823] = {.lex_state = 286}, + [4824] = {.lex_state = 286}, + [4825] = {.lex_state = 286}, + [4826] = {.lex_state = 286}, + [4827] = {.lex_state = 286}, + [4828] = {.lex_state = 286}, + [4829] = {.lex_state = 286}, + [4830] = {.lex_state = 286}, + [4831] = {.lex_state = 286}, + [4832] = {.lex_state = 286}, + [4833] = {.lex_state = 268}, + [4834] = {.lex_state = 285}, + [4835] = {.lex_state = 284}, + [4836] = {.lex_state = 285}, + [4837] = {.lex_state = 286}, + [4838] = {.lex_state = 236}, + [4839] = {.lex_state = 268}, + [4840] = {.lex_state = 282}, + [4841] = {.lex_state = 286}, + [4842] = {.lex_state = 284}, + [4843] = {.lex_state = 286}, + [4844] = {.lex_state = 286}, + [4845] = {.lex_state = 286}, + [4846] = {.lex_state = 286}, + [4847] = {.lex_state = 286}, + [4848] = {.lex_state = 284}, + [4849] = {.lex_state = 286}, + [4850] = {.lex_state = 286}, + [4851] = {.lex_state = 282}, + [4852] = {.lex_state = 282}, + [4853] = {.lex_state = 282}, + [4854] = {.lex_state = 282}, + [4855] = {.lex_state = 286}, + [4856] = {.lex_state = 286}, + [4857] = {.lex_state = 282}, + [4858] = {.lex_state = 282}, + [4859] = {.lex_state = 285}, + [4860] = {.lex_state = 282}, + [4861] = {.lex_state = 284}, + [4862] = {.lex_state = 286}, + [4863] = {.lex_state = 286}, + [4864] = {.lex_state = 286}, + [4865] = {.lex_state = 286}, + [4866] = {.lex_state = 282}, + [4867] = {.lex_state = 286}, + [4868] = {.lex_state = 282}, + [4869] = {.lex_state = 286}, + [4870] = {.lex_state = 268}, + [4871] = {.lex_state = 282}, + [4872] = {.lex_state = 286}, + [4873] = {.lex_state = 286}, + [4874] = {.lex_state = 286}, + [4875] = {.lex_state = 286}, + [4876] = {.lex_state = 286}, + [4877] = {.lex_state = 286}, + [4878] = {.lex_state = 286}, + [4879] = {.lex_state = 282}, + [4880] = {.lex_state = 286}, + [4881] = {.lex_state = 286}, + [4882] = {.lex_state = 282}, + [4883] = {.lex_state = 286}, + [4884] = {.lex_state = 286}, + [4885] = {.lex_state = 286}, + [4886] = {.lex_state = 285}, + [4887] = {.lex_state = 286}, + [4888] = {.lex_state = 236}, + [4889] = {.lex_state = 286}, + [4890] = {.lex_state = 268}, + [4891] = {.lex_state = 268}, + [4892] = {.lex_state = 286}, + [4893] = {.lex_state = 282}, + [4894] = {.lex_state = 282}, + [4895] = {.lex_state = 286}, + [4896] = {.lex_state = 286}, + [4897] = {.lex_state = 282}, + [4898] = {.lex_state = 286}, + [4899] = {.lex_state = 286}, + [4900] = {.lex_state = 286}, + [4901] = {.lex_state = 286}, + [4902] = {.lex_state = 282}, + [4903] = {.lex_state = 281}, + [4904] = {.lex_state = 268}, + [4905] = {.lex_state = 286}, + [4906] = {.lex_state = 268}, + [4907] = {.lex_state = 286}, + [4908] = {.lex_state = 282}, + [4909] = {.lex_state = 286}, + [4910] = {.lex_state = 282}, + [4911] = {.lex_state = 286}, + [4912] = {.lex_state = 282}, + [4913] = {.lex_state = 286}, + [4914] = {.lex_state = 282}, + [4915] = {.lex_state = 284}, + [4916] = {.lex_state = 286}, + [4917] = {.lex_state = 282}, + [4918] = {.lex_state = 282}, + [4919] = {.lex_state = 268}, + [4920] = {.lex_state = 285}, + [4921] = {.lex_state = 266}, + [4922] = {.lex_state = 271}, + [4923] = {.lex_state = 285}, + [4924] = {.lex_state = 285}, + [4925] = {.lex_state = 284}, + [4926] = {.lex_state = 284}, + [4927] = {.lex_state = 266}, + [4928] = {.lex_state = 266}, + [4929] = {.lex_state = 266}, + [4930] = {.lex_state = 285}, + [4931] = {.lex_state = 285}, + [4932] = {.lex_state = 285}, + [4933] = {.lex_state = 284}, + [4934] = {.lex_state = 284}, + [4935] = {.lex_state = 284}, + [4936] = {.lex_state = 268}, + [4937] = {.lex_state = 285}, + [4938] = {.lex_state = 285}, + [4939] = {.lex_state = 268}, + [4940] = {.lex_state = 268}, + [4941] = {.lex_state = 271}, + [4942] = {.lex_state = 284}, + [4943] = {.lex_state = 285}, + [4944] = {.lex_state = 285}, + [4945] = {.lex_state = 268}, + [4946] = {.lex_state = 285}, + [4947] = {.lex_state = 268}, + [4948] = {.lex_state = 284}, + [4949] = {.lex_state = 285}, + [4950] = {.lex_state = 285}, + [4951] = {.lex_state = 284}, + [4952] = {.lex_state = 282}, + [4953] = {.lex_state = 227}, + [4954] = {.lex_state = 227}, + [4955] = {.lex_state = 227}, + [4956] = {.lex_state = 227}, + [4957] = {.lex_state = 282}, + [4958] = {.lex_state = 282}, + [4959] = {.lex_state = 282}, + [4960] = {.lex_state = 282}, + [4961] = {.lex_state = 282}, + [4962] = {.lex_state = 282}, + [4963] = {.lex_state = 285}, + [4964] = {.lex_state = 282}, + [4965] = {.lex_state = 282}, + [4966] = {.lex_state = 227}, + [4967] = {.lex_state = 227}, + [4968] = {.lex_state = 227}, + [4969] = {.lex_state = 282}, + [4970] = {.lex_state = 282}, + [4971] = {.lex_state = 282}, + [4972] = {.lex_state = 286}, + [4973] = {.lex_state = 282}, + [4974] = {.lex_state = 282}, + [4975] = {.lex_state = 282}, + [4976] = {.lex_state = 227}, + [4977] = {.lex_state = 282}, + [4978] = {.lex_state = 227}, + [4979] = {.lex_state = 227}, + [4980] = {.lex_state = 235}, + [4981] = {.lex_state = 227}, + [4982] = {.lex_state = 282}, + [4983] = {.lex_state = 227}, + [4984] = {.lex_state = 285}, + [4985] = {.lex_state = 227}, + [4986] = {.lex_state = 282}, + [4987] = {.lex_state = 282}, + [4988] = {.lex_state = 227}, + [4989] = {.lex_state = 227}, + [4990] = {.lex_state = 227}, + [4991] = {.lex_state = 227}, + [4992] = {.lex_state = 282}, + [4993] = {.lex_state = 282}, + [4994] = {.lex_state = 282}, + [4995] = {.lex_state = 227}, + [4996] = {.lex_state = 282}, + [4997] = {.lex_state = 227}, + [4998] = {.lex_state = 227}, + [4999] = {.lex_state = 282}, + [5000] = {.lex_state = 282}, + [5001] = {.lex_state = 227}, + [5002] = {.lex_state = 227}, + [5003] = {.lex_state = 227}, + [5004] = {.lex_state = 227}, + [5005] = {.lex_state = 235}, + [5006] = {.lex_state = 227}, + [5007] = {.lex_state = 285}, + [5008] = {.lex_state = 285}, + [5009] = {.lex_state = 285}, + [5010] = {.lex_state = 282}, + [5011] = {.lex_state = 227}, + [5012] = {.lex_state = 227}, + [5013] = {.lex_state = 227}, + [5014] = {.lex_state = 282}, + [5015] = {.lex_state = 285}, + [5016] = {.lex_state = 227}, + [5017] = {.lex_state = 227}, + [5018] = {.lex_state = 227}, + [5019] = {.lex_state = 285}, + [5020] = {.lex_state = 266}, + [5021] = {.lex_state = 235}, + [5022] = {.lex_state = 227}, + [5023] = {.lex_state = 285}, + [5024] = {.lex_state = 235}, + [5025] = {.lex_state = 282}, + [5026] = {.lex_state = 282}, + [5027] = {.lex_state = 235}, + [5028] = {.lex_state = 282}, + [5029] = {.lex_state = 282}, + [5030] = {.lex_state = 227}, + [5031] = {.lex_state = 227}, + [5032] = {.lex_state = 282}, + [5033] = {.lex_state = 282}, + [5034] = {.lex_state = 227}, + [5035] = {.lex_state = 227}, + [5036] = {.lex_state = 227}, + [5037] = {.lex_state = 227}, + [5038] = {.lex_state = 282}, + [5039] = {.lex_state = 227}, + [5040] = {.lex_state = 227}, + [5041] = {.lex_state = 227}, + [5042] = {.lex_state = 282}, + [5043] = {.lex_state = 282}, + [5044] = {.lex_state = 282}, + [5045] = {.lex_state = 227}, + [5046] = {.lex_state = 282}, + [5047] = {.lex_state = 227}, + [5048] = {.lex_state = 227}, + [5049] = {.lex_state = 227}, + [5050] = {.lex_state = 227}, + [5051] = {.lex_state = 282}, + [5052] = {.lex_state = 282}, + [5053] = {.lex_state = 227}, + [5054] = {.lex_state = 235}, + [5055] = {.lex_state = 282}, + [5056] = {.lex_state = 227}, + [5057] = {.lex_state = 285}, + [5058] = {.lex_state = 227}, + [5059] = {.lex_state = 284}, + [5060] = {.lex_state = 282}, + [5061] = {.lex_state = 282}, + [5062] = {.lex_state = 286}, + [5063] = {.lex_state = 282}, + [5064] = {.lex_state = 286}, + [5065] = {.lex_state = 227}, + [5066] = {.lex_state = 227}, + [5067] = {.lex_state = 227}, + [5068] = {.lex_state = 227}, + [5069] = {.lex_state = 235}, + [5070] = {.lex_state = 282}, + [5071] = {.lex_state = 227}, + [5072] = {.lex_state = 227}, + [5073] = {.lex_state = 227}, + [5074] = {.lex_state = 227}, + [5075] = {.lex_state = 227}, + [5076] = {.lex_state = 227}, + [5077] = {.lex_state = 282}, + [5078] = {.lex_state = 286}, + [5079] = {.lex_state = 227}, + [5080] = {.lex_state = 227}, + [5081] = {.lex_state = 227}, + [5082] = {.lex_state = 227}, + [5083] = {.lex_state = 227}, + [5084] = {.lex_state = 282}, + [5085] = {.lex_state = 282}, + [5086] = {.lex_state = 282}, + [5087] = {.lex_state = 227}, + [5088] = {.lex_state = 227}, + [5089] = {.lex_state = 227}, + [5090] = {.lex_state = 282}, + [5091] = {.lex_state = 282}, + [5092] = {.lex_state = 282}, + [5093] = {.lex_state = 227}, + [5094] = {.lex_state = 227}, + [5095] = {.lex_state = 227}, + [5096] = {.lex_state = 227}, + [5097] = {.lex_state = 227}, + [5098] = {.lex_state = 227}, + [5099] = {.lex_state = 227}, + [5100] = {.lex_state = 227}, + [5101] = {.lex_state = 284}, + [5102] = {.lex_state = 227}, + [5103] = {.lex_state = 227}, + [5104] = {.lex_state = 227}, + [5105] = {.lex_state = 227}, + [5106] = {.lex_state = 235}, + [5107] = {.lex_state = 227}, + [5108] = {.lex_state = 282}, + [5109] = {.lex_state = 227}, + [5110] = {.lex_state = 285}, + [5111] = {.lex_state = 227}, + [5112] = {.lex_state = 285}, + [5113] = {.lex_state = 268}, + [5114] = {.lex_state = 285}, + [5115] = {.lex_state = 286}, + [5116] = {.lex_state = 286}, + [5117] = {.lex_state = 227}, + [5118] = {.lex_state = 285}, + [5119] = {.lex_state = 235}, + [5120] = {.lex_state = 285}, + [5121] = {.lex_state = 268}, + [5122] = {.lex_state = 235}, + [5123] = {.lex_state = 285}, + [5124] = {.lex_state = 285}, + [5125] = {.lex_state = 286}, + [5126] = {.lex_state = 284}, + [5127] = {.lex_state = 285}, + [5128] = {.lex_state = 235}, + [5129] = {.lex_state = 227}, + [5130] = {.lex_state = 235}, + [5131] = {.lex_state = 227}, + [5132] = {.lex_state = 235}, + [5133] = {.lex_state = 284}, + [5134] = {.lex_state = 284}, + [5135] = {.lex_state = 285}, + [5136] = {.lex_state = 285}, + [5137] = {.lex_state = 235}, + [5138] = {.lex_state = 235}, + [5139] = {.lex_state = 286}, + [5140] = {.lex_state = 235}, + [5141] = {.lex_state = 235}, + [5142] = {.lex_state = 284}, + [5143] = {.lex_state = 285}, + [5144] = {.lex_state = 235}, + [5145] = {.lex_state = 285}, + [5146] = {.lex_state = 235}, + [5147] = {.lex_state = 285}, + [5148] = {.lex_state = 227}, + [5149] = {.lex_state = 284}, + [5150] = {.lex_state = 286}, + [5151] = {.lex_state = 227}, + [5152] = {.lex_state = 285}, + [5153] = {.lex_state = 227}, + [5154] = {.lex_state = 286}, + [5155] = {.lex_state = 235}, + [5156] = {.lex_state = 285}, + [5157] = {.lex_state = 235}, + [5158] = {.lex_state = 235}, + [5159] = {.lex_state = 286}, + [5160] = {.lex_state = 235}, + [5161] = {.lex_state = 285}, + [5162] = {.lex_state = 235}, + [5163] = {.lex_state = 285}, + [5164] = {.lex_state = 227}, + [5165] = {.lex_state = 235}, + [5166] = {.lex_state = 235}, + [5167] = {.lex_state = 227}, + [5168] = {.lex_state = 227}, + [5169] = {.lex_state = 268}, + [5170] = {.lex_state = 282}, + [5171] = {.lex_state = 282}, + [5172] = {.lex_state = 227}, + [5173] = {.lex_state = 227}, + [5174] = {.lex_state = 285}, + [5175] = {.lex_state = 227}, + [5176] = {.lex_state = 285}, + [5177] = {.lex_state = 227}, + [5178] = {.lex_state = 227}, + [5179] = {.lex_state = 235}, + [5180] = {.lex_state = 268}, + [5181] = {.lex_state = 282}, + [5182] = {.lex_state = 227}, + [5183] = {.lex_state = 282}, + [5184] = {.lex_state = 235}, + [5185] = {.lex_state = 285}, + [5186] = {.lex_state = 285}, + [5187] = {.lex_state = 285}, + [5188] = {.lex_state = 235}, + [5189] = {.lex_state = 285}, + [5190] = {.lex_state = 286}, + [5191] = {.lex_state = 282}, + [5192] = {.lex_state = 268}, + [5193] = {.lex_state = 286}, + [5194] = {.lex_state = 285}, + [5195] = {.lex_state = 227}, + [5196] = {.lex_state = 227}, + [5197] = {.lex_state = 285}, + [5198] = {.lex_state = 285}, + [5199] = {.lex_state = 286}, + [5200] = {.lex_state = 285}, + [5201] = {.lex_state = 284}, + [5202] = {.lex_state = 227}, + [5203] = {.lex_state = 235}, + [5204] = {.lex_state = 285}, + [5205] = {.lex_state = 285}, + [5206] = {.lex_state = 285}, + [5207] = {.lex_state = 285}, + [5208] = {.lex_state = 284}, + [5209] = {.lex_state = 285}, + [5210] = {.lex_state = 235}, + [5211] = {.lex_state = 282}, + [5212] = {.lex_state = 235}, + [5213] = {.lex_state = 282}, + [5214] = {.lex_state = 235}, + [5215] = {.lex_state = 284}, + [5216] = {.lex_state = 235}, + [5217] = {.lex_state = 227}, + [5218] = {.lex_state = 235}, + [5219] = {.lex_state = 282}, + [5220] = {.lex_state = 285}, + [5221] = {.lex_state = 282}, + [5222] = {.lex_state = 268}, + [5223] = {.lex_state = 286}, + [5224] = {.lex_state = 286}, + [5225] = {.lex_state = 282}, + [5226] = {.lex_state = 282}, + [5227] = {.lex_state = 286}, + [5228] = {.lex_state = 282}, + [5229] = {.lex_state = 282}, + [5230] = {.lex_state = 286}, + [5231] = {.lex_state = 251}, + [5232] = {.lex_state = 282}, + [5233] = {.lex_state = 251}, + [5234] = {.lex_state = 282}, + [5235] = {.lex_state = 251}, + [5236] = {.lex_state = 282}, + [5237] = {.lex_state = 268}, + [5238] = {.lex_state = 251}, + [5239] = {.lex_state = 282}, + [5240] = {.lex_state = 251}, + [5241] = {.lex_state = 251}, + [5242] = {.lex_state = 282}, + [5243] = {.lex_state = 282}, + [5244] = {.lex_state = 251}, + [5245] = {.lex_state = 268}, + [5246] = {.lex_state = 251}, + [5247] = {.lex_state = 282}, + [5248] = {.lex_state = 268}, + [5249] = {.lex_state = 257}, + [5250] = {.lex_state = 282}, + [5251] = {.lex_state = 282}, + [5252] = {.lex_state = 257}, + [5253] = {.lex_state = 257}, + [5254] = {.lex_state = 280}, + [5255] = {.lex_state = 282}, + [5256] = {.lex_state = 257}, + [5257] = {.lex_state = 282}, + [5258] = {.lex_state = 284}, + [5259] = {.lex_state = 268}, + [5260] = {.lex_state = 284}, + [5261] = {.lex_state = 284}, + [5262] = {.lex_state = 282}, + [5263] = {.lex_state = 282}, + [5264] = {.lex_state = 268}, + [5265] = {.lex_state = 284}, + [5266] = {.lex_state = 284}, + [5267] = {.lex_state = 284}, + [5268] = {.lex_state = 282}, + [5269] = {.lex_state = 295}, + [5270] = {.lex_state = 251}, + [5271] = {.lex_state = 286}, + [5272] = {.lex_state = 295}, + [5273] = {.lex_state = 251}, + [5274] = {.lex_state = 286}, + [5275] = {.lex_state = 295}, + [5276] = {.lex_state = 251}, + [5277] = {.lex_state = 295}, + [5278] = {.lex_state = 251}, + [5279] = {.lex_state = 286}, + [5280] = {.lex_state = 295}, + [5281] = {.lex_state = 251}, + [5282] = {.lex_state = 295}, + [5283] = {.lex_state = 295}, + [5284] = {.lex_state = 286}, + [5285] = {.lex_state = 286}, + [5286] = {.lex_state = 251}, + [5287] = {.lex_state = 286}, + [5288] = {.lex_state = 251}, + [5289] = {.lex_state = 295}, + [5290] = {.lex_state = 251}, + [5291] = {.lex_state = 266}, + [5292] = {.lex_state = 263}, + [5293] = {.lex_state = 284}, + [5294] = {.lex_state = 286}, + [5295] = {.lex_state = 286}, + [5296] = {.lex_state = 266}, + [5297] = {.lex_state = 284}, + [5298] = {.lex_state = 286}, + [5299] = {.lex_state = 284}, + [5300] = {.lex_state = 286}, + [5301] = {.lex_state = 286}, + [5302] = {.lex_state = 286}, + [5303] = {.lex_state = 286}, + [5304] = {.lex_state = 284}, + [5305] = {.lex_state = 286}, + [5306] = {.lex_state = 286}, + [5307] = {.lex_state = 268}, + [5308] = {.lex_state = 286}, + [5309] = {.lex_state = 284}, + [5310] = {.lex_state = 284}, + [5311] = {.lex_state = 284}, + [5312] = {.lex_state = 286}, + [5313] = {.lex_state = 284}, + [5314] = {.lex_state = 284}, + [5315] = {.lex_state = 284}, + [5316] = {.lex_state = 284}, + [5317] = {.lex_state = 286}, + [5318] = {.lex_state = 284}, + [5319] = {.lex_state = 251}, + [5320] = {.lex_state = 251}, + [5321] = {.lex_state = 204}, + [5322] = {.lex_state = 251}, + [5323] = {.lex_state = 251}, + [5324] = {.lex_state = 251}, + [5325] = {.lex_state = 251}, + [5326] = {.lex_state = 204}, + [5327] = {.lex_state = 251}, + [5328] = {.lex_state = 251}, + [5329] = {.lex_state = 251}, + [5330] = {.lex_state = 204}, + [5331] = {.lex_state = 251}, + [5332] = {.lex_state = 251}, + [5333] = {.lex_state = 251}, + [5334] = {.lex_state = 204}, + [5335] = {.lex_state = 204}, + [5336] = {.lex_state = 295}, + [5337] = {.lex_state = 295}, + [5338] = {.lex_state = 295}, + [5339] = {.lex_state = 257}, + [5340] = {.lex_state = 204}, + [5341] = {.lex_state = 295}, + [5342] = {.lex_state = 204}, + [5343] = {.lex_state = 295}, + [5344] = {.lex_state = 295}, + [5345] = {.lex_state = 295}, + [5346] = {.lex_state = 295}, + [5347] = {.lex_state = 257}, + [5348] = {.lex_state = 295}, + [5349] = {.lex_state = 295}, + [5350] = {.lex_state = 295}, + [5351] = {.lex_state = 204}, + [5352] = {.lex_state = 295}, + [5353] = {.lex_state = 295}, + [5354] = {.lex_state = 295}, + [5355] = {.lex_state = 263}, + [5356] = {.lex_state = 295}, + [5357] = {.lex_state = 295}, + [5358] = {.lex_state = 295}, + [5359] = {.lex_state = 295}, + [5360] = {.lex_state = 204}, + [5361] = {.lex_state = 295}, + [5362] = {.lex_state = 257}, + [5363] = {.lex_state = 295}, + [5364] = {.lex_state = 295}, + [5365] = {.lex_state = 204}, + [5366] = {.lex_state = 295}, + [5367] = {.lex_state = 204}, + [5368] = {.lex_state = 204}, + [5369] = {.lex_state = 284}, + [5370] = {.lex_state = 263}, + [5371] = {.lex_state = 204}, + [5372] = {.lex_state = 295}, + [5373] = {.lex_state = 204}, + [5374] = {.lex_state = 204}, + [5375] = {.lex_state = 295}, + [5376] = {.lex_state = 295}, + [5377] = {.lex_state = 204}, + [5378] = {.lex_state = 204}, + [5379] = {.lex_state = 204}, + [5380] = {.lex_state = 257}, + [5381] = {.lex_state = 204}, + [5382] = {.lex_state = 204}, + [5383] = {.lex_state = 204}, + [5384] = {.lex_state = 295}, + [5385] = {.lex_state = 295}, + [5386] = {.lex_state = 204}, + [5387] = {.lex_state = 204}, + [5388] = {.lex_state = 295}, + [5389] = {.lex_state = 295}, + [5390] = {.lex_state = 295}, + [5391] = {.lex_state = 204}, + [5392] = {.lex_state = 257}, + [5393] = {.lex_state = 295}, + [5394] = {.lex_state = 286}, + [5395] = {.lex_state = 204}, + [5396] = {.lex_state = 295}, + [5397] = {.lex_state = 204}, + [5398] = {.lex_state = 204}, + [5399] = {.lex_state = 295}, + [5400] = {.lex_state = 204}, + [5401] = {.lex_state = 204}, + [5402] = {.lex_state = 257}, + [5403] = {.lex_state = 204}, + [5404] = {.lex_state = 204}, + [5405] = {.lex_state = 295}, + [5406] = {.lex_state = 204}, + [5407] = {.lex_state = 204}, + [5408] = {.lex_state = 295}, + [5409] = {.lex_state = 204}, + [5410] = {.lex_state = 295}, + [5411] = {.lex_state = 204}, + [5412] = {.lex_state = 295}, + [5413] = {.lex_state = 295}, + [5414] = {.lex_state = 295}, + [5415] = {.lex_state = 204}, + [5416] = {.lex_state = 295}, + [5417] = {.lex_state = 295}, + [5418] = {.lex_state = 204}, + [5419] = {.lex_state = 295}, + [5420] = {.lex_state = 295}, + [5421] = {.lex_state = 263}, + [5422] = {.lex_state = 204}, + [5423] = {.lex_state = 204}, + [5424] = {.lex_state = 286}, + [5425] = {.lex_state = 204}, + [5426] = {.lex_state = 204}, + [5427] = {.lex_state = 204}, + [5428] = {.lex_state = 227}, + [5429] = {.lex_state = 227}, + [5430] = {.lex_state = 227}, + [5431] = {.lex_state = 227}, + [5432] = {.lex_state = 227}, + [5433] = {.lex_state = 227}, + [5434] = {.lex_state = 227}, + [5435] = {.lex_state = 227}, + [5436] = {.lex_state = 227}, + [5437] = {.lex_state = 227}, + [5438] = {.lex_state = 227}, + [5439] = {.lex_state = 227}, + [5440] = {.lex_state = 285}, + [5441] = {.lex_state = 286}, + [5442] = {.lex_state = 227}, + [5443] = {.lex_state = 227}, + [5444] = {.lex_state = 227}, + [5445] = {.lex_state = 227}, + [5446] = {.lex_state = 227}, + [5447] = {.lex_state = 227}, + [5448] = {.lex_state = 227}, + [5449] = {.lex_state = 227}, + [5450] = {.lex_state = 227}, + [5451] = {.lex_state = 227}, + [5452] = {.lex_state = 227}, + [5453] = {.lex_state = 268}, + [5454] = {.lex_state = 227}, + [5455] = {.lex_state = 227}, + [5456] = {.lex_state = 227}, + [5457] = {.lex_state = 227}, + [5458] = {.lex_state = 227}, + [5459] = {.lex_state = 227}, + [5460] = {.lex_state = 227}, + [5461] = {.lex_state = 227}, + [5462] = {.lex_state = 227}, + [5463] = {.lex_state = 227}, + [5464] = {.lex_state = 227}, + [5465] = {.lex_state = 227}, + [5466] = {.lex_state = 268}, + [5467] = {.lex_state = 227}, + [5468] = {.lex_state = 227}, + [5469] = {.lex_state = 227}, + [5470] = {.lex_state = 263}, + [5471] = {.lex_state = 227}, + [5472] = {.lex_state = 227}, + [5473] = {.lex_state = 227}, + [5474] = {.lex_state = 227}, + [5475] = {.lex_state = 227}, + [5476] = {.lex_state = 227}, + [5477] = {.lex_state = 227}, + [5478] = {.lex_state = 227}, + [5479] = {.lex_state = 227}, + [5480] = {.lex_state = 227}, + [5481] = {.lex_state = 227}, + [5482] = {.lex_state = 227}, + [5483] = {.lex_state = 227}, + [5484] = {.lex_state = 227}, + [5485] = {.lex_state = 227}, + [5486] = {.lex_state = 227}, + [5487] = {.lex_state = 227}, + [5488] = {.lex_state = 227}, + [5489] = {.lex_state = 227}, + [5490] = {.lex_state = 227}, + [5491] = {.lex_state = 227}, + [5492] = {.lex_state = 227}, + [5493] = {.lex_state = 227}, + [5494] = {.lex_state = 227}, + [5495] = {.lex_state = 227}, + [5496] = {.lex_state = 227}, + [5497] = {.lex_state = 227}, + [5498] = {.lex_state = 227}, + [5499] = {.lex_state = 227}, + [5500] = {.lex_state = 227}, + [5501] = {.lex_state = 227}, + [5502] = {.lex_state = 227}, + [5503] = {.lex_state = 227}, + [5504] = {.lex_state = 227}, + [5505] = {.lex_state = 227}, + [5506] = {.lex_state = 227}, + [5507] = {.lex_state = 227}, + [5508] = {.lex_state = 227}, + [5509] = {.lex_state = 227}, + [5510] = {.lex_state = 286}, + [5511] = {.lex_state = 227}, + [5512] = {.lex_state = 227}, + [5513] = {.lex_state = 227}, + [5514] = {.lex_state = 227}, + [5515] = {.lex_state = 227}, + [5516] = {.lex_state = 227}, + [5517] = {.lex_state = 227}, + [5518] = {.lex_state = 227}, + [5519] = {.lex_state = 227}, + [5520] = {.lex_state = 227}, + [5521] = {.lex_state = 227}, + [5522] = {.lex_state = 227}, + [5523] = {.lex_state = 227}, + [5524] = {.lex_state = 286}, + [5525] = {.lex_state = 227}, + [5526] = {.lex_state = 227}, + [5527] = {.lex_state = 227}, + [5528] = {.lex_state = 227}, + [5529] = {.lex_state = 227}, + [5530] = {.lex_state = 227}, + [5531] = {.lex_state = 227}, + [5532] = {.lex_state = 227}, + [5533] = {.lex_state = 227}, + [5534] = {.lex_state = 227}, + [5535] = {.lex_state = 284}, + [5536] = {.lex_state = 263}, + [5537] = {.lex_state = 282}, + [5538] = {.lex_state = 263}, + [5539] = {.lex_state = 263}, + [5540] = {.lex_state = 226}, + [5541] = {.lex_state = 282}, + [5542] = {.lex_state = 263}, + [5543] = {.lex_state = 263}, + [5544] = {.lex_state = 263}, + [5545] = {.lex_state = 263}, + [5546] = {.lex_state = 286}, + [5547] = {.lex_state = 282}, + [5548] = {.lex_state = 282}, + [5549] = {.lex_state = 263}, + [5550] = {.lex_state = 282}, + [5551] = {.lex_state = 263}, + [5552] = {.lex_state = 282}, + [5553] = {.lex_state = 251}, + [5554] = {.lex_state = 284}, + [5555] = {.lex_state = 282}, + [5556] = {.lex_state = 282}, + [5557] = {.lex_state = 263}, + [5558] = {.lex_state = 263}, + [5559] = {.lex_state = 251}, + [5560] = {.lex_state = 263}, + [5561] = {.lex_state = 251}, + [5562] = {.lex_state = 282}, + [5563] = {.lex_state = 263}, + [5564] = {.lex_state = 251}, + [5565] = {.lex_state = 282}, + [5566] = {.lex_state = 282}, + [5567] = {.lex_state = 282}, + [5568] = {.lex_state = 284}, + [5569] = {.lex_state = 263}, + [5570] = {.lex_state = 282}, + [5571] = {.lex_state = 282}, + [5572] = {.lex_state = 282}, + [5573] = {.lex_state = 282}, + [5574] = {.lex_state = 263}, + [5575] = {.lex_state = 251}, + [5576] = {.lex_state = 251}, + [5577] = {.lex_state = 263}, + [5578] = {.lex_state = 251}, + [5579] = {.lex_state = 251}, + [5580] = {.lex_state = 251}, + [5581] = {.lex_state = 282}, + [5582] = {.lex_state = 251}, + [5583] = {.lex_state = 282}, + [5584] = {.lex_state = 263}, + [5585] = {.lex_state = 263}, + [5586] = {.lex_state = 251}, + [5587] = {.lex_state = 251}, + [5588] = {.lex_state = 263}, + [5589] = {.lex_state = 263}, + [5590] = {.lex_state = 282}, + [5591] = {.lex_state = 263}, + [5592] = {.lex_state = 282}, + [5593] = {.lex_state = 282}, + [5594] = {.lex_state = 282}, + [5595] = {.lex_state = 263}, + [5596] = {.lex_state = 282}, + [5597] = {.lex_state = 284}, + [5598] = {.lex_state = 282}, + [5599] = {.lex_state = 282}, + [5600] = {.lex_state = 282}, + [5601] = {.lex_state = 282}, + [5602] = {.lex_state = 282}, + [5603] = {.lex_state = 263}, + [5604] = {.lex_state = 282}, + [5605] = {.lex_state = 282}, + [5606] = {.lex_state = 286}, + [5607] = {.lex_state = 263}, + [5608] = {.lex_state = 226}, + [5609] = {.lex_state = 113}, + [5610] = {.lex_state = 263}, + [5611] = {.lex_state = 226}, + [5612] = {.lex_state = 263}, + [5613] = {.lex_state = 226}, + [5614] = {.lex_state = 282}, + [5615] = {.lex_state = 282}, + [5616] = {.lex_state = 226}, + [5617] = {.lex_state = 268}, + [5618] = {.lex_state = 284}, + [5619] = {.lex_state = 226}, + [5620] = {.lex_state = 226}, + [5621] = {.lex_state = 226}, + [5622] = {.lex_state = 227}, + [5623] = {.lex_state = 226}, + [5624] = {.lex_state = 226}, + [5625] = {.lex_state = 227}, + [5626] = {.lex_state = 286}, + [5627] = {.lex_state = 226}, + [5628] = {.lex_state = 226}, + [5629] = {.lex_state = 222}, + [5630] = {.lex_state = 226}, + [5631] = {.lex_state = 226}, + [5632] = {.lex_state = 226}, + [5633] = {.lex_state = 226}, + [5634] = {.lex_state = 226}, + [5635] = {.lex_state = 226}, + [5636] = {.lex_state = 284}, + [5637] = {.lex_state = 226}, + [5638] = {.lex_state = 284}, + [5639] = {.lex_state = 284}, + [5640] = {.lex_state = 226}, + [5641] = {.lex_state = 226}, + [5642] = {.lex_state = 226}, + [5643] = {.lex_state = 226}, + [5644] = {.lex_state = 227}, + [5645] = {.lex_state = 222}, + [5646] = {.lex_state = 226}, + [5647] = {.lex_state = 113}, + [5648] = {.lex_state = 226}, + [5649] = {.lex_state = 284}, + [5650] = {.lex_state = 284}, + [5651] = {.lex_state = 286}, + [5652] = {.lex_state = 227}, + [5653] = {.lex_state = 226}, + [5654] = {.lex_state = 222}, + [5655] = {.lex_state = 226}, + [5656] = {.lex_state = 222}, + [5657] = {.lex_state = 284}, + [5658] = {.lex_state = 113}, + [5659] = {.lex_state = 286}, + [5660] = {.lex_state = 286}, + [5661] = {.lex_state = 284}, + [5662] = {.lex_state = 113}, + [5663] = {.lex_state = 113}, + [5664] = {.lex_state = 113}, + [5665] = {.lex_state = 284}, + [5666] = {.lex_state = 286}, + [5667] = {.lex_state = 284}, + [5668] = {.lex_state = 284}, + [5669] = {.lex_state = 284}, + [5670] = {.lex_state = 286}, + [5671] = {.lex_state = 286}, + [5672] = {.lex_state = 286}, + [5673] = {.lex_state = 113}, + [5674] = {.lex_state = 113}, + [5675] = {.lex_state = 284}, + [5676] = {.lex_state = 286}, + [5677] = {.lex_state = 286}, + [5678] = {.lex_state = 286}, + [5679] = {.lex_state = 286}, + [5680] = {.lex_state = 284}, + [5681] = {.lex_state = 113}, + [5682] = {.lex_state = 113}, + [5683] = {.lex_state = 286}, + [5684] = {.lex_state = 286}, + [5685] = {.lex_state = 113}, + [5686] = {.lex_state = 284}, + [5687] = {.lex_state = 284}, + [5688] = {.lex_state = 113}, + [5689] = {.lex_state = 113}, + [5690] = {.lex_state = 113}, + [5691] = {.lex_state = 113}, + [5692] = {.lex_state = 286}, + [5693] = {.lex_state = 113}, + [5694] = {.lex_state = 113}, + [5695] = {.lex_state = 284}, + [5696] = {.lex_state = 286}, + [5697] = {.lex_state = 286}, + [5698] = {.lex_state = 286}, + [5699] = {.lex_state = 113}, + [5700] = {.lex_state = 113}, + [5701] = {.lex_state = 113}, + [5702] = {.lex_state = 113}, + [5703] = {.lex_state = 113}, + [5704] = {.lex_state = 286}, + [5705] = {.lex_state = 113}, + [5706] = {.lex_state = 113}, + [5707] = {.lex_state = 284}, + [5708] = {.lex_state = 286}, + [5709] = {.lex_state = 113}, + [5710] = {.lex_state = 284}, + [5711] = {.lex_state = 113}, + [5712] = {.lex_state = 266}, + [5713] = {.lex_state = 286}, + [5714] = {.lex_state = 286}, + [5715] = {.lex_state = 286}, + [5716] = {.lex_state = 286}, + [5717] = {.lex_state = 286}, + [5718] = {.lex_state = 286}, + [5719] = {.lex_state = 113}, + [5720] = {.lex_state = 286}, + [5721] = {.lex_state = 286}, + [5722] = {.lex_state = 286}, + [5723] = {.lex_state = 286}, + [5724] = {.lex_state = 286}, + [5725] = {.lex_state = 286}, + [5726] = {.lex_state = 113}, + [5727] = {.lex_state = 286}, + [5728] = {.lex_state = 284}, + [5729] = {.lex_state = 286}, + [5730] = {.lex_state = 284}, + [5731] = {.lex_state = 284}, + [5732] = {.lex_state = 284}, + [5733] = {.lex_state = 286}, + [5734] = {.lex_state = 286}, + [5735] = {.lex_state = 286}, + [5736] = {.lex_state = 284}, + [5737] = {.lex_state = 113}, + [5738] = {.lex_state = 286}, + [5739] = {.lex_state = 286}, + [5740] = {.lex_state = 286}, + [5741] = {.lex_state = 284}, + [5742] = {.lex_state = 263}, + [5743] = {.lex_state = 284}, + [5744] = {.lex_state = 263}, + [5745] = {.lex_state = 284}, + [5746] = {.lex_state = 284}, + [5747] = {.lex_state = 286}, + [5748] = {.lex_state = 286}, + [5749] = {.lex_state = 113}, + [5750] = {.lex_state = 286}, + [5751] = {.lex_state = 113}, + [5752] = {.lex_state = 286}, + [5753] = {.lex_state = 113}, + [5754] = {.lex_state = 113}, + [5755] = {.lex_state = 226}, + [5756] = {.lex_state = 113}, + [5757] = {.lex_state = 226}, + [5758] = {.lex_state = 113}, + [5759] = {.lex_state = 113}, + [5760] = {.lex_state = 286}, + [5761] = {.lex_state = 113}, + [5762] = {.lex_state = 113}, + [5763] = {.lex_state = 284}, + [5764] = {.lex_state = 286}, + [5765] = {.lex_state = 286}, + [5766] = {.lex_state = 286}, + [5767] = {.lex_state = 263}, + [5768] = {.lex_state = 286}, + [5769] = {.lex_state = 286}, + [5770] = {.lex_state = 286}, + [5771] = {.lex_state = 263}, + [5772] = {.lex_state = 286}, + [5773] = {.lex_state = 286}, + [5774] = {.lex_state = 286}, + [5775] = {.lex_state = 286}, + [5776] = {.lex_state = 284}, + [5777] = {.lex_state = 282}, + [5778] = {.lex_state = 282}, + [5779] = {.lex_state = 216}, + [5780] = {.lex_state = 285}, + [5781] = {.lex_state = 216}, + [5782] = {.lex_state = 285}, + [5783] = {.lex_state = 216}, + [5784] = {.lex_state = 282}, + [5785] = {.lex_state = 282}, + [5786] = {.lex_state = 282}, + [5787] = {.lex_state = 216}, + [5788] = {.lex_state = 216}, + [5789] = {.lex_state = 216}, + [5790] = {.lex_state = 216}, + [5791] = {.lex_state = 285}, + [5792] = {.lex_state = 285}, + [5793] = {.lex_state = 216}, + [5794] = {.lex_state = 282}, + [5795] = {.lex_state = 216}, + [5796] = {.lex_state = 282}, + [5797] = {.lex_state = 216}, + [5798] = {.lex_state = 285}, + [5799] = {.lex_state = 286}, + [5800] = {.lex_state = 216}, + [5801] = {.lex_state = 285}, + [5802] = {.lex_state = 216}, + [5803] = {.lex_state = 285}, + [5804] = {.lex_state = 282}, + [5805] = {.lex_state = 216}, + [5806] = {.lex_state = 285}, + [5807] = {.lex_state = 282}, + [5808] = {.lex_state = 286}, + [5809] = {.lex_state = 216}, + [5810] = {.lex_state = 216}, + [5811] = {.lex_state = 282}, + [5812] = {.lex_state = 282}, + [5813] = {.lex_state = 282}, + [5814] = {.lex_state = 216}, + [5815] = {.lex_state = 282}, + [5816] = {.lex_state = 282}, + [5817] = {.lex_state = 282}, + [5818] = {.lex_state = 286}, + [5819] = {.lex_state = 286}, + [5820] = {.lex_state = 286}, + [5821] = {.lex_state = 282}, + [5822] = {.lex_state = 282}, + [5823] = {.lex_state = 282}, + [5824] = {.lex_state = 216}, + [5825] = {.lex_state = 282}, + [5826] = {.lex_state = 282}, + [5827] = {.lex_state = 282}, + [5828] = {.lex_state = 216}, + [5829] = {.lex_state = 282}, + [5830] = {.lex_state = 227}, + [5831] = {.lex_state = 286}, + [5832] = {.lex_state = 227}, + [5833] = {.lex_state = 284}, + [5834] = {.lex_state = 284}, + [5835] = {.lex_state = 284}, + [5836] = {.lex_state = 286}, + [5837] = {.lex_state = 286}, + [5838] = {.lex_state = 268}, + [5839] = {.lex_state = 216}, + [5840] = {.lex_state = 284}, + [5841] = {.lex_state = 286}, + [5842] = {.lex_state = 286}, + [5843] = {.lex_state = 216}, + [5844] = {.lex_state = 201}, + [5845] = {.lex_state = 201}, + [5846] = {.lex_state = 268}, + [5847] = {.lex_state = 216}, + [5848] = {.lex_state = 268}, + [5849] = {.lex_state = 268}, + [5850] = {.lex_state = 286}, + [5851] = {.lex_state = 216}, + [5852] = {.lex_state = 208}, + [5853] = {.lex_state = 227}, + [5854] = {.lex_state = 286}, + [5855] = {.lex_state = 216}, + [5856] = {.lex_state = 201}, + [5857] = {.lex_state = 268}, + [5858] = {.lex_state = 227}, + [5859] = {.lex_state = 216}, + [5860] = {.lex_state = 286}, + [5861] = {.lex_state = 201}, + [5862] = {.lex_state = 201}, + [5863] = {.lex_state = 286}, + [5864] = {.lex_state = 286}, + [5865] = {.lex_state = 286}, + [5866] = {.lex_state = 227}, + [5867] = {.lex_state = 286}, + [5868] = {.lex_state = 286}, + [5869] = {.lex_state = 227}, + [5870] = {.lex_state = 286}, + [5871] = {.lex_state = 286}, + [5872] = {.lex_state = 285}, + [5873] = {.lex_state = 286}, + [5874] = {.lex_state = 286}, + [5875] = {.lex_state = 268}, + [5876] = {.lex_state = 285}, + [5877] = {.lex_state = 227}, + [5878] = {.lex_state = 284}, + [5879] = {.lex_state = 227}, + [5880] = {.lex_state = 286}, + [5881] = {.lex_state = 284}, + [5882] = {.lex_state = 268}, + [5883] = {.lex_state = 284}, + [5884] = {.lex_state = 286}, + [5885] = {.lex_state = 201}, + [5886] = {.lex_state = 201}, + [5887] = {.lex_state = 286}, + [5888] = {.lex_state = 284}, + [5889] = {.lex_state = 284}, + [5890] = {.lex_state = 268}, + [5891] = {.lex_state = 227}, + [5892] = {.lex_state = 268}, + [5893] = {.lex_state = 284}, + [5894] = {.lex_state = 284}, + [5895] = {.lex_state = 286}, + [5896] = {.lex_state = 286}, + [5897] = {.lex_state = 227}, + [5898] = {.lex_state = 286}, + [5899] = {.lex_state = 286}, + [5900] = {.lex_state = 201}, + [5901] = {.lex_state = 286}, + [5902] = {.lex_state = 268}, + [5903] = {.lex_state = 286}, + [5904] = {.lex_state = 284}, + [5905] = {.lex_state = 286}, + [5906] = {.lex_state = 286}, + [5907] = {.lex_state = 286}, + [5908] = {.lex_state = 286}, + [5909] = {.lex_state = 201}, + [5910] = {.lex_state = 227}, + [5911] = {.lex_state = 268}, + [5912] = {.lex_state = 285}, + [5913] = {.lex_state = 284}, + [5914] = {.lex_state = 216}, + [5915] = {.lex_state = 201}, + [5916] = {.lex_state = 284}, + [5917] = {.lex_state = 285}, + [5918] = {.lex_state = 227}, + [5919] = {.lex_state = 227}, + [5920] = {.lex_state = 285}, + [5921] = {.lex_state = 294}, + [5922] = {.lex_state = 285}, + [5923] = {.lex_state = 227}, + [5924] = {.lex_state = 251}, + [5925] = {.lex_state = 285}, + [5926] = {.lex_state = 227}, + [5927] = {.lex_state = 227}, + [5928] = {.lex_state = 284}, + [5929] = {.lex_state = 285}, + [5930] = {.lex_state = 201}, + [5931] = {.lex_state = 285}, + [5932] = {.lex_state = 227}, + [5933] = {.lex_state = 285}, + [5934] = {.lex_state = 285}, + [5935] = {.lex_state = 285}, + [5936] = {.lex_state = 287}, + [5937] = {.lex_state = 285}, + [5938] = {.lex_state = 285}, + [5939] = {.lex_state = 285}, + [5940] = {.lex_state = 285}, + [5941] = {.lex_state = 285}, + [5942] = {.lex_state = 227}, + [5943] = {.lex_state = 227}, + [5944] = {.lex_state = 285}, + [5945] = {.lex_state = 227}, + [5946] = {.lex_state = 201}, + [5947] = {.lex_state = 284}, + [5948] = {.lex_state = 227}, + [5949] = {.lex_state = 227}, + [5950] = {.lex_state = 285}, + [5951] = {.lex_state = 227}, + [5952] = {.lex_state = 285}, + [5953] = {.lex_state = 287}, + [5954] = {.lex_state = 285}, + [5955] = {.lex_state = 227}, + [5956] = {.lex_state = 285}, + [5957] = {.lex_state = 285}, + [5958] = {.lex_state = 227}, + [5959] = {.lex_state = 285}, + [5960] = {.lex_state = 227}, + [5961] = {.lex_state = 251}, + [5962] = {.lex_state = 227}, + [5963] = {.lex_state = 285}, + [5964] = {.lex_state = 251}, + [5965] = {.lex_state = 284}, + [5966] = {.lex_state = 251}, + [5967] = {.lex_state = 227}, + [5968] = {.lex_state = 251}, + [5969] = {.lex_state = 286}, + [5970] = {.lex_state = 285}, + [5971] = {.lex_state = 285}, + [5972] = {.lex_state = 227}, + [5973] = {.lex_state = 285}, + [5974] = {.lex_state = 251}, + [5975] = {.lex_state = 227}, + [5976] = {.lex_state = 227}, + [5977] = {.lex_state = 227}, + [5978] = {.lex_state = 285}, + [5979] = {.lex_state = 227}, + [5980] = {.lex_state = 285}, + [5981] = {.lex_state = 251}, + [5982] = {.lex_state = 227}, + [5983] = {.lex_state = 227}, + [5984] = {.lex_state = 285}, + [5985] = {.lex_state = 286}, + [5986] = {.lex_state = 285}, + [5987] = {.lex_state = 227}, + [5988] = {.lex_state = 251}, + [5989] = {.lex_state = 227}, + [5990] = {.lex_state = 227}, + [5991] = {.lex_state = 286}, + [5992] = {.lex_state = 225}, + [5993] = {.lex_state = 227}, + [5994] = {.lex_state = 227}, + [5995] = {.lex_state = 225}, + [5996] = {.lex_state = 225}, + [5997] = {.lex_state = 0}, + [5998] = {.lex_state = 0}, + [5999] = {.lex_state = 201}, + [6000] = {.lex_state = 248}, + [6001] = {.lex_state = 225}, + [6002] = {.lex_state = 286}, + [6003] = {.lex_state = 286}, + [6004] = {.lex_state = 201}, + [6005] = {.lex_state = 248}, + [6006] = {.lex_state = 248}, + [6007] = {.lex_state = 286}, + [6008] = {.lex_state = 286}, + [6009] = {.lex_state = 286}, + [6010] = {.lex_state = 286}, + [6011] = {.lex_state = 286}, + [6012] = {.lex_state = 286}, + [6013] = {.lex_state = 286}, + [6014] = {.lex_state = 0}, + [6015] = {.lex_state = 286}, + [6016] = {.lex_state = 227}, + [6017] = {.lex_state = 225}, + [6018] = {.lex_state = 222}, + [6019] = {.lex_state = 225}, + [6020] = {.lex_state = 222}, + [6021] = {.lex_state = 286}, + [6022] = {.lex_state = 286}, + [6023] = {.lex_state = 284}, + [6024] = {.lex_state = 222}, + [6025] = {.lex_state = 284}, + [6026] = {.lex_state = 286}, + [6027] = {.lex_state = 225}, + [6028] = {.lex_state = 222}, + [6029] = {.lex_state = 284}, + [6030] = {.lex_state = 284}, + [6031] = {.lex_state = 284}, + [6032] = {.lex_state = 201}, + [6033] = {.lex_state = 286}, + [6034] = {.lex_state = 286}, + [6035] = {.lex_state = 0}, + [6036] = {.lex_state = 227}, + [6037] = {.lex_state = 284}, + [6038] = {.lex_state = 225}, + [6039] = {.lex_state = 284}, + [6040] = {.lex_state = 286}, + [6041] = {.lex_state = 286}, + [6042] = {.lex_state = 201}, + [6043] = {.lex_state = 286}, + [6044] = {.lex_state = 284}, + [6045] = {.lex_state = 225}, + [6046] = {.lex_state = 222}, + [6047] = {.lex_state = 286}, + [6048] = {.lex_state = 225}, + [6049] = {.lex_state = 0}, + [6050] = {.lex_state = 225}, + [6051] = {.lex_state = 222}, + [6052] = {.lex_state = 225}, + [6053] = {.lex_state = 0}, + [6054] = {.lex_state = 227}, + [6055] = {.lex_state = 227}, + [6056] = {.lex_state = 248}, + [6057] = {.lex_state = 0}, + [6058] = {.lex_state = 284}, + [6059] = {.lex_state = 225}, + [6060] = {.lex_state = 201}, + [6061] = {.lex_state = 225}, + [6062] = {.lex_state = 284}, + [6063] = {.lex_state = 284}, + [6064] = {.lex_state = 225}, + [6065] = {.lex_state = 248}, + [6066] = {.lex_state = 201}, + [6067] = {.lex_state = 284}, + [6068] = {.lex_state = 248}, + [6069] = {.lex_state = 225}, + [6070] = {.lex_state = 201}, + [6071] = {.lex_state = 201}, + [6072] = {.lex_state = 284}, + [6073] = {.lex_state = 201}, + [6074] = {.lex_state = 225}, + [6075] = {.lex_state = 225}, + [6076] = {.lex_state = 225}, + [6077] = {.lex_state = 248}, + [6078] = {.lex_state = 227}, + [6079] = {.lex_state = 284}, + [6080] = {.lex_state = 248}, + [6081] = {.lex_state = 201}, + [6082] = {.lex_state = 227}, + [6083] = {.lex_state = 225}, + [6084] = {.lex_state = 287}, + [6085] = {.lex_state = 227}, + [6086] = {.lex_state = 241}, + [6087] = {.lex_state = 285}, + [6088] = {.lex_state = 227}, + [6089] = {.lex_state = 248}, + [6090] = {.lex_state = 241}, + [6091] = {.lex_state = 286}, + [6092] = {.lex_state = 227}, + [6093] = {.lex_state = 268}, + [6094] = {.lex_state = 286}, + [6095] = {.lex_state = 286}, + [6096] = {.lex_state = 286}, + [6097] = {.lex_state = 248}, + [6098] = {.lex_state = 248}, + [6099] = {.lex_state = 241}, + [6100] = {.lex_state = 287}, + [6101] = {.lex_state = 241}, + [6102] = {.lex_state = 287}, + [6103] = {.lex_state = 248}, + [6104] = {.lex_state = 227}, + [6105] = {.lex_state = 248}, + [6106] = {.lex_state = 248}, + [6107] = {.lex_state = 241}, + [6108] = {.lex_state = 286}, + [6109] = {.lex_state = 287}, + [6110] = {.lex_state = 287}, + [6111] = {.lex_state = 268}, + [6112] = {.lex_state = 284}, + [6113] = {.lex_state = 248}, + [6114] = {.lex_state = 241}, + [6115] = {.lex_state = 286}, + [6116] = {.lex_state = 227}, + [6117] = {.lex_state = 268}, + [6118] = {.lex_state = 286}, + [6119] = {.lex_state = 227}, + [6120] = {.lex_state = 248}, + [6121] = {.lex_state = 285}, + [6122] = {.lex_state = 268}, + [6123] = {.lex_state = 0}, + [6124] = {.lex_state = 241}, + [6125] = {.lex_state = 227}, + [6126] = {.lex_state = 241}, + [6127] = {.lex_state = 287}, + [6128] = {.lex_state = 286}, + [6129] = {.lex_state = 286}, + [6130] = {.lex_state = 227}, + [6131] = {.lex_state = 286}, + [6132] = {.lex_state = 284}, + [6133] = {.lex_state = 287}, + [6134] = {.lex_state = 286}, + [6135] = {.lex_state = 287}, + [6136] = {.lex_state = 227}, + [6137] = {.lex_state = 286}, + [6138] = {.lex_state = 227}, + [6139] = {.lex_state = 268}, + [6140] = {.lex_state = 287}, + [6141] = {.lex_state = 287}, + [6142] = {.lex_state = 284}, + [6143] = {.lex_state = 268}, + [6144] = {.lex_state = 268}, + [6145] = {.lex_state = 268}, + [6146] = {.lex_state = 284}, + [6147] = {.lex_state = 227}, + [6148] = {.lex_state = 268}, + [6149] = {.lex_state = 285}, + [6150] = {.lex_state = 286}, + [6151] = {.lex_state = 285}, + [6152] = {.lex_state = 227}, + [6153] = {.lex_state = 286}, + [6154] = {.lex_state = 286}, + [6155] = {.lex_state = 287}, + [6156] = {.lex_state = 287}, + [6157] = {.lex_state = 0}, + [6158] = {.lex_state = 236}, + [6159] = {.lex_state = 227}, + [6160] = {.lex_state = 286}, + [6161] = {.lex_state = 286}, + [6162] = {.lex_state = 227}, + [6163] = {.lex_state = 287}, + [6164] = {.lex_state = 227}, + [6165] = {.lex_state = 227}, + [6166] = {.lex_state = 287}, + [6167] = {.lex_state = 286}, + [6168] = {.lex_state = 284}, + [6169] = {.lex_state = 284}, + [6170] = {.lex_state = 268}, + [6171] = {.lex_state = 286}, + [6172] = {.lex_state = 227}, + [6173] = {.lex_state = 286}, + [6174] = {.lex_state = 284}, + [6175] = {.lex_state = 287}, + [6176] = {.lex_state = 286}, + [6177] = {.lex_state = 284}, + [6178] = {.lex_state = 268}, + [6179] = {.lex_state = 208}, + [6180] = {.lex_state = 241}, + [6181] = {.lex_state = 227}, + [6182] = {.lex_state = 241}, + [6183] = {.lex_state = 285}, + [6184] = {.lex_state = 285}, + [6185] = {.lex_state = 227}, + [6186] = {.lex_state = 287}, + [6187] = {.lex_state = 286}, + [6188] = {.lex_state = 241}, + [6189] = {.lex_state = 287}, + [6190] = {.lex_state = 268}, + [6191] = {.lex_state = 285}, + [6192] = {.lex_state = 285}, + [6193] = {.lex_state = 286}, + [6194] = {.lex_state = 227}, + [6195] = {.lex_state = 287}, + [6196] = {.lex_state = 227}, + [6197] = {.lex_state = 287}, + [6198] = {.lex_state = 287}, + [6199] = {.lex_state = 227}, + [6200] = {.lex_state = 286}, + [6201] = {.lex_state = 227}, + [6202] = {.lex_state = 287}, + [6203] = {.lex_state = 241}, + [6204] = {.lex_state = 286}, + [6205] = {.lex_state = 286}, + [6206] = {.lex_state = 286}, + [6207] = {.lex_state = 201}, + [6208] = {.lex_state = 286}, + [6209] = {.lex_state = 286}, + [6210] = {.lex_state = 227}, + [6211] = {.lex_state = 286}, + [6212] = {.lex_state = 286}, + [6213] = {.lex_state = 286}, + [6214] = {.lex_state = 227}, + [6215] = {.lex_state = 227}, + [6216] = {.lex_state = 286}, + [6217] = {.lex_state = 286}, + [6218] = {.lex_state = 227}, + [6219] = {.lex_state = 286}, + [6220] = {.lex_state = 286}, + [6221] = {.lex_state = 284}, + [6222] = {.lex_state = 284}, + [6223] = {.lex_state = 284}, + [6224] = {.lex_state = 284}, + [6225] = {.lex_state = 284}, + [6226] = {.lex_state = 284}, + [6227] = {.lex_state = 286}, + [6228] = {.lex_state = 286}, + [6229] = {.lex_state = 284}, + [6230] = {.lex_state = 286}, + [6231] = {.lex_state = 284}, + [6232] = {.lex_state = 227}, + [6233] = {.lex_state = 286}, + [6234] = {.lex_state = 227}, + [6235] = {.lex_state = 286}, + [6236] = {.lex_state = 286}, + [6237] = {.lex_state = 286}, + [6238] = {.lex_state = 286}, + [6239] = {.lex_state = 286}, + [6240] = {.lex_state = 286}, + [6241] = {.lex_state = 227}, + [6242] = {.lex_state = 286}, + [6243] = {.lex_state = 286}, + [6244] = {.lex_state = 286}, + [6245] = {.lex_state = 286}, + [6246] = {.lex_state = 286}, + [6247] = {.lex_state = 227}, + [6248] = {.lex_state = 286}, + [6249] = {.lex_state = 286}, + [6250] = {.lex_state = 227}, + [6251] = {.lex_state = 286}, + [6252] = {.lex_state = 227}, + [6253] = {.lex_state = 227}, + [6254] = {.lex_state = 286}, + [6255] = {.lex_state = 286}, + [6256] = {.lex_state = 227}, + [6257] = {.lex_state = 227}, + [6258] = {.lex_state = 227}, + [6259] = {.lex_state = 286}, + [6260] = {.lex_state = 251}, + [6261] = {.lex_state = 251}, + [6262] = {.lex_state = 286}, + [6263] = {.lex_state = 251}, + [6264] = {.lex_state = 201}, + [6265] = {.lex_state = 286}, + [6266] = {.lex_state = 225}, + [6267] = {.lex_state = 251}, + [6268] = {.lex_state = 286}, + [6269] = {.lex_state = 286}, + [6270] = {.lex_state = 286}, + [6271] = {.lex_state = 286}, + [6272] = {.lex_state = 286}, + [6273] = {.lex_state = 286}, + [6274] = {.lex_state = 286}, + [6275] = {.lex_state = 251}, + [6276] = {.lex_state = 251}, + [6277] = {.lex_state = 251}, + [6278] = {.lex_state = 227}, + [6279] = {.lex_state = 227}, + [6280] = {.lex_state = 201}, + [6281] = {.lex_state = 227}, + [6282] = {.lex_state = 227}, + [6283] = {.lex_state = 227}, + [6284] = {.lex_state = 227}, + [6285] = {.lex_state = 227}, + [6286] = {.lex_state = 227}, + [6287] = {.lex_state = 227}, + [6288] = {.lex_state = 227}, + [6289] = {.lex_state = 286}, + [6290] = {.lex_state = 286}, + [6291] = {.lex_state = 235}, + [6292] = {.lex_state = 286}, + [6293] = {.lex_state = 227}, + [6294] = {.lex_state = 286}, + [6295] = {.lex_state = 286}, + [6296] = {.lex_state = 251}, + [6297] = {.lex_state = 286}, + [6298] = {.lex_state = 286}, + [6299] = {.lex_state = 286}, + [6300] = {.lex_state = 241}, + [6301] = {.lex_state = 248}, + [6302] = {.lex_state = 241}, + [6303] = {.lex_state = 241}, + [6304] = {.lex_state = 241}, + [6305] = {.lex_state = 241}, + [6306] = {.lex_state = 241}, + [6307] = {.lex_state = 248}, + [6308] = {.lex_state = 248}, + [6309] = {.lex_state = 248}, + [6310] = {.lex_state = 241}, + [6311] = {.lex_state = 227}, + [6312] = {.lex_state = 241}, + [6313] = {.lex_state = 248}, + [6314] = {.lex_state = 241}, + [6315] = {.lex_state = 277}, + [6316] = {.lex_state = 248}, + [6317] = {.lex_state = 286}, + [6318] = {.lex_state = 277}, + [6319] = {.lex_state = 268}, + [6320] = {.lex_state = 268}, + [6321] = {.lex_state = 268}, + [6322] = {.lex_state = 241}, + [6323] = {.lex_state = 268}, + [6324] = {.lex_state = 227}, + [6325] = {.lex_state = 268}, + [6326] = {.lex_state = 248}, + [6327] = {.lex_state = 286}, + [6328] = {.lex_state = 268}, + [6329] = {.lex_state = 248}, + [6330] = {.lex_state = 268}, + [6331] = {.lex_state = 248}, + [6332] = {.lex_state = 248}, + [6333] = {.lex_state = 268}, + [6334] = {.lex_state = 248}, + [6335] = {.lex_state = 248}, + [6336] = {.lex_state = 241}, + [6337] = {.lex_state = 382}, + [6338] = {.lex_state = 286}, + [6339] = {.lex_state = 382}, + [6340] = {.lex_state = 208}, + [6341] = {.lex_state = 286}, + [6342] = {.lex_state = 208}, + [6343] = {.lex_state = 382}, + [6344] = {.lex_state = 227}, + [6345] = {.lex_state = 241}, + [6346] = {.lex_state = 382}, + [6347] = {.lex_state = 382}, + [6348] = {.lex_state = 227}, + [6349] = {.lex_state = 277}, + [6350] = {.lex_state = 277}, + [6351] = {.lex_state = 241}, + [6352] = {.lex_state = 286}, + [6353] = {.lex_state = 227}, + [6354] = {.lex_state = 227}, + [6355] = {.lex_state = 263}, + [6356] = {.lex_state = 227}, + [6357] = {.lex_state = 286}, + [6358] = {.lex_state = 263}, + [6359] = {.lex_state = 227}, + [6360] = {.lex_state = 227}, + [6361] = {.lex_state = 286}, + [6362] = {.lex_state = 227}, + [6363] = {.lex_state = 227}, + [6364] = {.lex_state = 251}, + [6365] = {.lex_state = 251}, + [6366] = {.lex_state = 240}, + [6367] = {.lex_state = 240}, + [6368] = {.lex_state = 251}, + [6369] = {.lex_state = 263}, + [6370] = {.lex_state = 240}, + [6371] = {.lex_state = 251}, + [6372] = {.lex_state = 241}, + [6373] = {.lex_state = 251}, + [6374] = {.lex_state = 251}, + [6375] = {.lex_state = 241}, + [6376] = {.lex_state = 251}, + [6377] = {.lex_state = 251}, + [6378] = {.lex_state = 241}, + [6379] = {.lex_state = 241}, + [6380] = {.lex_state = 241}, + [6381] = {.lex_state = 241}, + [6382] = {.lex_state = 227}, + [6383] = {.lex_state = 251}, + [6384] = {.lex_state = 240}, + [6385] = {.lex_state = 241}, + [6386] = {.lex_state = 227}, + [6387] = {.lex_state = 263}, + [6388] = {.lex_state = 263}, + [6389] = {.lex_state = 241}, + [6390] = {.lex_state = 241}, + [6391] = {.lex_state = 286}, + [6392] = {.lex_state = 227}, + [6393] = {.lex_state = 241}, + [6394] = {.lex_state = 240}, + [6395] = {.lex_state = 227}, + [6396] = {.lex_state = 286}, + [6397] = {.lex_state = 227}, + [6398] = {.lex_state = 251}, + [6399] = {.lex_state = 227}, + [6400] = {.lex_state = 227}, + [6401] = {.lex_state = 240}, + [6402] = {.lex_state = 286}, + [6403] = {.lex_state = 251}, + [6404] = {.lex_state = 251}, + [6405] = {.lex_state = 286}, + [6406] = {.lex_state = 241}, + [6407] = {.lex_state = 286}, + [6408] = {.lex_state = 227}, + [6409] = {.lex_state = 241}, + [6410] = {.lex_state = 227}, + [6411] = {.lex_state = 263}, + [6412] = {.lex_state = 241}, + [6413] = {.lex_state = 227}, + [6414] = {.lex_state = 241}, + [6415] = {.lex_state = 263}, + [6416] = {.lex_state = 263}, + [6417] = {.lex_state = 241}, + [6418] = {.lex_state = 227}, + [6419] = {.lex_state = 286}, + [6420] = {.lex_state = 263}, + [6421] = {.lex_state = 241}, + [6422] = {.lex_state = 263}, + [6423] = {.lex_state = 227}, + [6424] = {.lex_state = 240}, + [6425] = {.lex_state = 241}, + [6426] = {.lex_state = 227}, + [6427] = {.lex_state = 263}, + [6428] = {.lex_state = 263}, + [6429] = {.lex_state = 263}, + [6430] = {.lex_state = 285}, + [6431] = {.lex_state = 227}, + [6432] = {.lex_state = 241}, + [6433] = {.lex_state = 241}, + [6434] = {.lex_state = 241}, + [6435] = {.lex_state = 227}, + [6436] = {.lex_state = 227}, + [6437] = {.lex_state = 227}, + [6438] = {.lex_state = 227}, + [6439] = {.lex_state = 227}, + [6440] = {.lex_state = 227}, + [6441] = {.lex_state = 241}, + [6442] = {.lex_state = 241}, + [6443] = {.lex_state = 241}, + [6444] = {.lex_state = 241}, + [6445] = {.lex_state = 227}, + [6446] = {.lex_state = 227}, + [6447] = {.lex_state = 286}, + [6448] = {.lex_state = 286}, + [6449] = {.lex_state = 227}, + [6450] = {.lex_state = 240}, + [6451] = {.lex_state = 263}, + [6452] = {.lex_state = 285}, + [6453] = {.lex_state = 285}, + [6454] = {.lex_state = 227}, + [6455] = {.lex_state = 227}, + [6456] = {.lex_state = 227}, + [6457] = {.lex_state = 227}, + [6458] = {.lex_state = 285}, + [6459] = {.lex_state = 263}, + [6460] = {.lex_state = 241}, + [6461] = {.lex_state = 227}, + [6462] = {.lex_state = 241}, + [6463] = {.lex_state = 241}, + [6464] = {.lex_state = 227}, + [6465] = {.lex_state = 227}, + [6466] = {.lex_state = 227}, + [6467] = {.lex_state = 227}, + [6468] = {.lex_state = 227}, + [6469] = {.lex_state = 248}, + [6470] = {.lex_state = 382}, + [6471] = {.lex_state = 201}, + [6472] = {.lex_state = 382}, + [6473] = {.lex_state = 227}, + [6474] = {.lex_state = 286}, + [6475] = {.lex_state = 248}, + [6476] = {.lex_state = 286}, + [6477] = {.lex_state = 286}, + [6478] = {.lex_state = 201}, + [6479] = {.lex_state = 248}, + [6480] = {.lex_state = 227}, + [6481] = {.lex_state = 248}, + [6482] = {.lex_state = 248}, + [6483] = {.lex_state = 382}, + [6484] = {.lex_state = 286}, + [6485] = {.lex_state = 248}, + [6486] = {.lex_state = 286}, + [6487] = {.lex_state = 286}, + [6488] = {.lex_state = 248}, + [6489] = {.lex_state = 241}, + [6490] = {.lex_state = 248}, + [6491] = {.lex_state = 286}, + [6492] = {.lex_state = 227}, + [6493] = {.lex_state = 382}, + [6494] = {.lex_state = 263}, + [6495] = {.lex_state = 251}, + [6496] = {.lex_state = 251}, + [6497] = {.lex_state = 201}, + [6498] = {.lex_state = 227}, + [6499] = {.lex_state = 227}, + [6500] = {.lex_state = 251}, + [6501] = {.lex_state = 227}, + [6502] = {.lex_state = 241}, + [6503] = {.lex_state = 268}, + [6504] = {.lex_state = 251}, + [6505] = {.lex_state = 251}, + [6506] = {.lex_state = 281}, + [6507] = {.lex_state = 251}, + [6508] = {.lex_state = 251}, + [6509] = {.lex_state = 227}, + [6510] = {.lex_state = 268}, + [6511] = {.lex_state = 227}, + [6512] = {.lex_state = 263}, + [6513] = {.lex_state = 227}, + [6514] = {.lex_state = 251}, + [6515] = {.lex_state = 382}, + [6516] = {.lex_state = 227}, + [6517] = {.lex_state = 227}, + [6518] = {.lex_state = 229}, + [6519] = {.lex_state = 382}, + [6520] = {.lex_state = 229}, + [6521] = {.lex_state = 382}, + [6522] = {.lex_state = 382}, + [6523] = {.lex_state = 229}, + [6524] = {.lex_state = 284}, + [6525] = {.lex_state = 382}, + [6526] = {.lex_state = 285}, + [6527] = {.lex_state = 382}, + [6528] = {.lex_state = 382}, + [6529] = {.lex_state = 382}, + [6530] = {.lex_state = 0}, + [6531] = {.lex_state = 382}, + [6532] = {.lex_state = 229}, + [6533] = {.lex_state = 382}, + [6534] = {.lex_state = 382}, + [6535] = {.lex_state = 268}, + [6536] = {.lex_state = 382}, + [6537] = {.lex_state = 382}, + [6538] = {.lex_state = 382}, + [6539] = {.lex_state = 268}, + [6540] = {.lex_state = 284}, + [6541] = {.lex_state = 268}, + [6542] = {.lex_state = 288}, + [6543] = {.lex_state = 382}, + [6544] = {.lex_state = 382}, + [6545] = {.lex_state = 382}, + [6546] = {.lex_state = 382}, + [6547] = {.lex_state = 0}, + [6548] = {.lex_state = 268}, + [6549] = {.lex_state = 382}, + [6550] = {.lex_state = 229}, + [6551] = {.lex_state = 268}, + [6552] = {.lex_state = 268}, + [6553] = {.lex_state = 382}, + [6554] = {.lex_state = 382}, + [6555] = {.lex_state = 382}, + [6556] = {.lex_state = 382}, + [6557] = {.lex_state = 268}, + [6558] = {.lex_state = 268}, + [6559] = {.lex_state = 382}, + [6560] = {.lex_state = 382}, + [6561] = {.lex_state = 229}, + [6562] = {.lex_state = 201}, + [6563] = {.lex_state = 225}, + [6564] = {.lex_state = 229}, + [6565] = {.lex_state = 201}, + [6566] = {.lex_state = 225}, + [6567] = {.lex_state = 225}, + [6568] = {.lex_state = 227}, + [6569] = {.lex_state = 227}, + [6570] = {.lex_state = 382}, + [6571] = {.lex_state = 227}, + [6572] = {.lex_state = 227}, + [6573] = {.lex_state = 201}, + [6574] = {.lex_state = 382}, + [6575] = {.lex_state = 382}, + [6576] = {.lex_state = 382}, + [6577] = {.lex_state = 382}, + [6578] = {.lex_state = 382}, + [6579] = {.lex_state = 225}, + [6580] = {.lex_state = 201}, + [6581] = {.lex_state = 281}, + [6582] = {.lex_state = 201}, + [6583] = {.lex_state = 201}, + [6584] = {.lex_state = 284}, + [6585] = {.lex_state = 201}, + [6586] = {.lex_state = 201}, + [6587] = {.lex_state = 225}, + [6588] = {.lex_state = 201}, + [6589] = {.lex_state = 201}, + [6590] = {.lex_state = 382}, + [6591] = {.lex_state = 229}, + [6592] = {.lex_state = 268}, + [6593] = {.lex_state = 225}, + [6594] = {.lex_state = 201}, + [6595] = {.lex_state = 225}, + [6596] = {.lex_state = 201}, + [6597] = {.lex_state = 227}, + [6598] = {.lex_state = 201}, + [6599] = {.lex_state = 268}, + [6600] = {.lex_state = 382}, + [6601] = {.lex_state = 225}, + [6602] = {.lex_state = 225}, + [6603] = {.lex_state = 268}, + [6604] = {.lex_state = 229}, + [6605] = {.lex_state = 227}, + [6606] = {.lex_state = 201}, + [6607] = {.lex_state = 227}, + [6608] = {.lex_state = 201}, + [6609] = {.lex_state = 227}, + [6610] = {.lex_state = 201}, + [6611] = {.lex_state = 227}, + [6612] = {.lex_state = 227}, + [6613] = {.lex_state = 201}, + [6614] = {.lex_state = 201}, + [6615] = {.lex_state = 227}, + [6616] = {.lex_state = 382}, + [6617] = {.lex_state = 201}, + [6618] = {.lex_state = 229}, + [6619] = {.lex_state = 229}, + [6620] = {.lex_state = 201}, + [6621] = {.lex_state = 227}, + [6622] = {.lex_state = 382}, + [6623] = {.lex_state = 225}, + [6624] = {.lex_state = 201}, + [6625] = {.lex_state = 227}, + [6626] = {.lex_state = 201}, + [6627] = {.lex_state = 225}, + [6628] = {.lex_state = 201}, + [6629] = {.lex_state = 284}, + [6630] = {.lex_state = 240}, + [6631] = {.lex_state = 284}, + [6632] = {.lex_state = 240}, + [6633] = {.lex_state = 240}, + [6634] = {.lex_state = 240}, + [6635] = {.lex_state = 240}, + [6636] = {.lex_state = 284}, + [6637] = {.lex_state = 240}, + [6638] = {.lex_state = 284}, + [6639] = {.lex_state = 227}, + [6640] = {.lex_state = 240}, + [6641] = {.lex_state = 284}, + [6642] = {.lex_state = 284}, + [6643] = {.lex_state = 382}, + [6644] = {.lex_state = 284}, + [6645] = {.lex_state = 281}, + [6646] = {.lex_state = 281}, + [6647] = {.lex_state = 240}, + [6648] = {.lex_state = 240}, + [6649] = {.lex_state = 240}, + [6650] = {.lex_state = 284}, + [6651] = {.lex_state = 382}, + [6652] = {.lex_state = 240}, + [6653] = {.lex_state = 284}, + [6654] = {.lex_state = 281}, + [6655] = {.lex_state = 241}, + [6656] = {.lex_state = 284}, + [6657] = {.lex_state = 281}, + [6658] = {.lex_state = 284}, + [6659] = {.lex_state = 201}, + [6660] = {.lex_state = 240}, + [6661] = {.lex_state = 227}, + [6662] = {.lex_state = 240}, + [6663] = {.lex_state = 227}, + [6664] = {.lex_state = 281}, + [6665] = {.lex_state = 284}, + [6666] = {.lex_state = 229}, + [6667] = {.lex_state = 240}, + [6668] = {.lex_state = 281}, + [6669] = {.lex_state = 241}, + [6670] = {.lex_state = 281}, + [6671] = {.lex_state = 382}, + [6672] = {.lex_state = 227}, + [6673] = {.lex_state = 281}, + [6674] = {.lex_state = 382}, + [6675] = {.lex_state = 284}, + [6676] = {.lex_state = 227}, + [6677] = {.lex_state = 201}, + [6678] = {.lex_state = 382}, + [6679] = {.lex_state = 240}, + [6680] = {.lex_state = 284}, + [6681] = {.lex_state = 240}, + [6682] = {.lex_state = 382}, + [6683] = {.lex_state = 227}, + [6684] = {.lex_state = 240}, + [6685] = {.lex_state = 208}, + [6686] = {.lex_state = 240}, + [6687] = {.lex_state = 208}, + [6688] = {.lex_state = 240}, + [6689] = {.lex_state = 240}, + [6690] = {.lex_state = 227}, + [6691] = {.lex_state = 240}, + [6692] = {.lex_state = 227}, + [6693] = {.lex_state = 248}, + [6694] = {.lex_state = 201}, + [6695] = {.lex_state = 240}, + [6696] = {.lex_state = 201}, + [6697] = {.lex_state = 227}, + [6698] = {.lex_state = 382}, + [6699] = {.lex_state = 382}, + [6700] = {.lex_state = 227}, + [6701] = {.lex_state = 227}, + [6702] = {.lex_state = 201}, + [6703] = {.lex_state = 227}, + [6704] = {.lex_state = 208}, + [6705] = {.lex_state = 240}, + [6706] = {.lex_state = 208}, + [6707] = {.lex_state = 208}, + [6708] = {.lex_state = 227}, + [6709] = {.lex_state = 208}, + [6710] = {.lex_state = 240}, + [6711] = {.lex_state = 240}, + [6712] = {.lex_state = 227}, + [6713] = {.lex_state = 240}, + [6714] = {.lex_state = 208}, + [6715] = {.lex_state = 240}, + [6716] = {.lex_state = 227}, + [6717] = {.lex_state = 240}, + [6718] = {.lex_state = 227}, + [6719] = {.lex_state = 227}, + [6720] = {.lex_state = 240}, + [6721] = {.lex_state = 240}, + [6722] = {.lex_state = 208}, + [6723] = {.lex_state = 201}, + [6724] = {.lex_state = 240}, + [6725] = {.lex_state = 240}, + [6726] = {.lex_state = 240}, + [6727] = {.lex_state = 227}, + [6728] = {.lex_state = 227}, + [6729] = {.lex_state = 227}, + [6730] = {.lex_state = 201}, + [6731] = {.lex_state = 227}, + [6732] = {.lex_state = 240}, + [6733] = {.lex_state = 227}, + [6734] = {.lex_state = 240}, + [6735] = {.lex_state = 227}, + [6736] = {.lex_state = 240}, + [6737] = {.lex_state = 227}, + [6738] = {.lex_state = 227}, + [6739] = {.lex_state = 227}, + [6740] = {.lex_state = 281}, + [6741] = {.lex_state = 240}, + [6742] = {.lex_state = 281}, + [6743] = {.lex_state = 382}, + [6744] = {.lex_state = 227}, + [6745] = {.lex_state = 227}, + [6746] = {.lex_state = 248}, + [6747] = {.lex_state = 201}, + [6748] = {.lex_state = 227}, + [6749] = {.lex_state = 240}, + [6750] = {.lex_state = 227}, + [6751] = {.lex_state = 227}, + [6752] = {.lex_state = 240}, + [6753] = {.lex_state = 240}, + [6754] = {.lex_state = 118}, + [6755] = {.lex_state = 120}, + [6756] = {.lex_state = 382}, + [6757] = {.lex_state = 382}, + [6758] = {.lex_state = 227}, + [6759] = {.lex_state = 208}, + [6760] = {.lex_state = 201}, + [6761] = {.lex_state = 382}, + [6762] = {.lex_state = 240}, + [6763] = {.lex_state = 201}, + [6764] = {.lex_state = 201}, + [6765] = {.lex_state = 118}, + [6766] = {.lex_state = 118}, + [6767] = {.lex_state = 0}, + [6768] = {.lex_state = 120}, + [6769] = {.lex_state = 201}, + [6770] = {.lex_state = 121}, + [6771] = {.lex_state = 208}, + [6772] = {.lex_state = 382}, + [6773] = {.lex_state = 382}, + [6774] = {.lex_state = 240}, + [6775] = {.lex_state = 240}, + [6776] = {.lex_state = 240}, + [6777] = {.lex_state = 208}, + [6778] = {.lex_state = 201}, + [6779] = {.lex_state = 382}, + [6780] = {.lex_state = 240}, + [6781] = {.lex_state = 0}, + [6782] = {.lex_state = 284}, + [6783] = {.lex_state = 382}, + [6784] = {.lex_state = 0}, + [6785] = {.lex_state = 120}, + [6786] = {.lex_state = 118}, + [6787] = {.lex_state = 118}, + [6788] = {.lex_state = 208}, + [6789] = {.lex_state = 118}, + [6790] = {.lex_state = 208}, + [6791] = {.lex_state = 208}, + [6792] = {.lex_state = 240}, + [6793] = {.lex_state = 227}, + [6794] = {.lex_state = 201}, + [6795] = {.lex_state = 382}, + [6796] = {.lex_state = 201}, + [6797] = {.lex_state = 382}, + [6798] = {.lex_state = 284}, + [6799] = {.lex_state = 118}, + [6800] = {.lex_state = 0}, + [6801] = {.lex_state = 382}, + [6802] = {.lex_state = 382}, + [6803] = {.lex_state = 208}, + [6804] = {.lex_state = 118}, + [6805] = {.lex_state = 120}, + [6806] = {.lex_state = 240}, + [6807] = {.lex_state = 201}, + [6808] = {.lex_state = 201}, + [6809] = {.lex_state = 121}, + [6810] = {.lex_state = 208}, + [6811] = {.lex_state = 382}, + [6812] = {.lex_state = 208}, + [6813] = {.lex_state = 227}, + [6814] = {.lex_state = 120}, + [6815] = {.lex_state = 118}, + [6816] = {.lex_state = 248}, + [6817] = {.lex_state = 382}, + [6818] = {.lex_state = 382}, + [6819] = {.lex_state = 118}, + [6820] = {.lex_state = 382}, + [6821] = {.lex_state = 121}, + [6822] = {.lex_state = 240}, + [6823] = {.lex_state = 382}, + [6824] = {.lex_state = 382}, + [6825] = {.lex_state = 201}, + [6826] = {.lex_state = 201}, + [6827] = {.lex_state = 240}, + [6828] = {.lex_state = 208}, + [6829] = {.lex_state = 240}, + [6830] = {.lex_state = 382}, + [6831] = {.lex_state = 240}, + [6832] = {.lex_state = 240}, + [6833] = {.lex_state = 227}, + [6834] = {.lex_state = 227}, + [6835] = {.lex_state = 120}, + [6836] = {.lex_state = 118}, + [6837] = {.lex_state = 382}, + [6838] = {.lex_state = 227}, + [6839] = {.lex_state = 382}, + [6840] = {.lex_state = 208}, + [6841] = {.lex_state = 227}, + [6842] = {.lex_state = 121}, + [6843] = {.lex_state = 201}, + [6844] = {.lex_state = 382}, + [6845] = {.lex_state = 240}, + [6846] = {.lex_state = 208}, + [6847] = {.lex_state = 382}, + [6848] = {.lex_state = 240}, + [6849] = {.lex_state = 240}, + [6850] = {.lex_state = 118}, + [6851] = {.lex_state = 227}, + [6852] = {.lex_state = 382}, + [6853] = {.lex_state = 227}, + [6854] = {.lex_state = 208}, + [6855] = {.lex_state = 227}, + [6856] = {.lex_state = 0}, + [6857] = {.lex_state = 208}, + [6858] = {.lex_state = 201}, + [6859] = {.lex_state = 227}, + [6860] = {.lex_state = 240}, + [6861] = {.lex_state = 240}, + [6862] = {.lex_state = 208}, + [6863] = {.lex_state = 382}, + [6864] = {.lex_state = 0}, + [6865] = {.lex_state = 118}, + [6866] = {.lex_state = 120}, + [6867] = {.lex_state = 240}, + [6868] = {.lex_state = 382}, + [6869] = {.lex_state = 382}, + [6870] = {.lex_state = 227}, + [6871] = {.lex_state = 227}, + [6872] = {.lex_state = 118}, + [6873] = {.lex_state = 201}, + [6874] = {.lex_state = 240}, + [6875] = {.lex_state = 208}, + [6876] = {.lex_state = 208}, + [6877] = {.lex_state = 120}, + [6878] = {.lex_state = 118}, + [6879] = {.lex_state = 382}, + [6880] = {.lex_state = 208}, + [6881] = {.lex_state = 240}, + [6882] = {.lex_state = 121}, + [6883] = {.lex_state = 118}, + [6884] = {.lex_state = 227}, + [6885] = {.lex_state = 118}, + [6886] = {.lex_state = 120}, + [6887] = {.lex_state = 118}, + [6888] = {.lex_state = 382}, + [6889] = {.lex_state = 208}, + [6890] = {.lex_state = 118}, + [6891] = {.lex_state = 118}, + [6892] = {.lex_state = 240}, + [6893] = {.lex_state = 382}, + [6894] = {.lex_state = 227}, + [6895] = {.lex_state = 227}, + [6896] = {.lex_state = 0}, + [6897] = {.lex_state = 0}, + [6898] = {.lex_state = 118}, + [6899] = {.lex_state = 382}, + [6900] = {.lex_state = 382}, + [6901] = {.lex_state = 118}, + [6902] = {.lex_state = 240}, + [6903] = {.lex_state = 240}, + [6904] = {.lex_state = 208}, + [6905] = {.lex_state = 0}, + [6906] = {.lex_state = 201}, + [6907] = {.lex_state = 201}, + [6908] = {.lex_state = 208}, + [6909] = {.lex_state = 201}, + [6910] = {.lex_state = 208}, + [6911] = {.lex_state = 227}, + [6912] = {.lex_state = 240}, + [6913] = {.lex_state = 382}, + [6914] = {.lex_state = 120}, + [6915] = {.lex_state = 118}, + [6916] = {.lex_state = 201}, + [6917] = {.lex_state = 201}, + [6918] = {.lex_state = 0}, + [6919] = {.lex_state = 382}, + [6920] = {.lex_state = 208}, + [6921] = {.lex_state = 201}, + [6922] = {.lex_state = 240}, + [6923] = {.lex_state = 201}, + [6924] = {.lex_state = 240}, + [6925] = {.lex_state = 240}, + [6926] = {.lex_state = 240}, + [6927] = {.lex_state = 118}, + [6928] = {.lex_state = 0}, + [6929] = {.lex_state = 208}, + [6930] = {.lex_state = 121}, + [6931] = {.lex_state = 118}, + [6932] = {.lex_state = 240}, + [6933] = {.lex_state = 120}, + [6934] = {.lex_state = 240}, + [6935] = {.lex_state = 227}, + [6936] = {.lex_state = 208}, + [6937] = {.lex_state = 240}, + [6938] = {.lex_state = 382}, + [6939] = {.lex_state = 382}, + [6940] = {.lex_state = 208}, + [6941] = {.lex_state = 240}, + [6942] = {.lex_state = 208}, + [6943] = {.lex_state = 0}, + [6944] = {.lex_state = 201}, + [6945] = {.lex_state = 240}, + [6946] = {.lex_state = 240}, + [6947] = {.lex_state = 118}, + [6948] = {.lex_state = 240}, + [6949] = {.lex_state = 0}, + [6950] = {.lex_state = 0}, + [6951] = {.lex_state = 201}, + [6952] = {.lex_state = 0}, + [6953] = {.lex_state = 240}, + [6954] = {.lex_state = 240}, + [6955] = {.lex_state = 118}, + [6956] = {.lex_state = 208}, + [6957] = {.lex_state = 208}, + [6958] = {.lex_state = 0}, + [6959] = {.lex_state = 382}, + [6960] = {.lex_state = 208}, + [6961] = {.lex_state = 118}, + [6962] = {.lex_state = 118}, + [6963] = {.lex_state = 227}, + [6964] = {.lex_state = 201}, + [6965] = {.lex_state = 240}, + [6966] = {.lex_state = 240}, + [6967] = {.lex_state = 121}, + [6968] = {.lex_state = 227}, + [6969] = {.lex_state = 240}, + [6970] = {.lex_state = 240}, + [6971] = {.lex_state = 0}, + [6972] = {.lex_state = 118}, + [6973] = {.lex_state = 382}, + [6974] = {.lex_state = 201}, + [6975] = {.lex_state = 227}, + [6976] = {.lex_state = 227}, + [6977] = {.lex_state = 118}, + [6978] = {.lex_state = 227}, + [6979] = {.lex_state = 118}, + [6980] = {.lex_state = 382}, + [6981] = {.lex_state = 227}, + [6982] = {.lex_state = 227}, + [6983] = {.lex_state = 0}, + [6984] = {.lex_state = 208}, + [6985] = {.lex_state = 118}, + [6986] = {.lex_state = 120}, + [6987] = {.lex_state = 208}, + [6988] = {.lex_state = 382}, + [6989] = {.lex_state = 240}, + [6990] = {.lex_state = 240}, + [6991] = {.lex_state = 201}, + [6992] = {.lex_state = 208}, + [6993] = {.lex_state = 118}, + [6994] = {.lex_state = 382}, + [6995] = {.lex_state = 240}, + [6996] = {.lex_state = 120}, + [6997] = {.lex_state = 118}, + [6998] = {.lex_state = 118}, + [6999] = {.lex_state = 240}, + [7000] = {.lex_state = 208}, + [7001] = {.lex_state = 201}, + [7002] = {.lex_state = 208}, + [7003] = {.lex_state = 240}, + [7004] = {.lex_state = 227}, + [7005] = {.lex_state = 0}, + [7006] = {.lex_state = 208}, + [7007] = {.lex_state = 201}, + [7008] = {.lex_state = 227}, + [7009] = {.lex_state = 201}, + [7010] = {.lex_state = 227}, + [7011] = {.lex_state = 118}, + [7012] = {.lex_state = 208}, + [7013] = {.lex_state = 0}, + [7014] = {.lex_state = 201}, + [7015] = {.lex_state = 208}, + [7016] = {.lex_state = 382}, + [7017] = {.lex_state = 382}, + [7018] = {.lex_state = 201}, + [7019] = {.lex_state = 382}, + [7020] = {.lex_state = 382}, + [7021] = {.lex_state = 382}, + [7022] = {.lex_state = 0}, + [7023] = {.lex_state = 208}, + [7024] = {.lex_state = 382}, + [7025] = {.lex_state = 118}, + [7026] = {.lex_state = 227}, + [7027] = {.lex_state = 118}, + [7028] = {.lex_state = 382}, + [7029] = {.lex_state = 208}, + [7030] = {.lex_state = 0}, + [7031] = {.lex_state = 227}, + [7032] = {.lex_state = 0}, + [7033] = {.lex_state = 0}, + [7034] = {.lex_state = 240}, + [7035] = {.lex_state = 208}, + [7036] = {.lex_state = 227}, + [7037] = {.lex_state = 0}, + [7038] = {.lex_state = 0}, + [7039] = {.lex_state = 208}, + [7040] = {.lex_state = 0}, + [7041] = {.lex_state = 0}, + [7042] = {.lex_state = 240}, + [7043] = {.lex_state = 0}, + [7044] = {.lex_state = 0}, + [7045] = {.lex_state = 0}, + [7046] = {.lex_state = 0}, + [7047] = {.lex_state = 0}, + [7048] = {.lex_state = 240}, + [7049] = {.lex_state = 0}, + [7050] = {.lex_state = 227}, + [7051] = {.lex_state = 0}, + [7052] = {.lex_state = 0}, + [7053] = {.lex_state = 240}, + [7054] = {.lex_state = 0}, + [7055] = {.lex_state = 0}, + [7056] = {.lex_state = 382}, + [7057] = {.lex_state = 208}, + [7058] = {.lex_state = 208}, + [7059] = {.lex_state = 227}, + [7060] = {.lex_state = 0}, + [7061] = {.lex_state = 227}, + [7062] = {.lex_state = 208}, + [7063] = {.lex_state = 382}, + [7064] = {.lex_state = 0}, + [7065] = {.lex_state = 208}, + [7066] = {.lex_state = 227}, + [7067] = {.lex_state = 0}, + [7068] = {.lex_state = 0}, + [7069] = {.lex_state = 0}, + [7070] = {.lex_state = 0}, + [7071] = {.lex_state = 208}, + [7072] = {.lex_state = 227}, + [7073] = {.lex_state = 0}, + [7074] = {.lex_state = 0}, + [7075] = {.lex_state = 0}, + [7076] = {.lex_state = 382}, + [7077] = {.lex_state = 227}, + [7078] = {.lex_state = 0}, + [7079] = {.lex_state = 0}, + [7080] = {.lex_state = 227}, + [7081] = {.lex_state = 0}, + [7082] = {.lex_state = 208}, + [7083] = {.lex_state = 0}, + [7084] = {.lex_state = 0}, + [7085] = {.lex_state = 0}, + [7086] = {.lex_state = 240}, + [7087] = {.lex_state = 120}, + [7088] = {.lex_state = 208}, + [7089] = {.lex_state = 0}, + [7090] = {.lex_state = 240}, + [7091] = {.lex_state = 0}, + [7092] = {.lex_state = 227}, + [7093] = {.lex_state = 0}, + [7094] = {.lex_state = 0}, + [7095] = {.lex_state = 0}, + [7096] = {.lex_state = 227}, + [7097] = {.lex_state = 0}, + [7098] = {.lex_state = 240}, + [7099] = {.lex_state = 0}, + [7100] = {.lex_state = 0}, + [7101] = {.lex_state = 0}, + [7102] = {.lex_state = 0}, + [7103] = {.lex_state = 0}, + [7104] = {.lex_state = 0}, + [7105] = {.lex_state = 227}, + [7106] = {.lex_state = 227}, + [7107] = {.lex_state = 0}, + [7108] = {.lex_state = 0}, + [7109] = {.lex_state = 240}, + [7110] = {.lex_state = 227}, + [7111] = {.lex_state = 0}, + [7112] = {.lex_state = 208}, + [7113] = {.lex_state = 227}, + [7114] = {.lex_state = 227}, + [7115] = {.lex_state = 0}, + [7116] = {.lex_state = 0}, + [7117] = {.lex_state = 227}, + [7118] = {.lex_state = 0}, + [7119] = {.lex_state = 382}, + [7120] = {.lex_state = 208}, + [7121] = {.lex_state = 208}, + [7122] = {.lex_state = 201}, + [7123] = {.lex_state = 382}, + [7124] = {.lex_state = 0}, + [7125] = {.lex_state = 120}, + [7126] = {.lex_state = 208}, + [7127] = {.lex_state = 208}, + [7128] = {.lex_state = 0}, + [7129] = {.lex_state = 0}, + [7130] = {.lex_state = 0}, + [7131] = {.lex_state = 0}, + [7132] = {.lex_state = 208}, + [7133] = {.lex_state = 0}, + [7134] = {.lex_state = 190}, + [7135] = {.lex_state = 227}, + [7136] = {.lex_state = 0}, + [7137] = {.lex_state = 0}, + [7138] = {.lex_state = 0}, + [7139] = {.lex_state = 0}, + [7140] = {.lex_state = 0}, + [7141] = {.lex_state = 227}, + [7142] = {.lex_state = 0}, + [7143] = {.lex_state = 227}, + [7144] = {.lex_state = 208}, + [7145] = {.lex_state = 208}, + [7146] = {.lex_state = 0}, + [7147] = {.lex_state = 208}, + [7148] = {.lex_state = 208}, + [7149] = {.lex_state = 0}, + [7150] = {.lex_state = 0}, + [7151] = {.lex_state = 0}, + [7152] = {.lex_state = 123}, + [7153] = {.lex_state = 0}, + [7154] = {.lex_state = 227}, + [7155] = {.lex_state = 227}, + [7156] = {.lex_state = 0}, + [7157] = {.lex_state = 0}, + [7158] = {.lex_state = 0}, + [7159] = {.lex_state = 382}, + [7160] = {.lex_state = 382}, + [7161] = {.lex_state = 240}, + [7162] = {.lex_state = 227}, + [7163] = {.lex_state = 0}, + [7164] = {.lex_state = 0}, + [7165] = {.lex_state = 227}, + [7166] = {.lex_state = 240}, + [7167] = {.lex_state = 240}, + [7168] = {.lex_state = 0}, + [7169] = {.lex_state = 0}, + [7170] = {.lex_state = 240}, + [7171] = {.lex_state = 0}, + [7172] = {.lex_state = 240}, + [7173] = {.lex_state = 0}, + [7174] = {.lex_state = 208}, + [7175] = {.lex_state = 0}, + [7176] = {.lex_state = 0}, + [7177] = {.lex_state = 227}, + [7178] = {.lex_state = 0}, + [7179] = {.lex_state = 240}, + [7180] = {.lex_state = 0}, + [7181] = {.lex_state = 208}, + [7182] = {.lex_state = 0}, + [7183] = {.lex_state = 0}, + [7184] = {.lex_state = 0}, + [7185] = {.lex_state = 0}, + [7186] = {.lex_state = 240}, + [7187] = {.lex_state = 227}, + [7188] = {.lex_state = 0}, + [7189] = {.lex_state = 227}, + [7190] = {.lex_state = 227}, + [7191] = {.lex_state = 208}, + [7192] = {.lex_state = 120}, + [7193] = {.lex_state = 0}, + [7194] = {.lex_state = 0}, + [7195] = {.lex_state = 123}, + [7196] = {.lex_state = 0}, + [7197] = {.lex_state = 0}, + [7198] = {.lex_state = 227}, + [7199] = {.lex_state = 0}, + [7200] = {.lex_state = 0}, + [7201] = {.lex_state = 208}, + [7202] = {.lex_state = 0}, + [7203] = {.lex_state = 240}, + [7204] = {.lex_state = 0}, + [7205] = {.lex_state = 0}, + [7206] = {.lex_state = 240}, + [7207] = {.lex_state = 0}, + [7208] = {.lex_state = 0}, + [7209] = {.lex_state = 227}, + [7210] = {.lex_state = 0}, + [7211] = {.lex_state = 0}, + [7212] = {.lex_state = 0}, + [7213] = {.lex_state = 0}, + [7214] = {.lex_state = 227}, + [7215] = {.lex_state = 208}, + [7216] = {.lex_state = 0}, + [7217] = {.lex_state = 0}, + [7218] = {.lex_state = 0}, + [7219] = {.lex_state = 227}, + [7220] = {.lex_state = 208}, + [7221] = {.lex_state = 382}, + [7222] = {.lex_state = 227}, + [7223] = {.lex_state = 0}, + [7224] = {.lex_state = 0}, + [7225] = {.lex_state = 0}, + [7226] = {.lex_state = 0}, + [7227] = {.lex_state = 227}, + [7228] = {.lex_state = 0}, + [7229] = {.lex_state = 208}, + [7230] = {.lex_state = 0}, + [7231] = {.lex_state = 0}, + [7232] = {.lex_state = 227}, + [7233] = {.lex_state = 0}, + [7234] = {.lex_state = 0}, + [7235] = {.lex_state = 208}, + [7236] = {.lex_state = 0}, + [7237] = {.lex_state = 0}, + [7238] = {.lex_state = 0}, + [7239] = {.lex_state = 208}, + [7240] = {.lex_state = 227}, + [7241] = {.lex_state = 227}, + [7242] = {.lex_state = 227}, + [7243] = {.lex_state = 227}, + [7244] = {.lex_state = 0}, + [7245] = {.lex_state = 120}, + [7246] = {.lex_state = 227}, + [7247] = {.lex_state = 0}, + [7248] = {.lex_state = 208}, + [7249] = {.lex_state = 240}, + [7250] = {.lex_state = 208}, + [7251] = {.lex_state = 0}, + [7252] = {.lex_state = 0}, + [7253] = {.lex_state = 208}, + [7254] = {.lex_state = 0}, + [7255] = {.lex_state = 0}, + [7256] = {.lex_state = 227}, + [7257] = {.lex_state = 240}, + [7258] = {.lex_state = 227}, + [7259] = {.lex_state = 0}, + [7260] = {.lex_state = 208}, + [7261] = {.lex_state = 227}, + [7262] = {.lex_state = 0}, + [7263] = {.lex_state = 0}, + [7264] = {.lex_state = 240}, + [7265] = {.lex_state = 0}, + [7266] = {.lex_state = 227}, + [7267] = {.lex_state = 0}, + [7268] = {.lex_state = 0}, + [7269] = {.lex_state = 208}, + [7270] = {.lex_state = 240}, + [7271] = {.lex_state = 0}, + [7272] = {.lex_state = 227}, + [7273] = {.lex_state = 227}, + [7274] = {.lex_state = 227}, + [7275] = {.lex_state = 0}, + [7276] = {.lex_state = 208}, + [7277] = {.lex_state = 0}, + [7278] = {.lex_state = 227}, + [7279] = {.lex_state = 0}, + [7280] = {.lex_state = 227}, + [7281] = {.lex_state = 227}, + [7282] = {.lex_state = 0}, + [7283] = {.lex_state = 0}, + [7284] = {.lex_state = 227}, + [7285] = {.lex_state = 0}, + [7286] = {.lex_state = 0}, + [7287] = {.lex_state = 0}, + [7288] = {.lex_state = 0}, + [7289] = {.lex_state = 208}, + [7290] = {.lex_state = 0}, + [7291] = {.lex_state = 0}, + [7292] = {.lex_state = 240}, + [7293] = {.lex_state = 227}, + [7294] = {.lex_state = 0}, + [7295] = {.lex_state = 0}, + [7296] = {.lex_state = 227}, + [7297] = {.lex_state = 382}, + [7298] = {.lex_state = 382}, + [7299] = {.lex_state = 120}, + [7300] = {.lex_state = 208}, + [7301] = {.lex_state = 227}, + [7302] = {.lex_state = 0}, + [7303] = {.lex_state = 0}, + [7304] = {.lex_state = 0}, + [7305] = {.lex_state = 0}, + [7306] = {.lex_state = 227}, + [7307] = {.lex_state = 0}, + [7308] = {.lex_state = 240}, + [7309] = {.lex_state = 208}, + [7310] = {.lex_state = 0}, + [7311] = {.lex_state = 240}, + [7312] = {.lex_state = 0}, + [7313] = {.lex_state = 201}, + [7314] = {.lex_state = 208}, + [7315] = {.lex_state = 0}, + [7316] = {.lex_state = 0}, + [7317] = {.lex_state = 240}, + [7318] = {.lex_state = 0}, + [7319] = {.lex_state = 120}, + [7320] = {.lex_state = 227}, + [7321] = {.lex_state = 201}, + [7322] = {.lex_state = 0}, + [7323] = {.lex_state = 227}, + [7324] = {.lex_state = 208}, + [7325] = {.lex_state = 0}, + [7326] = {.lex_state = 0}, + [7327] = {.lex_state = 227}, + [7328] = {.lex_state = 227}, + [7329] = {.lex_state = 227}, + [7330] = {.lex_state = 227}, + [7331] = {.lex_state = 0}, + [7332] = {.lex_state = 0}, + [7333] = {.lex_state = 208}, + [7334] = {.lex_state = 0}, + [7335] = {.lex_state = 120}, + [7336] = {.lex_state = 227}, + [7337] = {.lex_state = 240}, + [7338] = {.lex_state = 120}, + [7339] = {.lex_state = 227}, + [7340] = {.lex_state = 0}, + [7341] = {.lex_state = 227}, + [7342] = {.lex_state = 227}, + [7343] = {.lex_state = 0}, + [7344] = {.lex_state = 0}, + [7345] = {.lex_state = 0}, + [7346] = {.lex_state = 0}, + [7347] = {.lex_state = 240}, + [7348] = {.lex_state = 0}, + [7349] = {.lex_state = 0}, + [7350] = {.lex_state = 0}, + [7351] = {.lex_state = 208}, + [7352] = {.lex_state = 208}, + [7353] = {.lex_state = 0}, + [7354] = {.lex_state = 382}, + [7355] = {.lex_state = 240}, + [7356] = {.lex_state = 0}, + [7357] = {.lex_state = 0}, + [7358] = {.lex_state = 0}, + [7359] = {.lex_state = 0}, + [7360] = {.lex_state = 227}, + [7361] = {.lex_state = 120}, + [7362] = {.lex_state = 208}, + [7363] = {.lex_state = 208}, + [7364] = {.lex_state = 0}, + [7365] = {.lex_state = 0}, + [7366] = {.lex_state = 0}, + [7367] = {.lex_state = 240}, + [7368] = {.lex_state = 0}, + [7369] = {.lex_state = 0}, + [7370] = {.lex_state = 120}, + [7371] = {.lex_state = 227}, + [7372] = {.lex_state = 120}, + [7373] = {.lex_state = 0}, + [7374] = {.lex_state = 227}, + [7375] = {.lex_state = 208}, + [7376] = {.lex_state = 227}, + [7377] = {.lex_state = 382}, + [7378] = {.lex_state = 0}, + [7379] = {.lex_state = 382}, + [7380] = {.lex_state = 208}, + [7381] = {.lex_state = 227}, + [7382] = {.lex_state = 208}, + [7383] = {.lex_state = 227}, + [7384] = {.lex_state = 208}, + [7385] = {.lex_state = 240}, + [7386] = {.lex_state = 382}, + [7387] = {.lex_state = 0}, + [7388] = {.lex_state = 227}, + [7389] = {.lex_state = 0}, + [7390] = {.lex_state = 0}, + [7391] = {.lex_state = 0}, + [7392] = {.lex_state = 0}, + [7393] = {.lex_state = 240}, + [7394] = {.lex_state = 382}, + [7395] = {.lex_state = 0}, + [7396] = {.lex_state = 0}, + [7397] = {.lex_state = 227}, + [7398] = {.lex_state = 0}, + [7399] = {.lex_state = 240}, + [7400] = {.lex_state = 208}, + [7401] = {.lex_state = 0}, + [7402] = {.lex_state = 0}, + [7403] = {.lex_state = 208}, + [7404] = {.lex_state = 0}, + [7405] = {.lex_state = 0}, + [7406] = {.lex_state = 0}, + [7407] = {.lex_state = 208}, + [7408] = {.lex_state = 208}, + [7409] = {.lex_state = 123}, + [7410] = {.lex_state = 208}, + [7411] = {.lex_state = 240}, + [7412] = {.lex_state = 208}, + [7413] = {.lex_state = 208}, + [7414] = {.lex_state = 208}, + [7415] = {.lex_state = 208}, + [7416] = {.lex_state = 382}, + [7417] = {.lex_state = 227}, + [7418] = {.lex_state = 0}, + [7419] = {.lex_state = 240}, + [7420] = {.lex_state = 0}, + [7421] = {.lex_state = 0}, + [7422] = {.lex_state = 121}, + [7423] = {.lex_state = 0}, + [7424] = {.lex_state = 0}, + [7425] = {.lex_state = 0}, + [7426] = {.lex_state = 0}, + [7427] = {.lex_state = 0}, + [7428] = {.lex_state = 0}, + [7429] = {.lex_state = 0}, + [7430] = {.lex_state = 0}, + [7431] = {.lex_state = 0}, + [7432] = {.lex_state = 208}, + [7433] = {.lex_state = 0}, + [7434] = {.lex_state = 227}, + [7435] = {.lex_state = 0}, + [7436] = {.lex_state = 0}, + [7437] = {.lex_state = 0}, + [7438] = {.lex_state = 0}, + [7439] = {.lex_state = 382}, + [7440] = {.lex_state = 0}, + [7441] = {.lex_state = 0}, + [7442] = {.lex_state = 0}, + [7443] = {.lex_state = 0}, + [7444] = {.lex_state = 240}, + [7445] = {.lex_state = 0}, + [7446] = {.lex_state = 227}, + [7447] = {.lex_state = 0}, + [7448] = {.lex_state = 120}, + [7449] = {.lex_state = 0}, + [7450] = {.lex_state = 0}, + [7451] = {.lex_state = 0}, + [7452] = {.lex_state = 227}, + [7453] = {.lex_state = 227}, + [7454] = {.lex_state = 382}, + [7455] = {.lex_state = 0}, + [7456] = {.lex_state = 0}, + [7457] = {.lex_state = 0}, + [7458] = {.lex_state = 240}, + [7459] = {.lex_state = 227}, + [7460] = {.lex_state = 227}, + [7461] = {.lex_state = 227}, + [7462] = {.lex_state = 0}, + [7463] = {.lex_state = 227}, + [7464] = {.lex_state = 0}, + [7465] = {.lex_state = 208}, + [7466] = {.lex_state = 240}, + [7467] = {.lex_state = 0}, + [7468] = {.lex_state = 123}, + [7469] = {.lex_state = 0}, + [7470] = {.lex_state = 382}, + [7471] = {.lex_state = 208}, + [7472] = {.lex_state = 0}, + [7473] = {.lex_state = 0}, + [7474] = {.lex_state = 208}, + [7475] = {.lex_state = 227}, + [7476] = {.lex_state = 227}, + [7477] = {.lex_state = 227}, + [7478] = {.lex_state = 208}, + [7479] = {.lex_state = 208}, + [7480] = {.lex_state = 208}, + [7481] = {.lex_state = 382}, + [7482] = {.lex_state = 240}, + [7483] = {.lex_state = 227}, + [7484] = {.lex_state = 0}, + [7485] = {.lex_state = 227}, + [7486] = {.lex_state = 0}, + [7487] = {.lex_state = 0}, + [7488] = {.lex_state = 0}, + [7489] = {.lex_state = 227}, + [7490] = {.lex_state = 0}, + [7491] = {.lex_state = 0}, + [7492] = {.lex_state = 240}, + [7493] = {.lex_state = 240}, + [7494] = {.lex_state = 0}, + [7495] = {.lex_state = 382}, + [7496] = {.lex_state = 0}, + [7497] = {.lex_state = 0}, + [7498] = {.lex_state = 382}, + [7499] = {.lex_state = 0}, + [7500] = {.lex_state = 0}, + [7501] = {.lex_state = 122}, + [7502] = {.lex_state = 122}, + [7503] = {.lex_state = 382, .external_lex_state = 2}, + [7504] = {.lex_state = 382, .external_lex_state = 2}, + [7505] = {.lex_state = 382, .external_lex_state = 2}, + [7506] = {.lex_state = 382, .external_lex_state = 2}, + [7507] = {.lex_state = 382, .external_lex_state = 2}, + [7508] = {.lex_state = 382, .external_lex_state = 2}, + [7509] = {.lex_state = 382, .external_lex_state = 2}, + [7510] = {.lex_state = 382, .external_lex_state = 2}, + [7511] = {.lex_state = 382, .external_lex_state = 2}, + [7512] = {.lex_state = 382, .external_lex_state = 2}, + [7513] = {.lex_state = 382, .external_lex_state = 2}, + [7514] = {.lex_state = 0}, + [7515] = {.lex_state = 382, .external_lex_state = 2}, + [7516] = {.lex_state = 0}, + [7517] = {.lex_state = 0}, + [7518] = {.lex_state = 0}, + [7519] = {.lex_state = 382, .external_lex_state = 2}, + [7520] = {.lex_state = 122}, + [7521] = {.lex_state = 382}, + [7522] = {.lex_state = 382, .external_lex_state = 2}, + [7523] = {.lex_state = 0}, + [7524] = {.lex_state = 0}, + [7525] = {.lex_state = 0}, + [7526] = {.lex_state = 382, .external_lex_state = 2}, + [7527] = {.lex_state = 0}, + [7528] = {.lex_state = 0}, + [7529] = {.lex_state = 0}, + [7530] = {.lex_state = 0}, + [7531] = {.lex_state = 0}, + [7532] = {.lex_state = 382}, + [7533] = {.lex_state = 0}, + [7534] = {.lex_state = 0}, + [7535] = {.lex_state = 0}, + [7536] = {.lex_state = 0}, + [7537] = {.lex_state = 382, .external_lex_state = 2}, + [7538] = {.lex_state = 0}, + [7539] = {.lex_state = 382}, + [7540] = {.lex_state = 0}, + [7541] = {.lex_state = 122}, + [7542] = {.lex_state = 0}, + [7543] = {.lex_state = 0}, + [7544] = {.lex_state = 0}, + [7545] = {.lex_state = 0}, + [7546] = {.lex_state = 0}, + [7547] = {.lex_state = 382}, + [7548] = {.lex_state = 0}, + [7549] = {.lex_state = 0}, + [7550] = {.lex_state = 382}, + [7551] = {.lex_state = 382}, + [7552] = {.lex_state = 0}, + [7553] = {.lex_state = 382}, + [7554] = {.lex_state = 0}, + [7555] = {.lex_state = 0}, + [7556] = {.lex_state = 382}, + [7557] = {.lex_state = 0}, + [7558] = {.lex_state = 241}, + [7559] = {.lex_state = 0}, + [7560] = {.lex_state = 0}, + [7561] = {.lex_state = 0}, + [7562] = {.lex_state = 122}, + [7563] = {.lex_state = 122}, + [7564] = {.lex_state = 0}, + [7565] = {.lex_state = 0}, + [7566] = {.lex_state = 0}, + [7567] = {.lex_state = 0}, + [7568] = {.lex_state = 382}, + [7569] = {.lex_state = 0}, + [7570] = {.lex_state = 241}, + [7571] = {.lex_state = 0}, + [7572] = {.lex_state = 241}, + [7573] = {.lex_state = 0}, + [7574] = {.lex_state = 122}, + [7575] = {.lex_state = 0}, + [7576] = {.lex_state = 0}, + [7577] = {.lex_state = 0}, + [7578] = {.lex_state = 0}, + [7579] = {.lex_state = 241}, + [7580] = {.lex_state = 241}, + [7581] = {.lex_state = 241}, + [7582] = {.lex_state = 241}, + [7583] = {.lex_state = 0}, + [7584] = {.lex_state = 0}, + [7585] = {.lex_state = 0}, + [7586] = {.lex_state = 241}, + [7587] = {.lex_state = 241}, + [7588] = {.lex_state = 382}, + [7589] = {.lex_state = 382}, + [7590] = {.lex_state = 241}, + [7591] = {.lex_state = 0}, + [7592] = {.lex_state = 382}, + [7593] = {.lex_state = 0}, + [7594] = {.lex_state = 0}, + [7595] = {.lex_state = 382}, + [7596] = {.lex_state = 0}, + [7597] = {.lex_state = 0}, + [7598] = {.lex_state = 122}, + [7599] = {.lex_state = 0}, + [7600] = {.lex_state = 0}, + [7601] = {.lex_state = 0}, + [7602] = {.lex_state = 0}, + [7603] = {.lex_state = 0}, + [7604] = {.lex_state = 0}, + [7605] = {.lex_state = 382}, + [7606] = {.lex_state = 0}, + [7607] = {.lex_state = 0}, + [7608] = {.lex_state = 0}, + [7609] = {.lex_state = 0}, + [7610] = {.lex_state = 0}, + [7611] = {.lex_state = 0}, + [7612] = {.lex_state = 0}, + [7613] = {.lex_state = 0}, + [7614] = {.lex_state = 0}, + [7615] = {.lex_state = 0}, + [7616] = {.lex_state = 0}, + [7617] = {.lex_state = 0}, + [7618] = {.lex_state = 0}, + [7619] = {.lex_state = 382}, + [7620] = {.lex_state = 0}, + [7621] = {.lex_state = 382}, + [7622] = {.lex_state = 0}, + [7623] = {.lex_state = 0}, + [7624] = {.lex_state = 382}, + [7625] = {.lex_state = 0}, + [7626] = {.lex_state = 382}, + [7627] = {.lex_state = 382}, + [7628] = {.lex_state = 0}, + [7629] = {.lex_state = 0}, + [7630] = {.lex_state = 122}, + [7631] = {.lex_state = 382}, + [7632] = {.lex_state = 382}, + [7633] = {.lex_state = 0}, + [7634] = {.lex_state = 382}, + [7635] = {.lex_state = 382}, + [7636] = {.lex_state = 123}, + [7637] = {.lex_state = 382}, + [7638] = {.lex_state = 382}, + [7639] = {.lex_state = 0}, + [7640] = {.lex_state = 0}, + [7641] = {.lex_state = 0}, + [7642] = {.lex_state = 0}, + [7643] = {.lex_state = 0}, + [7644] = {.lex_state = 0}, + [7645] = {.lex_state = 0}, + [7646] = {.lex_state = 122}, + [7647] = {.lex_state = 0}, + [7648] = {.lex_state = 382}, + [7649] = {.lex_state = 122}, + [7650] = {.lex_state = 0}, + [7651] = {.lex_state = 0}, + [7652] = {.lex_state = 0}, + [7653] = {.lex_state = 382}, + [7654] = {.lex_state = 0}, + [7655] = {.lex_state = 0}, + [7656] = {.lex_state = 0}, + [7657] = {.lex_state = 0}, + [7658] = {.lex_state = 0}, + [7659] = {.lex_state = 0}, + [7660] = {.lex_state = 0}, + [7661] = {.lex_state = 0}, + [7662] = {.lex_state = 0}, + [7663] = {.lex_state = 382}, + [7664] = {.lex_state = 122}, + [7665] = {.lex_state = 0}, + [7666] = {.lex_state = 0}, + [7667] = {.lex_state = 0}, + [7668] = {.lex_state = 0}, + [7669] = {.lex_state = 0}, + [7670] = {.lex_state = 382}, + [7671] = {.lex_state = 0}, + [7672] = {.lex_state = 0}, + [7673] = {.lex_state = 0}, + [7674] = {.lex_state = 382}, + [7675] = {.lex_state = 0}, + [7676] = {.lex_state = 0}, + [7677] = {.lex_state = 0}, + [7678] = {.lex_state = 382}, + [7679] = {.lex_state = 382, .external_lex_state = 2}, + [7680] = {.lex_state = 382}, + [7681] = {.lex_state = 382}, + [7682] = {.lex_state = 0}, + [7683] = {.lex_state = 382}, + [7684] = {.lex_state = 382}, + [7685] = {.lex_state = 382}, + [7686] = {.lex_state = 0}, + [7687] = {.lex_state = 0}, + [7688] = {.lex_state = 0}, + [7689] = {.lex_state = 0}, + [7690] = {.lex_state = 0}, + [7691] = {.lex_state = 0}, + [7692] = {.lex_state = 0}, + [7693] = {.lex_state = 382}, + [7694] = {.lex_state = 0}, + [7695] = {.lex_state = 382}, + [7696] = {.lex_state = 0}, + [7697] = {.lex_state = 0}, + [7698] = {.lex_state = 382}, + [7699] = {.lex_state = 0}, + [7700] = {.lex_state = 0}, + [7701] = {.lex_state = 122}, + [7702] = {.lex_state = 382}, + [7703] = {.lex_state = 0}, + [7704] = {.lex_state = 382}, + [7705] = {.lex_state = 0}, + [7706] = {.lex_state = 122}, + [7707] = {.lex_state = 382}, + [7708] = {.lex_state = 0}, + [7709] = {.lex_state = 382}, + [7710] = {.lex_state = 123}, + [7711] = {.lex_state = 0}, + [7712] = {.lex_state = 0}, + [7713] = {.lex_state = 0}, + [7714] = {.lex_state = 0}, + [7715] = {.lex_state = 0}, + [7716] = {.lex_state = 0}, + [7717] = {.lex_state = 0}, + [7718] = {.lex_state = 382}, + [7719] = {.lex_state = 0}, + [7720] = {.lex_state = 0}, + [7721] = {.lex_state = 382}, + [7722] = {.lex_state = 0}, + [7723] = {.lex_state = 0}, + [7724] = {.lex_state = 0}, + [7725] = {.lex_state = 0}, + [7726] = {.lex_state = 0}, + [7727] = {.lex_state = 382}, + [7728] = {.lex_state = 0}, + [7729] = {.lex_state = 122}, + [7730] = {.lex_state = 0}, + [7731] = {.lex_state = 0}, + [7732] = {.lex_state = 0}, + [7733] = {.lex_state = 382}, + [7734] = {.lex_state = 122}, + [7735] = {.lex_state = 382}, + [7736] = {.lex_state = 0}, + [7737] = {.lex_state = 382}, + [7738] = {.lex_state = 0}, + [7739] = {.lex_state = 382}, + [7740] = {.lex_state = 0}, + [7741] = {.lex_state = 382}, + [7742] = {.lex_state = 0}, + [7743] = {.lex_state = 0}, + [7744] = {.lex_state = 0}, + [7745] = {.lex_state = 0}, + [7746] = {.lex_state = 382}, + [7747] = {.lex_state = 0}, + [7748] = {.lex_state = 382}, + [7749] = {.lex_state = 0}, + [7750] = {.lex_state = 0}, + [7751] = {.lex_state = 382}, + [7752] = {.lex_state = 0}, + [7753] = {.lex_state = 382}, + [7754] = {.lex_state = 382}, + [7755] = {.lex_state = 0}, + [7756] = {.lex_state = 0}, + [7757] = {.lex_state = 0}, + [7758] = {.lex_state = 0}, + [7759] = {.lex_state = 0}, + [7760] = {.lex_state = 382}, + [7761] = {.lex_state = 0}, + [7762] = {.lex_state = 382}, + [7763] = {.lex_state = 0}, + [7764] = {.lex_state = 382}, + [7765] = {.lex_state = 0}, + [7766] = {.lex_state = 0}, + [7767] = {.lex_state = 382}, + [7768] = {.lex_state = 382}, + [7769] = {.lex_state = 0}, + [7770] = {.lex_state = 0}, + [7771] = {.lex_state = 122}, + [7772] = {.lex_state = 382}, + [7773] = {.lex_state = 382}, + [7774] = {.lex_state = 382}, + [7775] = {.lex_state = 0}, + [7776] = {.lex_state = 382}, + [7777] = {.lex_state = 382}, + [7778] = {.lex_state = 0}, + [7779] = {.lex_state = 382}, + [7780] = {.lex_state = 382}, + [7781] = {.lex_state = 0}, + [7782] = {.lex_state = 382}, + [7783] = {.lex_state = 0}, + [7784] = {.lex_state = 382}, + [7785] = {.lex_state = 0}, + [7786] = {.lex_state = 0}, + [7787] = {.lex_state = 0}, + [7788] = {.lex_state = 0}, + [7789] = {.lex_state = 0}, + [7790] = {.lex_state = 0}, + [7791] = {.lex_state = 0}, + [7792] = {.lex_state = 0}, + [7793] = {.lex_state = 382}, + [7794] = {.lex_state = 0}, + [7795] = {.lex_state = 0}, + [7796] = {.lex_state = 382}, + [7797] = {.lex_state = 0}, + [7798] = {.lex_state = 0}, + [7799] = {.lex_state = 0}, + [7800] = {.lex_state = 0}, + [7801] = {.lex_state = 0}, + [7802] = {.lex_state = 382}, + [7803] = {.lex_state = 0}, + [7804] = {.lex_state = 0}, + [7805] = {.lex_state = 0}, + [7806] = {.lex_state = 0}, + [7807] = {.lex_state = 0}, + [7808] = {.lex_state = 382}, + [7809] = {.lex_state = 123}, + [7810] = {.lex_state = 199}, + [7811] = {.lex_state = 0}, + [7812] = {.lex_state = 0}, + [7813] = {.lex_state = 0}, + [7814] = {.lex_state = 0}, + [7815] = {.lex_state = 0}, + [7816] = {.lex_state = 0}, + [7817] = {.lex_state = 0}, + [7818] = {.lex_state = 0}, + [7819] = {.lex_state = 0}, + [7820] = {.lex_state = 0}, + [7821] = {.lex_state = 123}, + [7822] = {.lex_state = 0}, + [7823] = {.lex_state = 199}, + [7824] = {.lex_state = 0}, + [7825] = {.lex_state = 0}, + [7826] = {.lex_state = 0}, + [7827] = {.lex_state = 0}, + [7828] = {.lex_state = 0}, + [7829] = {.lex_state = 0}, + [7830] = {.lex_state = 0, .external_lex_state = 2}, + [7831] = {.lex_state = 0}, + [7832] = {.lex_state = 0}, + [7833] = {.lex_state = 0}, + [7834] = {.lex_state = 382}, + [7835] = {.lex_state = 0}, + [7836] = {.lex_state = 123}, + [7837] = {.lex_state = 0}, + [7838] = {.lex_state = 0}, + [7839] = {.lex_state = 0}, + [7840] = {.lex_state = 0}, + [7841] = {.lex_state = 0}, + [7842] = {.lex_state = 0}, + [7843] = {.lex_state = 382}, + [7844] = {.lex_state = 0}, + [7845] = {.lex_state = 0}, + [7846] = {.lex_state = 0}, + [7847] = {.lex_state = 0}, + [7848] = {.lex_state = 0}, + [7849] = {.lex_state = 0}, + [7850] = {.lex_state = 0}, + [7851] = {.lex_state = 0}, + [7852] = {.lex_state = 0}, + [7853] = {.lex_state = 0}, + [7854] = {.lex_state = 0}, + [7855] = {.lex_state = 0}, + [7856] = {.lex_state = 0}, + [7857] = {.lex_state = 0}, + [7858] = {.lex_state = 0}, + [7859] = {.lex_state = 0}, + [7860] = {.lex_state = 199}, + [7861] = {.lex_state = 0}, + [7862] = {.lex_state = 0}, + [7863] = {.lex_state = 0}, + [7864] = {.lex_state = 0}, + [7865] = {.lex_state = 0}, + [7866] = {.lex_state = 0}, + [7867] = {.lex_state = 0}, + [7868] = {.lex_state = 0}, + [7869] = {.lex_state = 0}, + [7870] = {.lex_state = 0}, + [7871] = {.lex_state = 199}, + [7872] = {.lex_state = 0}, + [7873] = {.lex_state = 0}, + [7874] = {.lex_state = 0}, + [7875] = {.lex_state = 0}, + [7876] = {.lex_state = 0}, + [7877] = {.lex_state = 0}, + [7878] = {.lex_state = 382}, + [7879] = {.lex_state = 0}, + [7880] = {.lex_state = 0}, + [7881] = {.lex_state = 208}, + [7882] = {.lex_state = 240}, + [7883] = {.lex_state = 199}, + [7884] = {.lex_state = 123}, + [7885] = {.lex_state = 199}, + [7886] = {.lex_state = 199}, + [7887] = {.lex_state = 0}, + [7888] = {.lex_state = 0}, + [7889] = {.lex_state = 0}, + [7890] = {.lex_state = 0}, + [7891] = {.lex_state = 199}, + [7892] = {.lex_state = 199}, + [7893] = {.lex_state = 0}, + [7894] = {.lex_state = 199}, + [7895] = {.lex_state = 0}, + [7896] = {.lex_state = 0}, + [7897] = {.lex_state = 208}, + [7898] = {.lex_state = 0}, + [7899] = {.lex_state = 240}, + [7900] = {.lex_state = 0}, + [7901] = {.lex_state = 0}, + [7902] = {.lex_state = 382}, + [7903] = {.lex_state = 199}, + [7904] = {.lex_state = 0}, + [7905] = {.lex_state = 0}, + [7906] = {.lex_state = 0}, + [7907] = {.lex_state = 0}, + [7908] = {.lex_state = 0}, + [7909] = {.lex_state = 199}, + [7910] = {.lex_state = 199}, + [7911] = {.lex_state = 0}, + [7912] = {.lex_state = 0}, + [7913] = {.lex_state = 0}, + [7914] = {.lex_state = 199}, + [7915] = {.lex_state = 123}, + [7916] = {.lex_state = 240}, + [7917] = {.lex_state = 0}, + [7918] = {.lex_state = 199}, + [7919] = {.lex_state = 199}, + [7920] = {.lex_state = 0}, + [7921] = {.lex_state = 0}, + [7922] = {.lex_state = 0}, + [7923] = {.lex_state = 382}, + [7924] = {.lex_state = 208}, + [7925] = {.lex_state = 0}, + [7926] = {.lex_state = 382}, + [7927] = {.lex_state = 0, .external_lex_state = 3}, + [7928] = {.lex_state = 0}, + [7929] = {.lex_state = 0}, + [7930] = {.lex_state = 0}, + [7931] = {.lex_state = 0}, + [7932] = {.lex_state = 0}, + [7933] = {.lex_state = 0}, + [7934] = {.lex_state = 0}, + [7935] = {.lex_state = 0}, + [7936] = {.lex_state = 0}, + [7937] = {.lex_state = 0}, + [7938] = {.lex_state = 0}, + [7939] = {.lex_state = 0}, + [7940] = {.lex_state = 0}, + [7941] = {.lex_state = 0}, + [7942] = {.lex_state = 0}, + [7943] = {.lex_state = 0}, + [7944] = {.lex_state = 0}, + [7945] = {.lex_state = 0}, + [7946] = {.lex_state = 0}, + [7947] = {.lex_state = 0}, + [7948] = {.lex_state = 123}, + [7949] = {.lex_state = 208}, + [7950] = {.lex_state = 0}, + [7951] = {.lex_state = 0}, + [7952] = {.lex_state = 382}, + [7953] = {.lex_state = 208}, + [7954] = {.lex_state = 240}, + [7955] = {.lex_state = 0}, + [7956] = {.lex_state = 0}, + [7957] = {.lex_state = 0}, + [7958] = {.lex_state = 208}, + [7959] = {.lex_state = 0}, + [7960] = {.lex_state = 0}, + [7961] = {.lex_state = 0}, + [7962] = {.lex_state = 240}, + [7963] = {.lex_state = 0}, + [7964] = {.lex_state = 0}, + [7965] = {.lex_state = 0}, + [7966] = {.lex_state = 0}, + [7967] = {.lex_state = 0}, + [7968] = {.lex_state = 0}, + [7969] = {.lex_state = 0}, + [7970] = {.lex_state = 0}, + [7971] = {.lex_state = 0}, + [7972] = {.lex_state = 0}, + [7973] = {.lex_state = 0}, + [7974] = {.lex_state = 0}, + [7975] = {.lex_state = 0}, + [7976] = {.lex_state = 123}, + [7977] = {.lex_state = 123}, + [7978] = {.lex_state = 0}, + [7979] = {.lex_state = 0}, + [7980] = {.lex_state = 0}, + [7981] = {.lex_state = 0}, + [7982] = {.lex_state = 0}, + [7983] = {.lex_state = 123}, + [7984] = {.lex_state = 0}, + [7985] = {.lex_state = 0}, + [7986] = {.lex_state = 0}, + [7987] = {.lex_state = 0}, + [7988] = {.lex_state = 0}, + [7989] = {.lex_state = 0}, + [7990] = {.lex_state = 0}, + [7991] = {.lex_state = 0}, + [7992] = {.lex_state = 0}, + [7993] = {.lex_state = 0, .external_lex_state = 2}, + [7994] = {.lex_state = 0}, + [7995] = {.lex_state = 199}, + [7996] = {.lex_state = 0}, + [7997] = {.lex_state = 0}, + [7998] = {.lex_state = 0}, + [7999] = {.lex_state = 0}, + [8000] = {.lex_state = 0}, + [8001] = {.lex_state = 208}, + [8002] = {.lex_state = 0}, + [8003] = {.lex_state = 199}, + [8004] = {.lex_state = 199}, + [8005] = {.lex_state = 199}, + [8006] = {.lex_state = 0}, + [8007] = {.lex_state = 123}, + [8008] = {.lex_state = 0}, + [8009] = {.lex_state = 382}, + [8010] = {.lex_state = 0}, + [8011] = {.lex_state = 0}, + [8012] = {.lex_state = 0}, + [8013] = {.lex_state = 0}, + [8014] = {.lex_state = 0}, + [8015] = {.lex_state = 0}, + [8016] = {.lex_state = 0}, + [8017] = {.lex_state = 199}, + [8018] = {.lex_state = 199}, + [8019] = {.lex_state = 382}, + [8020] = {.lex_state = 0}, + [8021] = {.lex_state = 199}, + [8022] = {.lex_state = 0}, + [8023] = {.lex_state = 0}, + [8024] = {.lex_state = 382}, + [8025] = {.lex_state = 0}, + [8026] = {.lex_state = 0}, + [8027] = {.lex_state = 0}, + [8028] = {.lex_state = 0}, + [8029] = {.lex_state = 0}, + [8030] = {.lex_state = 0}, + [8031] = {.lex_state = 0}, + [8032] = {.lex_state = 199}, + [8033] = {.lex_state = 0}, + [8034] = {.lex_state = 0}, + [8035] = {.lex_state = 382}, + [8036] = {.lex_state = 208}, + [8037] = {.lex_state = 199}, + [8038] = {.lex_state = 123}, + [8039] = {.lex_state = 0}, + [8040] = {.lex_state = 199}, + [8041] = {.lex_state = 199}, + [8042] = {.lex_state = 208}, + [8043] = {.lex_state = 0}, + [8044] = {.lex_state = 0}, + [8045] = {.lex_state = 208}, + [8046] = {.lex_state = 0}, + [8047] = {.lex_state = 199}, + [8048] = {.lex_state = 0}, + [8049] = {.lex_state = 199}, + [8050] = {.lex_state = 0}, + [8051] = {.lex_state = 0}, + [8052] = {.lex_state = 0}, + [8053] = {.lex_state = 0}, + [8054] = {.lex_state = 240}, + [8055] = {.lex_state = 240}, + [8056] = {.lex_state = 0}, + [8057] = {.lex_state = 0}, + [8058] = {.lex_state = 123}, + [8059] = {.lex_state = 0}, + [8060] = {.lex_state = 0}, + [8061] = {.lex_state = 0}, + [8062] = {.lex_state = 0, .external_lex_state = 2}, + [8063] = {.lex_state = 0}, + [8064] = {.lex_state = 0}, + [8065] = {.lex_state = 199}, + [8066] = {.lex_state = 0}, + [8067] = {.lex_state = 0}, + [8068] = {.lex_state = 199}, + [8069] = {.lex_state = 0}, + [8070] = {.lex_state = 0}, + [8071] = {.lex_state = 0}, + [8072] = {.lex_state = 382}, + [8073] = {.lex_state = 0}, + [8074] = {.lex_state = 0}, + [8075] = {.lex_state = 0}, + [8076] = {.lex_state = 123}, + [8077] = {.lex_state = 208}, + [8078] = {.lex_state = 382}, + [8079] = {.lex_state = 0}, + [8080] = {.lex_state = 199}, + [8081] = {.lex_state = 382}, + [8082] = {.lex_state = 199}, + [8083] = {.lex_state = 208}, + [8084] = {.lex_state = 0}, + [8085] = {.lex_state = 0}, + [8086] = {.lex_state = 208}, + [8087] = {.lex_state = 0}, + [8088] = {.lex_state = 382}, + [8089] = {.lex_state = 0, .external_lex_state = 3}, + [8090] = {.lex_state = 0}, + [8091] = {.lex_state = 382}, + [8092] = {.lex_state = 199}, + [8093] = {.lex_state = 0}, + [8094] = {.lex_state = 0}, + [8095] = {.lex_state = 0}, + [8096] = {.lex_state = 0}, + [8097] = {.lex_state = 123}, + [8098] = {.lex_state = 0}, + [8099] = {.lex_state = 0}, + [8100] = {.lex_state = 0}, + [8101] = {.lex_state = 199}, + [8102] = {.lex_state = 0}, + [8103] = {.lex_state = 199}, + [8104] = {.lex_state = 199}, + [8105] = {.lex_state = 0}, + [8106] = {.lex_state = 0}, + [8107] = {.lex_state = 0, .external_lex_state = 2}, + [8108] = {.lex_state = 0}, + [8109] = {.lex_state = 0}, + [8110] = {.lex_state = 0}, + [8111] = {.lex_state = 0}, + [8112] = {.lex_state = 0}, + [8113] = {.lex_state = 0}, + [8114] = {.lex_state = 208}, + [8115] = {.lex_state = 0}, + [8116] = {.lex_state = 382}, + [8117] = {.lex_state = 0}, + [8118] = {.lex_state = 0}, + [8119] = {.lex_state = 382}, + [8120] = {.lex_state = 382}, + [8121] = {.lex_state = 0}, + [8122] = {.lex_state = 0}, + [8123] = {.lex_state = 0}, + [8124] = {.lex_state = 382}, + [8125] = {.lex_state = 123}, + [8126] = {.lex_state = 0}, + [8127] = {.lex_state = 208}, + [8128] = {.lex_state = 0}, + [8129] = {.lex_state = 0}, + [8130] = {.lex_state = 0}, + [8131] = {.lex_state = 0}, + [8132] = {.lex_state = 0}, + [8133] = {.lex_state = 0}, + [8134] = {.lex_state = 0}, + [8135] = {.lex_state = 123}, + [8136] = {.lex_state = 199}, + [8137] = {.lex_state = 0}, + [8138] = {.lex_state = 199}, + [8139] = {.lex_state = 123}, + [8140] = {.lex_state = 382}, + [8141] = {.lex_state = 0}, + [8142] = {.lex_state = 0}, + [8143] = {.lex_state = 0}, + [8144] = {.lex_state = 0, .external_lex_state = 2}, + [8145] = {.lex_state = 0}, + [8146] = {.lex_state = 0}, + [8147] = {.lex_state = 0}, + [8148] = {.lex_state = 0}, + [8149] = {.lex_state = 0}, + [8150] = {.lex_state = 0}, + [8151] = {.lex_state = 382}, + [8152] = {.lex_state = 0}, + [8153] = {.lex_state = 123}, + [8154] = {.lex_state = 123}, + [8155] = {.lex_state = 0}, + [8156] = {.lex_state = 208}, + [8157] = {.lex_state = 199}, + [8158] = {.lex_state = 0, .external_lex_state = 2}, + [8159] = {.lex_state = 0}, + [8160] = {.lex_state = 0}, + [8161] = {.lex_state = 199}, + [8162] = {.lex_state = 0}, + [8163] = {.lex_state = 382}, + [8164] = {.lex_state = 0}, + [8165] = {.lex_state = 0}, + [8166] = {.lex_state = 0}, + [8167] = {.lex_state = 240}, + [8168] = {.lex_state = 0, .external_lex_state = 2}, + [8169] = {.lex_state = 0}, + [8170] = {.lex_state = 0}, + [8171] = {.lex_state = 0}, + [8172] = {.lex_state = 382}, + [8173] = {.lex_state = 0}, + [8174] = {.lex_state = 0, .external_lex_state = 2}, + [8175] = {.lex_state = 0}, + [8176] = {.lex_state = 0}, + [8177] = {.lex_state = 0, .external_lex_state = 2}, + [8178] = {.lex_state = 123}, + [8179] = {.lex_state = 0}, + [8180] = {.lex_state = 0, .external_lex_state = 2}, + [8181] = {.lex_state = 0}, + [8182] = {.lex_state = 0, .external_lex_state = 2}, + [8183] = {.lex_state = 0}, + [8184] = {.lex_state = 0, .external_lex_state = 2}, + [8185] = {.lex_state = 0}, + [8186] = {.lex_state = 0, .external_lex_state = 2}, + [8187] = {.lex_state = 0}, + [8188] = {.lex_state = 0, .external_lex_state = 2}, + [8189] = {.lex_state = 0}, + [8190] = {.lex_state = 0, .external_lex_state = 2}, + [8191] = {.lex_state = 0}, + [8192] = {.lex_state = 0}, + [8193] = {.lex_state = 382}, + [8194] = {.lex_state = 0}, + [8195] = {.lex_state = 382}, + [8196] = {.lex_state = 382}, + [8197] = {.lex_state = 382}, + [8198] = {.lex_state = 199}, + [8199] = {.lex_state = 240}, + [8200] = {.lex_state = 382}, + [8201] = {.lex_state = 0}, + [8202] = {.lex_state = 0}, + [8203] = {.lex_state = 382}, + [8204] = {.lex_state = 199}, + [8205] = {.lex_state = 0}, + [8206] = {.lex_state = 0}, + [8207] = {.lex_state = 0}, + [8208] = {.lex_state = 0}, + [8209] = {.lex_state = 123}, + [8210] = {.lex_state = 0}, + [8211] = {.lex_state = 0}, + [8212] = {.lex_state = 123}, + [8213] = {.lex_state = 0}, + [8214] = {.lex_state = 240}, + [8215] = {.lex_state = 382}, + [8216] = {.lex_state = 0}, + [8217] = {.lex_state = 382}, + [8218] = {.lex_state = 0, .external_lex_state = 2}, + [8219] = {.lex_state = 0}, + [8220] = {.lex_state = 0}, + [8221] = {.lex_state = 0}, + [8222] = {.lex_state = 0}, + [8223] = {.lex_state = 382}, + [8224] = {.lex_state = 0, .external_lex_state = 3}, + [8225] = {.lex_state = 0}, + [8226] = {.lex_state = 123}, + [8227] = {.lex_state = 382}, + [8228] = {.lex_state = 0}, + [8229] = {.lex_state = 0}, + [8230] = {.lex_state = 0}, + [8231] = {.lex_state = 0}, + [8232] = {.lex_state = 0}, + [8233] = {.lex_state = 226}, + [8234] = {.lex_state = 0}, + [8235] = {.lex_state = 0}, + [8236] = {.lex_state = 0}, + [8237] = {.lex_state = 382}, + [8238] = {.lex_state = 0}, + [8239] = {.lex_state = 0}, + [8240] = {.lex_state = 0}, + [8241] = {.lex_state = 0}, + [8242] = {.lex_state = 208}, + [8243] = {.lex_state = 282}, + [8244] = {.lex_state = 0}, + [8245] = {.lex_state = 382}, + [8246] = {.lex_state = 382}, + [8247] = {.lex_state = 382}, + [8248] = {.lex_state = 382}, + [8249] = {.lex_state = 382}, + [8250] = {.lex_state = 0}, + [8251] = {.lex_state = 0}, + [8252] = {.lex_state = 0}, + [8253] = {.lex_state = 0}, + [8254] = {.lex_state = 0}, + [8255] = {.lex_state = 0}, + [8256] = {.lex_state = 0}, + [8257] = {.lex_state = 208}, + [8258] = {.lex_state = 382}, + [8259] = {.lex_state = 0}, + [8260] = {.lex_state = 0}, + [8261] = {.lex_state = 199}, + [8262] = {.lex_state = 0}, + [8263] = {.lex_state = 0}, + [8264] = {.lex_state = 123}, + [8265] = {.lex_state = 200}, + [8266] = {.lex_state = 0}, + [8267] = {.lex_state = 0}, + [8268] = {.lex_state = 123}, + [8269] = {.lex_state = 0}, + [8270] = {.lex_state = 0}, + [8271] = {.lex_state = 0}, + [8272] = {.lex_state = 199}, + [8273] = {.lex_state = 382}, + [8274] = {.lex_state = 382}, + [8275] = {.lex_state = 0}, + [8276] = {.lex_state = 208}, + [8277] = {.lex_state = 0}, + [8278] = {.lex_state = 0}, + [8279] = {.lex_state = 0}, + [8280] = {.lex_state = 0}, + [8281] = {.lex_state = 0}, + [8282] = {.lex_state = 0}, + [8283] = {.lex_state = 200}, + [8284] = {.lex_state = 199}, + [8285] = {.lex_state = 0}, + [8286] = {.lex_state = 0}, + [8287] = {.lex_state = 0}, + [8288] = {.lex_state = 0}, + [8289] = {.lex_state = 200}, + [8290] = {.lex_state = 208}, + [8291] = {.lex_state = 0}, + [8292] = {.lex_state = 0}, + [8293] = {.lex_state = 0}, + [8294] = {.lex_state = 0}, + [8295] = {.lex_state = 382}, + [8296] = {.lex_state = 0}, + [8297] = {.lex_state = 200}, + [8298] = {.lex_state = 0}, + [8299] = {.lex_state = 0}, + [8300] = {.lex_state = 199}, + [8301] = {.lex_state = 0}, + [8302] = {.lex_state = 0}, + [8303] = {.lex_state = 0}, + [8304] = {.lex_state = 208}, + [8305] = {.lex_state = 199}, + [8306] = {.lex_state = 0}, + [8307] = {.lex_state = 382}, + [8308] = {.lex_state = 0}, + [8309] = {.lex_state = 0}, + [8310] = {.lex_state = 382}, + [8311] = {.lex_state = 382}, + [8312] = {.lex_state = 123}, + [8313] = {.lex_state = 0}, + [8314] = {.lex_state = 0}, + [8315] = {.lex_state = 0}, + [8316] = {.lex_state = 0}, + [8317] = {.lex_state = 199}, + [8318] = {.lex_state = 0}, + [8319] = {.lex_state = 382}, + [8320] = {.lex_state = 0}, + [8321] = {.lex_state = 382}, + [8322] = {.lex_state = 382}, + [8323] = {.lex_state = 382}, + [8324] = {.lex_state = 0}, + [8325] = {.lex_state = 382}, + [8326] = {.lex_state = 0}, + [8327] = {.lex_state = 0}, + [8328] = {.lex_state = 0}, + [8329] = {.lex_state = 382}, + [8330] = {.lex_state = 240}, + [8331] = {.lex_state = 0}, + [8332] = {.lex_state = 382}, + [8333] = {.lex_state = 0}, + [8334] = {.lex_state = 382}, + [8335] = {.lex_state = 0}, + [8336] = {.lex_state = 382}, + [8337] = {.lex_state = 382}, + [8338] = {.lex_state = 0, .external_lex_state = 3}, + [8339] = {.lex_state = 0}, + [8340] = {.lex_state = 0}, + [8341] = {.lex_state = 0}, + [8342] = {.lex_state = 0}, + [8343] = {.lex_state = 0}, + [8344] = {.lex_state = 0}, + [8345] = {.lex_state = 0}, + [8346] = {.lex_state = 208}, + [8347] = {.lex_state = 0}, + [8348] = {.lex_state = 0}, + [8349] = {.lex_state = 0}, + [8350] = {.lex_state = 208}, + [8351] = {.lex_state = 0}, + [8352] = {.lex_state = 0}, + [8353] = {.lex_state = 0}, + [8354] = {.lex_state = 382}, + [8355] = {.lex_state = 0}, + [8356] = {.lex_state = 382}, + [8357] = {.lex_state = 382}, + [8358] = {.lex_state = 0}, + [8359] = {.lex_state = 382}, + [8360] = {.lex_state = 382}, + [8361] = {.lex_state = 0}, + [8362] = {.lex_state = 0}, + [8363] = {.lex_state = 0}, + [8364] = {.lex_state = 240}, + [8365] = {.lex_state = 208}, + [8366] = {.lex_state = 382}, + [8367] = {.lex_state = 0}, + [8368] = {.lex_state = 0}, + [8369] = {.lex_state = 0}, + [8370] = {.lex_state = 0, .external_lex_state = 2}, + [8371] = {.lex_state = 382}, + [8372] = {.lex_state = 0, .external_lex_state = 3}, + [8373] = {.lex_state = 190}, + [8374] = {.lex_state = 0}, + [8375] = {.lex_state = 0}, + [8376] = {.lex_state = 0}, + [8377] = {.lex_state = 0}, + [8378] = {.lex_state = 0}, + [8379] = {.lex_state = 208}, + [8380] = {.lex_state = 0}, + [8381] = {.lex_state = 0}, + [8382] = {.lex_state = 0}, + [8383] = {.lex_state = 208}, + [8384] = {.lex_state = 240}, + [8385] = {.lex_state = 382}, + [8386] = {.lex_state = 382}, + [8387] = {.lex_state = 382}, + [8388] = {.lex_state = 0}, + [8389] = {.lex_state = 382}, + [8390] = {.lex_state = 240}, + [8391] = {.lex_state = 240}, + [8392] = {.lex_state = 240}, + [8393] = {.lex_state = 382}, + [8394] = {.lex_state = 0}, + [8395] = {.lex_state = 240}, + [8396] = {.lex_state = 382}, + [8397] = {.lex_state = 0, .external_lex_state = 3}, + [8398] = {.lex_state = 0}, + [8399] = {.lex_state = 0}, + [8400] = {.lex_state = 0}, + [8401] = {.lex_state = 240}, + [8402] = {.lex_state = 0}, + [8403] = {.lex_state = 208}, + [8404] = {.lex_state = 240}, + [8405] = {.lex_state = 382}, + [8406] = {.lex_state = 382}, + [8407] = {.lex_state = 382}, + [8408] = {.lex_state = 123}, + [8409] = {.lex_state = 382}, + [8410] = {.lex_state = 382}, + [8411] = {.lex_state = 0}, + [8412] = {.lex_state = 382}, + [8413] = {.lex_state = 0}, + [8414] = {.lex_state = 0}, + [8415] = {.lex_state = 382}, + [8416] = {.lex_state = 0, .external_lex_state = 3}, + [8417] = {.lex_state = 0}, + [8418] = {.lex_state = 0}, + [8419] = {.lex_state = 208}, + [8420] = {.lex_state = 0}, + [8421] = {.lex_state = 0}, + [8422] = {.lex_state = 208}, + [8423] = {.lex_state = 0}, + [8424] = {.lex_state = 382}, + [8425] = {.lex_state = 240}, + [8426] = {.lex_state = 382}, + [8427] = {.lex_state = 0}, + [8428] = {.lex_state = 0}, + [8429] = {.lex_state = 0}, + [8430] = {.lex_state = 0}, + [8431] = {.lex_state = 382}, + [8432] = {.lex_state = 0, .external_lex_state = 3}, + [8433] = {.lex_state = 0}, + [8434] = {.lex_state = 0}, + [8435] = {.lex_state = 0}, + [8436] = {.lex_state = 0}, + [8437] = {.lex_state = 0}, + [8438] = {.lex_state = 382}, + [8439] = {.lex_state = 382}, + [8440] = {.lex_state = 123}, + [8441] = {.lex_state = 0, .external_lex_state = 3}, + [8442] = {.lex_state = 0}, + [8443] = {.lex_state = 0}, + [8444] = {.lex_state = 0}, + [8445] = {.lex_state = 199}, + [8446] = {.lex_state = 382}, + [8447] = {.lex_state = 382}, + [8448] = {.lex_state = 199}, + [8449] = {.lex_state = 0, .external_lex_state = 3}, + [8450] = {.lex_state = 0}, + [8451] = {.lex_state = 0}, + [8452] = {.lex_state = 382}, + [8453] = {.lex_state = 382}, + [8454] = {.lex_state = 0, .external_lex_state = 3}, + [8455] = {.lex_state = 0}, + [8456] = {.lex_state = 0, .external_lex_state = 3}, + [8457] = {.lex_state = 0}, + [8458] = {.lex_state = 0, .external_lex_state = 3}, + [8459] = {.lex_state = 0}, + [8460] = {.lex_state = 0, .external_lex_state = 3}, + [8461] = {.lex_state = 0}, + [8462] = {.lex_state = 0, .external_lex_state = 3}, + [8463] = {.lex_state = 0}, + [8464] = {.lex_state = 0, .external_lex_state = 3}, + [8465] = {.lex_state = 0}, + [8466] = {.lex_state = 0, .external_lex_state = 3}, + [8467] = {.lex_state = 0}, + [8468] = {.lex_state = 0, .external_lex_state = 3}, + [8469] = {.lex_state = 0}, + [8470] = {.lex_state = 0}, + [8471] = {.lex_state = 0}, + [8472] = {.lex_state = 382}, + [8473] = {.lex_state = 382}, + [8474] = {.lex_state = 0}, + [8475] = {.lex_state = 208}, + [8476] = {.lex_state = 0}, + [8477] = {.lex_state = 0}, + [8478] = {.lex_state = 382}, + [8479] = {.lex_state = 0}, + [8480] = {.lex_state = 0}, + [8481] = {.lex_state = 208}, + [8482] = {.lex_state = 199}, + [8483] = {.lex_state = 0}, + [8484] = {.lex_state = 0, .external_lex_state = 3}, + [8485] = {.lex_state = 0}, + [8486] = {.lex_state = 0}, + [8487] = {.lex_state = 0}, + [8488] = {.lex_state = 0}, + [8489] = {.lex_state = 382}, + [8490] = {.lex_state = 382}, + [8491] = {.lex_state = 0}, + [8492] = {.lex_state = 0}, + [8493] = {.lex_state = 0}, + [8494] = {.lex_state = 0}, + [8495] = {.lex_state = 382}, + [8496] = {.lex_state = 0, .external_lex_state = 3}, + [8497] = {.lex_state = 0}, + [8498] = {.lex_state = 0}, + [8499] = {.lex_state = 382}, + [8500] = {.lex_state = 382}, + [8501] = {.lex_state = 382}, + [8502] = {.lex_state = 0}, + [8503] = {.lex_state = 0}, + [8504] = {.lex_state = 0}, + [8505] = {.lex_state = 0}, + [8506] = {.lex_state = 123}, + [8507] = {.lex_state = 0, .external_lex_state = 3}, + [8508] = {.lex_state = 123}, + [8509] = {.lex_state = 0}, + [8510] = {.lex_state = 382}, + [8511] = {.lex_state = 382}, + [8512] = {.lex_state = 0}, + [8513] = {.lex_state = 123}, + [8514] = {.lex_state = 199}, + [8515] = {.lex_state = 0}, + [8516] = {.lex_state = 0, .external_lex_state = 3}, + [8517] = {.lex_state = 0}, + [8518] = {.lex_state = 0}, + [8519] = {.lex_state = 382}, + [8520] = {.lex_state = 199}, + [8521] = {.lex_state = 199}, + [8522] = {.lex_state = 382}, + [8523] = {.lex_state = 0}, + [8524] = {.lex_state = 0, .external_lex_state = 3}, + [8525] = {.lex_state = 0}, + [8526] = {.lex_state = 0}, + [8527] = {.lex_state = 382}, + [8528] = {.lex_state = 0}, + [8529] = {.lex_state = 0}, + [8530] = {.lex_state = 0}, + [8531] = {.lex_state = 0, .external_lex_state = 3}, + [8532] = {.lex_state = 0}, + [8533] = {.lex_state = 0}, + [8534] = {.lex_state = 0}, + [8535] = {.lex_state = 0, .external_lex_state = 3}, + [8536] = {.lex_state = 0}, + [8537] = {.lex_state = 382}, + [8538] = {.lex_state = 0, .external_lex_state = 3}, + [8539] = {.lex_state = 0}, + [8540] = {.lex_state = 0, .external_lex_state = 3}, + [8541] = {.lex_state = 0}, + [8542] = {.lex_state = 0, .external_lex_state = 3}, + [8543] = {.lex_state = 0}, + [8544] = {.lex_state = 0, .external_lex_state = 3}, + [8545] = {.lex_state = 0}, + [8546] = {.lex_state = 0, .external_lex_state = 3}, + [8547] = {.lex_state = 0}, + [8548] = {.lex_state = 0, .external_lex_state = 3}, + [8549] = {.lex_state = 0}, + [8550] = {.lex_state = 0, .external_lex_state = 3}, + [8551] = {.lex_state = 0}, + [8552] = {.lex_state = 0, .external_lex_state = 3}, + [8553] = {.lex_state = 0}, + [8554] = {.lex_state = 0, .external_lex_state = 3}, + [8555] = {.lex_state = 382}, + [8556] = {.lex_state = 382}, + [8557] = {.lex_state = 0}, + [8558] = {.lex_state = 382}, + [8559] = {.lex_state = 382}, + [8560] = {.lex_state = 0}, + [8561] = {.lex_state = 382}, + [8562] = {.lex_state = 382}, + [8563] = {.lex_state = 0}, + [8564] = {.lex_state = 382}, + [8565] = {.lex_state = 382}, + [8566] = {.lex_state = 0}, + [8567] = {.lex_state = 382}, + [8568] = {.lex_state = 382}, + [8569] = {.lex_state = 0}, + [8570] = {.lex_state = 382}, + [8571] = {.lex_state = 382}, + [8572] = {.lex_state = 382}, + [8573] = {.lex_state = 382}, + [8574] = {.lex_state = 382}, + [8575] = {.lex_state = 382}, + [8576] = {.lex_state = 382}, + [8577] = {.lex_state = 382}, + [8578] = {.lex_state = 382}, + [8579] = {.lex_state = 382}, + [8580] = {.lex_state = 382}, + [8581] = {.lex_state = 123}, + [8582] = {.lex_state = 0}, + [8583] = {.lex_state = 240}, + [8584] = {.lex_state = 0}, + [8585] = {.lex_state = 382}, + [8586] = {.lex_state = 382}, + [8587] = {.lex_state = 382}, + [8588] = {.lex_state = 382}, + [8589] = {.lex_state = 382}, + [8590] = {.lex_state = 382}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym__identifier] = ACTIONS(1), + [aux_sym_preproc_include_token1] = ACTIONS(1), + [aux_sym_preproc_def_token1] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [aux_sym_preproc_if_token1] = ACTIONS(1), + [aux_sym_preproc_if_token2] = ACTIONS(1), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1), + [aux_sym_preproc_else_token1] = ACTIONS(1), + [aux_sym_preproc_elif_token1] = ACTIONS(1), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1), + [sym_preproc_directive] = ACTIONS(1), + [anon_sym_LPAREN2] = ACTIONS(1), + [anon_sym_defined] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_TILDE] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym___extension__] = ACTIONS(1), + [anon_sym_typedef] = ACTIONS(1), + [anon_sym_extern] = ACTIONS(1), + [anon_sym___attribute__] = ACTIONS(1), + [anon_sym_COLON_COLON] = ACTIONS(1), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1), + [anon_sym___declspec] = ACTIONS(1), + [anon_sym___based] = ACTIONS(1), + [anon_sym___cdecl] = ACTIONS(1), + [anon_sym___clrcall] = ACTIONS(1), + [anon_sym___stdcall] = ACTIONS(1), + [anon_sym___fastcall] = ACTIONS(1), + [anon_sym___thiscall] = ACTIONS(1), + [anon_sym___vectorcall] = ACTIONS(1), + [sym_ms_restrict_modifier] = ACTIONS(1), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(1), + [sym_ms_signed_ptr_modifier] = ACTIONS(1), + [anon_sym__unaligned] = ACTIONS(1), + [anon_sym___unaligned] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_signed] = ACTIONS(1), + [anon_sym_unsigned] = ACTIONS(1), + [anon_sym_long] = ACTIONS(1), + [anon_sym_short] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_static] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_register] = ACTIONS(1), + [anon_sym_inline] = ACTIONS(1), + [anon_sym___inline] = ACTIONS(1), + [anon_sym___inline__] = ACTIONS(1), + [anon_sym___forceinline] = ACTIONS(1), + [anon_sym_thread_local] = ACTIONS(1), + [anon_sym___thread] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_constexpr] = ACTIONS(1), + [anon_sym_volatile] = ACTIONS(1), + [anon_sym_restrict] = ACTIONS(1), + [anon_sym___restrict__] = ACTIONS(1), + [anon_sym__Atomic] = ACTIONS(1), + [anon_sym__Noreturn] = ACTIONS(1), + [anon_sym_noreturn] = ACTIONS(1), + [anon_sym_mutable] = ACTIONS(1), + [anon_sym_constinit] = ACTIONS(1), + [anon_sym_consteval] = ACTIONS(1), + [anon_sym_alignas] = ACTIONS(1), + [anon_sym__Alignas] = ACTIONS(1), + [sym_primitive_type] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_class] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_union] = ACTIONS(1), + [anon_sym_COLON] = 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_while] = ACTIONS(1), + [anon_sym_do] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [anon_sym_continue] = ACTIONS(1), + [anon_sym_goto] = ACTIONS(1), + [anon_sym___try] = ACTIONS(1), + [anon_sym___except] = ACTIONS(1), + [anon_sym___finally] = ACTIONS(1), + [anon_sym___leave] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_LT_LT_EQ] = ACTIONS(1), + [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_and_eq] = ACTIONS(1), + [anon_sym_or_eq] = ACTIONS(1), + [anon_sym_xor_eq] = ACTIONS(1), + [anon_sym_not] = ACTIONS(1), + [anon_sym_compl] = ACTIONS(1), + [anon_sym_LT_EQ_GT] = ACTIONS(1), + [anon_sym_or] = ACTIONS(1), + [anon_sym_and] = ACTIONS(1), + [anon_sym_bitor] = ACTIONS(1), + [anon_sym_xor] = ACTIONS(1), + [anon_sym_bitand] = ACTIONS(1), + [anon_sym_not_eq] = ACTIONS(1), + [anon_sym_DASH_DASH] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_sizeof] = ACTIONS(1), + [anon_sym___alignof__] = ACTIONS(1), + [anon_sym___alignof] = ACTIONS(1), + [anon_sym__alignof] = ACTIONS(1), + [anon_sym_alignof] = ACTIONS(1), + [anon_sym__Alignof] = ACTIONS(1), + [anon_sym_offsetof] = ACTIONS(1), + [anon_sym__Generic] = ACTIONS(1), + [anon_sym_asm] = ACTIONS(1), + [anon_sym___asm__] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_DOT_STAR] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [sym__number_literal] = ACTIONS(1), + [anon_sym_L_SQUOTE] = ACTIONS(1), + [anon_sym_u_SQUOTE] = ACTIONS(1), + [anon_sym_U_SQUOTE] = ACTIONS(1), + [anon_sym_u8_SQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [anon_sym_L_DQUOTE] = ACTIONS(1), + [anon_sym_u_DQUOTE] = ACTIONS(1), + [anon_sym_U_DQUOTE] = ACTIONS(1), + [anon_sym_u8_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [sym_true] = ACTIONS(1), + [sym_false] = ACTIONS(1), + [anon_sym_NULL] = ACTIONS(1), + [anon_sym_nullptr] = ACTIONS(1), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1), + [sym_auto] = ACTIONS(1), + [anon_sym_decltype] = ACTIONS(1), + [anon_sym_final] = ACTIONS(1), + [anon_sym_override] = ACTIONS(1), + [sym_virtual] = ACTIONS(1), + [anon_sym_explicit] = ACTIONS(1), + [anon_sym_typename] = ACTIONS(1), + [anon_sym_template] = ACTIONS(1), + [anon_sym_GT2] = ACTIONS(1), + [anon_sym_operator] = ACTIONS(1), + [anon_sym_try] = ACTIONS(1), + [anon_sym_delete] = ACTIONS(1), + [anon_sym_0] = ACTIONS(1), + [anon_sym_friend] = ACTIONS(1), + [anon_sym_public] = ACTIONS(1), + [anon_sym_private] = ACTIONS(1), + [anon_sym_protected] = ACTIONS(1), + [anon_sym_noexcept] = ACTIONS(1), + [anon_sym_throw] = ACTIONS(1), + [anon_sym_namespace] = ACTIONS(1), + [anon_sym_using] = ACTIONS(1), + [anon_sym_static_assert] = ACTIONS(1), + [anon_sym_concept] = ACTIONS(1), + [anon_sym_co_return] = ACTIONS(1), + [anon_sym_co_yield] = ACTIONS(1), + [anon_sym_catch] = ACTIONS(1), + [anon_sym_R_DQUOTE] = ACTIONS(1), + [anon_sym_LR_DQUOTE] = ACTIONS(1), + [anon_sym_uR_DQUOTE] = ACTIONS(1), + [anon_sym_UR_DQUOTE] = ACTIONS(1), + [anon_sym_u8R_DQUOTE] = ACTIONS(1), + [anon_sym_co_await] = ACTIONS(1), + [anon_sym_new] = ACTIONS(1), + [anon_sym_requires] = ACTIONS(1), + [anon_sym_DASH_GT_STAR] = ACTIONS(1), + [anon_sym_LBRACK_RBRACK] = ACTIONS(1), + [sym_this] = ACTIONS(1), + [sym_raw_string_delimiter] = ACTIONS(1), + [sym_raw_string_content] = ACTIONS(1), + }, + [1] = { + [sym_translation_unit] = STATE(8162), + [sym__top_level_item] = STATE(81), + [sym_preproc_include] = STATE(81), + [sym_preproc_def] = STATE(81), + [sym_preproc_function_def] = STATE(81), + [sym_preproc_call] = STATE(81), + [sym_preproc_if] = STATE(81), + [sym_preproc_ifdef] = STATE(81), + [sym_function_definition] = STATE(81), + [sym_declaration] = STATE(81), + [sym_type_definition] = STATE(81), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4384), + [sym_linkage_specification] = STATE(81), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1904), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6298), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(81), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2747), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(733), + [sym__top_level_statement] = STATE(81), + [sym_labeled_statement] = STATE(81), + [sym__top_level_expression_statement] = STATE(81), + [sym_if_statement] = STATE(81), + [sym_switch_statement] = STATE(81), + [sym_case_statement] = STATE(81), + [sym_while_statement] = STATE(81), + [sym_do_statement] = STATE(81), + [sym_for_statement] = STATE(81), + [sym_return_statement] = STATE(81), + [sym_break_statement] = STATE(81), + [sym_continue_statement] = STATE(81), + [sym_goto_statement] = STATE(81), + [sym_expression] = STATE(4766), + [sym__string] = STATE(4833), + [sym_conditional_expression] = STATE(4833), + [sym_assignment_expression] = STATE(4833), + [sym_pointer_expression] = STATE(3802), + [sym_unary_expression] = STATE(4833), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(4833), + [sym_cast_expression] = STATE(4833), + [sym_sizeof_expression] = STATE(4833), + [sym_alignof_expression] = STATE(4833), + [sym_offsetof_expression] = STATE(4833), + [sym_generic_expression] = STATE(4833), + [sym_subscript_expression] = STATE(3802), + [sym_call_expression] = STATE(3802), + [sym_gnu_asm_expression] = STATE(4833), + [sym_field_expression] = STATE(3802), + [sym_compound_literal_expression] = STATE(4833), + [sym_parenthesized_expression] = STATE(3802), + [sym_number_literal] = STATE(4802), + [sym_char_literal] = STATE(4802), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(4833), + [sym_identifier] = STATE(819), + [sym__empty_declaration] = STATE(81), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1702), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(81), + [sym_template_instantiation] = STATE(81), + [sym_operator_cast] = STATE(6658), + [sym__constructor_specifiers] = STATE(1702), + [sym_operator_cast_definition] = STATE(81), + [sym_operator_cast_declaration] = STATE(81), + [sym_constructor_or_destructor_definition] = STATE(81), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4746), + [sym_namespace_definition] = STATE(81), + [sym_namespace_alias_definition] = STATE(81), + [sym_using_declaration] = STATE(81), + [sym_alias_declaration] = STATE(81), + [sym_static_assert_declaration] = STATE(81), + [sym_concept_definition] = STATE(81), + [sym_for_range_loop] = STATE(81), + [sym_co_return_statement] = STATE(81), + [sym_co_yield_statement] = STATE(81), + [sym_throw_statement] = STATE(81), + [sym_try_statement] = STATE(81), + [sym_raw_string_literal] = STATE(3602), + [sym_co_await_expression] = STATE(4833), + [sym_new_expression] = STATE(4833), + [sym_delete_expression] = STATE(4833), + [sym_requires_clause] = STATE(4833), + [sym_requires_expression] = STATE(4833), + [sym_lambda_expression] = STATE(4833), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(4833), + [sym_parameter_pack_expansion] = STATE(4833), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3590), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6658), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3802), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_translation_unit_repeat1] = STATE(81), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1702), + [ts_builtin_sym_end] = ACTIONS(5), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(37), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(59), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(115), + [sym_false] = ACTIONS(115), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(131), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(141), + [anon_sym_using] = ACTIONS(143), + [anon_sym_static_assert] = ACTIONS(145), + [anon_sym_concept] = ACTIONS(147), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(115), + }, + [2] = { + [sym__block_item] = STATE(62), + [sym_preproc_include] = STATE(62), + [sym_preproc_def] = STATE(62), + [sym_preproc_function_def] = STATE(62), + [sym_preproc_call] = STATE(62), + [sym_preproc_if] = STATE(62), + [sym_preproc_ifdef] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_declaration] = STATE(62), + [sym_type_definition] = STATE(62), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(62), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(62), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(62), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(62), + [sym_template_instantiation] = STATE(62), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(62), + [sym_operator_cast_declaration] = STATE(62), + [sym_constructor_or_destructor_definition] = STATE(62), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(62), + [sym_namespace_alias_definition] = STATE(62), + [sym_using_declaration] = STATE(62), + [sym_alias_declaration] = STATE(62), + [sym_static_assert_declaration] = STATE(62), + [sym_concept_definition] = STATE(62), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(62), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(183), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [3] = { + [sym__block_item] = STATE(39), + [sym_preproc_include] = STATE(39), + [sym_preproc_def] = STATE(39), + [sym_preproc_function_def] = STATE(39), + [sym_preproc_call] = STATE(39), + [sym_preproc_if] = STATE(39), + [sym_preproc_ifdef] = STATE(39), + [sym_function_definition] = STATE(39), + [sym_declaration] = STATE(39), + [sym_type_definition] = STATE(39), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(39), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(39), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(39), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(39), + [sym_template_instantiation] = STATE(39), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(39), + [sym_operator_cast_declaration] = STATE(39), + [sym_constructor_or_destructor_definition] = STATE(39), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(39), + [sym_namespace_alias_definition] = STATE(39), + [sym_using_declaration] = STATE(39), + [sym_alias_declaration] = STATE(39), + [sym_static_assert_declaration] = STATE(39), + [sym_concept_definition] = STATE(39), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(39), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(237), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [4] = { + [sym__block_item] = STATE(75), + [sym_preproc_include] = STATE(75), + [sym_preproc_def] = STATE(75), + [sym_preproc_function_def] = STATE(75), + [sym_preproc_call] = STATE(75), + [sym_preproc_if] = STATE(75), + [sym_preproc_ifdef] = STATE(75), + [sym_function_definition] = STATE(75), + [sym_declaration] = STATE(75), + [sym_type_definition] = STATE(75), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(75), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(75), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(75), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(75), + [sym_template_instantiation] = STATE(75), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(75), + [sym_operator_cast_declaration] = STATE(75), + [sym_constructor_or_destructor_definition] = STATE(75), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(75), + [sym_namespace_alias_definition] = STATE(75), + [sym_using_declaration] = STATE(75), + [sym_alias_declaration] = STATE(75), + [sym_static_assert_declaration] = STATE(75), + [sym_concept_definition] = STATE(75), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(75), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(239), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [5] = { + [sym__block_item] = STATE(37), + [sym_preproc_include] = STATE(37), + [sym_preproc_def] = STATE(37), + [sym_preproc_function_def] = STATE(37), + [sym_preproc_call] = STATE(37), + [sym_preproc_if] = STATE(37), + [sym_preproc_ifdef] = STATE(37), + [sym_function_definition] = STATE(37), + [sym_declaration] = STATE(37), + [sym_type_definition] = STATE(37), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(37), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(37), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(37), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(37), + [sym_template_instantiation] = STATE(37), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(37), + [sym_operator_cast_declaration] = STATE(37), + [sym_constructor_or_destructor_definition] = STATE(37), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(37), + [sym_namespace_alias_definition] = STATE(37), + [sym_using_declaration] = STATE(37), + [sym_alias_declaration] = STATE(37), + [sym_static_assert_declaration] = STATE(37), + [sym_concept_definition] = STATE(37), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(37), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(241), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [6] = { + [sym__block_item] = STATE(72), + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(72), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(243), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [7] = { + [sym__block_item] = STATE(37), + [sym_preproc_include] = STATE(37), + [sym_preproc_def] = STATE(37), + [sym_preproc_function_def] = STATE(37), + [sym_preproc_call] = STATE(37), + [sym_preproc_if] = STATE(37), + [sym_preproc_ifdef] = STATE(37), + [sym_function_definition] = STATE(37), + [sym_declaration] = STATE(37), + [sym_type_definition] = STATE(37), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(37), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(37), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(37), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(37), + [sym_template_instantiation] = STATE(37), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(37), + [sym_operator_cast_declaration] = STATE(37), + [sym_constructor_or_destructor_definition] = STATE(37), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(37), + [sym_namespace_alias_definition] = STATE(37), + [sym_using_declaration] = STATE(37), + [sym_alias_declaration] = STATE(37), + [sym_static_assert_declaration] = STATE(37), + [sym_concept_definition] = STATE(37), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(37), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(245), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [8] = { + [sym__block_item] = STATE(75), + [sym_preproc_include] = STATE(75), + [sym_preproc_def] = STATE(75), + [sym_preproc_function_def] = STATE(75), + [sym_preproc_call] = STATE(75), + [sym_preproc_if] = STATE(75), + [sym_preproc_ifdef] = STATE(75), + [sym_function_definition] = STATE(75), + [sym_declaration] = STATE(75), + [sym_type_definition] = STATE(75), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(75), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(75), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(75), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(75), + [sym_template_instantiation] = STATE(75), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(75), + [sym_operator_cast_declaration] = STATE(75), + [sym_constructor_or_destructor_definition] = STATE(75), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(75), + [sym_namespace_alias_definition] = STATE(75), + [sym_using_declaration] = STATE(75), + [sym_alias_declaration] = STATE(75), + [sym_static_assert_declaration] = STATE(75), + [sym_concept_definition] = STATE(75), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(75), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(247), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [9] = { + [sym__block_item] = STATE(50), + [sym_preproc_include] = STATE(50), + [sym_preproc_def] = STATE(50), + [sym_preproc_function_def] = STATE(50), + [sym_preproc_call] = STATE(50), + [sym_preproc_if] = STATE(50), + [sym_preproc_ifdef] = STATE(50), + [sym_function_definition] = STATE(50), + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(50), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(50), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(50), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(50), + [sym_template_instantiation] = STATE(50), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(50), + [sym_operator_cast_declaration] = STATE(50), + [sym_constructor_or_destructor_definition] = STATE(50), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(50), + [sym_namespace_alias_definition] = STATE(50), + [sym_using_declaration] = STATE(50), + [sym_alias_declaration] = STATE(50), + [sym_static_assert_declaration] = STATE(50), + [sym_concept_definition] = STATE(50), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(50), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(249), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [10] = { + [sym__block_item] = STATE(64), + [sym_preproc_include] = STATE(64), + [sym_preproc_def] = STATE(64), + [sym_preproc_function_def] = STATE(64), + [sym_preproc_call] = STATE(64), + [sym_preproc_if] = STATE(64), + [sym_preproc_ifdef] = STATE(64), + [sym_function_definition] = STATE(64), + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(64), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(64), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(64), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(64), + [sym_template_instantiation] = STATE(64), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(64), + [sym_operator_cast_declaration] = STATE(64), + [sym_constructor_or_destructor_definition] = STATE(64), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(64), + [sym_namespace_alias_definition] = STATE(64), + [sym_using_declaration] = STATE(64), + [sym_alias_declaration] = STATE(64), + [sym_static_assert_declaration] = STATE(64), + [sym_concept_definition] = STATE(64), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(64), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(251), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [11] = { + [sym__block_item] = STATE(50), + [sym_preproc_include] = STATE(50), + [sym_preproc_def] = STATE(50), + [sym_preproc_function_def] = STATE(50), + [sym_preproc_call] = STATE(50), + [sym_preproc_if] = STATE(50), + [sym_preproc_ifdef] = STATE(50), + [sym_function_definition] = STATE(50), + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(50), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(50), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(50), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(50), + [sym_template_instantiation] = STATE(50), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(50), + [sym_operator_cast_declaration] = STATE(50), + [sym_constructor_or_destructor_definition] = STATE(50), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(50), + [sym_namespace_alias_definition] = STATE(50), + [sym_using_declaration] = STATE(50), + [sym_alias_declaration] = STATE(50), + [sym_static_assert_declaration] = STATE(50), + [sym_concept_definition] = STATE(50), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(50), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(253), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [12] = { + [sym__block_item] = STATE(72), + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(72), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4232), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(812), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [anon_sym_COMMA] = ACTIONS(165), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_RBRACE] = ACTIONS(255), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(185), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [13] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8261), + [sym_preproc_elif] = STATE(8261), + [sym_preproc_elifdef] = STATE(8261), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(263), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [14] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8198), + [sym_preproc_elif] = STATE(8198), + [sym_preproc_elifdef] = STATE(8198), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [15] = { + [sym__block_item] = STATE(18), + [sym_preproc_include] = STATE(18), + [sym_preproc_def] = STATE(18), + [sym_preproc_function_def] = STATE(18), + [sym_preproc_call] = STATE(18), + [sym_preproc_if] = STATE(18), + [sym_preproc_ifdef] = STATE(18), + [sym_preproc_else] = STATE(7823), + [sym_preproc_elif] = STATE(7823), + [sym_preproc_elifdef] = STATE(7823), + [sym_function_definition] = STATE(18), + [sym_declaration] = STATE(18), + [sym_type_definition] = STATE(18), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(18), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(18), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(18), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(18), + [sym_template_instantiation] = STATE(18), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(18), + [sym_operator_cast_declaration] = STATE(18), + [sym_constructor_or_destructor_definition] = STATE(18), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(18), + [sym_namespace_alias_definition] = STATE(18), + [sym_using_declaration] = STATE(18), + [sym_alias_declaration] = STATE(18), + [sym_static_assert_declaration] = STATE(18), + [sym_concept_definition] = STATE(18), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(18), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(333), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [16] = { + [sym__block_item] = STATE(22), + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_preproc_else] = STATE(8068), + [sym_preproc_elif] = STATE(8068), + [sym_preproc_elifdef] = STATE(8068), + [sym_function_definition] = STATE(22), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(22), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(22), + [sym_template_instantiation] = STATE(22), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(22), + [sym_operator_cast_declaration] = STATE(22), + [sym_constructor_or_destructor_definition] = STATE(22), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(22), + [sym_namespace_alias_definition] = STATE(22), + [sym_using_declaration] = STATE(22), + [sym_alias_declaration] = STATE(22), + [sym_static_assert_declaration] = STATE(22), + [sym_concept_definition] = STATE(22), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(335), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [17] = { + [sym__block_item] = STATE(23), + [sym_preproc_include] = STATE(23), + [sym_preproc_def] = STATE(23), + [sym_preproc_function_def] = STATE(23), + [sym_preproc_call] = STATE(23), + [sym_preproc_if] = STATE(23), + [sym_preproc_ifdef] = STATE(23), + [sym_preproc_else] = STATE(8138), + [sym_preproc_elif] = STATE(8138), + [sym_preproc_elifdef] = STATE(8138), + [sym_function_definition] = STATE(23), + [sym_declaration] = STATE(23), + [sym_type_definition] = STATE(23), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(23), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(23), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(23), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(23), + [sym_template_instantiation] = STATE(23), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(23), + [sym_operator_cast_declaration] = STATE(23), + [sym_constructor_or_destructor_definition] = STATE(23), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(23), + [sym_namespace_alias_definition] = STATE(23), + [sym_using_declaration] = STATE(23), + [sym_alias_declaration] = STATE(23), + [sym_static_assert_declaration] = STATE(23), + [sym_concept_definition] = STATE(23), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(23), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(337), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [18] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(7903), + [sym_preproc_elif] = STATE(7903), + [sym_preproc_elifdef] = STATE(7903), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [19] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8204), + [sym_preproc_elif] = STATE(8204), + [sym_preproc_elifdef] = STATE(8204), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(341), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [20] = { + [sym__block_item] = STATE(25), + [sym_preproc_include] = STATE(25), + [sym_preproc_def] = STATE(25), + [sym_preproc_function_def] = STATE(25), + [sym_preproc_call] = STATE(25), + [sym_preproc_if] = STATE(25), + [sym_preproc_ifdef] = STATE(25), + [sym_preproc_else] = STATE(7914), + [sym_preproc_elif] = STATE(7914), + [sym_preproc_elifdef] = STATE(7914), + [sym_function_definition] = STATE(25), + [sym_declaration] = STATE(25), + [sym_type_definition] = STATE(25), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(25), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(25), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(25), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(25), + [sym_template_instantiation] = STATE(25), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(25), + [sym_operator_cast_declaration] = STATE(25), + [sym_constructor_or_destructor_definition] = STATE(25), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(25), + [sym_namespace_alias_definition] = STATE(25), + [sym_using_declaration] = STATE(25), + [sym_alias_declaration] = STATE(25), + [sym_static_assert_declaration] = STATE(25), + [sym_concept_definition] = STATE(25), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(25), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(343), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [21] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8136), + [sym_preproc_elif] = STATE(8136), + [sym_preproc_elifdef] = STATE(8136), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(345), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [22] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(7909), + [sym_preproc_elif] = STATE(7909), + [sym_preproc_elifdef] = STATE(7909), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(347), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [23] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8041), + [sym_preproc_elif] = STATE(8041), + [sym_preproc_elifdef] = STATE(8041), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(349), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [24] = { + [sym__block_item] = STATE(30), + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_preproc_else] = STATE(8065), + [sym_preproc_elif] = STATE(8065), + [sym_preproc_elifdef] = STATE(8065), + [sym_function_definition] = STATE(30), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(30), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(30), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(30), + [sym_template_instantiation] = STATE(30), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(30), + [sym_operator_cast_declaration] = STATE(30), + [sym_constructor_or_destructor_definition] = STATE(30), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(30), + [sym_namespace_alias_definition] = STATE(30), + [sym_using_declaration] = STATE(30), + [sym_alias_declaration] = STATE(30), + [sym_static_assert_declaration] = STATE(30), + [sym_concept_definition] = STATE(30), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(351), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [25] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(7810), + [sym_preproc_elif] = STATE(7810), + [sym_preproc_elifdef] = STATE(7810), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(353), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [26] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(8300), + [sym_preproc_elif] = STATE(8300), + [sym_preproc_elifdef] = STATE(8300), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(355), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [27] = { + [sym__block_item] = STATE(14), + [sym_preproc_include] = STATE(14), + [sym_preproc_def] = STATE(14), + [sym_preproc_function_def] = STATE(14), + [sym_preproc_call] = STATE(14), + [sym_preproc_if] = STATE(14), + [sym_preproc_ifdef] = STATE(14), + [sym_preproc_else] = STATE(8161), + [sym_preproc_elif] = STATE(8161), + [sym_preproc_elifdef] = STATE(8161), + [sym_function_definition] = STATE(14), + [sym_declaration] = STATE(14), + [sym_type_definition] = STATE(14), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(14), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(14), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(14), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(14), + [sym_template_instantiation] = STATE(14), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(14), + [sym_operator_cast_declaration] = STATE(14), + [sym_constructor_or_destructor_definition] = STATE(14), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(14), + [sym_namespace_alias_definition] = STATE(14), + [sym_using_declaration] = STATE(14), + [sym_alias_declaration] = STATE(14), + [sym_static_assert_declaration] = STATE(14), + [sym_concept_definition] = STATE(14), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(14), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(357), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [28] = { + [sym__block_item] = STATE(26), + [sym_preproc_include] = STATE(26), + [sym_preproc_def] = STATE(26), + [sym_preproc_function_def] = STATE(26), + [sym_preproc_call] = STATE(26), + [sym_preproc_if] = STATE(26), + [sym_preproc_ifdef] = STATE(26), + [sym_preproc_else] = STATE(7995), + [sym_preproc_elif] = STATE(7995), + [sym_preproc_elifdef] = STATE(7995), + [sym_function_definition] = STATE(26), + [sym_declaration] = STATE(26), + [sym_type_definition] = STATE(26), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(26), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(26), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(26), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(26), + [sym_template_instantiation] = STATE(26), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(26), + [sym_operator_cast_declaration] = STATE(26), + [sym_constructor_or_destructor_definition] = STATE(26), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(26), + [sym_namespace_alias_definition] = STATE(26), + [sym_using_declaration] = STATE(26), + [sym_alias_declaration] = STATE(26), + [sym_static_assert_declaration] = STATE(26), + [sym_concept_definition] = STATE(26), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(26), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(359), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [29] = { + [sym__block_item] = STATE(13), + [sym_preproc_include] = STATE(13), + [sym_preproc_def] = STATE(13), + [sym_preproc_function_def] = STATE(13), + [sym_preproc_call] = STATE(13), + [sym_preproc_if] = STATE(13), + [sym_preproc_ifdef] = STATE(13), + [sym_preproc_else] = STATE(8157), + [sym_preproc_elif] = STATE(8157), + [sym_preproc_elifdef] = STATE(8157), + [sym_function_definition] = STATE(13), + [sym_declaration] = STATE(13), + [sym_type_definition] = STATE(13), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(13), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(13), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(13), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(13), + [sym_template_instantiation] = STATE(13), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(13), + [sym_operator_cast_declaration] = STATE(13), + [sym_constructor_or_destructor_definition] = STATE(13), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(13), + [sym_namespace_alias_definition] = STATE(13), + [sym_using_declaration] = STATE(13), + [sym_alias_declaration] = STATE(13), + [sym_static_assert_declaration] = STATE(13), + [sym_concept_definition] = STATE(13), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(13), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [30] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_preproc_else] = STATE(7860), + [sym_preproc_elif] = STATE(7860), + [sym_preproc_elifdef] = STATE(7860), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(363), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [31] = { + [sym__block_item] = STATE(21), + [sym_preproc_include] = STATE(21), + [sym_preproc_def] = STATE(21), + [sym_preproc_function_def] = STATE(21), + [sym_preproc_call] = STATE(21), + [sym_preproc_if] = STATE(21), + [sym_preproc_ifdef] = STATE(21), + [sym_preproc_else] = STATE(8040), + [sym_preproc_elif] = STATE(8040), + [sym_preproc_elifdef] = STATE(8040), + [sym_function_definition] = STATE(21), + [sym_declaration] = STATE(21), + [sym_type_definition] = STATE(21), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(21), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(21), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(21), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(21), + [sym_template_instantiation] = STATE(21), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(21), + [sym_operator_cast_declaration] = STATE(21), + [sym_constructor_or_destructor_definition] = STATE(21), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(21), + [sym_namespace_alias_definition] = STATE(21), + [sym_using_declaration] = STATE(21), + [sym_alias_declaration] = STATE(21), + [sym_static_assert_declaration] = STATE(21), + [sym_concept_definition] = STATE(21), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(21), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(365), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [32] = { + [sym__block_item] = STATE(19), + [sym_preproc_include] = STATE(19), + [sym_preproc_def] = STATE(19), + [sym_preproc_function_def] = STATE(19), + [sym_preproc_call] = STATE(19), + [sym_preproc_if] = STATE(19), + [sym_preproc_ifdef] = STATE(19), + [sym_preproc_else] = STATE(8082), + [sym_preproc_elif] = STATE(8082), + [sym_preproc_elifdef] = STATE(8082), + [sym_function_definition] = STATE(19), + [sym_declaration] = STATE(19), + [sym_type_definition] = STATE(19), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(19), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(19), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(19), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(19), + [sym_template_instantiation] = STATE(19), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(19), + [sym_operator_cast_declaration] = STATE(19), + [sym_constructor_or_destructor_definition] = STATE(19), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(19), + [sym_namespace_alias_definition] = STATE(19), + [sym_using_declaration] = STATE(19), + [sym_alias_declaration] = STATE(19), + [sym_static_assert_declaration] = STATE(19), + [sym_concept_definition] = STATE(19), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(19), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(257), + [aux_sym_preproc_def_token1] = ACTIONS(259), + [aux_sym_preproc_if_token1] = ACTIONS(261), + [aux_sym_preproc_if_token2] = ACTIONS(367), + [aux_sym_preproc_ifdef_token1] = ACTIONS(265), + [aux_sym_preproc_ifdef_token2] = ACTIONS(265), + [aux_sym_preproc_else_token1] = ACTIONS(267), + [aux_sym_preproc_elif_token1] = ACTIONS(269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(271), + [sym_preproc_directive] = ACTIONS(273), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(281), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(285), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(313), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(319), + [anon_sym_using] = ACTIONS(321), + [anon_sym_static_assert] = ACTIONS(323), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [33] = { + [sym__block_item] = STATE(33), + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6238), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(271), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(367), + [sym_statement] = STATE(33), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(816), + [sym__empty_declaration] = STATE(33), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1706), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(33), + [sym_template_instantiation] = STATE(33), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1706), + [sym_operator_cast_definition] = STATE(33), + [sym_operator_cast_declaration] = STATE(33), + [sym_constructor_or_destructor_definition] = STATE(33), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(33), + [sym_namespace_alias_definition] = STATE(33), + [sym_using_declaration] = STATE(33), + [sym_alias_declaration] = STATE(33), + [sym_static_assert_declaration] = STATE(33), + [sym_concept_definition] = STATE(33), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1706), + [sym__identifier] = ACTIONS(369), + [aux_sym_preproc_include_token1] = ACTIONS(372), + [aux_sym_preproc_def_token1] = ACTIONS(375), + [aux_sym_preproc_if_token1] = ACTIONS(378), + [aux_sym_preproc_if_token2] = ACTIONS(381), + [aux_sym_preproc_ifdef_token1] = ACTIONS(383), + [aux_sym_preproc_ifdef_token2] = ACTIONS(383), + [aux_sym_preproc_else_token1] = ACTIONS(381), + [aux_sym_preproc_elif_token1] = ACTIONS(381), + [aux_sym_preproc_elifdef_token1] = ACTIONS(381), + [aux_sym_preproc_elifdef_token2] = ACTIONS(381), + [sym_preproc_directive] = ACTIONS(386), + [anon_sym_LPAREN2] = ACTIONS(389), + [anon_sym_BANG] = ACTIONS(392), + [anon_sym_TILDE] = ACTIONS(395), + [anon_sym_DASH] = ACTIONS(398), + [anon_sym_PLUS] = ACTIONS(398), + [anon_sym_STAR] = ACTIONS(401), + [anon_sym_AMP_AMP] = ACTIONS(404), + [anon_sym_AMP] = ACTIONS(407), + [anon_sym_SEMI] = ACTIONS(410), + [anon_sym___extension__] = ACTIONS(413), + [anon_sym_typedef] = ACTIONS(416), + [anon_sym_extern] = ACTIONS(419), + [anon_sym___attribute__] = ACTIONS(422), + [anon_sym_COLON_COLON] = ACTIONS(425), + [anon_sym_LBRACK_LBRACK] = ACTIONS(428), + [anon_sym___declspec] = ACTIONS(431), + [anon_sym___based] = ACTIONS(434), + [anon_sym___cdecl] = ACTIONS(437), + [anon_sym___clrcall] = ACTIONS(437), + [anon_sym___stdcall] = ACTIONS(437), + [anon_sym___fastcall] = ACTIONS(437), + [anon_sym___thiscall] = ACTIONS(437), + [anon_sym___vectorcall] = ACTIONS(437), + [anon_sym_LBRACE] = ACTIONS(440), + [anon_sym_signed] = ACTIONS(443), + [anon_sym_unsigned] = ACTIONS(443), + [anon_sym_long] = ACTIONS(443), + [anon_sym_short] = ACTIONS(443), + [anon_sym_LBRACK] = ACTIONS(446), + [anon_sym_static] = ACTIONS(449), + [anon_sym_register] = ACTIONS(449), + [anon_sym_inline] = ACTIONS(452), + [anon_sym___inline] = ACTIONS(449), + [anon_sym___inline__] = ACTIONS(449), + [anon_sym___forceinline] = ACTIONS(449), + [anon_sym_thread_local] = ACTIONS(449), + [anon_sym___thread] = ACTIONS(449), + [anon_sym_const] = ACTIONS(455), + [anon_sym_constexpr] = ACTIONS(455), + [anon_sym_volatile] = ACTIONS(455), + [anon_sym_restrict] = ACTIONS(455), + [anon_sym___restrict__] = ACTIONS(455), + [anon_sym__Atomic] = ACTIONS(455), + [anon_sym__Noreturn] = ACTIONS(455), + [anon_sym_noreturn] = ACTIONS(455), + [anon_sym_mutable] = ACTIONS(455), + [anon_sym_constinit] = ACTIONS(455), + [anon_sym_consteval] = ACTIONS(455), + [anon_sym_alignas] = ACTIONS(458), + [anon_sym__Alignas] = ACTIONS(458), + [sym_primitive_type] = ACTIONS(461), + [anon_sym_enum] = ACTIONS(464), + [anon_sym_class] = ACTIONS(467), + [anon_sym_struct] = ACTIONS(470), + [anon_sym_union] = ACTIONS(473), + [anon_sym_if] = ACTIONS(476), + [anon_sym_switch] = ACTIONS(479), + [anon_sym_case] = ACTIONS(482), + [anon_sym_default] = ACTIONS(485), + [anon_sym_while] = ACTIONS(488), + [anon_sym_do] = ACTIONS(491), + [anon_sym_for] = ACTIONS(494), + [anon_sym_return] = ACTIONS(497), + [anon_sym_break] = ACTIONS(500), + [anon_sym_continue] = ACTIONS(503), + [anon_sym_goto] = ACTIONS(506), + [anon_sym___try] = ACTIONS(509), + [anon_sym___leave] = ACTIONS(512), + [anon_sym_not] = ACTIONS(398), + [anon_sym_compl] = ACTIONS(398), + [anon_sym_DASH_DASH] = ACTIONS(515), + [anon_sym_PLUS_PLUS] = ACTIONS(515), + [anon_sym_sizeof] = ACTIONS(518), + [anon_sym___alignof__] = ACTIONS(521), + [anon_sym___alignof] = ACTIONS(521), + [anon_sym__alignof] = ACTIONS(521), + [anon_sym_alignof] = ACTIONS(521), + [anon_sym__Alignof] = ACTIONS(521), + [anon_sym_offsetof] = ACTIONS(524), + [anon_sym__Generic] = ACTIONS(527), + [anon_sym_asm] = ACTIONS(530), + [anon_sym___asm__] = ACTIONS(530), + [sym__number_literal] = ACTIONS(533), + [anon_sym_L_SQUOTE] = ACTIONS(536), + [anon_sym_u_SQUOTE] = ACTIONS(536), + [anon_sym_U_SQUOTE] = ACTIONS(536), + [anon_sym_u8_SQUOTE] = ACTIONS(536), + [anon_sym_SQUOTE] = ACTIONS(536), + [anon_sym_L_DQUOTE] = ACTIONS(539), + [anon_sym_u_DQUOTE] = ACTIONS(539), + [anon_sym_U_DQUOTE] = ACTIONS(539), + [anon_sym_u8_DQUOTE] = ACTIONS(539), + [anon_sym_DQUOTE] = ACTIONS(539), + [sym_true] = ACTIONS(542), + [sym_false] = ACTIONS(542), + [anon_sym_NULL] = ACTIONS(545), + [anon_sym_nullptr] = ACTIONS(545), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(548), + [sym_auto] = ACTIONS(551), + [anon_sym_decltype] = ACTIONS(554), + [sym_virtual] = ACTIONS(557), + [anon_sym_explicit] = ACTIONS(560), + [anon_sym_typename] = ACTIONS(563), + [anon_sym_template] = ACTIONS(566), + [anon_sym_operator] = ACTIONS(569), + [anon_sym_try] = ACTIONS(572), + [anon_sym_delete] = ACTIONS(575), + [anon_sym_throw] = ACTIONS(578), + [anon_sym_namespace] = ACTIONS(581), + [anon_sym_using] = ACTIONS(584), + [anon_sym_static_assert] = ACTIONS(587), + [anon_sym_concept] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(593), + [anon_sym_co_yield] = ACTIONS(596), + [anon_sym_R_DQUOTE] = ACTIONS(599), + [anon_sym_LR_DQUOTE] = ACTIONS(599), + [anon_sym_uR_DQUOTE] = ACTIONS(599), + [anon_sym_UR_DQUOTE] = ACTIONS(599), + [anon_sym_u8R_DQUOTE] = ACTIONS(599), + [anon_sym_co_await] = ACTIONS(602), + [anon_sym_new] = ACTIONS(605), + [anon_sym_requires] = ACTIONS(608), + [sym_this] = ACTIONS(542), + }, + [34] = { + [sym__block_item] = STATE(34), + [sym_preproc_include] = STATE(34), + [sym_preproc_def] = STATE(34), + [sym_preproc_function_def] = STATE(34), + [sym_preproc_call] = STATE(34), + [sym_preproc_if] = STATE(34), + [sym_preproc_ifdef] = STATE(34), + [sym_function_definition] = STATE(34), + [sym_declaration] = STATE(34), + [sym_type_definition] = STATE(34), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4310), + [sym_linkage_specification] = STATE(34), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1942), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6243), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(523), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2701), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(646), + [sym_statement] = STATE(34), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(815), + [sym__empty_declaration] = STATE(34), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1711), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(34), + [sym_template_instantiation] = STATE(34), + [sym_operator_cast] = STATE(6653), + [sym__constructor_specifiers] = STATE(1711), + [sym_operator_cast_definition] = STATE(34), + [sym_operator_cast_declaration] = STATE(34), + [sym_constructor_or_destructor_definition] = STATE(34), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(34), + [sym_namespace_alias_definition] = STATE(34), + [sym_using_declaration] = STATE(34), + [sym_alias_declaration] = STATE(34), + [sym_static_assert_declaration] = STATE(34), + [sym_concept_definition] = STATE(34), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6653), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(34), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1711), + [sym__identifier] = ACTIONS(369), + [aux_sym_preproc_include_token1] = ACTIONS(611), + [aux_sym_preproc_def_token1] = ACTIONS(614), + [aux_sym_preproc_if_token1] = ACTIONS(617), + [aux_sym_preproc_if_token2] = ACTIONS(381), + [aux_sym_preproc_ifdef_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token2] = ACTIONS(620), + [sym_preproc_directive] = ACTIONS(623), + [anon_sym_LPAREN2] = ACTIONS(389), + [anon_sym_BANG] = ACTIONS(392), + [anon_sym_TILDE] = ACTIONS(395), + [anon_sym_DASH] = ACTIONS(398), + [anon_sym_PLUS] = ACTIONS(398), + [anon_sym_STAR] = ACTIONS(401), + [anon_sym_AMP_AMP] = ACTIONS(404), + [anon_sym_AMP] = ACTIONS(407), + [anon_sym_SEMI] = ACTIONS(626), + [anon_sym___extension__] = ACTIONS(629), + [anon_sym_typedef] = ACTIONS(632), + [anon_sym_extern] = ACTIONS(635), + [anon_sym___attribute__] = ACTIONS(422), + [anon_sym_COLON_COLON] = ACTIONS(425), + [anon_sym_LBRACK_LBRACK] = ACTIONS(428), + [anon_sym___declspec] = ACTIONS(431), + [anon_sym___based] = ACTIONS(434), + [anon_sym___cdecl] = ACTIONS(437), + [anon_sym___clrcall] = ACTIONS(437), + [anon_sym___stdcall] = ACTIONS(437), + [anon_sym___fastcall] = ACTIONS(437), + [anon_sym___thiscall] = ACTIONS(437), + [anon_sym___vectorcall] = ACTIONS(437), + [anon_sym_LBRACE] = ACTIONS(638), + [anon_sym_signed] = ACTIONS(443), + [anon_sym_unsigned] = ACTIONS(443), + [anon_sym_long] = ACTIONS(443), + [anon_sym_short] = ACTIONS(443), + [anon_sym_LBRACK] = ACTIONS(446), + [anon_sym_static] = ACTIONS(449), + [anon_sym_register] = ACTIONS(449), + [anon_sym_inline] = ACTIONS(641), + [anon_sym___inline] = ACTIONS(449), + [anon_sym___inline__] = ACTIONS(449), + [anon_sym___forceinline] = ACTIONS(449), + [anon_sym_thread_local] = ACTIONS(449), + [anon_sym___thread] = ACTIONS(449), + [anon_sym_const] = ACTIONS(455), + [anon_sym_constexpr] = ACTIONS(455), + [anon_sym_volatile] = ACTIONS(455), + [anon_sym_restrict] = ACTIONS(455), + [anon_sym___restrict__] = ACTIONS(455), + [anon_sym__Atomic] = ACTIONS(455), + [anon_sym__Noreturn] = ACTIONS(455), + [anon_sym_noreturn] = ACTIONS(455), + [anon_sym_mutable] = ACTIONS(455), + [anon_sym_constinit] = ACTIONS(455), + [anon_sym_consteval] = ACTIONS(455), + [anon_sym_alignas] = ACTIONS(458), + [anon_sym__Alignas] = ACTIONS(458), + [sym_primitive_type] = ACTIONS(461), + [anon_sym_enum] = ACTIONS(464), + [anon_sym_class] = ACTIONS(467), + [anon_sym_struct] = ACTIONS(470), + [anon_sym_union] = ACTIONS(473), + [anon_sym_if] = ACTIONS(644), + [anon_sym_switch] = ACTIONS(647), + [anon_sym_case] = ACTIONS(650), + [anon_sym_default] = ACTIONS(653), + [anon_sym_while] = ACTIONS(656), + [anon_sym_do] = ACTIONS(659), + [anon_sym_for] = ACTIONS(662), + [anon_sym_return] = ACTIONS(665), + [anon_sym_break] = ACTIONS(668), + [anon_sym_continue] = ACTIONS(671), + [anon_sym_goto] = ACTIONS(674), + [anon_sym___try] = ACTIONS(677), + [anon_sym___leave] = ACTIONS(680), + [anon_sym_not] = ACTIONS(398), + [anon_sym_compl] = ACTIONS(398), + [anon_sym_DASH_DASH] = ACTIONS(515), + [anon_sym_PLUS_PLUS] = ACTIONS(515), + [anon_sym_sizeof] = ACTIONS(518), + [anon_sym___alignof__] = ACTIONS(521), + [anon_sym___alignof] = ACTIONS(521), + [anon_sym__alignof] = ACTIONS(521), + [anon_sym_alignof] = ACTIONS(521), + [anon_sym__Alignof] = ACTIONS(521), + [anon_sym_offsetof] = ACTIONS(524), + [anon_sym__Generic] = ACTIONS(527), + [anon_sym_asm] = ACTIONS(530), + [anon_sym___asm__] = ACTIONS(530), + [sym__number_literal] = ACTIONS(533), + [anon_sym_L_SQUOTE] = ACTIONS(536), + [anon_sym_u_SQUOTE] = ACTIONS(536), + [anon_sym_U_SQUOTE] = ACTIONS(536), + [anon_sym_u8_SQUOTE] = ACTIONS(536), + [anon_sym_SQUOTE] = ACTIONS(536), + [anon_sym_L_DQUOTE] = ACTIONS(539), + [anon_sym_u_DQUOTE] = ACTIONS(539), + [anon_sym_U_DQUOTE] = ACTIONS(539), + [anon_sym_u8_DQUOTE] = ACTIONS(539), + [anon_sym_DQUOTE] = ACTIONS(539), + [sym_true] = ACTIONS(542), + [sym_false] = ACTIONS(542), + [anon_sym_NULL] = ACTIONS(545), + [anon_sym_nullptr] = ACTIONS(545), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(548), + [sym_auto] = ACTIONS(551), + [anon_sym_decltype] = ACTIONS(554), + [sym_virtual] = ACTIONS(557), + [anon_sym_explicit] = ACTIONS(560), + [anon_sym_typename] = ACTIONS(563), + [anon_sym_template] = ACTIONS(683), + [anon_sym_operator] = ACTIONS(569), + [anon_sym_try] = ACTIONS(686), + [anon_sym_delete] = ACTIONS(575), + [anon_sym_throw] = ACTIONS(689), + [anon_sym_namespace] = ACTIONS(692), + [anon_sym_using] = ACTIONS(695), + [anon_sym_static_assert] = ACTIONS(698), + [anon_sym_concept] = ACTIONS(701), + [anon_sym_co_return] = ACTIONS(704), + [anon_sym_co_yield] = ACTIONS(707), + [anon_sym_R_DQUOTE] = ACTIONS(599), + [anon_sym_LR_DQUOTE] = ACTIONS(599), + [anon_sym_uR_DQUOTE] = ACTIONS(599), + [anon_sym_UR_DQUOTE] = ACTIONS(599), + [anon_sym_u8R_DQUOTE] = ACTIONS(599), + [anon_sym_co_await] = ACTIONS(602), + [anon_sym_new] = ACTIONS(605), + [anon_sym_requires] = ACTIONS(608), + [sym_this] = ACTIONS(542), + }, + [35] = { + [sym__block_item] = STATE(34), + [sym_preproc_include] = STATE(34), + [sym_preproc_def] = STATE(34), + [sym_preproc_function_def] = STATE(34), + [sym_preproc_call] = STATE(34), + [sym_preproc_if] = STATE(34), + [sym_preproc_ifdef] = STATE(34), + [sym_function_definition] = STATE(34), + [sym_declaration] = STATE(34), + [sym_type_definition] = STATE(34), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4310), + [sym_linkage_specification] = STATE(34), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1942), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6243), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(523), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2701), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(646), + [sym_statement] = STATE(34), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(815), + [sym__empty_declaration] = STATE(34), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1711), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(34), + [sym_template_instantiation] = STATE(34), + [sym_operator_cast] = STATE(6653), + [sym__constructor_specifiers] = STATE(1711), + [sym_operator_cast_definition] = STATE(34), + [sym_operator_cast_declaration] = STATE(34), + [sym_constructor_or_destructor_definition] = STATE(34), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(34), + [sym_namespace_alias_definition] = STATE(34), + [sym_using_declaration] = STATE(34), + [sym_alias_declaration] = STATE(34), + [sym_static_assert_declaration] = STATE(34), + [sym_concept_definition] = STATE(34), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6653), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(34), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1711), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(710), + [aux_sym_preproc_def_token1] = ACTIONS(712), + [aux_sym_preproc_if_token1] = ACTIONS(714), + [aux_sym_preproc_if_token2] = ACTIONS(716), + [aux_sym_preproc_ifdef_token1] = ACTIONS(718), + [aux_sym_preproc_ifdef_token2] = ACTIONS(718), + [sym_preproc_directive] = ACTIONS(720), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(728), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(732), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(760), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(766), + [anon_sym_using] = ACTIONS(768), + [anon_sym_static_assert] = ACTIONS(770), + [anon_sym_concept] = ACTIONS(772), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [36] = { + [sym__block_item] = STATE(61), + [sym_preproc_include] = STATE(61), + [sym_preproc_def] = STATE(61), + [sym_preproc_function_def] = STATE(61), + [sym_preproc_call] = STATE(61), + [sym_preproc_if] = STATE(61), + [sym_preproc_ifdef] = STATE(61), + [sym_function_definition] = STATE(61), + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(61), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(61), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(61), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(61), + [sym_template_instantiation] = STATE(61), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(61), + [sym_operator_cast_declaration] = STATE(61), + [sym_constructor_or_destructor_definition] = STATE(61), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(61), + [sym_namespace_alias_definition] = STATE(61), + [sym_using_declaration] = STATE(61), + [sym_alias_declaration] = STATE(61), + [sym_static_assert_declaration] = STATE(61), + [sym_concept_definition] = STATE(61), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(61), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(780), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [37] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(782), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [38] = { + [sym__block_item] = STATE(37), + [sym_preproc_include] = STATE(37), + [sym_preproc_def] = STATE(37), + [sym_preproc_function_def] = STATE(37), + [sym_preproc_call] = STATE(37), + [sym_preproc_if] = STATE(37), + [sym_preproc_ifdef] = STATE(37), + [sym_function_definition] = STATE(37), + [sym_declaration] = STATE(37), + [sym_type_definition] = STATE(37), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(37), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(37), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(37), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(37), + [sym_template_instantiation] = STATE(37), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(37), + [sym_operator_cast_declaration] = STATE(37), + [sym_constructor_or_destructor_definition] = STATE(37), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(37), + [sym_namespace_alias_definition] = STATE(37), + [sym_using_declaration] = STATE(37), + [sym_alias_declaration] = STATE(37), + [sym_static_assert_declaration] = STATE(37), + [sym_concept_definition] = STATE(37), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(37), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(784), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [39] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(786), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [40] = { + [sym__block_item] = STATE(39), + [sym_preproc_include] = STATE(39), + [sym_preproc_def] = STATE(39), + [sym_preproc_function_def] = STATE(39), + [sym_preproc_call] = STATE(39), + [sym_preproc_if] = STATE(39), + [sym_preproc_ifdef] = STATE(39), + [sym_function_definition] = STATE(39), + [sym_declaration] = STATE(39), + [sym_type_definition] = STATE(39), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(39), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(39), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(39), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(39), + [sym_template_instantiation] = STATE(39), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(39), + [sym_operator_cast_declaration] = STATE(39), + [sym_constructor_or_destructor_definition] = STATE(39), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(39), + [sym_namespace_alias_definition] = STATE(39), + [sym_using_declaration] = STATE(39), + [sym_alias_declaration] = STATE(39), + [sym_static_assert_declaration] = STATE(39), + [sym_concept_definition] = STATE(39), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(39), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(788), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [41] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(790), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [42] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(792), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [43] = { + [sym__block_item] = STATE(42), + [sym_preproc_include] = STATE(42), + [sym_preproc_def] = STATE(42), + [sym_preproc_function_def] = STATE(42), + [sym_preproc_call] = STATE(42), + [sym_preproc_if] = STATE(42), + [sym_preproc_ifdef] = STATE(42), + [sym_function_definition] = STATE(42), + [sym_declaration] = STATE(42), + [sym_type_definition] = STATE(42), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(42), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(42), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(42), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(42), + [sym_template_instantiation] = STATE(42), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(42), + [sym_operator_cast_declaration] = STATE(42), + [sym_constructor_or_destructor_definition] = STATE(42), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(42), + [sym_namespace_alias_definition] = STATE(42), + [sym_using_declaration] = STATE(42), + [sym_alias_declaration] = STATE(42), + [sym_static_assert_declaration] = STATE(42), + [sym_concept_definition] = STATE(42), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(42), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(794), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [44] = { + [sym__block_item] = STATE(50), + [sym_preproc_include] = STATE(50), + [sym_preproc_def] = STATE(50), + [sym_preproc_function_def] = STATE(50), + [sym_preproc_call] = STATE(50), + [sym_preproc_if] = STATE(50), + [sym_preproc_ifdef] = STATE(50), + [sym_function_definition] = STATE(50), + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(50), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(50), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(50), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(50), + [sym_template_instantiation] = STATE(50), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(50), + [sym_operator_cast_declaration] = STATE(50), + [sym_constructor_or_destructor_definition] = STATE(50), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(50), + [sym_namespace_alias_definition] = STATE(50), + [sym_using_declaration] = STATE(50), + [sym_alias_declaration] = STATE(50), + [sym_static_assert_declaration] = STATE(50), + [sym_concept_definition] = STATE(50), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(50), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(796), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [45] = { + [sym__block_item] = STATE(41), + [sym_preproc_include] = STATE(41), + [sym_preproc_def] = STATE(41), + [sym_preproc_function_def] = STATE(41), + [sym_preproc_call] = STATE(41), + [sym_preproc_if] = STATE(41), + [sym_preproc_ifdef] = STATE(41), + [sym_function_definition] = STATE(41), + [sym_declaration] = STATE(41), + [sym_type_definition] = STATE(41), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(41), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(41), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(41), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(41), + [sym_template_instantiation] = STATE(41), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(41), + [sym_operator_cast_declaration] = STATE(41), + [sym_constructor_or_destructor_definition] = STATE(41), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(41), + [sym_namespace_alias_definition] = STATE(41), + [sym_using_declaration] = STATE(41), + [sym_alias_declaration] = STATE(41), + [sym_static_assert_declaration] = STATE(41), + [sym_concept_definition] = STATE(41), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(41), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(798), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [46] = { + [sym__block_item] = STATE(35), + [sym_preproc_include] = STATE(35), + [sym_preproc_def] = STATE(35), + [sym_preproc_function_def] = STATE(35), + [sym_preproc_call] = STATE(35), + [sym_preproc_if] = STATE(35), + [sym_preproc_ifdef] = STATE(35), + [sym_function_definition] = STATE(35), + [sym_declaration] = STATE(35), + [sym_type_definition] = STATE(35), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4310), + [sym_linkage_specification] = STATE(35), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1942), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6243), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(523), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2701), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(646), + [sym_statement] = STATE(35), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(815), + [sym__empty_declaration] = STATE(35), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1711), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(35), + [sym_template_instantiation] = STATE(35), + [sym_operator_cast] = STATE(6653), + [sym__constructor_specifiers] = STATE(1711), + [sym_operator_cast_definition] = STATE(35), + [sym_operator_cast_declaration] = STATE(35), + [sym_constructor_or_destructor_definition] = STATE(35), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(35), + [sym_namespace_alias_definition] = STATE(35), + [sym_using_declaration] = STATE(35), + [sym_alias_declaration] = STATE(35), + [sym_static_assert_declaration] = STATE(35), + [sym_concept_definition] = STATE(35), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6653), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(35), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1711), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(710), + [aux_sym_preproc_def_token1] = ACTIONS(712), + [aux_sym_preproc_if_token1] = ACTIONS(714), + [aux_sym_preproc_if_token2] = ACTIONS(800), + [aux_sym_preproc_ifdef_token1] = ACTIONS(718), + [aux_sym_preproc_ifdef_token2] = ACTIONS(718), + [sym_preproc_directive] = ACTIONS(720), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(728), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(732), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(760), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(766), + [anon_sym_using] = ACTIONS(768), + [anon_sym_static_assert] = ACTIONS(770), + [anon_sym_concept] = ACTIONS(772), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [47] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(802), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [48] = { + [sym__block_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_preproc_def] = STATE(52), + [sym_preproc_function_def] = STATE(52), + [sym_preproc_call] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_preproc_ifdef] = STATE(52), + [sym_function_definition] = STATE(52), + [sym_declaration] = STATE(52), + [sym_type_definition] = STATE(52), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(52), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(52), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(52), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(52), + [sym_template_instantiation] = STATE(52), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(52), + [sym_operator_cast_declaration] = STATE(52), + [sym_constructor_or_destructor_definition] = STATE(52), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(52), + [sym_namespace_alias_definition] = STATE(52), + [sym_using_declaration] = STATE(52), + [sym_alias_declaration] = STATE(52), + [sym_static_assert_declaration] = STATE(52), + [sym_concept_definition] = STATE(52), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(52), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(804), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [49] = { + [sym__block_item] = STATE(47), + [sym_preproc_include] = STATE(47), + [sym_preproc_def] = STATE(47), + [sym_preproc_function_def] = STATE(47), + [sym_preproc_call] = STATE(47), + [sym_preproc_if] = STATE(47), + [sym_preproc_ifdef] = STATE(47), + [sym_function_definition] = STATE(47), + [sym_declaration] = STATE(47), + [sym_type_definition] = STATE(47), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(47), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(47), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(47), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(47), + [sym_template_instantiation] = STATE(47), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(47), + [sym_operator_cast_declaration] = STATE(47), + [sym_constructor_or_destructor_definition] = STATE(47), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(47), + [sym_namespace_alias_definition] = STATE(47), + [sym_using_declaration] = STATE(47), + [sym_alias_declaration] = STATE(47), + [sym_static_assert_declaration] = STATE(47), + [sym_concept_definition] = STATE(47), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(47), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(806), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [50] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(808), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [51] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(810), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [52] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(812), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [53] = { + [sym__block_item] = STATE(76), + [sym_preproc_include] = STATE(76), + [sym_preproc_def] = STATE(76), + [sym_preproc_function_def] = STATE(76), + [sym_preproc_call] = STATE(76), + [sym_preproc_if] = STATE(76), + [sym_preproc_ifdef] = STATE(76), + [sym_function_definition] = STATE(76), + [sym_declaration] = STATE(76), + [sym_type_definition] = STATE(76), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(76), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(76), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(76), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(76), + [sym_template_instantiation] = STATE(76), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(76), + [sym_operator_cast_declaration] = STATE(76), + [sym_constructor_or_destructor_definition] = STATE(76), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(76), + [sym_namespace_alias_definition] = STATE(76), + [sym_using_declaration] = STATE(76), + [sym_alias_declaration] = STATE(76), + [sym_static_assert_declaration] = STATE(76), + [sym_concept_definition] = STATE(76), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(76), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(814), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [54] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(816), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [55] = { + [sym__block_item] = STATE(56), + [sym_preproc_include] = STATE(56), + [sym_preproc_def] = STATE(56), + [sym_preproc_function_def] = STATE(56), + [sym_preproc_call] = STATE(56), + [sym_preproc_if] = STATE(56), + [sym_preproc_ifdef] = STATE(56), + [sym_function_definition] = STATE(56), + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(56), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(56), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(56), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(56), + [sym_template_instantiation] = STATE(56), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(56), + [sym_operator_cast_declaration] = STATE(56), + [sym_constructor_or_destructor_definition] = STATE(56), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(56), + [sym_namespace_alias_definition] = STATE(56), + [sym_using_declaration] = STATE(56), + [sym_alias_declaration] = STATE(56), + [sym_static_assert_declaration] = STATE(56), + [sym_concept_definition] = STATE(56), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(56), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(818), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [56] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(820), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [57] = { + [sym__block_item] = STATE(62), + [sym_preproc_include] = STATE(62), + [sym_preproc_def] = STATE(62), + [sym_preproc_function_def] = STATE(62), + [sym_preproc_call] = STATE(62), + [sym_preproc_if] = STATE(62), + [sym_preproc_ifdef] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_declaration] = STATE(62), + [sym_type_definition] = STATE(62), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(62), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(62), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(62), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(62), + [sym_template_instantiation] = STATE(62), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(62), + [sym_operator_cast_declaration] = STATE(62), + [sym_constructor_or_destructor_definition] = STATE(62), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(62), + [sym_namespace_alias_definition] = STATE(62), + [sym_using_declaration] = STATE(62), + [sym_alias_declaration] = STATE(62), + [sym_static_assert_declaration] = STATE(62), + [sym_concept_definition] = STATE(62), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(62), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(822), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [58] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(369), + [aux_sym_preproc_include_token1] = ACTIONS(824), + [aux_sym_preproc_def_token1] = ACTIONS(827), + [aux_sym_preproc_if_token1] = ACTIONS(830), + [aux_sym_preproc_ifdef_token1] = ACTIONS(833), + [aux_sym_preproc_ifdef_token2] = ACTIONS(833), + [sym_preproc_directive] = ACTIONS(836), + [anon_sym_LPAREN2] = ACTIONS(389), + [anon_sym_BANG] = ACTIONS(392), + [anon_sym_TILDE] = ACTIONS(395), + [anon_sym_DASH] = ACTIONS(398), + [anon_sym_PLUS] = ACTIONS(398), + [anon_sym_STAR] = ACTIONS(401), + [anon_sym_AMP_AMP] = ACTIONS(404), + [anon_sym_AMP] = ACTIONS(407), + [anon_sym_SEMI] = ACTIONS(839), + [anon_sym___extension__] = ACTIONS(842), + [anon_sym_typedef] = ACTIONS(845), + [anon_sym_extern] = ACTIONS(848), + [anon_sym___attribute__] = ACTIONS(422), + [anon_sym_COLON_COLON] = ACTIONS(425), + [anon_sym_LBRACK_LBRACK] = ACTIONS(428), + [anon_sym___declspec] = ACTIONS(431), + [anon_sym___based] = ACTIONS(434), + [anon_sym___cdecl] = ACTIONS(437), + [anon_sym___clrcall] = ACTIONS(437), + [anon_sym___stdcall] = ACTIONS(437), + [anon_sym___fastcall] = ACTIONS(437), + [anon_sym___thiscall] = ACTIONS(437), + [anon_sym___vectorcall] = ACTIONS(437), + [anon_sym_LBRACE] = ACTIONS(851), + [anon_sym_RBRACE] = ACTIONS(854), + [anon_sym_signed] = ACTIONS(443), + [anon_sym_unsigned] = ACTIONS(443), + [anon_sym_long] = ACTIONS(443), + [anon_sym_short] = ACTIONS(443), + [anon_sym_LBRACK] = ACTIONS(446), + [anon_sym_static] = ACTIONS(449), + [anon_sym_register] = ACTIONS(449), + [anon_sym_inline] = ACTIONS(856), + [anon_sym___inline] = ACTIONS(449), + [anon_sym___inline__] = ACTIONS(449), + [anon_sym___forceinline] = ACTIONS(449), + [anon_sym_thread_local] = ACTIONS(449), + [anon_sym___thread] = ACTIONS(449), + [anon_sym_const] = ACTIONS(455), + [anon_sym_constexpr] = ACTIONS(455), + [anon_sym_volatile] = ACTIONS(455), + [anon_sym_restrict] = ACTIONS(455), + [anon_sym___restrict__] = ACTIONS(455), + [anon_sym__Atomic] = ACTIONS(455), + [anon_sym__Noreturn] = ACTIONS(455), + [anon_sym_noreturn] = ACTIONS(455), + [anon_sym_mutable] = ACTIONS(455), + [anon_sym_constinit] = ACTIONS(455), + [anon_sym_consteval] = ACTIONS(455), + [anon_sym_alignas] = ACTIONS(458), + [anon_sym__Alignas] = ACTIONS(458), + [sym_primitive_type] = ACTIONS(461), + [anon_sym_enum] = ACTIONS(464), + [anon_sym_class] = ACTIONS(467), + [anon_sym_struct] = ACTIONS(470), + [anon_sym_union] = ACTIONS(473), + [anon_sym_if] = ACTIONS(859), + [anon_sym_switch] = ACTIONS(862), + [anon_sym_case] = ACTIONS(865), + [anon_sym_default] = ACTIONS(868), + [anon_sym_while] = ACTIONS(871), + [anon_sym_do] = ACTIONS(874), + [anon_sym_for] = ACTIONS(877), + [anon_sym_return] = ACTIONS(880), + [anon_sym_break] = ACTIONS(883), + [anon_sym_continue] = ACTIONS(886), + [anon_sym_goto] = ACTIONS(889), + [anon_sym___try] = ACTIONS(892), + [anon_sym___leave] = ACTIONS(895), + [anon_sym_not] = ACTIONS(398), + [anon_sym_compl] = ACTIONS(398), + [anon_sym_DASH_DASH] = ACTIONS(515), + [anon_sym_PLUS_PLUS] = ACTIONS(515), + [anon_sym_sizeof] = ACTIONS(518), + [anon_sym___alignof__] = ACTIONS(521), + [anon_sym___alignof] = ACTIONS(521), + [anon_sym__alignof] = ACTIONS(521), + [anon_sym_alignof] = ACTIONS(521), + [anon_sym__Alignof] = ACTIONS(521), + [anon_sym_offsetof] = ACTIONS(524), + [anon_sym__Generic] = ACTIONS(527), + [anon_sym_asm] = ACTIONS(530), + [anon_sym___asm__] = ACTIONS(530), + [sym__number_literal] = ACTIONS(533), + [anon_sym_L_SQUOTE] = ACTIONS(536), + [anon_sym_u_SQUOTE] = ACTIONS(536), + [anon_sym_U_SQUOTE] = ACTIONS(536), + [anon_sym_u8_SQUOTE] = ACTIONS(536), + [anon_sym_SQUOTE] = ACTIONS(536), + [anon_sym_L_DQUOTE] = ACTIONS(539), + [anon_sym_u_DQUOTE] = ACTIONS(539), + [anon_sym_U_DQUOTE] = ACTIONS(539), + [anon_sym_u8_DQUOTE] = ACTIONS(539), + [anon_sym_DQUOTE] = ACTIONS(539), + [sym_true] = ACTIONS(542), + [sym_false] = ACTIONS(542), + [anon_sym_NULL] = ACTIONS(545), + [anon_sym_nullptr] = ACTIONS(545), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(548), + [sym_auto] = ACTIONS(551), + [anon_sym_decltype] = ACTIONS(554), + [sym_virtual] = ACTIONS(557), + [anon_sym_explicit] = ACTIONS(560), + [anon_sym_typename] = ACTIONS(563), + [anon_sym_template] = ACTIONS(898), + [anon_sym_operator] = ACTIONS(569), + [anon_sym_try] = ACTIONS(901), + [anon_sym_delete] = ACTIONS(575), + [anon_sym_throw] = ACTIONS(904), + [anon_sym_namespace] = ACTIONS(907), + [anon_sym_using] = ACTIONS(910), + [anon_sym_static_assert] = ACTIONS(913), + [anon_sym_concept] = ACTIONS(916), + [anon_sym_co_return] = ACTIONS(919), + [anon_sym_co_yield] = ACTIONS(922), + [anon_sym_R_DQUOTE] = ACTIONS(599), + [anon_sym_LR_DQUOTE] = ACTIONS(599), + [anon_sym_uR_DQUOTE] = ACTIONS(599), + [anon_sym_UR_DQUOTE] = ACTIONS(599), + [anon_sym_u8R_DQUOTE] = ACTIONS(599), + [anon_sym_co_await] = ACTIONS(602), + [anon_sym_new] = ACTIONS(605), + [anon_sym_requires] = ACTIONS(608), + [sym_this] = ACTIONS(542), + }, + [59] = { + [sym__block_item] = STATE(65), + [sym_preproc_include] = STATE(65), + [sym_preproc_def] = STATE(65), + [sym_preproc_function_def] = STATE(65), + [sym_preproc_call] = STATE(65), + [sym_preproc_if] = STATE(65), + [sym_preproc_ifdef] = STATE(65), + [sym_function_definition] = STATE(65), + [sym_declaration] = STATE(65), + [sym_type_definition] = STATE(65), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(65), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(65), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(65), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(65), + [sym_template_instantiation] = STATE(65), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(65), + [sym_operator_cast_declaration] = STATE(65), + [sym_constructor_or_destructor_definition] = STATE(65), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(65), + [sym_namespace_alias_definition] = STATE(65), + [sym_using_declaration] = STATE(65), + [sym_alias_declaration] = STATE(65), + [sym_static_assert_declaration] = STATE(65), + [sym_concept_definition] = STATE(65), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(65), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(925), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [60] = { + [sym__block_item] = STATE(54), + [sym_preproc_include] = STATE(54), + [sym_preproc_def] = STATE(54), + [sym_preproc_function_def] = STATE(54), + [sym_preproc_call] = STATE(54), + [sym_preproc_if] = STATE(54), + [sym_preproc_ifdef] = STATE(54), + [sym_function_definition] = STATE(54), + [sym_declaration] = STATE(54), + [sym_type_definition] = STATE(54), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(54), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(54), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(54), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(54), + [sym_template_instantiation] = STATE(54), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(54), + [sym_operator_cast_declaration] = STATE(54), + [sym_constructor_or_destructor_definition] = STATE(54), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(54), + [sym_namespace_alias_definition] = STATE(54), + [sym_using_declaration] = STATE(54), + [sym_alias_declaration] = STATE(54), + [sym_static_assert_declaration] = STATE(54), + [sym_concept_definition] = STATE(54), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(54), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(927), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [61] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(929), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [62] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(931), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [63] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(933), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [64] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(935), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [65] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(937), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [66] = { + [sym__block_item] = STATE(51), + [sym_preproc_include] = STATE(51), + [sym_preproc_def] = STATE(51), + [sym_preproc_function_def] = STATE(51), + [sym_preproc_call] = STATE(51), + [sym_preproc_if] = STATE(51), + [sym_preproc_ifdef] = STATE(51), + [sym_function_definition] = STATE(51), + [sym_declaration] = STATE(51), + [sym_type_definition] = STATE(51), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(51), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(51), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(51), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(51), + [sym_template_instantiation] = STATE(51), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(51), + [sym_operator_cast_declaration] = STATE(51), + [sym_constructor_or_destructor_definition] = STATE(51), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(51), + [sym_namespace_alias_definition] = STATE(51), + [sym_using_declaration] = STATE(51), + [sym_alias_declaration] = STATE(51), + [sym_static_assert_declaration] = STATE(51), + [sym_concept_definition] = STATE(51), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(51), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(939), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [67] = { + [sym__block_item] = STATE(63), + [sym_preproc_include] = STATE(63), + [sym_preproc_def] = STATE(63), + [sym_preproc_function_def] = STATE(63), + [sym_preproc_call] = STATE(63), + [sym_preproc_if] = STATE(63), + [sym_preproc_ifdef] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(63), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(63), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(63), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(63), + [sym_template_instantiation] = STATE(63), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(63), + [sym_operator_cast_declaration] = STATE(63), + [sym_constructor_or_destructor_definition] = STATE(63), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(63), + [sym_namespace_alias_definition] = STATE(63), + [sym_using_declaration] = STATE(63), + [sym_alias_declaration] = STATE(63), + [sym_static_assert_declaration] = STATE(63), + [sym_concept_definition] = STATE(63), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(63), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(941), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [68] = { + [sym__block_item] = STATE(64), + [sym_preproc_include] = STATE(64), + [sym_preproc_def] = STATE(64), + [sym_preproc_function_def] = STATE(64), + [sym_preproc_call] = STATE(64), + [sym_preproc_if] = STATE(64), + [sym_preproc_ifdef] = STATE(64), + [sym_function_definition] = STATE(64), + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(64), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(64), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(64), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(64), + [sym_template_instantiation] = STATE(64), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(64), + [sym_operator_cast_declaration] = STATE(64), + [sym_constructor_or_destructor_definition] = STATE(64), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(64), + [sym_namespace_alias_definition] = STATE(64), + [sym_using_declaration] = STATE(64), + [sym_alias_declaration] = STATE(64), + [sym_static_assert_declaration] = STATE(64), + [sym_concept_definition] = STATE(64), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(64), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(943), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [69] = { + [sym__block_item] = STATE(70), + [sym_preproc_include] = STATE(70), + [sym_preproc_def] = STATE(70), + [sym_preproc_function_def] = STATE(70), + [sym_preproc_call] = STATE(70), + [sym_preproc_if] = STATE(70), + [sym_preproc_ifdef] = STATE(70), + [sym_function_definition] = STATE(70), + [sym_declaration] = STATE(70), + [sym_type_definition] = STATE(70), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(70), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(70), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(70), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(70), + [sym_template_instantiation] = STATE(70), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(70), + [sym_operator_cast_declaration] = STATE(70), + [sym_constructor_or_destructor_definition] = STATE(70), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(70), + [sym_namespace_alias_definition] = STATE(70), + [sym_using_declaration] = STATE(70), + [sym_alias_declaration] = STATE(70), + [sym_static_assert_declaration] = STATE(70), + [sym_concept_definition] = STATE(70), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(70), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(945), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [70] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(947), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [71] = { + [sym__block_item] = STATE(73), + [sym_preproc_include] = STATE(73), + [sym_preproc_def] = STATE(73), + [sym_preproc_function_def] = STATE(73), + [sym_preproc_call] = STATE(73), + [sym_preproc_if] = STATE(73), + [sym_preproc_ifdef] = STATE(73), + [sym_function_definition] = STATE(73), + [sym_declaration] = STATE(73), + [sym_type_definition] = STATE(73), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(73), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(73), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(73), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(73), + [sym_template_instantiation] = STATE(73), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(73), + [sym_operator_cast_declaration] = STATE(73), + [sym_constructor_or_destructor_definition] = STATE(73), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(73), + [sym_namespace_alias_definition] = STATE(73), + [sym_using_declaration] = STATE(73), + [sym_alias_declaration] = STATE(73), + [sym_static_assert_declaration] = STATE(73), + [sym_concept_definition] = STATE(73), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(73), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(949), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [72] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(951), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [73] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(953), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [74] = { + [sym__block_item] = STATE(75), + [sym_preproc_include] = STATE(75), + [sym_preproc_def] = STATE(75), + [sym_preproc_function_def] = STATE(75), + [sym_preproc_call] = STATE(75), + [sym_preproc_if] = STATE(75), + [sym_preproc_ifdef] = STATE(75), + [sym_function_definition] = STATE(75), + [sym_declaration] = STATE(75), + [sym_type_definition] = STATE(75), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(75), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(75), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(75), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(75), + [sym_template_instantiation] = STATE(75), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(75), + [sym_operator_cast_declaration] = STATE(75), + [sym_constructor_or_destructor_definition] = STATE(75), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(75), + [sym_namespace_alias_definition] = STATE(75), + [sym_using_declaration] = STATE(75), + [sym_alias_declaration] = STATE(75), + [sym_static_assert_declaration] = STATE(75), + [sym_concept_definition] = STATE(75), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(75), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(955), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [75] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(957), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [76] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(959), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [77] = { + [sym__block_item] = STATE(72), + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(72), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(961), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [78] = { + [sym__block_item] = STATE(79), + [sym_preproc_include] = STATE(79), + [sym_preproc_def] = STATE(79), + [sym_preproc_function_def] = STATE(79), + [sym_preproc_call] = STATE(79), + [sym_preproc_if] = STATE(79), + [sym_preproc_ifdef] = STATE(79), + [sym_function_definition] = STATE(79), + [sym_declaration] = STATE(79), + [sym_type_definition] = STATE(79), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(79), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(79), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(79), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(79), + [sym_template_instantiation] = STATE(79), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(79), + [sym_operator_cast_declaration] = STATE(79), + [sym_constructor_or_destructor_definition] = STATE(79), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(79), + [sym_namespace_alias_definition] = STATE(79), + [sym_using_declaration] = STATE(79), + [sym_alias_declaration] = STATE(79), + [sym_static_assert_declaration] = STATE(79), + [sym_concept_definition] = STATE(79), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(79), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(963), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [79] = { + [sym__block_item] = STATE(58), + [sym_preproc_include] = STATE(58), + [sym_preproc_def] = STATE(58), + [sym_preproc_function_def] = STATE(58), + [sym_preproc_call] = STATE(58), + [sym_preproc_if] = STATE(58), + [sym_preproc_ifdef] = STATE(58), + [sym_function_definition] = STATE(58), + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_linkage_specification] = STATE(58), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6294), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(427), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(658), + [sym_statement] = STATE(58), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(817), + [sym__empty_declaration] = STATE(58), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1712), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(58), + [sym_template_instantiation] = STATE(58), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1712), + [sym_operator_cast_definition] = STATE(58), + [sym_operator_cast_declaration] = STATE(58), + [sym_constructor_or_destructor_definition] = STATE(58), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4550), + [sym_namespace_definition] = STATE(58), + [sym_namespace_alias_definition] = STATE(58), + [sym_using_declaration] = STATE(58), + [sym_alias_declaration] = STATE(58), + [sym_static_assert_declaration] = STATE(58), + [sym_concept_definition] = STATE(58), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3258), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_preproc_if_repeat1] = STATE(58), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1712), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(161), + [aux_sym_preproc_def_token1] = ACTIONS(163), + [aux_sym_preproc_if_token1] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(169), + [aux_sym_preproc_ifdef_token2] = ACTIONS(169), + [sym_preproc_directive] = ACTIONS(171), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(179), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(965), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(187), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(219), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(225), + [anon_sym_using] = ACTIONS(227), + [anon_sym_static_assert] = ACTIONS(229), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [80] = { + [sym__top_level_item] = STATE(80), + [sym_preproc_include] = STATE(80), + [sym_preproc_def] = STATE(80), + [sym_preproc_function_def] = STATE(80), + [sym_preproc_call] = STATE(80), + [sym_preproc_if] = STATE(80), + [sym_preproc_ifdef] = STATE(80), + [sym_function_definition] = STATE(80), + [sym_declaration] = STATE(80), + [sym_type_definition] = STATE(80), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4384), + [sym_linkage_specification] = STATE(80), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1904), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6298), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(80), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2747), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(733), + [sym__top_level_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym__top_level_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_case_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym_expression] = STATE(4766), + [sym__string] = STATE(4833), + [sym_conditional_expression] = STATE(4833), + [sym_assignment_expression] = STATE(4833), + [sym_pointer_expression] = STATE(3802), + [sym_unary_expression] = STATE(4833), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(4833), + [sym_cast_expression] = STATE(4833), + [sym_sizeof_expression] = STATE(4833), + [sym_alignof_expression] = STATE(4833), + [sym_offsetof_expression] = STATE(4833), + [sym_generic_expression] = STATE(4833), + [sym_subscript_expression] = STATE(3802), + [sym_call_expression] = STATE(3802), + [sym_gnu_asm_expression] = STATE(4833), + [sym_field_expression] = STATE(3802), + [sym_compound_literal_expression] = STATE(4833), + [sym_parenthesized_expression] = STATE(3802), + [sym_number_literal] = STATE(4802), + [sym_char_literal] = STATE(4802), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(4833), + [sym_identifier] = STATE(819), + [sym__empty_declaration] = STATE(80), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1702), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(80), + [sym_template_instantiation] = STATE(80), + [sym_operator_cast] = STATE(6658), + [sym__constructor_specifiers] = STATE(1702), + [sym_operator_cast_definition] = STATE(80), + [sym_operator_cast_declaration] = STATE(80), + [sym_constructor_or_destructor_definition] = STATE(80), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4746), + [sym_namespace_definition] = STATE(80), + [sym_namespace_alias_definition] = STATE(80), + [sym_using_declaration] = STATE(80), + [sym_alias_declaration] = STATE(80), + [sym_static_assert_declaration] = STATE(80), + [sym_concept_definition] = STATE(80), + [sym_for_range_loop] = STATE(80), + [sym_co_return_statement] = STATE(80), + [sym_co_yield_statement] = STATE(80), + [sym_throw_statement] = STATE(80), + [sym_try_statement] = STATE(80), + [sym_raw_string_literal] = STATE(3602), + [sym_co_await_expression] = STATE(4833), + [sym_new_expression] = STATE(4833), + [sym_delete_expression] = STATE(4833), + [sym_requires_clause] = STATE(4833), + [sym_requires_expression] = STATE(4833), + [sym_lambda_expression] = STATE(4833), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(4833), + [sym_parameter_pack_expansion] = STATE(4833), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3590), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6658), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3802), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_translation_unit_repeat1] = STATE(80), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1702), + [ts_builtin_sym_end] = ACTIONS(967), + [sym__identifier] = ACTIONS(969), + [aux_sym_preproc_include_token1] = ACTIONS(972), + [aux_sym_preproc_def_token1] = ACTIONS(975), + [aux_sym_preproc_if_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(981), + [aux_sym_preproc_ifdef_token2] = ACTIONS(981), + [sym_preproc_directive] = ACTIONS(984), + [anon_sym_LPAREN2] = ACTIONS(987), + [anon_sym_BANG] = ACTIONS(990), + [anon_sym_TILDE] = ACTIONS(993), + [anon_sym_DASH] = ACTIONS(996), + [anon_sym_PLUS] = ACTIONS(996), + [anon_sym_STAR] = ACTIONS(999), + [anon_sym_AMP_AMP] = ACTIONS(1002), + [anon_sym_AMP] = ACTIONS(1005), + [anon_sym___extension__] = ACTIONS(1008), + [anon_sym_typedef] = ACTIONS(1011), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym___based] = ACTIONS(1029), + [anon_sym___cdecl] = ACTIONS(1032), + [anon_sym___clrcall] = ACTIONS(1032), + [anon_sym___stdcall] = ACTIONS(1032), + [anon_sym___fastcall] = ACTIONS(1032), + [anon_sym___thiscall] = ACTIONS(1032), + [anon_sym___vectorcall] = ACTIONS(1032), + [anon_sym_LBRACE] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [anon_sym_LBRACK] = ACTIONS(1041), + [anon_sym_static] = ACTIONS(1044), + [anon_sym_register] = ACTIONS(1044), + [anon_sym_inline] = ACTIONS(1047), + [anon_sym___inline] = ACTIONS(1044), + [anon_sym___inline__] = ACTIONS(1044), + [anon_sym___forceinline] = ACTIONS(1044), + [anon_sym_thread_local] = ACTIONS(1044), + [anon_sym___thread] = ACTIONS(1044), + [anon_sym_const] = ACTIONS(1050), + [anon_sym_constexpr] = ACTIONS(1050), + [anon_sym_volatile] = ACTIONS(1050), + [anon_sym_restrict] = ACTIONS(1050), + [anon_sym___restrict__] = ACTIONS(1050), + [anon_sym__Atomic] = ACTIONS(1050), + [anon_sym__Noreturn] = ACTIONS(1050), + [anon_sym_noreturn] = ACTIONS(1050), + [anon_sym_mutable] = ACTIONS(1050), + [anon_sym_constinit] = ACTIONS(1050), + [anon_sym_consteval] = ACTIONS(1050), + [anon_sym_alignas] = ACTIONS(1053), + [anon_sym__Alignas] = ACTIONS(1053), + [sym_primitive_type] = ACTIONS(1056), + [anon_sym_enum] = ACTIONS(1059), + [anon_sym_class] = ACTIONS(1062), + [anon_sym_struct] = ACTIONS(1065), + [anon_sym_union] = ACTIONS(1068), + [anon_sym_if] = ACTIONS(1071), + [anon_sym_switch] = ACTIONS(1074), + [anon_sym_case] = ACTIONS(1077), + [anon_sym_default] = ACTIONS(1080), + [anon_sym_while] = ACTIONS(1083), + [anon_sym_do] = ACTIONS(1086), + [anon_sym_for] = ACTIONS(1089), + [anon_sym_return] = ACTIONS(1092), + [anon_sym_break] = ACTIONS(1095), + [anon_sym_continue] = ACTIONS(1098), + [anon_sym_goto] = ACTIONS(1101), + [anon_sym_not] = ACTIONS(996), + [anon_sym_compl] = ACTIONS(996), + [anon_sym_DASH_DASH] = ACTIONS(1104), + [anon_sym_PLUS_PLUS] = ACTIONS(1104), + [anon_sym_sizeof] = ACTIONS(1107), + [anon_sym___alignof__] = ACTIONS(1110), + [anon_sym___alignof] = ACTIONS(1110), + [anon_sym__alignof] = ACTIONS(1110), + [anon_sym_alignof] = ACTIONS(1110), + [anon_sym__Alignof] = ACTIONS(1110), + [anon_sym_offsetof] = ACTIONS(1113), + [anon_sym__Generic] = ACTIONS(1116), + [anon_sym_asm] = ACTIONS(1119), + [anon_sym___asm__] = ACTIONS(1119), + [sym__number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1125), + [anon_sym_u_SQUOTE] = ACTIONS(1125), + [anon_sym_U_SQUOTE] = ACTIONS(1125), + [anon_sym_u8_SQUOTE] = ACTIONS(1125), + [anon_sym_SQUOTE] = ACTIONS(1125), + [anon_sym_L_DQUOTE] = ACTIONS(1128), + [anon_sym_u_DQUOTE] = ACTIONS(1128), + [anon_sym_U_DQUOTE] = ACTIONS(1128), + [anon_sym_u8_DQUOTE] = ACTIONS(1128), + [anon_sym_DQUOTE] = ACTIONS(1128), + [sym_true] = ACTIONS(1131), + [sym_false] = ACTIONS(1131), + [anon_sym_NULL] = ACTIONS(1134), + [anon_sym_nullptr] = ACTIONS(1134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1137), + [sym_auto] = ACTIONS(1140), + [anon_sym_decltype] = ACTIONS(1143), + [sym_virtual] = ACTIONS(1146), + [anon_sym_explicit] = ACTIONS(1149), + [anon_sym_typename] = ACTIONS(1152), + [anon_sym_template] = ACTIONS(1155), + [anon_sym_operator] = ACTIONS(1158), + [anon_sym_try] = ACTIONS(1161), + [anon_sym_delete] = ACTIONS(1164), + [anon_sym_throw] = ACTIONS(1167), + [anon_sym_namespace] = ACTIONS(1170), + [anon_sym_using] = ACTIONS(1173), + [anon_sym_static_assert] = ACTIONS(1176), + [anon_sym_concept] = ACTIONS(1179), + [anon_sym_co_return] = ACTIONS(1182), + [anon_sym_co_yield] = ACTIONS(1185), + [anon_sym_R_DQUOTE] = ACTIONS(1188), + [anon_sym_LR_DQUOTE] = ACTIONS(1188), + [anon_sym_uR_DQUOTE] = ACTIONS(1188), + [anon_sym_UR_DQUOTE] = ACTIONS(1188), + [anon_sym_u8R_DQUOTE] = ACTIONS(1188), + [anon_sym_co_await] = ACTIONS(1191), + [anon_sym_new] = ACTIONS(1194), + [anon_sym_requires] = ACTIONS(1197), + [sym_this] = ACTIONS(1131), + }, + [81] = { + [sym__top_level_item] = STATE(80), + [sym_preproc_include] = STATE(80), + [sym_preproc_def] = STATE(80), + [sym_preproc_function_def] = STATE(80), + [sym_preproc_call] = STATE(80), + [sym_preproc_if] = STATE(80), + [sym_preproc_ifdef] = STATE(80), + [sym_function_definition] = STATE(80), + [sym_declaration] = STATE(80), + [sym_type_definition] = STATE(80), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4384), + [sym_linkage_specification] = STATE(80), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(818), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1904), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6298), + [sym_array_declarator] = STATE(6299), + [sym_compound_statement] = STATE(80), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2747), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(733), + [sym__top_level_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym__top_level_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_case_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym_expression] = STATE(4766), + [sym__string] = STATE(4833), + [sym_conditional_expression] = STATE(4833), + [sym_assignment_expression] = STATE(4833), + [sym_pointer_expression] = STATE(3802), + [sym_unary_expression] = STATE(4833), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(4833), + [sym_cast_expression] = STATE(4833), + [sym_sizeof_expression] = STATE(4833), + [sym_alignof_expression] = STATE(4833), + [sym_offsetof_expression] = STATE(4833), + [sym_generic_expression] = STATE(4833), + [sym_subscript_expression] = STATE(3802), + [sym_call_expression] = STATE(3802), + [sym_gnu_asm_expression] = STATE(4833), + [sym_field_expression] = STATE(3802), + [sym_compound_literal_expression] = STATE(4833), + [sym_parenthesized_expression] = STATE(3802), + [sym_number_literal] = STATE(4802), + [sym_char_literal] = STATE(4802), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(4833), + [sym_identifier] = STATE(819), + [sym__empty_declaration] = STATE(80), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_explicit_function_specifier] = STATE(1702), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(80), + [sym_template_instantiation] = STATE(80), + [sym_operator_cast] = STATE(6658), + [sym__constructor_specifiers] = STATE(1702), + [sym_operator_cast_definition] = STATE(80), + [sym_operator_cast_declaration] = STATE(80), + [sym_constructor_or_destructor_definition] = STATE(80), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(4746), + [sym_namespace_definition] = STATE(80), + [sym_namespace_alias_definition] = STATE(80), + [sym_using_declaration] = STATE(80), + [sym_alias_declaration] = STATE(80), + [sym_static_assert_declaration] = STATE(80), + [sym_concept_definition] = STATE(80), + [sym_for_range_loop] = STATE(80), + [sym_co_return_statement] = STATE(80), + [sym_co_yield_statement] = STATE(80), + [sym_throw_statement] = STATE(80), + [sym_try_statement] = STATE(80), + [sym_raw_string_literal] = STATE(3602), + [sym_co_await_expression] = STATE(4833), + [sym_new_expression] = STATE(4833), + [sym_delete_expression] = STATE(4833), + [sym_requires_clause] = STATE(4833), + [sym_requires_expression] = STATE(4833), + [sym_lambda_expression] = STATE(4833), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(4833), + [sym_parameter_pack_expansion] = STATE(4833), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5370), + [sym_qualified_identifier] = STATE(3590), + [sym_qualified_type_identifier] = STATE(3158), + [sym_qualified_operator_cast_identifier] = STATE(6658), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3802), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_translation_unit_repeat1] = STATE(80), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1702), + [ts_builtin_sym_end] = ACTIONS(1200), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(37), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(59), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(115), + [sym_false] = ACTIONS(115), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(119), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(131), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(141), + [anon_sym_using] = ACTIONS(143), + [anon_sym_static_assert] = ACTIONS(145), + [anon_sym_concept] = ACTIONS(147), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(115), + }, + [82] = { + [sym_declaration] = STATE(82), + [sym_type_definition] = STATE(82), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4980), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(82), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(82), + [sym_labeled_statement] = STATE(82), + [sym_expression_statement] = STATE(82), + [sym_if_statement] = STATE(82), + [sym_switch_statement] = STATE(82), + [sym_while_statement] = STATE(82), + [sym_do_statement] = STATE(82), + [sym_for_statement] = STATE(82), + [sym_return_statement] = STATE(82), + [sym_break_statement] = STATE(82), + [sym_continue_statement] = STATE(82), + [sym_goto_statement] = STATE(82), + [sym_seh_try_statement] = STATE(82), + [sym_seh_leave_statement] = STATE(82), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(909), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(82), + [sym_co_return_statement] = STATE(82), + [sym_co_yield_statement] = STATE(82), + [sym_throw_statement] = STATE(82), + [sym_try_statement] = STATE(82), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(82), + [sym__identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1205), + [aux_sym_preproc_def_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token2] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1205), + [aux_sym_preproc_else_token1] = ACTIONS(1205), + [aux_sym_preproc_elif_token1] = ACTIONS(1205), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1205), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1205), + [sym_preproc_directive] = ACTIONS(1205), + [anon_sym_LPAREN2] = ACTIONS(1207), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1213), + [anon_sym_PLUS] = ACTIONS(1213), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP_AMP] = ACTIONS(1219), + [anon_sym_AMP] = ACTIONS(1221), + [anon_sym_SEMI] = ACTIONS(1224), + [anon_sym___extension__] = ACTIONS(1227), + [anon_sym_typedef] = ACTIONS(1230), + [anon_sym_extern] = ACTIONS(1233), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_COLON_COLON] = ACTIONS(1239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1245), + [anon_sym___based] = ACTIONS(1205), + [anon_sym___cdecl] = ACTIONS(1205), + [anon_sym___clrcall] = ACTIONS(1205), + [anon_sym___stdcall] = ACTIONS(1205), + [anon_sym___fastcall] = ACTIONS(1205), + [anon_sym___thiscall] = ACTIONS(1205), + [anon_sym___vectorcall] = ACTIONS(1205), + [anon_sym_LBRACE] = ACTIONS(1248), + [anon_sym_signed] = ACTIONS(1251), + [anon_sym_unsigned] = ACTIONS(1251), + [anon_sym_long] = ACTIONS(1251), + [anon_sym_short] = ACTIONS(1251), + [anon_sym_LBRACK] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1233), + [anon_sym_register] = ACTIONS(1233), + [anon_sym_inline] = ACTIONS(1233), + [anon_sym___inline] = ACTIONS(1233), + [anon_sym___inline__] = ACTIONS(1233), + [anon_sym___forceinline] = ACTIONS(1233), + [anon_sym_thread_local] = ACTIONS(1233), + [anon_sym___thread] = ACTIONS(1233), + [anon_sym_const] = ACTIONS(1257), + [anon_sym_constexpr] = ACTIONS(1257), + [anon_sym_volatile] = ACTIONS(1257), + [anon_sym_restrict] = ACTIONS(1257), + [anon_sym___restrict__] = ACTIONS(1257), + [anon_sym__Atomic] = ACTIONS(1257), + [anon_sym__Noreturn] = ACTIONS(1257), + [anon_sym_noreturn] = ACTIONS(1257), + [anon_sym_mutable] = ACTIONS(1257), + [anon_sym_constinit] = ACTIONS(1257), + [anon_sym_consteval] = ACTIONS(1257), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1263), + [anon_sym_enum] = ACTIONS(1266), + [anon_sym_class] = ACTIONS(1269), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1275), + [anon_sym_if] = ACTIONS(1278), + [anon_sym_else] = ACTIONS(1205), + [anon_sym_switch] = ACTIONS(1281), + [anon_sym_case] = ACTIONS(1205), + [anon_sym_default] = ACTIONS(1205), + [anon_sym_while] = ACTIONS(1284), + [anon_sym_do] = ACTIONS(1287), + [anon_sym_for] = ACTIONS(1290), + [anon_sym_return] = ACTIONS(1293), + [anon_sym_break] = ACTIONS(1296), + [anon_sym_continue] = ACTIONS(1299), + [anon_sym_goto] = ACTIONS(1302), + [anon_sym___try] = ACTIONS(1305), + [anon_sym___leave] = ACTIONS(1308), + [anon_sym_not] = ACTIONS(1213), + [anon_sym_compl] = ACTIONS(1213), + [anon_sym_DASH_DASH] = ACTIONS(1311), + [anon_sym_PLUS_PLUS] = ACTIONS(1311), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1317), + [anon_sym___alignof] = ACTIONS(1317), + [anon_sym__alignof] = ACTIONS(1317), + [anon_sym_alignof] = ACTIONS(1317), + [anon_sym__Alignof] = ACTIONS(1317), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1323), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1329), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1335), + [anon_sym_u_DQUOTE] = ACTIONS(1335), + [anon_sym_U_DQUOTE] = ACTIONS(1335), + [anon_sym_u8_DQUOTE] = ACTIONS(1335), + [anon_sym_DQUOTE] = ACTIONS(1335), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1341), + [anon_sym_nullptr] = ACTIONS(1341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + [sym_auto] = ACTIONS(1347), + [anon_sym_decltype] = ACTIONS(1350), + [sym_virtual] = ACTIONS(1353), + [anon_sym_explicit] = ACTIONS(1205), + [anon_sym_typename] = ACTIONS(1356), + [anon_sym_template] = ACTIONS(1359), + [anon_sym_operator] = ACTIONS(1205), + [anon_sym_try] = ACTIONS(1362), + [anon_sym_delete] = ACTIONS(1365), + [anon_sym_throw] = ACTIONS(1368), + [anon_sym_namespace] = ACTIONS(1205), + [anon_sym_using] = ACTIONS(1205), + [anon_sym_static_assert] = ACTIONS(1205), + [anon_sym_concept] = ACTIONS(1205), + [anon_sym_co_return] = ACTIONS(1371), + [anon_sym_co_yield] = ACTIONS(1374), + [anon_sym_R_DQUOTE] = ACTIONS(1377), + [anon_sym_LR_DQUOTE] = ACTIONS(1377), + [anon_sym_uR_DQUOTE] = ACTIONS(1377), + [anon_sym_UR_DQUOTE] = ACTIONS(1377), + [anon_sym_u8R_DQUOTE] = ACTIONS(1377), + [anon_sym_co_await] = ACTIONS(1380), + [anon_sym_new] = ACTIONS(1383), + [anon_sym_requires] = ACTIONS(1386), + [sym_this] = ACTIONS(1338), + }, + [83] = { + [sym_declaration] = STATE(82), + [sym_type_definition] = STATE(82), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4980), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(82), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(82), + [sym_labeled_statement] = STATE(82), + [sym_expression_statement] = STATE(82), + [sym_if_statement] = STATE(82), + [sym_switch_statement] = STATE(82), + [sym_while_statement] = STATE(82), + [sym_do_statement] = STATE(82), + [sym_for_statement] = STATE(82), + [sym_return_statement] = STATE(82), + [sym_break_statement] = STATE(82), + [sym_continue_statement] = STATE(82), + [sym_goto_statement] = STATE(82), + [sym_seh_try_statement] = STATE(82), + [sym_seh_leave_statement] = STATE(82), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(909), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(82), + [sym_co_return_statement] = STATE(82), + [sym_co_yield_statement] = STATE(82), + [sym_throw_statement] = STATE(82), + [sym_try_statement] = STATE(82), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(82), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1389), + [aux_sym_preproc_def_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token2] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1389), + [aux_sym_preproc_else_token1] = ACTIONS(1389), + [aux_sym_preproc_elif_token1] = ACTIONS(1389), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1389), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1389), + [sym_preproc_directive] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1395), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1389), + [anon_sym___cdecl] = ACTIONS(1389), + [anon_sym___clrcall] = ACTIONS(1389), + [anon_sym___stdcall] = ACTIONS(1389), + [anon_sym___fastcall] = ACTIONS(1389), + [anon_sym___thiscall] = ACTIONS(1389), + [anon_sym___vectorcall] = ACTIONS(1389), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_else] = ACTIONS(1389), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(1389), + [anon_sym_default] = ACTIONS(1389), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1389), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1389), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(1389), + [anon_sym_using] = ACTIONS(1389), + [anon_sym_static_assert] = ACTIONS(1389), + [anon_sym_concept] = ACTIONS(1389), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [84] = { + [sym_declaration] = STATE(85), + [sym_type_definition] = STATE(85), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4980), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(85), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(85), + [sym_labeled_statement] = STATE(85), + [sym_expression_statement] = STATE(85), + [sym_if_statement] = STATE(85), + [sym_switch_statement] = STATE(85), + [sym_while_statement] = STATE(85), + [sym_do_statement] = STATE(85), + [sym_for_statement] = STATE(85), + [sym_return_statement] = STATE(85), + [sym_break_statement] = STATE(85), + [sym_continue_statement] = STATE(85), + [sym_goto_statement] = STATE(85), + [sym_seh_try_statement] = STATE(85), + [sym_seh_leave_statement] = STATE(85), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(909), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(85), + [sym_co_return_statement] = STATE(85), + [sym_co_yield_statement] = STATE(85), + [sym_throw_statement] = STATE(85), + [sym_try_statement] = STATE(85), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(85), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1409), + [aux_sym_preproc_def_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token2] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1409), + [aux_sym_preproc_else_token1] = ACTIONS(1409), + [aux_sym_preproc_elif_token1] = ACTIONS(1409), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1409), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1409), + [sym_preproc_directive] = ACTIONS(1409), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1411), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1409), + [anon_sym___cdecl] = ACTIONS(1409), + [anon_sym___clrcall] = ACTIONS(1409), + [anon_sym___stdcall] = ACTIONS(1409), + [anon_sym___fastcall] = ACTIONS(1409), + [anon_sym___thiscall] = ACTIONS(1409), + [anon_sym___vectorcall] = ACTIONS(1409), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_else] = ACTIONS(1409), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(1409), + [anon_sym_default] = ACTIONS(1409), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1409), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1409), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(1409), + [anon_sym_using] = ACTIONS(1409), + [anon_sym_static_assert] = ACTIONS(1409), + [anon_sym_concept] = ACTIONS(1409), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [85] = { + [sym_declaration] = STATE(82), + [sym_type_definition] = STATE(82), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4980), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(82), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(82), + [sym_labeled_statement] = STATE(82), + [sym_expression_statement] = STATE(82), + [sym_if_statement] = STATE(82), + [sym_switch_statement] = STATE(82), + [sym_while_statement] = STATE(82), + [sym_do_statement] = STATE(82), + [sym_for_statement] = STATE(82), + [sym_return_statement] = STATE(82), + [sym_break_statement] = STATE(82), + [sym_continue_statement] = STATE(82), + [sym_goto_statement] = STATE(82), + [sym_seh_try_statement] = STATE(82), + [sym_seh_leave_statement] = STATE(82), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(909), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(82), + [sym_co_return_statement] = STATE(82), + [sym_co_yield_statement] = STATE(82), + [sym_throw_statement] = STATE(82), + [sym_try_statement] = STATE(82), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(82), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1413), + [aux_sym_preproc_def_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token2] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1413), + [aux_sym_preproc_else_token1] = ACTIONS(1413), + [aux_sym_preproc_elif_token1] = ACTIONS(1413), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1413), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1413), + [sym_preproc_directive] = ACTIONS(1413), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1415), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1413), + [anon_sym___cdecl] = ACTIONS(1413), + [anon_sym___clrcall] = ACTIONS(1413), + [anon_sym___stdcall] = ACTIONS(1413), + [anon_sym___fastcall] = ACTIONS(1413), + [anon_sym___thiscall] = ACTIONS(1413), + [anon_sym___vectorcall] = ACTIONS(1413), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_else] = ACTIONS(1413), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(1413), + [anon_sym_default] = ACTIONS(1413), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1413), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1413), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(1413), + [anon_sym_using] = ACTIONS(1413), + [anon_sym_static_assert] = ACTIONS(1413), + [anon_sym_concept] = ACTIONS(1413), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [86] = { + [sym_declaration] = STATE(83), + [sym_type_definition] = STATE(83), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4980), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(83), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(83), + [sym_labeled_statement] = STATE(83), + [sym_expression_statement] = STATE(83), + [sym_if_statement] = STATE(83), + [sym_switch_statement] = STATE(83), + [sym_while_statement] = STATE(83), + [sym_do_statement] = STATE(83), + [sym_for_statement] = STATE(83), + [sym_return_statement] = STATE(83), + [sym_break_statement] = STATE(83), + [sym_continue_statement] = STATE(83), + [sym_goto_statement] = STATE(83), + [sym_seh_try_statement] = STATE(83), + [sym_seh_leave_statement] = STATE(83), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(909), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(83), + [sym_co_return_statement] = STATE(83), + [sym_co_yield_statement] = STATE(83), + [sym_throw_statement] = STATE(83), + [sym_try_statement] = STATE(83), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(83), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1417), + [aux_sym_preproc_def_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token2] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1417), + [aux_sym_preproc_else_token1] = ACTIONS(1417), + [aux_sym_preproc_elif_token1] = ACTIONS(1417), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1417), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1417), + [sym_preproc_directive] = ACTIONS(1417), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1419), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym___extension__] = ACTIONS(277), + [anon_sym_typedef] = ACTIONS(279), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1417), + [anon_sym___cdecl] = ACTIONS(1417), + [anon_sym___clrcall] = ACTIONS(1417), + [anon_sym___stdcall] = ACTIONS(1417), + [anon_sym___fastcall] = ACTIONS(1417), + [anon_sym___thiscall] = ACTIONS(1417), + [anon_sym___vectorcall] = ACTIONS(1417), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(287), + [anon_sym_else] = ACTIONS(1417), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(1417), + [anon_sym_default] = ACTIONS(1417), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1417), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1417), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_namespace] = ACTIONS(1417), + [anon_sym_using] = ACTIONS(1417), + [anon_sym_static_assert] = ACTIONS(1417), + [anon_sym_concept] = ACTIONS(1417), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [87] = { + [sym_declaration] = STATE(97), + [sym_type_definition] = STATE(97), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5054), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(97), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(97), + [sym_labeled_statement] = STATE(97), + [sym_expression_statement] = STATE(97), + [sym_if_statement] = STATE(97), + [sym_switch_statement] = STATE(97), + [sym_while_statement] = STATE(97), + [sym_do_statement] = STATE(97), + [sym_for_statement] = STATE(97), + [sym_return_statement] = STATE(97), + [sym_break_statement] = STATE(97), + [sym_continue_statement] = STATE(97), + [sym_goto_statement] = STATE(97), + [sym_seh_try_statement] = STATE(97), + [sym_seh_leave_statement] = STATE(97), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(914), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(97), + [sym_co_return_statement] = STATE(97), + [sym_co_yield_statement] = STATE(97), + [sym_throw_statement] = STATE(97), + [sym_try_statement] = STATE(97), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(97), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1413), + [aux_sym_preproc_def_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token2] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1413), + [sym_preproc_directive] = ACTIONS(1413), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1415), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1413), + [anon_sym___cdecl] = ACTIONS(1413), + [anon_sym___clrcall] = ACTIONS(1413), + [anon_sym___stdcall] = ACTIONS(1413), + [anon_sym___fastcall] = ACTIONS(1413), + [anon_sym___thiscall] = ACTIONS(1413), + [anon_sym___vectorcall] = ACTIONS(1413), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_else] = ACTIONS(1413), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(1413), + [anon_sym_default] = ACTIONS(1413), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1413), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1413), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(1413), + [anon_sym_using] = ACTIONS(1413), + [anon_sym_static_assert] = ACTIONS(1413), + [anon_sym_concept] = ACTIONS(1413), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [88] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5024), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym_seh_try_statement] = STATE(91), + [sym_seh_leave_statement] = STATE(91), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(910), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(91), + [ts_builtin_sym_end] = ACTIONS(1415), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1413), + [aux_sym_preproc_def_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1413), + [sym_preproc_directive] = ACTIONS(1413), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1415), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1413), + [anon_sym___cdecl] = ACTIONS(1413), + [anon_sym___clrcall] = ACTIONS(1413), + [anon_sym___stdcall] = ACTIONS(1413), + [anon_sym___fastcall] = ACTIONS(1413), + [anon_sym___thiscall] = ACTIONS(1413), + [anon_sym___vectorcall] = ACTIONS(1413), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_else] = ACTIONS(1413), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1413), + [anon_sym_default] = ACTIONS(1413), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1413), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1413), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(1413), + [anon_sym_using] = ACTIONS(1413), + [anon_sym_static_assert] = ACTIONS(1413), + [anon_sym_concept] = ACTIONS(1413), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [89] = { + [sym_declaration] = STATE(100), + [sym_type_definition] = STATE(100), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5005), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(100), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(100), + [sym_labeled_statement] = STATE(100), + [sym_expression_statement] = STATE(100), + [sym_if_statement] = STATE(100), + [sym_switch_statement] = STATE(100), + [sym_while_statement] = STATE(100), + [sym_do_statement] = STATE(100), + [sym_for_statement] = STATE(100), + [sym_return_statement] = STATE(100), + [sym_break_statement] = STATE(100), + [sym_continue_statement] = STATE(100), + [sym_goto_statement] = STATE(100), + [sym_seh_try_statement] = STATE(100), + [sym_seh_leave_statement] = STATE(100), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(913), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(100), + [sym_co_return_statement] = STATE(100), + [sym_co_yield_statement] = STATE(100), + [sym_throw_statement] = STATE(100), + [sym_try_statement] = STATE(100), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(100), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1413), + [aux_sym_preproc_def_token1] = ACTIONS(1413), + [aux_sym_preproc_if_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1413), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1413), + [sym_preproc_directive] = ACTIONS(1413), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1415), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1413), + [anon_sym___cdecl] = ACTIONS(1413), + [anon_sym___clrcall] = ACTIONS(1413), + [anon_sym___stdcall] = ACTIONS(1413), + [anon_sym___fastcall] = ACTIONS(1413), + [anon_sym___thiscall] = ACTIONS(1413), + [anon_sym___vectorcall] = ACTIONS(1413), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(1415), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_else] = ACTIONS(1413), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(1413), + [anon_sym_default] = ACTIONS(1413), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1413), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1413), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(1413), + [anon_sym_using] = ACTIONS(1413), + [anon_sym_static_assert] = ACTIONS(1413), + [anon_sym_concept] = ACTIONS(1413), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [90] = { + [sym_declaration] = STATE(89), + [sym_type_definition] = STATE(89), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5005), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(89), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(89), + [sym_labeled_statement] = STATE(89), + [sym_expression_statement] = STATE(89), + [sym_if_statement] = STATE(89), + [sym_switch_statement] = STATE(89), + [sym_while_statement] = STATE(89), + [sym_do_statement] = STATE(89), + [sym_for_statement] = STATE(89), + [sym_return_statement] = STATE(89), + [sym_break_statement] = STATE(89), + [sym_continue_statement] = STATE(89), + [sym_goto_statement] = STATE(89), + [sym_seh_try_statement] = STATE(89), + [sym_seh_leave_statement] = STATE(89), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(913), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(89), + [sym_co_return_statement] = STATE(89), + [sym_co_yield_statement] = STATE(89), + [sym_throw_statement] = STATE(89), + [sym_try_statement] = STATE(89), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(89), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1409), + [aux_sym_preproc_def_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1409), + [sym_preproc_directive] = ACTIONS(1409), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1411), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1409), + [anon_sym___cdecl] = ACTIONS(1409), + [anon_sym___clrcall] = ACTIONS(1409), + [anon_sym___stdcall] = ACTIONS(1409), + [anon_sym___fastcall] = ACTIONS(1409), + [anon_sym___thiscall] = ACTIONS(1409), + [anon_sym___vectorcall] = ACTIONS(1409), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(1411), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_else] = ACTIONS(1409), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(1409), + [anon_sym_default] = ACTIONS(1409), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1409), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1409), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(1409), + [anon_sym_using] = ACTIONS(1409), + [anon_sym_static_assert] = ACTIONS(1409), + [anon_sym_concept] = ACTIONS(1409), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [91] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5024), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym_seh_try_statement] = STATE(91), + [sym_seh_leave_statement] = STATE(91), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(910), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(91), + [ts_builtin_sym_end] = ACTIONS(1219), + [sym__identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1205), + [aux_sym_preproc_def_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1205), + [sym_preproc_directive] = ACTIONS(1205), + [anon_sym_LPAREN2] = ACTIONS(1207), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1213), + [anon_sym_PLUS] = ACTIONS(1213), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP_AMP] = ACTIONS(1219), + [anon_sym_AMP] = ACTIONS(1221), + [anon_sym_SEMI] = ACTIONS(1427), + [anon_sym___extension__] = ACTIONS(1430), + [anon_sym_typedef] = ACTIONS(1433), + [anon_sym_extern] = ACTIONS(1233), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_COLON_COLON] = ACTIONS(1239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1245), + [anon_sym___based] = ACTIONS(1205), + [anon_sym___cdecl] = ACTIONS(1205), + [anon_sym___clrcall] = ACTIONS(1205), + [anon_sym___stdcall] = ACTIONS(1205), + [anon_sym___fastcall] = ACTIONS(1205), + [anon_sym___thiscall] = ACTIONS(1205), + [anon_sym___vectorcall] = ACTIONS(1205), + [anon_sym_LBRACE] = ACTIONS(1436), + [anon_sym_signed] = ACTIONS(1251), + [anon_sym_unsigned] = ACTIONS(1251), + [anon_sym_long] = ACTIONS(1251), + [anon_sym_short] = ACTIONS(1251), + [anon_sym_LBRACK] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1233), + [anon_sym_register] = ACTIONS(1233), + [anon_sym_inline] = ACTIONS(1233), + [anon_sym___inline] = ACTIONS(1233), + [anon_sym___inline__] = ACTIONS(1233), + [anon_sym___forceinline] = ACTIONS(1233), + [anon_sym_thread_local] = ACTIONS(1233), + [anon_sym___thread] = ACTIONS(1233), + [anon_sym_const] = ACTIONS(1257), + [anon_sym_constexpr] = ACTIONS(1257), + [anon_sym_volatile] = ACTIONS(1257), + [anon_sym_restrict] = ACTIONS(1257), + [anon_sym___restrict__] = ACTIONS(1257), + [anon_sym__Atomic] = ACTIONS(1257), + [anon_sym__Noreturn] = ACTIONS(1257), + [anon_sym_noreturn] = ACTIONS(1257), + [anon_sym_mutable] = ACTIONS(1257), + [anon_sym_constinit] = ACTIONS(1257), + [anon_sym_consteval] = ACTIONS(1257), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1263), + [anon_sym_enum] = ACTIONS(1266), + [anon_sym_class] = ACTIONS(1269), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1275), + [anon_sym_if] = ACTIONS(1439), + [anon_sym_else] = ACTIONS(1205), + [anon_sym_switch] = ACTIONS(1442), + [anon_sym_case] = ACTIONS(1205), + [anon_sym_default] = ACTIONS(1205), + [anon_sym_while] = ACTIONS(1445), + [anon_sym_do] = ACTIONS(1448), + [anon_sym_for] = ACTIONS(1451), + [anon_sym_return] = ACTIONS(1454), + [anon_sym_break] = ACTIONS(1457), + [anon_sym_continue] = ACTIONS(1460), + [anon_sym_goto] = ACTIONS(1463), + [anon_sym___try] = ACTIONS(1466), + [anon_sym___leave] = ACTIONS(1469), + [anon_sym_not] = ACTIONS(1213), + [anon_sym_compl] = ACTIONS(1213), + [anon_sym_DASH_DASH] = ACTIONS(1311), + [anon_sym_PLUS_PLUS] = ACTIONS(1311), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1317), + [anon_sym___alignof] = ACTIONS(1317), + [anon_sym__alignof] = ACTIONS(1317), + [anon_sym_alignof] = ACTIONS(1317), + [anon_sym__Alignof] = ACTIONS(1317), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1323), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1329), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1335), + [anon_sym_u_DQUOTE] = ACTIONS(1335), + [anon_sym_U_DQUOTE] = ACTIONS(1335), + [anon_sym_u8_DQUOTE] = ACTIONS(1335), + [anon_sym_DQUOTE] = ACTIONS(1335), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1341), + [anon_sym_nullptr] = ACTIONS(1341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + [sym_auto] = ACTIONS(1347), + [anon_sym_decltype] = ACTIONS(1350), + [sym_virtual] = ACTIONS(1353), + [anon_sym_explicit] = ACTIONS(1205), + [anon_sym_typename] = ACTIONS(1356), + [anon_sym_template] = ACTIONS(1359), + [anon_sym_operator] = ACTIONS(1205), + [anon_sym_try] = ACTIONS(1472), + [anon_sym_delete] = ACTIONS(1365), + [anon_sym_throw] = ACTIONS(1475), + [anon_sym_namespace] = ACTIONS(1205), + [anon_sym_using] = ACTIONS(1205), + [anon_sym_static_assert] = ACTIONS(1205), + [anon_sym_concept] = ACTIONS(1205), + [anon_sym_co_return] = ACTIONS(1478), + [anon_sym_co_yield] = ACTIONS(1481), + [anon_sym_R_DQUOTE] = ACTIONS(1377), + [anon_sym_LR_DQUOTE] = ACTIONS(1377), + [anon_sym_uR_DQUOTE] = ACTIONS(1377), + [anon_sym_UR_DQUOTE] = ACTIONS(1377), + [anon_sym_u8R_DQUOTE] = ACTIONS(1377), + [anon_sym_co_await] = ACTIONS(1380), + [anon_sym_new] = ACTIONS(1383), + [anon_sym_requires] = ACTIONS(1386), + [sym_this] = ACTIONS(1338), + }, + [92] = { + [sym_declaration] = STATE(99), + [sym_type_definition] = STATE(99), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5054), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(99), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(99), + [sym_labeled_statement] = STATE(99), + [sym_expression_statement] = STATE(99), + [sym_if_statement] = STATE(99), + [sym_switch_statement] = STATE(99), + [sym_while_statement] = STATE(99), + [sym_do_statement] = STATE(99), + [sym_for_statement] = STATE(99), + [sym_return_statement] = STATE(99), + [sym_break_statement] = STATE(99), + [sym_continue_statement] = STATE(99), + [sym_goto_statement] = STATE(99), + [sym_seh_try_statement] = STATE(99), + [sym_seh_leave_statement] = STATE(99), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(914), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(99), + [sym_co_return_statement] = STATE(99), + [sym_co_yield_statement] = STATE(99), + [sym_throw_statement] = STATE(99), + [sym_try_statement] = STATE(99), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(99), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1417), + [aux_sym_preproc_def_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token2] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1417), + [sym_preproc_directive] = ACTIONS(1417), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1419), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1417), + [anon_sym___cdecl] = ACTIONS(1417), + [anon_sym___clrcall] = ACTIONS(1417), + [anon_sym___stdcall] = ACTIONS(1417), + [anon_sym___fastcall] = ACTIONS(1417), + [anon_sym___thiscall] = ACTIONS(1417), + [anon_sym___vectorcall] = ACTIONS(1417), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_else] = ACTIONS(1417), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(1417), + [anon_sym_default] = ACTIONS(1417), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1417), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1417), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(1417), + [anon_sym_using] = ACTIONS(1417), + [anon_sym_static_assert] = ACTIONS(1417), + [anon_sym_concept] = ACTIONS(1417), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [93] = { + [sym_declaration] = STATE(101), + [sym_type_definition] = STATE(101), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5005), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(101), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(101), + [sym_labeled_statement] = STATE(101), + [sym_expression_statement] = STATE(101), + [sym_if_statement] = STATE(101), + [sym_switch_statement] = STATE(101), + [sym_while_statement] = STATE(101), + [sym_do_statement] = STATE(101), + [sym_for_statement] = STATE(101), + [sym_return_statement] = STATE(101), + [sym_break_statement] = STATE(101), + [sym_continue_statement] = STATE(101), + [sym_goto_statement] = STATE(101), + [sym_seh_try_statement] = STATE(101), + [sym_seh_leave_statement] = STATE(101), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(913), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(101), + [sym_co_return_statement] = STATE(101), + [sym_co_yield_statement] = STATE(101), + [sym_throw_statement] = STATE(101), + [sym_try_statement] = STATE(101), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(101), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1417), + [aux_sym_preproc_def_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1417), + [sym_preproc_directive] = ACTIONS(1417), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1419), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1417), + [anon_sym___cdecl] = ACTIONS(1417), + [anon_sym___clrcall] = ACTIONS(1417), + [anon_sym___stdcall] = ACTIONS(1417), + [anon_sym___fastcall] = ACTIONS(1417), + [anon_sym___thiscall] = ACTIONS(1417), + [anon_sym___vectorcall] = ACTIONS(1417), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(1419), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_else] = ACTIONS(1417), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(1417), + [anon_sym_default] = ACTIONS(1417), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1417), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1417), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(1417), + [anon_sym_using] = ACTIONS(1417), + [anon_sym_static_assert] = ACTIONS(1417), + [anon_sym_concept] = ACTIONS(1417), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [94] = { + [sym_declaration] = STATE(87), + [sym_type_definition] = STATE(87), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5054), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(87), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(87), + [sym_labeled_statement] = STATE(87), + [sym_expression_statement] = STATE(87), + [sym_if_statement] = STATE(87), + [sym_switch_statement] = STATE(87), + [sym_while_statement] = STATE(87), + [sym_do_statement] = STATE(87), + [sym_for_statement] = STATE(87), + [sym_return_statement] = STATE(87), + [sym_break_statement] = STATE(87), + [sym_continue_statement] = STATE(87), + [sym_goto_statement] = STATE(87), + [sym_seh_try_statement] = STATE(87), + [sym_seh_leave_statement] = STATE(87), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(914), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(87), + [sym_co_return_statement] = STATE(87), + [sym_co_yield_statement] = STATE(87), + [sym_throw_statement] = STATE(87), + [sym_try_statement] = STATE(87), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(87), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1409), + [aux_sym_preproc_def_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token2] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1409), + [sym_preproc_directive] = ACTIONS(1409), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1411), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1409), + [anon_sym___cdecl] = ACTIONS(1409), + [anon_sym___clrcall] = ACTIONS(1409), + [anon_sym___stdcall] = ACTIONS(1409), + [anon_sym___fastcall] = ACTIONS(1409), + [anon_sym___thiscall] = ACTIONS(1409), + [anon_sym___vectorcall] = ACTIONS(1409), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_else] = ACTIONS(1409), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(1409), + [anon_sym_default] = ACTIONS(1409), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1409), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1409), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(1409), + [anon_sym_using] = ACTIONS(1409), + [anon_sym_static_assert] = ACTIONS(1409), + [anon_sym_concept] = ACTIONS(1409), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [95] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5024), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym_seh_try_statement] = STATE(91), + [sym_seh_leave_statement] = STATE(91), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(910), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(91), + [ts_builtin_sym_end] = ACTIONS(1395), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1389), + [aux_sym_preproc_def_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1389), + [sym_preproc_directive] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1395), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1389), + [anon_sym___cdecl] = ACTIONS(1389), + [anon_sym___clrcall] = ACTIONS(1389), + [anon_sym___stdcall] = ACTIONS(1389), + [anon_sym___fastcall] = ACTIONS(1389), + [anon_sym___thiscall] = ACTIONS(1389), + [anon_sym___vectorcall] = ACTIONS(1389), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_else] = ACTIONS(1389), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1389), + [anon_sym_default] = ACTIONS(1389), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1389), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1389), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(1389), + [anon_sym_using] = ACTIONS(1389), + [anon_sym_static_assert] = ACTIONS(1389), + [anon_sym_concept] = ACTIONS(1389), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [96] = { + [sym_declaration] = STATE(88), + [sym_type_definition] = STATE(88), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5024), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(88), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(88), + [sym_labeled_statement] = STATE(88), + [sym_expression_statement] = STATE(88), + [sym_if_statement] = STATE(88), + [sym_switch_statement] = STATE(88), + [sym_while_statement] = STATE(88), + [sym_do_statement] = STATE(88), + [sym_for_statement] = STATE(88), + [sym_return_statement] = STATE(88), + [sym_break_statement] = STATE(88), + [sym_continue_statement] = STATE(88), + [sym_goto_statement] = STATE(88), + [sym_seh_try_statement] = STATE(88), + [sym_seh_leave_statement] = STATE(88), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(910), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(88), + [sym_co_return_statement] = STATE(88), + [sym_co_yield_statement] = STATE(88), + [sym_throw_statement] = STATE(88), + [sym_try_statement] = STATE(88), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(88), + [ts_builtin_sym_end] = ACTIONS(1411), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1409), + [aux_sym_preproc_def_token1] = ACTIONS(1409), + [aux_sym_preproc_if_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1409), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1409), + [sym_preproc_directive] = ACTIONS(1409), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1411), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1409), + [anon_sym___cdecl] = ACTIONS(1409), + [anon_sym___clrcall] = ACTIONS(1409), + [anon_sym___stdcall] = ACTIONS(1409), + [anon_sym___fastcall] = ACTIONS(1409), + [anon_sym___thiscall] = ACTIONS(1409), + [anon_sym___vectorcall] = ACTIONS(1409), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_else] = ACTIONS(1409), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1409), + [anon_sym_default] = ACTIONS(1409), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1409), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1409), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(1409), + [anon_sym_using] = ACTIONS(1409), + [anon_sym_static_assert] = ACTIONS(1409), + [anon_sym_concept] = ACTIONS(1409), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [97] = { + [sym_declaration] = STATE(97), + [sym_type_definition] = STATE(97), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5054), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(97), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(97), + [sym_labeled_statement] = STATE(97), + [sym_expression_statement] = STATE(97), + [sym_if_statement] = STATE(97), + [sym_switch_statement] = STATE(97), + [sym_while_statement] = STATE(97), + [sym_do_statement] = STATE(97), + [sym_for_statement] = STATE(97), + [sym_return_statement] = STATE(97), + [sym_break_statement] = STATE(97), + [sym_continue_statement] = STATE(97), + [sym_goto_statement] = STATE(97), + [sym_seh_try_statement] = STATE(97), + [sym_seh_leave_statement] = STATE(97), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(914), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(97), + [sym_co_return_statement] = STATE(97), + [sym_co_yield_statement] = STATE(97), + [sym_throw_statement] = STATE(97), + [sym_try_statement] = STATE(97), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(97), + [sym__identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1205), + [aux_sym_preproc_def_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token2] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1205), + [sym_preproc_directive] = ACTIONS(1205), + [anon_sym_LPAREN2] = ACTIONS(1207), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1213), + [anon_sym_PLUS] = ACTIONS(1213), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP_AMP] = ACTIONS(1219), + [anon_sym_AMP] = ACTIONS(1221), + [anon_sym_SEMI] = ACTIONS(1484), + [anon_sym___extension__] = ACTIONS(1487), + [anon_sym_typedef] = ACTIONS(1490), + [anon_sym_extern] = ACTIONS(1233), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_COLON_COLON] = ACTIONS(1239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1245), + [anon_sym___based] = ACTIONS(1205), + [anon_sym___cdecl] = ACTIONS(1205), + [anon_sym___clrcall] = ACTIONS(1205), + [anon_sym___stdcall] = ACTIONS(1205), + [anon_sym___fastcall] = ACTIONS(1205), + [anon_sym___thiscall] = ACTIONS(1205), + [anon_sym___vectorcall] = ACTIONS(1205), + [anon_sym_LBRACE] = ACTIONS(1493), + [anon_sym_signed] = ACTIONS(1251), + [anon_sym_unsigned] = ACTIONS(1251), + [anon_sym_long] = ACTIONS(1251), + [anon_sym_short] = ACTIONS(1251), + [anon_sym_LBRACK] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1233), + [anon_sym_register] = ACTIONS(1233), + [anon_sym_inline] = ACTIONS(1233), + [anon_sym___inline] = ACTIONS(1233), + [anon_sym___inline__] = ACTIONS(1233), + [anon_sym___forceinline] = ACTIONS(1233), + [anon_sym_thread_local] = ACTIONS(1233), + [anon_sym___thread] = ACTIONS(1233), + [anon_sym_const] = ACTIONS(1257), + [anon_sym_constexpr] = ACTIONS(1257), + [anon_sym_volatile] = ACTIONS(1257), + [anon_sym_restrict] = ACTIONS(1257), + [anon_sym___restrict__] = ACTIONS(1257), + [anon_sym__Atomic] = ACTIONS(1257), + [anon_sym__Noreturn] = ACTIONS(1257), + [anon_sym_noreturn] = ACTIONS(1257), + [anon_sym_mutable] = ACTIONS(1257), + [anon_sym_constinit] = ACTIONS(1257), + [anon_sym_consteval] = ACTIONS(1257), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1263), + [anon_sym_enum] = ACTIONS(1266), + [anon_sym_class] = ACTIONS(1269), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1275), + [anon_sym_if] = ACTIONS(1496), + [anon_sym_else] = ACTIONS(1205), + [anon_sym_switch] = ACTIONS(1499), + [anon_sym_case] = ACTIONS(1205), + [anon_sym_default] = ACTIONS(1205), + [anon_sym_while] = ACTIONS(1502), + [anon_sym_do] = ACTIONS(1505), + [anon_sym_for] = ACTIONS(1508), + [anon_sym_return] = ACTIONS(1511), + [anon_sym_break] = ACTIONS(1514), + [anon_sym_continue] = ACTIONS(1517), + [anon_sym_goto] = ACTIONS(1520), + [anon_sym___try] = ACTIONS(1523), + [anon_sym___leave] = ACTIONS(1526), + [anon_sym_not] = ACTIONS(1213), + [anon_sym_compl] = ACTIONS(1213), + [anon_sym_DASH_DASH] = ACTIONS(1311), + [anon_sym_PLUS_PLUS] = ACTIONS(1311), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1317), + [anon_sym___alignof] = ACTIONS(1317), + [anon_sym__alignof] = ACTIONS(1317), + [anon_sym_alignof] = ACTIONS(1317), + [anon_sym__Alignof] = ACTIONS(1317), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1323), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1329), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1335), + [anon_sym_u_DQUOTE] = ACTIONS(1335), + [anon_sym_U_DQUOTE] = ACTIONS(1335), + [anon_sym_u8_DQUOTE] = ACTIONS(1335), + [anon_sym_DQUOTE] = ACTIONS(1335), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1341), + [anon_sym_nullptr] = ACTIONS(1341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + [sym_auto] = ACTIONS(1347), + [anon_sym_decltype] = ACTIONS(1350), + [sym_virtual] = ACTIONS(1353), + [anon_sym_explicit] = ACTIONS(1205), + [anon_sym_typename] = ACTIONS(1356), + [anon_sym_template] = ACTIONS(1359), + [anon_sym_operator] = ACTIONS(1205), + [anon_sym_try] = ACTIONS(1529), + [anon_sym_delete] = ACTIONS(1365), + [anon_sym_throw] = ACTIONS(1532), + [anon_sym_namespace] = ACTIONS(1205), + [anon_sym_using] = ACTIONS(1205), + [anon_sym_static_assert] = ACTIONS(1205), + [anon_sym_concept] = ACTIONS(1205), + [anon_sym_co_return] = ACTIONS(1535), + [anon_sym_co_yield] = ACTIONS(1538), + [anon_sym_R_DQUOTE] = ACTIONS(1377), + [anon_sym_LR_DQUOTE] = ACTIONS(1377), + [anon_sym_uR_DQUOTE] = ACTIONS(1377), + [anon_sym_UR_DQUOTE] = ACTIONS(1377), + [anon_sym_u8R_DQUOTE] = ACTIONS(1377), + [anon_sym_co_await] = ACTIONS(1380), + [anon_sym_new] = ACTIONS(1383), + [anon_sym_requires] = ACTIONS(1386), + [sym_this] = ACTIONS(1338), + }, + [98] = { + [sym_declaration] = STATE(95), + [sym_type_definition] = STATE(95), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5024), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(95), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(95), + [sym_labeled_statement] = STATE(95), + [sym_expression_statement] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_switch_statement] = STATE(95), + [sym_while_statement] = STATE(95), + [sym_do_statement] = STATE(95), + [sym_for_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_continue_statement] = STATE(95), + [sym_goto_statement] = STATE(95), + [sym_seh_try_statement] = STATE(95), + [sym_seh_leave_statement] = STATE(95), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(910), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(95), + [sym_co_return_statement] = STATE(95), + [sym_co_yield_statement] = STATE(95), + [sym_throw_statement] = STATE(95), + [sym_try_statement] = STATE(95), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(95), + [ts_builtin_sym_end] = ACTIONS(1419), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1417), + [aux_sym_preproc_def_token1] = ACTIONS(1417), + [aux_sym_preproc_if_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1417), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1417), + [sym_preproc_directive] = ACTIONS(1417), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1419), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym___extension__] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1417), + [anon_sym___cdecl] = ACTIONS(1417), + [anon_sym___clrcall] = ACTIONS(1417), + [anon_sym___stdcall] = ACTIONS(1417), + [anon_sym___fastcall] = ACTIONS(1417), + [anon_sym___thiscall] = ACTIONS(1417), + [anon_sym___vectorcall] = ACTIONS(1417), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(75), + [anon_sym_else] = ACTIONS(1417), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1417), + [anon_sym_default] = ACTIONS(1417), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1417), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1417), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_namespace] = ACTIONS(1417), + [anon_sym_using] = ACTIONS(1417), + [anon_sym_static_assert] = ACTIONS(1417), + [anon_sym_concept] = ACTIONS(1417), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [99] = { + [sym_declaration] = STATE(97), + [sym_type_definition] = STATE(97), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5054), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(97), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(97), + [sym_labeled_statement] = STATE(97), + [sym_expression_statement] = STATE(97), + [sym_if_statement] = STATE(97), + [sym_switch_statement] = STATE(97), + [sym_while_statement] = STATE(97), + [sym_do_statement] = STATE(97), + [sym_for_statement] = STATE(97), + [sym_return_statement] = STATE(97), + [sym_break_statement] = STATE(97), + [sym_continue_statement] = STATE(97), + [sym_goto_statement] = STATE(97), + [sym_seh_try_statement] = STATE(97), + [sym_seh_leave_statement] = STATE(97), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(914), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(97), + [sym_co_return_statement] = STATE(97), + [sym_co_yield_statement] = STATE(97), + [sym_throw_statement] = STATE(97), + [sym_try_statement] = STATE(97), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(97), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1389), + [aux_sym_preproc_def_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token2] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1389), + [sym_preproc_directive] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1395), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym___extension__] = ACTIONS(724), + [anon_sym_typedef] = ACTIONS(726), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1389), + [anon_sym___cdecl] = ACTIONS(1389), + [anon_sym___clrcall] = ACTIONS(1389), + [anon_sym___stdcall] = ACTIONS(1389), + [anon_sym___fastcall] = ACTIONS(1389), + [anon_sym___thiscall] = ACTIONS(1389), + [anon_sym___vectorcall] = ACTIONS(1389), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(734), + [anon_sym_else] = ACTIONS(1389), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(1389), + [anon_sym_default] = ACTIONS(1389), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1389), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1389), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_namespace] = ACTIONS(1389), + [anon_sym_using] = ACTIONS(1389), + [anon_sym_static_assert] = ACTIONS(1389), + [anon_sym_concept] = ACTIONS(1389), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [100] = { + [sym_declaration] = STATE(100), + [sym_type_definition] = STATE(100), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5005), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(100), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(100), + [sym_labeled_statement] = STATE(100), + [sym_expression_statement] = STATE(100), + [sym_if_statement] = STATE(100), + [sym_switch_statement] = STATE(100), + [sym_while_statement] = STATE(100), + [sym_do_statement] = STATE(100), + [sym_for_statement] = STATE(100), + [sym_return_statement] = STATE(100), + [sym_break_statement] = STATE(100), + [sym_continue_statement] = STATE(100), + [sym_goto_statement] = STATE(100), + [sym_seh_try_statement] = STATE(100), + [sym_seh_leave_statement] = STATE(100), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(913), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(100), + [sym_co_return_statement] = STATE(100), + [sym_co_yield_statement] = STATE(100), + [sym_throw_statement] = STATE(100), + [sym_try_statement] = STATE(100), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(100), + [sym__identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1205), + [aux_sym_preproc_def_token1] = ACTIONS(1205), + [aux_sym_preproc_if_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1205), + [sym_preproc_directive] = ACTIONS(1205), + [anon_sym_LPAREN2] = ACTIONS(1207), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1213), + [anon_sym_PLUS] = ACTIONS(1213), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP_AMP] = ACTIONS(1219), + [anon_sym_AMP] = ACTIONS(1221), + [anon_sym_SEMI] = ACTIONS(1541), + [anon_sym___extension__] = ACTIONS(1544), + [anon_sym_typedef] = ACTIONS(1547), + [anon_sym_extern] = ACTIONS(1233), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_COLON_COLON] = ACTIONS(1239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1245), + [anon_sym___based] = ACTIONS(1205), + [anon_sym___cdecl] = ACTIONS(1205), + [anon_sym___clrcall] = ACTIONS(1205), + [anon_sym___stdcall] = ACTIONS(1205), + [anon_sym___fastcall] = ACTIONS(1205), + [anon_sym___thiscall] = ACTIONS(1205), + [anon_sym___vectorcall] = ACTIONS(1205), + [anon_sym_LBRACE] = ACTIONS(1550), + [anon_sym_RBRACE] = ACTIONS(1219), + [anon_sym_signed] = ACTIONS(1251), + [anon_sym_unsigned] = ACTIONS(1251), + [anon_sym_long] = ACTIONS(1251), + [anon_sym_short] = ACTIONS(1251), + [anon_sym_LBRACK] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1233), + [anon_sym_register] = ACTIONS(1233), + [anon_sym_inline] = ACTIONS(1233), + [anon_sym___inline] = ACTIONS(1233), + [anon_sym___inline__] = ACTIONS(1233), + [anon_sym___forceinline] = ACTIONS(1233), + [anon_sym_thread_local] = ACTIONS(1233), + [anon_sym___thread] = ACTIONS(1233), + [anon_sym_const] = ACTIONS(1257), + [anon_sym_constexpr] = ACTIONS(1257), + [anon_sym_volatile] = ACTIONS(1257), + [anon_sym_restrict] = ACTIONS(1257), + [anon_sym___restrict__] = ACTIONS(1257), + [anon_sym__Atomic] = ACTIONS(1257), + [anon_sym__Noreturn] = ACTIONS(1257), + [anon_sym_noreturn] = ACTIONS(1257), + [anon_sym_mutable] = ACTIONS(1257), + [anon_sym_constinit] = ACTIONS(1257), + [anon_sym_consteval] = ACTIONS(1257), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1263), + [anon_sym_enum] = ACTIONS(1266), + [anon_sym_class] = ACTIONS(1269), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1275), + [anon_sym_if] = ACTIONS(1553), + [anon_sym_else] = ACTIONS(1205), + [anon_sym_switch] = ACTIONS(1556), + [anon_sym_case] = ACTIONS(1205), + [anon_sym_default] = ACTIONS(1205), + [anon_sym_while] = ACTIONS(1559), + [anon_sym_do] = ACTIONS(1562), + [anon_sym_for] = ACTIONS(1565), + [anon_sym_return] = ACTIONS(1568), + [anon_sym_break] = ACTIONS(1571), + [anon_sym_continue] = ACTIONS(1574), + [anon_sym_goto] = ACTIONS(1577), + [anon_sym___try] = ACTIONS(1580), + [anon_sym___leave] = ACTIONS(1583), + [anon_sym_not] = ACTIONS(1213), + [anon_sym_compl] = ACTIONS(1213), + [anon_sym_DASH_DASH] = ACTIONS(1311), + [anon_sym_PLUS_PLUS] = ACTIONS(1311), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1317), + [anon_sym___alignof] = ACTIONS(1317), + [anon_sym__alignof] = ACTIONS(1317), + [anon_sym_alignof] = ACTIONS(1317), + [anon_sym__Alignof] = ACTIONS(1317), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1323), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1329), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1335), + [anon_sym_u_DQUOTE] = ACTIONS(1335), + [anon_sym_U_DQUOTE] = ACTIONS(1335), + [anon_sym_u8_DQUOTE] = ACTIONS(1335), + [anon_sym_DQUOTE] = ACTIONS(1335), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1341), + [anon_sym_nullptr] = ACTIONS(1341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + [sym_auto] = ACTIONS(1347), + [anon_sym_decltype] = ACTIONS(1350), + [sym_virtual] = ACTIONS(1353), + [anon_sym_explicit] = ACTIONS(1205), + [anon_sym_typename] = ACTIONS(1356), + [anon_sym_template] = ACTIONS(1359), + [anon_sym_operator] = ACTIONS(1205), + [anon_sym_try] = ACTIONS(1586), + [anon_sym_delete] = ACTIONS(1365), + [anon_sym_throw] = ACTIONS(1589), + [anon_sym_namespace] = ACTIONS(1205), + [anon_sym_using] = ACTIONS(1205), + [anon_sym_static_assert] = ACTIONS(1205), + [anon_sym_concept] = ACTIONS(1205), + [anon_sym_co_return] = ACTIONS(1592), + [anon_sym_co_yield] = ACTIONS(1595), + [anon_sym_R_DQUOTE] = ACTIONS(1377), + [anon_sym_LR_DQUOTE] = ACTIONS(1377), + [anon_sym_uR_DQUOTE] = ACTIONS(1377), + [anon_sym_UR_DQUOTE] = ACTIONS(1377), + [anon_sym_u8R_DQUOTE] = ACTIONS(1377), + [anon_sym_co_await] = ACTIONS(1380), + [anon_sym_new] = ACTIONS(1383), + [anon_sym_requires] = ACTIONS(1386), + [sym_this] = ACTIONS(1338), + }, + [101] = { + [sym_declaration] = STATE(100), + [sym_type_definition] = STATE(100), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5005), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(100), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(100), + [sym_labeled_statement] = STATE(100), + [sym_expression_statement] = STATE(100), + [sym_if_statement] = STATE(100), + [sym_switch_statement] = STATE(100), + [sym_while_statement] = STATE(100), + [sym_do_statement] = STATE(100), + [sym_for_statement] = STATE(100), + [sym_return_statement] = STATE(100), + [sym_break_statement] = STATE(100), + [sym_continue_statement] = STATE(100), + [sym_goto_statement] = STATE(100), + [sym_seh_try_statement] = STATE(100), + [sym_seh_leave_statement] = STATE(100), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(913), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(100), + [sym_co_return_statement] = STATE(100), + [sym_co_yield_statement] = STATE(100), + [sym_throw_statement] = STATE(100), + [sym_try_statement] = STATE(100), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(100), + [sym__identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(1389), + [aux_sym_preproc_def_token1] = ACTIONS(1389), + [aux_sym_preproc_if_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1389), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1389), + [sym_preproc_directive] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP_AMP] = ACTIONS(1395), + [anon_sym_AMP] = ACTIONS(1397), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym___extension__] = ACTIONS(175), + [anon_sym_typedef] = ACTIONS(177), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(1389), + [anon_sym___cdecl] = ACTIONS(1389), + [anon_sym___clrcall] = ACTIONS(1389), + [anon_sym___stdcall] = ACTIONS(1389), + [anon_sym___fastcall] = ACTIONS(1389), + [anon_sym___thiscall] = ACTIONS(1389), + [anon_sym___vectorcall] = ACTIONS(1389), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_RBRACE] = ACTIONS(1395), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(189), + [anon_sym_else] = ACTIONS(1389), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(1389), + [anon_sym_default] = ACTIONS(1389), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_explicit] = ACTIONS(1389), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1389), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_namespace] = ACTIONS(1389), + [anon_sym_using] = ACTIONS(1389), + [anon_sym_static_assert] = ACTIONS(1389), + [anon_sym_concept] = ACTIONS(1389), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [102] = { + [sym_declaration] = STATE(103), + [sym_type_definition] = STATE(103), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5069), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(103), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(103), + [sym_labeled_statement] = STATE(103), + [sym_expression_statement] = STATE(103), + [sym_if_statement] = STATE(103), + [sym_switch_statement] = STATE(103), + [sym_while_statement] = STATE(103), + [sym_do_statement] = STATE(103), + [sym_for_statement] = STATE(103), + [sym_return_statement] = STATE(103), + [sym_break_statement] = STATE(103), + [sym_continue_statement] = STATE(103), + [sym_goto_statement] = STATE(103), + [sym_seh_try_statement] = STATE(103), + [sym_seh_leave_statement] = STATE(103), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(915), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(103), + [sym_co_return_statement] = STATE(103), + [sym_co_yield_statement] = STATE(103), + [sym_throw_statement] = STATE(103), + [sym_try_statement] = STATE(103), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(103), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym___extension__] = ACTIONS(1600), + [anon_sym_typedef] = ACTIONS(1602), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_else] = ACTIONS(1389), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [103] = { + [sym_declaration] = STATE(103), + [sym_type_definition] = STATE(103), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5069), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(103), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(103), + [sym_labeled_statement] = STATE(103), + [sym_expression_statement] = STATE(103), + [sym_if_statement] = STATE(103), + [sym_switch_statement] = STATE(103), + [sym_while_statement] = STATE(103), + [sym_do_statement] = STATE(103), + [sym_for_statement] = STATE(103), + [sym_return_statement] = STATE(103), + [sym_break_statement] = STATE(103), + [sym_continue_statement] = STATE(103), + [sym_goto_statement] = STATE(103), + [sym_seh_try_statement] = STATE(103), + [sym_seh_leave_statement] = STATE(103), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(915), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(103), + [sym_co_return_statement] = STATE(103), + [sym_co_yield_statement] = STATE(103), + [sym_throw_statement] = STATE(103), + [sym_try_statement] = STATE(103), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(103), + [sym__identifier] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1207), + [anon_sym_BANG] = ACTIONS(1210), + [anon_sym_TILDE] = ACTIONS(1210), + [anon_sym_DASH] = ACTIONS(1213), + [anon_sym_PLUS] = ACTIONS(1213), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP] = ACTIONS(1216), + [anon_sym_SEMI] = ACTIONS(1636), + [anon_sym___extension__] = ACTIONS(1639), + [anon_sym_typedef] = ACTIONS(1642), + [anon_sym_extern] = ACTIONS(1233), + [anon_sym___attribute__] = ACTIONS(1236), + [anon_sym_COLON_COLON] = ACTIONS(1239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1242), + [anon_sym___declspec] = ACTIONS(1245), + [anon_sym_LBRACE] = ACTIONS(1645), + [anon_sym_signed] = ACTIONS(1251), + [anon_sym_unsigned] = ACTIONS(1251), + [anon_sym_long] = ACTIONS(1251), + [anon_sym_short] = ACTIONS(1251), + [anon_sym_LBRACK] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1233), + [anon_sym_register] = ACTIONS(1233), + [anon_sym_inline] = ACTIONS(1233), + [anon_sym___inline] = ACTIONS(1233), + [anon_sym___inline__] = ACTIONS(1233), + [anon_sym___forceinline] = ACTIONS(1233), + [anon_sym_thread_local] = ACTIONS(1233), + [anon_sym___thread] = ACTIONS(1233), + [anon_sym_const] = ACTIONS(1257), + [anon_sym_constexpr] = ACTIONS(1257), + [anon_sym_volatile] = ACTIONS(1257), + [anon_sym_restrict] = ACTIONS(1257), + [anon_sym___restrict__] = ACTIONS(1257), + [anon_sym__Atomic] = ACTIONS(1257), + [anon_sym__Noreturn] = ACTIONS(1257), + [anon_sym_noreturn] = ACTIONS(1257), + [anon_sym_mutable] = ACTIONS(1257), + [anon_sym_constinit] = ACTIONS(1257), + [anon_sym_consteval] = ACTIONS(1257), + [anon_sym_alignas] = ACTIONS(1260), + [anon_sym__Alignas] = ACTIONS(1260), + [sym_primitive_type] = ACTIONS(1263), + [anon_sym_enum] = ACTIONS(1266), + [anon_sym_class] = ACTIONS(1269), + [anon_sym_struct] = ACTIONS(1272), + [anon_sym_union] = ACTIONS(1275), + [anon_sym_if] = ACTIONS(1648), + [anon_sym_else] = ACTIONS(1205), + [anon_sym_switch] = ACTIONS(1651), + [anon_sym_while] = ACTIONS(1654), + [anon_sym_do] = ACTIONS(1657), + [anon_sym_for] = ACTIONS(1660), + [anon_sym_return] = ACTIONS(1663), + [anon_sym_break] = ACTIONS(1666), + [anon_sym_continue] = ACTIONS(1669), + [anon_sym_goto] = ACTIONS(1672), + [anon_sym___try] = ACTIONS(1675), + [anon_sym___leave] = ACTIONS(1678), + [anon_sym_not] = ACTIONS(1213), + [anon_sym_compl] = ACTIONS(1213), + [anon_sym_DASH_DASH] = ACTIONS(1311), + [anon_sym_PLUS_PLUS] = ACTIONS(1311), + [anon_sym_sizeof] = ACTIONS(1314), + [anon_sym___alignof__] = ACTIONS(1317), + [anon_sym___alignof] = ACTIONS(1317), + [anon_sym__alignof] = ACTIONS(1317), + [anon_sym_alignof] = ACTIONS(1317), + [anon_sym__Alignof] = ACTIONS(1317), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1323), + [anon_sym_asm] = ACTIONS(1326), + [anon_sym___asm__] = ACTIONS(1326), + [sym__number_literal] = ACTIONS(1329), + [anon_sym_L_SQUOTE] = ACTIONS(1332), + [anon_sym_u_SQUOTE] = ACTIONS(1332), + [anon_sym_U_SQUOTE] = ACTIONS(1332), + [anon_sym_u8_SQUOTE] = ACTIONS(1332), + [anon_sym_SQUOTE] = ACTIONS(1332), + [anon_sym_L_DQUOTE] = ACTIONS(1335), + [anon_sym_u_DQUOTE] = ACTIONS(1335), + [anon_sym_U_DQUOTE] = ACTIONS(1335), + [anon_sym_u8_DQUOTE] = ACTIONS(1335), + [anon_sym_DQUOTE] = ACTIONS(1335), + [sym_true] = ACTIONS(1338), + [sym_false] = ACTIONS(1338), + [anon_sym_NULL] = ACTIONS(1341), + [anon_sym_nullptr] = ACTIONS(1341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1344), + [sym_auto] = ACTIONS(1347), + [anon_sym_decltype] = ACTIONS(1350), + [sym_virtual] = ACTIONS(1353), + [anon_sym_typename] = ACTIONS(1356), + [anon_sym_template] = ACTIONS(1359), + [anon_sym_try] = ACTIONS(1681), + [anon_sym_delete] = ACTIONS(1365), + [anon_sym_throw] = ACTIONS(1684), + [anon_sym_co_return] = ACTIONS(1687), + [anon_sym_co_yield] = ACTIONS(1690), + [anon_sym_R_DQUOTE] = ACTIONS(1377), + [anon_sym_LR_DQUOTE] = ACTIONS(1377), + [anon_sym_uR_DQUOTE] = ACTIONS(1377), + [anon_sym_UR_DQUOTE] = ACTIONS(1377), + [anon_sym_u8R_DQUOTE] = ACTIONS(1377), + [anon_sym_co_await] = ACTIONS(1380), + [anon_sym_new] = ACTIONS(1383), + [anon_sym_requires] = ACTIONS(1386), + [sym_this] = ACTIONS(1338), + }, + [104] = { + [sym_declaration] = STATE(102), + [sym_type_definition] = STATE(102), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5069), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(102), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(102), + [sym_labeled_statement] = STATE(102), + [sym_expression_statement] = STATE(102), + [sym_if_statement] = STATE(102), + [sym_switch_statement] = STATE(102), + [sym_while_statement] = STATE(102), + [sym_do_statement] = STATE(102), + [sym_for_statement] = STATE(102), + [sym_return_statement] = STATE(102), + [sym_break_statement] = STATE(102), + [sym_continue_statement] = STATE(102), + [sym_goto_statement] = STATE(102), + [sym_seh_try_statement] = STATE(102), + [sym_seh_leave_statement] = STATE(102), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(915), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(102), + [sym_co_return_statement] = STATE(102), + [sym_co_yield_statement] = STATE(102), + [sym_throw_statement] = STATE(102), + [sym_try_statement] = STATE(102), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(102), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym___extension__] = ACTIONS(1600), + [anon_sym_typedef] = ACTIONS(1602), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_else] = ACTIONS(1417), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [105] = { + [sym_declaration] = STATE(103), + [sym_type_definition] = STATE(103), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5069), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(103), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(103), + [sym_labeled_statement] = STATE(103), + [sym_expression_statement] = STATE(103), + [sym_if_statement] = STATE(103), + [sym_switch_statement] = STATE(103), + [sym_while_statement] = STATE(103), + [sym_do_statement] = STATE(103), + [sym_for_statement] = STATE(103), + [sym_return_statement] = STATE(103), + [sym_break_statement] = STATE(103), + [sym_continue_statement] = STATE(103), + [sym_goto_statement] = STATE(103), + [sym_seh_try_statement] = STATE(103), + [sym_seh_leave_statement] = STATE(103), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(915), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(103), + [sym_co_return_statement] = STATE(103), + [sym_co_yield_statement] = STATE(103), + [sym_throw_statement] = STATE(103), + [sym_try_statement] = STATE(103), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(103), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym___extension__] = ACTIONS(1600), + [anon_sym_typedef] = ACTIONS(1602), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_else] = ACTIONS(1413), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [106] = { + [sym_declaration] = STATE(105), + [sym_type_definition] = STATE(105), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5069), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(874), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_compound_statement] = STATE(105), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_attributed_statement] = STATE(105), + [sym_labeled_statement] = STATE(105), + [sym_expression_statement] = STATE(105), + [sym_if_statement] = STATE(105), + [sym_switch_statement] = STATE(105), + [sym_while_statement] = STATE(105), + [sym_do_statement] = STATE(105), + [sym_for_statement] = STATE(105), + [sym_return_statement] = STATE(105), + [sym_break_statement] = STATE(105), + [sym_continue_statement] = STATE(105), + [sym_goto_statement] = STATE(105), + [sym_seh_try_statement] = STATE(105), + [sym_seh_leave_statement] = STATE(105), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(915), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(105), + [sym_co_return_statement] = STATE(105), + [sym_co_yield_statement] = STATE(105), + [sym_throw_statement] = STATE(105), + [sym_try_statement] = STATE(105), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_case_statement_repeat1] = STATE(105), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym___extension__] = ACTIONS(1600), + [anon_sym_typedef] = ACTIONS(1602), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_else] = ACTIONS(1409), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [107] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(8025), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(8015), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [108] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(7945), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(7946), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [109] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(8525), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(8324), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [110] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(7970), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(7961), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [111] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(8191), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(8192), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [112] = { + [sym_declaration] = STATE(248), + [sym_type_definition] = STATE(4132), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5021), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(4132), + [sym__for_statement_body] = STATE(8022), + [sym_expression] = STATE(4498), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8314), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(916), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(4132), + [sym__for_range_loop_body] = STATE(8014), + [sym_init_statement] = STATE(1941), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1693), + [anon_sym___extension__] = ACTIONS(1695), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_using] = ACTIONS(1701), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [113] = { + [sym_declaration] = STATE(1572), + [sym_type_definition] = STATE(1572), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5027), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression_statement] = STATE(1572), + [sym_expression] = STATE(4383), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7600), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(911), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_alias_declaration] = STATE(1572), + [sym_init_statement] = STATE(124), + [sym_condition_declaration] = STATE(8251), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym___extension__] = ACTIONS(1600), + [anon_sym_typedef] = ACTIONS(1602), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_using] = ACTIONS(1717), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [114] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(5132), + [sym__declarator] = STATE(6560), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2894), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(8528), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8529), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1573), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3226), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8533), + [sym__unary_right_fold] = STATE(8539), + [sym__binary_fold] = STATE(8541), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5545), + [sym_qualified_identifier] = STATE(3222), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(8543), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1725), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1729), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1733), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1735), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(1743), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1777), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [115] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(5132), + [sym__declarator] = STATE(6560), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7937), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1573), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3226), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5545), + [sym_qualified_identifier] = STATE(3222), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1725), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1729), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1733), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1735), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(1743), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1777), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [116] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(5132), + [sym__declarator] = STATE(6560), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7869), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1573), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3226), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5545), + [sym_qualified_identifier] = STATE(3222), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1725), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1729), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1733), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1735), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(1743), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1777), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [117] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3298), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8299), + [sym__unary_right_fold] = STATE(8296), + [sym__binary_fold] = STATE(8294), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [118] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3219), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8146), + [sym__unary_right_fold] = STATE(8147), + [sym__binary_fold] = STATE(8149), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [119] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3194), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [120] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3304), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8259), + [sym__unary_right_fold] = STATE(8256), + [sym__binary_fold] = STATE(8255), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [121] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3311), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8533), + [sym__unary_right_fold] = STATE(8539), + [sym__binary_fold] = STATE(8541), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [122] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_expression] = STATE(3286), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(912), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7593), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5577), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(1721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1809), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1841), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [123] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_compound_statement] = STATE(7084), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7290), + [sym_expression] = STATE(4338), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7084), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(917), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7290), + [sym_variadic_parameter_declaration] = STATE(7290), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5551), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1857), + [anon_sym_RPAREN] = ACTIONS(1859), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [124] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5203), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_expression] = STATE(4573), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7917), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(911), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3163), + [sym_template_function] = STATE(3826), + [sym_condition_declaration] = STATE(7917), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5585), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(3158), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(65), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1403), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [125] = { + [sym__identifier] = ACTIONS(1865), + [aux_sym_preproc_include_token1] = ACTIONS(1865), + [aux_sym_preproc_def_token1] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token1] = ACTIONS(1865), + [aux_sym_preproc_if_token2] = ACTIONS(1865), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1865), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1865), + [aux_sym_preproc_else_token1] = ACTIONS(1865), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1865), + [sym_preproc_directive] = ACTIONS(1865), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_BANG] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1867), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1867), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_typedef] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_RBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1867), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [sym_primitive_type] = ACTIONS(1865), + [anon_sym_enum] = ACTIONS(1865), + [anon_sym_class] = ACTIONS(1865), + [anon_sym_struct] = ACTIONS(1865), + [anon_sym_union] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_if] = ACTIONS(1865), + [anon_sym_switch] = ACTIONS(1865), + [anon_sym_case] = ACTIONS(1865), + [anon_sym_default] = ACTIONS(1865), + [anon_sym_while] = ACTIONS(1865), + [anon_sym_do] = ACTIONS(1865), + [anon_sym_for] = ACTIONS(1865), + [anon_sym_return] = ACTIONS(1865), + [anon_sym_break] = ACTIONS(1865), + [anon_sym_continue] = ACTIONS(1865), + [anon_sym_goto] = ACTIONS(1865), + [anon_sym___try] = ACTIONS(1865), + [anon_sym___leave] = ACTIONS(1865), + [anon_sym_not] = ACTIONS(1865), + [anon_sym_compl] = ACTIONS(1865), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_sizeof] = ACTIONS(1865), + [anon_sym___alignof__] = ACTIONS(1865), + [anon_sym___alignof] = ACTIONS(1865), + [anon_sym__alignof] = ACTIONS(1865), + [anon_sym_alignof] = ACTIONS(1865), + [anon_sym__Alignof] = ACTIONS(1865), + [anon_sym_offsetof] = ACTIONS(1865), + [anon_sym__Generic] = ACTIONS(1865), + [anon_sym_asm] = ACTIONS(1865), + [anon_sym___asm__] = ACTIONS(1865), + [sym__number_literal] = ACTIONS(1867), + [anon_sym_L_SQUOTE] = ACTIONS(1867), + [anon_sym_u_SQUOTE] = ACTIONS(1867), + [anon_sym_U_SQUOTE] = ACTIONS(1867), + [anon_sym_u8_SQUOTE] = ACTIONS(1867), + [anon_sym_SQUOTE] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_true] = ACTIONS(1865), + [sym_false] = ACTIONS(1865), + [anon_sym_NULL] = ACTIONS(1865), + [anon_sym_nullptr] = ACTIONS(1865), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_explicit] = ACTIONS(1865), + [anon_sym_typename] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_GT2] = ACTIONS(1867), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_try] = ACTIONS(1865), + [anon_sym_delete] = ACTIONS(1865), + [anon_sym_throw] = ACTIONS(1865), + [anon_sym_namespace] = ACTIONS(1865), + [anon_sym_using] = ACTIONS(1865), + [anon_sym_static_assert] = ACTIONS(1865), + [anon_sym_concept] = ACTIONS(1865), + [anon_sym_co_return] = ACTIONS(1865), + [anon_sym_co_yield] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [anon_sym_co_await] = ACTIONS(1865), + [anon_sym_new] = ACTIONS(1865), + [anon_sym_requires] = ACTIONS(1865), + [sym_this] = ACTIONS(1865), + }, + [126] = { + [sym_expression] = STATE(2666), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1869), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [aux_sym_preproc_if_token2] = ACTIONS(1871), + [aux_sym_preproc_else_token1] = ACTIONS(1871), + [aux_sym_preproc_elif_token1] = ACTIONS(1869), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1871), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1873), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1871), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [127] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_RPAREN] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1917), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_SEMI] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(1871), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [128] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(473), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4364), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7549), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(181), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [129] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_SEMI] = ACTIONS(1871), + [anon_sym___attribute__] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [130] = { + [sym_attribute_declaration] = STATE(137), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(515), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(137), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [131] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(411), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [132] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(7882), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [133] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(522), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [134] = { + [sym_attribute_declaration] = STATE(134), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(424), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(134), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(1996), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2005), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2014), + [anon_sym_switch] = ACTIONS(2017), + [anon_sym_case] = ACTIONS(2020), + [anon_sym_default] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2026), + [anon_sym_do] = ACTIONS(2029), + [anon_sym_for] = ACTIONS(2032), + [anon_sym_return] = ACTIONS(2035), + [anon_sym_break] = ACTIONS(2038), + [anon_sym_continue] = ACTIONS(2041), + [anon_sym_goto] = ACTIONS(2044), + [anon_sym___try] = ACTIONS(2047), + [anon_sym___leave] = ACTIONS(2050), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2101), + [anon_sym_co_return] = ACTIONS(2104), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [135] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(412), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [136] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(465), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [137] = { + [sym_attribute_declaration] = STATE(137), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(515), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(137), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(2122), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2128), + [anon_sym_switch] = ACTIONS(2131), + [anon_sym_case] = ACTIONS(2134), + [anon_sym_default] = ACTIONS(2137), + [anon_sym_while] = ACTIONS(2140), + [anon_sym_do] = ACTIONS(2143), + [anon_sym_for] = ACTIONS(2146), + [anon_sym_return] = ACTIONS(2149), + [anon_sym_break] = ACTIONS(2152), + [anon_sym_continue] = ACTIONS(2155), + [anon_sym_goto] = ACTIONS(2158), + [anon_sym___try] = ACTIONS(2161), + [anon_sym___leave] = ACTIONS(2164), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2167), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2170), + [anon_sym_co_return] = ACTIONS(2173), + [anon_sym_co_yield] = ACTIONS(2176), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [138] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(419), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [139] = { + [sym_attribute_declaration] = STATE(180), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(496), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(180), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [140] = { + [sym_attribute_declaration] = STATE(181), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(876), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(181), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [141] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(414), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [142] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(264), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [143] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(7311), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [144] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(406), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [145] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(509), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [146] = { + [sym_attribute_declaration] = STATE(146), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(496), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(146), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(2179), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2182), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2185), + [anon_sym_switch] = ACTIONS(2188), + [anon_sym_case] = ACTIONS(2191), + [anon_sym_default] = ACTIONS(2194), + [anon_sym_while] = ACTIONS(2197), + [anon_sym_do] = ACTIONS(2200), + [anon_sym_for] = ACTIONS(2203), + [anon_sym_return] = ACTIONS(2206), + [anon_sym_break] = ACTIONS(2209), + [anon_sym_continue] = ACTIONS(2212), + [anon_sym_goto] = ACTIONS(2215), + [anon_sym___try] = ACTIONS(2218), + [anon_sym___leave] = ACTIONS(2221), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2224), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2230), + [anon_sym_co_yield] = ACTIONS(2233), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [147] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(490), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [148] = { + [sym_expression] = STATE(3072), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_initializer_list] = STATE(3463), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_RPAREN] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1731), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACE] = ACTIONS(2238), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1869), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [anon_sym_DASH_GT_STAR] = ACTIONS(1871), + [sym_this] = ACTIONS(1773), + }, + [149] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(413), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [150] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(519), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [151] = { + [sym_attribute_declaration] = STATE(130), + [sym_compound_statement] = STATE(523), + [sym_attributed_statement] = STATE(523), + [sym_statement] = STATE(517), + [sym_labeled_statement] = STATE(523), + [sym_expression_statement] = STATE(523), + [sym_if_statement] = STATE(523), + [sym_switch_statement] = STATE(523), + [sym_case_statement] = STATE(523), + [sym_while_statement] = STATE(523), + [sym_do_statement] = STATE(523), + [sym_for_statement] = STATE(523), + [sym_return_statement] = STATE(523), + [sym_break_statement] = STATE(523), + [sym_continue_statement] = STATE(523), + [sym_goto_statement] = STATE(523), + [sym_seh_try_statement] = STATE(523), + [sym_seh_leave_statement] = STATE(523), + [sym_expression] = STATE(4423), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8075), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1933), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(523), + [sym_co_return_statement] = STATE(523), + [sym_co_yield_statement] = STATE(523), + [sym_throw_statement] = STATE(523), + [sym_try_statement] = STATE(523), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(130), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(722), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(730), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(734), + [anon_sym_switch] = ACTIONS(736), + [anon_sym_case] = ACTIONS(738), + [anon_sym_default] = ACTIONS(740), + [anon_sym_while] = ACTIONS(742), + [anon_sym_do] = ACTIONS(744), + [anon_sym_for] = ACTIONS(746), + [anon_sym_return] = ACTIONS(748), + [anon_sym_break] = ACTIONS(750), + [anon_sym_continue] = ACTIONS(752), + [anon_sym_goto] = ACTIONS(754), + [anon_sym___try] = ACTIONS(756), + [anon_sym___leave] = ACTIONS(758), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(762), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(764), + [anon_sym_co_return] = ACTIONS(774), + [anon_sym_co_yield] = ACTIONS(776), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [152] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(8392), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [153] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(511), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [154] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(506), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [155] = { + [sym_attribute_declaration] = STATE(134), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(424), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(134), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [156] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(500), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [157] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(473), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [158] = { + [sym_attribute_declaration] = STATE(146), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(496), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(146), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [159] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(405), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [160] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(8364), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [161] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(490), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [162] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(261), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [163] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(509), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [164] = { + [sym_attribute_declaration] = STATE(164), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(277), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(164), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(2244), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2247), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2250), + [anon_sym_switch] = ACTIONS(2253), + [anon_sym_case] = ACTIONS(2256), + [anon_sym_default] = ACTIONS(2259), + [anon_sym_while] = ACTIONS(2262), + [anon_sym_do] = ACTIONS(2265), + [anon_sym_for] = ACTIONS(2268), + [anon_sym_return] = ACTIONS(2271), + [anon_sym_break] = ACTIONS(2274), + [anon_sym_continue] = ACTIONS(2277), + [anon_sym_goto] = ACTIONS(2280), + [anon_sym___try] = ACTIONS(2283), + [anon_sym___leave] = ACTIONS(2286), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2289), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2292), + [anon_sym_co_return] = ACTIONS(2295), + [anon_sym_co_yield] = ACTIONS(2298), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [165] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(410), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [166] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(267), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [167] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(278), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [168] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(452), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [169] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(891), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [170] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(7161), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [171] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(8330), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [172] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(896), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [173] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(269), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [174] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(8214), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [175] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(903), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [176] = { + [sym_attribute_declaration] = STATE(155), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(400), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1885), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(778), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(189), + [anon_sym_switch] = ACTIONS(191), + [anon_sym_case] = ACTIONS(193), + [anon_sym_default] = ACTIONS(195), + [anon_sym_while] = ACTIONS(197), + [anon_sym_do] = ACTIONS(199), + [anon_sym_for] = ACTIONS(201), + [anon_sym_return] = ACTIONS(203), + [anon_sym_break] = ACTIONS(205), + [anon_sym_continue] = ACTIONS(207), + [anon_sym_goto] = ACTIONS(209), + [anon_sym___try] = ACTIONS(211), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(221), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(223), + [anon_sym_co_return] = ACTIONS(233), + [anon_sym_co_yield] = ACTIONS(235), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [177] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(280), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [178] = { + [sym_attribute_declaration] = STATE(189), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(268), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(189), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [179] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(852), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [180] = { + [sym_attribute_declaration] = STATE(180), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(496), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(180), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(1996), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2182), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2301), + [anon_sym_switch] = ACTIONS(2188), + [anon_sym_case] = ACTIONS(2304), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2310), + [anon_sym_do] = ACTIONS(2200), + [anon_sym_for] = ACTIONS(2313), + [anon_sym_return] = ACTIONS(2206), + [anon_sym_break] = ACTIONS(2209), + [anon_sym_continue] = ACTIONS(2212), + [anon_sym_goto] = ACTIONS(2215), + [anon_sym___try] = ACTIONS(2316), + [anon_sym___leave] = ACTIONS(2050), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2224), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2230), + [anon_sym_co_yield] = ACTIONS(2233), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [181] = { + [sym_attribute_declaration] = STATE(181), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(876), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(181), + [sym__identifier] = ACTIONS(1981), + [anon_sym_LPAREN2] = ACTIONS(1984), + [anon_sym_BANG] = ACTIONS(1987), + [anon_sym_TILDE] = ACTIONS(1987), + [anon_sym_DASH] = ACTIONS(1990), + [anon_sym_PLUS] = ACTIONS(1990), + [anon_sym_STAR] = ACTIONS(1993), + [anon_sym_AMP] = ACTIONS(1993), + [anon_sym_SEMI] = ACTIONS(2319), + [anon_sym_COLON_COLON] = ACTIONS(1999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2002), + [anon_sym_LBRACE] = ACTIONS(2322), + [anon_sym_LBRACK] = ACTIONS(2008), + [sym_primitive_type] = ACTIONS(2011), + [anon_sym_if] = ACTIONS(2325), + [anon_sym_switch] = ACTIONS(2328), + [anon_sym_case] = ACTIONS(2304), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2331), + [anon_sym_do] = ACTIONS(2334), + [anon_sym_for] = ACTIONS(2337), + [anon_sym_return] = ACTIONS(2340), + [anon_sym_break] = ACTIONS(2343), + [anon_sym_continue] = ACTIONS(2346), + [anon_sym_goto] = ACTIONS(2349), + [anon_sym___try] = ACTIONS(2352), + [anon_sym___leave] = ACTIONS(2355), + [anon_sym_not] = ACTIONS(1990), + [anon_sym_compl] = ACTIONS(1990), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2056), + [anon_sym___alignof__] = ACTIONS(2059), + [anon_sym___alignof] = ACTIONS(2059), + [anon_sym__alignof] = ACTIONS(2059), + [anon_sym_alignof] = ACTIONS(2059), + [anon_sym__Alignof] = ACTIONS(2059), + [anon_sym_offsetof] = ACTIONS(2062), + [anon_sym__Generic] = ACTIONS(2065), + [anon_sym_asm] = ACTIONS(2068), + [anon_sym___asm__] = ACTIONS(2068), + [sym__number_literal] = ACTIONS(2071), + [anon_sym_L_SQUOTE] = ACTIONS(2074), + [anon_sym_u_SQUOTE] = ACTIONS(2074), + [anon_sym_U_SQUOTE] = ACTIONS(2074), + [anon_sym_u8_SQUOTE] = ACTIONS(2074), + [anon_sym_SQUOTE] = ACTIONS(2074), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2080), + [sym_false] = ACTIONS(2080), + [anon_sym_NULL] = ACTIONS(2083), + [anon_sym_nullptr] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2086), + [anon_sym_decltype] = ACTIONS(2089), + [anon_sym_template] = ACTIONS(2092), + [anon_sym_try] = ACTIONS(2358), + [anon_sym_delete] = ACTIONS(2098), + [anon_sym_throw] = ACTIONS(2361), + [anon_sym_co_return] = ACTIONS(2364), + [anon_sym_co_yield] = ACTIONS(2367), + [anon_sym_R_DQUOTE] = ACTIONS(2110), + [anon_sym_LR_DQUOTE] = ACTIONS(2110), + [anon_sym_uR_DQUOTE] = ACTIONS(2110), + [anon_sym_UR_DQUOTE] = ACTIONS(2110), + [anon_sym_u8R_DQUOTE] = ACTIONS(2110), + [anon_sym_co_await] = ACTIONS(2113), + [anon_sym_new] = ACTIONS(2116), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2080), + }, + [182] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(868), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [183] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(522), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [184] = { + [sym_attribute_declaration] = STATE(139), + [sym_compound_statement] = STATE(427), + [sym_attributed_statement] = STATE(427), + [sym_statement] = STATE(420), + [sym_labeled_statement] = STATE(427), + [sym_expression_statement] = STATE(427), + [sym_if_statement] = STATE(427), + [sym_switch_statement] = STATE(427), + [sym_case_statement] = STATE(427), + [sym_while_statement] = STATE(427), + [sym_do_statement] = STATE(427), + [sym_for_statement] = STATE(427), + [sym_return_statement] = STATE(427), + [sym_break_statement] = STATE(427), + [sym_continue_statement] = STATE(427), + [sym_goto_statement] = STATE(427), + [sym_seh_try_statement] = STATE(427), + [sym_seh_leave_statement] = STATE(427), + [sym_expression] = STATE(4503), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1910), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(427), + [sym_co_return_statement] = STATE(427), + [sym_co_yield_statement] = STATE(427), + [sym_throw_statement] = STATE(427), + [sym_try_statement] = STATE(427), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(139), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(173), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1975), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(1977), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1979), + [anon_sym___leave] = ACTIONS(213), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [185] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(414), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [186] = { + [sym_attribute_declaration] = STATE(158), + [sym_compound_statement] = STATE(449), + [sym_attributed_statement] = STATE(449), + [sym_statement] = STATE(420), + [sym_labeled_statement] = STATE(449), + [sym_expression_statement] = STATE(449), + [sym_if_statement] = STATE(449), + [sym_switch_statement] = STATE(449), + [sym_case_statement] = STATE(449), + [sym_while_statement] = STATE(449), + [sym_do_statement] = STATE(449), + [sym_for_statement] = STATE(449), + [sym_return_statement] = STATE(449), + [sym_break_statement] = STATE(449), + [sym_continue_statement] = STATE(449), + [sym_goto_statement] = STATE(449), + [sym_seh_try_statement] = STATE(449), + [sym_seh_leave_statement] = STATE(449), + [sym_expression] = STATE(4483), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8331), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1937), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(449), + [sym_co_return_statement] = STATE(449), + [sym_co_yield_statement] = STATE(449), + [sym_throw_statement] = STATE(449), + [sym_try_statement] = STATE(449), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(158), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1421), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(75), + [anon_sym_switch] = ACTIONS(77), + [anon_sym_case] = ACTIONS(79), + [anon_sym_default] = ACTIONS(81), + [anon_sym_while] = ACTIONS(83), + [anon_sym_do] = ACTIONS(85), + [anon_sym_for] = ACTIONS(87), + [anon_sym_return] = ACTIONS(89), + [anon_sym_break] = ACTIONS(91), + [anon_sym_continue] = ACTIONS(93), + [anon_sym_goto] = ACTIONS(95), + [anon_sym___try] = ACTIONS(1423), + [anon_sym___leave] = ACTIONS(1425), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(135), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(139), + [anon_sym_co_return] = ACTIONS(149), + [anon_sym_co_yield] = ACTIONS(151), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [187] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(869), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [188] = { + [sym_attribute_declaration] = STATE(140), + [sym_compound_statement] = STATE(885), + [sym_attributed_statement] = STATE(885), + [sym_statement] = STATE(854), + [sym_labeled_statement] = STATE(885), + [sym_expression_statement] = STATE(885), + [sym_if_statement] = STATE(885), + [sym_switch_statement] = STATE(885), + [sym_case_statement] = STATE(885), + [sym_while_statement] = STATE(885), + [sym_do_statement] = STATE(885), + [sym_for_statement] = STATE(885), + [sym_return_statement] = STATE(885), + [sym_break_statement] = STATE(885), + [sym_continue_statement] = STATE(885), + [sym_goto_statement] = STATE(885), + [sym_seh_try_statement] = STATE(885), + [sym_seh_leave_statement] = STATE(885), + [sym_expression] = STATE(4558), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7852), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1940), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(885), + [sym_co_return_statement] = STATE(885), + [sym_co_yield_statement] = STATE(885), + [sym_throw_statement] = STATE(885), + [sym_try_statement] = STATE(885), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(140), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(1598), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(1604), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(1606), + [anon_sym_switch] = ACTIONS(1608), + [anon_sym_case] = ACTIONS(1971), + [anon_sym_default] = ACTIONS(1973), + [anon_sym_while] = ACTIONS(1610), + [anon_sym_do] = ACTIONS(1612), + [anon_sym_for] = ACTIONS(1614), + [anon_sym_return] = ACTIONS(1616), + [anon_sym_break] = ACTIONS(1618), + [anon_sym_continue] = ACTIONS(1620), + [anon_sym_goto] = ACTIONS(1622), + [anon_sym___try] = ACTIONS(1624), + [anon_sym___leave] = ACTIONS(1626), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(1628), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(1630), + [anon_sym_co_return] = ACTIONS(1632), + [anon_sym_co_yield] = ACTIONS(1634), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [189] = { + [sym_attribute_declaration] = STATE(164), + [sym_compound_statement] = STATE(271), + [sym_attributed_statement] = STATE(271), + [sym_statement] = STATE(277), + [sym_labeled_statement] = STATE(271), + [sym_expression_statement] = STATE(271), + [sym_if_statement] = STATE(271), + [sym_switch_statement] = STATE(271), + [sym_case_statement] = STATE(271), + [sym_while_statement] = STATE(271), + [sym_do_statement] = STATE(271), + [sym_for_statement] = STATE(271), + [sym_return_statement] = STATE(271), + [sym_break_statement] = STATE(271), + [sym_continue_statement] = STATE(271), + [sym_goto_statement] = STATE(271), + [sym_seh_try_statement] = STATE(271), + [sym_seh_leave_statement] = STATE(271), + [sym_expression] = STATE(4544), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8050), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1927), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_for_range_loop] = STATE(271), + [sym_co_return_statement] = STATE(271), + [sym_co_yield_statement] = STATE(271), + [sym_throw_statement] = STATE(271), + [sym_try_statement] = STATE(271), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_attributed_declarator_repeat1] = STATE(164), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(275), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1399), + [anon_sym_LBRACE] = ACTIONS(283), + [anon_sym_LBRACK] = ACTIONS(1401), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_if] = ACTIONS(287), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(291), + [anon_sym_default] = ACTIONS(293), + [anon_sym_while] = ACTIONS(295), + [anon_sym_do] = ACTIONS(297), + [anon_sym_for] = ACTIONS(299), + [anon_sym_return] = ACTIONS(301), + [anon_sym_break] = ACTIONS(303), + [anon_sym_continue] = ACTIONS(305), + [anon_sym_goto] = ACTIONS(307), + [anon_sym___try] = ACTIONS(309), + [anon_sym___leave] = ACTIONS(311), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_try] = ACTIONS(315), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_throw] = ACTIONS(317), + [anon_sym_co_return] = ACTIONS(327), + [anon_sym_co_yield] = ACTIONS(329), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [190] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8344), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [191] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8361), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [192] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7879), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [193] = { + [sym_expression] = STATE(3273), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(2376), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_COLON] = ACTIONS(1869), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [194] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(2390), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_RBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [195] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2894), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(8528), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8000), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8259), + [sym__unary_right_fold] = STATE(8256), + [sym__binary_fold] = STATE(8255), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(8543), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [196] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8013), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [197] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7873), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [198] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8129), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [199] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7947), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [200] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7869), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [201] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8137), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [202] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2929), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7855), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7957), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8299), + [sym__unary_right_fold] = STATE(8296), + [sym__binary_fold] = STATE(8294), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7986), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [203] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8061), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [204] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8476), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [205] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2929), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7855), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7921), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8299), + [sym__unary_right_fold] = STATE(8296), + [sym__binary_fold] = STATE(8294), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7986), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [206] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8202), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [207] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2894), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(8528), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8529), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8533), + [sym__unary_right_fold] = STATE(8539), + [sym__binary_fold] = STATE(8541), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(8543), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [208] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8175), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [209] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8010), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [210] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2929), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7855), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8493), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8146), + [sym__unary_right_fold] = STATE(8147), + [sym__binary_fold] = STATE(8149), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7986), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [211] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8327), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [212] = { + [ts_builtin_sym_end] = ACTIONS(2402), + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2402), + [anon_sym_RPAREN] = ACTIONS(2402), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_PIPE_PIPE] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_EQ] = ACTIONS(2402), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_else] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___except] = ACTIONS(2404), + [anon_sym___finally] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_or] = ACTIONS(2404), + [anon_sym_and] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [anon_sym_final] = ACTIONS(2404), + [anon_sym_override] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_GT2] = ACTIONS(2402), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [213] = { + [sym_expression] = STATE(3293), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_initializer_list] = STATE(3722), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(2408), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1869), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACE] = ACTIONS(2414), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1869), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_and_eq] = ACTIONS(1869), + [anon_sym_or_eq] = ACTIONS(1869), + [anon_sym_xor_eq] = ACTIONS(1869), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(1871), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [214] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2929), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7855), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8145), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8146), + [sym__unary_right_fold] = STATE(8147), + [sym__binary_fold] = STATE(8149), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7986), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [215] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8375), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [216] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8303), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [217] = { + [ts_builtin_sym_end] = ACTIONS(2450), + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_include_token1] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [anon_sym_COMMA] = ACTIONS(2450), + [anon_sym_RPAREN] = ACTIONS(2450), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_BANG] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_DASH] = ACTIONS(2452), + [anon_sym_PLUS] = ACTIONS(2452), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_PIPE_PIPE] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym_SEMI] = ACTIONS(2450), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym___cdecl] = ACTIONS(2452), + [anon_sym___clrcall] = ACTIONS(2452), + [anon_sym___stdcall] = ACTIONS(2452), + [anon_sym___fastcall] = ACTIONS(2452), + [anon_sym___thiscall] = ACTIONS(2452), + [anon_sym___vectorcall] = ACTIONS(2452), + [anon_sym_LBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_EQ] = ACTIONS(2450), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_if] = ACTIONS(2452), + [anon_sym_else] = ACTIONS(2452), + [anon_sym_switch] = ACTIONS(2452), + [anon_sym_case] = ACTIONS(2452), + [anon_sym_default] = ACTIONS(2452), + [anon_sym_while] = ACTIONS(2452), + [anon_sym_do] = ACTIONS(2452), + [anon_sym_for] = ACTIONS(2452), + [anon_sym_return] = ACTIONS(2452), + [anon_sym_break] = ACTIONS(2452), + [anon_sym_continue] = ACTIONS(2452), + [anon_sym_goto] = ACTIONS(2452), + [anon_sym___try] = ACTIONS(2452), + [anon_sym___except] = ACTIONS(2452), + [anon_sym___finally] = ACTIONS(2452), + [anon_sym___leave] = ACTIONS(2452), + [anon_sym_not] = ACTIONS(2452), + [anon_sym_compl] = ACTIONS(2452), + [anon_sym_or] = ACTIONS(2452), + [anon_sym_and] = ACTIONS(2452), + [anon_sym_DASH_DASH] = ACTIONS(2450), + [anon_sym_PLUS_PLUS] = ACTIONS(2450), + [anon_sym_sizeof] = ACTIONS(2452), + [anon_sym___alignof__] = ACTIONS(2452), + [anon_sym___alignof] = ACTIONS(2452), + [anon_sym__alignof] = ACTIONS(2452), + [anon_sym_alignof] = ACTIONS(2452), + [anon_sym__Alignof] = ACTIONS(2452), + [anon_sym_offsetof] = ACTIONS(2452), + [anon_sym__Generic] = ACTIONS(2452), + [anon_sym_asm] = ACTIONS(2452), + [anon_sym___asm__] = ACTIONS(2452), + [sym__number_literal] = ACTIONS(2450), + [anon_sym_L_SQUOTE] = ACTIONS(2450), + [anon_sym_u_SQUOTE] = ACTIONS(2450), + [anon_sym_U_SQUOTE] = ACTIONS(2450), + [anon_sym_u8_SQUOTE] = ACTIONS(2450), + [anon_sym_SQUOTE] = ACTIONS(2450), + [anon_sym_L_DQUOTE] = ACTIONS(2450), + [anon_sym_u_DQUOTE] = ACTIONS(2450), + [anon_sym_U_DQUOTE] = ACTIONS(2450), + [anon_sym_u8_DQUOTE] = ACTIONS(2450), + [anon_sym_DQUOTE] = ACTIONS(2450), + [sym_true] = ACTIONS(2452), + [sym_false] = ACTIONS(2452), + [anon_sym_NULL] = ACTIONS(2452), + [anon_sym_nullptr] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [anon_sym_final] = ACTIONS(2452), + [anon_sym_override] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_GT2] = ACTIONS(2450), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_try] = ACTIONS(2452), + [anon_sym_delete] = ACTIONS(2452), + [anon_sym_throw] = ACTIONS(2452), + [anon_sym_namespace] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_concept] = ACTIONS(2452), + [anon_sym_co_return] = ACTIONS(2452), + [anon_sym_co_yield] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + [anon_sym_R_DQUOTE] = ACTIONS(2450), + [anon_sym_LR_DQUOTE] = ACTIONS(2450), + [anon_sym_uR_DQUOTE] = ACTIONS(2450), + [anon_sym_UR_DQUOTE] = ACTIONS(2450), + [anon_sym_u8R_DQUOTE] = ACTIONS(2450), + [anon_sym_co_await] = ACTIONS(2452), + [anon_sym_new] = ACTIONS(2452), + [anon_sym_requires] = ACTIONS(2452), + [sym_this] = ACTIONS(2452), + }, + [218] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7937), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [219] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8238), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [220] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8566), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [221] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2894), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(8528), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8260), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8259), + [sym__unary_right_fold] = STATE(8256), + [sym__binary_fold] = STATE(8255), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(8543), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [222] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8342), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [223] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2893), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(8110), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [224] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(2894), + [sym__string] = STATE(3435), + [sym_comma_expression] = STATE(8528), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_type_descriptor] = STATE(7813), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1577), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7523), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym__unary_left_fold] = STATE(8533), + [sym__unary_right_fold] = STATE(8539), + [sym__binary_fold] = STATE(8541), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5558), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(5296), + [sym__assignment_expression_lhs] = STATE(8543), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(1745), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2374), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [225] = { + [sym_expression] = STATE(3617), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_initializer_list] = STATE(3852), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_RPAREN] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1803), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1869), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1869), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1869), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1869), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACE] = ACTIONS(2454), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_EQ] = ACTIONS(1869), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_STAR_EQ] = ACTIONS(1871), + [anon_sym_SLASH_EQ] = ACTIONS(1871), + [anon_sym_PERCENT_EQ] = ACTIONS(1871), + [anon_sym_PLUS_EQ] = ACTIONS(1871), + [anon_sym_DASH_EQ] = ACTIONS(1871), + [anon_sym_LT_LT_EQ] = ACTIONS(1871), + [anon_sym_GT_GT_EQ] = ACTIONS(1871), + [anon_sym_AMP_EQ] = ACTIONS(1871), + [anon_sym_CARET_EQ] = ACTIONS(1871), + [anon_sym_PIPE_EQ] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1869), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [anon_sym_DASH_GT_STAR] = ACTIONS(1871), + [sym_this] = ACTIONS(1837), + }, + [226] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4332), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6983), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7097), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2512), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [227] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4409), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6928), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7213), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2524), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [228] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4291), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6897), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7230), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2526), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [229] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4378), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6856), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7315), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2528), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [230] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4298), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6767), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7472), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2530), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [231] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4385), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6800), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7216), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2532), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [232] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4351), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6949), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7173), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2534), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [233] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4333), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6952), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7037), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2536), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [234] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4326), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6971), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7030), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2538), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [235] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4340), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(7013), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7043), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2540), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [236] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4334), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(7022), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7047), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2542), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [237] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4348), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6864), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7304), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2544), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [238] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4320), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6958), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7153), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2546), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [239] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4290), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6896), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7233), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2548), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [240] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4337), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(7005), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7064), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2550), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [241] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4294), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6918), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7207), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2552), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [242] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4311), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(6943), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7180), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(2554), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [243] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(2854), + [sym__declarator] = STATE(6412), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_type_qualifier] = STATE(3889), + [sym_alignas_qualifier] = STATE(4460), + [sym_expression] = STATE(3127), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1760), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3226), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5539), + [sym_qualified_identifier] = STATE(3222), + [sym_qualified_type_identifier] = STATE(7523), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [aux_sym__type_definition_type_repeat1] = STATE(3889), + [aux_sym_pointer_declarator_repeat1] = STATE(2854), + [sym__identifier] = ACTIONS(1721), + [anon_sym_LPAREN2] = ACTIONS(1725), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1729), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1733), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1735), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(1743), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2564), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [244] = { + [sym_catch_clause] = STATE(245), + [aux_sym_constructor_try_statement_repeat1] = STATE(245), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_include_token1] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token2] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [aux_sym_preproc_else_token1] = ACTIONS(2566), + [aux_sym_preproc_elif_token1] = ACTIONS(2566), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_BANG] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_DASH] = ACTIONS(2566), + [anon_sym_PLUS] = ACTIONS(2566), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym_SEMI] = ACTIONS(2568), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym___cdecl] = ACTIONS(2566), + [anon_sym___clrcall] = ACTIONS(2566), + [anon_sym___stdcall] = ACTIONS(2566), + [anon_sym___fastcall] = ACTIONS(2566), + [anon_sym___thiscall] = ACTIONS(2566), + [anon_sym___vectorcall] = ACTIONS(2566), + [anon_sym_LBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [anon_sym_if] = ACTIONS(2566), + [anon_sym_else] = ACTIONS(2566), + [anon_sym_switch] = ACTIONS(2566), + [anon_sym_case] = ACTIONS(2566), + [anon_sym_default] = ACTIONS(2566), + [anon_sym_while] = ACTIONS(2566), + [anon_sym_do] = ACTIONS(2566), + [anon_sym_for] = ACTIONS(2566), + [anon_sym_return] = ACTIONS(2566), + [anon_sym_break] = ACTIONS(2566), + [anon_sym_continue] = ACTIONS(2566), + [anon_sym_goto] = ACTIONS(2566), + [anon_sym___try] = ACTIONS(2566), + [anon_sym___leave] = ACTIONS(2566), + [anon_sym_not] = ACTIONS(2566), + [anon_sym_compl] = ACTIONS(2566), + [anon_sym_DASH_DASH] = ACTIONS(2568), + [anon_sym_PLUS_PLUS] = ACTIONS(2568), + [anon_sym_sizeof] = ACTIONS(2566), + [anon_sym___alignof__] = ACTIONS(2566), + [anon_sym___alignof] = ACTIONS(2566), + [anon_sym__alignof] = ACTIONS(2566), + [anon_sym_alignof] = ACTIONS(2566), + [anon_sym__Alignof] = ACTIONS(2566), + [anon_sym_offsetof] = ACTIONS(2566), + [anon_sym__Generic] = ACTIONS(2566), + [anon_sym_asm] = ACTIONS(2566), + [anon_sym___asm__] = ACTIONS(2566), + [sym__number_literal] = ACTIONS(2568), + [anon_sym_L_SQUOTE] = ACTIONS(2568), + [anon_sym_u_SQUOTE] = ACTIONS(2568), + [anon_sym_U_SQUOTE] = ACTIONS(2568), + [anon_sym_u8_SQUOTE] = ACTIONS(2568), + [anon_sym_SQUOTE] = ACTIONS(2568), + [anon_sym_L_DQUOTE] = ACTIONS(2568), + [anon_sym_u_DQUOTE] = ACTIONS(2568), + [anon_sym_U_DQUOTE] = ACTIONS(2568), + [anon_sym_u8_DQUOTE] = ACTIONS(2568), + [anon_sym_DQUOTE] = ACTIONS(2568), + [sym_true] = ACTIONS(2566), + [sym_false] = ACTIONS(2566), + [anon_sym_NULL] = ACTIONS(2566), + [anon_sym_nullptr] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_try] = ACTIONS(2566), + [anon_sym_delete] = ACTIONS(2566), + [anon_sym_throw] = ACTIONS(2566), + [anon_sym_namespace] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_concept] = ACTIONS(2566), + [anon_sym_co_return] = ACTIONS(2566), + [anon_sym_co_yield] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(2570), + [anon_sym_R_DQUOTE] = ACTIONS(2568), + [anon_sym_LR_DQUOTE] = ACTIONS(2568), + [anon_sym_uR_DQUOTE] = ACTIONS(2568), + [anon_sym_UR_DQUOTE] = ACTIONS(2568), + [anon_sym_u8R_DQUOTE] = ACTIONS(2568), + [anon_sym_co_await] = ACTIONS(2566), + [anon_sym_new] = ACTIONS(2566), + [anon_sym_requires] = ACTIONS(2566), + [sym_this] = ACTIONS(2566), + }, + [245] = { + [sym_catch_clause] = STATE(245), + [aux_sym_constructor_try_statement_repeat1] = STATE(245), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_include_token1] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token2] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [aux_sym_preproc_else_token1] = ACTIONS(2572), + [aux_sym_preproc_elif_token1] = ACTIONS(2572), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_BANG] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_DASH] = ACTIONS(2572), + [anon_sym_PLUS] = ACTIONS(2572), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym_SEMI] = ACTIONS(2574), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym___cdecl] = ACTIONS(2572), + [anon_sym___clrcall] = ACTIONS(2572), + [anon_sym___stdcall] = ACTIONS(2572), + [anon_sym___fastcall] = ACTIONS(2572), + [anon_sym___thiscall] = ACTIONS(2572), + [anon_sym___vectorcall] = ACTIONS(2572), + [anon_sym_LBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [anon_sym_if] = ACTIONS(2572), + [anon_sym_else] = ACTIONS(2572), + [anon_sym_switch] = ACTIONS(2572), + [anon_sym_case] = ACTIONS(2572), + [anon_sym_default] = ACTIONS(2572), + [anon_sym_while] = ACTIONS(2572), + [anon_sym_do] = ACTIONS(2572), + [anon_sym_for] = ACTIONS(2572), + [anon_sym_return] = ACTIONS(2572), + [anon_sym_break] = ACTIONS(2572), + [anon_sym_continue] = ACTIONS(2572), + [anon_sym_goto] = ACTIONS(2572), + [anon_sym___try] = ACTIONS(2572), + [anon_sym___leave] = ACTIONS(2572), + [anon_sym_not] = ACTIONS(2572), + [anon_sym_compl] = ACTIONS(2572), + [anon_sym_DASH_DASH] = ACTIONS(2574), + [anon_sym_PLUS_PLUS] = ACTIONS(2574), + [anon_sym_sizeof] = ACTIONS(2572), + [anon_sym___alignof__] = ACTIONS(2572), + [anon_sym___alignof] = ACTIONS(2572), + [anon_sym__alignof] = ACTIONS(2572), + [anon_sym_alignof] = ACTIONS(2572), + [anon_sym__Alignof] = ACTIONS(2572), + [anon_sym_offsetof] = ACTIONS(2572), + [anon_sym__Generic] = ACTIONS(2572), + [anon_sym_asm] = ACTIONS(2572), + [anon_sym___asm__] = ACTIONS(2572), + [sym__number_literal] = ACTIONS(2574), + [anon_sym_L_SQUOTE] = ACTIONS(2574), + [anon_sym_u_SQUOTE] = ACTIONS(2574), + [anon_sym_U_SQUOTE] = ACTIONS(2574), + [anon_sym_u8_SQUOTE] = ACTIONS(2574), + [anon_sym_SQUOTE] = ACTIONS(2574), + [anon_sym_L_DQUOTE] = ACTIONS(2574), + [anon_sym_u_DQUOTE] = ACTIONS(2574), + [anon_sym_U_DQUOTE] = ACTIONS(2574), + [anon_sym_u8_DQUOTE] = ACTIONS(2574), + [anon_sym_DQUOTE] = ACTIONS(2574), + [sym_true] = ACTIONS(2572), + [sym_false] = ACTIONS(2572), + [anon_sym_NULL] = ACTIONS(2572), + [anon_sym_nullptr] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_try] = ACTIONS(2572), + [anon_sym_delete] = ACTIONS(2572), + [anon_sym_throw] = ACTIONS(2572), + [anon_sym_namespace] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_concept] = ACTIONS(2572), + [anon_sym_co_return] = ACTIONS(2572), + [anon_sym_co_yield] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(2576), + [anon_sym_R_DQUOTE] = ACTIONS(2574), + [anon_sym_LR_DQUOTE] = ACTIONS(2574), + [anon_sym_uR_DQUOTE] = ACTIONS(2574), + [anon_sym_UR_DQUOTE] = ACTIONS(2574), + [anon_sym_u8R_DQUOTE] = ACTIONS(2574), + [anon_sym_co_await] = ACTIONS(2572), + [anon_sym_new] = ACTIONS(2572), + [anon_sym_requires] = ACTIONS(2572), + [sym_this] = ACTIONS(2572), + }, + [246] = { + [sym_type_qualifier] = STATE(3800), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4763), + [sym_sized_type_specifier] = STATE(2868), + [sym_enum_specifier] = STATE(2868), + [sym_struct_specifier] = STATE(2868), + [sym_union_specifier] = STATE(2868), + [sym_expression] = STATE(4578), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_type_descriptor] = STATE(7331), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1583), + [sym_placeholder_type_specifier] = STATE(2868), + [sym_decltype_auto] = STATE(2876), + [sym_decltype] = STATE(2711), + [sym_class_specifier] = STATE(2868), + [sym__class_name] = STATE(7662), + [sym_dependent_type] = STATE(2868), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_type_parameter_pack_expansion] = STATE(7659), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5574), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [aux_sym__type_definition_type_repeat1] = STATE(3800), + [aux_sym_sized_type_specifier_repeat1] = STATE(1969), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_signed] = ACTIONS(2470), + [anon_sym_unsigned] = ACTIONS(2470), + [anon_sym_long] = ACTIONS(2470), + [anon_sym_short] = ACTIONS(2470), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2472), + [anon_sym_enum] = ACTIONS(2474), + [anon_sym_class] = ACTIONS(2476), + [anon_sym_struct] = ACTIONS(2478), + [anon_sym_union] = ACTIONS(2480), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2504), + [sym_auto] = ACTIONS(2506), + [anon_sym_decltype] = ACTIONS(2508), + [anon_sym_typename] = ACTIONS(2510), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [247] = { + [sym_expression] = STATE(4510), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8094), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(2579), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(2582), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2586), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2591), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2594), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2597), + [sym_virtual] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2600), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [248] = { + [sym_expression] = STATE(4569), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8313), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(2603), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(2606), + [anon_sym___extension__] = ACTIONS(2608), + [anon_sym_extern] = ACTIONS(2608), + [anon_sym___attribute__] = ACTIONS(2608), + [anon_sym_COLON_COLON] = ACTIONS(2610), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2613), + [anon_sym___declspec] = ACTIONS(2608), + [anon_sym_signed] = ACTIONS(2608), + [anon_sym_unsigned] = ACTIONS(2608), + [anon_sym_long] = ACTIONS(2608), + [anon_sym_short] = ACTIONS(2608), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(2608), + [anon_sym_register] = ACTIONS(2608), + [anon_sym_inline] = ACTIONS(2608), + [anon_sym___inline] = ACTIONS(2608), + [anon_sym___inline__] = ACTIONS(2608), + [anon_sym___forceinline] = ACTIONS(2608), + [anon_sym_thread_local] = ACTIONS(2608), + [anon_sym___thread] = ACTIONS(2608), + [anon_sym_const] = ACTIONS(2608), + [anon_sym_constexpr] = ACTIONS(2608), + [anon_sym_volatile] = ACTIONS(2608), + [anon_sym_restrict] = ACTIONS(2608), + [anon_sym___restrict__] = ACTIONS(2608), + [anon_sym__Atomic] = ACTIONS(2608), + [anon_sym__Noreturn] = ACTIONS(2608), + [anon_sym_noreturn] = ACTIONS(2608), + [anon_sym_mutable] = ACTIONS(2608), + [anon_sym_constinit] = ACTIONS(2608), + [anon_sym_consteval] = ACTIONS(2608), + [anon_sym_alignas] = ACTIONS(2608), + [anon_sym__Alignas] = ACTIONS(2608), + [sym_primitive_type] = ACTIONS(2615), + [anon_sym_enum] = ACTIONS(2608), + [anon_sym_class] = ACTIONS(2608), + [anon_sym_struct] = ACTIONS(2608), + [anon_sym_union] = ACTIONS(2608), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2618), + [sym_auto] = ACTIONS(2608), + [anon_sym_decltype] = ACTIONS(2621), + [sym_virtual] = ACTIONS(2608), + [anon_sym_typename] = ACTIONS(2608), + [anon_sym_template] = ACTIONS(2624), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [249] = { + [sym_expression] = STATE(4536), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8278), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(2627), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(2630), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2634), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2639), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2642), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2645), + [sym_virtual] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2648), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [250] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(2854), + [sym__declarator] = STATE(6412), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_type_qualifier] = STATE(3889), + [sym_alignas_qualifier] = STATE(4460), + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1823), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3291), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5542), + [sym_qualified_identifier] = STATE(3296), + [sym_qualified_type_identifier] = STATE(7795), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3889), + [aux_sym_pointer_declarator_repeat1] = STATE(2854), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(2651), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(2653), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(1743), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2657), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [251] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4659), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(8108), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [252] = { + [sym_catch_clause] = STATE(245), + [aux_sym_constructor_try_statement_repeat1] = STATE(245), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_include_token1] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token2] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [aux_sym_preproc_else_token1] = ACTIONS(2663), + [aux_sym_preproc_elif_token1] = ACTIONS(2663), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_BANG] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_DASH] = ACTIONS(2663), + [anon_sym_PLUS] = ACTIONS(2663), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym_SEMI] = ACTIONS(2665), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym___cdecl] = ACTIONS(2663), + [anon_sym___clrcall] = ACTIONS(2663), + [anon_sym___stdcall] = ACTIONS(2663), + [anon_sym___fastcall] = ACTIONS(2663), + [anon_sym___thiscall] = ACTIONS(2663), + [anon_sym___vectorcall] = ACTIONS(2663), + [anon_sym_LBRACE] = ACTIONS(2665), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [anon_sym_if] = ACTIONS(2663), + [anon_sym_switch] = ACTIONS(2663), + [anon_sym_case] = ACTIONS(2663), + [anon_sym_default] = ACTIONS(2663), + [anon_sym_while] = ACTIONS(2663), + [anon_sym_do] = ACTIONS(2663), + [anon_sym_for] = ACTIONS(2663), + [anon_sym_return] = ACTIONS(2663), + [anon_sym_break] = ACTIONS(2663), + [anon_sym_continue] = ACTIONS(2663), + [anon_sym_goto] = ACTIONS(2663), + [anon_sym___try] = ACTIONS(2663), + [anon_sym___leave] = ACTIONS(2663), + [anon_sym_not] = ACTIONS(2663), + [anon_sym_compl] = ACTIONS(2663), + [anon_sym_DASH_DASH] = ACTIONS(2665), + [anon_sym_PLUS_PLUS] = ACTIONS(2665), + [anon_sym_sizeof] = ACTIONS(2663), + [anon_sym___alignof__] = ACTIONS(2663), + [anon_sym___alignof] = ACTIONS(2663), + [anon_sym__alignof] = ACTIONS(2663), + [anon_sym_alignof] = ACTIONS(2663), + [anon_sym__Alignof] = ACTIONS(2663), + [anon_sym_offsetof] = ACTIONS(2663), + [anon_sym__Generic] = ACTIONS(2663), + [anon_sym_asm] = ACTIONS(2663), + [anon_sym___asm__] = ACTIONS(2663), + [sym__number_literal] = ACTIONS(2665), + [anon_sym_L_SQUOTE] = ACTIONS(2665), + [anon_sym_u_SQUOTE] = ACTIONS(2665), + [anon_sym_U_SQUOTE] = ACTIONS(2665), + [anon_sym_u8_SQUOTE] = ACTIONS(2665), + [anon_sym_SQUOTE] = ACTIONS(2665), + [anon_sym_L_DQUOTE] = ACTIONS(2665), + [anon_sym_u_DQUOTE] = ACTIONS(2665), + [anon_sym_U_DQUOTE] = ACTIONS(2665), + [anon_sym_u8_DQUOTE] = ACTIONS(2665), + [anon_sym_DQUOTE] = ACTIONS(2665), + [sym_true] = ACTIONS(2663), + [sym_false] = ACTIONS(2663), + [anon_sym_NULL] = ACTIONS(2663), + [anon_sym_nullptr] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_try] = ACTIONS(2663), + [anon_sym_delete] = ACTIONS(2663), + [anon_sym_throw] = ACTIONS(2663), + [anon_sym_namespace] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_concept] = ACTIONS(2663), + [anon_sym_co_return] = ACTIONS(2663), + [anon_sym_co_yield] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(2570), + [anon_sym_R_DQUOTE] = ACTIONS(2665), + [anon_sym_LR_DQUOTE] = ACTIONS(2665), + [anon_sym_uR_DQUOTE] = ACTIONS(2665), + [anon_sym_UR_DQUOTE] = ACTIONS(2665), + [anon_sym_u8R_DQUOTE] = ACTIONS(2665), + [anon_sym_co_await] = ACTIONS(2663), + [anon_sym_new] = ACTIONS(2663), + [anon_sym_requires] = ACTIONS(2663), + [sym_this] = ACTIONS(2663), + }, + [253] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4596), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(8095), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [254] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4655), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(7972), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [255] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4709), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(8012), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [256] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4631), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(7904), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [257] = { + [sym_type_qualifier] = STATE(3790), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4797), + [sym_sized_type_specifier] = STATE(1761), + [sym_enum_specifier] = STATE(1761), + [sym_struct_specifier] = STATE(1761), + [sym_union_specifier] = STATE(1761), + [sym_expression] = STATE(4619), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_type_descriptor] = STATE(8399), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1592), + [sym_placeholder_type_specifier] = STATE(1761), + [sym_decltype_auto] = STATE(1767), + [sym_decltype] = STATE(1732), + [sym_class_specifier] = STATE(1761), + [sym__class_name] = STATE(7676), + [sym_dependent_type] = STATE(1761), + [sym_template_type] = STATE(5291), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5589), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(5296), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [aux_sym__type_definition_type_repeat1] = STATE(3790), + [aux_sym_sized_type_specifier_repeat1] = STATE(1743), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_signed] = ACTIONS(1741), + [anon_sym_unsigned] = ACTIONS(1741), + [anon_sym_long] = ACTIONS(1741), + [anon_sym_short] = ACTIONS(1741), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(1747), + [anon_sym_class] = ACTIONS(1749), + [anon_sym_struct] = ACTIONS(1751), + [anon_sym_union] = ACTIONS(1753), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2661), + [sym_auto] = ACTIONS(1779), + [anon_sym_decltype] = ACTIONS(1781), + [anon_sym_typename] = ACTIONS(1783), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [258] = { + [sym_catch_clause] = STATE(245), + [aux_sym_constructor_try_statement_repeat1] = STATE(245), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_include_token1] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token2] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [aux_sym_preproc_else_token1] = ACTIONS(2667), + [aux_sym_preproc_elif_token1] = ACTIONS(2667), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_BANG] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_DASH] = ACTIONS(2667), + [anon_sym_PLUS] = ACTIONS(2667), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym_SEMI] = ACTIONS(2669), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym___cdecl] = ACTIONS(2667), + [anon_sym___clrcall] = ACTIONS(2667), + [anon_sym___stdcall] = ACTIONS(2667), + [anon_sym___fastcall] = ACTIONS(2667), + [anon_sym___thiscall] = ACTIONS(2667), + [anon_sym___vectorcall] = ACTIONS(2667), + [anon_sym_LBRACE] = ACTIONS(2669), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [anon_sym_if] = ACTIONS(2667), + [anon_sym_switch] = ACTIONS(2667), + [anon_sym_case] = ACTIONS(2667), + [anon_sym_default] = ACTIONS(2667), + [anon_sym_while] = ACTIONS(2667), + [anon_sym_do] = ACTIONS(2667), + [anon_sym_for] = ACTIONS(2667), + [anon_sym_return] = ACTIONS(2667), + [anon_sym_break] = ACTIONS(2667), + [anon_sym_continue] = ACTIONS(2667), + [anon_sym_goto] = ACTIONS(2667), + [anon_sym___try] = ACTIONS(2667), + [anon_sym___leave] = ACTIONS(2667), + [anon_sym_not] = ACTIONS(2667), + [anon_sym_compl] = ACTIONS(2667), + [anon_sym_DASH_DASH] = ACTIONS(2669), + [anon_sym_PLUS_PLUS] = ACTIONS(2669), + [anon_sym_sizeof] = ACTIONS(2667), + [anon_sym___alignof__] = ACTIONS(2667), + [anon_sym___alignof] = ACTIONS(2667), + [anon_sym__alignof] = ACTIONS(2667), + [anon_sym_alignof] = ACTIONS(2667), + [anon_sym__Alignof] = ACTIONS(2667), + [anon_sym_offsetof] = ACTIONS(2667), + [anon_sym__Generic] = ACTIONS(2667), + [anon_sym_asm] = ACTIONS(2667), + [anon_sym___asm__] = ACTIONS(2667), + [sym__number_literal] = ACTIONS(2669), + [anon_sym_L_SQUOTE] = ACTIONS(2669), + [anon_sym_u_SQUOTE] = ACTIONS(2669), + [anon_sym_U_SQUOTE] = ACTIONS(2669), + [anon_sym_u8_SQUOTE] = ACTIONS(2669), + [anon_sym_SQUOTE] = ACTIONS(2669), + [anon_sym_L_DQUOTE] = ACTIONS(2669), + [anon_sym_u_DQUOTE] = ACTIONS(2669), + [anon_sym_U_DQUOTE] = ACTIONS(2669), + [anon_sym_u8_DQUOTE] = ACTIONS(2669), + [anon_sym_DQUOTE] = ACTIONS(2669), + [sym_true] = ACTIONS(2667), + [sym_false] = ACTIONS(2667), + [anon_sym_NULL] = ACTIONS(2667), + [anon_sym_nullptr] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_try] = ACTIONS(2667), + [anon_sym_delete] = ACTIONS(2667), + [anon_sym_throw] = ACTIONS(2667), + [anon_sym_namespace] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_concept] = ACTIONS(2667), + [anon_sym_co_return] = ACTIONS(2667), + [anon_sym_co_yield] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(2570), + [anon_sym_R_DQUOTE] = ACTIONS(2669), + [anon_sym_LR_DQUOTE] = ACTIONS(2669), + [anon_sym_uR_DQUOTE] = ACTIONS(2669), + [anon_sym_UR_DQUOTE] = ACTIONS(2669), + [anon_sym_u8R_DQUOTE] = ACTIONS(2669), + [anon_sym_co_await] = ACTIONS(2667), + [anon_sym_new] = ACTIONS(2667), + [anon_sym_requires] = ACTIONS(2667), + [sym_this] = ACTIONS(2667), + }, + [259] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [aux_sym_preproc_else_token1] = ACTIONS(2404), + [aux_sym_preproc_elif_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_else] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [260] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_include_token1] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token2] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [aux_sym_preproc_else_token1] = ACTIONS(2452), + [aux_sym_preproc_elif_token1] = ACTIONS(2452), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_BANG] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_DASH] = ACTIONS(2452), + [anon_sym_PLUS] = ACTIONS(2452), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym_SEMI] = ACTIONS(2450), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym___cdecl] = ACTIONS(2452), + [anon_sym___clrcall] = ACTIONS(2452), + [anon_sym___stdcall] = ACTIONS(2452), + [anon_sym___fastcall] = ACTIONS(2452), + [anon_sym___thiscall] = ACTIONS(2452), + [anon_sym___vectorcall] = ACTIONS(2452), + [anon_sym_LBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_if] = ACTIONS(2452), + [anon_sym_else] = ACTIONS(2452), + [anon_sym_switch] = ACTIONS(2452), + [anon_sym_case] = ACTIONS(2452), + [anon_sym_default] = ACTIONS(2452), + [anon_sym_while] = ACTIONS(2452), + [anon_sym_do] = ACTIONS(2452), + [anon_sym_for] = ACTIONS(2452), + [anon_sym_return] = ACTIONS(2452), + [anon_sym_break] = ACTIONS(2452), + [anon_sym_continue] = ACTIONS(2452), + [anon_sym_goto] = ACTIONS(2452), + [anon_sym___try] = ACTIONS(2452), + [anon_sym___leave] = ACTIONS(2452), + [anon_sym_not] = ACTIONS(2452), + [anon_sym_compl] = ACTIONS(2452), + [anon_sym_DASH_DASH] = ACTIONS(2450), + [anon_sym_PLUS_PLUS] = ACTIONS(2450), + [anon_sym_sizeof] = ACTIONS(2452), + [anon_sym___alignof__] = ACTIONS(2452), + [anon_sym___alignof] = ACTIONS(2452), + [anon_sym__alignof] = ACTIONS(2452), + [anon_sym_alignof] = ACTIONS(2452), + [anon_sym__Alignof] = ACTIONS(2452), + [anon_sym_offsetof] = ACTIONS(2452), + [anon_sym__Generic] = ACTIONS(2452), + [anon_sym_asm] = ACTIONS(2452), + [anon_sym___asm__] = ACTIONS(2452), + [sym__number_literal] = ACTIONS(2450), + [anon_sym_L_SQUOTE] = ACTIONS(2450), + [anon_sym_u_SQUOTE] = ACTIONS(2450), + [anon_sym_U_SQUOTE] = ACTIONS(2450), + [anon_sym_u8_SQUOTE] = ACTIONS(2450), + [anon_sym_SQUOTE] = ACTIONS(2450), + [anon_sym_L_DQUOTE] = ACTIONS(2450), + [anon_sym_u_DQUOTE] = ACTIONS(2450), + [anon_sym_U_DQUOTE] = ACTIONS(2450), + [anon_sym_u8_DQUOTE] = ACTIONS(2450), + [anon_sym_DQUOTE] = ACTIONS(2450), + [sym_true] = ACTIONS(2452), + [sym_false] = ACTIONS(2452), + [anon_sym_NULL] = ACTIONS(2452), + [anon_sym_nullptr] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_try] = ACTIONS(2452), + [anon_sym_delete] = ACTIONS(2452), + [anon_sym_throw] = ACTIONS(2452), + [anon_sym_namespace] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_concept] = ACTIONS(2452), + [anon_sym_co_return] = ACTIONS(2452), + [anon_sym_co_yield] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + [anon_sym_R_DQUOTE] = ACTIONS(2450), + [anon_sym_LR_DQUOTE] = ACTIONS(2450), + [anon_sym_uR_DQUOTE] = ACTIONS(2450), + [anon_sym_UR_DQUOTE] = ACTIONS(2450), + [anon_sym_u8R_DQUOTE] = ACTIONS(2450), + [anon_sym_co_await] = ACTIONS(2452), + [anon_sym_new] = ACTIONS(2452), + [anon_sym_requires] = ACTIONS(2452), + [sym_this] = ACTIONS(2452), + }, + [261] = { + [sym_else_clause] = STATE(279), + [sym__identifier] = ACTIONS(2671), + [aux_sym_preproc_include_token1] = ACTIONS(2671), + [aux_sym_preproc_def_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token2] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2671), + [aux_sym_preproc_else_token1] = ACTIONS(2671), + [aux_sym_preproc_elif_token1] = ACTIONS(2671), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2671), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2671), + [sym_preproc_directive] = ACTIONS(2671), + [anon_sym_LPAREN2] = ACTIONS(2673), + [anon_sym_BANG] = ACTIONS(2673), + [anon_sym_TILDE] = ACTIONS(2673), + [anon_sym_DASH] = ACTIONS(2671), + [anon_sym_PLUS] = ACTIONS(2671), + [anon_sym_STAR] = ACTIONS(2673), + [anon_sym_AMP_AMP] = ACTIONS(2673), + [anon_sym_AMP] = ACTIONS(2671), + [anon_sym_SEMI] = ACTIONS(2673), + [anon_sym___extension__] = ACTIONS(2671), + [anon_sym_typedef] = ACTIONS(2671), + [anon_sym_extern] = ACTIONS(2671), + [anon_sym___attribute__] = ACTIONS(2671), + [anon_sym_COLON_COLON] = ACTIONS(2673), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2673), + [anon_sym___declspec] = ACTIONS(2671), + [anon_sym___based] = ACTIONS(2671), + [anon_sym___cdecl] = ACTIONS(2671), + [anon_sym___clrcall] = ACTIONS(2671), + [anon_sym___stdcall] = ACTIONS(2671), + [anon_sym___fastcall] = ACTIONS(2671), + [anon_sym___thiscall] = ACTIONS(2671), + [anon_sym___vectorcall] = ACTIONS(2671), + [anon_sym_LBRACE] = ACTIONS(2673), + [anon_sym_signed] = ACTIONS(2671), + [anon_sym_unsigned] = ACTIONS(2671), + [anon_sym_long] = ACTIONS(2671), + [anon_sym_short] = ACTIONS(2671), + [anon_sym_LBRACK] = ACTIONS(2671), + [anon_sym_static] = ACTIONS(2671), + [anon_sym_register] = ACTIONS(2671), + [anon_sym_inline] = ACTIONS(2671), + [anon_sym___inline] = ACTIONS(2671), + [anon_sym___inline__] = ACTIONS(2671), + [anon_sym___forceinline] = ACTIONS(2671), + [anon_sym_thread_local] = ACTIONS(2671), + [anon_sym___thread] = ACTIONS(2671), + [anon_sym_const] = ACTIONS(2671), + [anon_sym_constexpr] = ACTIONS(2671), + [anon_sym_volatile] = ACTIONS(2671), + [anon_sym_restrict] = ACTIONS(2671), + [anon_sym___restrict__] = ACTIONS(2671), + [anon_sym__Atomic] = ACTIONS(2671), + [anon_sym__Noreturn] = ACTIONS(2671), + [anon_sym_noreturn] = ACTIONS(2671), + [anon_sym_mutable] = ACTIONS(2671), + [anon_sym_constinit] = ACTIONS(2671), + [anon_sym_consteval] = ACTIONS(2671), + [anon_sym_alignas] = ACTIONS(2671), + [anon_sym__Alignas] = ACTIONS(2671), + [sym_primitive_type] = ACTIONS(2671), + [anon_sym_enum] = ACTIONS(2671), + [anon_sym_class] = ACTIONS(2671), + [anon_sym_struct] = ACTIONS(2671), + [anon_sym_union] = ACTIONS(2671), + [anon_sym_if] = ACTIONS(2671), + [anon_sym_else] = ACTIONS(2675), + [anon_sym_switch] = ACTIONS(2671), + [anon_sym_case] = ACTIONS(2671), + [anon_sym_default] = ACTIONS(2671), + [anon_sym_while] = ACTIONS(2671), + [anon_sym_do] = ACTIONS(2671), + [anon_sym_for] = ACTIONS(2671), + [anon_sym_return] = ACTIONS(2671), + [anon_sym_break] = ACTIONS(2671), + [anon_sym_continue] = ACTIONS(2671), + [anon_sym_goto] = ACTIONS(2671), + [anon_sym___try] = ACTIONS(2671), + [anon_sym___leave] = ACTIONS(2671), + [anon_sym_not] = ACTIONS(2671), + [anon_sym_compl] = ACTIONS(2671), + [anon_sym_DASH_DASH] = ACTIONS(2673), + [anon_sym_PLUS_PLUS] = ACTIONS(2673), + [anon_sym_sizeof] = ACTIONS(2671), + [anon_sym___alignof__] = ACTIONS(2671), + [anon_sym___alignof] = ACTIONS(2671), + [anon_sym__alignof] = ACTIONS(2671), + [anon_sym_alignof] = ACTIONS(2671), + [anon_sym__Alignof] = ACTIONS(2671), + [anon_sym_offsetof] = ACTIONS(2671), + [anon_sym__Generic] = ACTIONS(2671), + [anon_sym_asm] = ACTIONS(2671), + [anon_sym___asm__] = ACTIONS(2671), + [sym__number_literal] = ACTIONS(2673), + [anon_sym_L_SQUOTE] = ACTIONS(2673), + [anon_sym_u_SQUOTE] = ACTIONS(2673), + [anon_sym_U_SQUOTE] = ACTIONS(2673), + [anon_sym_u8_SQUOTE] = ACTIONS(2673), + [anon_sym_SQUOTE] = ACTIONS(2673), + [anon_sym_L_DQUOTE] = ACTIONS(2673), + [anon_sym_u_DQUOTE] = ACTIONS(2673), + [anon_sym_U_DQUOTE] = ACTIONS(2673), + [anon_sym_u8_DQUOTE] = ACTIONS(2673), + [anon_sym_DQUOTE] = ACTIONS(2673), + [sym_true] = ACTIONS(2671), + [sym_false] = ACTIONS(2671), + [anon_sym_NULL] = ACTIONS(2671), + [anon_sym_nullptr] = ACTIONS(2671), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2673), + [sym_auto] = ACTIONS(2671), + [anon_sym_decltype] = ACTIONS(2671), + [sym_virtual] = ACTIONS(2671), + [anon_sym_explicit] = ACTIONS(2671), + [anon_sym_typename] = ACTIONS(2671), + [anon_sym_template] = ACTIONS(2671), + [anon_sym_operator] = ACTIONS(2671), + [anon_sym_try] = ACTIONS(2671), + [anon_sym_delete] = ACTIONS(2671), + [anon_sym_throw] = ACTIONS(2671), + [anon_sym_namespace] = ACTIONS(2671), + [anon_sym_using] = ACTIONS(2671), + [anon_sym_static_assert] = ACTIONS(2671), + [anon_sym_concept] = ACTIONS(2671), + [anon_sym_co_return] = ACTIONS(2671), + [anon_sym_co_yield] = ACTIONS(2671), + [anon_sym_R_DQUOTE] = ACTIONS(2673), + [anon_sym_LR_DQUOTE] = ACTIONS(2673), + [anon_sym_uR_DQUOTE] = ACTIONS(2673), + [anon_sym_UR_DQUOTE] = ACTIONS(2673), + [anon_sym_u8R_DQUOTE] = ACTIONS(2673), + [anon_sym_co_await] = ACTIONS(2671), + [anon_sym_new] = ACTIONS(2671), + [anon_sym_requires] = ACTIONS(2671), + [sym_this] = ACTIONS(2671), + }, + [262] = { + [sym_expression] = STATE(4307), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(2677), + [anon_sym_extern] = ACTIONS(2677), + [anon_sym___attribute__] = ACTIONS(2677), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2679), + [anon_sym___declspec] = ACTIONS(2677), + [anon_sym_signed] = ACTIONS(2677), + [anon_sym_unsigned] = ACTIONS(2677), + [anon_sym_long] = ACTIONS(2677), + [anon_sym_short] = ACTIONS(2677), + [anon_sym_LBRACK] = ACTIONS(1401), + [anon_sym_static] = ACTIONS(2677), + [anon_sym_register] = ACTIONS(2677), + [anon_sym_inline] = ACTIONS(2677), + [anon_sym___inline] = ACTIONS(2677), + [anon_sym___inline__] = ACTIONS(2677), + [anon_sym___forceinline] = ACTIONS(2677), + [anon_sym_thread_local] = ACTIONS(2677), + [anon_sym___thread] = ACTIONS(2677), + [anon_sym_const] = ACTIONS(2677), + [anon_sym_constexpr] = ACTIONS(2677), + [anon_sym_volatile] = ACTIONS(2677), + [anon_sym_restrict] = ACTIONS(2677), + [anon_sym___restrict__] = ACTIONS(2677), + [anon_sym__Atomic] = ACTIONS(2677), + [anon_sym__Noreturn] = ACTIONS(2677), + [anon_sym_noreturn] = ACTIONS(2677), + [anon_sym_mutable] = ACTIONS(2677), + [anon_sym_constinit] = ACTIONS(2677), + [anon_sym_consteval] = ACTIONS(2677), + [anon_sym_alignas] = ACTIONS(2677), + [anon_sym__Alignas] = ACTIONS(2677), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_enum] = ACTIONS(2677), + [anon_sym_class] = ACTIONS(2677), + [anon_sym_struct] = ACTIONS(2677), + [anon_sym_union] = ACTIONS(2677), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(2677), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(2677), + [anon_sym_typename] = ACTIONS(2677), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [263] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_include_token1] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token2] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [aux_sym_preproc_else_token1] = ACTIONS(2683), + [aux_sym_preproc_elif_token1] = ACTIONS(2683), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_BANG] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_DASH] = ACTIONS(2683), + [anon_sym_PLUS] = ACTIONS(2683), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym_SEMI] = ACTIONS(2685), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym___cdecl] = ACTIONS(2683), + [anon_sym___clrcall] = ACTIONS(2683), + [anon_sym___stdcall] = ACTIONS(2683), + [anon_sym___fastcall] = ACTIONS(2683), + [anon_sym___thiscall] = ACTIONS(2683), + [anon_sym___vectorcall] = ACTIONS(2683), + [anon_sym_LBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [anon_sym_if] = ACTIONS(2683), + [anon_sym_else] = ACTIONS(2683), + [anon_sym_switch] = ACTIONS(2683), + [anon_sym_case] = ACTIONS(2683), + [anon_sym_default] = ACTIONS(2683), + [anon_sym_while] = ACTIONS(2683), + [anon_sym_do] = ACTIONS(2683), + [anon_sym_for] = ACTIONS(2683), + [anon_sym_return] = ACTIONS(2683), + [anon_sym_break] = ACTIONS(2683), + [anon_sym_continue] = ACTIONS(2683), + [anon_sym_goto] = ACTIONS(2683), + [anon_sym___try] = ACTIONS(2683), + [anon_sym___leave] = ACTIONS(2683), + [anon_sym_not] = ACTIONS(2683), + [anon_sym_compl] = ACTIONS(2683), + [anon_sym_DASH_DASH] = ACTIONS(2685), + [anon_sym_PLUS_PLUS] = ACTIONS(2685), + [anon_sym_sizeof] = ACTIONS(2683), + [anon_sym___alignof__] = ACTIONS(2683), + [anon_sym___alignof] = ACTIONS(2683), + [anon_sym__alignof] = ACTIONS(2683), + [anon_sym_alignof] = ACTIONS(2683), + [anon_sym__Alignof] = ACTIONS(2683), + [anon_sym_offsetof] = ACTIONS(2683), + [anon_sym__Generic] = ACTIONS(2683), + [anon_sym_asm] = ACTIONS(2683), + [anon_sym___asm__] = ACTIONS(2683), + [sym__number_literal] = ACTIONS(2685), + [anon_sym_L_SQUOTE] = ACTIONS(2685), + [anon_sym_u_SQUOTE] = ACTIONS(2685), + [anon_sym_U_SQUOTE] = ACTIONS(2685), + [anon_sym_u8_SQUOTE] = ACTIONS(2685), + [anon_sym_SQUOTE] = ACTIONS(2685), + [anon_sym_L_DQUOTE] = ACTIONS(2685), + [anon_sym_u_DQUOTE] = ACTIONS(2685), + [anon_sym_U_DQUOTE] = ACTIONS(2685), + [anon_sym_u8_DQUOTE] = ACTIONS(2685), + [anon_sym_DQUOTE] = ACTIONS(2685), + [sym_true] = ACTIONS(2683), + [sym_false] = ACTIONS(2683), + [anon_sym_NULL] = ACTIONS(2683), + [anon_sym_nullptr] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_try] = ACTIONS(2683), + [anon_sym_delete] = ACTIONS(2683), + [anon_sym_throw] = ACTIONS(2683), + [anon_sym_namespace] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_concept] = ACTIONS(2683), + [anon_sym_co_return] = ACTIONS(2683), + [anon_sym_co_yield] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + [anon_sym_R_DQUOTE] = ACTIONS(2685), + [anon_sym_LR_DQUOTE] = ACTIONS(2685), + [anon_sym_uR_DQUOTE] = ACTIONS(2685), + [anon_sym_UR_DQUOTE] = ACTIONS(2685), + [anon_sym_u8R_DQUOTE] = ACTIONS(2685), + [anon_sym_co_await] = ACTIONS(2683), + [anon_sym_new] = ACTIONS(2683), + [anon_sym_requires] = ACTIONS(2683), + [sym_this] = ACTIONS(2683), + }, + [264] = { + [sym_else_clause] = STATE(300), + [sym__identifier] = ACTIONS(2687), + [aux_sym_preproc_include_token1] = ACTIONS(2687), + [aux_sym_preproc_def_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token2] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2687), + [aux_sym_preproc_else_token1] = ACTIONS(2687), + [aux_sym_preproc_elif_token1] = ACTIONS(2687), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2687), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2687), + [sym_preproc_directive] = ACTIONS(2687), + [anon_sym_LPAREN2] = ACTIONS(2689), + [anon_sym_BANG] = ACTIONS(2689), + [anon_sym_TILDE] = ACTIONS(2689), + [anon_sym_DASH] = ACTIONS(2687), + [anon_sym_PLUS] = ACTIONS(2687), + [anon_sym_STAR] = ACTIONS(2689), + [anon_sym_AMP_AMP] = ACTIONS(2689), + [anon_sym_AMP] = ACTIONS(2687), + [anon_sym_SEMI] = ACTIONS(2689), + [anon_sym___extension__] = ACTIONS(2687), + [anon_sym_typedef] = ACTIONS(2687), + [anon_sym_extern] = ACTIONS(2687), + [anon_sym___attribute__] = ACTIONS(2687), + [anon_sym_COLON_COLON] = ACTIONS(2689), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2689), + [anon_sym___declspec] = ACTIONS(2687), + [anon_sym___based] = ACTIONS(2687), + [anon_sym___cdecl] = ACTIONS(2687), + [anon_sym___clrcall] = ACTIONS(2687), + [anon_sym___stdcall] = ACTIONS(2687), + [anon_sym___fastcall] = ACTIONS(2687), + [anon_sym___thiscall] = ACTIONS(2687), + [anon_sym___vectorcall] = ACTIONS(2687), + [anon_sym_LBRACE] = ACTIONS(2689), + [anon_sym_signed] = ACTIONS(2687), + [anon_sym_unsigned] = ACTIONS(2687), + [anon_sym_long] = ACTIONS(2687), + [anon_sym_short] = ACTIONS(2687), + [anon_sym_LBRACK] = ACTIONS(2687), + [anon_sym_static] = ACTIONS(2687), + [anon_sym_register] = ACTIONS(2687), + [anon_sym_inline] = ACTIONS(2687), + [anon_sym___inline] = ACTIONS(2687), + [anon_sym___inline__] = ACTIONS(2687), + [anon_sym___forceinline] = ACTIONS(2687), + [anon_sym_thread_local] = ACTIONS(2687), + [anon_sym___thread] = ACTIONS(2687), + [anon_sym_const] = ACTIONS(2687), + [anon_sym_constexpr] = ACTIONS(2687), + [anon_sym_volatile] = ACTIONS(2687), + [anon_sym_restrict] = ACTIONS(2687), + [anon_sym___restrict__] = ACTIONS(2687), + [anon_sym__Atomic] = ACTIONS(2687), + [anon_sym__Noreturn] = ACTIONS(2687), + [anon_sym_noreturn] = ACTIONS(2687), + [anon_sym_mutable] = ACTIONS(2687), + [anon_sym_constinit] = ACTIONS(2687), + [anon_sym_consteval] = ACTIONS(2687), + [anon_sym_alignas] = ACTIONS(2687), + [anon_sym__Alignas] = ACTIONS(2687), + [sym_primitive_type] = ACTIONS(2687), + [anon_sym_enum] = ACTIONS(2687), + [anon_sym_class] = ACTIONS(2687), + [anon_sym_struct] = ACTIONS(2687), + [anon_sym_union] = ACTIONS(2687), + [anon_sym_if] = ACTIONS(2687), + [anon_sym_else] = ACTIONS(2675), + [anon_sym_switch] = ACTIONS(2687), + [anon_sym_case] = ACTIONS(2687), + [anon_sym_default] = ACTIONS(2687), + [anon_sym_while] = ACTIONS(2687), + [anon_sym_do] = ACTIONS(2687), + [anon_sym_for] = ACTIONS(2687), + [anon_sym_return] = ACTIONS(2687), + [anon_sym_break] = ACTIONS(2687), + [anon_sym_continue] = ACTIONS(2687), + [anon_sym_goto] = ACTIONS(2687), + [anon_sym___try] = ACTIONS(2687), + [anon_sym___leave] = ACTIONS(2687), + [anon_sym_not] = ACTIONS(2687), + [anon_sym_compl] = ACTIONS(2687), + [anon_sym_DASH_DASH] = ACTIONS(2689), + [anon_sym_PLUS_PLUS] = ACTIONS(2689), + [anon_sym_sizeof] = ACTIONS(2687), + [anon_sym___alignof__] = ACTIONS(2687), + [anon_sym___alignof] = ACTIONS(2687), + [anon_sym__alignof] = ACTIONS(2687), + [anon_sym_alignof] = ACTIONS(2687), + [anon_sym__Alignof] = ACTIONS(2687), + [anon_sym_offsetof] = ACTIONS(2687), + [anon_sym__Generic] = ACTIONS(2687), + [anon_sym_asm] = ACTIONS(2687), + [anon_sym___asm__] = ACTIONS(2687), + [sym__number_literal] = ACTIONS(2689), + [anon_sym_L_SQUOTE] = ACTIONS(2689), + [anon_sym_u_SQUOTE] = ACTIONS(2689), + [anon_sym_U_SQUOTE] = ACTIONS(2689), + [anon_sym_u8_SQUOTE] = ACTIONS(2689), + [anon_sym_SQUOTE] = ACTIONS(2689), + [anon_sym_L_DQUOTE] = ACTIONS(2689), + [anon_sym_u_DQUOTE] = ACTIONS(2689), + [anon_sym_U_DQUOTE] = ACTIONS(2689), + [anon_sym_u8_DQUOTE] = ACTIONS(2689), + [anon_sym_DQUOTE] = ACTIONS(2689), + [sym_true] = ACTIONS(2687), + [sym_false] = ACTIONS(2687), + [anon_sym_NULL] = ACTIONS(2687), + [anon_sym_nullptr] = ACTIONS(2687), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2689), + [sym_auto] = ACTIONS(2687), + [anon_sym_decltype] = ACTIONS(2687), + [sym_virtual] = ACTIONS(2687), + [anon_sym_explicit] = ACTIONS(2687), + [anon_sym_typename] = ACTIONS(2687), + [anon_sym_template] = ACTIONS(2687), + [anon_sym_operator] = ACTIONS(2687), + [anon_sym_try] = ACTIONS(2687), + [anon_sym_delete] = ACTIONS(2687), + [anon_sym_throw] = ACTIONS(2687), + [anon_sym_namespace] = ACTIONS(2687), + [anon_sym_using] = ACTIONS(2687), + [anon_sym_static_assert] = ACTIONS(2687), + [anon_sym_concept] = ACTIONS(2687), + [anon_sym_co_return] = ACTIONS(2687), + [anon_sym_co_yield] = ACTIONS(2687), + [anon_sym_R_DQUOTE] = ACTIONS(2689), + [anon_sym_LR_DQUOTE] = ACTIONS(2689), + [anon_sym_uR_DQUOTE] = ACTIONS(2689), + [anon_sym_UR_DQUOTE] = ACTIONS(2689), + [anon_sym_u8R_DQUOTE] = ACTIONS(2689), + [anon_sym_co_await] = ACTIONS(2687), + [anon_sym_new] = ACTIONS(2687), + [anon_sym_requires] = ACTIONS(2687), + [sym_this] = ACTIONS(2687), + }, + [265] = { + [sym__identifier] = ACTIONS(2691), + [aux_sym_preproc_include_token1] = ACTIONS(2691), + [aux_sym_preproc_def_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token2] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2691), + [aux_sym_preproc_else_token1] = ACTIONS(2691), + [aux_sym_preproc_elif_token1] = ACTIONS(2691), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2691), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2691), + [sym_preproc_directive] = ACTIONS(2691), + [anon_sym_LPAREN2] = ACTIONS(2693), + [anon_sym_BANG] = ACTIONS(2693), + [anon_sym_TILDE] = ACTIONS(2693), + [anon_sym_DASH] = ACTIONS(2691), + [anon_sym_PLUS] = ACTIONS(2691), + [anon_sym_STAR] = ACTIONS(2693), + [anon_sym_AMP_AMP] = ACTIONS(2693), + [anon_sym_AMP] = ACTIONS(2691), + [anon_sym_SEMI] = ACTIONS(2693), + [anon_sym___extension__] = ACTIONS(2691), + [anon_sym_typedef] = ACTIONS(2691), + [anon_sym_extern] = ACTIONS(2691), + [anon_sym___attribute__] = ACTIONS(2691), + [anon_sym_COLON_COLON] = ACTIONS(2693), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2693), + [anon_sym___declspec] = ACTIONS(2691), + [anon_sym___based] = ACTIONS(2691), + [anon_sym___cdecl] = ACTIONS(2691), + [anon_sym___clrcall] = ACTIONS(2691), + [anon_sym___stdcall] = ACTIONS(2691), + [anon_sym___fastcall] = ACTIONS(2691), + [anon_sym___thiscall] = ACTIONS(2691), + [anon_sym___vectorcall] = ACTIONS(2691), + [anon_sym_LBRACE] = ACTIONS(2693), + [anon_sym_signed] = ACTIONS(2691), + [anon_sym_unsigned] = ACTIONS(2691), + [anon_sym_long] = ACTIONS(2691), + [anon_sym_short] = ACTIONS(2691), + [anon_sym_LBRACK] = ACTIONS(2691), + [anon_sym_static] = ACTIONS(2691), + [anon_sym_register] = ACTIONS(2691), + [anon_sym_inline] = ACTIONS(2691), + [anon_sym___inline] = ACTIONS(2691), + [anon_sym___inline__] = ACTIONS(2691), + [anon_sym___forceinline] = ACTIONS(2691), + [anon_sym_thread_local] = ACTIONS(2691), + [anon_sym___thread] = ACTIONS(2691), + [anon_sym_const] = ACTIONS(2691), + [anon_sym_constexpr] = ACTIONS(2691), + [anon_sym_volatile] = ACTIONS(2691), + [anon_sym_restrict] = ACTIONS(2691), + [anon_sym___restrict__] = ACTIONS(2691), + [anon_sym__Atomic] = ACTIONS(2691), + [anon_sym__Noreturn] = ACTIONS(2691), + [anon_sym_noreturn] = ACTIONS(2691), + [anon_sym_mutable] = ACTIONS(2691), + [anon_sym_constinit] = ACTIONS(2691), + [anon_sym_consteval] = ACTIONS(2691), + [anon_sym_alignas] = ACTIONS(2691), + [anon_sym__Alignas] = ACTIONS(2691), + [sym_primitive_type] = ACTIONS(2691), + [anon_sym_enum] = ACTIONS(2691), + [anon_sym_class] = ACTIONS(2691), + [anon_sym_struct] = ACTIONS(2691), + [anon_sym_union] = ACTIONS(2691), + [anon_sym_if] = ACTIONS(2691), + [anon_sym_else] = ACTIONS(2691), + [anon_sym_switch] = ACTIONS(2691), + [anon_sym_case] = ACTIONS(2691), + [anon_sym_default] = ACTIONS(2691), + [anon_sym_while] = ACTIONS(2691), + [anon_sym_do] = ACTIONS(2691), + [anon_sym_for] = ACTIONS(2691), + [anon_sym_return] = ACTIONS(2691), + [anon_sym_break] = ACTIONS(2691), + [anon_sym_continue] = ACTIONS(2691), + [anon_sym_goto] = ACTIONS(2691), + [anon_sym___try] = ACTIONS(2691), + [anon_sym___leave] = ACTIONS(2691), + [anon_sym_not] = ACTIONS(2691), + [anon_sym_compl] = ACTIONS(2691), + [anon_sym_DASH_DASH] = ACTIONS(2693), + [anon_sym_PLUS_PLUS] = ACTIONS(2693), + [anon_sym_sizeof] = ACTIONS(2691), + [anon_sym___alignof__] = ACTIONS(2691), + [anon_sym___alignof] = ACTIONS(2691), + [anon_sym__alignof] = ACTIONS(2691), + [anon_sym_alignof] = ACTIONS(2691), + [anon_sym__Alignof] = ACTIONS(2691), + [anon_sym_offsetof] = ACTIONS(2691), + [anon_sym__Generic] = ACTIONS(2691), + [anon_sym_asm] = ACTIONS(2691), + [anon_sym___asm__] = ACTIONS(2691), + [sym__number_literal] = ACTIONS(2693), + [anon_sym_L_SQUOTE] = ACTIONS(2693), + [anon_sym_u_SQUOTE] = ACTIONS(2693), + [anon_sym_U_SQUOTE] = ACTIONS(2693), + [anon_sym_u8_SQUOTE] = ACTIONS(2693), + [anon_sym_SQUOTE] = ACTIONS(2693), + [anon_sym_L_DQUOTE] = ACTIONS(2693), + [anon_sym_u_DQUOTE] = ACTIONS(2693), + [anon_sym_U_DQUOTE] = ACTIONS(2693), + [anon_sym_u8_DQUOTE] = ACTIONS(2693), + [anon_sym_DQUOTE] = ACTIONS(2693), + [sym_true] = ACTIONS(2691), + [sym_false] = ACTIONS(2691), + [anon_sym_NULL] = ACTIONS(2691), + [anon_sym_nullptr] = ACTIONS(2691), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2693), + [sym_auto] = ACTIONS(2691), + [anon_sym_decltype] = ACTIONS(2691), + [sym_virtual] = ACTIONS(2691), + [anon_sym_explicit] = ACTIONS(2691), + [anon_sym_typename] = ACTIONS(2691), + [anon_sym_template] = ACTIONS(2691), + [anon_sym_operator] = ACTIONS(2691), + [anon_sym_try] = ACTIONS(2691), + [anon_sym_delete] = ACTIONS(2691), + [anon_sym_throw] = ACTIONS(2691), + [anon_sym_namespace] = ACTIONS(2691), + [anon_sym_using] = ACTIONS(2691), + [anon_sym_static_assert] = ACTIONS(2691), + [anon_sym_concept] = ACTIONS(2691), + [anon_sym_co_return] = ACTIONS(2691), + [anon_sym_co_yield] = ACTIONS(2691), + [anon_sym_R_DQUOTE] = ACTIONS(2693), + [anon_sym_LR_DQUOTE] = ACTIONS(2693), + [anon_sym_uR_DQUOTE] = ACTIONS(2693), + [anon_sym_UR_DQUOTE] = ACTIONS(2693), + [anon_sym_u8R_DQUOTE] = ACTIONS(2693), + [anon_sym_co_await] = ACTIONS(2691), + [anon_sym_new] = ACTIONS(2691), + [anon_sym_requires] = ACTIONS(2691), + [sym_this] = ACTIONS(2691), + }, + [266] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_include_token1] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token2] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [aux_sym_preproc_else_token1] = ACTIONS(2695), + [aux_sym_preproc_elif_token1] = ACTIONS(2695), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_BANG] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_DASH] = ACTIONS(2695), + [anon_sym_PLUS] = ACTIONS(2695), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym_SEMI] = ACTIONS(2697), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym___cdecl] = ACTIONS(2695), + [anon_sym___clrcall] = ACTIONS(2695), + [anon_sym___stdcall] = ACTIONS(2695), + [anon_sym___fastcall] = ACTIONS(2695), + [anon_sym___thiscall] = ACTIONS(2695), + [anon_sym___vectorcall] = ACTIONS(2695), + [anon_sym_LBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [anon_sym_if] = ACTIONS(2695), + [anon_sym_else] = ACTIONS(2695), + [anon_sym_switch] = ACTIONS(2695), + [anon_sym_case] = ACTIONS(2695), + [anon_sym_default] = ACTIONS(2695), + [anon_sym_while] = ACTIONS(2695), + [anon_sym_do] = ACTIONS(2695), + [anon_sym_for] = ACTIONS(2695), + [anon_sym_return] = ACTIONS(2695), + [anon_sym_break] = ACTIONS(2695), + [anon_sym_continue] = ACTIONS(2695), + [anon_sym_goto] = ACTIONS(2695), + [anon_sym___try] = ACTIONS(2695), + [anon_sym___leave] = ACTIONS(2695), + [anon_sym_not] = ACTIONS(2695), + [anon_sym_compl] = ACTIONS(2695), + [anon_sym_DASH_DASH] = ACTIONS(2697), + [anon_sym_PLUS_PLUS] = ACTIONS(2697), + [anon_sym_sizeof] = ACTIONS(2695), + [anon_sym___alignof__] = ACTIONS(2695), + [anon_sym___alignof] = ACTIONS(2695), + [anon_sym__alignof] = ACTIONS(2695), + [anon_sym_alignof] = ACTIONS(2695), + [anon_sym__Alignof] = ACTIONS(2695), + [anon_sym_offsetof] = ACTIONS(2695), + [anon_sym__Generic] = ACTIONS(2695), + [anon_sym_asm] = ACTIONS(2695), + [anon_sym___asm__] = ACTIONS(2695), + [sym__number_literal] = ACTIONS(2697), + [anon_sym_L_SQUOTE] = ACTIONS(2697), + [anon_sym_u_SQUOTE] = ACTIONS(2697), + [anon_sym_U_SQUOTE] = ACTIONS(2697), + [anon_sym_u8_SQUOTE] = ACTIONS(2697), + [anon_sym_SQUOTE] = ACTIONS(2697), + [anon_sym_L_DQUOTE] = ACTIONS(2697), + [anon_sym_u_DQUOTE] = ACTIONS(2697), + [anon_sym_U_DQUOTE] = ACTIONS(2697), + [anon_sym_u8_DQUOTE] = ACTIONS(2697), + [anon_sym_DQUOTE] = ACTIONS(2697), + [sym_true] = ACTIONS(2695), + [sym_false] = ACTIONS(2695), + [anon_sym_NULL] = ACTIONS(2695), + [anon_sym_nullptr] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_try] = ACTIONS(2695), + [anon_sym_delete] = ACTIONS(2695), + [anon_sym_throw] = ACTIONS(2695), + [anon_sym_namespace] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + [anon_sym_concept] = ACTIONS(2695), + [anon_sym_co_return] = ACTIONS(2695), + [anon_sym_co_yield] = ACTIONS(2695), + [anon_sym_R_DQUOTE] = ACTIONS(2697), + [anon_sym_LR_DQUOTE] = ACTIONS(2697), + [anon_sym_uR_DQUOTE] = ACTIONS(2697), + [anon_sym_UR_DQUOTE] = ACTIONS(2697), + [anon_sym_u8R_DQUOTE] = ACTIONS(2697), + [anon_sym_co_await] = ACTIONS(2695), + [anon_sym_new] = ACTIONS(2695), + [anon_sym_requires] = ACTIONS(2695), + [sym_this] = ACTIONS(2695), + }, + [267] = { + [sym__identifier] = ACTIONS(2699), + [aux_sym_preproc_include_token1] = ACTIONS(2699), + [aux_sym_preproc_def_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token2] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2699), + [aux_sym_preproc_else_token1] = ACTIONS(2699), + [aux_sym_preproc_elif_token1] = ACTIONS(2699), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2699), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2699), + [sym_preproc_directive] = ACTIONS(2699), + [anon_sym_LPAREN2] = ACTIONS(2701), + [anon_sym_BANG] = ACTIONS(2701), + [anon_sym_TILDE] = ACTIONS(2701), + [anon_sym_DASH] = ACTIONS(2699), + [anon_sym_PLUS] = ACTIONS(2699), + [anon_sym_STAR] = ACTIONS(2701), + [anon_sym_AMP_AMP] = ACTIONS(2701), + [anon_sym_AMP] = ACTIONS(2699), + [anon_sym_SEMI] = ACTIONS(2701), + [anon_sym___extension__] = ACTIONS(2699), + [anon_sym_typedef] = ACTIONS(2699), + [anon_sym_extern] = ACTIONS(2699), + [anon_sym___attribute__] = ACTIONS(2699), + [anon_sym_COLON_COLON] = ACTIONS(2701), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2701), + [anon_sym___declspec] = ACTIONS(2699), + [anon_sym___based] = ACTIONS(2699), + [anon_sym___cdecl] = ACTIONS(2699), + [anon_sym___clrcall] = ACTIONS(2699), + [anon_sym___stdcall] = ACTIONS(2699), + [anon_sym___fastcall] = ACTIONS(2699), + [anon_sym___thiscall] = ACTIONS(2699), + [anon_sym___vectorcall] = ACTIONS(2699), + [anon_sym_LBRACE] = ACTIONS(2701), + [anon_sym_signed] = ACTIONS(2699), + [anon_sym_unsigned] = ACTIONS(2699), + [anon_sym_long] = ACTIONS(2699), + [anon_sym_short] = ACTIONS(2699), + [anon_sym_LBRACK] = ACTIONS(2699), + [anon_sym_static] = ACTIONS(2699), + [anon_sym_register] = ACTIONS(2699), + [anon_sym_inline] = ACTIONS(2699), + [anon_sym___inline] = ACTIONS(2699), + [anon_sym___inline__] = ACTIONS(2699), + [anon_sym___forceinline] = ACTIONS(2699), + [anon_sym_thread_local] = ACTIONS(2699), + [anon_sym___thread] = ACTIONS(2699), + [anon_sym_const] = ACTIONS(2699), + [anon_sym_constexpr] = ACTIONS(2699), + [anon_sym_volatile] = ACTIONS(2699), + [anon_sym_restrict] = ACTIONS(2699), + [anon_sym___restrict__] = ACTIONS(2699), + [anon_sym__Atomic] = ACTIONS(2699), + [anon_sym__Noreturn] = ACTIONS(2699), + [anon_sym_noreturn] = ACTIONS(2699), + [anon_sym_mutable] = ACTIONS(2699), + [anon_sym_constinit] = ACTIONS(2699), + [anon_sym_consteval] = ACTIONS(2699), + [anon_sym_alignas] = ACTIONS(2699), + [anon_sym__Alignas] = ACTIONS(2699), + [sym_primitive_type] = ACTIONS(2699), + [anon_sym_enum] = ACTIONS(2699), + [anon_sym_class] = ACTIONS(2699), + [anon_sym_struct] = ACTIONS(2699), + [anon_sym_union] = ACTIONS(2699), + [anon_sym_if] = ACTIONS(2699), + [anon_sym_else] = ACTIONS(2699), + [anon_sym_switch] = ACTIONS(2699), + [anon_sym_case] = ACTIONS(2699), + [anon_sym_default] = ACTIONS(2699), + [anon_sym_while] = ACTIONS(2699), + [anon_sym_do] = ACTIONS(2699), + [anon_sym_for] = ACTIONS(2699), + [anon_sym_return] = ACTIONS(2699), + [anon_sym_break] = ACTIONS(2699), + [anon_sym_continue] = ACTIONS(2699), + [anon_sym_goto] = ACTIONS(2699), + [anon_sym___try] = ACTIONS(2699), + [anon_sym___leave] = ACTIONS(2699), + [anon_sym_not] = ACTIONS(2699), + [anon_sym_compl] = ACTIONS(2699), + [anon_sym_DASH_DASH] = ACTIONS(2701), + [anon_sym_PLUS_PLUS] = ACTIONS(2701), + [anon_sym_sizeof] = ACTIONS(2699), + [anon_sym___alignof__] = ACTIONS(2699), + [anon_sym___alignof] = ACTIONS(2699), + [anon_sym__alignof] = ACTIONS(2699), + [anon_sym_alignof] = ACTIONS(2699), + [anon_sym__Alignof] = ACTIONS(2699), + [anon_sym_offsetof] = ACTIONS(2699), + [anon_sym__Generic] = ACTIONS(2699), + [anon_sym_asm] = ACTIONS(2699), + [anon_sym___asm__] = ACTIONS(2699), + [sym__number_literal] = ACTIONS(2701), + [anon_sym_L_SQUOTE] = ACTIONS(2701), + [anon_sym_u_SQUOTE] = ACTIONS(2701), + [anon_sym_U_SQUOTE] = ACTIONS(2701), + [anon_sym_u8_SQUOTE] = ACTIONS(2701), + [anon_sym_SQUOTE] = ACTIONS(2701), + [anon_sym_L_DQUOTE] = ACTIONS(2701), + [anon_sym_u_DQUOTE] = ACTIONS(2701), + [anon_sym_U_DQUOTE] = ACTIONS(2701), + [anon_sym_u8_DQUOTE] = ACTIONS(2701), + [anon_sym_DQUOTE] = ACTIONS(2701), + [sym_true] = ACTIONS(2699), + [sym_false] = ACTIONS(2699), + [anon_sym_NULL] = ACTIONS(2699), + [anon_sym_nullptr] = ACTIONS(2699), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2701), + [sym_auto] = ACTIONS(2699), + [anon_sym_decltype] = ACTIONS(2699), + [sym_virtual] = ACTIONS(2699), + [anon_sym_explicit] = ACTIONS(2699), + [anon_sym_typename] = ACTIONS(2699), + [anon_sym_template] = ACTIONS(2699), + [anon_sym_operator] = ACTIONS(2699), + [anon_sym_try] = ACTIONS(2699), + [anon_sym_delete] = ACTIONS(2699), + [anon_sym_throw] = ACTIONS(2699), + [anon_sym_namespace] = ACTIONS(2699), + [anon_sym_using] = ACTIONS(2699), + [anon_sym_static_assert] = ACTIONS(2699), + [anon_sym_concept] = ACTIONS(2699), + [anon_sym_co_return] = ACTIONS(2699), + [anon_sym_co_yield] = ACTIONS(2699), + [anon_sym_R_DQUOTE] = ACTIONS(2701), + [anon_sym_LR_DQUOTE] = ACTIONS(2701), + [anon_sym_uR_DQUOTE] = ACTIONS(2701), + [anon_sym_UR_DQUOTE] = ACTIONS(2701), + [anon_sym_u8R_DQUOTE] = ACTIONS(2701), + [anon_sym_co_await] = ACTIONS(2699), + [anon_sym_new] = ACTIONS(2699), + [anon_sym_requires] = ACTIONS(2699), + [sym_this] = ACTIONS(2699), + }, + [268] = { + [sym__identifier] = ACTIONS(2703), + [aux_sym_preproc_include_token1] = ACTIONS(2703), + [aux_sym_preproc_def_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token2] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2703), + [aux_sym_preproc_else_token1] = ACTIONS(2703), + [aux_sym_preproc_elif_token1] = ACTIONS(2703), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2703), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2703), + [sym_preproc_directive] = ACTIONS(2703), + [anon_sym_LPAREN2] = ACTIONS(2705), + [anon_sym_BANG] = ACTIONS(2705), + [anon_sym_TILDE] = ACTIONS(2705), + [anon_sym_DASH] = ACTIONS(2703), + [anon_sym_PLUS] = ACTIONS(2703), + [anon_sym_STAR] = ACTIONS(2705), + [anon_sym_AMP_AMP] = ACTIONS(2705), + [anon_sym_AMP] = ACTIONS(2703), + [anon_sym_SEMI] = ACTIONS(2705), + [anon_sym___extension__] = ACTIONS(2703), + [anon_sym_typedef] = ACTIONS(2703), + [anon_sym_extern] = ACTIONS(2703), + [anon_sym___attribute__] = ACTIONS(2703), + [anon_sym_COLON_COLON] = ACTIONS(2705), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2705), + [anon_sym___declspec] = ACTIONS(2703), + [anon_sym___based] = ACTIONS(2703), + [anon_sym___cdecl] = ACTIONS(2703), + [anon_sym___clrcall] = ACTIONS(2703), + [anon_sym___stdcall] = ACTIONS(2703), + [anon_sym___fastcall] = ACTIONS(2703), + [anon_sym___thiscall] = ACTIONS(2703), + [anon_sym___vectorcall] = ACTIONS(2703), + [anon_sym_LBRACE] = ACTIONS(2705), + [anon_sym_signed] = ACTIONS(2703), + [anon_sym_unsigned] = ACTIONS(2703), + [anon_sym_long] = ACTIONS(2703), + [anon_sym_short] = ACTIONS(2703), + [anon_sym_LBRACK] = ACTIONS(2703), + [anon_sym_static] = ACTIONS(2703), + [anon_sym_register] = ACTIONS(2703), + [anon_sym_inline] = ACTIONS(2703), + [anon_sym___inline] = ACTIONS(2703), + [anon_sym___inline__] = ACTIONS(2703), + [anon_sym___forceinline] = ACTIONS(2703), + [anon_sym_thread_local] = ACTIONS(2703), + [anon_sym___thread] = ACTIONS(2703), + [anon_sym_const] = ACTIONS(2703), + [anon_sym_constexpr] = ACTIONS(2703), + [anon_sym_volatile] = ACTIONS(2703), + [anon_sym_restrict] = ACTIONS(2703), + [anon_sym___restrict__] = ACTIONS(2703), + [anon_sym__Atomic] = ACTIONS(2703), + [anon_sym__Noreturn] = ACTIONS(2703), + [anon_sym_noreturn] = ACTIONS(2703), + [anon_sym_mutable] = ACTIONS(2703), + [anon_sym_constinit] = ACTIONS(2703), + [anon_sym_consteval] = ACTIONS(2703), + [anon_sym_alignas] = ACTIONS(2703), + [anon_sym__Alignas] = ACTIONS(2703), + [sym_primitive_type] = ACTIONS(2703), + [anon_sym_enum] = ACTIONS(2703), + [anon_sym_class] = ACTIONS(2703), + [anon_sym_struct] = ACTIONS(2703), + [anon_sym_union] = ACTIONS(2703), + [anon_sym_if] = ACTIONS(2703), + [anon_sym_else] = ACTIONS(2703), + [anon_sym_switch] = ACTIONS(2703), + [anon_sym_case] = ACTIONS(2703), + [anon_sym_default] = ACTIONS(2703), + [anon_sym_while] = ACTIONS(2703), + [anon_sym_do] = ACTIONS(2703), + [anon_sym_for] = ACTIONS(2703), + [anon_sym_return] = ACTIONS(2703), + [anon_sym_break] = ACTIONS(2703), + [anon_sym_continue] = ACTIONS(2703), + [anon_sym_goto] = ACTIONS(2703), + [anon_sym___try] = ACTIONS(2703), + [anon_sym___leave] = ACTIONS(2703), + [anon_sym_not] = ACTIONS(2703), + [anon_sym_compl] = ACTIONS(2703), + [anon_sym_DASH_DASH] = ACTIONS(2705), + [anon_sym_PLUS_PLUS] = ACTIONS(2705), + [anon_sym_sizeof] = ACTIONS(2703), + [anon_sym___alignof__] = ACTIONS(2703), + [anon_sym___alignof] = ACTIONS(2703), + [anon_sym__alignof] = ACTIONS(2703), + [anon_sym_alignof] = ACTIONS(2703), + [anon_sym__Alignof] = ACTIONS(2703), + [anon_sym_offsetof] = ACTIONS(2703), + [anon_sym__Generic] = ACTIONS(2703), + [anon_sym_asm] = ACTIONS(2703), + [anon_sym___asm__] = ACTIONS(2703), + [sym__number_literal] = ACTIONS(2705), + [anon_sym_L_SQUOTE] = ACTIONS(2705), + [anon_sym_u_SQUOTE] = ACTIONS(2705), + [anon_sym_U_SQUOTE] = ACTIONS(2705), + [anon_sym_u8_SQUOTE] = ACTIONS(2705), + [anon_sym_SQUOTE] = ACTIONS(2705), + [anon_sym_L_DQUOTE] = ACTIONS(2705), + [anon_sym_u_DQUOTE] = ACTIONS(2705), + [anon_sym_U_DQUOTE] = ACTIONS(2705), + [anon_sym_u8_DQUOTE] = ACTIONS(2705), + [anon_sym_DQUOTE] = ACTIONS(2705), + [sym_true] = ACTIONS(2703), + [sym_false] = ACTIONS(2703), + [anon_sym_NULL] = ACTIONS(2703), + [anon_sym_nullptr] = ACTIONS(2703), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2705), + [sym_auto] = ACTIONS(2703), + [anon_sym_decltype] = ACTIONS(2703), + [sym_virtual] = ACTIONS(2703), + [anon_sym_explicit] = ACTIONS(2703), + [anon_sym_typename] = ACTIONS(2703), + [anon_sym_template] = ACTIONS(2703), + [anon_sym_operator] = ACTIONS(2703), + [anon_sym_try] = ACTIONS(2703), + [anon_sym_delete] = ACTIONS(2703), + [anon_sym_throw] = ACTIONS(2703), + [anon_sym_namespace] = ACTIONS(2703), + [anon_sym_using] = ACTIONS(2703), + [anon_sym_static_assert] = ACTIONS(2703), + [anon_sym_concept] = ACTIONS(2703), + [anon_sym_co_return] = ACTIONS(2703), + [anon_sym_co_yield] = ACTIONS(2703), + [anon_sym_R_DQUOTE] = ACTIONS(2705), + [anon_sym_LR_DQUOTE] = ACTIONS(2705), + [anon_sym_uR_DQUOTE] = ACTIONS(2705), + [anon_sym_UR_DQUOTE] = ACTIONS(2705), + [anon_sym_u8R_DQUOTE] = ACTIONS(2705), + [anon_sym_co_await] = ACTIONS(2703), + [anon_sym_new] = ACTIONS(2703), + [anon_sym_requires] = ACTIONS(2703), + [sym_this] = ACTIONS(2703), + }, + [269] = { + [sym__identifier] = ACTIONS(2707), + [aux_sym_preproc_include_token1] = ACTIONS(2707), + [aux_sym_preproc_def_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token2] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2707), + [aux_sym_preproc_else_token1] = ACTIONS(2707), + [aux_sym_preproc_elif_token1] = ACTIONS(2707), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2707), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2707), + [sym_preproc_directive] = ACTIONS(2707), + [anon_sym_LPAREN2] = ACTIONS(2709), + [anon_sym_BANG] = ACTIONS(2709), + [anon_sym_TILDE] = ACTIONS(2709), + [anon_sym_DASH] = ACTIONS(2707), + [anon_sym_PLUS] = ACTIONS(2707), + [anon_sym_STAR] = ACTIONS(2709), + [anon_sym_AMP_AMP] = ACTIONS(2709), + [anon_sym_AMP] = ACTIONS(2707), + [anon_sym_SEMI] = ACTIONS(2709), + [anon_sym___extension__] = ACTIONS(2707), + [anon_sym_typedef] = ACTIONS(2707), + [anon_sym_extern] = ACTIONS(2707), + [anon_sym___attribute__] = ACTIONS(2707), + [anon_sym_COLON_COLON] = ACTIONS(2709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2709), + [anon_sym___declspec] = ACTIONS(2707), + [anon_sym___based] = ACTIONS(2707), + [anon_sym___cdecl] = ACTIONS(2707), + [anon_sym___clrcall] = ACTIONS(2707), + [anon_sym___stdcall] = ACTIONS(2707), + [anon_sym___fastcall] = ACTIONS(2707), + [anon_sym___thiscall] = ACTIONS(2707), + [anon_sym___vectorcall] = ACTIONS(2707), + [anon_sym_LBRACE] = ACTIONS(2709), + [anon_sym_signed] = ACTIONS(2707), + [anon_sym_unsigned] = ACTIONS(2707), + [anon_sym_long] = ACTIONS(2707), + [anon_sym_short] = ACTIONS(2707), + [anon_sym_LBRACK] = ACTIONS(2707), + [anon_sym_static] = ACTIONS(2707), + [anon_sym_register] = ACTIONS(2707), + [anon_sym_inline] = ACTIONS(2707), + [anon_sym___inline] = ACTIONS(2707), + [anon_sym___inline__] = ACTIONS(2707), + [anon_sym___forceinline] = ACTIONS(2707), + [anon_sym_thread_local] = ACTIONS(2707), + [anon_sym___thread] = ACTIONS(2707), + [anon_sym_const] = ACTIONS(2707), + [anon_sym_constexpr] = ACTIONS(2707), + [anon_sym_volatile] = ACTIONS(2707), + [anon_sym_restrict] = ACTIONS(2707), + [anon_sym___restrict__] = ACTIONS(2707), + [anon_sym__Atomic] = ACTIONS(2707), + [anon_sym__Noreturn] = ACTIONS(2707), + [anon_sym_noreturn] = ACTIONS(2707), + [anon_sym_mutable] = ACTIONS(2707), + [anon_sym_constinit] = ACTIONS(2707), + [anon_sym_consteval] = ACTIONS(2707), + [anon_sym_alignas] = ACTIONS(2707), + [anon_sym__Alignas] = ACTIONS(2707), + [sym_primitive_type] = ACTIONS(2707), + [anon_sym_enum] = ACTIONS(2707), + [anon_sym_class] = ACTIONS(2707), + [anon_sym_struct] = ACTIONS(2707), + [anon_sym_union] = ACTIONS(2707), + [anon_sym_if] = ACTIONS(2707), + [anon_sym_else] = ACTIONS(2707), + [anon_sym_switch] = ACTIONS(2707), + [anon_sym_case] = ACTIONS(2707), + [anon_sym_default] = ACTIONS(2707), + [anon_sym_while] = ACTIONS(2707), + [anon_sym_do] = ACTIONS(2707), + [anon_sym_for] = ACTIONS(2707), + [anon_sym_return] = ACTIONS(2707), + [anon_sym_break] = ACTIONS(2707), + [anon_sym_continue] = ACTIONS(2707), + [anon_sym_goto] = ACTIONS(2707), + [anon_sym___try] = ACTIONS(2707), + [anon_sym___leave] = ACTIONS(2707), + [anon_sym_not] = ACTIONS(2707), + [anon_sym_compl] = ACTIONS(2707), + [anon_sym_DASH_DASH] = ACTIONS(2709), + [anon_sym_PLUS_PLUS] = ACTIONS(2709), + [anon_sym_sizeof] = ACTIONS(2707), + [anon_sym___alignof__] = ACTIONS(2707), + [anon_sym___alignof] = ACTIONS(2707), + [anon_sym__alignof] = ACTIONS(2707), + [anon_sym_alignof] = ACTIONS(2707), + [anon_sym__Alignof] = ACTIONS(2707), + [anon_sym_offsetof] = ACTIONS(2707), + [anon_sym__Generic] = ACTIONS(2707), + [anon_sym_asm] = ACTIONS(2707), + [anon_sym___asm__] = ACTIONS(2707), + [sym__number_literal] = ACTIONS(2709), + [anon_sym_L_SQUOTE] = ACTIONS(2709), + [anon_sym_u_SQUOTE] = ACTIONS(2709), + [anon_sym_U_SQUOTE] = ACTIONS(2709), + [anon_sym_u8_SQUOTE] = ACTIONS(2709), + [anon_sym_SQUOTE] = ACTIONS(2709), + [anon_sym_L_DQUOTE] = ACTIONS(2709), + [anon_sym_u_DQUOTE] = ACTIONS(2709), + [anon_sym_U_DQUOTE] = ACTIONS(2709), + [anon_sym_u8_DQUOTE] = ACTIONS(2709), + [anon_sym_DQUOTE] = ACTIONS(2709), + [sym_true] = ACTIONS(2707), + [sym_false] = ACTIONS(2707), + [anon_sym_NULL] = ACTIONS(2707), + [anon_sym_nullptr] = ACTIONS(2707), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2709), + [sym_auto] = ACTIONS(2707), + [anon_sym_decltype] = ACTIONS(2707), + [sym_virtual] = ACTIONS(2707), + [anon_sym_explicit] = ACTIONS(2707), + [anon_sym_typename] = ACTIONS(2707), + [anon_sym_template] = ACTIONS(2707), + [anon_sym_operator] = ACTIONS(2707), + [anon_sym_try] = ACTIONS(2707), + [anon_sym_delete] = ACTIONS(2707), + [anon_sym_throw] = ACTIONS(2707), + [anon_sym_namespace] = ACTIONS(2707), + [anon_sym_using] = ACTIONS(2707), + [anon_sym_static_assert] = ACTIONS(2707), + [anon_sym_concept] = ACTIONS(2707), + [anon_sym_co_return] = ACTIONS(2707), + [anon_sym_co_yield] = ACTIONS(2707), + [anon_sym_R_DQUOTE] = ACTIONS(2709), + [anon_sym_LR_DQUOTE] = ACTIONS(2709), + [anon_sym_uR_DQUOTE] = ACTIONS(2709), + [anon_sym_UR_DQUOTE] = ACTIONS(2709), + [anon_sym_u8R_DQUOTE] = ACTIONS(2709), + [anon_sym_co_await] = ACTIONS(2707), + [anon_sym_new] = ACTIONS(2707), + [anon_sym_requires] = ACTIONS(2707), + [sym_this] = ACTIONS(2707), + }, + [270] = { + [sym__identifier] = ACTIONS(2584), + [aux_sym_preproc_include_token1] = ACTIONS(2584), + [aux_sym_preproc_def_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token2] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2584), + [aux_sym_preproc_else_token1] = ACTIONS(2584), + [aux_sym_preproc_elif_token1] = ACTIONS(2584), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2584), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2584), + [sym_preproc_directive] = ACTIONS(2584), + [anon_sym_LPAREN2] = ACTIONS(2589), + [anon_sym_BANG] = ACTIONS(2589), + [anon_sym_TILDE] = ACTIONS(2589), + [anon_sym_DASH] = ACTIONS(2584), + [anon_sym_PLUS] = ACTIONS(2584), + [anon_sym_STAR] = ACTIONS(2589), + [anon_sym_AMP_AMP] = ACTIONS(2589), + [anon_sym_AMP] = ACTIONS(2584), + [anon_sym_SEMI] = ACTIONS(2589), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_typedef] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2589), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym___based] = ACTIONS(2584), + [anon_sym___cdecl] = ACTIONS(2584), + [anon_sym___clrcall] = ACTIONS(2584), + [anon_sym___stdcall] = ACTIONS(2584), + [anon_sym___fastcall] = ACTIONS(2584), + [anon_sym___thiscall] = ACTIONS(2584), + [anon_sym___vectorcall] = ACTIONS(2584), + [anon_sym_LBRACE] = ACTIONS(2589), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(2584), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2584), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_if] = ACTIONS(2584), + [anon_sym_else] = ACTIONS(2584), + [anon_sym_switch] = ACTIONS(2584), + [anon_sym_case] = ACTIONS(2584), + [anon_sym_default] = ACTIONS(2584), + [anon_sym_while] = ACTIONS(2584), + [anon_sym_do] = ACTIONS(2584), + [anon_sym_for] = ACTIONS(2584), + [anon_sym_return] = ACTIONS(2584), + [anon_sym_break] = ACTIONS(2584), + [anon_sym_continue] = ACTIONS(2584), + [anon_sym_goto] = ACTIONS(2584), + [anon_sym___try] = ACTIONS(2584), + [anon_sym___leave] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(2584), + [anon_sym_compl] = ACTIONS(2584), + [anon_sym_DASH_DASH] = ACTIONS(2589), + [anon_sym_PLUS_PLUS] = ACTIONS(2589), + [anon_sym_sizeof] = ACTIONS(2584), + [anon_sym___alignof__] = ACTIONS(2584), + [anon_sym___alignof] = ACTIONS(2584), + [anon_sym__alignof] = ACTIONS(2584), + [anon_sym_alignof] = ACTIONS(2584), + [anon_sym__Alignof] = ACTIONS(2584), + [anon_sym_offsetof] = ACTIONS(2584), + [anon_sym__Generic] = ACTIONS(2584), + [anon_sym_asm] = ACTIONS(2584), + [anon_sym___asm__] = ACTIONS(2584), + [sym__number_literal] = ACTIONS(2589), + [anon_sym_L_SQUOTE] = ACTIONS(2589), + [anon_sym_u_SQUOTE] = ACTIONS(2589), + [anon_sym_U_SQUOTE] = ACTIONS(2589), + [anon_sym_u8_SQUOTE] = ACTIONS(2589), + [anon_sym_SQUOTE] = ACTIONS(2589), + [anon_sym_L_DQUOTE] = ACTIONS(2589), + [anon_sym_u_DQUOTE] = ACTIONS(2589), + [anon_sym_U_DQUOTE] = ACTIONS(2589), + [anon_sym_u8_DQUOTE] = ACTIONS(2589), + [anon_sym_DQUOTE] = ACTIONS(2589), + [sym_true] = ACTIONS(2584), + [sym_false] = ACTIONS(2584), + [anon_sym_NULL] = ACTIONS(2584), + [anon_sym_nullptr] = ACTIONS(2584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2589), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2584), + [sym_virtual] = ACTIONS(2584), + [anon_sym_explicit] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2584), + [anon_sym_operator] = ACTIONS(2584), + [anon_sym_try] = ACTIONS(2584), + [anon_sym_delete] = ACTIONS(2584), + [anon_sym_throw] = ACTIONS(2584), + [anon_sym_namespace] = ACTIONS(2584), + [anon_sym_using] = ACTIONS(2584), + [anon_sym_static_assert] = ACTIONS(2584), + [anon_sym_concept] = ACTIONS(2584), + [anon_sym_co_return] = ACTIONS(2584), + [anon_sym_co_yield] = ACTIONS(2584), + [anon_sym_R_DQUOTE] = ACTIONS(2589), + [anon_sym_LR_DQUOTE] = ACTIONS(2589), + [anon_sym_uR_DQUOTE] = ACTIONS(2589), + [anon_sym_UR_DQUOTE] = ACTIONS(2589), + [anon_sym_u8R_DQUOTE] = ACTIONS(2589), + [anon_sym_co_await] = ACTIONS(2584), + [anon_sym_new] = ACTIONS(2584), + [anon_sym_requires] = ACTIONS(2584), + [sym_this] = ACTIONS(2584), + }, + [271] = { + [sym__identifier] = ACTIONS(2711), + [aux_sym_preproc_include_token1] = ACTIONS(2711), + [aux_sym_preproc_def_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token2] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2711), + [aux_sym_preproc_else_token1] = ACTIONS(2711), + [aux_sym_preproc_elif_token1] = ACTIONS(2711), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2711), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2711), + [sym_preproc_directive] = ACTIONS(2711), + [anon_sym_LPAREN2] = ACTIONS(2713), + [anon_sym_BANG] = ACTIONS(2713), + [anon_sym_TILDE] = ACTIONS(2713), + [anon_sym_DASH] = ACTIONS(2711), + [anon_sym_PLUS] = ACTIONS(2711), + [anon_sym_STAR] = ACTIONS(2713), + [anon_sym_AMP_AMP] = ACTIONS(2713), + [anon_sym_AMP] = ACTIONS(2711), + [anon_sym_SEMI] = ACTIONS(2713), + [anon_sym___extension__] = ACTIONS(2711), + [anon_sym_typedef] = ACTIONS(2711), + [anon_sym_extern] = ACTIONS(2711), + [anon_sym___attribute__] = ACTIONS(2711), + [anon_sym_COLON_COLON] = ACTIONS(2713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2713), + [anon_sym___declspec] = ACTIONS(2711), + [anon_sym___based] = ACTIONS(2711), + [anon_sym___cdecl] = ACTIONS(2711), + [anon_sym___clrcall] = ACTIONS(2711), + [anon_sym___stdcall] = ACTIONS(2711), + [anon_sym___fastcall] = ACTIONS(2711), + [anon_sym___thiscall] = ACTIONS(2711), + [anon_sym___vectorcall] = ACTIONS(2711), + [anon_sym_LBRACE] = ACTIONS(2713), + [anon_sym_signed] = ACTIONS(2711), + [anon_sym_unsigned] = ACTIONS(2711), + [anon_sym_long] = ACTIONS(2711), + [anon_sym_short] = ACTIONS(2711), + [anon_sym_LBRACK] = ACTIONS(2711), + [anon_sym_static] = ACTIONS(2711), + [anon_sym_register] = ACTIONS(2711), + [anon_sym_inline] = ACTIONS(2711), + [anon_sym___inline] = ACTIONS(2711), + [anon_sym___inline__] = ACTIONS(2711), + [anon_sym___forceinline] = ACTIONS(2711), + [anon_sym_thread_local] = ACTIONS(2711), + [anon_sym___thread] = ACTIONS(2711), + [anon_sym_const] = ACTIONS(2711), + [anon_sym_constexpr] = ACTIONS(2711), + [anon_sym_volatile] = ACTIONS(2711), + [anon_sym_restrict] = ACTIONS(2711), + [anon_sym___restrict__] = ACTIONS(2711), + [anon_sym__Atomic] = ACTIONS(2711), + [anon_sym__Noreturn] = ACTIONS(2711), + [anon_sym_noreturn] = ACTIONS(2711), + [anon_sym_mutable] = ACTIONS(2711), + [anon_sym_constinit] = ACTIONS(2711), + [anon_sym_consteval] = ACTIONS(2711), + [anon_sym_alignas] = ACTIONS(2711), + [anon_sym__Alignas] = ACTIONS(2711), + [sym_primitive_type] = ACTIONS(2711), + [anon_sym_enum] = ACTIONS(2711), + [anon_sym_class] = ACTIONS(2711), + [anon_sym_struct] = ACTIONS(2711), + [anon_sym_union] = ACTIONS(2711), + [anon_sym_if] = ACTIONS(2711), + [anon_sym_else] = ACTIONS(2711), + [anon_sym_switch] = ACTIONS(2711), + [anon_sym_case] = ACTIONS(2711), + [anon_sym_default] = ACTIONS(2711), + [anon_sym_while] = ACTIONS(2711), + [anon_sym_do] = ACTIONS(2711), + [anon_sym_for] = ACTIONS(2711), + [anon_sym_return] = ACTIONS(2711), + [anon_sym_break] = ACTIONS(2711), + [anon_sym_continue] = ACTIONS(2711), + [anon_sym_goto] = ACTIONS(2711), + [anon_sym___try] = ACTIONS(2711), + [anon_sym___leave] = ACTIONS(2711), + [anon_sym_not] = ACTIONS(2711), + [anon_sym_compl] = ACTIONS(2711), + [anon_sym_DASH_DASH] = ACTIONS(2713), + [anon_sym_PLUS_PLUS] = ACTIONS(2713), + [anon_sym_sizeof] = ACTIONS(2711), + [anon_sym___alignof__] = ACTIONS(2711), + [anon_sym___alignof] = ACTIONS(2711), + [anon_sym__alignof] = ACTIONS(2711), + [anon_sym_alignof] = ACTIONS(2711), + [anon_sym__Alignof] = ACTIONS(2711), + [anon_sym_offsetof] = ACTIONS(2711), + [anon_sym__Generic] = ACTIONS(2711), + [anon_sym_asm] = ACTIONS(2711), + [anon_sym___asm__] = ACTIONS(2711), + [sym__number_literal] = ACTIONS(2713), + [anon_sym_L_SQUOTE] = ACTIONS(2713), + [anon_sym_u_SQUOTE] = ACTIONS(2713), + [anon_sym_U_SQUOTE] = ACTIONS(2713), + [anon_sym_u8_SQUOTE] = ACTIONS(2713), + [anon_sym_SQUOTE] = ACTIONS(2713), + [anon_sym_L_DQUOTE] = ACTIONS(2713), + [anon_sym_u_DQUOTE] = ACTIONS(2713), + [anon_sym_U_DQUOTE] = ACTIONS(2713), + [anon_sym_u8_DQUOTE] = ACTIONS(2713), + [anon_sym_DQUOTE] = ACTIONS(2713), + [sym_true] = ACTIONS(2711), + [sym_false] = ACTIONS(2711), + [anon_sym_NULL] = ACTIONS(2711), + [anon_sym_nullptr] = ACTIONS(2711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2713), + [sym_auto] = ACTIONS(2711), + [anon_sym_decltype] = ACTIONS(2711), + [sym_virtual] = ACTIONS(2711), + [anon_sym_explicit] = ACTIONS(2711), + [anon_sym_typename] = ACTIONS(2711), + [anon_sym_template] = ACTIONS(2711), + [anon_sym_operator] = ACTIONS(2711), + [anon_sym_try] = ACTIONS(2711), + [anon_sym_delete] = ACTIONS(2711), + [anon_sym_throw] = ACTIONS(2711), + [anon_sym_namespace] = ACTIONS(2711), + [anon_sym_using] = ACTIONS(2711), + [anon_sym_static_assert] = ACTIONS(2711), + [anon_sym_concept] = ACTIONS(2711), + [anon_sym_co_return] = ACTIONS(2711), + [anon_sym_co_yield] = ACTIONS(2711), + [anon_sym_R_DQUOTE] = ACTIONS(2713), + [anon_sym_LR_DQUOTE] = ACTIONS(2713), + [anon_sym_uR_DQUOTE] = ACTIONS(2713), + [anon_sym_UR_DQUOTE] = ACTIONS(2713), + [anon_sym_u8R_DQUOTE] = ACTIONS(2713), + [anon_sym_co_await] = ACTIONS(2711), + [anon_sym_new] = ACTIONS(2711), + [anon_sym_requires] = ACTIONS(2711), + [sym_this] = ACTIONS(2711), + }, + [272] = { + [sym__identifier] = ACTIONS(2715), + [aux_sym_preproc_include_token1] = ACTIONS(2715), + [aux_sym_preproc_def_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token2] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2715), + [aux_sym_preproc_else_token1] = ACTIONS(2715), + [aux_sym_preproc_elif_token1] = ACTIONS(2715), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2715), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2715), + [sym_preproc_directive] = ACTIONS(2715), + [anon_sym_LPAREN2] = ACTIONS(2717), + [anon_sym_BANG] = ACTIONS(2717), + [anon_sym_TILDE] = ACTIONS(2717), + [anon_sym_DASH] = ACTIONS(2715), + [anon_sym_PLUS] = ACTIONS(2715), + [anon_sym_STAR] = ACTIONS(2717), + [anon_sym_AMP_AMP] = ACTIONS(2717), + [anon_sym_AMP] = ACTIONS(2715), + [anon_sym_SEMI] = ACTIONS(2717), + [anon_sym___extension__] = ACTIONS(2715), + [anon_sym_typedef] = ACTIONS(2715), + [anon_sym_extern] = ACTIONS(2715), + [anon_sym___attribute__] = ACTIONS(2715), + [anon_sym_COLON_COLON] = ACTIONS(2717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2717), + [anon_sym___declspec] = ACTIONS(2715), + [anon_sym___based] = ACTIONS(2715), + [anon_sym___cdecl] = ACTIONS(2715), + [anon_sym___clrcall] = ACTIONS(2715), + [anon_sym___stdcall] = ACTIONS(2715), + [anon_sym___fastcall] = ACTIONS(2715), + [anon_sym___thiscall] = ACTIONS(2715), + [anon_sym___vectorcall] = ACTIONS(2715), + [anon_sym_LBRACE] = ACTIONS(2717), + [anon_sym_signed] = ACTIONS(2715), + [anon_sym_unsigned] = ACTIONS(2715), + [anon_sym_long] = ACTIONS(2715), + [anon_sym_short] = ACTIONS(2715), + [anon_sym_LBRACK] = ACTIONS(2715), + [anon_sym_static] = ACTIONS(2715), + [anon_sym_register] = ACTIONS(2715), + [anon_sym_inline] = ACTIONS(2715), + [anon_sym___inline] = ACTIONS(2715), + [anon_sym___inline__] = ACTIONS(2715), + [anon_sym___forceinline] = ACTIONS(2715), + [anon_sym_thread_local] = ACTIONS(2715), + [anon_sym___thread] = ACTIONS(2715), + [anon_sym_const] = ACTIONS(2715), + [anon_sym_constexpr] = ACTIONS(2715), + [anon_sym_volatile] = ACTIONS(2715), + [anon_sym_restrict] = ACTIONS(2715), + [anon_sym___restrict__] = ACTIONS(2715), + [anon_sym__Atomic] = ACTIONS(2715), + [anon_sym__Noreturn] = ACTIONS(2715), + [anon_sym_noreturn] = ACTIONS(2715), + [anon_sym_mutable] = ACTIONS(2715), + [anon_sym_constinit] = ACTIONS(2715), + [anon_sym_consteval] = ACTIONS(2715), + [anon_sym_alignas] = ACTIONS(2715), + [anon_sym__Alignas] = ACTIONS(2715), + [sym_primitive_type] = ACTIONS(2715), + [anon_sym_enum] = ACTIONS(2715), + [anon_sym_class] = ACTIONS(2715), + [anon_sym_struct] = ACTIONS(2715), + [anon_sym_union] = ACTIONS(2715), + [anon_sym_if] = ACTIONS(2715), + [anon_sym_else] = ACTIONS(2715), + [anon_sym_switch] = ACTIONS(2715), + [anon_sym_case] = ACTIONS(2715), + [anon_sym_default] = ACTIONS(2715), + [anon_sym_while] = ACTIONS(2715), + [anon_sym_do] = ACTIONS(2715), + [anon_sym_for] = ACTIONS(2715), + [anon_sym_return] = ACTIONS(2715), + [anon_sym_break] = ACTIONS(2715), + [anon_sym_continue] = ACTIONS(2715), + [anon_sym_goto] = ACTIONS(2715), + [anon_sym___try] = ACTIONS(2715), + [anon_sym___leave] = ACTIONS(2715), + [anon_sym_not] = ACTIONS(2715), + [anon_sym_compl] = ACTIONS(2715), + [anon_sym_DASH_DASH] = ACTIONS(2717), + [anon_sym_PLUS_PLUS] = ACTIONS(2717), + [anon_sym_sizeof] = ACTIONS(2715), + [anon_sym___alignof__] = ACTIONS(2715), + [anon_sym___alignof] = ACTIONS(2715), + [anon_sym__alignof] = ACTIONS(2715), + [anon_sym_alignof] = ACTIONS(2715), + [anon_sym__Alignof] = ACTIONS(2715), + [anon_sym_offsetof] = ACTIONS(2715), + [anon_sym__Generic] = ACTIONS(2715), + [anon_sym_asm] = ACTIONS(2715), + [anon_sym___asm__] = ACTIONS(2715), + [sym__number_literal] = ACTIONS(2717), + [anon_sym_L_SQUOTE] = ACTIONS(2717), + [anon_sym_u_SQUOTE] = ACTIONS(2717), + [anon_sym_U_SQUOTE] = ACTIONS(2717), + [anon_sym_u8_SQUOTE] = ACTIONS(2717), + [anon_sym_SQUOTE] = ACTIONS(2717), + [anon_sym_L_DQUOTE] = ACTIONS(2717), + [anon_sym_u_DQUOTE] = ACTIONS(2717), + [anon_sym_U_DQUOTE] = ACTIONS(2717), + [anon_sym_u8_DQUOTE] = ACTIONS(2717), + [anon_sym_DQUOTE] = ACTIONS(2717), + [sym_true] = ACTIONS(2715), + [sym_false] = ACTIONS(2715), + [anon_sym_NULL] = ACTIONS(2715), + [anon_sym_nullptr] = ACTIONS(2715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2717), + [sym_auto] = ACTIONS(2715), + [anon_sym_decltype] = ACTIONS(2715), + [sym_virtual] = ACTIONS(2715), + [anon_sym_explicit] = ACTIONS(2715), + [anon_sym_typename] = ACTIONS(2715), + [anon_sym_template] = ACTIONS(2715), + [anon_sym_operator] = ACTIONS(2715), + [anon_sym_try] = ACTIONS(2715), + [anon_sym_delete] = ACTIONS(2715), + [anon_sym_throw] = ACTIONS(2715), + [anon_sym_namespace] = ACTIONS(2715), + [anon_sym_using] = ACTIONS(2715), + [anon_sym_static_assert] = ACTIONS(2715), + [anon_sym_concept] = ACTIONS(2715), + [anon_sym_co_return] = ACTIONS(2715), + [anon_sym_co_yield] = ACTIONS(2715), + [anon_sym_R_DQUOTE] = ACTIONS(2717), + [anon_sym_LR_DQUOTE] = ACTIONS(2717), + [anon_sym_uR_DQUOTE] = ACTIONS(2717), + [anon_sym_UR_DQUOTE] = ACTIONS(2717), + [anon_sym_u8R_DQUOTE] = ACTIONS(2717), + [anon_sym_co_await] = ACTIONS(2715), + [anon_sym_new] = ACTIONS(2715), + [anon_sym_requires] = ACTIONS(2715), + [sym_this] = ACTIONS(2715), + }, + [273] = { + [sym__identifier] = ACTIONS(2719), + [aux_sym_preproc_include_token1] = ACTIONS(2719), + [aux_sym_preproc_def_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token2] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2719), + [aux_sym_preproc_else_token1] = ACTIONS(2719), + [aux_sym_preproc_elif_token1] = ACTIONS(2719), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2719), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2719), + [sym_preproc_directive] = ACTIONS(2719), + [anon_sym_LPAREN2] = ACTIONS(2721), + [anon_sym_BANG] = ACTIONS(2721), + [anon_sym_TILDE] = ACTIONS(2721), + [anon_sym_DASH] = ACTIONS(2719), + [anon_sym_PLUS] = ACTIONS(2719), + [anon_sym_STAR] = ACTIONS(2721), + [anon_sym_AMP_AMP] = ACTIONS(2721), + [anon_sym_AMP] = ACTIONS(2719), + [anon_sym_SEMI] = ACTIONS(2721), + [anon_sym___extension__] = ACTIONS(2719), + [anon_sym_typedef] = ACTIONS(2719), + [anon_sym_extern] = ACTIONS(2719), + [anon_sym___attribute__] = ACTIONS(2719), + [anon_sym_COLON_COLON] = ACTIONS(2721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2721), + [anon_sym___declspec] = ACTIONS(2719), + [anon_sym___based] = ACTIONS(2719), + [anon_sym___cdecl] = ACTIONS(2719), + [anon_sym___clrcall] = ACTIONS(2719), + [anon_sym___stdcall] = ACTIONS(2719), + [anon_sym___fastcall] = ACTIONS(2719), + [anon_sym___thiscall] = ACTIONS(2719), + [anon_sym___vectorcall] = ACTIONS(2719), + [anon_sym_LBRACE] = ACTIONS(2721), + [anon_sym_signed] = ACTIONS(2719), + [anon_sym_unsigned] = ACTIONS(2719), + [anon_sym_long] = ACTIONS(2719), + [anon_sym_short] = ACTIONS(2719), + [anon_sym_LBRACK] = ACTIONS(2719), + [anon_sym_static] = ACTIONS(2719), + [anon_sym_register] = ACTIONS(2719), + [anon_sym_inline] = ACTIONS(2719), + [anon_sym___inline] = ACTIONS(2719), + [anon_sym___inline__] = ACTIONS(2719), + [anon_sym___forceinline] = ACTIONS(2719), + [anon_sym_thread_local] = ACTIONS(2719), + [anon_sym___thread] = ACTIONS(2719), + [anon_sym_const] = ACTIONS(2719), + [anon_sym_constexpr] = ACTIONS(2719), + [anon_sym_volatile] = ACTIONS(2719), + [anon_sym_restrict] = ACTIONS(2719), + [anon_sym___restrict__] = ACTIONS(2719), + [anon_sym__Atomic] = ACTIONS(2719), + [anon_sym__Noreturn] = ACTIONS(2719), + [anon_sym_noreturn] = ACTIONS(2719), + [anon_sym_mutable] = ACTIONS(2719), + [anon_sym_constinit] = ACTIONS(2719), + [anon_sym_consteval] = ACTIONS(2719), + [anon_sym_alignas] = ACTIONS(2719), + [anon_sym__Alignas] = ACTIONS(2719), + [sym_primitive_type] = ACTIONS(2719), + [anon_sym_enum] = ACTIONS(2719), + [anon_sym_class] = ACTIONS(2719), + [anon_sym_struct] = ACTIONS(2719), + [anon_sym_union] = ACTIONS(2719), + [anon_sym_if] = ACTIONS(2719), + [anon_sym_else] = ACTIONS(2719), + [anon_sym_switch] = ACTIONS(2719), + [anon_sym_case] = ACTIONS(2719), + [anon_sym_default] = ACTIONS(2719), + [anon_sym_while] = ACTIONS(2719), + [anon_sym_do] = ACTIONS(2719), + [anon_sym_for] = ACTIONS(2719), + [anon_sym_return] = ACTIONS(2719), + [anon_sym_break] = ACTIONS(2719), + [anon_sym_continue] = ACTIONS(2719), + [anon_sym_goto] = ACTIONS(2719), + [anon_sym___try] = ACTIONS(2719), + [anon_sym___leave] = ACTIONS(2719), + [anon_sym_not] = ACTIONS(2719), + [anon_sym_compl] = ACTIONS(2719), + [anon_sym_DASH_DASH] = ACTIONS(2721), + [anon_sym_PLUS_PLUS] = ACTIONS(2721), + [anon_sym_sizeof] = ACTIONS(2719), + [anon_sym___alignof__] = ACTIONS(2719), + [anon_sym___alignof] = ACTIONS(2719), + [anon_sym__alignof] = ACTIONS(2719), + [anon_sym_alignof] = ACTIONS(2719), + [anon_sym__Alignof] = ACTIONS(2719), + [anon_sym_offsetof] = ACTIONS(2719), + [anon_sym__Generic] = ACTIONS(2719), + [anon_sym_asm] = ACTIONS(2719), + [anon_sym___asm__] = ACTIONS(2719), + [sym__number_literal] = ACTIONS(2721), + [anon_sym_L_SQUOTE] = ACTIONS(2721), + [anon_sym_u_SQUOTE] = ACTIONS(2721), + [anon_sym_U_SQUOTE] = ACTIONS(2721), + [anon_sym_u8_SQUOTE] = ACTIONS(2721), + [anon_sym_SQUOTE] = ACTIONS(2721), + [anon_sym_L_DQUOTE] = ACTIONS(2721), + [anon_sym_u_DQUOTE] = ACTIONS(2721), + [anon_sym_U_DQUOTE] = ACTIONS(2721), + [anon_sym_u8_DQUOTE] = ACTIONS(2721), + [anon_sym_DQUOTE] = ACTIONS(2721), + [sym_true] = ACTIONS(2719), + [sym_false] = ACTIONS(2719), + [anon_sym_NULL] = ACTIONS(2719), + [anon_sym_nullptr] = ACTIONS(2719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2721), + [sym_auto] = ACTIONS(2719), + [anon_sym_decltype] = ACTIONS(2719), + [sym_virtual] = ACTIONS(2719), + [anon_sym_explicit] = ACTIONS(2719), + [anon_sym_typename] = ACTIONS(2719), + [anon_sym_template] = ACTIONS(2719), + [anon_sym_operator] = ACTIONS(2719), + [anon_sym_try] = ACTIONS(2719), + [anon_sym_delete] = ACTIONS(2719), + [anon_sym_throw] = ACTIONS(2719), + [anon_sym_namespace] = ACTIONS(2719), + [anon_sym_using] = ACTIONS(2719), + [anon_sym_static_assert] = ACTIONS(2719), + [anon_sym_concept] = ACTIONS(2719), + [anon_sym_co_return] = ACTIONS(2719), + [anon_sym_co_yield] = ACTIONS(2719), + [anon_sym_R_DQUOTE] = ACTIONS(2721), + [anon_sym_LR_DQUOTE] = ACTIONS(2721), + [anon_sym_uR_DQUOTE] = ACTIONS(2721), + [anon_sym_UR_DQUOTE] = ACTIONS(2721), + [anon_sym_u8R_DQUOTE] = ACTIONS(2721), + [anon_sym_co_await] = ACTIONS(2719), + [anon_sym_new] = ACTIONS(2719), + [anon_sym_requires] = ACTIONS(2719), + [sym_this] = ACTIONS(2719), + }, + [274] = { + [sym__identifier] = ACTIONS(2723), + [aux_sym_preproc_include_token1] = ACTIONS(2723), + [aux_sym_preproc_def_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token2] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2723), + [aux_sym_preproc_else_token1] = ACTIONS(2723), + [aux_sym_preproc_elif_token1] = ACTIONS(2723), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2723), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2723), + [sym_preproc_directive] = ACTIONS(2723), + [anon_sym_LPAREN2] = ACTIONS(2725), + [anon_sym_BANG] = ACTIONS(2725), + [anon_sym_TILDE] = ACTIONS(2725), + [anon_sym_DASH] = ACTIONS(2723), + [anon_sym_PLUS] = ACTIONS(2723), + [anon_sym_STAR] = ACTIONS(2725), + [anon_sym_AMP_AMP] = ACTIONS(2725), + [anon_sym_AMP] = ACTIONS(2723), + [anon_sym_SEMI] = ACTIONS(2725), + [anon_sym___extension__] = ACTIONS(2723), + [anon_sym_typedef] = ACTIONS(2723), + [anon_sym_extern] = ACTIONS(2723), + [anon_sym___attribute__] = ACTIONS(2723), + [anon_sym_COLON_COLON] = ACTIONS(2725), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2725), + [anon_sym___declspec] = ACTIONS(2723), + [anon_sym___based] = ACTIONS(2723), + [anon_sym___cdecl] = ACTIONS(2723), + [anon_sym___clrcall] = ACTIONS(2723), + [anon_sym___stdcall] = ACTIONS(2723), + [anon_sym___fastcall] = ACTIONS(2723), + [anon_sym___thiscall] = ACTIONS(2723), + [anon_sym___vectorcall] = ACTIONS(2723), + [anon_sym_LBRACE] = ACTIONS(2725), + [anon_sym_signed] = ACTIONS(2723), + [anon_sym_unsigned] = ACTIONS(2723), + [anon_sym_long] = ACTIONS(2723), + [anon_sym_short] = ACTIONS(2723), + [anon_sym_LBRACK] = ACTIONS(2723), + [anon_sym_static] = ACTIONS(2723), + [anon_sym_register] = ACTIONS(2723), + [anon_sym_inline] = ACTIONS(2723), + [anon_sym___inline] = ACTIONS(2723), + [anon_sym___inline__] = ACTIONS(2723), + [anon_sym___forceinline] = ACTIONS(2723), + [anon_sym_thread_local] = ACTIONS(2723), + [anon_sym___thread] = ACTIONS(2723), + [anon_sym_const] = ACTIONS(2723), + [anon_sym_constexpr] = ACTIONS(2723), + [anon_sym_volatile] = ACTIONS(2723), + [anon_sym_restrict] = ACTIONS(2723), + [anon_sym___restrict__] = ACTIONS(2723), + [anon_sym__Atomic] = ACTIONS(2723), + [anon_sym__Noreturn] = ACTIONS(2723), + [anon_sym_noreturn] = ACTIONS(2723), + [anon_sym_mutable] = ACTIONS(2723), + [anon_sym_constinit] = ACTIONS(2723), + [anon_sym_consteval] = ACTIONS(2723), + [anon_sym_alignas] = ACTIONS(2723), + [anon_sym__Alignas] = ACTIONS(2723), + [sym_primitive_type] = ACTIONS(2723), + [anon_sym_enum] = ACTIONS(2723), + [anon_sym_class] = ACTIONS(2723), + [anon_sym_struct] = ACTIONS(2723), + [anon_sym_union] = ACTIONS(2723), + [anon_sym_if] = ACTIONS(2723), + [anon_sym_else] = ACTIONS(2723), + [anon_sym_switch] = ACTIONS(2723), + [anon_sym_case] = ACTIONS(2723), + [anon_sym_default] = ACTIONS(2723), + [anon_sym_while] = ACTIONS(2723), + [anon_sym_do] = ACTIONS(2723), + [anon_sym_for] = ACTIONS(2723), + [anon_sym_return] = ACTIONS(2723), + [anon_sym_break] = ACTIONS(2723), + [anon_sym_continue] = ACTIONS(2723), + [anon_sym_goto] = ACTIONS(2723), + [anon_sym___try] = ACTIONS(2723), + [anon_sym___leave] = ACTIONS(2723), + [anon_sym_not] = ACTIONS(2723), + [anon_sym_compl] = ACTIONS(2723), + [anon_sym_DASH_DASH] = ACTIONS(2725), + [anon_sym_PLUS_PLUS] = ACTIONS(2725), + [anon_sym_sizeof] = ACTIONS(2723), + [anon_sym___alignof__] = ACTIONS(2723), + [anon_sym___alignof] = ACTIONS(2723), + [anon_sym__alignof] = ACTIONS(2723), + [anon_sym_alignof] = ACTIONS(2723), + [anon_sym__Alignof] = ACTIONS(2723), + [anon_sym_offsetof] = ACTIONS(2723), + [anon_sym__Generic] = ACTIONS(2723), + [anon_sym_asm] = ACTIONS(2723), + [anon_sym___asm__] = ACTIONS(2723), + [sym__number_literal] = ACTIONS(2725), + [anon_sym_L_SQUOTE] = ACTIONS(2725), + [anon_sym_u_SQUOTE] = ACTIONS(2725), + [anon_sym_U_SQUOTE] = ACTIONS(2725), + [anon_sym_u8_SQUOTE] = ACTIONS(2725), + [anon_sym_SQUOTE] = ACTIONS(2725), + [anon_sym_L_DQUOTE] = ACTIONS(2725), + [anon_sym_u_DQUOTE] = ACTIONS(2725), + [anon_sym_U_DQUOTE] = ACTIONS(2725), + [anon_sym_u8_DQUOTE] = ACTIONS(2725), + [anon_sym_DQUOTE] = ACTIONS(2725), + [sym_true] = ACTIONS(2723), + [sym_false] = ACTIONS(2723), + [anon_sym_NULL] = ACTIONS(2723), + [anon_sym_nullptr] = ACTIONS(2723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2725), + [sym_auto] = ACTIONS(2723), + [anon_sym_decltype] = ACTIONS(2723), + [sym_virtual] = ACTIONS(2723), + [anon_sym_explicit] = ACTIONS(2723), + [anon_sym_typename] = ACTIONS(2723), + [anon_sym_template] = ACTIONS(2723), + [anon_sym_operator] = ACTIONS(2723), + [anon_sym_try] = ACTIONS(2723), + [anon_sym_delete] = ACTIONS(2723), + [anon_sym_throw] = ACTIONS(2723), + [anon_sym_namespace] = ACTIONS(2723), + [anon_sym_using] = ACTIONS(2723), + [anon_sym_static_assert] = ACTIONS(2723), + [anon_sym_concept] = ACTIONS(2723), + [anon_sym_co_return] = ACTIONS(2723), + [anon_sym_co_yield] = ACTIONS(2723), + [anon_sym_R_DQUOTE] = ACTIONS(2725), + [anon_sym_LR_DQUOTE] = ACTIONS(2725), + [anon_sym_uR_DQUOTE] = ACTIONS(2725), + [anon_sym_UR_DQUOTE] = ACTIONS(2725), + [anon_sym_u8R_DQUOTE] = ACTIONS(2725), + [anon_sym_co_await] = ACTIONS(2723), + [anon_sym_new] = ACTIONS(2723), + [anon_sym_requires] = ACTIONS(2723), + [sym_this] = ACTIONS(2723), + }, + [275] = { + [sym__identifier] = ACTIONS(2727), + [aux_sym_preproc_include_token1] = ACTIONS(2727), + [aux_sym_preproc_def_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token2] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2727), + [aux_sym_preproc_else_token1] = ACTIONS(2727), + [aux_sym_preproc_elif_token1] = ACTIONS(2727), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2727), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2727), + [sym_preproc_directive] = ACTIONS(2727), + [anon_sym_LPAREN2] = ACTIONS(2729), + [anon_sym_BANG] = ACTIONS(2729), + [anon_sym_TILDE] = ACTIONS(2729), + [anon_sym_DASH] = ACTIONS(2727), + [anon_sym_PLUS] = ACTIONS(2727), + [anon_sym_STAR] = ACTIONS(2729), + [anon_sym_AMP_AMP] = ACTIONS(2729), + [anon_sym_AMP] = ACTIONS(2727), + [anon_sym_SEMI] = ACTIONS(2729), + [anon_sym___extension__] = ACTIONS(2727), + [anon_sym_typedef] = ACTIONS(2727), + [anon_sym_extern] = ACTIONS(2727), + [anon_sym___attribute__] = ACTIONS(2727), + [anon_sym_COLON_COLON] = ACTIONS(2729), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2729), + [anon_sym___declspec] = ACTIONS(2727), + [anon_sym___based] = ACTIONS(2727), + [anon_sym___cdecl] = ACTIONS(2727), + [anon_sym___clrcall] = ACTIONS(2727), + [anon_sym___stdcall] = ACTIONS(2727), + [anon_sym___fastcall] = ACTIONS(2727), + [anon_sym___thiscall] = ACTIONS(2727), + [anon_sym___vectorcall] = ACTIONS(2727), + [anon_sym_LBRACE] = ACTIONS(2729), + [anon_sym_signed] = ACTIONS(2727), + [anon_sym_unsigned] = ACTIONS(2727), + [anon_sym_long] = ACTIONS(2727), + [anon_sym_short] = ACTIONS(2727), + [anon_sym_LBRACK] = ACTIONS(2727), + [anon_sym_static] = ACTIONS(2727), + [anon_sym_register] = ACTIONS(2727), + [anon_sym_inline] = ACTIONS(2727), + [anon_sym___inline] = ACTIONS(2727), + [anon_sym___inline__] = ACTIONS(2727), + [anon_sym___forceinline] = ACTIONS(2727), + [anon_sym_thread_local] = ACTIONS(2727), + [anon_sym___thread] = ACTIONS(2727), + [anon_sym_const] = ACTIONS(2727), + [anon_sym_constexpr] = ACTIONS(2727), + [anon_sym_volatile] = ACTIONS(2727), + [anon_sym_restrict] = ACTIONS(2727), + [anon_sym___restrict__] = ACTIONS(2727), + [anon_sym__Atomic] = ACTIONS(2727), + [anon_sym__Noreturn] = ACTIONS(2727), + [anon_sym_noreturn] = ACTIONS(2727), + [anon_sym_mutable] = ACTIONS(2727), + [anon_sym_constinit] = ACTIONS(2727), + [anon_sym_consteval] = ACTIONS(2727), + [anon_sym_alignas] = ACTIONS(2727), + [anon_sym__Alignas] = ACTIONS(2727), + [sym_primitive_type] = ACTIONS(2727), + [anon_sym_enum] = ACTIONS(2727), + [anon_sym_class] = ACTIONS(2727), + [anon_sym_struct] = ACTIONS(2727), + [anon_sym_union] = ACTIONS(2727), + [anon_sym_if] = ACTIONS(2727), + [anon_sym_else] = ACTIONS(2727), + [anon_sym_switch] = ACTIONS(2727), + [anon_sym_case] = ACTIONS(2727), + [anon_sym_default] = ACTIONS(2727), + [anon_sym_while] = ACTIONS(2727), + [anon_sym_do] = ACTIONS(2727), + [anon_sym_for] = ACTIONS(2727), + [anon_sym_return] = ACTIONS(2727), + [anon_sym_break] = ACTIONS(2727), + [anon_sym_continue] = ACTIONS(2727), + [anon_sym_goto] = ACTIONS(2727), + [anon_sym___try] = ACTIONS(2727), + [anon_sym___leave] = ACTIONS(2727), + [anon_sym_not] = ACTIONS(2727), + [anon_sym_compl] = ACTIONS(2727), + [anon_sym_DASH_DASH] = ACTIONS(2729), + [anon_sym_PLUS_PLUS] = ACTIONS(2729), + [anon_sym_sizeof] = ACTIONS(2727), + [anon_sym___alignof__] = ACTIONS(2727), + [anon_sym___alignof] = ACTIONS(2727), + [anon_sym__alignof] = ACTIONS(2727), + [anon_sym_alignof] = ACTIONS(2727), + [anon_sym__Alignof] = ACTIONS(2727), + [anon_sym_offsetof] = ACTIONS(2727), + [anon_sym__Generic] = ACTIONS(2727), + [anon_sym_asm] = ACTIONS(2727), + [anon_sym___asm__] = ACTIONS(2727), + [sym__number_literal] = ACTIONS(2729), + [anon_sym_L_SQUOTE] = ACTIONS(2729), + [anon_sym_u_SQUOTE] = ACTIONS(2729), + [anon_sym_U_SQUOTE] = ACTIONS(2729), + [anon_sym_u8_SQUOTE] = ACTIONS(2729), + [anon_sym_SQUOTE] = ACTIONS(2729), + [anon_sym_L_DQUOTE] = ACTIONS(2729), + [anon_sym_u_DQUOTE] = ACTIONS(2729), + [anon_sym_U_DQUOTE] = ACTIONS(2729), + [anon_sym_u8_DQUOTE] = ACTIONS(2729), + [anon_sym_DQUOTE] = ACTIONS(2729), + [sym_true] = ACTIONS(2727), + [sym_false] = ACTIONS(2727), + [anon_sym_NULL] = ACTIONS(2727), + [anon_sym_nullptr] = ACTIONS(2727), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2729), + [sym_auto] = ACTIONS(2727), + [anon_sym_decltype] = ACTIONS(2727), + [sym_virtual] = ACTIONS(2727), + [anon_sym_explicit] = ACTIONS(2727), + [anon_sym_typename] = ACTIONS(2727), + [anon_sym_template] = ACTIONS(2727), + [anon_sym_operator] = ACTIONS(2727), + [anon_sym_try] = ACTIONS(2727), + [anon_sym_delete] = ACTIONS(2727), + [anon_sym_throw] = ACTIONS(2727), + [anon_sym_namespace] = ACTIONS(2727), + [anon_sym_using] = ACTIONS(2727), + [anon_sym_static_assert] = ACTIONS(2727), + [anon_sym_concept] = ACTIONS(2727), + [anon_sym_co_return] = ACTIONS(2727), + [anon_sym_co_yield] = ACTIONS(2727), + [anon_sym_R_DQUOTE] = ACTIONS(2729), + [anon_sym_LR_DQUOTE] = ACTIONS(2729), + [anon_sym_uR_DQUOTE] = ACTIONS(2729), + [anon_sym_UR_DQUOTE] = ACTIONS(2729), + [anon_sym_u8R_DQUOTE] = ACTIONS(2729), + [anon_sym_co_await] = ACTIONS(2727), + [anon_sym_new] = ACTIONS(2727), + [anon_sym_requires] = ACTIONS(2727), + [sym_this] = ACTIONS(2727), + }, + [276] = { + [sym__identifier] = ACTIONS(2731), + [aux_sym_preproc_include_token1] = ACTIONS(2731), + [aux_sym_preproc_def_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token2] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2731), + [aux_sym_preproc_else_token1] = ACTIONS(2731), + [aux_sym_preproc_elif_token1] = ACTIONS(2731), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2731), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2731), + [sym_preproc_directive] = ACTIONS(2731), + [anon_sym_LPAREN2] = ACTIONS(2733), + [anon_sym_BANG] = ACTIONS(2733), + [anon_sym_TILDE] = ACTIONS(2733), + [anon_sym_DASH] = ACTIONS(2731), + [anon_sym_PLUS] = ACTIONS(2731), + [anon_sym_STAR] = ACTIONS(2733), + [anon_sym_AMP_AMP] = ACTIONS(2733), + [anon_sym_AMP] = ACTIONS(2731), + [anon_sym_SEMI] = ACTIONS(2733), + [anon_sym___extension__] = ACTIONS(2731), + [anon_sym_typedef] = ACTIONS(2731), + [anon_sym_extern] = ACTIONS(2731), + [anon_sym___attribute__] = ACTIONS(2731), + [anon_sym_COLON_COLON] = ACTIONS(2733), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2733), + [anon_sym___declspec] = ACTIONS(2731), + [anon_sym___based] = ACTIONS(2731), + [anon_sym___cdecl] = ACTIONS(2731), + [anon_sym___clrcall] = ACTIONS(2731), + [anon_sym___stdcall] = ACTIONS(2731), + [anon_sym___fastcall] = ACTIONS(2731), + [anon_sym___thiscall] = ACTIONS(2731), + [anon_sym___vectorcall] = ACTIONS(2731), + [anon_sym_LBRACE] = ACTIONS(2733), + [anon_sym_signed] = ACTIONS(2731), + [anon_sym_unsigned] = ACTIONS(2731), + [anon_sym_long] = ACTIONS(2731), + [anon_sym_short] = ACTIONS(2731), + [anon_sym_LBRACK] = ACTIONS(2731), + [anon_sym_static] = ACTIONS(2731), + [anon_sym_register] = ACTIONS(2731), + [anon_sym_inline] = ACTIONS(2731), + [anon_sym___inline] = ACTIONS(2731), + [anon_sym___inline__] = ACTIONS(2731), + [anon_sym___forceinline] = ACTIONS(2731), + [anon_sym_thread_local] = ACTIONS(2731), + [anon_sym___thread] = ACTIONS(2731), + [anon_sym_const] = ACTIONS(2731), + [anon_sym_constexpr] = ACTIONS(2731), + [anon_sym_volatile] = ACTIONS(2731), + [anon_sym_restrict] = ACTIONS(2731), + [anon_sym___restrict__] = ACTIONS(2731), + [anon_sym__Atomic] = ACTIONS(2731), + [anon_sym__Noreturn] = ACTIONS(2731), + [anon_sym_noreturn] = ACTIONS(2731), + [anon_sym_mutable] = ACTIONS(2731), + [anon_sym_constinit] = ACTIONS(2731), + [anon_sym_consteval] = ACTIONS(2731), + [anon_sym_alignas] = ACTIONS(2731), + [anon_sym__Alignas] = ACTIONS(2731), + [sym_primitive_type] = ACTIONS(2731), + [anon_sym_enum] = ACTIONS(2731), + [anon_sym_class] = ACTIONS(2731), + [anon_sym_struct] = ACTIONS(2731), + [anon_sym_union] = ACTIONS(2731), + [anon_sym_if] = ACTIONS(2731), + [anon_sym_else] = ACTIONS(2731), + [anon_sym_switch] = ACTIONS(2731), + [anon_sym_case] = ACTIONS(2731), + [anon_sym_default] = ACTIONS(2731), + [anon_sym_while] = ACTIONS(2731), + [anon_sym_do] = ACTIONS(2731), + [anon_sym_for] = ACTIONS(2731), + [anon_sym_return] = ACTIONS(2731), + [anon_sym_break] = ACTIONS(2731), + [anon_sym_continue] = ACTIONS(2731), + [anon_sym_goto] = ACTIONS(2731), + [anon_sym___try] = ACTIONS(2731), + [anon_sym___leave] = ACTIONS(2731), + [anon_sym_not] = ACTIONS(2731), + [anon_sym_compl] = ACTIONS(2731), + [anon_sym_DASH_DASH] = ACTIONS(2733), + [anon_sym_PLUS_PLUS] = ACTIONS(2733), + [anon_sym_sizeof] = ACTIONS(2731), + [anon_sym___alignof__] = ACTIONS(2731), + [anon_sym___alignof] = ACTIONS(2731), + [anon_sym__alignof] = ACTIONS(2731), + [anon_sym_alignof] = ACTIONS(2731), + [anon_sym__Alignof] = ACTIONS(2731), + [anon_sym_offsetof] = ACTIONS(2731), + [anon_sym__Generic] = ACTIONS(2731), + [anon_sym_asm] = ACTIONS(2731), + [anon_sym___asm__] = ACTIONS(2731), + [sym__number_literal] = ACTIONS(2733), + [anon_sym_L_SQUOTE] = ACTIONS(2733), + [anon_sym_u_SQUOTE] = ACTIONS(2733), + [anon_sym_U_SQUOTE] = ACTIONS(2733), + [anon_sym_u8_SQUOTE] = ACTIONS(2733), + [anon_sym_SQUOTE] = ACTIONS(2733), + [anon_sym_L_DQUOTE] = ACTIONS(2733), + [anon_sym_u_DQUOTE] = ACTIONS(2733), + [anon_sym_U_DQUOTE] = ACTIONS(2733), + [anon_sym_u8_DQUOTE] = ACTIONS(2733), + [anon_sym_DQUOTE] = ACTIONS(2733), + [sym_true] = ACTIONS(2731), + [sym_false] = ACTIONS(2731), + [anon_sym_NULL] = ACTIONS(2731), + [anon_sym_nullptr] = ACTIONS(2731), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2733), + [sym_auto] = ACTIONS(2731), + [anon_sym_decltype] = ACTIONS(2731), + [sym_virtual] = ACTIONS(2731), + [anon_sym_explicit] = ACTIONS(2731), + [anon_sym_typename] = ACTIONS(2731), + [anon_sym_template] = ACTIONS(2731), + [anon_sym_operator] = ACTIONS(2731), + [anon_sym_try] = ACTIONS(2731), + [anon_sym_delete] = ACTIONS(2731), + [anon_sym_throw] = ACTIONS(2731), + [anon_sym_namespace] = ACTIONS(2731), + [anon_sym_using] = ACTIONS(2731), + [anon_sym_static_assert] = ACTIONS(2731), + [anon_sym_concept] = ACTIONS(2731), + [anon_sym_co_return] = ACTIONS(2731), + [anon_sym_co_yield] = ACTIONS(2731), + [anon_sym_R_DQUOTE] = ACTIONS(2733), + [anon_sym_LR_DQUOTE] = ACTIONS(2733), + [anon_sym_uR_DQUOTE] = ACTIONS(2733), + [anon_sym_UR_DQUOTE] = ACTIONS(2733), + [anon_sym_u8R_DQUOTE] = ACTIONS(2733), + [anon_sym_co_await] = ACTIONS(2731), + [anon_sym_new] = ACTIONS(2731), + [anon_sym_requires] = ACTIONS(2731), + [sym_this] = ACTIONS(2731), + }, + [277] = { + [sym__identifier] = ACTIONS(2735), + [aux_sym_preproc_include_token1] = ACTIONS(2735), + [aux_sym_preproc_def_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token2] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2735), + [aux_sym_preproc_else_token1] = ACTIONS(2735), + [aux_sym_preproc_elif_token1] = ACTIONS(2735), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2735), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2735), + [sym_preproc_directive] = ACTIONS(2735), + [anon_sym_LPAREN2] = ACTIONS(2737), + [anon_sym_BANG] = ACTIONS(2737), + [anon_sym_TILDE] = ACTIONS(2737), + [anon_sym_DASH] = ACTIONS(2735), + [anon_sym_PLUS] = ACTIONS(2735), + [anon_sym_STAR] = ACTIONS(2737), + [anon_sym_AMP_AMP] = ACTIONS(2737), + [anon_sym_AMP] = ACTIONS(2735), + [anon_sym_SEMI] = ACTIONS(2737), + [anon_sym___extension__] = ACTIONS(2735), + [anon_sym_typedef] = ACTIONS(2735), + [anon_sym_extern] = ACTIONS(2735), + [anon_sym___attribute__] = ACTIONS(2735), + [anon_sym_COLON_COLON] = ACTIONS(2737), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2737), + [anon_sym___declspec] = ACTIONS(2735), + [anon_sym___based] = ACTIONS(2735), + [anon_sym___cdecl] = ACTIONS(2735), + [anon_sym___clrcall] = ACTIONS(2735), + [anon_sym___stdcall] = ACTIONS(2735), + [anon_sym___fastcall] = ACTIONS(2735), + [anon_sym___thiscall] = ACTIONS(2735), + [anon_sym___vectorcall] = ACTIONS(2735), + [anon_sym_LBRACE] = ACTIONS(2737), + [anon_sym_signed] = ACTIONS(2735), + [anon_sym_unsigned] = ACTIONS(2735), + [anon_sym_long] = ACTIONS(2735), + [anon_sym_short] = ACTIONS(2735), + [anon_sym_LBRACK] = ACTIONS(2735), + [anon_sym_static] = ACTIONS(2735), + [anon_sym_register] = ACTIONS(2735), + [anon_sym_inline] = ACTIONS(2735), + [anon_sym___inline] = ACTIONS(2735), + [anon_sym___inline__] = ACTIONS(2735), + [anon_sym___forceinline] = ACTIONS(2735), + [anon_sym_thread_local] = ACTIONS(2735), + [anon_sym___thread] = ACTIONS(2735), + [anon_sym_const] = ACTIONS(2735), + [anon_sym_constexpr] = ACTIONS(2735), + [anon_sym_volatile] = ACTIONS(2735), + [anon_sym_restrict] = ACTIONS(2735), + [anon_sym___restrict__] = ACTIONS(2735), + [anon_sym__Atomic] = ACTIONS(2735), + [anon_sym__Noreturn] = ACTIONS(2735), + [anon_sym_noreturn] = ACTIONS(2735), + [anon_sym_mutable] = ACTIONS(2735), + [anon_sym_constinit] = ACTIONS(2735), + [anon_sym_consteval] = ACTIONS(2735), + [anon_sym_alignas] = ACTIONS(2735), + [anon_sym__Alignas] = ACTIONS(2735), + [sym_primitive_type] = ACTIONS(2735), + [anon_sym_enum] = ACTIONS(2735), + [anon_sym_class] = ACTIONS(2735), + [anon_sym_struct] = ACTIONS(2735), + [anon_sym_union] = ACTIONS(2735), + [anon_sym_if] = ACTIONS(2735), + [anon_sym_else] = ACTIONS(2735), + [anon_sym_switch] = ACTIONS(2735), + [anon_sym_case] = ACTIONS(2735), + [anon_sym_default] = ACTIONS(2735), + [anon_sym_while] = ACTIONS(2735), + [anon_sym_do] = ACTIONS(2735), + [anon_sym_for] = ACTIONS(2735), + [anon_sym_return] = ACTIONS(2735), + [anon_sym_break] = ACTIONS(2735), + [anon_sym_continue] = ACTIONS(2735), + [anon_sym_goto] = ACTIONS(2735), + [anon_sym___try] = ACTIONS(2735), + [anon_sym___leave] = ACTIONS(2735), + [anon_sym_not] = ACTIONS(2735), + [anon_sym_compl] = ACTIONS(2735), + [anon_sym_DASH_DASH] = ACTIONS(2737), + [anon_sym_PLUS_PLUS] = ACTIONS(2737), + [anon_sym_sizeof] = ACTIONS(2735), + [anon_sym___alignof__] = ACTIONS(2735), + [anon_sym___alignof] = ACTIONS(2735), + [anon_sym__alignof] = ACTIONS(2735), + [anon_sym_alignof] = ACTIONS(2735), + [anon_sym__Alignof] = ACTIONS(2735), + [anon_sym_offsetof] = ACTIONS(2735), + [anon_sym__Generic] = ACTIONS(2735), + [anon_sym_asm] = ACTIONS(2735), + [anon_sym___asm__] = ACTIONS(2735), + [sym__number_literal] = ACTIONS(2737), + [anon_sym_L_SQUOTE] = ACTIONS(2737), + [anon_sym_u_SQUOTE] = ACTIONS(2737), + [anon_sym_U_SQUOTE] = ACTIONS(2737), + [anon_sym_u8_SQUOTE] = ACTIONS(2737), + [anon_sym_SQUOTE] = ACTIONS(2737), + [anon_sym_L_DQUOTE] = ACTIONS(2737), + [anon_sym_u_DQUOTE] = ACTIONS(2737), + [anon_sym_U_DQUOTE] = ACTIONS(2737), + [anon_sym_u8_DQUOTE] = ACTIONS(2737), + [anon_sym_DQUOTE] = ACTIONS(2737), + [sym_true] = ACTIONS(2735), + [sym_false] = ACTIONS(2735), + [anon_sym_NULL] = ACTIONS(2735), + [anon_sym_nullptr] = ACTIONS(2735), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2737), + [sym_auto] = ACTIONS(2735), + [anon_sym_decltype] = ACTIONS(2735), + [sym_virtual] = ACTIONS(2735), + [anon_sym_explicit] = ACTIONS(2735), + [anon_sym_typename] = ACTIONS(2735), + [anon_sym_template] = ACTIONS(2735), + [anon_sym_operator] = ACTIONS(2735), + [anon_sym_try] = ACTIONS(2735), + [anon_sym_delete] = ACTIONS(2735), + [anon_sym_throw] = ACTIONS(2735), + [anon_sym_namespace] = ACTIONS(2735), + [anon_sym_using] = ACTIONS(2735), + [anon_sym_static_assert] = ACTIONS(2735), + [anon_sym_concept] = ACTIONS(2735), + [anon_sym_co_return] = ACTIONS(2735), + [anon_sym_co_yield] = ACTIONS(2735), + [anon_sym_R_DQUOTE] = ACTIONS(2737), + [anon_sym_LR_DQUOTE] = ACTIONS(2737), + [anon_sym_uR_DQUOTE] = ACTIONS(2737), + [anon_sym_UR_DQUOTE] = ACTIONS(2737), + [anon_sym_u8R_DQUOTE] = ACTIONS(2737), + [anon_sym_co_await] = ACTIONS(2735), + [anon_sym_new] = ACTIONS(2735), + [anon_sym_requires] = ACTIONS(2735), + [sym_this] = ACTIONS(2735), + }, + [278] = { + [sym__identifier] = ACTIONS(2739), + [aux_sym_preproc_include_token1] = ACTIONS(2739), + [aux_sym_preproc_def_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token2] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2739), + [aux_sym_preproc_else_token1] = ACTIONS(2739), + [aux_sym_preproc_elif_token1] = ACTIONS(2739), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2739), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2739), + [sym_preproc_directive] = ACTIONS(2739), + [anon_sym_LPAREN2] = ACTIONS(2741), + [anon_sym_BANG] = ACTIONS(2741), + [anon_sym_TILDE] = ACTIONS(2741), + [anon_sym_DASH] = ACTIONS(2739), + [anon_sym_PLUS] = ACTIONS(2739), + [anon_sym_STAR] = ACTIONS(2741), + [anon_sym_AMP_AMP] = ACTIONS(2741), + [anon_sym_AMP] = ACTIONS(2739), + [anon_sym_SEMI] = ACTIONS(2741), + [anon_sym___extension__] = ACTIONS(2739), + [anon_sym_typedef] = ACTIONS(2739), + [anon_sym_extern] = ACTIONS(2739), + [anon_sym___attribute__] = ACTIONS(2739), + [anon_sym_COLON_COLON] = ACTIONS(2741), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2741), + [anon_sym___declspec] = ACTIONS(2739), + [anon_sym___based] = ACTIONS(2739), + [anon_sym___cdecl] = ACTIONS(2739), + [anon_sym___clrcall] = ACTIONS(2739), + [anon_sym___stdcall] = ACTIONS(2739), + [anon_sym___fastcall] = ACTIONS(2739), + [anon_sym___thiscall] = ACTIONS(2739), + [anon_sym___vectorcall] = ACTIONS(2739), + [anon_sym_LBRACE] = ACTIONS(2741), + [anon_sym_signed] = ACTIONS(2739), + [anon_sym_unsigned] = ACTIONS(2739), + [anon_sym_long] = ACTIONS(2739), + [anon_sym_short] = ACTIONS(2739), + [anon_sym_LBRACK] = ACTIONS(2739), + [anon_sym_static] = ACTIONS(2739), + [anon_sym_register] = ACTIONS(2739), + [anon_sym_inline] = ACTIONS(2739), + [anon_sym___inline] = ACTIONS(2739), + [anon_sym___inline__] = ACTIONS(2739), + [anon_sym___forceinline] = ACTIONS(2739), + [anon_sym_thread_local] = ACTIONS(2739), + [anon_sym___thread] = ACTIONS(2739), + [anon_sym_const] = ACTIONS(2739), + [anon_sym_constexpr] = ACTIONS(2739), + [anon_sym_volatile] = ACTIONS(2739), + [anon_sym_restrict] = ACTIONS(2739), + [anon_sym___restrict__] = ACTIONS(2739), + [anon_sym__Atomic] = ACTIONS(2739), + [anon_sym__Noreturn] = ACTIONS(2739), + [anon_sym_noreturn] = ACTIONS(2739), + [anon_sym_mutable] = ACTIONS(2739), + [anon_sym_constinit] = ACTIONS(2739), + [anon_sym_consteval] = ACTIONS(2739), + [anon_sym_alignas] = ACTIONS(2739), + [anon_sym__Alignas] = ACTIONS(2739), + [sym_primitive_type] = ACTIONS(2739), + [anon_sym_enum] = ACTIONS(2739), + [anon_sym_class] = ACTIONS(2739), + [anon_sym_struct] = ACTIONS(2739), + [anon_sym_union] = ACTIONS(2739), + [anon_sym_if] = ACTIONS(2739), + [anon_sym_else] = ACTIONS(2739), + [anon_sym_switch] = ACTIONS(2739), + [anon_sym_case] = ACTIONS(2739), + [anon_sym_default] = ACTIONS(2739), + [anon_sym_while] = ACTIONS(2739), + [anon_sym_do] = ACTIONS(2739), + [anon_sym_for] = ACTIONS(2739), + [anon_sym_return] = ACTIONS(2739), + [anon_sym_break] = ACTIONS(2739), + [anon_sym_continue] = ACTIONS(2739), + [anon_sym_goto] = ACTIONS(2739), + [anon_sym___try] = ACTIONS(2739), + [anon_sym___leave] = ACTIONS(2739), + [anon_sym_not] = ACTIONS(2739), + [anon_sym_compl] = ACTIONS(2739), + [anon_sym_DASH_DASH] = ACTIONS(2741), + [anon_sym_PLUS_PLUS] = ACTIONS(2741), + [anon_sym_sizeof] = ACTIONS(2739), + [anon_sym___alignof__] = ACTIONS(2739), + [anon_sym___alignof] = ACTIONS(2739), + [anon_sym__alignof] = ACTIONS(2739), + [anon_sym_alignof] = ACTIONS(2739), + [anon_sym__Alignof] = ACTIONS(2739), + [anon_sym_offsetof] = ACTIONS(2739), + [anon_sym__Generic] = ACTIONS(2739), + [anon_sym_asm] = ACTIONS(2739), + [anon_sym___asm__] = ACTIONS(2739), + [sym__number_literal] = ACTIONS(2741), + [anon_sym_L_SQUOTE] = ACTIONS(2741), + [anon_sym_u_SQUOTE] = ACTIONS(2741), + [anon_sym_U_SQUOTE] = ACTIONS(2741), + [anon_sym_u8_SQUOTE] = ACTIONS(2741), + [anon_sym_SQUOTE] = ACTIONS(2741), + [anon_sym_L_DQUOTE] = ACTIONS(2741), + [anon_sym_u_DQUOTE] = ACTIONS(2741), + [anon_sym_U_DQUOTE] = ACTIONS(2741), + [anon_sym_u8_DQUOTE] = ACTIONS(2741), + [anon_sym_DQUOTE] = ACTIONS(2741), + [sym_true] = ACTIONS(2739), + [sym_false] = ACTIONS(2739), + [anon_sym_NULL] = ACTIONS(2739), + [anon_sym_nullptr] = ACTIONS(2739), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2741), + [sym_auto] = ACTIONS(2739), + [anon_sym_decltype] = ACTIONS(2739), + [sym_virtual] = ACTIONS(2739), + [anon_sym_explicit] = ACTIONS(2739), + [anon_sym_typename] = ACTIONS(2739), + [anon_sym_template] = ACTIONS(2739), + [anon_sym_operator] = ACTIONS(2739), + [anon_sym_try] = ACTIONS(2739), + [anon_sym_delete] = ACTIONS(2739), + [anon_sym_throw] = ACTIONS(2739), + [anon_sym_namespace] = ACTIONS(2739), + [anon_sym_using] = ACTIONS(2739), + [anon_sym_static_assert] = ACTIONS(2739), + [anon_sym_concept] = ACTIONS(2739), + [anon_sym_co_return] = ACTIONS(2739), + [anon_sym_co_yield] = ACTIONS(2739), + [anon_sym_R_DQUOTE] = ACTIONS(2741), + [anon_sym_LR_DQUOTE] = ACTIONS(2741), + [anon_sym_uR_DQUOTE] = ACTIONS(2741), + [anon_sym_UR_DQUOTE] = ACTIONS(2741), + [anon_sym_u8R_DQUOTE] = ACTIONS(2741), + [anon_sym_co_await] = ACTIONS(2739), + [anon_sym_new] = ACTIONS(2739), + [anon_sym_requires] = ACTIONS(2739), + [sym_this] = ACTIONS(2739), + }, + [279] = { + [sym__identifier] = ACTIONS(2743), + [aux_sym_preproc_include_token1] = ACTIONS(2743), + [aux_sym_preproc_def_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token2] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2743), + [aux_sym_preproc_else_token1] = ACTIONS(2743), + [aux_sym_preproc_elif_token1] = ACTIONS(2743), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2743), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2743), + [sym_preproc_directive] = ACTIONS(2743), + [anon_sym_LPAREN2] = ACTIONS(2745), + [anon_sym_BANG] = ACTIONS(2745), + [anon_sym_TILDE] = ACTIONS(2745), + [anon_sym_DASH] = ACTIONS(2743), + [anon_sym_PLUS] = ACTIONS(2743), + [anon_sym_STAR] = ACTIONS(2745), + [anon_sym_AMP_AMP] = ACTIONS(2745), + [anon_sym_AMP] = ACTIONS(2743), + [anon_sym_SEMI] = ACTIONS(2745), + [anon_sym___extension__] = ACTIONS(2743), + [anon_sym_typedef] = ACTIONS(2743), + [anon_sym_extern] = ACTIONS(2743), + [anon_sym___attribute__] = ACTIONS(2743), + [anon_sym_COLON_COLON] = ACTIONS(2745), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2745), + [anon_sym___declspec] = ACTIONS(2743), + [anon_sym___based] = ACTIONS(2743), + [anon_sym___cdecl] = ACTIONS(2743), + [anon_sym___clrcall] = ACTIONS(2743), + [anon_sym___stdcall] = ACTIONS(2743), + [anon_sym___fastcall] = ACTIONS(2743), + [anon_sym___thiscall] = ACTIONS(2743), + [anon_sym___vectorcall] = ACTIONS(2743), + [anon_sym_LBRACE] = ACTIONS(2745), + [anon_sym_signed] = ACTIONS(2743), + [anon_sym_unsigned] = ACTIONS(2743), + [anon_sym_long] = ACTIONS(2743), + [anon_sym_short] = ACTIONS(2743), + [anon_sym_LBRACK] = ACTIONS(2743), + [anon_sym_static] = ACTIONS(2743), + [anon_sym_register] = ACTIONS(2743), + [anon_sym_inline] = ACTIONS(2743), + [anon_sym___inline] = ACTIONS(2743), + [anon_sym___inline__] = ACTIONS(2743), + [anon_sym___forceinline] = ACTIONS(2743), + [anon_sym_thread_local] = ACTIONS(2743), + [anon_sym___thread] = ACTIONS(2743), + [anon_sym_const] = ACTIONS(2743), + [anon_sym_constexpr] = ACTIONS(2743), + [anon_sym_volatile] = ACTIONS(2743), + [anon_sym_restrict] = ACTIONS(2743), + [anon_sym___restrict__] = ACTIONS(2743), + [anon_sym__Atomic] = ACTIONS(2743), + [anon_sym__Noreturn] = ACTIONS(2743), + [anon_sym_noreturn] = ACTIONS(2743), + [anon_sym_mutable] = ACTIONS(2743), + [anon_sym_constinit] = ACTIONS(2743), + [anon_sym_consteval] = ACTIONS(2743), + [anon_sym_alignas] = ACTIONS(2743), + [anon_sym__Alignas] = ACTIONS(2743), + [sym_primitive_type] = ACTIONS(2743), + [anon_sym_enum] = ACTIONS(2743), + [anon_sym_class] = ACTIONS(2743), + [anon_sym_struct] = ACTIONS(2743), + [anon_sym_union] = ACTIONS(2743), + [anon_sym_if] = ACTIONS(2743), + [anon_sym_else] = ACTIONS(2743), + [anon_sym_switch] = ACTIONS(2743), + [anon_sym_case] = ACTIONS(2743), + [anon_sym_default] = ACTIONS(2743), + [anon_sym_while] = ACTIONS(2743), + [anon_sym_do] = ACTIONS(2743), + [anon_sym_for] = ACTIONS(2743), + [anon_sym_return] = ACTIONS(2743), + [anon_sym_break] = ACTIONS(2743), + [anon_sym_continue] = ACTIONS(2743), + [anon_sym_goto] = ACTIONS(2743), + [anon_sym___try] = ACTIONS(2743), + [anon_sym___leave] = ACTIONS(2743), + [anon_sym_not] = ACTIONS(2743), + [anon_sym_compl] = ACTIONS(2743), + [anon_sym_DASH_DASH] = ACTIONS(2745), + [anon_sym_PLUS_PLUS] = ACTIONS(2745), + [anon_sym_sizeof] = ACTIONS(2743), + [anon_sym___alignof__] = ACTIONS(2743), + [anon_sym___alignof] = ACTIONS(2743), + [anon_sym__alignof] = ACTIONS(2743), + [anon_sym_alignof] = ACTIONS(2743), + [anon_sym__Alignof] = ACTIONS(2743), + [anon_sym_offsetof] = ACTIONS(2743), + [anon_sym__Generic] = ACTIONS(2743), + [anon_sym_asm] = ACTIONS(2743), + [anon_sym___asm__] = ACTIONS(2743), + [sym__number_literal] = ACTIONS(2745), + [anon_sym_L_SQUOTE] = ACTIONS(2745), + [anon_sym_u_SQUOTE] = ACTIONS(2745), + [anon_sym_U_SQUOTE] = ACTIONS(2745), + [anon_sym_u8_SQUOTE] = ACTIONS(2745), + [anon_sym_SQUOTE] = ACTIONS(2745), + [anon_sym_L_DQUOTE] = ACTIONS(2745), + [anon_sym_u_DQUOTE] = ACTIONS(2745), + [anon_sym_U_DQUOTE] = ACTIONS(2745), + [anon_sym_u8_DQUOTE] = ACTIONS(2745), + [anon_sym_DQUOTE] = ACTIONS(2745), + [sym_true] = ACTIONS(2743), + [sym_false] = ACTIONS(2743), + [anon_sym_NULL] = ACTIONS(2743), + [anon_sym_nullptr] = ACTIONS(2743), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2745), + [sym_auto] = ACTIONS(2743), + [anon_sym_decltype] = ACTIONS(2743), + [sym_virtual] = ACTIONS(2743), + [anon_sym_explicit] = ACTIONS(2743), + [anon_sym_typename] = ACTIONS(2743), + [anon_sym_template] = ACTIONS(2743), + [anon_sym_operator] = ACTIONS(2743), + [anon_sym_try] = ACTIONS(2743), + [anon_sym_delete] = ACTIONS(2743), + [anon_sym_throw] = ACTIONS(2743), + [anon_sym_namespace] = ACTIONS(2743), + [anon_sym_using] = ACTIONS(2743), + [anon_sym_static_assert] = ACTIONS(2743), + [anon_sym_concept] = ACTIONS(2743), + [anon_sym_co_return] = ACTIONS(2743), + [anon_sym_co_yield] = ACTIONS(2743), + [anon_sym_R_DQUOTE] = ACTIONS(2745), + [anon_sym_LR_DQUOTE] = ACTIONS(2745), + [anon_sym_uR_DQUOTE] = ACTIONS(2745), + [anon_sym_UR_DQUOTE] = ACTIONS(2745), + [anon_sym_u8R_DQUOTE] = ACTIONS(2745), + [anon_sym_co_await] = ACTIONS(2743), + [anon_sym_new] = ACTIONS(2743), + [anon_sym_requires] = ACTIONS(2743), + [sym_this] = ACTIONS(2743), + }, + [280] = { + [sym__identifier] = ACTIONS(2747), + [aux_sym_preproc_include_token1] = ACTIONS(2747), + [aux_sym_preproc_def_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token2] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2747), + [aux_sym_preproc_else_token1] = ACTIONS(2747), + [aux_sym_preproc_elif_token1] = ACTIONS(2747), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2747), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2747), + [sym_preproc_directive] = ACTIONS(2747), + [anon_sym_LPAREN2] = ACTIONS(2749), + [anon_sym_BANG] = ACTIONS(2749), + [anon_sym_TILDE] = ACTIONS(2749), + [anon_sym_DASH] = ACTIONS(2747), + [anon_sym_PLUS] = ACTIONS(2747), + [anon_sym_STAR] = ACTIONS(2749), + [anon_sym_AMP_AMP] = ACTIONS(2749), + [anon_sym_AMP] = ACTIONS(2747), + [anon_sym_SEMI] = ACTIONS(2749), + [anon_sym___extension__] = ACTIONS(2747), + [anon_sym_typedef] = ACTIONS(2747), + [anon_sym_extern] = ACTIONS(2747), + [anon_sym___attribute__] = ACTIONS(2747), + [anon_sym_COLON_COLON] = ACTIONS(2749), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2749), + [anon_sym___declspec] = ACTIONS(2747), + [anon_sym___based] = ACTIONS(2747), + [anon_sym___cdecl] = ACTIONS(2747), + [anon_sym___clrcall] = ACTIONS(2747), + [anon_sym___stdcall] = ACTIONS(2747), + [anon_sym___fastcall] = ACTIONS(2747), + [anon_sym___thiscall] = ACTIONS(2747), + [anon_sym___vectorcall] = ACTIONS(2747), + [anon_sym_LBRACE] = ACTIONS(2749), + [anon_sym_signed] = ACTIONS(2747), + [anon_sym_unsigned] = ACTIONS(2747), + [anon_sym_long] = ACTIONS(2747), + [anon_sym_short] = ACTIONS(2747), + [anon_sym_LBRACK] = ACTIONS(2747), + [anon_sym_static] = ACTIONS(2747), + [anon_sym_register] = ACTIONS(2747), + [anon_sym_inline] = ACTIONS(2747), + [anon_sym___inline] = ACTIONS(2747), + [anon_sym___inline__] = ACTIONS(2747), + [anon_sym___forceinline] = ACTIONS(2747), + [anon_sym_thread_local] = ACTIONS(2747), + [anon_sym___thread] = ACTIONS(2747), + [anon_sym_const] = ACTIONS(2747), + [anon_sym_constexpr] = ACTIONS(2747), + [anon_sym_volatile] = ACTIONS(2747), + [anon_sym_restrict] = ACTIONS(2747), + [anon_sym___restrict__] = ACTIONS(2747), + [anon_sym__Atomic] = ACTIONS(2747), + [anon_sym__Noreturn] = ACTIONS(2747), + [anon_sym_noreturn] = ACTIONS(2747), + [anon_sym_mutable] = ACTIONS(2747), + [anon_sym_constinit] = ACTIONS(2747), + [anon_sym_consteval] = ACTIONS(2747), + [anon_sym_alignas] = ACTIONS(2747), + [anon_sym__Alignas] = ACTIONS(2747), + [sym_primitive_type] = ACTIONS(2747), + [anon_sym_enum] = ACTIONS(2747), + [anon_sym_class] = ACTIONS(2747), + [anon_sym_struct] = ACTIONS(2747), + [anon_sym_union] = ACTIONS(2747), + [anon_sym_if] = ACTIONS(2747), + [anon_sym_else] = ACTIONS(2747), + [anon_sym_switch] = ACTIONS(2747), + [anon_sym_case] = ACTIONS(2747), + [anon_sym_default] = ACTIONS(2747), + [anon_sym_while] = ACTIONS(2747), + [anon_sym_do] = ACTIONS(2747), + [anon_sym_for] = ACTIONS(2747), + [anon_sym_return] = ACTIONS(2747), + [anon_sym_break] = ACTIONS(2747), + [anon_sym_continue] = ACTIONS(2747), + [anon_sym_goto] = ACTIONS(2747), + [anon_sym___try] = ACTIONS(2747), + [anon_sym___leave] = ACTIONS(2747), + [anon_sym_not] = ACTIONS(2747), + [anon_sym_compl] = ACTIONS(2747), + [anon_sym_DASH_DASH] = ACTIONS(2749), + [anon_sym_PLUS_PLUS] = ACTIONS(2749), + [anon_sym_sizeof] = ACTIONS(2747), + [anon_sym___alignof__] = ACTIONS(2747), + [anon_sym___alignof] = ACTIONS(2747), + [anon_sym__alignof] = ACTIONS(2747), + [anon_sym_alignof] = ACTIONS(2747), + [anon_sym__Alignof] = ACTIONS(2747), + [anon_sym_offsetof] = ACTIONS(2747), + [anon_sym__Generic] = ACTIONS(2747), + [anon_sym_asm] = ACTIONS(2747), + [anon_sym___asm__] = ACTIONS(2747), + [sym__number_literal] = ACTIONS(2749), + [anon_sym_L_SQUOTE] = ACTIONS(2749), + [anon_sym_u_SQUOTE] = ACTIONS(2749), + [anon_sym_U_SQUOTE] = ACTIONS(2749), + [anon_sym_u8_SQUOTE] = ACTIONS(2749), + [anon_sym_SQUOTE] = ACTIONS(2749), + [anon_sym_L_DQUOTE] = ACTIONS(2749), + [anon_sym_u_DQUOTE] = ACTIONS(2749), + [anon_sym_U_DQUOTE] = ACTIONS(2749), + [anon_sym_u8_DQUOTE] = ACTIONS(2749), + [anon_sym_DQUOTE] = ACTIONS(2749), + [sym_true] = ACTIONS(2747), + [sym_false] = ACTIONS(2747), + [anon_sym_NULL] = ACTIONS(2747), + [anon_sym_nullptr] = ACTIONS(2747), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2749), + [sym_auto] = ACTIONS(2747), + [anon_sym_decltype] = ACTIONS(2747), + [sym_virtual] = ACTIONS(2747), + [anon_sym_explicit] = ACTIONS(2747), + [anon_sym_typename] = ACTIONS(2747), + [anon_sym_template] = ACTIONS(2747), + [anon_sym_operator] = ACTIONS(2747), + [anon_sym_try] = ACTIONS(2747), + [anon_sym_delete] = ACTIONS(2747), + [anon_sym_throw] = ACTIONS(2747), + [anon_sym_namespace] = ACTIONS(2747), + [anon_sym_using] = ACTIONS(2747), + [anon_sym_static_assert] = ACTIONS(2747), + [anon_sym_concept] = ACTIONS(2747), + [anon_sym_co_return] = ACTIONS(2747), + [anon_sym_co_yield] = ACTIONS(2747), + [anon_sym_R_DQUOTE] = ACTIONS(2749), + [anon_sym_LR_DQUOTE] = ACTIONS(2749), + [anon_sym_uR_DQUOTE] = ACTIONS(2749), + [anon_sym_UR_DQUOTE] = ACTIONS(2749), + [anon_sym_u8R_DQUOTE] = ACTIONS(2749), + [anon_sym_co_await] = ACTIONS(2747), + [anon_sym_new] = ACTIONS(2747), + [anon_sym_requires] = ACTIONS(2747), + [sym_this] = ACTIONS(2747), + }, + [281] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_include_token1] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token2] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [aux_sym_preproc_else_token1] = ACTIONS(2751), + [aux_sym_preproc_elif_token1] = ACTIONS(2751), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_BANG] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_DASH] = ACTIONS(2751), + [anon_sym_PLUS] = ACTIONS(2751), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym_SEMI] = ACTIONS(2753), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym___cdecl] = ACTIONS(2751), + [anon_sym___clrcall] = ACTIONS(2751), + [anon_sym___stdcall] = ACTIONS(2751), + [anon_sym___fastcall] = ACTIONS(2751), + [anon_sym___thiscall] = ACTIONS(2751), + [anon_sym___vectorcall] = ACTIONS(2751), + [anon_sym_LBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [anon_sym_if] = ACTIONS(2751), + [anon_sym_else] = ACTIONS(2751), + [anon_sym_switch] = ACTIONS(2751), + [anon_sym_case] = ACTIONS(2751), + [anon_sym_default] = ACTIONS(2751), + [anon_sym_while] = ACTIONS(2751), + [anon_sym_do] = ACTIONS(2751), + [anon_sym_for] = ACTIONS(2751), + [anon_sym_return] = ACTIONS(2751), + [anon_sym_break] = ACTIONS(2751), + [anon_sym_continue] = ACTIONS(2751), + [anon_sym_goto] = ACTIONS(2751), + [anon_sym___try] = ACTIONS(2751), + [anon_sym___leave] = ACTIONS(2751), + [anon_sym_not] = ACTIONS(2751), + [anon_sym_compl] = ACTIONS(2751), + [anon_sym_DASH_DASH] = ACTIONS(2753), + [anon_sym_PLUS_PLUS] = ACTIONS(2753), + [anon_sym_sizeof] = ACTIONS(2751), + [anon_sym___alignof__] = ACTIONS(2751), + [anon_sym___alignof] = ACTIONS(2751), + [anon_sym__alignof] = ACTIONS(2751), + [anon_sym_alignof] = ACTIONS(2751), + [anon_sym__Alignof] = ACTIONS(2751), + [anon_sym_offsetof] = ACTIONS(2751), + [anon_sym__Generic] = ACTIONS(2751), + [anon_sym_asm] = ACTIONS(2751), + [anon_sym___asm__] = ACTIONS(2751), + [sym__number_literal] = ACTIONS(2753), + [anon_sym_L_SQUOTE] = ACTIONS(2753), + [anon_sym_u_SQUOTE] = ACTIONS(2753), + [anon_sym_U_SQUOTE] = ACTIONS(2753), + [anon_sym_u8_SQUOTE] = ACTIONS(2753), + [anon_sym_SQUOTE] = ACTIONS(2753), + [anon_sym_L_DQUOTE] = ACTIONS(2753), + [anon_sym_u_DQUOTE] = ACTIONS(2753), + [anon_sym_U_DQUOTE] = ACTIONS(2753), + [anon_sym_u8_DQUOTE] = ACTIONS(2753), + [anon_sym_DQUOTE] = ACTIONS(2753), + [sym_true] = ACTIONS(2751), + [sym_false] = ACTIONS(2751), + [anon_sym_NULL] = ACTIONS(2751), + [anon_sym_nullptr] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_try] = ACTIONS(2751), + [anon_sym_delete] = ACTIONS(2751), + [anon_sym_throw] = ACTIONS(2751), + [anon_sym_namespace] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + [anon_sym_concept] = ACTIONS(2751), + [anon_sym_co_return] = ACTIONS(2751), + [anon_sym_co_yield] = ACTIONS(2751), + [anon_sym_R_DQUOTE] = ACTIONS(2753), + [anon_sym_LR_DQUOTE] = ACTIONS(2753), + [anon_sym_uR_DQUOTE] = ACTIONS(2753), + [anon_sym_UR_DQUOTE] = ACTIONS(2753), + [anon_sym_u8R_DQUOTE] = ACTIONS(2753), + [anon_sym_co_await] = ACTIONS(2751), + [anon_sym_new] = ACTIONS(2751), + [anon_sym_requires] = ACTIONS(2751), + [sym_this] = ACTIONS(2751), + }, + [282] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_include_token1] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token2] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [aux_sym_preproc_else_token1] = ACTIONS(2755), + [aux_sym_preproc_elif_token1] = ACTIONS(2755), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_BANG] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_DASH] = ACTIONS(2755), + [anon_sym_PLUS] = ACTIONS(2755), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym_SEMI] = ACTIONS(2757), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym___cdecl] = ACTIONS(2755), + [anon_sym___clrcall] = ACTIONS(2755), + [anon_sym___stdcall] = ACTIONS(2755), + [anon_sym___fastcall] = ACTIONS(2755), + [anon_sym___thiscall] = ACTIONS(2755), + [anon_sym___vectorcall] = ACTIONS(2755), + [anon_sym_LBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [anon_sym_if] = ACTIONS(2755), + [anon_sym_else] = ACTIONS(2755), + [anon_sym_switch] = ACTIONS(2755), + [anon_sym_case] = ACTIONS(2755), + [anon_sym_default] = ACTIONS(2755), + [anon_sym_while] = ACTIONS(2755), + [anon_sym_do] = ACTIONS(2755), + [anon_sym_for] = ACTIONS(2755), + [anon_sym_return] = ACTIONS(2755), + [anon_sym_break] = ACTIONS(2755), + [anon_sym_continue] = ACTIONS(2755), + [anon_sym_goto] = ACTIONS(2755), + [anon_sym___try] = ACTIONS(2755), + [anon_sym___leave] = ACTIONS(2755), + [anon_sym_not] = ACTIONS(2755), + [anon_sym_compl] = ACTIONS(2755), + [anon_sym_DASH_DASH] = ACTIONS(2757), + [anon_sym_PLUS_PLUS] = ACTIONS(2757), + [anon_sym_sizeof] = ACTIONS(2755), + [anon_sym___alignof__] = ACTIONS(2755), + [anon_sym___alignof] = ACTIONS(2755), + [anon_sym__alignof] = ACTIONS(2755), + [anon_sym_alignof] = ACTIONS(2755), + [anon_sym__Alignof] = ACTIONS(2755), + [anon_sym_offsetof] = ACTIONS(2755), + [anon_sym__Generic] = ACTIONS(2755), + [anon_sym_asm] = ACTIONS(2755), + [anon_sym___asm__] = ACTIONS(2755), + [sym__number_literal] = ACTIONS(2757), + [anon_sym_L_SQUOTE] = ACTIONS(2757), + [anon_sym_u_SQUOTE] = ACTIONS(2757), + [anon_sym_U_SQUOTE] = ACTIONS(2757), + [anon_sym_u8_SQUOTE] = ACTIONS(2757), + [anon_sym_SQUOTE] = ACTIONS(2757), + [anon_sym_L_DQUOTE] = ACTIONS(2757), + [anon_sym_u_DQUOTE] = ACTIONS(2757), + [anon_sym_U_DQUOTE] = ACTIONS(2757), + [anon_sym_u8_DQUOTE] = ACTIONS(2757), + [anon_sym_DQUOTE] = ACTIONS(2757), + [sym_true] = ACTIONS(2755), + [sym_false] = ACTIONS(2755), + [anon_sym_NULL] = ACTIONS(2755), + [anon_sym_nullptr] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_try] = ACTIONS(2755), + [anon_sym_delete] = ACTIONS(2755), + [anon_sym_throw] = ACTIONS(2755), + [anon_sym_namespace] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + [anon_sym_concept] = ACTIONS(2755), + [anon_sym_co_return] = ACTIONS(2755), + [anon_sym_co_yield] = ACTIONS(2755), + [anon_sym_R_DQUOTE] = ACTIONS(2757), + [anon_sym_LR_DQUOTE] = ACTIONS(2757), + [anon_sym_uR_DQUOTE] = ACTIONS(2757), + [anon_sym_UR_DQUOTE] = ACTIONS(2757), + [anon_sym_u8R_DQUOTE] = ACTIONS(2757), + [anon_sym_co_await] = ACTIONS(2755), + [anon_sym_new] = ACTIONS(2755), + [anon_sym_requires] = ACTIONS(2755), + [sym_this] = ACTIONS(2755), + }, + [283] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_include_token1] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token2] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [aux_sym_preproc_else_token1] = ACTIONS(2759), + [aux_sym_preproc_elif_token1] = ACTIONS(2759), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_BANG] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_DASH] = ACTIONS(2759), + [anon_sym_PLUS] = ACTIONS(2759), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym_SEMI] = ACTIONS(2761), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym___cdecl] = ACTIONS(2759), + [anon_sym___clrcall] = ACTIONS(2759), + [anon_sym___stdcall] = ACTIONS(2759), + [anon_sym___fastcall] = ACTIONS(2759), + [anon_sym___thiscall] = ACTIONS(2759), + [anon_sym___vectorcall] = ACTIONS(2759), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [anon_sym_if] = ACTIONS(2759), + [anon_sym_else] = ACTIONS(2759), + [anon_sym_switch] = ACTIONS(2759), + [anon_sym_case] = ACTIONS(2759), + [anon_sym_default] = ACTIONS(2759), + [anon_sym_while] = ACTIONS(2759), + [anon_sym_do] = ACTIONS(2759), + [anon_sym_for] = ACTIONS(2759), + [anon_sym_return] = ACTIONS(2759), + [anon_sym_break] = ACTIONS(2759), + [anon_sym_continue] = ACTIONS(2759), + [anon_sym_goto] = ACTIONS(2759), + [anon_sym___try] = ACTIONS(2759), + [anon_sym___leave] = ACTIONS(2759), + [anon_sym_not] = ACTIONS(2759), + [anon_sym_compl] = ACTIONS(2759), + [anon_sym_DASH_DASH] = ACTIONS(2761), + [anon_sym_PLUS_PLUS] = ACTIONS(2761), + [anon_sym_sizeof] = ACTIONS(2759), + [anon_sym___alignof__] = ACTIONS(2759), + [anon_sym___alignof] = ACTIONS(2759), + [anon_sym__alignof] = ACTIONS(2759), + [anon_sym_alignof] = ACTIONS(2759), + [anon_sym__Alignof] = ACTIONS(2759), + [anon_sym_offsetof] = ACTIONS(2759), + [anon_sym__Generic] = ACTIONS(2759), + [anon_sym_asm] = ACTIONS(2759), + [anon_sym___asm__] = ACTIONS(2759), + [sym__number_literal] = ACTIONS(2761), + [anon_sym_L_SQUOTE] = ACTIONS(2761), + [anon_sym_u_SQUOTE] = ACTIONS(2761), + [anon_sym_U_SQUOTE] = ACTIONS(2761), + [anon_sym_u8_SQUOTE] = ACTIONS(2761), + [anon_sym_SQUOTE] = ACTIONS(2761), + [anon_sym_L_DQUOTE] = ACTIONS(2761), + [anon_sym_u_DQUOTE] = ACTIONS(2761), + [anon_sym_U_DQUOTE] = ACTIONS(2761), + [anon_sym_u8_DQUOTE] = ACTIONS(2761), + [anon_sym_DQUOTE] = ACTIONS(2761), + [sym_true] = ACTIONS(2759), + [sym_false] = ACTIONS(2759), + [anon_sym_NULL] = ACTIONS(2759), + [anon_sym_nullptr] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_try] = ACTIONS(2759), + [anon_sym_delete] = ACTIONS(2759), + [anon_sym_throw] = ACTIONS(2759), + [anon_sym_namespace] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + [anon_sym_concept] = ACTIONS(2759), + [anon_sym_co_return] = ACTIONS(2759), + [anon_sym_co_yield] = ACTIONS(2759), + [anon_sym_R_DQUOTE] = ACTIONS(2761), + [anon_sym_LR_DQUOTE] = ACTIONS(2761), + [anon_sym_uR_DQUOTE] = ACTIONS(2761), + [anon_sym_UR_DQUOTE] = ACTIONS(2761), + [anon_sym_u8R_DQUOTE] = ACTIONS(2761), + [anon_sym_co_await] = ACTIONS(2759), + [anon_sym_new] = ACTIONS(2759), + [anon_sym_requires] = ACTIONS(2759), + [sym_this] = ACTIONS(2759), + }, + [284] = { + [sym__identifier] = ACTIONS(2763), + [aux_sym_preproc_include_token1] = ACTIONS(2763), + [aux_sym_preproc_def_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token2] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2763), + [aux_sym_preproc_else_token1] = ACTIONS(2763), + [aux_sym_preproc_elif_token1] = ACTIONS(2763), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2763), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2763), + [sym_preproc_directive] = ACTIONS(2763), + [anon_sym_LPAREN2] = ACTIONS(2765), + [anon_sym_BANG] = ACTIONS(2765), + [anon_sym_TILDE] = ACTIONS(2765), + [anon_sym_DASH] = ACTIONS(2763), + [anon_sym_PLUS] = ACTIONS(2763), + [anon_sym_STAR] = ACTIONS(2765), + [anon_sym_AMP_AMP] = ACTIONS(2765), + [anon_sym_AMP] = ACTIONS(2763), + [anon_sym_SEMI] = ACTIONS(2765), + [anon_sym___extension__] = ACTIONS(2763), + [anon_sym_typedef] = ACTIONS(2763), + [anon_sym_extern] = ACTIONS(2763), + [anon_sym___attribute__] = ACTIONS(2763), + [anon_sym_COLON_COLON] = ACTIONS(2765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2765), + [anon_sym___declspec] = ACTIONS(2763), + [anon_sym___based] = ACTIONS(2763), + [anon_sym___cdecl] = ACTIONS(2763), + [anon_sym___clrcall] = ACTIONS(2763), + [anon_sym___stdcall] = ACTIONS(2763), + [anon_sym___fastcall] = ACTIONS(2763), + [anon_sym___thiscall] = ACTIONS(2763), + [anon_sym___vectorcall] = ACTIONS(2763), + [anon_sym_LBRACE] = ACTIONS(2765), + [anon_sym_signed] = ACTIONS(2763), + [anon_sym_unsigned] = ACTIONS(2763), + [anon_sym_long] = ACTIONS(2763), + [anon_sym_short] = ACTIONS(2763), + [anon_sym_LBRACK] = ACTIONS(2763), + [anon_sym_static] = ACTIONS(2763), + [anon_sym_register] = ACTIONS(2763), + [anon_sym_inline] = ACTIONS(2763), + [anon_sym___inline] = ACTIONS(2763), + [anon_sym___inline__] = ACTIONS(2763), + [anon_sym___forceinline] = ACTIONS(2763), + [anon_sym_thread_local] = ACTIONS(2763), + [anon_sym___thread] = ACTIONS(2763), + [anon_sym_const] = ACTIONS(2763), + [anon_sym_constexpr] = ACTIONS(2763), + [anon_sym_volatile] = ACTIONS(2763), + [anon_sym_restrict] = ACTIONS(2763), + [anon_sym___restrict__] = ACTIONS(2763), + [anon_sym__Atomic] = ACTIONS(2763), + [anon_sym__Noreturn] = ACTIONS(2763), + [anon_sym_noreturn] = ACTIONS(2763), + [anon_sym_mutable] = ACTIONS(2763), + [anon_sym_constinit] = ACTIONS(2763), + [anon_sym_consteval] = ACTIONS(2763), + [anon_sym_alignas] = ACTIONS(2763), + [anon_sym__Alignas] = ACTIONS(2763), + [sym_primitive_type] = ACTIONS(2763), + [anon_sym_enum] = ACTIONS(2763), + [anon_sym_class] = ACTIONS(2763), + [anon_sym_struct] = ACTIONS(2763), + [anon_sym_union] = ACTIONS(2763), + [anon_sym_if] = ACTIONS(2763), + [anon_sym_else] = ACTIONS(2763), + [anon_sym_switch] = ACTIONS(2763), + [anon_sym_case] = ACTIONS(2763), + [anon_sym_default] = ACTIONS(2763), + [anon_sym_while] = ACTIONS(2763), + [anon_sym_do] = ACTIONS(2763), + [anon_sym_for] = ACTIONS(2763), + [anon_sym_return] = ACTIONS(2763), + [anon_sym_break] = ACTIONS(2763), + [anon_sym_continue] = ACTIONS(2763), + [anon_sym_goto] = ACTIONS(2763), + [anon_sym___try] = ACTIONS(2763), + [anon_sym___leave] = ACTIONS(2763), + [anon_sym_not] = ACTIONS(2763), + [anon_sym_compl] = ACTIONS(2763), + [anon_sym_DASH_DASH] = ACTIONS(2765), + [anon_sym_PLUS_PLUS] = ACTIONS(2765), + [anon_sym_sizeof] = ACTIONS(2763), + [anon_sym___alignof__] = ACTIONS(2763), + [anon_sym___alignof] = ACTIONS(2763), + [anon_sym__alignof] = ACTIONS(2763), + [anon_sym_alignof] = ACTIONS(2763), + [anon_sym__Alignof] = ACTIONS(2763), + [anon_sym_offsetof] = ACTIONS(2763), + [anon_sym__Generic] = ACTIONS(2763), + [anon_sym_asm] = ACTIONS(2763), + [anon_sym___asm__] = ACTIONS(2763), + [sym__number_literal] = ACTIONS(2765), + [anon_sym_L_SQUOTE] = ACTIONS(2765), + [anon_sym_u_SQUOTE] = ACTIONS(2765), + [anon_sym_U_SQUOTE] = ACTIONS(2765), + [anon_sym_u8_SQUOTE] = ACTIONS(2765), + [anon_sym_SQUOTE] = ACTIONS(2765), + [anon_sym_L_DQUOTE] = ACTIONS(2765), + [anon_sym_u_DQUOTE] = ACTIONS(2765), + [anon_sym_U_DQUOTE] = ACTIONS(2765), + [anon_sym_u8_DQUOTE] = ACTIONS(2765), + [anon_sym_DQUOTE] = ACTIONS(2765), + [sym_true] = ACTIONS(2763), + [sym_false] = ACTIONS(2763), + [anon_sym_NULL] = ACTIONS(2763), + [anon_sym_nullptr] = ACTIONS(2763), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2765), + [sym_auto] = ACTIONS(2763), + [anon_sym_decltype] = ACTIONS(2763), + [sym_virtual] = ACTIONS(2763), + [anon_sym_explicit] = ACTIONS(2763), + [anon_sym_typename] = ACTIONS(2763), + [anon_sym_template] = ACTIONS(2763), + [anon_sym_operator] = ACTIONS(2763), + [anon_sym_try] = ACTIONS(2763), + [anon_sym_delete] = ACTIONS(2763), + [anon_sym_throw] = ACTIONS(2763), + [anon_sym_namespace] = ACTIONS(2763), + [anon_sym_using] = ACTIONS(2763), + [anon_sym_static_assert] = ACTIONS(2763), + [anon_sym_concept] = ACTIONS(2763), + [anon_sym_co_return] = ACTIONS(2763), + [anon_sym_co_yield] = ACTIONS(2763), + [anon_sym_R_DQUOTE] = ACTIONS(2765), + [anon_sym_LR_DQUOTE] = ACTIONS(2765), + [anon_sym_uR_DQUOTE] = ACTIONS(2765), + [anon_sym_UR_DQUOTE] = ACTIONS(2765), + [anon_sym_u8R_DQUOTE] = ACTIONS(2765), + [anon_sym_co_await] = ACTIONS(2763), + [anon_sym_new] = ACTIONS(2763), + [anon_sym_requires] = ACTIONS(2763), + [sym_this] = ACTIONS(2763), + }, + [285] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_include_token1] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token2] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [aux_sym_preproc_else_token1] = ACTIONS(2767), + [aux_sym_preproc_elif_token1] = ACTIONS(2767), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_BANG] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_DASH] = ACTIONS(2767), + [anon_sym_PLUS] = ACTIONS(2767), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym_SEMI] = ACTIONS(2769), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym___cdecl] = ACTIONS(2767), + [anon_sym___clrcall] = ACTIONS(2767), + [anon_sym___stdcall] = ACTIONS(2767), + [anon_sym___fastcall] = ACTIONS(2767), + [anon_sym___thiscall] = ACTIONS(2767), + [anon_sym___vectorcall] = ACTIONS(2767), + [anon_sym_LBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [anon_sym_if] = ACTIONS(2767), + [anon_sym_else] = ACTIONS(2767), + [anon_sym_switch] = ACTIONS(2767), + [anon_sym_case] = ACTIONS(2767), + [anon_sym_default] = ACTIONS(2767), + [anon_sym_while] = ACTIONS(2767), + [anon_sym_do] = ACTIONS(2767), + [anon_sym_for] = ACTIONS(2767), + [anon_sym_return] = ACTIONS(2767), + [anon_sym_break] = ACTIONS(2767), + [anon_sym_continue] = ACTIONS(2767), + [anon_sym_goto] = ACTIONS(2767), + [anon_sym___try] = ACTIONS(2767), + [anon_sym___leave] = ACTIONS(2767), + [anon_sym_not] = ACTIONS(2767), + [anon_sym_compl] = ACTIONS(2767), + [anon_sym_DASH_DASH] = ACTIONS(2769), + [anon_sym_PLUS_PLUS] = ACTIONS(2769), + [anon_sym_sizeof] = ACTIONS(2767), + [anon_sym___alignof__] = ACTIONS(2767), + [anon_sym___alignof] = ACTIONS(2767), + [anon_sym__alignof] = ACTIONS(2767), + [anon_sym_alignof] = ACTIONS(2767), + [anon_sym__Alignof] = ACTIONS(2767), + [anon_sym_offsetof] = ACTIONS(2767), + [anon_sym__Generic] = ACTIONS(2767), + [anon_sym_asm] = ACTIONS(2767), + [anon_sym___asm__] = ACTIONS(2767), + [sym__number_literal] = ACTIONS(2769), + [anon_sym_L_SQUOTE] = ACTIONS(2769), + [anon_sym_u_SQUOTE] = ACTIONS(2769), + [anon_sym_U_SQUOTE] = ACTIONS(2769), + [anon_sym_u8_SQUOTE] = ACTIONS(2769), + [anon_sym_SQUOTE] = ACTIONS(2769), + [anon_sym_L_DQUOTE] = ACTIONS(2769), + [anon_sym_u_DQUOTE] = ACTIONS(2769), + [anon_sym_U_DQUOTE] = ACTIONS(2769), + [anon_sym_u8_DQUOTE] = ACTIONS(2769), + [anon_sym_DQUOTE] = ACTIONS(2769), + [sym_true] = ACTIONS(2767), + [sym_false] = ACTIONS(2767), + [anon_sym_NULL] = ACTIONS(2767), + [anon_sym_nullptr] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_try] = ACTIONS(2767), + [anon_sym_delete] = ACTIONS(2767), + [anon_sym_throw] = ACTIONS(2767), + [anon_sym_namespace] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + [anon_sym_concept] = ACTIONS(2767), + [anon_sym_co_return] = ACTIONS(2767), + [anon_sym_co_yield] = ACTIONS(2767), + [anon_sym_R_DQUOTE] = ACTIONS(2769), + [anon_sym_LR_DQUOTE] = ACTIONS(2769), + [anon_sym_uR_DQUOTE] = ACTIONS(2769), + [anon_sym_UR_DQUOTE] = ACTIONS(2769), + [anon_sym_u8R_DQUOTE] = ACTIONS(2769), + [anon_sym_co_await] = ACTIONS(2767), + [anon_sym_new] = ACTIONS(2767), + [anon_sym_requires] = ACTIONS(2767), + [sym_this] = ACTIONS(2767), + }, + [286] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [aux_sym_preproc_else_token1] = ACTIONS(2404), + [aux_sym_preproc_elif_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [287] = { + [sym__identifier] = ACTIONS(2773), + [aux_sym_preproc_include_token1] = ACTIONS(2773), + [aux_sym_preproc_def_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token2] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2773), + [aux_sym_preproc_else_token1] = ACTIONS(2773), + [aux_sym_preproc_elif_token1] = ACTIONS(2773), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2773), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2773), + [sym_preproc_directive] = ACTIONS(2773), + [anon_sym_LPAREN2] = ACTIONS(2775), + [anon_sym_BANG] = ACTIONS(2775), + [anon_sym_TILDE] = ACTIONS(2775), + [anon_sym_DASH] = ACTIONS(2773), + [anon_sym_PLUS] = ACTIONS(2773), + [anon_sym_STAR] = ACTIONS(2775), + [anon_sym_AMP_AMP] = ACTIONS(2775), + [anon_sym_AMP] = ACTIONS(2773), + [anon_sym_SEMI] = ACTIONS(2775), + [anon_sym___extension__] = ACTIONS(2773), + [anon_sym_typedef] = ACTIONS(2773), + [anon_sym_extern] = ACTIONS(2773), + [anon_sym___attribute__] = ACTIONS(2773), + [anon_sym_COLON_COLON] = ACTIONS(2775), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2775), + [anon_sym___declspec] = ACTIONS(2773), + [anon_sym___based] = ACTIONS(2773), + [anon_sym___cdecl] = ACTIONS(2773), + [anon_sym___clrcall] = ACTIONS(2773), + [anon_sym___stdcall] = ACTIONS(2773), + [anon_sym___fastcall] = ACTIONS(2773), + [anon_sym___thiscall] = ACTIONS(2773), + [anon_sym___vectorcall] = ACTIONS(2773), + [anon_sym_LBRACE] = ACTIONS(2775), + [anon_sym_signed] = ACTIONS(2773), + [anon_sym_unsigned] = ACTIONS(2773), + [anon_sym_long] = ACTIONS(2773), + [anon_sym_short] = ACTIONS(2773), + [anon_sym_LBRACK] = ACTIONS(2773), + [anon_sym_static] = ACTIONS(2773), + [anon_sym_register] = ACTIONS(2773), + [anon_sym_inline] = ACTIONS(2773), + [anon_sym___inline] = ACTIONS(2773), + [anon_sym___inline__] = ACTIONS(2773), + [anon_sym___forceinline] = ACTIONS(2773), + [anon_sym_thread_local] = ACTIONS(2773), + [anon_sym___thread] = ACTIONS(2773), + [anon_sym_const] = ACTIONS(2773), + [anon_sym_constexpr] = ACTIONS(2773), + [anon_sym_volatile] = ACTIONS(2773), + [anon_sym_restrict] = ACTIONS(2773), + [anon_sym___restrict__] = ACTIONS(2773), + [anon_sym__Atomic] = ACTIONS(2773), + [anon_sym__Noreturn] = ACTIONS(2773), + [anon_sym_noreturn] = ACTIONS(2773), + [anon_sym_mutable] = ACTIONS(2773), + [anon_sym_constinit] = ACTIONS(2773), + [anon_sym_consteval] = ACTIONS(2773), + [anon_sym_alignas] = ACTIONS(2773), + [anon_sym__Alignas] = ACTIONS(2773), + [sym_primitive_type] = ACTIONS(2773), + [anon_sym_enum] = ACTIONS(2773), + [anon_sym_class] = ACTIONS(2773), + [anon_sym_struct] = ACTIONS(2773), + [anon_sym_union] = ACTIONS(2773), + [anon_sym_if] = ACTIONS(2773), + [anon_sym_else] = ACTIONS(2773), + [anon_sym_switch] = ACTIONS(2773), + [anon_sym_case] = ACTIONS(2773), + [anon_sym_default] = ACTIONS(2773), + [anon_sym_while] = ACTIONS(2773), + [anon_sym_do] = ACTIONS(2773), + [anon_sym_for] = ACTIONS(2773), + [anon_sym_return] = ACTIONS(2773), + [anon_sym_break] = ACTIONS(2773), + [anon_sym_continue] = ACTIONS(2773), + [anon_sym_goto] = ACTIONS(2773), + [anon_sym___try] = ACTIONS(2773), + [anon_sym___leave] = ACTIONS(2773), + [anon_sym_not] = ACTIONS(2773), + [anon_sym_compl] = ACTIONS(2773), + [anon_sym_DASH_DASH] = ACTIONS(2775), + [anon_sym_PLUS_PLUS] = ACTIONS(2775), + [anon_sym_sizeof] = ACTIONS(2773), + [anon_sym___alignof__] = ACTIONS(2773), + [anon_sym___alignof] = ACTIONS(2773), + [anon_sym__alignof] = ACTIONS(2773), + [anon_sym_alignof] = ACTIONS(2773), + [anon_sym__Alignof] = ACTIONS(2773), + [anon_sym_offsetof] = ACTIONS(2773), + [anon_sym__Generic] = ACTIONS(2773), + [anon_sym_asm] = ACTIONS(2773), + [anon_sym___asm__] = ACTIONS(2773), + [sym__number_literal] = ACTIONS(2775), + [anon_sym_L_SQUOTE] = ACTIONS(2775), + [anon_sym_u_SQUOTE] = ACTIONS(2775), + [anon_sym_U_SQUOTE] = ACTIONS(2775), + [anon_sym_u8_SQUOTE] = ACTIONS(2775), + [anon_sym_SQUOTE] = ACTIONS(2775), + [anon_sym_L_DQUOTE] = ACTIONS(2775), + [anon_sym_u_DQUOTE] = ACTIONS(2775), + [anon_sym_U_DQUOTE] = ACTIONS(2775), + [anon_sym_u8_DQUOTE] = ACTIONS(2775), + [anon_sym_DQUOTE] = ACTIONS(2775), + [sym_true] = ACTIONS(2773), + [sym_false] = ACTIONS(2773), + [anon_sym_NULL] = ACTIONS(2773), + [anon_sym_nullptr] = ACTIONS(2773), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2775), + [sym_auto] = ACTIONS(2773), + [anon_sym_decltype] = ACTIONS(2773), + [sym_virtual] = ACTIONS(2773), + [anon_sym_explicit] = ACTIONS(2773), + [anon_sym_typename] = ACTIONS(2773), + [anon_sym_template] = ACTIONS(2773), + [anon_sym_operator] = ACTIONS(2773), + [anon_sym_try] = ACTIONS(2773), + [anon_sym_delete] = ACTIONS(2773), + [anon_sym_throw] = ACTIONS(2773), + [anon_sym_namespace] = ACTIONS(2773), + [anon_sym_using] = ACTIONS(2773), + [anon_sym_static_assert] = ACTIONS(2773), + [anon_sym_concept] = ACTIONS(2773), + [anon_sym_co_return] = ACTIONS(2773), + [anon_sym_co_yield] = ACTIONS(2773), + [anon_sym_R_DQUOTE] = ACTIONS(2775), + [anon_sym_LR_DQUOTE] = ACTIONS(2775), + [anon_sym_uR_DQUOTE] = ACTIONS(2775), + [anon_sym_UR_DQUOTE] = ACTIONS(2775), + [anon_sym_u8R_DQUOTE] = ACTIONS(2775), + [anon_sym_co_await] = ACTIONS(2773), + [anon_sym_new] = ACTIONS(2773), + [anon_sym_requires] = ACTIONS(2773), + [sym_this] = ACTIONS(2773), + }, + [288] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [aux_sym_preproc_else_token1] = ACTIONS(2777), + [aux_sym_preproc_elif_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [289] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_include_token1] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token2] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [aux_sym_preproc_else_token1] = ACTIONS(2781), + [aux_sym_preproc_elif_token1] = ACTIONS(2781), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_BANG] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_DASH] = ACTIONS(2781), + [anon_sym_PLUS] = ACTIONS(2781), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym_SEMI] = ACTIONS(2783), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym___cdecl] = ACTIONS(2781), + [anon_sym___clrcall] = ACTIONS(2781), + [anon_sym___stdcall] = ACTIONS(2781), + [anon_sym___fastcall] = ACTIONS(2781), + [anon_sym___thiscall] = ACTIONS(2781), + [anon_sym___vectorcall] = ACTIONS(2781), + [anon_sym_LBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [anon_sym_if] = ACTIONS(2781), + [anon_sym_else] = ACTIONS(2781), + [anon_sym_switch] = ACTIONS(2781), + [anon_sym_case] = ACTIONS(2781), + [anon_sym_default] = ACTIONS(2781), + [anon_sym_while] = ACTIONS(2781), + [anon_sym_do] = ACTIONS(2781), + [anon_sym_for] = ACTIONS(2781), + [anon_sym_return] = ACTIONS(2781), + [anon_sym_break] = ACTIONS(2781), + [anon_sym_continue] = ACTIONS(2781), + [anon_sym_goto] = ACTIONS(2781), + [anon_sym___try] = ACTIONS(2781), + [anon_sym___leave] = ACTIONS(2781), + [anon_sym_not] = ACTIONS(2781), + [anon_sym_compl] = ACTIONS(2781), + [anon_sym_DASH_DASH] = ACTIONS(2783), + [anon_sym_PLUS_PLUS] = ACTIONS(2783), + [anon_sym_sizeof] = ACTIONS(2781), + [anon_sym___alignof__] = ACTIONS(2781), + [anon_sym___alignof] = ACTIONS(2781), + [anon_sym__alignof] = ACTIONS(2781), + [anon_sym_alignof] = ACTIONS(2781), + [anon_sym__Alignof] = ACTIONS(2781), + [anon_sym_offsetof] = ACTIONS(2781), + [anon_sym__Generic] = ACTIONS(2781), + [anon_sym_asm] = ACTIONS(2781), + [anon_sym___asm__] = ACTIONS(2781), + [sym__number_literal] = ACTIONS(2783), + [anon_sym_L_SQUOTE] = ACTIONS(2783), + [anon_sym_u_SQUOTE] = ACTIONS(2783), + [anon_sym_U_SQUOTE] = ACTIONS(2783), + [anon_sym_u8_SQUOTE] = ACTIONS(2783), + [anon_sym_SQUOTE] = ACTIONS(2783), + [anon_sym_L_DQUOTE] = ACTIONS(2783), + [anon_sym_u_DQUOTE] = ACTIONS(2783), + [anon_sym_U_DQUOTE] = ACTIONS(2783), + [anon_sym_u8_DQUOTE] = ACTIONS(2783), + [anon_sym_DQUOTE] = ACTIONS(2783), + [sym_true] = ACTIONS(2781), + [sym_false] = ACTIONS(2781), + [anon_sym_NULL] = ACTIONS(2781), + [anon_sym_nullptr] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_try] = ACTIONS(2781), + [anon_sym_delete] = ACTIONS(2781), + [anon_sym_throw] = ACTIONS(2781), + [anon_sym_namespace] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + [anon_sym_concept] = ACTIONS(2781), + [anon_sym_co_return] = ACTIONS(2781), + [anon_sym_co_yield] = ACTIONS(2781), + [anon_sym_R_DQUOTE] = ACTIONS(2783), + [anon_sym_LR_DQUOTE] = ACTIONS(2783), + [anon_sym_uR_DQUOTE] = ACTIONS(2783), + [anon_sym_UR_DQUOTE] = ACTIONS(2783), + [anon_sym_u8R_DQUOTE] = ACTIONS(2783), + [anon_sym_co_await] = ACTIONS(2781), + [anon_sym_new] = ACTIONS(2781), + [anon_sym_requires] = ACTIONS(2781), + [sym_this] = ACTIONS(2781), + }, + [290] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [aux_sym_preproc_else_token1] = ACTIONS(2785), + [aux_sym_preproc_elif_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [291] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [aux_sym_preproc_else_token1] = ACTIONS(2777), + [aux_sym_preproc_elif_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [292] = { + [sym__identifier] = ACTIONS(2789), + [aux_sym_preproc_include_token1] = ACTIONS(2789), + [aux_sym_preproc_def_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token2] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2789), + [aux_sym_preproc_else_token1] = ACTIONS(2789), + [aux_sym_preproc_elif_token1] = ACTIONS(2789), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2789), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2789), + [sym_preproc_directive] = ACTIONS(2789), + [anon_sym_LPAREN2] = ACTIONS(2791), + [anon_sym_BANG] = ACTIONS(2791), + [anon_sym_TILDE] = ACTIONS(2791), + [anon_sym_DASH] = ACTIONS(2789), + [anon_sym_PLUS] = ACTIONS(2789), + [anon_sym_STAR] = ACTIONS(2791), + [anon_sym_AMP_AMP] = ACTIONS(2791), + [anon_sym_AMP] = ACTIONS(2789), + [anon_sym_SEMI] = ACTIONS(2791), + [anon_sym___extension__] = ACTIONS(2789), + [anon_sym_typedef] = ACTIONS(2789), + [anon_sym_extern] = ACTIONS(2789), + [anon_sym___attribute__] = ACTIONS(2789), + [anon_sym_COLON_COLON] = ACTIONS(2791), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2791), + [anon_sym___declspec] = ACTIONS(2789), + [anon_sym___based] = ACTIONS(2789), + [anon_sym___cdecl] = ACTIONS(2789), + [anon_sym___clrcall] = ACTIONS(2789), + [anon_sym___stdcall] = ACTIONS(2789), + [anon_sym___fastcall] = ACTIONS(2789), + [anon_sym___thiscall] = ACTIONS(2789), + [anon_sym___vectorcall] = ACTIONS(2789), + [anon_sym_LBRACE] = ACTIONS(2791), + [anon_sym_signed] = ACTIONS(2789), + [anon_sym_unsigned] = ACTIONS(2789), + [anon_sym_long] = ACTIONS(2789), + [anon_sym_short] = ACTIONS(2789), + [anon_sym_LBRACK] = ACTIONS(2789), + [anon_sym_static] = ACTIONS(2789), + [anon_sym_register] = ACTIONS(2789), + [anon_sym_inline] = ACTIONS(2789), + [anon_sym___inline] = ACTIONS(2789), + [anon_sym___inline__] = ACTIONS(2789), + [anon_sym___forceinline] = ACTIONS(2789), + [anon_sym_thread_local] = ACTIONS(2789), + [anon_sym___thread] = ACTIONS(2789), + [anon_sym_const] = ACTIONS(2789), + [anon_sym_constexpr] = ACTIONS(2789), + [anon_sym_volatile] = ACTIONS(2789), + [anon_sym_restrict] = ACTIONS(2789), + [anon_sym___restrict__] = ACTIONS(2789), + [anon_sym__Atomic] = ACTIONS(2789), + [anon_sym__Noreturn] = ACTIONS(2789), + [anon_sym_noreturn] = ACTIONS(2789), + [anon_sym_mutable] = ACTIONS(2789), + [anon_sym_constinit] = ACTIONS(2789), + [anon_sym_consteval] = ACTIONS(2789), + [anon_sym_alignas] = ACTIONS(2789), + [anon_sym__Alignas] = ACTIONS(2789), + [sym_primitive_type] = ACTIONS(2789), + [anon_sym_enum] = ACTIONS(2789), + [anon_sym_class] = ACTIONS(2789), + [anon_sym_struct] = ACTIONS(2789), + [anon_sym_union] = ACTIONS(2789), + [anon_sym_if] = ACTIONS(2789), + [anon_sym_else] = ACTIONS(2789), + [anon_sym_switch] = ACTIONS(2789), + [anon_sym_case] = ACTIONS(2789), + [anon_sym_default] = ACTIONS(2789), + [anon_sym_while] = ACTIONS(2789), + [anon_sym_do] = ACTIONS(2789), + [anon_sym_for] = ACTIONS(2789), + [anon_sym_return] = ACTIONS(2789), + [anon_sym_break] = ACTIONS(2789), + [anon_sym_continue] = ACTIONS(2789), + [anon_sym_goto] = ACTIONS(2789), + [anon_sym___try] = ACTIONS(2789), + [anon_sym___leave] = ACTIONS(2789), + [anon_sym_not] = ACTIONS(2789), + [anon_sym_compl] = ACTIONS(2789), + [anon_sym_DASH_DASH] = ACTIONS(2791), + [anon_sym_PLUS_PLUS] = ACTIONS(2791), + [anon_sym_sizeof] = ACTIONS(2789), + [anon_sym___alignof__] = ACTIONS(2789), + [anon_sym___alignof] = ACTIONS(2789), + [anon_sym__alignof] = ACTIONS(2789), + [anon_sym_alignof] = ACTIONS(2789), + [anon_sym__Alignof] = ACTIONS(2789), + [anon_sym_offsetof] = ACTIONS(2789), + [anon_sym__Generic] = ACTIONS(2789), + [anon_sym_asm] = ACTIONS(2789), + [anon_sym___asm__] = ACTIONS(2789), + [sym__number_literal] = ACTIONS(2791), + [anon_sym_L_SQUOTE] = ACTIONS(2791), + [anon_sym_u_SQUOTE] = ACTIONS(2791), + [anon_sym_U_SQUOTE] = ACTIONS(2791), + [anon_sym_u8_SQUOTE] = ACTIONS(2791), + [anon_sym_SQUOTE] = ACTIONS(2791), + [anon_sym_L_DQUOTE] = ACTIONS(2791), + [anon_sym_u_DQUOTE] = ACTIONS(2791), + [anon_sym_U_DQUOTE] = ACTIONS(2791), + [anon_sym_u8_DQUOTE] = ACTIONS(2791), + [anon_sym_DQUOTE] = ACTIONS(2791), + [sym_true] = ACTIONS(2789), + [sym_false] = ACTIONS(2789), + [anon_sym_NULL] = ACTIONS(2789), + [anon_sym_nullptr] = ACTIONS(2789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2791), + [sym_auto] = ACTIONS(2789), + [anon_sym_decltype] = ACTIONS(2789), + [sym_virtual] = ACTIONS(2789), + [anon_sym_explicit] = ACTIONS(2789), + [anon_sym_typename] = ACTIONS(2789), + [anon_sym_template] = ACTIONS(2789), + [anon_sym_operator] = ACTIONS(2789), + [anon_sym_try] = ACTIONS(2789), + [anon_sym_delete] = ACTIONS(2789), + [anon_sym_throw] = ACTIONS(2789), + [anon_sym_namespace] = ACTIONS(2789), + [anon_sym_using] = ACTIONS(2789), + [anon_sym_static_assert] = ACTIONS(2789), + [anon_sym_concept] = ACTIONS(2789), + [anon_sym_co_return] = ACTIONS(2789), + [anon_sym_co_yield] = ACTIONS(2789), + [anon_sym_R_DQUOTE] = ACTIONS(2791), + [anon_sym_LR_DQUOTE] = ACTIONS(2791), + [anon_sym_uR_DQUOTE] = ACTIONS(2791), + [anon_sym_UR_DQUOTE] = ACTIONS(2791), + [anon_sym_u8R_DQUOTE] = ACTIONS(2791), + [anon_sym_co_await] = ACTIONS(2789), + [anon_sym_new] = ACTIONS(2789), + [anon_sym_requires] = ACTIONS(2789), + [sym_this] = ACTIONS(2789), + }, + [293] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [aux_sym_preproc_else_token1] = ACTIONS(2785), + [aux_sym_preproc_elif_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [294] = { + [sym__identifier] = ACTIONS(2632), + [aux_sym_preproc_include_token1] = ACTIONS(2632), + [aux_sym_preproc_def_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token2] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2632), + [aux_sym_preproc_else_token1] = ACTIONS(2632), + [aux_sym_preproc_elif_token1] = ACTIONS(2632), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2632), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2632), + [sym_preproc_directive] = ACTIONS(2632), + [anon_sym_LPAREN2] = ACTIONS(2637), + [anon_sym_BANG] = ACTIONS(2637), + [anon_sym_TILDE] = ACTIONS(2637), + [anon_sym_DASH] = ACTIONS(2632), + [anon_sym_PLUS] = ACTIONS(2632), + [anon_sym_STAR] = ACTIONS(2637), + [anon_sym_AMP_AMP] = ACTIONS(2637), + [anon_sym_AMP] = ACTIONS(2632), + [anon_sym_SEMI] = ACTIONS(2637), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_typedef] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym___based] = ACTIONS(2632), + [anon_sym___cdecl] = ACTIONS(2632), + [anon_sym___clrcall] = ACTIONS(2632), + [anon_sym___stdcall] = ACTIONS(2632), + [anon_sym___fastcall] = ACTIONS(2632), + [anon_sym___thiscall] = ACTIONS(2632), + [anon_sym___vectorcall] = ACTIONS(2632), + [anon_sym_LBRACE] = ACTIONS(2637), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(2632), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2632), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_if] = ACTIONS(2632), + [anon_sym_else] = ACTIONS(2632), + [anon_sym_switch] = ACTIONS(2632), + [anon_sym_case] = ACTIONS(2632), + [anon_sym_default] = ACTIONS(2632), + [anon_sym_while] = ACTIONS(2632), + [anon_sym_do] = ACTIONS(2632), + [anon_sym_for] = ACTIONS(2632), + [anon_sym_return] = ACTIONS(2632), + [anon_sym_break] = ACTIONS(2632), + [anon_sym_continue] = ACTIONS(2632), + [anon_sym_goto] = ACTIONS(2632), + [anon_sym___try] = ACTIONS(2632), + [anon_sym___leave] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(2632), + [anon_sym_compl] = ACTIONS(2632), + [anon_sym_DASH_DASH] = ACTIONS(2637), + [anon_sym_PLUS_PLUS] = ACTIONS(2637), + [anon_sym_sizeof] = ACTIONS(2632), + [anon_sym___alignof__] = ACTIONS(2632), + [anon_sym___alignof] = ACTIONS(2632), + [anon_sym__alignof] = ACTIONS(2632), + [anon_sym_alignof] = ACTIONS(2632), + [anon_sym__Alignof] = ACTIONS(2632), + [anon_sym_offsetof] = ACTIONS(2632), + [anon_sym__Generic] = ACTIONS(2632), + [anon_sym_asm] = ACTIONS(2632), + [anon_sym___asm__] = ACTIONS(2632), + [sym__number_literal] = ACTIONS(2637), + [anon_sym_L_SQUOTE] = ACTIONS(2637), + [anon_sym_u_SQUOTE] = ACTIONS(2637), + [anon_sym_U_SQUOTE] = ACTIONS(2637), + [anon_sym_u8_SQUOTE] = ACTIONS(2637), + [anon_sym_SQUOTE] = ACTIONS(2637), + [anon_sym_L_DQUOTE] = ACTIONS(2637), + [anon_sym_u_DQUOTE] = ACTIONS(2637), + [anon_sym_U_DQUOTE] = ACTIONS(2637), + [anon_sym_u8_DQUOTE] = ACTIONS(2637), + [anon_sym_DQUOTE] = ACTIONS(2637), + [sym_true] = ACTIONS(2632), + [sym_false] = ACTIONS(2632), + [anon_sym_NULL] = ACTIONS(2632), + [anon_sym_nullptr] = ACTIONS(2632), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2637), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2632), + [sym_virtual] = ACTIONS(2632), + [anon_sym_explicit] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2632), + [anon_sym_operator] = ACTIONS(2632), + [anon_sym_try] = ACTIONS(2632), + [anon_sym_delete] = ACTIONS(2632), + [anon_sym_throw] = ACTIONS(2632), + [anon_sym_namespace] = ACTIONS(2632), + [anon_sym_using] = ACTIONS(2632), + [anon_sym_static_assert] = ACTIONS(2632), + [anon_sym_concept] = ACTIONS(2632), + [anon_sym_co_return] = ACTIONS(2632), + [anon_sym_co_yield] = ACTIONS(2632), + [anon_sym_R_DQUOTE] = ACTIONS(2637), + [anon_sym_LR_DQUOTE] = ACTIONS(2637), + [anon_sym_uR_DQUOTE] = ACTIONS(2637), + [anon_sym_UR_DQUOTE] = ACTIONS(2637), + [anon_sym_u8R_DQUOTE] = ACTIONS(2637), + [anon_sym_co_await] = ACTIONS(2632), + [anon_sym_new] = ACTIONS(2632), + [anon_sym_requires] = ACTIONS(2632), + [sym_this] = ACTIONS(2632), + }, + [295] = { + [sym__identifier] = ACTIONS(2793), + [aux_sym_preproc_include_token1] = ACTIONS(2793), + [aux_sym_preproc_def_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token2] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2793), + [aux_sym_preproc_else_token1] = ACTIONS(2793), + [aux_sym_preproc_elif_token1] = ACTIONS(2793), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2793), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2793), + [sym_preproc_directive] = ACTIONS(2793), + [anon_sym_LPAREN2] = ACTIONS(2795), + [anon_sym_BANG] = ACTIONS(2795), + [anon_sym_TILDE] = ACTIONS(2795), + [anon_sym_DASH] = ACTIONS(2793), + [anon_sym_PLUS] = ACTIONS(2793), + [anon_sym_STAR] = ACTIONS(2795), + [anon_sym_AMP_AMP] = ACTIONS(2795), + [anon_sym_AMP] = ACTIONS(2793), + [anon_sym_SEMI] = ACTIONS(2795), + [anon_sym___extension__] = ACTIONS(2793), + [anon_sym_typedef] = ACTIONS(2793), + [anon_sym_extern] = ACTIONS(2793), + [anon_sym___attribute__] = ACTIONS(2793), + [anon_sym_COLON_COLON] = ACTIONS(2795), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2795), + [anon_sym___declspec] = ACTIONS(2793), + [anon_sym___based] = ACTIONS(2793), + [anon_sym___cdecl] = ACTIONS(2793), + [anon_sym___clrcall] = ACTIONS(2793), + [anon_sym___stdcall] = ACTIONS(2793), + [anon_sym___fastcall] = ACTIONS(2793), + [anon_sym___thiscall] = ACTIONS(2793), + [anon_sym___vectorcall] = ACTIONS(2793), + [anon_sym_LBRACE] = ACTIONS(2795), + [anon_sym_signed] = ACTIONS(2793), + [anon_sym_unsigned] = ACTIONS(2793), + [anon_sym_long] = ACTIONS(2793), + [anon_sym_short] = ACTIONS(2793), + [anon_sym_LBRACK] = ACTIONS(2793), + [anon_sym_static] = ACTIONS(2793), + [anon_sym_register] = ACTIONS(2793), + [anon_sym_inline] = ACTIONS(2793), + [anon_sym___inline] = ACTIONS(2793), + [anon_sym___inline__] = ACTIONS(2793), + [anon_sym___forceinline] = ACTIONS(2793), + [anon_sym_thread_local] = ACTIONS(2793), + [anon_sym___thread] = ACTIONS(2793), + [anon_sym_const] = ACTIONS(2793), + [anon_sym_constexpr] = ACTIONS(2793), + [anon_sym_volatile] = ACTIONS(2793), + [anon_sym_restrict] = ACTIONS(2793), + [anon_sym___restrict__] = ACTIONS(2793), + [anon_sym__Atomic] = ACTIONS(2793), + [anon_sym__Noreturn] = ACTIONS(2793), + [anon_sym_noreturn] = ACTIONS(2793), + [anon_sym_mutable] = ACTIONS(2793), + [anon_sym_constinit] = ACTIONS(2793), + [anon_sym_consteval] = ACTIONS(2793), + [anon_sym_alignas] = ACTIONS(2793), + [anon_sym__Alignas] = ACTIONS(2793), + [sym_primitive_type] = ACTIONS(2793), + [anon_sym_enum] = ACTIONS(2793), + [anon_sym_class] = ACTIONS(2793), + [anon_sym_struct] = ACTIONS(2793), + [anon_sym_union] = ACTIONS(2793), + [anon_sym_if] = ACTIONS(2793), + [anon_sym_else] = ACTIONS(2793), + [anon_sym_switch] = ACTIONS(2793), + [anon_sym_case] = ACTIONS(2793), + [anon_sym_default] = ACTIONS(2793), + [anon_sym_while] = ACTIONS(2793), + [anon_sym_do] = ACTIONS(2793), + [anon_sym_for] = ACTIONS(2793), + [anon_sym_return] = ACTIONS(2793), + [anon_sym_break] = ACTIONS(2793), + [anon_sym_continue] = ACTIONS(2793), + [anon_sym_goto] = ACTIONS(2793), + [anon_sym___try] = ACTIONS(2793), + [anon_sym___leave] = ACTIONS(2793), + [anon_sym_not] = ACTIONS(2793), + [anon_sym_compl] = ACTIONS(2793), + [anon_sym_DASH_DASH] = ACTIONS(2795), + [anon_sym_PLUS_PLUS] = ACTIONS(2795), + [anon_sym_sizeof] = ACTIONS(2793), + [anon_sym___alignof__] = ACTIONS(2793), + [anon_sym___alignof] = ACTIONS(2793), + [anon_sym__alignof] = ACTIONS(2793), + [anon_sym_alignof] = ACTIONS(2793), + [anon_sym__Alignof] = ACTIONS(2793), + [anon_sym_offsetof] = ACTIONS(2793), + [anon_sym__Generic] = ACTIONS(2793), + [anon_sym_asm] = ACTIONS(2793), + [anon_sym___asm__] = ACTIONS(2793), + [sym__number_literal] = ACTIONS(2795), + [anon_sym_L_SQUOTE] = ACTIONS(2795), + [anon_sym_u_SQUOTE] = ACTIONS(2795), + [anon_sym_U_SQUOTE] = ACTIONS(2795), + [anon_sym_u8_SQUOTE] = ACTIONS(2795), + [anon_sym_SQUOTE] = ACTIONS(2795), + [anon_sym_L_DQUOTE] = ACTIONS(2795), + [anon_sym_u_DQUOTE] = ACTIONS(2795), + [anon_sym_U_DQUOTE] = ACTIONS(2795), + [anon_sym_u8_DQUOTE] = ACTIONS(2795), + [anon_sym_DQUOTE] = ACTIONS(2795), + [sym_true] = ACTIONS(2793), + [sym_false] = ACTIONS(2793), + [anon_sym_NULL] = ACTIONS(2793), + [anon_sym_nullptr] = ACTIONS(2793), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2795), + [sym_auto] = ACTIONS(2793), + [anon_sym_decltype] = ACTIONS(2793), + [sym_virtual] = ACTIONS(2793), + [anon_sym_explicit] = ACTIONS(2793), + [anon_sym_typename] = ACTIONS(2793), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_operator] = ACTIONS(2793), + [anon_sym_try] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2793), + [anon_sym_throw] = ACTIONS(2793), + [anon_sym_namespace] = ACTIONS(2793), + [anon_sym_using] = ACTIONS(2793), + [anon_sym_static_assert] = ACTIONS(2793), + [anon_sym_concept] = ACTIONS(2793), + [anon_sym_co_return] = ACTIONS(2793), + [anon_sym_co_yield] = ACTIONS(2793), + [anon_sym_R_DQUOTE] = ACTIONS(2795), + [anon_sym_LR_DQUOTE] = ACTIONS(2795), + [anon_sym_uR_DQUOTE] = ACTIONS(2795), + [anon_sym_UR_DQUOTE] = ACTIONS(2795), + [anon_sym_u8R_DQUOTE] = ACTIONS(2795), + [anon_sym_co_await] = ACTIONS(2793), + [anon_sym_new] = ACTIONS(2793), + [anon_sym_requires] = ACTIONS(2793), + [sym_this] = ACTIONS(2793), + }, + [296] = { + [sym__identifier] = ACTIONS(2797), + [aux_sym_preproc_include_token1] = ACTIONS(2797), + [aux_sym_preproc_def_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token2] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2797), + [aux_sym_preproc_else_token1] = ACTIONS(2797), + [aux_sym_preproc_elif_token1] = ACTIONS(2797), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2797), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2797), + [sym_preproc_directive] = ACTIONS(2797), + [anon_sym_LPAREN2] = ACTIONS(2799), + [anon_sym_BANG] = ACTIONS(2799), + [anon_sym_TILDE] = ACTIONS(2799), + [anon_sym_DASH] = ACTIONS(2797), + [anon_sym_PLUS] = ACTIONS(2797), + [anon_sym_STAR] = ACTIONS(2799), + [anon_sym_AMP_AMP] = ACTIONS(2799), + [anon_sym_AMP] = ACTIONS(2797), + [anon_sym_SEMI] = ACTIONS(2799), + [anon_sym___extension__] = ACTIONS(2797), + [anon_sym_typedef] = ACTIONS(2797), + [anon_sym_extern] = ACTIONS(2797), + [anon_sym___attribute__] = ACTIONS(2797), + [anon_sym_COLON_COLON] = ACTIONS(2799), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2799), + [anon_sym___declspec] = ACTIONS(2797), + [anon_sym___based] = ACTIONS(2797), + [anon_sym___cdecl] = ACTIONS(2797), + [anon_sym___clrcall] = ACTIONS(2797), + [anon_sym___stdcall] = ACTIONS(2797), + [anon_sym___fastcall] = ACTIONS(2797), + [anon_sym___thiscall] = ACTIONS(2797), + [anon_sym___vectorcall] = ACTIONS(2797), + [anon_sym_LBRACE] = ACTIONS(2799), + [anon_sym_signed] = ACTIONS(2797), + [anon_sym_unsigned] = ACTIONS(2797), + [anon_sym_long] = ACTIONS(2797), + [anon_sym_short] = ACTIONS(2797), + [anon_sym_LBRACK] = ACTIONS(2797), + [anon_sym_static] = ACTIONS(2797), + [anon_sym_register] = ACTIONS(2797), + [anon_sym_inline] = ACTIONS(2797), + [anon_sym___inline] = ACTIONS(2797), + [anon_sym___inline__] = ACTIONS(2797), + [anon_sym___forceinline] = ACTIONS(2797), + [anon_sym_thread_local] = ACTIONS(2797), + [anon_sym___thread] = ACTIONS(2797), + [anon_sym_const] = ACTIONS(2797), + [anon_sym_constexpr] = ACTIONS(2797), + [anon_sym_volatile] = ACTIONS(2797), + [anon_sym_restrict] = ACTIONS(2797), + [anon_sym___restrict__] = ACTIONS(2797), + [anon_sym__Atomic] = ACTIONS(2797), + [anon_sym__Noreturn] = ACTIONS(2797), + [anon_sym_noreturn] = ACTIONS(2797), + [anon_sym_mutable] = ACTIONS(2797), + [anon_sym_constinit] = ACTIONS(2797), + [anon_sym_consteval] = ACTIONS(2797), + [anon_sym_alignas] = ACTIONS(2797), + [anon_sym__Alignas] = ACTIONS(2797), + [sym_primitive_type] = ACTIONS(2797), + [anon_sym_enum] = ACTIONS(2797), + [anon_sym_class] = ACTIONS(2797), + [anon_sym_struct] = ACTIONS(2797), + [anon_sym_union] = ACTIONS(2797), + [anon_sym_if] = ACTIONS(2797), + [anon_sym_else] = ACTIONS(2797), + [anon_sym_switch] = ACTIONS(2797), + [anon_sym_case] = ACTIONS(2797), + [anon_sym_default] = ACTIONS(2797), + [anon_sym_while] = ACTIONS(2797), + [anon_sym_do] = ACTIONS(2797), + [anon_sym_for] = ACTIONS(2797), + [anon_sym_return] = ACTIONS(2797), + [anon_sym_break] = ACTIONS(2797), + [anon_sym_continue] = ACTIONS(2797), + [anon_sym_goto] = ACTIONS(2797), + [anon_sym___try] = ACTIONS(2797), + [anon_sym___leave] = ACTIONS(2797), + [anon_sym_not] = ACTIONS(2797), + [anon_sym_compl] = ACTIONS(2797), + [anon_sym_DASH_DASH] = ACTIONS(2799), + [anon_sym_PLUS_PLUS] = ACTIONS(2799), + [anon_sym_sizeof] = ACTIONS(2797), + [anon_sym___alignof__] = ACTIONS(2797), + [anon_sym___alignof] = ACTIONS(2797), + [anon_sym__alignof] = ACTIONS(2797), + [anon_sym_alignof] = ACTIONS(2797), + [anon_sym__Alignof] = ACTIONS(2797), + [anon_sym_offsetof] = ACTIONS(2797), + [anon_sym__Generic] = ACTIONS(2797), + [anon_sym_asm] = ACTIONS(2797), + [anon_sym___asm__] = ACTIONS(2797), + [sym__number_literal] = ACTIONS(2799), + [anon_sym_L_SQUOTE] = ACTIONS(2799), + [anon_sym_u_SQUOTE] = ACTIONS(2799), + [anon_sym_U_SQUOTE] = ACTIONS(2799), + [anon_sym_u8_SQUOTE] = ACTIONS(2799), + [anon_sym_SQUOTE] = ACTIONS(2799), + [anon_sym_L_DQUOTE] = ACTIONS(2799), + [anon_sym_u_DQUOTE] = ACTIONS(2799), + [anon_sym_U_DQUOTE] = ACTIONS(2799), + [anon_sym_u8_DQUOTE] = ACTIONS(2799), + [anon_sym_DQUOTE] = ACTIONS(2799), + [sym_true] = ACTIONS(2797), + [sym_false] = ACTIONS(2797), + [anon_sym_NULL] = ACTIONS(2797), + [anon_sym_nullptr] = ACTIONS(2797), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2799), + [sym_auto] = ACTIONS(2797), + [anon_sym_decltype] = ACTIONS(2797), + [sym_virtual] = ACTIONS(2797), + [anon_sym_explicit] = ACTIONS(2797), + [anon_sym_typename] = ACTIONS(2797), + [anon_sym_template] = ACTIONS(2797), + [anon_sym_operator] = ACTIONS(2797), + [anon_sym_try] = ACTIONS(2797), + [anon_sym_delete] = ACTIONS(2797), + [anon_sym_throw] = ACTIONS(2797), + [anon_sym_namespace] = ACTIONS(2797), + [anon_sym_using] = ACTIONS(2797), + [anon_sym_static_assert] = ACTIONS(2797), + [anon_sym_concept] = ACTIONS(2797), + [anon_sym_co_return] = ACTIONS(2797), + [anon_sym_co_yield] = ACTIONS(2797), + [anon_sym_R_DQUOTE] = ACTIONS(2799), + [anon_sym_LR_DQUOTE] = ACTIONS(2799), + [anon_sym_uR_DQUOTE] = ACTIONS(2799), + [anon_sym_UR_DQUOTE] = ACTIONS(2799), + [anon_sym_u8R_DQUOTE] = ACTIONS(2799), + [anon_sym_co_await] = ACTIONS(2797), + [anon_sym_new] = ACTIONS(2797), + [anon_sym_requires] = ACTIONS(2797), + [sym_this] = ACTIONS(2797), + }, + [297] = { + [sym__identifier] = ACTIONS(2801), + [aux_sym_preproc_include_token1] = ACTIONS(2801), + [aux_sym_preproc_def_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token2] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2801), + [aux_sym_preproc_else_token1] = ACTIONS(2801), + [aux_sym_preproc_elif_token1] = ACTIONS(2801), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2801), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2801), + [sym_preproc_directive] = ACTIONS(2801), + [anon_sym_LPAREN2] = ACTIONS(2803), + [anon_sym_BANG] = ACTIONS(2803), + [anon_sym_TILDE] = ACTIONS(2803), + [anon_sym_DASH] = ACTIONS(2801), + [anon_sym_PLUS] = ACTIONS(2801), + [anon_sym_STAR] = ACTIONS(2803), + [anon_sym_AMP_AMP] = ACTIONS(2803), + [anon_sym_AMP] = ACTIONS(2801), + [anon_sym_SEMI] = ACTIONS(2803), + [anon_sym___extension__] = ACTIONS(2801), + [anon_sym_typedef] = ACTIONS(2801), + [anon_sym_extern] = ACTIONS(2801), + [anon_sym___attribute__] = ACTIONS(2801), + [anon_sym_COLON_COLON] = ACTIONS(2803), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2803), + [anon_sym___declspec] = ACTIONS(2801), + [anon_sym___based] = ACTIONS(2801), + [anon_sym___cdecl] = ACTIONS(2801), + [anon_sym___clrcall] = ACTIONS(2801), + [anon_sym___stdcall] = ACTIONS(2801), + [anon_sym___fastcall] = ACTIONS(2801), + [anon_sym___thiscall] = ACTIONS(2801), + [anon_sym___vectorcall] = ACTIONS(2801), + [anon_sym_LBRACE] = ACTIONS(2803), + [anon_sym_signed] = ACTIONS(2801), + [anon_sym_unsigned] = ACTIONS(2801), + [anon_sym_long] = ACTIONS(2801), + [anon_sym_short] = ACTIONS(2801), + [anon_sym_LBRACK] = ACTIONS(2801), + [anon_sym_static] = ACTIONS(2801), + [anon_sym_register] = ACTIONS(2801), + [anon_sym_inline] = ACTIONS(2801), + [anon_sym___inline] = ACTIONS(2801), + [anon_sym___inline__] = ACTIONS(2801), + [anon_sym___forceinline] = ACTIONS(2801), + [anon_sym_thread_local] = ACTIONS(2801), + [anon_sym___thread] = ACTIONS(2801), + [anon_sym_const] = ACTIONS(2801), + [anon_sym_constexpr] = ACTIONS(2801), + [anon_sym_volatile] = ACTIONS(2801), + [anon_sym_restrict] = ACTIONS(2801), + [anon_sym___restrict__] = ACTIONS(2801), + [anon_sym__Atomic] = ACTIONS(2801), + [anon_sym__Noreturn] = ACTIONS(2801), + [anon_sym_noreturn] = ACTIONS(2801), + [anon_sym_mutable] = ACTIONS(2801), + [anon_sym_constinit] = ACTIONS(2801), + [anon_sym_consteval] = ACTIONS(2801), + [anon_sym_alignas] = ACTIONS(2801), + [anon_sym__Alignas] = ACTIONS(2801), + [sym_primitive_type] = ACTIONS(2801), + [anon_sym_enum] = ACTIONS(2801), + [anon_sym_class] = ACTIONS(2801), + [anon_sym_struct] = ACTIONS(2801), + [anon_sym_union] = ACTIONS(2801), + [anon_sym_if] = ACTIONS(2801), + [anon_sym_else] = ACTIONS(2801), + [anon_sym_switch] = ACTIONS(2801), + [anon_sym_case] = ACTIONS(2801), + [anon_sym_default] = ACTIONS(2801), + [anon_sym_while] = ACTIONS(2801), + [anon_sym_do] = ACTIONS(2801), + [anon_sym_for] = ACTIONS(2801), + [anon_sym_return] = ACTIONS(2801), + [anon_sym_break] = ACTIONS(2801), + [anon_sym_continue] = ACTIONS(2801), + [anon_sym_goto] = ACTIONS(2801), + [anon_sym___try] = ACTIONS(2801), + [anon_sym___leave] = ACTIONS(2801), + [anon_sym_not] = ACTIONS(2801), + [anon_sym_compl] = ACTIONS(2801), + [anon_sym_DASH_DASH] = ACTIONS(2803), + [anon_sym_PLUS_PLUS] = ACTIONS(2803), + [anon_sym_sizeof] = ACTIONS(2801), + [anon_sym___alignof__] = ACTIONS(2801), + [anon_sym___alignof] = ACTIONS(2801), + [anon_sym__alignof] = ACTIONS(2801), + [anon_sym_alignof] = ACTIONS(2801), + [anon_sym__Alignof] = ACTIONS(2801), + [anon_sym_offsetof] = ACTIONS(2801), + [anon_sym__Generic] = ACTIONS(2801), + [anon_sym_asm] = ACTIONS(2801), + [anon_sym___asm__] = ACTIONS(2801), + [sym__number_literal] = ACTIONS(2803), + [anon_sym_L_SQUOTE] = ACTIONS(2803), + [anon_sym_u_SQUOTE] = ACTIONS(2803), + [anon_sym_U_SQUOTE] = ACTIONS(2803), + [anon_sym_u8_SQUOTE] = ACTIONS(2803), + [anon_sym_SQUOTE] = ACTIONS(2803), + [anon_sym_L_DQUOTE] = ACTIONS(2803), + [anon_sym_u_DQUOTE] = ACTIONS(2803), + [anon_sym_U_DQUOTE] = ACTIONS(2803), + [anon_sym_u8_DQUOTE] = ACTIONS(2803), + [anon_sym_DQUOTE] = ACTIONS(2803), + [sym_true] = ACTIONS(2801), + [sym_false] = ACTIONS(2801), + [anon_sym_NULL] = ACTIONS(2801), + [anon_sym_nullptr] = ACTIONS(2801), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2803), + [sym_auto] = ACTIONS(2801), + [anon_sym_decltype] = ACTIONS(2801), + [sym_virtual] = ACTIONS(2801), + [anon_sym_explicit] = ACTIONS(2801), + [anon_sym_typename] = ACTIONS(2801), + [anon_sym_template] = ACTIONS(2801), + [anon_sym_operator] = ACTIONS(2801), + [anon_sym_try] = ACTIONS(2801), + [anon_sym_delete] = ACTIONS(2801), + [anon_sym_throw] = ACTIONS(2801), + [anon_sym_namespace] = ACTIONS(2801), + [anon_sym_using] = ACTIONS(2801), + [anon_sym_static_assert] = ACTIONS(2801), + [anon_sym_concept] = ACTIONS(2801), + [anon_sym_co_return] = ACTIONS(2801), + [anon_sym_co_yield] = ACTIONS(2801), + [anon_sym_R_DQUOTE] = ACTIONS(2803), + [anon_sym_LR_DQUOTE] = ACTIONS(2803), + [anon_sym_uR_DQUOTE] = ACTIONS(2803), + [anon_sym_UR_DQUOTE] = ACTIONS(2803), + [anon_sym_u8R_DQUOTE] = ACTIONS(2803), + [anon_sym_co_await] = ACTIONS(2801), + [anon_sym_new] = ACTIONS(2801), + [anon_sym_requires] = ACTIONS(2801), + [sym_this] = ACTIONS(2801), + }, + [298] = { + [sym__identifier] = ACTIONS(2805), + [aux_sym_preproc_include_token1] = ACTIONS(2805), + [aux_sym_preproc_def_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token2] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2805), + [aux_sym_preproc_else_token1] = ACTIONS(2805), + [aux_sym_preproc_elif_token1] = ACTIONS(2805), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2805), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2805), + [sym_preproc_directive] = ACTIONS(2805), + [anon_sym_LPAREN2] = ACTIONS(2807), + [anon_sym_BANG] = ACTIONS(2807), + [anon_sym_TILDE] = ACTIONS(2807), + [anon_sym_DASH] = ACTIONS(2805), + [anon_sym_PLUS] = ACTIONS(2805), + [anon_sym_STAR] = ACTIONS(2807), + [anon_sym_AMP_AMP] = ACTIONS(2807), + [anon_sym_AMP] = ACTIONS(2805), + [anon_sym_SEMI] = ACTIONS(2807), + [anon_sym___extension__] = ACTIONS(2805), + [anon_sym_typedef] = ACTIONS(2805), + [anon_sym_extern] = ACTIONS(2805), + [anon_sym___attribute__] = ACTIONS(2805), + [anon_sym_COLON_COLON] = ACTIONS(2807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2807), + [anon_sym___declspec] = ACTIONS(2805), + [anon_sym___based] = ACTIONS(2805), + [anon_sym___cdecl] = ACTIONS(2805), + [anon_sym___clrcall] = ACTIONS(2805), + [anon_sym___stdcall] = ACTIONS(2805), + [anon_sym___fastcall] = ACTIONS(2805), + [anon_sym___thiscall] = ACTIONS(2805), + [anon_sym___vectorcall] = ACTIONS(2805), + [anon_sym_LBRACE] = ACTIONS(2807), + [anon_sym_signed] = ACTIONS(2805), + [anon_sym_unsigned] = ACTIONS(2805), + [anon_sym_long] = ACTIONS(2805), + [anon_sym_short] = ACTIONS(2805), + [anon_sym_LBRACK] = ACTIONS(2805), + [anon_sym_static] = ACTIONS(2805), + [anon_sym_register] = ACTIONS(2805), + [anon_sym_inline] = ACTIONS(2805), + [anon_sym___inline] = ACTIONS(2805), + [anon_sym___inline__] = ACTIONS(2805), + [anon_sym___forceinline] = ACTIONS(2805), + [anon_sym_thread_local] = ACTIONS(2805), + [anon_sym___thread] = ACTIONS(2805), + [anon_sym_const] = ACTIONS(2805), + [anon_sym_constexpr] = ACTIONS(2805), + [anon_sym_volatile] = ACTIONS(2805), + [anon_sym_restrict] = ACTIONS(2805), + [anon_sym___restrict__] = ACTIONS(2805), + [anon_sym__Atomic] = ACTIONS(2805), + [anon_sym__Noreturn] = ACTIONS(2805), + [anon_sym_noreturn] = ACTIONS(2805), + [anon_sym_mutable] = ACTIONS(2805), + [anon_sym_constinit] = ACTIONS(2805), + [anon_sym_consteval] = ACTIONS(2805), + [anon_sym_alignas] = ACTIONS(2805), + [anon_sym__Alignas] = ACTIONS(2805), + [sym_primitive_type] = ACTIONS(2805), + [anon_sym_enum] = ACTIONS(2805), + [anon_sym_class] = ACTIONS(2805), + [anon_sym_struct] = ACTIONS(2805), + [anon_sym_union] = ACTIONS(2805), + [anon_sym_if] = ACTIONS(2805), + [anon_sym_else] = ACTIONS(2805), + [anon_sym_switch] = ACTIONS(2805), + [anon_sym_case] = ACTIONS(2805), + [anon_sym_default] = ACTIONS(2805), + [anon_sym_while] = ACTIONS(2805), + [anon_sym_do] = ACTIONS(2805), + [anon_sym_for] = ACTIONS(2805), + [anon_sym_return] = ACTIONS(2805), + [anon_sym_break] = ACTIONS(2805), + [anon_sym_continue] = ACTIONS(2805), + [anon_sym_goto] = ACTIONS(2805), + [anon_sym___try] = ACTIONS(2805), + [anon_sym___leave] = ACTIONS(2805), + [anon_sym_not] = ACTIONS(2805), + [anon_sym_compl] = ACTIONS(2805), + [anon_sym_DASH_DASH] = ACTIONS(2807), + [anon_sym_PLUS_PLUS] = ACTIONS(2807), + [anon_sym_sizeof] = ACTIONS(2805), + [anon_sym___alignof__] = ACTIONS(2805), + [anon_sym___alignof] = ACTIONS(2805), + [anon_sym__alignof] = ACTIONS(2805), + [anon_sym_alignof] = ACTIONS(2805), + [anon_sym__Alignof] = ACTIONS(2805), + [anon_sym_offsetof] = ACTIONS(2805), + [anon_sym__Generic] = ACTIONS(2805), + [anon_sym_asm] = ACTIONS(2805), + [anon_sym___asm__] = ACTIONS(2805), + [sym__number_literal] = ACTIONS(2807), + [anon_sym_L_SQUOTE] = ACTIONS(2807), + [anon_sym_u_SQUOTE] = ACTIONS(2807), + [anon_sym_U_SQUOTE] = ACTIONS(2807), + [anon_sym_u8_SQUOTE] = ACTIONS(2807), + [anon_sym_SQUOTE] = ACTIONS(2807), + [anon_sym_L_DQUOTE] = ACTIONS(2807), + [anon_sym_u_DQUOTE] = ACTIONS(2807), + [anon_sym_U_DQUOTE] = ACTIONS(2807), + [anon_sym_u8_DQUOTE] = ACTIONS(2807), + [anon_sym_DQUOTE] = ACTIONS(2807), + [sym_true] = ACTIONS(2805), + [sym_false] = ACTIONS(2805), + [anon_sym_NULL] = ACTIONS(2805), + [anon_sym_nullptr] = ACTIONS(2805), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2807), + [sym_auto] = ACTIONS(2805), + [anon_sym_decltype] = ACTIONS(2805), + [sym_virtual] = ACTIONS(2805), + [anon_sym_explicit] = ACTIONS(2805), + [anon_sym_typename] = ACTIONS(2805), + [anon_sym_template] = ACTIONS(2805), + [anon_sym_operator] = ACTIONS(2805), + [anon_sym_try] = ACTIONS(2805), + [anon_sym_delete] = ACTIONS(2805), + [anon_sym_throw] = ACTIONS(2805), + [anon_sym_namespace] = ACTIONS(2805), + [anon_sym_using] = ACTIONS(2805), + [anon_sym_static_assert] = ACTIONS(2805), + [anon_sym_concept] = ACTIONS(2805), + [anon_sym_co_return] = ACTIONS(2805), + [anon_sym_co_yield] = ACTIONS(2805), + [anon_sym_R_DQUOTE] = ACTIONS(2807), + [anon_sym_LR_DQUOTE] = ACTIONS(2807), + [anon_sym_uR_DQUOTE] = ACTIONS(2807), + [anon_sym_UR_DQUOTE] = ACTIONS(2807), + [anon_sym_u8R_DQUOTE] = ACTIONS(2807), + [anon_sym_co_await] = ACTIONS(2805), + [anon_sym_new] = ACTIONS(2805), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2805), + }, + [299] = { + [sym__identifier] = ACTIONS(2809), + [aux_sym_preproc_include_token1] = ACTIONS(2809), + [aux_sym_preproc_def_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token2] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2809), + [aux_sym_preproc_else_token1] = ACTIONS(2809), + [aux_sym_preproc_elif_token1] = ACTIONS(2809), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2809), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2809), + [sym_preproc_directive] = ACTIONS(2809), + [anon_sym_LPAREN2] = ACTIONS(2811), + [anon_sym_BANG] = ACTIONS(2811), + [anon_sym_TILDE] = ACTIONS(2811), + [anon_sym_DASH] = ACTIONS(2809), + [anon_sym_PLUS] = ACTIONS(2809), + [anon_sym_STAR] = ACTIONS(2811), + [anon_sym_AMP_AMP] = ACTIONS(2811), + [anon_sym_AMP] = ACTIONS(2809), + [anon_sym_SEMI] = ACTIONS(2811), + [anon_sym___extension__] = ACTIONS(2809), + [anon_sym_typedef] = ACTIONS(2809), + [anon_sym_extern] = ACTIONS(2809), + [anon_sym___attribute__] = ACTIONS(2809), + [anon_sym_COLON_COLON] = ACTIONS(2811), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2811), + [anon_sym___declspec] = ACTIONS(2809), + [anon_sym___based] = ACTIONS(2809), + [anon_sym___cdecl] = ACTIONS(2809), + [anon_sym___clrcall] = ACTIONS(2809), + [anon_sym___stdcall] = ACTIONS(2809), + [anon_sym___fastcall] = ACTIONS(2809), + [anon_sym___thiscall] = ACTIONS(2809), + [anon_sym___vectorcall] = ACTIONS(2809), + [anon_sym_LBRACE] = ACTIONS(2811), + [anon_sym_signed] = ACTIONS(2809), + [anon_sym_unsigned] = ACTIONS(2809), + [anon_sym_long] = ACTIONS(2809), + [anon_sym_short] = ACTIONS(2809), + [anon_sym_LBRACK] = ACTIONS(2809), + [anon_sym_static] = ACTIONS(2809), + [anon_sym_register] = ACTIONS(2809), + [anon_sym_inline] = ACTIONS(2809), + [anon_sym___inline] = ACTIONS(2809), + [anon_sym___inline__] = ACTIONS(2809), + [anon_sym___forceinline] = ACTIONS(2809), + [anon_sym_thread_local] = ACTIONS(2809), + [anon_sym___thread] = ACTIONS(2809), + [anon_sym_const] = ACTIONS(2809), + [anon_sym_constexpr] = ACTIONS(2809), + [anon_sym_volatile] = ACTIONS(2809), + [anon_sym_restrict] = ACTIONS(2809), + [anon_sym___restrict__] = ACTIONS(2809), + [anon_sym__Atomic] = ACTIONS(2809), + [anon_sym__Noreturn] = ACTIONS(2809), + [anon_sym_noreturn] = ACTIONS(2809), + [anon_sym_mutable] = ACTIONS(2809), + [anon_sym_constinit] = ACTIONS(2809), + [anon_sym_consteval] = ACTIONS(2809), + [anon_sym_alignas] = ACTIONS(2809), + [anon_sym__Alignas] = ACTIONS(2809), + [sym_primitive_type] = ACTIONS(2809), + [anon_sym_enum] = ACTIONS(2809), + [anon_sym_class] = ACTIONS(2809), + [anon_sym_struct] = ACTIONS(2809), + [anon_sym_union] = ACTIONS(2809), + [anon_sym_if] = ACTIONS(2809), + [anon_sym_else] = ACTIONS(2809), + [anon_sym_switch] = ACTIONS(2809), + [anon_sym_case] = ACTIONS(2809), + [anon_sym_default] = ACTIONS(2809), + [anon_sym_while] = ACTIONS(2809), + [anon_sym_do] = ACTIONS(2809), + [anon_sym_for] = ACTIONS(2809), + [anon_sym_return] = ACTIONS(2809), + [anon_sym_break] = ACTIONS(2809), + [anon_sym_continue] = ACTIONS(2809), + [anon_sym_goto] = ACTIONS(2809), + [anon_sym___try] = ACTIONS(2809), + [anon_sym___leave] = ACTIONS(2809), + [anon_sym_not] = ACTIONS(2809), + [anon_sym_compl] = ACTIONS(2809), + [anon_sym_DASH_DASH] = ACTIONS(2811), + [anon_sym_PLUS_PLUS] = ACTIONS(2811), + [anon_sym_sizeof] = ACTIONS(2809), + [anon_sym___alignof__] = ACTIONS(2809), + [anon_sym___alignof] = ACTIONS(2809), + [anon_sym__alignof] = ACTIONS(2809), + [anon_sym_alignof] = ACTIONS(2809), + [anon_sym__Alignof] = ACTIONS(2809), + [anon_sym_offsetof] = ACTIONS(2809), + [anon_sym__Generic] = ACTIONS(2809), + [anon_sym_asm] = ACTIONS(2809), + [anon_sym___asm__] = ACTIONS(2809), + [sym__number_literal] = ACTIONS(2811), + [anon_sym_L_SQUOTE] = ACTIONS(2811), + [anon_sym_u_SQUOTE] = ACTIONS(2811), + [anon_sym_U_SQUOTE] = ACTIONS(2811), + [anon_sym_u8_SQUOTE] = ACTIONS(2811), + [anon_sym_SQUOTE] = ACTIONS(2811), + [anon_sym_L_DQUOTE] = ACTIONS(2811), + [anon_sym_u_DQUOTE] = ACTIONS(2811), + [anon_sym_U_DQUOTE] = ACTIONS(2811), + [anon_sym_u8_DQUOTE] = ACTIONS(2811), + [anon_sym_DQUOTE] = ACTIONS(2811), + [sym_true] = ACTIONS(2809), + [sym_false] = ACTIONS(2809), + [anon_sym_NULL] = ACTIONS(2809), + [anon_sym_nullptr] = ACTIONS(2809), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2811), + [sym_auto] = ACTIONS(2809), + [anon_sym_decltype] = ACTIONS(2809), + [sym_virtual] = ACTIONS(2809), + [anon_sym_explicit] = ACTIONS(2809), + [anon_sym_typename] = ACTIONS(2809), + [anon_sym_template] = ACTIONS(2809), + [anon_sym_operator] = ACTIONS(2809), + [anon_sym_try] = ACTIONS(2809), + [anon_sym_delete] = ACTIONS(2809), + [anon_sym_throw] = ACTIONS(2809), + [anon_sym_namespace] = ACTIONS(2809), + [anon_sym_using] = ACTIONS(2809), + [anon_sym_static_assert] = ACTIONS(2809), + [anon_sym_concept] = ACTIONS(2809), + [anon_sym_co_return] = ACTIONS(2809), + [anon_sym_co_yield] = ACTIONS(2809), + [anon_sym_R_DQUOTE] = ACTIONS(2811), + [anon_sym_LR_DQUOTE] = ACTIONS(2811), + [anon_sym_uR_DQUOTE] = ACTIONS(2811), + [anon_sym_UR_DQUOTE] = ACTIONS(2811), + [anon_sym_u8R_DQUOTE] = ACTIONS(2811), + [anon_sym_co_await] = ACTIONS(2809), + [anon_sym_new] = ACTIONS(2809), + [anon_sym_requires] = ACTIONS(2809), + [sym_this] = ACTIONS(2809), + }, + [300] = { + [sym__identifier] = ACTIONS(2813), + [aux_sym_preproc_include_token1] = ACTIONS(2813), + [aux_sym_preproc_def_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token2] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2813), + [aux_sym_preproc_else_token1] = ACTIONS(2813), + [aux_sym_preproc_elif_token1] = ACTIONS(2813), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2813), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2813), + [sym_preproc_directive] = ACTIONS(2813), + [anon_sym_LPAREN2] = ACTIONS(2815), + [anon_sym_BANG] = ACTIONS(2815), + [anon_sym_TILDE] = ACTIONS(2815), + [anon_sym_DASH] = ACTIONS(2813), + [anon_sym_PLUS] = ACTIONS(2813), + [anon_sym_STAR] = ACTIONS(2815), + [anon_sym_AMP_AMP] = ACTIONS(2815), + [anon_sym_AMP] = ACTIONS(2813), + [anon_sym_SEMI] = ACTIONS(2815), + [anon_sym___extension__] = ACTIONS(2813), + [anon_sym_typedef] = ACTIONS(2813), + [anon_sym_extern] = ACTIONS(2813), + [anon_sym___attribute__] = ACTIONS(2813), + [anon_sym_COLON_COLON] = ACTIONS(2815), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2815), + [anon_sym___declspec] = ACTIONS(2813), + [anon_sym___based] = ACTIONS(2813), + [anon_sym___cdecl] = ACTIONS(2813), + [anon_sym___clrcall] = ACTIONS(2813), + [anon_sym___stdcall] = ACTIONS(2813), + [anon_sym___fastcall] = ACTIONS(2813), + [anon_sym___thiscall] = ACTIONS(2813), + [anon_sym___vectorcall] = ACTIONS(2813), + [anon_sym_LBRACE] = ACTIONS(2815), + [anon_sym_signed] = ACTIONS(2813), + [anon_sym_unsigned] = ACTIONS(2813), + [anon_sym_long] = ACTIONS(2813), + [anon_sym_short] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(2813), + [anon_sym_static] = ACTIONS(2813), + [anon_sym_register] = ACTIONS(2813), + [anon_sym_inline] = ACTIONS(2813), + [anon_sym___inline] = ACTIONS(2813), + [anon_sym___inline__] = ACTIONS(2813), + [anon_sym___forceinline] = ACTIONS(2813), + [anon_sym_thread_local] = ACTIONS(2813), + [anon_sym___thread] = ACTIONS(2813), + [anon_sym_const] = ACTIONS(2813), + [anon_sym_constexpr] = ACTIONS(2813), + [anon_sym_volatile] = ACTIONS(2813), + [anon_sym_restrict] = ACTIONS(2813), + [anon_sym___restrict__] = ACTIONS(2813), + [anon_sym__Atomic] = ACTIONS(2813), + [anon_sym__Noreturn] = ACTIONS(2813), + [anon_sym_noreturn] = ACTIONS(2813), + [anon_sym_mutable] = ACTIONS(2813), + [anon_sym_constinit] = ACTIONS(2813), + [anon_sym_consteval] = ACTIONS(2813), + [anon_sym_alignas] = ACTIONS(2813), + [anon_sym__Alignas] = ACTIONS(2813), + [sym_primitive_type] = ACTIONS(2813), + [anon_sym_enum] = ACTIONS(2813), + [anon_sym_class] = ACTIONS(2813), + [anon_sym_struct] = ACTIONS(2813), + [anon_sym_union] = ACTIONS(2813), + [anon_sym_if] = ACTIONS(2813), + [anon_sym_else] = ACTIONS(2813), + [anon_sym_switch] = ACTIONS(2813), + [anon_sym_case] = ACTIONS(2813), + [anon_sym_default] = ACTIONS(2813), + [anon_sym_while] = ACTIONS(2813), + [anon_sym_do] = ACTIONS(2813), + [anon_sym_for] = ACTIONS(2813), + [anon_sym_return] = ACTIONS(2813), + [anon_sym_break] = ACTIONS(2813), + [anon_sym_continue] = ACTIONS(2813), + [anon_sym_goto] = ACTIONS(2813), + [anon_sym___try] = ACTIONS(2813), + [anon_sym___leave] = ACTIONS(2813), + [anon_sym_not] = ACTIONS(2813), + [anon_sym_compl] = ACTIONS(2813), + [anon_sym_DASH_DASH] = ACTIONS(2815), + [anon_sym_PLUS_PLUS] = ACTIONS(2815), + [anon_sym_sizeof] = ACTIONS(2813), + [anon_sym___alignof__] = ACTIONS(2813), + [anon_sym___alignof] = ACTIONS(2813), + [anon_sym__alignof] = ACTIONS(2813), + [anon_sym_alignof] = ACTIONS(2813), + [anon_sym__Alignof] = ACTIONS(2813), + [anon_sym_offsetof] = ACTIONS(2813), + [anon_sym__Generic] = ACTIONS(2813), + [anon_sym_asm] = ACTIONS(2813), + [anon_sym___asm__] = ACTIONS(2813), + [sym__number_literal] = ACTIONS(2815), + [anon_sym_L_SQUOTE] = ACTIONS(2815), + [anon_sym_u_SQUOTE] = ACTIONS(2815), + [anon_sym_U_SQUOTE] = ACTIONS(2815), + [anon_sym_u8_SQUOTE] = ACTIONS(2815), + [anon_sym_SQUOTE] = ACTIONS(2815), + [anon_sym_L_DQUOTE] = ACTIONS(2815), + [anon_sym_u_DQUOTE] = ACTIONS(2815), + [anon_sym_U_DQUOTE] = ACTIONS(2815), + [anon_sym_u8_DQUOTE] = ACTIONS(2815), + [anon_sym_DQUOTE] = ACTIONS(2815), + [sym_true] = ACTIONS(2813), + [sym_false] = ACTIONS(2813), + [anon_sym_NULL] = ACTIONS(2813), + [anon_sym_nullptr] = ACTIONS(2813), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2815), + [sym_auto] = ACTIONS(2813), + [anon_sym_decltype] = ACTIONS(2813), + [sym_virtual] = ACTIONS(2813), + [anon_sym_explicit] = ACTIONS(2813), + [anon_sym_typename] = ACTIONS(2813), + [anon_sym_template] = ACTIONS(2813), + [anon_sym_operator] = ACTIONS(2813), + [anon_sym_try] = ACTIONS(2813), + [anon_sym_delete] = ACTIONS(2813), + [anon_sym_throw] = ACTIONS(2813), + [anon_sym_namespace] = ACTIONS(2813), + [anon_sym_using] = ACTIONS(2813), + [anon_sym_static_assert] = ACTIONS(2813), + [anon_sym_concept] = ACTIONS(2813), + [anon_sym_co_return] = ACTIONS(2813), + [anon_sym_co_yield] = ACTIONS(2813), + [anon_sym_R_DQUOTE] = ACTIONS(2815), + [anon_sym_LR_DQUOTE] = ACTIONS(2815), + [anon_sym_uR_DQUOTE] = ACTIONS(2815), + [anon_sym_UR_DQUOTE] = ACTIONS(2815), + [anon_sym_u8R_DQUOTE] = ACTIONS(2815), + [anon_sym_co_await] = ACTIONS(2813), + [anon_sym_new] = ACTIONS(2813), + [anon_sym_requires] = ACTIONS(2813), + [sym_this] = ACTIONS(2813), + }, + [301] = { + [sym__identifier] = ACTIONS(2817), + [aux_sym_preproc_include_token1] = ACTIONS(2817), + [aux_sym_preproc_def_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token2] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2817), + [aux_sym_preproc_else_token1] = ACTIONS(2817), + [aux_sym_preproc_elif_token1] = ACTIONS(2817), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2817), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2817), + [sym_preproc_directive] = ACTIONS(2817), + [anon_sym_LPAREN2] = ACTIONS(2819), + [anon_sym_BANG] = ACTIONS(2819), + [anon_sym_TILDE] = ACTIONS(2819), + [anon_sym_DASH] = ACTIONS(2817), + [anon_sym_PLUS] = ACTIONS(2817), + [anon_sym_STAR] = ACTIONS(2819), + [anon_sym_AMP_AMP] = ACTIONS(2819), + [anon_sym_AMP] = ACTIONS(2817), + [anon_sym_SEMI] = ACTIONS(2819), + [anon_sym___extension__] = ACTIONS(2817), + [anon_sym_typedef] = ACTIONS(2817), + [anon_sym_extern] = ACTIONS(2817), + [anon_sym___attribute__] = ACTIONS(2817), + [anon_sym_COLON_COLON] = ACTIONS(2819), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2819), + [anon_sym___declspec] = ACTIONS(2817), + [anon_sym___based] = ACTIONS(2817), + [anon_sym___cdecl] = ACTIONS(2817), + [anon_sym___clrcall] = ACTIONS(2817), + [anon_sym___stdcall] = ACTIONS(2817), + [anon_sym___fastcall] = ACTIONS(2817), + [anon_sym___thiscall] = ACTIONS(2817), + [anon_sym___vectorcall] = ACTIONS(2817), + [anon_sym_LBRACE] = ACTIONS(2819), + [anon_sym_signed] = ACTIONS(2817), + [anon_sym_unsigned] = ACTIONS(2817), + [anon_sym_long] = ACTIONS(2817), + [anon_sym_short] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(2817), + [anon_sym_static] = ACTIONS(2817), + [anon_sym_register] = ACTIONS(2817), + [anon_sym_inline] = ACTIONS(2817), + [anon_sym___inline] = ACTIONS(2817), + [anon_sym___inline__] = ACTIONS(2817), + [anon_sym___forceinline] = ACTIONS(2817), + [anon_sym_thread_local] = ACTIONS(2817), + [anon_sym___thread] = ACTIONS(2817), + [anon_sym_const] = ACTIONS(2817), + [anon_sym_constexpr] = ACTIONS(2817), + [anon_sym_volatile] = ACTIONS(2817), + [anon_sym_restrict] = ACTIONS(2817), + [anon_sym___restrict__] = ACTIONS(2817), + [anon_sym__Atomic] = ACTIONS(2817), + [anon_sym__Noreturn] = ACTIONS(2817), + [anon_sym_noreturn] = ACTIONS(2817), + [anon_sym_mutable] = ACTIONS(2817), + [anon_sym_constinit] = ACTIONS(2817), + [anon_sym_consteval] = ACTIONS(2817), + [anon_sym_alignas] = ACTIONS(2817), + [anon_sym__Alignas] = ACTIONS(2817), + [sym_primitive_type] = ACTIONS(2817), + [anon_sym_enum] = ACTIONS(2817), + [anon_sym_class] = ACTIONS(2817), + [anon_sym_struct] = ACTIONS(2817), + [anon_sym_union] = ACTIONS(2817), + [anon_sym_if] = ACTIONS(2817), + [anon_sym_else] = ACTIONS(2817), + [anon_sym_switch] = ACTIONS(2817), + [anon_sym_case] = ACTIONS(2817), + [anon_sym_default] = ACTIONS(2817), + [anon_sym_while] = ACTIONS(2817), + [anon_sym_do] = ACTIONS(2817), + [anon_sym_for] = ACTIONS(2817), + [anon_sym_return] = ACTIONS(2817), + [anon_sym_break] = ACTIONS(2817), + [anon_sym_continue] = ACTIONS(2817), + [anon_sym_goto] = ACTIONS(2817), + [anon_sym___try] = ACTIONS(2817), + [anon_sym___leave] = ACTIONS(2817), + [anon_sym_not] = ACTIONS(2817), + [anon_sym_compl] = ACTIONS(2817), + [anon_sym_DASH_DASH] = ACTIONS(2819), + [anon_sym_PLUS_PLUS] = ACTIONS(2819), + [anon_sym_sizeof] = ACTIONS(2817), + [anon_sym___alignof__] = ACTIONS(2817), + [anon_sym___alignof] = ACTIONS(2817), + [anon_sym__alignof] = ACTIONS(2817), + [anon_sym_alignof] = ACTIONS(2817), + [anon_sym__Alignof] = ACTIONS(2817), + [anon_sym_offsetof] = ACTIONS(2817), + [anon_sym__Generic] = ACTIONS(2817), + [anon_sym_asm] = ACTIONS(2817), + [anon_sym___asm__] = ACTIONS(2817), + [sym__number_literal] = ACTIONS(2819), + [anon_sym_L_SQUOTE] = ACTIONS(2819), + [anon_sym_u_SQUOTE] = ACTIONS(2819), + [anon_sym_U_SQUOTE] = ACTIONS(2819), + [anon_sym_u8_SQUOTE] = ACTIONS(2819), + [anon_sym_SQUOTE] = ACTIONS(2819), + [anon_sym_L_DQUOTE] = ACTIONS(2819), + [anon_sym_u_DQUOTE] = ACTIONS(2819), + [anon_sym_U_DQUOTE] = ACTIONS(2819), + [anon_sym_u8_DQUOTE] = ACTIONS(2819), + [anon_sym_DQUOTE] = ACTIONS(2819), + [sym_true] = ACTIONS(2817), + [sym_false] = ACTIONS(2817), + [anon_sym_NULL] = ACTIONS(2817), + [anon_sym_nullptr] = ACTIONS(2817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2819), + [sym_auto] = ACTIONS(2817), + [anon_sym_decltype] = ACTIONS(2817), + [sym_virtual] = ACTIONS(2817), + [anon_sym_explicit] = ACTIONS(2817), + [anon_sym_typename] = ACTIONS(2817), + [anon_sym_template] = ACTIONS(2817), + [anon_sym_operator] = ACTIONS(2817), + [anon_sym_try] = ACTIONS(2817), + [anon_sym_delete] = ACTIONS(2817), + [anon_sym_throw] = ACTIONS(2817), + [anon_sym_namespace] = ACTIONS(2817), + [anon_sym_using] = ACTIONS(2817), + [anon_sym_static_assert] = ACTIONS(2817), + [anon_sym_concept] = ACTIONS(2817), + [anon_sym_co_return] = ACTIONS(2817), + [anon_sym_co_yield] = ACTIONS(2817), + [anon_sym_R_DQUOTE] = ACTIONS(2819), + [anon_sym_LR_DQUOTE] = ACTIONS(2819), + [anon_sym_uR_DQUOTE] = ACTIONS(2819), + [anon_sym_UR_DQUOTE] = ACTIONS(2819), + [anon_sym_u8R_DQUOTE] = ACTIONS(2819), + [anon_sym_co_await] = ACTIONS(2817), + [anon_sym_new] = ACTIONS(2817), + [anon_sym_requires] = ACTIONS(2817), + [sym_this] = ACTIONS(2817), + }, + [302] = { + [sym__identifier] = ACTIONS(2821), + [aux_sym_preproc_include_token1] = ACTIONS(2821), + [aux_sym_preproc_def_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token2] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2821), + [aux_sym_preproc_else_token1] = ACTIONS(2821), + [aux_sym_preproc_elif_token1] = ACTIONS(2821), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2821), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2821), + [sym_preproc_directive] = ACTIONS(2821), + [anon_sym_LPAREN2] = ACTIONS(2823), + [anon_sym_BANG] = ACTIONS(2823), + [anon_sym_TILDE] = ACTIONS(2823), + [anon_sym_DASH] = ACTIONS(2821), + [anon_sym_PLUS] = ACTIONS(2821), + [anon_sym_STAR] = ACTIONS(2823), + [anon_sym_AMP_AMP] = ACTIONS(2823), + [anon_sym_AMP] = ACTIONS(2821), + [anon_sym_SEMI] = ACTIONS(2823), + [anon_sym___extension__] = ACTIONS(2821), + [anon_sym_typedef] = ACTIONS(2821), + [anon_sym_extern] = ACTIONS(2821), + [anon_sym___attribute__] = ACTIONS(2821), + [anon_sym_COLON_COLON] = ACTIONS(2823), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2823), + [anon_sym___declspec] = ACTIONS(2821), + [anon_sym___based] = ACTIONS(2821), + [anon_sym___cdecl] = ACTIONS(2821), + [anon_sym___clrcall] = ACTIONS(2821), + [anon_sym___stdcall] = ACTIONS(2821), + [anon_sym___fastcall] = ACTIONS(2821), + [anon_sym___thiscall] = ACTIONS(2821), + [anon_sym___vectorcall] = ACTIONS(2821), + [anon_sym_LBRACE] = ACTIONS(2823), + [anon_sym_signed] = ACTIONS(2821), + [anon_sym_unsigned] = ACTIONS(2821), + [anon_sym_long] = ACTIONS(2821), + [anon_sym_short] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(2821), + [anon_sym_static] = ACTIONS(2821), + [anon_sym_register] = ACTIONS(2821), + [anon_sym_inline] = ACTIONS(2821), + [anon_sym___inline] = ACTIONS(2821), + [anon_sym___inline__] = ACTIONS(2821), + [anon_sym___forceinline] = ACTIONS(2821), + [anon_sym_thread_local] = ACTIONS(2821), + [anon_sym___thread] = ACTIONS(2821), + [anon_sym_const] = ACTIONS(2821), + [anon_sym_constexpr] = ACTIONS(2821), + [anon_sym_volatile] = ACTIONS(2821), + [anon_sym_restrict] = ACTIONS(2821), + [anon_sym___restrict__] = ACTIONS(2821), + [anon_sym__Atomic] = ACTIONS(2821), + [anon_sym__Noreturn] = ACTIONS(2821), + [anon_sym_noreturn] = ACTIONS(2821), + [anon_sym_mutable] = ACTIONS(2821), + [anon_sym_constinit] = ACTIONS(2821), + [anon_sym_consteval] = ACTIONS(2821), + [anon_sym_alignas] = ACTIONS(2821), + [anon_sym__Alignas] = ACTIONS(2821), + [sym_primitive_type] = ACTIONS(2821), + [anon_sym_enum] = ACTIONS(2821), + [anon_sym_class] = ACTIONS(2821), + [anon_sym_struct] = ACTIONS(2821), + [anon_sym_union] = ACTIONS(2821), + [anon_sym_if] = ACTIONS(2821), + [anon_sym_else] = ACTIONS(2821), + [anon_sym_switch] = ACTIONS(2821), + [anon_sym_case] = ACTIONS(2821), + [anon_sym_default] = ACTIONS(2821), + [anon_sym_while] = ACTIONS(2821), + [anon_sym_do] = ACTIONS(2821), + [anon_sym_for] = ACTIONS(2821), + [anon_sym_return] = ACTIONS(2821), + [anon_sym_break] = ACTIONS(2821), + [anon_sym_continue] = ACTIONS(2821), + [anon_sym_goto] = ACTIONS(2821), + [anon_sym___try] = ACTIONS(2821), + [anon_sym___leave] = ACTIONS(2821), + [anon_sym_not] = ACTIONS(2821), + [anon_sym_compl] = ACTIONS(2821), + [anon_sym_DASH_DASH] = ACTIONS(2823), + [anon_sym_PLUS_PLUS] = ACTIONS(2823), + [anon_sym_sizeof] = ACTIONS(2821), + [anon_sym___alignof__] = ACTIONS(2821), + [anon_sym___alignof] = ACTIONS(2821), + [anon_sym__alignof] = ACTIONS(2821), + [anon_sym_alignof] = ACTIONS(2821), + [anon_sym__Alignof] = ACTIONS(2821), + [anon_sym_offsetof] = ACTIONS(2821), + [anon_sym__Generic] = ACTIONS(2821), + [anon_sym_asm] = ACTIONS(2821), + [anon_sym___asm__] = ACTIONS(2821), + [sym__number_literal] = ACTIONS(2823), + [anon_sym_L_SQUOTE] = ACTIONS(2823), + [anon_sym_u_SQUOTE] = ACTIONS(2823), + [anon_sym_U_SQUOTE] = ACTIONS(2823), + [anon_sym_u8_SQUOTE] = ACTIONS(2823), + [anon_sym_SQUOTE] = ACTIONS(2823), + [anon_sym_L_DQUOTE] = ACTIONS(2823), + [anon_sym_u_DQUOTE] = ACTIONS(2823), + [anon_sym_U_DQUOTE] = ACTIONS(2823), + [anon_sym_u8_DQUOTE] = ACTIONS(2823), + [anon_sym_DQUOTE] = ACTIONS(2823), + [sym_true] = ACTIONS(2821), + [sym_false] = ACTIONS(2821), + [anon_sym_NULL] = ACTIONS(2821), + [anon_sym_nullptr] = ACTIONS(2821), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2823), + [sym_auto] = ACTIONS(2821), + [anon_sym_decltype] = ACTIONS(2821), + [sym_virtual] = ACTIONS(2821), + [anon_sym_explicit] = ACTIONS(2821), + [anon_sym_typename] = ACTIONS(2821), + [anon_sym_template] = ACTIONS(2821), + [anon_sym_operator] = ACTIONS(2821), + [anon_sym_try] = ACTIONS(2821), + [anon_sym_delete] = ACTIONS(2821), + [anon_sym_throw] = ACTIONS(2821), + [anon_sym_namespace] = ACTIONS(2821), + [anon_sym_using] = ACTIONS(2821), + [anon_sym_static_assert] = ACTIONS(2821), + [anon_sym_concept] = ACTIONS(2821), + [anon_sym_co_return] = ACTIONS(2821), + [anon_sym_co_yield] = ACTIONS(2821), + [anon_sym_R_DQUOTE] = ACTIONS(2823), + [anon_sym_LR_DQUOTE] = ACTIONS(2823), + [anon_sym_uR_DQUOTE] = ACTIONS(2823), + [anon_sym_UR_DQUOTE] = ACTIONS(2823), + [anon_sym_u8R_DQUOTE] = ACTIONS(2823), + [anon_sym_co_await] = ACTIONS(2821), + [anon_sym_new] = ACTIONS(2821), + [anon_sym_requires] = ACTIONS(2821), + [sym_this] = ACTIONS(2821), + }, + [303] = { + [sym__identifier] = ACTIONS(2825), + [aux_sym_preproc_include_token1] = ACTIONS(2825), + [aux_sym_preproc_def_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token2] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2825), + [aux_sym_preproc_else_token1] = ACTIONS(2825), + [aux_sym_preproc_elif_token1] = ACTIONS(2825), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2825), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2825), + [sym_preproc_directive] = ACTIONS(2825), + [anon_sym_LPAREN2] = ACTIONS(2827), + [anon_sym_BANG] = ACTIONS(2827), + [anon_sym_TILDE] = ACTIONS(2827), + [anon_sym_DASH] = ACTIONS(2825), + [anon_sym_PLUS] = ACTIONS(2825), + [anon_sym_STAR] = ACTIONS(2827), + [anon_sym_AMP_AMP] = ACTIONS(2827), + [anon_sym_AMP] = ACTIONS(2825), + [anon_sym_SEMI] = ACTIONS(2827), + [anon_sym___extension__] = ACTIONS(2825), + [anon_sym_typedef] = ACTIONS(2825), + [anon_sym_extern] = ACTIONS(2825), + [anon_sym___attribute__] = ACTIONS(2825), + [anon_sym_COLON_COLON] = ACTIONS(2827), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2827), + [anon_sym___declspec] = ACTIONS(2825), + [anon_sym___based] = ACTIONS(2825), + [anon_sym___cdecl] = ACTIONS(2825), + [anon_sym___clrcall] = ACTIONS(2825), + [anon_sym___stdcall] = ACTIONS(2825), + [anon_sym___fastcall] = ACTIONS(2825), + [anon_sym___thiscall] = ACTIONS(2825), + [anon_sym___vectorcall] = ACTIONS(2825), + [anon_sym_LBRACE] = ACTIONS(2827), + [anon_sym_signed] = ACTIONS(2825), + [anon_sym_unsigned] = ACTIONS(2825), + [anon_sym_long] = ACTIONS(2825), + [anon_sym_short] = ACTIONS(2825), + [anon_sym_LBRACK] = ACTIONS(2825), + [anon_sym_static] = ACTIONS(2825), + [anon_sym_register] = ACTIONS(2825), + [anon_sym_inline] = ACTIONS(2825), + [anon_sym___inline] = ACTIONS(2825), + [anon_sym___inline__] = ACTIONS(2825), + [anon_sym___forceinline] = ACTIONS(2825), + [anon_sym_thread_local] = ACTIONS(2825), + [anon_sym___thread] = ACTIONS(2825), + [anon_sym_const] = ACTIONS(2825), + [anon_sym_constexpr] = ACTIONS(2825), + [anon_sym_volatile] = ACTIONS(2825), + [anon_sym_restrict] = ACTIONS(2825), + [anon_sym___restrict__] = ACTIONS(2825), + [anon_sym__Atomic] = ACTIONS(2825), + [anon_sym__Noreturn] = ACTIONS(2825), + [anon_sym_noreturn] = ACTIONS(2825), + [anon_sym_mutable] = ACTIONS(2825), + [anon_sym_constinit] = ACTIONS(2825), + [anon_sym_consteval] = ACTIONS(2825), + [anon_sym_alignas] = ACTIONS(2825), + [anon_sym__Alignas] = ACTIONS(2825), + [sym_primitive_type] = ACTIONS(2825), + [anon_sym_enum] = ACTIONS(2825), + [anon_sym_class] = ACTIONS(2825), + [anon_sym_struct] = ACTIONS(2825), + [anon_sym_union] = ACTIONS(2825), + [anon_sym_if] = ACTIONS(2825), + [anon_sym_switch] = ACTIONS(2825), + [anon_sym_case] = ACTIONS(2825), + [anon_sym_default] = ACTIONS(2825), + [anon_sym_while] = ACTIONS(2825), + [anon_sym_do] = ACTIONS(2825), + [anon_sym_for] = ACTIONS(2825), + [anon_sym_return] = ACTIONS(2825), + [anon_sym_break] = ACTIONS(2825), + [anon_sym_continue] = ACTIONS(2825), + [anon_sym_goto] = ACTIONS(2825), + [anon_sym___try] = ACTIONS(2825), + [anon_sym___leave] = ACTIONS(2825), + [anon_sym_not] = ACTIONS(2825), + [anon_sym_compl] = ACTIONS(2825), + [anon_sym_DASH_DASH] = ACTIONS(2827), + [anon_sym_PLUS_PLUS] = ACTIONS(2827), + [anon_sym_sizeof] = ACTIONS(2825), + [anon_sym___alignof__] = ACTIONS(2825), + [anon_sym___alignof] = ACTIONS(2825), + [anon_sym__alignof] = ACTIONS(2825), + [anon_sym_alignof] = ACTIONS(2825), + [anon_sym__Alignof] = ACTIONS(2825), + [anon_sym_offsetof] = ACTIONS(2825), + [anon_sym__Generic] = ACTIONS(2825), + [anon_sym_asm] = ACTIONS(2825), + [anon_sym___asm__] = ACTIONS(2825), + [sym__number_literal] = ACTIONS(2827), + [anon_sym_L_SQUOTE] = ACTIONS(2827), + [anon_sym_u_SQUOTE] = ACTIONS(2827), + [anon_sym_U_SQUOTE] = ACTIONS(2827), + [anon_sym_u8_SQUOTE] = ACTIONS(2827), + [anon_sym_SQUOTE] = ACTIONS(2827), + [anon_sym_L_DQUOTE] = ACTIONS(2827), + [anon_sym_u_DQUOTE] = ACTIONS(2827), + [anon_sym_U_DQUOTE] = ACTIONS(2827), + [anon_sym_u8_DQUOTE] = ACTIONS(2827), + [anon_sym_DQUOTE] = ACTIONS(2827), + [sym_true] = ACTIONS(2825), + [sym_false] = ACTIONS(2825), + [anon_sym_NULL] = ACTIONS(2825), + [anon_sym_nullptr] = ACTIONS(2825), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2827), + [sym_auto] = ACTIONS(2825), + [anon_sym_decltype] = ACTIONS(2825), + [sym_virtual] = ACTIONS(2825), + [anon_sym_explicit] = ACTIONS(2825), + [anon_sym_typename] = ACTIONS(2825), + [anon_sym_template] = ACTIONS(2825), + [anon_sym_operator] = ACTIONS(2825), + [anon_sym_try] = ACTIONS(2825), + [anon_sym_delete] = ACTIONS(2825), + [anon_sym_throw] = ACTIONS(2825), + [anon_sym_namespace] = ACTIONS(2825), + [anon_sym_using] = ACTIONS(2825), + [anon_sym_static_assert] = ACTIONS(2825), + [anon_sym_concept] = ACTIONS(2825), + [anon_sym_co_return] = ACTIONS(2825), + [anon_sym_co_yield] = ACTIONS(2825), + [anon_sym_R_DQUOTE] = ACTIONS(2827), + [anon_sym_LR_DQUOTE] = ACTIONS(2827), + [anon_sym_uR_DQUOTE] = ACTIONS(2827), + [anon_sym_UR_DQUOTE] = ACTIONS(2827), + [anon_sym_u8R_DQUOTE] = ACTIONS(2827), + [anon_sym_co_await] = ACTIONS(2825), + [anon_sym_new] = ACTIONS(2825), + [anon_sym_requires] = ACTIONS(2825), + [sym_this] = ACTIONS(2825), + }, + [304] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_include_token1] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token2] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [aux_sym_preproc_else_token1] = ACTIONS(2829), + [aux_sym_preproc_elif_token1] = ACTIONS(2829), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_BANG] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_DASH] = ACTIONS(2829), + [anon_sym_PLUS] = ACTIONS(2829), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym_SEMI] = ACTIONS(2831), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym___cdecl] = ACTIONS(2829), + [anon_sym___clrcall] = ACTIONS(2829), + [anon_sym___stdcall] = ACTIONS(2829), + [anon_sym___fastcall] = ACTIONS(2829), + [anon_sym___thiscall] = ACTIONS(2829), + [anon_sym___vectorcall] = ACTIONS(2829), + [anon_sym_LBRACE] = ACTIONS(2831), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [anon_sym_if] = ACTIONS(2829), + [anon_sym_switch] = ACTIONS(2829), + [anon_sym_case] = ACTIONS(2829), + [anon_sym_default] = ACTIONS(2829), + [anon_sym_while] = ACTIONS(2829), + [anon_sym_do] = ACTIONS(2829), + [anon_sym_for] = ACTIONS(2829), + [anon_sym_return] = ACTIONS(2829), + [anon_sym_break] = ACTIONS(2829), + [anon_sym_continue] = ACTIONS(2829), + [anon_sym_goto] = ACTIONS(2829), + [anon_sym___try] = ACTIONS(2829), + [anon_sym___leave] = ACTIONS(2829), + [anon_sym_not] = ACTIONS(2829), + [anon_sym_compl] = ACTIONS(2829), + [anon_sym_DASH_DASH] = ACTIONS(2831), + [anon_sym_PLUS_PLUS] = ACTIONS(2831), + [anon_sym_sizeof] = ACTIONS(2829), + [anon_sym___alignof__] = ACTIONS(2829), + [anon_sym___alignof] = ACTIONS(2829), + [anon_sym__alignof] = ACTIONS(2829), + [anon_sym_alignof] = ACTIONS(2829), + [anon_sym__Alignof] = ACTIONS(2829), + [anon_sym_offsetof] = ACTIONS(2829), + [anon_sym__Generic] = ACTIONS(2829), + [anon_sym_asm] = ACTIONS(2829), + [anon_sym___asm__] = ACTIONS(2829), + [sym__number_literal] = ACTIONS(2831), + [anon_sym_L_SQUOTE] = ACTIONS(2831), + [anon_sym_u_SQUOTE] = ACTIONS(2831), + [anon_sym_U_SQUOTE] = ACTIONS(2831), + [anon_sym_u8_SQUOTE] = ACTIONS(2831), + [anon_sym_SQUOTE] = ACTIONS(2831), + [anon_sym_L_DQUOTE] = ACTIONS(2831), + [anon_sym_u_DQUOTE] = ACTIONS(2831), + [anon_sym_U_DQUOTE] = ACTIONS(2831), + [anon_sym_u8_DQUOTE] = ACTIONS(2831), + [anon_sym_DQUOTE] = ACTIONS(2831), + [sym_true] = ACTIONS(2829), + [sym_false] = ACTIONS(2829), + [anon_sym_NULL] = ACTIONS(2829), + [anon_sym_nullptr] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_try] = ACTIONS(2829), + [anon_sym_delete] = ACTIONS(2829), + [anon_sym_throw] = ACTIONS(2829), + [anon_sym_namespace] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + [anon_sym_concept] = ACTIONS(2829), + [anon_sym_co_return] = ACTIONS(2829), + [anon_sym_co_yield] = ACTIONS(2829), + [anon_sym_R_DQUOTE] = ACTIONS(2831), + [anon_sym_LR_DQUOTE] = ACTIONS(2831), + [anon_sym_uR_DQUOTE] = ACTIONS(2831), + [anon_sym_UR_DQUOTE] = ACTIONS(2831), + [anon_sym_u8R_DQUOTE] = ACTIONS(2831), + [anon_sym_co_await] = ACTIONS(2829), + [anon_sym_new] = ACTIONS(2829), + [anon_sym_requires] = ACTIONS(2829), + [sym_this] = ACTIONS(2829), + }, + [305] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8018), + [sym_preproc_elif_in_field_declaration_list] = STATE(8018), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8018), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2839), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [306] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(7883), + [sym_preproc_elif_in_field_declaration_list] = STATE(7883), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(7883), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2891), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [307] = { + [sym__identifier] = ACTIONS(2893), + [aux_sym_preproc_include_token1] = ACTIONS(2893), + [aux_sym_preproc_def_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token2] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2893), + [aux_sym_preproc_else_token1] = ACTIONS(2893), + [aux_sym_preproc_elif_token1] = ACTIONS(2893), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2893), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2893), + [sym_preproc_directive] = ACTIONS(2893), + [anon_sym_LPAREN2] = ACTIONS(2895), + [anon_sym_BANG] = ACTIONS(2895), + [anon_sym_TILDE] = ACTIONS(2895), + [anon_sym_DASH] = ACTIONS(2893), + [anon_sym_PLUS] = ACTIONS(2893), + [anon_sym_STAR] = ACTIONS(2895), + [anon_sym_AMP_AMP] = ACTIONS(2895), + [anon_sym_AMP] = ACTIONS(2893), + [anon_sym_SEMI] = ACTIONS(2895), + [anon_sym___extension__] = ACTIONS(2893), + [anon_sym_typedef] = ACTIONS(2893), + [anon_sym_extern] = ACTIONS(2893), + [anon_sym___attribute__] = ACTIONS(2893), + [anon_sym_COLON_COLON] = ACTIONS(2895), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2895), + [anon_sym___declspec] = ACTIONS(2893), + [anon_sym___based] = ACTIONS(2893), + [anon_sym___cdecl] = ACTIONS(2893), + [anon_sym___clrcall] = ACTIONS(2893), + [anon_sym___stdcall] = ACTIONS(2893), + [anon_sym___fastcall] = ACTIONS(2893), + [anon_sym___thiscall] = ACTIONS(2893), + [anon_sym___vectorcall] = ACTIONS(2893), + [anon_sym_LBRACE] = ACTIONS(2895), + [anon_sym_signed] = ACTIONS(2893), + [anon_sym_unsigned] = ACTIONS(2893), + [anon_sym_long] = ACTIONS(2893), + [anon_sym_short] = ACTIONS(2893), + [anon_sym_LBRACK] = ACTIONS(2893), + [anon_sym_static] = ACTIONS(2893), + [anon_sym_register] = ACTIONS(2893), + [anon_sym_inline] = ACTIONS(2893), + [anon_sym___inline] = ACTIONS(2893), + [anon_sym___inline__] = ACTIONS(2893), + [anon_sym___forceinline] = ACTIONS(2893), + [anon_sym_thread_local] = ACTIONS(2893), + [anon_sym___thread] = ACTIONS(2893), + [anon_sym_const] = ACTIONS(2893), + [anon_sym_constexpr] = ACTIONS(2893), + [anon_sym_volatile] = ACTIONS(2893), + [anon_sym_restrict] = ACTIONS(2893), + [anon_sym___restrict__] = ACTIONS(2893), + [anon_sym__Atomic] = ACTIONS(2893), + [anon_sym__Noreturn] = ACTIONS(2893), + [anon_sym_noreturn] = ACTIONS(2893), + [anon_sym_mutable] = ACTIONS(2893), + [anon_sym_constinit] = ACTIONS(2893), + [anon_sym_consteval] = ACTIONS(2893), + [anon_sym_alignas] = ACTIONS(2893), + [anon_sym__Alignas] = ACTIONS(2893), + [sym_primitive_type] = ACTIONS(2893), + [anon_sym_enum] = ACTIONS(2893), + [anon_sym_class] = ACTIONS(2893), + [anon_sym_struct] = ACTIONS(2893), + [anon_sym_union] = ACTIONS(2893), + [anon_sym_if] = ACTIONS(2893), + [anon_sym_switch] = ACTIONS(2893), + [anon_sym_case] = ACTIONS(2893), + [anon_sym_default] = ACTIONS(2893), + [anon_sym_while] = ACTIONS(2893), + [anon_sym_do] = ACTIONS(2893), + [anon_sym_for] = ACTIONS(2893), + [anon_sym_return] = ACTIONS(2893), + [anon_sym_break] = ACTIONS(2893), + [anon_sym_continue] = ACTIONS(2893), + [anon_sym_goto] = ACTIONS(2893), + [anon_sym___try] = ACTIONS(2893), + [anon_sym___leave] = ACTIONS(2893), + [anon_sym_not] = ACTIONS(2893), + [anon_sym_compl] = ACTIONS(2893), + [anon_sym_DASH_DASH] = ACTIONS(2895), + [anon_sym_PLUS_PLUS] = ACTIONS(2895), + [anon_sym_sizeof] = ACTIONS(2893), + [anon_sym___alignof__] = ACTIONS(2893), + [anon_sym___alignof] = ACTIONS(2893), + [anon_sym__alignof] = ACTIONS(2893), + [anon_sym_alignof] = ACTIONS(2893), + [anon_sym__Alignof] = ACTIONS(2893), + [anon_sym_offsetof] = ACTIONS(2893), + [anon_sym__Generic] = ACTIONS(2893), + [anon_sym_asm] = ACTIONS(2893), + [anon_sym___asm__] = ACTIONS(2893), + [sym__number_literal] = ACTIONS(2895), + [anon_sym_L_SQUOTE] = ACTIONS(2895), + [anon_sym_u_SQUOTE] = ACTIONS(2895), + [anon_sym_U_SQUOTE] = ACTIONS(2895), + [anon_sym_u8_SQUOTE] = ACTIONS(2895), + [anon_sym_SQUOTE] = ACTIONS(2895), + [anon_sym_L_DQUOTE] = ACTIONS(2895), + [anon_sym_u_DQUOTE] = ACTIONS(2895), + [anon_sym_U_DQUOTE] = ACTIONS(2895), + [anon_sym_u8_DQUOTE] = ACTIONS(2895), + [anon_sym_DQUOTE] = ACTIONS(2895), + [sym_true] = ACTIONS(2893), + [sym_false] = ACTIONS(2893), + [anon_sym_NULL] = ACTIONS(2893), + [anon_sym_nullptr] = ACTIONS(2893), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2895), + [sym_auto] = ACTIONS(2893), + [anon_sym_decltype] = ACTIONS(2893), + [sym_virtual] = ACTIONS(2893), + [anon_sym_explicit] = ACTIONS(2893), + [anon_sym_typename] = ACTIONS(2893), + [anon_sym_template] = ACTIONS(2893), + [anon_sym_operator] = ACTIONS(2893), + [anon_sym_try] = ACTIONS(2893), + [anon_sym_delete] = ACTIONS(2893), + [anon_sym_throw] = ACTIONS(2893), + [anon_sym_namespace] = ACTIONS(2893), + [anon_sym_using] = ACTIONS(2893), + [anon_sym_static_assert] = ACTIONS(2893), + [anon_sym_concept] = ACTIONS(2893), + [anon_sym_co_return] = ACTIONS(2893), + [anon_sym_co_yield] = ACTIONS(2893), + [anon_sym_R_DQUOTE] = ACTIONS(2895), + [anon_sym_LR_DQUOTE] = ACTIONS(2895), + [anon_sym_uR_DQUOTE] = ACTIONS(2895), + [anon_sym_UR_DQUOTE] = ACTIONS(2895), + [anon_sym_u8R_DQUOTE] = ACTIONS(2895), + [anon_sym_co_await] = ACTIONS(2893), + [anon_sym_new] = ACTIONS(2893), + [anon_sym_requires] = ACTIONS(2893), + [sym_this] = ACTIONS(2893), + }, + [308] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_include_token1] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token2] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [aux_sym_preproc_else_token1] = ACTIONS(2897), + [aux_sym_preproc_elif_token1] = ACTIONS(2897), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_BANG] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_DASH] = ACTIONS(2897), + [anon_sym_PLUS] = ACTIONS(2897), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym_SEMI] = ACTIONS(2899), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym___cdecl] = ACTIONS(2897), + [anon_sym___clrcall] = ACTIONS(2897), + [anon_sym___stdcall] = ACTIONS(2897), + [anon_sym___fastcall] = ACTIONS(2897), + [anon_sym___thiscall] = ACTIONS(2897), + [anon_sym___vectorcall] = ACTIONS(2897), + [anon_sym_LBRACE] = ACTIONS(2899), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [anon_sym_if] = ACTIONS(2897), + [anon_sym_switch] = ACTIONS(2897), + [anon_sym_case] = ACTIONS(2897), + [anon_sym_default] = ACTIONS(2897), + [anon_sym_while] = ACTIONS(2897), + [anon_sym_do] = ACTIONS(2897), + [anon_sym_for] = ACTIONS(2897), + [anon_sym_return] = ACTIONS(2897), + [anon_sym_break] = ACTIONS(2897), + [anon_sym_continue] = ACTIONS(2897), + [anon_sym_goto] = ACTIONS(2897), + [anon_sym___try] = ACTIONS(2897), + [anon_sym___leave] = ACTIONS(2897), + [anon_sym_not] = ACTIONS(2897), + [anon_sym_compl] = ACTIONS(2897), + [anon_sym_DASH_DASH] = ACTIONS(2899), + [anon_sym_PLUS_PLUS] = ACTIONS(2899), + [anon_sym_sizeof] = ACTIONS(2897), + [anon_sym___alignof__] = ACTIONS(2897), + [anon_sym___alignof] = ACTIONS(2897), + [anon_sym__alignof] = ACTIONS(2897), + [anon_sym_alignof] = ACTIONS(2897), + [anon_sym__Alignof] = ACTIONS(2897), + [anon_sym_offsetof] = ACTIONS(2897), + [anon_sym__Generic] = ACTIONS(2897), + [anon_sym_asm] = ACTIONS(2897), + [anon_sym___asm__] = ACTIONS(2897), + [sym__number_literal] = ACTIONS(2899), + [anon_sym_L_SQUOTE] = ACTIONS(2899), + [anon_sym_u_SQUOTE] = ACTIONS(2899), + [anon_sym_U_SQUOTE] = ACTIONS(2899), + [anon_sym_u8_SQUOTE] = ACTIONS(2899), + [anon_sym_SQUOTE] = ACTIONS(2899), + [anon_sym_L_DQUOTE] = ACTIONS(2899), + [anon_sym_u_DQUOTE] = ACTIONS(2899), + [anon_sym_U_DQUOTE] = ACTIONS(2899), + [anon_sym_u8_DQUOTE] = ACTIONS(2899), + [anon_sym_DQUOTE] = ACTIONS(2899), + [sym_true] = ACTIONS(2897), + [sym_false] = ACTIONS(2897), + [anon_sym_NULL] = ACTIONS(2897), + [anon_sym_nullptr] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_try] = ACTIONS(2897), + [anon_sym_delete] = ACTIONS(2897), + [anon_sym_throw] = ACTIONS(2897), + [anon_sym_namespace] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + [anon_sym_concept] = ACTIONS(2897), + [anon_sym_co_return] = ACTIONS(2897), + [anon_sym_co_yield] = ACTIONS(2897), + [anon_sym_R_DQUOTE] = ACTIONS(2899), + [anon_sym_LR_DQUOTE] = ACTIONS(2899), + [anon_sym_uR_DQUOTE] = ACTIONS(2899), + [anon_sym_UR_DQUOTE] = ACTIONS(2899), + [anon_sym_u8R_DQUOTE] = ACTIONS(2899), + [anon_sym_co_await] = ACTIONS(2897), + [anon_sym_new] = ACTIONS(2897), + [anon_sym_requires] = ACTIONS(2897), + [sym_this] = ACTIONS(2897), + }, + [309] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_include_token1] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token2] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [aux_sym_preproc_else_token1] = ACTIONS(2901), + [aux_sym_preproc_elif_token1] = ACTIONS(2901), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_BANG] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_DASH] = ACTIONS(2901), + [anon_sym_PLUS] = ACTIONS(2901), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym_SEMI] = ACTIONS(2903), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym___cdecl] = ACTIONS(2901), + [anon_sym___clrcall] = ACTIONS(2901), + [anon_sym___stdcall] = ACTIONS(2901), + [anon_sym___fastcall] = ACTIONS(2901), + [anon_sym___thiscall] = ACTIONS(2901), + [anon_sym___vectorcall] = ACTIONS(2901), + [anon_sym_LBRACE] = ACTIONS(2903), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [anon_sym_if] = ACTIONS(2901), + [anon_sym_switch] = ACTIONS(2901), + [anon_sym_case] = ACTIONS(2901), + [anon_sym_default] = ACTIONS(2901), + [anon_sym_while] = ACTIONS(2901), + [anon_sym_do] = ACTIONS(2901), + [anon_sym_for] = ACTIONS(2901), + [anon_sym_return] = ACTIONS(2901), + [anon_sym_break] = ACTIONS(2901), + [anon_sym_continue] = ACTIONS(2901), + [anon_sym_goto] = ACTIONS(2901), + [anon_sym___try] = ACTIONS(2901), + [anon_sym___leave] = ACTIONS(2901), + [anon_sym_not] = ACTIONS(2901), + [anon_sym_compl] = ACTIONS(2901), + [anon_sym_DASH_DASH] = ACTIONS(2903), + [anon_sym_PLUS_PLUS] = ACTIONS(2903), + [anon_sym_sizeof] = ACTIONS(2901), + [anon_sym___alignof__] = ACTIONS(2901), + [anon_sym___alignof] = ACTIONS(2901), + [anon_sym__alignof] = ACTIONS(2901), + [anon_sym_alignof] = ACTIONS(2901), + [anon_sym__Alignof] = ACTIONS(2901), + [anon_sym_offsetof] = ACTIONS(2901), + [anon_sym__Generic] = ACTIONS(2901), + [anon_sym_asm] = ACTIONS(2901), + [anon_sym___asm__] = ACTIONS(2901), + [sym__number_literal] = ACTIONS(2903), + [anon_sym_L_SQUOTE] = ACTIONS(2903), + [anon_sym_u_SQUOTE] = ACTIONS(2903), + [anon_sym_U_SQUOTE] = ACTIONS(2903), + [anon_sym_u8_SQUOTE] = ACTIONS(2903), + [anon_sym_SQUOTE] = ACTIONS(2903), + [anon_sym_L_DQUOTE] = ACTIONS(2903), + [anon_sym_u_DQUOTE] = ACTIONS(2903), + [anon_sym_U_DQUOTE] = ACTIONS(2903), + [anon_sym_u8_DQUOTE] = ACTIONS(2903), + [anon_sym_DQUOTE] = ACTIONS(2903), + [sym_true] = ACTIONS(2901), + [sym_false] = ACTIONS(2901), + [anon_sym_NULL] = ACTIONS(2901), + [anon_sym_nullptr] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_try] = ACTIONS(2901), + [anon_sym_delete] = ACTIONS(2901), + [anon_sym_throw] = ACTIONS(2901), + [anon_sym_namespace] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + [anon_sym_concept] = ACTIONS(2901), + [anon_sym_co_return] = ACTIONS(2901), + [anon_sym_co_yield] = ACTIONS(2901), + [anon_sym_R_DQUOTE] = ACTIONS(2903), + [anon_sym_LR_DQUOTE] = ACTIONS(2903), + [anon_sym_uR_DQUOTE] = ACTIONS(2903), + [anon_sym_UR_DQUOTE] = ACTIONS(2903), + [anon_sym_u8R_DQUOTE] = ACTIONS(2903), + [anon_sym_co_await] = ACTIONS(2901), + [anon_sym_new] = ACTIONS(2901), + [anon_sym_requires] = ACTIONS(2901), + [sym_this] = ACTIONS(2901), + }, + [310] = { + [sym__identifier] = ACTIONS(2905), + [aux_sym_preproc_include_token1] = ACTIONS(2905), + [aux_sym_preproc_def_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token2] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2905), + [aux_sym_preproc_else_token1] = ACTIONS(2905), + [aux_sym_preproc_elif_token1] = ACTIONS(2905), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2905), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2905), + [sym_preproc_directive] = ACTIONS(2905), + [anon_sym_LPAREN2] = ACTIONS(2907), + [anon_sym_BANG] = ACTIONS(2907), + [anon_sym_TILDE] = ACTIONS(2907), + [anon_sym_DASH] = ACTIONS(2905), + [anon_sym_PLUS] = ACTIONS(2905), + [anon_sym_STAR] = ACTIONS(2907), + [anon_sym_AMP_AMP] = ACTIONS(2907), + [anon_sym_AMP] = ACTIONS(2905), + [anon_sym_SEMI] = ACTIONS(2907), + [anon_sym___extension__] = ACTIONS(2905), + [anon_sym_typedef] = ACTIONS(2905), + [anon_sym_extern] = ACTIONS(2905), + [anon_sym___attribute__] = ACTIONS(2905), + [anon_sym_COLON_COLON] = ACTIONS(2907), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2907), + [anon_sym___declspec] = ACTIONS(2905), + [anon_sym___based] = ACTIONS(2905), + [anon_sym___cdecl] = ACTIONS(2905), + [anon_sym___clrcall] = ACTIONS(2905), + [anon_sym___stdcall] = ACTIONS(2905), + [anon_sym___fastcall] = ACTIONS(2905), + [anon_sym___thiscall] = ACTIONS(2905), + [anon_sym___vectorcall] = ACTIONS(2905), + [anon_sym_LBRACE] = ACTIONS(2907), + [anon_sym_signed] = ACTIONS(2905), + [anon_sym_unsigned] = ACTIONS(2905), + [anon_sym_long] = ACTIONS(2905), + [anon_sym_short] = ACTIONS(2905), + [anon_sym_LBRACK] = ACTIONS(2905), + [anon_sym_static] = ACTIONS(2905), + [anon_sym_register] = ACTIONS(2905), + [anon_sym_inline] = ACTIONS(2905), + [anon_sym___inline] = ACTIONS(2905), + [anon_sym___inline__] = ACTIONS(2905), + [anon_sym___forceinline] = ACTIONS(2905), + [anon_sym_thread_local] = ACTIONS(2905), + [anon_sym___thread] = ACTIONS(2905), + [anon_sym_const] = ACTIONS(2905), + [anon_sym_constexpr] = ACTIONS(2905), + [anon_sym_volatile] = ACTIONS(2905), + [anon_sym_restrict] = ACTIONS(2905), + [anon_sym___restrict__] = ACTIONS(2905), + [anon_sym__Atomic] = ACTIONS(2905), + [anon_sym__Noreturn] = ACTIONS(2905), + [anon_sym_noreturn] = ACTIONS(2905), + [anon_sym_mutable] = ACTIONS(2905), + [anon_sym_constinit] = ACTIONS(2905), + [anon_sym_consteval] = ACTIONS(2905), + [anon_sym_alignas] = ACTIONS(2905), + [anon_sym__Alignas] = ACTIONS(2905), + [sym_primitive_type] = ACTIONS(2905), + [anon_sym_enum] = ACTIONS(2905), + [anon_sym_class] = ACTIONS(2905), + [anon_sym_struct] = ACTIONS(2905), + [anon_sym_union] = ACTIONS(2905), + [anon_sym_if] = ACTIONS(2905), + [anon_sym_switch] = ACTIONS(2905), + [anon_sym_case] = ACTIONS(2905), + [anon_sym_default] = ACTIONS(2905), + [anon_sym_while] = ACTIONS(2905), + [anon_sym_do] = ACTIONS(2905), + [anon_sym_for] = ACTIONS(2905), + [anon_sym_return] = ACTIONS(2905), + [anon_sym_break] = ACTIONS(2905), + [anon_sym_continue] = ACTIONS(2905), + [anon_sym_goto] = ACTIONS(2905), + [anon_sym___try] = ACTIONS(2905), + [anon_sym___leave] = ACTIONS(2905), + [anon_sym_not] = ACTIONS(2905), + [anon_sym_compl] = ACTIONS(2905), + [anon_sym_DASH_DASH] = ACTIONS(2907), + [anon_sym_PLUS_PLUS] = ACTIONS(2907), + [anon_sym_sizeof] = ACTIONS(2905), + [anon_sym___alignof__] = ACTIONS(2905), + [anon_sym___alignof] = ACTIONS(2905), + [anon_sym__alignof] = ACTIONS(2905), + [anon_sym_alignof] = ACTIONS(2905), + [anon_sym__Alignof] = ACTIONS(2905), + [anon_sym_offsetof] = ACTIONS(2905), + [anon_sym__Generic] = ACTIONS(2905), + [anon_sym_asm] = ACTIONS(2905), + [anon_sym___asm__] = ACTIONS(2905), + [sym__number_literal] = ACTIONS(2907), + [anon_sym_L_SQUOTE] = ACTIONS(2907), + [anon_sym_u_SQUOTE] = ACTIONS(2907), + [anon_sym_U_SQUOTE] = ACTIONS(2907), + [anon_sym_u8_SQUOTE] = ACTIONS(2907), + [anon_sym_SQUOTE] = ACTIONS(2907), + [anon_sym_L_DQUOTE] = ACTIONS(2907), + [anon_sym_u_DQUOTE] = ACTIONS(2907), + [anon_sym_U_DQUOTE] = ACTIONS(2907), + [anon_sym_u8_DQUOTE] = ACTIONS(2907), + [anon_sym_DQUOTE] = ACTIONS(2907), + [sym_true] = ACTIONS(2905), + [sym_false] = ACTIONS(2905), + [anon_sym_NULL] = ACTIONS(2905), + [anon_sym_nullptr] = ACTIONS(2905), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2907), + [sym_auto] = ACTIONS(2905), + [anon_sym_decltype] = ACTIONS(2905), + [sym_virtual] = ACTIONS(2905), + [anon_sym_explicit] = ACTIONS(2905), + [anon_sym_typename] = ACTIONS(2905), + [anon_sym_template] = ACTIONS(2905), + [anon_sym_operator] = ACTIONS(2905), + [anon_sym_try] = ACTIONS(2905), + [anon_sym_delete] = ACTIONS(2905), + [anon_sym_throw] = ACTIONS(2905), + [anon_sym_namespace] = ACTIONS(2905), + [anon_sym_using] = ACTIONS(2905), + [anon_sym_static_assert] = ACTIONS(2905), + [anon_sym_concept] = ACTIONS(2905), + [anon_sym_co_return] = ACTIONS(2905), + [anon_sym_co_yield] = ACTIONS(2905), + [anon_sym_R_DQUOTE] = ACTIONS(2907), + [anon_sym_LR_DQUOTE] = ACTIONS(2907), + [anon_sym_uR_DQUOTE] = ACTIONS(2907), + [anon_sym_UR_DQUOTE] = ACTIONS(2907), + [anon_sym_u8R_DQUOTE] = ACTIONS(2907), + [anon_sym_co_await] = ACTIONS(2905), + [anon_sym_new] = ACTIONS(2905), + [anon_sym_requires] = ACTIONS(2905), + [sym_this] = ACTIONS(2905), + }, + [311] = { + [sym__identifier] = ACTIONS(2909), + [aux_sym_preproc_include_token1] = ACTIONS(2909), + [aux_sym_preproc_def_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token2] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2909), + [aux_sym_preproc_else_token1] = ACTIONS(2909), + [aux_sym_preproc_elif_token1] = ACTIONS(2909), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2909), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2909), + [sym_preproc_directive] = ACTIONS(2909), + [anon_sym_LPAREN2] = ACTIONS(2911), + [anon_sym_BANG] = ACTIONS(2911), + [anon_sym_TILDE] = ACTIONS(2911), + [anon_sym_DASH] = ACTIONS(2909), + [anon_sym_PLUS] = ACTIONS(2909), + [anon_sym_STAR] = ACTIONS(2911), + [anon_sym_AMP_AMP] = ACTIONS(2911), + [anon_sym_AMP] = ACTIONS(2909), + [anon_sym_SEMI] = ACTIONS(2911), + [anon_sym___extension__] = ACTIONS(2909), + [anon_sym_typedef] = ACTIONS(2909), + [anon_sym_extern] = ACTIONS(2909), + [anon_sym___attribute__] = ACTIONS(2909), + [anon_sym_COLON_COLON] = ACTIONS(2911), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2911), + [anon_sym___declspec] = ACTIONS(2909), + [anon_sym___based] = ACTIONS(2909), + [anon_sym___cdecl] = ACTIONS(2909), + [anon_sym___clrcall] = ACTIONS(2909), + [anon_sym___stdcall] = ACTIONS(2909), + [anon_sym___fastcall] = ACTIONS(2909), + [anon_sym___thiscall] = ACTIONS(2909), + [anon_sym___vectorcall] = ACTIONS(2909), + [anon_sym_LBRACE] = ACTIONS(2911), + [anon_sym_signed] = ACTIONS(2909), + [anon_sym_unsigned] = ACTIONS(2909), + [anon_sym_long] = ACTIONS(2909), + [anon_sym_short] = ACTIONS(2909), + [anon_sym_LBRACK] = ACTIONS(2909), + [anon_sym_static] = ACTIONS(2909), + [anon_sym_register] = ACTIONS(2909), + [anon_sym_inline] = ACTIONS(2909), + [anon_sym___inline] = ACTIONS(2909), + [anon_sym___inline__] = ACTIONS(2909), + [anon_sym___forceinline] = ACTIONS(2909), + [anon_sym_thread_local] = ACTIONS(2909), + [anon_sym___thread] = ACTIONS(2909), + [anon_sym_const] = ACTIONS(2909), + [anon_sym_constexpr] = ACTIONS(2909), + [anon_sym_volatile] = ACTIONS(2909), + [anon_sym_restrict] = ACTIONS(2909), + [anon_sym___restrict__] = ACTIONS(2909), + [anon_sym__Atomic] = ACTIONS(2909), + [anon_sym__Noreturn] = ACTIONS(2909), + [anon_sym_noreturn] = ACTIONS(2909), + [anon_sym_mutable] = ACTIONS(2909), + [anon_sym_constinit] = ACTIONS(2909), + [anon_sym_consteval] = ACTIONS(2909), + [anon_sym_alignas] = ACTIONS(2909), + [anon_sym__Alignas] = ACTIONS(2909), + [sym_primitive_type] = ACTIONS(2909), + [anon_sym_enum] = ACTIONS(2909), + [anon_sym_class] = ACTIONS(2909), + [anon_sym_struct] = ACTIONS(2909), + [anon_sym_union] = ACTIONS(2909), + [anon_sym_if] = ACTIONS(2909), + [anon_sym_switch] = ACTIONS(2909), + [anon_sym_case] = ACTIONS(2909), + [anon_sym_default] = ACTIONS(2909), + [anon_sym_while] = ACTIONS(2909), + [anon_sym_do] = ACTIONS(2909), + [anon_sym_for] = ACTIONS(2909), + [anon_sym_return] = ACTIONS(2909), + [anon_sym_break] = ACTIONS(2909), + [anon_sym_continue] = ACTIONS(2909), + [anon_sym_goto] = ACTIONS(2909), + [anon_sym___try] = ACTIONS(2909), + [anon_sym___leave] = ACTIONS(2909), + [anon_sym_not] = ACTIONS(2909), + [anon_sym_compl] = ACTIONS(2909), + [anon_sym_DASH_DASH] = ACTIONS(2911), + [anon_sym_PLUS_PLUS] = ACTIONS(2911), + [anon_sym_sizeof] = ACTIONS(2909), + [anon_sym___alignof__] = ACTIONS(2909), + [anon_sym___alignof] = ACTIONS(2909), + [anon_sym__alignof] = ACTIONS(2909), + [anon_sym_alignof] = ACTIONS(2909), + [anon_sym__Alignof] = ACTIONS(2909), + [anon_sym_offsetof] = ACTIONS(2909), + [anon_sym__Generic] = ACTIONS(2909), + [anon_sym_asm] = ACTIONS(2909), + [anon_sym___asm__] = ACTIONS(2909), + [sym__number_literal] = ACTIONS(2911), + [anon_sym_L_SQUOTE] = ACTIONS(2911), + [anon_sym_u_SQUOTE] = ACTIONS(2911), + [anon_sym_U_SQUOTE] = ACTIONS(2911), + [anon_sym_u8_SQUOTE] = ACTIONS(2911), + [anon_sym_SQUOTE] = ACTIONS(2911), + [anon_sym_L_DQUOTE] = ACTIONS(2911), + [anon_sym_u_DQUOTE] = ACTIONS(2911), + [anon_sym_U_DQUOTE] = ACTIONS(2911), + [anon_sym_u8_DQUOTE] = ACTIONS(2911), + [anon_sym_DQUOTE] = ACTIONS(2911), + [sym_true] = ACTIONS(2909), + [sym_false] = ACTIONS(2909), + [anon_sym_NULL] = ACTIONS(2909), + [anon_sym_nullptr] = ACTIONS(2909), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2911), + [sym_auto] = ACTIONS(2909), + [anon_sym_decltype] = ACTIONS(2909), + [sym_virtual] = ACTIONS(2909), + [anon_sym_explicit] = ACTIONS(2909), + [anon_sym_typename] = ACTIONS(2909), + [anon_sym_template] = ACTIONS(2909), + [anon_sym_operator] = ACTIONS(2909), + [anon_sym_try] = ACTIONS(2909), + [anon_sym_delete] = ACTIONS(2909), + [anon_sym_throw] = ACTIONS(2909), + [anon_sym_namespace] = ACTIONS(2909), + [anon_sym_using] = ACTIONS(2909), + [anon_sym_static_assert] = ACTIONS(2909), + [anon_sym_concept] = ACTIONS(2909), + [anon_sym_co_return] = ACTIONS(2909), + [anon_sym_co_yield] = ACTIONS(2909), + [anon_sym_R_DQUOTE] = ACTIONS(2911), + [anon_sym_LR_DQUOTE] = ACTIONS(2911), + [anon_sym_uR_DQUOTE] = ACTIONS(2911), + [anon_sym_UR_DQUOTE] = ACTIONS(2911), + [anon_sym_u8R_DQUOTE] = ACTIONS(2911), + [anon_sym_co_await] = ACTIONS(2909), + [anon_sym_new] = ACTIONS(2909), + [anon_sym_requires] = ACTIONS(2909), + [sym_this] = ACTIONS(2909), + }, + [312] = { + [sym_catch_clause] = STATE(316), + [aux_sym_constructor_try_statement_repeat1] = STATE(316), + [ts_builtin_sym_end] = ACTIONS(2568), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_include_token1] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_BANG] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_DASH] = ACTIONS(2566), + [anon_sym_PLUS] = ACTIONS(2566), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym_SEMI] = ACTIONS(2568), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym___cdecl] = ACTIONS(2566), + [anon_sym___clrcall] = ACTIONS(2566), + [anon_sym___stdcall] = ACTIONS(2566), + [anon_sym___fastcall] = ACTIONS(2566), + [anon_sym___thiscall] = ACTIONS(2566), + [anon_sym___vectorcall] = ACTIONS(2566), + [anon_sym_LBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [anon_sym_if] = ACTIONS(2566), + [anon_sym_else] = ACTIONS(2566), + [anon_sym_switch] = ACTIONS(2566), + [anon_sym_case] = ACTIONS(2566), + [anon_sym_default] = ACTIONS(2566), + [anon_sym_while] = ACTIONS(2566), + [anon_sym_do] = ACTIONS(2566), + [anon_sym_for] = ACTIONS(2566), + [anon_sym_return] = ACTIONS(2566), + [anon_sym_break] = ACTIONS(2566), + [anon_sym_continue] = ACTIONS(2566), + [anon_sym_goto] = ACTIONS(2566), + [anon_sym___try] = ACTIONS(2566), + [anon_sym___leave] = ACTIONS(2566), + [anon_sym_not] = ACTIONS(2566), + [anon_sym_compl] = ACTIONS(2566), + [anon_sym_DASH_DASH] = ACTIONS(2568), + [anon_sym_PLUS_PLUS] = ACTIONS(2568), + [anon_sym_sizeof] = ACTIONS(2566), + [anon_sym___alignof__] = ACTIONS(2566), + [anon_sym___alignof] = ACTIONS(2566), + [anon_sym__alignof] = ACTIONS(2566), + [anon_sym_alignof] = ACTIONS(2566), + [anon_sym__Alignof] = ACTIONS(2566), + [anon_sym_offsetof] = ACTIONS(2566), + [anon_sym__Generic] = ACTIONS(2566), + [anon_sym_asm] = ACTIONS(2566), + [anon_sym___asm__] = ACTIONS(2566), + [sym__number_literal] = ACTIONS(2568), + [anon_sym_L_SQUOTE] = ACTIONS(2568), + [anon_sym_u_SQUOTE] = ACTIONS(2568), + [anon_sym_U_SQUOTE] = ACTIONS(2568), + [anon_sym_u8_SQUOTE] = ACTIONS(2568), + [anon_sym_SQUOTE] = ACTIONS(2568), + [anon_sym_L_DQUOTE] = ACTIONS(2568), + [anon_sym_u_DQUOTE] = ACTIONS(2568), + [anon_sym_U_DQUOTE] = ACTIONS(2568), + [anon_sym_u8_DQUOTE] = ACTIONS(2568), + [anon_sym_DQUOTE] = ACTIONS(2568), + [sym_true] = ACTIONS(2566), + [sym_false] = ACTIONS(2566), + [anon_sym_NULL] = ACTIONS(2566), + [anon_sym_nullptr] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_try] = ACTIONS(2566), + [anon_sym_delete] = ACTIONS(2566), + [anon_sym_throw] = ACTIONS(2566), + [anon_sym_namespace] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_concept] = ACTIONS(2566), + [anon_sym_co_return] = ACTIONS(2566), + [anon_sym_co_yield] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(2913), + [anon_sym_R_DQUOTE] = ACTIONS(2568), + [anon_sym_LR_DQUOTE] = ACTIONS(2568), + [anon_sym_uR_DQUOTE] = ACTIONS(2568), + [anon_sym_UR_DQUOTE] = ACTIONS(2568), + [anon_sym_u8R_DQUOTE] = ACTIONS(2568), + [anon_sym_co_await] = ACTIONS(2566), + [anon_sym_new] = ACTIONS(2566), + [anon_sym_requires] = ACTIONS(2566), + [sym_this] = ACTIONS(2566), + }, + [313] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_include_token1] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token2] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [aux_sym_preproc_else_token1] = ACTIONS(2915), + [aux_sym_preproc_elif_token1] = ACTIONS(2915), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_BANG] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_DASH] = ACTIONS(2915), + [anon_sym_PLUS] = ACTIONS(2915), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym_SEMI] = ACTIONS(2917), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym___cdecl] = ACTIONS(2915), + [anon_sym___clrcall] = ACTIONS(2915), + [anon_sym___stdcall] = ACTIONS(2915), + [anon_sym___fastcall] = ACTIONS(2915), + [anon_sym___thiscall] = ACTIONS(2915), + [anon_sym___vectorcall] = ACTIONS(2915), + [anon_sym_LBRACE] = ACTIONS(2917), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [anon_sym_if] = ACTIONS(2915), + [anon_sym_switch] = ACTIONS(2915), + [anon_sym_case] = ACTIONS(2915), + [anon_sym_default] = ACTIONS(2915), + [anon_sym_while] = ACTIONS(2915), + [anon_sym_do] = ACTIONS(2915), + [anon_sym_for] = ACTIONS(2915), + [anon_sym_return] = ACTIONS(2915), + [anon_sym_break] = ACTIONS(2915), + [anon_sym_continue] = ACTIONS(2915), + [anon_sym_goto] = ACTIONS(2915), + [anon_sym___try] = ACTIONS(2915), + [anon_sym___leave] = ACTIONS(2915), + [anon_sym_not] = ACTIONS(2915), + [anon_sym_compl] = ACTIONS(2915), + [anon_sym_DASH_DASH] = ACTIONS(2917), + [anon_sym_PLUS_PLUS] = ACTIONS(2917), + [anon_sym_sizeof] = ACTIONS(2915), + [anon_sym___alignof__] = ACTIONS(2915), + [anon_sym___alignof] = ACTIONS(2915), + [anon_sym__alignof] = ACTIONS(2915), + [anon_sym_alignof] = ACTIONS(2915), + [anon_sym__Alignof] = ACTIONS(2915), + [anon_sym_offsetof] = ACTIONS(2915), + [anon_sym__Generic] = ACTIONS(2915), + [anon_sym_asm] = ACTIONS(2915), + [anon_sym___asm__] = ACTIONS(2915), + [sym__number_literal] = ACTIONS(2917), + [anon_sym_L_SQUOTE] = ACTIONS(2917), + [anon_sym_u_SQUOTE] = ACTIONS(2917), + [anon_sym_U_SQUOTE] = ACTIONS(2917), + [anon_sym_u8_SQUOTE] = ACTIONS(2917), + [anon_sym_SQUOTE] = ACTIONS(2917), + [anon_sym_L_DQUOTE] = ACTIONS(2917), + [anon_sym_u_DQUOTE] = ACTIONS(2917), + [anon_sym_U_DQUOTE] = ACTIONS(2917), + [anon_sym_u8_DQUOTE] = ACTIONS(2917), + [anon_sym_DQUOTE] = ACTIONS(2917), + [sym_true] = ACTIONS(2915), + [sym_false] = ACTIONS(2915), + [anon_sym_NULL] = ACTIONS(2915), + [anon_sym_nullptr] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_try] = ACTIONS(2915), + [anon_sym_delete] = ACTIONS(2915), + [anon_sym_throw] = ACTIONS(2915), + [anon_sym_namespace] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + [anon_sym_concept] = ACTIONS(2915), + [anon_sym_co_return] = ACTIONS(2915), + [anon_sym_co_yield] = ACTIONS(2915), + [anon_sym_R_DQUOTE] = ACTIONS(2917), + [anon_sym_LR_DQUOTE] = ACTIONS(2917), + [anon_sym_uR_DQUOTE] = ACTIONS(2917), + [anon_sym_UR_DQUOTE] = ACTIONS(2917), + [anon_sym_u8R_DQUOTE] = ACTIONS(2917), + [anon_sym_co_await] = ACTIONS(2915), + [anon_sym_new] = ACTIONS(2915), + [anon_sym_requires] = ACTIONS(2915), + [sym_this] = ACTIONS(2915), + }, + [314] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_include_token1] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token2] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [aux_sym_preproc_else_token1] = ACTIONS(2919), + [aux_sym_preproc_elif_token1] = ACTIONS(2919), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_BANG] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_DASH] = ACTIONS(2919), + [anon_sym_PLUS] = ACTIONS(2919), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym_SEMI] = ACTIONS(2921), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym___cdecl] = ACTIONS(2919), + [anon_sym___clrcall] = ACTIONS(2919), + [anon_sym___stdcall] = ACTIONS(2919), + [anon_sym___fastcall] = ACTIONS(2919), + [anon_sym___thiscall] = ACTIONS(2919), + [anon_sym___vectorcall] = ACTIONS(2919), + [anon_sym_LBRACE] = ACTIONS(2921), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [anon_sym_if] = ACTIONS(2919), + [anon_sym_switch] = ACTIONS(2919), + [anon_sym_case] = ACTIONS(2919), + [anon_sym_default] = ACTIONS(2919), + [anon_sym_while] = ACTIONS(2919), + [anon_sym_do] = ACTIONS(2919), + [anon_sym_for] = ACTIONS(2919), + [anon_sym_return] = ACTIONS(2919), + [anon_sym_break] = ACTIONS(2919), + [anon_sym_continue] = ACTIONS(2919), + [anon_sym_goto] = ACTIONS(2919), + [anon_sym___try] = ACTIONS(2919), + [anon_sym___leave] = ACTIONS(2919), + [anon_sym_not] = ACTIONS(2919), + [anon_sym_compl] = ACTIONS(2919), + [anon_sym_DASH_DASH] = ACTIONS(2921), + [anon_sym_PLUS_PLUS] = ACTIONS(2921), + [anon_sym_sizeof] = ACTIONS(2919), + [anon_sym___alignof__] = ACTIONS(2919), + [anon_sym___alignof] = ACTIONS(2919), + [anon_sym__alignof] = ACTIONS(2919), + [anon_sym_alignof] = ACTIONS(2919), + [anon_sym__Alignof] = ACTIONS(2919), + [anon_sym_offsetof] = ACTIONS(2919), + [anon_sym__Generic] = ACTIONS(2919), + [anon_sym_asm] = ACTIONS(2919), + [anon_sym___asm__] = ACTIONS(2919), + [sym__number_literal] = ACTIONS(2921), + [anon_sym_L_SQUOTE] = ACTIONS(2921), + [anon_sym_u_SQUOTE] = ACTIONS(2921), + [anon_sym_U_SQUOTE] = ACTIONS(2921), + [anon_sym_u8_SQUOTE] = ACTIONS(2921), + [anon_sym_SQUOTE] = ACTIONS(2921), + [anon_sym_L_DQUOTE] = ACTIONS(2921), + [anon_sym_u_DQUOTE] = ACTIONS(2921), + [anon_sym_U_DQUOTE] = ACTIONS(2921), + [anon_sym_u8_DQUOTE] = ACTIONS(2921), + [anon_sym_DQUOTE] = ACTIONS(2921), + [sym_true] = ACTIONS(2919), + [sym_false] = ACTIONS(2919), + [anon_sym_NULL] = ACTIONS(2919), + [anon_sym_nullptr] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_try] = ACTIONS(2919), + [anon_sym_delete] = ACTIONS(2919), + [anon_sym_throw] = ACTIONS(2919), + [anon_sym_namespace] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + [anon_sym_concept] = ACTIONS(2919), + [anon_sym_co_return] = ACTIONS(2919), + [anon_sym_co_yield] = ACTIONS(2919), + [anon_sym_R_DQUOTE] = ACTIONS(2921), + [anon_sym_LR_DQUOTE] = ACTIONS(2921), + [anon_sym_uR_DQUOTE] = ACTIONS(2921), + [anon_sym_UR_DQUOTE] = ACTIONS(2921), + [anon_sym_u8R_DQUOTE] = ACTIONS(2921), + [anon_sym_co_await] = ACTIONS(2919), + [anon_sym_new] = ACTIONS(2919), + [anon_sym_requires] = ACTIONS(2919), + [sym_this] = ACTIONS(2919), + }, + [315] = { + [sym__identifier] = ACTIONS(2923), + [aux_sym_preproc_include_token1] = ACTIONS(2923), + [aux_sym_preproc_def_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token2] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2923), + [aux_sym_preproc_else_token1] = ACTIONS(2923), + [aux_sym_preproc_elif_token1] = ACTIONS(2923), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2923), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2923), + [sym_preproc_directive] = ACTIONS(2923), + [anon_sym_LPAREN2] = ACTIONS(2925), + [anon_sym_BANG] = ACTIONS(2925), + [anon_sym_TILDE] = ACTIONS(2925), + [anon_sym_DASH] = ACTIONS(2923), + [anon_sym_PLUS] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2925), + [anon_sym_AMP] = ACTIONS(2923), + [anon_sym_SEMI] = ACTIONS(2925), + [anon_sym___extension__] = ACTIONS(2923), + [anon_sym_typedef] = ACTIONS(2923), + [anon_sym_extern] = ACTIONS(2923), + [anon_sym___attribute__] = ACTIONS(2923), + [anon_sym_COLON_COLON] = ACTIONS(2925), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2925), + [anon_sym___declspec] = ACTIONS(2923), + [anon_sym___based] = ACTIONS(2923), + [anon_sym___cdecl] = ACTIONS(2923), + [anon_sym___clrcall] = ACTIONS(2923), + [anon_sym___stdcall] = ACTIONS(2923), + [anon_sym___fastcall] = ACTIONS(2923), + [anon_sym___thiscall] = ACTIONS(2923), + [anon_sym___vectorcall] = ACTIONS(2923), + [anon_sym_LBRACE] = ACTIONS(2925), + [anon_sym_signed] = ACTIONS(2923), + [anon_sym_unsigned] = ACTIONS(2923), + [anon_sym_long] = ACTIONS(2923), + [anon_sym_short] = ACTIONS(2923), + [anon_sym_LBRACK] = ACTIONS(2923), + [anon_sym_static] = ACTIONS(2923), + [anon_sym_register] = ACTIONS(2923), + [anon_sym_inline] = ACTIONS(2923), + [anon_sym___inline] = ACTIONS(2923), + [anon_sym___inline__] = ACTIONS(2923), + [anon_sym___forceinline] = ACTIONS(2923), + [anon_sym_thread_local] = ACTIONS(2923), + [anon_sym___thread] = ACTIONS(2923), + [anon_sym_const] = ACTIONS(2923), + [anon_sym_constexpr] = ACTIONS(2923), + [anon_sym_volatile] = ACTIONS(2923), + [anon_sym_restrict] = ACTIONS(2923), + [anon_sym___restrict__] = ACTIONS(2923), + [anon_sym__Atomic] = ACTIONS(2923), + [anon_sym__Noreturn] = ACTIONS(2923), + [anon_sym_noreturn] = ACTIONS(2923), + [anon_sym_mutable] = ACTIONS(2923), + [anon_sym_constinit] = ACTIONS(2923), + [anon_sym_consteval] = ACTIONS(2923), + [anon_sym_alignas] = ACTIONS(2923), + [anon_sym__Alignas] = ACTIONS(2923), + [sym_primitive_type] = ACTIONS(2923), + [anon_sym_enum] = ACTIONS(2923), + [anon_sym_class] = ACTIONS(2923), + [anon_sym_struct] = ACTIONS(2923), + [anon_sym_union] = ACTIONS(2923), + [anon_sym_if] = ACTIONS(2923), + [anon_sym_switch] = ACTIONS(2923), + [anon_sym_case] = ACTIONS(2923), + [anon_sym_default] = ACTIONS(2923), + [anon_sym_while] = ACTIONS(2923), + [anon_sym_do] = ACTIONS(2923), + [anon_sym_for] = ACTIONS(2923), + [anon_sym_return] = ACTIONS(2923), + [anon_sym_break] = ACTIONS(2923), + [anon_sym_continue] = ACTIONS(2923), + [anon_sym_goto] = ACTIONS(2923), + [anon_sym___try] = ACTIONS(2923), + [anon_sym___leave] = ACTIONS(2923), + [anon_sym_not] = ACTIONS(2923), + [anon_sym_compl] = ACTIONS(2923), + [anon_sym_DASH_DASH] = ACTIONS(2925), + [anon_sym_PLUS_PLUS] = ACTIONS(2925), + [anon_sym_sizeof] = ACTIONS(2923), + [anon_sym___alignof__] = ACTIONS(2923), + [anon_sym___alignof] = ACTIONS(2923), + [anon_sym__alignof] = ACTIONS(2923), + [anon_sym_alignof] = ACTIONS(2923), + [anon_sym__Alignof] = ACTIONS(2923), + [anon_sym_offsetof] = ACTIONS(2923), + [anon_sym__Generic] = ACTIONS(2923), + [anon_sym_asm] = ACTIONS(2923), + [anon_sym___asm__] = ACTIONS(2923), + [sym__number_literal] = ACTIONS(2925), + [anon_sym_L_SQUOTE] = ACTIONS(2925), + [anon_sym_u_SQUOTE] = ACTIONS(2925), + [anon_sym_U_SQUOTE] = ACTIONS(2925), + [anon_sym_u8_SQUOTE] = ACTIONS(2925), + [anon_sym_SQUOTE] = ACTIONS(2925), + [anon_sym_L_DQUOTE] = ACTIONS(2925), + [anon_sym_u_DQUOTE] = ACTIONS(2925), + [anon_sym_U_DQUOTE] = ACTIONS(2925), + [anon_sym_u8_DQUOTE] = ACTIONS(2925), + [anon_sym_DQUOTE] = ACTIONS(2925), + [sym_true] = ACTIONS(2923), + [sym_false] = ACTIONS(2923), + [anon_sym_NULL] = ACTIONS(2923), + [anon_sym_nullptr] = ACTIONS(2923), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2925), + [sym_auto] = ACTIONS(2923), + [anon_sym_decltype] = ACTIONS(2923), + [sym_virtual] = ACTIONS(2923), + [anon_sym_explicit] = ACTIONS(2923), + [anon_sym_typename] = ACTIONS(2923), + [anon_sym_template] = ACTIONS(2923), + [anon_sym_operator] = ACTIONS(2923), + [anon_sym_try] = ACTIONS(2923), + [anon_sym_delete] = ACTIONS(2923), + [anon_sym_throw] = ACTIONS(2923), + [anon_sym_namespace] = ACTIONS(2923), + [anon_sym_using] = ACTIONS(2923), + [anon_sym_static_assert] = ACTIONS(2923), + [anon_sym_concept] = ACTIONS(2923), + [anon_sym_co_return] = ACTIONS(2923), + [anon_sym_co_yield] = ACTIONS(2923), + [anon_sym_R_DQUOTE] = ACTIONS(2925), + [anon_sym_LR_DQUOTE] = ACTIONS(2925), + [anon_sym_uR_DQUOTE] = ACTIONS(2925), + [anon_sym_UR_DQUOTE] = ACTIONS(2925), + [anon_sym_u8R_DQUOTE] = ACTIONS(2925), + [anon_sym_co_await] = ACTIONS(2923), + [anon_sym_new] = ACTIONS(2923), + [anon_sym_requires] = ACTIONS(2923), + [sym_this] = ACTIONS(2923), + }, + [316] = { + [sym_catch_clause] = STATE(316), + [aux_sym_constructor_try_statement_repeat1] = STATE(316), + [ts_builtin_sym_end] = ACTIONS(2574), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_include_token1] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_BANG] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_DASH] = ACTIONS(2572), + [anon_sym_PLUS] = ACTIONS(2572), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym_SEMI] = ACTIONS(2574), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym___cdecl] = ACTIONS(2572), + [anon_sym___clrcall] = ACTIONS(2572), + [anon_sym___stdcall] = ACTIONS(2572), + [anon_sym___fastcall] = ACTIONS(2572), + [anon_sym___thiscall] = ACTIONS(2572), + [anon_sym___vectorcall] = ACTIONS(2572), + [anon_sym_LBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [anon_sym_if] = ACTIONS(2572), + [anon_sym_else] = ACTIONS(2572), + [anon_sym_switch] = ACTIONS(2572), + [anon_sym_case] = ACTIONS(2572), + [anon_sym_default] = ACTIONS(2572), + [anon_sym_while] = ACTIONS(2572), + [anon_sym_do] = ACTIONS(2572), + [anon_sym_for] = ACTIONS(2572), + [anon_sym_return] = ACTIONS(2572), + [anon_sym_break] = ACTIONS(2572), + [anon_sym_continue] = ACTIONS(2572), + [anon_sym_goto] = ACTIONS(2572), + [anon_sym___try] = ACTIONS(2572), + [anon_sym___leave] = ACTIONS(2572), + [anon_sym_not] = ACTIONS(2572), + [anon_sym_compl] = ACTIONS(2572), + [anon_sym_DASH_DASH] = ACTIONS(2574), + [anon_sym_PLUS_PLUS] = ACTIONS(2574), + [anon_sym_sizeof] = ACTIONS(2572), + [anon_sym___alignof__] = ACTIONS(2572), + [anon_sym___alignof] = ACTIONS(2572), + [anon_sym__alignof] = ACTIONS(2572), + [anon_sym_alignof] = ACTIONS(2572), + [anon_sym__Alignof] = ACTIONS(2572), + [anon_sym_offsetof] = ACTIONS(2572), + [anon_sym__Generic] = ACTIONS(2572), + [anon_sym_asm] = ACTIONS(2572), + [anon_sym___asm__] = ACTIONS(2572), + [sym__number_literal] = ACTIONS(2574), + [anon_sym_L_SQUOTE] = ACTIONS(2574), + [anon_sym_u_SQUOTE] = ACTIONS(2574), + [anon_sym_U_SQUOTE] = ACTIONS(2574), + [anon_sym_u8_SQUOTE] = ACTIONS(2574), + [anon_sym_SQUOTE] = ACTIONS(2574), + [anon_sym_L_DQUOTE] = ACTIONS(2574), + [anon_sym_u_DQUOTE] = ACTIONS(2574), + [anon_sym_U_DQUOTE] = ACTIONS(2574), + [anon_sym_u8_DQUOTE] = ACTIONS(2574), + [anon_sym_DQUOTE] = ACTIONS(2574), + [sym_true] = ACTIONS(2572), + [sym_false] = ACTIONS(2572), + [anon_sym_NULL] = ACTIONS(2572), + [anon_sym_nullptr] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_try] = ACTIONS(2572), + [anon_sym_delete] = ACTIONS(2572), + [anon_sym_throw] = ACTIONS(2572), + [anon_sym_namespace] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_concept] = ACTIONS(2572), + [anon_sym_co_return] = ACTIONS(2572), + [anon_sym_co_yield] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(2927), + [anon_sym_R_DQUOTE] = ACTIONS(2574), + [anon_sym_LR_DQUOTE] = ACTIONS(2574), + [anon_sym_uR_DQUOTE] = ACTIONS(2574), + [anon_sym_UR_DQUOTE] = ACTIONS(2574), + [anon_sym_u8R_DQUOTE] = ACTIONS(2574), + [anon_sym_co_await] = ACTIONS(2572), + [anon_sym_new] = ACTIONS(2572), + [anon_sym_requires] = ACTIONS(2572), + [sym_this] = ACTIONS(2572), + }, + [317] = { + [sym_preproc_def] = STATE(333), + [sym_preproc_function_def] = STATE(333), + [sym_preproc_call] = STATE(333), + [sym_preproc_if_in_field_declaration_list] = STATE(333), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(333), + [sym_preproc_else_in_field_declaration_list] = STATE(7886), + [sym_preproc_elif_in_field_declaration_list] = STATE(7886), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(7886), + [sym_type_definition] = STATE(333), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(333), + [sym_field_declaration] = STATE(333), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(333), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(333), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(333), + [sym_operator_cast_declaration] = STATE(333), + [sym_constructor_or_destructor_definition] = STATE(333), + [sym_constructor_or_destructor_declaration] = STATE(333), + [sym_friend_declaration] = STATE(333), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(333), + [sym_alias_declaration] = STATE(333), + [sym_static_assert_declaration] = STATE(333), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(333), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2930), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [318] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_include_token1] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token2] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [aux_sym_preproc_else_token1] = ACTIONS(2932), + [aux_sym_preproc_elif_token1] = ACTIONS(2932), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_BANG] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_DASH] = ACTIONS(2932), + [anon_sym_PLUS] = ACTIONS(2932), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym_SEMI] = ACTIONS(2934), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym___cdecl] = ACTIONS(2932), + [anon_sym___clrcall] = ACTIONS(2932), + [anon_sym___stdcall] = ACTIONS(2932), + [anon_sym___fastcall] = ACTIONS(2932), + [anon_sym___thiscall] = ACTIONS(2932), + [anon_sym___vectorcall] = ACTIONS(2932), + [anon_sym_LBRACE] = ACTIONS(2934), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [anon_sym_if] = ACTIONS(2932), + [anon_sym_switch] = ACTIONS(2932), + [anon_sym_case] = ACTIONS(2932), + [anon_sym_default] = ACTIONS(2932), + [anon_sym_while] = ACTIONS(2932), + [anon_sym_do] = ACTIONS(2932), + [anon_sym_for] = ACTIONS(2932), + [anon_sym_return] = ACTIONS(2932), + [anon_sym_break] = ACTIONS(2932), + [anon_sym_continue] = ACTIONS(2932), + [anon_sym_goto] = ACTIONS(2932), + [anon_sym___try] = ACTIONS(2932), + [anon_sym___leave] = ACTIONS(2932), + [anon_sym_not] = ACTIONS(2932), + [anon_sym_compl] = ACTIONS(2932), + [anon_sym_DASH_DASH] = ACTIONS(2934), + [anon_sym_PLUS_PLUS] = ACTIONS(2934), + [anon_sym_sizeof] = ACTIONS(2932), + [anon_sym___alignof__] = ACTIONS(2932), + [anon_sym___alignof] = ACTIONS(2932), + [anon_sym__alignof] = ACTIONS(2932), + [anon_sym_alignof] = ACTIONS(2932), + [anon_sym__Alignof] = ACTIONS(2932), + [anon_sym_offsetof] = ACTIONS(2932), + [anon_sym__Generic] = ACTIONS(2932), + [anon_sym_asm] = ACTIONS(2932), + [anon_sym___asm__] = ACTIONS(2932), + [sym__number_literal] = ACTIONS(2934), + [anon_sym_L_SQUOTE] = ACTIONS(2934), + [anon_sym_u_SQUOTE] = ACTIONS(2934), + [anon_sym_U_SQUOTE] = ACTIONS(2934), + [anon_sym_u8_SQUOTE] = ACTIONS(2934), + [anon_sym_SQUOTE] = ACTIONS(2934), + [anon_sym_L_DQUOTE] = ACTIONS(2934), + [anon_sym_u_DQUOTE] = ACTIONS(2934), + [anon_sym_U_DQUOTE] = ACTIONS(2934), + [anon_sym_u8_DQUOTE] = ACTIONS(2934), + [anon_sym_DQUOTE] = ACTIONS(2934), + [sym_true] = ACTIONS(2932), + [sym_false] = ACTIONS(2932), + [anon_sym_NULL] = ACTIONS(2932), + [anon_sym_nullptr] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_try] = ACTIONS(2932), + [anon_sym_delete] = ACTIONS(2932), + [anon_sym_throw] = ACTIONS(2932), + [anon_sym_namespace] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + [anon_sym_concept] = ACTIONS(2932), + [anon_sym_co_return] = ACTIONS(2932), + [anon_sym_co_yield] = ACTIONS(2932), + [anon_sym_R_DQUOTE] = ACTIONS(2934), + [anon_sym_LR_DQUOTE] = ACTIONS(2934), + [anon_sym_uR_DQUOTE] = ACTIONS(2934), + [anon_sym_UR_DQUOTE] = ACTIONS(2934), + [anon_sym_u8R_DQUOTE] = ACTIONS(2934), + [anon_sym_co_await] = ACTIONS(2932), + [anon_sym_new] = ACTIONS(2932), + [anon_sym_requires] = ACTIONS(2932), + [sym_this] = ACTIONS(2932), + }, + [319] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_include_token1] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token2] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [aux_sym_preproc_else_token1] = ACTIONS(2936), + [aux_sym_preproc_elif_token1] = ACTIONS(2936), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_BANG] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_DASH] = ACTIONS(2936), + [anon_sym_PLUS] = ACTIONS(2936), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym_SEMI] = ACTIONS(2938), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym___cdecl] = ACTIONS(2936), + [anon_sym___clrcall] = ACTIONS(2936), + [anon_sym___stdcall] = ACTIONS(2936), + [anon_sym___fastcall] = ACTIONS(2936), + [anon_sym___thiscall] = ACTIONS(2936), + [anon_sym___vectorcall] = ACTIONS(2936), + [anon_sym_LBRACE] = ACTIONS(2938), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [anon_sym_if] = ACTIONS(2936), + [anon_sym_switch] = ACTIONS(2936), + [anon_sym_case] = ACTIONS(2936), + [anon_sym_default] = ACTIONS(2936), + [anon_sym_while] = ACTIONS(2936), + [anon_sym_do] = ACTIONS(2936), + [anon_sym_for] = ACTIONS(2936), + [anon_sym_return] = ACTIONS(2936), + [anon_sym_break] = ACTIONS(2936), + [anon_sym_continue] = ACTIONS(2936), + [anon_sym_goto] = ACTIONS(2936), + [anon_sym___try] = ACTIONS(2936), + [anon_sym___leave] = ACTIONS(2936), + [anon_sym_not] = ACTIONS(2936), + [anon_sym_compl] = ACTIONS(2936), + [anon_sym_DASH_DASH] = ACTIONS(2938), + [anon_sym_PLUS_PLUS] = ACTIONS(2938), + [anon_sym_sizeof] = ACTIONS(2936), + [anon_sym___alignof__] = ACTIONS(2936), + [anon_sym___alignof] = ACTIONS(2936), + [anon_sym__alignof] = ACTIONS(2936), + [anon_sym_alignof] = ACTIONS(2936), + [anon_sym__Alignof] = ACTIONS(2936), + [anon_sym_offsetof] = ACTIONS(2936), + [anon_sym__Generic] = ACTIONS(2936), + [anon_sym_asm] = ACTIONS(2936), + [anon_sym___asm__] = ACTIONS(2936), + [sym__number_literal] = ACTIONS(2938), + [anon_sym_L_SQUOTE] = ACTIONS(2938), + [anon_sym_u_SQUOTE] = ACTIONS(2938), + [anon_sym_U_SQUOTE] = ACTIONS(2938), + [anon_sym_u8_SQUOTE] = ACTIONS(2938), + [anon_sym_SQUOTE] = ACTIONS(2938), + [anon_sym_L_DQUOTE] = ACTIONS(2938), + [anon_sym_u_DQUOTE] = ACTIONS(2938), + [anon_sym_U_DQUOTE] = ACTIONS(2938), + [anon_sym_u8_DQUOTE] = ACTIONS(2938), + [anon_sym_DQUOTE] = ACTIONS(2938), + [sym_true] = ACTIONS(2936), + [sym_false] = ACTIONS(2936), + [anon_sym_NULL] = ACTIONS(2936), + [anon_sym_nullptr] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_try] = ACTIONS(2936), + [anon_sym_delete] = ACTIONS(2936), + [anon_sym_throw] = ACTIONS(2936), + [anon_sym_namespace] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + [anon_sym_concept] = ACTIONS(2936), + [anon_sym_co_return] = ACTIONS(2936), + [anon_sym_co_yield] = ACTIONS(2936), + [anon_sym_R_DQUOTE] = ACTIONS(2938), + [anon_sym_LR_DQUOTE] = ACTIONS(2938), + [anon_sym_uR_DQUOTE] = ACTIONS(2938), + [anon_sym_UR_DQUOTE] = ACTIONS(2938), + [anon_sym_u8R_DQUOTE] = ACTIONS(2938), + [anon_sym_co_await] = ACTIONS(2936), + [anon_sym_new] = ACTIONS(2936), + [anon_sym_requires] = ACTIONS(2936), + [sym_this] = ACTIONS(2936), + }, + [320] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_include_token1] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token2] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [aux_sym_preproc_else_token1] = ACTIONS(2940), + [aux_sym_preproc_elif_token1] = ACTIONS(2940), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_BANG] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_DASH] = ACTIONS(2940), + [anon_sym_PLUS] = ACTIONS(2940), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym_SEMI] = ACTIONS(2942), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym___cdecl] = ACTIONS(2940), + [anon_sym___clrcall] = ACTIONS(2940), + [anon_sym___stdcall] = ACTIONS(2940), + [anon_sym___fastcall] = ACTIONS(2940), + [anon_sym___thiscall] = ACTIONS(2940), + [anon_sym___vectorcall] = ACTIONS(2940), + [anon_sym_LBRACE] = ACTIONS(2942), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [anon_sym_if] = ACTIONS(2940), + [anon_sym_switch] = ACTIONS(2940), + [anon_sym_case] = ACTIONS(2940), + [anon_sym_default] = ACTIONS(2940), + [anon_sym_while] = ACTIONS(2940), + [anon_sym_do] = ACTIONS(2940), + [anon_sym_for] = ACTIONS(2940), + [anon_sym_return] = ACTIONS(2940), + [anon_sym_break] = ACTIONS(2940), + [anon_sym_continue] = ACTIONS(2940), + [anon_sym_goto] = ACTIONS(2940), + [anon_sym___try] = ACTIONS(2940), + [anon_sym___leave] = ACTIONS(2940), + [anon_sym_not] = ACTIONS(2940), + [anon_sym_compl] = ACTIONS(2940), + [anon_sym_DASH_DASH] = ACTIONS(2942), + [anon_sym_PLUS_PLUS] = ACTIONS(2942), + [anon_sym_sizeof] = ACTIONS(2940), + [anon_sym___alignof__] = ACTIONS(2940), + [anon_sym___alignof] = ACTIONS(2940), + [anon_sym__alignof] = ACTIONS(2940), + [anon_sym_alignof] = ACTIONS(2940), + [anon_sym__Alignof] = ACTIONS(2940), + [anon_sym_offsetof] = ACTIONS(2940), + [anon_sym__Generic] = ACTIONS(2940), + [anon_sym_asm] = ACTIONS(2940), + [anon_sym___asm__] = ACTIONS(2940), + [sym__number_literal] = ACTIONS(2942), + [anon_sym_L_SQUOTE] = ACTIONS(2942), + [anon_sym_u_SQUOTE] = ACTIONS(2942), + [anon_sym_U_SQUOTE] = ACTIONS(2942), + [anon_sym_u8_SQUOTE] = ACTIONS(2942), + [anon_sym_SQUOTE] = ACTIONS(2942), + [anon_sym_L_DQUOTE] = ACTIONS(2942), + [anon_sym_u_DQUOTE] = ACTIONS(2942), + [anon_sym_U_DQUOTE] = ACTIONS(2942), + [anon_sym_u8_DQUOTE] = ACTIONS(2942), + [anon_sym_DQUOTE] = ACTIONS(2942), + [sym_true] = ACTIONS(2940), + [sym_false] = ACTIONS(2940), + [anon_sym_NULL] = ACTIONS(2940), + [anon_sym_nullptr] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_try] = ACTIONS(2940), + [anon_sym_delete] = ACTIONS(2940), + [anon_sym_throw] = ACTIONS(2940), + [anon_sym_namespace] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + [anon_sym_concept] = ACTIONS(2940), + [anon_sym_co_return] = ACTIONS(2940), + [anon_sym_co_yield] = ACTIONS(2940), + [anon_sym_R_DQUOTE] = ACTIONS(2942), + [anon_sym_LR_DQUOTE] = ACTIONS(2942), + [anon_sym_uR_DQUOTE] = ACTIONS(2942), + [anon_sym_UR_DQUOTE] = ACTIONS(2942), + [anon_sym_u8R_DQUOTE] = ACTIONS(2942), + [anon_sym_co_await] = ACTIONS(2940), + [anon_sym_new] = ACTIONS(2940), + [anon_sym_requires] = ACTIONS(2940), + [sym_this] = ACTIONS(2940), + }, + [321] = { + [sym__identifier] = ACTIONS(2944), + [aux_sym_preproc_include_token1] = ACTIONS(2944), + [aux_sym_preproc_def_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token2] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2944), + [aux_sym_preproc_else_token1] = ACTIONS(2944), + [aux_sym_preproc_elif_token1] = ACTIONS(2944), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2944), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2944), + [sym_preproc_directive] = ACTIONS(2944), + [anon_sym_LPAREN2] = ACTIONS(2946), + [anon_sym_BANG] = ACTIONS(2946), + [anon_sym_TILDE] = ACTIONS(2946), + [anon_sym_DASH] = ACTIONS(2944), + [anon_sym_PLUS] = ACTIONS(2944), + [anon_sym_STAR] = ACTIONS(2946), + [anon_sym_AMP_AMP] = ACTIONS(2946), + [anon_sym_AMP] = ACTIONS(2944), + [anon_sym_SEMI] = ACTIONS(2946), + [anon_sym___extension__] = ACTIONS(2944), + [anon_sym_typedef] = ACTIONS(2944), + [anon_sym_extern] = ACTIONS(2944), + [anon_sym___attribute__] = ACTIONS(2944), + [anon_sym_COLON_COLON] = ACTIONS(2946), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2946), + [anon_sym___declspec] = ACTIONS(2944), + [anon_sym___based] = ACTIONS(2944), + [anon_sym___cdecl] = ACTIONS(2944), + [anon_sym___clrcall] = ACTIONS(2944), + [anon_sym___stdcall] = ACTIONS(2944), + [anon_sym___fastcall] = ACTIONS(2944), + [anon_sym___thiscall] = ACTIONS(2944), + [anon_sym___vectorcall] = ACTIONS(2944), + [anon_sym_LBRACE] = ACTIONS(2946), + [anon_sym_signed] = ACTIONS(2944), + [anon_sym_unsigned] = ACTIONS(2944), + [anon_sym_long] = ACTIONS(2944), + [anon_sym_short] = ACTIONS(2944), + [anon_sym_LBRACK] = ACTIONS(2944), + [anon_sym_static] = ACTIONS(2944), + [anon_sym_register] = ACTIONS(2944), + [anon_sym_inline] = ACTIONS(2944), + [anon_sym___inline] = ACTIONS(2944), + [anon_sym___inline__] = ACTIONS(2944), + [anon_sym___forceinline] = ACTIONS(2944), + [anon_sym_thread_local] = ACTIONS(2944), + [anon_sym___thread] = ACTIONS(2944), + [anon_sym_const] = ACTIONS(2944), + [anon_sym_constexpr] = ACTIONS(2944), + [anon_sym_volatile] = ACTIONS(2944), + [anon_sym_restrict] = ACTIONS(2944), + [anon_sym___restrict__] = ACTIONS(2944), + [anon_sym__Atomic] = ACTIONS(2944), + [anon_sym__Noreturn] = ACTIONS(2944), + [anon_sym_noreturn] = ACTIONS(2944), + [anon_sym_mutable] = ACTIONS(2944), + [anon_sym_constinit] = ACTIONS(2944), + [anon_sym_consteval] = ACTIONS(2944), + [anon_sym_alignas] = ACTIONS(2944), + [anon_sym__Alignas] = ACTIONS(2944), + [sym_primitive_type] = ACTIONS(2944), + [anon_sym_enum] = ACTIONS(2944), + [anon_sym_class] = ACTIONS(2944), + [anon_sym_struct] = ACTIONS(2944), + [anon_sym_union] = ACTIONS(2944), + [anon_sym_if] = ACTIONS(2944), + [anon_sym_switch] = ACTIONS(2944), + [anon_sym_case] = ACTIONS(2944), + [anon_sym_default] = ACTIONS(2944), + [anon_sym_while] = ACTIONS(2944), + [anon_sym_do] = ACTIONS(2944), + [anon_sym_for] = ACTIONS(2944), + [anon_sym_return] = ACTIONS(2944), + [anon_sym_break] = ACTIONS(2944), + [anon_sym_continue] = ACTIONS(2944), + [anon_sym_goto] = ACTIONS(2944), + [anon_sym___try] = ACTIONS(2944), + [anon_sym___leave] = ACTIONS(2944), + [anon_sym_not] = ACTIONS(2944), + [anon_sym_compl] = ACTIONS(2944), + [anon_sym_DASH_DASH] = ACTIONS(2946), + [anon_sym_PLUS_PLUS] = ACTIONS(2946), + [anon_sym_sizeof] = ACTIONS(2944), + [anon_sym___alignof__] = ACTIONS(2944), + [anon_sym___alignof] = ACTIONS(2944), + [anon_sym__alignof] = ACTIONS(2944), + [anon_sym_alignof] = ACTIONS(2944), + [anon_sym__Alignof] = ACTIONS(2944), + [anon_sym_offsetof] = ACTIONS(2944), + [anon_sym__Generic] = ACTIONS(2944), + [anon_sym_asm] = ACTIONS(2944), + [anon_sym___asm__] = ACTIONS(2944), + [sym__number_literal] = ACTIONS(2946), + [anon_sym_L_SQUOTE] = ACTIONS(2946), + [anon_sym_u_SQUOTE] = ACTIONS(2946), + [anon_sym_U_SQUOTE] = ACTIONS(2946), + [anon_sym_u8_SQUOTE] = ACTIONS(2946), + [anon_sym_SQUOTE] = ACTIONS(2946), + [anon_sym_L_DQUOTE] = ACTIONS(2946), + [anon_sym_u_DQUOTE] = ACTIONS(2946), + [anon_sym_U_DQUOTE] = ACTIONS(2946), + [anon_sym_u8_DQUOTE] = ACTIONS(2946), + [anon_sym_DQUOTE] = ACTIONS(2946), + [sym_true] = ACTIONS(2944), + [sym_false] = ACTIONS(2944), + [anon_sym_NULL] = ACTIONS(2944), + [anon_sym_nullptr] = ACTIONS(2944), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2946), + [sym_auto] = ACTIONS(2944), + [anon_sym_decltype] = ACTIONS(2944), + [sym_virtual] = ACTIONS(2944), + [anon_sym_explicit] = ACTIONS(2944), + [anon_sym_typename] = ACTIONS(2944), + [anon_sym_template] = ACTIONS(2944), + [anon_sym_operator] = ACTIONS(2944), + [anon_sym_try] = ACTIONS(2944), + [anon_sym_delete] = ACTIONS(2944), + [anon_sym_throw] = ACTIONS(2944), + [anon_sym_namespace] = ACTIONS(2944), + [anon_sym_using] = ACTIONS(2944), + [anon_sym_static_assert] = ACTIONS(2944), + [anon_sym_concept] = ACTIONS(2944), + [anon_sym_co_return] = ACTIONS(2944), + [anon_sym_co_yield] = ACTIONS(2944), + [anon_sym_R_DQUOTE] = ACTIONS(2946), + [anon_sym_LR_DQUOTE] = ACTIONS(2946), + [anon_sym_uR_DQUOTE] = ACTIONS(2946), + [anon_sym_UR_DQUOTE] = ACTIONS(2946), + [anon_sym_u8R_DQUOTE] = ACTIONS(2946), + [anon_sym_co_await] = ACTIONS(2944), + [anon_sym_new] = ACTIONS(2944), + [anon_sym_requires] = ACTIONS(2944), + [sym_this] = ACTIONS(2944), + }, + [322] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_include_token1] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token2] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [aux_sym_preproc_else_token1] = ACTIONS(2948), + [aux_sym_preproc_elif_token1] = ACTIONS(2948), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_BANG] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_DASH] = ACTIONS(2948), + [anon_sym_PLUS] = ACTIONS(2948), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym_SEMI] = ACTIONS(2950), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym___cdecl] = ACTIONS(2948), + [anon_sym___clrcall] = ACTIONS(2948), + [anon_sym___stdcall] = ACTIONS(2948), + [anon_sym___fastcall] = ACTIONS(2948), + [anon_sym___thiscall] = ACTIONS(2948), + [anon_sym___vectorcall] = ACTIONS(2948), + [anon_sym_LBRACE] = ACTIONS(2950), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [anon_sym_if] = ACTIONS(2948), + [anon_sym_switch] = ACTIONS(2948), + [anon_sym_case] = ACTIONS(2948), + [anon_sym_default] = ACTIONS(2948), + [anon_sym_while] = ACTIONS(2948), + [anon_sym_do] = ACTIONS(2948), + [anon_sym_for] = ACTIONS(2948), + [anon_sym_return] = ACTIONS(2948), + [anon_sym_break] = ACTIONS(2948), + [anon_sym_continue] = ACTIONS(2948), + [anon_sym_goto] = ACTIONS(2948), + [anon_sym___try] = ACTIONS(2948), + [anon_sym___leave] = ACTIONS(2948), + [anon_sym_not] = ACTIONS(2948), + [anon_sym_compl] = ACTIONS(2948), + [anon_sym_DASH_DASH] = ACTIONS(2950), + [anon_sym_PLUS_PLUS] = ACTIONS(2950), + [anon_sym_sizeof] = ACTIONS(2948), + [anon_sym___alignof__] = ACTIONS(2948), + [anon_sym___alignof] = ACTIONS(2948), + [anon_sym__alignof] = ACTIONS(2948), + [anon_sym_alignof] = ACTIONS(2948), + [anon_sym__Alignof] = ACTIONS(2948), + [anon_sym_offsetof] = ACTIONS(2948), + [anon_sym__Generic] = ACTIONS(2948), + [anon_sym_asm] = ACTIONS(2948), + [anon_sym___asm__] = ACTIONS(2948), + [sym__number_literal] = ACTIONS(2950), + [anon_sym_L_SQUOTE] = ACTIONS(2950), + [anon_sym_u_SQUOTE] = ACTIONS(2950), + [anon_sym_U_SQUOTE] = ACTIONS(2950), + [anon_sym_u8_SQUOTE] = ACTIONS(2950), + [anon_sym_SQUOTE] = ACTIONS(2950), + [anon_sym_L_DQUOTE] = ACTIONS(2950), + [anon_sym_u_DQUOTE] = ACTIONS(2950), + [anon_sym_U_DQUOTE] = ACTIONS(2950), + [anon_sym_u8_DQUOTE] = ACTIONS(2950), + [anon_sym_DQUOTE] = ACTIONS(2950), + [sym_true] = ACTIONS(2948), + [sym_false] = ACTIONS(2948), + [anon_sym_NULL] = ACTIONS(2948), + [anon_sym_nullptr] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_try] = ACTIONS(2948), + [anon_sym_delete] = ACTIONS(2948), + [anon_sym_throw] = ACTIONS(2948), + [anon_sym_namespace] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + [anon_sym_concept] = ACTIONS(2948), + [anon_sym_co_return] = ACTIONS(2948), + [anon_sym_co_yield] = ACTIONS(2948), + [anon_sym_R_DQUOTE] = ACTIONS(2950), + [anon_sym_LR_DQUOTE] = ACTIONS(2950), + [anon_sym_uR_DQUOTE] = ACTIONS(2950), + [anon_sym_UR_DQUOTE] = ACTIONS(2950), + [anon_sym_u8R_DQUOTE] = ACTIONS(2950), + [anon_sym_co_await] = ACTIONS(2948), + [anon_sym_new] = ACTIONS(2948), + [anon_sym_requires] = ACTIONS(2948), + [sym_this] = ACTIONS(2948), + }, + [323] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_include_token1] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token2] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [aux_sym_preproc_else_token1] = ACTIONS(2952), + [aux_sym_preproc_elif_token1] = ACTIONS(2952), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_BANG] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_DASH] = ACTIONS(2952), + [anon_sym_PLUS] = ACTIONS(2952), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym_SEMI] = ACTIONS(2954), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym___cdecl] = ACTIONS(2952), + [anon_sym___clrcall] = ACTIONS(2952), + [anon_sym___stdcall] = ACTIONS(2952), + [anon_sym___fastcall] = ACTIONS(2952), + [anon_sym___thiscall] = ACTIONS(2952), + [anon_sym___vectorcall] = ACTIONS(2952), + [anon_sym_LBRACE] = ACTIONS(2954), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [anon_sym_if] = ACTIONS(2952), + [anon_sym_switch] = ACTIONS(2952), + [anon_sym_case] = ACTIONS(2952), + [anon_sym_default] = ACTIONS(2952), + [anon_sym_while] = ACTIONS(2952), + [anon_sym_do] = ACTIONS(2952), + [anon_sym_for] = ACTIONS(2952), + [anon_sym_return] = ACTIONS(2952), + [anon_sym_break] = ACTIONS(2952), + [anon_sym_continue] = ACTIONS(2952), + [anon_sym_goto] = ACTIONS(2952), + [anon_sym___try] = ACTIONS(2952), + [anon_sym___leave] = ACTIONS(2952), + [anon_sym_not] = ACTIONS(2952), + [anon_sym_compl] = ACTIONS(2952), + [anon_sym_DASH_DASH] = ACTIONS(2954), + [anon_sym_PLUS_PLUS] = ACTIONS(2954), + [anon_sym_sizeof] = ACTIONS(2952), + [anon_sym___alignof__] = ACTIONS(2952), + [anon_sym___alignof] = ACTIONS(2952), + [anon_sym__alignof] = ACTIONS(2952), + [anon_sym_alignof] = ACTIONS(2952), + [anon_sym__Alignof] = ACTIONS(2952), + [anon_sym_offsetof] = ACTIONS(2952), + [anon_sym__Generic] = ACTIONS(2952), + [anon_sym_asm] = ACTIONS(2952), + [anon_sym___asm__] = ACTIONS(2952), + [sym__number_literal] = ACTIONS(2954), + [anon_sym_L_SQUOTE] = ACTIONS(2954), + [anon_sym_u_SQUOTE] = ACTIONS(2954), + [anon_sym_U_SQUOTE] = ACTIONS(2954), + [anon_sym_u8_SQUOTE] = ACTIONS(2954), + [anon_sym_SQUOTE] = ACTIONS(2954), + [anon_sym_L_DQUOTE] = ACTIONS(2954), + [anon_sym_u_DQUOTE] = ACTIONS(2954), + [anon_sym_U_DQUOTE] = ACTIONS(2954), + [anon_sym_u8_DQUOTE] = ACTIONS(2954), + [anon_sym_DQUOTE] = ACTIONS(2954), + [sym_true] = ACTIONS(2952), + [sym_false] = ACTIONS(2952), + [anon_sym_NULL] = ACTIONS(2952), + [anon_sym_nullptr] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_try] = ACTIONS(2952), + [anon_sym_delete] = ACTIONS(2952), + [anon_sym_throw] = ACTIONS(2952), + [anon_sym_namespace] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + [anon_sym_concept] = ACTIONS(2952), + [anon_sym_co_return] = ACTIONS(2952), + [anon_sym_co_yield] = ACTIONS(2952), + [anon_sym_R_DQUOTE] = ACTIONS(2954), + [anon_sym_LR_DQUOTE] = ACTIONS(2954), + [anon_sym_uR_DQUOTE] = ACTIONS(2954), + [anon_sym_UR_DQUOTE] = ACTIONS(2954), + [anon_sym_u8R_DQUOTE] = ACTIONS(2954), + [anon_sym_co_await] = ACTIONS(2952), + [anon_sym_new] = ACTIONS(2952), + [anon_sym_requires] = ACTIONS(2952), + [sym_this] = ACTIONS(2952), + }, + [324] = { + [sym__identifier] = ACTIONS(2956), + [aux_sym_preproc_include_token1] = ACTIONS(2956), + [aux_sym_preproc_def_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token2] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2956), + [aux_sym_preproc_else_token1] = ACTIONS(2956), + [aux_sym_preproc_elif_token1] = ACTIONS(2956), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2956), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2956), + [sym_preproc_directive] = ACTIONS(2956), + [anon_sym_LPAREN2] = ACTIONS(2958), + [anon_sym_BANG] = ACTIONS(2958), + [anon_sym_TILDE] = ACTIONS(2958), + [anon_sym_DASH] = ACTIONS(2956), + [anon_sym_PLUS] = ACTIONS(2956), + [anon_sym_STAR] = ACTIONS(2958), + [anon_sym_AMP_AMP] = ACTIONS(2958), + [anon_sym_AMP] = ACTIONS(2956), + [anon_sym_SEMI] = ACTIONS(2958), + [anon_sym___extension__] = ACTIONS(2956), + [anon_sym_typedef] = ACTIONS(2956), + [anon_sym_extern] = ACTIONS(2956), + [anon_sym___attribute__] = ACTIONS(2956), + [anon_sym_COLON_COLON] = ACTIONS(2958), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2958), + [anon_sym___declspec] = ACTIONS(2956), + [anon_sym___based] = ACTIONS(2956), + [anon_sym___cdecl] = ACTIONS(2956), + [anon_sym___clrcall] = ACTIONS(2956), + [anon_sym___stdcall] = ACTIONS(2956), + [anon_sym___fastcall] = ACTIONS(2956), + [anon_sym___thiscall] = ACTIONS(2956), + [anon_sym___vectorcall] = ACTIONS(2956), + [anon_sym_LBRACE] = ACTIONS(2958), + [anon_sym_signed] = ACTIONS(2956), + [anon_sym_unsigned] = ACTIONS(2956), + [anon_sym_long] = ACTIONS(2956), + [anon_sym_short] = ACTIONS(2956), + [anon_sym_LBRACK] = ACTIONS(2956), + [anon_sym_static] = ACTIONS(2956), + [anon_sym_register] = ACTIONS(2956), + [anon_sym_inline] = ACTIONS(2956), + [anon_sym___inline] = ACTIONS(2956), + [anon_sym___inline__] = ACTIONS(2956), + [anon_sym___forceinline] = ACTIONS(2956), + [anon_sym_thread_local] = ACTIONS(2956), + [anon_sym___thread] = ACTIONS(2956), + [anon_sym_const] = ACTIONS(2956), + [anon_sym_constexpr] = ACTIONS(2956), + [anon_sym_volatile] = ACTIONS(2956), + [anon_sym_restrict] = ACTIONS(2956), + [anon_sym___restrict__] = ACTIONS(2956), + [anon_sym__Atomic] = ACTIONS(2956), + [anon_sym__Noreturn] = ACTIONS(2956), + [anon_sym_noreturn] = ACTIONS(2956), + [anon_sym_mutable] = ACTIONS(2956), + [anon_sym_constinit] = ACTIONS(2956), + [anon_sym_consteval] = ACTIONS(2956), + [anon_sym_alignas] = ACTIONS(2956), + [anon_sym__Alignas] = ACTIONS(2956), + [sym_primitive_type] = ACTIONS(2956), + [anon_sym_enum] = ACTIONS(2956), + [anon_sym_class] = ACTIONS(2956), + [anon_sym_struct] = ACTIONS(2956), + [anon_sym_union] = ACTIONS(2956), + [anon_sym_if] = ACTIONS(2956), + [anon_sym_switch] = ACTIONS(2956), + [anon_sym_case] = ACTIONS(2956), + [anon_sym_default] = ACTIONS(2956), + [anon_sym_while] = ACTIONS(2956), + [anon_sym_do] = ACTIONS(2956), + [anon_sym_for] = ACTIONS(2956), + [anon_sym_return] = ACTIONS(2956), + [anon_sym_break] = ACTIONS(2956), + [anon_sym_continue] = ACTIONS(2956), + [anon_sym_goto] = ACTIONS(2956), + [anon_sym___try] = ACTIONS(2956), + [anon_sym___leave] = ACTIONS(2956), + [anon_sym_not] = ACTIONS(2956), + [anon_sym_compl] = ACTIONS(2956), + [anon_sym_DASH_DASH] = ACTIONS(2958), + [anon_sym_PLUS_PLUS] = ACTIONS(2958), + [anon_sym_sizeof] = ACTIONS(2956), + [anon_sym___alignof__] = ACTIONS(2956), + [anon_sym___alignof] = ACTIONS(2956), + [anon_sym__alignof] = ACTIONS(2956), + [anon_sym_alignof] = ACTIONS(2956), + [anon_sym__Alignof] = ACTIONS(2956), + [anon_sym_offsetof] = ACTIONS(2956), + [anon_sym__Generic] = ACTIONS(2956), + [anon_sym_asm] = ACTIONS(2956), + [anon_sym___asm__] = ACTIONS(2956), + [sym__number_literal] = ACTIONS(2958), + [anon_sym_L_SQUOTE] = ACTIONS(2958), + [anon_sym_u_SQUOTE] = ACTIONS(2958), + [anon_sym_U_SQUOTE] = ACTIONS(2958), + [anon_sym_u8_SQUOTE] = ACTIONS(2958), + [anon_sym_SQUOTE] = ACTIONS(2958), + [anon_sym_L_DQUOTE] = ACTIONS(2958), + [anon_sym_u_DQUOTE] = ACTIONS(2958), + [anon_sym_U_DQUOTE] = ACTIONS(2958), + [anon_sym_u8_DQUOTE] = ACTIONS(2958), + [anon_sym_DQUOTE] = ACTIONS(2958), + [sym_true] = ACTIONS(2956), + [sym_false] = ACTIONS(2956), + [anon_sym_NULL] = ACTIONS(2956), + [anon_sym_nullptr] = ACTIONS(2956), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2958), + [sym_auto] = ACTIONS(2956), + [anon_sym_decltype] = ACTIONS(2956), + [sym_virtual] = ACTIONS(2956), + [anon_sym_explicit] = ACTIONS(2956), + [anon_sym_typename] = ACTIONS(2956), + [anon_sym_template] = ACTIONS(2956), + [anon_sym_operator] = ACTIONS(2956), + [anon_sym_try] = ACTIONS(2956), + [anon_sym_delete] = ACTIONS(2956), + [anon_sym_throw] = ACTIONS(2956), + [anon_sym_namespace] = ACTIONS(2956), + [anon_sym_using] = ACTIONS(2956), + [anon_sym_static_assert] = ACTIONS(2956), + [anon_sym_concept] = ACTIONS(2956), + [anon_sym_co_return] = ACTIONS(2956), + [anon_sym_co_yield] = ACTIONS(2956), + [anon_sym_R_DQUOTE] = ACTIONS(2958), + [anon_sym_LR_DQUOTE] = ACTIONS(2958), + [anon_sym_uR_DQUOTE] = ACTIONS(2958), + [anon_sym_UR_DQUOTE] = ACTIONS(2958), + [anon_sym_u8R_DQUOTE] = ACTIONS(2958), + [anon_sym_co_await] = ACTIONS(2956), + [anon_sym_new] = ACTIONS(2956), + [anon_sym_requires] = ACTIONS(2956), + [sym_this] = ACTIONS(2956), + }, + [325] = { + [sym_catch_clause] = STATE(325), + [aux_sym_constructor_try_statement_repeat1] = STATE(325), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_include_token1] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_BANG] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_DASH] = ACTIONS(2572), + [anon_sym_PLUS] = ACTIONS(2572), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym_SEMI] = ACTIONS(2574), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym___cdecl] = ACTIONS(2572), + [anon_sym___clrcall] = ACTIONS(2572), + [anon_sym___stdcall] = ACTIONS(2572), + [anon_sym___fastcall] = ACTIONS(2572), + [anon_sym___thiscall] = ACTIONS(2572), + [anon_sym___vectorcall] = ACTIONS(2572), + [anon_sym_LBRACE] = ACTIONS(2574), + [anon_sym_RBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [anon_sym_if] = ACTIONS(2572), + [anon_sym_else] = ACTIONS(2572), + [anon_sym_switch] = ACTIONS(2572), + [anon_sym_case] = ACTIONS(2572), + [anon_sym_default] = ACTIONS(2572), + [anon_sym_while] = ACTIONS(2572), + [anon_sym_do] = ACTIONS(2572), + [anon_sym_for] = ACTIONS(2572), + [anon_sym_return] = ACTIONS(2572), + [anon_sym_break] = ACTIONS(2572), + [anon_sym_continue] = ACTIONS(2572), + [anon_sym_goto] = ACTIONS(2572), + [anon_sym___try] = ACTIONS(2572), + [anon_sym___leave] = ACTIONS(2572), + [anon_sym_not] = ACTIONS(2572), + [anon_sym_compl] = ACTIONS(2572), + [anon_sym_DASH_DASH] = ACTIONS(2574), + [anon_sym_PLUS_PLUS] = ACTIONS(2574), + [anon_sym_sizeof] = ACTIONS(2572), + [anon_sym___alignof__] = ACTIONS(2572), + [anon_sym___alignof] = ACTIONS(2572), + [anon_sym__alignof] = ACTIONS(2572), + [anon_sym_alignof] = ACTIONS(2572), + [anon_sym__Alignof] = ACTIONS(2572), + [anon_sym_offsetof] = ACTIONS(2572), + [anon_sym__Generic] = ACTIONS(2572), + [anon_sym_asm] = ACTIONS(2572), + [anon_sym___asm__] = ACTIONS(2572), + [sym__number_literal] = ACTIONS(2574), + [anon_sym_L_SQUOTE] = ACTIONS(2574), + [anon_sym_u_SQUOTE] = ACTIONS(2574), + [anon_sym_U_SQUOTE] = ACTIONS(2574), + [anon_sym_u8_SQUOTE] = ACTIONS(2574), + [anon_sym_SQUOTE] = ACTIONS(2574), + [anon_sym_L_DQUOTE] = ACTIONS(2574), + [anon_sym_u_DQUOTE] = ACTIONS(2574), + [anon_sym_U_DQUOTE] = ACTIONS(2574), + [anon_sym_u8_DQUOTE] = ACTIONS(2574), + [anon_sym_DQUOTE] = ACTIONS(2574), + [sym_true] = ACTIONS(2572), + [sym_false] = ACTIONS(2572), + [anon_sym_NULL] = ACTIONS(2572), + [anon_sym_nullptr] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_try] = ACTIONS(2572), + [anon_sym_delete] = ACTIONS(2572), + [anon_sym_throw] = ACTIONS(2572), + [anon_sym_namespace] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_concept] = ACTIONS(2572), + [anon_sym_co_return] = ACTIONS(2572), + [anon_sym_co_yield] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(2960), + [anon_sym_R_DQUOTE] = ACTIONS(2574), + [anon_sym_LR_DQUOTE] = ACTIONS(2574), + [anon_sym_uR_DQUOTE] = ACTIONS(2574), + [anon_sym_UR_DQUOTE] = ACTIONS(2574), + [anon_sym_u8R_DQUOTE] = ACTIONS(2574), + [anon_sym_co_await] = ACTIONS(2572), + [anon_sym_new] = ACTIONS(2572), + [anon_sym_requires] = ACTIONS(2572), + [sym_this] = ACTIONS(2572), + }, + [326] = { + [sym__identifier] = ACTIONS(2963), + [aux_sym_preproc_include_token1] = ACTIONS(2963), + [aux_sym_preproc_def_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token2] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2963), + [aux_sym_preproc_else_token1] = ACTIONS(2963), + [aux_sym_preproc_elif_token1] = ACTIONS(2963), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2963), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2963), + [sym_preproc_directive] = ACTIONS(2963), + [anon_sym_LPAREN2] = ACTIONS(2965), + [anon_sym_BANG] = ACTIONS(2965), + [anon_sym_TILDE] = ACTIONS(2965), + [anon_sym_DASH] = ACTIONS(2963), + [anon_sym_PLUS] = ACTIONS(2963), + [anon_sym_STAR] = ACTIONS(2965), + [anon_sym_AMP_AMP] = ACTIONS(2965), + [anon_sym_AMP] = ACTIONS(2963), + [anon_sym_SEMI] = ACTIONS(2965), + [anon_sym___extension__] = ACTIONS(2963), + [anon_sym_typedef] = ACTIONS(2963), + [anon_sym_extern] = ACTIONS(2963), + [anon_sym___attribute__] = ACTIONS(2963), + [anon_sym_COLON_COLON] = ACTIONS(2965), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2965), + [anon_sym___declspec] = ACTIONS(2963), + [anon_sym___based] = ACTIONS(2963), + [anon_sym___cdecl] = ACTIONS(2963), + [anon_sym___clrcall] = ACTIONS(2963), + [anon_sym___stdcall] = ACTIONS(2963), + [anon_sym___fastcall] = ACTIONS(2963), + [anon_sym___thiscall] = ACTIONS(2963), + [anon_sym___vectorcall] = ACTIONS(2963), + [anon_sym_LBRACE] = ACTIONS(2965), + [anon_sym_signed] = ACTIONS(2963), + [anon_sym_unsigned] = ACTIONS(2963), + [anon_sym_long] = ACTIONS(2963), + [anon_sym_short] = ACTIONS(2963), + [anon_sym_LBRACK] = ACTIONS(2963), + [anon_sym_static] = ACTIONS(2963), + [anon_sym_register] = ACTIONS(2963), + [anon_sym_inline] = ACTIONS(2963), + [anon_sym___inline] = ACTIONS(2963), + [anon_sym___inline__] = ACTIONS(2963), + [anon_sym___forceinline] = ACTIONS(2963), + [anon_sym_thread_local] = ACTIONS(2963), + [anon_sym___thread] = ACTIONS(2963), + [anon_sym_const] = ACTIONS(2963), + [anon_sym_constexpr] = ACTIONS(2963), + [anon_sym_volatile] = ACTIONS(2963), + [anon_sym_restrict] = ACTIONS(2963), + [anon_sym___restrict__] = ACTIONS(2963), + [anon_sym__Atomic] = ACTIONS(2963), + [anon_sym__Noreturn] = ACTIONS(2963), + [anon_sym_noreturn] = ACTIONS(2963), + [anon_sym_mutable] = ACTIONS(2963), + [anon_sym_constinit] = ACTIONS(2963), + [anon_sym_consteval] = ACTIONS(2963), + [anon_sym_alignas] = ACTIONS(2963), + [anon_sym__Alignas] = ACTIONS(2963), + [sym_primitive_type] = ACTIONS(2963), + [anon_sym_enum] = ACTIONS(2963), + [anon_sym_class] = ACTIONS(2963), + [anon_sym_struct] = ACTIONS(2963), + [anon_sym_union] = ACTIONS(2963), + [anon_sym_if] = ACTIONS(2963), + [anon_sym_switch] = ACTIONS(2963), + [anon_sym_case] = ACTIONS(2963), + [anon_sym_default] = ACTIONS(2963), + [anon_sym_while] = ACTIONS(2963), + [anon_sym_do] = ACTIONS(2963), + [anon_sym_for] = ACTIONS(2963), + [anon_sym_return] = ACTIONS(2963), + [anon_sym_break] = ACTIONS(2963), + [anon_sym_continue] = ACTIONS(2963), + [anon_sym_goto] = ACTIONS(2963), + [anon_sym___try] = ACTIONS(2963), + [anon_sym___leave] = ACTIONS(2963), + [anon_sym_not] = ACTIONS(2963), + [anon_sym_compl] = ACTIONS(2963), + [anon_sym_DASH_DASH] = ACTIONS(2965), + [anon_sym_PLUS_PLUS] = ACTIONS(2965), + [anon_sym_sizeof] = ACTIONS(2963), + [anon_sym___alignof__] = ACTIONS(2963), + [anon_sym___alignof] = ACTIONS(2963), + [anon_sym__alignof] = ACTIONS(2963), + [anon_sym_alignof] = ACTIONS(2963), + [anon_sym__Alignof] = ACTIONS(2963), + [anon_sym_offsetof] = ACTIONS(2963), + [anon_sym__Generic] = ACTIONS(2963), + [anon_sym_asm] = ACTIONS(2963), + [anon_sym___asm__] = ACTIONS(2963), + [sym__number_literal] = ACTIONS(2965), + [anon_sym_L_SQUOTE] = ACTIONS(2965), + [anon_sym_u_SQUOTE] = ACTIONS(2965), + [anon_sym_U_SQUOTE] = ACTIONS(2965), + [anon_sym_u8_SQUOTE] = ACTIONS(2965), + [anon_sym_SQUOTE] = ACTIONS(2965), + [anon_sym_L_DQUOTE] = ACTIONS(2965), + [anon_sym_u_DQUOTE] = ACTIONS(2965), + [anon_sym_U_DQUOTE] = ACTIONS(2965), + [anon_sym_u8_DQUOTE] = ACTIONS(2965), + [anon_sym_DQUOTE] = ACTIONS(2965), + [sym_true] = ACTIONS(2963), + [sym_false] = ACTIONS(2963), + [anon_sym_NULL] = ACTIONS(2963), + [anon_sym_nullptr] = ACTIONS(2963), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2965), + [sym_auto] = ACTIONS(2963), + [anon_sym_decltype] = ACTIONS(2963), + [sym_virtual] = ACTIONS(2963), + [anon_sym_explicit] = ACTIONS(2963), + [anon_sym_typename] = ACTIONS(2963), + [anon_sym_template] = ACTIONS(2963), + [anon_sym_operator] = ACTIONS(2963), + [anon_sym_try] = ACTIONS(2963), + [anon_sym_delete] = ACTIONS(2963), + [anon_sym_throw] = ACTIONS(2963), + [anon_sym_namespace] = ACTIONS(2963), + [anon_sym_using] = ACTIONS(2963), + [anon_sym_static_assert] = ACTIONS(2963), + [anon_sym_concept] = ACTIONS(2963), + [anon_sym_co_return] = ACTIONS(2963), + [anon_sym_co_yield] = ACTIONS(2963), + [anon_sym_R_DQUOTE] = ACTIONS(2965), + [anon_sym_LR_DQUOTE] = ACTIONS(2965), + [anon_sym_uR_DQUOTE] = ACTIONS(2965), + [anon_sym_UR_DQUOTE] = ACTIONS(2965), + [anon_sym_u8R_DQUOTE] = ACTIONS(2965), + [anon_sym_co_await] = ACTIONS(2963), + [anon_sym_new] = ACTIONS(2963), + [anon_sym_requires] = ACTIONS(2963), + [sym_this] = ACTIONS(2963), + }, + [327] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_include_token1] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token2] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [aux_sym_preproc_else_token1] = ACTIONS(2967), + [aux_sym_preproc_elif_token1] = ACTIONS(2967), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_BANG] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_DASH] = ACTIONS(2967), + [anon_sym_PLUS] = ACTIONS(2967), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym_SEMI] = ACTIONS(2969), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym___cdecl] = ACTIONS(2967), + [anon_sym___clrcall] = ACTIONS(2967), + [anon_sym___stdcall] = ACTIONS(2967), + [anon_sym___fastcall] = ACTIONS(2967), + [anon_sym___thiscall] = ACTIONS(2967), + [anon_sym___vectorcall] = ACTIONS(2967), + [anon_sym_LBRACE] = ACTIONS(2969), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [anon_sym_if] = ACTIONS(2967), + [anon_sym_switch] = ACTIONS(2967), + [anon_sym_case] = ACTIONS(2967), + [anon_sym_default] = ACTIONS(2967), + [anon_sym_while] = ACTIONS(2967), + [anon_sym_do] = ACTIONS(2967), + [anon_sym_for] = ACTIONS(2967), + [anon_sym_return] = ACTIONS(2967), + [anon_sym_break] = ACTIONS(2967), + [anon_sym_continue] = ACTIONS(2967), + [anon_sym_goto] = ACTIONS(2967), + [anon_sym___try] = ACTIONS(2967), + [anon_sym___leave] = ACTIONS(2967), + [anon_sym_not] = ACTIONS(2967), + [anon_sym_compl] = ACTIONS(2967), + [anon_sym_DASH_DASH] = ACTIONS(2969), + [anon_sym_PLUS_PLUS] = ACTIONS(2969), + [anon_sym_sizeof] = ACTIONS(2967), + [anon_sym___alignof__] = ACTIONS(2967), + [anon_sym___alignof] = ACTIONS(2967), + [anon_sym__alignof] = ACTIONS(2967), + [anon_sym_alignof] = ACTIONS(2967), + [anon_sym__Alignof] = ACTIONS(2967), + [anon_sym_offsetof] = ACTIONS(2967), + [anon_sym__Generic] = ACTIONS(2967), + [anon_sym_asm] = ACTIONS(2967), + [anon_sym___asm__] = ACTIONS(2967), + [sym__number_literal] = ACTIONS(2969), + [anon_sym_L_SQUOTE] = ACTIONS(2969), + [anon_sym_u_SQUOTE] = ACTIONS(2969), + [anon_sym_U_SQUOTE] = ACTIONS(2969), + [anon_sym_u8_SQUOTE] = ACTIONS(2969), + [anon_sym_SQUOTE] = ACTIONS(2969), + [anon_sym_L_DQUOTE] = ACTIONS(2969), + [anon_sym_u_DQUOTE] = ACTIONS(2969), + [anon_sym_U_DQUOTE] = ACTIONS(2969), + [anon_sym_u8_DQUOTE] = ACTIONS(2969), + [anon_sym_DQUOTE] = ACTIONS(2969), + [sym_true] = ACTIONS(2967), + [sym_false] = ACTIONS(2967), + [anon_sym_NULL] = ACTIONS(2967), + [anon_sym_nullptr] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_try] = ACTIONS(2967), + [anon_sym_delete] = ACTIONS(2967), + [anon_sym_throw] = ACTIONS(2967), + [anon_sym_namespace] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + [anon_sym_concept] = ACTIONS(2967), + [anon_sym_co_return] = ACTIONS(2967), + [anon_sym_co_yield] = ACTIONS(2967), + [anon_sym_R_DQUOTE] = ACTIONS(2969), + [anon_sym_LR_DQUOTE] = ACTIONS(2969), + [anon_sym_uR_DQUOTE] = ACTIONS(2969), + [anon_sym_UR_DQUOTE] = ACTIONS(2969), + [anon_sym_u8R_DQUOTE] = ACTIONS(2969), + [anon_sym_co_await] = ACTIONS(2967), + [anon_sym_new] = ACTIONS(2967), + [anon_sym_requires] = ACTIONS(2967), + [sym_this] = ACTIONS(2967), + }, + [328] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [aux_sym_preproc_else_token1] = ACTIONS(2971), + [aux_sym_preproc_elif_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [329] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_include_token1] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token2] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [aux_sym_preproc_else_token1] = ACTIONS(2975), + [aux_sym_preproc_elif_token1] = ACTIONS(2975), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_BANG] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_DASH] = ACTIONS(2975), + [anon_sym_PLUS] = ACTIONS(2975), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym_SEMI] = ACTIONS(2977), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym___cdecl] = ACTIONS(2975), + [anon_sym___clrcall] = ACTIONS(2975), + [anon_sym___stdcall] = ACTIONS(2975), + [anon_sym___fastcall] = ACTIONS(2975), + [anon_sym___thiscall] = ACTIONS(2975), + [anon_sym___vectorcall] = ACTIONS(2975), + [anon_sym_LBRACE] = ACTIONS(2977), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [anon_sym_if] = ACTIONS(2975), + [anon_sym_switch] = ACTIONS(2975), + [anon_sym_case] = ACTIONS(2975), + [anon_sym_default] = ACTIONS(2975), + [anon_sym_while] = ACTIONS(2975), + [anon_sym_do] = ACTIONS(2975), + [anon_sym_for] = ACTIONS(2975), + [anon_sym_return] = ACTIONS(2975), + [anon_sym_break] = ACTIONS(2975), + [anon_sym_continue] = ACTIONS(2975), + [anon_sym_goto] = ACTIONS(2975), + [anon_sym___try] = ACTIONS(2975), + [anon_sym___leave] = ACTIONS(2975), + [anon_sym_not] = ACTIONS(2975), + [anon_sym_compl] = ACTIONS(2975), + [anon_sym_DASH_DASH] = ACTIONS(2977), + [anon_sym_PLUS_PLUS] = ACTIONS(2977), + [anon_sym_sizeof] = ACTIONS(2975), + [anon_sym___alignof__] = ACTIONS(2975), + [anon_sym___alignof] = ACTIONS(2975), + [anon_sym__alignof] = ACTIONS(2975), + [anon_sym_alignof] = ACTIONS(2975), + [anon_sym__Alignof] = ACTIONS(2975), + [anon_sym_offsetof] = ACTIONS(2975), + [anon_sym__Generic] = ACTIONS(2975), + [anon_sym_asm] = ACTIONS(2975), + [anon_sym___asm__] = ACTIONS(2975), + [sym__number_literal] = ACTIONS(2977), + [anon_sym_L_SQUOTE] = ACTIONS(2977), + [anon_sym_u_SQUOTE] = ACTIONS(2977), + [anon_sym_U_SQUOTE] = ACTIONS(2977), + [anon_sym_u8_SQUOTE] = ACTIONS(2977), + [anon_sym_SQUOTE] = ACTIONS(2977), + [anon_sym_L_DQUOTE] = ACTIONS(2977), + [anon_sym_u_DQUOTE] = ACTIONS(2977), + [anon_sym_U_DQUOTE] = ACTIONS(2977), + [anon_sym_u8_DQUOTE] = ACTIONS(2977), + [anon_sym_DQUOTE] = ACTIONS(2977), + [sym_true] = ACTIONS(2975), + [sym_false] = ACTIONS(2975), + [anon_sym_NULL] = ACTIONS(2975), + [anon_sym_nullptr] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_try] = ACTIONS(2975), + [anon_sym_delete] = ACTIONS(2975), + [anon_sym_throw] = ACTIONS(2975), + [anon_sym_namespace] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + [anon_sym_concept] = ACTIONS(2975), + [anon_sym_co_return] = ACTIONS(2975), + [anon_sym_co_yield] = ACTIONS(2975), + [anon_sym_R_DQUOTE] = ACTIONS(2977), + [anon_sym_LR_DQUOTE] = ACTIONS(2977), + [anon_sym_uR_DQUOTE] = ACTIONS(2977), + [anon_sym_UR_DQUOTE] = ACTIONS(2977), + [anon_sym_u8R_DQUOTE] = ACTIONS(2977), + [anon_sym_co_await] = ACTIONS(2975), + [anon_sym_new] = ACTIONS(2975), + [anon_sym_requires] = ACTIONS(2975), + [sym_this] = ACTIONS(2975), + }, + [330] = { + [sym_preproc_def] = STATE(372), + [sym_preproc_function_def] = STATE(372), + [sym_preproc_call] = STATE(372), + [sym_preproc_if_in_field_declaration_list] = STATE(372), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(372), + [sym_preproc_else_in_field_declaration_list] = STATE(7919), + [sym_preproc_elif_in_field_declaration_list] = STATE(7919), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(7919), + [sym_type_definition] = STATE(372), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(372), + [sym_field_declaration] = STATE(372), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(372), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(372), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(372), + [sym_operator_cast_declaration] = STATE(372), + [sym_constructor_or_destructor_definition] = STATE(372), + [sym_constructor_or_destructor_declaration] = STATE(372), + [sym_friend_declaration] = STATE(372), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(372), + [sym_alias_declaration] = STATE(372), + [sym_static_assert_declaration] = STATE(372), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(372), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2979), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [331] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [aux_sym_preproc_else_token1] = ACTIONS(2971), + [aux_sym_preproc_elif_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [332] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8104), + [sym_preproc_elif_in_field_declaration_list] = STATE(8104), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8104), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2981), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [333] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(7918), + [sym_preproc_elif_in_field_declaration_list] = STATE(7918), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(7918), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(2983), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [334] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_include_token1] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token2] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [aux_sym_preproc_else_token1] = ACTIONS(2985), + [aux_sym_preproc_elif_token1] = ACTIONS(2985), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_BANG] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_DASH] = ACTIONS(2985), + [anon_sym_PLUS] = ACTIONS(2985), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym_SEMI] = ACTIONS(2987), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym___cdecl] = ACTIONS(2985), + [anon_sym___clrcall] = ACTIONS(2985), + [anon_sym___stdcall] = ACTIONS(2985), + [anon_sym___fastcall] = ACTIONS(2985), + [anon_sym___thiscall] = ACTIONS(2985), + [anon_sym___vectorcall] = ACTIONS(2985), + [anon_sym_LBRACE] = ACTIONS(2987), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [anon_sym_if] = ACTIONS(2985), + [anon_sym_switch] = ACTIONS(2985), + [anon_sym_case] = ACTIONS(2985), + [anon_sym_default] = ACTIONS(2985), + [anon_sym_while] = ACTIONS(2985), + [anon_sym_do] = ACTIONS(2985), + [anon_sym_for] = ACTIONS(2985), + [anon_sym_return] = ACTIONS(2985), + [anon_sym_break] = ACTIONS(2985), + [anon_sym_continue] = ACTIONS(2985), + [anon_sym_goto] = ACTIONS(2985), + [anon_sym___try] = ACTIONS(2985), + [anon_sym___leave] = ACTIONS(2985), + [anon_sym_not] = ACTIONS(2985), + [anon_sym_compl] = ACTIONS(2985), + [anon_sym_DASH_DASH] = ACTIONS(2987), + [anon_sym_PLUS_PLUS] = ACTIONS(2987), + [anon_sym_sizeof] = ACTIONS(2985), + [anon_sym___alignof__] = ACTIONS(2985), + [anon_sym___alignof] = ACTIONS(2985), + [anon_sym__alignof] = ACTIONS(2985), + [anon_sym_alignof] = ACTIONS(2985), + [anon_sym__Alignof] = ACTIONS(2985), + [anon_sym_offsetof] = ACTIONS(2985), + [anon_sym__Generic] = ACTIONS(2985), + [anon_sym_asm] = ACTIONS(2985), + [anon_sym___asm__] = ACTIONS(2985), + [sym__number_literal] = ACTIONS(2987), + [anon_sym_L_SQUOTE] = ACTIONS(2987), + [anon_sym_u_SQUOTE] = ACTIONS(2987), + [anon_sym_U_SQUOTE] = ACTIONS(2987), + [anon_sym_u8_SQUOTE] = ACTIONS(2987), + [anon_sym_SQUOTE] = ACTIONS(2987), + [anon_sym_L_DQUOTE] = ACTIONS(2987), + [anon_sym_u_DQUOTE] = ACTIONS(2987), + [anon_sym_U_DQUOTE] = ACTIONS(2987), + [anon_sym_u8_DQUOTE] = ACTIONS(2987), + [anon_sym_DQUOTE] = ACTIONS(2987), + [sym_true] = ACTIONS(2985), + [sym_false] = ACTIONS(2985), + [anon_sym_NULL] = ACTIONS(2985), + [anon_sym_nullptr] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_try] = ACTIONS(2985), + [anon_sym_delete] = ACTIONS(2985), + [anon_sym_throw] = ACTIONS(2985), + [anon_sym_namespace] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + [anon_sym_concept] = ACTIONS(2985), + [anon_sym_co_return] = ACTIONS(2985), + [anon_sym_co_yield] = ACTIONS(2985), + [anon_sym_R_DQUOTE] = ACTIONS(2987), + [anon_sym_LR_DQUOTE] = ACTIONS(2987), + [anon_sym_uR_DQUOTE] = ACTIONS(2987), + [anon_sym_UR_DQUOTE] = ACTIONS(2987), + [anon_sym_u8R_DQUOTE] = ACTIONS(2987), + [anon_sym_co_await] = ACTIONS(2985), + [anon_sym_new] = ACTIONS(2985), + [anon_sym_requires] = ACTIONS(2985), + [sym_this] = ACTIONS(2985), + }, + [335] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_include_token1] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token2] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [aux_sym_preproc_else_token1] = ACTIONS(2989), + [aux_sym_preproc_elif_token1] = ACTIONS(2989), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_BANG] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_DASH] = ACTIONS(2989), + [anon_sym_PLUS] = ACTIONS(2989), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym_SEMI] = ACTIONS(2991), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym___cdecl] = ACTIONS(2989), + [anon_sym___clrcall] = ACTIONS(2989), + [anon_sym___stdcall] = ACTIONS(2989), + [anon_sym___fastcall] = ACTIONS(2989), + [anon_sym___thiscall] = ACTIONS(2989), + [anon_sym___vectorcall] = ACTIONS(2989), + [anon_sym_LBRACE] = ACTIONS(2991), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [anon_sym_if] = ACTIONS(2989), + [anon_sym_switch] = ACTIONS(2989), + [anon_sym_case] = ACTIONS(2989), + [anon_sym_default] = ACTIONS(2989), + [anon_sym_while] = ACTIONS(2989), + [anon_sym_do] = ACTIONS(2989), + [anon_sym_for] = ACTIONS(2989), + [anon_sym_return] = ACTIONS(2989), + [anon_sym_break] = ACTIONS(2989), + [anon_sym_continue] = ACTIONS(2989), + [anon_sym_goto] = ACTIONS(2989), + [anon_sym___try] = ACTIONS(2989), + [anon_sym___leave] = ACTIONS(2989), + [anon_sym_not] = ACTIONS(2989), + [anon_sym_compl] = ACTIONS(2989), + [anon_sym_DASH_DASH] = ACTIONS(2991), + [anon_sym_PLUS_PLUS] = ACTIONS(2991), + [anon_sym_sizeof] = ACTIONS(2989), + [anon_sym___alignof__] = ACTIONS(2989), + [anon_sym___alignof] = ACTIONS(2989), + [anon_sym__alignof] = ACTIONS(2989), + [anon_sym_alignof] = ACTIONS(2989), + [anon_sym__Alignof] = ACTIONS(2989), + [anon_sym_offsetof] = ACTIONS(2989), + [anon_sym__Generic] = ACTIONS(2989), + [anon_sym_asm] = ACTIONS(2989), + [anon_sym___asm__] = ACTIONS(2989), + [sym__number_literal] = ACTIONS(2991), + [anon_sym_L_SQUOTE] = ACTIONS(2991), + [anon_sym_u_SQUOTE] = ACTIONS(2991), + [anon_sym_U_SQUOTE] = ACTIONS(2991), + [anon_sym_u8_SQUOTE] = ACTIONS(2991), + [anon_sym_SQUOTE] = ACTIONS(2991), + [anon_sym_L_DQUOTE] = ACTIONS(2991), + [anon_sym_u_DQUOTE] = ACTIONS(2991), + [anon_sym_U_DQUOTE] = ACTIONS(2991), + [anon_sym_u8_DQUOTE] = ACTIONS(2991), + [anon_sym_DQUOTE] = ACTIONS(2991), + [sym_true] = ACTIONS(2989), + [sym_false] = ACTIONS(2989), + [anon_sym_NULL] = ACTIONS(2989), + [anon_sym_nullptr] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_try] = ACTIONS(2989), + [anon_sym_delete] = ACTIONS(2989), + [anon_sym_throw] = ACTIONS(2989), + [anon_sym_namespace] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + [anon_sym_concept] = ACTIONS(2989), + [anon_sym_co_return] = ACTIONS(2989), + [anon_sym_co_yield] = ACTIONS(2989), + [anon_sym_R_DQUOTE] = ACTIONS(2991), + [anon_sym_LR_DQUOTE] = ACTIONS(2991), + [anon_sym_uR_DQUOTE] = ACTIONS(2991), + [anon_sym_UR_DQUOTE] = ACTIONS(2991), + [anon_sym_u8R_DQUOTE] = ACTIONS(2991), + [anon_sym_co_await] = ACTIONS(2989), + [anon_sym_new] = ACTIONS(2989), + [anon_sym_requires] = ACTIONS(2989), + [sym_this] = ACTIONS(2989), + }, + [336] = { + [sym__identifier] = ACTIONS(2993), + [aux_sym_preproc_include_token1] = ACTIONS(2993), + [aux_sym_preproc_def_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token2] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2993), + [aux_sym_preproc_else_token1] = ACTIONS(2993), + [aux_sym_preproc_elif_token1] = ACTIONS(2993), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2993), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2993), + [sym_preproc_directive] = ACTIONS(2993), + [anon_sym_LPAREN2] = ACTIONS(2995), + [anon_sym_BANG] = ACTIONS(2995), + [anon_sym_TILDE] = ACTIONS(2995), + [anon_sym_DASH] = ACTIONS(2993), + [anon_sym_PLUS] = ACTIONS(2993), + [anon_sym_STAR] = ACTIONS(2995), + [anon_sym_AMP_AMP] = ACTIONS(2995), + [anon_sym_AMP] = ACTIONS(2993), + [anon_sym_SEMI] = ACTIONS(2995), + [anon_sym___extension__] = ACTIONS(2993), + [anon_sym_typedef] = ACTIONS(2993), + [anon_sym_extern] = ACTIONS(2993), + [anon_sym___attribute__] = ACTIONS(2993), + [anon_sym_COLON_COLON] = ACTIONS(2995), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2995), + [anon_sym___declspec] = ACTIONS(2993), + [anon_sym___based] = ACTIONS(2993), + [anon_sym___cdecl] = ACTIONS(2993), + [anon_sym___clrcall] = ACTIONS(2993), + [anon_sym___stdcall] = ACTIONS(2993), + [anon_sym___fastcall] = ACTIONS(2993), + [anon_sym___thiscall] = ACTIONS(2993), + [anon_sym___vectorcall] = ACTIONS(2993), + [anon_sym_LBRACE] = ACTIONS(2995), + [anon_sym_signed] = ACTIONS(2993), + [anon_sym_unsigned] = ACTIONS(2993), + [anon_sym_long] = ACTIONS(2993), + [anon_sym_short] = ACTIONS(2993), + [anon_sym_LBRACK] = ACTIONS(2993), + [anon_sym_static] = ACTIONS(2993), + [anon_sym_register] = ACTIONS(2993), + [anon_sym_inline] = ACTIONS(2993), + [anon_sym___inline] = ACTIONS(2993), + [anon_sym___inline__] = ACTIONS(2993), + [anon_sym___forceinline] = ACTIONS(2993), + [anon_sym_thread_local] = ACTIONS(2993), + [anon_sym___thread] = ACTIONS(2993), + [anon_sym_const] = ACTIONS(2993), + [anon_sym_constexpr] = ACTIONS(2993), + [anon_sym_volatile] = ACTIONS(2993), + [anon_sym_restrict] = ACTIONS(2993), + [anon_sym___restrict__] = ACTIONS(2993), + [anon_sym__Atomic] = ACTIONS(2993), + [anon_sym__Noreturn] = ACTIONS(2993), + [anon_sym_noreturn] = ACTIONS(2993), + [anon_sym_mutable] = ACTIONS(2993), + [anon_sym_constinit] = ACTIONS(2993), + [anon_sym_consteval] = ACTIONS(2993), + [anon_sym_alignas] = ACTIONS(2993), + [anon_sym__Alignas] = ACTIONS(2993), + [sym_primitive_type] = ACTIONS(2993), + [anon_sym_enum] = ACTIONS(2993), + [anon_sym_class] = ACTIONS(2993), + [anon_sym_struct] = ACTIONS(2993), + [anon_sym_union] = ACTIONS(2993), + [anon_sym_if] = ACTIONS(2993), + [anon_sym_switch] = ACTIONS(2993), + [anon_sym_case] = ACTIONS(2993), + [anon_sym_default] = ACTIONS(2993), + [anon_sym_while] = ACTIONS(2993), + [anon_sym_do] = ACTIONS(2993), + [anon_sym_for] = ACTIONS(2993), + [anon_sym_return] = ACTIONS(2993), + [anon_sym_break] = ACTIONS(2993), + [anon_sym_continue] = ACTIONS(2993), + [anon_sym_goto] = ACTIONS(2993), + [anon_sym___try] = ACTIONS(2993), + [anon_sym___leave] = ACTIONS(2993), + [anon_sym_not] = ACTIONS(2993), + [anon_sym_compl] = ACTIONS(2993), + [anon_sym_DASH_DASH] = ACTIONS(2995), + [anon_sym_PLUS_PLUS] = ACTIONS(2995), + [anon_sym_sizeof] = ACTIONS(2993), + [anon_sym___alignof__] = ACTIONS(2993), + [anon_sym___alignof] = ACTIONS(2993), + [anon_sym__alignof] = ACTIONS(2993), + [anon_sym_alignof] = ACTIONS(2993), + [anon_sym__Alignof] = ACTIONS(2993), + [anon_sym_offsetof] = ACTIONS(2993), + [anon_sym__Generic] = ACTIONS(2993), + [anon_sym_asm] = ACTIONS(2993), + [anon_sym___asm__] = ACTIONS(2993), + [sym__number_literal] = ACTIONS(2995), + [anon_sym_L_SQUOTE] = ACTIONS(2995), + [anon_sym_u_SQUOTE] = ACTIONS(2995), + [anon_sym_U_SQUOTE] = ACTIONS(2995), + [anon_sym_u8_SQUOTE] = ACTIONS(2995), + [anon_sym_SQUOTE] = ACTIONS(2995), + [anon_sym_L_DQUOTE] = ACTIONS(2995), + [anon_sym_u_DQUOTE] = ACTIONS(2995), + [anon_sym_U_DQUOTE] = ACTIONS(2995), + [anon_sym_u8_DQUOTE] = ACTIONS(2995), + [anon_sym_DQUOTE] = ACTIONS(2995), + [sym_true] = ACTIONS(2993), + [sym_false] = ACTIONS(2993), + [anon_sym_NULL] = ACTIONS(2993), + [anon_sym_nullptr] = ACTIONS(2993), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2995), + [sym_auto] = ACTIONS(2993), + [anon_sym_decltype] = ACTIONS(2993), + [sym_virtual] = ACTIONS(2993), + [anon_sym_explicit] = ACTIONS(2993), + [anon_sym_typename] = ACTIONS(2993), + [anon_sym_template] = ACTIONS(2993), + [anon_sym_operator] = ACTIONS(2993), + [anon_sym_try] = ACTIONS(2993), + [anon_sym_delete] = ACTIONS(2993), + [anon_sym_throw] = ACTIONS(2993), + [anon_sym_namespace] = ACTIONS(2993), + [anon_sym_using] = ACTIONS(2993), + [anon_sym_static_assert] = ACTIONS(2993), + [anon_sym_concept] = ACTIONS(2993), + [anon_sym_co_return] = ACTIONS(2993), + [anon_sym_co_yield] = ACTIONS(2993), + [anon_sym_R_DQUOTE] = ACTIONS(2995), + [anon_sym_LR_DQUOTE] = ACTIONS(2995), + [anon_sym_uR_DQUOTE] = ACTIONS(2995), + [anon_sym_UR_DQUOTE] = ACTIONS(2995), + [anon_sym_u8R_DQUOTE] = ACTIONS(2995), + [anon_sym_co_await] = ACTIONS(2993), + [anon_sym_new] = ACTIONS(2993), + [anon_sym_requires] = ACTIONS(2993), + [sym_this] = ACTIONS(2993), + }, + [337] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_include_token1] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token2] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [aux_sym_preproc_else_token1] = ACTIONS(2997), + [aux_sym_preproc_elif_token1] = ACTIONS(2997), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_BANG] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_DASH] = ACTIONS(2997), + [anon_sym_PLUS] = ACTIONS(2997), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym_SEMI] = ACTIONS(2999), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym___cdecl] = ACTIONS(2997), + [anon_sym___clrcall] = ACTIONS(2997), + [anon_sym___stdcall] = ACTIONS(2997), + [anon_sym___fastcall] = ACTIONS(2997), + [anon_sym___thiscall] = ACTIONS(2997), + [anon_sym___vectorcall] = ACTIONS(2997), + [anon_sym_LBRACE] = ACTIONS(2999), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [anon_sym_if] = ACTIONS(2997), + [anon_sym_switch] = ACTIONS(2997), + [anon_sym_case] = ACTIONS(2997), + [anon_sym_default] = ACTIONS(2997), + [anon_sym_while] = ACTIONS(2997), + [anon_sym_do] = ACTIONS(2997), + [anon_sym_for] = ACTIONS(2997), + [anon_sym_return] = ACTIONS(2997), + [anon_sym_break] = ACTIONS(2997), + [anon_sym_continue] = ACTIONS(2997), + [anon_sym_goto] = ACTIONS(2997), + [anon_sym___try] = ACTIONS(2997), + [anon_sym___leave] = ACTIONS(2997), + [anon_sym_not] = ACTIONS(2997), + [anon_sym_compl] = ACTIONS(2997), + [anon_sym_DASH_DASH] = ACTIONS(2999), + [anon_sym_PLUS_PLUS] = ACTIONS(2999), + [anon_sym_sizeof] = ACTIONS(2997), + [anon_sym___alignof__] = ACTIONS(2997), + [anon_sym___alignof] = ACTIONS(2997), + [anon_sym__alignof] = ACTIONS(2997), + [anon_sym_alignof] = ACTIONS(2997), + [anon_sym__Alignof] = ACTIONS(2997), + [anon_sym_offsetof] = ACTIONS(2997), + [anon_sym__Generic] = ACTIONS(2997), + [anon_sym_asm] = ACTIONS(2997), + [anon_sym___asm__] = ACTIONS(2997), + [sym__number_literal] = ACTIONS(2999), + [anon_sym_L_SQUOTE] = ACTIONS(2999), + [anon_sym_u_SQUOTE] = ACTIONS(2999), + [anon_sym_U_SQUOTE] = ACTIONS(2999), + [anon_sym_u8_SQUOTE] = ACTIONS(2999), + [anon_sym_SQUOTE] = ACTIONS(2999), + [anon_sym_L_DQUOTE] = ACTIONS(2999), + [anon_sym_u_DQUOTE] = ACTIONS(2999), + [anon_sym_U_DQUOTE] = ACTIONS(2999), + [anon_sym_u8_DQUOTE] = ACTIONS(2999), + [anon_sym_DQUOTE] = ACTIONS(2999), + [sym_true] = ACTIONS(2997), + [sym_false] = ACTIONS(2997), + [anon_sym_NULL] = ACTIONS(2997), + [anon_sym_nullptr] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_try] = ACTIONS(2997), + [anon_sym_delete] = ACTIONS(2997), + [anon_sym_throw] = ACTIONS(2997), + [anon_sym_namespace] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + [anon_sym_concept] = ACTIONS(2997), + [anon_sym_co_return] = ACTIONS(2997), + [anon_sym_co_yield] = ACTIONS(2997), + [anon_sym_R_DQUOTE] = ACTIONS(2999), + [anon_sym_LR_DQUOTE] = ACTIONS(2999), + [anon_sym_uR_DQUOTE] = ACTIONS(2999), + [anon_sym_UR_DQUOTE] = ACTIONS(2999), + [anon_sym_u8R_DQUOTE] = ACTIONS(2999), + [anon_sym_co_await] = ACTIONS(2997), + [anon_sym_new] = ACTIONS(2997), + [anon_sym_requires] = ACTIONS(2997), + [sym_this] = ACTIONS(2997), + }, + [338] = { + [sym__identifier] = ACTIONS(3001), + [aux_sym_preproc_include_token1] = ACTIONS(3001), + [aux_sym_preproc_def_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token2] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3001), + [aux_sym_preproc_else_token1] = ACTIONS(3001), + [aux_sym_preproc_elif_token1] = ACTIONS(3001), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3001), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3001), + [sym_preproc_directive] = ACTIONS(3001), + [anon_sym_LPAREN2] = ACTIONS(3003), + [anon_sym_BANG] = ACTIONS(3003), + [anon_sym_TILDE] = ACTIONS(3003), + [anon_sym_DASH] = ACTIONS(3001), + [anon_sym_PLUS] = ACTIONS(3001), + [anon_sym_STAR] = ACTIONS(3003), + [anon_sym_AMP_AMP] = ACTIONS(3003), + [anon_sym_AMP] = ACTIONS(3001), + [anon_sym_SEMI] = ACTIONS(3003), + [anon_sym___extension__] = ACTIONS(3001), + [anon_sym_typedef] = ACTIONS(3001), + [anon_sym_extern] = ACTIONS(3001), + [anon_sym___attribute__] = ACTIONS(3001), + [anon_sym_COLON_COLON] = ACTIONS(3003), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3003), + [anon_sym___declspec] = ACTIONS(3001), + [anon_sym___based] = ACTIONS(3001), + [anon_sym___cdecl] = ACTIONS(3001), + [anon_sym___clrcall] = ACTIONS(3001), + [anon_sym___stdcall] = ACTIONS(3001), + [anon_sym___fastcall] = ACTIONS(3001), + [anon_sym___thiscall] = ACTIONS(3001), + [anon_sym___vectorcall] = ACTIONS(3001), + [anon_sym_LBRACE] = ACTIONS(3003), + [anon_sym_signed] = ACTIONS(3001), + [anon_sym_unsigned] = ACTIONS(3001), + [anon_sym_long] = ACTIONS(3001), + [anon_sym_short] = ACTIONS(3001), + [anon_sym_LBRACK] = ACTIONS(3001), + [anon_sym_static] = ACTIONS(3001), + [anon_sym_register] = ACTIONS(3001), + [anon_sym_inline] = ACTIONS(3001), + [anon_sym___inline] = ACTIONS(3001), + [anon_sym___inline__] = ACTIONS(3001), + [anon_sym___forceinline] = ACTIONS(3001), + [anon_sym_thread_local] = ACTIONS(3001), + [anon_sym___thread] = ACTIONS(3001), + [anon_sym_const] = ACTIONS(3001), + [anon_sym_constexpr] = ACTIONS(3001), + [anon_sym_volatile] = ACTIONS(3001), + [anon_sym_restrict] = ACTIONS(3001), + [anon_sym___restrict__] = ACTIONS(3001), + [anon_sym__Atomic] = ACTIONS(3001), + [anon_sym__Noreturn] = ACTIONS(3001), + [anon_sym_noreturn] = ACTIONS(3001), + [anon_sym_mutable] = ACTIONS(3001), + [anon_sym_constinit] = ACTIONS(3001), + [anon_sym_consteval] = ACTIONS(3001), + [anon_sym_alignas] = ACTIONS(3001), + [anon_sym__Alignas] = ACTIONS(3001), + [sym_primitive_type] = ACTIONS(3001), + [anon_sym_enum] = ACTIONS(3001), + [anon_sym_class] = ACTIONS(3001), + [anon_sym_struct] = ACTIONS(3001), + [anon_sym_union] = ACTIONS(3001), + [anon_sym_if] = ACTIONS(3001), + [anon_sym_switch] = ACTIONS(3001), + [anon_sym_case] = ACTIONS(3001), + [anon_sym_default] = ACTIONS(3001), + [anon_sym_while] = ACTIONS(3001), + [anon_sym_do] = ACTIONS(3001), + [anon_sym_for] = ACTIONS(3001), + [anon_sym_return] = ACTIONS(3001), + [anon_sym_break] = ACTIONS(3001), + [anon_sym_continue] = ACTIONS(3001), + [anon_sym_goto] = ACTIONS(3001), + [anon_sym___try] = ACTIONS(3001), + [anon_sym___leave] = ACTIONS(3001), + [anon_sym_not] = ACTIONS(3001), + [anon_sym_compl] = ACTIONS(3001), + [anon_sym_DASH_DASH] = ACTIONS(3003), + [anon_sym_PLUS_PLUS] = ACTIONS(3003), + [anon_sym_sizeof] = ACTIONS(3001), + [anon_sym___alignof__] = ACTIONS(3001), + [anon_sym___alignof] = ACTIONS(3001), + [anon_sym__alignof] = ACTIONS(3001), + [anon_sym_alignof] = ACTIONS(3001), + [anon_sym__Alignof] = ACTIONS(3001), + [anon_sym_offsetof] = ACTIONS(3001), + [anon_sym__Generic] = ACTIONS(3001), + [anon_sym_asm] = ACTIONS(3001), + [anon_sym___asm__] = ACTIONS(3001), + [sym__number_literal] = ACTIONS(3003), + [anon_sym_L_SQUOTE] = ACTIONS(3003), + [anon_sym_u_SQUOTE] = ACTIONS(3003), + [anon_sym_U_SQUOTE] = ACTIONS(3003), + [anon_sym_u8_SQUOTE] = ACTIONS(3003), + [anon_sym_SQUOTE] = ACTIONS(3003), + [anon_sym_L_DQUOTE] = ACTIONS(3003), + [anon_sym_u_DQUOTE] = ACTIONS(3003), + [anon_sym_U_DQUOTE] = ACTIONS(3003), + [anon_sym_u8_DQUOTE] = ACTIONS(3003), + [anon_sym_DQUOTE] = ACTIONS(3003), + [sym_true] = ACTIONS(3001), + [sym_false] = ACTIONS(3001), + [anon_sym_NULL] = ACTIONS(3001), + [anon_sym_nullptr] = ACTIONS(3001), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3003), + [sym_auto] = ACTIONS(3001), + [anon_sym_decltype] = ACTIONS(3001), + [sym_virtual] = ACTIONS(3001), + [anon_sym_explicit] = ACTIONS(3001), + [anon_sym_typename] = ACTIONS(3001), + [anon_sym_template] = ACTIONS(3001), + [anon_sym_operator] = ACTIONS(3001), + [anon_sym_try] = ACTIONS(3001), + [anon_sym_delete] = ACTIONS(3001), + [anon_sym_throw] = ACTIONS(3001), + [anon_sym_namespace] = ACTIONS(3001), + [anon_sym_using] = ACTIONS(3001), + [anon_sym_static_assert] = ACTIONS(3001), + [anon_sym_concept] = ACTIONS(3001), + [anon_sym_co_return] = ACTIONS(3001), + [anon_sym_co_yield] = ACTIONS(3001), + [anon_sym_R_DQUOTE] = ACTIONS(3003), + [anon_sym_LR_DQUOTE] = ACTIONS(3003), + [anon_sym_uR_DQUOTE] = ACTIONS(3003), + [anon_sym_UR_DQUOTE] = ACTIONS(3003), + [anon_sym_u8R_DQUOTE] = ACTIONS(3003), + [anon_sym_co_await] = ACTIONS(3001), + [anon_sym_new] = ACTIONS(3001), + [anon_sym_requires] = ACTIONS(3001), + [sym_this] = ACTIONS(3001), + }, + [339] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_include_token1] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token2] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [aux_sym_preproc_else_token1] = ACTIONS(3005), + [aux_sym_preproc_elif_token1] = ACTIONS(3005), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_BANG] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_DASH] = ACTIONS(3005), + [anon_sym_PLUS] = ACTIONS(3005), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym_SEMI] = ACTIONS(3007), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym___cdecl] = ACTIONS(3005), + [anon_sym___clrcall] = ACTIONS(3005), + [anon_sym___stdcall] = ACTIONS(3005), + [anon_sym___fastcall] = ACTIONS(3005), + [anon_sym___thiscall] = ACTIONS(3005), + [anon_sym___vectorcall] = ACTIONS(3005), + [anon_sym_LBRACE] = ACTIONS(3007), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [anon_sym_if] = ACTIONS(3005), + [anon_sym_switch] = ACTIONS(3005), + [anon_sym_case] = ACTIONS(3005), + [anon_sym_default] = ACTIONS(3005), + [anon_sym_while] = ACTIONS(3005), + [anon_sym_do] = ACTIONS(3005), + [anon_sym_for] = ACTIONS(3005), + [anon_sym_return] = ACTIONS(3005), + [anon_sym_break] = ACTIONS(3005), + [anon_sym_continue] = ACTIONS(3005), + [anon_sym_goto] = ACTIONS(3005), + [anon_sym___try] = ACTIONS(3005), + [anon_sym___leave] = ACTIONS(3005), + [anon_sym_not] = ACTIONS(3005), + [anon_sym_compl] = ACTIONS(3005), + [anon_sym_DASH_DASH] = ACTIONS(3007), + [anon_sym_PLUS_PLUS] = ACTIONS(3007), + [anon_sym_sizeof] = ACTIONS(3005), + [anon_sym___alignof__] = ACTIONS(3005), + [anon_sym___alignof] = ACTIONS(3005), + [anon_sym__alignof] = ACTIONS(3005), + [anon_sym_alignof] = ACTIONS(3005), + [anon_sym__Alignof] = ACTIONS(3005), + [anon_sym_offsetof] = ACTIONS(3005), + [anon_sym__Generic] = ACTIONS(3005), + [anon_sym_asm] = ACTIONS(3005), + [anon_sym___asm__] = ACTIONS(3005), + [sym__number_literal] = ACTIONS(3007), + [anon_sym_L_SQUOTE] = ACTIONS(3007), + [anon_sym_u_SQUOTE] = ACTIONS(3007), + [anon_sym_U_SQUOTE] = ACTIONS(3007), + [anon_sym_u8_SQUOTE] = ACTIONS(3007), + [anon_sym_SQUOTE] = ACTIONS(3007), + [anon_sym_L_DQUOTE] = ACTIONS(3007), + [anon_sym_u_DQUOTE] = ACTIONS(3007), + [anon_sym_U_DQUOTE] = ACTIONS(3007), + [anon_sym_u8_DQUOTE] = ACTIONS(3007), + [anon_sym_DQUOTE] = ACTIONS(3007), + [sym_true] = ACTIONS(3005), + [sym_false] = ACTIONS(3005), + [anon_sym_NULL] = ACTIONS(3005), + [anon_sym_nullptr] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_try] = ACTIONS(3005), + [anon_sym_delete] = ACTIONS(3005), + [anon_sym_throw] = ACTIONS(3005), + [anon_sym_namespace] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + [anon_sym_concept] = ACTIONS(3005), + [anon_sym_co_return] = ACTIONS(3005), + [anon_sym_co_yield] = ACTIONS(3005), + [anon_sym_R_DQUOTE] = ACTIONS(3007), + [anon_sym_LR_DQUOTE] = ACTIONS(3007), + [anon_sym_uR_DQUOTE] = ACTIONS(3007), + [anon_sym_UR_DQUOTE] = ACTIONS(3007), + [anon_sym_u8R_DQUOTE] = ACTIONS(3007), + [anon_sym_co_await] = ACTIONS(3005), + [anon_sym_new] = ACTIONS(3005), + [anon_sym_requires] = ACTIONS(3005), + [sym_this] = ACTIONS(3005), + }, + [340] = { + [sym__identifier] = ACTIONS(3009), + [aux_sym_preproc_include_token1] = ACTIONS(3009), + [aux_sym_preproc_def_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token2] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3009), + [aux_sym_preproc_else_token1] = ACTIONS(3009), + [aux_sym_preproc_elif_token1] = ACTIONS(3009), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3009), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3009), + [sym_preproc_directive] = ACTIONS(3009), + [anon_sym_LPAREN2] = ACTIONS(3011), + [anon_sym_BANG] = ACTIONS(3011), + [anon_sym_TILDE] = ACTIONS(3011), + [anon_sym_DASH] = ACTIONS(3009), + [anon_sym_PLUS] = ACTIONS(3009), + [anon_sym_STAR] = ACTIONS(3011), + [anon_sym_AMP_AMP] = ACTIONS(3011), + [anon_sym_AMP] = ACTIONS(3009), + [anon_sym_SEMI] = ACTIONS(3011), + [anon_sym___extension__] = ACTIONS(3009), + [anon_sym_typedef] = ACTIONS(3009), + [anon_sym_extern] = ACTIONS(3009), + [anon_sym___attribute__] = ACTIONS(3009), + [anon_sym_COLON_COLON] = ACTIONS(3011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3011), + [anon_sym___declspec] = ACTIONS(3009), + [anon_sym___based] = ACTIONS(3009), + [anon_sym___cdecl] = ACTIONS(3009), + [anon_sym___clrcall] = ACTIONS(3009), + [anon_sym___stdcall] = ACTIONS(3009), + [anon_sym___fastcall] = ACTIONS(3009), + [anon_sym___thiscall] = ACTIONS(3009), + [anon_sym___vectorcall] = ACTIONS(3009), + [anon_sym_LBRACE] = ACTIONS(3011), + [anon_sym_signed] = ACTIONS(3009), + [anon_sym_unsigned] = ACTIONS(3009), + [anon_sym_long] = ACTIONS(3009), + [anon_sym_short] = ACTIONS(3009), + [anon_sym_LBRACK] = ACTIONS(3009), + [anon_sym_static] = ACTIONS(3009), + [anon_sym_register] = ACTIONS(3009), + [anon_sym_inline] = ACTIONS(3009), + [anon_sym___inline] = ACTIONS(3009), + [anon_sym___inline__] = ACTIONS(3009), + [anon_sym___forceinline] = ACTIONS(3009), + [anon_sym_thread_local] = ACTIONS(3009), + [anon_sym___thread] = ACTIONS(3009), + [anon_sym_const] = ACTIONS(3009), + [anon_sym_constexpr] = ACTIONS(3009), + [anon_sym_volatile] = ACTIONS(3009), + [anon_sym_restrict] = ACTIONS(3009), + [anon_sym___restrict__] = ACTIONS(3009), + [anon_sym__Atomic] = ACTIONS(3009), + [anon_sym__Noreturn] = ACTIONS(3009), + [anon_sym_noreturn] = ACTIONS(3009), + [anon_sym_mutable] = ACTIONS(3009), + [anon_sym_constinit] = ACTIONS(3009), + [anon_sym_consteval] = ACTIONS(3009), + [anon_sym_alignas] = ACTIONS(3009), + [anon_sym__Alignas] = ACTIONS(3009), + [sym_primitive_type] = ACTIONS(3009), + [anon_sym_enum] = ACTIONS(3009), + [anon_sym_class] = ACTIONS(3009), + [anon_sym_struct] = ACTIONS(3009), + [anon_sym_union] = ACTIONS(3009), + [anon_sym_if] = ACTIONS(3009), + [anon_sym_switch] = ACTIONS(3009), + [anon_sym_case] = ACTIONS(3009), + [anon_sym_default] = ACTIONS(3009), + [anon_sym_while] = ACTIONS(3009), + [anon_sym_do] = ACTIONS(3009), + [anon_sym_for] = ACTIONS(3009), + [anon_sym_return] = ACTIONS(3009), + [anon_sym_break] = ACTIONS(3009), + [anon_sym_continue] = ACTIONS(3009), + [anon_sym_goto] = ACTIONS(3009), + [anon_sym___try] = ACTIONS(3009), + [anon_sym___leave] = ACTIONS(3009), + [anon_sym_not] = ACTIONS(3009), + [anon_sym_compl] = ACTIONS(3009), + [anon_sym_DASH_DASH] = ACTIONS(3011), + [anon_sym_PLUS_PLUS] = ACTIONS(3011), + [anon_sym_sizeof] = ACTIONS(3009), + [anon_sym___alignof__] = ACTIONS(3009), + [anon_sym___alignof] = ACTIONS(3009), + [anon_sym__alignof] = ACTIONS(3009), + [anon_sym_alignof] = ACTIONS(3009), + [anon_sym__Alignof] = ACTIONS(3009), + [anon_sym_offsetof] = ACTIONS(3009), + [anon_sym__Generic] = ACTIONS(3009), + [anon_sym_asm] = ACTIONS(3009), + [anon_sym___asm__] = ACTIONS(3009), + [sym__number_literal] = ACTIONS(3011), + [anon_sym_L_SQUOTE] = ACTIONS(3011), + [anon_sym_u_SQUOTE] = ACTIONS(3011), + [anon_sym_U_SQUOTE] = ACTIONS(3011), + [anon_sym_u8_SQUOTE] = ACTIONS(3011), + [anon_sym_SQUOTE] = ACTIONS(3011), + [anon_sym_L_DQUOTE] = ACTIONS(3011), + [anon_sym_u_DQUOTE] = ACTIONS(3011), + [anon_sym_U_DQUOTE] = ACTIONS(3011), + [anon_sym_u8_DQUOTE] = ACTIONS(3011), + [anon_sym_DQUOTE] = ACTIONS(3011), + [sym_true] = ACTIONS(3009), + [sym_false] = ACTIONS(3009), + [anon_sym_NULL] = ACTIONS(3009), + [anon_sym_nullptr] = ACTIONS(3009), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3011), + [sym_auto] = ACTIONS(3009), + [anon_sym_decltype] = ACTIONS(3009), + [sym_virtual] = ACTIONS(3009), + [anon_sym_explicit] = ACTIONS(3009), + [anon_sym_typename] = ACTIONS(3009), + [anon_sym_template] = ACTIONS(3009), + [anon_sym_operator] = ACTIONS(3009), + [anon_sym_try] = ACTIONS(3009), + [anon_sym_delete] = ACTIONS(3009), + [anon_sym_throw] = ACTIONS(3009), + [anon_sym_namespace] = ACTIONS(3009), + [anon_sym_using] = ACTIONS(3009), + [anon_sym_static_assert] = ACTIONS(3009), + [anon_sym_concept] = ACTIONS(3009), + [anon_sym_co_return] = ACTIONS(3009), + [anon_sym_co_yield] = ACTIONS(3009), + [anon_sym_R_DQUOTE] = ACTIONS(3011), + [anon_sym_LR_DQUOTE] = ACTIONS(3011), + [anon_sym_uR_DQUOTE] = ACTIONS(3011), + [anon_sym_UR_DQUOTE] = ACTIONS(3011), + [anon_sym_u8R_DQUOTE] = ACTIONS(3011), + [anon_sym_co_await] = ACTIONS(3009), + [anon_sym_new] = ACTIONS(3009), + [anon_sym_requires] = ACTIONS(3009), + [sym_this] = ACTIONS(3009), + }, + [341] = { + [sym__identifier] = ACTIONS(3013), + [aux_sym_preproc_include_token1] = ACTIONS(3013), + [aux_sym_preproc_def_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token2] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3013), + [aux_sym_preproc_else_token1] = ACTIONS(3013), + [aux_sym_preproc_elif_token1] = ACTIONS(3013), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3013), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3013), + [sym_preproc_directive] = ACTIONS(3013), + [anon_sym_LPAREN2] = ACTIONS(3015), + [anon_sym_BANG] = ACTIONS(3015), + [anon_sym_TILDE] = ACTIONS(3015), + [anon_sym_DASH] = ACTIONS(3013), + [anon_sym_PLUS] = ACTIONS(3013), + [anon_sym_STAR] = ACTIONS(3015), + [anon_sym_AMP_AMP] = ACTIONS(3015), + [anon_sym_AMP] = ACTIONS(3013), + [anon_sym_SEMI] = ACTIONS(3015), + [anon_sym___extension__] = ACTIONS(3013), + [anon_sym_typedef] = ACTIONS(3013), + [anon_sym_extern] = ACTIONS(3013), + [anon_sym___attribute__] = ACTIONS(3013), + [anon_sym_COLON_COLON] = ACTIONS(3015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3015), + [anon_sym___declspec] = ACTIONS(3013), + [anon_sym___based] = ACTIONS(3013), + [anon_sym___cdecl] = ACTIONS(3013), + [anon_sym___clrcall] = ACTIONS(3013), + [anon_sym___stdcall] = ACTIONS(3013), + [anon_sym___fastcall] = ACTIONS(3013), + [anon_sym___thiscall] = ACTIONS(3013), + [anon_sym___vectorcall] = ACTIONS(3013), + [anon_sym_LBRACE] = ACTIONS(3015), + [anon_sym_signed] = ACTIONS(3013), + [anon_sym_unsigned] = ACTIONS(3013), + [anon_sym_long] = ACTIONS(3013), + [anon_sym_short] = ACTIONS(3013), + [anon_sym_LBRACK] = ACTIONS(3013), + [anon_sym_static] = ACTIONS(3013), + [anon_sym_register] = ACTIONS(3013), + [anon_sym_inline] = ACTIONS(3013), + [anon_sym___inline] = ACTIONS(3013), + [anon_sym___inline__] = ACTIONS(3013), + [anon_sym___forceinline] = ACTIONS(3013), + [anon_sym_thread_local] = ACTIONS(3013), + [anon_sym___thread] = ACTIONS(3013), + [anon_sym_const] = ACTIONS(3013), + [anon_sym_constexpr] = ACTIONS(3013), + [anon_sym_volatile] = ACTIONS(3013), + [anon_sym_restrict] = ACTIONS(3013), + [anon_sym___restrict__] = ACTIONS(3013), + [anon_sym__Atomic] = ACTIONS(3013), + [anon_sym__Noreturn] = ACTIONS(3013), + [anon_sym_noreturn] = ACTIONS(3013), + [anon_sym_mutable] = ACTIONS(3013), + [anon_sym_constinit] = ACTIONS(3013), + [anon_sym_consteval] = ACTIONS(3013), + [anon_sym_alignas] = ACTIONS(3013), + [anon_sym__Alignas] = ACTIONS(3013), + [sym_primitive_type] = ACTIONS(3013), + [anon_sym_enum] = ACTIONS(3013), + [anon_sym_class] = ACTIONS(3013), + [anon_sym_struct] = ACTIONS(3013), + [anon_sym_union] = ACTIONS(3013), + [anon_sym_if] = ACTIONS(3013), + [anon_sym_switch] = ACTIONS(3013), + [anon_sym_case] = ACTIONS(3013), + [anon_sym_default] = ACTIONS(3013), + [anon_sym_while] = ACTIONS(3013), + [anon_sym_do] = ACTIONS(3013), + [anon_sym_for] = ACTIONS(3013), + [anon_sym_return] = ACTIONS(3013), + [anon_sym_break] = ACTIONS(3013), + [anon_sym_continue] = ACTIONS(3013), + [anon_sym_goto] = ACTIONS(3013), + [anon_sym___try] = ACTIONS(3013), + [anon_sym___leave] = ACTIONS(3013), + [anon_sym_not] = ACTIONS(3013), + [anon_sym_compl] = ACTIONS(3013), + [anon_sym_DASH_DASH] = ACTIONS(3015), + [anon_sym_PLUS_PLUS] = ACTIONS(3015), + [anon_sym_sizeof] = ACTIONS(3013), + [anon_sym___alignof__] = ACTIONS(3013), + [anon_sym___alignof] = ACTIONS(3013), + [anon_sym__alignof] = ACTIONS(3013), + [anon_sym_alignof] = ACTIONS(3013), + [anon_sym__Alignof] = ACTIONS(3013), + [anon_sym_offsetof] = ACTIONS(3013), + [anon_sym__Generic] = ACTIONS(3013), + [anon_sym_asm] = ACTIONS(3013), + [anon_sym___asm__] = ACTIONS(3013), + [sym__number_literal] = ACTIONS(3015), + [anon_sym_L_SQUOTE] = ACTIONS(3015), + [anon_sym_u_SQUOTE] = ACTIONS(3015), + [anon_sym_U_SQUOTE] = ACTIONS(3015), + [anon_sym_u8_SQUOTE] = ACTIONS(3015), + [anon_sym_SQUOTE] = ACTIONS(3015), + [anon_sym_L_DQUOTE] = ACTIONS(3015), + [anon_sym_u_DQUOTE] = ACTIONS(3015), + [anon_sym_U_DQUOTE] = ACTIONS(3015), + [anon_sym_u8_DQUOTE] = ACTIONS(3015), + [anon_sym_DQUOTE] = ACTIONS(3015), + [sym_true] = ACTIONS(3013), + [sym_false] = ACTIONS(3013), + [anon_sym_NULL] = ACTIONS(3013), + [anon_sym_nullptr] = ACTIONS(3013), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3015), + [sym_auto] = ACTIONS(3013), + [anon_sym_decltype] = ACTIONS(3013), + [sym_virtual] = ACTIONS(3013), + [anon_sym_explicit] = ACTIONS(3013), + [anon_sym_typename] = ACTIONS(3013), + [anon_sym_template] = ACTIONS(3013), + [anon_sym_operator] = ACTIONS(3013), + [anon_sym_try] = ACTIONS(3013), + [anon_sym_delete] = ACTIONS(3013), + [anon_sym_throw] = ACTIONS(3013), + [anon_sym_namespace] = ACTIONS(3013), + [anon_sym_using] = ACTIONS(3013), + [anon_sym_static_assert] = ACTIONS(3013), + [anon_sym_concept] = ACTIONS(3013), + [anon_sym_co_return] = ACTIONS(3013), + [anon_sym_co_yield] = ACTIONS(3013), + [anon_sym_R_DQUOTE] = ACTIONS(3015), + [anon_sym_LR_DQUOTE] = ACTIONS(3015), + [anon_sym_uR_DQUOTE] = ACTIONS(3015), + [anon_sym_UR_DQUOTE] = ACTIONS(3015), + [anon_sym_u8R_DQUOTE] = ACTIONS(3015), + [anon_sym_co_await] = ACTIONS(3013), + [anon_sym_new] = ACTIONS(3013), + [anon_sym_requires] = ACTIONS(3013), + [sym_this] = ACTIONS(3013), + }, + [342] = { + [sym__identifier] = ACTIONS(3017), + [aux_sym_preproc_include_token1] = ACTIONS(3017), + [aux_sym_preproc_def_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token2] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3017), + [aux_sym_preproc_else_token1] = ACTIONS(3017), + [aux_sym_preproc_elif_token1] = ACTIONS(3017), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3017), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3017), + [sym_preproc_directive] = ACTIONS(3017), + [anon_sym_LPAREN2] = ACTIONS(3019), + [anon_sym_BANG] = ACTIONS(3019), + [anon_sym_TILDE] = ACTIONS(3019), + [anon_sym_DASH] = ACTIONS(3017), + [anon_sym_PLUS] = ACTIONS(3017), + [anon_sym_STAR] = ACTIONS(3019), + [anon_sym_AMP_AMP] = ACTIONS(3019), + [anon_sym_AMP] = ACTIONS(3017), + [anon_sym_SEMI] = ACTIONS(3019), + [anon_sym___extension__] = ACTIONS(3017), + [anon_sym_typedef] = ACTIONS(3017), + [anon_sym_extern] = ACTIONS(3017), + [anon_sym___attribute__] = ACTIONS(3017), + [anon_sym_COLON_COLON] = ACTIONS(3019), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3019), + [anon_sym___declspec] = ACTIONS(3017), + [anon_sym___based] = ACTIONS(3017), + [anon_sym___cdecl] = ACTIONS(3017), + [anon_sym___clrcall] = ACTIONS(3017), + [anon_sym___stdcall] = ACTIONS(3017), + [anon_sym___fastcall] = ACTIONS(3017), + [anon_sym___thiscall] = ACTIONS(3017), + [anon_sym___vectorcall] = ACTIONS(3017), + [anon_sym_LBRACE] = ACTIONS(3019), + [anon_sym_signed] = ACTIONS(3017), + [anon_sym_unsigned] = ACTIONS(3017), + [anon_sym_long] = ACTIONS(3017), + [anon_sym_short] = ACTIONS(3017), + [anon_sym_LBRACK] = ACTIONS(3017), + [anon_sym_static] = ACTIONS(3017), + [anon_sym_register] = ACTIONS(3017), + [anon_sym_inline] = ACTIONS(3017), + [anon_sym___inline] = ACTIONS(3017), + [anon_sym___inline__] = ACTIONS(3017), + [anon_sym___forceinline] = ACTIONS(3017), + [anon_sym_thread_local] = ACTIONS(3017), + [anon_sym___thread] = ACTIONS(3017), + [anon_sym_const] = ACTIONS(3017), + [anon_sym_constexpr] = ACTIONS(3017), + [anon_sym_volatile] = ACTIONS(3017), + [anon_sym_restrict] = ACTIONS(3017), + [anon_sym___restrict__] = ACTIONS(3017), + [anon_sym__Atomic] = ACTIONS(3017), + [anon_sym__Noreturn] = ACTIONS(3017), + [anon_sym_noreturn] = ACTIONS(3017), + [anon_sym_mutable] = ACTIONS(3017), + [anon_sym_constinit] = ACTIONS(3017), + [anon_sym_consteval] = ACTIONS(3017), + [anon_sym_alignas] = ACTIONS(3017), + [anon_sym__Alignas] = ACTIONS(3017), + [sym_primitive_type] = ACTIONS(3017), + [anon_sym_enum] = ACTIONS(3017), + [anon_sym_class] = ACTIONS(3017), + [anon_sym_struct] = ACTIONS(3017), + [anon_sym_union] = ACTIONS(3017), + [anon_sym_if] = ACTIONS(3017), + [anon_sym_switch] = ACTIONS(3017), + [anon_sym_case] = ACTIONS(3017), + [anon_sym_default] = ACTIONS(3017), + [anon_sym_while] = ACTIONS(3017), + [anon_sym_do] = ACTIONS(3017), + [anon_sym_for] = ACTIONS(3017), + [anon_sym_return] = ACTIONS(3017), + [anon_sym_break] = ACTIONS(3017), + [anon_sym_continue] = ACTIONS(3017), + [anon_sym_goto] = ACTIONS(3017), + [anon_sym___try] = ACTIONS(3017), + [anon_sym___leave] = ACTIONS(3017), + [anon_sym_not] = ACTIONS(3017), + [anon_sym_compl] = ACTIONS(3017), + [anon_sym_DASH_DASH] = ACTIONS(3019), + [anon_sym_PLUS_PLUS] = ACTIONS(3019), + [anon_sym_sizeof] = ACTIONS(3017), + [anon_sym___alignof__] = ACTIONS(3017), + [anon_sym___alignof] = ACTIONS(3017), + [anon_sym__alignof] = ACTIONS(3017), + [anon_sym_alignof] = ACTIONS(3017), + [anon_sym__Alignof] = ACTIONS(3017), + [anon_sym_offsetof] = ACTIONS(3017), + [anon_sym__Generic] = ACTIONS(3017), + [anon_sym_asm] = ACTIONS(3017), + [anon_sym___asm__] = ACTIONS(3017), + [sym__number_literal] = ACTIONS(3019), + [anon_sym_L_SQUOTE] = ACTIONS(3019), + [anon_sym_u_SQUOTE] = ACTIONS(3019), + [anon_sym_U_SQUOTE] = ACTIONS(3019), + [anon_sym_u8_SQUOTE] = ACTIONS(3019), + [anon_sym_SQUOTE] = ACTIONS(3019), + [anon_sym_L_DQUOTE] = ACTIONS(3019), + [anon_sym_u_DQUOTE] = ACTIONS(3019), + [anon_sym_U_DQUOTE] = ACTIONS(3019), + [anon_sym_u8_DQUOTE] = ACTIONS(3019), + [anon_sym_DQUOTE] = ACTIONS(3019), + [sym_true] = ACTIONS(3017), + [sym_false] = ACTIONS(3017), + [anon_sym_NULL] = ACTIONS(3017), + [anon_sym_nullptr] = ACTIONS(3017), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3019), + [sym_auto] = ACTIONS(3017), + [anon_sym_decltype] = ACTIONS(3017), + [sym_virtual] = ACTIONS(3017), + [anon_sym_explicit] = ACTIONS(3017), + [anon_sym_typename] = ACTIONS(3017), + [anon_sym_template] = ACTIONS(3017), + [anon_sym_operator] = ACTIONS(3017), + [anon_sym_try] = ACTIONS(3017), + [anon_sym_delete] = ACTIONS(3017), + [anon_sym_throw] = ACTIONS(3017), + [anon_sym_namespace] = ACTIONS(3017), + [anon_sym_using] = ACTIONS(3017), + [anon_sym_static_assert] = ACTIONS(3017), + [anon_sym_concept] = ACTIONS(3017), + [anon_sym_co_return] = ACTIONS(3017), + [anon_sym_co_yield] = ACTIONS(3017), + [anon_sym_R_DQUOTE] = ACTIONS(3019), + [anon_sym_LR_DQUOTE] = ACTIONS(3019), + [anon_sym_uR_DQUOTE] = ACTIONS(3019), + [anon_sym_UR_DQUOTE] = ACTIONS(3019), + [anon_sym_u8R_DQUOTE] = ACTIONS(3019), + [anon_sym_co_await] = ACTIONS(3017), + [anon_sym_new] = ACTIONS(3017), + [anon_sym_requires] = ACTIONS(3017), + [sym_this] = ACTIONS(3017), + }, + [343] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_include_token1] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token2] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [aux_sym_preproc_else_token1] = ACTIONS(3021), + [aux_sym_preproc_elif_token1] = ACTIONS(3021), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_BANG] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_DASH] = ACTIONS(3021), + [anon_sym_PLUS] = ACTIONS(3021), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym_SEMI] = ACTIONS(3023), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym___cdecl] = ACTIONS(3021), + [anon_sym___clrcall] = ACTIONS(3021), + [anon_sym___stdcall] = ACTIONS(3021), + [anon_sym___fastcall] = ACTIONS(3021), + [anon_sym___thiscall] = ACTIONS(3021), + [anon_sym___vectorcall] = ACTIONS(3021), + [anon_sym_LBRACE] = ACTIONS(3023), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [anon_sym_if] = ACTIONS(3021), + [anon_sym_switch] = ACTIONS(3021), + [anon_sym_case] = ACTIONS(3021), + [anon_sym_default] = ACTIONS(3021), + [anon_sym_while] = ACTIONS(3021), + [anon_sym_do] = ACTIONS(3021), + [anon_sym_for] = ACTIONS(3021), + [anon_sym_return] = ACTIONS(3021), + [anon_sym_break] = ACTIONS(3021), + [anon_sym_continue] = ACTIONS(3021), + [anon_sym_goto] = ACTIONS(3021), + [anon_sym___try] = ACTIONS(3021), + [anon_sym___leave] = ACTIONS(3021), + [anon_sym_not] = ACTIONS(3021), + [anon_sym_compl] = ACTIONS(3021), + [anon_sym_DASH_DASH] = ACTIONS(3023), + [anon_sym_PLUS_PLUS] = ACTIONS(3023), + [anon_sym_sizeof] = ACTIONS(3021), + [anon_sym___alignof__] = ACTIONS(3021), + [anon_sym___alignof] = ACTIONS(3021), + [anon_sym__alignof] = ACTIONS(3021), + [anon_sym_alignof] = ACTIONS(3021), + [anon_sym__Alignof] = ACTIONS(3021), + [anon_sym_offsetof] = ACTIONS(3021), + [anon_sym__Generic] = ACTIONS(3021), + [anon_sym_asm] = ACTIONS(3021), + [anon_sym___asm__] = ACTIONS(3021), + [sym__number_literal] = ACTIONS(3023), + [anon_sym_L_SQUOTE] = ACTIONS(3023), + [anon_sym_u_SQUOTE] = ACTIONS(3023), + [anon_sym_U_SQUOTE] = ACTIONS(3023), + [anon_sym_u8_SQUOTE] = ACTIONS(3023), + [anon_sym_SQUOTE] = ACTIONS(3023), + [anon_sym_L_DQUOTE] = ACTIONS(3023), + [anon_sym_u_DQUOTE] = ACTIONS(3023), + [anon_sym_U_DQUOTE] = ACTIONS(3023), + [anon_sym_u8_DQUOTE] = ACTIONS(3023), + [anon_sym_DQUOTE] = ACTIONS(3023), + [sym_true] = ACTIONS(3021), + [sym_false] = ACTIONS(3021), + [anon_sym_NULL] = ACTIONS(3021), + [anon_sym_nullptr] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_try] = ACTIONS(3021), + [anon_sym_delete] = ACTIONS(3021), + [anon_sym_throw] = ACTIONS(3021), + [anon_sym_namespace] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + [anon_sym_concept] = ACTIONS(3021), + [anon_sym_co_return] = ACTIONS(3021), + [anon_sym_co_yield] = ACTIONS(3021), + [anon_sym_R_DQUOTE] = ACTIONS(3023), + [anon_sym_LR_DQUOTE] = ACTIONS(3023), + [anon_sym_uR_DQUOTE] = ACTIONS(3023), + [anon_sym_UR_DQUOTE] = ACTIONS(3023), + [anon_sym_u8R_DQUOTE] = ACTIONS(3023), + [anon_sym_co_await] = ACTIONS(3021), + [anon_sym_new] = ACTIONS(3021), + [anon_sym_requires] = ACTIONS(3021), + [sym_this] = ACTIONS(3021), + }, + [344] = { + [sym__identifier] = ACTIONS(3025), + [aux_sym_preproc_include_token1] = ACTIONS(3025), + [aux_sym_preproc_def_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token2] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3025), + [aux_sym_preproc_else_token1] = ACTIONS(3025), + [aux_sym_preproc_elif_token1] = ACTIONS(3025), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3025), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3025), + [sym_preproc_directive] = ACTIONS(3025), + [anon_sym_LPAREN2] = ACTIONS(3027), + [anon_sym_BANG] = ACTIONS(3027), + [anon_sym_TILDE] = ACTIONS(3027), + [anon_sym_DASH] = ACTIONS(3025), + [anon_sym_PLUS] = ACTIONS(3025), + [anon_sym_STAR] = ACTIONS(3027), + [anon_sym_AMP_AMP] = ACTIONS(3027), + [anon_sym_AMP] = ACTIONS(3025), + [anon_sym_SEMI] = ACTIONS(3027), + [anon_sym___extension__] = ACTIONS(3025), + [anon_sym_typedef] = ACTIONS(3025), + [anon_sym_extern] = ACTIONS(3025), + [anon_sym___attribute__] = ACTIONS(3025), + [anon_sym_COLON_COLON] = ACTIONS(3027), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3027), + [anon_sym___declspec] = ACTIONS(3025), + [anon_sym___based] = ACTIONS(3025), + [anon_sym___cdecl] = ACTIONS(3025), + [anon_sym___clrcall] = ACTIONS(3025), + [anon_sym___stdcall] = ACTIONS(3025), + [anon_sym___fastcall] = ACTIONS(3025), + [anon_sym___thiscall] = ACTIONS(3025), + [anon_sym___vectorcall] = ACTIONS(3025), + [anon_sym_LBRACE] = ACTIONS(3027), + [anon_sym_signed] = ACTIONS(3025), + [anon_sym_unsigned] = ACTIONS(3025), + [anon_sym_long] = ACTIONS(3025), + [anon_sym_short] = ACTIONS(3025), + [anon_sym_LBRACK] = ACTIONS(3025), + [anon_sym_static] = ACTIONS(3025), + [anon_sym_register] = ACTIONS(3025), + [anon_sym_inline] = ACTIONS(3025), + [anon_sym___inline] = ACTIONS(3025), + [anon_sym___inline__] = ACTIONS(3025), + [anon_sym___forceinline] = ACTIONS(3025), + [anon_sym_thread_local] = ACTIONS(3025), + [anon_sym___thread] = ACTIONS(3025), + [anon_sym_const] = ACTIONS(3025), + [anon_sym_constexpr] = ACTIONS(3025), + [anon_sym_volatile] = ACTIONS(3025), + [anon_sym_restrict] = ACTIONS(3025), + [anon_sym___restrict__] = ACTIONS(3025), + [anon_sym__Atomic] = ACTIONS(3025), + [anon_sym__Noreturn] = ACTIONS(3025), + [anon_sym_noreturn] = ACTIONS(3025), + [anon_sym_mutable] = ACTIONS(3025), + [anon_sym_constinit] = ACTIONS(3025), + [anon_sym_consteval] = ACTIONS(3025), + [anon_sym_alignas] = ACTIONS(3025), + [anon_sym__Alignas] = ACTIONS(3025), + [sym_primitive_type] = ACTIONS(3025), + [anon_sym_enum] = ACTIONS(3025), + [anon_sym_class] = ACTIONS(3025), + [anon_sym_struct] = ACTIONS(3025), + [anon_sym_union] = ACTIONS(3025), + [anon_sym_if] = ACTIONS(3025), + [anon_sym_switch] = ACTIONS(3025), + [anon_sym_case] = ACTIONS(3025), + [anon_sym_default] = ACTIONS(3025), + [anon_sym_while] = ACTIONS(3025), + [anon_sym_do] = ACTIONS(3025), + [anon_sym_for] = ACTIONS(3025), + [anon_sym_return] = ACTIONS(3025), + [anon_sym_break] = ACTIONS(3025), + [anon_sym_continue] = ACTIONS(3025), + [anon_sym_goto] = ACTIONS(3025), + [anon_sym___try] = ACTIONS(3025), + [anon_sym___leave] = ACTIONS(3025), + [anon_sym_not] = ACTIONS(3025), + [anon_sym_compl] = ACTIONS(3025), + [anon_sym_DASH_DASH] = ACTIONS(3027), + [anon_sym_PLUS_PLUS] = ACTIONS(3027), + [anon_sym_sizeof] = ACTIONS(3025), + [anon_sym___alignof__] = ACTIONS(3025), + [anon_sym___alignof] = ACTIONS(3025), + [anon_sym__alignof] = ACTIONS(3025), + [anon_sym_alignof] = ACTIONS(3025), + [anon_sym__Alignof] = ACTIONS(3025), + [anon_sym_offsetof] = ACTIONS(3025), + [anon_sym__Generic] = ACTIONS(3025), + [anon_sym_asm] = ACTIONS(3025), + [anon_sym___asm__] = ACTIONS(3025), + [sym__number_literal] = ACTIONS(3027), + [anon_sym_L_SQUOTE] = ACTIONS(3027), + [anon_sym_u_SQUOTE] = ACTIONS(3027), + [anon_sym_U_SQUOTE] = ACTIONS(3027), + [anon_sym_u8_SQUOTE] = ACTIONS(3027), + [anon_sym_SQUOTE] = ACTIONS(3027), + [anon_sym_L_DQUOTE] = ACTIONS(3027), + [anon_sym_u_DQUOTE] = ACTIONS(3027), + [anon_sym_U_DQUOTE] = ACTIONS(3027), + [anon_sym_u8_DQUOTE] = ACTIONS(3027), + [anon_sym_DQUOTE] = ACTIONS(3027), + [sym_true] = ACTIONS(3025), + [sym_false] = ACTIONS(3025), + [anon_sym_NULL] = ACTIONS(3025), + [anon_sym_nullptr] = ACTIONS(3025), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3027), + [sym_auto] = ACTIONS(3025), + [anon_sym_decltype] = ACTIONS(3025), + [sym_virtual] = ACTIONS(3025), + [anon_sym_explicit] = ACTIONS(3025), + [anon_sym_typename] = ACTIONS(3025), + [anon_sym_template] = ACTIONS(3025), + [anon_sym_operator] = ACTIONS(3025), + [anon_sym_try] = ACTIONS(3025), + [anon_sym_delete] = ACTIONS(3025), + [anon_sym_throw] = ACTIONS(3025), + [anon_sym_namespace] = ACTIONS(3025), + [anon_sym_using] = ACTIONS(3025), + [anon_sym_static_assert] = ACTIONS(3025), + [anon_sym_concept] = ACTIONS(3025), + [anon_sym_co_return] = ACTIONS(3025), + [anon_sym_co_yield] = ACTIONS(3025), + [anon_sym_R_DQUOTE] = ACTIONS(3027), + [anon_sym_LR_DQUOTE] = ACTIONS(3027), + [anon_sym_uR_DQUOTE] = ACTIONS(3027), + [anon_sym_UR_DQUOTE] = ACTIONS(3027), + [anon_sym_u8R_DQUOTE] = ACTIONS(3027), + [anon_sym_co_await] = ACTIONS(3025), + [anon_sym_new] = ACTIONS(3025), + [anon_sym_requires] = ACTIONS(3025), + [sym_this] = ACTIONS(3025), + }, + [345] = { + [sym_preproc_def] = STATE(305), + [sym_preproc_function_def] = STATE(305), + [sym_preproc_call] = STATE(305), + [sym_preproc_if_in_field_declaration_list] = STATE(305), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(305), + [sym_preproc_else_in_field_declaration_list] = STATE(8080), + [sym_preproc_elif_in_field_declaration_list] = STATE(8080), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8080), + [sym_type_definition] = STATE(305), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(305), + [sym_field_declaration] = STATE(305), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(305), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(305), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(305), + [sym_operator_cast_declaration] = STATE(305), + [sym_constructor_or_destructor_definition] = STATE(305), + [sym_constructor_or_destructor_declaration] = STATE(305), + [sym_friend_declaration] = STATE(305), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(305), + [sym_alias_declaration] = STATE(305), + [sym_static_assert_declaration] = STATE(305), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(305), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3029), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [346] = { + [sym__identifier] = ACTIONS(3031), + [aux_sym_preproc_include_token1] = ACTIONS(3031), + [aux_sym_preproc_def_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token2] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3031), + [aux_sym_preproc_else_token1] = ACTIONS(3031), + [aux_sym_preproc_elif_token1] = ACTIONS(3031), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3031), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3031), + [sym_preproc_directive] = ACTIONS(3031), + [anon_sym_LPAREN2] = ACTIONS(3033), + [anon_sym_BANG] = ACTIONS(3033), + [anon_sym_TILDE] = ACTIONS(3033), + [anon_sym_DASH] = ACTIONS(3031), + [anon_sym_PLUS] = ACTIONS(3031), + [anon_sym_STAR] = ACTIONS(3033), + [anon_sym_AMP_AMP] = ACTIONS(3033), + [anon_sym_AMP] = ACTIONS(3031), + [anon_sym_SEMI] = ACTIONS(3033), + [anon_sym___extension__] = ACTIONS(3031), + [anon_sym_typedef] = ACTIONS(3031), + [anon_sym_extern] = ACTIONS(3031), + [anon_sym___attribute__] = ACTIONS(3031), + [anon_sym_COLON_COLON] = ACTIONS(3033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3033), + [anon_sym___declspec] = ACTIONS(3031), + [anon_sym___based] = ACTIONS(3031), + [anon_sym___cdecl] = ACTIONS(3031), + [anon_sym___clrcall] = ACTIONS(3031), + [anon_sym___stdcall] = ACTIONS(3031), + [anon_sym___fastcall] = ACTIONS(3031), + [anon_sym___thiscall] = ACTIONS(3031), + [anon_sym___vectorcall] = ACTIONS(3031), + [anon_sym_LBRACE] = ACTIONS(3033), + [anon_sym_signed] = ACTIONS(3031), + [anon_sym_unsigned] = ACTIONS(3031), + [anon_sym_long] = ACTIONS(3031), + [anon_sym_short] = ACTIONS(3031), + [anon_sym_LBRACK] = ACTIONS(3031), + [anon_sym_static] = ACTIONS(3031), + [anon_sym_register] = ACTIONS(3031), + [anon_sym_inline] = ACTIONS(3031), + [anon_sym___inline] = ACTIONS(3031), + [anon_sym___inline__] = ACTIONS(3031), + [anon_sym___forceinline] = ACTIONS(3031), + [anon_sym_thread_local] = ACTIONS(3031), + [anon_sym___thread] = ACTIONS(3031), + [anon_sym_const] = ACTIONS(3031), + [anon_sym_constexpr] = ACTIONS(3031), + [anon_sym_volatile] = ACTIONS(3031), + [anon_sym_restrict] = ACTIONS(3031), + [anon_sym___restrict__] = ACTIONS(3031), + [anon_sym__Atomic] = ACTIONS(3031), + [anon_sym__Noreturn] = ACTIONS(3031), + [anon_sym_noreturn] = ACTIONS(3031), + [anon_sym_mutable] = ACTIONS(3031), + [anon_sym_constinit] = ACTIONS(3031), + [anon_sym_consteval] = ACTIONS(3031), + [anon_sym_alignas] = ACTIONS(3031), + [anon_sym__Alignas] = ACTIONS(3031), + [sym_primitive_type] = ACTIONS(3031), + [anon_sym_enum] = ACTIONS(3031), + [anon_sym_class] = ACTIONS(3031), + [anon_sym_struct] = ACTIONS(3031), + [anon_sym_union] = ACTIONS(3031), + [anon_sym_if] = ACTIONS(3031), + [anon_sym_switch] = ACTIONS(3031), + [anon_sym_case] = ACTIONS(3031), + [anon_sym_default] = ACTIONS(3031), + [anon_sym_while] = ACTIONS(3031), + [anon_sym_do] = ACTIONS(3031), + [anon_sym_for] = ACTIONS(3031), + [anon_sym_return] = ACTIONS(3031), + [anon_sym_break] = ACTIONS(3031), + [anon_sym_continue] = ACTIONS(3031), + [anon_sym_goto] = ACTIONS(3031), + [anon_sym___try] = ACTIONS(3031), + [anon_sym___leave] = ACTIONS(3031), + [anon_sym_not] = ACTIONS(3031), + [anon_sym_compl] = ACTIONS(3031), + [anon_sym_DASH_DASH] = ACTIONS(3033), + [anon_sym_PLUS_PLUS] = ACTIONS(3033), + [anon_sym_sizeof] = ACTIONS(3031), + [anon_sym___alignof__] = ACTIONS(3031), + [anon_sym___alignof] = ACTIONS(3031), + [anon_sym__alignof] = ACTIONS(3031), + [anon_sym_alignof] = ACTIONS(3031), + [anon_sym__Alignof] = ACTIONS(3031), + [anon_sym_offsetof] = ACTIONS(3031), + [anon_sym__Generic] = ACTIONS(3031), + [anon_sym_asm] = ACTIONS(3031), + [anon_sym___asm__] = ACTIONS(3031), + [sym__number_literal] = ACTIONS(3033), + [anon_sym_L_SQUOTE] = ACTIONS(3033), + [anon_sym_u_SQUOTE] = ACTIONS(3033), + [anon_sym_U_SQUOTE] = ACTIONS(3033), + [anon_sym_u8_SQUOTE] = ACTIONS(3033), + [anon_sym_SQUOTE] = ACTIONS(3033), + [anon_sym_L_DQUOTE] = ACTIONS(3033), + [anon_sym_u_DQUOTE] = ACTIONS(3033), + [anon_sym_U_DQUOTE] = ACTIONS(3033), + [anon_sym_u8_DQUOTE] = ACTIONS(3033), + [anon_sym_DQUOTE] = ACTIONS(3033), + [sym_true] = ACTIONS(3031), + [sym_false] = ACTIONS(3031), + [anon_sym_NULL] = ACTIONS(3031), + [anon_sym_nullptr] = ACTIONS(3031), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3033), + [sym_auto] = ACTIONS(3031), + [anon_sym_decltype] = ACTIONS(3031), + [sym_virtual] = ACTIONS(3031), + [anon_sym_explicit] = ACTIONS(3031), + [anon_sym_typename] = ACTIONS(3031), + [anon_sym_template] = ACTIONS(3031), + [anon_sym_operator] = ACTIONS(3031), + [anon_sym_try] = ACTIONS(3031), + [anon_sym_delete] = ACTIONS(3031), + [anon_sym_throw] = ACTIONS(3031), + [anon_sym_namespace] = ACTIONS(3031), + [anon_sym_using] = ACTIONS(3031), + [anon_sym_static_assert] = ACTIONS(3031), + [anon_sym_concept] = ACTIONS(3031), + [anon_sym_co_return] = ACTIONS(3031), + [anon_sym_co_yield] = ACTIONS(3031), + [anon_sym_R_DQUOTE] = ACTIONS(3033), + [anon_sym_LR_DQUOTE] = ACTIONS(3033), + [anon_sym_uR_DQUOTE] = ACTIONS(3033), + [anon_sym_UR_DQUOTE] = ACTIONS(3033), + [anon_sym_u8R_DQUOTE] = ACTIONS(3033), + [anon_sym_co_await] = ACTIONS(3031), + [anon_sym_new] = ACTIONS(3031), + [anon_sym_requires] = ACTIONS(3031), + [sym_this] = ACTIONS(3031), + }, + [347] = { + [sym__identifier] = ACTIONS(3035), + [aux_sym_preproc_include_token1] = ACTIONS(3035), + [aux_sym_preproc_def_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token2] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3035), + [aux_sym_preproc_else_token1] = ACTIONS(3035), + [aux_sym_preproc_elif_token1] = ACTIONS(3035), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3035), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3035), + [sym_preproc_directive] = ACTIONS(3035), + [anon_sym_LPAREN2] = ACTIONS(3037), + [anon_sym_BANG] = ACTIONS(3037), + [anon_sym_TILDE] = ACTIONS(3037), + [anon_sym_DASH] = ACTIONS(3035), + [anon_sym_PLUS] = ACTIONS(3035), + [anon_sym_STAR] = ACTIONS(3037), + [anon_sym_AMP_AMP] = ACTIONS(3037), + [anon_sym_AMP] = ACTIONS(3035), + [anon_sym_SEMI] = ACTIONS(3037), + [anon_sym___extension__] = ACTIONS(3035), + [anon_sym_typedef] = ACTIONS(3035), + [anon_sym_extern] = ACTIONS(3035), + [anon_sym___attribute__] = ACTIONS(3035), + [anon_sym_COLON_COLON] = ACTIONS(3037), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3037), + [anon_sym___declspec] = ACTIONS(3035), + [anon_sym___based] = ACTIONS(3035), + [anon_sym___cdecl] = ACTIONS(3035), + [anon_sym___clrcall] = ACTIONS(3035), + [anon_sym___stdcall] = ACTIONS(3035), + [anon_sym___fastcall] = ACTIONS(3035), + [anon_sym___thiscall] = ACTIONS(3035), + [anon_sym___vectorcall] = ACTIONS(3035), + [anon_sym_LBRACE] = ACTIONS(3037), + [anon_sym_signed] = ACTIONS(3035), + [anon_sym_unsigned] = ACTIONS(3035), + [anon_sym_long] = ACTIONS(3035), + [anon_sym_short] = ACTIONS(3035), + [anon_sym_LBRACK] = ACTIONS(3035), + [anon_sym_static] = ACTIONS(3035), + [anon_sym_register] = ACTIONS(3035), + [anon_sym_inline] = ACTIONS(3035), + [anon_sym___inline] = ACTIONS(3035), + [anon_sym___inline__] = ACTIONS(3035), + [anon_sym___forceinline] = ACTIONS(3035), + [anon_sym_thread_local] = ACTIONS(3035), + [anon_sym___thread] = ACTIONS(3035), + [anon_sym_const] = ACTIONS(3035), + [anon_sym_constexpr] = ACTIONS(3035), + [anon_sym_volatile] = ACTIONS(3035), + [anon_sym_restrict] = ACTIONS(3035), + [anon_sym___restrict__] = ACTIONS(3035), + [anon_sym__Atomic] = ACTIONS(3035), + [anon_sym__Noreturn] = ACTIONS(3035), + [anon_sym_noreturn] = ACTIONS(3035), + [anon_sym_mutable] = ACTIONS(3035), + [anon_sym_constinit] = ACTIONS(3035), + [anon_sym_consteval] = ACTIONS(3035), + [anon_sym_alignas] = ACTIONS(3035), + [anon_sym__Alignas] = ACTIONS(3035), + [sym_primitive_type] = ACTIONS(3035), + [anon_sym_enum] = ACTIONS(3035), + [anon_sym_class] = ACTIONS(3035), + [anon_sym_struct] = ACTIONS(3035), + [anon_sym_union] = ACTIONS(3035), + [anon_sym_if] = ACTIONS(3035), + [anon_sym_switch] = ACTIONS(3035), + [anon_sym_case] = ACTIONS(3035), + [anon_sym_default] = ACTIONS(3035), + [anon_sym_while] = ACTIONS(3035), + [anon_sym_do] = ACTIONS(3035), + [anon_sym_for] = ACTIONS(3035), + [anon_sym_return] = ACTIONS(3035), + [anon_sym_break] = ACTIONS(3035), + [anon_sym_continue] = ACTIONS(3035), + [anon_sym_goto] = ACTIONS(3035), + [anon_sym___try] = ACTIONS(3035), + [anon_sym___leave] = ACTIONS(3035), + [anon_sym_not] = ACTIONS(3035), + [anon_sym_compl] = ACTIONS(3035), + [anon_sym_DASH_DASH] = ACTIONS(3037), + [anon_sym_PLUS_PLUS] = ACTIONS(3037), + [anon_sym_sizeof] = ACTIONS(3035), + [anon_sym___alignof__] = ACTIONS(3035), + [anon_sym___alignof] = ACTIONS(3035), + [anon_sym__alignof] = ACTIONS(3035), + [anon_sym_alignof] = ACTIONS(3035), + [anon_sym__Alignof] = ACTIONS(3035), + [anon_sym_offsetof] = ACTIONS(3035), + [anon_sym__Generic] = ACTIONS(3035), + [anon_sym_asm] = ACTIONS(3035), + [anon_sym___asm__] = ACTIONS(3035), + [sym__number_literal] = ACTIONS(3037), + [anon_sym_L_SQUOTE] = ACTIONS(3037), + [anon_sym_u_SQUOTE] = ACTIONS(3037), + [anon_sym_U_SQUOTE] = ACTIONS(3037), + [anon_sym_u8_SQUOTE] = ACTIONS(3037), + [anon_sym_SQUOTE] = ACTIONS(3037), + [anon_sym_L_DQUOTE] = ACTIONS(3037), + [anon_sym_u_DQUOTE] = ACTIONS(3037), + [anon_sym_U_DQUOTE] = ACTIONS(3037), + [anon_sym_u8_DQUOTE] = ACTIONS(3037), + [anon_sym_DQUOTE] = ACTIONS(3037), + [sym_true] = ACTIONS(3035), + [sym_false] = ACTIONS(3035), + [anon_sym_NULL] = ACTIONS(3035), + [anon_sym_nullptr] = ACTIONS(3035), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3037), + [sym_auto] = ACTIONS(3035), + [anon_sym_decltype] = ACTIONS(3035), + [sym_virtual] = ACTIONS(3035), + [anon_sym_explicit] = ACTIONS(3035), + [anon_sym_typename] = ACTIONS(3035), + [anon_sym_template] = ACTIONS(3035), + [anon_sym_operator] = ACTIONS(3035), + [anon_sym_try] = ACTIONS(3035), + [anon_sym_delete] = ACTIONS(3035), + [anon_sym_throw] = ACTIONS(3035), + [anon_sym_namespace] = ACTIONS(3035), + [anon_sym_using] = ACTIONS(3035), + [anon_sym_static_assert] = ACTIONS(3035), + [anon_sym_concept] = ACTIONS(3035), + [anon_sym_co_return] = ACTIONS(3035), + [anon_sym_co_yield] = ACTIONS(3035), + [anon_sym_R_DQUOTE] = ACTIONS(3037), + [anon_sym_LR_DQUOTE] = ACTIONS(3037), + [anon_sym_uR_DQUOTE] = ACTIONS(3037), + [anon_sym_UR_DQUOTE] = ACTIONS(3037), + [anon_sym_u8R_DQUOTE] = ACTIONS(3037), + [anon_sym_co_await] = ACTIONS(3035), + [anon_sym_new] = ACTIONS(3035), + [anon_sym_requires] = ACTIONS(3035), + [sym_this] = ACTIONS(3035), + }, + [348] = { + [sym__identifier] = ACTIONS(3039), + [aux_sym_preproc_include_token1] = ACTIONS(3039), + [aux_sym_preproc_def_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token2] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3039), + [aux_sym_preproc_else_token1] = ACTIONS(3039), + [aux_sym_preproc_elif_token1] = ACTIONS(3039), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3039), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3039), + [sym_preproc_directive] = ACTIONS(3039), + [anon_sym_LPAREN2] = ACTIONS(3041), + [anon_sym_BANG] = ACTIONS(3041), + [anon_sym_TILDE] = ACTIONS(3041), + [anon_sym_DASH] = ACTIONS(3039), + [anon_sym_PLUS] = ACTIONS(3039), + [anon_sym_STAR] = ACTIONS(3041), + [anon_sym_AMP_AMP] = ACTIONS(3041), + [anon_sym_AMP] = ACTIONS(3039), + [anon_sym_SEMI] = ACTIONS(3041), + [anon_sym___extension__] = ACTIONS(3039), + [anon_sym_typedef] = ACTIONS(3039), + [anon_sym_extern] = ACTIONS(3039), + [anon_sym___attribute__] = ACTIONS(3039), + [anon_sym_COLON_COLON] = ACTIONS(3041), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3041), + [anon_sym___declspec] = ACTIONS(3039), + [anon_sym___based] = ACTIONS(3039), + [anon_sym___cdecl] = ACTIONS(3039), + [anon_sym___clrcall] = ACTIONS(3039), + [anon_sym___stdcall] = ACTIONS(3039), + [anon_sym___fastcall] = ACTIONS(3039), + [anon_sym___thiscall] = ACTIONS(3039), + [anon_sym___vectorcall] = ACTIONS(3039), + [anon_sym_LBRACE] = ACTIONS(3041), + [anon_sym_signed] = ACTIONS(3039), + [anon_sym_unsigned] = ACTIONS(3039), + [anon_sym_long] = ACTIONS(3039), + [anon_sym_short] = ACTIONS(3039), + [anon_sym_LBRACK] = ACTIONS(3039), + [anon_sym_static] = ACTIONS(3039), + [anon_sym_register] = ACTIONS(3039), + [anon_sym_inline] = ACTIONS(3039), + [anon_sym___inline] = ACTIONS(3039), + [anon_sym___inline__] = ACTIONS(3039), + [anon_sym___forceinline] = ACTIONS(3039), + [anon_sym_thread_local] = ACTIONS(3039), + [anon_sym___thread] = ACTIONS(3039), + [anon_sym_const] = ACTIONS(3039), + [anon_sym_constexpr] = ACTIONS(3039), + [anon_sym_volatile] = ACTIONS(3039), + [anon_sym_restrict] = ACTIONS(3039), + [anon_sym___restrict__] = ACTIONS(3039), + [anon_sym__Atomic] = ACTIONS(3039), + [anon_sym__Noreturn] = ACTIONS(3039), + [anon_sym_noreturn] = ACTIONS(3039), + [anon_sym_mutable] = ACTIONS(3039), + [anon_sym_constinit] = ACTIONS(3039), + [anon_sym_consteval] = ACTIONS(3039), + [anon_sym_alignas] = ACTIONS(3039), + [anon_sym__Alignas] = ACTIONS(3039), + [sym_primitive_type] = ACTIONS(3039), + [anon_sym_enum] = ACTIONS(3039), + [anon_sym_class] = ACTIONS(3039), + [anon_sym_struct] = ACTIONS(3039), + [anon_sym_union] = ACTIONS(3039), + [anon_sym_if] = ACTIONS(3039), + [anon_sym_switch] = ACTIONS(3039), + [anon_sym_case] = ACTIONS(3039), + [anon_sym_default] = ACTIONS(3039), + [anon_sym_while] = ACTIONS(3039), + [anon_sym_do] = ACTIONS(3039), + [anon_sym_for] = ACTIONS(3039), + [anon_sym_return] = ACTIONS(3039), + [anon_sym_break] = ACTIONS(3039), + [anon_sym_continue] = ACTIONS(3039), + [anon_sym_goto] = ACTIONS(3039), + [anon_sym___try] = ACTIONS(3039), + [anon_sym___leave] = ACTIONS(3039), + [anon_sym_not] = ACTIONS(3039), + [anon_sym_compl] = ACTIONS(3039), + [anon_sym_DASH_DASH] = ACTIONS(3041), + [anon_sym_PLUS_PLUS] = ACTIONS(3041), + [anon_sym_sizeof] = ACTIONS(3039), + [anon_sym___alignof__] = ACTIONS(3039), + [anon_sym___alignof] = ACTIONS(3039), + [anon_sym__alignof] = ACTIONS(3039), + [anon_sym_alignof] = ACTIONS(3039), + [anon_sym__Alignof] = ACTIONS(3039), + [anon_sym_offsetof] = ACTIONS(3039), + [anon_sym__Generic] = ACTIONS(3039), + [anon_sym_asm] = ACTIONS(3039), + [anon_sym___asm__] = ACTIONS(3039), + [sym__number_literal] = ACTIONS(3041), + [anon_sym_L_SQUOTE] = ACTIONS(3041), + [anon_sym_u_SQUOTE] = ACTIONS(3041), + [anon_sym_U_SQUOTE] = ACTIONS(3041), + [anon_sym_u8_SQUOTE] = ACTIONS(3041), + [anon_sym_SQUOTE] = ACTIONS(3041), + [anon_sym_L_DQUOTE] = ACTIONS(3041), + [anon_sym_u_DQUOTE] = ACTIONS(3041), + [anon_sym_U_DQUOTE] = ACTIONS(3041), + [anon_sym_u8_DQUOTE] = ACTIONS(3041), + [anon_sym_DQUOTE] = ACTIONS(3041), + [sym_true] = ACTIONS(3039), + [sym_false] = ACTIONS(3039), + [anon_sym_NULL] = ACTIONS(3039), + [anon_sym_nullptr] = ACTIONS(3039), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3041), + [sym_auto] = ACTIONS(3039), + [anon_sym_decltype] = ACTIONS(3039), + [sym_virtual] = ACTIONS(3039), + [anon_sym_explicit] = ACTIONS(3039), + [anon_sym_typename] = ACTIONS(3039), + [anon_sym_template] = ACTIONS(3039), + [anon_sym_operator] = ACTIONS(3039), + [anon_sym_try] = ACTIONS(3039), + [anon_sym_delete] = ACTIONS(3039), + [anon_sym_throw] = ACTIONS(3039), + [anon_sym_namespace] = ACTIONS(3039), + [anon_sym_using] = ACTIONS(3039), + [anon_sym_static_assert] = ACTIONS(3039), + [anon_sym_concept] = ACTIONS(3039), + [anon_sym_co_return] = ACTIONS(3039), + [anon_sym_co_yield] = ACTIONS(3039), + [anon_sym_R_DQUOTE] = ACTIONS(3041), + [anon_sym_LR_DQUOTE] = ACTIONS(3041), + [anon_sym_uR_DQUOTE] = ACTIONS(3041), + [anon_sym_UR_DQUOTE] = ACTIONS(3041), + [anon_sym_u8R_DQUOTE] = ACTIONS(3041), + [anon_sym_co_await] = ACTIONS(3039), + [anon_sym_new] = ACTIONS(3039), + [anon_sym_requires] = ACTIONS(3039), + [sym_this] = ACTIONS(3039), + }, + [349] = { + [sym_catch_clause] = STATE(349), + [aux_sym_constructor_try_statement_repeat1] = STATE(349), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_include_token1] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token2] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_BANG] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_DASH] = ACTIONS(2572), + [anon_sym_PLUS] = ACTIONS(2572), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym_SEMI] = ACTIONS(2574), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym___cdecl] = ACTIONS(2572), + [anon_sym___clrcall] = ACTIONS(2572), + [anon_sym___stdcall] = ACTIONS(2572), + [anon_sym___fastcall] = ACTIONS(2572), + [anon_sym___thiscall] = ACTIONS(2572), + [anon_sym___vectorcall] = ACTIONS(2572), + [anon_sym_LBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [anon_sym_if] = ACTIONS(2572), + [anon_sym_else] = ACTIONS(2572), + [anon_sym_switch] = ACTIONS(2572), + [anon_sym_case] = ACTIONS(2572), + [anon_sym_default] = ACTIONS(2572), + [anon_sym_while] = ACTIONS(2572), + [anon_sym_do] = ACTIONS(2572), + [anon_sym_for] = ACTIONS(2572), + [anon_sym_return] = ACTIONS(2572), + [anon_sym_break] = ACTIONS(2572), + [anon_sym_continue] = ACTIONS(2572), + [anon_sym_goto] = ACTIONS(2572), + [anon_sym___try] = ACTIONS(2572), + [anon_sym___leave] = ACTIONS(2572), + [anon_sym_not] = ACTIONS(2572), + [anon_sym_compl] = ACTIONS(2572), + [anon_sym_DASH_DASH] = ACTIONS(2574), + [anon_sym_PLUS_PLUS] = ACTIONS(2574), + [anon_sym_sizeof] = ACTIONS(2572), + [anon_sym___alignof__] = ACTIONS(2572), + [anon_sym___alignof] = ACTIONS(2572), + [anon_sym__alignof] = ACTIONS(2572), + [anon_sym_alignof] = ACTIONS(2572), + [anon_sym__Alignof] = ACTIONS(2572), + [anon_sym_offsetof] = ACTIONS(2572), + [anon_sym__Generic] = ACTIONS(2572), + [anon_sym_asm] = ACTIONS(2572), + [anon_sym___asm__] = ACTIONS(2572), + [sym__number_literal] = ACTIONS(2574), + [anon_sym_L_SQUOTE] = ACTIONS(2574), + [anon_sym_u_SQUOTE] = ACTIONS(2574), + [anon_sym_U_SQUOTE] = ACTIONS(2574), + [anon_sym_u8_SQUOTE] = ACTIONS(2574), + [anon_sym_SQUOTE] = ACTIONS(2574), + [anon_sym_L_DQUOTE] = ACTIONS(2574), + [anon_sym_u_DQUOTE] = ACTIONS(2574), + [anon_sym_U_DQUOTE] = ACTIONS(2574), + [anon_sym_u8_DQUOTE] = ACTIONS(2574), + [anon_sym_DQUOTE] = ACTIONS(2574), + [sym_true] = ACTIONS(2572), + [sym_false] = ACTIONS(2572), + [anon_sym_NULL] = ACTIONS(2572), + [anon_sym_nullptr] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_try] = ACTIONS(2572), + [anon_sym_delete] = ACTIONS(2572), + [anon_sym_throw] = ACTIONS(2572), + [anon_sym_namespace] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_concept] = ACTIONS(2572), + [anon_sym_co_return] = ACTIONS(2572), + [anon_sym_co_yield] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(3043), + [anon_sym_R_DQUOTE] = ACTIONS(2574), + [anon_sym_LR_DQUOTE] = ACTIONS(2574), + [anon_sym_uR_DQUOTE] = ACTIONS(2574), + [anon_sym_UR_DQUOTE] = ACTIONS(2574), + [anon_sym_u8R_DQUOTE] = ACTIONS(2574), + [anon_sym_co_await] = ACTIONS(2572), + [anon_sym_new] = ACTIONS(2572), + [anon_sym_requires] = ACTIONS(2572), + [sym_this] = ACTIONS(2572), + }, + [350] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_include_token1] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token2] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [aux_sym_preproc_else_token1] = ACTIONS(3046), + [aux_sym_preproc_elif_token1] = ACTIONS(3046), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_BANG] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_DASH] = ACTIONS(3046), + [anon_sym_PLUS] = ACTIONS(3046), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym_SEMI] = ACTIONS(3048), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym___cdecl] = ACTIONS(3046), + [anon_sym___clrcall] = ACTIONS(3046), + [anon_sym___stdcall] = ACTIONS(3046), + [anon_sym___fastcall] = ACTIONS(3046), + [anon_sym___thiscall] = ACTIONS(3046), + [anon_sym___vectorcall] = ACTIONS(3046), + [anon_sym_LBRACE] = ACTIONS(3048), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [anon_sym_if] = ACTIONS(3046), + [anon_sym_switch] = ACTIONS(3046), + [anon_sym_case] = ACTIONS(3046), + [anon_sym_default] = ACTIONS(3046), + [anon_sym_while] = ACTIONS(3046), + [anon_sym_do] = ACTIONS(3046), + [anon_sym_for] = ACTIONS(3046), + [anon_sym_return] = ACTIONS(3046), + [anon_sym_break] = ACTIONS(3046), + [anon_sym_continue] = ACTIONS(3046), + [anon_sym_goto] = ACTIONS(3046), + [anon_sym___try] = ACTIONS(3046), + [anon_sym___leave] = ACTIONS(3046), + [anon_sym_not] = ACTIONS(3046), + [anon_sym_compl] = ACTIONS(3046), + [anon_sym_DASH_DASH] = ACTIONS(3048), + [anon_sym_PLUS_PLUS] = ACTIONS(3048), + [anon_sym_sizeof] = ACTIONS(3046), + [anon_sym___alignof__] = ACTIONS(3046), + [anon_sym___alignof] = ACTIONS(3046), + [anon_sym__alignof] = ACTIONS(3046), + [anon_sym_alignof] = ACTIONS(3046), + [anon_sym__Alignof] = ACTIONS(3046), + [anon_sym_offsetof] = ACTIONS(3046), + [anon_sym__Generic] = ACTIONS(3046), + [anon_sym_asm] = ACTIONS(3046), + [anon_sym___asm__] = ACTIONS(3046), + [sym__number_literal] = ACTIONS(3048), + [anon_sym_L_SQUOTE] = ACTIONS(3048), + [anon_sym_u_SQUOTE] = ACTIONS(3048), + [anon_sym_U_SQUOTE] = ACTIONS(3048), + [anon_sym_u8_SQUOTE] = ACTIONS(3048), + [anon_sym_SQUOTE] = ACTIONS(3048), + [anon_sym_L_DQUOTE] = ACTIONS(3048), + [anon_sym_u_DQUOTE] = ACTIONS(3048), + [anon_sym_U_DQUOTE] = ACTIONS(3048), + [anon_sym_u8_DQUOTE] = ACTIONS(3048), + [anon_sym_DQUOTE] = ACTIONS(3048), + [sym_true] = ACTIONS(3046), + [sym_false] = ACTIONS(3046), + [anon_sym_NULL] = ACTIONS(3046), + [anon_sym_nullptr] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_try] = ACTIONS(3046), + [anon_sym_delete] = ACTIONS(3046), + [anon_sym_throw] = ACTIONS(3046), + [anon_sym_namespace] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + [anon_sym_concept] = ACTIONS(3046), + [anon_sym_co_return] = ACTIONS(3046), + [anon_sym_co_yield] = ACTIONS(3046), + [anon_sym_R_DQUOTE] = ACTIONS(3048), + [anon_sym_LR_DQUOTE] = ACTIONS(3048), + [anon_sym_uR_DQUOTE] = ACTIONS(3048), + [anon_sym_UR_DQUOTE] = ACTIONS(3048), + [anon_sym_u8R_DQUOTE] = ACTIONS(3048), + [anon_sym_co_await] = ACTIONS(3046), + [anon_sym_new] = ACTIONS(3046), + [anon_sym_requires] = ACTIONS(3046), + [sym_this] = ACTIONS(3046), + }, + [351] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_include_token1] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token2] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [aux_sym_preproc_else_token1] = ACTIONS(3050), + [aux_sym_preproc_elif_token1] = ACTIONS(3050), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_BANG] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_DASH] = ACTIONS(3050), + [anon_sym_PLUS] = ACTIONS(3050), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym_SEMI] = ACTIONS(3052), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym___cdecl] = ACTIONS(3050), + [anon_sym___clrcall] = ACTIONS(3050), + [anon_sym___stdcall] = ACTIONS(3050), + [anon_sym___fastcall] = ACTIONS(3050), + [anon_sym___thiscall] = ACTIONS(3050), + [anon_sym___vectorcall] = ACTIONS(3050), + [anon_sym_LBRACE] = ACTIONS(3052), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [anon_sym_if] = ACTIONS(3050), + [anon_sym_switch] = ACTIONS(3050), + [anon_sym_case] = ACTIONS(3050), + [anon_sym_default] = ACTIONS(3050), + [anon_sym_while] = ACTIONS(3050), + [anon_sym_do] = ACTIONS(3050), + [anon_sym_for] = ACTIONS(3050), + [anon_sym_return] = ACTIONS(3050), + [anon_sym_break] = ACTIONS(3050), + [anon_sym_continue] = ACTIONS(3050), + [anon_sym_goto] = ACTIONS(3050), + [anon_sym___try] = ACTIONS(3050), + [anon_sym___leave] = ACTIONS(3050), + [anon_sym_not] = ACTIONS(3050), + [anon_sym_compl] = ACTIONS(3050), + [anon_sym_DASH_DASH] = ACTIONS(3052), + [anon_sym_PLUS_PLUS] = ACTIONS(3052), + [anon_sym_sizeof] = ACTIONS(3050), + [anon_sym___alignof__] = ACTIONS(3050), + [anon_sym___alignof] = ACTIONS(3050), + [anon_sym__alignof] = ACTIONS(3050), + [anon_sym_alignof] = ACTIONS(3050), + [anon_sym__Alignof] = ACTIONS(3050), + [anon_sym_offsetof] = ACTIONS(3050), + [anon_sym__Generic] = ACTIONS(3050), + [anon_sym_asm] = ACTIONS(3050), + [anon_sym___asm__] = ACTIONS(3050), + [sym__number_literal] = ACTIONS(3052), + [anon_sym_L_SQUOTE] = ACTIONS(3052), + [anon_sym_u_SQUOTE] = ACTIONS(3052), + [anon_sym_U_SQUOTE] = ACTIONS(3052), + [anon_sym_u8_SQUOTE] = ACTIONS(3052), + [anon_sym_SQUOTE] = ACTIONS(3052), + [anon_sym_L_DQUOTE] = ACTIONS(3052), + [anon_sym_u_DQUOTE] = ACTIONS(3052), + [anon_sym_U_DQUOTE] = ACTIONS(3052), + [anon_sym_u8_DQUOTE] = ACTIONS(3052), + [anon_sym_DQUOTE] = ACTIONS(3052), + [sym_true] = ACTIONS(3050), + [sym_false] = ACTIONS(3050), + [anon_sym_NULL] = ACTIONS(3050), + [anon_sym_nullptr] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_try] = ACTIONS(3050), + [anon_sym_delete] = ACTIONS(3050), + [anon_sym_throw] = ACTIONS(3050), + [anon_sym_namespace] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + [anon_sym_concept] = ACTIONS(3050), + [anon_sym_co_return] = ACTIONS(3050), + [anon_sym_co_yield] = ACTIONS(3050), + [anon_sym_R_DQUOTE] = ACTIONS(3052), + [anon_sym_LR_DQUOTE] = ACTIONS(3052), + [anon_sym_uR_DQUOTE] = ACTIONS(3052), + [anon_sym_UR_DQUOTE] = ACTIONS(3052), + [anon_sym_u8R_DQUOTE] = ACTIONS(3052), + [anon_sym_co_await] = ACTIONS(3050), + [anon_sym_new] = ACTIONS(3050), + [anon_sym_requires] = ACTIONS(3050), + [sym_this] = ACTIONS(3050), + }, + [352] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_include_token1] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token2] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [aux_sym_preproc_else_token1] = ACTIONS(3054), + [aux_sym_preproc_elif_token1] = ACTIONS(3054), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_BANG] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_DASH] = ACTIONS(3054), + [anon_sym_PLUS] = ACTIONS(3054), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym_SEMI] = ACTIONS(3056), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym___cdecl] = ACTIONS(3054), + [anon_sym___clrcall] = ACTIONS(3054), + [anon_sym___stdcall] = ACTIONS(3054), + [anon_sym___fastcall] = ACTIONS(3054), + [anon_sym___thiscall] = ACTIONS(3054), + [anon_sym___vectorcall] = ACTIONS(3054), + [anon_sym_LBRACE] = ACTIONS(3056), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [anon_sym_if] = ACTIONS(3054), + [anon_sym_switch] = ACTIONS(3054), + [anon_sym_case] = ACTIONS(3054), + [anon_sym_default] = ACTIONS(3054), + [anon_sym_while] = ACTIONS(3054), + [anon_sym_do] = ACTIONS(3054), + [anon_sym_for] = ACTIONS(3054), + [anon_sym_return] = ACTIONS(3054), + [anon_sym_break] = ACTIONS(3054), + [anon_sym_continue] = ACTIONS(3054), + [anon_sym_goto] = ACTIONS(3054), + [anon_sym___try] = ACTIONS(3054), + [anon_sym___leave] = ACTIONS(3054), + [anon_sym_not] = ACTIONS(3054), + [anon_sym_compl] = ACTIONS(3054), + [anon_sym_DASH_DASH] = ACTIONS(3056), + [anon_sym_PLUS_PLUS] = ACTIONS(3056), + [anon_sym_sizeof] = ACTIONS(3054), + [anon_sym___alignof__] = ACTIONS(3054), + [anon_sym___alignof] = ACTIONS(3054), + [anon_sym__alignof] = ACTIONS(3054), + [anon_sym_alignof] = ACTIONS(3054), + [anon_sym__Alignof] = ACTIONS(3054), + [anon_sym_offsetof] = ACTIONS(3054), + [anon_sym__Generic] = ACTIONS(3054), + [anon_sym_asm] = ACTIONS(3054), + [anon_sym___asm__] = ACTIONS(3054), + [sym__number_literal] = ACTIONS(3056), + [anon_sym_L_SQUOTE] = ACTIONS(3056), + [anon_sym_u_SQUOTE] = ACTIONS(3056), + [anon_sym_U_SQUOTE] = ACTIONS(3056), + [anon_sym_u8_SQUOTE] = ACTIONS(3056), + [anon_sym_SQUOTE] = ACTIONS(3056), + [anon_sym_L_DQUOTE] = ACTIONS(3056), + [anon_sym_u_DQUOTE] = ACTIONS(3056), + [anon_sym_U_DQUOTE] = ACTIONS(3056), + [anon_sym_u8_DQUOTE] = ACTIONS(3056), + [anon_sym_DQUOTE] = ACTIONS(3056), + [sym_true] = ACTIONS(3054), + [sym_false] = ACTIONS(3054), + [anon_sym_NULL] = ACTIONS(3054), + [anon_sym_nullptr] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_try] = ACTIONS(3054), + [anon_sym_delete] = ACTIONS(3054), + [anon_sym_throw] = ACTIONS(3054), + [anon_sym_namespace] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + [anon_sym_concept] = ACTIONS(3054), + [anon_sym_co_return] = ACTIONS(3054), + [anon_sym_co_yield] = ACTIONS(3054), + [anon_sym_R_DQUOTE] = ACTIONS(3056), + [anon_sym_LR_DQUOTE] = ACTIONS(3056), + [anon_sym_uR_DQUOTE] = ACTIONS(3056), + [anon_sym_UR_DQUOTE] = ACTIONS(3056), + [anon_sym_u8R_DQUOTE] = ACTIONS(3056), + [anon_sym_co_await] = ACTIONS(3054), + [anon_sym_new] = ACTIONS(3054), + [anon_sym_requires] = ACTIONS(3054), + [sym_this] = ACTIONS(3054), + }, + [353] = { + [sym__identifier] = ACTIONS(3058), + [aux_sym_preproc_include_token1] = ACTIONS(3058), + [aux_sym_preproc_def_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token2] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3058), + [aux_sym_preproc_else_token1] = ACTIONS(3058), + [aux_sym_preproc_elif_token1] = ACTIONS(3058), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3058), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3058), + [sym_preproc_directive] = ACTIONS(3058), + [anon_sym_LPAREN2] = ACTIONS(3060), + [anon_sym_BANG] = ACTIONS(3060), + [anon_sym_TILDE] = ACTIONS(3060), + [anon_sym_DASH] = ACTIONS(3058), + [anon_sym_PLUS] = ACTIONS(3058), + [anon_sym_STAR] = ACTIONS(3060), + [anon_sym_AMP_AMP] = ACTIONS(3060), + [anon_sym_AMP] = ACTIONS(3058), + [anon_sym_SEMI] = ACTIONS(3060), + [anon_sym___extension__] = ACTIONS(3058), + [anon_sym_typedef] = ACTIONS(3058), + [anon_sym_extern] = ACTIONS(3058), + [anon_sym___attribute__] = ACTIONS(3058), + [anon_sym_COLON_COLON] = ACTIONS(3060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3060), + [anon_sym___declspec] = ACTIONS(3058), + [anon_sym___based] = ACTIONS(3058), + [anon_sym___cdecl] = ACTIONS(3058), + [anon_sym___clrcall] = ACTIONS(3058), + [anon_sym___stdcall] = ACTIONS(3058), + [anon_sym___fastcall] = ACTIONS(3058), + [anon_sym___thiscall] = ACTIONS(3058), + [anon_sym___vectorcall] = ACTIONS(3058), + [anon_sym_LBRACE] = ACTIONS(3060), + [anon_sym_signed] = ACTIONS(3058), + [anon_sym_unsigned] = ACTIONS(3058), + [anon_sym_long] = ACTIONS(3058), + [anon_sym_short] = ACTIONS(3058), + [anon_sym_LBRACK] = ACTIONS(3058), + [anon_sym_static] = ACTIONS(3058), + [anon_sym_register] = ACTIONS(3058), + [anon_sym_inline] = ACTIONS(3058), + [anon_sym___inline] = ACTIONS(3058), + [anon_sym___inline__] = ACTIONS(3058), + [anon_sym___forceinline] = ACTIONS(3058), + [anon_sym_thread_local] = ACTIONS(3058), + [anon_sym___thread] = ACTIONS(3058), + [anon_sym_const] = ACTIONS(3058), + [anon_sym_constexpr] = ACTIONS(3058), + [anon_sym_volatile] = ACTIONS(3058), + [anon_sym_restrict] = ACTIONS(3058), + [anon_sym___restrict__] = ACTIONS(3058), + [anon_sym__Atomic] = ACTIONS(3058), + [anon_sym__Noreturn] = ACTIONS(3058), + [anon_sym_noreturn] = ACTIONS(3058), + [anon_sym_mutable] = ACTIONS(3058), + [anon_sym_constinit] = ACTIONS(3058), + [anon_sym_consteval] = ACTIONS(3058), + [anon_sym_alignas] = ACTIONS(3058), + [anon_sym__Alignas] = ACTIONS(3058), + [sym_primitive_type] = ACTIONS(3058), + [anon_sym_enum] = ACTIONS(3058), + [anon_sym_class] = ACTIONS(3058), + [anon_sym_struct] = ACTIONS(3058), + [anon_sym_union] = ACTIONS(3058), + [anon_sym_if] = ACTIONS(3058), + [anon_sym_switch] = ACTIONS(3058), + [anon_sym_case] = ACTIONS(3058), + [anon_sym_default] = ACTIONS(3058), + [anon_sym_while] = ACTIONS(3058), + [anon_sym_do] = ACTIONS(3058), + [anon_sym_for] = ACTIONS(3058), + [anon_sym_return] = ACTIONS(3058), + [anon_sym_break] = ACTIONS(3058), + [anon_sym_continue] = ACTIONS(3058), + [anon_sym_goto] = ACTIONS(3058), + [anon_sym___try] = ACTIONS(3058), + [anon_sym___leave] = ACTIONS(3058), + [anon_sym_not] = ACTIONS(3058), + [anon_sym_compl] = ACTIONS(3058), + [anon_sym_DASH_DASH] = ACTIONS(3060), + [anon_sym_PLUS_PLUS] = ACTIONS(3060), + [anon_sym_sizeof] = ACTIONS(3058), + [anon_sym___alignof__] = ACTIONS(3058), + [anon_sym___alignof] = ACTIONS(3058), + [anon_sym__alignof] = ACTIONS(3058), + [anon_sym_alignof] = ACTIONS(3058), + [anon_sym__Alignof] = ACTIONS(3058), + [anon_sym_offsetof] = ACTIONS(3058), + [anon_sym__Generic] = ACTIONS(3058), + [anon_sym_asm] = ACTIONS(3058), + [anon_sym___asm__] = ACTIONS(3058), + [sym__number_literal] = ACTIONS(3060), + [anon_sym_L_SQUOTE] = ACTIONS(3060), + [anon_sym_u_SQUOTE] = ACTIONS(3060), + [anon_sym_U_SQUOTE] = ACTIONS(3060), + [anon_sym_u8_SQUOTE] = ACTIONS(3060), + [anon_sym_SQUOTE] = ACTIONS(3060), + [anon_sym_L_DQUOTE] = ACTIONS(3060), + [anon_sym_u_DQUOTE] = ACTIONS(3060), + [anon_sym_U_DQUOTE] = ACTIONS(3060), + [anon_sym_u8_DQUOTE] = ACTIONS(3060), + [anon_sym_DQUOTE] = ACTIONS(3060), + [sym_true] = ACTIONS(3058), + [sym_false] = ACTIONS(3058), + [anon_sym_NULL] = ACTIONS(3058), + [anon_sym_nullptr] = ACTIONS(3058), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3060), + [sym_auto] = ACTIONS(3058), + [anon_sym_decltype] = ACTIONS(3058), + [sym_virtual] = ACTIONS(3058), + [anon_sym_explicit] = ACTIONS(3058), + [anon_sym_typename] = ACTIONS(3058), + [anon_sym_template] = ACTIONS(3058), + [anon_sym_operator] = ACTIONS(3058), + [anon_sym_try] = ACTIONS(3058), + [anon_sym_delete] = ACTIONS(3058), + [anon_sym_throw] = ACTIONS(3058), + [anon_sym_namespace] = ACTIONS(3058), + [anon_sym_using] = ACTIONS(3058), + [anon_sym_static_assert] = ACTIONS(3058), + [anon_sym_concept] = ACTIONS(3058), + [anon_sym_co_return] = ACTIONS(3058), + [anon_sym_co_yield] = ACTIONS(3058), + [anon_sym_R_DQUOTE] = ACTIONS(3060), + [anon_sym_LR_DQUOTE] = ACTIONS(3060), + [anon_sym_uR_DQUOTE] = ACTIONS(3060), + [anon_sym_UR_DQUOTE] = ACTIONS(3060), + [anon_sym_u8R_DQUOTE] = ACTIONS(3060), + [anon_sym_co_await] = ACTIONS(3058), + [anon_sym_new] = ACTIONS(3058), + [anon_sym_requires] = ACTIONS(3058), + [sym_this] = ACTIONS(3058), + }, + [354] = { + [sym_catch_clause] = STATE(349), + [aux_sym_constructor_try_statement_repeat1] = STATE(349), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_include_token1] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token2] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_BANG] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_DASH] = ACTIONS(2566), + [anon_sym_PLUS] = ACTIONS(2566), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym_SEMI] = ACTIONS(2568), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym___cdecl] = ACTIONS(2566), + [anon_sym___clrcall] = ACTIONS(2566), + [anon_sym___stdcall] = ACTIONS(2566), + [anon_sym___fastcall] = ACTIONS(2566), + [anon_sym___thiscall] = ACTIONS(2566), + [anon_sym___vectorcall] = ACTIONS(2566), + [anon_sym_LBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [anon_sym_if] = ACTIONS(2566), + [anon_sym_else] = ACTIONS(2566), + [anon_sym_switch] = ACTIONS(2566), + [anon_sym_case] = ACTIONS(2566), + [anon_sym_default] = ACTIONS(2566), + [anon_sym_while] = ACTIONS(2566), + [anon_sym_do] = ACTIONS(2566), + [anon_sym_for] = ACTIONS(2566), + [anon_sym_return] = ACTIONS(2566), + [anon_sym_break] = ACTIONS(2566), + [anon_sym_continue] = ACTIONS(2566), + [anon_sym_goto] = ACTIONS(2566), + [anon_sym___try] = ACTIONS(2566), + [anon_sym___leave] = ACTIONS(2566), + [anon_sym_not] = ACTIONS(2566), + [anon_sym_compl] = ACTIONS(2566), + [anon_sym_DASH_DASH] = ACTIONS(2568), + [anon_sym_PLUS_PLUS] = ACTIONS(2568), + [anon_sym_sizeof] = ACTIONS(2566), + [anon_sym___alignof__] = ACTIONS(2566), + [anon_sym___alignof] = ACTIONS(2566), + [anon_sym__alignof] = ACTIONS(2566), + [anon_sym_alignof] = ACTIONS(2566), + [anon_sym__Alignof] = ACTIONS(2566), + [anon_sym_offsetof] = ACTIONS(2566), + [anon_sym__Generic] = ACTIONS(2566), + [anon_sym_asm] = ACTIONS(2566), + [anon_sym___asm__] = ACTIONS(2566), + [sym__number_literal] = ACTIONS(2568), + [anon_sym_L_SQUOTE] = ACTIONS(2568), + [anon_sym_u_SQUOTE] = ACTIONS(2568), + [anon_sym_U_SQUOTE] = ACTIONS(2568), + [anon_sym_u8_SQUOTE] = ACTIONS(2568), + [anon_sym_SQUOTE] = ACTIONS(2568), + [anon_sym_L_DQUOTE] = ACTIONS(2568), + [anon_sym_u_DQUOTE] = ACTIONS(2568), + [anon_sym_U_DQUOTE] = ACTIONS(2568), + [anon_sym_u8_DQUOTE] = ACTIONS(2568), + [anon_sym_DQUOTE] = ACTIONS(2568), + [sym_true] = ACTIONS(2566), + [sym_false] = ACTIONS(2566), + [anon_sym_NULL] = ACTIONS(2566), + [anon_sym_nullptr] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_try] = ACTIONS(2566), + [anon_sym_delete] = ACTIONS(2566), + [anon_sym_throw] = ACTIONS(2566), + [anon_sym_namespace] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_concept] = ACTIONS(2566), + [anon_sym_co_return] = ACTIONS(2566), + [anon_sym_co_yield] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(3062), + [anon_sym_R_DQUOTE] = ACTIONS(2568), + [anon_sym_LR_DQUOTE] = ACTIONS(2568), + [anon_sym_uR_DQUOTE] = ACTIONS(2568), + [anon_sym_UR_DQUOTE] = ACTIONS(2568), + [anon_sym_u8R_DQUOTE] = ACTIONS(2568), + [anon_sym_co_await] = ACTIONS(2566), + [anon_sym_new] = ACTIONS(2566), + [anon_sym_requires] = ACTIONS(2566), + [sym_this] = ACTIONS(2566), + }, + [355] = { + [sym_preproc_def] = STATE(361), + [sym_preproc_function_def] = STATE(361), + [sym_preproc_call] = STATE(361), + [sym_preproc_if_in_field_declaration_list] = STATE(361), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(361), + [sym_preproc_else_in_field_declaration_list] = STATE(8017), + [sym_preproc_elif_in_field_declaration_list] = STATE(8017), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8017), + [sym_type_definition] = STATE(361), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(361), + [sym_field_declaration] = STATE(361), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(361), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(361), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(361), + [sym_operator_cast_declaration] = STATE(361), + [sym_constructor_or_destructor_definition] = STATE(361), + [sym_constructor_or_destructor_declaration] = STATE(361), + [sym_friend_declaration] = STATE(361), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(361), + [sym_alias_declaration] = STATE(361), + [sym_static_assert_declaration] = STATE(361), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(361), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [356] = { + [sym__identifier] = ACTIONS(3066), + [aux_sym_preproc_include_token1] = ACTIONS(3066), + [aux_sym_preproc_def_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token2] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3066), + [aux_sym_preproc_else_token1] = ACTIONS(3066), + [aux_sym_preproc_elif_token1] = ACTIONS(3066), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3066), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3066), + [sym_preproc_directive] = ACTIONS(3066), + [anon_sym_LPAREN2] = ACTIONS(3068), + [anon_sym_BANG] = ACTIONS(3068), + [anon_sym_TILDE] = ACTIONS(3068), + [anon_sym_DASH] = ACTIONS(3066), + [anon_sym_PLUS] = ACTIONS(3066), + [anon_sym_STAR] = ACTIONS(3068), + [anon_sym_AMP_AMP] = ACTIONS(3068), + [anon_sym_AMP] = ACTIONS(3066), + [anon_sym_SEMI] = ACTIONS(3068), + [anon_sym___extension__] = ACTIONS(3066), + [anon_sym_typedef] = ACTIONS(3066), + [anon_sym_extern] = ACTIONS(3066), + [anon_sym___attribute__] = ACTIONS(3066), + [anon_sym_COLON_COLON] = ACTIONS(3068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3068), + [anon_sym___declspec] = ACTIONS(3066), + [anon_sym___based] = ACTIONS(3066), + [anon_sym___cdecl] = ACTIONS(3066), + [anon_sym___clrcall] = ACTIONS(3066), + [anon_sym___stdcall] = ACTIONS(3066), + [anon_sym___fastcall] = ACTIONS(3066), + [anon_sym___thiscall] = ACTIONS(3066), + [anon_sym___vectorcall] = ACTIONS(3066), + [anon_sym_LBRACE] = ACTIONS(3068), + [anon_sym_signed] = ACTIONS(3066), + [anon_sym_unsigned] = ACTIONS(3066), + [anon_sym_long] = ACTIONS(3066), + [anon_sym_short] = ACTIONS(3066), + [anon_sym_LBRACK] = ACTIONS(3066), + [anon_sym_static] = ACTIONS(3066), + [anon_sym_register] = ACTIONS(3066), + [anon_sym_inline] = ACTIONS(3066), + [anon_sym___inline] = ACTIONS(3066), + [anon_sym___inline__] = ACTIONS(3066), + [anon_sym___forceinline] = ACTIONS(3066), + [anon_sym_thread_local] = ACTIONS(3066), + [anon_sym___thread] = ACTIONS(3066), + [anon_sym_const] = ACTIONS(3066), + [anon_sym_constexpr] = ACTIONS(3066), + [anon_sym_volatile] = ACTIONS(3066), + [anon_sym_restrict] = ACTIONS(3066), + [anon_sym___restrict__] = ACTIONS(3066), + [anon_sym__Atomic] = ACTIONS(3066), + [anon_sym__Noreturn] = ACTIONS(3066), + [anon_sym_noreturn] = ACTIONS(3066), + [anon_sym_mutable] = ACTIONS(3066), + [anon_sym_constinit] = ACTIONS(3066), + [anon_sym_consteval] = ACTIONS(3066), + [anon_sym_alignas] = ACTIONS(3066), + [anon_sym__Alignas] = ACTIONS(3066), + [sym_primitive_type] = ACTIONS(3066), + [anon_sym_enum] = ACTIONS(3066), + [anon_sym_class] = ACTIONS(3066), + [anon_sym_struct] = ACTIONS(3066), + [anon_sym_union] = ACTIONS(3066), + [anon_sym_if] = ACTIONS(3066), + [anon_sym_switch] = ACTIONS(3066), + [anon_sym_case] = ACTIONS(3066), + [anon_sym_default] = ACTIONS(3066), + [anon_sym_while] = ACTIONS(3066), + [anon_sym_do] = ACTIONS(3066), + [anon_sym_for] = ACTIONS(3066), + [anon_sym_return] = ACTIONS(3066), + [anon_sym_break] = ACTIONS(3066), + [anon_sym_continue] = ACTIONS(3066), + [anon_sym_goto] = ACTIONS(3066), + [anon_sym___try] = ACTIONS(3066), + [anon_sym___leave] = ACTIONS(3066), + [anon_sym_not] = ACTIONS(3066), + [anon_sym_compl] = ACTIONS(3066), + [anon_sym_DASH_DASH] = ACTIONS(3068), + [anon_sym_PLUS_PLUS] = ACTIONS(3068), + [anon_sym_sizeof] = ACTIONS(3066), + [anon_sym___alignof__] = ACTIONS(3066), + [anon_sym___alignof] = ACTIONS(3066), + [anon_sym__alignof] = ACTIONS(3066), + [anon_sym_alignof] = ACTIONS(3066), + [anon_sym__Alignof] = ACTIONS(3066), + [anon_sym_offsetof] = ACTIONS(3066), + [anon_sym__Generic] = ACTIONS(3066), + [anon_sym_asm] = ACTIONS(3066), + [anon_sym___asm__] = ACTIONS(3066), + [sym__number_literal] = ACTIONS(3068), + [anon_sym_L_SQUOTE] = ACTIONS(3068), + [anon_sym_u_SQUOTE] = ACTIONS(3068), + [anon_sym_U_SQUOTE] = ACTIONS(3068), + [anon_sym_u8_SQUOTE] = ACTIONS(3068), + [anon_sym_SQUOTE] = ACTIONS(3068), + [anon_sym_L_DQUOTE] = ACTIONS(3068), + [anon_sym_u_DQUOTE] = ACTIONS(3068), + [anon_sym_U_DQUOTE] = ACTIONS(3068), + [anon_sym_u8_DQUOTE] = ACTIONS(3068), + [anon_sym_DQUOTE] = ACTIONS(3068), + [sym_true] = ACTIONS(3066), + [sym_false] = ACTIONS(3066), + [anon_sym_NULL] = ACTIONS(3066), + [anon_sym_nullptr] = ACTIONS(3066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3068), + [sym_auto] = ACTIONS(3066), + [anon_sym_decltype] = ACTIONS(3066), + [sym_virtual] = ACTIONS(3066), + [anon_sym_explicit] = ACTIONS(3066), + [anon_sym_typename] = ACTIONS(3066), + [anon_sym_template] = ACTIONS(3066), + [anon_sym_operator] = ACTIONS(3066), + [anon_sym_try] = ACTIONS(3066), + [anon_sym_delete] = ACTIONS(3066), + [anon_sym_throw] = ACTIONS(3066), + [anon_sym_namespace] = ACTIONS(3066), + [anon_sym_using] = ACTIONS(3066), + [anon_sym_static_assert] = ACTIONS(3066), + [anon_sym_concept] = ACTIONS(3066), + [anon_sym_co_return] = ACTIONS(3066), + [anon_sym_co_yield] = ACTIONS(3066), + [anon_sym_R_DQUOTE] = ACTIONS(3068), + [anon_sym_LR_DQUOTE] = ACTIONS(3068), + [anon_sym_uR_DQUOTE] = ACTIONS(3068), + [anon_sym_UR_DQUOTE] = ACTIONS(3068), + [anon_sym_u8R_DQUOTE] = ACTIONS(3068), + [anon_sym_co_await] = ACTIONS(3066), + [anon_sym_new] = ACTIONS(3066), + [anon_sym_requires] = ACTIONS(3066), + [sym_this] = ACTIONS(3066), + }, + [357] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_include_token1] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token2] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [aux_sym_preproc_else_token1] = ACTIONS(3070), + [aux_sym_preproc_elif_token1] = ACTIONS(3070), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_BANG] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_DASH] = ACTIONS(3070), + [anon_sym_PLUS] = ACTIONS(3070), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym_SEMI] = ACTIONS(3072), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym___cdecl] = ACTIONS(3070), + [anon_sym___clrcall] = ACTIONS(3070), + [anon_sym___stdcall] = ACTIONS(3070), + [anon_sym___fastcall] = ACTIONS(3070), + [anon_sym___thiscall] = ACTIONS(3070), + [anon_sym___vectorcall] = ACTIONS(3070), + [anon_sym_LBRACE] = ACTIONS(3072), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [anon_sym_if] = ACTIONS(3070), + [anon_sym_switch] = ACTIONS(3070), + [anon_sym_case] = ACTIONS(3070), + [anon_sym_default] = ACTIONS(3070), + [anon_sym_while] = ACTIONS(3070), + [anon_sym_do] = ACTIONS(3070), + [anon_sym_for] = ACTIONS(3070), + [anon_sym_return] = ACTIONS(3070), + [anon_sym_break] = ACTIONS(3070), + [anon_sym_continue] = ACTIONS(3070), + [anon_sym_goto] = ACTIONS(3070), + [anon_sym___try] = ACTIONS(3070), + [anon_sym___leave] = ACTIONS(3070), + [anon_sym_not] = ACTIONS(3070), + [anon_sym_compl] = ACTIONS(3070), + [anon_sym_DASH_DASH] = ACTIONS(3072), + [anon_sym_PLUS_PLUS] = ACTIONS(3072), + [anon_sym_sizeof] = ACTIONS(3070), + [anon_sym___alignof__] = ACTIONS(3070), + [anon_sym___alignof] = ACTIONS(3070), + [anon_sym__alignof] = ACTIONS(3070), + [anon_sym_alignof] = ACTIONS(3070), + [anon_sym__Alignof] = ACTIONS(3070), + [anon_sym_offsetof] = ACTIONS(3070), + [anon_sym__Generic] = ACTIONS(3070), + [anon_sym_asm] = ACTIONS(3070), + [anon_sym___asm__] = ACTIONS(3070), + [sym__number_literal] = ACTIONS(3072), + [anon_sym_L_SQUOTE] = ACTIONS(3072), + [anon_sym_u_SQUOTE] = ACTIONS(3072), + [anon_sym_U_SQUOTE] = ACTIONS(3072), + [anon_sym_u8_SQUOTE] = ACTIONS(3072), + [anon_sym_SQUOTE] = ACTIONS(3072), + [anon_sym_L_DQUOTE] = ACTIONS(3072), + [anon_sym_u_DQUOTE] = ACTIONS(3072), + [anon_sym_U_DQUOTE] = ACTIONS(3072), + [anon_sym_u8_DQUOTE] = ACTIONS(3072), + [anon_sym_DQUOTE] = ACTIONS(3072), + [sym_true] = ACTIONS(3070), + [sym_false] = ACTIONS(3070), + [anon_sym_NULL] = ACTIONS(3070), + [anon_sym_nullptr] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_try] = ACTIONS(3070), + [anon_sym_delete] = ACTIONS(3070), + [anon_sym_throw] = ACTIONS(3070), + [anon_sym_namespace] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + [anon_sym_concept] = ACTIONS(3070), + [anon_sym_co_return] = ACTIONS(3070), + [anon_sym_co_yield] = ACTIONS(3070), + [anon_sym_R_DQUOTE] = ACTIONS(3072), + [anon_sym_LR_DQUOTE] = ACTIONS(3072), + [anon_sym_uR_DQUOTE] = ACTIONS(3072), + [anon_sym_UR_DQUOTE] = ACTIONS(3072), + [anon_sym_u8R_DQUOTE] = ACTIONS(3072), + [anon_sym_co_await] = ACTIONS(3070), + [anon_sym_new] = ACTIONS(3070), + [anon_sym_requires] = ACTIONS(3070), + [sym_this] = ACTIONS(3070), + }, + [358] = { + [sym__identifier] = ACTIONS(3074), + [aux_sym_preproc_include_token1] = ACTIONS(3074), + [aux_sym_preproc_def_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token2] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3074), + [aux_sym_preproc_else_token1] = ACTIONS(3074), + [aux_sym_preproc_elif_token1] = ACTIONS(3074), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3074), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3074), + [sym_preproc_directive] = ACTIONS(3074), + [anon_sym_LPAREN2] = ACTIONS(3076), + [anon_sym_BANG] = ACTIONS(3076), + [anon_sym_TILDE] = ACTIONS(3076), + [anon_sym_DASH] = ACTIONS(3074), + [anon_sym_PLUS] = ACTIONS(3074), + [anon_sym_STAR] = ACTIONS(3076), + [anon_sym_AMP_AMP] = ACTIONS(3076), + [anon_sym_AMP] = ACTIONS(3074), + [anon_sym_SEMI] = ACTIONS(3076), + [anon_sym___extension__] = ACTIONS(3074), + [anon_sym_typedef] = ACTIONS(3074), + [anon_sym_extern] = ACTIONS(3074), + [anon_sym___attribute__] = ACTIONS(3074), + [anon_sym_COLON_COLON] = ACTIONS(3076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3076), + [anon_sym___declspec] = ACTIONS(3074), + [anon_sym___based] = ACTIONS(3074), + [anon_sym___cdecl] = ACTIONS(3074), + [anon_sym___clrcall] = ACTIONS(3074), + [anon_sym___stdcall] = ACTIONS(3074), + [anon_sym___fastcall] = ACTIONS(3074), + [anon_sym___thiscall] = ACTIONS(3074), + [anon_sym___vectorcall] = ACTIONS(3074), + [anon_sym_LBRACE] = ACTIONS(3076), + [anon_sym_signed] = ACTIONS(3074), + [anon_sym_unsigned] = ACTIONS(3074), + [anon_sym_long] = ACTIONS(3074), + [anon_sym_short] = ACTIONS(3074), + [anon_sym_LBRACK] = ACTIONS(3074), + [anon_sym_static] = ACTIONS(3074), + [anon_sym_register] = ACTIONS(3074), + [anon_sym_inline] = ACTIONS(3074), + [anon_sym___inline] = ACTIONS(3074), + [anon_sym___inline__] = ACTIONS(3074), + [anon_sym___forceinline] = ACTIONS(3074), + [anon_sym_thread_local] = ACTIONS(3074), + [anon_sym___thread] = ACTIONS(3074), + [anon_sym_const] = ACTIONS(3074), + [anon_sym_constexpr] = ACTIONS(3074), + [anon_sym_volatile] = ACTIONS(3074), + [anon_sym_restrict] = ACTIONS(3074), + [anon_sym___restrict__] = ACTIONS(3074), + [anon_sym__Atomic] = ACTIONS(3074), + [anon_sym__Noreturn] = ACTIONS(3074), + [anon_sym_noreturn] = ACTIONS(3074), + [anon_sym_mutable] = ACTIONS(3074), + [anon_sym_constinit] = ACTIONS(3074), + [anon_sym_consteval] = ACTIONS(3074), + [anon_sym_alignas] = ACTIONS(3074), + [anon_sym__Alignas] = ACTIONS(3074), + [sym_primitive_type] = ACTIONS(3074), + [anon_sym_enum] = ACTIONS(3074), + [anon_sym_class] = ACTIONS(3074), + [anon_sym_struct] = ACTIONS(3074), + [anon_sym_union] = ACTIONS(3074), + [anon_sym_if] = ACTIONS(3074), + [anon_sym_switch] = ACTIONS(3074), + [anon_sym_case] = ACTIONS(3074), + [anon_sym_default] = ACTIONS(3074), + [anon_sym_while] = ACTIONS(3074), + [anon_sym_do] = ACTIONS(3074), + [anon_sym_for] = ACTIONS(3074), + [anon_sym_return] = ACTIONS(3074), + [anon_sym_break] = ACTIONS(3074), + [anon_sym_continue] = ACTIONS(3074), + [anon_sym_goto] = ACTIONS(3074), + [anon_sym___try] = ACTIONS(3074), + [anon_sym___leave] = ACTIONS(3074), + [anon_sym_not] = ACTIONS(3074), + [anon_sym_compl] = ACTIONS(3074), + [anon_sym_DASH_DASH] = ACTIONS(3076), + [anon_sym_PLUS_PLUS] = ACTIONS(3076), + [anon_sym_sizeof] = ACTIONS(3074), + [anon_sym___alignof__] = ACTIONS(3074), + [anon_sym___alignof] = ACTIONS(3074), + [anon_sym__alignof] = ACTIONS(3074), + [anon_sym_alignof] = ACTIONS(3074), + [anon_sym__Alignof] = ACTIONS(3074), + [anon_sym_offsetof] = ACTIONS(3074), + [anon_sym__Generic] = ACTIONS(3074), + [anon_sym_asm] = ACTIONS(3074), + [anon_sym___asm__] = ACTIONS(3074), + [sym__number_literal] = ACTIONS(3076), + [anon_sym_L_SQUOTE] = ACTIONS(3076), + [anon_sym_u_SQUOTE] = ACTIONS(3076), + [anon_sym_U_SQUOTE] = ACTIONS(3076), + [anon_sym_u8_SQUOTE] = ACTIONS(3076), + [anon_sym_SQUOTE] = ACTIONS(3076), + [anon_sym_L_DQUOTE] = ACTIONS(3076), + [anon_sym_u_DQUOTE] = ACTIONS(3076), + [anon_sym_U_DQUOTE] = ACTIONS(3076), + [anon_sym_u8_DQUOTE] = ACTIONS(3076), + [anon_sym_DQUOTE] = ACTIONS(3076), + [sym_true] = ACTIONS(3074), + [sym_false] = ACTIONS(3074), + [anon_sym_NULL] = ACTIONS(3074), + [anon_sym_nullptr] = ACTIONS(3074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3076), + [sym_auto] = ACTIONS(3074), + [anon_sym_decltype] = ACTIONS(3074), + [sym_virtual] = ACTIONS(3074), + [anon_sym_explicit] = ACTIONS(3074), + [anon_sym_typename] = ACTIONS(3074), + [anon_sym_template] = ACTIONS(3074), + [anon_sym_operator] = ACTIONS(3074), + [anon_sym_try] = ACTIONS(3074), + [anon_sym_delete] = ACTIONS(3074), + [anon_sym_throw] = ACTIONS(3074), + [anon_sym_namespace] = ACTIONS(3074), + [anon_sym_using] = ACTIONS(3074), + [anon_sym_static_assert] = ACTIONS(3074), + [anon_sym_concept] = ACTIONS(3074), + [anon_sym_co_return] = ACTIONS(3074), + [anon_sym_co_yield] = ACTIONS(3074), + [anon_sym_R_DQUOTE] = ACTIONS(3076), + [anon_sym_LR_DQUOTE] = ACTIONS(3076), + [anon_sym_uR_DQUOTE] = ACTIONS(3076), + [anon_sym_UR_DQUOTE] = ACTIONS(3076), + [anon_sym_u8R_DQUOTE] = ACTIONS(3076), + [anon_sym_co_await] = ACTIONS(3074), + [anon_sym_new] = ACTIONS(3074), + [anon_sym_requires] = ACTIONS(3074), + [sym_this] = ACTIONS(3074), + }, + [359] = { + [sym__identifier] = ACTIONS(3078), + [aux_sym_preproc_include_token1] = ACTIONS(3078), + [aux_sym_preproc_def_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token2] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3078), + [aux_sym_preproc_else_token1] = ACTIONS(3078), + [aux_sym_preproc_elif_token1] = ACTIONS(3078), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3078), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3078), + [sym_preproc_directive] = ACTIONS(3078), + [anon_sym_LPAREN2] = ACTIONS(3080), + [anon_sym_BANG] = ACTIONS(3080), + [anon_sym_TILDE] = ACTIONS(3080), + [anon_sym_DASH] = ACTIONS(3078), + [anon_sym_PLUS] = ACTIONS(3078), + [anon_sym_STAR] = ACTIONS(3080), + [anon_sym_AMP_AMP] = ACTIONS(3080), + [anon_sym_AMP] = ACTIONS(3078), + [anon_sym_SEMI] = ACTIONS(3080), + [anon_sym___extension__] = ACTIONS(3078), + [anon_sym_typedef] = ACTIONS(3078), + [anon_sym_extern] = ACTIONS(3078), + [anon_sym___attribute__] = ACTIONS(3078), + [anon_sym_COLON_COLON] = ACTIONS(3080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3080), + [anon_sym___declspec] = ACTIONS(3078), + [anon_sym___based] = ACTIONS(3078), + [anon_sym___cdecl] = ACTIONS(3078), + [anon_sym___clrcall] = ACTIONS(3078), + [anon_sym___stdcall] = ACTIONS(3078), + [anon_sym___fastcall] = ACTIONS(3078), + [anon_sym___thiscall] = ACTIONS(3078), + [anon_sym___vectorcall] = ACTIONS(3078), + [anon_sym_LBRACE] = ACTIONS(3080), + [anon_sym_signed] = ACTIONS(3078), + [anon_sym_unsigned] = ACTIONS(3078), + [anon_sym_long] = ACTIONS(3078), + [anon_sym_short] = ACTIONS(3078), + [anon_sym_LBRACK] = ACTIONS(3078), + [anon_sym_static] = ACTIONS(3078), + [anon_sym_register] = ACTIONS(3078), + [anon_sym_inline] = ACTIONS(3078), + [anon_sym___inline] = ACTIONS(3078), + [anon_sym___inline__] = ACTIONS(3078), + [anon_sym___forceinline] = ACTIONS(3078), + [anon_sym_thread_local] = ACTIONS(3078), + [anon_sym___thread] = ACTIONS(3078), + [anon_sym_const] = ACTIONS(3078), + [anon_sym_constexpr] = ACTIONS(3078), + [anon_sym_volatile] = ACTIONS(3078), + [anon_sym_restrict] = ACTIONS(3078), + [anon_sym___restrict__] = ACTIONS(3078), + [anon_sym__Atomic] = ACTIONS(3078), + [anon_sym__Noreturn] = ACTIONS(3078), + [anon_sym_noreturn] = ACTIONS(3078), + [anon_sym_mutable] = ACTIONS(3078), + [anon_sym_constinit] = ACTIONS(3078), + [anon_sym_consteval] = ACTIONS(3078), + [anon_sym_alignas] = ACTIONS(3078), + [anon_sym__Alignas] = ACTIONS(3078), + [sym_primitive_type] = ACTIONS(3078), + [anon_sym_enum] = ACTIONS(3078), + [anon_sym_class] = ACTIONS(3078), + [anon_sym_struct] = ACTIONS(3078), + [anon_sym_union] = ACTIONS(3078), + [anon_sym_if] = ACTIONS(3078), + [anon_sym_switch] = ACTIONS(3078), + [anon_sym_case] = ACTIONS(3078), + [anon_sym_default] = ACTIONS(3078), + [anon_sym_while] = ACTIONS(3078), + [anon_sym_do] = ACTIONS(3078), + [anon_sym_for] = ACTIONS(3078), + [anon_sym_return] = ACTIONS(3078), + [anon_sym_break] = ACTIONS(3078), + [anon_sym_continue] = ACTIONS(3078), + [anon_sym_goto] = ACTIONS(3078), + [anon_sym___try] = ACTIONS(3078), + [anon_sym___leave] = ACTIONS(3078), + [anon_sym_not] = ACTIONS(3078), + [anon_sym_compl] = ACTIONS(3078), + [anon_sym_DASH_DASH] = ACTIONS(3080), + [anon_sym_PLUS_PLUS] = ACTIONS(3080), + [anon_sym_sizeof] = ACTIONS(3078), + [anon_sym___alignof__] = ACTIONS(3078), + [anon_sym___alignof] = ACTIONS(3078), + [anon_sym__alignof] = ACTIONS(3078), + [anon_sym_alignof] = ACTIONS(3078), + [anon_sym__Alignof] = ACTIONS(3078), + [anon_sym_offsetof] = ACTIONS(3078), + [anon_sym__Generic] = ACTIONS(3078), + [anon_sym_asm] = ACTIONS(3078), + [anon_sym___asm__] = ACTIONS(3078), + [sym__number_literal] = ACTIONS(3080), + [anon_sym_L_SQUOTE] = ACTIONS(3080), + [anon_sym_u_SQUOTE] = ACTIONS(3080), + [anon_sym_U_SQUOTE] = ACTIONS(3080), + [anon_sym_u8_SQUOTE] = ACTIONS(3080), + [anon_sym_SQUOTE] = ACTIONS(3080), + [anon_sym_L_DQUOTE] = ACTIONS(3080), + [anon_sym_u_DQUOTE] = ACTIONS(3080), + [anon_sym_U_DQUOTE] = ACTIONS(3080), + [anon_sym_u8_DQUOTE] = ACTIONS(3080), + [anon_sym_DQUOTE] = ACTIONS(3080), + [sym_true] = ACTIONS(3078), + [sym_false] = ACTIONS(3078), + [anon_sym_NULL] = ACTIONS(3078), + [anon_sym_nullptr] = ACTIONS(3078), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3080), + [sym_auto] = ACTIONS(3078), + [anon_sym_decltype] = ACTIONS(3078), + [sym_virtual] = ACTIONS(3078), + [anon_sym_explicit] = ACTIONS(3078), + [anon_sym_typename] = ACTIONS(3078), + [anon_sym_template] = ACTIONS(3078), + [anon_sym_operator] = ACTIONS(3078), + [anon_sym_try] = ACTIONS(3078), + [anon_sym_delete] = ACTIONS(3078), + [anon_sym_throw] = ACTIONS(3078), + [anon_sym_namespace] = ACTIONS(3078), + [anon_sym_using] = ACTIONS(3078), + [anon_sym_static_assert] = ACTIONS(3078), + [anon_sym_concept] = ACTIONS(3078), + [anon_sym_co_return] = ACTIONS(3078), + [anon_sym_co_yield] = ACTIONS(3078), + [anon_sym_R_DQUOTE] = ACTIONS(3080), + [anon_sym_LR_DQUOTE] = ACTIONS(3080), + [anon_sym_uR_DQUOTE] = ACTIONS(3080), + [anon_sym_UR_DQUOTE] = ACTIONS(3080), + [anon_sym_u8R_DQUOTE] = ACTIONS(3080), + [anon_sym_co_await] = ACTIONS(3078), + [anon_sym_new] = ACTIONS(3078), + [anon_sym_requires] = ACTIONS(3078), + [sym_this] = ACTIONS(3078), + }, + [360] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_include_token1] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token2] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [aux_sym_preproc_else_token1] = ACTIONS(3082), + [aux_sym_preproc_elif_token1] = ACTIONS(3082), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_BANG] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_DASH] = ACTIONS(3082), + [anon_sym_PLUS] = ACTIONS(3082), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym_SEMI] = ACTIONS(3084), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym___cdecl] = ACTIONS(3082), + [anon_sym___clrcall] = ACTIONS(3082), + [anon_sym___stdcall] = ACTIONS(3082), + [anon_sym___fastcall] = ACTIONS(3082), + [anon_sym___thiscall] = ACTIONS(3082), + [anon_sym___vectorcall] = ACTIONS(3082), + [anon_sym_LBRACE] = ACTIONS(3084), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [anon_sym_if] = ACTIONS(3082), + [anon_sym_switch] = ACTIONS(3082), + [anon_sym_case] = ACTIONS(3082), + [anon_sym_default] = ACTIONS(3082), + [anon_sym_while] = ACTIONS(3082), + [anon_sym_do] = ACTIONS(3082), + [anon_sym_for] = ACTIONS(3082), + [anon_sym_return] = ACTIONS(3082), + [anon_sym_break] = ACTIONS(3082), + [anon_sym_continue] = ACTIONS(3082), + [anon_sym_goto] = ACTIONS(3082), + [anon_sym___try] = ACTIONS(3082), + [anon_sym___leave] = ACTIONS(3082), + [anon_sym_not] = ACTIONS(3082), + [anon_sym_compl] = ACTIONS(3082), + [anon_sym_DASH_DASH] = ACTIONS(3084), + [anon_sym_PLUS_PLUS] = ACTIONS(3084), + [anon_sym_sizeof] = ACTIONS(3082), + [anon_sym___alignof__] = ACTIONS(3082), + [anon_sym___alignof] = ACTIONS(3082), + [anon_sym__alignof] = ACTIONS(3082), + [anon_sym_alignof] = ACTIONS(3082), + [anon_sym__Alignof] = ACTIONS(3082), + [anon_sym_offsetof] = ACTIONS(3082), + [anon_sym__Generic] = ACTIONS(3082), + [anon_sym_asm] = ACTIONS(3082), + [anon_sym___asm__] = ACTIONS(3082), + [sym__number_literal] = ACTIONS(3084), + [anon_sym_L_SQUOTE] = ACTIONS(3084), + [anon_sym_u_SQUOTE] = ACTIONS(3084), + [anon_sym_U_SQUOTE] = ACTIONS(3084), + [anon_sym_u8_SQUOTE] = ACTIONS(3084), + [anon_sym_SQUOTE] = ACTIONS(3084), + [anon_sym_L_DQUOTE] = ACTIONS(3084), + [anon_sym_u_DQUOTE] = ACTIONS(3084), + [anon_sym_U_DQUOTE] = ACTIONS(3084), + [anon_sym_u8_DQUOTE] = ACTIONS(3084), + [anon_sym_DQUOTE] = ACTIONS(3084), + [sym_true] = ACTIONS(3082), + [sym_false] = ACTIONS(3082), + [anon_sym_NULL] = ACTIONS(3082), + [anon_sym_nullptr] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_try] = ACTIONS(3082), + [anon_sym_delete] = ACTIONS(3082), + [anon_sym_throw] = ACTIONS(3082), + [anon_sym_namespace] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + [anon_sym_concept] = ACTIONS(3082), + [anon_sym_co_return] = ACTIONS(3082), + [anon_sym_co_yield] = ACTIONS(3082), + [anon_sym_R_DQUOTE] = ACTIONS(3084), + [anon_sym_LR_DQUOTE] = ACTIONS(3084), + [anon_sym_uR_DQUOTE] = ACTIONS(3084), + [anon_sym_UR_DQUOTE] = ACTIONS(3084), + [anon_sym_u8R_DQUOTE] = ACTIONS(3084), + [anon_sym_co_await] = ACTIONS(3082), + [anon_sym_new] = ACTIONS(3082), + [anon_sym_requires] = ACTIONS(3082), + [sym_this] = ACTIONS(3082), + }, + [361] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8092), + [sym_preproc_elif_in_field_declaration_list] = STATE(8092), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8092), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3086), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [362] = { + [sym__identifier] = ACTIONS(3088), + [aux_sym_preproc_include_token1] = ACTIONS(3088), + [aux_sym_preproc_def_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token2] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3088), + [aux_sym_preproc_else_token1] = ACTIONS(3088), + [aux_sym_preproc_elif_token1] = ACTIONS(3088), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3088), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3088), + [sym_preproc_directive] = ACTIONS(3088), + [anon_sym_LPAREN2] = ACTIONS(3090), + [anon_sym_BANG] = ACTIONS(3090), + [anon_sym_TILDE] = ACTIONS(3090), + [anon_sym_DASH] = ACTIONS(3088), + [anon_sym_PLUS] = ACTIONS(3088), + [anon_sym_STAR] = ACTIONS(3090), + [anon_sym_AMP_AMP] = ACTIONS(3090), + [anon_sym_AMP] = ACTIONS(3088), + [anon_sym_SEMI] = ACTIONS(3090), + [anon_sym___extension__] = ACTIONS(3088), + [anon_sym_typedef] = ACTIONS(3088), + [anon_sym_extern] = ACTIONS(3088), + [anon_sym___attribute__] = ACTIONS(3088), + [anon_sym_COLON_COLON] = ACTIONS(3090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3090), + [anon_sym___declspec] = ACTIONS(3088), + [anon_sym___based] = ACTIONS(3088), + [anon_sym___cdecl] = ACTIONS(3088), + [anon_sym___clrcall] = ACTIONS(3088), + [anon_sym___stdcall] = ACTIONS(3088), + [anon_sym___fastcall] = ACTIONS(3088), + [anon_sym___thiscall] = ACTIONS(3088), + [anon_sym___vectorcall] = ACTIONS(3088), + [anon_sym_LBRACE] = ACTIONS(3090), + [anon_sym_signed] = ACTIONS(3088), + [anon_sym_unsigned] = ACTIONS(3088), + [anon_sym_long] = ACTIONS(3088), + [anon_sym_short] = ACTIONS(3088), + [anon_sym_LBRACK] = ACTIONS(3088), + [anon_sym_static] = ACTIONS(3088), + [anon_sym_register] = ACTIONS(3088), + [anon_sym_inline] = ACTIONS(3088), + [anon_sym___inline] = ACTIONS(3088), + [anon_sym___inline__] = ACTIONS(3088), + [anon_sym___forceinline] = ACTIONS(3088), + [anon_sym_thread_local] = ACTIONS(3088), + [anon_sym___thread] = ACTIONS(3088), + [anon_sym_const] = ACTIONS(3088), + [anon_sym_constexpr] = ACTIONS(3088), + [anon_sym_volatile] = ACTIONS(3088), + [anon_sym_restrict] = ACTIONS(3088), + [anon_sym___restrict__] = ACTIONS(3088), + [anon_sym__Atomic] = ACTIONS(3088), + [anon_sym__Noreturn] = ACTIONS(3088), + [anon_sym_noreturn] = ACTIONS(3088), + [anon_sym_mutable] = ACTIONS(3088), + [anon_sym_constinit] = ACTIONS(3088), + [anon_sym_consteval] = ACTIONS(3088), + [anon_sym_alignas] = ACTIONS(3088), + [anon_sym__Alignas] = ACTIONS(3088), + [sym_primitive_type] = ACTIONS(3088), + [anon_sym_enum] = ACTIONS(3088), + [anon_sym_class] = ACTIONS(3088), + [anon_sym_struct] = ACTIONS(3088), + [anon_sym_union] = ACTIONS(3088), + [anon_sym_if] = ACTIONS(3088), + [anon_sym_switch] = ACTIONS(3088), + [anon_sym_case] = ACTIONS(3088), + [anon_sym_default] = ACTIONS(3088), + [anon_sym_while] = ACTIONS(3088), + [anon_sym_do] = ACTIONS(3088), + [anon_sym_for] = ACTIONS(3088), + [anon_sym_return] = ACTIONS(3088), + [anon_sym_break] = ACTIONS(3088), + [anon_sym_continue] = ACTIONS(3088), + [anon_sym_goto] = ACTIONS(3088), + [anon_sym___try] = ACTIONS(3088), + [anon_sym___leave] = ACTIONS(3088), + [anon_sym_not] = ACTIONS(3088), + [anon_sym_compl] = ACTIONS(3088), + [anon_sym_DASH_DASH] = ACTIONS(3090), + [anon_sym_PLUS_PLUS] = ACTIONS(3090), + [anon_sym_sizeof] = ACTIONS(3088), + [anon_sym___alignof__] = ACTIONS(3088), + [anon_sym___alignof] = ACTIONS(3088), + [anon_sym__alignof] = ACTIONS(3088), + [anon_sym_alignof] = ACTIONS(3088), + [anon_sym__Alignof] = ACTIONS(3088), + [anon_sym_offsetof] = ACTIONS(3088), + [anon_sym__Generic] = ACTIONS(3088), + [anon_sym_asm] = ACTIONS(3088), + [anon_sym___asm__] = ACTIONS(3088), + [sym__number_literal] = ACTIONS(3090), + [anon_sym_L_SQUOTE] = ACTIONS(3090), + [anon_sym_u_SQUOTE] = ACTIONS(3090), + [anon_sym_U_SQUOTE] = ACTIONS(3090), + [anon_sym_u8_SQUOTE] = ACTIONS(3090), + [anon_sym_SQUOTE] = ACTIONS(3090), + [anon_sym_L_DQUOTE] = ACTIONS(3090), + [anon_sym_u_DQUOTE] = ACTIONS(3090), + [anon_sym_U_DQUOTE] = ACTIONS(3090), + [anon_sym_u8_DQUOTE] = ACTIONS(3090), + [anon_sym_DQUOTE] = ACTIONS(3090), + [sym_true] = ACTIONS(3088), + [sym_false] = ACTIONS(3088), + [anon_sym_NULL] = ACTIONS(3088), + [anon_sym_nullptr] = ACTIONS(3088), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3090), + [sym_auto] = ACTIONS(3088), + [anon_sym_decltype] = ACTIONS(3088), + [sym_virtual] = ACTIONS(3088), + [anon_sym_explicit] = ACTIONS(3088), + [anon_sym_typename] = ACTIONS(3088), + [anon_sym_template] = ACTIONS(3088), + [anon_sym_operator] = ACTIONS(3088), + [anon_sym_try] = ACTIONS(3088), + [anon_sym_delete] = ACTIONS(3088), + [anon_sym_throw] = ACTIONS(3088), + [anon_sym_namespace] = ACTIONS(3088), + [anon_sym_using] = ACTIONS(3088), + [anon_sym_static_assert] = ACTIONS(3088), + [anon_sym_concept] = ACTIONS(3088), + [anon_sym_co_return] = ACTIONS(3088), + [anon_sym_co_yield] = ACTIONS(3088), + [anon_sym_R_DQUOTE] = ACTIONS(3090), + [anon_sym_LR_DQUOTE] = ACTIONS(3090), + [anon_sym_uR_DQUOTE] = ACTIONS(3090), + [anon_sym_UR_DQUOTE] = ACTIONS(3090), + [anon_sym_u8R_DQUOTE] = ACTIONS(3090), + [anon_sym_co_await] = ACTIONS(3088), + [anon_sym_new] = ACTIONS(3088), + [anon_sym_requires] = ACTIONS(3088), + [sym_this] = ACTIONS(3088), + }, + [363] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_include_token1] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token2] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [aux_sym_preproc_else_token1] = ACTIONS(3092), + [aux_sym_preproc_elif_token1] = ACTIONS(3092), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_BANG] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_DASH] = ACTIONS(3092), + [anon_sym_PLUS] = ACTIONS(3092), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym_SEMI] = ACTIONS(3094), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym___cdecl] = ACTIONS(3092), + [anon_sym___clrcall] = ACTIONS(3092), + [anon_sym___stdcall] = ACTIONS(3092), + [anon_sym___fastcall] = ACTIONS(3092), + [anon_sym___thiscall] = ACTIONS(3092), + [anon_sym___vectorcall] = ACTIONS(3092), + [anon_sym_LBRACE] = ACTIONS(3094), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [anon_sym_if] = ACTIONS(3092), + [anon_sym_switch] = ACTIONS(3092), + [anon_sym_case] = ACTIONS(3092), + [anon_sym_default] = ACTIONS(3092), + [anon_sym_while] = ACTIONS(3092), + [anon_sym_do] = ACTIONS(3092), + [anon_sym_for] = ACTIONS(3092), + [anon_sym_return] = ACTIONS(3092), + [anon_sym_break] = ACTIONS(3092), + [anon_sym_continue] = ACTIONS(3092), + [anon_sym_goto] = ACTIONS(3092), + [anon_sym___try] = ACTIONS(3092), + [anon_sym___leave] = ACTIONS(3092), + [anon_sym_not] = ACTIONS(3092), + [anon_sym_compl] = ACTIONS(3092), + [anon_sym_DASH_DASH] = ACTIONS(3094), + [anon_sym_PLUS_PLUS] = ACTIONS(3094), + [anon_sym_sizeof] = ACTIONS(3092), + [anon_sym___alignof__] = ACTIONS(3092), + [anon_sym___alignof] = ACTIONS(3092), + [anon_sym__alignof] = ACTIONS(3092), + [anon_sym_alignof] = ACTIONS(3092), + [anon_sym__Alignof] = ACTIONS(3092), + [anon_sym_offsetof] = ACTIONS(3092), + [anon_sym__Generic] = ACTIONS(3092), + [anon_sym_asm] = ACTIONS(3092), + [anon_sym___asm__] = ACTIONS(3092), + [sym__number_literal] = ACTIONS(3094), + [anon_sym_L_SQUOTE] = ACTIONS(3094), + [anon_sym_u_SQUOTE] = ACTIONS(3094), + [anon_sym_U_SQUOTE] = ACTIONS(3094), + [anon_sym_u8_SQUOTE] = ACTIONS(3094), + [anon_sym_SQUOTE] = ACTIONS(3094), + [anon_sym_L_DQUOTE] = ACTIONS(3094), + [anon_sym_u_DQUOTE] = ACTIONS(3094), + [anon_sym_U_DQUOTE] = ACTIONS(3094), + [anon_sym_u8_DQUOTE] = ACTIONS(3094), + [anon_sym_DQUOTE] = ACTIONS(3094), + [sym_true] = ACTIONS(3092), + [sym_false] = ACTIONS(3092), + [anon_sym_NULL] = ACTIONS(3092), + [anon_sym_nullptr] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_try] = ACTIONS(3092), + [anon_sym_delete] = ACTIONS(3092), + [anon_sym_throw] = ACTIONS(3092), + [anon_sym_namespace] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + [anon_sym_concept] = ACTIONS(3092), + [anon_sym_co_return] = ACTIONS(3092), + [anon_sym_co_yield] = ACTIONS(3092), + [anon_sym_R_DQUOTE] = ACTIONS(3094), + [anon_sym_LR_DQUOTE] = ACTIONS(3094), + [anon_sym_uR_DQUOTE] = ACTIONS(3094), + [anon_sym_UR_DQUOTE] = ACTIONS(3094), + [anon_sym_u8R_DQUOTE] = ACTIONS(3094), + [anon_sym_co_await] = ACTIONS(3092), + [anon_sym_new] = ACTIONS(3092), + [anon_sym_requires] = ACTIONS(3092), + [sym_this] = ACTIONS(3092), + }, + [364] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_include_token1] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token2] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [aux_sym_preproc_else_token1] = ACTIONS(3096), + [aux_sym_preproc_elif_token1] = ACTIONS(3096), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_BANG] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_DASH] = ACTIONS(3096), + [anon_sym_PLUS] = ACTIONS(3096), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym_SEMI] = ACTIONS(3098), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym___cdecl] = ACTIONS(3096), + [anon_sym___clrcall] = ACTIONS(3096), + [anon_sym___stdcall] = ACTIONS(3096), + [anon_sym___fastcall] = ACTIONS(3096), + [anon_sym___thiscall] = ACTIONS(3096), + [anon_sym___vectorcall] = ACTIONS(3096), + [anon_sym_LBRACE] = ACTIONS(3098), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [anon_sym_if] = ACTIONS(3096), + [anon_sym_switch] = ACTIONS(3096), + [anon_sym_case] = ACTIONS(3096), + [anon_sym_default] = ACTIONS(3096), + [anon_sym_while] = ACTIONS(3096), + [anon_sym_do] = ACTIONS(3096), + [anon_sym_for] = ACTIONS(3096), + [anon_sym_return] = ACTIONS(3096), + [anon_sym_break] = ACTIONS(3096), + [anon_sym_continue] = ACTIONS(3096), + [anon_sym_goto] = ACTIONS(3096), + [anon_sym___try] = ACTIONS(3096), + [anon_sym___leave] = ACTIONS(3096), + [anon_sym_not] = ACTIONS(3096), + [anon_sym_compl] = ACTIONS(3096), + [anon_sym_DASH_DASH] = ACTIONS(3098), + [anon_sym_PLUS_PLUS] = ACTIONS(3098), + [anon_sym_sizeof] = ACTIONS(3096), + [anon_sym___alignof__] = ACTIONS(3096), + [anon_sym___alignof] = ACTIONS(3096), + [anon_sym__alignof] = ACTIONS(3096), + [anon_sym_alignof] = ACTIONS(3096), + [anon_sym__Alignof] = ACTIONS(3096), + [anon_sym_offsetof] = ACTIONS(3096), + [anon_sym__Generic] = ACTIONS(3096), + [anon_sym_asm] = ACTIONS(3096), + [anon_sym___asm__] = ACTIONS(3096), + [sym__number_literal] = ACTIONS(3098), + [anon_sym_L_SQUOTE] = ACTIONS(3098), + [anon_sym_u_SQUOTE] = ACTIONS(3098), + [anon_sym_U_SQUOTE] = ACTIONS(3098), + [anon_sym_u8_SQUOTE] = ACTIONS(3098), + [anon_sym_SQUOTE] = ACTIONS(3098), + [anon_sym_L_DQUOTE] = ACTIONS(3098), + [anon_sym_u_DQUOTE] = ACTIONS(3098), + [anon_sym_U_DQUOTE] = ACTIONS(3098), + [anon_sym_u8_DQUOTE] = ACTIONS(3098), + [anon_sym_DQUOTE] = ACTIONS(3098), + [sym_true] = ACTIONS(3096), + [sym_false] = ACTIONS(3096), + [anon_sym_NULL] = ACTIONS(3096), + [anon_sym_nullptr] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_try] = ACTIONS(3096), + [anon_sym_delete] = ACTIONS(3096), + [anon_sym_throw] = ACTIONS(3096), + [anon_sym_namespace] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + [anon_sym_concept] = ACTIONS(3096), + [anon_sym_co_return] = ACTIONS(3096), + [anon_sym_co_yield] = ACTIONS(3096), + [anon_sym_R_DQUOTE] = ACTIONS(3098), + [anon_sym_LR_DQUOTE] = ACTIONS(3098), + [anon_sym_uR_DQUOTE] = ACTIONS(3098), + [anon_sym_UR_DQUOTE] = ACTIONS(3098), + [anon_sym_u8R_DQUOTE] = ACTIONS(3098), + [anon_sym_co_await] = ACTIONS(3096), + [anon_sym_new] = ACTIONS(3096), + [anon_sym_requires] = ACTIONS(3096), + [sym_this] = ACTIONS(3096), + }, + [365] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [aux_sym_preproc_else_token1] = ACTIONS(3100), + [aux_sym_preproc_elif_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [366] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_include_token1] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token2] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [aux_sym_preproc_else_token1] = ACTIONS(3104), + [aux_sym_preproc_elif_token1] = ACTIONS(3104), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_BANG] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_DASH] = ACTIONS(3104), + [anon_sym_PLUS] = ACTIONS(3104), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym_SEMI] = ACTIONS(3106), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym___cdecl] = ACTIONS(3104), + [anon_sym___clrcall] = ACTIONS(3104), + [anon_sym___stdcall] = ACTIONS(3104), + [anon_sym___fastcall] = ACTIONS(3104), + [anon_sym___thiscall] = ACTIONS(3104), + [anon_sym___vectorcall] = ACTIONS(3104), + [anon_sym_LBRACE] = ACTIONS(3106), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [anon_sym_if] = ACTIONS(3104), + [anon_sym_switch] = ACTIONS(3104), + [anon_sym_case] = ACTIONS(3104), + [anon_sym_default] = ACTIONS(3104), + [anon_sym_while] = ACTIONS(3104), + [anon_sym_do] = ACTIONS(3104), + [anon_sym_for] = ACTIONS(3104), + [anon_sym_return] = ACTIONS(3104), + [anon_sym_break] = ACTIONS(3104), + [anon_sym_continue] = ACTIONS(3104), + [anon_sym_goto] = ACTIONS(3104), + [anon_sym___try] = ACTIONS(3104), + [anon_sym___leave] = ACTIONS(3104), + [anon_sym_not] = ACTIONS(3104), + [anon_sym_compl] = ACTIONS(3104), + [anon_sym_DASH_DASH] = ACTIONS(3106), + [anon_sym_PLUS_PLUS] = ACTIONS(3106), + [anon_sym_sizeof] = ACTIONS(3104), + [anon_sym___alignof__] = ACTIONS(3104), + [anon_sym___alignof] = ACTIONS(3104), + [anon_sym__alignof] = ACTIONS(3104), + [anon_sym_alignof] = ACTIONS(3104), + [anon_sym__Alignof] = ACTIONS(3104), + [anon_sym_offsetof] = ACTIONS(3104), + [anon_sym__Generic] = ACTIONS(3104), + [anon_sym_asm] = ACTIONS(3104), + [anon_sym___asm__] = ACTIONS(3104), + [sym__number_literal] = ACTIONS(3106), + [anon_sym_L_SQUOTE] = ACTIONS(3106), + [anon_sym_u_SQUOTE] = ACTIONS(3106), + [anon_sym_U_SQUOTE] = ACTIONS(3106), + [anon_sym_u8_SQUOTE] = ACTIONS(3106), + [anon_sym_SQUOTE] = ACTIONS(3106), + [anon_sym_L_DQUOTE] = ACTIONS(3106), + [anon_sym_u_DQUOTE] = ACTIONS(3106), + [anon_sym_U_DQUOTE] = ACTIONS(3106), + [anon_sym_u8_DQUOTE] = ACTIONS(3106), + [anon_sym_DQUOTE] = ACTIONS(3106), + [sym_true] = ACTIONS(3104), + [sym_false] = ACTIONS(3104), + [anon_sym_NULL] = ACTIONS(3104), + [anon_sym_nullptr] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_try] = ACTIONS(3104), + [anon_sym_delete] = ACTIONS(3104), + [anon_sym_throw] = ACTIONS(3104), + [anon_sym_namespace] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + [anon_sym_concept] = ACTIONS(3104), + [anon_sym_co_return] = ACTIONS(3104), + [anon_sym_co_yield] = ACTIONS(3104), + [anon_sym_R_DQUOTE] = ACTIONS(3106), + [anon_sym_LR_DQUOTE] = ACTIONS(3106), + [anon_sym_uR_DQUOTE] = ACTIONS(3106), + [anon_sym_UR_DQUOTE] = ACTIONS(3106), + [anon_sym_u8R_DQUOTE] = ACTIONS(3106), + [anon_sym_co_await] = ACTIONS(3104), + [anon_sym_new] = ACTIONS(3104), + [anon_sym_requires] = ACTIONS(3104), + [sym_this] = ACTIONS(3104), + }, + [367] = { + [sym__identifier] = ACTIONS(3108), + [aux_sym_preproc_include_token1] = ACTIONS(3108), + [aux_sym_preproc_def_token1] = ACTIONS(3108), + [aux_sym_preproc_if_token1] = ACTIONS(3108), + [aux_sym_preproc_if_token2] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3108), + [aux_sym_preproc_else_token1] = ACTIONS(3108), + [aux_sym_preproc_elif_token1] = ACTIONS(3108), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3108), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3108), + [sym_preproc_directive] = ACTIONS(3108), + [anon_sym_LPAREN2] = ACTIONS(3111), + [anon_sym_BANG] = ACTIONS(3111), + [anon_sym_TILDE] = ACTIONS(3111), + [anon_sym_DASH] = ACTIONS(3108), + [anon_sym_PLUS] = ACTIONS(3108), + [anon_sym_STAR] = ACTIONS(3111), + [anon_sym_AMP_AMP] = ACTIONS(3111), + [anon_sym_AMP] = ACTIONS(3108), + [anon_sym_SEMI] = ACTIONS(3111), + [anon_sym___extension__] = ACTIONS(3108), + [anon_sym_typedef] = ACTIONS(3108), + [anon_sym_extern] = ACTIONS(3108), + [anon_sym___attribute__] = ACTIONS(3108), + [anon_sym_COLON_COLON] = ACTIONS(3111), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3111), + [anon_sym___declspec] = ACTIONS(3108), + [anon_sym___based] = ACTIONS(3108), + [anon_sym___cdecl] = ACTIONS(3108), + [anon_sym___clrcall] = ACTIONS(3108), + [anon_sym___stdcall] = ACTIONS(3108), + [anon_sym___fastcall] = ACTIONS(3108), + [anon_sym___thiscall] = ACTIONS(3108), + [anon_sym___vectorcall] = ACTIONS(3108), + [anon_sym_LBRACE] = ACTIONS(3111), + [anon_sym_signed] = ACTIONS(3108), + [anon_sym_unsigned] = ACTIONS(3108), + [anon_sym_long] = ACTIONS(3108), + [anon_sym_short] = ACTIONS(3108), + [anon_sym_LBRACK] = ACTIONS(3108), + [anon_sym_static] = ACTIONS(3108), + [anon_sym_register] = ACTIONS(3108), + [anon_sym_inline] = ACTIONS(3108), + [anon_sym___inline] = ACTIONS(3108), + [anon_sym___inline__] = ACTIONS(3108), + [anon_sym___forceinline] = ACTIONS(3108), + [anon_sym_thread_local] = ACTIONS(3108), + [anon_sym___thread] = ACTIONS(3108), + [anon_sym_const] = ACTIONS(3108), + [anon_sym_constexpr] = ACTIONS(3108), + [anon_sym_volatile] = ACTIONS(3108), + [anon_sym_restrict] = ACTIONS(3108), + [anon_sym___restrict__] = ACTIONS(3108), + [anon_sym__Atomic] = ACTIONS(3108), + [anon_sym__Noreturn] = ACTIONS(3108), + [anon_sym_noreturn] = ACTIONS(3108), + [anon_sym_mutable] = ACTIONS(3108), + [anon_sym_constinit] = ACTIONS(3108), + [anon_sym_consteval] = ACTIONS(3108), + [anon_sym_alignas] = ACTIONS(3108), + [anon_sym__Alignas] = ACTIONS(3108), + [sym_primitive_type] = ACTIONS(3108), + [anon_sym_enum] = ACTIONS(3108), + [anon_sym_class] = ACTIONS(3108), + [anon_sym_struct] = ACTIONS(3108), + [anon_sym_union] = ACTIONS(3108), + [anon_sym_if] = ACTIONS(3108), + [anon_sym_switch] = ACTIONS(3108), + [anon_sym_case] = ACTIONS(3108), + [anon_sym_default] = ACTIONS(3108), + [anon_sym_while] = ACTIONS(3108), + [anon_sym_do] = ACTIONS(3108), + [anon_sym_for] = ACTIONS(3108), + [anon_sym_return] = ACTIONS(3108), + [anon_sym_break] = ACTIONS(3108), + [anon_sym_continue] = ACTIONS(3108), + [anon_sym_goto] = ACTIONS(3108), + [anon_sym___try] = ACTIONS(3108), + [anon_sym___leave] = ACTIONS(3108), + [anon_sym_not] = ACTIONS(3108), + [anon_sym_compl] = ACTIONS(3108), + [anon_sym_DASH_DASH] = ACTIONS(3111), + [anon_sym_PLUS_PLUS] = ACTIONS(3111), + [anon_sym_sizeof] = ACTIONS(3108), + [anon_sym___alignof__] = ACTIONS(3108), + [anon_sym___alignof] = ACTIONS(3108), + [anon_sym__alignof] = ACTIONS(3108), + [anon_sym_alignof] = ACTIONS(3108), + [anon_sym__Alignof] = ACTIONS(3108), + [anon_sym_offsetof] = ACTIONS(3108), + [anon_sym__Generic] = ACTIONS(3108), + [anon_sym_asm] = ACTIONS(3108), + [anon_sym___asm__] = ACTIONS(3108), + [sym__number_literal] = ACTIONS(3111), + [anon_sym_L_SQUOTE] = ACTIONS(3111), + [anon_sym_u_SQUOTE] = ACTIONS(3111), + [anon_sym_U_SQUOTE] = ACTIONS(3111), + [anon_sym_u8_SQUOTE] = ACTIONS(3111), + [anon_sym_SQUOTE] = ACTIONS(3111), + [anon_sym_L_DQUOTE] = ACTIONS(3111), + [anon_sym_u_DQUOTE] = ACTIONS(3111), + [anon_sym_U_DQUOTE] = ACTIONS(3111), + [anon_sym_u8_DQUOTE] = ACTIONS(3111), + [anon_sym_DQUOTE] = ACTIONS(3111), + [sym_true] = ACTIONS(3108), + [sym_false] = ACTIONS(3108), + [anon_sym_NULL] = ACTIONS(3108), + [anon_sym_nullptr] = ACTIONS(3108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3111), + [sym_auto] = ACTIONS(3108), + [anon_sym_decltype] = ACTIONS(3108), + [sym_virtual] = ACTIONS(3108), + [anon_sym_explicit] = ACTIONS(3108), + [anon_sym_typename] = ACTIONS(3108), + [anon_sym_template] = ACTIONS(3108), + [anon_sym_operator] = ACTIONS(3108), + [anon_sym_try] = ACTIONS(3108), + [anon_sym_delete] = ACTIONS(3108), + [anon_sym_throw] = ACTIONS(3108), + [anon_sym_namespace] = ACTIONS(3108), + [anon_sym_using] = ACTIONS(3108), + [anon_sym_static_assert] = ACTIONS(3108), + [anon_sym_concept] = ACTIONS(3108), + [anon_sym_co_return] = ACTIONS(3108), + [anon_sym_co_yield] = ACTIONS(3108), + [anon_sym_R_DQUOTE] = ACTIONS(3111), + [anon_sym_LR_DQUOTE] = ACTIONS(3111), + [anon_sym_uR_DQUOTE] = ACTIONS(3111), + [anon_sym_UR_DQUOTE] = ACTIONS(3111), + [anon_sym_u8R_DQUOTE] = ACTIONS(3111), + [anon_sym_co_await] = ACTIONS(3108), + [anon_sym_new] = ACTIONS(3108), + [anon_sym_requires] = ACTIONS(3108), + [sym_this] = ACTIONS(3108), + }, + [368] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_include_token1] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token2] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [aux_sym_preproc_else_token1] = ACTIONS(3114), + [aux_sym_preproc_elif_token1] = ACTIONS(3114), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_BANG] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_DASH] = ACTIONS(3114), + [anon_sym_PLUS] = ACTIONS(3114), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym_SEMI] = ACTIONS(3116), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym___cdecl] = ACTIONS(3114), + [anon_sym___clrcall] = ACTIONS(3114), + [anon_sym___stdcall] = ACTIONS(3114), + [anon_sym___fastcall] = ACTIONS(3114), + [anon_sym___thiscall] = ACTIONS(3114), + [anon_sym___vectorcall] = ACTIONS(3114), + [anon_sym_LBRACE] = ACTIONS(3116), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [anon_sym_if] = ACTIONS(3114), + [anon_sym_switch] = ACTIONS(3114), + [anon_sym_case] = ACTIONS(3114), + [anon_sym_default] = ACTIONS(3114), + [anon_sym_while] = ACTIONS(3114), + [anon_sym_do] = ACTIONS(3114), + [anon_sym_for] = ACTIONS(3114), + [anon_sym_return] = ACTIONS(3114), + [anon_sym_break] = ACTIONS(3114), + [anon_sym_continue] = ACTIONS(3114), + [anon_sym_goto] = ACTIONS(3114), + [anon_sym___try] = ACTIONS(3114), + [anon_sym___leave] = ACTIONS(3114), + [anon_sym_not] = ACTIONS(3114), + [anon_sym_compl] = ACTIONS(3114), + [anon_sym_DASH_DASH] = ACTIONS(3116), + [anon_sym_PLUS_PLUS] = ACTIONS(3116), + [anon_sym_sizeof] = ACTIONS(3114), + [anon_sym___alignof__] = ACTIONS(3114), + [anon_sym___alignof] = ACTIONS(3114), + [anon_sym__alignof] = ACTIONS(3114), + [anon_sym_alignof] = ACTIONS(3114), + [anon_sym__Alignof] = ACTIONS(3114), + [anon_sym_offsetof] = ACTIONS(3114), + [anon_sym__Generic] = ACTIONS(3114), + [anon_sym_asm] = ACTIONS(3114), + [anon_sym___asm__] = ACTIONS(3114), + [sym__number_literal] = ACTIONS(3116), + [anon_sym_L_SQUOTE] = ACTIONS(3116), + [anon_sym_u_SQUOTE] = ACTIONS(3116), + [anon_sym_U_SQUOTE] = ACTIONS(3116), + [anon_sym_u8_SQUOTE] = ACTIONS(3116), + [anon_sym_SQUOTE] = ACTIONS(3116), + [anon_sym_L_DQUOTE] = ACTIONS(3116), + [anon_sym_u_DQUOTE] = ACTIONS(3116), + [anon_sym_U_DQUOTE] = ACTIONS(3116), + [anon_sym_u8_DQUOTE] = ACTIONS(3116), + [anon_sym_DQUOTE] = ACTIONS(3116), + [sym_true] = ACTIONS(3114), + [sym_false] = ACTIONS(3114), + [anon_sym_NULL] = ACTIONS(3114), + [anon_sym_nullptr] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_try] = ACTIONS(3114), + [anon_sym_delete] = ACTIONS(3114), + [anon_sym_throw] = ACTIONS(3114), + [anon_sym_namespace] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + [anon_sym_concept] = ACTIONS(3114), + [anon_sym_co_return] = ACTIONS(3114), + [anon_sym_co_yield] = ACTIONS(3114), + [anon_sym_R_DQUOTE] = ACTIONS(3116), + [anon_sym_LR_DQUOTE] = ACTIONS(3116), + [anon_sym_uR_DQUOTE] = ACTIONS(3116), + [anon_sym_UR_DQUOTE] = ACTIONS(3116), + [anon_sym_u8R_DQUOTE] = ACTIONS(3116), + [anon_sym_co_await] = ACTIONS(3114), + [anon_sym_new] = ACTIONS(3114), + [anon_sym_requires] = ACTIONS(3114), + [sym_this] = ACTIONS(3114), + }, + [369] = { + [sym__identifier] = ACTIONS(3118), + [aux_sym_preproc_include_token1] = ACTIONS(3118), + [aux_sym_preproc_def_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token2] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3118), + [aux_sym_preproc_else_token1] = ACTIONS(3118), + [aux_sym_preproc_elif_token1] = ACTIONS(3118), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3118), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3118), + [sym_preproc_directive] = ACTIONS(3118), + [anon_sym_LPAREN2] = ACTIONS(3120), + [anon_sym_BANG] = ACTIONS(3120), + [anon_sym_TILDE] = ACTIONS(3120), + [anon_sym_DASH] = ACTIONS(3118), + [anon_sym_PLUS] = ACTIONS(3118), + [anon_sym_STAR] = ACTIONS(3120), + [anon_sym_AMP_AMP] = ACTIONS(3120), + [anon_sym_AMP] = ACTIONS(3118), + [anon_sym_SEMI] = ACTIONS(3120), + [anon_sym___extension__] = ACTIONS(3118), + [anon_sym_typedef] = ACTIONS(3118), + [anon_sym_extern] = ACTIONS(3118), + [anon_sym___attribute__] = ACTIONS(3118), + [anon_sym_COLON_COLON] = ACTIONS(3120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3120), + [anon_sym___declspec] = ACTIONS(3118), + [anon_sym___based] = ACTIONS(3118), + [anon_sym___cdecl] = ACTIONS(3118), + [anon_sym___clrcall] = ACTIONS(3118), + [anon_sym___stdcall] = ACTIONS(3118), + [anon_sym___fastcall] = ACTIONS(3118), + [anon_sym___thiscall] = ACTIONS(3118), + [anon_sym___vectorcall] = ACTIONS(3118), + [anon_sym_LBRACE] = ACTIONS(3120), + [anon_sym_signed] = ACTIONS(3118), + [anon_sym_unsigned] = ACTIONS(3118), + [anon_sym_long] = ACTIONS(3118), + [anon_sym_short] = ACTIONS(3118), + [anon_sym_LBRACK] = ACTIONS(3118), + [anon_sym_static] = ACTIONS(3118), + [anon_sym_register] = ACTIONS(3118), + [anon_sym_inline] = ACTIONS(3118), + [anon_sym___inline] = ACTIONS(3118), + [anon_sym___inline__] = ACTIONS(3118), + [anon_sym___forceinline] = ACTIONS(3118), + [anon_sym_thread_local] = ACTIONS(3118), + [anon_sym___thread] = ACTIONS(3118), + [anon_sym_const] = ACTIONS(3118), + [anon_sym_constexpr] = ACTIONS(3118), + [anon_sym_volatile] = ACTIONS(3118), + [anon_sym_restrict] = ACTIONS(3118), + [anon_sym___restrict__] = ACTIONS(3118), + [anon_sym__Atomic] = ACTIONS(3118), + [anon_sym__Noreturn] = ACTIONS(3118), + [anon_sym_noreturn] = ACTIONS(3118), + [anon_sym_mutable] = ACTIONS(3118), + [anon_sym_constinit] = ACTIONS(3118), + [anon_sym_consteval] = ACTIONS(3118), + [anon_sym_alignas] = ACTIONS(3118), + [anon_sym__Alignas] = ACTIONS(3118), + [sym_primitive_type] = ACTIONS(3118), + [anon_sym_enum] = ACTIONS(3118), + [anon_sym_class] = ACTIONS(3118), + [anon_sym_struct] = ACTIONS(3118), + [anon_sym_union] = ACTIONS(3118), + [anon_sym_if] = ACTIONS(3118), + [anon_sym_switch] = ACTIONS(3118), + [anon_sym_case] = ACTIONS(3118), + [anon_sym_default] = ACTIONS(3118), + [anon_sym_while] = ACTIONS(3118), + [anon_sym_do] = ACTIONS(3118), + [anon_sym_for] = ACTIONS(3118), + [anon_sym_return] = ACTIONS(3118), + [anon_sym_break] = ACTIONS(3118), + [anon_sym_continue] = ACTIONS(3118), + [anon_sym_goto] = ACTIONS(3118), + [anon_sym___try] = ACTIONS(3118), + [anon_sym___leave] = ACTIONS(3118), + [anon_sym_not] = ACTIONS(3118), + [anon_sym_compl] = ACTIONS(3118), + [anon_sym_DASH_DASH] = ACTIONS(3120), + [anon_sym_PLUS_PLUS] = ACTIONS(3120), + [anon_sym_sizeof] = ACTIONS(3118), + [anon_sym___alignof__] = ACTIONS(3118), + [anon_sym___alignof] = ACTIONS(3118), + [anon_sym__alignof] = ACTIONS(3118), + [anon_sym_alignof] = ACTIONS(3118), + [anon_sym__Alignof] = ACTIONS(3118), + [anon_sym_offsetof] = ACTIONS(3118), + [anon_sym__Generic] = ACTIONS(3118), + [anon_sym_asm] = ACTIONS(3118), + [anon_sym___asm__] = ACTIONS(3118), + [sym__number_literal] = ACTIONS(3120), + [anon_sym_L_SQUOTE] = ACTIONS(3120), + [anon_sym_u_SQUOTE] = ACTIONS(3120), + [anon_sym_U_SQUOTE] = ACTIONS(3120), + [anon_sym_u8_SQUOTE] = ACTIONS(3120), + [anon_sym_SQUOTE] = ACTIONS(3120), + [anon_sym_L_DQUOTE] = ACTIONS(3120), + [anon_sym_u_DQUOTE] = ACTIONS(3120), + [anon_sym_U_DQUOTE] = ACTIONS(3120), + [anon_sym_u8_DQUOTE] = ACTIONS(3120), + [anon_sym_DQUOTE] = ACTIONS(3120), + [sym_true] = ACTIONS(3118), + [sym_false] = ACTIONS(3118), + [anon_sym_NULL] = ACTIONS(3118), + [anon_sym_nullptr] = ACTIONS(3118), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3120), + [sym_auto] = ACTIONS(3118), + [anon_sym_decltype] = ACTIONS(3118), + [sym_virtual] = ACTIONS(3118), + [anon_sym_explicit] = ACTIONS(3118), + [anon_sym_typename] = ACTIONS(3118), + [anon_sym_template] = ACTIONS(3118), + [anon_sym_operator] = ACTIONS(3118), + [anon_sym_try] = ACTIONS(3118), + [anon_sym_delete] = ACTIONS(3118), + [anon_sym_throw] = ACTIONS(3118), + [anon_sym_namespace] = ACTIONS(3118), + [anon_sym_using] = ACTIONS(3118), + [anon_sym_static_assert] = ACTIONS(3118), + [anon_sym_concept] = ACTIONS(3118), + [anon_sym_co_return] = ACTIONS(3118), + [anon_sym_co_yield] = ACTIONS(3118), + [anon_sym_R_DQUOTE] = ACTIONS(3120), + [anon_sym_LR_DQUOTE] = ACTIONS(3120), + [anon_sym_uR_DQUOTE] = ACTIONS(3120), + [anon_sym_UR_DQUOTE] = ACTIONS(3120), + [anon_sym_u8R_DQUOTE] = ACTIONS(3120), + [anon_sym_co_await] = ACTIONS(3118), + [anon_sym_new] = ACTIONS(3118), + [anon_sym_requires] = ACTIONS(3118), + [sym_this] = ACTIONS(3118), + }, + [370] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_include_token1] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token2] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [aux_sym_preproc_else_token1] = ACTIONS(3122), + [aux_sym_preproc_elif_token1] = ACTIONS(3122), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_BANG] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_DASH] = ACTIONS(3122), + [anon_sym_PLUS] = ACTIONS(3122), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym_SEMI] = ACTIONS(3124), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym___cdecl] = ACTIONS(3122), + [anon_sym___clrcall] = ACTIONS(3122), + [anon_sym___stdcall] = ACTIONS(3122), + [anon_sym___fastcall] = ACTIONS(3122), + [anon_sym___thiscall] = ACTIONS(3122), + [anon_sym___vectorcall] = ACTIONS(3122), + [anon_sym_LBRACE] = ACTIONS(3124), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [anon_sym_if] = ACTIONS(3122), + [anon_sym_switch] = ACTIONS(3122), + [anon_sym_case] = ACTIONS(3122), + [anon_sym_default] = ACTIONS(3122), + [anon_sym_while] = ACTIONS(3122), + [anon_sym_do] = ACTIONS(3122), + [anon_sym_for] = ACTIONS(3122), + [anon_sym_return] = ACTIONS(3122), + [anon_sym_break] = ACTIONS(3122), + [anon_sym_continue] = ACTIONS(3122), + [anon_sym_goto] = ACTIONS(3122), + [anon_sym___try] = ACTIONS(3122), + [anon_sym___leave] = ACTIONS(3122), + [anon_sym_not] = ACTIONS(3122), + [anon_sym_compl] = ACTIONS(3122), + [anon_sym_DASH_DASH] = ACTIONS(3124), + [anon_sym_PLUS_PLUS] = ACTIONS(3124), + [anon_sym_sizeof] = ACTIONS(3122), + [anon_sym___alignof__] = ACTIONS(3122), + [anon_sym___alignof] = ACTIONS(3122), + [anon_sym__alignof] = ACTIONS(3122), + [anon_sym_alignof] = ACTIONS(3122), + [anon_sym__Alignof] = ACTIONS(3122), + [anon_sym_offsetof] = ACTIONS(3122), + [anon_sym__Generic] = ACTIONS(3122), + [anon_sym_asm] = ACTIONS(3122), + [anon_sym___asm__] = ACTIONS(3122), + [sym__number_literal] = ACTIONS(3124), + [anon_sym_L_SQUOTE] = ACTIONS(3124), + [anon_sym_u_SQUOTE] = ACTIONS(3124), + [anon_sym_U_SQUOTE] = ACTIONS(3124), + [anon_sym_u8_SQUOTE] = ACTIONS(3124), + [anon_sym_SQUOTE] = ACTIONS(3124), + [anon_sym_L_DQUOTE] = ACTIONS(3124), + [anon_sym_u_DQUOTE] = ACTIONS(3124), + [anon_sym_U_DQUOTE] = ACTIONS(3124), + [anon_sym_u8_DQUOTE] = ACTIONS(3124), + [anon_sym_DQUOTE] = ACTIONS(3124), + [sym_true] = ACTIONS(3122), + [sym_false] = ACTIONS(3122), + [anon_sym_NULL] = ACTIONS(3122), + [anon_sym_nullptr] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_try] = ACTIONS(3122), + [anon_sym_delete] = ACTIONS(3122), + [anon_sym_throw] = ACTIONS(3122), + [anon_sym_namespace] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + [anon_sym_concept] = ACTIONS(3122), + [anon_sym_co_return] = ACTIONS(3122), + [anon_sym_co_yield] = ACTIONS(3122), + [anon_sym_R_DQUOTE] = ACTIONS(3124), + [anon_sym_LR_DQUOTE] = ACTIONS(3124), + [anon_sym_uR_DQUOTE] = ACTIONS(3124), + [anon_sym_UR_DQUOTE] = ACTIONS(3124), + [anon_sym_u8R_DQUOTE] = ACTIONS(3124), + [anon_sym_co_await] = ACTIONS(3122), + [anon_sym_new] = ACTIONS(3122), + [anon_sym_requires] = ACTIONS(3122), + [sym_this] = ACTIONS(3122), + }, + [371] = { + [sym_preproc_def] = STATE(332), + [sym_preproc_function_def] = STATE(332), + [sym_preproc_call] = STATE(332), + [sym_preproc_if_in_field_declaration_list] = STATE(332), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(332), + [sym_preproc_else_in_field_declaration_list] = STATE(8047), + [sym_preproc_elif_in_field_declaration_list] = STATE(8047), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8047), + [sym_type_definition] = STATE(332), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(332), + [sym_field_declaration] = STATE(332), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(332), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(332), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(332), + [sym_operator_cast_declaration] = STATE(332), + [sym_constructor_or_destructor_definition] = STATE(332), + [sym_constructor_or_destructor_declaration] = STATE(332), + [sym_friend_declaration] = STATE(332), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(332), + [sym_alias_declaration] = STATE(332), + [sym_static_assert_declaration] = STATE(332), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(332), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3126), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [372] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8049), + [sym_preproc_elif_in_field_declaration_list] = STATE(8049), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8049), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3128), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [373] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_include_token1] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token2] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [aux_sym_preproc_else_token1] = ACTIONS(3130), + [aux_sym_preproc_elif_token1] = ACTIONS(3130), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_BANG] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_DASH] = ACTIONS(3130), + [anon_sym_PLUS] = ACTIONS(3130), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym_SEMI] = ACTIONS(3132), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym___cdecl] = ACTIONS(3130), + [anon_sym___clrcall] = ACTIONS(3130), + [anon_sym___stdcall] = ACTIONS(3130), + [anon_sym___fastcall] = ACTIONS(3130), + [anon_sym___thiscall] = ACTIONS(3130), + [anon_sym___vectorcall] = ACTIONS(3130), + [anon_sym_LBRACE] = ACTIONS(3132), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [anon_sym_if] = ACTIONS(3130), + [anon_sym_switch] = ACTIONS(3130), + [anon_sym_case] = ACTIONS(3130), + [anon_sym_default] = ACTIONS(3130), + [anon_sym_while] = ACTIONS(3130), + [anon_sym_do] = ACTIONS(3130), + [anon_sym_for] = ACTIONS(3130), + [anon_sym_return] = ACTIONS(3130), + [anon_sym_break] = ACTIONS(3130), + [anon_sym_continue] = ACTIONS(3130), + [anon_sym_goto] = ACTIONS(3130), + [anon_sym___try] = ACTIONS(3130), + [anon_sym___leave] = ACTIONS(3130), + [anon_sym_not] = ACTIONS(3130), + [anon_sym_compl] = ACTIONS(3130), + [anon_sym_DASH_DASH] = ACTIONS(3132), + [anon_sym_PLUS_PLUS] = ACTIONS(3132), + [anon_sym_sizeof] = ACTIONS(3130), + [anon_sym___alignof__] = ACTIONS(3130), + [anon_sym___alignof] = ACTIONS(3130), + [anon_sym__alignof] = ACTIONS(3130), + [anon_sym_alignof] = ACTIONS(3130), + [anon_sym__Alignof] = ACTIONS(3130), + [anon_sym_offsetof] = ACTIONS(3130), + [anon_sym__Generic] = ACTIONS(3130), + [anon_sym_asm] = ACTIONS(3130), + [anon_sym___asm__] = ACTIONS(3130), + [sym__number_literal] = ACTIONS(3132), + [anon_sym_L_SQUOTE] = ACTIONS(3132), + [anon_sym_u_SQUOTE] = ACTIONS(3132), + [anon_sym_U_SQUOTE] = ACTIONS(3132), + [anon_sym_u8_SQUOTE] = ACTIONS(3132), + [anon_sym_SQUOTE] = ACTIONS(3132), + [anon_sym_L_DQUOTE] = ACTIONS(3132), + [anon_sym_u_DQUOTE] = ACTIONS(3132), + [anon_sym_U_DQUOTE] = ACTIONS(3132), + [anon_sym_u8_DQUOTE] = ACTIONS(3132), + [anon_sym_DQUOTE] = ACTIONS(3132), + [sym_true] = ACTIONS(3130), + [sym_false] = ACTIONS(3130), + [anon_sym_NULL] = ACTIONS(3130), + [anon_sym_nullptr] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_try] = ACTIONS(3130), + [anon_sym_delete] = ACTIONS(3130), + [anon_sym_throw] = ACTIONS(3130), + [anon_sym_namespace] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + [anon_sym_concept] = ACTIONS(3130), + [anon_sym_co_return] = ACTIONS(3130), + [anon_sym_co_yield] = ACTIONS(3130), + [anon_sym_R_DQUOTE] = ACTIONS(3132), + [anon_sym_LR_DQUOTE] = ACTIONS(3132), + [anon_sym_uR_DQUOTE] = ACTIONS(3132), + [anon_sym_UR_DQUOTE] = ACTIONS(3132), + [anon_sym_u8R_DQUOTE] = ACTIONS(3132), + [anon_sym_co_await] = ACTIONS(3130), + [anon_sym_new] = ACTIONS(3130), + [anon_sym_requires] = ACTIONS(3130), + [sym_this] = ACTIONS(3130), + }, + [374] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_include_token1] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token2] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [aux_sym_preproc_else_token1] = ACTIONS(3134), + [aux_sym_preproc_elif_token1] = ACTIONS(3134), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_BANG] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_DASH] = ACTIONS(3134), + [anon_sym_PLUS] = ACTIONS(3134), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym_SEMI] = ACTIONS(3136), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym___cdecl] = ACTIONS(3134), + [anon_sym___clrcall] = ACTIONS(3134), + [anon_sym___stdcall] = ACTIONS(3134), + [anon_sym___fastcall] = ACTIONS(3134), + [anon_sym___thiscall] = ACTIONS(3134), + [anon_sym___vectorcall] = ACTIONS(3134), + [anon_sym_LBRACE] = ACTIONS(3136), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [anon_sym_if] = ACTIONS(3134), + [anon_sym_switch] = ACTIONS(3134), + [anon_sym_case] = ACTIONS(3134), + [anon_sym_default] = ACTIONS(3134), + [anon_sym_while] = ACTIONS(3134), + [anon_sym_do] = ACTIONS(3134), + [anon_sym_for] = ACTIONS(3134), + [anon_sym_return] = ACTIONS(3134), + [anon_sym_break] = ACTIONS(3134), + [anon_sym_continue] = ACTIONS(3134), + [anon_sym_goto] = ACTIONS(3134), + [anon_sym___try] = ACTIONS(3134), + [anon_sym___leave] = ACTIONS(3134), + [anon_sym_not] = ACTIONS(3134), + [anon_sym_compl] = ACTIONS(3134), + [anon_sym_DASH_DASH] = ACTIONS(3136), + [anon_sym_PLUS_PLUS] = ACTIONS(3136), + [anon_sym_sizeof] = ACTIONS(3134), + [anon_sym___alignof__] = ACTIONS(3134), + [anon_sym___alignof] = ACTIONS(3134), + [anon_sym__alignof] = ACTIONS(3134), + [anon_sym_alignof] = ACTIONS(3134), + [anon_sym__Alignof] = ACTIONS(3134), + [anon_sym_offsetof] = ACTIONS(3134), + [anon_sym__Generic] = ACTIONS(3134), + [anon_sym_asm] = ACTIONS(3134), + [anon_sym___asm__] = ACTIONS(3134), + [sym__number_literal] = ACTIONS(3136), + [anon_sym_L_SQUOTE] = ACTIONS(3136), + [anon_sym_u_SQUOTE] = ACTIONS(3136), + [anon_sym_U_SQUOTE] = ACTIONS(3136), + [anon_sym_u8_SQUOTE] = ACTIONS(3136), + [anon_sym_SQUOTE] = ACTIONS(3136), + [anon_sym_L_DQUOTE] = ACTIONS(3136), + [anon_sym_u_DQUOTE] = ACTIONS(3136), + [anon_sym_U_DQUOTE] = ACTIONS(3136), + [anon_sym_u8_DQUOTE] = ACTIONS(3136), + [anon_sym_DQUOTE] = ACTIONS(3136), + [sym_true] = ACTIONS(3134), + [sym_false] = ACTIONS(3134), + [anon_sym_NULL] = ACTIONS(3134), + [anon_sym_nullptr] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_try] = ACTIONS(3134), + [anon_sym_delete] = ACTIONS(3134), + [anon_sym_throw] = ACTIONS(3134), + [anon_sym_namespace] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + [anon_sym_concept] = ACTIONS(3134), + [anon_sym_co_return] = ACTIONS(3134), + [anon_sym_co_yield] = ACTIONS(3134), + [anon_sym_R_DQUOTE] = ACTIONS(3136), + [anon_sym_LR_DQUOTE] = ACTIONS(3136), + [anon_sym_uR_DQUOTE] = ACTIONS(3136), + [anon_sym_UR_DQUOTE] = ACTIONS(3136), + [anon_sym_u8R_DQUOTE] = ACTIONS(3136), + [anon_sym_co_await] = ACTIONS(3134), + [anon_sym_new] = ACTIONS(3134), + [anon_sym_requires] = ACTIONS(3134), + [sym_this] = ACTIONS(3134), + }, + [375] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_include_token1] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token2] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [aux_sym_preproc_else_token1] = ACTIONS(3138), + [aux_sym_preproc_elif_token1] = ACTIONS(3138), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_BANG] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_DASH] = ACTIONS(3138), + [anon_sym_PLUS] = ACTIONS(3138), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym_SEMI] = ACTIONS(3140), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym___cdecl] = ACTIONS(3138), + [anon_sym___clrcall] = ACTIONS(3138), + [anon_sym___stdcall] = ACTIONS(3138), + [anon_sym___fastcall] = ACTIONS(3138), + [anon_sym___thiscall] = ACTIONS(3138), + [anon_sym___vectorcall] = ACTIONS(3138), + [anon_sym_LBRACE] = ACTIONS(3140), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [anon_sym_if] = ACTIONS(3138), + [anon_sym_switch] = ACTIONS(3138), + [anon_sym_case] = ACTIONS(3138), + [anon_sym_default] = ACTIONS(3138), + [anon_sym_while] = ACTIONS(3138), + [anon_sym_do] = ACTIONS(3138), + [anon_sym_for] = ACTIONS(3138), + [anon_sym_return] = ACTIONS(3138), + [anon_sym_break] = ACTIONS(3138), + [anon_sym_continue] = ACTIONS(3138), + [anon_sym_goto] = ACTIONS(3138), + [anon_sym___try] = ACTIONS(3138), + [anon_sym___leave] = ACTIONS(3138), + [anon_sym_not] = ACTIONS(3138), + [anon_sym_compl] = ACTIONS(3138), + [anon_sym_DASH_DASH] = ACTIONS(3140), + [anon_sym_PLUS_PLUS] = ACTIONS(3140), + [anon_sym_sizeof] = ACTIONS(3138), + [anon_sym___alignof__] = ACTIONS(3138), + [anon_sym___alignof] = ACTIONS(3138), + [anon_sym__alignof] = ACTIONS(3138), + [anon_sym_alignof] = ACTIONS(3138), + [anon_sym__Alignof] = ACTIONS(3138), + [anon_sym_offsetof] = ACTIONS(3138), + [anon_sym__Generic] = ACTIONS(3138), + [anon_sym_asm] = ACTIONS(3138), + [anon_sym___asm__] = ACTIONS(3138), + [sym__number_literal] = ACTIONS(3140), + [anon_sym_L_SQUOTE] = ACTIONS(3140), + [anon_sym_u_SQUOTE] = ACTIONS(3140), + [anon_sym_U_SQUOTE] = ACTIONS(3140), + [anon_sym_u8_SQUOTE] = ACTIONS(3140), + [anon_sym_SQUOTE] = ACTIONS(3140), + [anon_sym_L_DQUOTE] = ACTIONS(3140), + [anon_sym_u_DQUOTE] = ACTIONS(3140), + [anon_sym_U_DQUOTE] = ACTIONS(3140), + [anon_sym_u8_DQUOTE] = ACTIONS(3140), + [anon_sym_DQUOTE] = ACTIONS(3140), + [sym_true] = ACTIONS(3138), + [sym_false] = ACTIONS(3138), + [anon_sym_NULL] = ACTIONS(3138), + [anon_sym_nullptr] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_try] = ACTIONS(3138), + [anon_sym_delete] = ACTIONS(3138), + [anon_sym_throw] = ACTIONS(3138), + [anon_sym_namespace] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + [anon_sym_concept] = ACTIONS(3138), + [anon_sym_co_return] = ACTIONS(3138), + [anon_sym_co_yield] = ACTIONS(3138), + [anon_sym_R_DQUOTE] = ACTIONS(3140), + [anon_sym_LR_DQUOTE] = ACTIONS(3140), + [anon_sym_uR_DQUOTE] = ACTIONS(3140), + [anon_sym_UR_DQUOTE] = ACTIONS(3140), + [anon_sym_u8R_DQUOTE] = ACTIONS(3140), + [anon_sym_co_await] = ACTIONS(3138), + [anon_sym_new] = ACTIONS(3138), + [anon_sym_requires] = ACTIONS(3138), + [sym_this] = ACTIONS(3138), + }, + [376] = { + [sym_preproc_def] = STATE(306), + [sym_preproc_function_def] = STATE(306), + [sym_preproc_call] = STATE(306), + [sym_preproc_if_in_field_declaration_list] = STATE(306), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(306), + [sym_preproc_else_in_field_declaration_list] = STATE(8482), + [sym_preproc_elif_in_field_declaration_list] = STATE(8482), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8482), + [sym_type_definition] = STATE(306), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(306), + [sym_field_declaration] = STATE(306), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(306), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(306), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(306), + [sym_operator_cast_declaration] = STATE(306), + [sym_constructor_or_destructor_definition] = STATE(306), + [sym_constructor_or_destructor_declaration] = STATE(306), + [sym_friend_declaration] = STATE(306), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(306), + [sym_alias_declaration] = STATE(306), + [sym_static_assert_declaration] = STATE(306), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(306), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3142), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [377] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [aux_sym_preproc_else_token1] = ACTIONS(3100), + [aux_sym_preproc_elif_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [378] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8514), + [sym_preproc_elif_in_field_declaration_list] = STATE(8514), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8514), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3144), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [379] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_preproc_else_in_field_declaration_list] = STATE(8448), + [sym_preproc_elif_in_field_declaration_list] = STATE(8448), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8448), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3146), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [380] = { + [sym_preproc_def] = STATE(378), + [sym_preproc_function_def] = STATE(378), + [sym_preproc_call] = STATE(378), + [sym_preproc_if_in_field_declaration_list] = STATE(378), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(378), + [sym_preproc_else_in_field_declaration_list] = STATE(8445), + [sym_preproc_elif_in_field_declaration_list] = STATE(8445), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8445), + [sym_type_definition] = STATE(378), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(378), + [sym_field_declaration] = STATE(378), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(378), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(378), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(378), + [sym_operator_cast_declaration] = STATE(378), + [sym_constructor_or_destructor_definition] = STATE(378), + [sym_constructor_or_destructor_declaration] = STATE(378), + [sym_friend_declaration] = STATE(378), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(378), + [sym_alias_declaration] = STATE(378), + [sym_static_assert_declaration] = STATE(378), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(378), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3148), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [381] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_include_token1] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token2] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [aux_sym_preproc_else_token1] = ACTIONS(3150), + [aux_sym_preproc_elif_token1] = ACTIONS(3150), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_BANG] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_DASH] = ACTIONS(3150), + [anon_sym_PLUS] = ACTIONS(3150), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym_SEMI] = ACTIONS(3152), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym___cdecl] = ACTIONS(3150), + [anon_sym___clrcall] = ACTIONS(3150), + [anon_sym___stdcall] = ACTIONS(3150), + [anon_sym___fastcall] = ACTIONS(3150), + [anon_sym___thiscall] = ACTIONS(3150), + [anon_sym___vectorcall] = ACTIONS(3150), + [anon_sym_LBRACE] = ACTIONS(3152), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [anon_sym_if] = ACTIONS(3150), + [anon_sym_switch] = ACTIONS(3150), + [anon_sym_case] = ACTIONS(3150), + [anon_sym_default] = ACTIONS(3150), + [anon_sym_while] = ACTIONS(3150), + [anon_sym_do] = ACTIONS(3150), + [anon_sym_for] = ACTIONS(3150), + [anon_sym_return] = ACTIONS(3150), + [anon_sym_break] = ACTIONS(3150), + [anon_sym_continue] = ACTIONS(3150), + [anon_sym_goto] = ACTIONS(3150), + [anon_sym___try] = ACTIONS(3150), + [anon_sym___leave] = ACTIONS(3150), + [anon_sym_not] = ACTIONS(3150), + [anon_sym_compl] = ACTIONS(3150), + [anon_sym_DASH_DASH] = ACTIONS(3152), + [anon_sym_PLUS_PLUS] = ACTIONS(3152), + [anon_sym_sizeof] = ACTIONS(3150), + [anon_sym___alignof__] = ACTIONS(3150), + [anon_sym___alignof] = ACTIONS(3150), + [anon_sym__alignof] = ACTIONS(3150), + [anon_sym_alignof] = ACTIONS(3150), + [anon_sym__Alignof] = ACTIONS(3150), + [anon_sym_offsetof] = ACTIONS(3150), + [anon_sym__Generic] = ACTIONS(3150), + [anon_sym_asm] = ACTIONS(3150), + [anon_sym___asm__] = ACTIONS(3150), + [sym__number_literal] = ACTIONS(3152), + [anon_sym_L_SQUOTE] = ACTIONS(3152), + [anon_sym_u_SQUOTE] = ACTIONS(3152), + [anon_sym_U_SQUOTE] = ACTIONS(3152), + [anon_sym_u8_SQUOTE] = ACTIONS(3152), + [anon_sym_SQUOTE] = ACTIONS(3152), + [anon_sym_L_DQUOTE] = ACTIONS(3152), + [anon_sym_u_DQUOTE] = ACTIONS(3152), + [anon_sym_U_DQUOTE] = ACTIONS(3152), + [anon_sym_u8_DQUOTE] = ACTIONS(3152), + [anon_sym_DQUOTE] = ACTIONS(3152), + [sym_true] = ACTIONS(3150), + [sym_false] = ACTIONS(3150), + [anon_sym_NULL] = ACTIONS(3150), + [anon_sym_nullptr] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_try] = ACTIONS(3150), + [anon_sym_delete] = ACTIONS(3150), + [anon_sym_throw] = ACTIONS(3150), + [anon_sym_namespace] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + [anon_sym_concept] = ACTIONS(3150), + [anon_sym_co_return] = ACTIONS(3150), + [anon_sym_co_yield] = ACTIONS(3150), + [anon_sym_R_DQUOTE] = ACTIONS(3152), + [anon_sym_LR_DQUOTE] = ACTIONS(3152), + [anon_sym_uR_DQUOTE] = ACTIONS(3152), + [anon_sym_UR_DQUOTE] = ACTIONS(3152), + [anon_sym_u8R_DQUOTE] = ACTIONS(3152), + [anon_sym_co_await] = ACTIONS(3150), + [anon_sym_new] = ACTIONS(3150), + [anon_sym_requires] = ACTIONS(3150), + [sym_this] = ACTIONS(3150), + }, + [382] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [aux_sym_preproc_else_token1] = ACTIONS(3154), + [aux_sym_preproc_elif_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [383] = { + [sym_preproc_def] = STATE(379), + [sym_preproc_function_def] = STATE(379), + [sym_preproc_call] = STATE(379), + [sym_preproc_if_in_field_declaration_list] = STATE(379), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(379), + [sym_preproc_else_in_field_declaration_list] = STATE(8317), + [sym_preproc_elif_in_field_declaration_list] = STATE(8317), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(8317), + [sym_type_definition] = STATE(379), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(379), + [sym_field_declaration] = STATE(379), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(379), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(379), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(379), + [sym_operator_cast_declaration] = STATE(379), + [sym_constructor_or_destructor_definition] = STATE(379), + [sym_constructor_or_destructor_declaration] = STATE(379), + [sym_friend_declaration] = STATE(379), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(379), + [sym_alias_declaration] = STATE(379), + [sym_static_assert_declaration] = STATE(379), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(379), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(2835), + [aux_sym_preproc_if_token1] = ACTIONS(2837), + [aux_sym_preproc_if_token2] = ACTIONS(3158), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2841), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2841), + [aux_sym_preproc_else_token1] = ACTIONS(2843), + [aux_sym_preproc_elif_token1] = ACTIONS(2845), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2847), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2847), + [sym_preproc_directive] = ACTIONS(2849), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(2859), + [anon_sym_typedef] = ACTIONS(2861), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(2887), + [anon_sym_static_assert] = ACTIONS(2889), + }, + [384] = { + [sym_catch_clause] = STATE(325), + [aux_sym_constructor_try_statement_repeat1] = STATE(325), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_include_token1] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_BANG] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_DASH] = ACTIONS(2566), + [anon_sym_PLUS] = ACTIONS(2566), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym_SEMI] = ACTIONS(2568), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym___cdecl] = ACTIONS(2566), + [anon_sym___clrcall] = ACTIONS(2566), + [anon_sym___stdcall] = ACTIONS(2566), + [anon_sym___fastcall] = ACTIONS(2566), + [anon_sym___thiscall] = ACTIONS(2566), + [anon_sym___vectorcall] = ACTIONS(2566), + [anon_sym_LBRACE] = ACTIONS(2568), + [anon_sym_RBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [anon_sym_if] = ACTIONS(2566), + [anon_sym_else] = ACTIONS(2566), + [anon_sym_switch] = ACTIONS(2566), + [anon_sym_case] = ACTIONS(2566), + [anon_sym_default] = ACTIONS(2566), + [anon_sym_while] = ACTIONS(2566), + [anon_sym_do] = ACTIONS(2566), + [anon_sym_for] = ACTIONS(2566), + [anon_sym_return] = ACTIONS(2566), + [anon_sym_break] = ACTIONS(2566), + [anon_sym_continue] = ACTIONS(2566), + [anon_sym_goto] = ACTIONS(2566), + [anon_sym___try] = ACTIONS(2566), + [anon_sym___leave] = ACTIONS(2566), + [anon_sym_not] = ACTIONS(2566), + [anon_sym_compl] = ACTIONS(2566), + [anon_sym_DASH_DASH] = ACTIONS(2568), + [anon_sym_PLUS_PLUS] = ACTIONS(2568), + [anon_sym_sizeof] = ACTIONS(2566), + [anon_sym___alignof__] = ACTIONS(2566), + [anon_sym___alignof] = ACTIONS(2566), + [anon_sym__alignof] = ACTIONS(2566), + [anon_sym_alignof] = ACTIONS(2566), + [anon_sym__Alignof] = ACTIONS(2566), + [anon_sym_offsetof] = ACTIONS(2566), + [anon_sym__Generic] = ACTIONS(2566), + [anon_sym_asm] = ACTIONS(2566), + [anon_sym___asm__] = ACTIONS(2566), + [sym__number_literal] = ACTIONS(2568), + [anon_sym_L_SQUOTE] = ACTIONS(2568), + [anon_sym_u_SQUOTE] = ACTIONS(2568), + [anon_sym_U_SQUOTE] = ACTIONS(2568), + [anon_sym_u8_SQUOTE] = ACTIONS(2568), + [anon_sym_SQUOTE] = ACTIONS(2568), + [anon_sym_L_DQUOTE] = ACTIONS(2568), + [anon_sym_u_DQUOTE] = ACTIONS(2568), + [anon_sym_U_DQUOTE] = ACTIONS(2568), + [anon_sym_u8_DQUOTE] = ACTIONS(2568), + [anon_sym_DQUOTE] = ACTIONS(2568), + [sym_true] = ACTIONS(2566), + [sym_false] = ACTIONS(2566), + [anon_sym_NULL] = ACTIONS(2566), + [anon_sym_nullptr] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_try] = ACTIONS(2566), + [anon_sym_delete] = ACTIONS(2566), + [anon_sym_throw] = ACTIONS(2566), + [anon_sym_namespace] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_concept] = ACTIONS(2566), + [anon_sym_co_return] = ACTIONS(2566), + [anon_sym_co_yield] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(3160), + [anon_sym_R_DQUOTE] = ACTIONS(2568), + [anon_sym_LR_DQUOTE] = ACTIONS(2568), + [anon_sym_uR_DQUOTE] = ACTIONS(2568), + [anon_sym_UR_DQUOTE] = ACTIONS(2568), + [anon_sym_u8R_DQUOTE] = ACTIONS(2568), + [anon_sym_co_await] = ACTIONS(2566), + [anon_sym_new] = ACTIONS(2566), + [anon_sym_requires] = ACTIONS(2566), + [sym_this] = ACTIONS(2566), + }, + [385] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_include_token1] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token2] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [aux_sym_preproc_else_token1] = ACTIONS(3162), + [aux_sym_preproc_elif_token1] = ACTIONS(3162), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_BANG] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_DASH] = ACTIONS(3162), + [anon_sym_PLUS] = ACTIONS(3162), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym_SEMI] = ACTIONS(3164), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym___cdecl] = ACTIONS(3162), + [anon_sym___clrcall] = ACTIONS(3162), + [anon_sym___stdcall] = ACTIONS(3162), + [anon_sym___fastcall] = ACTIONS(3162), + [anon_sym___thiscall] = ACTIONS(3162), + [anon_sym___vectorcall] = ACTIONS(3162), + [anon_sym_LBRACE] = ACTIONS(3164), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [anon_sym_if] = ACTIONS(3162), + [anon_sym_switch] = ACTIONS(3162), + [anon_sym_case] = ACTIONS(3162), + [anon_sym_default] = ACTIONS(3162), + [anon_sym_while] = ACTIONS(3162), + [anon_sym_do] = ACTIONS(3162), + [anon_sym_for] = ACTIONS(3162), + [anon_sym_return] = ACTIONS(3162), + [anon_sym_break] = ACTIONS(3162), + [anon_sym_continue] = ACTIONS(3162), + [anon_sym_goto] = ACTIONS(3162), + [anon_sym___try] = ACTIONS(3162), + [anon_sym___leave] = ACTIONS(3162), + [anon_sym_not] = ACTIONS(3162), + [anon_sym_compl] = ACTIONS(3162), + [anon_sym_DASH_DASH] = ACTIONS(3164), + [anon_sym_PLUS_PLUS] = ACTIONS(3164), + [anon_sym_sizeof] = ACTIONS(3162), + [anon_sym___alignof__] = ACTIONS(3162), + [anon_sym___alignof] = ACTIONS(3162), + [anon_sym__alignof] = ACTIONS(3162), + [anon_sym_alignof] = ACTIONS(3162), + [anon_sym__Alignof] = ACTIONS(3162), + [anon_sym_offsetof] = ACTIONS(3162), + [anon_sym__Generic] = ACTIONS(3162), + [anon_sym_asm] = ACTIONS(3162), + [anon_sym___asm__] = ACTIONS(3162), + [sym__number_literal] = ACTIONS(3164), + [anon_sym_L_SQUOTE] = ACTIONS(3164), + [anon_sym_u_SQUOTE] = ACTIONS(3164), + [anon_sym_U_SQUOTE] = ACTIONS(3164), + [anon_sym_u8_SQUOTE] = ACTIONS(3164), + [anon_sym_SQUOTE] = ACTIONS(3164), + [anon_sym_L_DQUOTE] = ACTIONS(3164), + [anon_sym_u_DQUOTE] = ACTIONS(3164), + [anon_sym_U_DQUOTE] = ACTIONS(3164), + [anon_sym_u8_DQUOTE] = ACTIONS(3164), + [anon_sym_DQUOTE] = ACTIONS(3164), + [sym_true] = ACTIONS(3162), + [sym_false] = ACTIONS(3162), + [anon_sym_NULL] = ACTIONS(3162), + [anon_sym_nullptr] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_try] = ACTIONS(3162), + [anon_sym_delete] = ACTIONS(3162), + [anon_sym_throw] = ACTIONS(3162), + [anon_sym_namespace] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + [anon_sym_concept] = ACTIONS(3162), + [anon_sym_co_return] = ACTIONS(3162), + [anon_sym_co_yield] = ACTIONS(3162), + [anon_sym_R_DQUOTE] = ACTIONS(3164), + [anon_sym_LR_DQUOTE] = ACTIONS(3164), + [anon_sym_uR_DQUOTE] = ACTIONS(3164), + [anon_sym_UR_DQUOTE] = ACTIONS(3164), + [anon_sym_u8R_DQUOTE] = ACTIONS(3164), + [anon_sym_co_await] = ACTIONS(3162), + [anon_sym_new] = ACTIONS(3162), + [anon_sym_requires] = ACTIONS(3162), + [sym_this] = ACTIONS(3162), + }, + [386] = { + [sym__identifier] = ACTIONS(3166), + [aux_sym_preproc_include_token1] = ACTIONS(3166), + [aux_sym_preproc_def_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token2] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3166), + [aux_sym_preproc_else_token1] = ACTIONS(3166), + [aux_sym_preproc_elif_token1] = ACTIONS(3166), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3166), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3166), + [sym_preproc_directive] = ACTIONS(3166), + [anon_sym_LPAREN2] = ACTIONS(3168), + [anon_sym_BANG] = ACTIONS(3168), + [anon_sym_TILDE] = ACTIONS(3168), + [anon_sym_DASH] = ACTIONS(3166), + [anon_sym_PLUS] = ACTIONS(3166), + [anon_sym_STAR] = ACTIONS(3168), + [anon_sym_AMP_AMP] = ACTIONS(3168), + [anon_sym_AMP] = ACTIONS(3166), + [anon_sym_SEMI] = ACTIONS(3168), + [anon_sym___extension__] = ACTIONS(3166), + [anon_sym_typedef] = ACTIONS(3166), + [anon_sym_extern] = ACTIONS(3166), + [anon_sym___attribute__] = ACTIONS(3166), + [anon_sym_COLON_COLON] = ACTIONS(3168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3168), + [anon_sym___declspec] = ACTIONS(3166), + [anon_sym___based] = ACTIONS(3166), + [anon_sym___cdecl] = ACTIONS(3166), + [anon_sym___clrcall] = ACTIONS(3166), + [anon_sym___stdcall] = ACTIONS(3166), + [anon_sym___fastcall] = ACTIONS(3166), + [anon_sym___thiscall] = ACTIONS(3166), + [anon_sym___vectorcall] = ACTIONS(3166), + [anon_sym_LBRACE] = ACTIONS(3168), + [anon_sym_signed] = ACTIONS(3166), + [anon_sym_unsigned] = ACTIONS(3166), + [anon_sym_long] = ACTIONS(3166), + [anon_sym_short] = ACTIONS(3166), + [anon_sym_LBRACK] = ACTIONS(3166), + [anon_sym_static] = ACTIONS(3166), + [anon_sym_register] = ACTIONS(3166), + [anon_sym_inline] = ACTIONS(3166), + [anon_sym___inline] = ACTIONS(3166), + [anon_sym___inline__] = ACTIONS(3166), + [anon_sym___forceinline] = ACTIONS(3166), + [anon_sym_thread_local] = ACTIONS(3166), + [anon_sym___thread] = ACTIONS(3166), + [anon_sym_const] = ACTIONS(3166), + [anon_sym_constexpr] = ACTIONS(3166), + [anon_sym_volatile] = ACTIONS(3166), + [anon_sym_restrict] = ACTIONS(3166), + [anon_sym___restrict__] = ACTIONS(3166), + [anon_sym__Atomic] = ACTIONS(3166), + [anon_sym__Noreturn] = ACTIONS(3166), + [anon_sym_noreturn] = ACTIONS(3166), + [anon_sym_mutable] = ACTIONS(3166), + [anon_sym_constinit] = ACTIONS(3166), + [anon_sym_consteval] = ACTIONS(3166), + [anon_sym_alignas] = ACTIONS(3166), + [anon_sym__Alignas] = ACTIONS(3166), + [sym_primitive_type] = ACTIONS(3166), + [anon_sym_enum] = ACTIONS(3166), + [anon_sym_class] = ACTIONS(3166), + [anon_sym_struct] = ACTIONS(3166), + [anon_sym_union] = ACTIONS(3166), + [anon_sym_if] = ACTIONS(3166), + [anon_sym_switch] = ACTIONS(3166), + [anon_sym_case] = ACTIONS(3166), + [anon_sym_default] = ACTIONS(3166), + [anon_sym_while] = ACTIONS(3166), + [anon_sym_do] = ACTIONS(3166), + [anon_sym_for] = ACTIONS(3166), + [anon_sym_return] = ACTIONS(3166), + [anon_sym_break] = ACTIONS(3166), + [anon_sym_continue] = ACTIONS(3166), + [anon_sym_goto] = ACTIONS(3166), + [anon_sym___try] = ACTIONS(3166), + [anon_sym___leave] = ACTIONS(3166), + [anon_sym_not] = ACTIONS(3166), + [anon_sym_compl] = ACTIONS(3166), + [anon_sym_DASH_DASH] = ACTIONS(3168), + [anon_sym_PLUS_PLUS] = ACTIONS(3168), + [anon_sym_sizeof] = ACTIONS(3166), + [anon_sym___alignof__] = ACTIONS(3166), + [anon_sym___alignof] = ACTIONS(3166), + [anon_sym__alignof] = ACTIONS(3166), + [anon_sym_alignof] = ACTIONS(3166), + [anon_sym__Alignof] = ACTIONS(3166), + [anon_sym_offsetof] = ACTIONS(3166), + [anon_sym__Generic] = ACTIONS(3166), + [anon_sym_asm] = ACTIONS(3166), + [anon_sym___asm__] = ACTIONS(3166), + [sym__number_literal] = ACTIONS(3168), + [anon_sym_L_SQUOTE] = ACTIONS(3168), + [anon_sym_u_SQUOTE] = ACTIONS(3168), + [anon_sym_U_SQUOTE] = ACTIONS(3168), + [anon_sym_u8_SQUOTE] = ACTIONS(3168), + [anon_sym_SQUOTE] = ACTIONS(3168), + [anon_sym_L_DQUOTE] = ACTIONS(3168), + [anon_sym_u_DQUOTE] = ACTIONS(3168), + [anon_sym_U_DQUOTE] = ACTIONS(3168), + [anon_sym_u8_DQUOTE] = ACTIONS(3168), + [anon_sym_DQUOTE] = ACTIONS(3168), + [sym_true] = ACTIONS(3166), + [sym_false] = ACTIONS(3166), + [anon_sym_NULL] = ACTIONS(3166), + [anon_sym_nullptr] = ACTIONS(3166), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3168), + [sym_auto] = ACTIONS(3166), + [anon_sym_decltype] = ACTIONS(3166), + [sym_virtual] = ACTIONS(3166), + [anon_sym_explicit] = ACTIONS(3166), + [anon_sym_typename] = ACTIONS(3166), + [anon_sym_template] = ACTIONS(3166), + [anon_sym_operator] = ACTIONS(3166), + [anon_sym_try] = ACTIONS(3166), + [anon_sym_delete] = ACTIONS(3166), + [anon_sym_throw] = ACTIONS(3166), + [anon_sym_namespace] = ACTIONS(3166), + [anon_sym_using] = ACTIONS(3166), + [anon_sym_static_assert] = ACTIONS(3166), + [anon_sym_concept] = ACTIONS(3166), + [anon_sym_co_return] = ACTIONS(3166), + [anon_sym_co_yield] = ACTIONS(3166), + [anon_sym_R_DQUOTE] = ACTIONS(3168), + [anon_sym_LR_DQUOTE] = ACTIONS(3168), + [anon_sym_uR_DQUOTE] = ACTIONS(3168), + [anon_sym_UR_DQUOTE] = ACTIONS(3168), + [anon_sym_u8R_DQUOTE] = ACTIONS(3168), + [anon_sym_co_await] = ACTIONS(3166), + [anon_sym_new] = ACTIONS(3166), + [anon_sym_requires] = ACTIONS(3166), + [sym_this] = ACTIONS(3166), + }, + [387] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_include_token1] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token2] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [aux_sym_preproc_else_token1] = ACTIONS(3170), + [aux_sym_preproc_elif_token1] = ACTIONS(3170), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_BANG] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_DASH] = ACTIONS(3170), + [anon_sym_PLUS] = ACTIONS(3170), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym_SEMI] = ACTIONS(3172), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym___cdecl] = ACTIONS(3170), + [anon_sym___clrcall] = ACTIONS(3170), + [anon_sym___stdcall] = ACTIONS(3170), + [anon_sym___fastcall] = ACTIONS(3170), + [anon_sym___thiscall] = ACTIONS(3170), + [anon_sym___vectorcall] = ACTIONS(3170), + [anon_sym_LBRACE] = ACTIONS(3172), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [anon_sym_if] = ACTIONS(3170), + [anon_sym_switch] = ACTIONS(3170), + [anon_sym_case] = ACTIONS(3170), + [anon_sym_default] = ACTIONS(3170), + [anon_sym_while] = ACTIONS(3170), + [anon_sym_do] = ACTIONS(3170), + [anon_sym_for] = ACTIONS(3170), + [anon_sym_return] = ACTIONS(3170), + [anon_sym_break] = ACTIONS(3170), + [anon_sym_continue] = ACTIONS(3170), + [anon_sym_goto] = ACTIONS(3170), + [anon_sym___try] = ACTIONS(3170), + [anon_sym___leave] = ACTIONS(3170), + [anon_sym_not] = ACTIONS(3170), + [anon_sym_compl] = ACTIONS(3170), + [anon_sym_DASH_DASH] = ACTIONS(3172), + [anon_sym_PLUS_PLUS] = ACTIONS(3172), + [anon_sym_sizeof] = ACTIONS(3170), + [anon_sym___alignof__] = ACTIONS(3170), + [anon_sym___alignof] = ACTIONS(3170), + [anon_sym__alignof] = ACTIONS(3170), + [anon_sym_alignof] = ACTIONS(3170), + [anon_sym__Alignof] = ACTIONS(3170), + [anon_sym_offsetof] = ACTIONS(3170), + [anon_sym__Generic] = ACTIONS(3170), + [anon_sym_asm] = ACTIONS(3170), + [anon_sym___asm__] = ACTIONS(3170), + [sym__number_literal] = ACTIONS(3172), + [anon_sym_L_SQUOTE] = ACTIONS(3172), + [anon_sym_u_SQUOTE] = ACTIONS(3172), + [anon_sym_U_SQUOTE] = ACTIONS(3172), + [anon_sym_u8_SQUOTE] = ACTIONS(3172), + [anon_sym_SQUOTE] = ACTIONS(3172), + [anon_sym_L_DQUOTE] = ACTIONS(3172), + [anon_sym_u_DQUOTE] = ACTIONS(3172), + [anon_sym_U_DQUOTE] = ACTIONS(3172), + [anon_sym_u8_DQUOTE] = ACTIONS(3172), + [anon_sym_DQUOTE] = ACTIONS(3172), + [sym_true] = ACTIONS(3170), + [sym_false] = ACTIONS(3170), + [anon_sym_NULL] = ACTIONS(3170), + [anon_sym_nullptr] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_try] = ACTIONS(3170), + [anon_sym_delete] = ACTIONS(3170), + [anon_sym_throw] = ACTIONS(3170), + [anon_sym_namespace] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + [anon_sym_concept] = ACTIONS(3170), + [anon_sym_co_return] = ACTIONS(3170), + [anon_sym_co_yield] = ACTIONS(3170), + [anon_sym_R_DQUOTE] = ACTIONS(3172), + [anon_sym_LR_DQUOTE] = ACTIONS(3172), + [anon_sym_uR_DQUOTE] = ACTIONS(3172), + [anon_sym_UR_DQUOTE] = ACTIONS(3172), + [anon_sym_u8R_DQUOTE] = ACTIONS(3172), + [anon_sym_co_await] = ACTIONS(3170), + [anon_sym_new] = ACTIONS(3170), + [anon_sym_requires] = ACTIONS(3170), + [sym_this] = ACTIONS(3170), + }, + [388] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_include_token1] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token2] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [aux_sym_preproc_else_token1] = ACTIONS(3174), + [aux_sym_preproc_elif_token1] = ACTIONS(3174), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_BANG] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_DASH] = ACTIONS(3174), + [anon_sym_PLUS] = ACTIONS(3174), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym_SEMI] = ACTIONS(3176), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym___cdecl] = ACTIONS(3174), + [anon_sym___clrcall] = ACTIONS(3174), + [anon_sym___stdcall] = ACTIONS(3174), + [anon_sym___fastcall] = ACTIONS(3174), + [anon_sym___thiscall] = ACTIONS(3174), + [anon_sym___vectorcall] = ACTIONS(3174), + [anon_sym_LBRACE] = ACTIONS(3176), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [anon_sym_if] = ACTIONS(3174), + [anon_sym_switch] = ACTIONS(3174), + [anon_sym_case] = ACTIONS(3174), + [anon_sym_default] = ACTIONS(3174), + [anon_sym_while] = ACTIONS(3174), + [anon_sym_do] = ACTIONS(3174), + [anon_sym_for] = ACTIONS(3174), + [anon_sym_return] = ACTIONS(3174), + [anon_sym_break] = ACTIONS(3174), + [anon_sym_continue] = ACTIONS(3174), + [anon_sym_goto] = ACTIONS(3174), + [anon_sym___try] = ACTIONS(3174), + [anon_sym___leave] = ACTIONS(3174), + [anon_sym_not] = ACTIONS(3174), + [anon_sym_compl] = ACTIONS(3174), + [anon_sym_DASH_DASH] = ACTIONS(3176), + [anon_sym_PLUS_PLUS] = ACTIONS(3176), + [anon_sym_sizeof] = ACTIONS(3174), + [anon_sym___alignof__] = ACTIONS(3174), + [anon_sym___alignof] = ACTIONS(3174), + [anon_sym__alignof] = ACTIONS(3174), + [anon_sym_alignof] = ACTIONS(3174), + [anon_sym__Alignof] = ACTIONS(3174), + [anon_sym_offsetof] = ACTIONS(3174), + [anon_sym__Generic] = ACTIONS(3174), + [anon_sym_asm] = ACTIONS(3174), + [anon_sym___asm__] = ACTIONS(3174), + [sym__number_literal] = ACTIONS(3176), + [anon_sym_L_SQUOTE] = ACTIONS(3176), + [anon_sym_u_SQUOTE] = ACTIONS(3176), + [anon_sym_U_SQUOTE] = ACTIONS(3176), + [anon_sym_u8_SQUOTE] = ACTIONS(3176), + [anon_sym_SQUOTE] = ACTIONS(3176), + [anon_sym_L_DQUOTE] = ACTIONS(3176), + [anon_sym_u_DQUOTE] = ACTIONS(3176), + [anon_sym_U_DQUOTE] = ACTIONS(3176), + [anon_sym_u8_DQUOTE] = ACTIONS(3176), + [anon_sym_DQUOTE] = ACTIONS(3176), + [sym_true] = ACTIONS(3174), + [sym_false] = ACTIONS(3174), + [anon_sym_NULL] = ACTIONS(3174), + [anon_sym_nullptr] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_try] = ACTIONS(3174), + [anon_sym_delete] = ACTIONS(3174), + [anon_sym_throw] = ACTIONS(3174), + [anon_sym_namespace] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + [anon_sym_concept] = ACTIONS(3174), + [anon_sym_co_return] = ACTIONS(3174), + [anon_sym_co_yield] = ACTIONS(3174), + [anon_sym_R_DQUOTE] = ACTIONS(3176), + [anon_sym_LR_DQUOTE] = ACTIONS(3176), + [anon_sym_uR_DQUOTE] = ACTIONS(3176), + [anon_sym_UR_DQUOTE] = ACTIONS(3176), + [anon_sym_u8R_DQUOTE] = ACTIONS(3176), + [anon_sym_co_await] = ACTIONS(3174), + [anon_sym_new] = ACTIONS(3174), + [anon_sym_requires] = ACTIONS(3174), + [sym_this] = ACTIONS(3174), + }, + [389] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_include_token1] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token2] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [aux_sym_preproc_else_token1] = ACTIONS(3178), + [aux_sym_preproc_elif_token1] = ACTIONS(3178), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_BANG] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_DASH] = ACTIONS(3178), + [anon_sym_PLUS] = ACTIONS(3178), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym_SEMI] = ACTIONS(3180), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym___cdecl] = ACTIONS(3178), + [anon_sym___clrcall] = ACTIONS(3178), + [anon_sym___stdcall] = ACTIONS(3178), + [anon_sym___fastcall] = ACTIONS(3178), + [anon_sym___thiscall] = ACTIONS(3178), + [anon_sym___vectorcall] = ACTIONS(3178), + [anon_sym_LBRACE] = ACTIONS(3180), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [anon_sym_if] = ACTIONS(3178), + [anon_sym_switch] = ACTIONS(3178), + [anon_sym_case] = ACTIONS(3178), + [anon_sym_default] = ACTIONS(3178), + [anon_sym_while] = ACTIONS(3178), + [anon_sym_do] = ACTIONS(3178), + [anon_sym_for] = ACTIONS(3178), + [anon_sym_return] = ACTIONS(3178), + [anon_sym_break] = ACTIONS(3178), + [anon_sym_continue] = ACTIONS(3178), + [anon_sym_goto] = ACTIONS(3178), + [anon_sym___try] = ACTIONS(3178), + [anon_sym___leave] = ACTIONS(3178), + [anon_sym_not] = ACTIONS(3178), + [anon_sym_compl] = ACTIONS(3178), + [anon_sym_DASH_DASH] = ACTIONS(3180), + [anon_sym_PLUS_PLUS] = ACTIONS(3180), + [anon_sym_sizeof] = ACTIONS(3178), + [anon_sym___alignof__] = ACTIONS(3178), + [anon_sym___alignof] = ACTIONS(3178), + [anon_sym__alignof] = ACTIONS(3178), + [anon_sym_alignof] = ACTIONS(3178), + [anon_sym__Alignof] = ACTIONS(3178), + [anon_sym_offsetof] = ACTIONS(3178), + [anon_sym__Generic] = ACTIONS(3178), + [anon_sym_asm] = ACTIONS(3178), + [anon_sym___asm__] = ACTIONS(3178), + [sym__number_literal] = ACTIONS(3180), + [anon_sym_L_SQUOTE] = ACTIONS(3180), + [anon_sym_u_SQUOTE] = ACTIONS(3180), + [anon_sym_U_SQUOTE] = ACTIONS(3180), + [anon_sym_u8_SQUOTE] = ACTIONS(3180), + [anon_sym_SQUOTE] = ACTIONS(3180), + [anon_sym_L_DQUOTE] = ACTIONS(3180), + [anon_sym_u_DQUOTE] = ACTIONS(3180), + [anon_sym_U_DQUOTE] = ACTIONS(3180), + [anon_sym_u8_DQUOTE] = ACTIONS(3180), + [anon_sym_DQUOTE] = ACTIONS(3180), + [sym_true] = ACTIONS(3178), + [sym_false] = ACTIONS(3178), + [anon_sym_NULL] = ACTIONS(3178), + [anon_sym_nullptr] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_try] = ACTIONS(3178), + [anon_sym_delete] = ACTIONS(3178), + [anon_sym_throw] = ACTIONS(3178), + [anon_sym_namespace] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + [anon_sym_concept] = ACTIONS(3178), + [anon_sym_co_return] = ACTIONS(3178), + [anon_sym_co_yield] = ACTIONS(3178), + [anon_sym_R_DQUOTE] = ACTIONS(3180), + [anon_sym_LR_DQUOTE] = ACTIONS(3180), + [anon_sym_uR_DQUOTE] = ACTIONS(3180), + [anon_sym_UR_DQUOTE] = ACTIONS(3180), + [anon_sym_u8R_DQUOTE] = ACTIONS(3180), + [anon_sym_co_await] = ACTIONS(3178), + [anon_sym_new] = ACTIONS(3178), + [anon_sym_requires] = ACTIONS(3178), + [sym_this] = ACTIONS(3178), + }, + [390] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_include_token1] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token2] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [aux_sym_preproc_else_token1] = ACTIONS(3182), + [aux_sym_preproc_elif_token1] = ACTIONS(3182), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_BANG] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_DASH] = ACTIONS(3182), + [anon_sym_PLUS] = ACTIONS(3182), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym_SEMI] = ACTIONS(3184), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym___cdecl] = ACTIONS(3182), + [anon_sym___clrcall] = ACTIONS(3182), + [anon_sym___stdcall] = ACTIONS(3182), + [anon_sym___fastcall] = ACTIONS(3182), + [anon_sym___thiscall] = ACTIONS(3182), + [anon_sym___vectorcall] = ACTIONS(3182), + [anon_sym_LBRACE] = ACTIONS(3184), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [anon_sym_if] = ACTIONS(3182), + [anon_sym_switch] = ACTIONS(3182), + [anon_sym_case] = ACTIONS(3182), + [anon_sym_default] = ACTIONS(3182), + [anon_sym_while] = ACTIONS(3182), + [anon_sym_do] = ACTIONS(3182), + [anon_sym_for] = ACTIONS(3182), + [anon_sym_return] = ACTIONS(3182), + [anon_sym_break] = ACTIONS(3182), + [anon_sym_continue] = ACTIONS(3182), + [anon_sym_goto] = ACTIONS(3182), + [anon_sym___try] = ACTIONS(3182), + [anon_sym___leave] = ACTIONS(3182), + [anon_sym_not] = ACTIONS(3182), + [anon_sym_compl] = ACTIONS(3182), + [anon_sym_DASH_DASH] = ACTIONS(3184), + [anon_sym_PLUS_PLUS] = ACTIONS(3184), + [anon_sym_sizeof] = ACTIONS(3182), + [anon_sym___alignof__] = ACTIONS(3182), + [anon_sym___alignof] = ACTIONS(3182), + [anon_sym__alignof] = ACTIONS(3182), + [anon_sym_alignof] = ACTIONS(3182), + [anon_sym__Alignof] = ACTIONS(3182), + [anon_sym_offsetof] = ACTIONS(3182), + [anon_sym__Generic] = ACTIONS(3182), + [anon_sym_asm] = ACTIONS(3182), + [anon_sym___asm__] = ACTIONS(3182), + [sym__number_literal] = ACTIONS(3184), + [anon_sym_L_SQUOTE] = ACTIONS(3184), + [anon_sym_u_SQUOTE] = ACTIONS(3184), + [anon_sym_U_SQUOTE] = ACTIONS(3184), + [anon_sym_u8_SQUOTE] = ACTIONS(3184), + [anon_sym_SQUOTE] = ACTIONS(3184), + [anon_sym_L_DQUOTE] = ACTIONS(3184), + [anon_sym_u_DQUOTE] = ACTIONS(3184), + [anon_sym_U_DQUOTE] = ACTIONS(3184), + [anon_sym_u8_DQUOTE] = ACTIONS(3184), + [anon_sym_DQUOTE] = ACTIONS(3184), + [sym_true] = ACTIONS(3182), + [sym_false] = ACTIONS(3182), + [anon_sym_NULL] = ACTIONS(3182), + [anon_sym_nullptr] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_try] = ACTIONS(3182), + [anon_sym_delete] = ACTIONS(3182), + [anon_sym_throw] = ACTIONS(3182), + [anon_sym_namespace] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + [anon_sym_concept] = ACTIONS(3182), + [anon_sym_co_return] = ACTIONS(3182), + [anon_sym_co_yield] = ACTIONS(3182), + [anon_sym_R_DQUOTE] = ACTIONS(3184), + [anon_sym_LR_DQUOTE] = ACTIONS(3184), + [anon_sym_uR_DQUOTE] = ACTIONS(3184), + [anon_sym_UR_DQUOTE] = ACTIONS(3184), + [anon_sym_u8R_DQUOTE] = ACTIONS(3184), + [anon_sym_co_await] = ACTIONS(3182), + [anon_sym_new] = ACTIONS(3182), + [anon_sym_requires] = ACTIONS(3182), + [sym_this] = ACTIONS(3182), + }, + [391] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [aux_sym_preproc_else_token1] = ACTIONS(3186), + [aux_sym_preproc_elif_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [392] = { + [sym__identifier] = ACTIONS(3190), + [aux_sym_preproc_include_token1] = ACTIONS(3190), + [aux_sym_preproc_def_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token2] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3190), + [aux_sym_preproc_else_token1] = ACTIONS(3190), + [aux_sym_preproc_elif_token1] = ACTIONS(3190), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3190), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3190), + [sym_preproc_directive] = ACTIONS(3190), + [anon_sym_LPAREN2] = ACTIONS(3192), + [anon_sym_BANG] = ACTIONS(3192), + [anon_sym_TILDE] = ACTIONS(3192), + [anon_sym_DASH] = ACTIONS(3190), + [anon_sym_PLUS] = ACTIONS(3190), + [anon_sym_STAR] = ACTIONS(3192), + [anon_sym_AMP_AMP] = ACTIONS(3192), + [anon_sym_AMP] = ACTIONS(3190), + [anon_sym_SEMI] = ACTIONS(3192), + [anon_sym___extension__] = ACTIONS(3190), + [anon_sym_typedef] = ACTIONS(3190), + [anon_sym_extern] = ACTIONS(3190), + [anon_sym___attribute__] = ACTIONS(3190), + [anon_sym_COLON_COLON] = ACTIONS(3192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3192), + [anon_sym___declspec] = ACTIONS(3190), + [anon_sym___based] = ACTIONS(3190), + [anon_sym___cdecl] = ACTIONS(3190), + [anon_sym___clrcall] = ACTIONS(3190), + [anon_sym___stdcall] = ACTIONS(3190), + [anon_sym___fastcall] = ACTIONS(3190), + [anon_sym___thiscall] = ACTIONS(3190), + [anon_sym___vectorcall] = ACTIONS(3190), + [anon_sym_LBRACE] = ACTIONS(3192), + [anon_sym_signed] = ACTIONS(3190), + [anon_sym_unsigned] = ACTIONS(3190), + [anon_sym_long] = ACTIONS(3190), + [anon_sym_short] = ACTIONS(3190), + [anon_sym_LBRACK] = ACTIONS(3190), + [anon_sym_static] = ACTIONS(3190), + [anon_sym_register] = ACTIONS(3190), + [anon_sym_inline] = ACTIONS(3190), + [anon_sym___inline] = ACTIONS(3190), + [anon_sym___inline__] = ACTIONS(3190), + [anon_sym___forceinline] = ACTIONS(3190), + [anon_sym_thread_local] = ACTIONS(3190), + [anon_sym___thread] = ACTIONS(3190), + [anon_sym_const] = ACTIONS(3190), + [anon_sym_constexpr] = ACTIONS(3190), + [anon_sym_volatile] = ACTIONS(3190), + [anon_sym_restrict] = ACTIONS(3190), + [anon_sym___restrict__] = ACTIONS(3190), + [anon_sym__Atomic] = ACTIONS(3190), + [anon_sym__Noreturn] = ACTIONS(3190), + [anon_sym_noreturn] = ACTIONS(3190), + [anon_sym_mutable] = ACTIONS(3190), + [anon_sym_constinit] = ACTIONS(3190), + [anon_sym_consteval] = ACTIONS(3190), + [anon_sym_alignas] = ACTIONS(3190), + [anon_sym__Alignas] = ACTIONS(3190), + [sym_primitive_type] = ACTIONS(3190), + [anon_sym_enum] = ACTIONS(3190), + [anon_sym_class] = ACTIONS(3190), + [anon_sym_struct] = ACTIONS(3190), + [anon_sym_union] = ACTIONS(3190), + [anon_sym_if] = ACTIONS(3190), + [anon_sym_switch] = ACTIONS(3190), + [anon_sym_case] = ACTIONS(3190), + [anon_sym_default] = ACTIONS(3190), + [anon_sym_while] = ACTIONS(3190), + [anon_sym_do] = ACTIONS(3190), + [anon_sym_for] = ACTIONS(3190), + [anon_sym_return] = ACTIONS(3190), + [anon_sym_break] = ACTIONS(3190), + [anon_sym_continue] = ACTIONS(3190), + [anon_sym_goto] = ACTIONS(3190), + [anon_sym___try] = ACTIONS(3190), + [anon_sym___leave] = ACTIONS(3190), + [anon_sym_not] = ACTIONS(3190), + [anon_sym_compl] = ACTIONS(3190), + [anon_sym_DASH_DASH] = ACTIONS(3192), + [anon_sym_PLUS_PLUS] = ACTIONS(3192), + [anon_sym_sizeof] = ACTIONS(3190), + [anon_sym___alignof__] = ACTIONS(3190), + [anon_sym___alignof] = ACTIONS(3190), + [anon_sym__alignof] = ACTIONS(3190), + [anon_sym_alignof] = ACTIONS(3190), + [anon_sym__Alignof] = ACTIONS(3190), + [anon_sym_offsetof] = ACTIONS(3190), + [anon_sym__Generic] = ACTIONS(3190), + [anon_sym_asm] = ACTIONS(3190), + [anon_sym___asm__] = ACTIONS(3190), + [sym__number_literal] = ACTIONS(3192), + [anon_sym_L_SQUOTE] = ACTIONS(3192), + [anon_sym_u_SQUOTE] = ACTIONS(3192), + [anon_sym_U_SQUOTE] = ACTIONS(3192), + [anon_sym_u8_SQUOTE] = ACTIONS(3192), + [anon_sym_SQUOTE] = ACTIONS(3192), + [anon_sym_L_DQUOTE] = ACTIONS(3192), + [anon_sym_u_DQUOTE] = ACTIONS(3192), + [anon_sym_U_DQUOTE] = ACTIONS(3192), + [anon_sym_u8_DQUOTE] = ACTIONS(3192), + [anon_sym_DQUOTE] = ACTIONS(3192), + [sym_true] = ACTIONS(3190), + [sym_false] = ACTIONS(3190), + [anon_sym_NULL] = ACTIONS(3190), + [anon_sym_nullptr] = ACTIONS(3190), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3192), + [sym_auto] = ACTIONS(3190), + [anon_sym_decltype] = ACTIONS(3190), + [sym_virtual] = ACTIONS(3190), + [anon_sym_explicit] = ACTIONS(3190), + [anon_sym_typename] = ACTIONS(3190), + [anon_sym_template] = ACTIONS(3190), + [anon_sym_operator] = ACTIONS(3190), + [anon_sym_try] = ACTIONS(3190), + [anon_sym_delete] = ACTIONS(3190), + [anon_sym_throw] = ACTIONS(3190), + [anon_sym_namespace] = ACTIONS(3190), + [anon_sym_using] = ACTIONS(3190), + [anon_sym_static_assert] = ACTIONS(3190), + [anon_sym_concept] = ACTIONS(3190), + [anon_sym_co_return] = ACTIONS(3190), + [anon_sym_co_yield] = ACTIONS(3190), + [anon_sym_R_DQUOTE] = ACTIONS(3192), + [anon_sym_LR_DQUOTE] = ACTIONS(3192), + [anon_sym_uR_DQUOTE] = ACTIONS(3192), + [anon_sym_UR_DQUOTE] = ACTIONS(3192), + [anon_sym_u8R_DQUOTE] = ACTIONS(3192), + [anon_sym_co_await] = ACTIONS(3190), + [anon_sym_new] = ACTIONS(3190), + [anon_sym_requires] = ACTIONS(3190), + [sym_this] = ACTIONS(3190), + }, + [393] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [aux_sym_preproc_else_token1] = ACTIONS(3186), + [aux_sym_preproc_elif_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [394] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [aux_sym_preproc_else_token1] = ACTIONS(3154), + [aux_sym_preproc_elif_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [395] = { + [sym_expression] = STATE(4082), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1869), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [aux_sym_preproc_if_token2] = ACTIONS(1871), + [aux_sym_preproc_else_token1] = ACTIONS(1871), + [aux_sym_preproc_elif_token1] = ACTIONS(1869), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1871), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(3194), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1871), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [396] = { + [sym_catch_clause] = STATE(349), + [aux_sym_constructor_try_statement_repeat1] = STATE(349), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_include_token1] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token2] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_BANG] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_DASH] = ACTIONS(2667), + [anon_sym_PLUS] = ACTIONS(2667), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym_SEMI] = ACTIONS(2669), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym___cdecl] = ACTIONS(2667), + [anon_sym___clrcall] = ACTIONS(2667), + [anon_sym___stdcall] = ACTIONS(2667), + [anon_sym___fastcall] = ACTIONS(2667), + [anon_sym___thiscall] = ACTIONS(2667), + [anon_sym___vectorcall] = ACTIONS(2667), + [anon_sym_LBRACE] = ACTIONS(2669), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [anon_sym_if] = ACTIONS(2667), + [anon_sym_switch] = ACTIONS(2667), + [anon_sym_case] = ACTIONS(2667), + [anon_sym_default] = ACTIONS(2667), + [anon_sym_while] = ACTIONS(2667), + [anon_sym_do] = ACTIONS(2667), + [anon_sym_for] = ACTIONS(2667), + [anon_sym_return] = ACTIONS(2667), + [anon_sym_break] = ACTIONS(2667), + [anon_sym_continue] = ACTIONS(2667), + [anon_sym_goto] = ACTIONS(2667), + [anon_sym___try] = ACTIONS(2667), + [anon_sym___leave] = ACTIONS(2667), + [anon_sym_not] = ACTIONS(2667), + [anon_sym_compl] = ACTIONS(2667), + [anon_sym_DASH_DASH] = ACTIONS(2669), + [anon_sym_PLUS_PLUS] = ACTIONS(2669), + [anon_sym_sizeof] = ACTIONS(2667), + [anon_sym___alignof__] = ACTIONS(2667), + [anon_sym___alignof] = ACTIONS(2667), + [anon_sym__alignof] = ACTIONS(2667), + [anon_sym_alignof] = ACTIONS(2667), + [anon_sym__Alignof] = ACTIONS(2667), + [anon_sym_offsetof] = ACTIONS(2667), + [anon_sym__Generic] = ACTIONS(2667), + [anon_sym_asm] = ACTIONS(2667), + [anon_sym___asm__] = ACTIONS(2667), + [sym__number_literal] = ACTIONS(2669), + [anon_sym_L_SQUOTE] = ACTIONS(2669), + [anon_sym_u_SQUOTE] = ACTIONS(2669), + [anon_sym_U_SQUOTE] = ACTIONS(2669), + [anon_sym_u8_SQUOTE] = ACTIONS(2669), + [anon_sym_SQUOTE] = ACTIONS(2669), + [anon_sym_L_DQUOTE] = ACTIONS(2669), + [anon_sym_u_DQUOTE] = ACTIONS(2669), + [anon_sym_U_DQUOTE] = ACTIONS(2669), + [anon_sym_u8_DQUOTE] = ACTIONS(2669), + [anon_sym_DQUOTE] = ACTIONS(2669), + [sym_true] = ACTIONS(2667), + [sym_false] = ACTIONS(2667), + [anon_sym_NULL] = ACTIONS(2667), + [anon_sym_nullptr] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_try] = ACTIONS(2667), + [anon_sym_delete] = ACTIONS(2667), + [anon_sym_throw] = ACTIONS(2667), + [anon_sym_namespace] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_concept] = ACTIONS(2667), + [anon_sym_co_return] = ACTIONS(2667), + [anon_sym_co_yield] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(3062), + [anon_sym_R_DQUOTE] = ACTIONS(2669), + [anon_sym_LR_DQUOTE] = ACTIONS(2669), + [anon_sym_uR_DQUOTE] = ACTIONS(2669), + [anon_sym_UR_DQUOTE] = ACTIONS(2669), + [anon_sym_u8R_DQUOTE] = ACTIONS(2669), + [anon_sym_co_await] = ACTIONS(2667), + [anon_sym_new] = ACTIONS(2667), + [anon_sym_requires] = ACTIONS(2667), + [sym_this] = ACTIONS(2667), + }, + [397] = { + [sym_catch_clause] = STATE(325), + [aux_sym_constructor_try_statement_repeat1] = STATE(325), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_include_token1] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_BANG] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_DASH] = ACTIONS(2667), + [anon_sym_PLUS] = ACTIONS(2667), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym_SEMI] = ACTIONS(2669), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym___cdecl] = ACTIONS(2667), + [anon_sym___clrcall] = ACTIONS(2667), + [anon_sym___stdcall] = ACTIONS(2667), + [anon_sym___fastcall] = ACTIONS(2667), + [anon_sym___thiscall] = ACTIONS(2667), + [anon_sym___vectorcall] = ACTIONS(2667), + [anon_sym_LBRACE] = ACTIONS(2669), + [anon_sym_RBRACE] = ACTIONS(2669), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [anon_sym_if] = ACTIONS(2667), + [anon_sym_switch] = ACTIONS(2667), + [anon_sym_case] = ACTIONS(2667), + [anon_sym_default] = ACTIONS(2667), + [anon_sym_while] = ACTIONS(2667), + [anon_sym_do] = ACTIONS(2667), + [anon_sym_for] = ACTIONS(2667), + [anon_sym_return] = ACTIONS(2667), + [anon_sym_break] = ACTIONS(2667), + [anon_sym_continue] = ACTIONS(2667), + [anon_sym_goto] = ACTIONS(2667), + [anon_sym___try] = ACTIONS(2667), + [anon_sym___leave] = ACTIONS(2667), + [anon_sym_not] = ACTIONS(2667), + [anon_sym_compl] = ACTIONS(2667), + [anon_sym_DASH_DASH] = ACTIONS(2669), + [anon_sym_PLUS_PLUS] = ACTIONS(2669), + [anon_sym_sizeof] = ACTIONS(2667), + [anon_sym___alignof__] = ACTIONS(2667), + [anon_sym___alignof] = ACTIONS(2667), + [anon_sym__alignof] = ACTIONS(2667), + [anon_sym_alignof] = ACTIONS(2667), + [anon_sym__Alignof] = ACTIONS(2667), + [anon_sym_offsetof] = ACTIONS(2667), + [anon_sym__Generic] = ACTIONS(2667), + [anon_sym_asm] = ACTIONS(2667), + [anon_sym___asm__] = ACTIONS(2667), + [sym__number_literal] = ACTIONS(2669), + [anon_sym_L_SQUOTE] = ACTIONS(2669), + [anon_sym_u_SQUOTE] = ACTIONS(2669), + [anon_sym_U_SQUOTE] = ACTIONS(2669), + [anon_sym_u8_SQUOTE] = ACTIONS(2669), + [anon_sym_SQUOTE] = ACTIONS(2669), + [anon_sym_L_DQUOTE] = ACTIONS(2669), + [anon_sym_u_DQUOTE] = ACTIONS(2669), + [anon_sym_U_DQUOTE] = ACTIONS(2669), + [anon_sym_u8_DQUOTE] = ACTIONS(2669), + [anon_sym_DQUOTE] = ACTIONS(2669), + [sym_true] = ACTIONS(2667), + [sym_false] = ACTIONS(2667), + [anon_sym_NULL] = ACTIONS(2667), + [anon_sym_nullptr] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_try] = ACTIONS(2667), + [anon_sym_delete] = ACTIONS(2667), + [anon_sym_throw] = ACTIONS(2667), + [anon_sym_namespace] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_concept] = ACTIONS(2667), + [anon_sym_co_return] = ACTIONS(2667), + [anon_sym_co_yield] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(3160), + [anon_sym_R_DQUOTE] = ACTIONS(2669), + [anon_sym_LR_DQUOTE] = ACTIONS(2669), + [anon_sym_uR_DQUOTE] = ACTIONS(2669), + [anon_sym_UR_DQUOTE] = ACTIONS(2669), + [anon_sym_u8R_DQUOTE] = ACTIONS(2669), + [anon_sym_co_await] = ACTIONS(2667), + [anon_sym_new] = ACTIONS(2667), + [anon_sym_requires] = ACTIONS(2667), + [sym_this] = ACTIONS(2667), + }, + [398] = { + [sym_catch_clause] = STATE(325), + [aux_sym_constructor_try_statement_repeat1] = STATE(325), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_include_token1] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_BANG] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_DASH] = ACTIONS(2663), + [anon_sym_PLUS] = ACTIONS(2663), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym_SEMI] = ACTIONS(2665), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym___cdecl] = ACTIONS(2663), + [anon_sym___clrcall] = ACTIONS(2663), + [anon_sym___stdcall] = ACTIONS(2663), + [anon_sym___fastcall] = ACTIONS(2663), + [anon_sym___thiscall] = ACTIONS(2663), + [anon_sym___vectorcall] = ACTIONS(2663), + [anon_sym_LBRACE] = ACTIONS(2665), + [anon_sym_RBRACE] = ACTIONS(2665), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [anon_sym_if] = ACTIONS(2663), + [anon_sym_switch] = ACTIONS(2663), + [anon_sym_case] = ACTIONS(2663), + [anon_sym_default] = ACTIONS(2663), + [anon_sym_while] = ACTIONS(2663), + [anon_sym_do] = ACTIONS(2663), + [anon_sym_for] = ACTIONS(2663), + [anon_sym_return] = ACTIONS(2663), + [anon_sym_break] = ACTIONS(2663), + [anon_sym_continue] = ACTIONS(2663), + [anon_sym_goto] = ACTIONS(2663), + [anon_sym___try] = ACTIONS(2663), + [anon_sym___leave] = ACTIONS(2663), + [anon_sym_not] = ACTIONS(2663), + [anon_sym_compl] = ACTIONS(2663), + [anon_sym_DASH_DASH] = ACTIONS(2665), + [anon_sym_PLUS_PLUS] = ACTIONS(2665), + [anon_sym_sizeof] = ACTIONS(2663), + [anon_sym___alignof__] = ACTIONS(2663), + [anon_sym___alignof] = ACTIONS(2663), + [anon_sym__alignof] = ACTIONS(2663), + [anon_sym_alignof] = ACTIONS(2663), + [anon_sym__Alignof] = ACTIONS(2663), + [anon_sym_offsetof] = ACTIONS(2663), + [anon_sym__Generic] = ACTIONS(2663), + [anon_sym_asm] = ACTIONS(2663), + [anon_sym___asm__] = ACTIONS(2663), + [sym__number_literal] = ACTIONS(2665), + [anon_sym_L_SQUOTE] = ACTIONS(2665), + [anon_sym_u_SQUOTE] = ACTIONS(2665), + [anon_sym_U_SQUOTE] = ACTIONS(2665), + [anon_sym_u8_SQUOTE] = ACTIONS(2665), + [anon_sym_SQUOTE] = ACTIONS(2665), + [anon_sym_L_DQUOTE] = ACTIONS(2665), + [anon_sym_u_DQUOTE] = ACTIONS(2665), + [anon_sym_U_DQUOTE] = ACTIONS(2665), + [anon_sym_u8_DQUOTE] = ACTIONS(2665), + [anon_sym_DQUOTE] = ACTIONS(2665), + [sym_true] = ACTIONS(2663), + [sym_false] = ACTIONS(2663), + [anon_sym_NULL] = ACTIONS(2663), + [anon_sym_nullptr] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_try] = ACTIONS(2663), + [anon_sym_delete] = ACTIONS(2663), + [anon_sym_throw] = ACTIONS(2663), + [anon_sym_namespace] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_concept] = ACTIONS(2663), + [anon_sym_co_return] = ACTIONS(2663), + [anon_sym_co_yield] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(3160), + [anon_sym_R_DQUOTE] = ACTIONS(2665), + [anon_sym_LR_DQUOTE] = ACTIONS(2665), + [anon_sym_uR_DQUOTE] = ACTIONS(2665), + [anon_sym_UR_DQUOTE] = ACTIONS(2665), + [anon_sym_u8R_DQUOTE] = ACTIONS(2665), + [anon_sym_co_await] = ACTIONS(2663), + [anon_sym_new] = ACTIONS(2663), + [anon_sym_requires] = ACTIONS(2663), + [sym_this] = ACTIONS(2663), + }, + [399] = { + [sym_catch_clause] = STATE(349), + [aux_sym_constructor_try_statement_repeat1] = STATE(349), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_include_token1] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token2] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_BANG] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_DASH] = ACTIONS(2663), + [anon_sym_PLUS] = ACTIONS(2663), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym_SEMI] = ACTIONS(2665), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym___cdecl] = ACTIONS(2663), + [anon_sym___clrcall] = ACTIONS(2663), + [anon_sym___stdcall] = ACTIONS(2663), + [anon_sym___fastcall] = ACTIONS(2663), + [anon_sym___thiscall] = ACTIONS(2663), + [anon_sym___vectorcall] = ACTIONS(2663), + [anon_sym_LBRACE] = ACTIONS(2665), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [anon_sym_if] = ACTIONS(2663), + [anon_sym_switch] = ACTIONS(2663), + [anon_sym_case] = ACTIONS(2663), + [anon_sym_default] = ACTIONS(2663), + [anon_sym_while] = ACTIONS(2663), + [anon_sym_do] = ACTIONS(2663), + [anon_sym_for] = ACTIONS(2663), + [anon_sym_return] = ACTIONS(2663), + [anon_sym_break] = ACTIONS(2663), + [anon_sym_continue] = ACTIONS(2663), + [anon_sym_goto] = ACTIONS(2663), + [anon_sym___try] = ACTIONS(2663), + [anon_sym___leave] = ACTIONS(2663), + [anon_sym_not] = ACTIONS(2663), + [anon_sym_compl] = ACTIONS(2663), + [anon_sym_DASH_DASH] = ACTIONS(2665), + [anon_sym_PLUS_PLUS] = ACTIONS(2665), + [anon_sym_sizeof] = ACTIONS(2663), + [anon_sym___alignof__] = ACTIONS(2663), + [anon_sym___alignof] = ACTIONS(2663), + [anon_sym__alignof] = ACTIONS(2663), + [anon_sym_alignof] = ACTIONS(2663), + [anon_sym__Alignof] = ACTIONS(2663), + [anon_sym_offsetof] = ACTIONS(2663), + [anon_sym__Generic] = ACTIONS(2663), + [anon_sym_asm] = ACTIONS(2663), + [anon_sym___asm__] = ACTIONS(2663), + [sym__number_literal] = ACTIONS(2665), + [anon_sym_L_SQUOTE] = ACTIONS(2665), + [anon_sym_u_SQUOTE] = ACTIONS(2665), + [anon_sym_U_SQUOTE] = ACTIONS(2665), + [anon_sym_u8_SQUOTE] = ACTIONS(2665), + [anon_sym_SQUOTE] = ACTIONS(2665), + [anon_sym_L_DQUOTE] = ACTIONS(2665), + [anon_sym_u_DQUOTE] = ACTIONS(2665), + [anon_sym_U_DQUOTE] = ACTIONS(2665), + [anon_sym_u8_DQUOTE] = ACTIONS(2665), + [anon_sym_DQUOTE] = ACTIONS(2665), + [sym_true] = ACTIONS(2663), + [sym_false] = ACTIONS(2663), + [anon_sym_NULL] = ACTIONS(2663), + [anon_sym_nullptr] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_try] = ACTIONS(2663), + [anon_sym_delete] = ACTIONS(2663), + [anon_sym_throw] = ACTIONS(2663), + [anon_sym_namespace] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_concept] = ACTIONS(2663), + [anon_sym_co_return] = ACTIONS(2663), + [anon_sym_co_yield] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(3062), + [anon_sym_R_DQUOTE] = ACTIONS(2665), + [anon_sym_LR_DQUOTE] = ACTIONS(2665), + [anon_sym_uR_DQUOTE] = ACTIONS(2665), + [anon_sym_UR_DQUOTE] = ACTIONS(2665), + [anon_sym_u8R_DQUOTE] = ACTIONS(2665), + [anon_sym_co_await] = ACTIONS(2663), + [anon_sym_new] = ACTIONS(2663), + [anon_sym_requires] = ACTIONS(2663), + [sym_this] = ACTIONS(2663), + }, + [400] = { + [sym_else_clause] = STATE(426), + [sym__identifier] = ACTIONS(2671), + [aux_sym_preproc_include_token1] = ACTIONS(2671), + [aux_sym_preproc_def_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2671), + [sym_preproc_directive] = ACTIONS(2671), + [anon_sym_LPAREN2] = ACTIONS(2673), + [anon_sym_BANG] = ACTIONS(2673), + [anon_sym_TILDE] = ACTIONS(2673), + [anon_sym_DASH] = ACTIONS(2671), + [anon_sym_PLUS] = ACTIONS(2671), + [anon_sym_STAR] = ACTIONS(2673), + [anon_sym_AMP_AMP] = ACTIONS(2673), + [anon_sym_AMP] = ACTIONS(2671), + [anon_sym_SEMI] = ACTIONS(2673), + [anon_sym___extension__] = ACTIONS(2671), + [anon_sym_typedef] = ACTIONS(2671), + [anon_sym_extern] = ACTIONS(2671), + [anon_sym___attribute__] = ACTIONS(2671), + [anon_sym_COLON_COLON] = ACTIONS(2673), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2673), + [anon_sym___declspec] = ACTIONS(2671), + [anon_sym___based] = ACTIONS(2671), + [anon_sym___cdecl] = ACTIONS(2671), + [anon_sym___clrcall] = ACTIONS(2671), + [anon_sym___stdcall] = ACTIONS(2671), + [anon_sym___fastcall] = ACTIONS(2671), + [anon_sym___thiscall] = ACTIONS(2671), + [anon_sym___vectorcall] = ACTIONS(2671), + [anon_sym_LBRACE] = ACTIONS(2673), + [anon_sym_RBRACE] = ACTIONS(2673), + [anon_sym_signed] = ACTIONS(2671), + [anon_sym_unsigned] = ACTIONS(2671), + [anon_sym_long] = ACTIONS(2671), + [anon_sym_short] = ACTIONS(2671), + [anon_sym_LBRACK] = ACTIONS(2671), + [anon_sym_static] = ACTIONS(2671), + [anon_sym_register] = ACTIONS(2671), + [anon_sym_inline] = ACTIONS(2671), + [anon_sym___inline] = ACTIONS(2671), + [anon_sym___inline__] = ACTIONS(2671), + [anon_sym___forceinline] = ACTIONS(2671), + [anon_sym_thread_local] = ACTIONS(2671), + [anon_sym___thread] = ACTIONS(2671), + [anon_sym_const] = ACTIONS(2671), + [anon_sym_constexpr] = ACTIONS(2671), + [anon_sym_volatile] = ACTIONS(2671), + [anon_sym_restrict] = ACTIONS(2671), + [anon_sym___restrict__] = ACTIONS(2671), + [anon_sym__Atomic] = ACTIONS(2671), + [anon_sym__Noreturn] = ACTIONS(2671), + [anon_sym_noreturn] = ACTIONS(2671), + [anon_sym_mutable] = ACTIONS(2671), + [anon_sym_constinit] = ACTIONS(2671), + [anon_sym_consteval] = ACTIONS(2671), + [anon_sym_alignas] = ACTIONS(2671), + [anon_sym__Alignas] = ACTIONS(2671), + [sym_primitive_type] = ACTIONS(2671), + [anon_sym_enum] = ACTIONS(2671), + [anon_sym_class] = ACTIONS(2671), + [anon_sym_struct] = ACTIONS(2671), + [anon_sym_union] = ACTIONS(2671), + [anon_sym_if] = ACTIONS(2671), + [anon_sym_else] = ACTIONS(3220), + [anon_sym_switch] = ACTIONS(2671), + [anon_sym_case] = ACTIONS(2671), + [anon_sym_default] = ACTIONS(2671), + [anon_sym_while] = ACTIONS(2671), + [anon_sym_do] = ACTIONS(2671), + [anon_sym_for] = ACTIONS(2671), + [anon_sym_return] = ACTIONS(2671), + [anon_sym_break] = ACTIONS(2671), + [anon_sym_continue] = ACTIONS(2671), + [anon_sym_goto] = ACTIONS(2671), + [anon_sym___try] = ACTIONS(2671), + [anon_sym___leave] = ACTIONS(2671), + [anon_sym_not] = ACTIONS(2671), + [anon_sym_compl] = ACTIONS(2671), + [anon_sym_DASH_DASH] = ACTIONS(2673), + [anon_sym_PLUS_PLUS] = ACTIONS(2673), + [anon_sym_sizeof] = ACTIONS(2671), + [anon_sym___alignof__] = ACTIONS(2671), + [anon_sym___alignof] = ACTIONS(2671), + [anon_sym__alignof] = ACTIONS(2671), + [anon_sym_alignof] = ACTIONS(2671), + [anon_sym__Alignof] = ACTIONS(2671), + [anon_sym_offsetof] = ACTIONS(2671), + [anon_sym__Generic] = ACTIONS(2671), + [anon_sym_asm] = ACTIONS(2671), + [anon_sym___asm__] = ACTIONS(2671), + [sym__number_literal] = ACTIONS(2673), + [anon_sym_L_SQUOTE] = ACTIONS(2673), + [anon_sym_u_SQUOTE] = ACTIONS(2673), + [anon_sym_U_SQUOTE] = ACTIONS(2673), + [anon_sym_u8_SQUOTE] = ACTIONS(2673), + [anon_sym_SQUOTE] = ACTIONS(2673), + [anon_sym_L_DQUOTE] = ACTIONS(2673), + [anon_sym_u_DQUOTE] = ACTIONS(2673), + [anon_sym_U_DQUOTE] = ACTIONS(2673), + [anon_sym_u8_DQUOTE] = ACTIONS(2673), + [anon_sym_DQUOTE] = ACTIONS(2673), + [sym_true] = ACTIONS(2671), + [sym_false] = ACTIONS(2671), + [anon_sym_NULL] = ACTIONS(2671), + [anon_sym_nullptr] = ACTIONS(2671), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2673), + [sym_auto] = ACTIONS(2671), + [anon_sym_decltype] = ACTIONS(2671), + [sym_virtual] = ACTIONS(2671), + [anon_sym_explicit] = ACTIONS(2671), + [anon_sym_typename] = ACTIONS(2671), + [anon_sym_template] = ACTIONS(2671), + [anon_sym_operator] = ACTIONS(2671), + [anon_sym_try] = ACTIONS(2671), + [anon_sym_delete] = ACTIONS(2671), + [anon_sym_throw] = ACTIONS(2671), + [anon_sym_namespace] = ACTIONS(2671), + [anon_sym_using] = ACTIONS(2671), + [anon_sym_static_assert] = ACTIONS(2671), + [anon_sym_concept] = ACTIONS(2671), + [anon_sym_co_return] = ACTIONS(2671), + [anon_sym_co_yield] = ACTIONS(2671), + [anon_sym_R_DQUOTE] = ACTIONS(2673), + [anon_sym_LR_DQUOTE] = ACTIONS(2673), + [anon_sym_uR_DQUOTE] = ACTIONS(2673), + [anon_sym_UR_DQUOTE] = ACTIONS(2673), + [anon_sym_u8R_DQUOTE] = ACTIONS(2673), + [anon_sym_co_await] = ACTIONS(2671), + [anon_sym_new] = ACTIONS(2671), + [anon_sym_requires] = ACTIONS(2671), + [sym_this] = ACTIONS(2671), + }, + [401] = { + [ts_builtin_sym_end] = ACTIONS(2685), + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_include_token1] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_BANG] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_DASH] = ACTIONS(2683), + [anon_sym_PLUS] = ACTIONS(2683), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym_SEMI] = ACTIONS(2685), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym___cdecl] = ACTIONS(2683), + [anon_sym___clrcall] = ACTIONS(2683), + [anon_sym___stdcall] = ACTIONS(2683), + [anon_sym___fastcall] = ACTIONS(2683), + [anon_sym___thiscall] = ACTIONS(2683), + [anon_sym___vectorcall] = ACTIONS(2683), + [anon_sym_LBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [anon_sym_if] = ACTIONS(2683), + [anon_sym_else] = ACTIONS(2683), + [anon_sym_switch] = ACTIONS(2683), + [anon_sym_case] = ACTIONS(2683), + [anon_sym_default] = ACTIONS(2683), + [anon_sym_while] = ACTIONS(2683), + [anon_sym_do] = ACTIONS(2683), + [anon_sym_for] = ACTIONS(2683), + [anon_sym_return] = ACTIONS(2683), + [anon_sym_break] = ACTIONS(2683), + [anon_sym_continue] = ACTIONS(2683), + [anon_sym_goto] = ACTIONS(2683), + [anon_sym___try] = ACTIONS(2683), + [anon_sym___leave] = ACTIONS(2683), + [anon_sym_not] = ACTIONS(2683), + [anon_sym_compl] = ACTIONS(2683), + [anon_sym_DASH_DASH] = ACTIONS(2685), + [anon_sym_PLUS_PLUS] = ACTIONS(2685), + [anon_sym_sizeof] = ACTIONS(2683), + [anon_sym___alignof__] = ACTIONS(2683), + [anon_sym___alignof] = ACTIONS(2683), + [anon_sym__alignof] = ACTIONS(2683), + [anon_sym_alignof] = ACTIONS(2683), + [anon_sym__Alignof] = ACTIONS(2683), + [anon_sym_offsetof] = ACTIONS(2683), + [anon_sym__Generic] = ACTIONS(2683), + [anon_sym_asm] = ACTIONS(2683), + [anon_sym___asm__] = ACTIONS(2683), + [sym__number_literal] = ACTIONS(2685), + [anon_sym_L_SQUOTE] = ACTIONS(2685), + [anon_sym_u_SQUOTE] = ACTIONS(2685), + [anon_sym_U_SQUOTE] = ACTIONS(2685), + [anon_sym_u8_SQUOTE] = ACTIONS(2685), + [anon_sym_SQUOTE] = ACTIONS(2685), + [anon_sym_L_DQUOTE] = ACTIONS(2685), + [anon_sym_u_DQUOTE] = ACTIONS(2685), + [anon_sym_U_DQUOTE] = ACTIONS(2685), + [anon_sym_u8_DQUOTE] = ACTIONS(2685), + [anon_sym_DQUOTE] = ACTIONS(2685), + [sym_true] = ACTIONS(2683), + [sym_false] = ACTIONS(2683), + [anon_sym_NULL] = ACTIONS(2683), + [anon_sym_nullptr] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_try] = ACTIONS(2683), + [anon_sym_delete] = ACTIONS(2683), + [anon_sym_throw] = ACTIONS(2683), + [anon_sym_namespace] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_concept] = ACTIONS(2683), + [anon_sym_co_return] = ACTIONS(2683), + [anon_sym_co_yield] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + [anon_sym_R_DQUOTE] = ACTIONS(2685), + [anon_sym_LR_DQUOTE] = ACTIONS(2685), + [anon_sym_uR_DQUOTE] = ACTIONS(2685), + [anon_sym_UR_DQUOTE] = ACTIONS(2685), + [anon_sym_u8R_DQUOTE] = ACTIONS(2685), + [anon_sym_co_await] = ACTIONS(2683), + [anon_sym_new] = ACTIONS(2683), + [anon_sym_requires] = ACTIONS(2683), + [sym_this] = ACTIONS(2683), + }, + [402] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_RBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_else] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [403] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_include_token1] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token2] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_BANG] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_DASH] = ACTIONS(2452), + [anon_sym_PLUS] = ACTIONS(2452), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym_SEMI] = ACTIONS(2450), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym___cdecl] = ACTIONS(2452), + [anon_sym___clrcall] = ACTIONS(2452), + [anon_sym___stdcall] = ACTIONS(2452), + [anon_sym___fastcall] = ACTIONS(2452), + [anon_sym___thiscall] = ACTIONS(2452), + [anon_sym___vectorcall] = ACTIONS(2452), + [anon_sym_LBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_if] = ACTIONS(2452), + [anon_sym_else] = ACTIONS(2452), + [anon_sym_switch] = ACTIONS(2452), + [anon_sym_case] = ACTIONS(2452), + [anon_sym_default] = ACTIONS(2452), + [anon_sym_while] = ACTIONS(2452), + [anon_sym_do] = ACTIONS(2452), + [anon_sym_for] = ACTIONS(2452), + [anon_sym_return] = ACTIONS(2452), + [anon_sym_break] = ACTIONS(2452), + [anon_sym_continue] = ACTIONS(2452), + [anon_sym_goto] = ACTIONS(2452), + [anon_sym___try] = ACTIONS(2452), + [anon_sym___leave] = ACTIONS(2452), + [anon_sym_not] = ACTIONS(2452), + [anon_sym_compl] = ACTIONS(2452), + [anon_sym_DASH_DASH] = ACTIONS(2450), + [anon_sym_PLUS_PLUS] = ACTIONS(2450), + [anon_sym_sizeof] = ACTIONS(2452), + [anon_sym___alignof__] = ACTIONS(2452), + [anon_sym___alignof] = ACTIONS(2452), + [anon_sym__alignof] = ACTIONS(2452), + [anon_sym_alignof] = ACTIONS(2452), + [anon_sym__Alignof] = ACTIONS(2452), + [anon_sym_offsetof] = ACTIONS(2452), + [anon_sym__Generic] = ACTIONS(2452), + [anon_sym_asm] = ACTIONS(2452), + [anon_sym___asm__] = ACTIONS(2452), + [sym__number_literal] = ACTIONS(2450), + [anon_sym_L_SQUOTE] = ACTIONS(2450), + [anon_sym_u_SQUOTE] = ACTIONS(2450), + [anon_sym_U_SQUOTE] = ACTIONS(2450), + [anon_sym_u8_SQUOTE] = ACTIONS(2450), + [anon_sym_SQUOTE] = ACTIONS(2450), + [anon_sym_L_DQUOTE] = ACTIONS(2450), + [anon_sym_u_DQUOTE] = ACTIONS(2450), + [anon_sym_U_DQUOTE] = ACTIONS(2450), + [anon_sym_u8_DQUOTE] = ACTIONS(2450), + [anon_sym_DQUOTE] = ACTIONS(2450), + [sym_true] = ACTIONS(2452), + [sym_false] = ACTIONS(2452), + [anon_sym_NULL] = ACTIONS(2452), + [anon_sym_nullptr] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_try] = ACTIONS(2452), + [anon_sym_delete] = ACTIONS(2452), + [anon_sym_throw] = ACTIONS(2452), + [anon_sym_namespace] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_concept] = ACTIONS(2452), + [anon_sym_co_return] = ACTIONS(2452), + [anon_sym_co_yield] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + [anon_sym_R_DQUOTE] = ACTIONS(2450), + [anon_sym_LR_DQUOTE] = ACTIONS(2450), + [anon_sym_uR_DQUOTE] = ACTIONS(2450), + [anon_sym_UR_DQUOTE] = ACTIONS(2450), + [anon_sym_u8R_DQUOTE] = ACTIONS(2450), + [anon_sym_co_await] = ACTIONS(2452), + [anon_sym_new] = ACTIONS(2452), + [anon_sym_requires] = ACTIONS(2452), + [sym_this] = ACTIONS(2452), + }, + [404] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_include_token1] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_BANG] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_DASH] = ACTIONS(2452), + [anon_sym_PLUS] = ACTIONS(2452), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym_SEMI] = ACTIONS(2450), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym___cdecl] = ACTIONS(2452), + [anon_sym___clrcall] = ACTIONS(2452), + [anon_sym___stdcall] = ACTIONS(2452), + [anon_sym___fastcall] = ACTIONS(2452), + [anon_sym___thiscall] = ACTIONS(2452), + [anon_sym___vectorcall] = ACTIONS(2452), + [anon_sym_LBRACE] = ACTIONS(2450), + [anon_sym_RBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_if] = ACTIONS(2452), + [anon_sym_else] = ACTIONS(2452), + [anon_sym_switch] = ACTIONS(2452), + [anon_sym_case] = ACTIONS(2452), + [anon_sym_default] = ACTIONS(2452), + [anon_sym_while] = ACTIONS(2452), + [anon_sym_do] = ACTIONS(2452), + [anon_sym_for] = ACTIONS(2452), + [anon_sym_return] = ACTIONS(2452), + [anon_sym_break] = ACTIONS(2452), + [anon_sym_continue] = ACTIONS(2452), + [anon_sym_goto] = ACTIONS(2452), + [anon_sym___try] = ACTIONS(2452), + [anon_sym___leave] = ACTIONS(2452), + [anon_sym_not] = ACTIONS(2452), + [anon_sym_compl] = ACTIONS(2452), + [anon_sym_DASH_DASH] = ACTIONS(2450), + [anon_sym_PLUS_PLUS] = ACTIONS(2450), + [anon_sym_sizeof] = ACTIONS(2452), + [anon_sym___alignof__] = ACTIONS(2452), + [anon_sym___alignof] = ACTIONS(2452), + [anon_sym__alignof] = ACTIONS(2452), + [anon_sym_alignof] = ACTIONS(2452), + [anon_sym__Alignof] = ACTIONS(2452), + [anon_sym_offsetof] = ACTIONS(2452), + [anon_sym__Generic] = ACTIONS(2452), + [anon_sym_asm] = ACTIONS(2452), + [anon_sym___asm__] = ACTIONS(2452), + [sym__number_literal] = ACTIONS(2450), + [anon_sym_L_SQUOTE] = ACTIONS(2450), + [anon_sym_u_SQUOTE] = ACTIONS(2450), + [anon_sym_U_SQUOTE] = ACTIONS(2450), + [anon_sym_u8_SQUOTE] = ACTIONS(2450), + [anon_sym_SQUOTE] = ACTIONS(2450), + [anon_sym_L_DQUOTE] = ACTIONS(2450), + [anon_sym_u_DQUOTE] = ACTIONS(2450), + [anon_sym_U_DQUOTE] = ACTIONS(2450), + [anon_sym_u8_DQUOTE] = ACTIONS(2450), + [anon_sym_DQUOTE] = ACTIONS(2450), + [sym_true] = ACTIONS(2452), + [sym_false] = ACTIONS(2452), + [anon_sym_NULL] = ACTIONS(2452), + [anon_sym_nullptr] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_try] = ACTIONS(2452), + [anon_sym_delete] = ACTIONS(2452), + [anon_sym_throw] = ACTIONS(2452), + [anon_sym_namespace] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_concept] = ACTIONS(2452), + [anon_sym_co_return] = ACTIONS(2452), + [anon_sym_co_yield] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + [anon_sym_R_DQUOTE] = ACTIONS(2450), + [anon_sym_LR_DQUOTE] = ACTIONS(2450), + [anon_sym_uR_DQUOTE] = ACTIONS(2450), + [anon_sym_UR_DQUOTE] = ACTIONS(2450), + [anon_sym_u8R_DQUOTE] = ACTIONS(2450), + [anon_sym_co_await] = ACTIONS(2452), + [anon_sym_new] = ACTIONS(2452), + [anon_sym_requires] = ACTIONS(2452), + [sym_this] = ACTIONS(2452), + }, + [405] = { + [sym_else_clause] = STATE(508), + [ts_builtin_sym_end] = ACTIONS(2689), + [sym__identifier] = ACTIONS(2687), + [aux_sym_preproc_include_token1] = ACTIONS(2687), + [aux_sym_preproc_def_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2687), + [sym_preproc_directive] = ACTIONS(2687), + [anon_sym_LPAREN2] = ACTIONS(2689), + [anon_sym_BANG] = ACTIONS(2689), + [anon_sym_TILDE] = ACTIONS(2689), + [anon_sym_DASH] = ACTIONS(2687), + [anon_sym_PLUS] = ACTIONS(2687), + [anon_sym_STAR] = ACTIONS(2689), + [anon_sym_AMP_AMP] = ACTIONS(2689), + [anon_sym_AMP] = ACTIONS(2687), + [anon_sym_SEMI] = ACTIONS(2689), + [anon_sym___extension__] = ACTIONS(2687), + [anon_sym_typedef] = ACTIONS(2687), + [anon_sym_extern] = ACTIONS(2687), + [anon_sym___attribute__] = ACTIONS(2687), + [anon_sym_COLON_COLON] = ACTIONS(2689), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2689), + [anon_sym___declspec] = ACTIONS(2687), + [anon_sym___based] = ACTIONS(2687), + [anon_sym___cdecl] = ACTIONS(2687), + [anon_sym___clrcall] = ACTIONS(2687), + [anon_sym___stdcall] = ACTIONS(2687), + [anon_sym___fastcall] = ACTIONS(2687), + [anon_sym___thiscall] = ACTIONS(2687), + [anon_sym___vectorcall] = ACTIONS(2687), + [anon_sym_LBRACE] = ACTIONS(2689), + [anon_sym_signed] = ACTIONS(2687), + [anon_sym_unsigned] = ACTIONS(2687), + [anon_sym_long] = ACTIONS(2687), + [anon_sym_short] = ACTIONS(2687), + [anon_sym_LBRACK] = ACTIONS(2687), + [anon_sym_static] = ACTIONS(2687), + [anon_sym_register] = ACTIONS(2687), + [anon_sym_inline] = ACTIONS(2687), + [anon_sym___inline] = ACTIONS(2687), + [anon_sym___inline__] = ACTIONS(2687), + [anon_sym___forceinline] = ACTIONS(2687), + [anon_sym_thread_local] = ACTIONS(2687), + [anon_sym___thread] = ACTIONS(2687), + [anon_sym_const] = ACTIONS(2687), + [anon_sym_constexpr] = ACTIONS(2687), + [anon_sym_volatile] = ACTIONS(2687), + [anon_sym_restrict] = ACTIONS(2687), + [anon_sym___restrict__] = ACTIONS(2687), + [anon_sym__Atomic] = ACTIONS(2687), + [anon_sym__Noreturn] = ACTIONS(2687), + [anon_sym_noreturn] = ACTIONS(2687), + [anon_sym_mutable] = ACTIONS(2687), + [anon_sym_constinit] = ACTIONS(2687), + [anon_sym_consteval] = ACTIONS(2687), + [anon_sym_alignas] = ACTIONS(2687), + [anon_sym__Alignas] = ACTIONS(2687), + [sym_primitive_type] = ACTIONS(2687), + [anon_sym_enum] = ACTIONS(2687), + [anon_sym_class] = ACTIONS(2687), + [anon_sym_struct] = ACTIONS(2687), + [anon_sym_union] = ACTIONS(2687), + [anon_sym_if] = ACTIONS(2687), + [anon_sym_else] = ACTIONS(3222), + [anon_sym_switch] = ACTIONS(2687), + [anon_sym_case] = ACTIONS(2687), + [anon_sym_default] = ACTIONS(2687), + [anon_sym_while] = ACTIONS(2687), + [anon_sym_do] = ACTIONS(2687), + [anon_sym_for] = ACTIONS(2687), + [anon_sym_return] = ACTIONS(2687), + [anon_sym_break] = ACTIONS(2687), + [anon_sym_continue] = ACTIONS(2687), + [anon_sym_goto] = ACTIONS(2687), + [anon_sym___try] = ACTIONS(2687), + [anon_sym___leave] = ACTIONS(2687), + [anon_sym_not] = ACTIONS(2687), + [anon_sym_compl] = ACTIONS(2687), + [anon_sym_DASH_DASH] = ACTIONS(2689), + [anon_sym_PLUS_PLUS] = ACTIONS(2689), + [anon_sym_sizeof] = ACTIONS(2687), + [anon_sym___alignof__] = ACTIONS(2687), + [anon_sym___alignof] = ACTIONS(2687), + [anon_sym__alignof] = ACTIONS(2687), + [anon_sym_alignof] = ACTIONS(2687), + [anon_sym__Alignof] = ACTIONS(2687), + [anon_sym_offsetof] = ACTIONS(2687), + [anon_sym__Generic] = ACTIONS(2687), + [anon_sym_asm] = ACTIONS(2687), + [anon_sym___asm__] = ACTIONS(2687), + [sym__number_literal] = ACTIONS(2689), + [anon_sym_L_SQUOTE] = ACTIONS(2689), + [anon_sym_u_SQUOTE] = ACTIONS(2689), + [anon_sym_U_SQUOTE] = ACTIONS(2689), + [anon_sym_u8_SQUOTE] = ACTIONS(2689), + [anon_sym_SQUOTE] = ACTIONS(2689), + [anon_sym_L_DQUOTE] = ACTIONS(2689), + [anon_sym_u_DQUOTE] = ACTIONS(2689), + [anon_sym_U_DQUOTE] = ACTIONS(2689), + [anon_sym_u8_DQUOTE] = ACTIONS(2689), + [anon_sym_DQUOTE] = ACTIONS(2689), + [sym_true] = ACTIONS(2687), + [sym_false] = ACTIONS(2687), + [anon_sym_NULL] = ACTIONS(2687), + [anon_sym_nullptr] = ACTIONS(2687), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2689), + [sym_auto] = ACTIONS(2687), + [anon_sym_decltype] = ACTIONS(2687), + [sym_virtual] = ACTIONS(2687), + [anon_sym_explicit] = ACTIONS(2687), + [anon_sym_typename] = ACTIONS(2687), + [anon_sym_template] = ACTIONS(2687), + [anon_sym_operator] = ACTIONS(2687), + [anon_sym_try] = ACTIONS(2687), + [anon_sym_delete] = ACTIONS(2687), + [anon_sym_throw] = ACTIONS(2687), + [anon_sym_namespace] = ACTIONS(2687), + [anon_sym_using] = ACTIONS(2687), + [anon_sym_static_assert] = ACTIONS(2687), + [anon_sym_concept] = ACTIONS(2687), + [anon_sym_co_return] = ACTIONS(2687), + [anon_sym_co_yield] = ACTIONS(2687), + [anon_sym_R_DQUOTE] = ACTIONS(2689), + [anon_sym_LR_DQUOTE] = ACTIONS(2689), + [anon_sym_uR_DQUOTE] = ACTIONS(2689), + [anon_sym_UR_DQUOTE] = ACTIONS(2689), + [anon_sym_u8R_DQUOTE] = ACTIONS(2689), + [anon_sym_co_await] = ACTIONS(2687), + [anon_sym_new] = ACTIONS(2687), + [anon_sym_requires] = ACTIONS(2687), + [sym_this] = ACTIONS(2687), + }, + [406] = { + [sym_else_clause] = STATE(488), + [sym__identifier] = ACTIONS(2687), + [aux_sym_preproc_include_token1] = ACTIONS(2687), + [aux_sym_preproc_def_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token2] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2687), + [sym_preproc_directive] = ACTIONS(2687), + [anon_sym_LPAREN2] = ACTIONS(2689), + [anon_sym_BANG] = ACTIONS(2689), + [anon_sym_TILDE] = ACTIONS(2689), + [anon_sym_DASH] = ACTIONS(2687), + [anon_sym_PLUS] = ACTIONS(2687), + [anon_sym_STAR] = ACTIONS(2689), + [anon_sym_AMP_AMP] = ACTIONS(2689), + [anon_sym_AMP] = ACTIONS(2687), + [anon_sym_SEMI] = ACTIONS(2689), + [anon_sym___extension__] = ACTIONS(2687), + [anon_sym_typedef] = ACTIONS(2687), + [anon_sym_extern] = ACTIONS(2687), + [anon_sym___attribute__] = ACTIONS(2687), + [anon_sym_COLON_COLON] = ACTIONS(2689), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2689), + [anon_sym___declspec] = ACTIONS(2687), + [anon_sym___based] = ACTIONS(2687), + [anon_sym___cdecl] = ACTIONS(2687), + [anon_sym___clrcall] = ACTIONS(2687), + [anon_sym___stdcall] = ACTIONS(2687), + [anon_sym___fastcall] = ACTIONS(2687), + [anon_sym___thiscall] = ACTIONS(2687), + [anon_sym___vectorcall] = ACTIONS(2687), + [anon_sym_LBRACE] = ACTIONS(2689), + [anon_sym_signed] = ACTIONS(2687), + [anon_sym_unsigned] = ACTIONS(2687), + [anon_sym_long] = ACTIONS(2687), + [anon_sym_short] = ACTIONS(2687), + [anon_sym_LBRACK] = ACTIONS(2687), + [anon_sym_static] = ACTIONS(2687), + [anon_sym_register] = ACTIONS(2687), + [anon_sym_inline] = ACTIONS(2687), + [anon_sym___inline] = ACTIONS(2687), + [anon_sym___inline__] = ACTIONS(2687), + [anon_sym___forceinline] = ACTIONS(2687), + [anon_sym_thread_local] = ACTIONS(2687), + [anon_sym___thread] = ACTIONS(2687), + [anon_sym_const] = ACTIONS(2687), + [anon_sym_constexpr] = ACTIONS(2687), + [anon_sym_volatile] = ACTIONS(2687), + [anon_sym_restrict] = ACTIONS(2687), + [anon_sym___restrict__] = ACTIONS(2687), + [anon_sym__Atomic] = ACTIONS(2687), + [anon_sym__Noreturn] = ACTIONS(2687), + [anon_sym_noreturn] = ACTIONS(2687), + [anon_sym_mutable] = ACTIONS(2687), + [anon_sym_constinit] = ACTIONS(2687), + [anon_sym_consteval] = ACTIONS(2687), + [anon_sym_alignas] = ACTIONS(2687), + [anon_sym__Alignas] = ACTIONS(2687), + [sym_primitive_type] = ACTIONS(2687), + [anon_sym_enum] = ACTIONS(2687), + [anon_sym_class] = ACTIONS(2687), + [anon_sym_struct] = ACTIONS(2687), + [anon_sym_union] = ACTIONS(2687), + [anon_sym_if] = ACTIONS(2687), + [anon_sym_else] = ACTIONS(3224), + [anon_sym_switch] = ACTIONS(2687), + [anon_sym_case] = ACTIONS(2687), + [anon_sym_default] = ACTIONS(2687), + [anon_sym_while] = ACTIONS(2687), + [anon_sym_do] = ACTIONS(2687), + [anon_sym_for] = ACTIONS(2687), + [anon_sym_return] = ACTIONS(2687), + [anon_sym_break] = ACTIONS(2687), + [anon_sym_continue] = ACTIONS(2687), + [anon_sym_goto] = ACTIONS(2687), + [anon_sym___try] = ACTIONS(2687), + [anon_sym___leave] = ACTIONS(2687), + [anon_sym_not] = ACTIONS(2687), + [anon_sym_compl] = ACTIONS(2687), + [anon_sym_DASH_DASH] = ACTIONS(2689), + [anon_sym_PLUS_PLUS] = ACTIONS(2689), + [anon_sym_sizeof] = ACTIONS(2687), + [anon_sym___alignof__] = ACTIONS(2687), + [anon_sym___alignof] = ACTIONS(2687), + [anon_sym__alignof] = ACTIONS(2687), + [anon_sym_alignof] = ACTIONS(2687), + [anon_sym__Alignof] = ACTIONS(2687), + [anon_sym_offsetof] = ACTIONS(2687), + [anon_sym__Generic] = ACTIONS(2687), + [anon_sym_asm] = ACTIONS(2687), + [anon_sym___asm__] = ACTIONS(2687), + [sym__number_literal] = ACTIONS(2689), + [anon_sym_L_SQUOTE] = ACTIONS(2689), + [anon_sym_u_SQUOTE] = ACTIONS(2689), + [anon_sym_U_SQUOTE] = ACTIONS(2689), + [anon_sym_u8_SQUOTE] = ACTIONS(2689), + [anon_sym_SQUOTE] = ACTIONS(2689), + [anon_sym_L_DQUOTE] = ACTIONS(2689), + [anon_sym_u_DQUOTE] = ACTIONS(2689), + [anon_sym_U_DQUOTE] = ACTIONS(2689), + [anon_sym_u8_DQUOTE] = ACTIONS(2689), + [anon_sym_DQUOTE] = ACTIONS(2689), + [sym_true] = ACTIONS(2687), + [sym_false] = ACTIONS(2687), + [anon_sym_NULL] = ACTIONS(2687), + [anon_sym_nullptr] = ACTIONS(2687), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2689), + [sym_auto] = ACTIONS(2687), + [anon_sym_decltype] = ACTIONS(2687), + [sym_virtual] = ACTIONS(2687), + [anon_sym_explicit] = ACTIONS(2687), + [anon_sym_typename] = ACTIONS(2687), + [anon_sym_template] = ACTIONS(2687), + [anon_sym_operator] = ACTIONS(2687), + [anon_sym_try] = ACTIONS(2687), + [anon_sym_delete] = ACTIONS(2687), + [anon_sym_throw] = ACTIONS(2687), + [anon_sym_namespace] = ACTIONS(2687), + [anon_sym_using] = ACTIONS(2687), + [anon_sym_static_assert] = ACTIONS(2687), + [anon_sym_concept] = ACTIONS(2687), + [anon_sym_co_return] = ACTIONS(2687), + [anon_sym_co_yield] = ACTIONS(2687), + [anon_sym_R_DQUOTE] = ACTIONS(2689), + [anon_sym_LR_DQUOTE] = ACTIONS(2689), + [anon_sym_uR_DQUOTE] = ACTIONS(2689), + [anon_sym_UR_DQUOTE] = ACTIONS(2689), + [anon_sym_u8R_DQUOTE] = ACTIONS(2689), + [anon_sym_co_await] = ACTIONS(2687), + [anon_sym_new] = ACTIONS(2687), + [anon_sym_requires] = ACTIONS(2687), + [sym_this] = ACTIONS(2687), + }, + [407] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_else] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [408] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_include_token1] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token2] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_BANG] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_DASH] = ACTIONS(2683), + [anon_sym_PLUS] = ACTIONS(2683), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym_SEMI] = ACTIONS(2685), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym___cdecl] = ACTIONS(2683), + [anon_sym___clrcall] = ACTIONS(2683), + [anon_sym___stdcall] = ACTIONS(2683), + [anon_sym___fastcall] = ACTIONS(2683), + [anon_sym___thiscall] = ACTIONS(2683), + [anon_sym___vectorcall] = ACTIONS(2683), + [anon_sym_LBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [anon_sym_if] = ACTIONS(2683), + [anon_sym_else] = ACTIONS(2683), + [anon_sym_switch] = ACTIONS(2683), + [anon_sym_case] = ACTIONS(2683), + [anon_sym_default] = ACTIONS(2683), + [anon_sym_while] = ACTIONS(2683), + [anon_sym_do] = ACTIONS(2683), + [anon_sym_for] = ACTIONS(2683), + [anon_sym_return] = ACTIONS(2683), + [anon_sym_break] = ACTIONS(2683), + [anon_sym_continue] = ACTIONS(2683), + [anon_sym_goto] = ACTIONS(2683), + [anon_sym___try] = ACTIONS(2683), + [anon_sym___leave] = ACTIONS(2683), + [anon_sym_not] = ACTIONS(2683), + [anon_sym_compl] = ACTIONS(2683), + [anon_sym_DASH_DASH] = ACTIONS(2685), + [anon_sym_PLUS_PLUS] = ACTIONS(2685), + [anon_sym_sizeof] = ACTIONS(2683), + [anon_sym___alignof__] = ACTIONS(2683), + [anon_sym___alignof] = ACTIONS(2683), + [anon_sym__alignof] = ACTIONS(2683), + [anon_sym_alignof] = ACTIONS(2683), + [anon_sym__Alignof] = ACTIONS(2683), + [anon_sym_offsetof] = ACTIONS(2683), + [anon_sym__Generic] = ACTIONS(2683), + [anon_sym_asm] = ACTIONS(2683), + [anon_sym___asm__] = ACTIONS(2683), + [sym__number_literal] = ACTIONS(2685), + [anon_sym_L_SQUOTE] = ACTIONS(2685), + [anon_sym_u_SQUOTE] = ACTIONS(2685), + [anon_sym_U_SQUOTE] = ACTIONS(2685), + [anon_sym_u8_SQUOTE] = ACTIONS(2685), + [anon_sym_SQUOTE] = ACTIONS(2685), + [anon_sym_L_DQUOTE] = ACTIONS(2685), + [anon_sym_u_DQUOTE] = ACTIONS(2685), + [anon_sym_U_DQUOTE] = ACTIONS(2685), + [anon_sym_u8_DQUOTE] = ACTIONS(2685), + [anon_sym_DQUOTE] = ACTIONS(2685), + [sym_true] = ACTIONS(2683), + [sym_false] = ACTIONS(2683), + [anon_sym_NULL] = ACTIONS(2683), + [anon_sym_nullptr] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_try] = ACTIONS(2683), + [anon_sym_delete] = ACTIONS(2683), + [anon_sym_throw] = ACTIONS(2683), + [anon_sym_namespace] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_concept] = ACTIONS(2683), + [anon_sym_co_return] = ACTIONS(2683), + [anon_sym_co_yield] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + [anon_sym_R_DQUOTE] = ACTIONS(2685), + [anon_sym_LR_DQUOTE] = ACTIONS(2685), + [anon_sym_uR_DQUOTE] = ACTIONS(2685), + [anon_sym_UR_DQUOTE] = ACTIONS(2685), + [anon_sym_u8R_DQUOTE] = ACTIONS(2685), + [anon_sym_co_await] = ACTIONS(2683), + [anon_sym_new] = ACTIONS(2683), + [anon_sym_requires] = ACTIONS(2683), + [sym_this] = ACTIONS(2683), + }, + [409] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_include_token1] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_BANG] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_DASH] = ACTIONS(2683), + [anon_sym_PLUS] = ACTIONS(2683), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym_SEMI] = ACTIONS(2685), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym___cdecl] = ACTIONS(2683), + [anon_sym___clrcall] = ACTIONS(2683), + [anon_sym___stdcall] = ACTIONS(2683), + [anon_sym___fastcall] = ACTIONS(2683), + [anon_sym___thiscall] = ACTIONS(2683), + [anon_sym___vectorcall] = ACTIONS(2683), + [anon_sym_LBRACE] = ACTIONS(2685), + [anon_sym_RBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [anon_sym_if] = ACTIONS(2683), + [anon_sym_else] = ACTIONS(2683), + [anon_sym_switch] = ACTIONS(2683), + [anon_sym_case] = ACTIONS(2683), + [anon_sym_default] = ACTIONS(2683), + [anon_sym_while] = ACTIONS(2683), + [anon_sym_do] = ACTIONS(2683), + [anon_sym_for] = ACTIONS(2683), + [anon_sym_return] = ACTIONS(2683), + [anon_sym_break] = ACTIONS(2683), + [anon_sym_continue] = ACTIONS(2683), + [anon_sym_goto] = ACTIONS(2683), + [anon_sym___try] = ACTIONS(2683), + [anon_sym___leave] = ACTIONS(2683), + [anon_sym_not] = ACTIONS(2683), + [anon_sym_compl] = ACTIONS(2683), + [anon_sym_DASH_DASH] = ACTIONS(2685), + [anon_sym_PLUS_PLUS] = ACTIONS(2685), + [anon_sym_sizeof] = ACTIONS(2683), + [anon_sym___alignof__] = ACTIONS(2683), + [anon_sym___alignof] = ACTIONS(2683), + [anon_sym__alignof] = ACTIONS(2683), + [anon_sym_alignof] = ACTIONS(2683), + [anon_sym__Alignof] = ACTIONS(2683), + [anon_sym_offsetof] = ACTIONS(2683), + [anon_sym__Generic] = ACTIONS(2683), + [anon_sym_asm] = ACTIONS(2683), + [anon_sym___asm__] = ACTIONS(2683), + [sym__number_literal] = ACTIONS(2685), + [anon_sym_L_SQUOTE] = ACTIONS(2685), + [anon_sym_u_SQUOTE] = ACTIONS(2685), + [anon_sym_U_SQUOTE] = ACTIONS(2685), + [anon_sym_u8_SQUOTE] = ACTIONS(2685), + [anon_sym_SQUOTE] = ACTIONS(2685), + [anon_sym_L_DQUOTE] = ACTIONS(2685), + [anon_sym_u_DQUOTE] = ACTIONS(2685), + [anon_sym_U_DQUOTE] = ACTIONS(2685), + [anon_sym_u8_DQUOTE] = ACTIONS(2685), + [anon_sym_DQUOTE] = ACTIONS(2685), + [sym_true] = ACTIONS(2683), + [sym_false] = ACTIONS(2683), + [anon_sym_NULL] = ACTIONS(2683), + [anon_sym_nullptr] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_try] = ACTIONS(2683), + [anon_sym_delete] = ACTIONS(2683), + [anon_sym_throw] = ACTIONS(2683), + [anon_sym_namespace] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_concept] = ACTIONS(2683), + [anon_sym_co_return] = ACTIONS(2683), + [anon_sym_co_yield] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + [anon_sym_R_DQUOTE] = ACTIONS(2685), + [anon_sym_LR_DQUOTE] = ACTIONS(2685), + [anon_sym_uR_DQUOTE] = ACTIONS(2685), + [anon_sym_UR_DQUOTE] = ACTIONS(2685), + [anon_sym_u8R_DQUOTE] = ACTIONS(2685), + [anon_sym_co_await] = ACTIONS(2683), + [anon_sym_new] = ACTIONS(2683), + [anon_sym_requires] = ACTIONS(2683), + [sym_this] = ACTIONS(2683), + }, + [410] = { + [sym_else_clause] = STATE(455), + [ts_builtin_sym_end] = ACTIONS(2673), + [sym__identifier] = ACTIONS(2671), + [aux_sym_preproc_include_token1] = ACTIONS(2671), + [aux_sym_preproc_def_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2671), + [sym_preproc_directive] = ACTIONS(2671), + [anon_sym_LPAREN2] = ACTIONS(2673), + [anon_sym_BANG] = ACTIONS(2673), + [anon_sym_TILDE] = ACTIONS(2673), + [anon_sym_DASH] = ACTIONS(2671), + [anon_sym_PLUS] = ACTIONS(2671), + [anon_sym_STAR] = ACTIONS(2673), + [anon_sym_AMP_AMP] = ACTIONS(2673), + [anon_sym_AMP] = ACTIONS(2671), + [anon_sym_SEMI] = ACTIONS(2673), + [anon_sym___extension__] = ACTIONS(2671), + [anon_sym_typedef] = ACTIONS(2671), + [anon_sym_extern] = ACTIONS(2671), + [anon_sym___attribute__] = ACTIONS(2671), + [anon_sym_COLON_COLON] = ACTIONS(2673), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2673), + [anon_sym___declspec] = ACTIONS(2671), + [anon_sym___based] = ACTIONS(2671), + [anon_sym___cdecl] = ACTIONS(2671), + [anon_sym___clrcall] = ACTIONS(2671), + [anon_sym___stdcall] = ACTIONS(2671), + [anon_sym___fastcall] = ACTIONS(2671), + [anon_sym___thiscall] = ACTIONS(2671), + [anon_sym___vectorcall] = ACTIONS(2671), + [anon_sym_LBRACE] = ACTIONS(2673), + [anon_sym_signed] = ACTIONS(2671), + [anon_sym_unsigned] = ACTIONS(2671), + [anon_sym_long] = ACTIONS(2671), + [anon_sym_short] = ACTIONS(2671), + [anon_sym_LBRACK] = ACTIONS(2671), + [anon_sym_static] = ACTIONS(2671), + [anon_sym_register] = ACTIONS(2671), + [anon_sym_inline] = ACTIONS(2671), + [anon_sym___inline] = ACTIONS(2671), + [anon_sym___inline__] = ACTIONS(2671), + [anon_sym___forceinline] = ACTIONS(2671), + [anon_sym_thread_local] = ACTIONS(2671), + [anon_sym___thread] = ACTIONS(2671), + [anon_sym_const] = ACTIONS(2671), + [anon_sym_constexpr] = ACTIONS(2671), + [anon_sym_volatile] = ACTIONS(2671), + [anon_sym_restrict] = ACTIONS(2671), + [anon_sym___restrict__] = ACTIONS(2671), + [anon_sym__Atomic] = ACTIONS(2671), + [anon_sym__Noreturn] = ACTIONS(2671), + [anon_sym_noreturn] = ACTIONS(2671), + [anon_sym_mutable] = ACTIONS(2671), + [anon_sym_constinit] = ACTIONS(2671), + [anon_sym_consteval] = ACTIONS(2671), + [anon_sym_alignas] = ACTIONS(2671), + [anon_sym__Alignas] = ACTIONS(2671), + [sym_primitive_type] = ACTIONS(2671), + [anon_sym_enum] = ACTIONS(2671), + [anon_sym_class] = ACTIONS(2671), + [anon_sym_struct] = ACTIONS(2671), + [anon_sym_union] = ACTIONS(2671), + [anon_sym_if] = ACTIONS(2671), + [anon_sym_else] = ACTIONS(3222), + [anon_sym_switch] = ACTIONS(2671), + [anon_sym_case] = ACTIONS(2671), + [anon_sym_default] = ACTIONS(2671), + [anon_sym_while] = ACTIONS(2671), + [anon_sym_do] = ACTIONS(2671), + [anon_sym_for] = ACTIONS(2671), + [anon_sym_return] = ACTIONS(2671), + [anon_sym_break] = ACTIONS(2671), + [anon_sym_continue] = ACTIONS(2671), + [anon_sym_goto] = ACTIONS(2671), + [anon_sym___try] = ACTIONS(2671), + [anon_sym___leave] = ACTIONS(2671), + [anon_sym_not] = ACTIONS(2671), + [anon_sym_compl] = ACTIONS(2671), + [anon_sym_DASH_DASH] = ACTIONS(2673), + [anon_sym_PLUS_PLUS] = ACTIONS(2673), + [anon_sym_sizeof] = ACTIONS(2671), + [anon_sym___alignof__] = ACTIONS(2671), + [anon_sym___alignof] = ACTIONS(2671), + [anon_sym__alignof] = ACTIONS(2671), + [anon_sym_alignof] = ACTIONS(2671), + [anon_sym__Alignof] = ACTIONS(2671), + [anon_sym_offsetof] = ACTIONS(2671), + [anon_sym__Generic] = ACTIONS(2671), + [anon_sym_asm] = ACTIONS(2671), + [anon_sym___asm__] = ACTIONS(2671), + [sym__number_literal] = ACTIONS(2673), + [anon_sym_L_SQUOTE] = ACTIONS(2673), + [anon_sym_u_SQUOTE] = ACTIONS(2673), + [anon_sym_U_SQUOTE] = ACTIONS(2673), + [anon_sym_u8_SQUOTE] = ACTIONS(2673), + [anon_sym_SQUOTE] = ACTIONS(2673), + [anon_sym_L_DQUOTE] = ACTIONS(2673), + [anon_sym_u_DQUOTE] = ACTIONS(2673), + [anon_sym_U_DQUOTE] = ACTIONS(2673), + [anon_sym_u8_DQUOTE] = ACTIONS(2673), + [anon_sym_DQUOTE] = ACTIONS(2673), + [sym_true] = ACTIONS(2671), + [sym_false] = ACTIONS(2671), + [anon_sym_NULL] = ACTIONS(2671), + [anon_sym_nullptr] = ACTIONS(2671), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2673), + [sym_auto] = ACTIONS(2671), + [anon_sym_decltype] = ACTIONS(2671), + [sym_virtual] = ACTIONS(2671), + [anon_sym_explicit] = ACTIONS(2671), + [anon_sym_typename] = ACTIONS(2671), + [anon_sym_template] = ACTIONS(2671), + [anon_sym_operator] = ACTIONS(2671), + [anon_sym_try] = ACTIONS(2671), + [anon_sym_delete] = ACTIONS(2671), + [anon_sym_throw] = ACTIONS(2671), + [anon_sym_namespace] = ACTIONS(2671), + [anon_sym_using] = ACTIONS(2671), + [anon_sym_static_assert] = ACTIONS(2671), + [anon_sym_concept] = ACTIONS(2671), + [anon_sym_co_return] = ACTIONS(2671), + [anon_sym_co_yield] = ACTIONS(2671), + [anon_sym_R_DQUOTE] = ACTIONS(2673), + [anon_sym_LR_DQUOTE] = ACTIONS(2673), + [anon_sym_uR_DQUOTE] = ACTIONS(2673), + [anon_sym_UR_DQUOTE] = ACTIONS(2673), + [anon_sym_u8R_DQUOTE] = ACTIONS(2673), + [anon_sym_co_await] = ACTIONS(2671), + [anon_sym_new] = ACTIONS(2671), + [anon_sym_requires] = ACTIONS(2671), + [sym_this] = ACTIONS(2671), + }, + [411] = { + [sym_else_clause] = STATE(494), + [sym__identifier] = ACTIONS(2687), + [aux_sym_preproc_include_token1] = ACTIONS(2687), + [aux_sym_preproc_def_token1] = ACTIONS(2687), + [aux_sym_preproc_if_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2687), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2687), + [sym_preproc_directive] = ACTIONS(2687), + [anon_sym_LPAREN2] = ACTIONS(2689), + [anon_sym_BANG] = ACTIONS(2689), + [anon_sym_TILDE] = ACTIONS(2689), + [anon_sym_DASH] = ACTIONS(2687), + [anon_sym_PLUS] = ACTIONS(2687), + [anon_sym_STAR] = ACTIONS(2689), + [anon_sym_AMP_AMP] = ACTIONS(2689), + [anon_sym_AMP] = ACTIONS(2687), + [anon_sym_SEMI] = ACTIONS(2689), + [anon_sym___extension__] = ACTIONS(2687), + [anon_sym_typedef] = ACTIONS(2687), + [anon_sym_extern] = ACTIONS(2687), + [anon_sym___attribute__] = ACTIONS(2687), + [anon_sym_COLON_COLON] = ACTIONS(2689), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2689), + [anon_sym___declspec] = ACTIONS(2687), + [anon_sym___based] = ACTIONS(2687), + [anon_sym___cdecl] = ACTIONS(2687), + [anon_sym___clrcall] = ACTIONS(2687), + [anon_sym___stdcall] = ACTIONS(2687), + [anon_sym___fastcall] = ACTIONS(2687), + [anon_sym___thiscall] = ACTIONS(2687), + [anon_sym___vectorcall] = ACTIONS(2687), + [anon_sym_LBRACE] = ACTIONS(2689), + [anon_sym_RBRACE] = ACTIONS(2689), + [anon_sym_signed] = ACTIONS(2687), + [anon_sym_unsigned] = ACTIONS(2687), + [anon_sym_long] = ACTIONS(2687), + [anon_sym_short] = ACTIONS(2687), + [anon_sym_LBRACK] = ACTIONS(2687), + [anon_sym_static] = ACTIONS(2687), + [anon_sym_register] = ACTIONS(2687), + [anon_sym_inline] = ACTIONS(2687), + [anon_sym___inline] = ACTIONS(2687), + [anon_sym___inline__] = ACTIONS(2687), + [anon_sym___forceinline] = ACTIONS(2687), + [anon_sym_thread_local] = ACTIONS(2687), + [anon_sym___thread] = ACTIONS(2687), + [anon_sym_const] = ACTIONS(2687), + [anon_sym_constexpr] = ACTIONS(2687), + [anon_sym_volatile] = ACTIONS(2687), + [anon_sym_restrict] = ACTIONS(2687), + [anon_sym___restrict__] = ACTIONS(2687), + [anon_sym__Atomic] = ACTIONS(2687), + [anon_sym__Noreturn] = ACTIONS(2687), + [anon_sym_noreturn] = ACTIONS(2687), + [anon_sym_mutable] = ACTIONS(2687), + [anon_sym_constinit] = ACTIONS(2687), + [anon_sym_consteval] = ACTIONS(2687), + [anon_sym_alignas] = ACTIONS(2687), + [anon_sym__Alignas] = ACTIONS(2687), + [sym_primitive_type] = ACTIONS(2687), + [anon_sym_enum] = ACTIONS(2687), + [anon_sym_class] = ACTIONS(2687), + [anon_sym_struct] = ACTIONS(2687), + [anon_sym_union] = ACTIONS(2687), + [anon_sym_if] = ACTIONS(2687), + [anon_sym_else] = ACTIONS(3220), + [anon_sym_switch] = ACTIONS(2687), + [anon_sym_case] = ACTIONS(2687), + [anon_sym_default] = ACTIONS(2687), + [anon_sym_while] = ACTIONS(2687), + [anon_sym_do] = ACTIONS(2687), + [anon_sym_for] = ACTIONS(2687), + [anon_sym_return] = ACTIONS(2687), + [anon_sym_break] = ACTIONS(2687), + [anon_sym_continue] = ACTIONS(2687), + [anon_sym_goto] = ACTIONS(2687), + [anon_sym___try] = ACTIONS(2687), + [anon_sym___leave] = ACTIONS(2687), + [anon_sym_not] = ACTIONS(2687), + [anon_sym_compl] = ACTIONS(2687), + [anon_sym_DASH_DASH] = ACTIONS(2689), + [anon_sym_PLUS_PLUS] = ACTIONS(2689), + [anon_sym_sizeof] = ACTIONS(2687), + [anon_sym___alignof__] = ACTIONS(2687), + [anon_sym___alignof] = ACTIONS(2687), + [anon_sym__alignof] = ACTIONS(2687), + [anon_sym_alignof] = ACTIONS(2687), + [anon_sym__Alignof] = ACTIONS(2687), + [anon_sym_offsetof] = ACTIONS(2687), + [anon_sym__Generic] = ACTIONS(2687), + [anon_sym_asm] = ACTIONS(2687), + [anon_sym___asm__] = ACTIONS(2687), + [sym__number_literal] = ACTIONS(2689), + [anon_sym_L_SQUOTE] = ACTIONS(2689), + [anon_sym_u_SQUOTE] = ACTIONS(2689), + [anon_sym_U_SQUOTE] = ACTIONS(2689), + [anon_sym_u8_SQUOTE] = ACTIONS(2689), + [anon_sym_SQUOTE] = ACTIONS(2689), + [anon_sym_L_DQUOTE] = ACTIONS(2689), + [anon_sym_u_DQUOTE] = ACTIONS(2689), + [anon_sym_U_DQUOTE] = ACTIONS(2689), + [anon_sym_u8_DQUOTE] = ACTIONS(2689), + [anon_sym_DQUOTE] = ACTIONS(2689), + [sym_true] = ACTIONS(2687), + [sym_false] = ACTIONS(2687), + [anon_sym_NULL] = ACTIONS(2687), + [anon_sym_nullptr] = ACTIONS(2687), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2689), + [sym_auto] = ACTIONS(2687), + [anon_sym_decltype] = ACTIONS(2687), + [sym_virtual] = ACTIONS(2687), + [anon_sym_explicit] = ACTIONS(2687), + [anon_sym_typename] = ACTIONS(2687), + [anon_sym_template] = ACTIONS(2687), + [anon_sym_operator] = ACTIONS(2687), + [anon_sym_try] = ACTIONS(2687), + [anon_sym_delete] = ACTIONS(2687), + [anon_sym_throw] = ACTIONS(2687), + [anon_sym_namespace] = ACTIONS(2687), + [anon_sym_using] = ACTIONS(2687), + [anon_sym_static_assert] = ACTIONS(2687), + [anon_sym_concept] = ACTIONS(2687), + [anon_sym_co_return] = ACTIONS(2687), + [anon_sym_co_yield] = ACTIONS(2687), + [anon_sym_R_DQUOTE] = ACTIONS(2689), + [anon_sym_LR_DQUOTE] = ACTIONS(2689), + [anon_sym_uR_DQUOTE] = ACTIONS(2689), + [anon_sym_UR_DQUOTE] = ACTIONS(2689), + [anon_sym_u8R_DQUOTE] = ACTIONS(2689), + [anon_sym_co_await] = ACTIONS(2687), + [anon_sym_new] = ACTIONS(2687), + [anon_sym_requires] = ACTIONS(2687), + [sym_this] = ACTIONS(2687), + }, + [412] = { + [sym_else_clause] = STATE(459), + [sym__identifier] = ACTIONS(2671), + [aux_sym_preproc_include_token1] = ACTIONS(2671), + [aux_sym_preproc_def_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token1] = ACTIONS(2671), + [aux_sym_preproc_if_token2] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2671), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2671), + [sym_preproc_directive] = ACTIONS(2671), + [anon_sym_LPAREN2] = ACTIONS(2673), + [anon_sym_BANG] = ACTIONS(2673), + [anon_sym_TILDE] = ACTIONS(2673), + [anon_sym_DASH] = ACTIONS(2671), + [anon_sym_PLUS] = ACTIONS(2671), + [anon_sym_STAR] = ACTIONS(2673), + [anon_sym_AMP_AMP] = ACTIONS(2673), + [anon_sym_AMP] = ACTIONS(2671), + [anon_sym_SEMI] = ACTIONS(2673), + [anon_sym___extension__] = ACTIONS(2671), + [anon_sym_typedef] = ACTIONS(2671), + [anon_sym_extern] = ACTIONS(2671), + [anon_sym___attribute__] = ACTIONS(2671), + [anon_sym_COLON_COLON] = ACTIONS(2673), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2673), + [anon_sym___declspec] = ACTIONS(2671), + [anon_sym___based] = ACTIONS(2671), + [anon_sym___cdecl] = ACTIONS(2671), + [anon_sym___clrcall] = ACTIONS(2671), + [anon_sym___stdcall] = ACTIONS(2671), + [anon_sym___fastcall] = ACTIONS(2671), + [anon_sym___thiscall] = ACTIONS(2671), + [anon_sym___vectorcall] = ACTIONS(2671), + [anon_sym_LBRACE] = ACTIONS(2673), + [anon_sym_signed] = ACTIONS(2671), + [anon_sym_unsigned] = ACTIONS(2671), + [anon_sym_long] = ACTIONS(2671), + [anon_sym_short] = ACTIONS(2671), + [anon_sym_LBRACK] = ACTIONS(2671), + [anon_sym_static] = ACTIONS(2671), + [anon_sym_register] = ACTIONS(2671), + [anon_sym_inline] = ACTIONS(2671), + [anon_sym___inline] = ACTIONS(2671), + [anon_sym___inline__] = ACTIONS(2671), + [anon_sym___forceinline] = ACTIONS(2671), + [anon_sym_thread_local] = ACTIONS(2671), + [anon_sym___thread] = ACTIONS(2671), + [anon_sym_const] = ACTIONS(2671), + [anon_sym_constexpr] = ACTIONS(2671), + [anon_sym_volatile] = ACTIONS(2671), + [anon_sym_restrict] = ACTIONS(2671), + [anon_sym___restrict__] = ACTIONS(2671), + [anon_sym__Atomic] = ACTIONS(2671), + [anon_sym__Noreturn] = ACTIONS(2671), + [anon_sym_noreturn] = ACTIONS(2671), + [anon_sym_mutable] = ACTIONS(2671), + [anon_sym_constinit] = ACTIONS(2671), + [anon_sym_consteval] = ACTIONS(2671), + [anon_sym_alignas] = ACTIONS(2671), + [anon_sym__Alignas] = ACTIONS(2671), + [sym_primitive_type] = ACTIONS(2671), + [anon_sym_enum] = ACTIONS(2671), + [anon_sym_class] = ACTIONS(2671), + [anon_sym_struct] = ACTIONS(2671), + [anon_sym_union] = ACTIONS(2671), + [anon_sym_if] = ACTIONS(2671), + [anon_sym_else] = ACTIONS(3224), + [anon_sym_switch] = ACTIONS(2671), + [anon_sym_case] = ACTIONS(2671), + [anon_sym_default] = ACTIONS(2671), + [anon_sym_while] = ACTIONS(2671), + [anon_sym_do] = ACTIONS(2671), + [anon_sym_for] = ACTIONS(2671), + [anon_sym_return] = ACTIONS(2671), + [anon_sym_break] = ACTIONS(2671), + [anon_sym_continue] = ACTIONS(2671), + [anon_sym_goto] = ACTIONS(2671), + [anon_sym___try] = ACTIONS(2671), + [anon_sym___leave] = ACTIONS(2671), + [anon_sym_not] = ACTIONS(2671), + [anon_sym_compl] = ACTIONS(2671), + [anon_sym_DASH_DASH] = ACTIONS(2673), + [anon_sym_PLUS_PLUS] = ACTIONS(2673), + [anon_sym_sizeof] = ACTIONS(2671), + [anon_sym___alignof__] = ACTIONS(2671), + [anon_sym___alignof] = ACTIONS(2671), + [anon_sym__alignof] = ACTIONS(2671), + [anon_sym_alignof] = ACTIONS(2671), + [anon_sym__Alignof] = ACTIONS(2671), + [anon_sym_offsetof] = ACTIONS(2671), + [anon_sym__Generic] = ACTIONS(2671), + [anon_sym_asm] = ACTIONS(2671), + [anon_sym___asm__] = ACTIONS(2671), + [sym__number_literal] = ACTIONS(2673), + [anon_sym_L_SQUOTE] = ACTIONS(2673), + [anon_sym_u_SQUOTE] = ACTIONS(2673), + [anon_sym_U_SQUOTE] = ACTIONS(2673), + [anon_sym_u8_SQUOTE] = ACTIONS(2673), + [anon_sym_SQUOTE] = ACTIONS(2673), + [anon_sym_L_DQUOTE] = ACTIONS(2673), + [anon_sym_u_DQUOTE] = ACTIONS(2673), + [anon_sym_U_DQUOTE] = ACTIONS(2673), + [anon_sym_u8_DQUOTE] = ACTIONS(2673), + [anon_sym_DQUOTE] = ACTIONS(2673), + [sym_true] = ACTIONS(2671), + [sym_false] = ACTIONS(2671), + [anon_sym_NULL] = ACTIONS(2671), + [anon_sym_nullptr] = ACTIONS(2671), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2673), + [sym_auto] = ACTIONS(2671), + [anon_sym_decltype] = ACTIONS(2671), + [sym_virtual] = ACTIONS(2671), + [anon_sym_explicit] = ACTIONS(2671), + [anon_sym_typename] = ACTIONS(2671), + [anon_sym_template] = ACTIONS(2671), + [anon_sym_operator] = ACTIONS(2671), + [anon_sym_try] = ACTIONS(2671), + [anon_sym_delete] = ACTIONS(2671), + [anon_sym_throw] = ACTIONS(2671), + [anon_sym_namespace] = ACTIONS(2671), + [anon_sym_using] = ACTIONS(2671), + [anon_sym_static_assert] = ACTIONS(2671), + [anon_sym_concept] = ACTIONS(2671), + [anon_sym_co_return] = ACTIONS(2671), + [anon_sym_co_yield] = ACTIONS(2671), + [anon_sym_R_DQUOTE] = ACTIONS(2673), + [anon_sym_LR_DQUOTE] = ACTIONS(2673), + [anon_sym_uR_DQUOTE] = ACTIONS(2673), + [anon_sym_UR_DQUOTE] = ACTIONS(2673), + [anon_sym_u8R_DQUOTE] = ACTIONS(2673), + [anon_sym_co_await] = ACTIONS(2671), + [anon_sym_new] = ACTIONS(2671), + [anon_sym_requires] = ACTIONS(2671), + [sym_this] = ACTIONS(2671), + }, + [413] = { + [sym__identifier] = ACTIONS(2703), + [aux_sym_preproc_include_token1] = ACTIONS(2703), + [aux_sym_preproc_def_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token2] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2703), + [sym_preproc_directive] = ACTIONS(2703), + [anon_sym_LPAREN2] = ACTIONS(2705), + [anon_sym_BANG] = ACTIONS(2705), + [anon_sym_TILDE] = ACTIONS(2705), + [anon_sym_DASH] = ACTIONS(2703), + [anon_sym_PLUS] = ACTIONS(2703), + [anon_sym_STAR] = ACTIONS(2705), + [anon_sym_AMP_AMP] = ACTIONS(2705), + [anon_sym_AMP] = ACTIONS(2703), + [anon_sym_SEMI] = ACTIONS(2705), + [anon_sym___extension__] = ACTIONS(2703), + [anon_sym_typedef] = ACTIONS(2703), + [anon_sym_extern] = ACTIONS(2703), + [anon_sym___attribute__] = ACTIONS(2703), + [anon_sym_COLON_COLON] = ACTIONS(2705), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2705), + [anon_sym___declspec] = ACTIONS(2703), + [anon_sym___based] = ACTIONS(2703), + [anon_sym___cdecl] = ACTIONS(2703), + [anon_sym___clrcall] = ACTIONS(2703), + [anon_sym___stdcall] = ACTIONS(2703), + [anon_sym___fastcall] = ACTIONS(2703), + [anon_sym___thiscall] = ACTIONS(2703), + [anon_sym___vectorcall] = ACTIONS(2703), + [anon_sym_LBRACE] = ACTIONS(2705), + [anon_sym_signed] = ACTIONS(2703), + [anon_sym_unsigned] = ACTIONS(2703), + [anon_sym_long] = ACTIONS(2703), + [anon_sym_short] = ACTIONS(2703), + [anon_sym_LBRACK] = ACTIONS(2703), + [anon_sym_static] = ACTIONS(2703), + [anon_sym_register] = ACTIONS(2703), + [anon_sym_inline] = ACTIONS(2703), + [anon_sym___inline] = ACTIONS(2703), + [anon_sym___inline__] = ACTIONS(2703), + [anon_sym___forceinline] = ACTIONS(2703), + [anon_sym_thread_local] = ACTIONS(2703), + [anon_sym___thread] = ACTIONS(2703), + [anon_sym_const] = ACTIONS(2703), + [anon_sym_constexpr] = ACTIONS(2703), + [anon_sym_volatile] = ACTIONS(2703), + [anon_sym_restrict] = ACTIONS(2703), + [anon_sym___restrict__] = ACTIONS(2703), + [anon_sym__Atomic] = ACTIONS(2703), + [anon_sym__Noreturn] = ACTIONS(2703), + [anon_sym_noreturn] = ACTIONS(2703), + [anon_sym_mutable] = ACTIONS(2703), + [anon_sym_constinit] = ACTIONS(2703), + [anon_sym_consteval] = ACTIONS(2703), + [anon_sym_alignas] = ACTIONS(2703), + [anon_sym__Alignas] = ACTIONS(2703), + [sym_primitive_type] = ACTIONS(2703), + [anon_sym_enum] = ACTIONS(2703), + [anon_sym_class] = ACTIONS(2703), + [anon_sym_struct] = ACTIONS(2703), + [anon_sym_union] = ACTIONS(2703), + [anon_sym_if] = ACTIONS(2703), + [anon_sym_else] = ACTIONS(2703), + [anon_sym_switch] = ACTIONS(2703), + [anon_sym_case] = ACTIONS(2703), + [anon_sym_default] = ACTIONS(2703), + [anon_sym_while] = ACTIONS(2703), + [anon_sym_do] = ACTIONS(2703), + [anon_sym_for] = ACTIONS(2703), + [anon_sym_return] = ACTIONS(2703), + [anon_sym_break] = ACTIONS(2703), + [anon_sym_continue] = ACTIONS(2703), + [anon_sym_goto] = ACTIONS(2703), + [anon_sym___try] = ACTIONS(2703), + [anon_sym___leave] = ACTIONS(2703), + [anon_sym_not] = ACTIONS(2703), + [anon_sym_compl] = ACTIONS(2703), + [anon_sym_DASH_DASH] = ACTIONS(2705), + [anon_sym_PLUS_PLUS] = ACTIONS(2705), + [anon_sym_sizeof] = ACTIONS(2703), + [anon_sym___alignof__] = ACTIONS(2703), + [anon_sym___alignof] = ACTIONS(2703), + [anon_sym__alignof] = ACTIONS(2703), + [anon_sym_alignof] = ACTIONS(2703), + [anon_sym__Alignof] = ACTIONS(2703), + [anon_sym_offsetof] = ACTIONS(2703), + [anon_sym__Generic] = ACTIONS(2703), + [anon_sym_asm] = ACTIONS(2703), + [anon_sym___asm__] = ACTIONS(2703), + [sym__number_literal] = ACTIONS(2705), + [anon_sym_L_SQUOTE] = ACTIONS(2705), + [anon_sym_u_SQUOTE] = ACTIONS(2705), + [anon_sym_U_SQUOTE] = ACTIONS(2705), + [anon_sym_u8_SQUOTE] = ACTIONS(2705), + [anon_sym_SQUOTE] = ACTIONS(2705), + [anon_sym_L_DQUOTE] = ACTIONS(2705), + [anon_sym_u_DQUOTE] = ACTIONS(2705), + [anon_sym_U_DQUOTE] = ACTIONS(2705), + [anon_sym_u8_DQUOTE] = ACTIONS(2705), + [anon_sym_DQUOTE] = ACTIONS(2705), + [sym_true] = ACTIONS(2703), + [sym_false] = ACTIONS(2703), + [anon_sym_NULL] = ACTIONS(2703), + [anon_sym_nullptr] = ACTIONS(2703), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2705), + [sym_auto] = ACTIONS(2703), + [anon_sym_decltype] = ACTIONS(2703), + [sym_virtual] = ACTIONS(2703), + [anon_sym_explicit] = ACTIONS(2703), + [anon_sym_typename] = ACTIONS(2703), + [anon_sym_template] = ACTIONS(2703), + [anon_sym_operator] = ACTIONS(2703), + [anon_sym_try] = ACTIONS(2703), + [anon_sym_delete] = ACTIONS(2703), + [anon_sym_throw] = ACTIONS(2703), + [anon_sym_namespace] = ACTIONS(2703), + [anon_sym_using] = ACTIONS(2703), + [anon_sym_static_assert] = ACTIONS(2703), + [anon_sym_concept] = ACTIONS(2703), + [anon_sym_co_return] = ACTIONS(2703), + [anon_sym_co_yield] = ACTIONS(2703), + [anon_sym_R_DQUOTE] = ACTIONS(2705), + [anon_sym_LR_DQUOTE] = ACTIONS(2705), + [anon_sym_uR_DQUOTE] = ACTIONS(2705), + [anon_sym_UR_DQUOTE] = ACTIONS(2705), + [anon_sym_u8R_DQUOTE] = ACTIONS(2705), + [anon_sym_co_await] = ACTIONS(2703), + [anon_sym_new] = ACTIONS(2703), + [anon_sym_requires] = ACTIONS(2703), + [sym_this] = ACTIONS(2703), + }, + [414] = { + [ts_builtin_sym_end] = ACTIONS(2749), + [sym__identifier] = ACTIONS(2747), + [aux_sym_preproc_include_token1] = ACTIONS(2747), + [aux_sym_preproc_def_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2747), + [sym_preproc_directive] = ACTIONS(2747), + [anon_sym_LPAREN2] = ACTIONS(2749), + [anon_sym_BANG] = ACTIONS(2749), + [anon_sym_TILDE] = ACTIONS(2749), + [anon_sym_DASH] = ACTIONS(2747), + [anon_sym_PLUS] = ACTIONS(2747), + [anon_sym_STAR] = ACTIONS(2749), + [anon_sym_AMP_AMP] = ACTIONS(2749), + [anon_sym_AMP] = ACTIONS(2747), + [anon_sym_SEMI] = ACTIONS(2749), + [anon_sym___extension__] = ACTIONS(2747), + [anon_sym_typedef] = ACTIONS(2747), + [anon_sym_extern] = ACTIONS(2747), + [anon_sym___attribute__] = ACTIONS(2747), + [anon_sym_COLON_COLON] = ACTIONS(2749), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2749), + [anon_sym___declspec] = ACTIONS(2747), + [anon_sym___based] = ACTIONS(2747), + [anon_sym___cdecl] = ACTIONS(2747), + [anon_sym___clrcall] = ACTIONS(2747), + [anon_sym___stdcall] = ACTIONS(2747), + [anon_sym___fastcall] = ACTIONS(2747), + [anon_sym___thiscall] = ACTIONS(2747), + [anon_sym___vectorcall] = ACTIONS(2747), + [anon_sym_LBRACE] = ACTIONS(2749), + [anon_sym_signed] = ACTIONS(2747), + [anon_sym_unsigned] = ACTIONS(2747), + [anon_sym_long] = ACTIONS(2747), + [anon_sym_short] = ACTIONS(2747), + [anon_sym_LBRACK] = ACTIONS(2747), + [anon_sym_static] = ACTIONS(2747), + [anon_sym_register] = ACTIONS(2747), + [anon_sym_inline] = ACTIONS(2747), + [anon_sym___inline] = ACTIONS(2747), + [anon_sym___inline__] = ACTIONS(2747), + [anon_sym___forceinline] = ACTIONS(2747), + [anon_sym_thread_local] = ACTIONS(2747), + [anon_sym___thread] = ACTIONS(2747), + [anon_sym_const] = ACTIONS(2747), + [anon_sym_constexpr] = ACTIONS(2747), + [anon_sym_volatile] = ACTIONS(2747), + [anon_sym_restrict] = ACTIONS(2747), + [anon_sym___restrict__] = ACTIONS(2747), + [anon_sym__Atomic] = ACTIONS(2747), + [anon_sym__Noreturn] = ACTIONS(2747), + [anon_sym_noreturn] = ACTIONS(2747), + [anon_sym_mutable] = ACTIONS(2747), + [anon_sym_constinit] = ACTIONS(2747), + [anon_sym_consteval] = ACTIONS(2747), + [anon_sym_alignas] = ACTIONS(2747), + [anon_sym__Alignas] = ACTIONS(2747), + [sym_primitive_type] = ACTIONS(2747), + [anon_sym_enum] = ACTIONS(2747), + [anon_sym_class] = ACTIONS(2747), + [anon_sym_struct] = ACTIONS(2747), + [anon_sym_union] = ACTIONS(2747), + [anon_sym_if] = ACTIONS(2747), + [anon_sym_else] = ACTIONS(2747), + [anon_sym_switch] = ACTIONS(2747), + [anon_sym_case] = ACTIONS(2747), + [anon_sym_default] = ACTIONS(2747), + [anon_sym_while] = ACTIONS(2747), + [anon_sym_do] = ACTIONS(2747), + [anon_sym_for] = ACTIONS(2747), + [anon_sym_return] = ACTIONS(2747), + [anon_sym_break] = ACTIONS(2747), + [anon_sym_continue] = ACTIONS(2747), + [anon_sym_goto] = ACTIONS(2747), + [anon_sym___try] = ACTIONS(2747), + [anon_sym___leave] = ACTIONS(2747), + [anon_sym_not] = ACTIONS(2747), + [anon_sym_compl] = ACTIONS(2747), + [anon_sym_DASH_DASH] = ACTIONS(2749), + [anon_sym_PLUS_PLUS] = ACTIONS(2749), + [anon_sym_sizeof] = ACTIONS(2747), + [anon_sym___alignof__] = ACTIONS(2747), + [anon_sym___alignof] = ACTIONS(2747), + [anon_sym__alignof] = ACTIONS(2747), + [anon_sym_alignof] = ACTIONS(2747), + [anon_sym__Alignof] = ACTIONS(2747), + [anon_sym_offsetof] = ACTIONS(2747), + [anon_sym__Generic] = ACTIONS(2747), + [anon_sym_asm] = ACTIONS(2747), + [anon_sym___asm__] = ACTIONS(2747), + [sym__number_literal] = ACTIONS(2749), + [anon_sym_L_SQUOTE] = ACTIONS(2749), + [anon_sym_u_SQUOTE] = ACTIONS(2749), + [anon_sym_U_SQUOTE] = ACTIONS(2749), + [anon_sym_u8_SQUOTE] = ACTIONS(2749), + [anon_sym_SQUOTE] = ACTIONS(2749), + [anon_sym_L_DQUOTE] = ACTIONS(2749), + [anon_sym_u_DQUOTE] = ACTIONS(2749), + [anon_sym_U_DQUOTE] = ACTIONS(2749), + [anon_sym_u8_DQUOTE] = ACTIONS(2749), + [anon_sym_DQUOTE] = ACTIONS(2749), + [sym_true] = ACTIONS(2747), + [sym_false] = ACTIONS(2747), + [anon_sym_NULL] = ACTIONS(2747), + [anon_sym_nullptr] = ACTIONS(2747), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2749), + [sym_auto] = ACTIONS(2747), + [anon_sym_decltype] = ACTIONS(2747), + [sym_virtual] = ACTIONS(2747), + [anon_sym_explicit] = ACTIONS(2747), + [anon_sym_typename] = ACTIONS(2747), + [anon_sym_template] = ACTIONS(2747), + [anon_sym_operator] = ACTIONS(2747), + [anon_sym_try] = ACTIONS(2747), + [anon_sym_delete] = ACTIONS(2747), + [anon_sym_throw] = ACTIONS(2747), + [anon_sym_namespace] = ACTIONS(2747), + [anon_sym_using] = ACTIONS(2747), + [anon_sym_static_assert] = ACTIONS(2747), + [anon_sym_concept] = ACTIONS(2747), + [anon_sym_co_return] = ACTIONS(2747), + [anon_sym_co_yield] = ACTIONS(2747), + [anon_sym_R_DQUOTE] = ACTIONS(2749), + [anon_sym_LR_DQUOTE] = ACTIONS(2749), + [anon_sym_uR_DQUOTE] = ACTIONS(2749), + [anon_sym_UR_DQUOTE] = ACTIONS(2749), + [anon_sym_u8R_DQUOTE] = ACTIONS(2749), + [anon_sym_co_await] = ACTIONS(2747), + [anon_sym_new] = ACTIONS(2747), + [anon_sym_requires] = ACTIONS(2747), + [sym_this] = ACTIONS(2747), + }, + [415] = { + [ts_builtin_sym_end] = ACTIONS(2725), + [sym__identifier] = ACTIONS(2723), + [aux_sym_preproc_include_token1] = ACTIONS(2723), + [aux_sym_preproc_def_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2723), + [sym_preproc_directive] = ACTIONS(2723), + [anon_sym_LPAREN2] = ACTIONS(2725), + [anon_sym_BANG] = ACTIONS(2725), + [anon_sym_TILDE] = ACTIONS(2725), + [anon_sym_DASH] = ACTIONS(2723), + [anon_sym_PLUS] = ACTIONS(2723), + [anon_sym_STAR] = ACTIONS(2725), + [anon_sym_AMP_AMP] = ACTIONS(2725), + [anon_sym_AMP] = ACTIONS(2723), + [anon_sym_SEMI] = ACTIONS(2725), + [anon_sym___extension__] = ACTIONS(2723), + [anon_sym_typedef] = ACTIONS(2723), + [anon_sym_extern] = ACTIONS(2723), + [anon_sym___attribute__] = ACTIONS(2723), + [anon_sym_COLON_COLON] = ACTIONS(2725), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2725), + [anon_sym___declspec] = ACTIONS(2723), + [anon_sym___based] = ACTIONS(2723), + [anon_sym___cdecl] = ACTIONS(2723), + [anon_sym___clrcall] = ACTIONS(2723), + [anon_sym___stdcall] = ACTIONS(2723), + [anon_sym___fastcall] = ACTIONS(2723), + [anon_sym___thiscall] = ACTIONS(2723), + [anon_sym___vectorcall] = ACTIONS(2723), + [anon_sym_LBRACE] = ACTIONS(2725), + [anon_sym_signed] = ACTIONS(2723), + [anon_sym_unsigned] = ACTIONS(2723), + [anon_sym_long] = ACTIONS(2723), + [anon_sym_short] = ACTIONS(2723), + [anon_sym_LBRACK] = ACTIONS(2723), + [anon_sym_static] = ACTIONS(2723), + [anon_sym_register] = ACTIONS(2723), + [anon_sym_inline] = ACTIONS(2723), + [anon_sym___inline] = ACTIONS(2723), + [anon_sym___inline__] = ACTIONS(2723), + [anon_sym___forceinline] = ACTIONS(2723), + [anon_sym_thread_local] = ACTIONS(2723), + [anon_sym___thread] = ACTIONS(2723), + [anon_sym_const] = ACTIONS(2723), + [anon_sym_constexpr] = ACTIONS(2723), + [anon_sym_volatile] = ACTIONS(2723), + [anon_sym_restrict] = ACTIONS(2723), + [anon_sym___restrict__] = ACTIONS(2723), + [anon_sym__Atomic] = ACTIONS(2723), + [anon_sym__Noreturn] = ACTIONS(2723), + [anon_sym_noreturn] = ACTIONS(2723), + [anon_sym_mutable] = ACTIONS(2723), + [anon_sym_constinit] = ACTIONS(2723), + [anon_sym_consteval] = ACTIONS(2723), + [anon_sym_alignas] = ACTIONS(2723), + [anon_sym__Alignas] = ACTIONS(2723), + [sym_primitive_type] = ACTIONS(2723), + [anon_sym_enum] = ACTIONS(2723), + [anon_sym_class] = ACTIONS(2723), + [anon_sym_struct] = ACTIONS(2723), + [anon_sym_union] = ACTIONS(2723), + [anon_sym_if] = ACTIONS(2723), + [anon_sym_else] = ACTIONS(2723), + [anon_sym_switch] = ACTIONS(2723), + [anon_sym_case] = ACTIONS(2723), + [anon_sym_default] = ACTIONS(2723), + [anon_sym_while] = ACTIONS(2723), + [anon_sym_do] = ACTIONS(2723), + [anon_sym_for] = ACTIONS(2723), + [anon_sym_return] = ACTIONS(2723), + [anon_sym_break] = ACTIONS(2723), + [anon_sym_continue] = ACTIONS(2723), + [anon_sym_goto] = ACTIONS(2723), + [anon_sym___try] = ACTIONS(2723), + [anon_sym___leave] = ACTIONS(2723), + [anon_sym_not] = ACTIONS(2723), + [anon_sym_compl] = ACTIONS(2723), + [anon_sym_DASH_DASH] = ACTIONS(2725), + [anon_sym_PLUS_PLUS] = ACTIONS(2725), + [anon_sym_sizeof] = ACTIONS(2723), + [anon_sym___alignof__] = ACTIONS(2723), + [anon_sym___alignof] = ACTIONS(2723), + [anon_sym__alignof] = ACTIONS(2723), + [anon_sym_alignof] = ACTIONS(2723), + [anon_sym__Alignof] = ACTIONS(2723), + [anon_sym_offsetof] = ACTIONS(2723), + [anon_sym__Generic] = ACTIONS(2723), + [anon_sym_asm] = ACTIONS(2723), + [anon_sym___asm__] = ACTIONS(2723), + [sym__number_literal] = ACTIONS(2725), + [anon_sym_L_SQUOTE] = ACTIONS(2725), + [anon_sym_u_SQUOTE] = ACTIONS(2725), + [anon_sym_U_SQUOTE] = ACTIONS(2725), + [anon_sym_u8_SQUOTE] = ACTIONS(2725), + [anon_sym_SQUOTE] = ACTIONS(2725), + [anon_sym_L_DQUOTE] = ACTIONS(2725), + [anon_sym_u_DQUOTE] = ACTIONS(2725), + [anon_sym_U_DQUOTE] = ACTIONS(2725), + [anon_sym_u8_DQUOTE] = ACTIONS(2725), + [anon_sym_DQUOTE] = ACTIONS(2725), + [sym_true] = ACTIONS(2723), + [sym_false] = ACTIONS(2723), + [anon_sym_NULL] = ACTIONS(2723), + [anon_sym_nullptr] = ACTIONS(2723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2725), + [sym_auto] = ACTIONS(2723), + [anon_sym_decltype] = ACTIONS(2723), + [sym_virtual] = ACTIONS(2723), + [anon_sym_explicit] = ACTIONS(2723), + [anon_sym_typename] = ACTIONS(2723), + [anon_sym_template] = ACTIONS(2723), + [anon_sym_operator] = ACTIONS(2723), + [anon_sym_try] = ACTIONS(2723), + [anon_sym_delete] = ACTIONS(2723), + [anon_sym_throw] = ACTIONS(2723), + [anon_sym_namespace] = ACTIONS(2723), + [anon_sym_using] = ACTIONS(2723), + [anon_sym_static_assert] = ACTIONS(2723), + [anon_sym_concept] = ACTIONS(2723), + [anon_sym_co_return] = ACTIONS(2723), + [anon_sym_co_yield] = ACTIONS(2723), + [anon_sym_R_DQUOTE] = ACTIONS(2725), + [anon_sym_LR_DQUOTE] = ACTIONS(2725), + [anon_sym_uR_DQUOTE] = ACTIONS(2725), + [anon_sym_UR_DQUOTE] = ACTIONS(2725), + [anon_sym_u8R_DQUOTE] = ACTIONS(2725), + [anon_sym_co_await] = ACTIONS(2723), + [anon_sym_new] = ACTIONS(2723), + [anon_sym_requires] = ACTIONS(2723), + [sym_this] = ACTIONS(2723), + }, + [416] = { + [sym__identifier] = ACTIONS(2691), + [aux_sym_preproc_include_token1] = ACTIONS(2691), + [aux_sym_preproc_def_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token2] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2691), + [sym_preproc_directive] = ACTIONS(2691), + [anon_sym_LPAREN2] = ACTIONS(2693), + [anon_sym_BANG] = ACTIONS(2693), + [anon_sym_TILDE] = ACTIONS(2693), + [anon_sym_DASH] = ACTIONS(2691), + [anon_sym_PLUS] = ACTIONS(2691), + [anon_sym_STAR] = ACTIONS(2693), + [anon_sym_AMP_AMP] = ACTIONS(2693), + [anon_sym_AMP] = ACTIONS(2691), + [anon_sym_SEMI] = ACTIONS(2693), + [anon_sym___extension__] = ACTIONS(2691), + [anon_sym_typedef] = ACTIONS(2691), + [anon_sym_extern] = ACTIONS(2691), + [anon_sym___attribute__] = ACTIONS(2691), + [anon_sym_COLON_COLON] = ACTIONS(2693), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2693), + [anon_sym___declspec] = ACTIONS(2691), + [anon_sym___based] = ACTIONS(2691), + [anon_sym___cdecl] = ACTIONS(2691), + [anon_sym___clrcall] = ACTIONS(2691), + [anon_sym___stdcall] = ACTIONS(2691), + [anon_sym___fastcall] = ACTIONS(2691), + [anon_sym___thiscall] = ACTIONS(2691), + [anon_sym___vectorcall] = ACTIONS(2691), + [anon_sym_LBRACE] = ACTIONS(2693), + [anon_sym_signed] = ACTIONS(2691), + [anon_sym_unsigned] = ACTIONS(2691), + [anon_sym_long] = ACTIONS(2691), + [anon_sym_short] = ACTIONS(2691), + [anon_sym_LBRACK] = ACTIONS(2691), + [anon_sym_static] = ACTIONS(2691), + [anon_sym_register] = ACTIONS(2691), + [anon_sym_inline] = ACTIONS(2691), + [anon_sym___inline] = ACTIONS(2691), + [anon_sym___inline__] = ACTIONS(2691), + [anon_sym___forceinline] = ACTIONS(2691), + [anon_sym_thread_local] = ACTIONS(2691), + [anon_sym___thread] = ACTIONS(2691), + [anon_sym_const] = ACTIONS(2691), + [anon_sym_constexpr] = ACTIONS(2691), + [anon_sym_volatile] = ACTIONS(2691), + [anon_sym_restrict] = ACTIONS(2691), + [anon_sym___restrict__] = ACTIONS(2691), + [anon_sym__Atomic] = ACTIONS(2691), + [anon_sym__Noreturn] = ACTIONS(2691), + [anon_sym_noreturn] = ACTIONS(2691), + [anon_sym_mutable] = ACTIONS(2691), + [anon_sym_constinit] = ACTIONS(2691), + [anon_sym_consteval] = ACTIONS(2691), + [anon_sym_alignas] = ACTIONS(2691), + [anon_sym__Alignas] = ACTIONS(2691), + [sym_primitive_type] = ACTIONS(2691), + [anon_sym_enum] = ACTIONS(2691), + [anon_sym_class] = ACTIONS(2691), + [anon_sym_struct] = ACTIONS(2691), + [anon_sym_union] = ACTIONS(2691), + [anon_sym_if] = ACTIONS(2691), + [anon_sym_else] = ACTIONS(2691), + [anon_sym_switch] = ACTIONS(2691), + [anon_sym_case] = ACTIONS(2691), + [anon_sym_default] = ACTIONS(2691), + [anon_sym_while] = ACTIONS(2691), + [anon_sym_do] = ACTIONS(2691), + [anon_sym_for] = ACTIONS(2691), + [anon_sym_return] = ACTIONS(2691), + [anon_sym_break] = ACTIONS(2691), + [anon_sym_continue] = ACTIONS(2691), + [anon_sym_goto] = ACTIONS(2691), + [anon_sym___try] = ACTIONS(2691), + [anon_sym___leave] = ACTIONS(2691), + [anon_sym_not] = ACTIONS(2691), + [anon_sym_compl] = ACTIONS(2691), + [anon_sym_DASH_DASH] = ACTIONS(2693), + [anon_sym_PLUS_PLUS] = ACTIONS(2693), + [anon_sym_sizeof] = ACTIONS(2691), + [anon_sym___alignof__] = ACTIONS(2691), + [anon_sym___alignof] = ACTIONS(2691), + [anon_sym__alignof] = ACTIONS(2691), + [anon_sym_alignof] = ACTIONS(2691), + [anon_sym__Alignof] = ACTIONS(2691), + [anon_sym_offsetof] = ACTIONS(2691), + [anon_sym__Generic] = ACTIONS(2691), + [anon_sym_asm] = ACTIONS(2691), + [anon_sym___asm__] = ACTIONS(2691), + [sym__number_literal] = ACTIONS(2693), + [anon_sym_L_SQUOTE] = ACTIONS(2693), + [anon_sym_u_SQUOTE] = ACTIONS(2693), + [anon_sym_U_SQUOTE] = ACTIONS(2693), + [anon_sym_u8_SQUOTE] = ACTIONS(2693), + [anon_sym_SQUOTE] = ACTIONS(2693), + [anon_sym_L_DQUOTE] = ACTIONS(2693), + [anon_sym_u_DQUOTE] = ACTIONS(2693), + [anon_sym_U_DQUOTE] = ACTIONS(2693), + [anon_sym_u8_DQUOTE] = ACTIONS(2693), + [anon_sym_DQUOTE] = ACTIONS(2693), + [sym_true] = ACTIONS(2691), + [sym_false] = ACTIONS(2691), + [anon_sym_NULL] = ACTIONS(2691), + [anon_sym_nullptr] = ACTIONS(2691), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2693), + [sym_auto] = ACTIONS(2691), + [anon_sym_decltype] = ACTIONS(2691), + [sym_virtual] = ACTIONS(2691), + [anon_sym_explicit] = ACTIONS(2691), + [anon_sym_typename] = ACTIONS(2691), + [anon_sym_template] = ACTIONS(2691), + [anon_sym_operator] = ACTIONS(2691), + [anon_sym_try] = ACTIONS(2691), + [anon_sym_delete] = ACTIONS(2691), + [anon_sym_throw] = ACTIONS(2691), + [anon_sym_namespace] = ACTIONS(2691), + [anon_sym_using] = ACTIONS(2691), + [anon_sym_static_assert] = ACTIONS(2691), + [anon_sym_concept] = ACTIONS(2691), + [anon_sym_co_return] = ACTIONS(2691), + [anon_sym_co_yield] = ACTIONS(2691), + [anon_sym_R_DQUOTE] = ACTIONS(2693), + [anon_sym_LR_DQUOTE] = ACTIONS(2693), + [anon_sym_uR_DQUOTE] = ACTIONS(2693), + [anon_sym_UR_DQUOTE] = ACTIONS(2693), + [anon_sym_u8R_DQUOTE] = ACTIONS(2693), + [anon_sym_co_await] = ACTIONS(2691), + [anon_sym_new] = ACTIONS(2691), + [anon_sym_requires] = ACTIONS(2691), + [sym_this] = ACTIONS(2691), + }, + [417] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_include_token1] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token2] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_BANG] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_DASH] = ACTIONS(2751), + [anon_sym_PLUS] = ACTIONS(2751), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym_SEMI] = ACTIONS(2753), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym___cdecl] = ACTIONS(2751), + [anon_sym___clrcall] = ACTIONS(2751), + [anon_sym___stdcall] = ACTIONS(2751), + [anon_sym___fastcall] = ACTIONS(2751), + [anon_sym___thiscall] = ACTIONS(2751), + [anon_sym___vectorcall] = ACTIONS(2751), + [anon_sym_LBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [anon_sym_if] = ACTIONS(2751), + [anon_sym_else] = ACTIONS(2751), + [anon_sym_switch] = ACTIONS(2751), + [anon_sym_case] = ACTIONS(2751), + [anon_sym_default] = ACTIONS(2751), + [anon_sym_while] = ACTIONS(2751), + [anon_sym_do] = ACTIONS(2751), + [anon_sym_for] = ACTIONS(2751), + [anon_sym_return] = ACTIONS(2751), + [anon_sym_break] = ACTIONS(2751), + [anon_sym_continue] = ACTIONS(2751), + [anon_sym_goto] = ACTIONS(2751), + [anon_sym___try] = ACTIONS(2751), + [anon_sym___leave] = ACTIONS(2751), + [anon_sym_not] = ACTIONS(2751), + [anon_sym_compl] = ACTIONS(2751), + [anon_sym_DASH_DASH] = ACTIONS(2753), + [anon_sym_PLUS_PLUS] = ACTIONS(2753), + [anon_sym_sizeof] = ACTIONS(2751), + [anon_sym___alignof__] = ACTIONS(2751), + [anon_sym___alignof] = ACTIONS(2751), + [anon_sym__alignof] = ACTIONS(2751), + [anon_sym_alignof] = ACTIONS(2751), + [anon_sym__Alignof] = ACTIONS(2751), + [anon_sym_offsetof] = ACTIONS(2751), + [anon_sym__Generic] = ACTIONS(2751), + [anon_sym_asm] = ACTIONS(2751), + [anon_sym___asm__] = ACTIONS(2751), + [sym__number_literal] = ACTIONS(2753), + [anon_sym_L_SQUOTE] = ACTIONS(2753), + [anon_sym_u_SQUOTE] = ACTIONS(2753), + [anon_sym_U_SQUOTE] = ACTIONS(2753), + [anon_sym_u8_SQUOTE] = ACTIONS(2753), + [anon_sym_SQUOTE] = ACTIONS(2753), + [anon_sym_L_DQUOTE] = ACTIONS(2753), + [anon_sym_u_DQUOTE] = ACTIONS(2753), + [anon_sym_U_DQUOTE] = ACTIONS(2753), + [anon_sym_u8_DQUOTE] = ACTIONS(2753), + [anon_sym_DQUOTE] = ACTIONS(2753), + [sym_true] = ACTIONS(2751), + [sym_false] = ACTIONS(2751), + [anon_sym_NULL] = ACTIONS(2751), + [anon_sym_nullptr] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_try] = ACTIONS(2751), + [anon_sym_delete] = ACTIONS(2751), + [anon_sym_throw] = ACTIONS(2751), + [anon_sym_namespace] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + [anon_sym_concept] = ACTIONS(2751), + [anon_sym_co_return] = ACTIONS(2751), + [anon_sym_co_yield] = ACTIONS(2751), + [anon_sym_R_DQUOTE] = ACTIONS(2753), + [anon_sym_LR_DQUOTE] = ACTIONS(2753), + [anon_sym_uR_DQUOTE] = ACTIONS(2753), + [anon_sym_UR_DQUOTE] = ACTIONS(2753), + [anon_sym_u8R_DQUOTE] = ACTIONS(2753), + [anon_sym_co_await] = ACTIONS(2751), + [anon_sym_new] = ACTIONS(2751), + [anon_sym_requires] = ACTIONS(2751), + [sym_this] = ACTIONS(2751), + }, + [418] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_include_token1] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_BANG] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_DASH] = ACTIONS(2751), + [anon_sym_PLUS] = ACTIONS(2751), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym_SEMI] = ACTIONS(2753), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym___cdecl] = ACTIONS(2751), + [anon_sym___clrcall] = ACTIONS(2751), + [anon_sym___stdcall] = ACTIONS(2751), + [anon_sym___fastcall] = ACTIONS(2751), + [anon_sym___thiscall] = ACTIONS(2751), + [anon_sym___vectorcall] = ACTIONS(2751), + [anon_sym_LBRACE] = ACTIONS(2753), + [anon_sym_RBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [anon_sym_if] = ACTIONS(2751), + [anon_sym_else] = ACTIONS(2751), + [anon_sym_switch] = ACTIONS(2751), + [anon_sym_case] = ACTIONS(2751), + [anon_sym_default] = ACTIONS(2751), + [anon_sym_while] = ACTIONS(2751), + [anon_sym_do] = ACTIONS(2751), + [anon_sym_for] = ACTIONS(2751), + [anon_sym_return] = ACTIONS(2751), + [anon_sym_break] = ACTIONS(2751), + [anon_sym_continue] = ACTIONS(2751), + [anon_sym_goto] = ACTIONS(2751), + [anon_sym___try] = ACTIONS(2751), + [anon_sym___leave] = ACTIONS(2751), + [anon_sym_not] = ACTIONS(2751), + [anon_sym_compl] = ACTIONS(2751), + [anon_sym_DASH_DASH] = ACTIONS(2753), + [anon_sym_PLUS_PLUS] = ACTIONS(2753), + [anon_sym_sizeof] = ACTIONS(2751), + [anon_sym___alignof__] = ACTIONS(2751), + [anon_sym___alignof] = ACTIONS(2751), + [anon_sym__alignof] = ACTIONS(2751), + [anon_sym_alignof] = ACTIONS(2751), + [anon_sym__Alignof] = ACTIONS(2751), + [anon_sym_offsetof] = ACTIONS(2751), + [anon_sym__Generic] = ACTIONS(2751), + [anon_sym_asm] = ACTIONS(2751), + [anon_sym___asm__] = ACTIONS(2751), + [sym__number_literal] = ACTIONS(2753), + [anon_sym_L_SQUOTE] = ACTIONS(2753), + [anon_sym_u_SQUOTE] = ACTIONS(2753), + [anon_sym_U_SQUOTE] = ACTIONS(2753), + [anon_sym_u8_SQUOTE] = ACTIONS(2753), + [anon_sym_SQUOTE] = ACTIONS(2753), + [anon_sym_L_DQUOTE] = ACTIONS(2753), + [anon_sym_u_DQUOTE] = ACTIONS(2753), + [anon_sym_U_DQUOTE] = ACTIONS(2753), + [anon_sym_u8_DQUOTE] = ACTIONS(2753), + [anon_sym_DQUOTE] = ACTIONS(2753), + [sym_true] = ACTIONS(2751), + [sym_false] = ACTIONS(2751), + [anon_sym_NULL] = ACTIONS(2751), + [anon_sym_nullptr] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_try] = ACTIONS(2751), + [anon_sym_delete] = ACTIONS(2751), + [anon_sym_throw] = ACTIONS(2751), + [anon_sym_namespace] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + [anon_sym_concept] = ACTIONS(2751), + [anon_sym_co_return] = ACTIONS(2751), + [anon_sym_co_yield] = ACTIONS(2751), + [anon_sym_R_DQUOTE] = ACTIONS(2753), + [anon_sym_LR_DQUOTE] = ACTIONS(2753), + [anon_sym_uR_DQUOTE] = ACTIONS(2753), + [anon_sym_UR_DQUOTE] = ACTIONS(2753), + [anon_sym_u8R_DQUOTE] = ACTIONS(2753), + [anon_sym_co_await] = ACTIONS(2751), + [anon_sym_new] = ACTIONS(2751), + [anon_sym_requires] = ACTIONS(2751), + [sym_this] = ACTIONS(2751), + }, + [419] = { + [sym__identifier] = ACTIONS(2699), + [aux_sym_preproc_include_token1] = ACTIONS(2699), + [aux_sym_preproc_def_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token2] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2699), + [sym_preproc_directive] = ACTIONS(2699), + [anon_sym_LPAREN2] = ACTIONS(2701), + [anon_sym_BANG] = ACTIONS(2701), + [anon_sym_TILDE] = ACTIONS(2701), + [anon_sym_DASH] = ACTIONS(2699), + [anon_sym_PLUS] = ACTIONS(2699), + [anon_sym_STAR] = ACTIONS(2701), + [anon_sym_AMP_AMP] = ACTIONS(2701), + [anon_sym_AMP] = ACTIONS(2699), + [anon_sym_SEMI] = ACTIONS(2701), + [anon_sym___extension__] = ACTIONS(2699), + [anon_sym_typedef] = ACTIONS(2699), + [anon_sym_extern] = ACTIONS(2699), + [anon_sym___attribute__] = ACTIONS(2699), + [anon_sym_COLON_COLON] = ACTIONS(2701), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2701), + [anon_sym___declspec] = ACTIONS(2699), + [anon_sym___based] = ACTIONS(2699), + [anon_sym___cdecl] = ACTIONS(2699), + [anon_sym___clrcall] = ACTIONS(2699), + [anon_sym___stdcall] = ACTIONS(2699), + [anon_sym___fastcall] = ACTIONS(2699), + [anon_sym___thiscall] = ACTIONS(2699), + [anon_sym___vectorcall] = ACTIONS(2699), + [anon_sym_LBRACE] = ACTIONS(2701), + [anon_sym_signed] = ACTIONS(2699), + [anon_sym_unsigned] = ACTIONS(2699), + [anon_sym_long] = ACTIONS(2699), + [anon_sym_short] = ACTIONS(2699), + [anon_sym_LBRACK] = ACTIONS(2699), + [anon_sym_static] = ACTIONS(2699), + [anon_sym_register] = ACTIONS(2699), + [anon_sym_inline] = ACTIONS(2699), + [anon_sym___inline] = ACTIONS(2699), + [anon_sym___inline__] = ACTIONS(2699), + [anon_sym___forceinline] = ACTIONS(2699), + [anon_sym_thread_local] = ACTIONS(2699), + [anon_sym___thread] = ACTIONS(2699), + [anon_sym_const] = ACTIONS(2699), + [anon_sym_constexpr] = ACTIONS(2699), + [anon_sym_volatile] = ACTIONS(2699), + [anon_sym_restrict] = ACTIONS(2699), + [anon_sym___restrict__] = ACTIONS(2699), + [anon_sym__Atomic] = ACTIONS(2699), + [anon_sym__Noreturn] = ACTIONS(2699), + [anon_sym_noreturn] = ACTIONS(2699), + [anon_sym_mutable] = ACTIONS(2699), + [anon_sym_constinit] = ACTIONS(2699), + [anon_sym_consteval] = ACTIONS(2699), + [anon_sym_alignas] = ACTIONS(2699), + [anon_sym__Alignas] = ACTIONS(2699), + [sym_primitive_type] = ACTIONS(2699), + [anon_sym_enum] = ACTIONS(2699), + [anon_sym_class] = ACTIONS(2699), + [anon_sym_struct] = ACTIONS(2699), + [anon_sym_union] = ACTIONS(2699), + [anon_sym_if] = ACTIONS(2699), + [anon_sym_else] = ACTIONS(2699), + [anon_sym_switch] = ACTIONS(2699), + [anon_sym_case] = ACTIONS(2699), + [anon_sym_default] = ACTIONS(2699), + [anon_sym_while] = ACTIONS(2699), + [anon_sym_do] = ACTIONS(2699), + [anon_sym_for] = ACTIONS(2699), + [anon_sym_return] = ACTIONS(2699), + [anon_sym_break] = ACTIONS(2699), + [anon_sym_continue] = ACTIONS(2699), + [anon_sym_goto] = ACTIONS(2699), + [anon_sym___try] = ACTIONS(2699), + [anon_sym___leave] = ACTIONS(2699), + [anon_sym_not] = ACTIONS(2699), + [anon_sym_compl] = ACTIONS(2699), + [anon_sym_DASH_DASH] = ACTIONS(2701), + [anon_sym_PLUS_PLUS] = ACTIONS(2701), + [anon_sym_sizeof] = ACTIONS(2699), + [anon_sym___alignof__] = ACTIONS(2699), + [anon_sym___alignof] = ACTIONS(2699), + [anon_sym__alignof] = ACTIONS(2699), + [anon_sym_alignof] = ACTIONS(2699), + [anon_sym__Alignof] = ACTIONS(2699), + [anon_sym_offsetof] = ACTIONS(2699), + [anon_sym__Generic] = ACTIONS(2699), + [anon_sym_asm] = ACTIONS(2699), + [anon_sym___asm__] = ACTIONS(2699), + [sym__number_literal] = ACTIONS(2701), + [anon_sym_L_SQUOTE] = ACTIONS(2701), + [anon_sym_u_SQUOTE] = ACTIONS(2701), + [anon_sym_U_SQUOTE] = ACTIONS(2701), + [anon_sym_u8_SQUOTE] = ACTIONS(2701), + [anon_sym_SQUOTE] = ACTIONS(2701), + [anon_sym_L_DQUOTE] = ACTIONS(2701), + [anon_sym_u_DQUOTE] = ACTIONS(2701), + [anon_sym_U_DQUOTE] = ACTIONS(2701), + [anon_sym_u8_DQUOTE] = ACTIONS(2701), + [anon_sym_DQUOTE] = ACTIONS(2701), + [sym_true] = ACTIONS(2699), + [sym_false] = ACTIONS(2699), + [anon_sym_NULL] = ACTIONS(2699), + [anon_sym_nullptr] = ACTIONS(2699), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2701), + [sym_auto] = ACTIONS(2699), + [anon_sym_decltype] = ACTIONS(2699), + [sym_virtual] = ACTIONS(2699), + [anon_sym_explicit] = ACTIONS(2699), + [anon_sym_typename] = ACTIONS(2699), + [anon_sym_template] = ACTIONS(2699), + [anon_sym_operator] = ACTIONS(2699), + [anon_sym_try] = ACTIONS(2699), + [anon_sym_delete] = ACTIONS(2699), + [anon_sym_throw] = ACTIONS(2699), + [anon_sym_namespace] = ACTIONS(2699), + [anon_sym_using] = ACTIONS(2699), + [anon_sym_static_assert] = ACTIONS(2699), + [anon_sym_concept] = ACTIONS(2699), + [anon_sym_co_return] = ACTIONS(2699), + [anon_sym_co_yield] = ACTIONS(2699), + [anon_sym_R_DQUOTE] = ACTIONS(2701), + [anon_sym_LR_DQUOTE] = ACTIONS(2701), + [anon_sym_uR_DQUOTE] = ACTIONS(2701), + [anon_sym_UR_DQUOTE] = ACTIONS(2701), + [anon_sym_u8R_DQUOTE] = ACTIONS(2701), + [anon_sym_co_await] = ACTIONS(2699), + [anon_sym_new] = ACTIONS(2699), + [anon_sym_requires] = ACTIONS(2699), + [sym_this] = ACTIONS(2699), + }, + [420] = { + [ts_builtin_sym_end] = ACTIONS(2741), + [sym__identifier] = ACTIONS(2739), + [aux_sym_preproc_include_token1] = ACTIONS(2739), + [aux_sym_preproc_def_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2739), + [sym_preproc_directive] = ACTIONS(2739), + [anon_sym_LPAREN2] = ACTIONS(2741), + [anon_sym_BANG] = ACTIONS(2741), + [anon_sym_TILDE] = ACTIONS(2741), + [anon_sym_DASH] = ACTIONS(2739), + [anon_sym_PLUS] = ACTIONS(2739), + [anon_sym_STAR] = ACTIONS(2741), + [anon_sym_AMP_AMP] = ACTIONS(2741), + [anon_sym_AMP] = ACTIONS(2739), + [anon_sym_SEMI] = ACTIONS(2741), + [anon_sym___extension__] = ACTIONS(2739), + [anon_sym_typedef] = ACTIONS(2739), + [anon_sym_extern] = ACTIONS(2739), + [anon_sym___attribute__] = ACTIONS(2739), + [anon_sym_COLON_COLON] = ACTIONS(2741), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2741), + [anon_sym___declspec] = ACTIONS(2739), + [anon_sym___based] = ACTIONS(2739), + [anon_sym___cdecl] = ACTIONS(2739), + [anon_sym___clrcall] = ACTIONS(2739), + [anon_sym___stdcall] = ACTIONS(2739), + [anon_sym___fastcall] = ACTIONS(2739), + [anon_sym___thiscall] = ACTIONS(2739), + [anon_sym___vectorcall] = ACTIONS(2739), + [anon_sym_LBRACE] = ACTIONS(2741), + [anon_sym_signed] = ACTIONS(2739), + [anon_sym_unsigned] = ACTIONS(2739), + [anon_sym_long] = ACTIONS(2739), + [anon_sym_short] = ACTIONS(2739), + [anon_sym_LBRACK] = ACTIONS(2739), + [anon_sym_static] = ACTIONS(2739), + [anon_sym_register] = ACTIONS(2739), + [anon_sym_inline] = ACTIONS(2739), + [anon_sym___inline] = ACTIONS(2739), + [anon_sym___inline__] = ACTIONS(2739), + [anon_sym___forceinline] = ACTIONS(2739), + [anon_sym_thread_local] = ACTIONS(2739), + [anon_sym___thread] = ACTIONS(2739), + [anon_sym_const] = ACTIONS(2739), + [anon_sym_constexpr] = ACTIONS(2739), + [anon_sym_volatile] = ACTIONS(2739), + [anon_sym_restrict] = ACTIONS(2739), + [anon_sym___restrict__] = ACTIONS(2739), + [anon_sym__Atomic] = ACTIONS(2739), + [anon_sym__Noreturn] = ACTIONS(2739), + [anon_sym_noreturn] = ACTIONS(2739), + [anon_sym_mutable] = ACTIONS(2739), + [anon_sym_constinit] = ACTIONS(2739), + [anon_sym_consteval] = ACTIONS(2739), + [anon_sym_alignas] = ACTIONS(2739), + [anon_sym__Alignas] = ACTIONS(2739), + [sym_primitive_type] = ACTIONS(2739), + [anon_sym_enum] = ACTIONS(2739), + [anon_sym_class] = ACTIONS(2739), + [anon_sym_struct] = ACTIONS(2739), + [anon_sym_union] = ACTIONS(2739), + [anon_sym_if] = ACTIONS(2739), + [anon_sym_else] = ACTIONS(2739), + [anon_sym_switch] = ACTIONS(2739), + [anon_sym_case] = ACTIONS(2739), + [anon_sym_default] = ACTIONS(2739), + [anon_sym_while] = ACTIONS(2739), + [anon_sym_do] = ACTIONS(2739), + [anon_sym_for] = ACTIONS(2739), + [anon_sym_return] = ACTIONS(2739), + [anon_sym_break] = ACTIONS(2739), + [anon_sym_continue] = ACTIONS(2739), + [anon_sym_goto] = ACTIONS(2739), + [anon_sym___try] = ACTIONS(2739), + [anon_sym___leave] = ACTIONS(2739), + [anon_sym_not] = ACTIONS(2739), + [anon_sym_compl] = ACTIONS(2739), + [anon_sym_DASH_DASH] = ACTIONS(2741), + [anon_sym_PLUS_PLUS] = ACTIONS(2741), + [anon_sym_sizeof] = ACTIONS(2739), + [anon_sym___alignof__] = ACTIONS(2739), + [anon_sym___alignof] = ACTIONS(2739), + [anon_sym__alignof] = ACTIONS(2739), + [anon_sym_alignof] = ACTIONS(2739), + [anon_sym__Alignof] = ACTIONS(2739), + [anon_sym_offsetof] = ACTIONS(2739), + [anon_sym__Generic] = ACTIONS(2739), + [anon_sym_asm] = ACTIONS(2739), + [anon_sym___asm__] = ACTIONS(2739), + [sym__number_literal] = ACTIONS(2741), + [anon_sym_L_SQUOTE] = ACTIONS(2741), + [anon_sym_u_SQUOTE] = ACTIONS(2741), + [anon_sym_U_SQUOTE] = ACTIONS(2741), + [anon_sym_u8_SQUOTE] = ACTIONS(2741), + [anon_sym_SQUOTE] = ACTIONS(2741), + [anon_sym_L_DQUOTE] = ACTIONS(2741), + [anon_sym_u_DQUOTE] = ACTIONS(2741), + [anon_sym_U_DQUOTE] = ACTIONS(2741), + [anon_sym_u8_DQUOTE] = ACTIONS(2741), + [anon_sym_DQUOTE] = ACTIONS(2741), + [sym_true] = ACTIONS(2739), + [sym_false] = ACTIONS(2739), + [anon_sym_NULL] = ACTIONS(2739), + [anon_sym_nullptr] = ACTIONS(2739), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2741), + [sym_auto] = ACTIONS(2739), + [anon_sym_decltype] = ACTIONS(2739), + [sym_virtual] = ACTIONS(2739), + [anon_sym_explicit] = ACTIONS(2739), + [anon_sym_typename] = ACTIONS(2739), + [anon_sym_template] = ACTIONS(2739), + [anon_sym_operator] = ACTIONS(2739), + [anon_sym_try] = ACTIONS(2739), + [anon_sym_delete] = ACTIONS(2739), + [anon_sym_throw] = ACTIONS(2739), + [anon_sym_namespace] = ACTIONS(2739), + [anon_sym_using] = ACTIONS(2739), + [anon_sym_static_assert] = ACTIONS(2739), + [anon_sym_concept] = ACTIONS(2739), + [anon_sym_co_return] = ACTIONS(2739), + [anon_sym_co_yield] = ACTIONS(2739), + [anon_sym_R_DQUOTE] = ACTIONS(2741), + [anon_sym_LR_DQUOTE] = ACTIONS(2741), + [anon_sym_uR_DQUOTE] = ACTIONS(2741), + [anon_sym_UR_DQUOTE] = ACTIONS(2741), + [anon_sym_u8R_DQUOTE] = ACTIONS(2741), + [anon_sym_co_await] = ACTIONS(2739), + [anon_sym_new] = ACTIONS(2739), + [anon_sym_requires] = ACTIONS(2739), + [sym_this] = ACTIONS(2739), + }, + [421] = { + [ts_builtin_sym_end] = ACTIONS(2721), + [sym__identifier] = ACTIONS(2719), + [aux_sym_preproc_include_token1] = ACTIONS(2719), + [aux_sym_preproc_def_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2719), + [sym_preproc_directive] = ACTIONS(2719), + [anon_sym_LPAREN2] = ACTIONS(2721), + [anon_sym_BANG] = ACTIONS(2721), + [anon_sym_TILDE] = ACTIONS(2721), + [anon_sym_DASH] = ACTIONS(2719), + [anon_sym_PLUS] = ACTIONS(2719), + [anon_sym_STAR] = ACTIONS(2721), + [anon_sym_AMP_AMP] = ACTIONS(2721), + [anon_sym_AMP] = ACTIONS(2719), + [anon_sym_SEMI] = ACTIONS(2721), + [anon_sym___extension__] = ACTIONS(2719), + [anon_sym_typedef] = ACTIONS(2719), + [anon_sym_extern] = ACTIONS(2719), + [anon_sym___attribute__] = ACTIONS(2719), + [anon_sym_COLON_COLON] = ACTIONS(2721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2721), + [anon_sym___declspec] = ACTIONS(2719), + [anon_sym___based] = ACTIONS(2719), + [anon_sym___cdecl] = ACTIONS(2719), + [anon_sym___clrcall] = ACTIONS(2719), + [anon_sym___stdcall] = ACTIONS(2719), + [anon_sym___fastcall] = ACTIONS(2719), + [anon_sym___thiscall] = ACTIONS(2719), + [anon_sym___vectorcall] = ACTIONS(2719), + [anon_sym_LBRACE] = ACTIONS(2721), + [anon_sym_signed] = ACTIONS(2719), + [anon_sym_unsigned] = ACTIONS(2719), + [anon_sym_long] = ACTIONS(2719), + [anon_sym_short] = ACTIONS(2719), + [anon_sym_LBRACK] = ACTIONS(2719), + [anon_sym_static] = ACTIONS(2719), + [anon_sym_register] = ACTIONS(2719), + [anon_sym_inline] = ACTIONS(2719), + [anon_sym___inline] = ACTIONS(2719), + [anon_sym___inline__] = ACTIONS(2719), + [anon_sym___forceinline] = ACTIONS(2719), + [anon_sym_thread_local] = ACTIONS(2719), + [anon_sym___thread] = ACTIONS(2719), + [anon_sym_const] = ACTIONS(2719), + [anon_sym_constexpr] = ACTIONS(2719), + [anon_sym_volatile] = ACTIONS(2719), + [anon_sym_restrict] = ACTIONS(2719), + [anon_sym___restrict__] = ACTIONS(2719), + [anon_sym__Atomic] = ACTIONS(2719), + [anon_sym__Noreturn] = ACTIONS(2719), + [anon_sym_noreturn] = ACTIONS(2719), + [anon_sym_mutable] = ACTIONS(2719), + [anon_sym_constinit] = ACTIONS(2719), + [anon_sym_consteval] = ACTIONS(2719), + [anon_sym_alignas] = ACTIONS(2719), + [anon_sym__Alignas] = ACTIONS(2719), + [sym_primitive_type] = ACTIONS(2719), + [anon_sym_enum] = ACTIONS(2719), + [anon_sym_class] = ACTIONS(2719), + [anon_sym_struct] = ACTIONS(2719), + [anon_sym_union] = ACTIONS(2719), + [anon_sym_if] = ACTIONS(2719), + [anon_sym_else] = ACTIONS(2719), + [anon_sym_switch] = ACTIONS(2719), + [anon_sym_case] = ACTIONS(2719), + [anon_sym_default] = ACTIONS(2719), + [anon_sym_while] = ACTIONS(2719), + [anon_sym_do] = ACTIONS(2719), + [anon_sym_for] = ACTIONS(2719), + [anon_sym_return] = ACTIONS(2719), + [anon_sym_break] = ACTIONS(2719), + [anon_sym_continue] = ACTIONS(2719), + [anon_sym_goto] = ACTIONS(2719), + [anon_sym___try] = ACTIONS(2719), + [anon_sym___leave] = ACTIONS(2719), + [anon_sym_not] = ACTIONS(2719), + [anon_sym_compl] = ACTIONS(2719), + [anon_sym_DASH_DASH] = ACTIONS(2721), + [anon_sym_PLUS_PLUS] = ACTIONS(2721), + [anon_sym_sizeof] = ACTIONS(2719), + [anon_sym___alignof__] = ACTIONS(2719), + [anon_sym___alignof] = ACTIONS(2719), + [anon_sym__alignof] = ACTIONS(2719), + [anon_sym_alignof] = ACTIONS(2719), + [anon_sym__Alignof] = ACTIONS(2719), + [anon_sym_offsetof] = ACTIONS(2719), + [anon_sym__Generic] = ACTIONS(2719), + [anon_sym_asm] = ACTIONS(2719), + [anon_sym___asm__] = ACTIONS(2719), + [sym__number_literal] = ACTIONS(2721), + [anon_sym_L_SQUOTE] = ACTIONS(2721), + [anon_sym_u_SQUOTE] = ACTIONS(2721), + [anon_sym_U_SQUOTE] = ACTIONS(2721), + [anon_sym_u8_SQUOTE] = ACTIONS(2721), + [anon_sym_SQUOTE] = ACTIONS(2721), + [anon_sym_L_DQUOTE] = ACTIONS(2721), + [anon_sym_u_DQUOTE] = ACTIONS(2721), + [anon_sym_U_DQUOTE] = ACTIONS(2721), + [anon_sym_u8_DQUOTE] = ACTIONS(2721), + [anon_sym_DQUOTE] = ACTIONS(2721), + [sym_true] = ACTIONS(2719), + [sym_false] = ACTIONS(2719), + [anon_sym_NULL] = ACTIONS(2719), + [anon_sym_nullptr] = ACTIONS(2719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2721), + [sym_auto] = ACTIONS(2719), + [anon_sym_decltype] = ACTIONS(2719), + [sym_virtual] = ACTIONS(2719), + [anon_sym_explicit] = ACTIONS(2719), + [anon_sym_typename] = ACTIONS(2719), + [anon_sym_template] = ACTIONS(2719), + [anon_sym_operator] = ACTIONS(2719), + [anon_sym_try] = ACTIONS(2719), + [anon_sym_delete] = ACTIONS(2719), + [anon_sym_throw] = ACTIONS(2719), + [anon_sym_namespace] = ACTIONS(2719), + [anon_sym_using] = ACTIONS(2719), + [anon_sym_static_assert] = ACTIONS(2719), + [anon_sym_concept] = ACTIONS(2719), + [anon_sym_co_return] = ACTIONS(2719), + [anon_sym_co_yield] = ACTIONS(2719), + [anon_sym_R_DQUOTE] = ACTIONS(2721), + [anon_sym_LR_DQUOTE] = ACTIONS(2721), + [anon_sym_uR_DQUOTE] = ACTIONS(2721), + [anon_sym_UR_DQUOTE] = ACTIONS(2721), + [anon_sym_u8R_DQUOTE] = ACTIONS(2721), + [anon_sym_co_await] = ACTIONS(2719), + [anon_sym_new] = ACTIONS(2719), + [anon_sym_requires] = ACTIONS(2719), + [sym_this] = ACTIONS(2719), + }, + [422] = { + [ts_builtin_sym_end] = ACTIONS(2795), + [sym__identifier] = ACTIONS(2793), + [aux_sym_preproc_include_token1] = ACTIONS(2793), + [aux_sym_preproc_def_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2793), + [sym_preproc_directive] = ACTIONS(2793), + [anon_sym_LPAREN2] = ACTIONS(2795), + [anon_sym_BANG] = ACTIONS(2795), + [anon_sym_TILDE] = ACTIONS(2795), + [anon_sym_DASH] = ACTIONS(2793), + [anon_sym_PLUS] = ACTIONS(2793), + [anon_sym_STAR] = ACTIONS(2795), + [anon_sym_AMP_AMP] = ACTIONS(2795), + [anon_sym_AMP] = ACTIONS(2793), + [anon_sym_SEMI] = ACTIONS(2795), + [anon_sym___extension__] = ACTIONS(2793), + [anon_sym_typedef] = ACTIONS(2793), + [anon_sym_extern] = ACTIONS(2793), + [anon_sym___attribute__] = ACTIONS(2793), + [anon_sym_COLON_COLON] = ACTIONS(2795), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2795), + [anon_sym___declspec] = ACTIONS(2793), + [anon_sym___based] = ACTIONS(2793), + [anon_sym___cdecl] = ACTIONS(2793), + [anon_sym___clrcall] = ACTIONS(2793), + [anon_sym___stdcall] = ACTIONS(2793), + [anon_sym___fastcall] = ACTIONS(2793), + [anon_sym___thiscall] = ACTIONS(2793), + [anon_sym___vectorcall] = ACTIONS(2793), + [anon_sym_LBRACE] = ACTIONS(2795), + [anon_sym_signed] = ACTIONS(2793), + [anon_sym_unsigned] = ACTIONS(2793), + [anon_sym_long] = ACTIONS(2793), + [anon_sym_short] = ACTIONS(2793), + [anon_sym_LBRACK] = ACTIONS(2793), + [anon_sym_static] = ACTIONS(2793), + [anon_sym_register] = ACTIONS(2793), + [anon_sym_inline] = ACTIONS(2793), + [anon_sym___inline] = ACTIONS(2793), + [anon_sym___inline__] = ACTIONS(2793), + [anon_sym___forceinline] = ACTIONS(2793), + [anon_sym_thread_local] = ACTIONS(2793), + [anon_sym___thread] = ACTIONS(2793), + [anon_sym_const] = ACTIONS(2793), + [anon_sym_constexpr] = ACTIONS(2793), + [anon_sym_volatile] = ACTIONS(2793), + [anon_sym_restrict] = ACTIONS(2793), + [anon_sym___restrict__] = ACTIONS(2793), + [anon_sym__Atomic] = ACTIONS(2793), + [anon_sym__Noreturn] = ACTIONS(2793), + [anon_sym_noreturn] = ACTIONS(2793), + [anon_sym_mutable] = ACTIONS(2793), + [anon_sym_constinit] = ACTIONS(2793), + [anon_sym_consteval] = ACTIONS(2793), + [anon_sym_alignas] = ACTIONS(2793), + [anon_sym__Alignas] = ACTIONS(2793), + [sym_primitive_type] = ACTIONS(2793), + [anon_sym_enum] = ACTIONS(2793), + [anon_sym_class] = ACTIONS(2793), + [anon_sym_struct] = ACTIONS(2793), + [anon_sym_union] = ACTIONS(2793), + [anon_sym_if] = ACTIONS(2793), + [anon_sym_else] = ACTIONS(2793), + [anon_sym_switch] = ACTIONS(2793), + [anon_sym_case] = ACTIONS(2793), + [anon_sym_default] = ACTIONS(2793), + [anon_sym_while] = ACTIONS(2793), + [anon_sym_do] = ACTIONS(2793), + [anon_sym_for] = ACTIONS(2793), + [anon_sym_return] = ACTIONS(2793), + [anon_sym_break] = ACTIONS(2793), + [anon_sym_continue] = ACTIONS(2793), + [anon_sym_goto] = ACTIONS(2793), + [anon_sym___try] = ACTIONS(2793), + [anon_sym___leave] = ACTIONS(2793), + [anon_sym_not] = ACTIONS(2793), + [anon_sym_compl] = ACTIONS(2793), + [anon_sym_DASH_DASH] = ACTIONS(2795), + [anon_sym_PLUS_PLUS] = ACTIONS(2795), + [anon_sym_sizeof] = ACTIONS(2793), + [anon_sym___alignof__] = ACTIONS(2793), + [anon_sym___alignof] = ACTIONS(2793), + [anon_sym__alignof] = ACTIONS(2793), + [anon_sym_alignof] = ACTIONS(2793), + [anon_sym__Alignof] = ACTIONS(2793), + [anon_sym_offsetof] = ACTIONS(2793), + [anon_sym__Generic] = ACTIONS(2793), + [anon_sym_asm] = ACTIONS(2793), + [anon_sym___asm__] = ACTIONS(2793), + [sym__number_literal] = ACTIONS(2795), + [anon_sym_L_SQUOTE] = ACTIONS(2795), + [anon_sym_u_SQUOTE] = ACTIONS(2795), + [anon_sym_U_SQUOTE] = ACTIONS(2795), + [anon_sym_u8_SQUOTE] = ACTIONS(2795), + [anon_sym_SQUOTE] = ACTIONS(2795), + [anon_sym_L_DQUOTE] = ACTIONS(2795), + [anon_sym_u_DQUOTE] = ACTIONS(2795), + [anon_sym_U_DQUOTE] = ACTIONS(2795), + [anon_sym_u8_DQUOTE] = ACTIONS(2795), + [anon_sym_DQUOTE] = ACTIONS(2795), + [sym_true] = ACTIONS(2793), + [sym_false] = ACTIONS(2793), + [anon_sym_NULL] = ACTIONS(2793), + [anon_sym_nullptr] = ACTIONS(2793), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2795), + [sym_auto] = ACTIONS(2793), + [anon_sym_decltype] = ACTIONS(2793), + [sym_virtual] = ACTIONS(2793), + [anon_sym_explicit] = ACTIONS(2793), + [anon_sym_typename] = ACTIONS(2793), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_operator] = ACTIONS(2793), + [anon_sym_try] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2793), + [anon_sym_throw] = ACTIONS(2793), + [anon_sym_namespace] = ACTIONS(2793), + [anon_sym_using] = ACTIONS(2793), + [anon_sym_static_assert] = ACTIONS(2793), + [anon_sym_concept] = ACTIONS(2793), + [anon_sym_co_return] = ACTIONS(2793), + [anon_sym_co_yield] = ACTIONS(2793), + [anon_sym_R_DQUOTE] = ACTIONS(2795), + [anon_sym_LR_DQUOTE] = ACTIONS(2795), + [anon_sym_uR_DQUOTE] = ACTIONS(2795), + [anon_sym_UR_DQUOTE] = ACTIONS(2795), + [anon_sym_u8R_DQUOTE] = ACTIONS(2795), + [anon_sym_co_await] = ACTIONS(2793), + [anon_sym_new] = ACTIONS(2793), + [anon_sym_requires] = ACTIONS(2793), + [sym_this] = ACTIONS(2793), + }, + [423] = { + [ts_builtin_sym_end] = ACTIONS(2811), + [sym__identifier] = ACTIONS(2809), + [aux_sym_preproc_include_token1] = ACTIONS(2809), + [aux_sym_preproc_def_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2809), + [sym_preproc_directive] = ACTIONS(2809), + [anon_sym_LPAREN2] = ACTIONS(2811), + [anon_sym_BANG] = ACTIONS(2811), + [anon_sym_TILDE] = ACTIONS(2811), + [anon_sym_DASH] = ACTIONS(2809), + [anon_sym_PLUS] = ACTIONS(2809), + [anon_sym_STAR] = ACTIONS(2811), + [anon_sym_AMP_AMP] = ACTIONS(2811), + [anon_sym_AMP] = ACTIONS(2809), + [anon_sym_SEMI] = ACTIONS(2811), + [anon_sym___extension__] = ACTIONS(2809), + [anon_sym_typedef] = ACTIONS(2809), + [anon_sym_extern] = ACTIONS(2809), + [anon_sym___attribute__] = ACTIONS(2809), + [anon_sym_COLON_COLON] = ACTIONS(2811), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2811), + [anon_sym___declspec] = ACTIONS(2809), + [anon_sym___based] = ACTIONS(2809), + [anon_sym___cdecl] = ACTIONS(2809), + [anon_sym___clrcall] = ACTIONS(2809), + [anon_sym___stdcall] = ACTIONS(2809), + [anon_sym___fastcall] = ACTIONS(2809), + [anon_sym___thiscall] = ACTIONS(2809), + [anon_sym___vectorcall] = ACTIONS(2809), + [anon_sym_LBRACE] = ACTIONS(2811), + [anon_sym_signed] = ACTIONS(2809), + [anon_sym_unsigned] = ACTIONS(2809), + [anon_sym_long] = ACTIONS(2809), + [anon_sym_short] = ACTIONS(2809), + [anon_sym_LBRACK] = ACTIONS(2809), + [anon_sym_static] = ACTIONS(2809), + [anon_sym_register] = ACTIONS(2809), + [anon_sym_inline] = ACTIONS(2809), + [anon_sym___inline] = ACTIONS(2809), + [anon_sym___inline__] = ACTIONS(2809), + [anon_sym___forceinline] = ACTIONS(2809), + [anon_sym_thread_local] = ACTIONS(2809), + [anon_sym___thread] = ACTIONS(2809), + [anon_sym_const] = ACTIONS(2809), + [anon_sym_constexpr] = ACTIONS(2809), + [anon_sym_volatile] = ACTIONS(2809), + [anon_sym_restrict] = ACTIONS(2809), + [anon_sym___restrict__] = ACTIONS(2809), + [anon_sym__Atomic] = ACTIONS(2809), + [anon_sym__Noreturn] = ACTIONS(2809), + [anon_sym_noreturn] = ACTIONS(2809), + [anon_sym_mutable] = ACTIONS(2809), + [anon_sym_constinit] = ACTIONS(2809), + [anon_sym_consteval] = ACTIONS(2809), + [anon_sym_alignas] = ACTIONS(2809), + [anon_sym__Alignas] = ACTIONS(2809), + [sym_primitive_type] = ACTIONS(2809), + [anon_sym_enum] = ACTIONS(2809), + [anon_sym_class] = ACTIONS(2809), + [anon_sym_struct] = ACTIONS(2809), + [anon_sym_union] = ACTIONS(2809), + [anon_sym_if] = ACTIONS(2809), + [anon_sym_else] = ACTIONS(2809), + [anon_sym_switch] = ACTIONS(2809), + [anon_sym_case] = ACTIONS(2809), + [anon_sym_default] = ACTIONS(2809), + [anon_sym_while] = ACTIONS(2809), + [anon_sym_do] = ACTIONS(2809), + [anon_sym_for] = ACTIONS(2809), + [anon_sym_return] = ACTIONS(2809), + [anon_sym_break] = ACTIONS(2809), + [anon_sym_continue] = ACTIONS(2809), + [anon_sym_goto] = ACTIONS(2809), + [anon_sym___try] = ACTIONS(2809), + [anon_sym___leave] = ACTIONS(2809), + [anon_sym_not] = ACTIONS(2809), + [anon_sym_compl] = ACTIONS(2809), + [anon_sym_DASH_DASH] = ACTIONS(2811), + [anon_sym_PLUS_PLUS] = ACTIONS(2811), + [anon_sym_sizeof] = ACTIONS(2809), + [anon_sym___alignof__] = ACTIONS(2809), + [anon_sym___alignof] = ACTIONS(2809), + [anon_sym__alignof] = ACTIONS(2809), + [anon_sym_alignof] = ACTIONS(2809), + [anon_sym__Alignof] = ACTIONS(2809), + [anon_sym_offsetof] = ACTIONS(2809), + [anon_sym__Generic] = ACTIONS(2809), + [anon_sym_asm] = ACTIONS(2809), + [anon_sym___asm__] = ACTIONS(2809), + [sym__number_literal] = ACTIONS(2811), + [anon_sym_L_SQUOTE] = ACTIONS(2811), + [anon_sym_u_SQUOTE] = ACTIONS(2811), + [anon_sym_U_SQUOTE] = ACTIONS(2811), + [anon_sym_u8_SQUOTE] = ACTIONS(2811), + [anon_sym_SQUOTE] = ACTIONS(2811), + [anon_sym_L_DQUOTE] = ACTIONS(2811), + [anon_sym_u_DQUOTE] = ACTIONS(2811), + [anon_sym_U_DQUOTE] = ACTIONS(2811), + [anon_sym_u8_DQUOTE] = ACTIONS(2811), + [anon_sym_DQUOTE] = ACTIONS(2811), + [sym_true] = ACTIONS(2809), + [sym_false] = ACTIONS(2809), + [anon_sym_NULL] = ACTIONS(2809), + [anon_sym_nullptr] = ACTIONS(2809), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2811), + [sym_auto] = ACTIONS(2809), + [anon_sym_decltype] = ACTIONS(2809), + [sym_virtual] = ACTIONS(2809), + [anon_sym_explicit] = ACTIONS(2809), + [anon_sym_typename] = ACTIONS(2809), + [anon_sym_template] = ACTIONS(2809), + [anon_sym_operator] = ACTIONS(2809), + [anon_sym_try] = ACTIONS(2809), + [anon_sym_delete] = ACTIONS(2809), + [anon_sym_throw] = ACTIONS(2809), + [anon_sym_namespace] = ACTIONS(2809), + [anon_sym_using] = ACTIONS(2809), + [anon_sym_static_assert] = ACTIONS(2809), + [anon_sym_concept] = ACTIONS(2809), + [anon_sym_co_return] = ACTIONS(2809), + [anon_sym_co_yield] = ACTIONS(2809), + [anon_sym_R_DQUOTE] = ACTIONS(2811), + [anon_sym_LR_DQUOTE] = ACTIONS(2811), + [anon_sym_uR_DQUOTE] = ACTIONS(2811), + [anon_sym_UR_DQUOTE] = ACTIONS(2811), + [anon_sym_u8R_DQUOTE] = ACTIONS(2811), + [anon_sym_co_await] = ACTIONS(2809), + [anon_sym_new] = ACTIONS(2809), + [anon_sym_requires] = ACTIONS(2809), + [sym_this] = ACTIONS(2809), + }, + [424] = { + [sym__identifier] = ACTIONS(2735), + [aux_sym_preproc_include_token1] = ACTIONS(2735), + [aux_sym_preproc_def_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2735), + [sym_preproc_directive] = ACTIONS(2735), + [anon_sym_LPAREN2] = ACTIONS(2737), + [anon_sym_BANG] = ACTIONS(2737), + [anon_sym_TILDE] = ACTIONS(2737), + [anon_sym_DASH] = ACTIONS(2735), + [anon_sym_PLUS] = ACTIONS(2735), + [anon_sym_STAR] = ACTIONS(2737), + [anon_sym_AMP_AMP] = ACTIONS(2737), + [anon_sym_AMP] = ACTIONS(2735), + [anon_sym_SEMI] = ACTIONS(2737), + [anon_sym___extension__] = ACTIONS(2735), + [anon_sym_typedef] = ACTIONS(2735), + [anon_sym_extern] = ACTIONS(2735), + [anon_sym___attribute__] = ACTIONS(2735), + [anon_sym_COLON_COLON] = ACTIONS(2737), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2737), + [anon_sym___declspec] = ACTIONS(2735), + [anon_sym___based] = ACTIONS(2735), + [anon_sym___cdecl] = ACTIONS(2735), + [anon_sym___clrcall] = ACTIONS(2735), + [anon_sym___stdcall] = ACTIONS(2735), + [anon_sym___fastcall] = ACTIONS(2735), + [anon_sym___thiscall] = ACTIONS(2735), + [anon_sym___vectorcall] = ACTIONS(2735), + [anon_sym_LBRACE] = ACTIONS(2737), + [anon_sym_RBRACE] = ACTIONS(2737), + [anon_sym_signed] = ACTIONS(2735), + [anon_sym_unsigned] = ACTIONS(2735), + [anon_sym_long] = ACTIONS(2735), + [anon_sym_short] = ACTIONS(2735), + [anon_sym_LBRACK] = ACTIONS(2735), + [anon_sym_static] = ACTIONS(2735), + [anon_sym_register] = ACTIONS(2735), + [anon_sym_inline] = ACTIONS(2735), + [anon_sym___inline] = ACTIONS(2735), + [anon_sym___inline__] = ACTIONS(2735), + [anon_sym___forceinline] = ACTIONS(2735), + [anon_sym_thread_local] = ACTIONS(2735), + [anon_sym___thread] = ACTIONS(2735), + [anon_sym_const] = ACTIONS(2735), + [anon_sym_constexpr] = ACTIONS(2735), + [anon_sym_volatile] = ACTIONS(2735), + [anon_sym_restrict] = ACTIONS(2735), + [anon_sym___restrict__] = ACTIONS(2735), + [anon_sym__Atomic] = ACTIONS(2735), + [anon_sym__Noreturn] = ACTIONS(2735), + [anon_sym_noreturn] = ACTIONS(2735), + [anon_sym_mutable] = ACTIONS(2735), + [anon_sym_constinit] = ACTIONS(2735), + [anon_sym_consteval] = ACTIONS(2735), + [anon_sym_alignas] = ACTIONS(2735), + [anon_sym__Alignas] = ACTIONS(2735), + [sym_primitive_type] = ACTIONS(2735), + [anon_sym_enum] = ACTIONS(2735), + [anon_sym_class] = ACTIONS(2735), + [anon_sym_struct] = ACTIONS(2735), + [anon_sym_union] = ACTIONS(2735), + [anon_sym_if] = ACTIONS(2735), + [anon_sym_else] = ACTIONS(2735), + [anon_sym_switch] = ACTIONS(2735), + [anon_sym_case] = ACTIONS(2735), + [anon_sym_default] = ACTIONS(2735), + [anon_sym_while] = ACTIONS(2735), + [anon_sym_do] = ACTIONS(2735), + [anon_sym_for] = ACTIONS(2735), + [anon_sym_return] = ACTIONS(2735), + [anon_sym_break] = ACTIONS(2735), + [anon_sym_continue] = ACTIONS(2735), + [anon_sym_goto] = ACTIONS(2735), + [anon_sym___try] = ACTIONS(2735), + [anon_sym___leave] = ACTIONS(2735), + [anon_sym_not] = ACTIONS(2735), + [anon_sym_compl] = ACTIONS(2735), + [anon_sym_DASH_DASH] = ACTIONS(2737), + [anon_sym_PLUS_PLUS] = ACTIONS(2737), + [anon_sym_sizeof] = ACTIONS(2735), + [anon_sym___alignof__] = ACTIONS(2735), + [anon_sym___alignof] = ACTIONS(2735), + [anon_sym__alignof] = ACTIONS(2735), + [anon_sym_alignof] = ACTIONS(2735), + [anon_sym__Alignof] = ACTIONS(2735), + [anon_sym_offsetof] = ACTIONS(2735), + [anon_sym__Generic] = ACTIONS(2735), + [anon_sym_asm] = ACTIONS(2735), + [anon_sym___asm__] = ACTIONS(2735), + [sym__number_literal] = ACTIONS(2737), + [anon_sym_L_SQUOTE] = ACTIONS(2737), + [anon_sym_u_SQUOTE] = ACTIONS(2737), + [anon_sym_U_SQUOTE] = ACTIONS(2737), + [anon_sym_u8_SQUOTE] = ACTIONS(2737), + [anon_sym_SQUOTE] = ACTIONS(2737), + [anon_sym_L_DQUOTE] = ACTIONS(2737), + [anon_sym_u_DQUOTE] = ACTIONS(2737), + [anon_sym_U_DQUOTE] = ACTIONS(2737), + [anon_sym_u8_DQUOTE] = ACTIONS(2737), + [anon_sym_DQUOTE] = ACTIONS(2737), + [sym_true] = ACTIONS(2735), + [sym_false] = ACTIONS(2735), + [anon_sym_NULL] = ACTIONS(2735), + [anon_sym_nullptr] = ACTIONS(2735), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2737), + [sym_auto] = ACTIONS(2735), + [anon_sym_decltype] = ACTIONS(2735), + [sym_virtual] = ACTIONS(2735), + [anon_sym_explicit] = ACTIONS(2735), + [anon_sym_typename] = ACTIONS(2735), + [anon_sym_template] = ACTIONS(2735), + [anon_sym_operator] = ACTIONS(2735), + [anon_sym_try] = ACTIONS(2735), + [anon_sym_delete] = ACTIONS(2735), + [anon_sym_throw] = ACTIONS(2735), + [anon_sym_namespace] = ACTIONS(2735), + [anon_sym_using] = ACTIONS(2735), + [anon_sym_static_assert] = ACTIONS(2735), + [anon_sym_concept] = ACTIONS(2735), + [anon_sym_co_return] = ACTIONS(2735), + [anon_sym_co_yield] = ACTIONS(2735), + [anon_sym_R_DQUOTE] = ACTIONS(2737), + [anon_sym_LR_DQUOTE] = ACTIONS(2737), + [anon_sym_uR_DQUOTE] = ACTIONS(2737), + [anon_sym_UR_DQUOTE] = ACTIONS(2737), + [anon_sym_u8R_DQUOTE] = ACTIONS(2737), + [anon_sym_co_await] = ACTIONS(2735), + [anon_sym_new] = ACTIONS(2735), + [anon_sym_requires] = ACTIONS(2735), + [sym_this] = ACTIONS(2735), + }, + [425] = { + [sym_preproc_def] = STATE(425), + [sym_preproc_function_def] = STATE(425), + [sym_preproc_call] = STATE(425), + [sym_preproc_if_in_field_declaration_list] = STATE(425), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(425), + [sym_type_definition] = STATE(425), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5560), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(425), + [sym_field_declaration] = STATE(425), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(425), + [sym_operator_cast] = STATE(6665), + [sym_inline_method_definition] = STATE(425), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(425), + [sym_operator_cast_declaration] = STATE(425), + [sym_constructor_or_destructor_definition] = STATE(425), + [sym_constructor_or_destructor_declaration] = STATE(425), + [sym_friend_declaration] = STATE(425), + [sym_access_specifier] = STATE(8036), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(425), + [sym_alias_declaration] = STATE(425), + [sym_static_assert_declaration] = STATE(425), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(425), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(3226), + [aux_sym_preproc_def_token1] = ACTIONS(3229), + [aux_sym_preproc_if_token1] = ACTIONS(3232), + [aux_sym_preproc_if_token2] = ACTIONS(3235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3237), + [aux_sym_preproc_else_token1] = ACTIONS(3235), + [aux_sym_preproc_elif_token1] = ACTIONS(3235), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3235), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3235), + [sym_preproc_directive] = ACTIONS(3240), + [anon_sym_LPAREN2] = ACTIONS(3243), + [anon_sym_TILDE] = ACTIONS(3246), + [anon_sym_STAR] = ACTIONS(3249), + [anon_sym_AMP_AMP] = ACTIONS(3252), + [anon_sym_AMP] = ACTIONS(3255), + [anon_sym___extension__] = ACTIONS(3258), + [anon_sym_typedef] = ACTIONS(3261), + [anon_sym_extern] = ACTIONS(3264), + [anon_sym___attribute__] = ACTIONS(3267), + [anon_sym_COLON_COLON] = ACTIONS(3270), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3273), + [anon_sym___declspec] = ACTIONS(3276), + [anon_sym___based] = ACTIONS(3279), + [anon_sym_signed] = ACTIONS(3282), + [anon_sym_unsigned] = ACTIONS(3282), + [anon_sym_long] = ACTIONS(3282), + [anon_sym_short] = ACTIONS(3282), + [anon_sym_LBRACK] = ACTIONS(3285), + [anon_sym_static] = ACTIONS(3264), + [anon_sym_register] = ACTIONS(3264), + [anon_sym_inline] = ACTIONS(3264), + [anon_sym___inline] = ACTIONS(3264), + [anon_sym___inline__] = ACTIONS(3264), + [anon_sym___forceinline] = ACTIONS(3264), + [anon_sym_thread_local] = ACTIONS(3264), + [anon_sym___thread] = ACTIONS(3264), + [anon_sym_const] = ACTIONS(3288), + [anon_sym_constexpr] = ACTIONS(3288), + [anon_sym_volatile] = ACTIONS(3288), + [anon_sym_restrict] = ACTIONS(3288), + [anon_sym___restrict__] = ACTIONS(3288), + [anon_sym__Atomic] = ACTIONS(3288), + [anon_sym__Noreturn] = ACTIONS(3288), + [anon_sym_noreturn] = ACTIONS(3288), + [anon_sym_mutable] = ACTIONS(3288), + [anon_sym_constinit] = ACTIONS(3288), + [anon_sym_consteval] = ACTIONS(3288), + [anon_sym_alignas] = ACTIONS(3291), + [anon_sym__Alignas] = ACTIONS(3291), + [sym_primitive_type] = ACTIONS(3294), + [anon_sym_enum] = ACTIONS(3297), + [anon_sym_class] = ACTIONS(3300), + [anon_sym_struct] = ACTIONS(3303), + [anon_sym_union] = ACTIONS(3306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3309), + [sym_auto] = ACTIONS(3312), + [anon_sym_decltype] = ACTIONS(3315), + [sym_virtual] = ACTIONS(3318), + [anon_sym_explicit] = ACTIONS(3321), + [anon_sym_typename] = ACTIONS(3324), + [anon_sym_template] = ACTIONS(3327), + [anon_sym_operator] = ACTIONS(3330), + [anon_sym_friend] = ACTIONS(3333), + [anon_sym_public] = ACTIONS(3336), + [anon_sym_private] = ACTIONS(3336), + [anon_sym_protected] = ACTIONS(3336), + [anon_sym_using] = ACTIONS(3339), + [anon_sym_static_assert] = ACTIONS(3342), + }, + [426] = { + [sym__identifier] = ACTIONS(2743), + [aux_sym_preproc_include_token1] = ACTIONS(2743), + [aux_sym_preproc_def_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2743), + [sym_preproc_directive] = ACTIONS(2743), + [anon_sym_LPAREN2] = ACTIONS(2745), + [anon_sym_BANG] = ACTIONS(2745), + [anon_sym_TILDE] = ACTIONS(2745), + [anon_sym_DASH] = ACTIONS(2743), + [anon_sym_PLUS] = ACTIONS(2743), + [anon_sym_STAR] = ACTIONS(2745), + [anon_sym_AMP_AMP] = ACTIONS(2745), + [anon_sym_AMP] = ACTIONS(2743), + [anon_sym_SEMI] = ACTIONS(2745), + [anon_sym___extension__] = ACTIONS(2743), + [anon_sym_typedef] = ACTIONS(2743), + [anon_sym_extern] = ACTIONS(2743), + [anon_sym___attribute__] = ACTIONS(2743), + [anon_sym_COLON_COLON] = ACTIONS(2745), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2745), + [anon_sym___declspec] = ACTIONS(2743), + [anon_sym___based] = ACTIONS(2743), + [anon_sym___cdecl] = ACTIONS(2743), + [anon_sym___clrcall] = ACTIONS(2743), + [anon_sym___stdcall] = ACTIONS(2743), + [anon_sym___fastcall] = ACTIONS(2743), + [anon_sym___thiscall] = ACTIONS(2743), + [anon_sym___vectorcall] = ACTIONS(2743), + [anon_sym_LBRACE] = ACTIONS(2745), + [anon_sym_RBRACE] = ACTIONS(2745), + [anon_sym_signed] = ACTIONS(2743), + [anon_sym_unsigned] = ACTIONS(2743), + [anon_sym_long] = ACTIONS(2743), + [anon_sym_short] = ACTIONS(2743), + [anon_sym_LBRACK] = ACTIONS(2743), + [anon_sym_static] = ACTIONS(2743), + [anon_sym_register] = ACTIONS(2743), + [anon_sym_inline] = ACTIONS(2743), + [anon_sym___inline] = ACTIONS(2743), + [anon_sym___inline__] = ACTIONS(2743), + [anon_sym___forceinline] = ACTIONS(2743), + [anon_sym_thread_local] = ACTIONS(2743), + [anon_sym___thread] = ACTIONS(2743), + [anon_sym_const] = ACTIONS(2743), + [anon_sym_constexpr] = ACTIONS(2743), + [anon_sym_volatile] = ACTIONS(2743), + [anon_sym_restrict] = ACTIONS(2743), + [anon_sym___restrict__] = ACTIONS(2743), + [anon_sym__Atomic] = ACTIONS(2743), + [anon_sym__Noreturn] = ACTIONS(2743), + [anon_sym_noreturn] = ACTIONS(2743), + [anon_sym_mutable] = ACTIONS(2743), + [anon_sym_constinit] = ACTIONS(2743), + [anon_sym_consteval] = ACTIONS(2743), + [anon_sym_alignas] = ACTIONS(2743), + [anon_sym__Alignas] = ACTIONS(2743), + [sym_primitive_type] = ACTIONS(2743), + [anon_sym_enum] = ACTIONS(2743), + [anon_sym_class] = ACTIONS(2743), + [anon_sym_struct] = ACTIONS(2743), + [anon_sym_union] = ACTIONS(2743), + [anon_sym_if] = ACTIONS(2743), + [anon_sym_else] = ACTIONS(2743), + [anon_sym_switch] = ACTIONS(2743), + [anon_sym_case] = ACTIONS(2743), + [anon_sym_default] = ACTIONS(2743), + [anon_sym_while] = ACTIONS(2743), + [anon_sym_do] = ACTIONS(2743), + [anon_sym_for] = ACTIONS(2743), + [anon_sym_return] = ACTIONS(2743), + [anon_sym_break] = ACTIONS(2743), + [anon_sym_continue] = ACTIONS(2743), + [anon_sym_goto] = ACTIONS(2743), + [anon_sym___try] = ACTIONS(2743), + [anon_sym___leave] = ACTIONS(2743), + [anon_sym_not] = ACTIONS(2743), + [anon_sym_compl] = ACTIONS(2743), + [anon_sym_DASH_DASH] = ACTIONS(2745), + [anon_sym_PLUS_PLUS] = ACTIONS(2745), + [anon_sym_sizeof] = ACTIONS(2743), + [anon_sym___alignof__] = ACTIONS(2743), + [anon_sym___alignof] = ACTIONS(2743), + [anon_sym__alignof] = ACTIONS(2743), + [anon_sym_alignof] = ACTIONS(2743), + [anon_sym__Alignof] = ACTIONS(2743), + [anon_sym_offsetof] = ACTIONS(2743), + [anon_sym__Generic] = ACTIONS(2743), + [anon_sym_asm] = ACTIONS(2743), + [anon_sym___asm__] = ACTIONS(2743), + [sym__number_literal] = ACTIONS(2745), + [anon_sym_L_SQUOTE] = ACTIONS(2745), + [anon_sym_u_SQUOTE] = ACTIONS(2745), + [anon_sym_U_SQUOTE] = ACTIONS(2745), + [anon_sym_u8_SQUOTE] = ACTIONS(2745), + [anon_sym_SQUOTE] = ACTIONS(2745), + [anon_sym_L_DQUOTE] = ACTIONS(2745), + [anon_sym_u_DQUOTE] = ACTIONS(2745), + [anon_sym_U_DQUOTE] = ACTIONS(2745), + [anon_sym_u8_DQUOTE] = ACTIONS(2745), + [anon_sym_DQUOTE] = ACTIONS(2745), + [sym_true] = ACTIONS(2743), + [sym_false] = ACTIONS(2743), + [anon_sym_NULL] = ACTIONS(2743), + [anon_sym_nullptr] = ACTIONS(2743), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2745), + [sym_auto] = ACTIONS(2743), + [anon_sym_decltype] = ACTIONS(2743), + [sym_virtual] = ACTIONS(2743), + [anon_sym_explicit] = ACTIONS(2743), + [anon_sym_typename] = ACTIONS(2743), + [anon_sym_template] = ACTIONS(2743), + [anon_sym_operator] = ACTIONS(2743), + [anon_sym_try] = ACTIONS(2743), + [anon_sym_delete] = ACTIONS(2743), + [anon_sym_throw] = ACTIONS(2743), + [anon_sym_namespace] = ACTIONS(2743), + [anon_sym_using] = ACTIONS(2743), + [anon_sym_static_assert] = ACTIONS(2743), + [anon_sym_concept] = ACTIONS(2743), + [anon_sym_co_return] = ACTIONS(2743), + [anon_sym_co_yield] = ACTIONS(2743), + [anon_sym_R_DQUOTE] = ACTIONS(2745), + [anon_sym_LR_DQUOTE] = ACTIONS(2745), + [anon_sym_uR_DQUOTE] = ACTIONS(2745), + [anon_sym_UR_DQUOTE] = ACTIONS(2745), + [anon_sym_u8R_DQUOTE] = ACTIONS(2745), + [anon_sym_co_await] = ACTIONS(2743), + [anon_sym_new] = ACTIONS(2743), + [anon_sym_requires] = ACTIONS(2743), + [sym_this] = ACTIONS(2743), + }, + [427] = { + [sym__identifier] = ACTIONS(2711), + [aux_sym_preproc_include_token1] = ACTIONS(2711), + [aux_sym_preproc_def_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2711), + [sym_preproc_directive] = ACTIONS(2711), + [anon_sym_LPAREN2] = ACTIONS(2713), + [anon_sym_BANG] = ACTIONS(2713), + [anon_sym_TILDE] = ACTIONS(2713), + [anon_sym_DASH] = ACTIONS(2711), + [anon_sym_PLUS] = ACTIONS(2711), + [anon_sym_STAR] = ACTIONS(2713), + [anon_sym_AMP_AMP] = ACTIONS(2713), + [anon_sym_AMP] = ACTIONS(2711), + [anon_sym_SEMI] = ACTIONS(2713), + [anon_sym___extension__] = ACTIONS(2711), + [anon_sym_typedef] = ACTIONS(2711), + [anon_sym_extern] = ACTIONS(2711), + [anon_sym___attribute__] = ACTIONS(2711), + [anon_sym_COLON_COLON] = ACTIONS(2713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2713), + [anon_sym___declspec] = ACTIONS(2711), + [anon_sym___based] = ACTIONS(2711), + [anon_sym___cdecl] = ACTIONS(2711), + [anon_sym___clrcall] = ACTIONS(2711), + [anon_sym___stdcall] = ACTIONS(2711), + [anon_sym___fastcall] = ACTIONS(2711), + [anon_sym___thiscall] = ACTIONS(2711), + [anon_sym___vectorcall] = ACTIONS(2711), + [anon_sym_LBRACE] = ACTIONS(2713), + [anon_sym_RBRACE] = ACTIONS(2713), + [anon_sym_signed] = ACTIONS(2711), + [anon_sym_unsigned] = ACTIONS(2711), + [anon_sym_long] = ACTIONS(2711), + [anon_sym_short] = ACTIONS(2711), + [anon_sym_LBRACK] = ACTIONS(2711), + [anon_sym_static] = ACTIONS(2711), + [anon_sym_register] = ACTIONS(2711), + [anon_sym_inline] = ACTIONS(2711), + [anon_sym___inline] = ACTIONS(2711), + [anon_sym___inline__] = ACTIONS(2711), + [anon_sym___forceinline] = ACTIONS(2711), + [anon_sym_thread_local] = ACTIONS(2711), + [anon_sym___thread] = ACTIONS(2711), + [anon_sym_const] = ACTIONS(2711), + [anon_sym_constexpr] = ACTIONS(2711), + [anon_sym_volatile] = ACTIONS(2711), + [anon_sym_restrict] = ACTIONS(2711), + [anon_sym___restrict__] = ACTIONS(2711), + [anon_sym__Atomic] = ACTIONS(2711), + [anon_sym__Noreturn] = ACTIONS(2711), + [anon_sym_noreturn] = ACTIONS(2711), + [anon_sym_mutable] = ACTIONS(2711), + [anon_sym_constinit] = ACTIONS(2711), + [anon_sym_consteval] = ACTIONS(2711), + [anon_sym_alignas] = ACTIONS(2711), + [anon_sym__Alignas] = ACTIONS(2711), + [sym_primitive_type] = ACTIONS(2711), + [anon_sym_enum] = ACTIONS(2711), + [anon_sym_class] = ACTIONS(2711), + [anon_sym_struct] = ACTIONS(2711), + [anon_sym_union] = ACTIONS(2711), + [anon_sym_if] = ACTIONS(2711), + [anon_sym_else] = ACTIONS(2711), + [anon_sym_switch] = ACTIONS(2711), + [anon_sym_case] = ACTIONS(2711), + [anon_sym_default] = ACTIONS(2711), + [anon_sym_while] = ACTIONS(2711), + [anon_sym_do] = ACTIONS(2711), + [anon_sym_for] = ACTIONS(2711), + [anon_sym_return] = ACTIONS(2711), + [anon_sym_break] = ACTIONS(2711), + [anon_sym_continue] = ACTIONS(2711), + [anon_sym_goto] = ACTIONS(2711), + [anon_sym___try] = ACTIONS(2711), + [anon_sym___leave] = ACTIONS(2711), + [anon_sym_not] = ACTIONS(2711), + [anon_sym_compl] = ACTIONS(2711), + [anon_sym_DASH_DASH] = ACTIONS(2713), + [anon_sym_PLUS_PLUS] = ACTIONS(2713), + [anon_sym_sizeof] = ACTIONS(2711), + [anon_sym___alignof__] = ACTIONS(2711), + [anon_sym___alignof] = ACTIONS(2711), + [anon_sym__alignof] = ACTIONS(2711), + [anon_sym_alignof] = ACTIONS(2711), + [anon_sym__Alignof] = ACTIONS(2711), + [anon_sym_offsetof] = ACTIONS(2711), + [anon_sym__Generic] = ACTIONS(2711), + [anon_sym_asm] = ACTIONS(2711), + [anon_sym___asm__] = ACTIONS(2711), + [sym__number_literal] = ACTIONS(2713), + [anon_sym_L_SQUOTE] = ACTIONS(2713), + [anon_sym_u_SQUOTE] = ACTIONS(2713), + [anon_sym_U_SQUOTE] = ACTIONS(2713), + [anon_sym_u8_SQUOTE] = ACTIONS(2713), + [anon_sym_SQUOTE] = ACTIONS(2713), + [anon_sym_L_DQUOTE] = ACTIONS(2713), + [anon_sym_u_DQUOTE] = ACTIONS(2713), + [anon_sym_U_DQUOTE] = ACTIONS(2713), + [anon_sym_u8_DQUOTE] = ACTIONS(2713), + [anon_sym_DQUOTE] = ACTIONS(2713), + [sym_true] = ACTIONS(2711), + [sym_false] = ACTIONS(2711), + [anon_sym_NULL] = ACTIONS(2711), + [anon_sym_nullptr] = ACTIONS(2711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2713), + [sym_auto] = ACTIONS(2711), + [anon_sym_decltype] = ACTIONS(2711), + [sym_virtual] = ACTIONS(2711), + [anon_sym_explicit] = ACTIONS(2711), + [anon_sym_typename] = ACTIONS(2711), + [anon_sym_template] = ACTIONS(2711), + [anon_sym_operator] = ACTIONS(2711), + [anon_sym_try] = ACTIONS(2711), + [anon_sym_delete] = ACTIONS(2711), + [anon_sym_throw] = ACTIONS(2711), + [anon_sym_namespace] = ACTIONS(2711), + [anon_sym_using] = ACTIONS(2711), + [anon_sym_static_assert] = ACTIONS(2711), + [anon_sym_concept] = ACTIONS(2711), + [anon_sym_co_return] = ACTIONS(2711), + [anon_sym_co_yield] = ACTIONS(2711), + [anon_sym_R_DQUOTE] = ACTIONS(2713), + [anon_sym_LR_DQUOTE] = ACTIONS(2713), + [anon_sym_uR_DQUOTE] = ACTIONS(2713), + [anon_sym_UR_DQUOTE] = ACTIONS(2713), + [anon_sym_u8R_DQUOTE] = ACTIONS(2713), + [anon_sym_co_await] = ACTIONS(2711), + [anon_sym_new] = ACTIONS(2711), + [anon_sym_requires] = ACTIONS(2711), + [sym_this] = ACTIONS(2711), + }, + [428] = { + [sym__identifier] = ACTIONS(2632), + [aux_sym_preproc_include_token1] = ACTIONS(2632), + [aux_sym_preproc_def_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token2] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2632), + [sym_preproc_directive] = ACTIONS(2632), + [anon_sym_LPAREN2] = ACTIONS(2637), + [anon_sym_BANG] = ACTIONS(2637), + [anon_sym_TILDE] = ACTIONS(2637), + [anon_sym_DASH] = ACTIONS(2632), + [anon_sym_PLUS] = ACTIONS(2632), + [anon_sym_STAR] = ACTIONS(2637), + [anon_sym_AMP_AMP] = ACTIONS(2637), + [anon_sym_AMP] = ACTIONS(2632), + [anon_sym_SEMI] = ACTIONS(2637), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_typedef] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym___based] = ACTIONS(2632), + [anon_sym___cdecl] = ACTIONS(2632), + [anon_sym___clrcall] = ACTIONS(2632), + [anon_sym___stdcall] = ACTIONS(2632), + [anon_sym___fastcall] = ACTIONS(2632), + [anon_sym___thiscall] = ACTIONS(2632), + [anon_sym___vectorcall] = ACTIONS(2632), + [anon_sym_LBRACE] = ACTIONS(2637), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(2632), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2632), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_if] = ACTIONS(2632), + [anon_sym_else] = ACTIONS(2632), + [anon_sym_switch] = ACTIONS(2632), + [anon_sym_case] = ACTIONS(2632), + [anon_sym_default] = ACTIONS(2632), + [anon_sym_while] = ACTIONS(2632), + [anon_sym_do] = ACTIONS(2632), + [anon_sym_for] = ACTIONS(2632), + [anon_sym_return] = ACTIONS(2632), + [anon_sym_break] = ACTIONS(2632), + [anon_sym_continue] = ACTIONS(2632), + [anon_sym_goto] = ACTIONS(2632), + [anon_sym___try] = ACTIONS(2632), + [anon_sym___leave] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(2632), + [anon_sym_compl] = ACTIONS(2632), + [anon_sym_DASH_DASH] = ACTIONS(2637), + [anon_sym_PLUS_PLUS] = ACTIONS(2637), + [anon_sym_sizeof] = ACTIONS(2632), + [anon_sym___alignof__] = ACTIONS(2632), + [anon_sym___alignof] = ACTIONS(2632), + [anon_sym__alignof] = ACTIONS(2632), + [anon_sym_alignof] = ACTIONS(2632), + [anon_sym__Alignof] = ACTIONS(2632), + [anon_sym_offsetof] = ACTIONS(2632), + [anon_sym__Generic] = ACTIONS(2632), + [anon_sym_asm] = ACTIONS(2632), + [anon_sym___asm__] = ACTIONS(2632), + [sym__number_literal] = ACTIONS(2637), + [anon_sym_L_SQUOTE] = ACTIONS(2637), + [anon_sym_u_SQUOTE] = ACTIONS(2637), + [anon_sym_U_SQUOTE] = ACTIONS(2637), + [anon_sym_u8_SQUOTE] = ACTIONS(2637), + [anon_sym_SQUOTE] = ACTIONS(2637), + [anon_sym_L_DQUOTE] = ACTIONS(2637), + [anon_sym_u_DQUOTE] = ACTIONS(2637), + [anon_sym_U_DQUOTE] = ACTIONS(2637), + [anon_sym_u8_DQUOTE] = ACTIONS(2637), + [anon_sym_DQUOTE] = ACTIONS(2637), + [sym_true] = ACTIONS(2632), + [sym_false] = ACTIONS(2632), + [anon_sym_NULL] = ACTIONS(2632), + [anon_sym_nullptr] = ACTIONS(2632), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2637), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2632), + [sym_virtual] = ACTIONS(2632), + [anon_sym_explicit] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2632), + [anon_sym_operator] = ACTIONS(2632), + [anon_sym_try] = ACTIONS(2632), + [anon_sym_delete] = ACTIONS(2632), + [anon_sym_throw] = ACTIONS(2632), + [anon_sym_namespace] = ACTIONS(2632), + [anon_sym_using] = ACTIONS(2632), + [anon_sym_static_assert] = ACTIONS(2632), + [anon_sym_concept] = ACTIONS(2632), + [anon_sym_co_return] = ACTIONS(2632), + [anon_sym_co_yield] = ACTIONS(2632), + [anon_sym_R_DQUOTE] = ACTIONS(2637), + [anon_sym_LR_DQUOTE] = ACTIONS(2637), + [anon_sym_uR_DQUOTE] = ACTIONS(2637), + [anon_sym_UR_DQUOTE] = ACTIONS(2637), + [anon_sym_u8R_DQUOTE] = ACTIONS(2637), + [anon_sym_co_await] = ACTIONS(2632), + [anon_sym_new] = ACTIONS(2632), + [anon_sym_requires] = ACTIONS(2632), + [sym_this] = ACTIONS(2632), + }, + [429] = { + [sym__identifier] = ACTIONS(2801), + [aux_sym_preproc_include_token1] = ACTIONS(2801), + [aux_sym_preproc_def_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token2] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2801), + [sym_preproc_directive] = ACTIONS(2801), + [anon_sym_LPAREN2] = ACTIONS(2803), + [anon_sym_BANG] = ACTIONS(2803), + [anon_sym_TILDE] = ACTIONS(2803), + [anon_sym_DASH] = ACTIONS(2801), + [anon_sym_PLUS] = ACTIONS(2801), + [anon_sym_STAR] = ACTIONS(2803), + [anon_sym_AMP_AMP] = ACTIONS(2803), + [anon_sym_AMP] = ACTIONS(2801), + [anon_sym_SEMI] = ACTIONS(2803), + [anon_sym___extension__] = ACTIONS(2801), + [anon_sym_typedef] = ACTIONS(2801), + [anon_sym_extern] = ACTIONS(2801), + [anon_sym___attribute__] = ACTIONS(2801), + [anon_sym_COLON_COLON] = ACTIONS(2803), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2803), + [anon_sym___declspec] = ACTIONS(2801), + [anon_sym___based] = ACTIONS(2801), + [anon_sym___cdecl] = ACTIONS(2801), + [anon_sym___clrcall] = ACTIONS(2801), + [anon_sym___stdcall] = ACTIONS(2801), + [anon_sym___fastcall] = ACTIONS(2801), + [anon_sym___thiscall] = ACTIONS(2801), + [anon_sym___vectorcall] = ACTIONS(2801), + [anon_sym_LBRACE] = ACTIONS(2803), + [anon_sym_signed] = ACTIONS(2801), + [anon_sym_unsigned] = ACTIONS(2801), + [anon_sym_long] = ACTIONS(2801), + [anon_sym_short] = ACTIONS(2801), + [anon_sym_LBRACK] = ACTIONS(2801), + [anon_sym_static] = ACTIONS(2801), + [anon_sym_register] = ACTIONS(2801), + [anon_sym_inline] = ACTIONS(2801), + [anon_sym___inline] = ACTIONS(2801), + [anon_sym___inline__] = ACTIONS(2801), + [anon_sym___forceinline] = ACTIONS(2801), + [anon_sym_thread_local] = ACTIONS(2801), + [anon_sym___thread] = ACTIONS(2801), + [anon_sym_const] = ACTIONS(2801), + [anon_sym_constexpr] = ACTIONS(2801), + [anon_sym_volatile] = ACTIONS(2801), + [anon_sym_restrict] = ACTIONS(2801), + [anon_sym___restrict__] = ACTIONS(2801), + [anon_sym__Atomic] = ACTIONS(2801), + [anon_sym__Noreturn] = ACTIONS(2801), + [anon_sym_noreturn] = ACTIONS(2801), + [anon_sym_mutable] = ACTIONS(2801), + [anon_sym_constinit] = ACTIONS(2801), + [anon_sym_consteval] = ACTIONS(2801), + [anon_sym_alignas] = ACTIONS(2801), + [anon_sym__Alignas] = ACTIONS(2801), + [sym_primitive_type] = ACTIONS(2801), + [anon_sym_enum] = ACTIONS(2801), + [anon_sym_class] = ACTIONS(2801), + [anon_sym_struct] = ACTIONS(2801), + [anon_sym_union] = ACTIONS(2801), + [anon_sym_if] = ACTIONS(2801), + [anon_sym_else] = ACTIONS(2801), + [anon_sym_switch] = ACTIONS(2801), + [anon_sym_case] = ACTIONS(2801), + [anon_sym_default] = ACTIONS(2801), + [anon_sym_while] = ACTIONS(2801), + [anon_sym_do] = ACTIONS(2801), + [anon_sym_for] = ACTIONS(2801), + [anon_sym_return] = ACTIONS(2801), + [anon_sym_break] = ACTIONS(2801), + [anon_sym_continue] = ACTIONS(2801), + [anon_sym_goto] = ACTIONS(2801), + [anon_sym___try] = ACTIONS(2801), + [anon_sym___leave] = ACTIONS(2801), + [anon_sym_not] = ACTIONS(2801), + [anon_sym_compl] = ACTIONS(2801), + [anon_sym_DASH_DASH] = ACTIONS(2803), + [anon_sym_PLUS_PLUS] = ACTIONS(2803), + [anon_sym_sizeof] = ACTIONS(2801), + [anon_sym___alignof__] = ACTIONS(2801), + [anon_sym___alignof] = ACTIONS(2801), + [anon_sym__alignof] = ACTIONS(2801), + [anon_sym_alignof] = ACTIONS(2801), + [anon_sym__Alignof] = ACTIONS(2801), + [anon_sym_offsetof] = ACTIONS(2801), + [anon_sym__Generic] = ACTIONS(2801), + [anon_sym_asm] = ACTIONS(2801), + [anon_sym___asm__] = ACTIONS(2801), + [sym__number_literal] = ACTIONS(2803), + [anon_sym_L_SQUOTE] = ACTIONS(2803), + [anon_sym_u_SQUOTE] = ACTIONS(2803), + [anon_sym_U_SQUOTE] = ACTIONS(2803), + [anon_sym_u8_SQUOTE] = ACTIONS(2803), + [anon_sym_SQUOTE] = ACTIONS(2803), + [anon_sym_L_DQUOTE] = ACTIONS(2803), + [anon_sym_u_DQUOTE] = ACTIONS(2803), + [anon_sym_U_DQUOTE] = ACTIONS(2803), + [anon_sym_u8_DQUOTE] = ACTIONS(2803), + [anon_sym_DQUOTE] = ACTIONS(2803), + [sym_true] = ACTIONS(2801), + [sym_false] = ACTIONS(2801), + [anon_sym_NULL] = ACTIONS(2801), + [anon_sym_nullptr] = ACTIONS(2801), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2803), + [sym_auto] = ACTIONS(2801), + [anon_sym_decltype] = ACTIONS(2801), + [sym_virtual] = ACTIONS(2801), + [anon_sym_explicit] = ACTIONS(2801), + [anon_sym_typename] = ACTIONS(2801), + [anon_sym_template] = ACTIONS(2801), + [anon_sym_operator] = ACTIONS(2801), + [anon_sym_try] = ACTIONS(2801), + [anon_sym_delete] = ACTIONS(2801), + [anon_sym_throw] = ACTIONS(2801), + [anon_sym_namespace] = ACTIONS(2801), + [anon_sym_using] = ACTIONS(2801), + [anon_sym_static_assert] = ACTIONS(2801), + [anon_sym_concept] = ACTIONS(2801), + [anon_sym_co_return] = ACTIONS(2801), + [anon_sym_co_yield] = ACTIONS(2801), + [anon_sym_R_DQUOTE] = ACTIONS(2803), + [anon_sym_LR_DQUOTE] = ACTIONS(2803), + [anon_sym_uR_DQUOTE] = ACTIONS(2803), + [anon_sym_UR_DQUOTE] = ACTIONS(2803), + [anon_sym_u8R_DQUOTE] = ACTIONS(2803), + [anon_sym_co_await] = ACTIONS(2801), + [anon_sym_new] = ACTIONS(2801), + [anon_sym_requires] = ACTIONS(2801), + [sym_this] = ACTIONS(2801), + }, + [430] = { + [sym__identifier] = ACTIONS(2731), + [aux_sym_preproc_include_token1] = ACTIONS(2731), + [aux_sym_preproc_def_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token2] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2731), + [sym_preproc_directive] = ACTIONS(2731), + [anon_sym_LPAREN2] = ACTIONS(2733), + [anon_sym_BANG] = ACTIONS(2733), + [anon_sym_TILDE] = ACTIONS(2733), + [anon_sym_DASH] = ACTIONS(2731), + [anon_sym_PLUS] = ACTIONS(2731), + [anon_sym_STAR] = ACTIONS(2733), + [anon_sym_AMP_AMP] = ACTIONS(2733), + [anon_sym_AMP] = ACTIONS(2731), + [anon_sym_SEMI] = ACTIONS(2733), + [anon_sym___extension__] = ACTIONS(2731), + [anon_sym_typedef] = ACTIONS(2731), + [anon_sym_extern] = ACTIONS(2731), + [anon_sym___attribute__] = ACTIONS(2731), + [anon_sym_COLON_COLON] = ACTIONS(2733), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2733), + [anon_sym___declspec] = ACTIONS(2731), + [anon_sym___based] = ACTIONS(2731), + [anon_sym___cdecl] = ACTIONS(2731), + [anon_sym___clrcall] = ACTIONS(2731), + [anon_sym___stdcall] = ACTIONS(2731), + [anon_sym___fastcall] = ACTIONS(2731), + [anon_sym___thiscall] = ACTIONS(2731), + [anon_sym___vectorcall] = ACTIONS(2731), + [anon_sym_LBRACE] = ACTIONS(2733), + [anon_sym_signed] = ACTIONS(2731), + [anon_sym_unsigned] = ACTIONS(2731), + [anon_sym_long] = ACTIONS(2731), + [anon_sym_short] = ACTIONS(2731), + [anon_sym_LBRACK] = ACTIONS(2731), + [anon_sym_static] = ACTIONS(2731), + [anon_sym_register] = ACTIONS(2731), + [anon_sym_inline] = ACTIONS(2731), + [anon_sym___inline] = ACTIONS(2731), + [anon_sym___inline__] = ACTIONS(2731), + [anon_sym___forceinline] = ACTIONS(2731), + [anon_sym_thread_local] = ACTIONS(2731), + [anon_sym___thread] = ACTIONS(2731), + [anon_sym_const] = ACTIONS(2731), + [anon_sym_constexpr] = ACTIONS(2731), + [anon_sym_volatile] = ACTIONS(2731), + [anon_sym_restrict] = ACTIONS(2731), + [anon_sym___restrict__] = ACTIONS(2731), + [anon_sym__Atomic] = ACTIONS(2731), + [anon_sym__Noreturn] = ACTIONS(2731), + [anon_sym_noreturn] = ACTIONS(2731), + [anon_sym_mutable] = ACTIONS(2731), + [anon_sym_constinit] = ACTIONS(2731), + [anon_sym_consteval] = ACTIONS(2731), + [anon_sym_alignas] = ACTIONS(2731), + [anon_sym__Alignas] = ACTIONS(2731), + [sym_primitive_type] = ACTIONS(2731), + [anon_sym_enum] = ACTIONS(2731), + [anon_sym_class] = ACTIONS(2731), + [anon_sym_struct] = ACTIONS(2731), + [anon_sym_union] = ACTIONS(2731), + [anon_sym_if] = ACTIONS(2731), + [anon_sym_else] = ACTIONS(2731), + [anon_sym_switch] = ACTIONS(2731), + [anon_sym_case] = ACTIONS(2731), + [anon_sym_default] = ACTIONS(2731), + [anon_sym_while] = ACTIONS(2731), + [anon_sym_do] = ACTIONS(2731), + [anon_sym_for] = ACTIONS(2731), + [anon_sym_return] = ACTIONS(2731), + [anon_sym_break] = ACTIONS(2731), + [anon_sym_continue] = ACTIONS(2731), + [anon_sym_goto] = ACTIONS(2731), + [anon_sym___try] = ACTIONS(2731), + [anon_sym___leave] = ACTIONS(2731), + [anon_sym_not] = ACTIONS(2731), + [anon_sym_compl] = ACTIONS(2731), + [anon_sym_DASH_DASH] = ACTIONS(2733), + [anon_sym_PLUS_PLUS] = ACTIONS(2733), + [anon_sym_sizeof] = ACTIONS(2731), + [anon_sym___alignof__] = ACTIONS(2731), + [anon_sym___alignof] = ACTIONS(2731), + [anon_sym__alignof] = ACTIONS(2731), + [anon_sym_alignof] = ACTIONS(2731), + [anon_sym__Alignof] = ACTIONS(2731), + [anon_sym_offsetof] = ACTIONS(2731), + [anon_sym__Generic] = ACTIONS(2731), + [anon_sym_asm] = ACTIONS(2731), + [anon_sym___asm__] = ACTIONS(2731), + [sym__number_literal] = ACTIONS(2733), + [anon_sym_L_SQUOTE] = ACTIONS(2733), + [anon_sym_u_SQUOTE] = ACTIONS(2733), + [anon_sym_U_SQUOTE] = ACTIONS(2733), + [anon_sym_u8_SQUOTE] = ACTIONS(2733), + [anon_sym_SQUOTE] = ACTIONS(2733), + [anon_sym_L_DQUOTE] = ACTIONS(2733), + [anon_sym_u_DQUOTE] = ACTIONS(2733), + [anon_sym_U_DQUOTE] = ACTIONS(2733), + [anon_sym_u8_DQUOTE] = ACTIONS(2733), + [anon_sym_DQUOTE] = ACTIONS(2733), + [sym_true] = ACTIONS(2731), + [sym_false] = ACTIONS(2731), + [anon_sym_NULL] = ACTIONS(2731), + [anon_sym_nullptr] = ACTIONS(2731), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2733), + [sym_auto] = ACTIONS(2731), + [anon_sym_decltype] = ACTIONS(2731), + [sym_virtual] = ACTIONS(2731), + [anon_sym_explicit] = ACTIONS(2731), + [anon_sym_typename] = ACTIONS(2731), + [anon_sym_template] = ACTIONS(2731), + [anon_sym_operator] = ACTIONS(2731), + [anon_sym_try] = ACTIONS(2731), + [anon_sym_delete] = ACTIONS(2731), + [anon_sym_throw] = ACTIONS(2731), + [anon_sym_namespace] = ACTIONS(2731), + [anon_sym_using] = ACTIONS(2731), + [anon_sym_static_assert] = ACTIONS(2731), + [anon_sym_concept] = ACTIONS(2731), + [anon_sym_co_return] = ACTIONS(2731), + [anon_sym_co_yield] = ACTIONS(2731), + [anon_sym_R_DQUOTE] = ACTIONS(2733), + [anon_sym_LR_DQUOTE] = ACTIONS(2733), + [anon_sym_uR_DQUOTE] = ACTIONS(2733), + [anon_sym_UR_DQUOTE] = ACTIONS(2733), + [anon_sym_u8R_DQUOTE] = ACTIONS(2733), + [anon_sym_co_await] = ACTIONS(2731), + [anon_sym_new] = ACTIONS(2731), + [anon_sym_requires] = ACTIONS(2731), + [sym_this] = ACTIONS(2731), + }, + [431] = { + [sym__identifier] = ACTIONS(2715), + [aux_sym_preproc_include_token1] = ACTIONS(2715), + [aux_sym_preproc_def_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token2] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2715), + [sym_preproc_directive] = ACTIONS(2715), + [anon_sym_LPAREN2] = ACTIONS(2717), + [anon_sym_BANG] = ACTIONS(2717), + [anon_sym_TILDE] = ACTIONS(2717), + [anon_sym_DASH] = ACTIONS(2715), + [anon_sym_PLUS] = ACTIONS(2715), + [anon_sym_STAR] = ACTIONS(2717), + [anon_sym_AMP_AMP] = ACTIONS(2717), + [anon_sym_AMP] = ACTIONS(2715), + [anon_sym_SEMI] = ACTIONS(2717), + [anon_sym___extension__] = ACTIONS(2715), + [anon_sym_typedef] = ACTIONS(2715), + [anon_sym_extern] = ACTIONS(2715), + [anon_sym___attribute__] = ACTIONS(2715), + [anon_sym_COLON_COLON] = ACTIONS(2717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2717), + [anon_sym___declspec] = ACTIONS(2715), + [anon_sym___based] = ACTIONS(2715), + [anon_sym___cdecl] = ACTIONS(2715), + [anon_sym___clrcall] = ACTIONS(2715), + [anon_sym___stdcall] = ACTIONS(2715), + [anon_sym___fastcall] = ACTIONS(2715), + [anon_sym___thiscall] = ACTIONS(2715), + [anon_sym___vectorcall] = ACTIONS(2715), + [anon_sym_LBRACE] = ACTIONS(2717), + [anon_sym_signed] = ACTIONS(2715), + [anon_sym_unsigned] = ACTIONS(2715), + [anon_sym_long] = ACTIONS(2715), + [anon_sym_short] = ACTIONS(2715), + [anon_sym_LBRACK] = ACTIONS(2715), + [anon_sym_static] = ACTIONS(2715), + [anon_sym_register] = ACTIONS(2715), + [anon_sym_inline] = ACTIONS(2715), + [anon_sym___inline] = ACTIONS(2715), + [anon_sym___inline__] = ACTIONS(2715), + [anon_sym___forceinline] = ACTIONS(2715), + [anon_sym_thread_local] = ACTIONS(2715), + [anon_sym___thread] = ACTIONS(2715), + [anon_sym_const] = ACTIONS(2715), + [anon_sym_constexpr] = ACTIONS(2715), + [anon_sym_volatile] = ACTIONS(2715), + [anon_sym_restrict] = ACTIONS(2715), + [anon_sym___restrict__] = ACTIONS(2715), + [anon_sym__Atomic] = ACTIONS(2715), + [anon_sym__Noreturn] = ACTIONS(2715), + [anon_sym_noreturn] = ACTIONS(2715), + [anon_sym_mutable] = ACTIONS(2715), + [anon_sym_constinit] = ACTIONS(2715), + [anon_sym_consteval] = ACTIONS(2715), + [anon_sym_alignas] = ACTIONS(2715), + [anon_sym__Alignas] = ACTIONS(2715), + [sym_primitive_type] = ACTIONS(2715), + [anon_sym_enum] = ACTIONS(2715), + [anon_sym_class] = ACTIONS(2715), + [anon_sym_struct] = ACTIONS(2715), + [anon_sym_union] = ACTIONS(2715), + [anon_sym_if] = ACTIONS(2715), + [anon_sym_else] = ACTIONS(2715), + [anon_sym_switch] = ACTIONS(2715), + [anon_sym_case] = ACTIONS(2715), + [anon_sym_default] = ACTIONS(2715), + [anon_sym_while] = ACTIONS(2715), + [anon_sym_do] = ACTIONS(2715), + [anon_sym_for] = ACTIONS(2715), + [anon_sym_return] = ACTIONS(2715), + [anon_sym_break] = ACTIONS(2715), + [anon_sym_continue] = ACTIONS(2715), + [anon_sym_goto] = ACTIONS(2715), + [anon_sym___try] = ACTIONS(2715), + [anon_sym___leave] = ACTIONS(2715), + [anon_sym_not] = ACTIONS(2715), + [anon_sym_compl] = ACTIONS(2715), + [anon_sym_DASH_DASH] = ACTIONS(2717), + [anon_sym_PLUS_PLUS] = ACTIONS(2717), + [anon_sym_sizeof] = ACTIONS(2715), + [anon_sym___alignof__] = ACTIONS(2715), + [anon_sym___alignof] = ACTIONS(2715), + [anon_sym__alignof] = ACTIONS(2715), + [anon_sym_alignof] = ACTIONS(2715), + [anon_sym__Alignof] = ACTIONS(2715), + [anon_sym_offsetof] = ACTIONS(2715), + [anon_sym__Generic] = ACTIONS(2715), + [anon_sym_asm] = ACTIONS(2715), + [anon_sym___asm__] = ACTIONS(2715), + [sym__number_literal] = ACTIONS(2717), + [anon_sym_L_SQUOTE] = ACTIONS(2717), + [anon_sym_u_SQUOTE] = ACTIONS(2717), + [anon_sym_U_SQUOTE] = ACTIONS(2717), + [anon_sym_u8_SQUOTE] = ACTIONS(2717), + [anon_sym_SQUOTE] = ACTIONS(2717), + [anon_sym_L_DQUOTE] = ACTIONS(2717), + [anon_sym_u_DQUOTE] = ACTIONS(2717), + [anon_sym_U_DQUOTE] = ACTIONS(2717), + [anon_sym_u8_DQUOTE] = ACTIONS(2717), + [anon_sym_DQUOTE] = ACTIONS(2717), + [sym_true] = ACTIONS(2715), + [sym_false] = ACTIONS(2715), + [anon_sym_NULL] = ACTIONS(2715), + [anon_sym_nullptr] = ACTIONS(2715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2717), + [sym_auto] = ACTIONS(2715), + [anon_sym_decltype] = ACTIONS(2715), + [sym_virtual] = ACTIONS(2715), + [anon_sym_explicit] = ACTIONS(2715), + [anon_sym_typename] = ACTIONS(2715), + [anon_sym_template] = ACTIONS(2715), + [anon_sym_operator] = ACTIONS(2715), + [anon_sym_try] = ACTIONS(2715), + [anon_sym_delete] = ACTIONS(2715), + [anon_sym_throw] = ACTIONS(2715), + [anon_sym_namespace] = ACTIONS(2715), + [anon_sym_using] = ACTIONS(2715), + [anon_sym_static_assert] = ACTIONS(2715), + [anon_sym_concept] = ACTIONS(2715), + [anon_sym_co_return] = ACTIONS(2715), + [anon_sym_co_yield] = ACTIONS(2715), + [anon_sym_R_DQUOTE] = ACTIONS(2717), + [anon_sym_LR_DQUOTE] = ACTIONS(2717), + [anon_sym_uR_DQUOTE] = ACTIONS(2717), + [anon_sym_UR_DQUOTE] = ACTIONS(2717), + [anon_sym_u8R_DQUOTE] = ACTIONS(2717), + [anon_sym_co_await] = ACTIONS(2715), + [anon_sym_new] = ACTIONS(2715), + [anon_sym_requires] = ACTIONS(2715), + [sym_this] = ACTIONS(2715), + }, + [432] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [433] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [434] = { + [ts_builtin_sym_end] = ACTIONS(2819), + [sym__identifier] = ACTIONS(2817), + [aux_sym_preproc_include_token1] = ACTIONS(2817), + [aux_sym_preproc_def_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2817), + [sym_preproc_directive] = ACTIONS(2817), + [anon_sym_LPAREN2] = ACTIONS(2819), + [anon_sym_BANG] = ACTIONS(2819), + [anon_sym_TILDE] = ACTIONS(2819), + [anon_sym_DASH] = ACTIONS(2817), + [anon_sym_PLUS] = ACTIONS(2817), + [anon_sym_STAR] = ACTIONS(2819), + [anon_sym_AMP_AMP] = ACTIONS(2819), + [anon_sym_AMP] = ACTIONS(2817), + [anon_sym_SEMI] = ACTIONS(2819), + [anon_sym___extension__] = ACTIONS(2817), + [anon_sym_typedef] = ACTIONS(2817), + [anon_sym_extern] = ACTIONS(2817), + [anon_sym___attribute__] = ACTIONS(2817), + [anon_sym_COLON_COLON] = ACTIONS(2819), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2819), + [anon_sym___declspec] = ACTIONS(2817), + [anon_sym___based] = ACTIONS(2817), + [anon_sym___cdecl] = ACTIONS(2817), + [anon_sym___clrcall] = ACTIONS(2817), + [anon_sym___stdcall] = ACTIONS(2817), + [anon_sym___fastcall] = ACTIONS(2817), + [anon_sym___thiscall] = ACTIONS(2817), + [anon_sym___vectorcall] = ACTIONS(2817), + [anon_sym_LBRACE] = ACTIONS(2819), + [anon_sym_signed] = ACTIONS(2817), + [anon_sym_unsigned] = ACTIONS(2817), + [anon_sym_long] = ACTIONS(2817), + [anon_sym_short] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(2817), + [anon_sym_static] = ACTIONS(2817), + [anon_sym_register] = ACTIONS(2817), + [anon_sym_inline] = ACTIONS(2817), + [anon_sym___inline] = ACTIONS(2817), + [anon_sym___inline__] = ACTIONS(2817), + [anon_sym___forceinline] = ACTIONS(2817), + [anon_sym_thread_local] = ACTIONS(2817), + [anon_sym___thread] = ACTIONS(2817), + [anon_sym_const] = ACTIONS(2817), + [anon_sym_constexpr] = ACTIONS(2817), + [anon_sym_volatile] = ACTIONS(2817), + [anon_sym_restrict] = ACTIONS(2817), + [anon_sym___restrict__] = ACTIONS(2817), + [anon_sym__Atomic] = ACTIONS(2817), + [anon_sym__Noreturn] = ACTIONS(2817), + [anon_sym_noreturn] = ACTIONS(2817), + [anon_sym_mutable] = ACTIONS(2817), + [anon_sym_constinit] = ACTIONS(2817), + [anon_sym_consteval] = ACTIONS(2817), + [anon_sym_alignas] = ACTIONS(2817), + [anon_sym__Alignas] = ACTIONS(2817), + [sym_primitive_type] = ACTIONS(2817), + [anon_sym_enum] = ACTIONS(2817), + [anon_sym_class] = ACTIONS(2817), + [anon_sym_struct] = ACTIONS(2817), + [anon_sym_union] = ACTIONS(2817), + [anon_sym_if] = ACTIONS(2817), + [anon_sym_else] = ACTIONS(2817), + [anon_sym_switch] = ACTIONS(2817), + [anon_sym_case] = ACTIONS(2817), + [anon_sym_default] = ACTIONS(2817), + [anon_sym_while] = ACTIONS(2817), + [anon_sym_do] = ACTIONS(2817), + [anon_sym_for] = ACTIONS(2817), + [anon_sym_return] = ACTIONS(2817), + [anon_sym_break] = ACTIONS(2817), + [anon_sym_continue] = ACTIONS(2817), + [anon_sym_goto] = ACTIONS(2817), + [anon_sym___try] = ACTIONS(2817), + [anon_sym___leave] = ACTIONS(2817), + [anon_sym_not] = ACTIONS(2817), + [anon_sym_compl] = ACTIONS(2817), + [anon_sym_DASH_DASH] = ACTIONS(2819), + [anon_sym_PLUS_PLUS] = ACTIONS(2819), + [anon_sym_sizeof] = ACTIONS(2817), + [anon_sym___alignof__] = ACTIONS(2817), + [anon_sym___alignof] = ACTIONS(2817), + [anon_sym__alignof] = ACTIONS(2817), + [anon_sym_alignof] = ACTIONS(2817), + [anon_sym__Alignof] = ACTIONS(2817), + [anon_sym_offsetof] = ACTIONS(2817), + [anon_sym__Generic] = ACTIONS(2817), + [anon_sym_asm] = ACTIONS(2817), + [anon_sym___asm__] = ACTIONS(2817), + [sym__number_literal] = ACTIONS(2819), + [anon_sym_L_SQUOTE] = ACTIONS(2819), + [anon_sym_u_SQUOTE] = ACTIONS(2819), + [anon_sym_U_SQUOTE] = ACTIONS(2819), + [anon_sym_u8_SQUOTE] = ACTIONS(2819), + [anon_sym_SQUOTE] = ACTIONS(2819), + [anon_sym_L_DQUOTE] = ACTIONS(2819), + [anon_sym_u_DQUOTE] = ACTIONS(2819), + [anon_sym_U_DQUOTE] = ACTIONS(2819), + [anon_sym_u8_DQUOTE] = ACTIONS(2819), + [anon_sym_DQUOTE] = ACTIONS(2819), + [sym_true] = ACTIONS(2817), + [sym_false] = ACTIONS(2817), + [anon_sym_NULL] = ACTIONS(2817), + [anon_sym_nullptr] = ACTIONS(2817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2819), + [sym_auto] = ACTIONS(2817), + [anon_sym_decltype] = ACTIONS(2817), + [sym_virtual] = ACTIONS(2817), + [anon_sym_explicit] = ACTIONS(2817), + [anon_sym_typename] = ACTIONS(2817), + [anon_sym_template] = ACTIONS(2817), + [anon_sym_operator] = ACTIONS(2817), + [anon_sym_try] = ACTIONS(2817), + [anon_sym_delete] = ACTIONS(2817), + [anon_sym_throw] = ACTIONS(2817), + [anon_sym_namespace] = ACTIONS(2817), + [anon_sym_using] = ACTIONS(2817), + [anon_sym_static_assert] = ACTIONS(2817), + [anon_sym_concept] = ACTIONS(2817), + [anon_sym_co_return] = ACTIONS(2817), + [anon_sym_co_yield] = ACTIONS(2817), + [anon_sym_R_DQUOTE] = ACTIONS(2819), + [anon_sym_LR_DQUOTE] = ACTIONS(2819), + [anon_sym_uR_DQUOTE] = ACTIONS(2819), + [anon_sym_UR_DQUOTE] = ACTIONS(2819), + [anon_sym_u8R_DQUOTE] = ACTIONS(2819), + [anon_sym_co_await] = ACTIONS(2817), + [anon_sym_new] = ACTIONS(2817), + [anon_sym_requires] = ACTIONS(2817), + [sym_this] = ACTIONS(2817), + }, + [435] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_include_token1] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token2] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_BANG] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_DASH] = ACTIONS(2759), + [anon_sym_PLUS] = ACTIONS(2759), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym_SEMI] = ACTIONS(2761), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym___cdecl] = ACTIONS(2759), + [anon_sym___clrcall] = ACTIONS(2759), + [anon_sym___stdcall] = ACTIONS(2759), + [anon_sym___fastcall] = ACTIONS(2759), + [anon_sym___thiscall] = ACTIONS(2759), + [anon_sym___vectorcall] = ACTIONS(2759), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [anon_sym_if] = ACTIONS(2759), + [anon_sym_else] = ACTIONS(2759), + [anon_sym_switch] = ACTIONS(2759), + [anon_sym_case] = ACTIONS(2759), + [anon_sym_default] = ACTIONS(2759), + [anon_sym_while] = ACTIONS(2759), + [anon_sym_do] = ACTIONS(2759), + [anon_sym_for] = ACTIONS(2759), + [anon_sym_return] = ACTIONS(2759), + [anon_sym_break] = ACTIONS(2759), + [anon_sym_continue] = ACTIONS(2759), + [anon_sym_goto] = ACTIONS(2759), + [anon_sym___try] = ACTIONS(2759), + [anon_sym___leave] = ACTIONS(2759), + [anon_sym_not] = ACTIONS(2759), + [anon_sym_compl] = ACTIONS(2759), + [anon_sym_DASH_DASH] = ACTIONS(2761), + [anon_sym_PLUS_PLUS] = ACTIONS(2761), + [anon_sym_sizeof] = ACTIONS(2759), + [anon_sym___alignof__] = ACTIONS(2759), + [anon_sym___alignof] = ACTIONS(2759), + [anon_sym__alignof] = ACTIONS(2759), + [anon_sym_alignof] = ACTIONS(2759), + [anon_sym__Alignof] = ACTIONS(2759), + [anon_sym_offsetof] = ACTIONS(2759), + [anon_sym__Generic] = ACTIONS(2759), + [anon_sym_asm] = ACTIONS(2759), + [anon_sym___asm__] = ACTIONS(2759), + [sym__number_literal] = ACTIONS(2761), + [anon_sym_L_SQUOTE] = ACTIONS(2761), + [anon_sym_u_SQUOTE] = ACTIONS(2761), + [anon_sym_U_SQUOTE] = ACTIONS(2761), + [anon_sym_u8_SQUOTE] = ACTIONS(2761), + [anon_sym_SQUOTE] = ACTIONS(2761), + [anon_sym_L_DQUOTE] = ACTIONS(2761), + [anon_sym_u_DQUOTE] = ACTIONS(2761), + [anon_sym_U_DQUOTE] = ACTIONS(2761), + [anon_sym_u8_DQUOTE] = ACTIONS(2761), + [anon_sym_DQUOTE] = ACTIONS(2761), + [sym_true] = ACTIONS(2759), + [sym_false] = ACTIONS(2759), + [anon_sym_NULL] = ACTIONS(2759), + [anon_sym_nullptr] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_try] = ACTIONS(2759), + [anon_sym_delete] = ACTIONS(2759), + [anon_sym_throw] = ACTIONS(2759), + [anon_sym_namespace] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + [anon_sym_concept] = ACTIONS(2759), + [anon_sym_co_return] = ACTIONS(2759), + [anon_sym_co_yield] = ACTIONS(2759), + [anon_sym_R_DQUOTE] = ACTIONS(2761), + [anon_sym_LR_DQUOTE] = ACTIONS(2761), + [anon_sym_uR_DQUOTE] = ACTIONS(2761), + [anon_sym_UR_DQUOTE] = ACTIONS(2761), + [anon_sym_u8R_DQUOTE] = ACTIONS(2761), + [anon_sym_co_await] = ACTIONS(2759), + [anon_sym_new] = ACTIONS(2759), + [anon_sym_requires] = ACTIONS(2759), + [sym_this] = ACTIONS(2759), + }, + [436] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_include_token1] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_BANG] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_DASH] = ACTIONS(2759), + [anon_sym_PLUS] = ACTIONS(2759), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym_SEMI] = ACTIONS(2761), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym___cdecl] = ACTIONS(2759), + [anon_sym___clrcall] = ACTIONS(2759), + [anon_sym___stdcall] = ACTIONS(2759), + [anon_sym___fastcall] = ACTIONS(2759), + [anon_sym___thiscall] = ACTIONS(2759), + [anon_sym___vectorcall] = ACTIONS(2759), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_RBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [anon_sym_if] = ACTIONS(2759), + [anon_sym_else] = ACTIONS(2759), + [anon_sym_switch] = ACTIONS(2759), + [anon_sym_case] = ACTIONS(2759), + [anon_sym_default] = ACTIONS(2759), + [anon_sym_while] = ACTIONS(2759), + [anon_sym_do] = ACTIONS(2759), + [anon_sym_for] = ACTIONS(2759), + [anon_sym_return] = ACTIONS(2759), + [anon_sym_break] = ACTIONS(2759), + [anon_sym_continue] = ACTIONS(2759), + [anon_sym_goto] = ACTIONS(2759), + [anon_sym___try] = ACTIONS(2759), + [anon_sym___leave] = ACTIONS(2759), + [anon_sym_not] = ACTIONS(2759), + [anon_sym_compl] = ACTIONS(2759), + [anon_sym_DASH_DASH] = ACTIONS(2761), + [anon_sym_PLUS_PLUS] = ACTIONS(2761), + [anon_sym_sizeof] = ACTIONS(2759), + [anon_sym___alignof__] = ACTIONS(2759), + [anon_sym___alignof] = ACTIONS(2759), + [anon_sym__alignof] = ACTIONS(2759), + [anon_sym_alignof] = ACTIONS(2759), + [anon_sym__Alignof] = ACTIONS(2759), + [anon_sym_offsetof] = ACTIONS(2759), + [anon_sym__Generic] = ACTIONS(2759), + [anon_sym_asm] = ACTIONS(2759), + [anon_sym___asm__] = ACTIONS(2759), + [sym__number_literal] = ACTIONS(2761), + [anon_sym_L_SQUOTE] = ACTIONS(2761), + [anon_sym_u_SQUOTE] = ACTIONS(2761), + [anon_sym_U_SQUOTE] = ACTIONS(2761), + [anon_sym_u8_SQUOTE] = ACTIONS(2761), + [anon_sym_SQUOTE] = ACTIONS(2761), + [anon_sym_L_DQUOTE] = ACTIONS(2761), + [anon_sym_u_DQUOTE] = ACTIONS(2761), + [anon_sym_U_DQUOTE] = ACTIONS(2761), + [anon_sym_u8_DQUOTE] = ACTIONS(2761), + [anon_sym_DQUOTE] = ACTIONS(2761), + [sym_true] = ACTIONS(2759), + [sym_false] = ACTIONS(2759), + [anon_sym_NULL] = ACTIONS(2759), + [anon_sym_nullptr] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_try] = ACTIONS(2759), + [anon_sym_delete] = ACTIONS(2759), + [anon_sym_throw] = ACTIONS(2759), + [anon_sym_namespace] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + [anon_sym_concept] = ACTIONS(2759), + [anon_sym_co_return] = ACTIONS(2759), + [anon_sym_co_yield] = ACTIONS(2759), + [anon_sym_R_DQUOTE] = ACTIONS(2761), + [anon_sym_LR_DQUOTE] = ACTIONS(2761), + [anon_sym_uR_DQUOTE] = ACTIONS(2761), + [anon_sym_UR_DQUOTE] = ACTIONS(2761), + [anon_sym_u8R_DQUOTE] = ACTIONS(2761), + [anon_sym_co_await] = ACTIONS(2759), + [anon_sym_new] = ACTIONS(2759), + [anon_sym_requires] = ACTIONS(2759), + [sym_this] = ACTIONS(2759), + }, + [437] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_RBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [438] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_RBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [439] = { + [ts_builtin_sym_end] = ACTIONS(2803), + [sym__identifier] = ACTIONS(2801), + [aux_sym_preproc_include_token1] = ACTIONS(2801), + [aux_sym_preproc_def_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2801), + [sym_preproc_directive] = ACTIONS(2801), + [anon_sym_LPAREN2] = ACTIONS(2803), + [anon_sym_BANG] = ACTIONS(2803), + [anon_sym_TILDE] = ACTIONS(2803), + [anon_sym_DASH] = ACTIONS(2801), + [anon_sym_PLUS] = ACTIONS(2801), + [anon_sym_STAR] = ACTIONS(2803), + [anon_sym_AMP_AMP] = ACTIONS(2803), + [anon_sym_AMP] = ACTIONS(2801), + [anon_sym_SEMI] = ACTIONS(2803), + [anon_sym___extension__] = ACTIONS(2801), + [anon_sym_typedef] = ACTIONS(2801), + [anon_sym_extern] = ACTIONS(2801), + [anon_sym___attribute__] = ACTIONS(2801), + [anon_sym_COLON_COLON] = ACTIONS(2803), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2803), + [anon_sym___declspec] = ACTIONS(2801), + [anon_sym___based] = ACTIONS(2801), + [anon_sym___cdecl] = ACTIONS(2801), + [anon_sym___clrcall] = ACTIONS(2801), + [anon_sym___stdcall] = ACTIONS(2801), + [anon_sym___fastcall] = ACTIONS(2801), + [anon_sym___thiscall] = ACTIONS(2801), + [anon_sym___vectorcall] = ACTIONS(2801), + [anon_sym_LBRACE] = ACTIONS(2803), + [anon_sym_signed] = ACTIONS(2801), + [anon_sym_unsigned] = ACTIONS(2801), + [anon_sym_long] = ACTIONS(2801), + [anon_sym_short] = ACTIONS(2801), + [anon_sym_LBRACK] = ACTIONS(2801), + [anon_sym_static] = ACTIONS(2801), + [anon_sym_register] = ACTIONS(2801), + [anon_sym_inline] = ACTIONS(2801), + [anon_sym___inline] = ACTIONS(2801), + [anon_sym___inline__] = ACTIONS(2801), + [anon_sym___forceinline] = ACTIONS(2801), + [anon_sym_thread_local] = ACTIONS(2801), + [anon_sym___thread] = ACTIONS(2801), + [anon_sym_const] = ACTIONS(2801), + [anon_sym_constexpr] = ACTIONS(2801), + [anon_sym_volatile] = ACTIONS(2801), + [anon_sym_restrict] = ACTIONS(2801), + [anon_sym___restrict__] = ACTIONS(2801), + [anon_sym__Atomic] = ACTIONS(2801), + [anon_sym__Noreturn] = ACTIONS(2801), + [anon_sym_noreturn] = ACTIONS(2801), + [anon_sym_mutable] = ACTIONS(2801), + [anon_sym_constinit] = ACTIONS(2801), + [anon_sym_consteval] = ACTIONS(2801), + [anon_sym_alignas] = ACTIONS(2801), + [anon_sym__Alignas] = ACTIONS(2801), + [sym_primitive_type] = ACTIONS(2801), + [anon_sym_enum] = ACTIONS(2801), + [anon_sym_class] = ACTIONS(2801), + [anon_sym_struct] = ACTIONS(2801), + [anon_sym_union] = ACTIONS(2801), + [anon_sym_if] = ACTIONS(2801), + [anon_sym_else] = ACTIONS(2801), + [anon_sym_switch] = ACTIONS(2801), + [anon_sym_case] = ACTIONS(2801), + [anon_sym_default] = ACTIONS(2801), + [anon_sym_while] = ACTIONS(2801), + [anon_sym_do] = ACTIONS(2801), + [anon_sym_for] = ACTIONS(2801), + [anon_sym_return] = ACTIONS(2801), + [anon_sym_break] = ACTIONS(2801), + [anon_sym_continue] = ACTIONS(2801), + [anon_sym_goto] = ACTIONS(2801), + [anon_sym___try] = ACTIONS(2801), + [anon_sym___leave] = ACTIONS(2801), + [anon_sym_not] = ACTIONS(2801), + [anon_sym_compl] = ACTIONS(2801), + [anon_sym_DASH_DASH] = ACTIONS(2803), + [anon_sym_PLUS_PLUS] = ACTIONS(2803), + [anon_sym_sizeof] = ACTIONS(2801), + [anon_sym___alignof__] = ACTIONS(2801), + [anon_sym___alignof] = ACTIONS(2801), + [anon_sym__alignof] = ACTIONS(2801), + [anon_sym_alignof] = ACTIONS(2801), + [anon_sym__Alignof] = ACTIONS(2801), + [anon_sym_offsetof] = ACTIONS(2801), + [anon_sym__Generic] = ACTIONS(2801), + [anon_sym_asm] = ACTIONS(2801), + [anon_sym___asm__] = ACTIONS(2801), + [sym__number_literal] = ACTIONS(2803), + [anon_sym_L_SQUOTE] = ACTIONS(2803), + [anon_sym_u_SQUOTE] = ACTIONS(2803), + [anon_sym_U_SQUOTE] = ACTIONS(2803), + [anon_sym_u8_SQUOTE] = ACTIONS(2803), + [anon_sym_SQUOTE] = ACTIONS(2803), + [anon_sym_L_DQUOTE] = ACTIONS(2803), + [anon_sym_u_DQUOTE] = ACTIONS(2803), + [anon_sym_U_DQUOTE] = ACTIONS(2803), + [anon_sym_u8_DQUOTE] = ACTIONS(2803), + [anon_sym_DQUOTE] = ACTIONS(2803), + [sym_true] = ACTIONS(2801), + [sym_false] = ACTIONS(2801), + [anon_sym_NULL] = ACTIONS(2801), + [anon_sym_nullptr] = ACTIONS(2801), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2803), + [sym_auto] = ACTIONS(2801), + [anon_sym_decltype] = ACTIONS(2801), + [sym_virtual] = ACTIONS(2801), + [anon_sym_explicit] = ACTIONS(2801), + [anon_sym_typename] = ACTIONS(2801), + [anon_sym_template] = ACTIONS(2801), + [anon_sym_operator] = ACTIONS(2801), + [anon_sym_try] = ACTIONS(2801), + [anon_sym_delete] = ACTIONS(2801), + [anon_sym_throw] = ACTIONS(2801), + [anon_sym_namespace] = ACTIONS(2801), + [anon_sym_using] = ACTIONS(2801), + [anon_sym_static_assert] = ACTIONS(2801), + [anon_sym_concept] = ACTIONS(2801), + [anon_sym_co_return] = ACTIONS(2801), + [anon_sym_co_yield] = ACTIONS(2801), + [anon_sym_R_DQUOTE] = ACTIONS(2803), + [anon_sym_LR_DQUOTE] = ACTIONS(2803), + [anon_sym_uR_DQUOTE] = ACTIONS(2803), + [anon_sym_UR_DQUOTE] = ACTIONS(2803), + [anon_sym_u8R_DQUOTE] = ACTIONS(2803), + [anon_sym_co_await] = ACTIONS(2801), + [anon_sym_new] = ACTIONS(2801), + [anon_sym_requires] = ACTIONS(2801), + [sym_this] = ACTIONS(2801), + }, + [440] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_include_token1] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token2] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_BANG] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_DASH] = ACTIONS(2695), + [anon_sym_PLUS] = ACTIONS(2695), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym_SEMI] = ACTIONS(2697), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym___cdecl] = ACTIONS(2695), + [anon_sym___clrcall] = ACTIONS(2695), + [anon_sym___stdcall] = ACTIONS(2695), + [anon_sym___fastcall] = ACTIONS(2695), + [anon_sym___thiscall] = ACTIONS(2695), + [anon_sym___vectorcall] = ACTIONS(2695), + [anon_sym_LBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [anon_sym_if] = ACTIONS(2695), + [anon_sym_else] = ACTIONS(2695), + [anon_sym_switch] = ACTIONS(2695), + [anon_sym_case] = ACTIONS(2695), + [anon_sym_default] = ACTIONS(2695), + [anon_sym_while] = ACTIONS(2695), + [anon_sym_do] = ACTIONS(2695), + [anon_sym_for] = ACTIONS(2695), + [anon_sym_return] = ACTIONS(2695), + [anon_sym_break] = ACTIONS(2695), + [anon_sym_continue] = ACTIONS(2695), + [anon_sym_goto] = ACTIONS(2695), + [anon_sym___try] = ACTIONS(2695), + [anon_sym___leave] = ACTIONS(2695), + [anon_sym_not] = ACTIONS(2695), + [anon_sym_compl] = ACTIONS(2695), + [anon_sym_DASH_DASH] = ACTIONS(2697), + [anon_sym_PLUS_PLUS] = ACTIONS(2697), + [anon_sym_sizeof] = ACTIONS(2695), + [anon_sym___alignof__] = ACTIONS(2695), + [anon_sym___alignof] = ACTIONS(2695), + [anon_sym__alignof] = ACTIONS(2695), + [anon_sym_alignof] = ACTIONS(2695), + [anon_sym__Alignof] = ACTIONS(2695), + [anon_sym_offsetof] = ACTIONS(2695), + [anon_sym__Generic] = ACTIONS(2695), + [anon_sym_asm] = ACTIONS(2695), + [anon_sym___asm__] = ACTIONS(2695), + [sym__number_literal] = ACTIONS(2697), + [anon_sym_L_SQUOTE] = ACTIONS(2697), + [anon_sym_u_SQUOTE] = ACTIONS(2697), + [anon_sym_U_SQUOTE] = ACTIONS(2697), + [anon_sym_u8_SQUOTE] = ACTIONS(2697), + [anon_sym_SQUOTE] = ACTIONS(2697), + [anon_sym_L_DQUOTE] = ACTIONS(2697), + [anon_sym_u_DQUOTE] = ACTIONS(2697), + [anon_sym_U_DQUOTE] = ACTIONS(2697), + [anon_sym_u8_DQUOTE] = ACTIONS(2697), + [anon_sym_DQUOTE] = ACTIONS(2697), + [sym_true] = ACTIONS(2695), + [sym_false] = ACTIONS(2695), + [anon_sym_NULL] = ACTIONS(2695), + [anon_sym_nullptr] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_try] = ACTIONS(2695), + [anon_sym_delete] = ACTIONS(2695), + [anon_sym_throw] = ACTIONS(2695), + [anon_sym_namespace] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + [anon_sym_concept] = ACTIONS(2695), + [anon_sym_co_return] = ACTIONS(2695), + [anon_sym_co_yield] = ACTIONS(2695), + [anon_sym_R_DQUOTE] = ACTIONS(2697), + [anon_sym_LR_DQUOTE] = ACTIONS(2697), + [anon_sym_uR_DQUOTE] = ACTIONS(2697), + [anon_sym_UR_DQUOTE] = ACTIONS(2697), + [anon_sym_u8R_DQUOTE] = ACTIONS(2697), + [anon_sym_co_await] = ACTIONS(2695), + [anon_sym_new] = ACTIONS(2695), + [anon_sym_requires] = ACTIONS(2695), + [sym_this] = ACTIONS(2695), + }, + [441] = { + [sym__identifier] = ACTIONS(2773), + [aux_sym_preproc_include_token1] = ACTIONS(2773), + [aux_sym_preproc_def_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2773), + [sym_preproc_directive] = ACTIONS(2773), + [anon_sym_LPAREN2] = ACTIONS(2775), + [anon_sym_BANG] = ACTIONS(2775), + [anon_sym_TILDE] = ACTIONS(2775), + [anon_sym_DASH] = ACTIONS(2773), + [anon_sym_PLUS] = ACTIONS(2773), + [anon_sym_STAR] = ACTIONS(2775), + [anon_sym_AMP_AMP] = ACTIONS(2775), + [anon_sym_AMP] = ACTIONS(2773), + [anon_sym_SEMI] = ACTIONS(2775), + [anon_sym___extension__] = ACTIONS(2773), + [anon_sym_typedef] = ACTIONS(2773), + [anon_sym_extern] = ACTIONS(2773), + [anon_sym___attribute__] = ACTIONS(2773), + [anon_sym_COLON_COLON] = ACTIONS(2775), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2775), + [anon_sym___declspec] = ACTIONS(2773), + [anon_sym___based] = ACTIONS(2773), + [anon_sym___cdecl] = ACTIONS(2773), + [anon_sym___clrcall] = ACTIONS(2773), + [anon_sym___stdcall] = ACTIONS(2773), + [anon_sym___fastcall] = ACTIONS(2773), + [anon_sym___thiscall] = ACTIONS(2773), + [anon_sym___vectorcall] = ACTIONS(2773), + [anon_sym_LBRACE] = ACTIONS(2775), + [anon_sym_RBRACE] = ACTIONS(2775), + [anon_sym_signed] = ACTIONS(2773), + [anon_sym_unsigned] = ACTIONS(2773), + [anon_sym_long] = ACTIONS(2773), + [anon_sym_short] = ACTIONS(2773), + [anon_sym_LBRACK] = ACTIONS(2773), + [anon_sym_static] = ACTIONS(2773), + [anon_sym_register] = ACTIONS(2773), + [anon_sym_inline] = ACTIONS(2773), + [anon_sym___inline] = ACTIONS(2773), + [anon_sym___inline__] = ACTIONS(2773), + [anon_sym___forceinline] = ACTIONS(2773), + [anon_sym_thread_local] = ACTIONS(2773), + [anon_sym___thread] = ACTIONS(2773), + [anon_sym_const] = ACTIONS(2773), + [anon_sym_constexpr] = ACTIONS(2773), + [anon_sym_volatile] = ACTIONS(2773), + [anon_sym_restrict] = ACTIONS(2773), + [anon_sym___restrict__] = ACTIONS(2773), + [anon_sym__Atomic] = ACTIONS(2773), + [anon_sym__Noreturn] = ACTIONS(2773), + [anon_sym_noreturn] = ACTIONS(2773), + [anon_sym_mutable] = ACTIONS(2773), + [anon_sym_constinit] = ACTIONS(2773), + [anon_sym_consteval] = ACTIONS(2773), + [anon_sym_alignas] = ACTIONS(2773), + [anon_sym__Alignas] = ACTIONS(2773), + [sym_primitive_type] = ACTIONS(2773), + [anon_sym_enum] = ACTIONS(2773), + [anon_sym_class] = ACTIONS(2773), + [anon_sym_struct] = ACTIONS(2773), + [anon_sym_union] = ACTIONS(2773), + [anon_sym_if] = ACTIONS(2773), + [anon_sym_else] = ACTIONS(2773), + [anon_sym_switch] = ACTIONS(2773), + [anon_sym_case] = ACTIONS(2773), + [anon_sym_default] = ACTIONS(2773), + [anon_sym_while] = ACTIONS(2773), + [anon_sym_do] = ACTIONS(2773), + [anon_sym_for] = ACTIONS(2773), + [anon_sym_return] = ACTIONS(2773), + [anon_sym_break] = ACTIONS(2773), + [anon_sym_continue] = ACTIONS(2773), + [anon_sym_goto] = ACTIONS(2773), + [anon_sym___try] = ACTIONS(2773), + [anon_sym___leave] = ACTIONS(2773), + [anon_sym_not] = ACTIONS(2773), + [anon_sym_compl] = ACTIONS(2773), + [anon_sym_DASH_DASH] = ACTIONS(2775), + [anon_sym_PLUS_PLUS] = ACTIONS(2775), + [anon_sym_sizeof] = ACTIONS(2773), + [anon_sym___alignof__] = ACTIONS(2773), + [anon_sym___alignof] = ACTIONS(2773), + [anon_sym__alignof] = ACTIONS(2773), + [anon_sym_alignof] = ACTIONS(2773), + [anon_sym__Alignof] = ACTIONS(2773), + [anon_sym_offsetof] = ACTIONS(2773), + [anon_sym__Generic] = ACTIONS(2773), + [anon_sym_asm] = ACTIONS(2773), + [anon_sym___asm__] = ACTIONS(2773), + [sym__number_literal] = ACTIONS(2775), + [anon_sym_L_SQUOTE] = ACTIONS(2775), + [anon_sym_u_SQUOTE] = ACTIONS(2775), + [anon_sym_U_SQUOTE] = ACTIONS(2775), + [anon_sym_u8_SQUOTE] = ACTIONS(2775), + [anon_sym_SQUOTE] = ACTIONS(2775), + [anon_sym_L_DQUOTE] = ACTIONS(2775), + [anon_sym_u_DQUOTE] = ACTIONS(2775), + [anon_sym_U_DQUOTE] = ACTIONS(2775), + [anon_sym_u8_DQUOTE] = ACTIONS(2775), + [anon_sym_DQUOTE] = ACTIONS(2775), + [sym_true] = ACTIONS(2773), + [sym_false] = ACTIONS(2773), + [anon_sym_NULL] = ACTIONS(2773), + [anon_sym_nullptr] = ACTIONS(2773), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2775), + [sym_auto] = ACTIONS(2773), + [anon_sym_decltype] = ACTIONS(2773), + [sym_virtual] = ACTIONS(2773), + [anon_sym_explicit] = ACTIONS(2773), + [anon_sym_typename] = ACTIONS(2773), + [anon_sym_template] = ACTIONS(2773), + [anon_sym_operator] = ACTIONS(2773), + [anon_sym_try] = ACTIONS(2773), + [anon_sym_delete] = ACTIONS(2773), + [anon_sym_throw] = ACTIONS(2773), + [anon_sym_namespace] = ACTIONS(2773), + [anon_sym_using] = ACTIONS(2773), + [anon_sym_static_assert] = ACTIONS(2773), + [anon_sym_concept] = ACTIONS(2773), + [anon_sym_co_return] = ACTIONS(2773), + [anon_sym_co_yield] = ACTIONS(2773), + [anon_sym_R_DQUOTE] = ACTIONS(2775), + [anon_sym_LR_DQUOTE] = ACTIONS(2775), + [anon_sym_uR_DQUOTE] = ACTIONS(2775), + [anon_sym_UR_DQUOTE] = ACTIONS(2775), + [anon_sym_u8R_DQUOTE] = ACTIONS(2775), + [anon_sym_co_await] = ACTIONS(2773), + [anon_sym_new] = ACTIONS(2773), + [anon_sym_requires] = ACTIONS(2773), + [sym_this] = ACTIONS(2773), + }, + [442] = { + [sym__identifier] = ACTIONS(2723), + [aux_sym_preproc_include_token1] = ACTIONS(2723), + [aux_sym_preproc_def_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2723), + [sym_preproc_directive] = ACTIONS(2723), + [anon_sym_LPAREN2] = ACTIONS(2725), + [anon_sym_BANG] = ACTIONS(2725), + [anon_sym_TILDE] = ACTIONS(2725), + [anon_sym_DASH] = ACTIONS(2723), + [anon_sym_PLUS] = ACTIONS(2723), + [anon_sym_STAR] = ACTIONS(2725), + [anon_sym_AMP_AMP] = ACTIONS(2725), + [anon_sym_AMP] = ACTIONS(2723), + [anon_sym_SEMI] = ACTIONS(2725), + [anon_sym___extension__] = ACTIONS(2723), + [anon_sym_typedef] = ACTIONS(2723), + [anon_sym_extern] = ACTIONS(2723), + [anon_sym___attribute__] = ACTIONS(2723), + [anon_sym_COLON_COLON] = ACTIONS(2725), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2725), + [anon_sym___declspec] = ACTIONS(2723), + [anon_sym___based] = ACTIONS(2723), + [anon_sym___cdecl] = ACTIONS(2723), + [anon_sym___clrcall] = ACTIONS(2723), + [anon_sym___stdcall] = ACTIONS(2723), + [anon_sym___fastcall] = ACTIONS(2723), + [anon_sym___thiscall] = ACTIONS(2723), + [anon_sym___vectorcall] = ACTIONS(2723), + [anon_sym_LBRACE] = ACTIONS(2725), + [anon_sym_RBRACE] = ACTIONS(2725), + [anon_sym_signed] = ACTIONS(2723), + [anon_sym_unsigned] = ACTIONS(2723), + [anon_sym_long] = ACTIONS(2723), + [anon_sym_short] = ACTIONS(2723), + [anon_sym_LBRACK] = ACTIONS(2723), + [anon_sym_static] = ACTIONS(2723), + [anon_sym_register] = ACTIONS(2723), + [anon_sym_inline] = ACTIONS(2723), + [anon_sym___inline] = ACTIONS(2723), + [anon_sym___inline__] = ACTIONS(2723), + [anon_sym___forceinline] = ACTIONS(2723), + [anon_sym_thread_local] = ACTIONS(2723), + [anon_sym___thread] = ACTIONS(2723), + [anon_sym_const] = ACTIONS(2723), + [anon_sym_constexpr] = ACTIONS(2723), + [anon_sym_volatile] = ACTIONS(2723), + [anon_sym_restrict] = ACTIONS(2723), + [anon_sym___restrict__] = ACTIONS(2723), + [anon_sym__Atomic] = ACTIONS(2723), + [anon_sym__Noreturn] = ACTIONS(2723), + [anon_sym_noreturn] = ACTIONS(2723), + [anon_sym_mutable] = ACTIONS(2723), + [anon_sym_constinit] = ACTIONS(2723), + [anon_sym_consteval] = ACTIONS(2723), + [anon_sym_alignas] = ACTIONS(2723), + [anon_sym__Alignas] = ACTIONS(2723), + [sym_primitive_type] = ACTIONS(2723), + [anon_sym_enum] = ACTIONS(2723), + [anon_sym_class] = ACTIONS(2723), + [anon_sym_struct] = ACTIONS(2723), + [anon_sym_union] = ACTIONS(2723), + [anon_sym_if] = ACTIONS(2723), + [anon_sym_else] = ACTIONS(2723), + [anon_sym_switch] = ACTIONS(2723), + [anon_sym_case] = ACTIONS(2723), + [anon_sym_default] = ACTIONS(2723), + [anon_sym_while] = ACTIONS(2723), + [anon_sym_do] = ACTIONS(2723), + [anon_sym_for] = ACTIONS(2723), + [anon_sym_return] = ACTIONS(2723), + [anon_sym_break] = ACTIONS(2723), + [anon_sym_continue] = ACTIONS(2723), + [anon_sym_goto] = ACTIONS(2723), + [anon_sym___try] = ACTIONS(2723), + [anon_sym___leave] = ACTIONS(2723), + [anon_sym_not] = ACTIONS(2723), + [anon_sym_compl] = ACTIONS(2723), + [anon_sym_DASH_DASH] = ACTIONS(2725), + [anon_sym_PLUS_PLUS] = ACTIONS(2725), + [anon_sym_sizeof] = ACTIONS(2723), + [anon_sym___alignof__] = ACTIONS(2723), + [anon_sym___alignof] = ACTIONS(2723), + [anon_sym__alignof] = ACTIONS(2723), + [anon_sym_alignof] = ACTIONS(2723), + [anon_sym__Alignof] = ACTIONS(2723), + [anon_sym_offsetof] = ACTIONS(2723), + [anon_sym__Generic] = ACTIONS(2723), + [anon_sym_asm] = ACTIONS(2723), + [anon_sym___asm__] = ACTIONS(2723), + [sym__number_literal] = ACTIONS(2725), + [anon_sym_L_SQUOTE] = ACTIONS(2725), + [anon_sym_u_SQUOTE] = ACTIONS(2725), + [anon_sym_U_SQUOTE] = ACTIONS(2725), + [anon_sym_u8_SQUOTE] = ACTIONS(2725), + [anon_sym_SQUOTE] = ACTIONS(2725), + [anon_sym_L_DQUOTE] = ACTIONS(2725), + [anon_sym_u_DQUOTE] = ACTIONS(2725), + [anon_sym_U_DQUOTE] = ACTIONS(2725), + [anon_sym_u8_DQUOTE] = ACTIONS(2725), + [anon_sym_DQUOTE] = ACTIONS(2725), + [sym_true] = ACTIONS(2723), + [sym_false] = ACTIONS(2723), + [anon_sym_NULL] = ACTIONS(2723), + [anon_sym_nullptr] = ACTIONS(2723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2725), + [sym_auto] = ACTIONS(2723), + [anon_sym_decltype] = ACTIONS(2723), + [sym_virtual] = ACTIONS(2723), + [anon_sym_explicit] = ACTIONS(2723), + [anon_sym_typename] = ACTIONS(2723), + [anon_sym_template] = ACTIONS(2723), + [anon_sym_operator] = ACTIONS(2723), + [anon_sym_try] = ACTIONS(2723), + [anon_sym_delete] = ACTIONS(2723), + [anon_sym_throw] = ACTIONS(2723), + [anon_sym_namespace] = ACTIONS(2723), + [anon_sym_using] = ACTIONS(2723), + [anon_sym_static_assert] = ACTIONS(2723), + [anon_sym_concept] = ACTIONS(2723), + [anon_sym_co_return] = ACTIONS(2723), + [anon_sym_co_yield] = ACTIONS(2723), + [anon_sym_R_DQUOTE] = ACTIONS(2725), + [anon_sym_LR_DQUOTE] = ACTIONS(2725), + [anon_sym_uR_DQUOTE] = ACTIONS(2725), + [anon_sym_UR_DQUOTE] = ACTIONS(2725), + [anon_sym_u8R_DQUOTE] = ACTIONS(2725), + [anon_sym_co_await] = ACTIONS(2723), + [anon_sym_new] = ACTIONS(2723), + [anon_sym_requires] = ACTIONS(2723), + [sym_this] = ACTIONS(2723), + }, + [443] = { + [ts_builtin_sym_end] = ACTIONS(2787), + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [444] = { + [sym__identifier] = ACTIONS(2821), + [aux_sym_preproc_include_token1] = ACTIONS(2821), + [aux_sym_preproc_def_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token2] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2821), + [sym_preproc_directive] = ACTIONS(2821), + [anon_sym_LPAREN2] = ACTIONS(2823), + [anon_sym_BANG] = ACTIONS(2823), + [anon_sym_TILDE] = ACTIONS(2823), + [anon_sym_DASH] = ACTIONS(2821), + [anon_sym_PLUS] = ACTIONS(2821), + [anon_sym_STAR] = ACTIONS(2823), + [anon_sym_AMP_AMP] = ACTIONS(2823), + [anon_sym_AMP] = ACTIONS(2821), + [anon_sym_SEMI] = ACTIONS(2823), + [anon_sym___extension__] = ACTIONS(2821), + [anon_sym_typedef] = ACTIONS(2821), + [anon_sym_extern] = ACTIONS(2821), + [anon_sym___attribute__] = ACTIONS(2821), + [anon_sym_COLON_COLON] = ACTIONS(2823), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2823), + [anon_sym___declspec] = ACTIONS(2821), + [anon_sym___based] = ACTIONS(2821), + [anon_sym___cdecl] = ACTIONS(2821), + [anon_sym___clrcall] = ACTIONS(2821), + [anon_sym___stdcall] = ACTIONS(2821), + [anon_sym___fastcall] = ACTIONS(2821), + [anon_sym___thiscall] = ACTIONS(2821), + [anon_sym___vectorcall] = ACTIONS(2821), + [anon_sym_LBRACE] = ACTIONS(2823), + [anon_sym_signed] = ACTIONS(2821), + [anon_sym_unsigned] = ACTIONS(2821), + [anon_sym_long] = ACTIONS(2821), + [anon_sym_short] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(2821), + [anon_sym_static] = ACTIONS(2821), + [anon_sym_register] = ACTIONS(2821), + [anon_sym_inline] = ACTIONS(2821), + [anon_sym___inline] = ACTIONS(2821), + [anon_sym___inline__] = ACTIONS(2821), + [anon_sym___forceinline] = ACTIONS(2821), + [anon_sym_thread_local] = ACTIONS(2821), + [anon_sym___thread] = ACTIONS(2821), + [anon_sym_const] = ACTIONS(2821), + [anon_sym_constexpr] = ACTIONS(2821), + [anon_sym_volatile] = ACTIONS(2821), + [anon_sym_restrict] = ACTIONS(2821), + [anon_sym___restrict__] = ACTIONS(2821), + [anon_sym__Atomic] = ACTIONS(2821), + [anon_sym__Noreturn] = ACTIONS(2821), + [anon_sym_noreturn] = ACTIONS(2821), + [anon_sym_mutable] = ACTIONS(2821), + [anon_sym_constinit] = ACTIONS(2821), + [anon_sym_consteval] = ACTIONS(2821), + [anon_sym_alignas] = ACTIONS(2821), + [anon_sym__Alignas] = ACTIONS(2821), + [sym_primitive_type] = ACTIONS(2821), + [anon_sym_enum] = ACTIONS(2821), + [anon_sym_class] = ACTIONS(2821), + [anon_sym_struct] = ACTIONS(2821), + [anon_sym_union] = ACTIONS(2821), + [anon_sym_if] = ACTIONS(2821), + [anon_sym_else] = ACTIONS(2821), + [anon_sym_switch] = ACTIONS(2821), + [anon_sym_case] = ACTIONS(2821), + [anon_sym_default] = ACTIONS(2821), + [anon_sym_while] = ACTIONS(2821), + [anon_sym_do] = ACTIONS(2821), + [anon_sym_for] = ACTIONS(2821), + [anon_sym_return] = ACTIONS(2821), + [anon_sym_break] = ACTIONS(2821), + [anon_sym_continue] = ACTIONS(2821), + [anon_sym_goto] = ACTIONS(2821), + [anon_sym___try] = ACTIONS(2821), + [anon_sym___leave] = ACTIONS(2821), + [anon_sym_not] = ACTIONS(2821), + [anon_sym_compl] = ACTIONS(2821), + [anon_sym_DASH_DASH] = ACTIONS(2823), + [anon_sym_PLUS_PLUS] = ACTIONS(2823), + [anon_sym_sizeof] = ACTIONS(2821), + [anon_sym___alignof__] = ACTIONS(2821), + [anon_sym___alignof] = ACTIONS(2821), + [anon_sym__alignof] = ACTIONS(2821), + [anon_sym_alignof] = ACTIONS(2821), + [anon_sym__Alignof] = ACTIONS(2821), + [anon_sym_offsetof] = ACTIONS(2821), + [anon_sym__Generic] = ACTIONS(2821), + [anon_sym_asm] = ACTIONS(2821), + [anon_sym___asm__] = ACTIONS(2821), + [sym__number_literal] = ACTIONS(2823), + [anon_sym_L_SQUOTE] = ACTIONS(2823), + [anon_sym_u_SQUOTE] = ACTIONS(2823), + [anon_sym_U_SQUOTE] = ACTIONS(2823), + [anon_sym_u8_SQUOTE] = ACTIONS(2823), + [anon_sym_SQUOTE] = ACTIONS(2823), + [anon_sym_L_DQUOTE] = ACTIONS(2823), + [anon_sym_u_DQUOTE] = ACTIONS(2823), + [anon_sym_U_DQUOTE] = ACTIONS(2823), + [anon_sym_u8_DQUOTE] = ACTIONS(2823), + [anon_sym_DQUOTE] = ACTIONS(2823), + [sym_true] = ACTIONS(2821), + [sym_false] = ACTIONS(2821), + [anon_sym_NULL] = ACTIONS(2821), + [anon_sym_nullptr] = ACTIONS(2821), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2823), + [sym_auto] = ACTIONS(2821), + [anon_sym_decltype] = ACTIONS(2821), + [sym_virtual] = ACTIONS(2821), + [anon_sym_explicit] = ACTIONS(2821), + [anon_sym_typename] = ACTIONS(2821), + [anon_sym_template] = ACTIONS(2821), + [anon_sym_operator] = ACTIONS(2821), + [anon_sym_try] = ACTIONS(2821), + [anon_sym_delete] = ACTIONS(2821), + [anon_sym_throw] = ACTIONS(2821), + [anon_sym_namespace] = ACTIONS(2821), + [anon_sym_using] = ACTIONS(2821), + [anon_sym_static_assert] = ACTIONS(2821), + [anon_sym_concept] = ACTIONS(2821), + [anon_sym_co_return] = ACTIONS(2821), + [anon_sym_co_yield] = ACTIONS(2821), + [anon_sym_R_DQUOTE] = ACTIONS(2823), + [anon_sym_LR_DQUOTE] = ACTIONS(2823), + [anon_sym_uR_DQUOTE] = ACTIONS(2823), + [anon_sym_UR_DQUOTE] = ACTIONS(2823), + [anon_sym_u8R_DQUOTE] = ACTIONS(2823), + [anon_sym_co_await] = ACTIONS(2821), + [anon_sym_new] = ACTIONS(2821), + [anon_sym_requires] = ACTIONS(2821), + [sym_this] = ACTIONS(2821), + }, + [445] = { + [ts_builtin_sym_end] = ACTIONS(2807), + [sym__identifier] = ACTIONS(2805), + [aux_sym_preproc_include_token1] = ACTIONS(2805), + [aux_sym_preproc_def_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2805), + [sym_preproc_directive] = ACTIONS(2805), + [anon_sym_LPAREN2] = ACTIONS(2807), + [anon_sym_BANG] = ACTIONS(2807), + [anon_sym_TILDE] = ACTIONS(2807), + [anon_sym_DASH] = ACTIONS(2805), + [anon_sym_PLUS] = ACTIONS(2805), + [anon_sym_STAR] = ACTIONS(2807), + [anon_sym_AMP_AMP] = ACTIONS(2807), + [anon_sym_AMP] = ACTIONS(2805), + [anon_sym_SEMI] = ACTIONS(2807), + [anon_sym___extension__] = ACTIONS(2805), + [anon_sym_typedef] = ACTIONS(2805), + [anon_sym_extern] = ACTIONS(2805), + [anon_sym___attribute__] = ACTIONS(2805), + [anon_sym_COLON_COLON] = ACTIONS(2807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2807), + [anon_sym___declspec] = ACTIONS(2805), + [anon_sym___based] = ACTIONS(2805), + [anon_sym___cdecl] = ACTIONS(2805), + [anon_sym___clrcall] = ACTIONS(2805), + [anon_sym___stdcall] = ACTIONS(2805), + [anon_sym___fastcall] = ACTIONS(2805), + [anon_sym___thiscall] = ACTIONS(2805), + [anon_sym___vectorcall] = ACTIONS(2805), + [anon_sym_LBRACE] = ACTIONS(2807), + [anon_sym_signed] = ACTIONS(2805), + [anon_sym_unsigned] = ACTIONS(2805), + [anon_sym_long] = ACTIONS(2805), + [anon_sym_short] = ACTIONS(2805), + [anon_sym_LBRACK] = ACTIONS(2805), + [anon_sym_static] = ACTIONS(2805), + [anon_sym_register] = ACTIONS(2805), + [anon_sym_inline] = ACTIONS(2805), + [anon_sym___inline] = ACTIONS(2805), + [anon_sym___inline__] = ACTIONS(2805), + [anon_sym___forceinline] = ACTIONS(2805), + [anon_sym_thread_local] = ACTIONS(2805), + [anon_sym___thread] = ACTIONS(2805), + [anon_sym_const] = ACTIONS(2805), + [anon_sym_constexpr] = ACTIONS(2805), + [anon_sym_volatile] = ACTIONS(2805), + [anon_sym_restrict] = ACTIONS(2805), + [anon_sym___restrict__] = ACTIONS(2805), + [anon_sym__Atomic] = ACTIONS(2805), + [anon_sym__Noreturn] = ACTIONS(2805), + [anon_sym_noreturn] = ACTIONS(2805), + [anon_sym_mutable] = ACTIONS(2805), + [anon_sym_constinit] = ACTIONS(2805), + [anon_sym_consteval] = ACTIONS(2805), + [anon_sym_alignas] = ACTIONS(2805), + [anon_sym__Alignas] = ACTIONS(2805), + [sym_primitive_type] = ACTIONS(2805), + [anon_sym_enum] = ACTIONS(2805), + [anon_sym_class] = ACTIONS(2805), + [anon_sym_struct] = ACTIONS(2805), + [anon_sym_union] = ACTIONS(2805), + [anon_sym_if] = ACTIONS(2805), + [anon_sym_else] = ACTIONS(2805), + [anon_sym_switch] = ACTIONS(2805), + [anon_sym_case] = ACTIONS(2805), + [anon_sym_default] = ACTIONS(2805), + [anon_sym_while] = ACTIONS(2805), + [anon_sym_do] = ACTIONS(2805), + [anon_sym_for] = ACTIONS(2805), + [anon_sym_return] = ACTIONS(2805), + [anon_sym_break] = ACTIONS(2805), + [anon_sym_continue] = ACTIONS(2805), + [anon_sym_goto] = ACTIONS(2805), + [anon_sym___try] = ACTIONS(2805), + [anon_sym___leave] = ACTIONS(2805), + [anon_sym_not] = ACTIONS(2805), + [anon_sym_compl] = ACTIONS(2805), + [anon_sym_DASH_DASH] = ACTIONS(2807), + [anon_sym_PLUS_PLUS] = ACTIONS(2807), + [anon_sym_sizeof] = ACTIONS(2805), + [anon_sym___alignof__] = ACTIONS(2805), + [anon_sym___alignof] = ACTIONS(2805), + [anon_sym__alignof] = ACTIONS(2805), + [anon_sym_alignof] = ACTIONS(2805), + [anon_sym__Alignof] = ACTIONS(2805), + [anon_sym_offsetof] = ACTIONS(2805), + [anon_sym__Generic] = ACTIONS(2805), + [anon_sym_asm] = ACTIONS(2805), + [anon_sym___asm__] = ACTIONS(2805), + [sym__number_literal] = ACTIONS(2807), + [anon_sym_L_SQUOTE] = ACTIONS(2807), + [anon_sym_u_SQUOTE] = ACTIONS(2807), + [anon_sym_U_SQUOTE] = ACTIONS(2807), + [anon_sym_u8_SQUOTE] = ACTIONS(2807), + [anon_sym_SQUOTE] = ACTIONS(2807), + [anon_sym_L_DQUOTE] = ACTIONS(2807), + [anon_sym_u_DQUOTE] = ACTIONS(2807), + [anon_sym_U_DQUOTE] = ACTIONS(2807), + [anon_sym_u8_DQUOTE] = ACTIONS(2807), + [anon_sym_DQUOTE] = ACTIONS(2807), + [sym_true] = ACTIONS(2805), + [sym_false] = ACTIONS(2805), + [anon_sym_NULL] = ACTIONS(2805), + [anon_sym_nullptr] = ACTIONS(2805), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2807), + [sym_auto] = ACTIONS(2805), + [anon_sym_decltype] = ACTIONS(2805), + [sym_virtual] = ACTIONS(2805), + [anon_sym_explicit] = ACTIONS(2805), + [anon_sym_typename] = ACTIONS(2805), + [anon_sym_template] = ACTIONS(2805), + [anon_sym_operator] = ACTIONS(2805), + [anon_sym_try] = ACTIONS(2805), + [anon_sym_delete] = ACTIONS(2805), + [anon_sym_throw] = ACTIONS(2805), + [anon_sym_namespace] = ACTIONS(2805), + [anon_sym_using] = ACTIONS(2805), + [anon_sym_static_assert] = ACTIONS(2805), + [anon_sym_concept] = ACTIONS(2805), + [anon_sym_co_return] = ACTIONS(2805), + [anon_sym_co_yield] = ACTIONS(2805), + [anon_sym_R_DQUOTE] = ACTIONS(2807), + [anon_sym_LR_DQUOTE] = ACTIONS(2807), + [anon_sym_uR_DQUOTE] = ACTIONS(2807), + [anon_sym_UR_DQUOTE] = ACTIONS(2807), + [anon_sym_u8R_DQUOTE] = ACTIONS(2807), + [anon_sym_co_await] = ACTIONS(2805), + [anon_sym_new] = ACTIONS(2805), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2805), + }, + [446] = { + [ts_builtin_sym_end] = ACTIONS(2787), + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [447] = { + [ts_builtin_sym_end] = ACTIONS(2637), + [sym__identifier] = ACTIONS(2632), + [aux_sym_preproc_include_token1] = ACTIONS(2632), + [aux_sym_preproc_def_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2632), + [sym_preproc_directive] = ACTIONS(2632), + [anon_sym_LPAREN2] = ACTIONS(2637), + [anon_sym_BANG] = ACTIONS(2637), + [anon_sym_TILDE] = ACTIONS(2637), + [anon_sym_DASH] = ACTIONS(2632), + [anon_sym_PLUS] = ACTIONS(2632), + [anon_sym_STAR] = ACTIONS(2637), + [anon_sym_AMP_AMP] = ACTIONS(2637), + [anon_sym_AMP] = ACTIONS(2632), + [anon_sym_SEMI] = ACTIONS(2637), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_typedef] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym___based] = ACTIONS(2632), + [anon_sym___cdecl] = ACTIONS(2632), + [anon_sym___clrcall] = ACTIONS(2632), + [anon_sym___stdcall] = ACTIONS(2632), + [anon_sym___fastcall] = ACTIONS(2632), + [anon_sym___thiscall] = ACTIONS(2632), + [anon_sym___vectorcall] = ACTIONS(2632), + [anon_sym_LBRACE] = ACTIONS(2637), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(2632), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2632), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_if] = ACTIONS(2632), + [anon_sym_else] = ACTIONS(2632), + [anon_sym_switch] = ACTIONS(2632), + [anon_sym_case] = ACTIONS(2632), + [anon_sym_default] = ACTIONS(2632), + [anon_sym_while] = ACTIONS(2632), + [anon_sym_do] = ACTIONS(2632), + [anon_sym_for] = ACTIONS(2632), + [anon_sym_return] = ACTIONS(2632), + [anon_sym_break] = ACTIONS(2632), + [anon_sym_continue] = ACTIONS(2632), + [anon_sym_goto] = ACTIONS(2632), + [anon_sym___try] = ACTIONS(2632), + [anon_sym___leave] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(2632), + [anon_sym_compl] = ACTIONS(2632), + [anon_sym_DASH_DASH] = ACTIONS(2637), + [anon_sym_PLUS_PLUS] = ACTIONS(2637), + [anon_sym_sizeof] = ACTIONS(2632), + [anon_sym___alignof__] = ACTIONS(2632), + [anon_sym___alignof] = ACTIONS(2632), + [anon_sym__alignof] = ACTIONS(2632), + [anon_sym_alignof] = ACTIONS(2632), + [anon_sym__Alignof] = ACTIONS(2632), + [anon_sym_offsetof] = ACTIONS(2632), + [anon_sym__Generic] = ACTIONS(2632), + [anon_sym_asm] = ACTIONS(2632), + [anon_sym___asm__] = ACTIONS(2632), + [sym__number_literal] = ACTIONS(2637), + [anon_sym_L_SQUOTE] = ACTIONS(2637), + [anon_sym_u_SQUOTE] = ACTIONS(2637), + [anon_sym_U_SQUOTE] = ACTIONS(2637), + [anon_sym_u8_SQUOTE] = ACTIONS(2637), + [anon_sym_SQUOTE] = ACTIONS(2637), + [anon_sym_L_DQUOTE] = ACTIONS(2637), + [anon_sym_u_DQUOTE] = ACTIONS(2637), + [anon_sym_U_DQUOTE] = ACTIONS(2637), + [anon_sym_u8_DQUOTE] = ACTIONS(2637), + [anon_sym_DQUOTE] = ACTIONS(2637), + [sym_true] = ACTIONS(2632), + [sym_false] = ACTIONS(2632), + [anon_sym_NULL] = ACTIONS(2632), + [anon_sym_nullptr] = ACTIONS(2632), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2637), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2632), + [sym_virtual] = ACTIONS(2632), + [anon_sym_explicit] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2632), + [anon_sym_operator] = ACTIONS(2632), + [anon_sym_try] = ACTIONS(2632), + [anon_sym_delete] = ACTIONS(2632), + [anon_sym_throw] = ACTIONS(2632), + [anon_sym_namespace] = ACTIONS(2632), + [anon_sym_using] = ACTIONS(2632), + [anon_sym_static_assert] = ACTIONS(2632), + [anon_sym_concept] = ACTIONS(2632), + [anon_sym_co_return] = ACTIONS(2632), + [anon_sym_co_yield] = ACTIONS(2632), + [anon_sym_R_DQUOTE] = ACTIONS(2637), + [anon_sym_LR_DQUOTE] = ACTIONS(2637), + [anon_sym_uR_DQUOTE] = ACTIONS(2637), + [anon_sym_UR_DQUOTE] = ACTIONS(2637), + [anon_sym_u8R_DQUOTE] = ACTIONS(2637), + [anon_sym_co_await] = ACTIONS(2632), + [anon_sym_new] = ACTIONS(2632), + [anon_sym_requires] = ACTIONS(2632), + [sym_this] = ACTIONS(2632), + }, + [448] = { + [ts_builtin_sym_end] = ACTIONS(2589), + [sym__identifier] = ACTIONS(2584), + [aux_sym_preproc_include_token1] = ACTIONS(2584), + [aux_sym_preproc_def_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2584), + [sym_preproc_directive] = ACTIONS(2584), + [anon_sym_LPAREN2] = ACTIONS(2589), + [anon_sym_BANG] = ACTIONS(2589), + [anon_sym_TILDE] = ACTIONS(2589), + [anon_sym_DASH] = ACTIONS(2584), + [anon_sym_PLUS] = ACTIONS(2584), + [anon_sym_STAR] = ACTIONS(2589), + [anon_sym_AMP_AMP] = ACTIONS(2589), + [anon_sym_AMP] = ACTIONS(2584), + [anon_sym_SEMI] = ACTIONS(2589), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_typedef] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2589), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym___based] = ACTIONS(2584), + [anon_sym___cdecl] = ACTIONS(2584), + [anon_sym___clrcall] = ACTIONS(2584), + [anon_sym___stdcall] = ACTIONS(2584), + [anon_sym___fastcall] = ACTIONS(2584), + [anon_sym___thiscall] = ACTIONS(2584), + [anon_sym___vectorcall] = ACTIONS(2584), + [anon_sym_LBRACE] = ACTIONS(2589), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(2584), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2584), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_if] = ACTIONS(2584), + [anon_sym_else] = ACTIONS(2584), + [anon_sym_switch] = ACTIONS(2584), + [anon_sym_case] = ACTIONS(2584), + [anon_sym_default] = ACTIONS(2584), + [anon_sym_while] = ACTIONS(2584), + [anon_sym_do] = ACTIONS(2584), + [anon_sym_for] = ACTIONS(2584), + [anon_sym_return] = ACTIONS(2584), + [anon_sym_break] = ACTIONS(2584), + [anon_sym_continue] = ACTIONS(2584), + [anon_sym_goto] = ACTIONS(2584), + [anon_sym___try] = ACTIONS(2584), + [anon_sym___leave] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(2584), + [anon_sym_compl] = ACTIONS(2584), + [anon_sym_DASH_DASH] = ACTIONS(2589), + [anon_sym_PLUS_PLUS] = ACTIONS(2589), + [anon_sym_sizeof] = ACTIONS(2584), + [anon_sym___alignof__] = ACTIONS(2584), + [anon_sym___alignof] = ACTIONS(2584), + [anon_sym__alignof] = ACTIONS(2584), + [anon_sym_alignof] = ACTIONS(2584), + [anon_sym__Alignof] = ACTIONS(2584), + [anon_sym_offsetof] = ACTIONS(2584), + [anon_sym__Generic] = ACTIONS(2584), + [anon_sym_asm] = ACTIONS(2584), + [anon_sym___asm__] = ACTIONS(2584), + [sym__number_literal] = ACTIONS(2589), + [anon_sym_L_SQUOTE] = ACTIONS(2589), + [anon_sym_u_SQUOTE] = ACTIONS(2589), + [anon_sym_U_SQUOTE] = ACTIONS(2589), + [anon_sym_u8_SQUOTE] = ACTIONS(2589), + [anon_sym_SQUOTE] = ACTIONS(2589), + [anon_sym_L_DQUOTE] = ACTIONS(2589), + [anon_sym_u_DQUOTE] = ACTIONS(2589), + [anon_sym_U_DQUOTE] = ACTIONS(2589), + [anon_sym_u8_DQUOTE] = ACTIONS(2589), + [anon_sym_DQUOTE] = ACTIONS(2589), + [sym_true] = ACTIONS(2584), + [sym_false] = ACTIONS(2584), + [anon_sym_NULL] = ACTIONS(2584), + [anon_sym_nullptr] = ACTIONS(2584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2589), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2584), + [sym_virtual] = ACTIONS(2584), + [anon_sym_explicit] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2584), + [anon_sym_operator] = ACTIONS(2584), + [anon_sym_try] = ACTIONS(2584), + [anon_sym_delete] = ACTIONS(2584), + [anon_sym_throw] = ACTIONS(2584), + [anon_sym_namespace] = ACTIONS(2584), + [anon_sym_using] = ACTIONS(2584), + [anon_sym_static_assert] = ACTIONS(2584), + [anon_sym_concept] = ACTIONS(2584), + [anon_sym_co_return] = ACTIONS(2584), + [anon_sym_co_yield] = ACTIONS(2584), + [anon_sym_R_DQUOTE] = ACTIONS(2589), + [anon_sym_LR_DQUOTE] = ACTIONS(2589), + [anon_sym_uR_DQUOTE] = ACTIONS(2589), + [anon_sym_UR_DQUOTE] = ACTIONS(2589), + [anon_sym_u8R_DQUOTE] = ACTIONS(2589), + [anon_sym_co_await] = ACTIONS(2584), + [anon_sym_new] = ACTIONS(2584), + [anon_sym_requires] = ACTIONS(2584), + [sym_this] = ACTIONS(2584), + }, + [449] = { + [ts_builtin_sym_end] = ACTIONS(2713), + [sym__identifier] = ACTIONS(2711), + [aux_sym_preproc_include_token1] = ACTIONS(2711), + [aux_sym_preproc_def_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2711), + [sym_preproc_directive] = ACTIONS(2711), + [anon_sym_LPAREN2] = ACTIONS(2713), + [anon_sym_BANG] = ACTIONS(2713), + [anon_sym_TILDE] = ACTIONS(2713), + [anon_sym_DASH] = ACTIONS(2711), + [anon_sym_PLUS] = ACTIONS(2711), + [anon_sym_STAR] = ACTIONS(2713), + [anon_sym_AMP_AMP] = ACTIONS(2713), + [anon_sym_AMP] = ACTIONS(2711), + [anon_sym_SEMI] = ACTIONS(2713), + [anon_sym___extension__] = ACTIONS(2711), + [anon_sym_typedef] = ACTIONS(2711), + [anon_sym_extern] = ACTIONS(2711), + [anon_sym___attribute__] = ACTIONS(2711), + [anon_sym_COLON_COLON] = ACTIONS(2713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2713), + [anon_sym___declspec] = ACTIONS(2711), + [anon_sym___based] = ACTIONS(2711), + [anon_sym___cdecl] = ACTIONS(2711), + [anon_sym___clrcall] = ACTIONS(2711), + [anon_sym___stdcall] = ACTIONS(2711), + [anon_sym___fastcall] = ACTIONS(2711), + [anon_sym___thiscall] = ACTIONS(2711), + [anon_sym___vectorcall] = ACTIONS(2711), + [anon_sym_LBRACE] = ACTIONS(2713), + [anon_sym_signed] = ACTIONS(2711), + [anon_sym_unsigned] = ACTIONS(2711), + [anon_sym_long] = ACTIONS(2711), + [anon_sym_short] = ACTIONS(2711), + [anon_sym_LBRACK] = ACTIONS(2711), + [anon_sym_static] = ACTIONS(2711), + [anon_sym_register] = ACTIONS(2711), + [anon_sym_inline] = ACTIONS(2711), + [anon_sym___inline] = ACTIONS(2711), + [anon_sym___inline__] = ACTIONS(2711), + [anon_sym___forceinline] = ACTIONS(2711), + [anon_sym_thread_local] = ACTIONS(2711), + [anon_sym___thread] = ACTIONS(2711), + [anon_sym_const] = ACTIONS(2711), + [anon_sym_constexpr] = ACTIONS(2711), + [anon_sym_volatile] = ACTIONS(2711), + [anon_sym_restrict] = ACTIONS(2711), + [anon_sym___restrict__] = ACTIONS(2711), + [anon_sym__Atomic] = ACTIONS(2711), + [anon_sym__Noreturn] = ACTIONS(2711), + [anon_sym_noreturn] = ACTIONS(2711), + [anon_sym_mutable] = ACTIONS(2711), + [anon_sym_constinit] = ACTIONS(2711), + [anon_sym_consteval] = ACTIONS(2711), + [anon_sym_alignas] = ACTIONS(2711), + [anon_sym__Alignas] = ACTIONS(2711), + [sym_primitive_type] = ACTIONS(2711), + [anon_sym_enum] = ACTIONS(2711), + [anon_sym_class] = ACTIONS(2711), + [anon_sym_struct] = ACTIONS(2711), + [anon_sym_union] = ACTIONS(2711), + [anon_sym_if] = ACTIONS(2711), + [anon_sym_else] = ACTIONS(2711), + [anon_sym_switch] = ACTIONS(2711), + [anon_sym_case] = ACTIONS(2711), + [anon_sym_default] = ACTIONS(2711), + [anon_sym_while] = ACTIONS(2711), + [anon_sym_do] = ACTIONS(2711), + [anon_sym_for] = ACTIONS(2711), + [anon_sym_return] = ACTIONS(2711), + [anon_sym_break] = ACTIONS(2711), + [anon_sym_continue] = ACTIONS(2711), + [anon_sym_goto] = ACTIONS(2711), + [anon_sym___try] = ACTIONS(2711), + [anon_sym___leave] = ACTIONS(2711), + [anon_sym_not] = ACTIONS(2711), + [anon_sym_compl] = ACTIONS(2711), + [anon_sym_DASH_DASH] = ACTIONS(2713), + [anon_sym_PLUS_PLUS] = ACTIONS(2713), + [anon_sym_sizeof] = ACTIONS(2711), + [anon_sym___alignof__] = ACTIONS(2711), + [anon_sym___alignof] = ACTIONS(2711), + [anon_sym__alignof] = ACTIONS(2711), + [anon_sym_alignof] = ACTIONS(2711), + [anon_sym__Alignof] = ACTIONS(2711), + [anon_sym_offsetof] = ACTIONS(2711), + [anon_sym__Generic] = ACTIONS(2711), + [anon_sym_asm] = ACTIONS(2711), + [anon_sym___asm__] = ACTIONS(2711), + [sym__number_literal] = ACTIONS(2713), + [anon_sym_L_SQUOTE] = ACTIONS(2713), + [anon_sym_u_SQUOTE] = ACTIONS(2713), + [anon_sym_U_SQUOTE] = ACTIONS(2713), + [anon_sym_u8_SQUOTE] = ACTIONS(2713), + [anon_sym_SQUOTE] = ACTIONS(2713), + [anon_sym_L_DQUOTE] = ACTIONS(2713), + [anon_sym_u_DQUOTE] = ACTIONS(2713), + [anon_sym_U_DQUOTE] = ACTIONS(2713), + [anon_sym_u8_DQUOTE] = ACTIONS(2713), + [anon_sym_DQUOTE] = ACTIONS(2713), + [sym_true] = ACTIONS(2711), + [sym_false] = ACTIONS(2711), + [anon_sym_NULL] = ACTIONS(2711), + [anon_sym_nullptr] = ACTIONS(2711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2713), + [sym_auto] = ACTIONS(2711), + [anon_sym_decltype] = ACTIONS(2711), + [sym_virtual] = ACTIONS(2711), + [anon_sym_explicit] = ACTIONS(2711), + [anon_sym_typename] = ACTIONS(2711), + [anon_sym_template] = ACTIONS(2711), + [anon_sym_operator] = ACTIONS(2711), + [anon_sym_try] = ACTIONS(2711), + [anon_sym_delete] = ACTIONS(2711), + [anon_sym_throw] = ACTIONS(2711), + [anon_sym_namespace] = ACTIONS(2711), + [anon_sym_using] = ACTIONS(2711), + [anon_sym_static_assert] = ACTIONS(2711), + [anon_sym_concept] = ACTIONS(2711), + [anon_sym_co_return] = ACTIONS(2711), + [anon_sym_co_yield] = ACTIONS(2711), + [anon_sym_R_DQUOTE] = ACTIONS(2713), + [anon_sym_LR_DQUOTE] = ACTIONS(2713), + [anon_sym_uR_DQUOTE] = ACTIONS(2713), + [anon_sym_UR_DQUOTE] = ACTIONS(2713), + [anon_sym_u8R_DQUOTE] = ACTIONS(2713), + [anon_sym_co_await] = ACTIONS(2711), + [anon_sym_new] = ACTIONS(2711), + [anon_sym_requires] = ACTIONS(2711), + [sym_this] = ACTIONS(2711), + }, + [450] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_include_token1] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token2] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_BANG] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_DASH] = ACTIONS(2781), + [anon_sym_PLUS] = ACTIONS(2781), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym_SEMI] = ACTIONS(2783), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym___cdecl] = ACTIONS(2781), + [anon_sym___clrcall] = ACTIONS(2781), + [anon_sym___stdcall] = ACTIONS(2781), + [anon_sym___fastcall] = ACTIONS(2781), + [anon_sym___thiscall] = ACTIONS(2781), + [anon_sym___vectorcall] = ACTIONS(2781), + [anon_sym_LBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [anon_sym_if] = ACTIONS(2781), + [anon_sym_else] = ACTIONS(2781), + [anon_sym_switch] = ACTIONS(2781), + [anon_sym_case] = ACTIONS(2781), + [anon_sym_default] = ACTIONS(2781), + [anon_sym_while] = ACTIONS(2781), + [anon_sym_do] = ACTIONS(2781), + [anon_sym_for] = ACTIONS(2781), + [anon_sym_return] = ACTIONS(2781), + [anon_sym_break] = ACTIONS(2781), + [anon_sym_continue] = ACTIONS(2781), + [anon_sym_goto] = ACTIONS(2781), + [anon_sym___try] = ACTIONS(2781), + [anon_sym___leave] = ACTIONS(2781), + [anon_sym_not] = ACTIONS(2781), + [anon_sym_compl] = ACTIONS(2781), + [anon_sym_DASH_DASH] = ACTIONS(2783), + [anon_sym_PLUS_PLUS] = ACTIONS(2783), + [anon_sym_sizeof] = ACTIONS(2781), + [anon_sym___alignof__] = ACTIONS(2781), + [anon_sym___alignof] = ACTIONS(2781), + [anon_sym__alignof] = ACTIONS(2781), + [anon_sym_alignof] = ACTIONS(2781), + [anon_sym__Alignof] = ACTIONS(2781), + [anon_sym_offsetof] = ACTIONS(2781), + [anon_sym__Generic] = ACTIONS(2781), + [anon_sym_asm] = ACTIONS(2781), + [anon_sym___asm__] = ACTIONS(2781), + [sym__number_literal] = ACTIONS(2783), + [anon_sym_L_SQUOTE] = ACTIONS(2783), + [anon_sym_u_SQUOTE] = ACTIONS(2783), + [anon_sym_U_SQUOTE] = ACTIONS(2783), + [anon_sym_u8_SQUOTE] = ACTIONS(2783), + [anon_sym_SQUOTE] = ACTIONS(2783), + [anon_sym_L_DQUOTE] = ACTIONS(2783), + [anon_sym_u_DQUOTE] = ACTIONS(2783), + [anon_sym_U_DQUOTE] = ACTIONS(2783), + [anon_sym_u8_DQUOTE] = ACTIONS(2783), + [anon_sym_DQUOTE] = ACTIONS(2783), + [sym_true] = ACTIONS(2781), + [sym_false] = ACTIONS(2781), + [anon_sym_NULL] = ACTIONS(2781), + [anon_sym_nullptr] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_try] = ACTIONS(2781), + [anon_sym_delete] = ACTIONS(2781), + [anon_sym_throw] = ACTIONS(2781), + [anon_sym_namespace] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + [anon_sym_concept] = ACTIONS(2781), + [anon_sym_co_return] = ACTIONS(2781), + [anon_sym_co_yield] = ACTIONS(2781), + [anon_sym_R_DQUOTE] = ACTIONS(2783), + [anon_sym_LR_DQUOTE] = ACTIONS(2783), + [anon_sym_uR_DQUOTE] = ACTIONS(2783), + [anon_sym_UR_DQUOTE] = ACTIONS(2783), + [anon_sym_u8R_DQUOTE] = ACTIONS(2783), + [anon_sym_co_await] = ACTIONS(2781), + [anon_sym_new] = ACTIONS(2781), + [anon_sym_requires] = ACTIONS(2781), + [sym_this] = ACTIONS(2781), + }, + [451] = { + [ts_builtin_sym_end] = ACTIONS(2779), + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [452] = { + [sym__identifier] = ACTIONS(2699), + [aux_sym_preproc_include_token1] = ACTIONS(2699), + [aux_sym_preproc_def_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2699), + [sym_preproc_directive] = ACTIONS(2699), + [anon_sym_LPAREN2] = ACTIONS(2701), + [anon_sym_BANG] = ACTIONS(2701), + [anon_sym_TILDE] = ACTIONS(2701), + [anon_sym_DASH] = ACTIONS(2699), + [anon_sym_PLUS] = ACTIONS(2699), + [anon_sym_STAR] = ACTIONS(2701), + [anon_sym_AMP_AMP] = ACTIONS(2701), + [anon_sym_AMP] = ACTIONS(2699), + [anon_sym_SEMI] = ACTIONS(2701), + [anon_sym___extension__] = ACTIONS(2699), + [anon_sym_typedef] = ACTIONS(2699), + [anon_sym_extern] = ACTIONS(2699), + [anon_sym___attribute__] = ACTIONS(2699), + [anon_sym_COLON_COLON] = ACTIONS(2701), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2701), + [anon_sym___declspec] = ACTIONS(2699), + [anon_sym___based] = ACTIONS(2699), + [anon_sym___cdecl] = ACTIONS(2699), + [anon_sym___clrcall] = ACTIONS(2699), + [anon_sym___stdcall] = ACTIONS(2699), + [anon_sym___fastcall] = ACTIONS(2699), + [anon_sym___thiscall] = ACTIONS(2699), + [anon_sym___vectorcall] = ACTIONS(2699), + [anon_sym_LBRACE] = ACTIONS(2701), + [anon_sym_RBRACE] = ACTIONS(2701), + [anon_sym_signed] = ACTIONS(2699), + [anon_sym_unsigned] = ACTIONS(2699), + [anon_sym_long] = ACTIONS(2699), + [anon_sym_short] = ACTIONS(2699), + [anon_sym_LBRACK] = ACTIONS(2699), + [anon_sym_static] = ACTIONS(2699), + [anon_sym_register] = ACTIONS(2699), + [anon_sym_inline] = ACTIONS(2699), + [anon_sym___inline] = ACTIONS(2699), + [anon_sym___inline__] = ACTIONS(2699), + [anon_sym___forceinline] = ACTIONS(2699), + [anon_sym_thread_local] = ACTIONS(2699), + [anon_sym___thread] = ACTIONS(2699), + [anon_sym_const] = ACTIONS(2699), + [anon_sym_constexpr] = ACTIONS(2699), + [anon_sym_volatile] = ACTIONS(2699), + [anon_sym_restrict] = ACTIONS(2699), + [anon_sym___restrict__] = ACTIONS(2699), + [anon_sym__Atomic] = ACTIONS(2699), + [anon_sym__Noreturn] = ACTIONS(2699), + [anon_sym_noreturn] = ACTIONS(2699), + [anon_sym_mutable] = ACTIONS(2699), + [anon_sym_constinit] = ACTIONS(2699), + [anon_sym_consteval] = ACTIONS(2699), + [anon_sym_alignas] = ACTIONS(2699), + [anon_sym__Alignas] = ACTIONS(2699), + [sym_primitive_type] = ACTIONS(2699), + [anon_sym_enum] = ACTIONS(2699), + [anon_sym_class] = ACTIONS(2699), + [anon_sym_struct] = ACTIONS(2699), + [anon_sym_union] = ACTIONS(2699), + [anon_sym_if] = ACTIONS(2699), + [anon_sym_else] = ACTIONS(2699), + [anon_sym_switch] = ACTIONS(2699), + [anon_sym_case] = ACTIONS(2699), + [anon_sym_default] = ACTIONS(2699), + [anon_sym_while] = ACTIONS(2699), + [anon_sym_do] = ACTIONS(2699), + [anon_sym_for] = ACTIONS(2699), + [anon_sym_return] = ACTIONS(2699), + [anon_sym_break] = ACTIONS(2699), + [anon_sym_continue] = ACTIONS(2699), + [anon_sym_goto] = ACTIONS(2699), + [anon_sym___try] = ACTIONS(2699), + [anon_sym___leave] = ACTIONS(2699), + [anon_sym_not] = ACTIONS(2699), + [anon_sym_compl] = ACTIONS(2699), + [anon_sym_DASH_DASH] = ACTIONS(2701), + [anon_sym_PLUS_PLUS] = ACTIONS(2701), + [anon_sym_sizeof] = ACTIONS(2699), + [anon_sym___alignof__] = ACTIONS(2699), + [anon_sym___alignof] = ACTIONS(2699), + [anon_sym__alignof] = ACTIONS(2699), + [anon_sym_alignof] = ACTIONS(2699), + [anon_sym__Alignof] = ACTIONS(2699), + [anon_sym_offsetof] = ACTIONS(2699), + [anon_sym__Generic] = ACTIONS(2699), + [anon_sym_asm] = ACTIONS(2699), + [anon_sym___asm__] = ACTIONS(2699), + [sym__number_literal] = ACTIONS(2701), + [anon_sym_L_SQUOTE] = ACTIONS(2701), + [anon_sym_u_SQUOTE] = ACTIONS(2701), + [anon_sym_U_SQUOTE] = ACTIONS(2701), + [anon_sym_u8_SQUOTE] = ACTIONS(2701), + [anon_sym_SQUOTE] = ACTIONS(2701), + [anon_sym_L_DQUOTE] = ACTIONS(2701), + [anon_sym_u_DQUOTE] = ACTIONS(2701), + [anon_sym_U_DQUOTE] = ACTIONS(2701), + [anon_sym_u8_DQUOTE] = ACTIONS(2701), + [anon_sym_DQUOTE] = ACTIONS(2701), + [sym_true] = ACTIONS(2699), + [sym_false] = ACTIONS(2699), + [anon_sym_NULL] = ACTIONS(2699), + [anon_sym_nullptr] = ACTIONS(2699), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2701), + [sym_auto] = ACTIONS(2699), + [anon_sym_decltype] = ACTIONS(2699), + [sym_virtual] = ACTIONS(2699), + [anon_sym_explicit] = ACTIONS(2699), + [anon_sym_typename] = ACTIONS(2699), + [anon_sym_template] = ACTIONS(2699), + [anon_sym_operator] = ACTIONS(2699), + [anon_sym_try] = ACTIONS(2699), + [anon_sym_delete] = ACTIONS(2699), + [anon_sym_throw] = ACTIONS(2699), + [anon_sym_namespace] = ACTIONS(2699), + [anon_sym_using] = ACTIONS(2699), + [anon_sym_static_assert] = ACTIONS(2699), + [anon_sym_concept] = ACTIONS(2699), + [anon_sym_co_return] = ACTIONS(2699), + [anon_sym_co_yield] = ACTIONS(2699), + [anon_sym_R_DQUOTE] = ACTIONS(2701), + [anon_sym_LR_DQUOTE] = ACTIONS(2701), + [anon_sym_uR_DQUOTE] = ACTIONS(2701), + [anon_sym_UR_DQUOTE] = ACTIONS(2701), + [anon_sym_u8R_DQUOTE] = ACTIONS(2701), + [anon_sym_co_await] = ACTIONS(2699), + [anon_sym_new] = ACTIONS(2699), + [anon_sym_requires] = ACTIONS(2699), + [sym_this] = ACTIONS(2699), + }, + [453] = { + [sym__identifier] = ACTIONS(2789), + [aux_sym_preproc_include_token1] = ACTIONS(2789), + [aux_sym_preproc_def_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2789), + [sym_preproc_directive] = ACTIONS(2789), + [anon_sym_LPAREN2] = ACTIONS(2791), + [anon_sym_BANG] = ACTIONS(2791), + [anon_sym_TILDE] = ACTIONS(2791), + [anon_sym_DASH] = ACTIONS(2789), + [anon_sym_PLUS] = ACTIONS(2789), + [anon_sym_STAR] = ACTIONS(2791), + [anon_sym_AMP_AMP] = ACTIONS(2791), + [anon_sym_AMP] = ACTIONS(2789), + [anon_sym_SEMI] = ACTIONS(2791), + [anon_sym___extension__] = ACTIONS(2789), + [anon_sym_typedef] = ACTIONS(2789), + [anon_sym_extern] = ACTIONS(2789), + [anon_sym___attribute__] = ACTIONS(2789), + [anon_sym_COLON_COLON] = ACTIONS(2791), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2791), + [anon_sym___declspec] = ACTIONS(2789), + [anon_sym___based] = ACTIONS(2789), + [anon_sym___cdecl] = ACTIONS(2789), + [anon_sym___clrcall] = ACTIONS(2789), + [anon_sym___stdcall] = ACTIONS(2789), + [anon_sym___fastcall] = ACTIONS(2789), + [anon_sym___thiscall] = ACTIONS(2789), + [anon_sym___vectorcall] = ACTIONS(2789), + [anon_sym_LBRACE] = ACTIONS(2791), + [anon_sym_RBRACE] = ACTIONS(2791), + [anon_sym_signed] = ACTIONS(2789), + [anon_sym_unsigned] = ACTIONS(2789), + [anon_sym_long] = ACTIONS(2789), + [anon_sym_short] = ACTIONS(2789), + [anon_sym_LBRACK] = ACTIONS(2789), + [anon_sym_static] = ACTIONS(2789), + [anon_sym_register] = ACTIONS(2789), + [anon_sym_inline] = ACTIONS(2789), + [anon_sym___inline] = ACTIONS(2789), + [anon_sym___inline__] = ACTIONS(2789), + [anon_sym___forceinline] = ACTIONS(2789), + [anon_sym_thread_local] = ACTIONS(2789), + [anon_sym___thread] = ACTIONS(2789), + [anon_sym_const] = ACTIONS(2789), + [anon_sym_constexpr] = ACTIONS(2789), + [anon_sym_volatile] = ACTIONS(2789), + [anon_sym_restrict] = ACTIONS(2789), + [anon_sym___restrict__] = ACTIONS(2789), + [anon_sym__Atomic] = ACTIONS(2789), + [anon_sym__Noreturn] = ACTIONS(2789), + [anon_sym_noreturn] = ACTIONS(2789), + [anon_sym_mutable] = ACTIONS(2789), + [anon_sym_constinit] = ACTIONS(2789), + [anon_sym_consteval] = ACTIONS(2789), + [anon_sym_alignas] = ACTIONS(2789), + [anon_sym__Alignas] = ACTIONS(2789), + [sym_primitive_type] = ACTIONS(2789), + [anon_sym_enum] = ACTIONS(2789), + [anon_sym_class] = ACTIONS(2789), + [anon_sym_struct] = ACTIONS(2789), + [anon_sym_union] = ACTIONS(2789), + [anon_sym_if] = ACTIONS(2789), + [anon_sym_else] = ACTIONS(2789), + [anon_sym_switch] = ACTIONS(2789), + [anon_sym_case] = ACTIONS(2789), + [anon_sym_default] = ACTIONS(2789), + [anon_sym_while] = ACTIONS(2789), + [anon_sym_do] = ACTIONS(2789), + [anon_sym_for] = ACTIONS(2789), + [anon_sym_return] = ACTIONS(2789), + [anon_sym_break] = ACTIONS(2789), + [anon_sym_continue] = ACTIONS(2789), + [anon_sym_goto] = ACTIONS(2789), + [anon_sym___try] = ACTIONS(2789), + [anon_sym___leave] = ACTIONS(2789), + [anon_sym_not] = ACTIONS(2789), + [anon_sym_compl] = ACTIONS(2789), + [anon_sym_DASH_DASH] = ACTIONS(2791), + [anon_sym_PLUS_PLUS] = ACTIONS(2791), + [anon_sym_sizeof] = ACTIONS(2789), + [anon_sym___alignof__] = ACTIONS(2789), + [anon_sym___alignof] = ACTIONS(2789), + [anon_sym__alignof] = ACTIONS(2789), + [anon_sym_alignof] = ACTIONS(2789), + [anon_sym__Alignof] = ACTIONS(2789), + [anon_sym_offsetof] = ACTIONS(2789), + [anon_sym__Generic] = ACTIONS(2789), + [anon_sym_asm] = ACTIONS(2789), + [anon_sym___asm__] = ACTIONS(2789), + [sym__number_literal] = ACTIONS(2791), + [anon_sym_L_SQUOTE] = ACTIONS(2791), + [anon_sym_u_SQUOTE] = ACTIONS(2791), + [anon_sym_U_SQUOTE] = ACTIONS(2791), + [anon_sym_u8_SQUOTE] = ACTIONS(2791), + [anon_sym_SQUOTE] = ACTIONS(2791), + [anon_sym_L_DQUOTE] = ACTIONS(2791), + [anon_sym_u_DQUOTE] = ACTIONS(2791), + [anon_sym_U_DQUOTE] = ACTIONS(2791), + [anon_sym_u8_DQUOTE] = ACTIONS(2791), + [anon_sym_DQUOTE] = ACTIONS(2791), + [sym_true] = ACTIONS(2789), + [sym_false] = ACTIONS(2789), + [anon_sym_NULL] = ACTIONS(2789), + [anon_sym_nullptr] = ACTIONS(2789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2791), + [sym_auto] = ACTIONS(2789), + [anon_sym_decltype] = ACTIONS(2789), + [sym_virtual] = ACTIONS(2789), + [anon_sym_explicit] = ACTIONS(2789), + [anon_sym_typename] = ACTIONS(2789), + [anon_sym_template] = ACTIONS(2789), + [anon_sym_operator] = ACTIONS(2789), + [anon_sym_try] = ACTIONS(2789), + [anon_sym_delete] = ACTIONS(2789), + [anon_sym_throw] = ACTIONS(2789), + [anon_sym_namespace] = ACTIONS(2789), + [anon_sym_using] = ACTIONS(2789), + [anon_sym_static_assert] = ACTIONS(2789), + [anon_sym_concept] = ACTIONS(2789), + [anon_sym_co_return] = ACTIONS(2789), + [anon_sym_co_yield] = ACTIONS(2789), + [anon_sym_R_DQUOTE] = ACTIONS(2791), + [anon_sym_LR_DQUOTE] = ACTIONS(2791), + [anon_sym_uR_DQUOTE] = ACTIONS(2791), + [anon_sym_UR_DQUOTE] = ACTIONS(2791), + [anon_sym_u8R_DQUOTE] = ACTIONS(2791), + [anon_sym_co_await] = ACTIONS(2789), + [anon_sym_new] = ACTIONS(2789), + [anon_sym_requires] = ACTIONS(2789), + [sym_this] = ACTIONS(2789), + }, + [454] = { + [ts_builtin_sym_end] = ACTIONS(2761), + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_include_token1] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_BANG] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_DASH] = ACTIONS(2759), + [anon_sym_PLUS] = ACTIONS(2759), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym_SEMI] = ACTIONS(2761), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym___cdecl] = ACTIONS(2759), + [anon_sym___clrcall] = ACTIONS(2759), + [anon_sym___stdcall] = ACTIONS(2759), + [anon_sym___fastcall] = ACTIONS(2759), + [anon_sym___thiscall] = ACTIONS(2759), + [anon_sym___vectorcall] = ACTIONS(2759), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [anon_sym_if] = ACTIONS(2759), + [anon_sym_else] = ACTIONS(2759), + [anon_sym_switch] = ACTIONS(2759), + [anon_sym_case] = ACTIONS(2759), + [anon_sym_default] = ACTIONS(2759), + [anon_sym_while] = ACTIONS(2759), + [anon_sym_do] = ACTIONS(2759), + [anon_sym_for] = ACTIONS(2759), + [anon_sym_return] = ACTIONS(2759), + [anon_sym_break] = ACTIONS(2759), + [anon_sym_continue] = ACTIONS(2759), + [anon_sym_goto] = ACTIONS(2759), + [anon_sym___try] = ACTIONS(2759), + [anon_sym___leave] = ACTIONS(2759), + [anon_sym_not] = ACTIONS(2759), + [anon_sym_compl] = ACTIONS(2759), + [anon_sym_DASH_DASH] = ACTIONS(2761), + [anon_sym_PLUS_PLUS] = ACTIONS(2761), + [anon_sym_sizeof] = ACTIONS(2759), + [anon_sym___alignof__] = ACTIONS(2759), + [anon_sym___alignof] = ACTIONS(2759), + [anon_sym__alignof] = ACTIONS(2759), + [anon_sym_alignof] = ACTIONS(2759), + [anon_sym__Alignof] = ACTIONS(2759), + [anon_sym_offsetof] = ACTIONS(2759), + [anon_sym__Generic] = ACTIONS(2759), + [anon_sym_asm] = ACTIONS(2759), + [anon_sym___asm__] = ACTIONS(2759), + [sym__number_literal] = ACTIONS(2761), + [anon_sym_L_SQUOTE] = ACTIONS(2761), + [anon_sym_u_SQUOTE] = ACTIONS(2761), + [anon_sym_U_SQUOTE] = ACTIONS(2761), + [anon_sym_u8_SQUOTE] = ACTIONS(2761), + [anon_sym_SQUOTE] = ACTIONS(2761), + [anon_sym_L_DQUOTE] = ACTIONS(2761), + [anon_sym_u_DQUOTE] = ACTIONS(2761), + [anon_sym_U_DQUOTE] = ACTIONS(2761), + [anon_sym_u8_DQUOTE] = ACTIONS(2761), + [anon_sym_DQUOTE] = ACTIONS(2761), + [sym_true] = ACTIONS(2759), + [sym_false] = ACTIONS(2759), + [anon_sym_NULL] = ACTIONS(2759), + [anon_sym_nullptr] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_try] = ACTIONS(2759), + [anon_sym_delete] = ACTIONS(2759), + [anon_sym_throw] = ACTIONS(2759), + [anon_sym_namespace] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + [anon_sym_concept] = ACTIONS(2759), + [anon_sym_co_return] = ACTIONS(2759), + [anon_sym_co_yield] = ACTIONS(2759), + [anon_sym_R_DQUOTE] = ACTIONS(2761), + [anon_sym_LR_DQUOTE] = ACTIONS(2761), + [anon_sym_uR_DQUOTE] = ACTIONS(2761), + [anon_sym_UR_DQUOTE] = ACTIONS(2761), + [anon_sym_u8R_DQUOTE] = ACTIONS(2761), + [anon_sym_co_await] = ACTIONS(2759), + [anon_sym_new] = ACTIONS(2759), + [anon_sym_requires] = ACTIONS(2759), + [sym_this] = ACTIONS(2759), + }, + [455] = { + [ts_builtin_sym_end] = ACTIONS(2745), + [sym__identifier] = ACTIONS(2743), + [aux_sym_preproc_include_token1] = ACTIONS(2743), + [aux_sym_preproc_def_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2743), + [sym_preproc_directive] = ACTIONS(2743), + [anon_sym_LPAREN2] = ACTIONS(2745), + [anon_sym_BANG] = ACTIONS(2745), + [anon_sym_TILDE] = ACTIONS(2745), + [anon_sym_DASH] = ACTIONS(2743), + [anon_sym_PLUS] = ACTIONS(2743), + [anon_sym_STAR] = ACTIONS(2745), + [anon_sym_AMP_AMP] = ACTIONS(2745), + [anon_sym_AMP] = ACTIONS(2743), + [anon_sym_SEMI] = ACTIONS(2745), + [anon_sym___extension__] = ACTIONS(2743), + [anon_sym_typedef] = ACTIONS(2743), + [anon_sym_extern] = ACTIONS(2743), + [anon_sym___attribute__] = ACTIONS(2743), + [anon_sym_COLON_COLON] = ACTIONS(2745), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2745), + [anon_sym___declspec] = ACTIONS(2743), + [anon_sym___based] = ACTIONS(2743), + [anon_sym___cdecl] = ACTIONS(2743), + [anon_sym___clrcall] = ACTIONS(2743), + [anon_sym___stdcall] = ACTIONS(2743), + [anon_sym___fastcall] = ACTIONS(2743), + [anon_sym___thiscall] = ACTIONS(2743), + [anon_sym___vectorcall] = ACTIONS(2743), + [anon_sym_LBRACE] = ACTIONS(2745), + [anon_sym_signed] = ACTIONS(2743), + [anon_sym_unsigned] = ACTIONS(2743), + [anon_sym_long] = ACTIONS(2743), + [anon_sym_short] = ACTIONS(2743), + [anon_sym_LBRACK] = ACTIONS(2743), + [anon_sym_static] = ACTIONS(2743), + [anon_sym_register] = ACTIONS(2743), + [anon_sym_inline] = ACTIONS(2743), + [anon_sym___inline] = ACTIONS(2743), + [anon_sym___inline__] = ACTIONS(2743), + [anon_sym___forceinline] = ACTIONS(2743), + [anon_sym_thread_local] = ACTIONS(2743), + [anon_sym___thread] = ACTIONS(2743), + [anon_sym_const] = ACTIONS(2743), + [anon_sym_constexpr] = ACTIONS(2743), + [anon_sym_volatile] = ACTIONS(2743), + [anon_sym_restrict] = ACTIONS(2743), + [anon_sym___restrict__] = ACTIONS(2743), + [anon_sym__Atomic] = ACTIONS(2743), + [anon_sym__Noreturn] = ACTIONS(2743), + [anon_sym_noreturn] = ACTIONS(2743), + [anon_sym_mutable] = ACTIONS(2743), + [anon_sym_constinit] = ACTIONS(2743), + [anon_sym_consteval] = ACTIONS(2743), + [anon_sym_alignas] = ACTIONS(2743), + [anon_sym__Alignas] = ACTIONS(2743), + [sym_primitive_type] = ACTIONS(2743), + [anon_sym_enum] = ACTIONS(2743), + [anon_sym_class] = ACTIONS(2743), + [anon_sym_struct] = ACTIONS(2743), + [anon_sym_union] = ACTIONS(2743), + [anon_sym_if] = ACTIONS(2743), + [anon_sym_else] = ACTIONS(2743), + [anon_sym_switch] = ACTIONS(2743), + [anon_sym_case] = ACTIONS(2743), + [anon_sym_default] = ACTIONS(2743), + [anon_sym_while] = ACTIONS(2743), + [anon_sym_do] = ACTIONS(2743), + [anon_sym_for] = ACTIONS(2743), + [anon_sym_return] = ACTIONS(2743), + [anon_sym_break] = ACTIONS(2743), + [anon_sym_continue] = ACTIONS(2743), + [anon_sym_goto] = ACTIONS(2743), + [anon_sym___try] = ACTIONS(2743), + [anon_sym___leave] = ACTIONS(2743), + [anon_sym_not] = ACTIONS(2743), + [anon_sym_compl] = ACTIONS(2743), + [anon_sym_DASH_DASH] = ACTIONS(2745), + [anon_sym_PLUS_PLUS] = ACTIONS(2745), + [anon_sym_sizeof] = ACTIONS(2743), + [anon_sym___alignof__] = ACTIONS(2743), + [anon_sym___alignof] = ACTIONS(2743), + [anon_sym__alignof] = ACTIONS(2743), + [anon_sym_alignof] = ACTIONS(2743), + [anon_sym__Alignof] = ACTIONS(2743), + [anon_sym_offsetof] = ACTIONS(2743), + [anon_sym__Generic] = ACTIONS(2743), + [anon_sym_asm] = ACTIONS(2743), + [anon_sym___asm__] = ACTIONS(2743), + [sym__number_literal] = ACTIONS(2745), + [anon_sym_L_SQUOTE] = ACTIONS(2745), + [anon_sym_u_SQUOTE] = ACTIONS(2745), + [anon_sym_U_SQUOTE] = ACTIONS(2745), + [anon_sym_u8_SQUOTE] = ACTIONS(2745), + [anon_sym_SQUOTE] = ACTIONS(2745), + [anon_sym_L_DQUOTE] = ACTIONS(2745), + [anon_sym_u_DQUOTE] = ACTIONS(2745), + [anon_sym_U_DQUOTE] = ACTIONS(2745), + [anon_sym_u8_DQUOTE] = ACTIONS(2745), + [anon_sym_DQUOTE] = ACTIONS(2745), + [sym_true] = ACTIONS(2743), + [sym_false] = ACTIONS(2743), + [anon_sym_NULL] = ACTIONS(2743), + [anon_sym_nullptr] = ACTIONS(2743), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2745), + [sym_auto] = ACTIONS(2743), + [anon_sym_decltype] = ACTIONS(2743), + [sym_virtual] = ACTIONS(2743), + [anon_sym_explicit] = ACTIONS(2743), + [anon_sym_typename] = ACTIONS(2743), + [anon_sym_template] = ACTIONS(2743), + [anon_sym_operator] = ACTIONS(2743), + [anon_sym_try] = ACTIONS(2743), + [anon_sym_delete] = ACTIONS(2743), + [anon_sym_throw] = ACTIONS(2743), + [anon_sym_namespace] = ACTIONS(2743), + [anon_sym_using] = ACTIONS(2743), + [anon_sym_static_assert] = ACTIONS(2743), + [anon_sym_concept] = ACTIONS(2743), + [anon_sym_co_return] = ACTIONS(2743), + [anon_sym_co_yield] = ACTIONS(2743), + [anon_sym_R_DQUOTE] = ACTIONS(2745), + [anon_sym_LR_DQUOTE] = ACTIONS(2745), + [anon_sym_uR_DQUOTE] = ACTIONS(2745), + [anon_sym_UR_DQUOTE] = ACTIONS(2745), + [anon_sym_u8R_DQUOTE] = ACTIONS(2745), + [anon_sym_co_await] = ACTIONS(2743), + [anon_sym_new] = ACTIONS(2743), + [anon_sym_requires] = ACTIONS(2743), + [sym_this] = ACTIONS(2743), + }, + [456] = { + [ts_builtin_sym_end] = ACTIONS(2799), + [sym__identifier] = ACTIONS(2797), + [aux_sym_preproc_include_token1] = ACTIONS(2797), + [aux_sym_preproc_def_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2797), + [sym_preproc_directive] = ACTIONS(2797), + [anon_sym_LPAREN2] = ACTIONS(2799), + [anon_sym_BANG] = ACTIONS(2799), + [anon_sym_TILDE] = ACTIONS(2799), + [anon_sym_DASH] = ACTIONS(2797), + [anon_sym_PLUS] = ACTIONS(2797), + [anon_sym_STAR] = ACTIONS(2799), + [anon_sym_AMP_AMP] = ACTIONS(2799), + [anon_sym_AMP] = ACTIONS(2797), + [anon_sym_SEMI] = ACTIONS(2799), + [anon_sym___extension__] = ACTIONS(2797), + [anon_sym_typedef] = ACTIONS(2797), + [anon_sym_extern] = ACTIONS(2797), + [anon_sym___attribute__] = ACTIONS(2797), + [anon_sym_COLON_COLON] = ACTIONS(2799), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2799), + [anon_sym___declspec] = ACTIONS(2797), + [anon_sym___based] = ACTIONS(2797), + [anon_sym___cdecl] = ACTIONS(2797), + [anon_sym___clrcall] = ACTIONS(2797), + [anon_sym___stdcall] = ACTIONS(2797), + [anon_sym___fastcall] = ACTIONS(2797), + [anon_sym___thiscall] = ACTIONS(2797), + [anon_sym___vectorcall] = ACTIONS(2797), + [anon_sym_LBRACE] = ACTIONS(2799), + [anon_sym_signed] = ACTIONS(2797), + [anon_sym_unsigned] = ACTIONS(2797), + [anon_sym_long] = ACTIONS(2797), + [anon_sym_short] = ACTIONS(2797), + [anon_sym_LBRACK] = ACTIONS(2797), + [anon_sym_static] = ACTIONS(2797), + [anon_sym_register] = ACTIONS(2797), + [anon_sym_inline] = ACTIONS(2797), + [anon_sym___inline] = ACTIONS(2797), + [anon_sym___inline__] = ACTIONS(2797), + [anon_sym___forceinline] = ACTIONS(2797), + [anon_sym_thread_local] = ACTIONS(2797), + [anon_sym___thread] = ACTIONS(2797), + [anon_sym_const] = ACTIONS(2797), + [anon_sym_constexpr] = ACTIONS(2797), + [anon_sym_volatile] = ACTIONS(2797), + [anon_sym_restrict] = ACTIONS(2797), + [anon_sym___restrict__] = ACTIONS(2797), + [anon_sym__Atomic] = ACTIONS(2797), + [anon_sym__Noreturn] = ACTIONS(2797), + [anon_sym_noreturn] = ACTIONS(2797), + [anon_sym_mutable] = ACTIONS(2797), + [anon_sym_constinit] = ACTIONS(2797), + [anon_sym_consteval] = ACTIONS(2797), + [anon_sym_alignas] = ACTIONS(2797), + [anon_sym__Alignas] = ACTIONS(2797), + [sym_primitive_type] = ACTIONS(2797), + [anon_sym_enum] = ACTIONS(2797), + [anon_sym_class] = ACTIONS(2797), + [anon_sym_struct] = ACTIONS(2797), + [anon_sym_union] = ACTIONS(2797), + [anon_sym_if] = ACTIONS(2797), + [anon_sym_else] = ACTIONS(2797), + [anon_sym_switch] = ACTIONS(2797), + [anon_sym_case] = ACTIONS(2797), + [anon_sym_default] = ACTIONS(2797), + [anon_sym_while] = ACTIONS(2797), + [anon_sym_do] = ACTIONS(2797), + [anon_sym_for] = ACTIONS(2797), + [anon_sym_return] = ACTIONS(2797), + [anon_sym_break] = ACTIONS(2797), + [anon_sym_continue] = ACTIONS(2797), + [anon_sym_goto] = ACTIONS(2797), + [anon_sym___try] = ACTIONS(2797), + [anon_sym___leave] = ACTIONS(2797), + [anon_sym_not] = ACTIONS(2797), + [anon_sym_compl] = ACTIONS(2797), + [anon_sym_DASH_DASH] = ACTIONS(2799), + [anon_sym_PLUS_PLUS] = ACTIONS(2799), + [anon_sym_sizeof] = ACTIONS(2797), + [anon_sym___alignof__] = ACTIONS(2797), + [anon_sym___alignof] = ACTIONS(2797), + [anon_sym__alignof] = ACTIONS(2797), + [anon_sym_alignof] = ACTIONS(2797), + [anon_sym__Alignof] = ACTIONS(2797), + [anon_sym_offsetof] = ACTIONS(2797), + [anon_sym__Generic] = ACTIONS(2797), + [anon_sym_asm] = ACTIONS(2797), + [anon_sym___asm__] = ACTIONS(2797), + [sym__number_literal] = ACTIONS(2799), + [anon_sym_L_SQUOTE] = ACTIONS(2799), + [anon_sym_u_SQUOTE] = ACTIONS(2799), + [anon_sym_U_SQUOTE] = ACTIONS(2799), + [anon_sym_u8_SQUOTE] = ACTIONS(2799), + [anon_sym_SQUOTE] = ACTIONS(2799), + [anon_sym_L_DQUOTE] = ACTIONS(2799), + [anon_sym_u_DQUOTE] = ACTIONS(2799), + [anon_sym_U_DQUOTE] = ACTIONS(2799), + [anon_sym_u8_DQUOTE] = ACTIONS(2799), + [anon_sym_DQUOTE] = ACTIONS(2799), + [sym_true] = ACTIONS(2797), + [sym_false] = ACTIONS(2797), + [anon_sym_NULL] = ACTIONS(2797), + [anon_sym_nullptr] = ACTIONS(2797), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2799), + [sym_auto] = ACTIONS(2797), + [anon_sym_decltype] = ACTIONS(2797), + [sym_virtual] = ACTIONS(2797), + [anon_sym_explicit] = ACTIONS(2797), + [anon_sym_typename] = ACTIONS(2797), + [anon_sym_template] = ACTIONS(2797), + [anon_sym_operator] = ACTIONS(2797), + [anon_sym_try] = ACTIONS(2797), + [anon_sym_delete] = ACTIONS(2797), + [anon_sym_throw] = ACTIONS(2797), + [anon_sym_namespace] = ACTIONS(2797), + [anon_sym_using] = ACTIONS(2797), + [anon_sym_static_assert] = ACTIONS(2797), + [anon_sym_concept] = ACTIONS(2797), + [anon_sym_co_return] = ACTIONS(2797), + [anon_sym_co_yield] = ACTIONS(2797), + [anon_sym_R_DQUOTE] = ACTIONS(2799), + [anon_sym_LR_DQUOTE] = ACTIONS(2799), + [anon_sym_uR_DQUOTE] = ACTIONS(2799), + [anon_sym_UR_DQUOTE] = ACTIONS(2799), + [anon_sym_u8R_DQUOTE] = ACTIONS(2799), + [anon_sym_co_await] = ACTIONS(2797), + [anon_sym_new] = ACTIONS(2797), + [anon_sym_requires] = ACTIONS(2797), + [sym_this] = ACTIONS(2797), + }, + [457] = { + [ts_builtin_sym_end] = ACTIONS(2729), + [sym__identifier] = ACTIONS(2727), + [aux_sym_preproc_include_token1] = ACTIONS(2727), + [aux_sym_preproc_def_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2727), + [sym_preproc_directive] = ACTIONS(2727), + [anon_sym_LPAREN2] = ACTIONS(2729), + [anon_sym_BANG] = ACTIONS(2729), + [anon_sym_TILDE] = ACTIONS(2729), + [anon_sym_DASH] = ACTIONS(2727), + [anon_sym_PLUS] = ACTIONS(2727), + [anon_sym_STAR] = ACTIONS(2729), + [anon_sym_AMP_AMP] = ACTIONS(2729), + [anon_sym_AMP] = ACTIONS(2727), + [anon_sym_SEMI] = ACTIONS(2729), + [anon_sym___extension__] = ACTIONS(2727), + [anon_sym_typedef] = ACTIONS(2727), + [anon_sym_extern] = ACTIONS(2727), + [anon_sym___attribute__] = ACTIONS(2727), + [anon_sym_COLON_COLON] = ACTIONS(2729), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2729), + [anon_sym___declspec] = ACTIONS(2727), + [anon_sym___based] = ACTIONS(2727), + [anon_sym___cdecl] = ACTIONS(2727), + [anon_sym___clrcall] = ACTIONS(2727), + [anon_sym___stdcall] = ACTIONS(2727), + [anon_sym___fastcall] = ACTIONS(2727), + [anon_sym___thiscall] = ACTIONS(2727), + [anon_sym___vectorcall] = ACTIONS(2727), + [anon_sym_LBRACE] = ACTIONS(2729), + [anon_sym_signed] = ACTIONS(2727), + [anon_sym_unsigned] = ACTIONS(2727), + [anon_sym_long] = ACTIONS(2727), + [anon_sym_short] = ACTIONS(2727), + [anon_sym_LBRACK] = ACTIONS(2727), + [anon_sym_static] = ACTIONS(2727), + [anon_sym_register] = ACTIONS(2727), + [anon_sym_inline] = ACTIONS(2727), + [anon_sym___inline] = ACTIONS(2727), + [anon_sym___inline__] = ACTIONS(2727), + [anon_sym___forceinline] = ACTIONS(2727), + [anon_sym_thread_local] = ACTIONS(2727), + [anon_sym___thread] = ACTIONS(2727), + [anon_sym_const] = ACTIONS(2727), + [anon_sym_constexpr] = ACTIONS(2727), + [anon_sym_volatile] = ACTIONS(2727), + [anon_sym_restrict] = ACTIONS(2727), + [anon_sym___restrict__] = ACTIONS(2727), + [anon_sym__Atomic] = ACTIONS(2727), + [anon_sym__Noreturn] = ACTIONS(2727), + [anon_sym_noreturn] = ACTIONS(2727), + [anon_sym_mutable] = ACTIONS(2727), + [anon_sym_constinit] = ACTIONS(2727), + [anon_sym_consteval] = ACTIONS(2727), + [anon_sym_alignas] = ACTIONS(2727), + [anon_sym__Alignas] = ACTIONS(2727), + [sym_primitive_type] = ACTIONS(2727), + [anon_sym_enum] = ACTIONS(2727), + [anon_sym_class] = ACTIONS(2727), + [anon_sym_struct] = ACTIONS(2727), + [anon_sym_union] = ACTIONS(2727), + [anon_sym_if] = ACTIONS(2727), + [anon_sym_else] = ACTIONS(2727), + [anon_sym_switch] = ACTIONS(2727), + [anon_sym_case] = ACTIONS(2727), + [anon_sym_default] = ACTIONS(2727), + [anon_sym_while] = ACTIONS(2727), + [anon_sym_do] = ACTIONS(2727), + [anon_sym_for] = ACTIONS(2727), + [anon_sym_return] = ACTIONS(2727), + [anon_sym_break] = ACTIONS(2727), + [anon_sym_continue] = ACTIONS(2727), + [anon_sym_goto] = ACTIONS(2727), + [anon_sym___try] = ACTIONS(2727), + [anon_sym___leave] = ACTIONS(2727), + [anon_sym_not] = ACTIONS(2727), + [anon_sym_compl] = ACTIONS(2727), + [anon_sym_DASH_DASH] = ACTIONS(2729), + [anon_sym_PLUS_PLUS] = ACTIONS(2729), + [anon_sym_sizeof] = ACTIONS(2727), + [anon_sym___alignof__] = ACTIONS(2727), + [anon_sym___alignof] = ACTIONS(2727), + [anon_sym__alignof] = ACTIONS(2727), + [anon_sym_alignof] = ACTIONS(2727), + [anon_sym__Alignof] = ACTIONS(2727), + [anon_sym_offsetof] = ACTIONS(2727), + [anon_sym__Generic] = ACTIONS(2727), + [anon_sym_asm] = ACTIONS(2727), + [anon_sym___asm__] = ACTIONS(2727), + [sym__number_literal] = ACTIONS(2729), + [anon_sym_L_SQUOTE] = ACTIONS(2729), + [anon_sym_u_SQUOTE] = ACTIONS(2729), + [anon_sym_U_SQUOTE] = ACTIONS(2729), + [anon_sym_u8_SQUOTE] = ACTIONS(2729), + [anon_sym_SQUOTE] = ACTIONS(2729), + [anon_sym_L_DQUOTE] = ACTIONS(2729), + [anon_sym_u_DQUOTE] = ACTIONS(2729), + [anon_sym_U_DQUOTE] = ACTIONS(2729), + [anon_sym_u8_DQUOTE] = ACTIONS(2729), + [anon_sym_DQUOTE] = ACTIONS(2729), + [sym_true] = ACTIONS(2727), + [sym_false] = ACTIONS(2727), + [anon_sym_NULL] = ACTIONS(2727), + [anon_sym_nullptr] = ACTIONS(2727), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2729), + [sym_auto] = ACTIONS(2727), + [anon_sym_decltype] = ACTIONS(2727), + [sym_virtual] = ACTIONS(2727), + [anon_sym_explicit] = ACTIONS(2727), + [anon_sym_typename] = ACTIONS(2727), + [anon_sym_template] = ACTIONS(2727), + [anon_sym_operator] = ACTIONS(2727), + [anon_sym_try] = ACTIONS(2727), + [anon_sym_delete] = ACTIONS(2727), + [anon_sym_throw] = ACTIONS(2727), + [anon_sym_namespace] = ACTIONS(2727), + [anon_sym_using] = ACTIONS(2727), + [anon_sym_static_assert] = ACTIONS(2727), + [anon_sym_concept] = ACTIONS(2727), + [anon_sym_co_return] = ACTIONS(2727), + [anon_sym_co_yield] = ACTIONS(2727), + [anon_sym_R_DQUOTE] = ACTIONS(2729), + [anon_sym_LR_DQUOTE] = ACTIONS(2729), + [anon_sym_uR_DQUOTE] = ACTIONS(2729), + [anon_sym_UR_DQUOTE] = ACTIONS(2729), + [anon_sym_u8R_DQUOTE] = ACTIONS(2729), + [anon_sym_co_await] = ACTIONS(2727), + [anon_sym_new] = ACTIONS(2727), + [anon_sym_requires] = ACTIONS(2727), + [sym_this] = ACTIONS(2727), + }, + [458] = { + [sym__identifier] = ACTIONS(2584), + [aux_sym_preproc_include_token1] = ACTIONS(2584), + [aux_sym_preproc_def_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2584), + [sym_preproc_directive] = ACTIONS(2584), + [anon_sym_LPAREN2] = ACTIONS(2589), + [anon_sym_BANG] = ACTIONS(2589), + [anon_sym_TILDE] = ACTIONS(2589), + [anon_sym_DASH] = ACTIONS(2584), + [anon_sym_PLUS] = ACTIONS(2584), + [anon_sym_STAR] = ACTIONS(2589), + [anon_sym_AMP_AMP] = ACTIONS(2589), + [anon_sym_AMP] = ACTIONS(2584), + [anon_sym_SEMI] = ACTIONS(2589), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_typedef] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2589), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym___based] = ACTIONS(2584), + [anon_sym___cdecl] = ACTIONS(2584), + [anon_sym___clrcall] = ACTIONS(2584), + [anon_sym___stdcall] = ACTIONS(2584), + [anon_sym___fastcall] = ACTIONS(2584), + [anon_sym___thiscall] = ACTIONS(2584), + [anon_sym___vectorcall] = ACTIONS(2584), + [anon_sym_LBRACE] = ACTIONS(2589), + [anon_sym_RBRACE] = ACTIONS(2589), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(2584), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2584), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_if] = ACTIONS(2584), + [anon_sym_else] = ACTIONS(2584), + [anon_sym_switch] = ACTIONS(2584), + [anon_sym_case] = ACTIONS(2584), + [anon_sym_default] = ACTIONS(2584), + [anon_sym_while] = ACTIONS(2584), + [anon_sym_do] = ACTIONS(2584), + [anon_sym_for] = ACTIONS(2584), + [anon_sym_return] = ACTIONS(2584), + [anon_sym_break] = ACTIONS(2584), + [anon_sym_continue] = ACTIONS(2584), + [anon_sym_goto] = ACTIONS(2584), + [anon_sym___try] = ACTIONS(2584), + [anon_sym___leave] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(2584), + [anon_sym_compl] = ACTIONS(2584), + [anon_sym_DASH_DASH] = ACTIONS(2589), + [anon_sym_PLUS_PLUS] = ACTIONS(2589), + [anon_sym_sizeof] = ACTIONS(2584), + [anon_sym___alignof__] = ACTIONS(2584), + [anon_sym___alignof] = ACTIONS(2584), + [anon_sym__alignof] = ACTIONS(2584), + [anon_sym_alignof] = ACTIONS(2584), + [anon_sym__Alignof] = ACTIONS(2584), + [anon_sym_offsetof] = ACTIONS(2584), + [anon_sym__Generic] = ACTIONS(2584), + [anon_sym_asm] = ACTIONS(2584), + [anon_sym___asm__] = ACTIONS(2584), + [sym__number_literal] = ACTIONS(2589), + [anon_sym_L_SQUOTE] = ACTIONS(2589), + [anon_sym_u_SQUOTE] = ACTIONS(2589), + [anon_sym_U_SQUOTE] = ACTIONS(2589), + [anon_sym_u8_SQUOTE] = ACTIONS(2589), + [anon_sym_SQUOTE] = ACTIONS(2589), + [anon_sym_L_DQUOTE] = ACTIONS(2589), + [anon_sym_u_DQUOTE] = ACTIONS(2589), + [anon_sym_U_DQUOTE] = ACTIONS(2589), + [anon_sym_u8_DQUOTE] = ACTIONS(2589), + [anon_sym_DQUOTE] = ACTIONS(2589), + [sym_true] = ACTIONS(2584), + [sym_false] = ACTIONS(2584), + [anon_sym_NULL] = ACTIONS(2584), + [anon_sym_nullptr] = ACTIONS(2584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2589), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2584), + [sym_virtual] = ACTIONS(2584), + [anon_sym_explicit] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2584), + [anon_sym_operator] = ACTIONS(2584), + [anon_sym_try] = ACTIONS(2584), + [anon_sym_delete] = ACTIONS(2584), + [anon_sym_throw] = ACTIONS(2584), + [anon_sym_namespace] = ACTIONS(2584), + [anon_sym_using] = ACTIONS(2584), + [anon_sym_static_assert] = ACTIONS(2584), + [anon_sym_concept] = ACTIONS(2584), + [anon_sym_co_return] = ACTIONS(2584), + [anon_sym_co_yield] = ACTIONS(2584), + [anon_sym_R_DQUOTE] = ACTIONS(2589), + [anon_sym_LR_DQUOTE] = ACTIONS(2589), + [anon_sym_uR_DQUOTE] = ACTIONS(2589), + [anon_sym_UR_DQUOTE] = ACTIONS(2589), + [anon_sym_u8R_DQUOTE] = ACTIONS(2589), + [anon_sym_co_await] = ACTIONS(2584), + [anon_sym_new] = ACTIONS(2584), + [anon_sym_requires] = ACTIONS(2584), + [sym_this] = ACTIONS(2584), + }, + [459] = { + [sym__identifier] = ACTIONS(2743), + [aux_sym_preproc_include_token1] = ACTIONS(2743), + [aux_sym_preproc_def_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token1] = ACTIONS(2743), + [aux_sym_preproc_if_token2] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2743), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2743), + [sym_preproc_directive] = ACTIONS(2743), + [anon_sym_LPAREN2] = ACTIONS(2745), + [anon_sym_BANG] = ACTIONS(2745), + [anon_sym_TILDE] = ACTIONS(2745), + [anon_sym_DASH] = ACTIONS(2743), + [anon_sym_PLUS] = ACTIONS(2743), + [anon_sym_STAR] = ACTIONS(2745), + [anon_sym_AMP_AMP] = ACTIONS(2745), + [anon_sym_AMP] = ACTIONS(2743), + [anon_sym_SEMI] = ACTIONS(2745), + [anon_sym___extension__] = ACTIONS(2743), + [anon_sym_typedef] = ACTIONS(2743), + [anon_sym_extern] = ACTIONS(2743), + [anon_sym___attribute__] = ACTIONS(2743), + [anon_sym_COLON_COLON] = ACTIONS(2745), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2745), + [anon_sym___declspec] = ACTIONS(2743), + [anon_sym___based] = ACTIONS(2743), + [anon_sym___cdecl] = ACTIONS(2743), + [anon_sym___clrcall] = ACTIONS(2743), + [anon_sym___stdcall] = ACTIONS(2743), + [anon_sym___fastcall] = ACTIONS(2743), + [anon_sym___thiscall] = ACTIONS(2743), + [anon_sym___vectorcall] = ACTIONS(2743), + [anon_sym_LBRACE] = ACTIONS(2745), + [anon_sym_signed] = ACTIONS(2743), + [anon_sym_unsigned] = ACTIONS(2743), + [anon_sym_long] = ACTIONS(2743), + [anon_sym_short] = ACTIONS(2743), + [anon_sym_LBRACK] = ACTIONS(2743), + [anon_sym_static] = ACTIONS(2743), + [anon_sym_register] = ACTIONS(2743), + [anon_sym_inline] = ACTIONS(2743), + [anon_sym___inline] = ACTIONS(2743), + [anon_sym___inline__] = ACTIONS(2743), + [anon_sym___forceinline] = ACTIONS(2743), + [anon_sym_thread_local] = ACTIONS(2743), + [anon_sym___thread] = ACTIONS(2743), + [anon_sym_const] = ACTIONS(2743), + [anon_sym_constexpr] = ACTIONS(2743), + [anon_sym_volatile] = ACTIONS(2743), + [anon_sym_restrict] = ACTIONS(2743), + [anon_sym___restrict__] = ACTIONS(2743), + [anon_sym__Atomic] = ACTIONS(2743), + [anon_sym__Noreturn] = ACTIONS(2743), + [anon_sym_noreturn] = ACTIONS(2743), + [anon_sym_mutable] = ACTIONS(2743), + [anon_sym_constinit] = ACTIONS(2743), + [anon_sym_consteval] = ACTIONS(2743), + [anon_sym_alignas] = ACTIONS(2743), + [anon_sym__Alignas] = ACTIONS(2743), + [sym_primitive_type] = ACTIONS(2743), + [anon_sym_enum] = ACTIONS(2743), + [anon_sym_class] = ACTIONS(2743), + [anon_sym_struct] = ACTIONS(2743), + [anon_sym_union] = ACTIONS(2743), + [anon_sym_if] = ACTIONS(2743), + [anon_sym_else] = ACTIONS(2743), + [anon_sym_switch] = ACTIONS(2743), + [anon_sym_case] = ACTIONS(2743), + [anon_sym_default] = ACTIONS(2743), + [anon_sym_while] = ACTIONS(2743), + [anon_sym_do] = ACTIONS(2743), + [anon_sym_for] = ACTIONS(2743), + [anon_sym_return] = ACTIONS(2743), + [anon_sym_break] = ACTIONS(2743), + [anon_sym_continue] = ACTIONS(2743), + [anon_sym_goto] = ACTIONS(2743), + [anon_sym___try] = ACTIONS(2743), + [anon_sym___leave] = ACTIONS(2743), + [anon_sym_not] = ACTIONS(2743), + [anon_sym_compl] = ACTIONS(2743), + [anon_sym_DASH_DASH] = ACTIONS(2745), + [anon_sym_PLUS_PLUS] = ACTIONS(2745), + [anon_sym_sizeof] = ACTIONS(2743), + [anon_sym___alignof__] = ACTIONS(2743), + [anon_sym___alignof] = ACTIONS(2743), + [anon_sym__alignof] = ACTIONS(2743), + [anon_sym_alignof] = ACTIONS(2743), + [anon_sym__Alignof] = ACTIONS(2743), + [anon_sym_offsetof] = ACTIONS(2743), + [anon_sym__Generic] = ACTIONS(2743), + [anon_sym_asm] = ACTIONS(2743), + [anon_sym___asm__] = ACTIONS(2743), + [sym__number_literal] = ACTIONS(2745), + [anon_sym_L_SQUOTE] = ACTIONS(2745), + [anon_sym_u_SQUOTE] = ACTIONS(2745), + [anon_sym_U_SQUOTE] = ACTIONS(2745), + [anon_sym_u8_SQUOTE] = ACTIONS(2745), + [anon_sym_SQUOTE] = ACTIONS(2745), + [anon_sym_L_DQUOTE] = ACTIONS(2745), + [anon_sym_u_DQUOTE] = ACTIONS(2745), + [anon_sym_U_DQUOTE] = ACTIONS(2745), + [anon_sym_u8_DQUOTE] = ACTIONS(2745), + [anon_sym_DQUOTE] = ACTIONS(2745), + [sym_true] = ACTIONS(2743), + [sym_false] = ACTIONS(2743), + [anon_sym_NULL] = ACTIONS(2743), + [anon_sym_nullptr] = ACTIONS(2743), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2745), + [sym_auto] = ACTIONS(2743), + [anon_sym_decltype] = ACTIONS(2743), + [sym_virtual] = ACTIONS(2743), + [anon_sym_explicit] = ACTIONS(2743), + [anon_sym_typename] = ACTIONS(2743), + [anon_sym_template] = ACTIONS(2743), + [anon_sym_operator] = ACTIONS(2743), + [anon_sym_try] = ACTIONS(2743), + [anon_sym_delete] = ACTIONS(2743), + [anon_sym_throw] = ACTIONS(2743), + [anon_sym_namespace] = ACTIONS(2743), + [anon_sym_using] = ACTIONS(2743), + [anon_sym_static_assert] = ACTIONS(2743), + [anon_sym_concept] = ACTIONS(2743), + [anon_sym_co_return] = ACTIONS(2743), + [anon_sym_co_yield] = ACTIONS(2743), + [anon_sym_R_DQUOTE] = ACTIONS(2745), + [anon_sym_LR_DQUOTE] = ACTIONS(2745), + [anon_sym_uR_DQUOTE] = ACTIONS(2745), + [anon_sym_UR_DQUOTE] = ACTIONS(2745), + [anon_sym_u8R_DQUOTE] = ACTIONS(2745), + [anon_sym_co_await] = ACTIONS(2743), + [anon_sym_new] = ACTIONS(2743), + [anon_sym_requires] = ACTIONS(2743), + [sym_this] = ACTIONS(2743), + }, + [460] = { + [sym__identifier] = ACTIONS(2719), + [aux_sym_preproc_include_token1] = ACTIONS(2719), + [aux_sym_preproc_def_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2719), + [sym_preproc_directive] = ACTIONS(2719), + [anon_sym_LPAREN2] = ACTIONS(2721), + [anon_sym_BANG] = ACTIONS(2721), + [anon_sym_TILDE] = ACTIONS(2721), + [anon_sym_DASH] = ACTIONS(2719), + [anon_sym_PLUS] = ACTIONS(2719), + [anon_sym_STAR] = ACTIONS(2721), + [anon_sym_AMP_AMP] = ACTIONS(2721), + [anon_sym_AMP] = ACTIONS(2719), + [anon_sym_SEMI] = ACTIONS(2721), + [anon_sym___extension__] = ACTIONS(2719), + [anon_sym_typedef] = ACTIONS(2719), + [anon_sym_extern] = ACTIONS(2719), + [anon_sym___attribute__] = ACTIONS(2719), + [anon_sym_COLON_COLON] = ACTIONS(2721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2721), + [anon_sym___declspec] = ACTIONS(2719), + [anon_sym___based] = ACTIONS(2719), + [anon_sym___cdecl] = ACTIONS(2719), + [anon_sym___clrcall] = ACTIONS(2719), + [anon_sym___stdcall] = ACTIONS(2719), + [anon_sym___fastcall] = ACTIONS(2719), + [anon_sym___thiscall] = ACTIONS(2719), + [anon_sym___vectorcall] = ACTIONS(2719), + [anon_sym_LBRACE] = ACTIONS(2721), + [anon_sym_RBRACE] = ACTIONS(2721), + [anon_sym_signed] = ACTIONS(2719), + [anon_sym_unsigned] = ACTIONS(2719), + [anon_sym_long] = ACTIONS(2719), + [anon_sym_short] = ACTIONS(2719), + [anon_sym_LBRACK] = ACTIONS(2719), + [anon_sym_static] = ACTIONS(2719), + [anon_sym_register] = ACTIONS(2719), + [anon_sym_inline] = ACTIONS(2719), + [anon_sym___inline] = ACTIONS(2719), + [anon_sym___inline__] = ACTIONS(2719), + [anon_sym___forceinline] = ACTIONS(2719), + [anon_sym_thread_local] = ACTIONS(2719), + [anon_sym___thread] = ACTIONS(2719), + [anon_sym_const] = ACTIONS(2719), + [anon_sym_constexpr] = ACTIONS(2719), + [anon_sym_volatile] = ACTIONS(2719), + [anon_sym_restrict] = ACTIONS(2719), + [anon_sym___restrict__] = ACTIONS(2719), + [anon_sym__Atomic] = ACTIONS(2719), + [anon_sym__Noreturn] = ACTIONS(2719), + [anon_sym_noreturn] = ACTIONS(2719), + [anon_sym_mutable] = ACTIONS(2719), + [anon_sym_constinit] = ACTIONS(2719), + [anon_sym_consteval] = ACTIONS(2719), + [anon_sym_alignas] = ACTIONS(2719), + [anon_sym__Alignas] = ACTIONS(2719), + [sym_primitive_type] = ACTIONS(2719), + [anon_sym_enum] = ACTIONS(2719), + [anon_sym_class] = ACTIONS(2719), + [anon_sym_struct] = ACTIONS(2719), + [anon_sym_union] = ACTIONS(2719), + [anon_sym_if] = ACTIONS(2719), + [anon_sym_else] = ACTIONS(2719), + [anon_sym_switch] = ACTIONS(2719), + [anon_sym_case] = ACTIONS(2719), + [anon_sym_default] = ACTIONS(2719), + [anon_sym_while] = ACTIONS(2719), + [anon_sym_do] = ACTIONS(2719), + [anon_sym_for] = ACTIONS(2719), + [anon_sym_return] = ACTIONS(2719), + [anon_sym_break] = ACTIONS(2719), + [anon_sym_continue] = ACTIONS(2719), + [anon_sym_goto] = ACTIONS(2719), + [anon_sym___try] = ACTIONS(2719), + [anon_sym___leave] = ACTIONS(2719), + [anon_sym_not] = ACTIONS(2719), + [anon_sym_compl] = ACTIONS(2719), + [anon_sym_DASH_DASH] = ACTIONS(2721), + [anon_sym_PLUS_PLUS] = ACTIONS(2721), + [anon_sym_sizeof] = ACTIONS(2719), + [anon_sym___alignof__] = ACTIONS(2719), + [anon_sym___alignof] = ACTIONS(2719), + [anon_sym__alignof] = ACTIONS(2719), + [anon_sym_alignof] = ACTIONS(2719), + [anon_sym__Alignof] = ACTIONS(2719), + [anon_sym_offsetof] = ACTIONS(2719), + [anon_sym__Generic] = ACTIONS(2719), + [anon_sym_asm] = ACTIONS(2719), + [anon_sym___asm__] = ACTIONS(2719), + [sym__number_literal] = ACTIONS(2721), + [anon_sym_L_SQUOTE] = ACTIONS(2721), + [anon_sym_u_SQUOTE] = ACTIONS(2721), + [anon_sym_U_SQUOTE] = ACTIONS(2721), + [anon_sym_u8_SQUOTE] = ACTIONS(2721), + [anon_sym_SQUOTE] = ACTIONS(2721), + [anon_sym_L_DQUOTE] = ACTIONS(2721), + [anon_sym_u_DQUOTE] = ACTIONS(2721), + [anon_sym_U_DQUOTE] = ACTIONS(2721), + [anon_sym_u8_DQUOTE] = ACTIONS(2721), + [anon_sym_DQUOTE] = ACTIONS(2721), + [sym_true] = ACTIONS(2719), + [sym_false] = ACTIONS(2719), + [anon_sym_NULL] = ACTIONS(2719), + [anon_sym_nullptr] = ACTIONS(2719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2721), + [sym_auto] = ACTIONS(2719), + [anon_sym_decltype] = ACTIONS(2719), + [sym_virtual] = ACTIONS(2719), + [anon_sym_explicit] = ACTIONS(2719), + [anon_sym_typename] = ACTIONS(2719), + [anon_sym_template] = ACTIONS(2719), + [anon_sym_operator] = ACTIONS(2719), + [anon_sym_try] = ACTIONS(2719), + [anon_sym_delete] = ACTIONS(2719), + [anon_sym_throw] = ACTIONS(2719), + [anon_sym_namespace] = ACTIONS(2719), + [anon_sym_using] = ACTIONS(2719), + [anon_sym_static_assert] = ACTIONS(2719), + [anon_sym_concept] = ACTIONS(2719), + [anon_sym_co_return] = ACTIONS(2719), + [anon_sym_co_yield] = ACTIONS(2719), + [anon_sym_R_DQUOTE] = ACTIONS(2721), + [anon_sym_LR_DQUOTE] = ACTIONS(2721), + [anon_sym_uR_DQUOTE] = ACTIONS(2721), + [anon_sym_UR_DQUOTE] = ACTIONS(2721), + [anon_sym_u8R_DQUOTE] = ACTIONS(2721), + [anon_sym_co_await] = ACTIONS(2719), + [anon_sym_new] = ACTIONS(2719), + [anon_sym_requires] = ACTIONS(2719), + [sym_this] = ACTIONS(2719), + }, + [461] = { + [sym__identifier] = ACTIONS(2691), + [aux_sym_preproc_include_token1] = ACTIONS(2691), + [aux_sym_preproc_def_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2691), + [sym_preproc_directive] = ACTIONS(2691), + [anon_sym_LPAREN2] = ACTIONS(2693), + [anon_sym_BANG] = ACTIONS(2693), + [anon_sym_TILDE] = ACTIONS(2693), + [anon_sym_DASH] = ACTIONS(2691), + [anon_sym_PLUS] = ACTIONS(2691), + [anon_sym_STAR] = ACTIONS(2693), + [anon_sym_AMP_AMP] = ACTIONS(2693), + [anon_sym_AMP] = ACTIONS(2691), + [anon_sym_SEMI] = ACTIONS(2693), + [anon_sym___extension__] = ACTIONS(2691), + [anon_sym_typedef] = ACTIONS(2691), + [anon_sym_extern] = ACTIONS(2691), + [anon_sym___attribute__] = ACTIONS(2691), + [anon_sym_COLON_COLON] = ACTIONS(2693), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2693), + [anon_sym___declspec] = ACTIONS(2691), + [anon_sym___based] = ACTIONS(2691), + [anon_sym___cdecl] = ACTIONS(2691), + [anon_sym___clrcall] = ACTIONS(2691), + [anon_sym___stdcall] = ACTIONS(2691), + [anon_sym___fastcall] = ACTIONS(2691), + [anon_sym___thiscall] = ACTIONS(2691), + [anon_sym___vectorcall] = ACTIONS(2691), + [anon_sym_LBRACE] = ACTIONS(2693), + [anon_sym_RBRACE] = ACTIONS(2693), + [anon_sym_signed] = ACTIONS(2691), + [anon_sym_unsigned] = ACTIONS(2691), + [anon_sym_long] = ACTIONS(2691), + [anon_sym_short] = ACTIONS(2691), + [anon_sym_LBRACK] = ACTIONS(2691), + [anon_sym_static] = ACTIONS(2691), + [anon_sym_register] = ACTIONS(2691), + [anon_sym_inline] = ACTIONS(2691), + [anon_sym___inline] = ACTIONS(2691), + [anon_sym___inline__] = ACTIONS(2691), + [anon_sym___forceinline] = ACTIONS(2691), + [anon_sym_thread_local] = ACTIONS(2691), + [anon_sym___thread] = ACTIONS(2691), + [anon_sym_const] = ACTIONS(2691), + [anon_sym_constexpr] = ACTIONS(2691), + [anon_sym_volatile] = ACTIONS(2691), + [anon_sym_restrict] = ACTIONS(2691), + [anon_sym___restrict__] = ACTIONS(2691), + [anon_sym__Atomic] = ACTIONS(2691), + [anon_sym__Noreturn] = ACTIONS(2691), + [anon_sym_noreturn] = ACTIONS(2691), + [anon_sym_mutable] = ACTIONS(2691), + [anon_sym_constinit] = ACTIONS(2691), + [anon_sym_consteval] = ACTIONS(2691), + [anon_sym_alignas] = ACTIONS(2691), + [anon_sym__Alignas] = ACTIONS(2691), + [sym_primitive_type] = ACTIONS(2691), + [anon_sym_enum] = ACTIONS(2691), + [anon_sym_class] = ACTIONS(2691), + [anon_sym_struct] = ACTIONS(2691), + [anon_sym_union] = ACTIONS(2691), + [anon_sym_if] = ACTIONS(2691), + [anon_sym_else] = ACTIONS(2691), + [anon_sym_switch] = ACTIONS(2691), + [anon_sym_case] = ACTIONS(2691), + [anon_sym_default] = ACTIONS(2691), + [anon_sym_while] = ACTIONS(2691), + [anon_sym_do] = ACTIONS(2691), + [anon_sym_for] = ACTIONS(2691), + [anon_sym_return] = ACTIONS(2691), + [anon_sym_break] = ACTIONS(2691), + [anon_sym_continue] = ACTIONS(2691), + [anon_sym_goto] = ACTIONS(2691), + [anon_sym___try] = ACTIONS(2691), + [anon_sym___leave] = ACTIONS(2691), + [anon_sym_not] = ACTIONS(2691), + [anon_sym_compl] = ACTIONS(2691), + [anon_sym_DASH_DASH] = ACTIONS(2693), + [anon_sym_PLUS_PLUS] = ACTIONS(2693), + [anon_sym_sizeof] = ACTIONS(2691), + [anon_sym___alignof__] = ACTIONS(2691), + [anon_sym___alignof] = ACTIONS(2691), + [anon_sym__alignof] = ACTIONS(2691), + [anon_sym_alignof] = ACTIONS(2691), + [anon_sym__Alignof] = ACTIONS(2691), + [anon_sym_offsetof] = ACTIONS(2691), + [anon_sym__Generic] = ACTIONS(2691), + [anon_sym_asm] = ACTIONS(2691), + [anon_sym___asm__] = ACTIONS(2691), + [sym__number_literal] = ACTIONS(2693), + [anon_sym_L_SQUOTE] = ACTIONS(2693), + [anon_sym_u_SQUOTE] = ACTIONS(2693), + [anon_sym_U_SQUOTE] = ACTIONS(2693), + [anon_sym_u8_SQUOTE] = ACTIONS(2693), + [anon_sym_SQUOTE] = ACTIONS(2693), + [anon_sym_L_DQUOTE] = ACTIONS(2693), + [anon_sym_u_DQUOTE] = ACTIONS(2693), + [anon_sym_U_DQUOTE] = ACTIONS(2693), + [anon_sym_u8_DQUOTE] = ACTIONS(2693), + [anon_sym_DQUOTE] = ACTIONS(2693), + [sym_true] = ACTIONS(2691), + [sym_false] = ACTIONS(2691), + [anon_sym_NULL] = ACTIONS(2691), + [anon_sym_nullptr] = ACTIONS(2691), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2693), + [sym_auto] = ACTIONS(2691), + [anon_sym_decltype] = ACTIONS(2691), + [sym_virtual] = ACTIONS(2691), + [anon_sym_explicit] = ACTIONS(2691), + [anon_sym_typename] = ACTIONS(2691), + [anon_sym_template] = ACTIONS(2691), + [anon_sym_operator] = ACTIONS(2691), + [anon_sym_try] = ACTIONS(2691), + [anon_sym_delete] = ACTIONS(2691), + [anon_sym_throw] = ACTIONS(2691), + [anon_sym_namespace] = ACTIONS(2691), + [anon_sym_using] = ACTIONS(2691), + [anon_sym_static_assert] = ACTIONS(2691), + [anon_sym_concept] = ACTIONS(2691), + [anon_sym_co_return] = ACTIONS(2691), + [anon_sym_co_yield] = ACTIONS(2691), + [anon_sym_R_DQUOTE] = ACTIONS(2693), + [anon_sym_LR_DQUOTE] = ACTIONS(2693), + [anon_sym_uR_DQUOTE] = ACTIONS(2693), + [anon_sym_UR_DQUOTE] = ACTIONS(2693), + [anon_sym_u8R_DQUOTE] = ACTIONS(2693), + [anon_sym_co_await] = ACTIONS(2691), + [anon_sym_new] = ACTIONS(2691), + [anon_sym_requires] = ACTIONS(2691), + [sym_this] = ACTIONS(2691), + }, + [462] = { + [ts_builtin_sym_end] = ACTIONS(2775), + [sym__identifier] = ACTIONS(2773), + [aux_sym_preproc_include_token1] = ACTIONS(2773), + [aux_sym_preproc_def_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2773), + [sym_preproc_directive] = ACTIONS(2773), + [anon_sym_LPAREN2] = ACTIONS(2775), + [anon_sym_BANG] = ACTIONS(2775), + [anon_sym_TILDE] = ACTIONS(2775), + [anon_sym_DASH] = ACTIONS(2773), + [anon_sym_PLUS] = ACTIONS(2773), + [anon_sym_STAR] = ACTIONS(2775), + [anon_sym_AMP_AMP] = ACTIONS(2775), + [anon_sym_AMP] = ACTIONS(2773), + [anon_sym_SEMI] = ACTIONS(2775), + [anon_sym___extension__] = ACTIONS(2773), + [anon_sym_typedef] = ACTIONS(2773), + [anon_sym_extern] = ACTIONS(2773), + [anon_sym___attribute__] = ACTIONS(2773), + [anon_sym_COLON_COLON] = ACTIONS(2775), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2775), + [anon_sym___declspec] = ACTIONS(2773), + [anon_sym___based] = ACTIONS(2773), + [anon_sym___cdecl] = ACTIONS(2773), + [anon_sym___clrcall] = ACTIONS(2773), + [anon_sym___stdcall] = ACTIONS(2773), + [anon_sym___fastcall] = ACTIONS(2773), + [anon_sym___thiscall] = ACTIONS(2773), + [anon_sym___vectorcall] = ACTIONS(2773), + [anon_sym_LBRACE] = ACTIONS(2775), + [anon_sym_signed] = ACTIONS(2773), + [anon_sym_unsigned] = ACTIONS(2773), + [anon_sym_long] = ACTIONS(2773), + [anon_sym_short] = ACTIONS(2773), + [anon_sym_LBRACK] = ACTIONS(2773), + [anon_sym_static] = ACTIONS(2773), + [anon_sym_register] = ACTIONS(2773), + [anon_sym_inline] = ACTIONS(2773), + [anon_sym___inline] = ACTIONS(2773), + [anon_sym___inline__] = ACTIONS(2773), + [anon_sym___forceinline] = ACTIONS(2773), + [anon_sym_thread_local] = ACTIONS(2773), + [anon_sym___thread] = ACTIONS(2773), + [anon_sym_const] = ACTIONS(2773), + [anon_sym_constexpr] = ACTIONS(2773), + [anon_sym_volatile] = ACTIONS(2773), + [anon_sym_restrict] = ACTIONS(2773), + [anon_sym___restrict__] = ACTIONS(2773), + [anon_sym__Atomic] = ACTIONS(2773), + [anon_sym__Noreturn] = ACTIONS(2773), + [anon_sym_noreturn] = ACTIONS(2773), + [anon_sym_mutable] = ACTIONS(2773), + [anon_sym_constinit] = ACTIONS(2773), + [anon_sym_consteval] = ACTIONS(2773), + [anon_sym_alignas] = ACTIONS(2773), + [anon_sym__Alignas] = ACTIONS(2773), + [sym_primitive_type] = ACTIONS(2773), + [anon_sym_enum] = ACTIONS(2773), + [anon_sym_class] = ACTIONS(2773), + [anon_sym_struct] = ACTIONS(2773), + [anon_sym_union] = ACTIONS(2773), + [anon_sym_if] = ACTIONS(2773), + [anon_sym_else] = ACTIONS(2773), + [anon_sym_switch] = ACTIONS(2773), + [anon_sym_case] = ACTIONS(2773), + [anon_sym_default] = ACTIONS(2773), + [anon_sym_while] = ACTIONS(2773), + [anon_sym_do] = ACTIONS(2773), + [anon_sym_for] = ACTIONS(2773), + [anon_sym_return] = ACTIONS(2773), + [anon_sym_break] = ACTIONS(2773), + [anon_sym_continue] = ACTIONS(2773), + [anon_sym_goto] = ACTIONS(2773), + [anon_sym___try] = ACTIONS(2773), + [anon_sym___leave] = ACTIONS(2773), + [anon_sym_not] = ACTIONS(2773), + [anon_sym_compl] = ACTIONS(2773), + [anon_sym_DASH_DASH] = ACTIONS(2775), + [anon_sym_PLUS_PLUS] = ACTIONS(2775), + [anon_sym_sizeof] = ACTIONS(2773), + [anon_sym___alignof__] = ACTIONS(2773), + [anon_sym___alignof] = ACTIONS(2773), + [anon_sym__alignof] = ACTIONS(2773), + [anon_sym_alignof] = ACTIONS(2773), + [anon_sym__Alignof] = ACTIONS(2773), + [anon_sym_offsetof] = ACTIONS(2773), + [anon_sym__Generic] = ACTIONS(2773), + [anon_sym_asm] = ACTIONS(2773), + [anon_sym___asm__] = ACTIONS(2773), + [sym__number_literal] = ACTIONS(2775), + [anon_sym_L_SQUOTE] = ACTIONS(2775), + [anon_sym_u_SQUOTE] = ACTIONS(2775), + [anon_sym_U_SQUOTE] = ACTIONS(2775), + [anon_sym_u8_SQUOTE] = ACTIONS(2775), + [anon_sym_SQUOTE] = ACTIONS(2775), + [anon_sym_L_DQUOTE] = ACTIONS(2775), + [anon_sym_u_DQUOTE] = ACTIONS(2775), + [anon_sym_U_DQUOTE] = ACTIONS(2775), + [anon_sym_u8_DQUOTE] = ACTIONS(2775), + [anon_sym_DQUOTE] = ACTIONS(2775), + [sym_true] = ACTIONS(2773), + [sym_false] = ACTIONS(2773), + [anon_sym_NULL] = ACTIONS(2773), + [anon_sym_nullptr] = ACTIONS(2773), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2775), + [sym_auto] = ACTIONS(2773), + [anon_sym_decltype] = ACTIONS(2773), + [sym_virtual] = ACTIONS(2773), + [anon_sym_explicit] = ACTIONS(2773), + [anon_sym_typename] = ACTIONS(2773), + [anon_sym_template] = ACTIONS(2773), + [anon_sym_operator] = ACTIONS(2773), + [anon_sym_try] = ACTIONS(2773), + [anon_sym_delete] = ACTIONS(2773), + [anon_sym_throw] = ACTIONS(2773), + [anon_sym_namespace] = ACTIONS(2773), + [anon_sym_using] = ACTIONS(2773), + [anon_sym_static_assert] = ACTIONS(2773), + [anon_sym_concept] = ACTIONS(2773), + [anon_sym_co_return] = ACTIONS(2773), + [anon_sym_co_yield] = ACTIONS(2773), + [anon_sym_R_DQUOTE] = ACTIONS(2775), + [anon_sym_LR_DQUOTE] = ACTIONS(2775), + [anon_sym_uR_DQUOTE] = ACTIONS(2775), + [anon_sym_UR_DQUOTE] = ACTIONS(2775), + [anon_sym_u8R_DQUOTE] = ACTIONS(2775), + [anon_sym_co_await] = ACTIONS(2773), + [anon_sym_new] = ACTIONS(2773), + [anon_sym_requires] = ACTIONS(2773), + [sym_this] = ACTIONS(2773), + }, + [463] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_include_token1] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token2] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_BANG] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_DASH] = ACTIONS(2767), + [anon_sym_PLUS] = ACTIONS(2767), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym_SEMI] = ACTIONS(2769), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym___cdecl] = ACTIONS(2767), + [anon_sym___clrcall] = ACTIONS(2767), + [anon_sym___stdcall] = ACTIONS(2767), + [anon_sym___fastcall] = ACTIONS(2767), + [anon_sym___thiscall] = ACTIONS(2767), + [anon_sym___vectorcall] = ACTIONS(2767), + [anon_sym_LBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [anon_sym_if] = ACTIONS(2767), + [anon_sym_else] = ACTIONS(2767), + [anon_sym_switch] = ACTIONS(2767), + [anon_sym_case] = ACTIONS(2767), + [anon_sym_default] = ACTIONS(2767), + [anon_sym_while] = ACTIONS(2767), + [anon_sym_do] = ACTIONS(2767), + [anon_sym_for] = ACTIONS(2767), + [anon_sym_return] = ACTIONS(2767), + [anon_sym_break] = ACTIONS(2767), + [anon_sym_continue] = ACTIONS(2767), + [anon_sym_goto] = ACTIONS(2767), + [anon_sym___try] = ACTIONS(2767), + [anon_sym___leave] = ACTIONS(2767), + [anon_sym_not] = ACTIONS(2767), + [anon_sym_compl] = ACTIONS(2767), + [anon_sym_DASH_DASH] = ACTIONS(2769), + [anon_sym_PLUS_PLUS] = ACTIONS(2769), + [anon_sym_sizeof] = ACTIONS(2767), + [anon_sym___alignof__] = ACTIONS(2767), + [anon_sym___alignof] = ACTIONS(2767), + [anon_sym__alignof] = ACTIONS(2767), + [anon_sym_alignof] = ACTIONS(2767), + [anon_sym__Alignof] = ACTIONS(2767), + [anon_sym_offsetof] = ACTIONS(2767), + [anon_sym__Generic] = ACTIONS(2767), + [anon_sym_asm] = ACTIONS(2767), + [anon_sym___asm__] = ACTIONS(2767), + [sym__number_literal] = ACTIONS(2769), + [anon_sym_L_SQUOTE] = ACTIONS(2769), + [anon_sym_u_SQUOTE] = ACTIONS(2769), + [anon_sym_U_SQUOTE] = ACTIONS(2769), + [anon_sym_u8_SQUOTE] = ACTIONS(2769), + [anon_sym_SQUOTE] = ACTIONS(2769), + [anon_sym_L_DQUOTE] = ACTIONS(2769), + [anon_sym_u_DQUOTE] = ACTIONS(2769), + [anon_sym_U_DQUOTE] = ACTIONS(2769), + [anon_sym_u8_DQUOTE] = ACTIONS(2769), + [anon_sym_DQUOTE] = ACTIONS(2769), + [sym_true] = ACTIONS(2767), + [sym_false] = ACTIONS(2767), + [anon_sym_NULL] = ACTIONS(2767), + [anon_sym_nullptr] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_try] = ACTIONS(2767), + [anon_sym_delete] = ACTIONS(2767), + [anon_sym_throw] = ACTIONS(2767), + [anon_sym_namespace] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + [anon_sym_concept] = ACTIONS(2767), + [anon_sym_co_return] = ACTIONS(2767), + [anon_sym_co_yield] = ACTIONS(2767), + [anon_sym_R_DQUOTE] = ACTIONS(2769), + [anon_sym_LR_DQUOTE] = ACTIONS(2769), + [anon_sym_uR_DQUOTE] = ACTIONS(2769), + [anon_sym_UR_DQUOTE] = ACTIONS(2769), + [anon_sym_u8R_DQUOTE] = ACTIONS(2769), + [anon_sym_co_await] = ACTIONS(2767), + [anon_sym_new] = ACTIONS(2767), + [anon_sym_requires] = ACTIONS(2767), + [sym_this] = ACTIONS(2767), + }, + [464] = { + [ts_builtin_sym_end] = ACTIONS(2697), + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_include_token1] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_BANG] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_DASH] = ACTIONS(2695), + [anon_sym_PLUS] = ACTIONS(2695), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym_SEMI] = ACTIONS(2697), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym___cdecl] = ACTIONS(2695), + [anon_sym___clrcall] = ACTIONS(2695), + [anon_sym___stdcall] = ACTIONS(2695), + [anon_sym___fastcall] = ACTIONS(2695), + [anon_sym___thiscall] = ACTIONS(2695), + [anon_sym___vectorcall] = ACTIONS(2695), + [anon_sym_LBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [anon_sym_if] = ACTIONS(2695), + [anon_sym_else] = ACTIONS(2695), + [anon_sym_switch] = ACTIONS(2695), + [anon_sym_case] = ACTIONS(2695), + [anon_sym_default] = ACTIONS(2695), + [anon_sym_while] = ACTIONS(2695), + [anon_sym_do] = ACTIONS(2695), + [anon_sym_for] = ACTIONS(2695), + [anon_sym_return] = ACTIONS(2695), + [anon_sym_break] = ACTIONS(2695), + [anon_sym_continue] = ACTIONS(2695), + [anon_sym_goto] = ACTIONS(2695), + [anon_sym___try] = ACTIONS(2695), + [anon_sym___leave] = ACTIONS(2695), + [anon_sym_not] = ACTIONS(2695), + [anon_sym_compl] = ACTIONS(2695), + [anon_sym_DASH_DASH] = ACTIONS(2697), + [anon_sym_PLUS_PLUS] = ACTIONS(2697), + [anon_sym_sizeof] = ACTIONS(2695), + [anon_sym___alignof__] = ACTIONS(2695), + [anon_sym___alignof] = ACTIONS(2695), + [anon_sym__alignof] = ACTIONS(2695), + [anon_sym_alignof] = ACTIONS(2695), + [anon_sym__Alignof] = ACTIONS(2695), + [anon_sym_offsetof] = ACTIONS(2695), + [anon_sym__Generic] = ACTIONS(2695), + [anon_sym_asm] = ACTIONS(2695), + [anon_sym___asm__] = ACTIONS(2695), + [sym__number_literal] = ACTIONS(2697), + [anon_sym_L_SQUOTE] = ACTIONS(2697), + [anon_sym_u_SQUOTE] = ACTIONS(2697), + [anon_sym_U_SQUOTE] = ACTIONS(2697), + [anon_sym_u8_SQUOTE] = ACTIONS(2697), + [anon_sym_SQUOTE] = ACTIONS(2697), + [anon_sym_L_DQUOTE] = ACTIONS(2697), + [anon_sym_u_DQUOTE] = ACTIONS(2697), + [anon_sym_U_DQUOTE] = ACTIONS(2697), + [anon_sym_u8_DQUOTE] = ACTIONS(2697), + [anon_sym_DQUOTE] = ACTIONS(2697), + [sym_true] = ACTIONS(2695), + [sym_false] = ACTIONS(2695), + [anon_sym_NULL] = ACTIONS(2695), + [anon_sym_nullptr] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_try] = ACTIONS(2695), + [anon_sym_delete] = ACTIONS(2695), + [anon_sym_throw] = ACTIONS(2695), + [anon_sym_namespace] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + [anon_sym_concept] = ACTIONS(2695), + [anon_sym_co_return] = ACTIONS(2695), + [anon_sym_co_yield] = ACTIONS(2695), + [anon_sym_R_DQUOTE] = ACTIONS(2697), + [anon_sym_LR_DQUOTE] = ACTIONS(2697), + [anon_sym_uR_DQUOTE] = ACTIONS(2697), + [anon_sym_UR_DQUOTE] = ACTIONS(2697), + [anon_sym_u8R_DQUOTE] = ACTIONS(2697), + [anon_sym_co_await] = ACTIONS(2695), + [anon_sym_new] = ACTIONS(2695), + [anon_sym_requires] = ACTIONS(2695), + [sym_this] = ACTIONS(2695), + }, + [465] = { + [sym__identifier] = ACTIONS(2739), + [aux_sym_preproc_include_token1] = ACTIONS(2739), + [aux_sym_preproc_def_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token2] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2739), + [sym_preproc_directive] = ACTIONS(2739), + [anon_sym_LPAREN2] = ACTIONS(2741), + [anon_sym_BANG] = ACTIONS(2741), + [anon_sym_TILDE] = ACTIONS(2741), + [anon_sym_DASH] = ACTIONS(2739), + [anon_sym_PLUS] = ACTIONS(2739), + [anon_sym_STAR] = ACTIONS(2741), + [anon_sym_AMP_AMP] = ACTIONS(2741), + [anon_sym_AMP] = ACTIONS(2739), + [anon_sym_SEMI] = ACTIONS(2741), + [anon_sym___extension__] = ACTIONS(2739), + [anon_sym_typedef] = ACTIONS(2739), + [anon_sym_extern] = ACTIONS(2739), + [anon_sym___attribute__] = ACTIONS(2739), + [anon_sym_COLON_COLON] = ACTIONS(2741), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2741), + [anon_sym___declspec] = ACTIONS(2739), + [anon_sym___based] = ACTIONS(2739), + [anon_sym___cdecl] = ACTIONS(2739), + [anon_sym___clrcall] = ACTIONS(2739), + [anon_sym___stdcall] = ACTIONS(2739), + [anon_sym___fastcall] = ACTIONS(2739), + [anon_sym___thiscall] = ACTIONS(2739), + [anon_sym___vectorcall] = ACTIONS(2739), + [anon_sym_LBRACE] = ACTIONS(2741), + [anon_sym_signed] = ACTIONS(2739), + [anon_sym_unsigned] = ACTIONS(2739), + [anon_sym_long] = ACTIONS(2739), + [anon_sym_short] = ACTIONS(2739), + [anon_sym_LBRACK] = ACTIONS(2739), + [anon_sym_static] = ACTIONS(2739), + [anon_sym_register] = ACTIONS(2739), + [anon_sym_inline] = ACTIONS(2739), + [anon_sym___inline] = ACTIONS(2739), + [anon_sym___inline__] = ACTIONS(2739), + [anon_sym___forceinline] = ACTIONS(2739), + [anon_sym_thread_local] = ACTIONS(2739), + [anon_sym___thread] = ACTIONS(2739), + [anon_sym_const] = ACTIONS(2739), + [anon_sym_constexpr] = ACTIONS(2739), + [anon_sym_volatile] = ACTIONS(2739), + [anon_sym_restrict] = ACTIONS(2739), + [anon_sym___restrict__] = ACTIONS(2739), + [anon_sym__Atomic] = ACTIONS(2739), + [anon_sym__Noreturn] = ACTIONS(2739), + [anon_sym_noreturn] = ACTIONS(2739), + [anon_sym_mutable] = ACTIONS(2739), + [anon_sym_constinit] = ACTIONS(2739), + [anon_sym_consteval] = ACTIONS(2739), + [anon_sym_alignas] = ACTIONS(2739), + [anon_sym__Alignas] = ACTIONS(2739), + [sym_primitive_type] = ACTIONS(2739), + [anon_sym_enum] = ACTIONS(2739), + [anon_sym_class] = ACTIONS(2739), + [anon_sym_struct] = ACTIONS(2739), + [anon_sym_union] = ACTIONS(2739), + [anon_sym_if] = ACTIONS(2739), + [anon_sym_else] = ACTIONS(2739), + [anon_sym_switch] = ACTIONS(2739), + [anon_sym_case] = ACTIONS(2739), + [anon_sym_default] = ACTIONS(2739), + [anon_sym_while] = ACTIONS(2739), + [anon_sym_do] = ACTIONS(2739), + [anon_sym_for] = ACTIONS(2739), + [anon_sym_return] = ACTIONS(2739), + [anon_sym_break] = ACTIONS(2739), + [anon_sym_continue] = ACTIONS(2739), + [anon_sym_goto] = ACTIONS(2739), + [anon_sym___try] = ACTIONS(2739), + [anon_sym___leave] = ACTIONS(2739), + [anon_sym_not] = ACTIONS(2739), + [anon_sym_compl] = ACTIONS(2739), + [anon_sym_DASH_DASH] = ACTIONS(2741), + [anon_sym_PLUS_PLUS] = ACTIONS(2741), + [anon_sym_sizeof] = ACTIONS(2739), + [anon_sym___alignof__] = ACTIONS(2739), + [anon_sym___alignof] = ACTIONS(2739), + [anon_sym__alignof] = ACTIONS(2739), + [anon_sym_alignof] = ACTIONS(2739), + [anon_sym__Alignof] = ACTIONS(2739), + [anon_sym_offsetof] = ACTIONS(2739), + [anon_sym__Generic] = ACTIONS(2739), + [anon_sym_asm] = ACTIONS(2739), + [anon_sym___asm__] = ACTIONS(2739), + [sym__number_literal] = ACTIONS(2741), + [anon_sym_L_SQUOTE] = ACTIONS(2741), + [anon_sym_u_SQUOTE] = ACTIONS(2741), + [anon_sym_U_SQUOTE] = ACTIONS(2741), + [anon_sym_u8_SQUOTE] = ACTIONS(2741), + [anon_sym_SQUOTE] = ACTIONS(2741), + [anon_sym_L_DQUOTE] = ACTIONS(2741), + [anon_sym_u_DQUOTE] = ACTIONS(2741), + [anon_sym_U_DQUOTE] = ACTIONS(2741), + [anon_sym_u8_DQUOTE] = ACTIONS(2741), + [anon_sym_DQUOTE] = ACTIONS(2741), + [sym_true] = ACTIONS(2739), + [sym_false] = ACTIONS(2739), + [anon_sym_NULL] = ACTIONS(2739), + [anon_sym_nullptr] = ACTIONS(2739), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2741), + [sym_auto] = ACTIONS(2739), + [anon_sym_decltype] = ACTIONS(2739), + [sym_virtual] = ACTIONS(2739), + [anon_sym_explicit] = ACTIONS(2739), + [anon_sym_typename] = ACTIONS(2739), + [anon_sym_template] = ACTIONS(2739), + [anon_sym_operator] = ACTIONS(2739), + [anon_sym_try] = ACTIONS(2739), + [anon_sym_delete] = ACTIONS(2739), + [anon_sym_throw] = ACTIONS(2739), + [anon_sym_namespace] = ACTIONS(2739), + [anon_sym_using] = ACTIONS(2739), + [anon_sym_static_assert] = ACTIONS(2739), + [anon_sym_concept] = ACTIONS(2739), + [anon_sym_co_return] = ACTIONS(2739), + [anon_sym_co_yield] = ACTIONS(2739), + [anon_sym_R_DQUOTE] = ACTIONS(2741), + [anon_sym_LR_DQUOTE] = ACTIONS(2741), + [anon_sym_uR_DQUOTE] = ACTIONS(2741), + [anon_sym_UR_DQUOTE] = ACTIONS(2741), + [anon_sym_u8R_DQUOTE] = ACTIONS(2741), + [anon_sym_co_await] = ACTIONS(2739), + [anon_sym_new] = ACTIONS(2739), + [anon_sym_requires] = ACTIONS(2739), + [sym_this] = ACTIONS(2739), + }, + [466] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [467] = { + [ts_builtin_sym_end] = ACTIONS(2779), + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_include_token1] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym___cdecl] = ACTIONS(2777), + [anon_sym___clrcall] = ACTIONS(2777), + [anon_sym___stdcall] = ACTIONS(2777), + [anon_sym___fastcall] = ACTIONS(2777), + [anon_sym___thiscall] = ACTIONS(2777), + [anon_sym___vectorcall] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_case] = ACTIONS(2777), + [anon_sym_default] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_namespace] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + [anon_sym_concept] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [468] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_include_token1] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token2] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_BANG] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_DASH] = ACTIONS(2755), + [anon_sym_PLUS] = ACTIONS(2755), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym_SEMI] = ACTIONS(2757), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym___cdecl] = ACTIONS(2755), + [anon_sym___clrcall] = ACTIONS(2755), + [anon_sym___stdcall] = ACTIONS(2755), + [anon_sym___fastcall] = ACTIONS(2755), + [anon_sym___thiscall] = ACTIONS(2755), + [anon_sym___vectorcall] = ACTIONS(2755), + [anon_sym_LBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [anon_sym_if] = ACTIONS(2755), + [anon_sym_else] = ACTIONS(2755), + [anon_sym_switch] = ACTIONS(2755), + [anon_sym_case] = ACTIONS(2755), + [anon_sym_default] = ACTIONS(2755), + [anon_sym_while] = ACTIONS(2755), + [anon_sym_do] = ACTIONS(2755), + [anon_sym_for] = ACTIONS(2755), + [anon_sym_return] = ACTIONS(2755), + [anon_sym_break] = ACTIONS(2755), + [anon_sym_continue] = ACTIONS(2755), + [anon_sym_goto] = ACTIONS(2755), + [anon_sym___try] = ACTIONS(2755), + [anon_sym___leave] = ACTIONS(2755), + [anon_sym_not] = ACTIONS(2755), + [anon_sym_compl] = ACTIONS(2755), + [anon_sym_DASH_DASH] = ACTIONS(2757), + [anon_sym_PLUS_PLUS] = ACTIONS(2757), + [anon_sym_sizeof] = ACTIONS(2755), + [anon_sym___alignof__] = ACTIONS(2755), + [anon_sym___alignof] = ACTIONS(2755), + [anon_sym__alignof] = ACTIONS(2755), + [anon_sym_alignof] = ACTIONS(2755), + [anon_sym__Alignof] = ACTIONS(2755), + [anon_sym_offsetof] = ACTIONS(2755), + [anon_sym__Generic] = ACTIONS(2755), + [anon_sym_asm] = ACTIONS(2755), + [anon_sym___asm__] = ACTIONS(2755), + [sym__number_literal] = ACTIONS(2757), + [anon_sym_L_SQUOTE] = ACTIONS(2757), + [anon_sym_u_SQUOTE] = ACTIONS(2757), + [anon_sym_U_SQUOTE] = ACTIONS(2757), + [anon_sym_u8_SQUOTE] = ACTIONS(2757), + [anon_sym_SQUOTE] = ACTIONS(2757), + [anon_sym_L_DQUOTE] = ACTIONS(2757), + [anon_sym_u_DQUOTE] = ACTIONS(2757), + [anon_sym_U_DQUOTE] = ACTIONS(2757), + [anon_sym_u8_DQUOTE] = ACTIONS(2757), + [anon_sym_DQUOTE] = ACTIONS(2757), + [sym_true] = ACTIONS(2755), + [sym_false] = ACTIONS(2755), + [anon_sym_NULL] = ACTIONS(2755), + [anon_sym_nullptr] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_try] = ACTIONS(2755), + [anon_sym_delete] = ACTIONS(2755), + [anon_sym_throw] = ACTIONS(2755), + [anon_sym_namespace] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + [anon_sym_concept] = ACTIONS(2755), + [anon_sym_co_return] = ACTIONS(2755), + [anon_sym_co_yield] = ACTIONS(2755), + [anon_sym_R_DQUOTE] = ACTIONS(2757), + [anon_sym_LR_DQUOTE] = ACTIONS(2757), + [anon_sym_uR_DQUOTE] = ACTIONS(2757), + [anon_sym_UR_DQUOTE] = ACTIONS(2757), + [anon_sym_u8R_DQUOTE] = ACTIONS(2757), + [anon_sym_co_await] = ACTIONS(2755), + [anon_sym_new] = ACTIONS(2755), + [anon_sym_requires] = ACTIONS(2755), + [sym_this] = ACTIONS(2755), + }, + [469] = { + [sym__identifier] = ACTIONS(2773), + [aux_sym_preproc_include_token1] = ACTIONS(2773), + [aux_sym_preproc_def_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token1] = ACTIONS(2773), + [aux_sym_preproc_if_token2] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2773), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2773), + [sym_preproc_directive] = ACTIONS(2773), + [anon_sym_LPAREN2] = ACTIONS(2775), + [anon_sym_BANG] = ACTIONS(2775), + [anon_sym_TILDE] = ACTIONS(2775), + [anon_sym_DASH] = ACTIONS(2773), + [anon_sym_PLUS] = ACTIONS(2773), + [anon_sym_STAR] = ACTIONS(2775), + [anon_sym_AMP_AMP] = ACTIONS(2775), + [anon_sym_AMP] = ACTIONS(2773), + [anon_sym_SEMI] = ACTIONS(2775), + [anon_sym___extension__] = ACTIONS(2773), + [anon_sym_typedef] = ACTIONS(2773), + [anon_sym_extern] = ACTIONS(2773), + [anon_sym___attribute__] = ACTIONS(2773), + [anon_sym_COLON_COLON] = ACTIONS(2775), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2775), + [anon_sym___declspec] = ACTIONS(2773), + [anon_sym___based] = ACTIONS(2773), + [anon_sym___cdecl] = ACTIONS(2773), + [anon_sym___clrcall] = ACTIONS(2773), + [anon_sym___stdcall] = ACTIONS(2773), + [anon_sym___fastcall] = ACTIONS(2773), + [anon_sym___thiscall] = ACTIONS(2773), + [anon_sym___vectorcall] = ACTIONS(2773), + [anon_sym_LBRACE] = ACTIONS(2775), + [anon_sym_signed] = ACTIONS(2773), + [anon_sym_unsigned] = ACTIONS(2773), + [anon_sym_long] = ACTIONS(2773), + [anon_sym_short] = ACTIONS(2773), + [anon_sym_LBRACK] = ACTIONS(2773), + [anon_sym_static] = ACTIONS(2773), + [anon_sym_register] = ACTIONS(2773), + [anon_sym_inline] = ACTIONS(2773), + [anon_sym___inline] = ACTIONS(2773), + [anon_sym___inline__] = ACTIONS(2773), + [anon_sym___forceinline] = ACTIONS(2773), + [anon_sym_thread_local] = ACTIONS(2773), + [anon_sym___thread] = ACTIONS(2773), + [anon_sym_const] = ACTIONS(2773), + [anon_sym_constexpr] = ACTIONS(2773), + [anon_sym_volatile] = ACTIONS(2773), + [anon_sym_restrict] = ACTIONS(2773), + [anon_sym___restrict__] = ACTIONS(2773), + [anon_sym__Atomic] = ACTIONS(2773), + [anon_sym__Noreturn] = ACTIONS(2773), + [anon_sym_noreturn] = ACTIONS(2773), + [anon_sym_mutable] = ACTIONS(2773), + [anon_sym_constinit] = ACTIONS(2773), + [anon_sym_consteval] = ACTIONS(2773), + [anon_sym_alignas] = ACTIONS(2773), + [anon_sym__Alignas] = ACTIONS(2773), + [sym_primitive_type] = ACTIONS(2773), + [anon_sym_enum] = ACTIONS(2773), + [anon_sym_class] = ACTIONS(2773), + [anon_sym_struct] = ACTIONS(2773), + [anon_sym_union] = ACTIONS(2773), + [anon_sym_if] = ACTIONS(2773), + [anon_sym_else] = ACTIONS(2773), + [anon_sym_switch] = ACTIONS(2773), + [anon_sym_case] = ACTIONS(2773), + [anon_sym_default] = ACTIONS(2773), + [anon_sym_while] = ACTIONS(2773), + [anon_sym_do] = ACTIONS(2773), + [anon_sym_for] = ACTIONS(2773), + [anon_sym_return] = ACTIONS(2773), + [anon_sym_break] = ACTIONS(2773), + [anon_sym_continue] = ACTIONS(2773), + [anon_sym_goto] = ACTIONS(2773), + [anon_sym___try] = ACTIONS(2773), + [anon_sym___leave] = ACTIONS(2773), + [anon_sym_not] = ACTIONS(2773), + [anon_sym_compl] = ACTIONS(2773), + [anon_sym_DASH_DASH] = ACTIONS(2775), + [anon_sym_PLUS_PLUS] = ACTIONS(2775), + [anon_sym_sizeof] = ACTIONS(2773), + [anon_sym___alignof__] = ACTIONS(2773), + [anon_sym___alignof] = ACTIONS(2773), + [anon_sym__alignof] = ACTIONS(2773), + [anon_sym_alignof] = ACTIONS(2773), + [anon_sym__Alignof] = ACTIONS(2773), + [anon_sym_offsetof] = ACTIONS(2773), + [anon_sym__Generic] = ACTIONS(2773), + [anon_sym_asm] = ACTIONS(2773), + [anon_sym___asm__] = ACTIONS(2773), + [sym__number_literal] = ACTIONS(2775), + [anon_sym_L_SQUOTE] = ACTIONS(2775), + [anon_sym_u_SQUOTE] = ACTIONS(2775), + [anon_sym_U_SQUOTE] = ACTIONS(2775), + [anon_sym_u8_SQUOTE] = ACTIONS(2775), + [anon_sym_SQUOTE] = ACTIONS(2775), + [anon_sym_L_DQUOTE] = ACTIONS(2775), + [anon_sym_u_DQUOTE] = ACTIONS(2775), + [anon_sym_U_DQUOTE] = ACTIONS(2775), + [anon_sym_u8_DQUOTE] = ACTIONS(2775), + [anon_sym_DQUOTE] = ACTIONS(2775), + [sym_true] = ACTIONS(2773), + [sym_false] = ACTIONS(2773), + [anon_sym_NULL] = ACTIONS(2773), + [anon_sym_nullptr] = ACTIONS(2773), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2775), + [sym_auto] = ACTIONS(2773), + [anon_sym_decltype] = ACTIONS(2773), + [sym_virtual] = ACTIONS(2773), + [anon_sym_explicit] = ACTIONS(2773), + [anon_sym_typename] = ACTIONS(2773), + [anon_sym_template] = ACTIONS(2773), + [anon_sym_operator] = ACTIONS(2773), + [anon_sym_try] = ACTIONS(2773), + [anon_sym_delete] = ACTIONS(2773), + [anon_sym_throw] = ACTIONS(2773), + [anon_sym_namespace] = ACTIONS(2773), + [anon_sym_using] = ACTIONS(2773), + [anon_sym_static_assert] = ACTIONS(2773), + [anon_sym_concept] = ACTIONS(2773), + [anon_sym_co_return] = ACTIONS(2773), + [anon_sym_co_yield] = ACTIONS(2773), + [anon_sym_R_DQUOTE] = ACTIONS(2775), + [anon_sym_LR_DQUOTE] = ACTIONS(2775), + [anon_sym_uR_DQUOTE] = ACTIONS(2775), + [anon_sym_UR_DQUOTE] = ACTIONS(2775), + [anon_sym_u8R_DQUOTE] = ACTIONS(2775), + [anon_sym_co_await] = ACTIONS(2773), + [anon_sym_new] = ACTIONS(2773), + [anon_sym_requires] = ACTIONS(2773), + [sym_this] = ACTIONS(2773), + }, + [470] = { + [sym__identifier] = ACTIONS(2793), + [aux_sym_preproc_include_token1] = ACTIONS(2793), + [aux_sym_preproc_def_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2793), + [sym_preproc_directive] = ACTIONS(2793), + [anon_sym_LPAREN2] = ACTIONS(2795), + [anon_sym_BANG] = ACTIONS(2795), + [anon_sym_TILDE] = ACTIONS(2795), + [anon_sym_DASH] = ACTIONS(2793), + [anon_sym_PLUS] = ACTIONS(2793), + [anon_sym_STAR] = ACTIONS(2795), + [anon_sym_AMP_AMP] = ACTIONS(2795), + [anon_sym_AMP] = ACTIONS(2793), + [anon_sym_SEMI] = ACTIONS(2795), + [anon_sym___extension__] = ACTIONS(2793), + [anon_sym_typedef] = ACTIONS(2793), + [anon_sym_extern] = ACTIONS(2793), + [anon_sym___attribute__] = ACTIONS(2793), + [anon_sym_COLON_COLON] = ACTIONS(2795), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2795), + [anon_sym___declspec] = ACTIONS(2793), + [anon_sym___based] = ACTIONS(2793), + [anon_sym___cdecl] = ACTIONS(2793), + [anon_sym___clrcall] = ACTIONS(2793), + [anon_sym___stdcall] = ACTIONS(2793), + [anon_sym___fastcall] = ACTIONS(2793), + [anon_sym___thiscall] = ACTIONS(2793), + [anon_sym___vectorcall] = ACTIONS(2793), + [anon_sym_LBRACE] = ACTIONS(2795), + [anon_sym_RBRACE] = ACTIONS(2795), + [anon_sym_signed] = ACTIONS(2793), + [anon_sym_unsigned] = ACTIONS(2793), + [anon_sym_long] = ACTIONS(2793), + [anon_sym_short] = ACTIONS(2793), + [anon_sym_LBRACK] = ACTIONS(2793), + [anon_sym_static] = ACTIONS(2793), + [anon_sym_register] = ACTIONS(2793), + [anon_sym_inline] = ACTIONS(2793), + [anon_sym___inline] = ACTIONS(2793), + [anon_sym___inline__] = ACTIONS(2793), + [anon_sym___forceinline] = ACTIONS(2793), + [anon_sym_thread_local] = ACTIONS(2793), + [anon_sym___thread] = ACTIONS(2793), + [anon_sym_const] = ACTIONS(2793), + [anon_sym_constexpr] = ACTIONS(2793), + [anon_sym_volatile] = ACTIONS(2793), + [anon_sym_restrict] = ACTIONS(2793), + [anon_sym___restrict__] = ACTIONS(2793), + [anon_sym__Atomic] = ACTIONS(2793), + [anon_sym__Noreturn] = ACTIONS(2793), + [anon_sym_noreturn] = ACTIONS(2793), + [anon_sym_mutable] = ACTIONS(2793), + [anon_sym_constinit] = ACTIONS(2793), + [anon_sym_consteval] = ACTIONS(2793), + [anon_sym_alignas] = ACTIONS(2793), + [anon_sym__Alignas] = ACTIONS(2793), + [sym_primitive_type] = ACTIONS(2793), + [anon_sym_enum] = ACTIONS(2793), + [anon_sym_class] = ACTIONS(2793), + [anon_sym_struct] = ACTIONS(2793), + [anon_sym_union] = ACTIONS(2793), + [anon_sym_if] = ACTIONS(2793), + [anon_sym_else] = ACTIONS(2793), + [anon_sym_switch] = ACTIONS(2793), + [anon_sym_case] = ACTIONS(2793), + [anon_sym_default] = ACTIONS(2793), + [anon_sym_while] = ACTIONS(2793), + [anon_sym_do] = ACTIONS(2793), + [anon_sym_for] = ACTIONS(2793), + [anon_sym_return] = ACTIONS(2793), + [anon_sym_break] = ACTIONS(2793), + [anon_sym_continue] = ACTIONS(2793), + [anon_sym_goto] = ACTIONS(2793), + [anon_sym___try] = ACTIONS(2793), + [anon_sym___leave] = ACTIONS(2793), + [anon_sym_not] = ACTIONS(2793), + [anon_sym_compl] = ACTIONS(2793), + [anon_sym_DASH_DASH] = ACTIONS(2795), + [anon_sym_PLUS_PLUS] = ACTIONS(2795), + [anon_sym_sizeof] = ACTIONS(2793), + [anon_sym___alignof__] = ACTIONS(2793), + [anon_sym___alignof] = ACTIONS(2793), + [anon_sym__alignof] = ACTIONS(2793), + [anon_sym_alignof] = ACTIONS(2793), + [anon_sym__Alignof] = ACTIONS(2793), + [anon_sym_offsetof] = ACTIONS(2793), + [anon_sym__Generic] = ACTIONS(2793), + [anon_sym_asm] = ACTIONS(2793), + [anon_sym___asm__] = ACTIONS(2793), + [sym__number_literal] = ACTIONS(2795), + [anon_sym_L_SQUOTE] = ACTIONS(2795), + [anon_sym_u_SQUOTE] = ACTIONS(2795), + [anon_sym_U_SQUOTE] = ACTIONS(2795), + [anon_sym_u8_SQUOTE] = ACTIONS(2795), + [anon_sym_SQUOTE] = ACTIONS(2795), + [anon_sym_L_DQUOTE] = ACTIONS(2795), + [anon_sym_u_DQUOTE] = ACTIONS(2795), + [anon_sym_U_DQUOTE] = ACTIONS(2795), + [anon_sym_u8_DQUOTE] = ACTIONS(2795), + [anon_sym_DQUOTE] = ACTIONS(2795), + [sym_true] = ACTIONS(2793), + [sym_false] = ACTIONS(2793), + [anon_sym_NULL] = ACTIONS(2793), + [anon_sym_nullptr] = ACTIONS(2793), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2795), + [sym_auto] = ACTIONS(2793), + [anon_sym_decltype] = ACTIONS(2793), + [sym_virtual] = ACTIONS(2793), + [anon_sym_explicit] = ACTIONS(2793), + [anon_sym_typename] = ACTIONS(2793), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_operator] = ACTIONS(2793), + [anon_sym_try] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2793), + [anon_sym_throw] = ACTIONS(2793), + [anon_sym_namespace] = ACTIONS(2793), + [anon_sym_using] = ACTIONS(2793), + [anon_sym_static_assert] = ACTIONS(2793), + [anon_sym_concept] = ACTIONS(2793), + [anon_sym_co_return] = ACTIONS(2793), + [anon_sym_co_yield] = ACTIONS(2793), + [anon_sym_R_DQUOTE] = ACTIONS(2795), + [anon_sym_LR_DQUOTE] = ACTIONS(2795), + [anon_sym_uR_DQUOTE] = ACTIONS(2795), + [anon_sym_UR_DQUOTE] = ACTIONS(2795), + [anon_sym_u8R_DQUOTE] = ACTIONS(2795), + [anon_sym_co_await] = ACTIONS(2793), + [anon_sym_new] = ACTIONS(2793), + [anon_sym_requires] = ACTIONS(2793), + [sym_this] = ACTIONS(2793), + }, + [471] = { + [sym__identifier] = ACTIONS(2805), + [aux_sym_preproc_include_token1] = ACTIONS(2805), + [aux_sym_preproc_def_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token2] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2805), + [sym_preproc_directive] = ACTIONS(2805), + [anon_sym_LPAREN2] = ACTIONS(2807), + [anon_sym_BANG] = ACTIONS(2807), + [anon_sym_TILDE] = ACTIONS(2807), + [anon_sym_DASH] = ACTIONS(2805), + [anon_sym_PLUS] = ACTIONS(2805), + [anon_sym_STAR] = ACTIONS(2807), + [anon_sym_AMP_AMP] = ACTIONS(2807), + [anon_sym_AMP] = ACTIONS(2805), + [anon_sym_SEMI] = ACTIONS(2807), + [anon_sym___extension__] = ACTIONS(2805), + [anon_sym_typedef] = ACTIONS(2805), + [anon_sym_extern] = ACTIONS(2805), + [anon_sym___attribute__] = ACTIONS(2805), + [anon_sym_COLON_COLON] = ACTIONS(2807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2807), + [anon_sym___declspec] = ACTIONS(2805), + [anon_sym___based] = ACTIONS(2805), + [anon_sym___cdecl] = ACTIONS(2805), + [anon_sym___clrcall] = ACTIONS(2805), + [anon_sym___stdcall] = ACTIONS(2805), + [anon_sym___fastcall] = ACTIONS(2805), + [anon_sym___thiscall] = ACTIONS(2805), + [anon_sym___vectorcall] = ACTIONS(2805), + [anon_sym_LBRACE] = ACTIONS(2807), + [anon_sym_signed] = ACTIONS(2805), + [anon_sym_unsigned] = ACTIONS(2805), + [anon_sym_long] = ACTIONS(2805), + [anon_sym_short] = ACTIONS(2805), + [anon_sym_LBRACK] = ACTIONS(2805), + [anon_sym_static] = ACTIONS(2805), + [anon_sym_register] = ACTIONS(2805), + [anon_sym_inline] = ACTIONS(2805), + [anon_sym___inline] = ACTIONS(2805), + [anon_sym___inline__] = ACTIONS(2805), + [anon_sym___forceinline] = ACTIONS(2805), + [anon_sym_thread_local] = ACTIONS(2805), + [anon_sym___thread] = ACTIONS(2805), + [anon_sym_const] = ACTIONS(2805), + [anon_sym_constexpr] = ACTIONS(2805), + [anon_sym_volatile] = ACTIONS(2805), + [anon_sym_restrict] = ACTIONS(2805), + [anon_sym___restrict__] = ACTIONS(2805), + [anon_sym__Atomic] = ACTIONS(2805), + [anon_sym__Noreturn] = ACTIONS(2805), + [anon_sym_noreturn] = ACTIONS(2805), + [anon_sym_mutable] = ACTIONS(2805), + [anon_sym_constinit] = ACTIONS(2805), + [anon_sym_consteval] = ACTIONS(2805), + [anon_sym_alignas] = ACTIONS(2805), + [anon_sym__Alignas] = ACTIONS(2805), + [sym_primitive_type] = ACTIONS(2805), + [anon_sym_enum] = ACTIONS(2805), + [anon_sym_class] = ACTIONS(2805), + [anon_sym_struct] = ACTIONS(2805), + [anon_sym_union] = ACTIONS(2805), + [anon_sym_if] = ACTIONS(2805), + [anon_sym_else] = ACTIONS(2805), + [anon_sym_switch] = ACTIONS(2805), + [anon_sym_case] = ACTIONS(2805), + [anon_sym_default] = ACTIONS(2805), + [anon_sym_while] = ACTIONS(2805), + [anon_sym_do] = ACTIONS(2805), + [anon_sym_for] = ACTIONS(2805), + [anon_sym_return] = ACTIONS(2805), + [anon_sym_break] = ACTIONS(2805), + [anon_sym_continue] = ACTIONS(2805), + [anon_sym_goto] = ACTIONS(2805), + [anon_sym___try] = ACTIONS(2805), + [anon_sym___leave] = ACTIONS(2805), + [anon_sym_not] = ACTIONS(2805), + [anon_sym_compl] = ACTIONS(2805), + [anon_sym_DASH_DASH] = ACTIONS(2807), + [anon_sym_PLUS_PLUS] = ACTIONS(2807), + [anon_sym_sizeof] = ACTIONS(2805), + [anon_sym___alignof__] = ACTIONS(2805), + [anon_sym___alignof] = ACTIONS(2805), + [anon_sym__alignof] = ACTIONS(2805), + [anon_sym_alignof] = ACTIONS(2805), + [anon_sym__Alignof] = ACTIONS(2805), + [anon_sym_offsetof] = ACTIONS(2805), + [anon_sym__Generic] = ACTIONS(2805), + [anon_sym_asm] = ACTIONS(2805), + [anon_sym___asm__] = ACTIONS(2805), + [sym__number_literal] = ACTIONS(2807), + [anon_sym_L_SQUOTE] = ACTIONS(2807), + [anon_sym_u_SQUOTE] = ACTIONS(2807), + [anon_sym_U_SQUOTE] = ACTIONS(2807), + [anon_sym_u8_SQUOTE] = ACTIONS(2807), + [anon_sym_SQUOTE] = ACTIONS(2807), + [anon_sym_L_DQUOTE] = ACTIONS(2807), + [anon_sym_u_DQUOTE] = ACTIONS(2807), + [anon_sym_U_DQUOTE] = ACTIONS(2807), + [anon_sym_u8_DQUOTE] = ACTIONS(2807), + [anon_sym_DQUOTE] = ACTIONS(2807), + [sym_true] = ACTIONS(2805), + [sym_false] = ACTIONS(2805), + [anon_sym_NULL] = ACTIONS(2805), + [anon_sym_nullptr] = ACTIONS(2805), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2807), + [sym_auto] = ACTIONS(2805), + [anon_sym_decltype] = ACTIONS(2805), + [sym_virtual] = ACTIONS(2805), + [anon_sym_explicit] = ACTIONS(2805), + [anon_sym_typename] = ACTIONS(2805), + [anon_sym_template] = ACTIONS(2805), + [anon_sym_operator] = ACTIONS(2805), + [anon_sym_try] = ACTIONS(2805), + [anon_sym_delete] = ACTIONS(2805), + [anon_sym_throw] = ACTIONS(2805), + [anon_sym_namespace] = ACTIONS(2805), + [anon_sym_using] = ACTIONS(2805), + [anon_sym_static_assert] = ACTIONS(2805), + [anon_sym_concept] = ACTIONS(2805), + [anon_sym_co_return] = ACTIONS(2805), + [anon_sym_co_yield] = ACTIONS(2805), + [anon_sym_R_DQUOTE] = ACTIONS(2807), + [anon_sym_LR_DQUOTE] = ACTIONS(2807), + [anon_sym_uR_DQUOTE] = ACTIONS(2807), + [anon_sym_UR_DQUOTE] = ACTIONS(2807), + [anon_sym_u8R_DQUOTE] = ACTIONS(2807), + [anon_sym_co_await] = ACTIONS(2805), + [anon_sym_new] = ACTIONS(2805), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2805), + }, + [472] = { + [sym__identifier] = ACTIONS(2731), + [aux_sym_preproc_include_token1] = ACTIONS(2731), + [aux_sym_preproc_def_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2731), + [sym_preproc_directive] = ACTIONS(2731), + [anon_sym_LPAREN2] = ACTIONS(2733), + [anon_sym_BANG] = ACTIONS(2733), + [anon_sym_TILDE] = ACTIONS(2733), + [anon_sym_DASH] = ACTIONS(2731), + [anon_sym_PLUS] = ACTIONS(2731), + [anon_sym_STAR] = ACTIONS(2733), + [anon_sym_AMP_AMP] = ACTIONS(2733), + [anon_sym_AMP] = ACTIONS(2731), + [anon_sym_SEMI] = ACTIONS(2733), + [anon_sym___extension__] = ACTIONS(2731), + [anon_sym_typedef] = ACTIONS(2731), + [anon_sym_extern] = ACTIONS(2731), + [anon_sym___attribute__] = ACTIONS(2731), + [anon_sym_COLON_COLON] = ACTIONS(2733), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2733), + [anon_sym___declspec] = ACTIONS(2731), + [anon_sym___based] = ACTIONS(2731), + [anon_sym___cdecl] = ACTIONS(2731), + [anon_sym___clrcall] = ACTIONS(2731), + [anon_sym___stdcall] = ACTIONS(2731), + [anon_sym___fastcall] = ACTIONS(2731), + [anon_sym___thiscall] = ACTIONS(2731), + [anon_sym___vectorcall] = ACTIONS(2731), + [anon_sym_LBRACE] = ACTIONS(2733), + [anon_sym_RBRACE] = ACTIONS(2733), + [anon_sym_signed] = ACTIONS(2731), + [anon_sym_unsigned] = ACTIONS(2731), + [anon_sym_long] = ACTIONS(2731), + [anon_sym_short] = ACTIONS(2731), + [anon_sym_LBRACK] = ACTIONS(2731), + [anon_sym_static] = ACTIONS(2731), + [anon_sym_register] = ACTIONS(2731), + [anon_sym_inline] = ACTIONS(2731), + [anon_sym___inline] = ACTIONS(2731), + [anon_sym___inline__] = ACTIONS(2731), + [anon_sym___forceinline] = ACTIONS(2731), + [anon_sym_thread_local] = ACTIONS(2731), + [anon_sym___thread] = ACTIONS(2731), + [anon_sym_const] = ACTIONS(2731), + [anon_sym_constexpr] = ACTIONS(2731), + [anon_sym_volatile] = ACTIONS(2731), + [anon_sym_restrict] = ACTIONS(2731), + [anon_sym___restrict__] = ACTIONS(2731), + [anon_sym__Atomic] = ACTIONS(2731), + [anon_sym__Noreturn] = ACTIONS(2731), + [anon_sym_noreturn] = ACTIONS(2731), + [anon_sym_mutable] = ACTIONS(2731), + [anon_sym_constinit] = ACTIONS(2731), + [anon_sym_consteval] = ACTIONS(2731), + [anon_sym_alignas] = ACTIONS(2731), + [anon_sym__Alignas] = ACTIONS(2731), + [sym_primitive_type] = ACTIONS(2731), + [anon_sym_enum] = ACTIONS(2731), + [anon_sym_class] = ACTIONS(2731), + [anon_sym_struct] = ACTIONS(2731), + [anon_sym_union] = ACTIONS(2731), + [anon_sym_if] = ACTIONS(2731), + [anon_sym_else] = ACTIONS(2731), + [anon_sym_switch] = ACTIONS(2731), + [anon_sym_case] = ACTIONS(2731), + [anon_sym_default] = ACTIONS(2731), + [anon_sym_while] = ACTIONS(2731), + [anon_sym_do] = ACTIONS(2731), + [anon_sym_for] = ACTIONS(2731), + [anon_sym_return] = ACTIONS(2731), + [anon_sym_break] = ACTIONS(2731), + [anon_sym_continue] = ACTIONS(2731), + [anon_sym_goto] = ACTIONS(2731), + [anon_sym___try] = ACTIONS(2731), + [anon_sym___leave] = ACTIONS(2731), + [anon_sym_not] = ACTIONS(2731), + [anon_sym_compl] = ACTIONS(2731), + [anon_sym_DASH_DASH] = ACTIONS(2733), + [anon_sym_PLUS_PLUS] = ACTIONS(2733), + [anon_sym_sizeof] = ACTIONS(2731), + [anon_sym___alignof__] = ACTIONS(2731), + [anon_sym___alignof] = ACTIONS(2731), + [anon_sym__alignof] = ACTIONS(2731), + [anon_sym_alignof] = ACTIONS(2731), + [anon_sym__Alignof] = ACTIONS(2731), + [anon_sym_offsetof] = ACTIONS(2731), + [anon_sym__Generic] = ACTIONS(2731), + [anon_sym_asm] = ACTIONS(2731), + [anon_sym___asm__] = ACTIONS(2731), + [sym__number_literal] = ACTIONS(2733), + [anon_sym_L_SQUOTE] = ACTIONS(2733), + [anon_sym_u_SQUOTE] = ACTIONS(2733), + [anon_sym_U_SQUOTE] = ACTIONS(2733), + [anon_sym_u8_SQUOTE] = ACTIONS(2733), + [anon_sym_SQUOTE] = ACTIONS(2733), + [anon_sym_L_DQUOTE] = ACTIONS(2733), + [anon_sym_u_DQUOTE] = ACTIONS(2733), + [anon_sym_U_DQUOTE] = ACTIONS(2733), + [anon_sym_u8_DQUOTE] = ACTIONS(2733), + [anon_sym_DQUOTE] = ACTIONS(2733), + [sym_true] = ACTIONS(2731), + [sym_false] = ACTIONS(2731), + [anon_sym_NULL] = ACTIONS(2731), + [anon_sym_nullptr] = ACTIONS(2731), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2733), + [sym_auto] = ACTIONS(2731), + [anon_sym_decltype] = ACTIONS(2731), + [sym_virtual] = ACTIONS(2731), + [anon_sym_explicit] = ACTIONS(2731), + [anon_sym_typename] = ACTIONS(2731), + [anon_sym_template] = ACTIONS(2731), + [anon_sym_operator] = ACTIONS(2731), + [anon_sym_try] = ACTIONS(2731), + [anon_sym_delete] = ACTIONS(2731), + [anon_sym_throw] = ACTIONS(2731), + [anon_sym_namespace] = ACTIONS(2731), + [anon_sym_using] = ACTIONS(2731), + [anon_sym_static_assert] = ACTIONS(2731), + [anon_sym_concept] = ACTIONS(2731), + [anon_sym_co_return] = ACTIONS(2731), + [anon_sym_co_yield] = ACTIONS(2731), + [anon_sym_R_DQUOTE] = ACTIONS(2733), + [anon_sym_LR_DQUOTE] = ACTIONS(2733), + [anon_sym_uR_DQUOTE] = ACTIONS(2733), + [anon_sym_UR_DQUOTE] = ACTIONS(2733), + [anon_sym_u8R_DQUOTE] = ACTIONS(2733), + [anon_sym_co_await] = ACTIONS(2731), + [anon_sym_new] = ACTIONS(2731), + [anon_sym_requires] = ACTIONS(2731), + [sym_this] = ACTIONS(2731), + }, + [473] = { + [sym__identifier] = ACTIONS(2739), + [aux_sym_preproc_include_token1] = ACTIONS(2739), + [aux_sym_preproc_def_token1] = ACTIONS(2739), + [aux_sym_preproc_if_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2739), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2739), + [sym_preproc_directive] = ACTIONS(2739), + [anon_sym_LPAREN2] = ACTIONS(2741), + [anon_sym_BANG] = ACTIONS(2741), + [anon_sym_TILDE] = ACTIONS(2741), + [anon_sym_DASH] = ACTIONS(2739), + [anon_sym_PLUS] = ACTIONS(2739), + [anon_sym_STAR] = ACTIONS(2741), + [anon_sym_AMP_AMP] = ACTIONS(2741), + [anon_sym_AMP] = ACTIONS(2739), + [anon_sym_SEMI] = ACTIONS(2741), + [anon_sym___extension__] = ACTIONS(2739), + [anon_sym_typedef] = ACTIONS(2739), + [anon_sym_extern] = ACTIONS(2739), + [anon_sym___attribute__] = ACTIONS(2739), + [anon_sym_COLON_COLON] = ACTIONS(2741), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2741), + [anon_sym___declspec] = ACTIONS(2739), + [anon_sym___based] = ACTIONS(2739), + [anon_sym___cdecl] = ACTIONS(2739), + [anon_sym___clrcall] = ACTIONS(2739), + [anon_sym___stdcall] = ACTIONS(2739), + [anon_sym___fastcall] = ACTIONS(2739), + [anon_sym___thiscall] = ACTIONS(2739), + [anon_sym___vectorcall] = ACTIONS(2739), + [anon_sym_LBRACE] = ACTIONS(2741), + [anon_sym_RBRACE] = ACTIONS(2741), + [anon_sym_signed] = ACTIONS(2739), + [anon_sym_unsigned] = ACTIONS(2739), + [anon_sym_long] = ACTIONS(2739), + [anon_sym_short] = ACTIONS(2739), + [anon_sym_LBRACK] = ACTIONS(2739), + [anon_sym_static] = ACTIONS(2739), + [anon_sym_register] = ACTIONS(2739), + [anon_sym_inline] = ACTIONS(2739), + [anon_sym___inline] = ACTIONS(2739), + [anon_sym___inline__] = ACTIONS(2739), + [anon_sym___forceinline] = ACTIONS(2739), + [anon_sym_thread_local] = ACTIONS(2739), + [anon_sym___thread] = ACTIONS(2739), + [anon_sym_const] = ACTIONS(2739), + [anon_sym_constexpr] = ACTIONS(2739), + [anon_sym_volatile] = ACTIONS(2739), + [anon_sym_restrict] = ACTIONS(2739), + [anon_sym___restrict__] = ACTIONS(2739), + [anon_sym__Atomic] = ACTIONS(2739), + [anon_sym__Noreturn] = ACTIONS(2739), + [anon_sym_noreturn] = ACTIONS(2739), + [anon_sym_mutable] = ACTIONS(2739), + [anon_sym_constinit] = ACTIONS(2739), + [anon_sym_consteval] = ACTIONS(2739), + [anon_sym_alignas] = ACTIONS(2739), + [anon_sym__Alignas] = ACTIONS(2739), + [sym_primitive_type] = ACTIONS(2739), + [anon_sym_enum] = ACTIONS(2739), + [anon_sym_class] = ACTIONS(2739), + [anon_sym_struct] = ACTIONS(2739), + [anon_sym_union] = ACTIONS(2739), + [anon_sym_if] = ACTIONS(2739), + [anon_sym_else] = ACTIONS(2739), + [anon_sym_switch] = ACTIONS(2739), + [anon_sym_case] = ACTIONS(2739), + [anon_sym_default] = ACTIONS(2739), + [anon_sym_while] = ACTIONS(2739), + [anon_sym_do] = ACTIONS(2739), + [anon_sym_for] = ACTIONS(2739), + [anon_sym_return] = ACTIONS(2739), + [anon_sym_break] = ACTIONS(2739), + [anon_sym_continue] = ACTIONS(2739), + [anon_sym_goto] = ACTIONS(2739), + [anon_sym___try] = ACTIONS(2739), + [anon_sym___leave] = ACTIONS(2739), + [anon_sym_not] = ACTIONS(2739), + [anon_sym_compl] = ACTIONS(2739), + [anon_sym_DASH_DASH] = ACTIONS(2741), + [anon_sym_PLUS_PLUS] = ACTIONS(2741), + [anon_sym_sizeof] = ACTIONS(2739), + [anon_sym___alignof__] = ACTIONS(2739), + [anon_sym___alignof] = ACTIONS(2739), + [anon_sym__alignof] = ACTIONS(2739), + [anon_sym_alignof] = ACTIONS(2739), + [anon_sym__Alignof] = ACTIONS(2739), + [anon_sym_offsetof] = ACTIONS(2739), + [anon_sym__Generic] = ACTIONS(2739), + [anon_sym_asm] = ACTIONS(2739), + [anon_sym___asm__] = ACTIONS(2739), + [sym__number_literal] = ACTIONS(2741), + [anon_sym_L_SQUOTE] = ACTIONS(2741), + [anon_sym_u_SQUOTE] = ACTIONS(2741), + [anon_sym_U_SQUOTE] = ACTIONS(2741), + [anon_sym_u8_SQUOTE] = ACTIONS(2741), + [anon_sym_SQUOTE] = ACTIONS(2741), + [anon_sym_L_DQUOTE] = ACTIONS(2741), + [anon_sym_u_DQUOTE] = ACTIONS(2741), + [anon_sym_U_DQUOTE] = ACTIONS(2741), + [anon_sym_u8_DQUOTE] = ACTIONS(2741), + [anon_sym_DQUOTE] = ACTIONS(2741), + [sym_true] = ACTIONS(2739), + [sym_false] = ACTIONS(2739), + [anon_sym_NULL] = ACTIONS(2739), + [anon_sym_nullptr] = ACTIONS(2739), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2741), + [sym_auto] = ACTIONS(2739), + [anon_sym_decltype] = ACTIONS(2739), + [sym_virtual] = ACTIONS(2739), + [anon_sym_explicit] = ACTIONS(2739), + [anon_sym_typename] = ACTIONS(2739), + [anon_sym_template] = ACTIONS(2739), + [anon_sym_operator] = ACTIONS(2739), + [anon_sym_try] = ACTIONS(2739), + [anon_sym_delete] = ACTIONS(2739), + [anon_sym_throw] = ACTIONS(2739), + [anon_sym_namespace] = ACTIONS(2739), + [anon_sym_using] = ACTIONS(2739), + [anon_sym_static_assert] = ACTIONS(2739), + [anon_sym_concept] = ACTIONS(2739), + [anon_sym_co_return] = ACTIONS(2739), + [anon_sym_co_yield] = ACTIONS(2739), + [anon_sym_R_DQUOTE] = ACTIONS(2741), + [anon_sym_LR_DQUOTE] = ACTIONS(2741), + [anon_sym_uR_DQUOTE] = ACTIONS(2741), + [anon_sym_UR_DQUOTE] = ACTIONS(2741), + [anon_sym_u8R_DQUOTE] = ACTIONS(2741), + [anon_sym_co_await] = ACTIONS(2739), + [anon_sym_new] = ACTIONS(2739), + [anon_sym_requires] = ACTIONS(2739), + [sym_this] = ACTIONS(2739), + }, + [474] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [475] = { + [ts_builtin_sym_end] = ACTIONS(2717), + [sym__identifier] = ACTIONS(2715), + [aux_sym_preproc_include_token1] = ACTIONS(2715), + [aux_sym_preproc_def_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2715), + [sym_preproc_directive] = ACTIONS(2715), + [anon_sym_LPAREN2] = ACTIONS(2717), + [anon_sym_BANG] = ACTIONS(2717), + [anon_sym_TILDE] = ACTIONS(2717), + [anon_sym_DASH] = ACTIONS(2715), + [anon_sym_PLUS] = ACTIONS(2715), + [anon_sym_STAR] = ACTIONS(2717), + [anon_sym_AMP_AMP] = ACTIONS(2717), + [anon_sym_AMP] = ACTIONS(2715), + [anon_sym_SEMI] = ACTIONS(2717), + [anon_sym___extension__] = ACTIONS(2715), + [anon_sym_typedef] = ACTIONS(2715), + [anon_sym_extern] = ACTIONS(2715), + [anon_sym___attribute__] = ACTIONS(2715), + [anon_sym_COLON_COLON] = ACTIONS(2717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2717), + [anon_sym___declspec] = ACTIONS(2715), + [anon_sym___based] = ACTIONS(2715), + [anon_sym___cdecl] = ACTIONS(2715), + [anon_sym___clrcall] = ACTIONS(2715), + [anon_sym___stdcall] = ACTIONS(2715), + [anon_sym___fastcall] = ACTIONS(2715), + [anon_sym___thiscall] = ACTIONS(2715), + [anon_sym___vectorcall] = ACTIONS(2715), + [anon_sym_LBRACE] = ACTIONS(2717), + [anon_sym_signed] = ACTIONS(2715), + [anon_sym_unsigned] = ACTIONS(2715), + [anon_sym_long] = ACTIONS(2715), + [anon_sym_short] = ACTIONS(2715), + [anon_sym_LBRACK] = ACTIONS(2715), + [anon_sym_static] = ACTIONS(2715), + [anon_sym_register] = ACTIONS(2715), + [anon_sym_inline] = ACTIONS(2715), + [anon_sym___inline] = ACTIONS(2715), + [anon_sym___inline__] = ACTIONS(2715), + [anon_sym___forceinline] = ACTIONS(2715), + [anon_sym_thread_local] = ACTIONS(2715), + [anon_sym___thread] = ACTIONS(2715), + [anon_sym_const] = ACTIONS(2715), + [anon_sym_constexpr] = ACTIONS(2715), + [anon_sym_volatile] = ACTIONS(2715), + [anon_sym_restrict] = ACTIONS(2715), + [anon_sym___restrict__] = ACTIONS(2715), + [anon_sym__Atomic] = ACTIONS(2715), + [anon_sym__Noreturn] = ACTIONS(2715), + [anon_sym_noreturn] = ACTIONS(2715), + [anon_sym_mutable] = ACTIONS(2715), + [anon_sym_constinit] = ACTIONS(2715), + [anon_sym_consteval] = ACTIONS(2715), + [anon_sym_alignas] = ACTIONS(2715), + [anon_sym__Alignas] = ACTIONS(2715), + [sym_primitive_type] = ACTIONS(2715), + [anon_sym_enum] = ACTIONS(2715), + [anon_sym_class] = ACTIONS(2715), + [anon_sym_struct] = ACTIONS(2715), + [anon_sym_union] = ACTIONS(2715), + [anon_sym_if] = ACTIONS(2715), + [anon_sym_else] = ACTIONS(2715), + [anon_sym_switch] = ACTIONS(2715), + [anon_sym_case] = ACTIONS(2715), + [anon_sym_default] = ACTIONS(2715), + [anon_sym_while] = ACTIONS(2715), + [anon_sym_do] = ACTIONS(2715), + [anon_sym_for] = ACTIONS(2715), + [anon_sym_return] = ACTIONS(2715), + [anon_sym_break] = ACTIONS(2715), + [anon_sym_continue] = ACTIONS(2715), + [anon_sym_goto] = ACTIONS(2715), + [anon_sym___try] = ACTIONS(2715), + [anon_sym___leave] = ACTIONS(2715), + [anon_sym_not] = ACTIONS(2715), + [anon_sym_compl] = ACTIONS(2715), + [anon_sym_DASH_DASH] = ACTIONS(2717), + [anon_sym_PLUS_PLUS] = ACTIONS(2717), + [anon_sym_sizeof] = ACTIONS(2715), + [anon_sym___alignof__] = ACTIONS(2715), + [anon_sym___alignof] = ACTIONS(2715), + [anon_sym__alignof] = ACTIONS(2715), + [anon_sym_alignof] = ACTIONS(2715), + [anon_sym__Alignof] = ACTIONS(2715), + [anon_sym_offsetof] = ACTIONS(2715), + [anon_sym__Generic] = ACTIONS(2715), + [anon_sym_asm] = ACTIONS(2715), + [anon_sym___asm__] = ACTIONS(2715), + [sym__number_literal] = ACTIONS(2717), + [anon_sym_L_SQUOTE] = ACTIONS(2717), + [anon_sym_u_SQUOTE] = ACTIONS(2717), + [anon_sym_U_SQUOTE] = ACTIONS(2717), + [anon_sym_u8_SQUOTE] = ACTIONS(2717), + [anon_sym_SQUOTE] = ACTIONS(2717), + [anon_sym_L_DQUOTE] = ACTIONS(2717), + [anon_sym_u_DQUOTE] = ACTIONS(2717), + [anon_sym_U_DQUOTE] = ACTIONS(2717), + [anon_sym_u8_DQUOTE] = ACTIONS(2717), + [anon_sym_DQUOTE] = ACTIONS(2717), + [sym_true] = ACTIONS(2715), + [sym_false] = ACTIONS(2715), + [anon_sym_NULL] = ACTIONS(2715), + [anon_sym_nullptr] = ACTIONS(2715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2717), + [sym_auto] = ACTIONS(2715), + [anon_sym_decltype] = ACTIONS(2715), + [sym_virtual] = ACTIONS(2715), + [anon_sym_explicit] = ACTIONS(2715), + [anon_sym_typename] = ACTIONS(2715), + [anon_sym_template] = ACTIONS(2715), + [anon_sym_operator] = ACTIONS(2715), + [anon_sym_try] = ACTIONS(2715), + [anon_sym_delete] = ACTIONS(2715), + [anon_sym_throw] = ACTIONS(2715), + [anon_sym_namespace] = ACTIONS(2715), + [anon_sym_using] = ACTIONS(2715), + [anon_sym_static_assert] = ACTIONS(2715), + [anon_sym_concept] = ACTIONS(2715), + [anon_sym_co_return] = ACTIONS(2715), + [anon_sym_co_yield] = ACTIONS(2715), + [anon_sym_R_DQUOTE] = ACTIONS(2717), + [anon_sym_LR_DQUOTE] = ACTIONS(2717), + [anon_sym_uR_DQUOTE] = ACTIONS(2717), + [anon_sym_UR_DQUOTE] = ACTIONS(2717), + [anon_sym_u8R_DQUOTE] = ACTIONS(2717), + [anon_sym_co_await] = ACTIONS(2715), + [anon_sym_new] = ACTIONS(2715), + [anon_sym_requires] = ACTIONS(2715), + [sym_this] = ACTIONS(2715), + }, + [476] = { + [ts_builtin_sym_end] = ACTIONS(2733), + [sym__identifier] = ACTIONS(2731), + [aux_sym_preproc_include_token1] = ACTIONS(2731), + [aux_sym_preproc_def_token1] = ACTIONS(2731), + [aux_sym_preproc_if_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2731), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2731), + [sym_preproc_directive] = ACTIONS(2731), + [anon_sym_LPAREN2] = ACTIONS(2733), + [anon_sym_BANG] = ACTIONS(2733), + [anon_sym_TILDE] = ACTIONS(2733), + [anon_sym_DASH] = ACTIONS(2731), + [anon_sym_PLUS] = ACTIONS(2731), + [anon_sym_STAR] = ACTIONS(2733), + [anon_sym_AMP_AMP] = ACTIONS(2733), + [anon_sym_AMP] = ACTIONS(2731), + [anon_sym_SEMI] = ACTIONS(2733), + [anon_sym___extension__] = ACTIONS(2731), + [anon_sym_typedef] = ACTIONS(2731), + [anon_sym_extern] = ACTIONS(2731), + [anon_sym___attribute__] = ACTIONS(2731), + [anon_sym_COLON_COLON] = ACTIONS(2733), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2733), + [anon_sym___declspec] = ACTIONS(2731), + [anon_sym___based] = ACTIONS(2731), + [anon_sym___cdecl] = ACTIONS(2731), + [anon_sym___clrcall] = ACTIONS(2731), + [anon_sym___stdcall] = ACTIONS(2731), + [anon_sym___fastcall] = ACTIONS(2731), + [anon_sym___thiscall] = ACTIONS(2731), + [anon_sym___vectorcall] = ACTIONS(2731), + [anon_sym_LBRACE] = ACTIONS(2733), + [anon_sym_signed] = ACTIONS(2731), + [anon_sym_unsigned] = ACTIONS(2731), + [anon_sym_long] = ACTIONS(2731), + [anon_sym_short] = ACTIONS(2731), + [anon_sym_LBRACK] = ACTIONS(2731), + [anon_sym_static] = ACTIONS(2731), + [anon_sym_register] = ACTIONS(2731), + [anon_sym_inline] = ACTIONS(2731), + [anon_sym___inline] = ACTIONS(2731), + [anon_sym___inline__] = ACTIONS(2731), + [anon_sym___forceinline] = ACTIONS(2731), + [anon_sym_thread_local] = ACTIONS(2731), + [anon_sym___thread] = ACTIONS(2731), + [anon_sym_const] = ACTIONS(2731), + [anon_sym_constexpr] = ACTIONS(2731), + [anon_sym_volatile] = ACTIONS(2731), + [anon_sym_restrict] = ACTIONS(2731), + [anon_sym___restrict__] = ACTIONS(2731), + [anon_sym__Atomic] = ACTIONS(2731), + [anon_sym__Noreturn] = ACTIONS(2731), + [anon_sym_noreturn] = ACTIONS(2731), + [anon_sym_mutable] = ACTIONS(2731), + [anon_sym_constinit] = ACTIONS(2731), + [anon_sym_consteval] = ACTIONS(2731), + [anon_sym_alignas] = ACTIONS(2731), + [anon_sym__Alignas] = ACTIONS(2731), + [sym_primitive_type] = ACTIONS(2731), + [anon_sym_enum] = ACTIONS(2731), + [anon_sym_class] = ACTIONS(2731), + [anon_sym_struct] = ACTIONS(2731), + [anon_sym_union] = ACTIONS(2731), + [anon_sym_if] = ACTIONS(2731), + [anon_sym_else] = ACTIONS(2731), + [anon_sym_switch] = ACTIONS(2731), + [anon_sym_case] = ACTIONS(2731), + [anon_sym_default] = ACTIONS(2731), + [anon_sym_while] = ACTIONS(2731), + [anon_sym_do] = ACTIONS(2731), + [anon_sym_for] = ACTIONS(2731), + [anon_sym_return] = ACTIONS(2731), + [anon_sym_break] = ACTIONS(2731), + [anon_sym_continue] = ACTIONS(2731), + [anon_sym_goto] = ACTIONS(2731), + [anon_sym___try] = ACTIONS(2731), + [anon_sym___leave] = ACTIONS(2731), + [anon_sym_not] = ACTIONS(2731), + [anon_sym_compl] = ACTIONS(2731), + [anon_sym_DASH_DASH] = ACTIONS(2733), + [anon_sym_PLUS_PLUS] = ACTIONS(2733), + [anon_sym_sizeof] = ACTIONS(2731), + [anon_sym___alignof__] = ACTIONS(2731), + [anon_sym___alignof] = ACTIONS(2731), + [anon_sym__alignof] = ACTIONS(2731), + [anon_sym_alignof] = ACTIONS(2731), + [anon_sym__Alignof] = ACTIONS(2731), + [anon_sym_offsetof] = ACTIONS(2731), + [anon_sym__Generic] = ACTIONS(2731), + [anon_sym_asm] = ACTIONS(2731), + [anon_sym___asm__] = ACTIONS(2731), + [sym__number_literal] = ACTIONS(2733), + [anon_sym_L_SQUOTE] = ACTIONS(2733), + [anon_sym_u_SQUOTE] = ACTIONS(2733), + [anon_sym_U_SQUOTE] = ACTIONS(2733), + [anon_sym_u8_SQUOTE] = ACTIONS(2733), + [anon_sym_SQUOTE] = ACTIONS(2733), + [anon_sym_L_DQUOTE] = ACTIONS(2733), + [anon_sym_u_DQUOTE] = ACTIONS(2733), + [anon_sym_U_DQUOTE] = ACTIONS(2733), + [anon_sym_u8_DQUOTE] = ACTIONS(2733), + [anon_sym_DQUOTE] = ACTIONS(2733), + [sym_true] = ACTIONS(2731), + [sym_false] = ACTIONS(2731), + [anon_sym_NULL] = ACTIONS(2731), + [anon_sym_nullptr] = ACTIONS(2731), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2733), + [sym_auto] = ACTIONS(2731), + [anon_sym_decltype] = ACTIONS(2731), + [sym_virtual] = ACTIONS(2731), + [anon_sym_explicit] = ACTIONS(2731), + [anon_sym_typename] = ACTIONS(2731), + [anon_sym_template] = ACTIONS(2731), + [anon_sym_operator] = ACTIONS(2731), + [anon_sym_try] = ACTIONS(2731), + [anon_sym_delete] = ACTIONS(2731), + [anon_sym_throw] = ACTIONS(2731), + [anon_sym_namespace] = ACTIONS(2731), + [anon_sym_using] = ACTIONS(2731), + [anon_sym_static_assert] = ACTIONS(2731), + [anon_sym_concept] = ACTIONS(2731), + [anon_sym_co_return] = ACTIONS(2731), + [anon_sym_co_yield] = ACTIONS(2731), + [anon_sym_R_DQUOTE] = ACTIONS(2733), + [anon_sym_LR_DQUOTE] = ACTIONS(2733), + [anon_sym_uR_DQUOTE] = ACTIONS(2733), + [anon_sym_UR_DQUOTE] = ACTIONS(2733), + [anon_sym_u8R_DQUOTE] = ACTIONS(2733), + [anon_sym_co_await] = ACTIONS(2731), + [anon_sym_new] = ACTIONS(2731), + [anon_sym_requires] = ACTIONS(2731), + [sym_this] = ACTIONS(2731), + }, + [477] = { + [sym__identifier] = ACTIONS(2584), + [aux_sym_preproc_include_token1] = ACTIONS(2584), + [aux_sym_preproc_def_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token1] = ACTIONS(2584), + [aux_sym_preproc_if_token2] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2584), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2584), + [sym_preproc_directive] = ACTIONS(2584), + [anon_sym_LPAREN2] = ACTIONS(2589), + [anon_sym_BANG] = ACTIONS(2589), + [anon_sym_TILDE] = ACTIONS(2589), + [anon_sym_DASH] = ACTIONS(2584), + [anon_sym_PLUS] = ACTIONS(2584), + [anon_sym_STAR] = ACTIONS(2589), + [anon_sym_AMP_AMP] = ACTIONS(2589), + [anon_sym_AMP] = ACTIONS(2584), + [anon_sym_SEMI] = ACTIONS(2589), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_typedef] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2589), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym___based] = ACTIONS(2584), + [anon_sym___cdecl] = ACTIONS(2584), + [anon_sym___clrcall] = ACTIONS(2584), + [anon_sym___stdcall] = ACTIONS(2584), + [anon_sym___fastcall] = ACTIONS(2584), + [anon_sym___thiscall] = ACTIONS(2584), + [anon_sym___vectorcall] = ACTIONS(2584), + [anon_sym_LBRACE] = ACTIONS(2589), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(2584), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2584), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_if] = ACTIONS(2584), + [anon_sym_else] = ACTIONS(2584), + [anon_sym_switch] = ACTIONS(2584), + [anon_sym_case] = ACTIONS(2584), + [anon_sym_default] = ACTIONS(2584), + [anon_sym_while] = ACTIONS(2584), + [anon_sym_do] = ACTIONS(2584), + [anon_sym_for] = ACTIONS(2584), + [anon_sym_return] = ACTIONS(2584), + [anon_sym_break] = ACTIONS(2584), + [anon_sym_continue] = ACTIONS(2584), + [anon_sym_goto] = ACTIONS(2584), + [anon_sym___try] = ACTIONS(2584), + [anon_sym___leave] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(2584), + [anon_sym_compl] = ACTIONS(2584), + [anon_sym_DASH_DASH] = ACTIONS(2589), + [anon_sym_PLUS_PLUS] = ACTIONS(2589), + [anon_sym_sizeof] = ACTIONS(2584), + [anon_sym___alignof__] = ACTIONS(2584), + [anon_sym___alignof] = ACTIONS(2584), + [anon_sym__alignof] = ACTIONS(2584), + [anon_sym_alignof] = ACTIONS(2584), + [anon_sym__Alignof] = ACTIONS(2584), + [anon_sym_offsetof] = ACTIONS(2584), + [anon_sym__Generic] = ACTIONS(2584), + [anon_sym_asm] = ACTIONS(2584), + [anon_sym___asm__] = ACTIONS(2584), + [sym__number_literal] = ACTIONS(2589), + [anon_sym_L_SQUOTE] = ACTIONS(2589), + [anon_sym_u_SQUOTE] = ACTIONS(2589), + [anon_sym_U_SQUOTE] = ACTIONS(2589), + [anon_sym_u8_SQUOTE] = ACTIONS(2589), + [anon_sym_SQUOTE] = ACTIONS(2589), + [anon_sym_L_DQUOTE] = ACTIONS(2589), + [anon_sym_u_DQUOTE] = ACTIONS(2589), + [anon_sym_U_DQUOTE] = ACTIONS(2589), + [anon_sym_u8_DQUOTE] = ACTIONS(2589), + [anon_sym_DQUOTE] = ACTIONS(2589), + [sym_true] = ACTIONS(2584), + [sym_false] = ACTIONS(2584), + [anon_sym_NULL] = ACTIONS(2584), + [anon_sym_nullptr] = ACTIONS(2584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2589), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2584), + [sym_virtual] = ACTIONS(2584), + [anon_sym_explicit] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2584), + [anon_sym_operator] = ACTIONS(2584), + [anon_sym_try] = ACTIONS(2584), + [anon_sym_delete] = ACTIONS(2584), + [anon_sym_throw] = ACTIONS(2584), + [anon_sym_namespace] = ACTIONS(2584), + [anon_sym_using] = ACTIONS(2584), + [anon_sym_static_assert] = ACTIONS(2584), + [anon_sym_concept] = ACTIONS(2584), + [anon_sym_co_return] = ACTIONS(2584), + [anon_sym_co_yield] = ACTIONS(2584), + [anon_sym_R_DQUOTE] = ACTIONS(2589), + [anon_sym_LR_DQUOTE] = ACTIONS(2589), + [anon_sym_uR_DQUOTE] = ACTIONS(2589), + [anon_sym_UR_DQUOTE] = ACTIONS(2589), + [anon_sym_u8R_DQUOTE] = ACTIONS(2589), + [anon_sym_co_await] = ACTIONS(2584), + [anon_sym_new] = ACTIONS(2584), + [anon_sym_requires] = ACTIONS(2584), + [sym_this] = ACTIONS(2584), + }, + [478] = { + [sym__identifier] = ACTIONS(2727), + [aux_sym_preproc_include_token1] = ACTIONS(2727), + [aux_sym_preproc_def_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2727), + [sym_preproc_directive] = ACTIONS(2727), + [anon_sym_LPAREN2] = ACTIONS(2729), + [anon_sym_BANG] = ACTIONS(2729), + [anon_sym_TILDE] = ACTIONS(2729), + [anon_sym_DASH] = ACTIONS(2727), + [anon_sym_PLUS] = ACTIONS(2727), + [anon_sym_STAR] = ACTIONS(2729), + [anon_sym_AMP_AMP] = ACTIONS(2729), + [anon_sym_AMP] = ACTIONS(2727), + [anon_sym_SEMI] = ACTIONS(2729), + [anon_sym___extension__] = ACTIONS(2727), + [anon_sym_typedef] = ACTIONS(2727), + [anon_sym_extern] = ACTIONS(2727), + [anon_sym___attribute__] = ACTIONS(2727), + [anon_sym_COLON_COLON] = ACTIONS(2729), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2729), + [anon_sym___declspec] = ACTIONS(2727), + [anon_sym___based] = ACTIONS(2727), + [anon_sym___cdecl] = ACTIONS(2727), + [anon_sym___clrcall] = ACTIONS(2727), + [anon_sym___stdcall] = ACTIONS(2727), + [anon_sym___fastcall] = ACTIONS(2727), + [anon_sym___thiscall] = ACTIONS(2727), + [anon_sym___vectorcall] = ACTIONS(2727), + [anon_sym_LBRACE] = ACTIONS(2729), + [anon_sym_RBRACE] = ACTIONS(2729), + [anon_sym_signed] = ACTIONS(2727), + [anon_sym_unsigned] = ACTIONS(2727), + [anon_sym_long] = ACTIONS(2727), + [anon_sym_short] = ACTIONS(2727), + [anon_sym_LBRACK] = ACTIONS(2727), + [anon_sym_static] = ACTIONS(2727), + [anon_sym_register] = ACTIONS(2727), + [anon_sym_inline] = ACTIONS(2727), + [anon_sym___inline] = ACTIONS(2727), + [anon_sym___inline__] = ACTIONS(2727), + [anon_sym___forceinline] = ACTIONS(2727), + [anon_sym_thread_local] = ACTIONS(2727), + [anon_sym___thread] = ACTIONS(2727), + [anon_sym_const] = ACTIONS(2727), + [anon_sym_constexpr] = ACTIONS(2727), + [anon_sym_volatile] = ACTIONS(2727), + [anon_sym_restrict] = ACTIONS(2727), + [anon_sym___restrict__] = ACTIONS(2727), + [anon_sym__Atomic] = ACTIONS(2727), + [anon_sym__Noreturn] = ACTIONS(2727), + [anon_sym_noreturn] = ACTIONS(2727), + [anon_sym_mutable] = ACTIONS(2727), + [anon_sym_constinit] = ACTIONS(2727), + [anon_sym_consteval] = ACTIONS(2727), + [anon_sym_alignas] = ACTIONS(2727), + [anon_sym__Alignas] = ACTIONS(2727), + [sym_primitive_type] = ACTIONS(2727), + [anon_sym_enum] = ACTIONS(2727), + [anon_sym_class] = ACTIONS(2727), + [anon_sym_struct] = ACTIONS(2727), + [anon_sym_union] = ACTIONS(2727), + [anon_sym_if] = ACTIONS(2727), + [anon_sym_else] = ACTIONS(2727), + [anon_sym_switch] = ACTIONS(2727), + [anon_sym_case] = ACTIONS(2727), + [anon_sym_default] = ACTIONS(2727), + [anon_sym_while] = ACTIONS(2727), + [anon_sym_do] = ACTIONS(2727), + [anon_sym_for] = ACTIONS(2727), + [anon_sym_return] = ACTIONS(2727), + [anon_sym_break] = ACTIONS(2727), + [anon_sym_continue] = ACTIONS(2727), + [anon_sym_goto] = ACTIONS(2727), + [anon_sym___try] = ACTIONS(2727), + [anon_sym___leave] = ACTIONS(2727), + [anon_sym_not] = ACTIONS(2727), + [anon_sym_compl] = ACTIONS(2727), + [anon_sym_DASH_DASH] = ACTIONS(2729), + [anon_sym_PLUS_PLUS] = ACTIONS(2729), + [anon_sym_sizeof] = ACTIONS(2727), + [anon_sym___alignof__] = ACTIONS(2727), + [anon_sym___alignof] = ACTIONS(2727), + [anon_sym__alignof] = ACTIONS(2727), + [anon_sym_alignof] = ACTIONS(2727), + [anon_sym__Alignof] = ACTIONS(2727), + [anon_sym_offsetof] = ACTIONS(2727), + [anon_sym__Generic] = ACTIONS(2727), + [anon_sym_asm] = ACTIONS(2727), + [anon_sym___asm__] = ACTIONS(2727), + [sym__number_literal] = ACTIONS(2729), + [anon_sym_L_SQUOTE] = ACTIONS(2729), + [anon_sym_u_SQUOTE] = ACTIONS(2729), + [anon_sym_U_SQUOTE] = ACTIONS(2729), + [anon_sym_u8_SQUOTE] = ACTIONS(2729), + [anon_sym_SQUOTE] = ACTIONS(2729), + [anon_sym_L_DQUOTE] = ACTIONS(2729), + [anon_sym_u_DQUOTE] = ACTIONS(2729), + [anon_sym_U_DQUOTE] = ACTIONS(2729), + [anon_sym_u8_DQUOTE] = ACTIONS(2729), + [anon_sym_DQUOTE] = ACTIONS(2729), + [sym_true] = ACTIONS(2727), + [sym_false] = ACTIONS(2727), + [anon_sym_NULL] = ACTIONS(2727), + [anon_sym_nullptr] = ACTIONS(2727), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2729), + [sym_auto] = ACTIONS(2727), + [anon_sym_decltype] = ACTIONS(2727), + [sym_virtual] = ACTIONS(2727), + [anon_sym_explicit] = ACTIONS(2727), + [anon_sym_typename] = ACTIONS(2727), + [anon_sym_template] = ACTIONS(2727), + [anon_sym_operator] = ACTIONS(2727), + [anon_sym_try] = ACTIONS(2727), + [anon_sym_delete] = ACTIONS(2727), + [anon_sym_throw] = ACTIONS(2727), + [anon_sym_namespace] = ACTIONS(2727), + [anon_sym_using] = ACTIONS(2727), + [anon_sym_static_assert] = ACTIONS(2727), + [anon_sym_concept] = ACTIONS(2727), + [anon_sym_co_return] = ACTIONS(2727), + [anon_sym_co_yield] = ACTIONS(2727), + [anon_sym_R_DQUOTE] = ACTIONS(2729), + [anon_sym_LR_DQUOTE] = ACTIONS(2729), + [anon_sym_uR_DQUOTE] = ACTIONS(2729), + [anon_sym_UR_DQUOTE] = ACTIONS(2729), + [anon_sym_u8R_DQUOTE] = ACTIONS(2729), + [anon_sym_co_await] = ACTIONS(2727), + [anon_sym_new] = ACTIONS(2727), + [anon_sym_requires] = ACTIONS(2727), + [sym_this] = ACTIONS(2727), + }, + [479] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [480] = { + [ts_builtin_sym_end] = ACTIONS(2783), + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_include_token1] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_BANG] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_DASH] = ACTIONS(2781), + [anon_sym_PLUS] = ACTIONS(2781), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym_SEMI] = ACTIONS(2783), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym___cdecl] = ACTIONS(2781), + [anon_sym___clrcall] = ACTIONS(2781), + [anon_sym___stdcall] = ACTIONS(2781), + [anon_sym___fastcall] = ACTIONS(2781), + [anon_sym___thiscall] = ACTIONS(2781), + [anon_sym___vectorcall] = ACTIONS(2781), + [anon_sym_LBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [anon_sym_if] = ACTIONS(2781), + [anon_sym_else] = ACTIONS(2781), + [anon_sym_switch] = ACTIONS(2781), + [anon_sym_case] = ACTIONS(2781), + [anon_sym_default] = ACTIONS(2781), + [anon_sym_while] = ACTIONS(2781), + [anon_sym_do] = ACTIONS(2781), + [anon_sym_for] = ACTIONS(2781), + [anon_sym_return] = ACTIONS(2781), + [anon_sym_break] = ACTIONS(2781), + [anon_sym_continue] = ACTIONS(2781), + [anon_sym_goto] = ACTIONS(2781), + [anon_sym___try] = ACTIONS(2781), + [anon_sym___leave] = ACTIONS(2781), + [anon_sym_not] = ACTIONS(2781), + [anon_sym_compl] = ACTIONS(2781), + [anon_sym_DASH_DASH] = ACTIONS(2783), + [anon_sym_PLUS_PLUS] = ACTIONS(2783), + [anon_sym_sizeof] = ACTIONS(2781), + [anon_sym___alignof__] = ACTIONS(2781), + [anon_sym___alignof] = ACTIONS(2781), + [anon_sym__alignof] = ACTIONS(2781), + [anon_sym_alignof] = ACTIONS(2781), + [anon_sym__Alignof] = ACTIONS(2781), + [anon_sym_offsetof] = ACTIONS(2781), + [anon_sym__Generic] = ACTIONS(2781), + [anon_sym_asm] = ACTIONS(2781), + [anon_sym___asm__] = ACTIONS(2781), + [sym__number_literal] = ACTIONS(2783), + [anon_sym_L_SQUOTE] = ACTIONS(2783), + [anon_sym_u_SQUOTE] = ACTIONS(2783), + [anon_sym_U_SQUOTE] = ACTIONS(2783), + [anon_sym_u8_SQUOTE] = ACTIONS(2783), + [anon_sym_SQUOTE] = ACTIONS(2783), + [anon_sym_L_DQUOTE] = ACTIONS(2783), + [anon_sym_u_DQUOTE] = ACTIONS(2783), + [anon_sym_U_DQUOTE] = ACTIONS(2783), + [anon_sym_u8_DQUOTE] = ACTIONS(2783), + [anon_sym_DQUOTE] = ACTIONS(2783), + [sym_true] = ACTIONS(2781), + [sym_false] = ACTIONS(2781), + [anon_sym_NULL] = ACTIONS(2781), + [anon_sym_nullptr] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_try] = ACTIONS(2781), + [anon_sym_delete] = ACTIONS(2781), + [anon_sym_throw] = ACTIONS(2781), + [anon_sym_namespace] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + [anon_sym_concept] = ACTIONS(2781), + [anon_sym_co_return] = ACTIONS(2781), + [anon_sym_co_yield] = ACTIONS(2781), + [anon_sym_R_DQUOTE] = ACTIONS(2783), + [anon_sym_LR_DQUOTE] = ACTIONS(2783), + [anon_sym_uR_DQUOTE] = ACTIONS(2783), + [anon_sym_UR_DQUOTE] = ACTIONS(2783), + [anon_sym_u8R_DQUOTE] = ACTIONS(2783), + [anon_sym_co_await] = ACTIONS(2781), + [anon_sym_new] = ACTIONS(2781), + [anon_sym_requires] = ACTIONS(2781), + [sym_this] = ACTIONS(2781), + }, + [481] = { + [ts_builtin_sym_end] = ACTIONS(2823), + [sym__identifier] = ACTIONS(2821), + [aux_sym_preproc_include_token1] = ACTIONS(2821), + [aux_sym_preproc_def_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2821), + [sym_preproc_directive] = ACTIONS(2821), + [anon_sym_LPAREN2] = ACTIONS(2823), + [anon_sym_BANG] = ACTIONS(2823), + [anon_sym_TILDE] = ACTIONS(2823), + [anon_sym_DASH] = ACTIONS(2821), + [anon_sym_PLUS] = ACTIONS(2821), + [anon_sym_STAR] = ACTIONS(2823), + [anon_sym_AMP_AMP] = ACTIONS(2823), + [anon_sym_AMP] = ACTIONS(2821), + [anon_sym_SEMI] = ACTIONS(2823), + [anon_sym___extension__] = ACTIONS(2821), + [anon_sym_typedef] = ACTIONS(2821), + [anon_sym_extern] = ACTIONS(2821), + [anon_sym___attribute__] = ACTIONS(2821), + [anon_sym_COLON_COLON] = ACTIONS(2823), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2823), + [anon_sym___declspec] = ACTIONS(2821), + [anon_sym___based] = ACTIONS(2821), + [anon_sym___cdecl] = ACTIONS(2821), + [anon_sym___clrcall] = ACTIONS(2821), + [anon_sym___stdcall] = ACTIONS(2821), + [anon_sym___fastcall] = ACTIONS(2821), + [anon_sym___thiscall] = ACTIONS(2821), + [anon_sym___vectorcall] = ACTIONS(2821), + [anon_sym_LBRACE] = ACTIONS(2823), + [anon_sym_signed] = ACTIONS(2821), + [anon_sym_unsigned] = ACTIONS(2821), + [anon_sym_long] = ACTIONS(2821), + [anon_sym_short] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(2821), + [anon_sym_static] = ACTIONS(2821), + [anon_sym_register] = ACTIONS(2821), + [anon_sym_inline] = ACTIONS(2821), + [anon_sym___inline] = ACTIONS(2821), + [anon_sym___inline__] = ACTIONS(2821), + [anon_sym___forceinline] = ACTIONS(2821), + [anon_sym_thread_local] = ACTIONS(2821), + [anon_sym___thread] = ACTIONS(2821), + [anon_sym_const] = ACTIONS(2821), + [anon_sym_constexpr] = ACTIONS(2821), + [anon_sym_volatile] = ACTIONS(2821), + [anon_sym_restrict] = ACTIONS(2821), + [anon_sym___restrict__] = ACTIONS(2821), + [anon_sym__Atomic] = ACTIONS(2821), + [anon_sym__Noreturn] = ACTIONS(2821), + [anon_sym_noreturn] = ACTIONS(2821), + [anon_sym_mutable] = ACTIONS(2821), + [anon_sym_constinit] = ACTIONS(2821), + [anon_sym_consteval] = ACTIONS(2821), + [anon_sym_alignas] = ACTIONS(2821), + [anon_sym__Alignas] = ACTIONS(2821), + [sym_primitive_type] = ACTIONS(2821), + [anon_sym_enum] = ACTIONS(2821), + [anon_sym_class] = ACTIONS(2821), + [anon_sym_struct] = ACTIONS(2821), + [anon_sym_union] = ACTIONS(2821), + [anon_sym_if] = ACTIONS(2821), + [anon_sym_else] = ACTIONS(2821), + [anon_sym_switch] = ACTIONS(2821), + [anon_sym_case] = ACTIONS(2821), + [anon_sym_default] = ACTIONS(2821), + [anon_sym_while] = ACTIONS(2821), + [anon_sym_do] = ACTIONS(2821), + [anon_sym_for] = ACTIONS(2821), + [anon_sym_return] = ACTIONS(2821), + [anon_sym_break] = ACTIONS(2821), + [anon_sym_continue] = ACTIONS(2821), + [anon_sym_goto] = ACTIONS(2821), + [anon_sym___try] = ACTIONS(2821), + [anon_sym___leave] = ACTIONS(2821), + [anon_sym_not] = ACTIONS(2821), + [anon_sym_compl] = ACTIONS(2821), + [anon_sym_DASH_DASH] = ACTIONS(2823), + [anon_sym_PLUS_PLUS] = ACTIONS(2823), + [anon_sym_sizeof] = ACTIONS(2821), + [anon_sym___alignof__] = ACTIONS(2821), + [anon_sym___alignof] = ACTIONS(2821), + [anon_sym__alignof] = ACTIONS(2821), + [anon_sym_alignof] = ACTIONS(2821), + [anon_sym__Alignof] = ACTIONS(2821), + [anon_sym_offsetof] = ACTIONS(2821), + [anon_sym__Generic] = ACTIONS(2821), + [anon_sym_asm] = ACTIONS(2821), + [anon_sym___asm__] = ACTIONS(2821), + [sym__number_literal] = ACTIONS(2823), + [anon_sym_L_SQUOTE] = ACTIONS(2823), + [anon_sym_u_SQUOTE] = ACTIONS(2823), + [anon_sym_U_SQUOTE] = ACTIONS(2823), + [anon_sym_u8_SQUOTE] = ACTIONS(2823), + [anon_sym_SQUOTE] = ACTIONS(2823), + [anon_sym_L_DQUOTE] = ACTIONS(2823), + [anon_sym_u_DQUOTE] = ACTIONS(2823), + [anon_sym_U_DQUOTE] = ACTIONS(2823), + [anon_sym_u8_DQUOTE] = ACTIONS(2823), + [anon_sym_DQUOTE] = ACTIONS(2823), + [sym_true] = ACTIONS(2821), + [sym_false] = ACTIONS(2821), + [anon_sym_NULL] = ACTIONS(2821), + [anon_sym_nullptr] = ACTIONS(2821), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2823), + [sym_auto] = ACTIONS(2821), + [anon_sym_decltype] = ACTIONS(2821), + [sym_virtual] = ACTIONS(2821), + [anon_sym_explicit] = ACTIONS(2821), + [anon_sym_typename] = ACTIONS(2821), + [anon_sym_template] = ACTIONS(2821), + [anon_sym_operator] = ACTIONS(2821), + [anon_sym_try] = ACTIONS(2821), + [anon_sym_delete] = ACTIONS(2821), + [anon_sym_throw] = ACTIONS(2821), + [anon_sym_namespace] = ACTIONS(2821), + [anon_sym_using] = ACTIONS(2821), + [anon_sym_static_assert] = ACTIONS(2821), + [anon_sym_concept] = ACTIONS(2821), + [anon_sym_co_return] = ACTIONS(2821), + [anon_sym_co_yield] = ACTIONS(2821), + [anon_sym_R_DQUOTE] = ACTIONS(2823), + [anon_sym_LR_DQUOTE] = ACTIONS(2823), + [anon_sym_uR_DQUOTE] = ACTIONS(2823), + [anon_sym_UR_DQUOTE] = ACTIONS(2823), + [anon_sym_u8R_DQUOTE] = ACTIONS(2823), + [anon_sym_co_await] = ACTIONS(2821), + [anon_sym_new] = ACTIONS(2821), + [anon_sym_requires] = ACTIONS(2821), + [sym_this] = ACTIONS(2821), + }, + [482] = { + [sym__identifier] = ACTIONS(2817), + [aux_sym_preproc_include_token1] = ACTIONS(2817), + [aux_sym_preproc_def_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token2] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2817), + [sym_preproc_directive] = ACTIONS(2817), + [anon_sym_LPAREN2] = ACTIONS(2819), + [anon_sym_BANG] = ACTIONS(2819), + [anon_sym_TILDE] = ACTIONS(2819), + [anon_sym_DASH] = ACTIONS(2817), + [anon_sym_PLUS] = ACTIONS(2817), + [anon_sym_STAR] = ACTIONS(2819), + [anon_sym_AMP_AMP] = ACTIONS(2819), + [anon_sym_AMP] = ACTIONS(2817), + [anon_sym_SEMI] = ACTIONS(2819), + [anon_sym___extension__] = ACTIONS(2817), + [anon_sym_typedef] = ACTIONS(2817), + [anon_sym_extern] = ACTIONS(2817), + [anon_sym___attribute__] = ACTIONS(2817), + [anon_sym_COLON_COLON] = ACTIONS(2819), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2819), + [anon_sym___declspec] = ACTIONS(2817), + [anon_sym___based] = ACTIONS(2817), + [anon_sym___cdecl] = ACTIONS(2817), + [anon_sym___clrcall] = ACTIONS(2817), + [anon_sym___stdcall] = ACTIONS(2817), + [anon_sym___fastcall] = ACTIONS(2817), + [anon_sym___thiscall] = ACTIONS(2817), + [anon_sym___vectorcall] = ACTIONS(2817), + [anon_sym_LBRACE] = ACTIONS(2819), + [anon_sym_signed] = ACTIONS(2817), + [anon_sym_unsigned] = ACTIONS(2817), + [anon_sym_long] = ACTIONS(2817), + [anon_sym_short] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(2817), + [anon_sym_static] = ACTIONS(2817), + [anon_sym_register] = ACTIONS(2817), + [anon_sym_inline] = ACTIONS(2817), + [anon_sym___inline] = ACTIONS(2817), + [anon_sym___inline__] = ACTIONS(2817), + [anon_sym___forceinline] = ACTIONS(2817), + [anon_sym_thread_local] = ACTIONS(2817), + [anon_sym___thread] = ACTIONS(2817), + [anon_sym_const] = ACTIONS(2817), + [anon_sym_constexpr] = ACTIONS(2817), + [anon_sym_volatile] = ACTIONS(2817), + [anon_sym_restrict] = ACTIONS(2817), + [anon_sym___restrict__] = ACTIONS(2817), + [anon_sym__Atomic] = ACTIONS(2817), + [anon_sym__Noreturn] = ACTIONS(2817), + [anon_sym_noreturn] = ACTIONS(2817), + [anon_sym_mutable] = ACTIONS(2817), + [anon_sym_constinit] = ACTIONS(2817), + [anon_sym_consteval] = ACTIONS(2817), + [anon_sym_alignas] = ACTIONS(2817), + [anon_sym__Alignas] = ACTIONS(2817), + [sym_primitive_type] = ACTIONS(2817), + [anon_sym_enum] = ACTIONS(2817), + [anon_sym_class] = ACTIONS(2817), + [anon_sym_struct] = ACTIONS(2817), + [anon_sym_union] = ACTIONS(2817), + [anon_sym_if] = ACTIONS(2817), + [anon_sym_else] = ACTIONS(2817), + [anon_sym_switch] = ACTIONS(2817), + [anon_sym_case] = ACTIONS(2817), + [anon_sym_default] = ACTIONS(2817), + [anon_sym_while] = ACTIONS(2817), + [anon_sym_do] = ACTIONS(2817), + [anon_sym_for] = ACTIONS(2817), + [anon_sym_return] = ACTIONS(2817), + [anon_sym_break] = ACTIONS(2817), + [anon_sym_continue] = ACTIONS(2817), + [anon_sym_goto] = ACTIONS(2817), + [anon_sym___try] = ACTIONS(2817), + [anon_sym___leave] = ACTIONS(2817), + [anon_sym_not] = ACTIONS(2817), + [anon_sym_compl] = ACTIONS(2817), + [anon_sym_DASH_DASH] = ACTIONS(2819), + [anon_sym_PLUS_PLUS] = ACTIONS(2819), + [anon_sym_sizeof] = ACTIONS(2817), + [anon_sym___alignof__] = ACTIONS(2817), + [anon_sym___alignof] = ACTIONS(2817), + [anon_sym__alignof] = ACTIONS(2817), + [anon_sym_alignof] = ACTIONS(2817), + [anon_sym__Alignof] = ACTIONS(2817), + [anon_sym_offsetof] = ACTIONS(2817), + [anon_sym__Generic] = ACTIONS(2817), + [anon_sym_asm] = ACTIONS(2817), + [anon_sym___asm__] = ACTIONS(2817), + [sym__number_literal] = ACTIONS(2819), + [anon_sym_L_SQUOTE] = ACTIONS(2819), + [anon_sym_u_SQUOTE] = ACTIONS(2819), + [anon_sym_U_SQUOTE] = ACTIONS(2819), + [anon_sym_u8_SQUOTE] = ACTIONS(2819), + [anon_sym_SQUOTE] = ACTIONS(2819), + [anon_sym_L_DQUOTE] = ACTIONS(2819), + [anon_sym_u_DQUOTE] = ACTIONS(2819), + [anon_sym_U_DQUOTE] = ACTIONS(2819), + [anon_sym_u8_DQUOTE] = ACTIONS(2819), + [anon_sym_DQUOTE] = ACTIONS(2819), + [sym_true] = ACTIONS(2817), + [sym_false] = ACTIONS(2817), + [anon_sym_NULL] = ACTIONS(2817), + [anon_sym_nullptr] = ACTIONS(2817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2819), + [sym_auto] = ACTIONS(2817), + [anon_sym_decltype] = ACTIONS(2817), + [sym_virtual] = ACTIONS(2817), + [anon_sym_explicit] = ACTIONS(2817), + [anon_sym_typename] = ACTIONS(2817), + [anon_sym_template] = ACTIONS(2817), + [anon_sym_operator] = ACTIONS(2817), + [anon_sym_try] = ACTIONS(2817), + [anon_sym_delete] = ACTIONS(2817), + [anon_sym_throw] = ACTIONS(2817), + [anon_sym_namespace] = ACTIONS(2817), + [anon_sym_using] = ACTIONS(2817), + [anon_sym_static_assert] = ACTIONS(2817), + [anon_sym_concept] = ACTIONS(2817), + [anon_sym_co_return] = ACTIONS(2817), + [anon_sym_co_yield] = ACTIONS(2817), + [anon_sym_R_DQUOTE] = ACTIONS(2819), + [anon_sym_LR_DQUOTE] = ACTIONS(2819), + [anon_sym_uR_DQUOTE] = ACTIONS(2819), + [anon_sym_UR_DQUOTE] = ACTIONS(2819), + [anon_sym_u8R_DQUOTE] = ACTIONS(2819), + [anon_sym_co_await] = ACTIONS(2817), + [anon_sym_new] = ACTIONS(2817), + [anon_sym_requires] = ACTIONS(2817), + [sym_this] = ACTIONS(2817), + }, + [483] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_include_token1] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_BANG] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_DASH] = ACTIONS(2755), + [anon_sym_PLUS] = ACTIONS(2755), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym_SEMI] = ACTIONS(2757), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym___cdecl] = ACTIONS(2755), + [anon_sym___clrcall] = ACTIONS(2755), + [anon_sym___stdcall] = ACTIONS(2755), + [anon_sym___fastcall] = ACTIONS(2755), + [anon_sym___thiscall] = ACTIONS(2755), + [anon_sym___vectorcall] = ACTIONS(2755), + [anon_sym_LBRACE] = ACTIONS(2757), + [anon_sym_RBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [anon_sym_if] = ACTIONS(2755), + [anon_sym_else] = ACTIONS(2755), + [anon_sym_switch] = ACTIONS(2755), + [anon_sym_case] = ACTIONS(2755), + [anon_sym_default] = ACTIONS(2755), + [anon_sym_while] = ACTIONS(2755), + [anon_sym_do] = ACTIONS(2755), + [anon_sym_for] = ACTIONS(2755), + [anon_sym_return] = ACTIONS(2755), + [anon_sym_break] = ACTIONS(2755), + [anon_sym_continue] = ACTIONS(2755), + [anon_sym_goto] = ACTIONS(2755), + [anon_sym___try] = ACTIONS(2755), + [anon_sym___leave] = ACTIONS(2755), + [anon_sym_not] = ACTIONS(2755), + [anon_sym_compl] = ACTIONS(2755), + [anon_sym_DASH_DASH] = ACTIONS(2757), + [anon_sym_PLUS_PLUS] = ACTIONS(2757), + [anon_sym_sizeof] = ACTIONS(2755), + [anon_sym___alignof__] = ACTIONS(2755), + [anon_sym___alignof] = ACTIONS(2755), + [anon_sym__alignof] = ACTIONS(2755), + [anon_sym_alignof] = ACTIONS(2755), + [anon_sym__Alignof] = ACTIONS(2755), + [anon_sym_offsetof] = ACTIONS(2755), + [anon_sym__Generic] = ACTIONS(2755), + [anon_sym_asm] = ACTIONS(2755), + [anon_sym___asm__] = ACTIONS(2755), + [sym__number_literal] = ACTIONS(2757), + [anon_sym_L_SQUOTE] = ACTIONS(2757), + [anon_sym_u_SQUOTE] = ACTIONS(2757), + [anon_sym_U_SQUOTE] = ACTIONS(2757), + [anon_sym_u8_SQUOTE] = ACTIONS(2757), + [anon_sym_SQUOTE] = ACTIONS(2757), + [anon_sym_L_DQUOTE] = ACTIONS(2757), + [anon_sym_u_DQUOTE] = ACTIONS(2757), + [anon_sym_U_DQUOTE] = ACTIONS(2757), + [anon_sym_u8_DQUOTE] = ACTIONS(2757), + [anon_sym_DQUOTE] = ACTIONS(2757), + [sym_true] = ACTIONS(2755), + [sym_false] = ACTIONS(2755), + [anon_sym_NULL] = ACTIONS(2755), + [anon_sym_nullptr] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_try] = ACTIONS(2755), + [anon_sym_delete] = ACTIONS(2755), + [anon_sym_throw] = ACTIONS(2755), + [anon_sym_namespace] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + [anon_sym_concept] = ACTIONS(2755), + [anon_sym_co_return] = ACTIONS(2755), + [anon_sym_co_yield] = ACTIONS(2755), + [anon_sym_R_DQUOTE] = ACTIONS(2757), + [anon_sym_LR_DQUOTE] = ACTIONS(2757), + [anon_sym_uR_DQUOTE] = ACTIONS(2757), + [anon_sym_UR_DQUOTE] = ACTIONS(2757), + [anon_sym_u8R_DQUOTE] = ACTIONS(2757), + [anon_sym_co_await] = ACTIONS(2755), + [anon_sym_new] = ACTIONS(2755), + [anon_sym_requires] = ACTIONS(2755), + [sym_this] = ACTIONS(2755), + }, + [484] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_include_token1] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_BANG] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_DASH] = ACTIONS(2767), + [anon_sym_PLUS] = ACTIONS(2767), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym_SEMI] = ACTIONS(2769), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym___cdecl] = ACTIONS(2767), + [anon_sym___clrcall] = ACTIONS(2767), + [anon_sym___stdcall] = ACTIONS(2767), + [anon_sym___fastcall] = ACTIONS(2767), + [anon_sym___thiscall] = ACTIONS(2767), + [anon_sym___vectorcall] = ACTIONS(2767), + [anon_sym_LBRACE] = ACTIONS(2769), + [anon_sym_RBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [anon_sym_if] = ACTIONS(2767), + [anon_sym_else] = ACTIONS(2767), + [anon_sym_switch] = ACTIONS(2767), + [anon_sym_case] = ACTIONS(2767), + [anon_sym_default] = ACTIONS(2767), + [anon_sym_while] = ACTIONS(2767), + [anon_sym_do] = ACTIONS(2767), + [anon_sym_for] = ACTIONS(2767), + [anon_sym_return] = ACTIONS(2767), + [anon_sym_break] = ACTIONS(2767), + [anon_sym_continue] = ACTIONS(2767), + [anon_sym_goto] = ACTIONS(2767), + [anon_sym___try] = ACTIONS(2767), + [anon_sym___leave] = ACTIONS(2767), + [anon_sym_not] = ACTIONS(2767), + [anon_sym_compl] = ACTIONS(2767), + [anon_sym_DASH_DASH] = ACTIONS(2769), + [anon_sym_PLUS_PLUS] = ACTIONS(2769), + [anon_sym_sizeof] = ACTIONS(2767), + [anon_sym___alignof__] = ACTIONS(2767), + [anon_sym___alignof] = ACTIONS(2767), + [anon_sym__alignof] = ACTIONS(2767), + [anon_sym_alignof] = ACTIONS(2767), + [anon_sym__Alignof] = ACTIONS(2767), + [anon_sym_offsetof] = ACTIONS(2767), + [anon_sym__Generic] = ACTIONS(2767), + [anon_sym_asm] = ACTIONS(2767), + [anon_sym___asm__] = ACTIONS(2767), + [sym__number_literal] = ACTIONS(2769), + [anon_sym_L_SQUOTE] = ACTIONS(2769), + [anon_sym_u_SQUOTE] = ACTIONS(2769), + [anon_sym_U_SQUOTE] = ACTIONS(2769), + [anon_sym_u8_SQUOTE] = ACTIONS(2769), + [anon_sym_SQUOTE] = ACTIONS(2769), + [anon_sym_L_DQUOTE] = ACTIONS(2769), + [anon_sym_u_DQUOTE] = ACTIONS(2769), + [anon_sym_U_DQUOTE] = ACTIONS(2769), + [anon_sym_u8_DQUOTE] = ACTIONS(2769), + [anon_sym_DQUOTE] = ACTIONS(2769), + [sym_true] = ACTIONS(2767), + [sym_false] = ACTIONS(2767), + [anon_sym_NULL] = ACTIONS(2767), + [anon_sym_nullptr] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_try] = ACTIONS(2767), + [anon_sym_delete] = ACTIONS(2767), + [anon_sym_throw] = ACTIONS(2767), + [anon_sym_namespace] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + [anon_sym_concept] = ACTIONS(2767), + [anon_sym_co_return] = ACTIONS(2767), + [anon_sym_co_yield] = ACTIONS(2767), + [anon_sym_R_DQUOTE] = ACTIONS(2769), + [anon_sym_LR_DQUOTE] = ACTIONS(2769), + [anon_sym_uR_DQUOTE] = ACTIONS(2769), + [anon_sym_UR_DQUOTE] = ACTIONS(2769), + [anon_sym_u8R_DQUOTE] = ACTIONS(2769), + [anon_sym_co_await] = ACTIONS(2767), + [anon_sym_new] = ACTIONS(2767), + [anon_sym_requires] = ACTIONS(2767), + [sym_this] = ACTIONS(2767), + }, + [485] = { + [sym__identifier] = ACTIONS(2809), + [aux_sym_preproc_include_token1] = ACTIONS(2809), + [aux_sym_preproc_def_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2809), + [sym_preproc_directive] = ACTIONS(2809), + [anon_sym_LPAREN2] = ACTIONS(2811), + [anon_sym_BANG] = ACTIONS(2811), + [anon_sym_TILDE] = ACTIONS(2811), + [anon_sym_DASH] = ACTIONS(2809), + [anon_sym_PLUS] = ACTIONS(2809), + [anon_sym_STAR] = ACTIONS(2811), + [anon_sym_AMP_AMP] = ACTIONS(2811), + [anon_sym_AMP] = ACTIONS(2809), + [anon_sym_SEMI] = ACTIONS(2811), + [anon_sym___extension__] = ACTIONS(2809), + [anon_sym_typedef] = ACTIONS(2809), + [anon_sym_extern] = ACTIONS(2809), + [anon_sym___attribute__] = ACTIONS(2809), + [anon_sym_COLON_COLON] = ACTIONS(2811), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2811), + [anon_sym___declspec] = ACTIONS(2809), + [anon_sym___based] = ACTIONS(2809), + [anon_sym___cdecl] = ACTIONS(2809), + [anon_sym___clrcall] = ACTIONS(2809), + [anon_sym___stdcall] = ACTIONS(2809), + [anon_sym___fastcall] = ACTIONS(2809), + [anon_sym___thiscall] = ACTIONS(2809), + [anon_sym___vectorcall] = ACTIONS(2809), + [anon_sym_LBRACE] = ACTIONS(2811), + [anon_sym_RBRACE] = ACTIONS(2811), + [anon_sym_signed] = ACTIONS(2809), + [anon_sym_unsigned] = ACTIONS(2809), + [anon_sym_long] = ACTIONS(2809), + [anon_sym_short] = ACTIONS(2809), + [anon_sym_LBRACK] = ACTIONS(2809), + [anon_sym_static] = ACTIONS(2809), + [anon_sym_register] = ACTIONS(2809), + [anon_sym_inline] = ACTIONS(2809), + [anon_sym___inline] = ACTIONS(2809), + [anon_sym___inline__] = ACTIONS(2809), + [anon_sym___forceinline] = ACTIONS(2809), + [anon_sym_thread_local] = ACTIONS(2809), + [anon_sym___thread] = ACTIONS(2809), + [anon_sym_const] = ACTIONS(2809), + [anon_sym_constexpr] = ACTIONS(2809), + [anon_sym_volatile] = ACTIONS(2809), + [anon_sym_restrict] = ACTIONS(2809), + [anon_sym___restrict__] = ACTIONS(2809), + [anon_sym__Atomic] = ACTIONS(2809), + [anon_sym__Noreturn] = ACTIONS(2809), + [anon_sym_noreturn] = ACTIONS(2809), + [anon_sym_mutable] = ACTIONS(2809), + [anon_sym_constinit] = ACTIONS(2809), + [anon_sym_consteval] = ACTIONS(2809), + [anon_sym_alignas] = ACTIONS(2809), + [anon_sym__Alignas] = ACTIONS(2809), + [sym_primitive_type] = ACTIONS(2809), + [anon_sym_enum] = ACTIONS(2809), + [anon_sym_class] = ACTIONS(2809), + [anon_sym_struct] = ACTIONS(2809), + [anon_sym_union] = ACTIONS(2809), + [anon_sym_if] = ACTIONS(2809), + [anon_sym_else] = ACTIONS(2809), + [anon_sym_switch] = ACTIONS(2809), + [anon_sym_case] = ACTIONS(2809), + [anon_sym_default] = ACTIONS(2809), + [anon_sym_while] = ACTIONS(2809), + [anon_sym_do] = ACTIONS(2809), + [anon_sym_for] = ACTIONS(2809), + [anon_sym_return] = ACTIONS(2809), + [anon_sym_break] = ACTIONS(2809), + [anon_sym_continue] = ACTIONS(2809), + [anon_sym_goto] = ACTIONS(2809), + [anon_sym___try] = ACTIONS(2809), + [anon_sym___leave] = ACTIONS(2809), + [anon_sym_not] = ACTIONS(2809), + [anon_sym_compl] = ACTIONS(2809), + [anon_sym_DASH_DASH] = ACTIONS(2811), + [anon_sym_PLUS_PLUS] = ACTIONS(2811), + [anon_sym_sizeof] = ACTIONS(2809), + [anon_sym___alignof__] = ACTIONS(2809), + [anon_sym___alignof] = ACTIONS(2809), + [anon_sym__alignof] = ACTIONS(2809), + [anon_sym_alignof] = ACTIONS(2809), + [anon_sym__Alignof] = ACTIONS(2809), + [anon_sym_offsetof] = ACTIONS(2809), + [anon_sym__Generic] = ACTIONS(2809), + [anon_sym_asm] = ACTIONS(2809), + [anon_sym___asm__] = ACTIONS(2809), + [sym__number_literal] = ACTIONS(2811), + [anon_sym_L_SQUOTE] = ACTIONS(2811), + [anon_sym_u_SQUOTE] = ACTIONS(2811), + [anon_sym_U_SQUOTE] = ACTIONS(2811), + [anon_sym_u8_SQUOTE] = ACTIONS(2811), + [anon_sym_SQUOTE] = ACTIONS(2811), + [anon_sym_L_DQUOTE] = ACTIONS(2811), + [anon_sym_u_DQUOTE] = ACTIONS(2811), + [anon_sym_U_DQUOTE] = ACTIONS(2811), + [anon_sym_u8_DQUOTE] = ACTIONS(2811), + [anon_sym_DQUOTE] = ACTIONS(2811), + [sym_true] = ACTIONS(2809), + [sym_false] = ACTIONS(2809), + [anon_sym_NULL] = ACTIONS(2809), + [anon_sym_nullptr] = ACTIONS(2809), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2811), + [sym_auto] = ACTIONS(2809), + [anon_sym_decltype] = ACTIONS(2809), + [sym_virtual] = ACTIONS(2809), + [anon_sym_explicit] = ACTIONS(2809), + [anon_sym_typename] = ACTIONS(2809), + [anon_sym_template] = ACTIONS(2809), + [anon_sym_operator] = ACTIONS(2809), + [anon_sym_try] = ACTIONS(2809), + [anon_sym_delete] = ACTIONS(2809), + [anon_sym_throw] = ACTIONS(2809), + [anon_sym_namespace] = ACTIONS(2809), + [anon_sym_using] = ACTIONS(2809), + [anon_sym_static_assert] = ACTIONS(2809), + [anon_sym_concept] = ACTIONS(2809), + [anon_sym_co_return] = ACTIONS(2809), + [anon_sym_co_yield] = ACTIONS(2809), + [anon_sym_R_DQUOTE] = ACTIONS(2811), + [anon_sym_LR_DQUOTE] = ACTIONS(2811), + [anon_sym_uR_DQUOTE] = ACTIONS(2811), + [anon_sym_UR_DQUOTE] = ACTIONS(2811), + [anon_sym_u8R_DQUOTE] = ACTIONS(2811), + [anon_sym_co_await] = ACTIONS(2809), + [anon_sym_new] = ACTIONS(2809), + [anon_sym_requires] = ACTIONS(2809), + [sym_this] = ACTIONS(2809), + }, + [486] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_include_token1] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_BANG] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_DASH] = ACTIONS(2781), + [anon_sym_PLUS] = ACTIONS(2781), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym_SEMI] = ACTIONS(2783), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym___cdecl] = ACTIONS(2781), + [anon_sym___clrcall] = ACTIONS(2781), + [anon_sym___stdcall] = ACTIONS(2781), + [anon_sym___fastcall] = ACTIONS(2781), + [anon_sym___thiscall] = ACTIONS(2781), + [anon_sym___vectorcall] = ACTIONS(2781), + [anon_sym_LBRACE] = ACTIONS(2783), + [anon_sym_RBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [anon_sym_if] = ACTIONS(2781), + [anon_sym_else] = ACTIONS(2781), + [anon_sym_switch] = ACTIONS(2781), + [anon_sym_case] = ACTIONS(2781), + [anon_sym_default] = ACTIONS(2781), + [anon_sym_while] = ACTIONS(2781), + [anon_sym_do] = ACTIONS(2781), + [anon_sym_for] = ACTIONS(2781), + [anon_sym_return] = ACTIONS(2781), + [anon_sym_break] = ACTIONS(2781), + [anon_sym_continue] = ACTIONS(2781), + [anon_sym_goto] = ACTIONS(2781), + [anon_sym___try] = ACTIONS(2781), + [anon_sym___leave] = ACTIONS(2781), + [anon_sym_not] = ACTIONS(2781), + [anon_sym_compl] = ACTIONS(2781), + [anon_sym_DASH_DASH] = ACTIONS(2783), + [anon_sym_PLUS_PLUS] = ACTIONS(2783), + [anon_sym_sizeof] = ACTIONS(2781), + [anon_sym___alignof__] = ACTIONS(2781), + [anon_sym___alignof] = ACTIONS(2781), + [anon_sym__alignof] = ACTIONS(2781), + [anon_sym_alignof] = ACTIONS(2781), + [anon_sym__Alignof] = ACTIONS(2781), + [anon_sym_offsetof] = ACTIONS(2781), + [anon_sym__Generic] = ACTIONS(2781), + [anon_sym_asm] = ACTIONS(2781), + [anon_sym___asm__] = ACTIONS(2781), + [sym__number_literal] = ACTIONS(2783), + [anon_sym_L_SQUOTE] = ACTIONS(2783), + [anon_sym_u_SQUOTE] = ACTIONS(2783), + [anon_sym_U_SQUOTE] = ACTIONS(2783), + [anon_sym_u8_SQUOTE] = ACTIONS(2783), + [anon_sym_SQUOTE] = ACTIONS(2783), + [anon_sym_L_DQUOTE] = ACTIONS(2783), + [anon_sym_u_DQUOTE] = ACTIONS(2783), + [anon_sym_U_DQUOTE] = ACTIONS(2783), + [anon_sym_u8_DQUOTE] = ACTIONS(2783), + [anon_sym_DQUOTE] = ACTIONS(2783), + [sym_true] = ACTIONS(2781), + [sym_false] = ACTIONS(2781), + [anon_sym_NULL] = ACTIONS(2781), + [anon_sym_nullptr] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_try] = ACTIONS(2781), + [anon_sym_delete] = ACTIONS(2781), + [anon_sym_throw] = ACTIONS(2781), + [anon_sym_namespace] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + [anon_sym_concept] = ACTIONS(2781), + [anon_sym_co_return] = ACTIONS(2781), + [anon_sym_co_yield] = ACTIONS(2781), + [anon_sym_R_DQUOTE] = ACTIONS(2783), + [anon_sym_LR_DQUOTE] = ACTIONS(2783), + [anon_sym_uR_DQUOTE] = ACTIONS(2783), + [anon_sym_UR_DQUOTE] = ACTIONS(2783), + [anon_sym_u8R_DQUOTE] = ACTIONS(2783), + [anon_sym_co_await] = ACTIONS(2781), + [anon_sym_new] = ACTIONS(2781), + [anon_sym_requires] = ACTIONS(2781), + [sym_this] = ACTIONS(2781), + }, + [487] = { + [ts_builtin_sym_end] = ACTIONS(2791), + [sym__identifier] = ACTIONS(2789), + [aux_sym_preproc_include_token1] = ACTIONS(2789), + [aux_sym_preproc_def_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2789), + [sym_preproc_directive] = ACTIONS(2789), + [anon_sym_LPAREN2] = ACTIONS(2791), + [anon_sym_BANG] = ACTIONS(2791), + [anon_sym_TILDE] = ACTIONS(2791), + [anon_sym_DASH] = ACTIONS(2789), + [anon_sym_PLUS] = ACTIONS(2789), + [anon_sym_STAR] = ACTIONS(2791), + [anon_sym_AMP_AMP] = ACTIONS(2791), + [anon_sym_AMP] = ACTIONS(2789), + [anon_sym_SEMI] = ACTIONS(2791), + [anon_sym___extension__] = ACTIONS(2789), + [anon_sym_typedef] = ACTIONS(2789), + [anon_sym_extern] = ACTIONS(2789), + [anon_sym___attribute__] = ACTIONS(2789), + [anon_sym_COLON_COLON] = ACTIONS(2791), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2791), + [anon_sym___declspec] = ACTIONS(2789), + [anon_sym___based] = ACTIONS(2789), + [anon_sym___cdecl] = ACTIONS(2789), + [anon_sym___clrcall] = ACTIONS(2789), + [anon_sym___stdcall] = ACTIONS(2789), + [anon_sym___fastcall] = ACTIONS(2789), + [anon_sym___thiscall] = ACTIONS(2789), + [anon_sym___vectorcall] = ACTIONS(2789), + [anon_sym_LBRACE] = ACTIONS(2791), + [anon_sym_signed] = ACTIONS(2789), + [anon_sym_unsigned] = ACTIONS(2789), + [anon_sym_long] = ACTIONS(2789), + [anon_sym_short] = ACTIONS(2789), + [anon_sym_LBRACK] = ACTIONS(2789), + [anon_sym_static] = ACTIONS(2789), + [anon_sym_register] = ACTIONS(2789), + [anon_sym_inline] = ACTIONS(2789), + [anon_sym___inline] = ACTIONS(2789), + [anon_sym___inline__] = ACTIONS(2789), + [anon_sym___forceinline] = ACTIONS(2789), + [anon_sym_thread_local] = ACTIONS(2789), + [anon_sym___thread] = ACTIONS(2789), + [anon_sym_const] = ACTIONS(2789), + [anon_sym_constexpr] = ACTIONS(2789), + [anon_sym_volatile] = ACTIONS(2789), + [anon_sym_restrict] = ACTIONS(2789), + [anon_sym___restrict__] = ACTIONS(2789), + [anon_sym__Atomic] = ACTIONS(2789), + [anon_sym__Noreturn] = ACTIONS(2789), + [anon_sym_noreturn] = ACTIONS(2789), + [anon_sym_mutable] = ACTIONS(2789), + [anon_sym_constinit] = ACTIONS(2789), + [anon_sym_consteval] = ACTIONS(2789), + [anon_sym_alignas] = ACTIONS(2789), + [anon_sym__Alignas] = ACTIONS(2789), + [sym_primitive_type] = ACTIONS(2789), + [anon_sym_enum] = ACTIONS(2789), + [anon_sym_class] = ACTIONS(2789), + [anon_sym_struct] = ACTIONS(2789), + [anon_sym_union] = ACTIONS(2789), + [anon_sym_if] = ACTIONS(2789), + [anon_sym_else] = ACTIONS(2789), + [anon_sym_switch] = ACTIONS(2789), + [anon_sym_case] = ACTIONS(2789), + [anon_sym_default] = ACTIONS(2789), + [anon_sym_while] = ACTIONS(2789), + [anon_sym_do] = ACTIONS(2789), + [anon_sym_for] = ACTIONS(2789), + [anon_sym_return] = ACTIONS(2789), + [anon_sym_break] = ACTIONS(2789), + [anon_sym_continue] = ACTIONS(2789), + [anon_sym_goto] = ACTIONS(2789), + [anon_sym___try] = ACTIONS(2789), + [anon_sym___leave] = ACTIONS(2789), + [anon_sym_not] = ACTIONS(2789), + [anon_sym_compl] = ACTIONS(2789), + [anon_sym_DASH_DASH] = ACTIONS(2791), + [anon_sym_PLUS_PLUS] = ACTIONS(2791), + [anon_sym_sizeof] = ACTIONS(2789), + [anon_sym___alignof__] = ACTIONS(2789), + [anon_sym___alignof] = ACTIONS(2789), + [anon_sym__alignof] = ACTIONS(2789), + [anon_sym_alignof] = ACTIONS(2789), + [anon_sym__Alignof] = ACTIONS(2789), + [anon_sym_offsetof] = ACTIONS(2789), + [anon_sym__Generic] = ACTIONS(2789), + [anon_sym_asm] = ACTIONS(2789), + [anon_sym___asm__] = ACTIONS(2789), + [sym__number_literal] = ACTIONS(2791), + [anon_sym_L_SQUOTE] = ACTIONS(2791), + [anon_sym_u_SQUOTE] = ACTIONS(2791), + [anon_sym_U_SQUOTE] = ACTIONS(2791), + [anon_sym_u8_SQUOTE] = ACTIONS(2791), + [anon_sym_SQUOTE] = ACTIONS(2791), + [anon_sym_L_DQUOTE] = ACTIONS(2791), + [anon_sym_u_DQUOTE] = ACTIONS(2791), + [anon_sym_U_DQUOTE] = ACTIONS(2791), + [anon_sym_u8_DQUOTE] = ACTIONS(2791), + [anon_sym_DQUOTE] = ACTIONS(2791), + [sym_true] = ACTIONS(2789), + [sym_false] = ACTIONS(2789), + [anon_sym_NULL] = ACTIONS(2789), + [anon_sym_nullptr] = ACTIONS(2789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2791), + [sym_auto] = ACTIONS(2789), + [anon_sym_decltype] = ACTIONS(2789), + [sym_virtual] = ACTIONS(2789), + [anon_sym_explicit] = ACTIONS(2789), + [anon_sym_typename] = ACTIONS(2789), + [anon_sym_template] = ACTIONS(2789), + [anon_sym_operator] = ACTIONS(2789), + [anon_sym_try] = ACTIONS(2789), + [anon_sym_delete] = ACTIONS(2789), + [anon_sym_throw] = ACTIONS(2789), + [anon_sym_namespace] = ACTIONS(2789), + [anon_sym_using] = ACTIONS(2789), + [anon_sym_static_assert] = ACTIONS(2789), + [anon_sym_concept] = ACTIONS(2789), + [anon_sym_co_return] = ACTIONS(2789), + [anon_sym_co_yield] = ACTIONS(2789), + [anon_sym_R_DQUOTE] = ACTIONS(2791), + [anon_sym_LR_DQUOTE] = ACTIONS(2791), + [anon_sym_uR_DQUOTE] = ACTIONS(2791), + [anon_sym_UR_DQUOTE] = ACTIONS(2791), + [anon_sym_u8R_DQUOTE] = ACTIONS(2791), + [anon_sym_co_await] = ACTIONS(2789), + [anon_sym_new] = ACTIONS(2789), + [anon_sym_requires] = ACTIONS(2789), + [sym_this] = ACTIONS(2789), + }, + [488] = { + [sym__identifier] = ACTIONS(2813), + [aux_sym_preproc_include_token1] = ACTIONS(2813), + [aux_sym_preproc_def_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token2] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2813), + [sym_preproc_directive] = ACTIONS(2813), + [anon_sym_LPAREN2] = ACTIONS(2815), + [anon_sym_BANG] = ACTIONS(2815), + [anon_sym_TILDE] = ACTIONS(2815), + [anon_sym_DASH] = ACTIONS(2813), + [anon_sym_PLUS] = ACTIONS(2813), + [anon_sym_STAR] = ACTIONS(2815), + [anon_sym_AMP_AMP] = ACTIONS(2815), + [anon_sym_AMP] = ACTIONS(2813), + [anon_sym_SEMI] = ACTIONS(2815), + [anon_sym___extension__] = ACTIONS(2813), + [anon_sym_typedef] = ACTIONS(2813), + [anon_sym_extern] = ACTIONS(2813), + [anon_sym___attribute__] = ACTIONS(2813), + [anon_sym_COLON_COLON] = ACTIONS(2815), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2815), + [anon_sym___declspec] = ACTIONS(2813), + [anon_sym___based] = ACTIONS(2813), + [anon_sym___cdecl] = ACTIONS(2813), + [anon_sym___clrcall] = ACTIONS(2813), + [anon_sym___stdcall] = ACTIONS(2813), + [anon_sym___fastcall] = ACTIONS(2813), + [anon_sym___thiscall] = ACTIONS(2813), + [anon_sym___vectorcall] = ACTIONS(2813), + [anon_sym_LBRACE] = ACTIONS(2815), + [anon_sym_signed] = ACTIONS(2813), + [anon_sym_unsigned] = ACTIONS(2813), + [anon_sym_long] = ACTIONS(2813), + [anon_sym_short] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(2813), + [anon_sym_static] = ACTIONS(2813), + [anon_sym_register] = ACTIONS(2813), + [anon_sym_inline] = ACTIONS(2813), + [anon_sym___inline] = ACTIONS(2813), + [anon_sym___inline__] = ACTIONS(2813), + [anon_sym___forceinline] = ACTIONS(2813), + [anon_sym_thread_local] = ACTIONS(2813), + [anon_sym___thread] = ACTIONS(2813), + [anon_sym_const] = ACTIONS(2813), + [anon_sym_constexpr] = ACTIONS(2813), + [anon_sym_volatile] = ACTIONS(2813), + [anon_sym_restrict] = ACTIONS(2813), + [anon_sym___restrict__] = ACTIONS(2813), + [anon_sym__Atomic] = ACTIONS(2813), + [anon_sym__Noreturn] = ACTIONS(2813), + [anon_sym_noreturn] = ACTIONS(2813), + [anon_sym_mutable] = ACTIONS(2813), + [anon_sym_constinit] = ACTIONS(2813), + [anon_sym_consteval] = ACTIONS(2813), + [anon_sym_alignas] = ACTIONS(2813), + [anon_sym__Alignas] = ACTIONS(2813), + [sym_primitive_type] = ACTIONS(2813), + [anon_sym_enum] = ACTIONS(2813), + [anon_sym_class] = ACTIONS(2813), + [anon_sym_struct] = ACTIONS(2813), + [anon_sym_union] = ACTIONS(2813), + [anon_sym_if] = ACTIONS(2813), + [anon_sym_else] = ACTIONS(2813), + [anon_sym_switch] = ACTIONS(2813), + [anon_sym_case] = ACTIONS(2813), + [anon_sym_default] = ACTIONS(2813), + [anon_sym_while] = ACTIONS(2813), + [anon_sym_do] = ACTIONS(2813), + [anon_sym_for] = ACTIONS(2813), + [anon_sym_return] = ACTIONS(2813), + [anon_sym_break] = ACTIONS(2813), + [anon_sym_continue] = ACTIONS(2813), + [anon_sym_goto] = ACTIONS(2813), + [anon_sym___try] = ACTIONS(2813), + [anon_sym___leave] = ACTIONS(2813), + [anon_sym_not] = ACTIONS(2813), + [anon_sym_compl] = ACTIONS(2813), + [anon_sym_DASH_DASH] = ACTIONS(2815), + [anon_sym_PLUS_PLUS] = ACTIONS(2815), + [anon_sym_sizeof] = ACTIONS(2813), + [anon_sym___alignof__] = ACTIONS(2813), + [anon_sym___alignof] = ACTIONS(2813), + [anon_sym__alignof] = ACTIONS(2813), + [anon_sym_alignof] = ACTIONS(2813), + [anon_sym__Alignof] = ACTIONS(2813), + [anon_sym_offsetof] = ACTIONS(2813), + [anon_sym__Generic] = ACTIONS(2813), + [anon_sym_asm] = ACTIONS(2813), + [anon_sym___asm__] = ACTIONS(2813), + [sym__number_literal] = ACTIONS(2815), + [anon_sym_L_SQUOTE] = ACTIONS(2815), + [anon_sym_u_SQUOTE] = ACTIONS(2815), + [anon_sym_U_SQUOTE] = ACTIONS(2815), + [anon_sym_u8_SQUOTE] = ACTIONS(2815), + [anon_sym_SQUOTE] = ACTIONS(2815), + [anon_sym_L_DQUOTE] = ACTIONS(2815), + [anon_sym_u_DQUOTE] = ACTIONS(2815), + [anon_sym_U_DQUOTE] = ACTIONS(2815), + [anon_sym_u8_DQUOTE] = ACTIONS(2815), + [anon_sym_DQUOTE] = ACTIONS(2815), + [sym_true] = ACTIONS(2813), + [sym_false] = ACTIONS(2813), + [anon_sym_NULL] = ACTIONS(2813), + [anon_sym_nullptr] = ACTIONS(2813), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2815), + [sym_auto] = ACTIONS(2813), + [anon_sym_decltype] = ACTIONS(2813), + [sym_virtual] = ACTIONS(2813), + [anon_sym_explicit] = ACTIONS(2813), + [anon_sym_typename] = ACTIONS(2813), + [anon_sym_template] = ACTIONS(2813), + [anon_sym_operator] = ACTIONS(2813), + [anon_sym_try] = ACTIONS(2813), + [anon_sym_delete] = ACTIONS(2813), + [anon_sym_throw] = ACTIONS(2813), + [anon_sym_namespace] = ACTIONS(2813), + [anon_sym_using] = ACTIONS(2813), + [anon_sym_static_assert] = ACTIONS(2813), + [anon_sym_concept] = ACTIONS(2813), + [anon_sym_co_return] = ACTIONS(2813), + [anon_sym_co_yield] = ACTIONS(2813), + [anon_sym_R_DQUOTE] = ACTIONS(2815), + [anon_sym_LR_DQUOTE] = ACTIONS(2815), + [anon_sym_uR_DQUOTE] = ACTIONS(2815), + [anon_sym_UR_DQUOTE] = ACTIONS(2815), + [anon_sym_u8R_DQUOTE] = ACTIONS(2815), + [anon_sym_co_await] = ACTIONS(2813), + [anon_sym_new] = ACTIONS(2813), + [anon_sym_requires] = ACTIONS(2813), + [sym_this] = ACTIONS(2813), + }, + [489] = { + [sym__identifier] = ACTIONS(2809), + [aux_sym_preproc_include_token1] = ACTIONS(2809), + [aux_sym_preproc_def_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token1] = ACTIONS(2809), + [aux_sym_preproc_if_token2] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2809), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2809), + [sym_preproc_directive] = ACTIONS(2809), + [anon_sym_LPAREN2] = ACTIONS(2811), + [anon_sym_BANG] = ACTIONS(2811), + [anon_sym_TILDE] = ACTIONS(2811), + [anon_sym_DASH] = ACTIONS(2809), + [anon_sym_PLUS] = ACTIONS(2809), + [anon_sym_STAR] = ACTIONS(2811), + [anon_sym_AMP_AMP] = ACTIONS(2811), + [anon_sym_AMP] = ACTIONS(2809), + [anon_sym_SEMI] = ACTIONS(2811), + [anon_sym___extension__] = ACTIONS(2809), + [anon_sym_typedef] = ACTIONS(2809), + [anon_sym_extern] = ACTIONS(2809), + [anon_sym___attribute__] = ACTIONS(2809), + [anon_sym_COLON_COLON] = ACTIONS(2811), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2811), + [anon_sym___declspec] = ACTIONS(2809), + [anon_sym___based] = ACTIONS(2809), + [anon_sym___cdecl] = ACTIONS(2809), + [anon_sym___clrcall] = ACTIONS(2809), + [anon_sym___stdcall] = ACTIONS(2809), + [anon_sym___fastcall] = ACTIONS(2809), + [anon_sym___thiscall] = ACTIONS(2809), + [anon_sym___vectorcall] = ACTIONS(2809), + [anon_sym_LBRACE] = ACTIONS(2811), + [anon_sym_signed] = ACTIONS(2809), + [anon_sym_unsigned] = ACTIONS(2809), + [anon_sym_long] = ACTIONS(2809), + [anon_sym_short] = ACTIONS(2809), + [anon_sym_LBRACK] = ACTIONS(2809), + [anon_sym_static] = ACTIONS(2809), + [anon_sym_register] = ACTIONS(2809), + [anon_sym_inline] = ACTIONS(2809), + [anon_sym___inline] = ACTIONS(2809), + [anon_sym___inline__] = ACTIONS(2809), + [anon_sym___forceinline] = ACTIONS(2809), + [anon_sym_thread_local] = ACTIONS(2809), + [anon_sym___thread] = ACTIONS(2809), + [anon_sym_const] = ACTIONS(2809), + [anon_sym_constexpr] = ACTIONS(2809), + [anon_sym_volatile] = ACTIONS(2809), + [anon_sym_restrict] = ACTIONS(2809), + [anon_sym___restrict__] = ACTIONS(2809), + [anon_sym__Atomic] = ACTIONS(2809), + [anon_sym__Noreturn] = ACTIONS(2809), + [anon_sym_noreturn] = ACTIONS(2809), + [anon_sym_mutable] = ACTIONS(2809), + [anon_sym_constinit] = ACTIONS(2809), + [anon_sym_consteval] = ACTIONS(2809), + [anon_sym_alignas] = ACTIONS(2809), + [anon_sym__Alignas] = ACTIONS(2809), + [sym_primitive_type] = ACTIONS(2809), + [anon_sym_enum] = ACTIONS(2809), + [anon_sym_class] = ACTIONS(2809), + [anon_sym_struct] = ACTIONS(2809), + [anon_sym_union] = ACTIONS(2809), + [anon_sym_if] = ACTIONS(2809), + [anon_sym_else] = ACTIONS(2809), + [anon_sym_switch] = ACTIONS(2809), + [anon_sym_case] = ACTIONS(2809), + [anon_sym_default] = ACTIONS(2809), + [anon_sym_while] = ACTIONS(2809), + [anon_sym_do] = ACTIONS(2809), + [anon_sym_for] = ACTIONS(2809), + [anon_sym_return] = ACTIONS(2809), + [anon_sym_break] = ACTIONS(2809), + [anon_sym_continue] = ACTIONS(2809), + [anon_sym_goto] = ACTIONS(2809), + [anon_sym___try] = ACTIONS(2809), + [anon_sym___leave] = ACTIONS(2809), + [anon_sym_not] = ACTIONS(2809), + [anon_sym_compl] = ACTIONS(2809), + [anon_sym_DASH_DASH] = ACTIONS(2811), + [anon_sym_PLUS_PLUS] = ACTIONS(2811), + [anon_sym_sizeof] = ACTIONS(2809), + [anon_sym___alignof__] = ACTIONS(2809), + [anon_sym___alignof] = ACTIONS(2809), + [anon_sym__alignof] = ACTIONS(2809), + [anon_sym_alignof] = ACTIONS(2809), + [anon_sym__Alignof] = ACTIONS(2809), + [anon_sym_offsetof] = ACTIONS(2809), + [anon_sym__Generic] = ACTIONS(2809), + [anon_sym_asm] = ACTIONS(2809), + [anon_sym___asm__] = ACTIONS(2809), + [sym__number_literal] = ACTIONS(2811), + [anon_sym_L_SQUOTE] = ACTIONS(2811), + [anon_sym_u_SQUOTE] = ACTIONS(2811), + [anon_sym_U_SQUOTE] = ACTIONS(2811), + [anon_sym_u8_SQUOTE] = ACTIONS(2811), + [anon_sym_SQUOTE] = ACTIONS(2811), + [anon_sym_L_DQUOTE] = ACTIONS(2811), + [anon_sym_u_DQUOTE] = ACTIONS(2811), + [anon_sym_U_DQUOTE] = ACTIONS(2811), + [anon_sym_u8_DQUOTE] = ACTIONS(2811), + [anon_sym_DQUOTE] = ACTIONS(2811), + [sym_true] = ACTIONS(2809), + [sym_false] = ACTIONS(2809), + [anon_sym_NULL] = ACTIONS(2809), + [anon_sym_nullptr] = ACTIONS(2809), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2811), + [sym_auto] = ACTIONS(2809), + [anon_sym_decltype] = ACTIONS(2809), + [sym_virtual] = ACTIONS(2809), + [anon_sym_explicit] = ACTIONS(2809), + [anon_sym_typename] = ACTIONS(2809), + [anon_sym_template] = ACTIONS(2809), + [anon_sym_operator] = ACTIONS(2809), + [anon_sym_try] = ACTIONS(2809), + [anon_sym_delete] = ACTIONS(2809), + [anon_sym_throw] = ACTIONS(2809), + [anon_sym_namespace] = ACTIONS(2809), + [anon_sym_using] = ACTIONS(2809), + [anon_sym_static_assert] = ACTIONS(2809), + [anon_sym_concept] = ACTIONS(2809), + [anon_sym_co_return] = ACTIONS(2809), + [anon_sym_co_yield] = ACTIONS(2809), + [anon_sym_R_DQUOTE] = ACTIONS(2811), + [anon_sym_LR_DQUOTE] = ACTIONS(2811), + [anon_sym_uR_DQUOTE] = ACTIONS(2811), + [anon_sym_UR_DQUOTE] = ACTIONS(2811), + [anon_sym_u8R_DQUOTE] = ACTIONS(2811), + [anon_sym_co_await] = ACTIONS(2809), + [anon_sym_new] = ACTIONS(2809), + [anon_sym_requires] = ACTIONS(2809), + [sym_this] = ACTIONS(2809), + }, + [490] = { + [ts_builtin_sym_end] = ACTIONS(2701), + [sym__identifier] = ACTIONS(2699), + [aux_sym_preproc_include_token1] = ACTIONS(2699), + [aux_sym_preproc_def_token1] = ACTIONS(2699), + [aux_sym_preproc_if_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2699), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2699), + [sym_preproc_directive] = ACTIONS(2699), + [anon_sym_LPAREN2] = ACTIONS(2701), + [anon_sym_BANG] = ACTIONS(2701), + [anon_sym_TILDE] = ACTIONS(2701), + [anon_sym_DASH] = ACTIONS(2699), + [anon_sym_PLUS] = ACTIONS(2699), + [anon_sym_STAR] = ACTIONS(2701), + [anon_sym_AMP_AMP] = ACTIONS(2701), + [anon_sym_AMP] = ACTIONS(2699), + [anon_sym_SEMI] = ACTIONS(2701), + [anon_sym___extension__] = ACTIONS(2699), + [anon_sym_typedef] = ACTIONS(2699), + [anon_sym_extern] = ACTIONS(2699), + [anon_sym___attribute__] = ACTIONS(2699), + [anon_sym_COLON_COLON] = ACTIONS(2701), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2701), + [anon_sym___declspec] = ACTIONS(2699), + [anon_sym___based] = ACTIONS(2699), + [anon_sym___cdecl] = ACTIONS(2699), + [anon_sym___clrcall] = ACTIONS(2699), + [anon_sym___stdcall] = ACTIONS(2699), + [anon_sym___fastcall] = ACTIONS(2699), + [anon_sym___thiscall] = ACTIONS(2699), + [anon_sym___vectorcall] = ACTIONS(2699), + [anon_sym_LBRACE] = ACTIONS(2701), + [anon_sym_signed] = ACTIONS(2699), + [anon_sym_unsigned] = ACTIONS(2699), + [anon_sym_long] = ACTIONS(2699), + [anon_sym_short] = ACTIONS(2699), + [anon_sym_LBRACK] = ACTIONS(2699), + [anon_sym_static] = ACTIONS(2699), + [anon_sym_register] = ACTIONS(2699), + [anon_sym_inline] = ACTIONS(2699), + [anon_sym___inline] = ACTIONS(2699), + [anon_sym___inline__] = ACTIONS(2699), + [anon_sym___forceinline] = ACTIONS(2699), + [anon_sym_thread_local] = ACTIONS(2699), + [anon_sym___thread] = ACTIONS(2699), + [anon_sym_const] = ACTIONS(2699), + [anon_sym_constexpr] = ACTIONS(2699), + [anon_sym_volatile] = ACTIONS(2699), + [anon_sym_restrict] = ACTIONS(2699), + [anon_sym___restrict__] = ACTIONS(2699), + [anon_sym__Atomic] = ACTIONS(2699), + [anon_sym__Noreturn] = ACTIONS(2699), + [anon_sym_noreturn] = ACTIONS(2699), + [anon_sym_mutable] = ACTIONS(2699), + [anon_sym_constinit] = ACTIONS(2699), + [anon_sym_consteval] = ACTIONS(2699), + [anon_sym_alignas] = ACTIONS(2699), + [anon_sym__Alignas] = ACTIONS(2699), + [sym_primitive_type] = ACTIONS(2699), + [anon_sym_enum] = ACTIONS(2699), + [anon_sym_class] = ACTIONS(2699), + [anon_sym_struct] = ACTIONS(2699), + [anon_sym_union] = ACTIONS(2699), + [anon_sym_if] = ACTIONS(2699), + [anon_sym_else] = ACTIONS(2699), + [anon_sym_switch] = ACTIONS(2699), + [anon_sym_case] = ACTIONS(2699), + [anon_sym_default] = ACTIONS(2699), + [anon_sym_while] = ACTIONS(2699), + [anon_sym_do] = ACTIONS(2699), + [anon_sym_for] = ACTIONS(2699), + [anon_sym_return] = ACTIONS(2699), + [anon_sym_break] = ACTIONS(2699), + [anon_sym_continue] = ACTIONS(2699), + [anon_sym_goto] = ACTIONS(2699), + [anon_sym___try] = ACTIONS(2699), + [anon_sym___leave] = ACTIONS(2699), + [anon_sym_not] = ACTIONS(2699), + [anon_sym_compl] = ACTIONS(2699), + [anon_sym_DASH_DASH] = ACTIONS(2701), + [anon_sym_PLUS_PLUS] = ACTIONS(2701), + [anon_sym_sizeof] = ACTIONS(2699), + [anon_sym___alignof__] = ACTIONS(2699), + [anon_sym___alignof] = ACTIONS(2699), + [anon_sym__alignof] = ACTIONS(2699), + [anon_sym_alignof] = ACTIONS(2699), + [anon_sym__Alignof] = ACTIONS(2699), + [anon_sym_offsetof] = ACTIONS(2699), + [anon_sym__Generic] = ACTIONS(2699), + [anon_sym_asm] = ACTIONS(2699), + [anon_sym___asm__] = ACTIONS(2699), + [sym__number_literal] = ACTIONS(2701), + [anon_sym_L_SQUOTE] = ACTIONS(2701), + [anon_sym_u_SQUOTE] = ACTIONS(2701), + [anon_sym_U_SQUOTE] = ACTIONS(2701), + [anon_sym_u8_SQUOTE] = ACTIONS(2701), + [anon_sym_SQUOTE] = ACTIONS(2701), + [anon_sym_L_DQUOTE] = ACTIONS(2701), + [anon_sym_u_DQUOTE] = ACTIONS(2701), + [anon_sym_U_DQUOTE] = ACTIONS(2701), + [anon_sym_u8_DQUOTE] = ACTIONS(2701), + [anon_sym_DQUOTE] = ACTIONS(2701), + [sym_true] = ACTIONS(2699), + [sym_false] = ACTIONS(2699), + [anon_sym_NULL] = ACTIONS(2699), + [anon_sym_nullptr] = ACTIONS(2699), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2701), + [sym_auto] = ACTIONS(2699), + [anon_sym_decltype] = ACTIONS(2699), + [sym_virtual] = ACTIONS(2699), + [anon_sym_explicit] = ACTIONS(2699), + [anon_sym_typename] = ACTIONS(2699), + [anon_sym_template] = ACTIONS(2699), + [anon_sym_operator] = ACTIONS(2699), + [anon_sym_try] = ACTIONS(2699), + [anon_sym_delete] = ACTIONS(2699), + [anon_sym_throw] = ACTIONS(2699), + [anon_sym_namespace] = ACTIONS(2699), + [anon_sym_using] = ACTIONS(2699), + [anon_sym_static_assert] = ACTIONS(2699), + [anon_sym_concept] = ACTIONS(2699), + [anon_sym_co_return] = ACTIONS(2699), + [anon_sym_co_yield] = ACTIONS(2699), + [anon_sym_R_DQUOTE] = ACTIONS(2701), + [anon_sym_LR_DQUOTE] = ACTIONS(2701), + [anon_sym_uR_DQUOTE] = ACTIONS(2701), + [anon_sym_UR_DQUOTE] = ACTIONS(2701), + [anon_sym_u8R_DQUOTE] = ACTIONS(2701), + [anon_sym_co_await] = ACTIONS(2699), + [anon_sym_new] = ACTIONS(2699), + [anon_sym_requires] = ACTIONS(2699), + [sym_this] = ACTIONS(2699), + }, + [491] = { + [ts_builtin_sym_end] = ACTIONS(2693), + [sym__identifier] = ACTIONS(2691), + [aux_sym_preproc_include_token1] = ACTIONS(2691), + [aux_sym_preproc_def_token1] = ACTIONS(2691), + [aux_sym_preproc_if_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2691), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2691), + [sym_preproc_directive] = ACTIONS(2691), + [anon_sym_LPAREN2] = ACTIONS(2693), + [anon_sym_BANG] = ACTIONS(2693), + [anon_sym_TILDE] = ACTIONS(2693), + [anon_sym_DASH] = ACTIONS(2691), + [anon_sym_PLUS] = ACTIONS(2691), + [anon_sym_STAR] = ACTIONS(2693), + [anon_sym_AMP_AMP] = ACTIONS(2693), + [anon_sym_AMP] = ACTIONS(2691), + [anon_sym_SEMI] = ACTIONS(2693), + [anon_sym___extension__] = ACTIONS(2691), + [anon_sym_typedef] = ACTIONS(2691), + [anon_sym_extern] = ACTIONS(2691), + [anon_sym___attribute__] = ACTIONS(2691), + [anon_sym_COLON_COLON] = ACTIONS(2693), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2693), + [anon_sym___declspec] = ACTIONS(2691), + [anon_sym___based] = ACTIONS(2691), + [anon_sym___cdecl] = ACTIONS(2691), + [anon_sym___clrcall] = ACTIONS(2691), + [anon_sym___stdcall] = ACTIONS(2691), + [anon_sym___fastcall] = ACTIONS(2691), + [anon_sym___thiscall] = ACTIONS(2691), + [anon_sym___vectorcall] = ACTIONS(2691), + [anon_sym_LBRACE] = ACTIONS(2693), + [anon_sym_signed] = ACTIONS(2691), + [anon_sym_unsigned] = ACTIONS(2691), + [anon_sym_long] = ACTIONS(2691), + [anon_sym_short] = ACTIONS(2691), + [anon_sym_LBRACK] = ACTIONS(2691), + [anon_sym_static] = ACTIONS(2691), + [anon_sym_register] = ACTIONS(2691), + [anon_sym_inline] = ACTIONS(2691), + [anon_sym___inline] = ACTIONS(2691), + [anon_sym___inline__] = ACTIONS(2691), + [anon_sym___forceinline] = ACTIONS(2691), + [anon_sym_thread_local] = ACTIONS(2691), + [anon_sym___thread] = ACTIONS(2691), + [anon_sym_const] = ACTIONS(2691), + [anon_sym_constexpr] = ACTIONS(2691), + [anon_sym_volatile] = ACTIONS(2691), + [anon_sym_restrict] = ACTIONS(2691), + [anon_sym___restrict__] = ACTIONS(2691), + [anon_sym__Atomic] = ACTIONS(2691), + [anon_sym__Noreturn] = ACTIONS(2691), + [anon_sym_noreturn] = ACTIONS(2691), + [anon_sym_mutable] = ACTIONS(2691), + [anon_sym_constinit] = ACTIONS(2691), + [anon_sym_consteval] = ACTIONS(2691), + [anon_sym_alignas] = ACTIONS(2691), + [anon_sym__Alignas] = ACTIONS(2691), + [sym_primitive_type] = ACTIONS(2691), + [anon_sym_enum] = ACTIONS(2691), + [anon_sym_class] = ACTIONS(2691), + [anon_sym_struct] = ACTIONS(2691), + [anon_sym_union] = ACTIONS(2691), + [anon_sym_if] = ACTIONS(2691), + [anon_sym_else] = ACTIONS(2691), + [anon_sym_switch] = ACTIONS(2691), + [anon_sym_case] = ACTIONS(2691), + [anon_sym_default] = ACTIONS(2691), + [anon_sym_while] = ACTIONS(2691), + [anon_sym_do] = ACTIONS(2691), + [anon_sym_for] = ACTIONS(2691), + [anon_sym_return] = ACTIONS(2691), + [anon_sym_break] = ACTIONS(2691), + [anon_sym_continue] = ACTIONS(2691), + [anon_sym_goto] = ACTIONS(2691), + [anon_sym___try] = ACTIONS(2691), + [anon_sym___leave] = ACTIONS(2691), + [anon_sym_not] = ACTIONS(2691), + [anon_sym_compl] = ACTIONS(2691), + [anon_sym_DASH_DASH] = ACTIONS(2693), + [anon_sym_PLUS_PLUS] = ACTIONS(2693), + [anon_sym_sizeof] = ACTIONS(2691), + [anon_sym___alignof__] = ACTIONS(2691), + [anon_sym___alignof] = ACTIONS(2691), + [anon_sym__alignof] = ACTIONS(2691), + [anon_sym_alignof] = ACTIONS(2691), + [anon_sym__Alignof] = ACTIONS(2691), + [anon_sym_offsetof] = ACTIONS(2691), + [anon_sym__Generic] = ACTIONS(2691), + [anon_sym_asm] = ACTIONS(2691), + [anon_sym___asm__] = ACTIONS(2691), + [sym__number_literal] = ACTIONS(2693), + [anon_sym_L_SQUOTE] = ACTIONS(2693), + [anon_sym_u_SQUOTE] = ACTIONS(2693), + [anon_sym_U_SQUOTE] = ACTIONS(2693), + [anon_sym_u8_SQUOTE] = ACTIONS(2693), + [anon_sym_SQUOTE] = ACTIONS(2693), + [anon_sym_L_DQUOTE] = ACTIONS(2693), + [anon_sym_u_DQUOTE] = ACTIONS(2693), + [anon_sym_U_DQUOTE] = ACTIONS(2693), + [anon_sym_u8_DQUOTE] = ACTIONS(2693), + [anon_sym_DQUOTE] = ACTIONS(2693), + [sym_true] = ACTIONS(2691), + [sym_false] = ACTIONS(2691), + [anon_sym_NULL] = ACTIONS(2691), + [anon_sym_nullptr] = ACTIONS(2691), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2693), + [sym_auto] = ACTIONS(2691), + [anon_sym_decltype] = ACTIONS(2691), + [sym_virtual] = ACTIONS(2691), + [anon_sym_explicit] = ACTIONS(2691), + [anon_sym_typename] = ACTIONS(2691), + [anon_sym_template] = ACTIONS(2691), + [anon_sym_operator] = ACTIONS(2691), + [anon_sym_try] = ACTIONS(2691), + [anon_sym_delete] = ACTIONS(2691), + [anon_sym_throw] = ACTIONS(2691), + [anon_sym_namespace] = ACTIONS(2691), + [anon_sym_using] = ACTIONS(2691), + [anon_sym_static_assert] = ACTIONS(2691), + [anon_sym_concept] = ACTIONS(2691), + [anon_sym_co_return] = ACTIONS(2691), + [anon_sym_co_yield] = ACTIONS(2691), + [anon_sym_R_DQUOTE] = ACTIONS(2693), + [anon_sym_LR_DQUOTE] = ACTIONS(2693), + [anon_sym_uR_DQUOTE] = ACTIONS(2693), + [anon_sym_UR_DQUOTE] = ACTIONS(2693), + [anon_sym_u8R_DQUOTE] = ACTIONS(2693), + [anon_sym_co_await] = ACTIONS(2691), + [anon_sym_new] = ACTIONS(2691), + [anon_sym_requires] = ACTIONS(2691), + [sym_this] = ACTIONS(2691), + }, + [492] = { + [sym__identifier] = ACTIONS(2793), + [aux_sym_preproc_include_token1] = ACTIONS(2793), + [aux_sym_preproc_def_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token1] = ACTIONS(2793), + [aux_sym_preproc_if_token2] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2793), + [sym_preproc_directive] = ACTIONS(2793), + [anon_sym_LPAREN2] = ACTIONS(2795), + [anon_sym_BANG] = ACTIONS(2795), + [anon_sym_TILDE] = ACTIONS(2795), + [anon_sym_DASH] = ACTIONS(2793), + [anon_sym_PLUS] = ACTIONS(2793), + [anon_sym_STAR] = ACTIONS(2795), + [anon_sym_AMP_AMP] = ACTIONS(2795), + [anon_sym_AMP] = ACTIONS(2793), + [anon_sym_SEMI] = ACTIONS(2795), + [anon_sym___extension__] = ACTIONS(2793), + [anon_sym_typedef] = ACTIONS(2793), + [anon_sym_extern] = ACTIONS(2793), + [anon_sym___attribute__] = ACTIONS(2793), + [anon_sym_COLON_COLON] = ACTIONS(2795), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2795), + [anon_sym___declspec] = ACTIONS(2793), + [anon_sym___based] = ACTIONS(2793), + [anon_sym___cdecl] = ACTIONS(2793), + [anon_sym___clrcall] = ACTIONS(2793), + [anon_sym___stdcall] = ACTIONS(2793), + [anon_sym___fastcall] = ACTIONS(2793), + [anon_sym___thiscall] = ACTIONS(2793), + [anon_sym___vectorcall] = ACTIONS(2793), + [anon_sym_LBRACE] = ACTIONS(2795), + [anon_sym_signed] = ACTIONS(2793), + [anon_sym_unsigned] = ACTIONS(2793), + [anon_sym_long] = ACTIONS(2793), + [anon_sym_short] = ACTIONS(2793), + [anon_sym_LBRACK] = ACTIONS(2793), + [anon_sym_static] = ACTIONS(2793), + [anon_sym_register] = ACTIONS(2793), + [anon_sym_inline] = ACTIONS(2793), + [anon_sym___inline] = ACTIONS(2793), + [anon_sym___inline__] = ACTIONS(2793), + [anon_sym___forceinline] = ACTIONS(2793), + [anon_sym_thread_local] = ACTIONS(2793), + [anon_sym___thread] = ACTIONS(2793), + [anon_sym_const] = ACTIONS(2793), + [anon_sym_constexpr] = ACTIONS(2793), + [anon_sym_volatile] = ACTIONS(2793), + [anon_sym_restrict] = ACTIONS(2793), + [anon_sym___restrict__] = ACTIONS(2793), + [anon_sym__Atomic] = ACTIONS(2793), + [anon_sym__Noreturn] = ACTIONS(2793), + [anon_sym_noreturn] = ACTIONS(2793), + [anon_sym_mutable] = ACTIONS(2793), + [anon_sym_constinit] = ACTIONS(2793), + [anon_sym_consteval] = ACTIONS(2793), + [anon_sym_alignas] = ACTIONS(2793), + [anon_sym__Alignas] = ACTIONS(2793), + [sym_primitive_type] = ACTIONS(2793), + [anon_sym_enum] = ACTIONS(2793), + [anon_sym_class] = ACTIONS(2793), + [anon_sym_struct] = ACTIONS(2793), + [anon_sym_union] = ACTIONS(2793), + [anon_sym_if] = ACTIONS(2793), + [anon_sym_else] = ACTIONS(2793), + [anon_sym_switch] = ACTIONS(2793), + [anon_sym_case] = ACTIONS(2793), + [anon_sym_default] = ACTIONS(2793), + [anon_sym_while] = ACTIONS(2793), + [anon_sym_do] = ACTIONS(2793), + [anon_sym_for] = ACTIONS(2793), + [anon_sym_return] = ACTIONS(2793), + [anon_sym_break] = ACTIONS(2793), + [anon_sym_continue] = ACTIONS(2793), + [anon_sym_goto] = ACTIONS(2793), + [anon_sym___try] = ACTIONS(2793), + [anon_sym___leave] = ACTIONS(2793), + [anon_sym_not] = ACTIONS(2793), + [anon_sym_compl] = ACTIONS(2793), + [anon_sym_DASH_DASH] = ACTIONS(2795), + [anon_sym_PLUS_PLUS] = ACTIONS(2795), + [anon_sym_sizeof] = ACTIONS(2793), + [anon_sym___alignof__] = ACTIONS(2793), + [anon_sym___alignof] = ACTIONS(2793), + [anon_sym__alignof] = ACTIONS(2793), + [anon_sym_alignof] = ACTIONS(2793), + [anon_sym__Alignof] = ACTIONS(2793), + [anon_sym_offsetof] = ACTIONS(2793), + [anon_sym__Generic] = ACTIONS(2793), + [anon_sym_asm] = ACTIONS(2793), + [anon_sym___asm__] = ACTIONS(2793), + [sym__number_literal] = ACTIONS(2795), + [anon_sym_L_SQUOTE] = ACTIONS(2795), + [anon_sym_u_SQUOTE] = ACTIONS(2795), + [anon_sym_U_SQUOTE] = ACTIONS(2795), + [anon_sym_u8_SQUOTE] = ACTIONS(2795), + [anon_sym_SQUOTE] = ACTIONS(2795), + [anon_sym_L_DQUOTE] = ACTIONS(2795), + [anon_sym_u_DQUOTE] = ACTIONS(2795), + [anon_sym_U_DQUOTE] = ACTIONS(2795), + [anon_sym_u8_DQUOTE] = ACTIONS(2795), + [anon_sym_DQUOTE] = ACTIONS(2795), + [sym_true] = ACTIONS(2793), + [sym_false] = ACTIONS(2793), + [anon_sym_NULL] = ACTIONS(2793), + [anon_sym_nullptr] = ACTIONS(2793), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2795), + [sym_auto] = ACTIONS(2793), + [anon_sym_decltype] = ACTIONS(2793), + [sym_virtual] = ACTIONS(2793), + [anon_sym_explicit] = ACTIONS(2793), + [anon_sym_typename] = ACTIONS(2793), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_operator] = ACTIONS(2793), + [anon_sym_try] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2793), + [anon_sym_throw] = ACTIONS(2793), + [anon_sym_namespace] = ACTIONS(2793), + [anon_sym_using] = ACTIONS(2793), + [anon_sym_static_assert] = ACTIONS(2793), + [anon_sym_concept] = ACTIONS(2793), + [anon_sym_co_return] = ACTIONS(2793), + [anon_sym_co_yield] = ACTIONS(2793), + [anon_sym_R_DQUOTE] = ACTIONS(2795), + [anon_sym_LR_DQUOTE] = ACTIONS(2795), + [anon_sym_uR_DQUOTE] = ACTIONS(2795), + [anon_sym_UR_DQUOTE] = ACTIONS(2795), + [anon_sym_u8R_DQUOTE] = ACTIONS(2795), + [anon_sym_co_await] = ACTIONS(2793), + [anon_sym_new] = ACTIONS(2793), + [anon_sym_requires] = ACTIONS(2793), + [sym_this] = ACTIONS(2793), + }, + [493] = { + [sym__identifier] = ACTIONS(2719), + [aux_sym_preproc_include_token1] = ACTIONS(2719), + [aux_sym_preproc_def_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token1] = ACTIONS(2719), + [aux_sym_preproc_if_token2] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2719), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2719), + [sym_preproc_directive] = ACTIONS(2719), + [anon_sym_LPAREN2] = ACTIONS(2721), + [anon_sym_BANG] = ACTIONS(2721), + [anon_sym_TILDE] = ACTIONS(2721), + [anon_sym_DASH] = ACTIONS(2719), + [anon_sym_PLUS] = ACTIONS(2719), + [anon_sym_STAR] = ACTIONS(2721), + [anon_sym_AMP_AMP] = ACTIONS(2721), + [anon_sym_AMP] = ACTIONS(2719), + [anon_sym_SEMI] = ACTIONS(2721), + [anon_sym___extension__] = ACTIONS(2719), + [anon_sym_typedef] = ACTIONS(2719), + [anon_sym_extern] = ACTIONS(2719), + [anon_sym___attribute__] = ACTIONS(2719), + [anon_sym_COLON_COLON] = ACTIONS(2721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2721), + [anon_sym___declspec] = ACTIONS(2719), + [anon_sym___based] = ACTIONS(2719), + [anon_sym___cdecl] = ACTIONS(2719), + [anon_sym___clrcall] = ACTIONS(2719), + [anon_sym___stdcall] = ACTIONS(2719), + [anon_sym___fastcall] = ACTIONS(2719), + [anon_sym___thiscall] = ACTIONS(2719), + [anon_sym___vectorcall] = ACTIONS(2719), + [anon_sym_LBRACE] = ACTIONS(2721), + [anon_sym_signed] = ACTIONS(2719), + [anon_sym_unsigned] = ACTIONS(2719), + [anon_sym_long] = ACTIONS(2719), + [anon_sym_short] = ACTIONS(2719), + [anon_sym_LBRACK] = ACTIONS(2719), + [anon_sym_static] = ACTIONS(2719), + [anon_sym_register] = ACTIONS(2719), + [anon_sym_inline] = ACTIONS(2719), + [anon_sym___inline] = ACTIONS(2719), + [anon_sym___inline__] = ACTIONS(2719), + [anon_sym___forceinline] = ACTIONS(2719), + [anon_sym_thread_local] = ACTIONS(2719), + [anon_sym___thread] = ACTIONS(2719), + [anon_sym_const] = ACTIONS(2719), + [anon_sym_constexpr] = ACTIONS(2719), + [anon_sym_volatile] = ACTIONS(2719), + [anon_sym_restrict] = ACTIONS(2719), + [anon_sym___restrict__] = ACTIONS(2719), + [anon_sym__Atomic] = ACTIONS(2719), + [anon_sym__Noreturn] = ACTIONS(2719), + [anon_sym_noreturn] = ACTIONS(2719), + [anon_sym_mutable] = ACTIONS(2719), + [anon_sym_constinit] = ACTIONS(2719), + [anon_sym_consteval] = ACTIONS(2719), + [anon_sym_alignas] = ACTIONS(2719), + [anon_sym__Alignas] = ACTIONS(2719), + [sym_primitive_type] = ACTIONS(2719), + [anon_sym_enum] = ACTIONS(2719), + [anon_sym_class] = ACTIONS(2719), + [anon_sym_struct] = ACTIONS(2719), + [anon_sym_union] = ACTIONS(2719), + [anon_sym_if] = ACTIONS(2719), + [anon_sym_else] = ACTIONS(2719), + [anon_sym_switch] = ACTIONS(2719), + [anon_sym_case] = ACTIONS(2719), + [anon_sym_default] = ACTIONS(2719), + [anon_sym_while] = ACTIONS(2719), + [anon_sym_do] = ACTIONS(2719), + [anon_sym_for] = ACTIONS(2719), + [anon_sym_return] = ACTIONS(2719), + [anon_sym_break] = ACTIONS(2719), + [anon_sym_continue] = ACTIONS(2719), + [anon_sym_goto] = ACTIONS(2719), + [anon_sym___try] = ACTIONS(2719), + [anon_sym___leave] = ACTIONS(2719), + [anon_sym_not] = ACTIONS(2719), + [anon_sym_compl] = ACTIONS(2719), + [anon_sym_DASH_DASH] = ACTIONS(2721), + [anon_sym_PLUS_PLUS] = ACTIONS(2721), + [anon_sym_sizeof] = ACTIONS(2719), + [anon_sym___alignof__] = ACTIONS(2719), + [anon_sym___alignof] = ACTIONS(2719), + [anon_sym__alignof] = ACTIONS(2719), + [anon_sym_alignof] = ACTIONS(2719), + [anon_sym__Alignof] = ACTIONS(2719), + [anon_sym_offsetof] = ACTIONS(2719), + [anon_sym__Generic] = ACTIONS(2719), + [anon_sym_asm] = ACTIONS(2719), + [anon_sym___asm__] = ACTIONS(2719), + [sym__number_literal] = ACTIONS(2721), + [anon_sym_L_SQUOTE] = ACTIONS(2721), + [anon_sym_u_SQUOTE] = ACTIONS(2721), + [anon_sym_U_SQUOTE] = ACTIONS(2721), + [anon_sym_u8_SQUOTE] = ACTIONS(2721), + [anon_sym_SQUOTE] = ACTIONS(2721), + [anon_sym_L_DQUOTE] = ACTIONS(2721), + [anon_sym_u_DQUOTE] = ACTIONS(2721), + [anon_sym_U_DQUOTE] = ACTIONS(2721), + [anon_sym_u8_DQUOTE] = ACTIONS(2721), + [anon_sym_DQUOTE] = ACTIONS(2721), + [sym_true] = ACTIONS(2719), + [sym_false] = ACTIONS(2719), + [anon_sym_NULL] = ACTIONS(2719), + [anon_sym_nullptr] = ACTIONS(2719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2721), + [sym_auto] = ACTIONS(2719), + [anon_sym_decltype] = ACTIONS(2719), + [sym_virtual] = ACTIONS(2719), + [anon_sym_explicit] = ACTIONS(2719), + [anon_sym_typename] = ACTIONS(2719), + [anon_sym_template] = ACTIONS(2719), + [anon_sym_operator] = ACTIONS(2719), + [anon_sym_try] = ACTIONS(2719), + [anon_sym_delete] = ACTIONS(2719), + [anon_sym_throw] = ACTIONS(2719), + [anon_sym_namespace] = ACTIONS(2719), + [anon_sym_using] = ACTIONS(2719), + [anon_sym_static_assert] = ACTIONS(2719), + [anon_sym_concept] = ACTIONS(2719), + [anon_sym_co_return] = ACTIONS(2719), + [anon_sym_co_yield] = ACTIONS(2719), + [anon_sym_R_DQUOTE] = ACTIONS(2721), + [anon_sym_LR_DQUOTE] = ACTIONS(2721), + [anon_sym_uR_DQUOTE] = ACTIONS(2721), + [anon_sym_UR_DQUOTE] = ACTIONS(2721), + [anon_sym_u8R_DQUOTE] = ACTIONS(2721), + [anon_sym_co_await] = ACTIONS(2719), + [anon_sym_new] = ACTIONS(2719), + [anon_sym_requires] = ACTIONS(2719), + [sym_this] = ACTIONS(2719), + }, + [494] = { + [sym__identifier] = ACTIONS(2813), + [aux_sym_preproc_include_token1] = ACTIONS(2813), + [aux_sym_preproc_def_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2813), + [sym_preproc_directive] = ACTIONS(2813), + [anon_sym_LPAREN2] = ACTIONS(2815), + [anon_sym_BANG] = ACTIONS(2815), + [anon_sym_TILDE] = ACTIONS(2815), + [anon_sym_DASH] = ACTIONS(2813), + [anon_sym_PLUS] = ACTIONS(2813), + [anon_sym_STAR] = ACTIONS(2815), + [anon_sym_AMP_AMP] = ACTIONS(2815), + [anon_sym_AMP] = ACTIONS(2813), + [anon_sym_SEMI] = ACTIONS(2815), + [anon_sym___extension__] = ACTIONS(2813), + [anon_sym_typedef] = ACTIONS(2813), + [anon_sym_extern] = ACTIONS(2813), + [anon_sym___attribute__] = ACTIONS(2813), + [anon_sym_COLON_COLON] = ACTIONS(2815), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2815), + [anon_sym___declspec] = ACTIONS(2813), + [anon_sym___based] = ACTIONS(2813), + [anon_sym___cdecl] = ACTIONS(2813), + [anon_sym___clrcall] = ACTIONS(2813), + [anon_sym___stdcall] = ACTIONS(2813), + [anon_sym___fastcall] = ACTIONS(2813), + [anon_sym___thiscall] = ACTIONS(2813), + [anon_sym___vectorcall] = ACTIONS(2813), + [anon_sym_LBRACE] = ACTIONS(2815), + [anon_sym_RBRACE] = ACTIONS(2815), + [anon_sym_signed] = ACTIONS(2813), + [anon_sym_unsigned] = ACTIONS(2813), + [anon_sym_long] = ACTIONS(2813), + [anon_sym_short] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(2813), + [anon_sym_static] = ACTIONS(2813), + [anon_sym_register] = ACTIONS(2813), + [anon_sym_inline] = ACTIONS(2813), + [anon_sym___inline] = ACTIONS(2813), + [anon_sym___inline__] = ACTIONS(2813), + [anon_sym___forceinline] = ACTIONS(2813), + [anon_sym_thread_local] = ACTIONS(2813), + [anon_sym___thread] = ACTIONS(2813), + [anon_sym_const] = ACTIONS(2813), + [anon_sym_constexpr] = ACTIONS(2813), + [anon_sym_volatile] = ACTIONS(2813), + [anon_sym_restrict] = ACTIONS(2813), + [anon_sym___restrict__] = ACTIONS(2813), + [anon_sym__Atomic] = ACTIONS(2813), + [anon_sym__Noreturn] = ACTIONS(2813), + [anon_sym_noreturn] = ACTIONS(2813), + [anon_sym_mutable] = ACTIONS(2813), + [anon_sym_constinit] = ACTIONS(2813), + [anon_sym_consteval] = ACTIONS(2813), + [anon_sym_alignas] = ACTIONS(2813), + [anon_sym__Alignas] = ACTIONS(2813), + [sym_primitive_type] = ACTIONS(2813), + [anon_sym_enum] = ACTIONS(2813), + [anon_sym_class] = ACTIONS(2813), + [anon_sym_struct] = ACTIONS(2813), + [anon_sym_union] = ACTIONS(2813), + [anon_sym_if] = ACTIONS(2813), + [anon_sym_else] = ACTIONS(2813), + [anon_sym_switch] = ACTIONS(2813), + [anon_sym_case] = ACTIONS(2813), + [anon_sym_default] = ACTIONS(2813), + [anon_sym_while] = ACTIONS(2813), + [anon_sym_do] = ACTIONS(2813), + [anon_sym_for] = ACTIONS(2813), + [anon_sym_return] = ACTIONS(2813), + [anon_sym_break] = ACTIONS(2813), + [anon_sym_continue] = ACTIONS(2813), + [anon_sym_goto] = ACTIONS(2813), + [anon_sym___try] = ACTIONS(2813), + [anon_sym___leave] = ACTIONS(2813), + [anon_sym_not] = ACTIONS(2813), + [anon_sym_compl] = ACTIONS(2813), + [anon_sym_DASH_DASH] = ACTIONS(2815), + [anon_sym_PLUS_PLUS] = ACTIONS(2815), + [anon_sym_sizeof] = ACTIONS(2813), + [anon_sym___alignof__] = ACTIONS(2813), + [anon_sym___alignof] = ACTIONS(2813), + [anon_sym__alignof] = ACTIONS(2813), + [anon_sym_alignof] = ACTIONS(2813), + [anon_sym__Alignof] = ACTIONS(2813), + [anon_sym_offsetof] = ACTIONS(2813), + [anon_sym__Generic] = ACTIONS(2813), + [anon_sym_asm] = ACTIONS(2813), + [anon_sym___asm__] = ACTIONS(2813), + [sym__number_literal] = ACTIONS(2815), + [anon_sym_L_SQUOTE] = ACTIONS(2815), + [anon_sym_u_SQUOTE] = ACTIONS(2815), + [anon_sym_U_SQUOTE] = ACTIONS(2815), + [anon_sym_u8_SQUOTE] = ACTIONS(2815), + [anon_sym_SQUOTE] = ACTIONS(2815), + [anon_sym_L_DQUOTE] = ACTIONS(2815), + [anon_sym_u_DQUOTE] = ACTIONS(2815), + [anon_sym_U_DQUOTE] = ACTIONS(2815), + [anon_sym_u8_DQUOTE] = ACTIONS(2815), + [anon_sym_DQUOTE] = ACTIONS(2815), + [sym_true] = ACTIONS(2813), + [sym_false] = ACTIONS(2813), + [anon_sym_NULL] = ACTIONS(2813), + [anon_sym_nullptr] = ACTIONS(2813), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2815), + [sym_auto] = ACTIONS(2813), + [anon_sym_decltype] = ACTIONS(2813), + [sym_virtual] = ACTIONS(2813), + [anon_sym_explicit] = ACTIONS(2813), + [anon_sym_typename] = ACTIONS(2813), + [anon_sym_template] = ACTIONS(2813), + [anon_sym_operator] = ACTIONS(2813), + [anon_sym_try] = ACTIONS(2813), + [anon_sym_delete] = ACTIONS(2813), + [anon_sym_throw] = ACTIONS(2813), + [anon_sym_namespace] = ACTIONS(2813), + [anon_sym_using] = ACTIONS(2813), + [anon_sym_static_assert] = ACTIONS(2813), + [anon_sym_concept] = ACTIONS(2813), + [anon_sym_co_return] = ACTIONS(2813), + [anon_sym_co_yield] = ACTIONS(2813), + [anon_sym_R_DQUOTE] = ACTIONS(2815), + [anon_sym_LR_DQUOTE] = ACTIONS(2815), + [anon_sym_uR_DQUOTE] = ACTIONS(2815), + [anon_sym_UR_DQUOTE] = ACTIONS(2815), + [anon_sym_u8R_DQUOTE] = ACTIONS(2815), + [anon_sym_co_await] = ACTIONS(2813), + [anon_sym_new] = ACTIONS(2813), + [anon_sym_requires] = ACTIONS(2813), + [sym_this] = ACTIONS(2813), + }, + [495] = { + [sym__identifier] = ACTIONS(2805), + [aux_sym_preproc_include_token1] = ACTIONS(2805), + [aux_sym_preproc_def_token1] = ACTIONS(2805), + [aux_sym_preproc_if_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2805), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2805), + [sym_preproc_directive] = ACTIONS(2805), + [anon_sym_LPAREN2] = ACTIONS(2807), + [anon_sym_BANG] = ACTIONS(2807), + [anon_sym_TILDE] = ACTIONS(2807), + [anon_sym_DASH] = ACTIONS(2805), + [anon_sym_PLUS] = ACTIONS(2805), + [anon_sym_STAR] = ACTIONS(2807), + [anon_sym_AMP_AMP] = ACTIONS(2807), + [anon_sym_AMP] = ACTIONS(2805), + [anon_sym_SEMI] = ACTIONS(2807), + [anon_sym___extension__] = ACTIONS(2805), + [anon_sym_typedef] = ACTIONS(2805), + [anon_sym_extern] = ACTIONS(2805), + [anon_sym___attribute__] = ACTIONS(2805), + [anon_sym_COLON_COLON] = ACTIONS(2807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2807), + [anon_sym___declspec] = ACTIONS(2805), + [anon_sym___based] = ACTIONS(2805), + [anon_sym___cdecl] = ACTIONS(2805), + [anon_sym___clrcall] = ACTIONS(2805), + [anon_sym___stdcall] = ACTIONS(2805), + [anon_sym___fastcall] = ACTIONS(2805), + [anon_sym___thiscall] = ACTIONS(2805), + [anon_sym___vectorcall] = ACTIONS(2805), + [anon_sym_LBRACE] = ACTIONS(2807), + [anon_sym_RBRACE] = ACTIONS(2807), + [anon_sym_signed] = ACTIONS(2805), + [anon_sym_unsigned] = ACTIONS(2805), + [anon_sym_long] = ACTIONS(2805), + [anon_sym_short] = ACTIONS(2805), + [anon_sym_LBRACK] = ACTIONS(2805), + [anon_sym_static] = ACTIONS(2805), + [anon_sym_register] = ACTIONS(2805), + [anon_sym_inline] = ACTIONS(2805), + [anon_sym___inline] = ACTIONS(2805), + [anon_sym___inline__] = ACTIONS(2805), + [anon_sym___forceinline] = ACTIONS(2805), + [anon_sym_thread_local] = ACTIONS(2805), + [anon_sym___thread] = ACTIONS(2805), + [anon_sym_const] = ACTIONS(2805), + [anon_sym_constexpr] = ACTIONS(2805), + [anon_sym_volatile] = ACTIONS(2805), + [anon_sym_restrict] = ACTIONS(2805), + [anon_sym___restrict__] = ACTIONS(2805), + [anon_sym__Atomic] = ACTIONS(2805), + [anon_sym__Noreturn] = ACTIONS(2805), + [anon_sym_noreturn] = ACTIONS(2805), + [anon_sym_mutable] = ACTIONS(2805), + [anon_sym_constinit] = ACTIONS(2805), + [anon_sym_consteval] = ACTIONS(2805), + [anon_sym_alignas] = ACTIONS(2805), + [anon_sym__Alignas] = ACTIONS(2805), + [sym_primitive_type] = ACTIONS(2805), + [anon_sym_enum] = ACTIONS(2805), + [anon_sym_class] = ACTIONS(2805), + [anon_sym_struct] = ACTIONS(2805), + [anon_sym_union] = ACTIONS(2805), + [anon_sym_if] = ACTIONS(2805), + [anon_sym_else] = ACTIONS(2805), + [anon_sym_switch] = ACTIONS(2805), + [anon_sym_case] = ACTIONS(2805), + [anon_sym_default] = ACTIONS(2805), + [anon_sym_while] = ACTIONS(2805), + [anon_sym_do] = ACTIONS(2805), + [anon_sym_for] = ACTIONS(2805), + [anon_sym_return] = ACTIONS(2805), + [anon_sym_break] = ACTIONS(2805), + [anon_sym_continue] = ACTIONS(2805), + [anon_sym_goto] = ACTIONS(2805), + [anon_sym___try] = ACTIONS(2805), + [anon_sym___leave] = ACTIONS(2805), + [anon_sym_not] = ACTIONS(2805), + [anon_sym_compl] = ACTIONS(2805), + [anon_sym_DASH_DASH] = ACTIONS(2807), + [anon_sym_PLUS_PLUS] = ACTIONS(2807), + [anon_sym_sizeof] = ACTIONS(2805), + [anon_sym___alignof__] = ACTIONS(2805), + [anon_sym___alignof] = ACTIONS(2805), + [anon_sym__alignof] = ACTIONS(2805), + [anon_sym_alignof] = ACTIONS(2805), + [anon_sym__Alignof] = ACTIONS(2805), + [anon_sym_offsetof] = ACTIONS(2805), + [anon_sym__Generic] = ACTIONS(2805), + [anon_sym_asm] = ACTIONS(2805), + [anon_sym___asm__] = ACTIONS(2805), + [sym__number_literal] = ACTIONS(2807), + [anon_sym_L_SQUOTE] = ACTIONS(2807), + [anon_sym_u_SQUOTE] = ACTIONS(2807), + [anon_sym_U_SQUOTE] = ACTIONS(2807), + [anon_sym_u8_SQUOTE] = ACTIONS(2807), + [anon_sym_SQUOTE] = ACTIONS(2807), + [anon_sym_L_DQUOTE] = ACTIONS(2807), + [anon_sym_u_DQUOTE] = ACTIONS(2807), + [anon_sym_U_DQUOTE] = ACTIONS(2807), + [anon_sym_u8_DQUOTE] = ACTIONS(2807), + [anon_sym_DQUOTE] = ACTIONS(2807), + [sym_true] = ACTIONS(2805), + [sym_false] = ACTIONS(2805), + [anon_sym_NULL] = ACTIONS(2805), + [anon_sym_nullptr] = ACTIONS(2805), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2807), + [sym_auto] = ACTIONS(2805), + [anon_sym_decltype] = ACTIONS(2805), + [sym_virtual] = ACTIONS(2805), + [anon_sym_explicit] = ACTIONS(2805), + [anon_sym_typename] = ACTIONS(2805), + [anon_sym_template] = ACTIONS(2805), + [anon_sym_operator] = ACTIONS(2805), + [anon_sym_try] = ACTIONS(2805), + [anon_sym_delete] = ACTIONS(2805), + [anon_sym_throw] = ACTIONS(2805), + [anon_sym_namespace] = ACTIONS(2805), + [anon_sym_using] = ACTIONS(2805), + [anon_sym_static_assert] = ACTIONS(2805), + [anon_sym_concept] = ACTIONS(2805), + [anon_sym_co_return] = ACTIONS(2805), + [anon_sym_co_yield] = ACTIONS(2805), + [anon_sym_R_DQUOTE] = ACTIONS(2807), + [anon_sym_LR_DQUOTE] = ACTIONS(2807), + [anon_sym_uR_DQUOTE] = ACTIONS(2807), + [anon_sym_UR_DQUOTE] = ACTIONS(2807), + [anon_sym_u8R_DQUOTE] = ACTIONS(2807), + [anon_sym_co_await] = ACTIONS(2805), + [anon_sym_new] = ACTIONS(2805), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2805), + }, + [496] = { + [ts_builtin_sym_end] = ACTIONS(2737), + [sym__identifier] = ACTIONS(2735), + [aux_sym_preproc_include_token1] = ACTIONS(2735), + [aux_sym_preproc_def_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2735), + [sym_preproc_directive] = ACTIONS(2735), + [anon_sym_LPAREN2] = ACTIONS(2737), + [anon_sym_BANG] = ACTIONS(2737), + [anon_sym_TILDE] = ACTIONS(2737), + [anon_sym_DASH] = ACTIONS(2735), + [anon_sym_PLUS] = ACTIONS(2735), + [anon_sym_STAR] = ACTIONS(2737), + [anon_sym_AMP_AMP] = ACTIONS(2737), + [anon_sym_AMP] = ACTIONS(2735), + [anon_sym_SEMI] = ACTIONS(2737), + [anon_sym___extension__] = ACTIONS(2735), + [anon_sym_typedef] = ACTIONS(2735), + [anon_sym_extern] = ACTIONS(2735), + [anon_sym___attribute__] = ACTIONS(2735), + [anon_sym_COLON_COLON] = ACTIONS(2737), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2737), + [anon_sym___declspec] = ACTIONS(2735), + [anon_sym___based] = ACTIONS(2735), + [anon_sym___cdecl] = ACTIONS(2735), + [anon_sym___clrcall] = ACTIONS(2735), + [anon_sym___stdcall] = ACTIONS(2735), + [anon_sym___fastcall] = ACTIONS(2735), + [anon_sym___thiscall] = ACTIONS(2735), + [anon_sym___vectorcall] = ACTIONS(2735), + [anon_sym_LBRACE] = ACTIONS(2737), + [anon_sym_signed] = ACTIONS(2735), + [anon_sym_unsigned] = ACTIONS(2735), + [anon_sym_long] = ACTIONS(2735), + [anon_sym_short] = ACTIONS(2735), + [anon_sym_LBRACK] = ACTIONS(2735), + [anon_sym_static] = ACTIONS(2735), + [anon_sym_register] = ACTIONS(2735), + [anon_sym_inline] = ACTIONS(2735), + [anon_sym___inline] = ACTIONS(2735), + [anon_sym___inline__] = ACTIONS(2735), + [anon_sym___forceinline] = ACTIONS(2735), + [anon_sym_thread_local] = ACTIONS(2735), + [anon_sym___thread] = ACTIONS(2735), + [anon_sym_const] = ACTIONS(2735), + [anon_sym_constexpr] = ACTIONS(2735), + [anon_sym_volatile] = ACTIONS(2735), + [anon_sym_restrict] = ACTIONS(2735), + [anon_sym___restrict__] = ACTIONS(2735), + [anon_sym__Atomic] = ACTIONS(2735), + [anon_sym__Noreturn] = ACTIONS(2735), + [anon_sym_noreturn] = ACTIONS(2735), + [anon_sym_mutable] = ACTIONS(2735), + [anon_sym_constinit] = ACTIONS(2735), + [anon_sym_consteval] = ACTIONS(2735), + [anon_sym_alignas] = ACTIONS(2735), + [anon_sym__Alignas] = ACTIONS(2735), + [sym_primitive_type] = ACTIONS(2735), + [anon_sym_enum] = ACTIONS(2735), + [anon_sym_class] = ACTIONS(2735), + [anon_sym_struct] = ACTIONS(2735), + [anon_sym_union] = ACTIONS(2735), + [anon_sym_if] = ACTIONS(2735), + [anon_sym_else] = ACTIONS(2735), + [anon_sym_switch] = ACTIONS(2735), + [anon_sym_case] = ACTIONS(2735), + [anon_sym_default] = ACTIONS(2735), + [anon_sym_while] = ACTIONS(2735), + [anon_sym_do] = ACTIONS(2735), + [anon_sym_for] = ACTIONS(2735), + [anon_sym_return] = ACTIONS(2735), + [anon_sym_break] = ACTIONS(2735), + [anon_sym_continue] = ACTIONS(2735), + [anon_sym_goto] = ACTIONS(2735), + [anon_sym___try] = ACTIONS(2735), + [anon_sym___leave] = ACTIONS(2735), + [anon_sym_not] = ACTIONS(2735), + [anon_sym_compl] = ACTIONS(2735), + [anon_sym_DASH_DASH] = ACTIONS(2737), + [anon_sym_PLUS_PLUS] = ACTIONS(2737), + [anon_sym_sizeof] = ACTIONS(2735), + [anon_sym___alignof__] = ACTIONS(2735), + [anon_sym___alignof] = ACTIONS(2735), + [anon_sym__alignof] = ACTIONS(2735), + [anon_sym_alignof] = ACTIONS(2735), + [anon_sym__Alignof] = ACTIONS(2735), + [anon_sym_offsetof] = ACTIONS(2735), + [anon_sym__Generic] = ACTIONS(2735), + [anon_sym_asm] = ACTIONS(2735), + [anon_sym___asm__] = ACTIONS(2735), + [sym__number_literal] = ACTIONS(2737), + [anon_sym_L_SQUOTE] = ACTIONS(2737), + [anon_sym_u_SQUOTE] = ACTIONS(2737), + [anon_sym_U_SQUOTE] = ACTIONS(2737), + [anon_sym_u8_SQUOTE] = ACTIONS(2737), + [anon_sym_SQUOTE] = ACTIONS(2737), + [anon_sym_L_DQUOTE] = ACTIONS(2737), + [anon_sym_u_DQUOTE] = ACTIONS(2737), + [anon_sym_U_DQUOTE] = ACTIONS(2737), + [anon_sym_u8_DQUOTE] = ACTIONS(2737), + [anon_sym_DQUOTE] = ACTIONS(2737), + [sym_true] = ACTIONS(2735), + [sym_false] = ACTIONS(2735), + [anon_sym_NULL] = ACTIONS(2735), + [anon_sym_nullptr] = ACTIONS(2735), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2737), + [sym_auto] = ACTIONS(2735), + [anon_sym_decltype] = ACTIONS(2735), + [sym_virtual] = ACTIONS(2735), + [anon_sym_explicit] = ACTIONS(2735), + [anon_sym_typename] = ACTIONS(2735), + [anon_sym_template] = ACTIONS(2735), + [anon_sym_operator] = ACTIONS(2735), + [anon_sym_try] = ACTIONS(2735), + [anon_sym_delete] = ACTIONS(2735), + [anon_sym_throw] = ACTIONS(2735), + [anon_sym_namespace] = ACTIONS(2735), + [anon_sym_using] = ACTIONS(2735), + [anon_sym_static_assert] = ACTIONS(2735), + [anon_sym_concept] = ACTIONS(2735), + [anon_sym_co_return] = ACTIONS(2735), + [anon_sym_co_yield] = ACTIONS(2735), + [anon_sym_R_DQUOTE] = ACTIONS(2737), + [anon_sym_LR_DQUOTE] = ACTIONS(2737), + [anon_sym_uR_DQUOTE] = ACTIONS(2737), + [anon_sym_UR_DQUOTE] = ACTIONS(2737), + [anon_sym_u8R_DQUOTE] = ACTIONS(2737), + [anon_sym_co_await] = ACTIONS(2735), + [anon_sym_new] = ACTIONS(2735), + [anon_sym_requires] = ACTIONS(2735), + [sym_this] = ACTIONS(2735), + }, + [497] = { + [sym__identifier] = ACTIONS(2821), + [aux_sym_preproc_include_token1] = ACTIONS(2821), + [aux_sym_preproc_def_token1] = ACTIONS(2821), + [aux_sym_preproc_if_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2821), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2821), + [sym_preproc_directive] = ACTIONS(2821), + [anon_sym_LPAREN2] = ACTIONS(2823), + [anon_sym_BANG] = ACTIONS(2823), + [anon_sym_TILDE] = ACTIONS(2823), + [anon_sym_DASH] = ACTIONS(2821), + [anon_sym_PLUS] = ACTIONS(2821), + [anon_sym_STAR] = ACTIONS(2823), + [anon_sym_AMP_AMP] = ACTIONS(2823), + [anon_sym_AMP] = ACTIONS(2821), + [anon_sym_SEMI] = ACTIONS(2823), + [anon_sym___extension__] = ACTIONS(2821), + [anon_sym_typedef] = ACTIONS(2821), + [anon_sym_extern] = ACTIONS(2821), + [anon_sym___attribute__] = ACTIONS(2821), + [anon_sym_COLON_COLON] = ACTIONS(2823), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2823), + [anon_sym___declspec] = ACTIONS(2821), + [anon_sym___based] = ACTIONS(2821), + [anon_sym___cdecl] = ACTIONS(2821), + [anon_sym___clrcall] = ACTIONS(2821), + [anon_sym___stdcall] = ACTIONS(2821), + [anon_sym___fastcall] = ACTIONS(2821), + [anon_sym___thiscall] = ACTIONS(2821), + [anon_sym___vectorcall] = ACTIONS(2821), + [anon_sym_LBRACE] = ACTIONS(2823), + [anon_sym_RBRACE] = ACTIONS(2823), + [anon_sym_signed] = ACTIONS(2821), + [anon_sym_unsigned] = ACTIONS(2821), + [anon_sym_long] = ACTIONS(2821), + [anon_sym_short] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(2821), + [anon_sym_static] = ACTIONS(2821), + [anon_sym_register] = ACTIONS(2821), + [anon_sym_inline] = ACTIONS(2821), + [anon_sym___inline] = ACTIONS(2821), + [anon_sym___inline__] = ACTIONS(2821), + [anon_sym___forceinline] = ACTIONS(2821), + [anon_sym_thread_local] = ACTIONS(2821), + [anon_sym___thread] = ACTIONS(2821), + [anon_sym_const] = ACTIONS(2821), + [anon_sym_constexpr] = ACTIONS(2821), + [anon_sym_volatile] = ACTIONS(2821), + [anon_sym_restrict] = ACTIONS(2821), + [anon_sym___restrict__] = ACTIONS(2821), + [anon_sym__Atomic] = ACTIONS(2821), + [anon_sym__Noreturn] = ACTIONS(2821), + [anon_sym_noreturn] = ACTIONS(2821), + [anon_sym_mutable] = ACTIONS(2821), + [anon_sym_constinit] = ACTIONS(2821), + [anon_sym_consteval] = ACTIONS(2821), + [anon_sym_alignas] = ACTIONS(2821), + [anon_sym__Alignas] = ACTIONS(2821), + [sym_primitive_type] = ACTIONS(2821), + [anon_sym_enum] = ACTIONS(2821), + [anon_sym_class] = ACTIONS(2821), + [anon_sym_struct] = ACTIONS(2821), + [anon_sym_union] = ACTIONS(2821), + [anon_sym_if] = ACTIONS(2821), + [anon_sym_else] = ACTIONS(2821), + [anon_sym_switch] = ACTIONS(2821), + [anon_sym_case] = ACTIONS(2821), + [anon_sym_default] = ACTIONS(2821), + [anon_sym_while] = ACTIONS(2821), + [anon_sym_do] = ACTIONS(2821), + [anon_sym_for] = ACTIONS(2821), + [anon_sym_return] = ACTIONS(2821), + [anon_sym_break] = ACTIONS(2821), + [anon_sym_continue] = ACTIONS(2821), + [anon_sym_goto] = ACTIONS(2821), + [anon_sym___try] = ACTIONS(2821), + [anon_sym___leave] = ACTIONS(2821), + [anon_sym_not] = ACTIONS(2821), + [anon_sym_compl] = ACTIONS(2821), + [anon_sym_DASH_DASH] = ACTIONS(2823), + [anon_sym_PLUS_PLUS] = ACTIONS(2823), + [anon_sym_sizeof] = ACTIONS(2821), + [anon_sym___alignof__] = ACTIONS(2821), + [anon_sym___alignof] = ACTIONS(2821), + [anon_sym__alignof] = ACTIONS(2821), + [anon_sym_alignof] = ACTIONS(2821), + [anon_sym__Alignof] = ACTIONS(2821), + [anon_sym_offsetof] = ACTIONS(2821), + [anon_sym__Generic] = ACTIONS(2821), + [anon_sym_asm] = ACTIONS(2821), + [anon_sym___asm__] = ACTIONS(2821), + [sym__number_literal] = ACTIONS(2823), + [anon_sym_L_SQUOTE] = ACTIONS(2823), + [anon_sym_u_SQUOTE] = ACTIONS(2823), + [anon_sym_U_SQUOTE] = ACTIONS(2823), + [anon_sym_u8_SQUOTE] = ACTIONS(2823), + [anon_sym_SQUOTE] = ACTIONS(2823), + [anon_sym_L_DQUOTE] = ACTIONS(2823), + [anon_sym_u_DQUOTE] = ACTIONS(2823), + [anon_sym_U_DQUOTE] = ACTIONS(2823), + [anon_sym_u8_DQUOTE] = ACTIONS(2823), + [anon_sym_DQUOTE] = ACTIONS(2823), + [sym_true] = ACTIONS(2821), + [sym_false] = ACTIONS(2821), + [anon_sym_NULL] = ACTIONS(2821), + [anon_sym_nullptr] = ACTIONS(2821), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2823), + [sym_auto] = ACTIONS(2821), + [anon_sym_decltype] = ACTIONS(2821), + [sym_virtual] = ACTIONS(2821), + [anon_sym_explicit] = ACTIONS(2821), + [anon_sym_typename] = ACTIONS(2821), + [anon_sym_template] = ACTIONS(2821), + [anon_sym_operator] = ACTIONS(2821), + [anon_sym_try] = ACTIONS(2821), + [anon_sym_delete] = ACTIONS(2821), + [anon_sym_throw] = ACTIONS(2821), + [anon_sym_namespace] = ACTIONS(2821), + [anon_sym_using] = ACTIONS(2821), + [anon_sym_static_assert] = ACTIONS(2821), + [anon_sym_concept] = ACTIONS(2821), + [anon_sym_co_return] = ACTIONS(2821), + [anon_sym_co_yield] = ACTIONS(2821), + [anon_sym_R_DQUOTE] = ACTIONS(2823), + [anon_sym_LR_DQUOTE] = ACTIONS(2823), + [anon_sym_uR_DQUOTE] = ACTIONS(2823), + [anon_sym_UR_DQUOTE] = ACTIONS(2823), + [anon_sym_u8R_DQUOTE] = ACTIONS(2823), + [anon_sym_co_await] = ACTIONS(2821), + [anon_sym_new] = ACTIONS(2821), + [anon_sym_requires] = ACTIONS(2821), + [sym_this] = ACTIONS(2821), + }, + [498] = { + [sym__identifier] = ACTIONS(2723), + [aux_sym_preproc_include_token1] = ACTIONS(2723), + [aux_sym_preproc_def_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token1] = ACTIONS(2723), + [aux_sym_preproc_if_token2] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2723), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2723), + [sym_preproc_directive] = ACTIONS(2723), + [anon_sym_LPAREN2] = ACTIONS(2725), + [anon_sym_BANG] = ACTIONS(2725), + [anon_sym_TILDE] = ACTIONS(2725), + [anon_sym_DASH] = ACTIONS(2723), + [anon_sym_PLUS] = ACTIONS(2723), + [anon_sym_STAR] = ACTIONS(2725), + [anon_sym_AMP_AMP] = ACTIONS(2725), + [anon_sym_AMP] = ACTIONS(2723), + [anon_sym_SEMI] = ACTIONS(2725), + [anon_sym___extension__] = ACTIONS(2723), + [anon_sym_typedef] = ACTIONS(2723), + [anon_sym_extern] = ACTIONS(2723), + [anon_sym___attribute__] = ACTIONS(2723), + [anon_sym_COLON_COLON] = ACTIONS(2725), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2725), + [anon_sym___declspec] = ACTIONS(2723), + [anon_sym___based] = ACTIONS(2723), + [anon_sym___cdecl] = ACTIONS(2723), + [anon_sym___clrcall] = ACTIONS(2723), + [anon_sym___stdcall] = ACTIONS(2723), + [anon_sym___fastcall] = ACTIONS(2723), + [anon_sym___thiscall] = ACTIONS(2723), + [anon_sym___vectorcall] = ACTIONS(2723), + [anon_sym_LBRACE] = ACTIONS(2725), + [anon_sym_signed] = ACTIONS(2723), + [anon_sym_unsigned] = ACTIONS(2723), + [anon_sym_long] = ACTIONS(2723), + [anon_sym_short] = ACTIONS(2723), + [anon_sym_LBRACK] = ACTIONS(2723), + [anon_sym_static] = ACTIONS(2723), + [anon_sym_register] = ACTIONS(2723), + [anon_sym_inline] = ACTIONS(2723), + [anon_sym___inline] = ACTIONS(2723), + [anon_sym___inline__] = ACTIONS(2723), + [anon_sym___forceinline] = ACTIONS(2723), + [anon_sym_thread_local] = ACTIONS(2723), + [anon_sym___thread] = ACTIONS(2723), + [anon_sym_const] = ACTIONS(2723), + [anon_sym_constexpr] = ACTIONS(2723), + [anon_sym_volatile] = ACTIONS(2723), + [anon_sym_restrict] = ACTIONS(2723), + [anon_sym___restrict__] = ACTIONS(2723), + [anon_sym__Atomic] = ACTIONS(2723), + [anon_sym__Noreturn] = ACTIONS(2723), + [anon_sym_noreturn] = ACTIONS(2723), + [anon_sym_mutable] = ACTIONS(2723), + [anon_sym_constinit] = ACTIONS(2723), + [anon_sym_consteval] = ACTIONS(2723), + [anon_sym_alignas] = ACTIONS(2723), + [anon_sym__Alignas] = ACTIONS(2723), + [sym_primitive_type] = ACTIONS(2723), + [anon_sym_enum] = ACTIONS(2723), + [anon_sym_class] = ACTIONS(2723), + [anon_sym_struct] = ACTIONS(2723), + [anon_sym_union] = ACTIONS(2723), + [anon_sym_if] = ACTIONS(2723), + [anon_sym_else] = ACTIONS(2723), + [anon_sym_switch] = ACTIONS(2723), + [anon_sym_case] = ACTIONS(2723), + [anon_sym_default] = ACTIONS(2723), + [anon_sym_while] = ACTIONS(2723), + [anon_sym_do] = ACTIONS(2723), + [anon_sym_for] = ACTIONS(2723), + [anon_sym_return] = ACTIONS(2723), + [anon_sym_break] = ACTIONS(2723), + [anon_sym_continue] = ACTIONS(2723), + [anon_sym_goto] = ACTIONS(2723), + [anon_sym___try] = ACTIONS(2723), + [anon_sym___leave] = ACTIONS(2723), + [anon_sym_not] = ACTIONS(2723), + [anon_sym_compl] = ACTIONS(2723), + [anon_sym_DASH_DASH] = ACTIONS(2725), + [anon_sym_PLUS_PLUS] = ACTIONS(2725), + [anon_sym_sizeof] = ACTIONS(2723), + [anon_sym___alignof__] = ACTIONS(2723), + [anon_sym___alignof] = ACTIONS(2723), + [anon_sym__alignof] = ACTIONS(2723), + [anon_sym_alignof] = ACTIONS(2723), + [anon_sym__Alignof] = ACTIONS(2723), + [anon_sym_offsetof] = ACTIONS(2723), + [anon_sym__Generic] = ACTIONS(2723), + [anon_sym_asm] = ACTIONS(2723), + [anon_sym___asm__] = ACTIONS(2723), + [sym__number_literal] = ACTIONS(2725), + [anon_sym_L_SQUOTE] = ACTIONS(2725), + [anon_sym_u_SQUOTE] = ACTIONS(2725), + [anon_sym_U_SQUOTE] = ACTIONS(2725), + [anon_sym_u8_SQUOTE] = ACTIONS(2725), + [anon_sym_SQUOTE] = ACTIONS(2725), + [anon_sym_L_DQUOTE] = ACTIONS(2725), + [anon_sym_u_DQUOTE] = ACTIONS(2725), + [anon_sym_U_DQUOTE] = ACTIONS(2725), + [anon_sym_u8_DQUOTE] = ACTIONS(2725), + [anon_sym_DQUOTE] = ACTIONS(2725), + [sym_true] = ACTIONS(2723), + [sym_false] = ACTIONS(2723), + [anon_sym_NULL] = ACTIONS(2723), + [anon_sym_nullptr] = ACTIONS(2723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2725), + [sym_auto] = ACTIONS(2723), + [anon_sym_decltype] = ACTIONS(2723), + [sym_virtual] = ACTIONS(2723), + [anon_sym_explicit] = ACTIONS(2723), + [anon_sym_typename] = ACTIONS(2723), + [anon_sym_template] = ACTIONS(2723), + [anon_sym_operator] = ACTIONS(2723), + [anon_sym_try] = ACTIONS(2723), + [anon_sym_delete] = ACTIONS(2723), + [anon_sym_throw] = ACTIONS(2723), + [anon_sym_namespace] = ACTIONS(2723), + [anon_sym_using] = ACTIONS(2723), + [anon_sym_static_assert] = ACTIONS(2723), + [anon_sym_concept] = ACTIONS(2723), + [anon_sym_co_return] = ACTIONS(2723), + [anon_sym_co_yield] = ACTIONS(2723), + [anon_sym_R_DQUOTE] = ACTIONS(2725), + [anon_sym_LR_DQUOTE] = ACTIONS(2725), + [anon_sym_uR_DQUOTE] = ACTIONS(2725), + [anon_sym_UR_DQUOTE] = ACTIONS(2725), + [anon_sym_u8R_DQUOTE] = ACTIONS(2725), + [anon_sym_co_await] = ACTIONS(2723), + [anon_sym_new] = ACTIONS(2723), + [anon_sym_requires] = ACTIONS(2723), + [sym_this] = ACTIONS(2723), + }, + [499] = { + [sym__identifier] = ACTIONS(2715), + [aux_sym_preproc_include_token1] = ACTIONS(2715), + [aux_sym_preproc_def_token1] = ACTIONS(2715), + [aux_sym_preproc_if_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2715), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2715), + [sym_preproc_directive] = ACTIONS(2715), + [anon_sym_LPAREN2] = ACTIONS(2717), + [anon_sym_BANG] = ACTIONS(2717), + [anon_sym_TILDE] = ACTIONS(2717), + [anon_sym_DASH] = ACTIONS(2715), + [anon_sym_PLUS] = ACTIONS(2715), + [anon_sym_STAR] = ACTIONS(2717), + [anon_sym_AMP_AMP] = ACTIONS(2717), + [anon_sym_AMP] = ACTIONS(2715), + [anon_sym_SEMI] = ACTIONS(2717), + [anon_sym___extension__] = ACTIONS(2715), + [anon_sym_typedef] = ACTIONS(2715), + [anon_sym_extern] = ACTIONS(2715), + [anon_sym___attribute__] = ACTIONS(2715), + [anon_sym_COLON_COLON] = ACTIONS(2717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2717), + [anon_sym___declspec] = ACTIONS(2715), + [anon_sym___based] = ACTIONS(2715), + [anon_sym___cdecl] = ACTIONS(2715), + [anon_sym___clrcall] = ACTIONS(2715), + [anon_sym___stdcall] = ACTIONS(2715), + [anon_sym___fastcall] = ACTIONS(2715), + [anon_sym___thiscall] = ACTIONS(2715), + [anon_sym___vectorcall] = ACTIONS(2715), + [anon_sym_LBRACE] = ACTIONS(2717), + [anon_sym_RBRACE] = ACTIONS(2717), + [anon_sym_signed] = ACTIONS(2715), + [anon_sym_unsigned] = ACTIONS(2715), + [anon_sym_long] = ACTIONS(2715), + [anon_sym_short] = ACTIONS(2715), + [anon_sym_LBRACK] = ACTIONS(2715), + [anon_sym_static] = ACTIONS(2715), + [anon_sym_register] = ACTIONS(2715), + [anon_sym_inline] = ACTIONS(2715), + [anon_sym___inline] = ACTIONS(2715), + [anon_sym___inline__] = ACTIONS(2715), + [anon_sym___forceinline] = ACTIONS(2715), + [anon_sym_thread_local] = ACTIONS(2715), + [anon_sym___thread] = ACTIONS(2715), + [anon_sym_const] = ACTIONS(2715), + [anon_sym_constexpr] = ACTIONS(2715), + [anon_sym_volatile] = ACTIONS(2715), + [anon_sym_restrict] = ACTIONS(2715), + [anon_sym___restrict__] = ACTIONS(2715), + [anon_sym__Atomic] = ACTIONS(2715), + [anon_sym__Noreturn] = ACTIONS(2715), + [anon_sym_noreturn] = ACTIONS(2715), + [anon_sym_mutable] = ACTIONS(2715), + [anon_sym_constinit] = ACTIONS(2715), + [anon_sym_consteval] = ACTIONS(2715), + [anon_sym_alignas] = ACTIONS(2715), + [anon_sym__Alignas] = ACTIONS(2715), + [sym_primitive_type] = ACTIONS(2715), + [anon_sym_enum] = ACTIONS(2715), + [anon_sym_class] = ACTIONS(2715), + [anon_sym_struct] = ACTIONS(2715), + [anon_sym_union] = ACTIONS(2715), + [anon_sym_if] = ACTIONS(2715), + [anon_sym_else] = ACTIONS(2715), + [anon_sym_switch] = ACTIONS(2715), + [anon_sym_case] = ACTIONS(2715), + [anon_sym_default] = ACTIONS(2715), + [anon_sym_while] = ACTIONS(2715), + [anon_sym_do] = ACTIONS(2715), + [anon_sym_for] = ACTIONS(2715), + [anon_sym_return] = ACTIONS(2715), + [anon_sym_break] = ACTIONS(2715), + [anon_sym_continue] = ACTIONS(2715), + [anon_sym_goto] = ACTIONS(2715), + [anon_sym___try] = ACTIONS(2715), + [anon_sym___leave] = ACTIONS(2715), + [anon_sym_not] = ACTIONS(2715), + [anon_sym_compl] = ACTIONS(2715), + [anon_sym_DASH_DASH] = ACTIONS(2717), + [anon_sym_PLUS_PLUS] = ACTIONS(2717), + [anon_sym_sizeof] = ACTIONS(2715), + [anon_sym___alignof__] = ACTIONS(2715), + [anon_sym___alignof] = ACTIONS(2715), + [anon_sym__alignof] = ACTIONS(2715), + [anon_sym_alignof] = ACTIONS(2715), + [anon_sym__Alignof] = ACTIONS(2715), + [anon_sym_offsetof] = ACTIONS(2715), + [anon_sym__Generic] = ACTIONS(2715), + [anon_sym_asm] = ACTIONS(2715), + [anon_sym___asm__] = ACTIONS(2715), + [sym__number_literal] = ACTIONS(2717), + [anon_sym_L_SQUOTE] = ACTIONS(2717), + [anon_sym_u_SQUOTE] = ACTIONS(2717), + [anon_sym_U_SQUOTE] = ACTIONS(2717), + [anon_sym_u8_SQUOTE] = ACTIONS(2717), + [anon_sym_SQUOTE] = ACTIONS(2717), + [anon_sym_L_DQUOTE] = ACTIONS(2717), + [anon_sym_u_DQUOTE] = ACTIONS(2717), + [anon_sym_U_DQUOTE] = ACTIONS(2717), + [anon_sym_u8_DQUOTE] = ACTIONS(2717), + [anon_sym_DQUOTE] = ACTIONS(2717), + [sym_true] = ACTIONS(2715), + [sym_false] = ACTIONS(2715), + [anon_sym_NULL] = ACTIONS(2715), + [anon_sym_nullptr] = ACTIONS(2715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2717), + [sym_auto] = ACTIONS(2715), + [anon_sym_decltype] = ACTIONS(2715), + [sym_virtual] = ACTIONS(2715), + [anon_sym_explicit] = ACTIONS(2715), + [anon_sym_typename] = ACTIONS(2715), + [anon_sym_template] = ACTIONS(2715), + [anon_sym_operator] = ACTIONS(2715), + [anon_sym_try] = ACTIONS(2715), + [anon_sym_delete] = ACTIONS(2715), + [anon_sym_throw] = ACTIONS(2715), + [anon_sym_namespace] = ACTIONS(2715), + [anon_sym_using] = ACTIONS(2715), + [anon_sym_static_assert] = ACTIONS(2715), + [anon_sym_concept] = ACTIONS(2715), + [anon_sym_co_return] = ACTIONS(2715), + [anon_sym_co_yield] = ACTIONS(2715), + [anon_sym_R_DQUOTE] = ACTIONS(2717), + [anon_sym_LR_DQUOTE] = ACTIONS(2717), + [anon_sym_uR_DQUOTE] = ACTIONS(2717), + [anon_sym_UR_DQUOTE] = ACTIONS(2717), + [anon_sym_u8R_DQUOTE] = ACTIONS(2717), + [anon_sym_co_await] = ACTIONS(2715), + [anon_sym_new] = ACTIONS(2715), + [anon_sym_requires] = ACTIONS(2715), + [sym_this] = ACTIONS(2715), + }, + [500] = { + [sym__identifier] = ACTIONS(2703), + [aux_sym_preproc_include_token1] = ACTIONS(2703), + [aux_sym_preproc_def_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2703), + [sym_preproc_directive] = ACTIONS(2703), + [anon_sym_LPAREN2] = ACTIONS(2705), + [anon_sym_BANG] = ACTIONS(2705), + [anon_sym_TILDE] = ACTIONS(2705), + [anon_sym_DASH] = ACTIONS(2703), + [anon_sym_PLUS] = ACTIONS(2703), + [anon_sym_STAR] = ACTIONS(2705), + [anon_sym_AMP_AMP] = ACTIONS(2705), + [anon_sym_AMP] = ACTIONS(2703), + [anon_sym_SEMI] = ACTIONS(2705), + [anon_sym___extension__] = ACTIONS(2703), + [anon_sym_typedef] = ACTIONS(2703), + [anon_sym_extern] = ACTIONS(2703), + [anon_sym___attribute__] = ACTIONS(2703), + [anon_sym_COLON_COLON] = ACTIONS(2705), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2705), + [anon_sym___declspec] = ACTIONS(2703), + [anon_sym___based] = ACTIONS(2703), + [anon_sym___cdecl] = ACTIONS(2703), + [anon_sym___clrcall] = ACTIONS(2703), + [anon_sym___stdcall] = ACTIONS(2703), + [anon_sym___fastcall] = ACTIONS(2703), + [anon_sym___thiscall] = ACTIONS(2703), + [anon_sym___vectorcall] = ACTIONS(2703), + [anon_sym_LBRACE] = ACTIONS(2705), + [anon_sym_RBRACE] = ACTIONS(2705), + [anon_sym_signed] = ACTIONS(2703), + [anon_sym_unsigned] = ACTIONS(2703), + [anon_sym_long] = ACTIONS(2703), + [anon_sym_short] = ACTIONS(2703), + [anon_sym_LBRACK] = ACTIONS(2703), + [anon_sym_static] = ACTIONS(2703), + [anon_sym_register] = ACTIONS(2703), + [anon_sym_inline] = ACTIONS(2703), + [anon_sym___inline] = ACTIONS(2703), + [anon_sym___inline__] = ACTIONS(2703), + [anon_sym___forceinline] = ACTIONS(2703), + [anon_sym_thread_local] = ACTIONS(2703), + [anon_sym___thread] = ACTIONS(2703), + [anon_sym_const] = ACTIONS(2703), + [anon_sym_constexpr] = ACTIONS(2703), + [anon_sym_volatile] = ACTIONS(2703), + [anon_sym_restrict] = ACTIONS(2703), + [anon_sym___restrict__] = ACTIONS(2703), + [anon_sym__Atomic] = ACTIONS(2703), + [anon_sym__Noreturn] = ACTIONS(2703), + [anon_sym_noreturn] = ACTIONS(2703), + [anon_sym_mutable] = ACTIONS(2703), + [anon_sym_constinit] = ACTIONS(2703), + [anon_sym_consteval] = ACTIONS(2703), + [anon_sym_alignas] = ACTIONS(2703), + [anon_sym__Alignas] = ACTIONS(2703), + [sym_primitive_type] = ACTIONS(2703), + [anon_sym_enum] = ACTIONS(2703), + [anon_sym_class] = ACTIONS(2703), + [anon_sym_struct] = ACTIONS(2703), + [anon_sym_union] = ACTIONS(2703), + [anon_sym_if] = ACTIONS(2703), + [anon_sym_else] = ACTIONS(2703), + [anon_sym_switch] = ACTIONS(2703), + [anon_sym_case] = ACTIONS(2703), + [anon_sym_default] = ACTIONS(2703), + [anon_sym_while] = ACTIONS(2703), + [anon_sym_do] = ACTIONS(2703), + [anon_sym_for] = ACTIONS(2703), + [anon_sym_return] = ACTIONS(2703), + [anon_sym_break] = ACTIONS(2703), + [anon_sym_continue] = ACTIONS(2703), + [anon_sym_goto] = ACTIONS(2703), + [anon_sym___try] = ACTIONS(2703), + [anon_sym___leave] = ACTIONS(2703), + [anon_sym_not] = ACTIONS(2703), + [anon_sym_compl] = ACTIONS(2703), + [anon_sym_DASH_DASH] = ACTIONS(2705), + [anon_sym_PLUS_PLUS] = ACTIONS(2705), + [anon_sym_sizeof] = ACTIONS(2703), + [anon_sym___alignof__] = ACTIONS(2703), + [anon_sym___alignof] = ACTIONS(2703), + [anon_sym__alignof] = ACTIONS(2703), + [anon_sym_alignof] = ACTIONS(2703), + [anon_sym__Alignof] = ACTIONS(2703), + [anon_sym_offsetof] = ACTIONS(2703), + [anon_sym__Generic] = ACTIONS(2703), + [anon_sym_asm] = ACTIONS(2703), + [anon_sym___asm__] = ACTIONS(2703), + [sym__number_literal] = ACTIONS(2705), + [anon_sym_L_SQUOTE] = ACTIONS(2705), + [anon_sym_u_SQUOTE] = ACTIONS(2705), + [anon_sym_U_SQUOTE] = ACTIONS(2705), + [anon_sym_u8_SQUOTE] = ACTIONS(2705), + [anon_sym_SQUOTE] = ACTIONS(2705), + [anon_sym_L_DQUOTE] = ACTIONS(2705), + [anon_sym_u_DQUOTE] = ACTIONS(2705), + [anon_sym_U_DQUOTE] = ACTIONS(2705), + [anon_sym_u8_DQUOTE] = ACTIONS(2705), + [anon_sym_DQUOTE] = ACTIONS(2705), + [sym_true] = ACTIONS(2703), + [sym_false] = ACTIONS(2703), + [anon_sym_NULL] = ACTIONS(2703), + [anon_sym_nullptr] = ACTIONS(2703), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2705), + [sym_auto] = ACTIONS(2703), + [anon_sym_decltype] = ACTIONS(2703), + [sym_virtual] = ACTIONS(2703), + [anon_sym_explicit] = ACTIONS(2703), + [anon_sym_typename] = ACTIONS(2703), + [anon_sym_template] = ACTIONS(2703), + [anon_sym_operator] = ACTIONS(2703), + [anon_sym_try] = ACTIONS(2703), + [anon_sym_delete] = ACTIONS(2703), + [anon_sym_throw] = ACTIONS(2703), + [anon_sym_namespace] = ACTIONS(2703), + [anon_sym_using] = ACTIONS(2703), + [anon_sym_static_assert] = ACTIONS(2703), + [anon_sym_concept] = ACTIONS(2703), + [anon_sym_co_return] = ACTIONS(2703), + [anon_sym_co_yield] = ACTIONS(2703), + [anon_sym_R_DQUOTE] = ACTIONS(2705), + [anon_sym_LR_DQUOTE] = ACTIONS(2705), + [anon_sym_uR_DQUOTE] = ACTIONS(2705), + [anon_sym_UR_DQUOTE] = ACTIONS(2705), + [anon_sym_u8R_DQUOTE] = ACTIONS(2705), + [anon_sym_co_await] = ACTIONS(2703), + [anon_sym_new] = ACTIONS(2703), + [anon_sym_requires] = ACTIONS(2703), + [sym_this] = ACTIONS(2703), + }, + [501] = { + [sym__identifier] = ACTIONS(2797), + [aux_sym_preproc_include_token1] = ACTIONS(2797), + [aux_sym_preproc_def_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2797), + [sym_preproc_directive] = ACTIONS(2797), + [anon_sym_LPAREN2] = ACTIONS(2799), + [anon_sym_BANG] = ACTIONS(2799), + [anon_sym_TILDE] = ACTIONS(2799), + [anon_sym_DASH] = ACTIONS(2797), + [anon_sym_PLUS] = ACTIONS(2797), + [anon_sym_STAR] = ACTIONS(2799), + [anon_sym_AMP_AMP] = ACTIONS(2799), + [anon_sym_AMP] = ACTIONS(2797), + [anon_sym_SEMI] = ACTIONS(2799), + [anon_sym___extension__] = ACTIONS(2797), + [anon_sym_typedef] = ACTIONS(2797), + [anon_sym_extern] = ACTIONS(2797), + [anon_sym___attribute__] = ACTIONS(2797), + [anon_sym_COLON_COLON] = ACTIONS(2799), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2799), + [anon_sym___declspec] = ACTIONS(2797), + [anon_sym___based] = ACTIONS(2797), + [anon_sym___cdecl] = ACTIONS(2797), + [anon_sym___clrcall] = ACTIONS(2797), + [anon_sym___stdcall] = ACTIONS(2797), + [anon_sym___fastcall] = ACTIONS(2797), + [anon_sym___thiscall] = ACTIONS(2797), + [anon_sym___vectorcall] = ACTIONS(2797), + [anon_sym_LBRACE] = ACTIONS(2799), + [anon_sym_RBRACE] = ACTIONS(2799), + [anon_sym_signed] = ACTIONS(2797), + [anon_sym_unsigned] = ACTIONS(2797), + [anon_sym_long] = ACTIONS(2797), + [anon_sym_short] = ACTIONS(2797), + [anon_sym_LBRACK] = ACTIONS(2797), + [anon_sym_static] = ACTIONS(2797), + [anon_sym_register] = ACTIONS(2797), + [anon_sym_inline] = ACTIONS(2797), + [anon_sym___inline] = ACTIONS(2797), + [anon_sym___inline__] = ACTIONS(2797), + [anon_sym___forceinline] = ACTIONS(2797), + [anon_sym_thread_local] = ACTIONS(2797), + [anon_sym___thread] = ACTIONS(2797), + [anon_sym_const] = ACTIONS(2797), + [anon_sym_constexpr] = ACTIONS(2797), + [anon_sym_volatile] = ACTIONS(2797), + [anon_sym_restrict] = ACTIONS(2797), + [anon_sym___restrict__] = ACTIONS(2797), + [anon_sym__Atomic] = ACTIONS(2797), + [anon_sym__Noreturn] = ACTIONS(2797), + [anon_sym_noreturn] = ACTIONS(2797), + [anon_sym_mutable] = ACTIONS(2797), + [anon_sym_constinit] = ACTIONS(2797), + [anon_sym_consteval] = ACTIONS(2797), + [anon_sym_alignas] = ACTIONS(2797), + [anon_sym__Alignas] = ACTIONS(2797), + [sym_primitive_type] = ACTIONS(2797), + [anon_sym_enum] = ACTIONS(2797), + [anon_sym_class] = ACTIONS(2797), + [anon_sym_struct] = ACTIONS(2797), + [anon_sym_union] = ACTIONS(2797), + [anon_sym_if] = ACTIONS(2797), + [anon_sym_else] = ACTIONS(2797), + [anon_sym_switch] = ACTIONS(2797), + [anon_sym_case] = ACTIONS(2797), + [anon_sym_default] = ACTIONS(2797), + [anon_sym_while] = ACTIONS(2797), + [anon_sym_do] = ACTIONS(2797), + [anon_sym_for] = ACTIONS(2797), + [anon_sym_return] = ACTIONS(2797), + [anon_sym_break] = ACTIONS(2797), + [anon_sym_continue] = ACTIONS(2797), + [anon_sym_goto] = ACTIONS(2797), + [anon_sym___try] = ACTIONS(2797), + [anon_sym___leave] = ACTIONS(2797), + [anon_sym_not] = ACTIONS(2797), + [anon_sym_compl] = ACTIONS(2797), + [anon_sym_DASH_DASH] = ACTIONS(2799), + [anon_sym_PLUS_PLUS] = ACTIONS(2799), + [anon_sym_sizeof] = ACTIONS(2797), + [anon_sym___alignof__] = ACTIONS(2797), + [anon_sym___alignof] = ACTIONS(2797), + [anon_sym__alignof] = ACTIONS(2797), + [anon_sym_alignof] = ACTIONS(2797), + [anon_sym__Alignof] = ACTIONS(2797), + [anon_sym_offsetof] = ACTIONS(2797), + [anon_sym__Generic] = ACTIONS(2797), + [anon_sym_asm] = ACTIONS(2797), + [anon_sym___asm__] = ACTIONS(2797), + [sym__number_literal] = ACTIONS(2799), + [anon_sym_L_SQUOTE] = ACTIONS(2799), + [anon_sym_u_SQUOTE] = ACTIONS(2799), + [anon_sym_U_SQUOTE] = ACTIONS(2799), + [anon_sym_u8_SQUOTE] = ACTIONS(2799), + [anon_sym_SQUOTE] = ACTIONS(2799), + [anon_sym_L_DQUOTE] = ACTIONS(2799), + [anon_sym_u_DQUOTE] = ACTIONS(2799), + [anon_sym_U_DQUOTE] = ACTIONS(2799), + [anon_sym_u8_DQUOTE] = ACTIONS(2799), + [anon_sym_DQUOTE] = ACTIONS(2799), + [sym_true] = ACTIONS(2797), + [sym_false] = ACTIONS(2797), + [anon_sym_NULL] = ACTIONS(2797), + [anon_sym_nullptr] = ACTIONS(2797), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2799), + [sym_auto] = ACTIONS(2797), + [anon_sym_decltype] = ACTIONS(2797), + [sym_virtual] = ACTIONS(2797), + [anon_sym_explicit] = ACTIONS(2797), + [anon_sym_typename] = ACTIONS(2797), + [anon_sym_template] = ACTIONS(2797), + [anon_sym_operator] = ACTIONS(2797), + [anon_sym_try] = ACTIONS(2797), + [anon_sym_delete] = ACTIONS(2797), + [anon_sym_throw] = ACTIONS(2797), + [anon_sym_namespace] = ACTIONS(2797), + [anon_sym_using] = ACTIONS(2797), + [anon_sym_static_assert] = ACTIONS(2797), + [anon_sym_concept] = ACTIONS(2797), + [anon_sym_co_return] = ACTIONS(2797), + [anon_sym_co_yield] = ACTIONS(2797), + [anon_sym_R_DQUOTE] = ACTIONS(2799), + [anon_sym_LR_DQUOTE] = ACTIONS(2799), + [anon_sym_uR_DQUOTE] = ACTIONS(2799), + [anon_sym_UR_DQUOTE] = ACTIONS(2799), + [anon_sym_u8R_DQUOTE] = ACTIONS(2799), + [anon_sym_co_await] = ACTIONS(2797), + [anon_sym_new] = ACTIONS(2797), + [anon_sym_requires] = ACTIONS(2797), + [sym_this] = ACTIONS(2797), + }, + [502] = { + [sym__identifier] = ACTIONS(2763), + [aux_sym_preproc_include_token1] = ACTIONS(2763), + [aux_sym_preproc_def_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2763), + [sym_preproc_directive] = ACTIONS(2763), + [anon_sym_LPAREN2] = ACTIONS(2765), + [anon_sym_BANG] = ACTIONS(2765), + [anon_sym_TILDE] = ACTIONS(2765), + [anon_sym_DASH] = ACTIONS(2763), + [anon_sym_PLUS] = ACTIONS(2763), + [anon_sym_STAR] = ACTIONS(2765), + [anon_sym_AMP_AMP] = ACTIONS(2765), + [anon_sym_AMP] = ACTIONS(2763), + [anon_sym_SEMI] = ACTIONS(2765), + [anon_sym___extension__] = ACTIONS(2763), + [anon_sym_typedef] = ACTIONS(2763), + [anon_sym_extern] = ACTIONS(2763), + [anon_sym___attribute__] = ACTIONS(2763), + [anon_sym_COLON_COLON] = ACTIONS(2765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2765), + [anon_sym___declspec] = ACTIONS(2763), + [anon_sym___based] = ACTIONS(2763), + [anon_sym___cdecl] = ACTIONS(2763), + [anon_sym___clrcall] = ACTIONS(2763), + [anon_sym___stdcall] = ACTIONS(2763), + [anon_sym___fastcall] = ACTIONS(2763), + [anon_sym___thiscall] = ACTIONS(2763), + [anon_sym___vectorcall] = ACTIONS(2763), + [anon_sym_LBRACE] = ACTIONS(2765), + [anon_sym_RBRACE] = ACTIONS(2765), + [anon_sym_signed] = ACTIONS(2763), + [anon_sym_unsigned] = ACTIONS(2763), + [anon_sym_long] = ACTIONS(2763), + [anon_sym_short] = ACTIONS(2763), + [anon_sym_LBRACK] = ACTIONS(2763), + [anon_sym_static] = ACTIONS(2763), + [anon_sym_register] = ACTIONS(2763), + [anon_sym_inline] = ACTIONS(2763), + [anon_sym___inline] = ACTIONS(2763), + [anon_sym___inline__] = ACTIONS(2763), + [anon_sym___forceinline] = ACTIONS(2763), + [anon_sym_thread_local] = ACTIONS(2763), + [anon_sym___thread] = ACTIONS(2763), + [anon_sym_const] = ACTIONS(2763), + [anon_sym_constexpr] = ACTIONS(2763), + [anon_sym_volatile] = ACTIONS(2763), + [anon_sym_restrict] = ACTIONS(2763), + [anon_sym___restrict__] = ACTIONS(2763), + [anon_sym__Atomic] = ACTIONS(2763), + [anon_sym__Noreturn] = ACTIONS(2763), + [anon_sym_noreturn] = ACTIONS(2763), + [anon_sym_mutable] = ACTIONS(2763), + [anon_sym_constinit] = ACTIONS(2763), + [anon_sym_consteval] = ACTIONS(2763), + [anon_sym_alignas] = ACTIONS(2763), + [anon_sym__Alignas] = ACTIONS(2763), + [sym_primitive_type] = ACTIONS(2763), + [anon_sym_enum] = ACTIONS(2763), + [anon_sym_class] = ACTIONS(2763), + [anon_sym_struct] = ACTIONS(2763), + [anon_sym_union] = ACTIONS(2763), + [anon_sym_if] = ACTIONS(2763), + [anon_sym_else] = ACTIONS(2763), + [anon_sym_switch] = ACTIONS(2763), + [anon_sym_case] = ACTIONS(2763), + [anon_sym_default] = ACTIONS(2763), + [anon_sym_while] = ACTIONS(2763), + [anon_sym_do] = ACTIONS(2763), + [anon_sym_for] = ACTIONS(2763), + [anon_sym_return] = ACTIONS(2763), + [anon_sym_break] = ACTIONS(2763), + [anon_sym_continue] = ACTIONS(2763), + [anon_sym_goto] = ACTIONS(2763), + [anon_sym___try] = ACTIONS(2763), + [anon_sym___leave] = ACTIONS(2763), + [anon_sym_not] = ACTIONS(2763), + [anon_sym_compl] = ACTIONS(2763), + [anon_sym_DASH_DASH] = ACTIONS(2765), + [anon_sym_PLUS_PLUS] = ACTIONS(2765), + [anon_sym_sizeof] = ACTIONS(2763), + [anon_sym___alignof__] = ACTIONS(2763), + [anon_sym___alignof] = ACTIONS(2763), + [anon_sym__alignof] = ACTIONS(2763), + [anon_sym_alignof] = ACTIONS(2763), + [anon_sym__Alignof] = ACTIONS(2763), + [anon_sym_offsetof] = ACTIONS(2763), + [anon_sym__Generic] = ACTIONS(2763), + [anon_sym_asm] = ACTIONS(2763), + [anon_sym___asm__] = ACTIONS(2763), + [sym__number_literal] = ACTIONS(2765), + [anon_sym_L_SQUOTE] = ACTIONS(2765), + [anon_sym_u_SQUOTE] = ACTIONS(2765), + [anon_sym_U_SQUOTE] = ACTIONS(2765), + [anon_sym_u8_SQUOTE] = ACTIONS(2765), + [anon_sym_SQUOTE] = ACTIONS(2765), + [anon_sym_L_DQUOTE] = ACTIONS(2765), + [anon_sym_u_DQUOTE] = ACTIONS(2765), + [anon_sym_U_DQUOTE] = ACTIONS(2765), + [anon_sym_u8_DQUOTE] = ACTIONS(2765), + [anon_sym_DQUOTE] = ACTIONS(2765), + [sym_true] = ACTIONS(2763), + [sym_false] = ACTIONS(2763), + [anon_sym_NULL] = ACTIONS(2763), + [anon_sym_nullptr] = ACTIONS(2763), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2765), + [sym_auto] = ACTIONS(2763), + [anon_sym_decltype] = ACTIONS(2763), + [sym_virtual] = ACTIONS(2763), + [anon_sym_explicit] = ACTIONS(2763), + [anon_sym_typename] = ACTIONS(2763), + [anon_sym_template] = ACTIONS(2763), + [anon_sym_operator] = ACTIONS(2763), + [anon_sym_try] = ACTIONS(2763), + [anon_sym_delete] = ACTIONS(2763), + [anon_sym_throw] = ACTIONS(2763), + [anon_sym_namespace] = ACTIONS(2763), + [anon_sym_using] = ACTIONS(2763), + [anon_sym_static_assert] = ACTIONS(2763), + [anon_sym_concept] = ACTIONS(2763), + [anon_sym_co_return] = ACTIONS(2763), + [anon_sym_co_yield] = ACTIONS(2763), + [anon_sym_R_DQUOTE] = ACTIONS(2765), + [anon_sym_LR_DQUOTE] = ACTIONS(2765), + [anon_sym_uR_DQUOTE] = ACTIONS(2765), + [anon_sym_UR_DQUOTE] = ACTIONS(2765), + [anon_sym_u8R_DQUOTE] = ACTIONS(2765), + [anon_sym_co_await] = ACTIONS(2763), + [anon_sym_new] = ACTIONS(2763), + [anon_sym_requires] = ACTIONS(2763), + [sym_this] = ACTIONS(2763), + }, + [503] = { + [sym__identifier] = ACTIONS(2727), + [aux_sym_preproc_include_token1] = ACTIONS(2727), + [aux_sym_preproc_def_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token1] = ACTIONS(2727), + [aux_sym_preproc_if_token2] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2727), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2727), + [sym_preproc_directive] = ACTIONS(2727), + [anon_sym_LPAREN2] = ACTIONS(2729), + [anon_sym_BANG] = ACTIONS(2729), + [anon_sym_TILDE] = ACTIONS(2729), + [anon_sym_DASH] = ACTIONS(2727), + [anon_sym_PLUS] = ACTIONS(2727), + [anon_sym_STAR] = ACTIONS(2729), + [anon_sym_AMP_AMP] = ACTIONS(2729), + [anon_sym_AMP] = ACTIONS(2727), + [anon_sym_SEMI] = ACTIONS(2729), + [anon_sym___extension__] = ACTIONS(2727), + [anon_sym_typedef] = ACTIONS(2727), + [anon_sym_extern] = ACTIONS(2727), + [anon_sym___attribute__] = ACTIONS(2727), + [anon_sym_COLON_COLON] = ACTIONS(2729), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2729), + [anon_sym___declspec] = ACTIONS(2727), + [anon_sym___based] = ACTIONS(2727), + [anon_sym___cdecl] = ACTIONS(2727), + [anon_sym___clrcall] = ACTIONS(2727), + [anon_sym___stdcall] = ACTIONS(2727), + [anon_sym___fastcall] = ACTIONS(2727), + [anon_sym___thiscall] = ACTIONS(2727), + [anon_sym___vectorcall] = ACTIONS(2727), + [anon_sym_LBRACE] = ACTIONS(2729), + [anon_sym_signed] = ACTIONS(2727), + [anon_sym_unsigned] = ACTIONS(2727), + [anon_sym_long] = ACTIONS(2727), + [anon_sym_short] = ACTIONS(2727), + [anon_sym_LBRACK] = ACTIONS(2727), + [anon_sym_static] = ACTIONS(2727), + [anon_sym_register] = ACTIONS(2727), + [anon_sym_inline] = ACTIONS(2727), + [anon_sym___inline] = ACTIONS(2727), + [anon_sym___inline__] = ACTIONS(2727), + [anon_sym___forceinline] = ACTIONS(2727), + [anon_sym_thread_local] = ACTIONS(2727), + [anon_sym___thread] = ACTIONS(2727), + [anon_sym_const] = ACTIONS(2727), + [anon_sym_constexpr] = ACTIONS(2727), + [anon_sym_volatile] = ACTIONS(2727), + [anon_sym_restrict] = ACTIONS(2727), + [anon_sym___restrict__] = ACTIONS(2727), + [anon_sym__Atomic] = ACTIONS(2727), + [anon_sym__Noreturn] = ACTIONS(2727), + [anon_sym_noreturn] = ACTIONS(2727), + [anon_sym_mutable] = ACTIONS(2727), + [anon_sym_constinit] = ACTIONS(2727), + [anon_sym_consteval] = ACTIONS(2727), + [anon_sym_alignas] = ACTIONS(2727), + [anon_sym__Alignas] = ACTIONS(2727), + [sym_primitive_type] = ACTIONS(2727), + [anon_sym_enum] = ACTIONS(2727), + [anon_sym_class] = ACTIONS(2727), + [anon_sym_struct] = ACTIONS(2727), + [anon_sym_union] = ACTIONS(2727), + [anon_sym_if] = ACTIONS(2727), + [anon_sym_else] = ACTIONS(2727), + [anon_sym_switch] = ACTIONS(2727), + [anon_sym_case] = ACTIONS(2727), + [anon_sym_default] = ACTIONS(2727), + [anon_sym_while] = ACTIONS(2727), + [anon_sym_do] = ACTIONS(2727), + [anon_sym_for] = ACTIONS(2727), + [anon_sym_return] = ACTIONS(2727), + [anon_sym_break] = ACTIONS(2727), + [anon_sym_continue] = ACTIONS(2727), + [anon_sym_goto] = ACTIONS(2727), + [anon_sym___try] = ACTIONS(2727), + [anon_sym___leave] = ACTIONS(2727), + [anon_sym_not] = ACTIONS(2727), + [anon_sym_compl] = ACTIONS(2727), + [anon_sym_DASH_DASH] = ACTIONS(2729), + [anon_sym_PLUS_PLUS] = ACTIONS(2729), + [anon_sym_sizeof] = ACTIONS(2727), + [anon_sym___alignof__] = ACTIONS(2727), + [anon_sym___alignof] = ACTIONS(2727), + [anon_sym__alignof] = ACTIONS(2727), + [anon_sym_alignof] = ACTIONS(2727), + [anon_sym__Alignof] = ACTIONS(2727), + [anon_sym_offsetof] = ACTIONS(2727), + [anon_sym__Generic] = ACTIONS(2727), + [anon_sym_asm] = ACTIONS(2727), + [anon_sym___asm__] = ACTIONS(2727), + [sym__number_literal] = ACTIONS(2729), + [anon_sym_L_SQUOTE] = ACTIONS(2729), + [anon_sym_u_SQUOTE] = ACTIONS(2729), + [anon_sym_U_SQUOTE] = ACTIONS(2729), + [anon_sym_u8_SQUOTE] = ACTIONS(2729), + [anon_sym_SQUOTE] = ACTIONS(2729), + [anon_sym_L_DQUOTE] = ACTIONS(2729), + [anon_sym_u_DQUOTE] = ACTIONS(2729), + [anon_sym_U_DQUOTE] = ACTIONS(2729), + [anon_sym_u8_DQUOTE] = ACTIONS(2729), + [anon_sym_DQUOTE] = ACTIONS(2729), + [sym_true] = ACTIONS(2727), + [sym_false] = ACTIONS(2727), + [anon_sym_NULL] = ACTIONS(2727), + [anon_sym_nullptr] = ACTIONS(2727), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2729), + [sym_auto] = ACTIONS(2727), + [anon_sym_decltype] = ACTIONS(2727), + [sym_virtual] = ACTIONS(2727), + [anon_sym_explicit] = ACTIONS(2727), + [anon_sym_typename] = ACTIONS(2727), + [anon_sym_template] = ACTIONS(2727), + [anon_sym_operator] = ACTIONS(2727), + [anon_sym_try] = ACTIONS(2727), + [anon_sym_delete] = ACTIONS(2727), + [anon_sym_throw] = ACTIONS(2727), + [anon_sym_namespace] = ACTIONS(2727), + [anon_sym_using] = ACTIONS(2727), + [anon_sym_static_assert] = ACTIONS(2727), + [anon_sym_concept] = ACTIONS(2727), + [anon_sym_co_return] = ACTIONS(2727), + [anon_sym_co_yield] = ACTIONS(2727), + [anon_sym_R_DQUOTE] = ACTIONS(2729), + [anon_sym_LR_DQUOTE] = ACTIONS(2729), + [anon_sym_uR_DQUOTE] = ACTIONS(2729), + [anon_sym_UR_DQUOTE] = ACTIONS(2729), + [anon_sym_u8R_DQUOTE] = ACTIONS(2729), + [anon_sym_co_await] = ACTIONS(2727), + [anon_sym_new] = ACTIONS(2727), + [anon_sym_requires] = ACTIONS(2727), + [sym_this] = ACTIONS(2727), + }, + [504] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_RBRACE] = ACTIONS(2771), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [505] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_RBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [506] = { + [sym__identifier] = ACTIONS(2747), + [aux_sym_preproc_include_token1] = ACTIONS(2747), + [aux_sym_preproc_def_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2747), + [sym_preproc_directive] = ACTIONS(2747), + [anon_sym_LPAREN2] = ACTIONS(2749), + [anon_sym_BANG] = ACTIONS(2749), + [anon_sym_TILDE] = ACTIONS(2749), + [anon_sym_DASH] = ACTIONS(2747), + [anon_sym_PLUS] = ACTIONS(2747), + [anon_sym_STAR] = ACTIONS(2749), + [anon_sym_AMP_AMP] = ACTIONS(2749), + [anon_sym_AMP] = ACTIONS(2747), + [anon_sym_SEMI] = ACTIONS(2749), + [anon_sym___extension__] = ACTIONS(2747), + [anon_sym_typedef] = ACTIONS(2747), + [anon_sym_extern] = ACTIONS(2747), + [anon_sym___attribute__] = ACTIONS(2747), + [anon_sym_COLON_COLON] = ACTIONS(2749), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2749), + [anon_sym___declspec] = ACTIONS(2747), + [anon_sym___based] = ACTIONS(2747), + [anon_sym___cdecl] = ACTIONS(2747), + [anon_sym___clrcall] = ACTIONS(2747), + [anon_sym___stdcall] = ACTIONS(2747), + [anon_sym___fastcall] = ACTIONS(2747), + [anon_sym___thiscall] = ACTIONS(2747), + [anon_sym___vectorcall] = ACTIONS(2747), + [anon_sym_LBRACE] = ACTIONS(2749), + [anon_sym_RBRACE] = ACTIONS(2749), + [anon_sym_signed] = ACTIONS(2747), + [anon_sym_unsigned] = ACTIONS(2747), + [anon_sym_long] = ACTIONS(2747), + [anon_sym_short] = ACTIONS(2747), + [anon_sym_LBRACK] = ACTIONS(2747), + [anon_sym_static] = ACTIONS(2747), + [anon_sym_register] = ACTIONS(2747), + [anon_sym_inline] = ACTIONS(2747), + [anon_sym___inline] = ACTIONS(2747), + [anon_sym___inline__] = ACTIONS(2747), + [anon_sym___forceinline] = ACTIONS(2747), + [anon_sym_thread_local] = ACTIONS(2747), + [anon_sym___thread] = ACTIONS(2747), + [anon_sym_const] = ACTIONS(2747), + [anon_sym_constexpr] = ACTIONS(2747), + [anon_sym_volatile] = ACTIONS(2747), + [anon_sym_restrict] = ACTIONS(2747), + [anon_sym___restrict__] = ACTIONS(2747), + [anon_sym__Atomic] = ACTIONS(2747), + [anon_sym__Noreturn] = ACTIONS(2747), + [anon_sym_noreturn] = ACTIONS(2747), + [anon_sym_mutable] = ACTIONS(2747), + [anon_sym_constinit] = ACTIONS(2747), + [anon_sym_consteval] = ACTIONS(2747), + [anon_sym_alignas] = ACTIONS(2747), + [anon_sym__Alignas] = ACTIONS(2747), + [sym_primitive_type] = ACTIONS(2747), + [anon_sym_enum] = ACTIONS(2747), + [anon_sym_class] = ACTIONS(2747), + [anon_sym_struct] = ACTIONS(2747), + [anon_sym_union] = ACTIONS(2747), + [anon_sym_if] = ACTIONS(2747), + [anon_sym_else] = ACTIONS(2747), + [anon_sym_switch] = ACTIONS(2747), + [anon_sym_case] = ACTIONS(2747), + [anon_sym_default] = ACTIONS(2747), + [anon_sym_while] = ACTIONS(2747), + [anon_sym_do] = ACTIONS(2747), + [anon_sym_for] = ACTIONS(2747), + [anon_sym_return] = ACTIONS(2747), + [anon_sym_break] = ACTIONS(2747), + [anon_sym_continue] = ACTIONS(2747), + [anon_sym_goto] = ACTIONS(2747), + [anon_sym___try] = ACTIONS(2747), + [anon_sym___leave] = ACTIONS(2747), + [anon_sym_not] = ACTIONS(2747), + [anon_sym_compl] = ACTIONS(2747), + [anon_sym_DASH_DASH] = ACTIONS(2749), + [anon_sym_PLUS_PLUS] = ACTIONS(2749), + [anon_sym_sizeof] = ACTIONS(2747), + [anon_sym___alignof__] = ACTIONS(2747), + [anon_sym___alignof] = ACTIONS(2747), + [anon_sym__alignof] = ACTIONS(2747), + [anon_sym_alignof] = ACTIONS(2747), + [anon_sym__Alignof] = ACTIONS(2747), + [anon_sym_offsetof] = ACTIONS(2747), + [anon_sym__Generic] = ACTIONS(2747), + [anon_sym_asm] = ACTIONS(2747), + [anon_sym___asm__] = ACTIONS(2747), + [sym__number_literal] = ACTIONS(2749), + [anon_sym_L_SQUOTE] = ACTIONS(2749), + [anon_sym_u_SQUOTE] = ACTIONS(2749), + [anon_sym_U_SQUOTE] = ACTIONS(2749), + [anon_sym_u8_SQUOTE] = ACTIONS(2749), + [anon_sym_SQUOTE] = ACTIONS(2749), + [anon_sym_L_DQUOTE] = ACTIONS(2749), + [anon_sym_u_DQUOTE] = ACTIONS(2749), + [anon_sym_U_DQUOTE] = ACTIONS(2749), + [anon_sym_u8_DQUOTE] = ACTIONS(2749), + [anon_sym_DQUOTE] = ACTIONS(2749), + [sym_true] = ACTIONS(2747), + [sym_false] = ACTIONS(2747), + [anon_sym_NULL] = ACTIONS(2747), + [anon_sym_nullptr] = ACTIONS(2747), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2749), + [sym_auto] = ACTIONS(2747), + [anon_sym_decltype] = ACTIONS(2747), + [sym_virtual] = ACTIONS(2747), + [anon_sym_explicit] = ACTIONS(2747), + [anon_sym_typename] = ACTIONS(2747), + [anon_sym_template] = ACTIONS(2747), + [anon_sym_operator] = ACTIONS(2747), + [anon_sym_try] = ACTIONS(2747), + [anon_sym_delete] = ACTIONS(2747), + [anon_sym_throw] = ACTIONS(2747), + [anon_sym_namespace] = ACTIONS(2747), + [anon_sym_using] = ACTIONS(2747), + [anon_sym_static_assert] = ACTIONS(2747), + [anon_sym_concept] = ACTIONS(2747), + [anon_sym_co_return] = ACTIONS(2747), + [anon_sym_co_yield] = ACTIONS(2747), + [anon_sym_R_DQUOTE] = ACTIONS(2749), + [anon_sym_LR_DQUOTE] = ACTIONS(2749), + [anon_sym_uR_DQUOTE] = ACTIONS(2749), + [anon_sym_UR_DQUOTE] = ACTIONS(2749), + [anon_sym_u8R_DQUOTE] = ACTIONS(2749), + [anon_sym_co_await] = ACTIONS(2747), + [anon_sym_new] = ACTIONS(2747), + [anon_sym_requires] = ACTIONS(2747), + [sym_this] = ACTIONS(2747), + }, + [507] = { + [sym__identifier] = ACTIONS(2789), + [aux_sym_preproc_include_token1] = ACTIONS(2789), + [aux_sym_preproc_def_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token1] = ACTIONS(2789), + [aux_sym_preproc_if_token2] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2789), + [sym_preproc_directive] = ACTIONS(2789), + [anon_sym_LPAREN2] = ACTIONS(2791), + [anon_sym_BANG] = ACTIONS(2791), + [anon_sym_TILDE] = ACTIONS(2791), + [anon_sym_DASH] = ACTIONS(2789), + [anon_sym_PLUS] = ACTIONS(2789), + [anon_sym_STAR] = ACTIONS(2791), + [anon_sym_AMP_AMP] = ACTIONS(2791), + [anon_sym_AMP] = ACTIONS(2789), + [anon_sym_SEMI] = ACTIONS(2791), + [anon_sym___extension__] = ACTIONS(2789), + [anon_sym_typedef] = ACTIONS(2789), + [anon_sym_extern] = ACTIONS(2789), + [anon_sym___attribute__] = ACTIONS(2789), + [anon_sym_COLON_COLON] = ACTIONS(2791), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2791), + [anon_sym___declspec] = ACTIONS(2789), + [anon_sym___based] = ACTIONS(2789), + [anon_sym___cdecl] = ACTIONS(2789), + [anon_sym___clrcall] = ACTIONS(2789), + [anon_sym___stdcall] = ACTIONS(2789), + [anon_sym___fastcall] = ACTIONS(2789), + [anon_sym___thiscall] = ACTIONS(2789), + [anon_sym___vectorcall] = ACTIONS(2789), + [anon_sym_LBRACE] = ACTIONS(2791), + [anon_sym_signed] = ACTIONS(2789), + [anon_sym_unsigned] = ACTIONS(2789), + [anon_sym_long] = ACTIONS(2789), + [anon_sym_short] = ACTIONS(2789), + [anon_sym_LBRACK] = ACTIONS(2789), + [anon_sym_static] = ACTIONS(2789), + [anon_sym_register] = ACTIONS(2789), + [anon_sym_inline] = ACTIONS(2789), + [anon_sym___inline] = ACTIONS(2789), + [anon_sym___inline__] = ACTIONS(2789), + [anon_sym___forceinline] = ACTIONS(2789), + [anon_sym_thread_local] = ACTIONS(2789), + [anon_sym___thread] = ACTIONS(2789), + [anon_sym_const] = ACTIONS(2789), + [anon_sym_constexpr] = ACTIONS(2789), + [anon_sym_volatile] = ACTIONS(2789), + [anon_sym_restrict] = ACTIONS(2789), + [anon_sym___restrict__] = ACTIONS(2789), + [anon_sym__Atomic] = ACTIONS(2789), + [anon_sym__Noreturn] = ACTIONS(2789), + [anon_sym_noreturn] = ACTIONS(2789), + [anon_sym_mutable] = ACTIONS(2789), + [anon_sym_constinit] = ACTIONS(2789), + [anon_sym_consteval] = ACTIONS(2789), + [anon_sym_alignas] = ACTIONS(2789), + [anon_sym__Alignas] = ACTIONS(2789), + [sym_primitive_type] = ACTIONS(2789), + [anon_sym_enum] = ACTIONS(2789), + [anon_sym_class] = ACTIONS(2789), + [anon_sym_struct] = ACTIONS(2789), + [anon_sym_union] = ACTIONS(2789), + [anon_sym_if] = ACTIONS(2789), + [anon_sym_else] = ACTIONS(2789), + [anon_sym_switch] = ACTIONS(2789), + [anon_sym_case] = ACTIONS(2789), + [anon_sym_default] = ACTIONS(2789), + [anon_sym_while] = ACTIONS(2789), + [anon_sym_do] = ACTIONS(2789), + [anon_sym_for] = ACTIONS(2789), + [anon_sym_return] = ACTIONS(2789), + [anon_sym_break] = ACTIONS(2789), + [anon_sym_continue] = ACTIONS(2789), + [anon_sym_goto] = ACTIONS(2789), + [anon_sym___try] = ACTIONS(2789), + [anon_sym___leave] = ACTIONS(2789), + [anon_sym_not] = ACTIONS(2789), + [anon_sym_compl] = ACTIONS(2789), + [anon_sym_DASH_DASH] = ACTIONS(2791), + [anon_sym_PLUS_PLUS] = ACTIONS(2791), + [anon_sym_sizeof] = ACTIONS(2789), + [anon_sym___alignof__] = ACTIONS(2789), + [anon_sym___alignof] = ACTIONS(2789), + [anon_sym__alignof] = ACTIONS(2789), + [anon_sym_alignof] = ACTIONS(2789), + [anon_sym__Alignof] = ACTIONS(2789), + [anon_sym_offsetof] = ACTIONS(2789), + [anon_sym__Generic] = ACTIONS(2789), + [anon_sym_asm] = ACTIONS(2789), + [anon_sym___asm__] = ACTIONS(2789), + [sym__number_literal] = ACTIONS(2791), + [anon_sym_L_SQUOTE] = ACTIONS(2791), + [anon_sym_u_SQUOTE] = ACTIONS(2791), + [anon_sym_U_SQUOTE] = ACTIONS(2791), + [anon_sym_u8_SQUOTE] = ACTIONS(2791), + [anon_sym_SQUOTE] = ACTIONS(2791), + [anon_sym_L_DQUOTE] = ACTIONS(2791), + [anon_sym_u_DQUOTE] = ACTIONS(2791), + [anon_sym_U_DQUOTE] = ACTIONS(2791), + [anon_sym_u8_DQUOTE] = ACTIONS(2791), + [anon_sym_DQUOTE] = ACTIONS(2791), + [sym_true] = ACTIONS(2789), + [sym_false] = ACTIONS(2789), + [anon_sym_NULL] = ACTIONS(2789), + [anon_sym_nullptr] = ACTIONS(2789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2791), + [sym_auto] = ACTIONS(2789), + [anon_sym_decltype] = ACTIONS(2789), + [sym_virtual] = ACTIONS(2789), + [anon_sym_explicit] = ACTIONS(2789), + [anon_sym_typename] = ACTIONS(2789), + [anon_sym_template] = ACTIONS(2789), + [anon_sym_operator] = ACTIONS(2789), + [anon_sym_try] = ACTIONS(2789), + [anon_sym_delete] = ACTIONS(2789), + [anon_sym_throw] = ACTIONS(2789), + [anon_sym_namespace] = ACTIONS(2789), + [anon_sym_using] = ACTIONS(2789), + [anon_sym_static_assert] = ACTIONS(2789), + [anon_sym_concept] = ACTIONS(2789), + [anon_sym_co_return] = ACTIONS(2789), + [anon_sym_co_yield] = ACTIONS(2789), + [anon_sym_R_DQUOTE] = ACTIONS(2791), + [anon_sym_LR_DQUOTE] = ACTIONS(2791), + [anon_sym_uR_DQUOTE] = ACTIONS(2791), + [anon_sym_UR_DQUOTE] = ACTIONS(2791), + [anon_sym_u8R_DQUOTE] = ACTIONS(2791), + [anon_sym_co_await] = ACTIONS(2789), + [anon_sym_new] = ACTIONS(2789), + [anon_sym_requires] = ACTIONS(2789), + [sym_this] = ACTIONS(2789), + }, + [508] = { + [ts_builtin_sym_end] = ACTIONS(2815), + [sym__identifier] = ACTIONS(2813), + [aux_sym_preproc_include_token1] = ACTIONS(2813), + [aux_sym_preproc_def_token1] = ACTIONS(2813), + [aux_sym_preproc_if_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2813), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2813), + [sym_preproc_directive] = ACTIONS(2813), + [anon_sym_LPAREN2] = ACTIONS(2815), + [anon_sym_BANG] = ACTIONS(2815), + [anon_sym_TILDE] = ACTIONS(2815), + [anon_sym_DASH] = ACTIONS(2813), + [anon_sym_PLUS] = ACTIONS(2813), + [anon_sym_STAR] = ACTIONS(2815), + [anon_sym_AMP_AMP] = ACTIONS(2815), + [anon_sym_AMP] = ACTIONS(2813), + [anon_sym_SEMI] = ACTIONS(2815), + [anon_sym___extension__] = ACTIONS(2813), + [anon_sym_typedef] = ACTIONS(2813), + [anon_sym_extern] = ACTIONS(2813), + [anon_sym___attribute__] = ACTIONS(2813), + [anon_sym_COLON_COLON] = ACTIONS(2815), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2815), + [anon_sym___declspec] = ACTIONS(2813), + [anon_sym___based] = ACTIONS(2813), + [anon_sym___cdecl] = ACTIONS(2813), + [anon_sym___clrcall] = ACTIONS(2813), + [anon_sym___stdcall] = ACTIONS(2813), + [anon_sym___fastcall] = ACTIONS(2813), + [anon_sym___thiscall] = ACTIONS(2813), + [anon_sym___vectorcall] = ACTIONS(2813), + [anon_sym_LBRACE] = ACTIONS(2815), + [anon_sym_signed] = ACTIONS(2813), + [anon_sym_unsigned] = ACTIONS(2813), + [anon_sym_long] = ACTIONS(2813), + [anon_sym_short] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(2813), + [anon_sym_static] = ACTIONS(2813), + [anon_sym_register] = ACTIONS(2813), + [anon_sym_inline] = ACTIONS(2813), + [anon_sym___inline] = ACTIONS(2813), + [anon_sym___inline__] = ACTIONS(2813), + [anon_sym___forceinline] = ACTIONS(2813), + [anon_sym_thread_local] = ACTIONS(2813), + [anon_sym___thread] = ACTIONS(2813), + [anon_sym_const] = ACTIONS(2813), + [anon_sym_constexpr] = ACTIONS(2813), + [anon_sym_volatile] = ACTIONS(2813), + [anon_sym_restrict] = ACTIONS(2813), + [anon_sym___restrict__] = ACTIONS(2813), + [anon_sym__Atomic] = ACTIONS(2813), + [anon_sym__Noreturn] = ACTIONS(2813), + [anon_sym_noreturn] = ACTIONS(2813), + [anon_sym_mutable] = ACTIONS(2813), + [anon_sym_constinit] = ACTIONS(2813), + [anon_sym_consteval] = ACTIONS(2813), + [anon_sym_alignas] = ACTIONS(2813), + [anon_sym__Alignas] = ACTIONS(2813), + [sym_primitive_type] = ACTIONS(2813), + [anon_sym_enum] = ACTIONS(2813), + [anon_sym_class] = ACTIONS(2813), + [anon_sym_struct] = ACTIONS(2813), + [anon_sym_union] = ACTIONS(2813), + [anon_sym_if] = ACTIONS(2813), + [anon_sym_else] = ACTIONS(2813), + [anon_sym_switch] = ACTIONS(2813), + [anon_sym_case] = ACTIONS(2813), + [anon_sym_default] = ACTIONS(2813), + [anon_sym_while] = ACTIONS(2813), + [anon_sym_do] = ACTIONS(2813), + [anon_sym_for] = ACTIONS(2813), + [anon_sym_return] = ACTIONS(2813), + [anon_sym_break] = ACTIONS(2813), + [anon_sym_continue] = ACTIONS(2813), + [anon_sym_goto] = ACTIONS(2813), + [anon_sym___try] = ACTIONS(2813), + [anon_sym___leave] = ACTIONS(2813), + [anon_sym_not] = ACTIONS(2813), + [anon_sym_compl] = ACTIONS(2813), + [anon_sym_DASH_DASH] = ACTIONS(2815), + [anon_sym_PLUS_PLUS] = ACTIONS(2815), + [anon_sym_sizeof] = ACTIONS(2813), + [anon_sym___alignof__] = ACTIONS(2813), + [anon_sym___alignof] = ACTIONS(2813), + [anon_sym__alignof] = ACTIONS(2813), + [anon_sym_alignof] = ACTIONS(2813), + [anon_sym__Alignof] = ACTIONS(2813), + [anon_sym_offsetof] = ACTIONS(2813), + [anon_sym__Generic] = ACTIONS(2813), + [anon_sym_asm] = ACTIONS(2813), + [anon_sym___asm__] = ACTIONS(2813), + [sym__number_literal] = ACTIONS(2815), + [anon_sym_L_SQUOTE] = ACTIONS(2815), + [anon_sym_u_SQUOTE] = ACTIONS(2815), + [anon_sym_U_SQUOTE] = ACTIONS(2815), + [anon_sym_u8_SQUOTE] = ACTIONS(2815), + [anon_sym_SQUOTE] = ACTIONS(2815), + [anon_sym_L_DQUOTE] = ACTIONS(2815), + [anon_sym_u_DQUOTE] = ACTIONS(2815), + [anon_sym_U_DQUOTE] = ACTIONS(2815), + [anon_sym_u8_DQUOTE] = ACTIONS(2815), + [anon_sym_DQUOTE] = ACTIONS(2815), + [sym_true] = ACTIONS(2813), + [sym_false] = ACTIONS(2813), + [anon_sym_NULL] = ACTIONS(2813), + [anon_sym_nullptr] = ACTIONS(2813), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2815), + [sym_auto] = ACTIONS(2813), + [anon_sym_decltype] = ACTIONS(2813), + [sym_virtual] = ACTIONS(2813), + [anon_sym_explicit] = ACTIONS(2813), + [anon_sym_typename] = ACTIONS(2813), + [anon_sym_template] = ACTIONS(2813), + [anon_sym_operator] = ACTIONS(2813), + [anon_sym_try] = ACTIONS(2813), + [anon_sym_delete] = ACTIONS(2813), + [anon_sym_throw] = ACTIONS(2813), + [anon_sym_namespace] = ACTIONS(2813), + [anon_sym_using] = ACTIONS(2813), + [anon_sym_static_assert] = ACTIONS(2813), + [anon_sym_concept] = ACTIONS(2813), + [anon_sym_co_return] = ACTIONS(2813), + [anon_sym_co_yield] = ACTIONS(2813), + [anon_sym_R_DQUOTE] = ACTIONS(2815), + [anon_sym_LR_DQUOTE] = ACTIONS(2815), + [anon_sym_uR_DQUOTE] = ACTIONS(2815), + [anon_sym_UR_DQUOTE] = ACTIONS(2815), + [anon_sym_u8R_DQUOTE] = ACTIONS(2815), + [anon_sym_co_await] = ACTIONS(2813), + [anon_sym_new] = ACTIONS(2813), + [anon_sym_requires] = ACTIONS(2813), + [sym_this] = ACTIONS(2813), + }, + [509] = { + [ts_builtin_sym_end] = ACTIONS(2705), + [sym__identifier] = ACTIONS(2703), + [aux_sym_preproc_include_token1] = ACTIONS(2703), + [aux_sym_preproc_def_token1] = ACTIONS(2703), + [aux_sym_preproc_if_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2703), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2703), + [sym_preproc_directive] = ACTIONS(2703), + [anon_sym_LPAREN2] = ACTIONS(2705), + [anon_sym_BANG] = ACTIONS(2705), + [anon_sym_TILDE] = ACTIONS(2705), + [anon_sym_DASH] = ACTIONS(2703), + [anon_sym_PLUS] = ACTIONS(2703), + [anon_sym_STAR] = ACTIONS(2705), + [anon_sym_AMP_AMP] = ACTIONS(2705), + [anon_sym_AMP] = ACTIONS(2703), + [anon_sym_SEMI] = ACTIONS(2705), + [anon_sym___extension__] = ACTIONS(2703), + [anon_sym_typedef] = ACTIONS(2703), + [anon_sym_extern] = ACTIONS(2703), + [anon_sym___attribute__] = ACTIONS(2703), + [anon_sym_COLON_COLON] = ACTIONS(2705), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2705), + [anon_sym___declspec] = ACTIONS(2703), + [anon_sym___based] = ACTIONS(2703), + [anon_sym___cdecl] = ACTIONS(2703), + [anon_sym___clrcall] = ACTIONS(2703), + [anon_sym___stdcall] = ACTIONS(2703), + [anon_sym___fastcall] = ACTIONS(2703), + [anon_sym___thiscall] = ACTIONS(2703), + [anon_sym___vectorcall] = ACTIONS(2703), + [anon_sym_LBRACE] = ACTIONS(2705), + [anon_sym_signed] = ACTIONS(2703), + [anon_sym_unsigned] = ACTIONS(2703), + [anon_sym_long] = ACTIONS(2703), + [anon_sym_short] = ACTIONS(2703), + [anon_sym_LBRACK] = ACTIONS(2703), + [anon_sym_static] = ACTIONS(2703), + [anon_sym_register] = ACTIONS(2703), + [anon_sym_inline] = ACTIONS(2703), + [anon_sym___inline] = ACTIONS(2703), + [anon_sym___inline__] = ACTIONS(2703), + [anon_sym___forceinline] = ACTIONS(2703), + [anon_sym_thread_local] = ACTIONS(2703), + [anon_sym___thread] = ACTIONS(2703), + [anon_sym_const] = ACTIONS(2703), + [anon_sym_constexpr] = ACTIONS(2703), + [anon_sym_volatile] = ACTIONS(2703), + [anon_sym_restrict] = ACTIONS(2703), + [anon_sym___restrict__] = ACTIONS(2703), + [anon_sym__Atomic] = ACTIONS(2703), + [anon_sym__Noreturn] = ACTIONS(2703), + [anon_sym_noreturn] = ACTIONS(2703), + [anon_sym_mutable] = ACTIONS(2703), + [anon_sym_constinit] = ACTIONS(2703), + [anon_sym_consteval] = ACTIONS(2703), + [anon_sym_alignas] = ACTIONS(2703), + [anon_sym__Alignas] = ACTIONS(2703), + [sym_primitive_type] = ACTIONS(2703), + [anon_sym_enum] = ACTIONS(2703), + [anon_sym_class] = ACTIONS(2703), + [anon_sym_struct] = ACTIONS(2703), + [anon_sym_union] = ACTIONS(2703), + [anon_sym_if] = ACTIONS(2703), + [anon_sym_else] = ACTIONS(2703), + [anon_sym_switch] = ACTIONS(2703), + [anon_sym_case] = ACTIONS(2703), + [anon_sym_default] = ACTIONS(2703), + [anon_sym_while] = ACTIONS(2703), + [anon_sym_do] = ACTIONS(2703), + [anon_sym_for] = ACTIONS(2703), + [anon_sym_return] = ACTIONS(2703), + [anon_sym_break] = ACTIONS(2703), + [anon_sym_continue] = ACTIONS(2703), + [anon_sym_goto] = ACTIONS(2703), + [anon_sym___try] = ACTIONS(2703), + [anon_sym___leave] = ACTIONS(2703), + [anon_sym_not] = ACTIONS(2703), + [anon_sym_compl] = ACTIONS(2703), + [anon_sym_DASH_DASH] = ACTIONS(2705), + [anon_sym_PLUS_PLUS] = ACTIONS(2705), + [anon_sym_sizeof] = ACTIONS(2703), + [anon_sym___alignof__] = ACTIONS(2703), + [anon_sym___alignof] = ACTIONS(2703), + [anon_sym__alignof] = ACTIONS(2703), + [anon_sym_alignof] = ACTIONS(2703), + [anon_sym__Alignof] = ACTIONS(2703), + [anon_sym_offsetof] = ACTIONS(2703), + [anon_sym__Generic] = ACTIONS(2703), + [anon_sym_asm] = ACTIONS(2703), + [anon_sym___asm__] = ACTIONS(2703), + [sym__number_literal] = ACTIONS(2705), + [anon_sym_L_SQUOTE] = ACTIONS(2705), + [anon_sym_u_SQUOTE] = ACTIONS(2705), + [anon_sym_U_SQUOTE] = ACTIONS(2705), + [anon_sym_u8_SQUOTE] = ACTIONS(2705), + [anon_sym_SQUOTE] = ACTIONS(2705), + [anon_sym_L_DQUOTE] = ACTIONS(2705), + [anon_sym_u_DQUOTE] = ACTIONS(2705), + [anon_sym_U_DQUOTE] = ACTIONS(2705), + [anon_sym_u8_DQUOTE] = ACTIONS(2705), + [anon_sym_DQUOTE] = ACTIONS(2705), + [sym_true] = ACTIONS(2703), + [sym_false] = ACTIONS(2703), + [anon_sym_NULL] = ACTIONS(2703), + [anon_sym_nullptr] = ACTIONS(2703), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2705), + [sym_auto] = ACTIONS(2703), + [anon_sym_decltype] = ACTIONS(2703), + [sym_virtual] = ACTIONS(2703), + [anon_sym_explicit] = ACTIONS(2703), + [anon_sym_typename] = ACTIONS(2703), + [anon_sym_template] = ACTIONS(2703), + [anon_sym_operator] = ACTIONS(2703), + [anon_sym_try] = ACTIONS(2703), + [anon_sym_delete] = ACTIONS(2703), + [anon_sym_throw] = ACTIONS(2703), + [anon_sym_namespace] = ACTIONS(2703), + [anon_sym_using] = ACTIONS(2703), + [anon_sym_static_assert] = ACTIONS(2703), + [anon_sym_concept] = ACTIONS(2703), + [anon_sym_co_return] = ACTIONS(2703), + [anon_sym_co_yield] = ACTIONS(2703), + [anon_sym_R_DQUOTE] = ACTIONS(2705), + [anon_sym_LR_DQUOTE] = ACTIONS(2705), + [anon_sym_uR_DQUOTE] = ACTIONS(2705), + [anon_sym_UR_DQUOTE] = ACTIONS(2705), + [anon_sym_u8R_DQUOTE] = ACTIONS(2705), + [anon_sym_co_await] = ACTIONS(2703), + [anon_sym_new] = ACTIONS(2703), + [anon_sym_requires] = ACTIONS(2703), + [sym_this] = ACTIONS(2703), + }, + [510] = { + [sym__identifier] = ACTIONS(2817), + [aux_sym_preproc_include_token1] = ACTIONS(2817), + [aux_sym_preproc_def_token1] = ACTIONS(2817), + [aux_sym_preproc_if_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2817), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2817), + [sym_preproc_directive] = ACTIONS(2817), + [anon_sym_LPAREN2] = ACTIONS(2819), + [anon_sym_BANG] = ACTIONS(2819), + [anon_sym_TILDE] = ACTIONS(2819), + [anon_sym_DASH] = ACTIONS(2817), + [anon_sym_PLUS] = ACTIONS(2817), + [anon_sym_STAR] = ACTIONS(2819), + [anon_sym_AMP_AMP] = ACTIONS(2819), + [anon_sym_AMP] = ACTIONS(2817), + [anon_sym_SEMI] = ACTIONS(2819), + [anon_sym___extension__] = ACTIONS(2817), + [anon_sym_typedef] = ACTIONS(2817), + [anon_sym_extern] = ACTIONS(2817), + [anon_sym___attribute__] = ACTIONS(2817), + [anon_sym_COLON_COLON] = ACTIONS(2819), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2819), + [anon_sym___declspec] = ACTIONS(2817), + [anon_sym___based] = ACTIONS(2817), + [anon_sym___cdecl] = ACTIONS(2817), + [anon_sym___clrcall] = ACTIONS(2817), + [anon_sym___stdcall] = ACTIONS(2817), + [anon_sym___fastcall] = ACTIONS(2817), + [anon_sym___thiscall] = ACTIONS(2817), + [anon_sym___vectorcall] = ACTIONS(2817), + [anon_sym_LBRACE] = ACTIONS(2819), + [anon_sym_RBRACE] = ACTIONS(2819), + [anon_sym_signed] = ACTIONS(2817), + [anon_sym_unsigned] = ACTIONS(2817), + [anon_sym_long] = ACTIONS(2817), + [anon_sym_short] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(2817), + [anon_sym_static] = ACTIONS(2817), + [anon_sym_register] = ACTIONS(2817), + [anon_sym_inline] = ACTIONS(2817), + [anon_sym___inline] = ACTIONS(2817), + [anon_sym___inline__] = ACTIONS(2817), + [anon_sym___forceinline] = ACTIONS(2817), + [anon_sym_thread_local] = ACTIONS(2817), + [anon_sym___thread] = ACTIONS(2817), + [anon_sym_const] = ACTIONS(2817), + [anon_sym_constexpr] = ACTIONS(2817), + [anon_sym_volatile] = ACTIONS(2817), + [anon_sym_restrict] = ACTIONS(2817), + [anon_sym___restrict__] = ACTIONS(2817), + [anon_sym__Atomic] = ACTIONS(2817), + [anon_sym__Noreturn] = ACTIONS(2817), + [anon_sym_noreturn] = ACTIONS(2817), + [anon_sym_mutable] = ACTIONS(2817), + [anon_sym_constinit] = ACTIONS(2817), + [anon_sym_consteval] = ACTIONS(2817), + [anon_sym_alignas] = ACTIONS(2817), + [anon_sym__Alignas] = ACTIONS(2817), + [sym_primitive_type] = ACTIONS(2817), + [anon_sym_enum] = ACTIONS(2817), + [anon_sym_class] = ACTIONS(2817), + [anon_sym_struct] = ACTIONS(2817), + [anon_sym_union] = ACTIONS(2817), + [anon_sym_if] = ACTIONS(2817), + [anon_sym_else] = ACTIONS(2817), + [anon_sym_switch] = ACTIONS(2817), + [anon_sym_case] = ACTIONS(2817), + [anon_sym_default] = ACTIONS(2817), + [anon_sym_while] = ACTIONS(2817), + [anon_sym_do] = ACTIONS(2817), + [anon_sym_for] = ACTIONS(2817), + [anon_sym_return] = ACTIONS(2817), + [anon_sym_break] = ACTIONS(2817), + [anon_sym_continue] = ACTIONS(2817), + [anon_sym_goto] = ACTIONS(2817), + [anon_sym___try] = ACTIONS(2817), + [anon_sym___leave] = ACTIONS(2817), + [anon_sym_not] = ACTIONS(2817), + [anon_sym_compl] = ACTIONS(2817), + [anon_sym_DASH_DASH] = ACTIONS(2819), + [anon_sym_PLUS_PLUS] = ACTIONS(2819), + [anon_sym_sizeof] = ACTIONS(2817), + [anon_sym___alignof__] = ACTIONS(2817), + [anon_sym___alignof] = ACTIONS(2817), + [anon_sym__alignof] = ACTIONS(2817), + [anon_sym_alignof] = ACTIONS(2817), + [anon_sym__Alignof] = ACTIONS(2817), + [anon_sym_offsetof] = ACTIONS(2817), + [anon_sym__Generic] = ACTIONS(2817), + [anon_sym_asm] = ACTIONS(2817), + [anon_sym___asm__] = ACTIONS(2817), + [sym__number_literal] = ACTIONS(2819), + [anon_sym_L_SQUOTE] = ACTIONS(2819), + [anon_sym_u_SQUOTE] = ACTIONS(2819), + [anon_sym_U_SQUOTE] = ACTIONS(2819), + [anon_sym_u8_SQUOTE] = ACTIONS(2819), + [anon_sym_SQUOTE] = ACTIONS(2819), + [anon_sym_L_DQUOTE] = ACTIONS(2819), + [anon_sym_u_DQUOTE] = ACTIONS(2819), + [anon_sym_U_DQUOTE] = ACTIONS(2819), + [anon_sym_u8_DQUOTE] = ACTIONS(2819), + [anon_sym_DQUOTE] = ACTIONS(2819), + [sym_true] = ACTIONS(2817), + [sym_false] = ACTIONS(2817), + [anon_sym_NULL] = ACTIONS(2817), + [anon_sym_nullptr] = ACTIONS(2817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2819), + [sym_auto] = ACTIONS(2817), + [anon_sym_decltype] = ACTIONS(2817), + [sym_virtual] = ACTIONS(2817), + [anon_sym_explicit] = ACTIONS(2817), + [anon_sym_typename] = ACTIONS(2817), + [anon_sym_template] = ACTIONS(2817), + [anon_sym_operator] = ACTIONS(2817), + [anon_sym_try] = ACTIONS(2817), + [anon_sym_delete] = ACTIONS(2817), + [anon_sym_throw] = ACTIONS(2817), + [anon_sym_namespace] = ACTIONS(2817), + [anon_sym_using] = ACTIONS(2817), + [anon_sym_static_assert] = ACTIONS(2817), + [anon_sym_concept] = ACTIONS(2817), + [anon_sym_co_return] = ACTIONS(2817), + [anon_sym_co_yield] = ACTIONS(2817), + [anon_sym_R_DQUOTE] = ACTIONS(2819), + [anon_sym_LR_DQUOTE] = ACTIONS(2819), + [anon_sym_uR_DQUOTE] = ACTIONS(2819), + [anon_sym_UR_DQUOTE] = ACTIONS(2819), + [anon_sym_u8R_DQUOTE] = ACTIONS(2819), + [anon_sym_co_await] = ACTIONS(2817), + [anon_sym_new] = ACTIONS(2817), + [anon_sym_requires] = ACTIONS(2817), + [sym_this] = ACTIONS(2817), + }, + [511] = { + [sym__identifier] = ACTIONS(2707), + [aux_sym_preproc_include_token1] = ACTIONS(2707), + [aux_sym_preproc_def_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2707), + [sym_preproc_directive] = ACTIONS(2707), + [anon_sym_LPAREN2] = ACTIONS(2709), + [anon_sym_BANG] = ACTIONS(2709), + [anon_sym_TILDE] = ACTIONS(2709), + [anon_sym_DASH] = ACTIONS(2707), + [anon_sym_PLUS] = ACTIONS(2707), + [anon_sym_STAR] = ACTIONS(2709), + [anon_sym_AMP_AMP] = ACTIONS(2709), + [anon_sym_AMP] = ACTIONS(2707), + [anon_sym_SEMI] = ACTIONS(2709), + [anon_sym___extension__] = ACTIONS(2707), + [anon_sym_typedef] = ACTIONS(2707), + [anon_sym_extern] = ACTIONS(2707), + [anon_sym___attribute__] = ACTIONS(2707), + [anon_sym_COLON_COLON] = ACTIONS(2709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2709), + [anon_sym___declspec] = ACTIONS(2707), + [anon_sym___based] = ACTIONS(2707), + [anon_sym___cdecl] = ACTIONS(2707), + [anon_sym___clrcall] = ACTIONS(2707), + [anon_sym___stdcall] = ACTIONS(2707), + [anon_sym___fastcall] = ACTIONS(2707), + [anon_sym___thiscall] = ACTIONS(2707), + [anon_sym___vectorcall] = ACTIONS(2707), + [anon_sym_LBRACE] = ACTIONS(2709), + [anon_sym_RBRACE] = ACTIONS(2709), + [anon_sym_signed] = ACTIONS(2707), + [anon_sym_unsigned] = ACTIONS(2707), + [anon_sym_long] = ACTIONS(2707), + [anon_sym_short] = ACTIONS(2707), + [anon_sym_LBRACK] = ACTIONS(2707), + [anon_sym_static] = ACTIONS(2707), + [anon_sym_register] = ACTIONS(2707), + [anon_sym_inline] = ACTIONS(2707), + [anon_sym___inline] = ACTIONS(2707), + [anon_sym___inline__] = ACTIONS(2707), + [anon_sym___forceinline] = ACTIONS(2707), + [anon_sym_thread_local] = ACTIONS(2707), + [anon_sym___thread] = ACTIONS(2707), + [anon_sym_const] = ACTIONS(2707), + [anon_sym_constexpr] = ACTIONS(2707), + [anon_sym_volatile] = ACTIONS(2707), + [anon_sym_restrict] = ACTIONS(2707), + [anon_sym___restrict__] = ACTIONS(2707), + [anon_sym__Atomic] = ACTIONS(2707), + [anon_sym__Noreturn] = ACTIONS(2707), + [anon_sym_noreturn] = ACTIONS(2707), + [anon_sym_mutable] = ACTIONS(2707), + [anon_sym_constinit] = ACTIONS(2707), + [anon_sym_consteval] = ACTIONS(2707), + [anon_sym_alignas] = ACTIONS(2707), + [anon_sym__Alignas] = ACTIONS(2707), + [sym_primitive_type] = ACTIONS(2707), + [anon_sym_enum] = ACTIONS(2707), + [anon_sym_class] = ACTIONS(2707), + [anon_sym_struct] = ACTIONS(2707), + [anon_sym_union] = ACTIONS(2707), + [anon_sym_if] = ACTIONS(2707), + [anon_sym_else] = ACTIONS(2707), + [anon_sym_switch] = ACTIONS(2707), + [anon_sym_case] = ACTIONS(2707), + [anon_sym_default] = ACTIONS(2707), + [anon_sym_while] = ACTIONS(2707), + [anon_sym_do] = ACTIONS(2707), + [anon_sym_for] = ACTIONS(2707), + [anon_sym_return] = ACTIONS(2707), + [anon_sym_break] = ACTIONS(2707), + [anon_sym_continue] = ACTIONS(2707), + [anon_sym_goto] = ACTIONS(2707), + [anon_sym___try] = ACTIONS(2707), + [anon_sym___leave] = ACTIONS(2707), + [anon_sym_not] = ACTIONS(2707), + [anon_sym_compl] = ACTIONS(2707), + [anon_sym_DASH_DASH] = ACTIONS(2709), + [anon_sym_PLUS_PLUS] = ACTIONS(2709), + [anon_sym_sizeof] = ACTIONS(2707), + [anon_sym___alignof__] = ACTIONS(2707), + [anon_sym___alignof] = ACTIONS(2707), + [anon_sym__alignof] = ACTIONS(2707), + [anon_sym_alignof] = ACTIONS(2707), + [anon_sym__Alignof] = ACTIONS(2707), + [anon_sym_offsetof] = ACTIONS(2707), + [anon_sym__Generic] = ACTIONS(2707), + [anon_sym_asm] = ACTIONS(2707), + [anon_sym___asm__] = ACTIONS(2707), + [sym__number_literal] = ACTIONS(2709), + [anon_sym_L_SQUOTE] = ACTIONS(2709), + [anon_sym_u_SQUOTE] = ACTIONS(2709), + [anon_sym_U_SQUOTE] = ACTIONS(2709), + [anon_sym_u8_SQUOTE] = ACTIONS(2709), + [anon_sym_SQUOTE] = ACTIONS(2709), + [anon_sym_L_DQUOTE] = ACTIONS(2709), + [anon_sym_u_DQUOTE] = ACTIONS(2709), + [anon_sym_U_DQUOTE] = ACTIONS(2709), + [anon_sym_u8_DQUOTE] = ACTIONS(2709), + [anon_sym_DQUOTE] = ACTIONS(2709), + [sym_true] = ACTIONS(2707), + [sym_false] = ACTIONS(2707), + [anon_sym_NULL] = ACTIONS(2707), + [anon_sym_nullptr] = ACTIONS(2707), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2709), + [sym_auto] = ACTIONS(2707), + [anon_sym_decltype] = ACTIONS(2707), + [sym_virtual] = ACTIONS(2707), + [anon_sym_explicit] = ACTIONS(2707), + [anon_sym_typename] = ACTIONS(2707), + [anon_sym_template] = ACTIONS(2707), + [anon_sym_operator] = ACTIONS(2707), + [anon_sym_try] = ACTIONS(2707), + [anon_sym_delete] = ACTIONS(2707), + [anon_sym_throw] = ACTIONS(2707), + [anon_sym_namespace] = ACTIONS(2707), + [anon_sym_using] = ACTIONS(2707), + [anon_sym_static_assert] = ACTIONS(2707), + [anon_sym_concept] = ACTIONS(2707), + [anon_sym_co_return] = ACTIONS(2707), + [anon_sym_co_yield] = ACTIONS(2707), + [anon_sym_R_DQUOTE] = ACTIONS(2709), + [anon_sym_LR_DQUOTE] = ACTIONS(2709), + [anon_sym_uR_DQUOTE] = ACTIONS(2709), + [anon_sym_UR_DQUOTE] = ACTIONS(2709), + [anon_sym_u8R_DQUOTE] = ACTIONS(2709), + [anon_sym_co_await] = ACTIONS(2707), + [anon_sym_new] = ACTIONS(2707), + [anon_sym_requires] = ACTIONS(2707), + [sym_this] = ACTIONS(2707), + }, + [512] = { + [ts_builtin_sym_end] = ACTIONS(2765), + [sym__identifier] = ACTIONS(2763), + [aux_sym_preproc_include_token1] = ACTIONS(2763), + [aux_sym_preproc_def_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2763), + [sym_preproc_directive] = ACTIONS(2763), + [anon_sym_LPAREN2] = ACTIONS(2765), + [anon_sym_BANG] = ACTIONS(2765), + [anon_sym_TILDE] = ACTIONS(2765), + [anon_sym_DASH] = ACTIONS(2763), + [anon_sym_PLUS] = ACTIONS(2763), + [anon_sym_STAR] = ACTIONS(2765), + [anon_sym_AMP_AMP] = ACTIONS(2765), + [anon_sym_AMP] = ACTIONS(2763), + [anon_sym_SEMI] = ACTIONS(2765), + [anon_sym___extension__] = ACTIONS(2763), + [anon_sym_typedef] = ACTIONS(2763), + [anon_sym_extern] = ACTIONS(2763), + [anon_sym___attribute__] = ACTIONS(2763), + [anon_sym_COLON_COLON] = ACTIONS(2765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2765), + [anon_sym___declspec] = ACTIONS(2763), + [anon_sym___based] = ACTIONS(2763), + [anon_sym___cdecl] = ACTIONS(2763), + [anon_sym___clrcall] = ACTIONS(2763), + [anon_sym___stdcall] = ACTIONS(2763), + [anon_sym___fastcall] = ACTIONS(2763), + [anon_sym___thiscall] = ACTIONS(2763), + [anon_sym___vectorcall] = ACTIONS(2763), + [anon_sym_LBRACE] = ACTIONS(2765), + [anon_sym_signed] = ACTIONS(2763), + [anon_sym_unsigned] = ACTIONS(2763), + [anon_sym_long] = ACTIONS(2763), + [anon_sym_short] = ACTIONS(2763), + [anon_sym_LBRACK] = ACTIONS(2763), + [anon_sym_static] = ACTIONS(2763), + [anon_sym_register] = ACTIONS(2763), + [anon_sym_inline] = ACTIONS(2763), + [anon_sym___inline] = ACTIONS(2763), + [anon_sym___inline__] = ACTIONS(2763), + [anon_sym___forceinline] = ACTIONS(2763), + [anon_sym_thread_local] = ACTIONS(2763), + [anon_sym___thread] = ACTIONS(2763), + [anon_sym_const] = ACTIONS(2763), + [anon_sym_constexpr] = ACTIONS(2763), + [anon_sym_volatile] = ACTIONS(2763), + [anon_sym_restrict] = ACTIONS(2763), + [anon_sym___restrict__] = ACTIONS(2763), + [anon_sym__Atomic] = ACTIONS(2763), + [anon_sym__Noreturn] = ACTIONS(2763), + [anon_sym_noreturn] = ACTIONS(2763), + [anon_sym_mutable] = ACTIONS(2763), + [anon_sym_constinit] = ACTIONS(2763), + [anon_sym_consteval] = ACTIONS(2763), + [anon_sym_alignas] = ACTIONS(2763), + [anon_sym__Alignas] = ACTIONS(2763), + [sym_primitive_type] = ACTIONS(2763), + [anon_sym_enum] = ACTIONS(2763), + [anon_sym_class] = ACTIONS(2763), + [anon_sym_struct] = ACTIONS(2763), + [anon_sym_union] = ACTIONS(2763), + [anon_sym_if] = ACTIONS(2763), + [anon_sym_else] = ACTIONS(2763), + [anon_sym_switch] = ACTIONS(2763), + [anon_sym_case] = ACTIONS(2763), + [anon_sym_default] = ACTIONS(2763), + [anon_sym_while] = ACTIONS(2763), + [anon_sym_do] = ACTIONS(2763), + [anon_sym_for] = ACTIONS(2763), + [anon_sym_return] = ACTIONS(2763), + [anon_sym_break] = ACTIONS(2763), + [anon_sym_continue] = ACTIONS(2763), + [anon_sym_goto] = ACTIONS(2763), + [anon_sym___try] = ACTIONS(2763), + [anon_sym___leave] = ACTIONS(2763), + [anon_sym_not] = ACTIONS(2763), + [anon_sym_compl] = ACTIONS(2763), + [anon_sym_DASH_DASH] = ACTIONS(2765), + [anon_sym_PLUS_PLUS] = ACTIONS(2765), + [anon_sym_sizeof] = ACTIONS(2763), + [anon_sym___alignof__] = ACTIONS(2763), + [anon_sym___alignof] = ACTIONS(2763), + [anon_sym__alignof] = ACTIONS(2763), + [anon_sym_alignof] = ACTIONS(2763), + [anon_sym__Alignof] = ACTIONS(2763), + [anon_sym_offsetof] = ACTIONS(2763), + [anon_sym__Generic] = ACTIONS(2763), + [anon_sym_asm] = ACTIONS(2763), + [anon_sym___asm__] = ACTIONS(2763), + [sym__number_literal] = ACTIONS(2765), + [anon_sym_L_SQUOTE] = ACTIONS(2765), + [anon_sym_u_SQUOTE] = ACTIONS(2765), + [anon_sym_U_SQUOTE] = ACTIONS(2765), + [anon_sym_u8_SQUOTE] = ACTIONS(2765), + [anon_sym_SQUOTE] = ACTIONS(2765), + [anon_sym_L_DQUOTE] = ACTIONS(2765), + [anon_sym_u_DQUOTE] = ACTIONS(2765), + [anon_sym_U_DQUOTE] = ACTIONS(2765), + [anon_sym_u8_DQUOTE] = ACTIONS(2765), + [anon_sym_DQUOTE] = ACTIONS(2765), + [sym_true] = ACTIONS(2763), + [sym_false] = ACTIONS(2763), + [anon_sym_NULL] = ACTIONS(2763), + [anon_sym_nullptr] = ACTIONS(2763), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2765), + [sym_auto] = ACTIONS(2763), + [anon_sym_decltype] = ACTIONS(2763), + [sym_virtual] = ACTIONS(2763), + [anon_sym_explicit] = ACTIONS(2763), + [anon_sym_typename] = ACTIONS(2763), + [anon_sym_template] = ACTIONS(2763), + [anon_sym_operator] = ACTIONS(2763), + [anon_sym_try] = ACTIONS(2763), + [anon_sym_delete] = ACTIONS(2763), + [anon_sym_throw] = ACTIONS(2763), + [anon_sym_namespace] = ACTIONS(2763), + [anon_sym_using] = ACTIONS(2763), + [anon_sym_static_assert] = ACTIONS(2763), + [anon_sym_concept] = ACTIONS(2763), + [anon_sym_co_return] = ACTIONS(2763), + [anon_sym_co_yield] = ACTIONS(2763), + [anon_sym_R_DQUOTE] = ACTIONS(2765), + [anon_sym_LR_DQUOTE] = ACTIONS(2765), + [anon_sym_uR_DQUOTE] = ACTIONS(2765), + [anon_sym_UR_DQUOTE] = ACTIONS(2765), + [anon_sym_u8R_DQUOTE] = ACTIONS(2765), + [anon_sym_co_await] = ACTIONS(2763), + [anon_sym_new] = ACTIONS(2763), + [anon_sym_requires] = ACTIONS(2763), + [sym_this] = ACTIONS(2763), + }, + [513] = { + [ts_builtin_sym_end] = ACTIONS(2769), + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_include_token1] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_BANG] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_DASH] = ACTIONS(2767), + [anon_sym_PLUS] = ACTIONS(2767), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym_SEMI] = ACTIONS(2769), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym___cdecl] = ACTIONS(2767), + [anon_sym___clrcall] = ACTIONS(2767), + [anon_sym___stdcall] = ACTIONS(2767), + [anon_sym___fastcall] = ACTIONS(2767), + [anon_sym___thiscall] = ACTIONS(2767), + [anon_sym___vectorcall] = ACTIONS(2767), + [anon_sym_LBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [anon_sym_if] = ACTIONS(2767), + [anon_sym_else] = ACTIONS(2767), + [anon_sym_switch] = ACTIONS(2767), + [anon_sym_case] = ACTIONS(2767), + [anon_sym_default] = ACTIONS(2767), + [anon_sym_while] = ACTIONS(2767), + [anon_sym_do] = ACTIONS(2767), + [anon_sym_for] = ACTIONS(2767), + [anon_sym_return] = ACTIONS(2767), + [anon_sym_break] = ACTIONS(2767), + [anon_sym_continue] = ACTIONS(2767), + [anon_sym_goto] = ACTIONS(2767), + [anon_sym___try] = ACTIONS(2767), + [anon_sym___leave] = ACTIONS(2767), + [anon_sym_not] = ACTIONS(2767), + [anon_sym_compl] = ACTIONS(2767), + [anon_sym_DASH_DASH] = ACTIONS(2769), + [anon_sym_PLUS_PLUS] = ACTIONS(2769), + [anon_sym_sizeof] = ACTIONS(2767), + [anon_sym___alignof__] = ACTIONS(2767), + [anon_sym___alignof] = ACTIONS(2767), + [anon_sym__alignof] = ACTIONS(2767), + [anon_sym_alignof] = ACTIONS(2767), + [anon_sym__Alignof] = ACTIONS(2767), + [anon_sym_offsetof] = ACTIONS(2767), + [anon_sym__Generic] = ACTIONS(2767), + [anon_sym_asm] = ACTIONS(2767), + [anon_sym___asm__] = ACTIONS(2767), + [sym__number_literal] = ACTIONS(2769), + [anon_sym_L_SQUOTE] = ACTIONS(2769), + [anon_sym_u_SQUOTE] = ACTIONS(2769), + [anon_sym_U_SQUOTE] = ACTIONS(2769), + [anon_sym_u8_SQUOTE] = ACTIONS(2769), + [anon_sym_SQUOTE] = ACTIONS(2769), + [anon_sym_L_DQUOTE] = ACTIONS(2769), + [anon_sym_u_DQUOTE] = ACTIONS(2769), + [anon_sym_U_DQUOTE] = ACTIONS(2769), + [anon_sym_u8_DQUOTE] = ACTIONS(2769), + [anon_sym_DQUOTE] = ACTIONS(2769), + [sym_true] = ACTIONS(2767), + [sym_false] = ACTIONS(2767), + [anon_sym_NULL] = ACTIONS(2767), + [anon_sym_nullptr] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_try] = ACTIONS(2767), + [anon_sym_delete] = ACTIONS(2767), + [anon_sym_throw] = ACTIONS(2767), + [anon_sym_namespace] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + [anon_sym_concept] = ACTIONS(2767), + [anon_sym_co_return] = ACTIONS(2767), + [anon_sym_co_yield] = ACTIONS(2767), + [anon_sym_R_DQUOTE] = ACTIONS(2769), + [anon_sym_LR_DQUOTE] = ACTIONS(2769), + [anon_sym_uR_DQUOTE] = ACTIONS(2769), + [anon_sym_UR_DQUOTE] = ACTIONS(2769), + [anon_sym_u8R_DQUOTE] = ACTIONS(2769), + [anon_sym_co_await] = ACTIONS(2767), + [anon_sym_new] = ACTIONS(2767), + [anon_sym_requires] = ACTIONS(2767), + [sym_this] = ACTIONS(2767), + }, + [514] = { + [sym__identifier] = ACTIONS(2797), + [aux_sym_preproc_include_token1] = ACTIONS(2797), + [aux_sym_preproc_def_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token1] = ACTIONS(2797), + [aux_sym_preproc_if_token2] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2797), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2797), + [sym_preproc_directive] = ACTIONS(2797), + [anon_sym_LPAREN2] = ACTIONS(2799), + [anon_sym_BANG] = ACTIONS(2799), + [anon_sym_TILDE] = ACTIONS(2799), + [anon_sym_DASH] = ACTIONS(2797), + [anon_sym_PLUS] = ACTIONS(2797), + [anon_sym_STAR] = ACTIONS(2799), + [anon_sym_AMP_AMP] = ACTIONS(2799), + [anon_sym_AMP] = ACTIONS(2797), + [anon_sym_SEMI] = ACTIONS(2799), + [anon_sym___extension__] = ACTIONS(2797), + [anon_sym_typedef] = ACTIONS(2797), + [anon_sym_extern] = ACTIONS(2797), + [anon_sym___attribute__] = ACTIONS(2797), + [anon_sym_COLON_COLON] = ACTIONS(2799), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2799), + [anon_sym___declspec] = ACTIONS(2797), + [anon_sym___based] = ACTIONS(2797), + [anon_sym___cdecl] = ACTIONS(2797), + [anon_sym___clrcall] = ACTIONS(2797), + [anon_sym___stdcall] = ACTIONS(2797), + [anon_sym___fastcall] = ACTIONS(2797), + [anon_sym___thiscall] = ACTIONS(2797), + [anon_sym___vectorcall] = ACTIONS(2797), + [anon_sym_LBRACE] = ACTIONS(2799), + [anon_sym_signed] = ACTIONS(2797), + [anon_sym_unsigned] = ACTIONS(2797), + [anon_sym_long] = ACTIONS(2797), + [anon_sym_short] = ACTIONS(2797), + [anon_sym_LBRACK] = ACTIONS(2797), + [anon_sym_static] = ACTIONS(2797), + [anon_sym_register] = ACTIONS(2797), + [anon_sym_inline] = ACTIONS(2797), + [anon_sym___inline] = ACTIONS(2797), + [anon_sym___inline__] = ACTIONS(2797), + [anon_sym___forceinline] = ACTIONS(2797), + [anon_sym_thread_local] = ACTIONS(2797), + [anon_sym___thread] = ACTIONS(2797), + [anon_sym_const] = ACTIONS(2797), + [anon_sym_constexpr] = ACTIONS(2797), + [anon_sym_volatile] = ACTIONS(2797), + [anon_sym_restrict] = ACTIONS(2797), + [anon_sym___restrict__] = ACTIONS(2797), + [anon_sym__Atomic] = ACTIONS(2797), + [anon_sym__Noreturn] = ACTIONS(2797), + [anon_sym_noreturn] = ACTIONS(2797), + [anon_sym_mutable] = ACTIONS(2797), + [anon_sym_constinit] = ACTIONS(2797), + [anon_sym_consteval] = ACTIONS(2797), + [anon_sym_alignas] = ACTIONS(2797), + [anon_sym__Alignas] = ACTIONS(2797), + [sym_primitive_type] = ACTIONS(2797), + [anon_sym_enum] = ACTIONS(2797), + [anon_sym_class] = ACTIONS(2797), + [anon_sym_struct] = ACTIONS(2797), + [anon_sym_union] = ACTIONS(2797), + [anon_sym_if] = ACTIONS(2797), + [anon_sym_else] = ACTIONS(2797), + [anon_sym_switch] = ACTIONS(2797), + [anon_sym_case] = ACTIONS(2797), + [anon_sym_default] = ACTIONS(2797), + [anon_sym_while] = ACTIONS(2797), + [anon_sym_do] = ACTIONS(2797), + [anon_sym_for] = ACTIONS(2797), + [anon_sym_return] = ACTIONS(2797), + [anon_sym_break] = ACTIONS(2797), + [anon_sym_continue] = ACTIONS(2797), + [anon_sym_goto] = ACTIONS(2797), + [anon_sym___try] = ACTIONS(2797), + [anon_sym___leave] = ACTIONS(2797), + [anon_sym_not] = ACTIONS(2797), + [anon_sym_compl] = ACTIONS(2797), + [anon_sym_DASH_DASH] = ACTIONS(2799), + [anon_sym_PLUS_PLUS] = ACTIONS(2799), + [anon_sym_sizeof] = ACTIONS(2797), + [anon_sym___alignof__] = ACTIONS(2797), + [anon_sym___alignof] = ACTIONS(2797), + [anon_sym__alignof] = ACTIONS(2797), + [anon_sym_alignof] = ACTIONS(2797), + [anon_sym__Alignof] = ACTIONS(2797), + [anon_sym_offsetof] = ACTIONS(2797), + [anon_sym__Generic] = ACTIONS(2797), + [anon_sym_asm] = ACTIONS(2797), + [anon_sym___asm__] = ACTIONS(2797), + [sym__number_literal] = ACTIONS(2799), + [anon_sym_L_SQUOTE] = ACTIONS(2799), + [anon_sym_u_SQUOTE] = ACTIONS(2799), + [anon_sym_U_SQUOTE] = ACTIONS(2799), + [anon_sym_u8_SQUOTE] = ACTIONS(2799), + [anon_sym_SQUOTE] = ACTIONS(2799), + [anon_sym_L_DQUOTE] = ACTIONS(2799), + [anon_sym_u_DQUOTE] = ACTIONS(2799), + [anon_sym_U_DQUOTE] = ACTIONS(2799), + [anon_sym_u8_DQUOTE] = ACTIONS(2799), + [anon_sym_DQUOTE] = ACTIONS(2799), + [sym_true] = ACTIONS(2797), + [sym_false] = ACTIONS(2797), + [anon_sym_NULL] = ACTIONS(2797), + [anon_sym_nullptr] = ACTIONS(2797), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2799), + [sym_auto] = ACTIONS(2797), + [anon_sym_decltype] = ACTIONS(2797), + [sym_virtual] = ACTIONS(2797), + [anon_sym_explicit] = ACTIONS(2797), + [anon_sym_typename] = ACTIONS(2797), + [anon_sym_template] = ACTIONS(2797), + [anon_sym_operator] = ACTIONS(2797), + [anon_sym_try] = ACTIONS(2797), + [anon_sym_delete] = ACTIONS(2797), + [anon_sym_throw] = ACTIONS(2797), + [anon_sym_namespace] = ACTIONS(2797), + [anon_sym_using] = ACTIONS(2797), + [anon_sym_static_assert] = ACTIONS(2797), + [anon_sym_concept] = ACTIONS(2797), + [anon_sym_co_return] = ACTIONS(2797), + [anon_sym_co_yield] = ACTIONS(2797), + [anon_sym_R_DQUOTE] = ACTIONS(2799), + [anon_sym_LR_DQUOTE] = ACTIONS(2799), + [anon_sym_uR_DQUOTE] = ACTIONS(2799), + [anon_sym_UR_DQUOTE] = ACTIONS(2799), + [anon_sym_u8R_DQUOTE] = ACTIONS(2799), + [anon_sym_co_await] = ACTIONS(2797), + [anon_sym_new] = ACTIONS(2797), + [anon_sym_requires] = ACTIONS(2797), + [sym_this] = ACTIONS(2797), + }, + [515] = { + [sym__identifier] = ACTIONS(2735), + [aux_sym_preproc_include_token1] = ACTIONS(2735), + [aux_sym_preproc_def_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token1] = ACTIONS(2735), + [aux_sym_preproc_if_token2] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2735), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2735), + [sym_preproc_directive] = ACTIONS(2735), + [anon_sym_LPAREN2] = ACTIONS(2737), + [anon_sym_BANG] = ACTIONS(2737), + [anon_sym_TILDE] = ACTIONS(2737), + [anon_sym_DASH] = ACTIONS(2735), + [anon_sym_PLUS] = ACTIONS(2735), + [anon_sym_STAR] = ACTIONS(2737), + [anon_sym_AMP_AMP] = ACTIONS(2737), + [anon_sym_AMP] = ACTIONS(2735), + [anon_sym_SEMI] = ACTIONS(2737), + [anon_sym___extension__] = ACTIONS(2735), + [anon_sym_typedef] = ACTIONS(2735), + [anon_sym_extern] = ACTIONS(2735), + [anon_sym___attribute__] = ACTIONS(2735), + [anon_sym_COLON_COLON] = ACTIONS(2737), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2737), + [anon_sym___declspec] = ACTIONS(2735), + [anon_sym___based] = ACTIONS(2735), + [anon_sym___cdecl] = ACTIONS(2735), + [anon_sym___clrcall] = ACTIONS(2735), + [anon_sym___stdcall] = ACTIONS(2735), + [anon_sym___fastcall] = ACTIONS(2735), + [anon_sym___thiscall] = ACTIONS(2735), + [anon_sym___vectorcall] = ACTIONS(2735), + [anon_sym_LBRACE] = ACTIONS(2737), + [anon_sym_signed] = ACTIONS(2735), + [anon_sym_unsigned] = ACTIONS(2735), + [anon_sym_long] = ACTIONS(2735), + [anon_sym_short] = ACTIONS(2735), + [anon_sym_LBRACK] = ACTIONS(2735), + [anon_sym_static] = ACTIONS(2735), + [anon_sym_register] = ACTIONS(2735), + [anon_sym_inline] = ACTIONS(2735), + [anon_sym___inline] = ACTIONS(2735), + [anon_sym___inline__] = ACTIONS(2735), + [anon_sym___forceinline] = ACTIONS(2735), + [anon_sym_thread_local] = ACTIONS(2735), + [anon_sym___thread] = ACTIONS(2735), + [anon_sym_const] = ACTIONS(2735), + [anon_sym_constexpr] = ACTIONS(2735), + [anon_sym_volatile] = ACTIONS(2735), + [anon_sym_restrict] = ACTIONS(2735), + [anon_sym___restrict__] = ACTIONS(2735), + [anon_sym__Atomic] = ACTIONS(2735), + [anon_sym__Noreturn] = ACTIONS(2735), + [anon_sym_noreturn] = ACTIONS(2735), + [anon_sym_mutable] = ACTIONS(2735), + [anon_sym_constinit] = ACTIONS(2735), + [anon_sym_consteval] = ACTIONS(2735), + [anon_sym_alignas] = ACTIONS(2735), + [anon_sym__Alignas] = ACTIONS(2735), + [sym_primitive_type] = ACTIONS(2735), + [anon_sym_enum] = ACTIONS(2735), + [anon_sym_class] = ACTIONS(2735), + [anon_sym_struct] = ACTIONS(2735), + [anon_sym_union] = ACTIONS(2735), + [anon_sym_if] = ACTIONS(2735), + [anon_sym_else] = ACTIONS(2735), + [anon_sym_switch] = ACTIONS(2735), + [anon_sym_case] = ACTIONS(2735), + [anon_sym_default] = ACTIONS(2735), + [anon_sym_while] = ACTIONS(2735), + [anon_sym_do] = ACTIONS(2735), + [anon_sym_for] = ACTIONS(2735), + [anon_sym_return] = ACTIONS(2735), + [anon_sym_break] = ACTIONS(2735), + [anon_sym_continue] = ACTIONS(2735), + [anon_sym_goto] = ACTIONS(2735), + [anon_sym___try] = ACTIONS(2735), + [anon_sym___leave] = ACTIONS(2735), + [anon_sym_not] = ACTIONS(2735), + [anon_sym_compl] = ACTIONS(2735), + [anon_sym_DASH_DASH] = ACTIONS(2737), + [anon_sym_PLUS_PLUS] = ACTIONS(2737), + [anon_sym_sizeof] = ACTIONS(2735), + [anon_sym___alignof__] = ACTIONS(2735), + [anon_sym___alignof] = ACTIONS(2735), + [anon_sym__alignof] = ACTIONS(2735), + [anon_sym_alignof] = ACTIONS(2735), + [anon_sym__Alignof] = ACTIONS(2735), + [anon_sym_offsetof] = ACTIONS(2735), + [anon_sym__Generic] = ACTIONS(2735), + [anon_sym_asm] = ACTIONS(2735), + [anon_sym___asm__] = ACTIONS(2735), + [sym__number_literal] = ACTIONS(2737), + [anon_sym_L_SQUOTE] = ACTIONS(2737), + [anon_sym_u_SQUOTE] = ACTIONS(2737), + [anon_sym_U_SQUOTE] = ACTIONS(2737), + [anon_sym_u8_SQUOTE] = ACTIONS(2737), + [anon_sym_SQUOTE] = ACTIONS(2737), + [anon_sym_L_DQUOTE] = ACTIONS(2737), + [anon_sym_u_DQUOTE] = ACTIONS(2737), + [anon_sym_U_DQUOTE] = ACTIONS(2737), + [anon_sym_u8_DQUOTE] = ACTIONS(2737), + [anon_sym_DQUOTE] = ACTIONS(2737), + [sym_true] = ACTIONS(2735), + [sym_false] = ACTIONS(2735), + [anon_sym_NULL] = ACTIONS(2735), + [anon_sym_nullptr] = ACTIONS(2735), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2737), + [sym_auto] = ACTIONS(2735), + [anon_sym_decltype] = ACTIONS(2735), + [sym_virtual] = ACTIONS(2735), + [anon_sym_explicit] = ACTIONS(2735), + [anon_sym_typename] = ACTIONS(2735), + [anon_sym_template] = ACTIONS(2735), + [anon_sym_operator] = ACTIONS(2735), + [anon_sym_try] = ACTIONS(2735), + [anon_sym_delete] = ACTIONS(2735), + [anon_sym_throw] = ACTIONS(2735), + [anon_sym_namespace] = ACTIONS(2735), + [anon_sym_using] = ACTIONS(2735), + [anon_sym_static_assert] = ACTIONS(2735), + [anon_sym_concept] = ACTIONS(2735), + [anon_sym_co_return] = ACTIONS(2735), + [anon_sym_co_yield] = ACTIONS(2735), + [anon_sym_R_DQUOTE] = ACTIONS(2737), + [anon_sym_LR_DQUOTE] = ACTIONS(2737), + [anon_sym_uR_DQUOTE] = ACTIONS(2737), + [anon_sym_UR_DQUOTE] = ACTIONS(2737), + [anon_sym_u8R_DQUOTE] = ACTIONS(2737), + [anon_sym_co_await] = ACTIONS(2735), + [anon_sym_new] = ACTIONS(2735), + [anon_sym_requires] = ACTIONS(2735), + [sym_this] = ACTIONS(2735), + }, + [516] = { + [sym__identifier] = ACTIONS(2801), + [aux_sym_preproc_include_token1] = ACTIONS(2801), + [aux_sym_preproc_def_token1] = ACTIONS(2801), + [aux_sym_preproc_if_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2801), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2801), + [sym_preproc_directive] = ACTIONS(2801), + [anon_sym_LPAREN2] = ACTIONS(2803), + [anon_sym_BANG] = ACTIONS(2803), + [anon_sym_TILDE] = ACTIONS(2803), + [anon_sym_DASH] = ACTIONS(2801), + [anon_sym_PLUS] = ACTIONS(2801), + [anon_sym_STAR] = ACTIONS(2803), + [anon_sym_AMP_AMP] = ACTIONS(2803), + [anon_sym_AMP] = ACTIONS(2801), + [anon_sym_SEMI] = ACTIONS(2803), + [anon_sym___extension__] = ACTIONS(2801), + [anon_sym_typedef] = ACTIONS(2801), + [anon_sym_extern] = ACTIONS(2801), + [anon_sym___attribute__] = ACTIONS(2801), + [anon_sym_COLON_COLON] = ACTIONS(2803), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2803), + [anon_sym___declspec] = ACTIONS(2801), + [anon_sym___based] = ACTIONS(2801), + [anon_sym___cdecl] = ACTIONS(2801), + [anon_sym___clrcall] = ACTIONS(2801), + [anon_sym___stdcall] = ACTIONS(2801), + [anon_sym___fastcall] = ACTIONS(2801), + [anon_sym___thiscall] = ACTIONS(2801), + [anon_sym___vectorcall] = ACTIONS(2801), + [anon_sym_LBRACE] = ACTIONS(2803), + [anon_sym_RBRACE] = ACTIONS(2803), + [anon_sym_signed] = ACTIONS(2801), + [anon_sym_unsigned] = ACTIONS(2801), + [anon_sym_long] = ACTIONS(2801), + [anon_sym_short] = ACTIONS(2801), + [anon_sym_LBRACK] = ACTIONS(2801), + [anon_sym_static] = ACTIONS(2801), + [anon_sym_register] = ACTIONS(2801), + [anon_sym_inline] = ACTIONS(2801), + [anon_sym___inline] = ACTIONS(2801), + [anon_sym___inline__] = ACTIONS(2801), + [anon_sym___forceinline] = ACTIONS(2801), + [anon_sym_thread_local] = ACTIONS(2801), + [anon_sym___thread] = ACTIONS(2801), + [anon_sym_const] = ACTIONS(2801), + [anon_sym_constexpr] = ACTIONS(2801), + [anon_sym_volatile] = ACTIONS(2801), + [anon_sym_restrict] = ACTIONS(2801), + [anon_sym___restrict__] = ACTIONS(2801), + [anon_sym__Atomic] = ACTIONS(2801), + [anon_sym__Noreturn] = ACTIONS(2801), + [anon_sym_noreturn] = ACTIONS(2801), + [anon_sym_mutable] = ACTIONS(2801), + [anon_sym_constinit] = ACTIONS(2801), + [anon_sym_consteval] = ACTIONS(2801), + [anon_sym_alignas] = ACTIONS(2801), + [anon_sym__Alignas] = ACTIONS(2801), + [sym_primitive_type] = ACTIONS(2801), + [anon_sym_enum] = ACTIONS(2801), + [anon_sym_class] = ACTIONS(2801), + [anon_sym_struct] = ACTIONS(2801), + [anon_sym_union] = ACTIONS(2801), + [anon_sym_if] = ACTIONS(2801), + [anon_sym_else] = ACTIONS(2801), + [anon_sym_switch] = ACTIONS(2801), + [anon_sym_case] = ACTIONS(2801), + [anon_sym_default] = ACTIONS(2801), + [anon_sym_while] = ACTIONS(2801), + [anon_sym_do] = ACTIONS(2801), + [anon_sym_for] = ACTIONS(2801), + [anon_sym_return] = ACTIONS(2801), + [anon_sym_break] = ACTIONS(2801), + [anon_sym_continue] = ACTIONS(2801), + [anon_sym_goto] = ACTIONS(2801), + [anon_sym___try] = ACTIONS(2801), + [anon_sym___leave] = ACTIONS(2801), + [anon_sym_not] = ACTIONS(2801), + [anon_sym_compl] = ACTIONS(2801), + [anon_sym_DASH_DASH] = ACTIONS(2803), + [anon_sym_PLUS_PLUS] = ACTIONS(2803), + [anon_sym_sizeof] = ACTIONS(2801), + [anon_sym___alignof__] = ACTIONS(2801), + [anon_sym___alignof] = ACTIONS(2801), + [anon_sym__alignof] = ACTIONS(2801), + [anon_sym_alignof] = ACTIONS(2801), + [anon_sym__Alignof] = ACTIONS(2801), + [anon_sym_offsetof] = ACTIONS(2801), + [anon_sym__Generic] = ACTIONS(2801), + [anon_sym_asm] = ACTIONS(2801), + [anon_sym___asm__] = ACTIONS(2801), + [sym__number_literal] = ACTIONS(2803), + [anon_sym_L_SQUOTE] = ACTIONS(2803), + [anon_sym_u_SQUOTE] = ACTIONS(2803), + [anon_sym_U_SQUOTE] = ACTIONS(2803), + [anon_sym_u8_SQUOTE] = ACTIONS(2803), + [anon_sym_SQUOTE] = ACTIONS(2803), + [anon_sym_L_DQUOTE] = ACTIONS(2803), + [anon_sym_u_DQUOTE] = ACTIONS(2803), + [anon_sym_U_DQUOTE] = ACTIONS(2803), + [anon_sym_u8_DQUOTE] = ACTIONS(2803), + [anon_sym_DQUOTE] = ACTIONS(2803), + [sym_true] = ACTIONS(2801), + [sym_false] = ACTIONS(2801), + [anon_sym_NULL] = ACTIONS(2801), + [anon_sym_nullptr] = ACTIONS(2801), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2803), + [sym_auto] = ACTIONS(2801), + [anon_sym_decltype] = ACTIONS(2801), + [sym_virtual] = ACTIONS(2801), + [anon_sym_explicit] = ACTIONS(2801), + [anon_sym_typename] = ACTIONS(2801), + [anon_sym_template] = ACTIONS(2801), + [anon_sym_operator] = ACTIONS(2801), + [anon_sym_try] = ACTIONS(2801), + [anon_sym_delete] = ACTIONS(2801), + [anon_sym_throw] = ACTIONS(2801), + [anon_sym_namespace] = ACTIONS(2801), + [anon_sym_using] = ACTIONS(2801), + [anon_sym_static_assert] = ACTIONS(2801), + [anon_sym_concept] = ACTIONS(2801), + [anon_sym_co_return] = ACTIONS(2801), + [anon_sym_co_yield] = ACTIONS(2801), + [anon_sym_R_DQUOTE] = ACTIONS(2803), + [anon_sym_LR_DQUOTE] = ACTIONS(2803), + [anon_sym_uR_DQUOTE] = ACTIONS(2803), + [anon_sym_UR_DQUOTE] = ACTIONS(2803), + [anon_sym_u8R_DQUOTE] = ACTIONS(2803), + [anon_sym_co_await] = ACTIONS(2801), + [anon_sym_new] = ACTIONS(2801), + [anon_sym_requires] = ACTIONS(2801), + [sym_this] = ACTIONS(2801), + }, + [517] = { + [sym__identifier] = ACTIONS(2707), + [aux_sym_preproc_include_token1] = ACTIONS(2707), + [aux_sym_preproc_def_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token2] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2707), + [sym_preproc_directive] = ACTIONS(2707), + [anon_sym_LPAREN2] = ACTIONS(2709), + [anon_sym_BANG] = ACTIONS(2709), + [anon_sym_TILDE] = ACTIONS(2709), + [anon_sym_DASH] = ACTIONS(2707), + [anon_sym_PLUS] = ACTIONS(2707), + [anon_sym_STAR] = ACTIONS(2709), + [anon_sym_AMP_AMP] = ACTIONS(2709), + [anon_sym_AMP] = ACTIONS(2707), + [anon_sym_SEMI] = ACTIONS(2709), + [anon_sym___extension__] = ACTIONS(2707), + [anon_sym_typedef] = ACTIONS(2707), + [anon_sym_extern] = ACTIONS(2707), + [anon_sym___attribute__] = ACTIONS(2707), + [anon_sym_COLON_COLON] = ACTIONS(2709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2709), + [anon_sym___declspec] = ACTIONS(2707), + [anon_sym___based] = ACTIONS(2707), + [anon_sym___cdecl] = ACTIONS(2707), + [anon_sym___clrcall] = ACTIONS(2707), + [anon_sym___stdcall] = ACTIONS(2707), + [anon_sym___fastcall] = ACTIONS(2707), + [anon_sym___thiscall] = ACTIONS(2707), + [anon_sym___vectorcall] = ACTIONS(2707), + [anon_sym_LBRACE] = ACTIONS(2709), + [anon_sym_signed] = ACTIONS(2707), + [anon_sym_unsigned] = ACTIONS(2707), + [anon_sym_long] = ACTIONS(2707), + [anon_sym_short] = ACTIONS(2707), + [anon_sym_LBRACK] = ACTIONS(2707), + [anon_sym_static] = ACTIONS(2707), + [anon_sym_register] = ACTIONS(2707), + [anon_sym_inline] = ACTIONS(2707), + [anon_sym___inline] = ACTIONS(2707), + [anon_sym___inline__] = ACTIONS(2707), + [anon_sym___forceinline] = ACTIONS(2707), + [anon_sym_thread_local] = ACTIONS(2707), + [anon_sym___thread] = ACTIONS(2707), + [anon_sym_const] = ACTIONS(2707), + [anon_sym_constexpr] = ACTIONS(2707), + [anon_sym_volatile] = ACTIONS(2707), + [anon_sym_restrict] = ACTIONS(2707), + [anon_sym___restrict__] = ACTIONS(2707), + [anon_sym__Atomic] = ACTIONS(2707), + [anon_sym__Noreturn] = ACTIONS(2707), + [anon_sym_noreturn] = ACTIONS(2707), + [anon_sym_mutable] = ACTIONS(2707), + [anon_sym_constinit] = ACTIONS(2707), + [anon_sym_consteval] = ACTIONS(2707), + [anon_sym_alignas] = ACTIONS(2707), + [anon_sym__Alignas] = ACTIONS(2707), + [sym_primitive_type] = ACTIONS(2707), + [anon_sym_enum] = ACTIONS(2707), + [anon_sym_class] = ACTIONS(2707), + [anon_sym_struct] = ACTIONS(2707), + [anon_sym_union] = ACTIONS(2707), + [anon_sym_if] = ACTIONS(2707), + [anon_sym_else] = ACTIONS(2707), + [anon_sym_switch] = ACTIONS(2707), + [anon_sym_case] = ACTIONS(2707), + [anon_sym_default] = ACTIONS(2707), + [anon_sym_while] = ACTIONS(2707), + [anon_sym_do] = ACTIONS(2707), + [anon_sym_for] = ACTIONS(2707), + [anon_sym_return] = ACTIONS(2707), + [anon_sym_break] = ACTIONS(2707), + [anon_sym_continue] = ACTIONS(2707), + [anon_sym_goto] = ACTIONS(2707), + [anon_sym___try] = ACTIONS(2707), + [anon_sym___leave] = ACTIONS(2707), + [anon_sym_not] = ACTIONS(2707), + [anon_sym_compl] = ACTIONS(2707), + [anon_sym_DASH_DASH] = ACTIONS(2709), + [anon_sym_PLUS_PLUS] = ACTIONS(2709), + [anon_sym_sizeof] = ACTIONS(2707), + [anon_sym___alignof__] = ACTIONS(2707), + [anon_sym___alignof] = ACTIONS(2707), + [anon_sym__alignof] = ACTIONS(2707), + [anon_sym_alignof] = ACTIONS(2707), + [anon_sym__Alignof] = ACTIONS(2707), + [anon_sym_offsetof] = ACTIONS(2707), + [anon_sym__Generic] = ACTIONS(2707), + [anon_sym_asm] = ACTIONS(2707), + [anon_sym___asm__] = ACTIONS(2707), + [sym__number_literal] = ACTIONS(2709), + [anon_sym_L_SQUOTE] = ACTIONS(2709), + [anon_sym_u_SQUOTE] = ACTIONS(2709), + [anon_sym_U_SQUOTE] = ACTIONS(2709), + [anon_sym_u8_SQUOTE] = ACTIONS(2709), + [anon_sym_SQUOTE] = ACTIONS(2709), + [anon_sym_L_DQUOTE] = ACTIONS(2709), + [anon_sym_u_DQUOTE] = ACTIONS(2709), + [anon_sym_U_DQUOTE] = ACTIONS(2709), + [anon_sym_u8_DQUOTE] = ACTIONS(2709), + [anon_sym_DQUOTE] = ACTIONS(2709), + [sym_true] = ACTIONS(2707), + [sym_false] = ACTIONS(2707), + [anon_sym_NULL] = ACTIONS(2707), + [anon_sym_nullptr] = ACTIONS(2707), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2709), + [sym_auto] = ACTIONS(2707), + [anon_sym_decltype] = ACTIONS(2707), + [sym_virtual] = ACTIONS(2707), + [anon_sym_explicit] = ACTIONS(2707), + [anon_sym_typename] = ACTIONS(2707), + [anon_sym_template] = ACTIONS(2707), + [anon_sym_operator] = ACTIONS(2707), + [anon_sym_try] = ACTIONS(2707), + [anon_sym_delete] = ACTIONS(2707), + [anon_sym_throw] = ACTIONS(2707), + [anon_sym_namespace] = ACTIONS(2707), + [anon_sym_using] = ACTIONS(2707), + [anon_sym_static_assert] = ACTIONS(2707), + [anon_sym_concept] = ACTIONS(2707), + [anon_sym_co_return] = ACTIONS(2707), + [anon_sym_co_yield] = ACTIONS(2707), + [anon_sym_R_DQUOTE] = ACTIONS(2709), + [anon_sym_LR_DQUOTE] = ACTIONS(2709), + [anon_sym_uR_DQUOTE] = ACTIONS(2709), + [anon_sym_UR_DQUOTE] = ACTIONS(2709), + [anon_sym_u8R_DQUOTE] = ACTIONS(2709), + [anon_sym_co_await] = ACTIONS(2707), + [anon_sym_new] = ACTIONS(2707), + [anon_sym_requires] = ACTIONS(2707), + [sym_this] = ACTIONS(2707), + }, + [518] = { + [sym__identifier] = ACTIONS(2632), + [aux_sym_preproc_include_token1] = ACTIONS(2632), + [aux_sym_preproc_def_token1] = ACTIONS(2632), + [aux_sym_preproc_if_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2632), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2632), + [sym_preproc_directive] = ACTIONS(2632), + [anon_sym_LPAREN2] = ACTIONS(2637), + [anon_sym_BANG] = ACTIONS(2637), + [anon_sym_TILDE] = ACTIONS(2637), + [anon_sym_DASH] = ACTIONS(2632), + [anon_sym_PLUS] = ACTIONS(2632), + [anon_sym_STAR] = ACTIONS(2637), + [anon_sym_AMP_AMP] = ACTIONS(2637), + [anon_sym_AMP] = ACTIONS(2632), + [anon_sym_SEMI] = ACTIONS(2637), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_typedef] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym___based] = ACTIONS(2632), + [anon_sym___cdecl] = ACTIONS(2632), + [anon_sym___clrcall] = ACTIONS(2632), + [anon_sym___stdcall] = ACTIONS(2632), + [anon_sym___fastcall] = ACTIONS(2632), + [anon_sym___thiscall] = ACTIONS(2632), + [anon_sym___vectorcall] = ACTIONS(2632), + [anon_sym_LBRACE] = ACTIONS(2637), + [anon_sym_RBRACE] = ACTIONS(2637), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(2632), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2632), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_if] = ACTIONS(2632), + [anon_sym_else] = ACTIONS(2632), + [anon_sym_switch] = ACTIONS(2632), + [anon_sym_case] = ACTIONS(2632), + [anon_sym_default] = ACTIONS(2632), + [anon_sym_while] = ACTIONS(2632), + [anon_sym_do] = ACTIONS(2632), + [anon_sym_for] = ACTIONS(2632), + [anon_sym_return] = ACTIONS(2632), + [anon_sym_break] = ACTIONS(2632), + [anon_sym_continue] = ACTIONS(2632), + [anon_sym_goto] = ACTIONS(2632), + [anon_sym___try] = ACTIONS(2632), + [anon_sym___leave] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(2632), + [anon_sym_compl] = ACTIONS(2632), + [anon_sym_DASH_DASH] = ACTIONS(2637), + [anon_sym_PLUS_PLUS] = ACTIONS(2637), + [anon_sym_sizeof] = ACTIONS(2632), + [anon_sym___alignof__] = ACTIONS(2632), + [anon_sym___alignof] = ACTIONS(2632), + [anon_sym__alignof] = ACTIONS(2632), + [anon_sym_alignof] = ACTIONS(2632), + [anon_sym__Alignof] = ACTIONS(2632), + [anon_sym_offsetof] = ACTIONS(2632), + [anon_sym__Generic] = ACTIONS(2632), + [anon_sym_asm] = ACTIONS(2632), + [anon_sym___asm__] = ACTIONS(2632), + [sym__number_literal] = ACTIONS(2637), + [anon_sym_L_SQUOTE] = ACTIONS(2637), + [anon_sym_u_SQUOTE] = ACTIONS(2637), + [anon_sym_U_SQUOTE] = ACTIONS(2637), + [anon_sym_u8_SQUOTE] = ACTIONS(2637), + [anon_sym_SQUOTE] = ACTIONS(2637), + [anon_sym_L_DQUOTE] = ACTIONS(2637), + [anon_sym_u_DQUOTE] = ACTIONS(2637), + [anon_sym_U_DQUOTE] = ACTIONS(2637), + [anon_sym_u8_DQUOTE] = ACTIONS(2637), + [anon_sym_DQUOTE] = ACTIONS(2637), + [sym_true] = ACTIONS(2632), + [sym_false] = ACTIONS(2632), + [anon_sym_NULL] = ACTIONS(2632), + [anon_sym_nullptr] = ACTIONS(2632), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2637), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2632), + [sym_virtual] = ACTIONS(2632), + [anon_sym_explicit] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2632), + [anon_sym_operator] = ACTIONS(2632), + [anon_sym_try] = ACTIONS(2632), + [anon_sym_delete] = ACTIONS(2632), + [anon_sym_throw] = ACTIONS(2632), + [anon_sym_namespace] = ACTIONS(2632), + [anon_sym_using] = ACTIONS(2632), + [anon_sym_static_assert] = ACTIONS(2632), + [anon_sym_concept] = ACTIONS(2632), + [anon_sym_co_return] = ACTIONS(2632), + [anon_sym_co_yield] = ACTIONS(2632), + [anon_sym_R_DQUOTE] = ACTIONS(2637), + [anon_sym_LR_DQUOTE] = ACTIONS(2637), + [anon_sym_uR_DQUOTE] = ACTIONS(2637), + [anon_sym_UR_DQUOTE] = ACTIONS(2637), + [anon_sym_u8R_DQUOTE] = ACTIONS(2637), + [anon_sym_co_await] = ACTIONS(2632), + [anon_sym_new] = ACTIONS(2632), + [anon_sym_requires] = ACTIONS(2632), + [sym_this] = ACTIONS(2632), + }, + [519] = { + [sym__identifier] = ACTIONS(2747), + [aux_sym_preproc_include_token1] = ACTIONS(2747), + [aux_sym_preproc_def_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token1] = ACTIONS(2747), + [aux_sym_preproc_if_token2] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2747), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2747), + [sym_preproc_directive] = ACTIONS(2747), + [anon_sym_LPAREN2] = ACTIONS(2749), + [anon_sym_BANG] = ACTIONS(2749), + [anon_sym_TILDE] = ACTIONS(2749), + [anon_sym_DASH] = ACTIONS(2747), + [anon_sym_PLUS] = ACTIONS(2747), + [anon_sym_STAR] = ACTIONS(2749), + [anon_sym_AMP_AMP] = ACTIONS(2749), + [anon_sym_AMP] = ACTIONS(2747), + [anon_sym_SEMI] = ACTIONS(2749), + [anon_sym___extension__] = ACTIONS(2747), + [anon_sym_typedef] = ACTIONS(2747), + [anon_sym_extern] = ACTIONS(2747), + [anon_sym___attribute__] = ACTIONS(2747), + [anon_sym_COLON_COLON] = ACTIONS(2749), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2749), + [anon_sym___declspec] = ACTIONS(2747), + [anon_sym___based] = ACTIONS(2747), + [anon_sym___cdecl] = ACTIONS(2747), + [anon_sym___clrcall] = ACTIONS(2747), + [anon_sym___stdcall] = ACTIONS(2747), + [anon_sym___fastcall] = ACTIONS(2747), + [anon_sym___thiscall] = ACTIONS(2747), + [anon_sym___vectorcall] = ACTIONS(2747), + [anon_sym_LBRACE] = ACTIONS(2749), + [anon_sym_signed] = ACTIONS(2747), + [anon_sym_unsigned] = ACTIONS(2747), + [anon_sym_long] = ACTIONS(2747), + [anon_sym_short] = ACTIONS(2747), + [anon_sym_LBRACK] = ACTIONS(2747), + [anon_sym_static] = ACTIONS(2747), + [anon_sym_register] = ACTIONS(2747), + [anon_sym_inline] = ACTIONS(2747), + [anon_sym___inline] = ACTIONS(2747), + [anon_sym___inline__] = ACTIONS(2747), + [anon_sym___forceinline] = ACTIONS(2747), + [anon_sym_thread_local] = ACTIONS(2747), + [anon_sym___thread] = ACTIONS(2747), + [anon_sym_const] = ACTIONS(2747), + [anon_sym_constexpr] = ACTIONS(2747), + [anon_sym_volatile] = ACTIONS(2747), + [anon_sym_restrict] = ACTIONS(2747), + [anon_sym___restrict__] = ACTIONS(2747), + [anon_sym__Atomic] = ACTIONS(2747), + [anon_sym__Noreturn] = ACTIONS(2747), + [anon_sym_noreturn] = ACTIONS(2747), + [anon_sym_mutable] = ACTIONS(2747), + [anon_sym_constinit] = ACTIONS(2747), + [anon_sym_consteval] = ACTIONS(2747), + [anon_sym_alignas] = ACTIONS(2747), + [anon_sym__Alignas] = ACTIONS(2747), + [sym_primitive_type] = ACTIONS(2747), + [anon_sym_enum] = ACTIONS(2747), + [anon_sym_class] = ACTIONS(2747), + [anon_sym_struct] = ACTIONS(2747), + [anon_sym_union] = ACTIONS(2747), + [anon_sym_if] = ACTIONS(2747), + [anon_sym_else] = ACTIONS(2747), + [anon_sym_switch] = ACTIONS(2747), + [anon_sym_case] = ACTIONS(2747), + [anon_sym_default] = ACTIONS(2747), + [anon_sym_while] = ACTIONS(2747), + [anon_sym_do] = ACTIONS(2747), + [anon_sym_for] = ACTIONS(2747), + [anon_sym_return] = ACTIONS(2747), + [anon_sym_break] = ACTIONS(2747), + [anon_sym_continue] = ACTIONS(2747), + [anon_sym_goto] = ACTIONS(2747), + [anon_sym___try] = ACTIONS(2747), + [anon_sym___leave] = ACTIONS(2747), + [anon_sym_not] = ACTIONS(2747), + [anon_sym_compl] = ACTIONS(2747), + [anon_sym_DASH_DASH] = ACTIONS(2749), + [anon_sym_PLUS_PLUS] = ACTIONS(2749), + [anon_sym_sizeof] = ACTIONS(2747), + [anon_sym___alignof__] = ACTIONS(2747), + [anon_sym___alignof] = ACTIONS(2747), + [anon_sym__alignof] = ACTIONS(2747), + [anon_sym_alignof] = ACTIONS(2747), + [anon_sym__Alignof] = ACTIONS(2747), + [anon_sym_offsetof] = ACTIONS(2747), + [anon_sym__Generic] = ACTIONS(2747), + [anon_sym_asm] = ACTIONS(2747), + [anon_sym___asm__] = ACTIONS(2747), + [sym__number_literal] = ACTIONS(2749), + [anon_sym_L_SQUOTE] = ACTIONS(2749), + [anon_sym_u_SQUOTE] = ACTIONS(2749), + [anon_sym_U_SQUOTE] = ACTIONS(2749), + [anon_sym_u8_SQUOTE] = ACTIONS(2749), + [anon_sym_SQUOTE] = ACTIONS(2749), + [anon_sym_L_DQUOTE] = ACTIONS(2749), + [anon_sym_u_DQUOTE] = ACTIONS(2749), + [anon_sym_U_DQUOTE] = ACTIONS(2749), + [anon_sym_u8_DQUOTE] = ACTIONS(2749), + [anon_sym_DQUOTE] = ACTIONS(2749), + [sym_true] = ACTIONS(2747), + [sym_false] = ACTIONS(2747), + [anon_sym_NULL] = ACTIONS(2747), + [anon_sym_nullptr] = ACTIONS(2747), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2749), + [sym_auto] = ACTIONS(2747), + [anon_sym_decltype] = ACTIONS(2747), + [sym_virtual] = ACTIONS(2747), + [anon_sym_explicit] = ACTIONS(2747), + [anon_sym_typename] = ACTIONS(2747), + [anon_sym_template] = ACTIONS(2747), + [anon_sym_operator] = ACTIONS(2747), + [anon_sym_try] = ACTIONS(2747), + [anon_sym_delete] = ACTIONS(2747), + [anon_sym_throw] = ACTIONS(2747), + [anon_sym_namespace] = ACTIONS(2747), + [anon_sym_using] = ACTIONS(2747), + [anon_sym_static_assert] = ACTIONS(2747), + [anon_sym_concept] = ACTIONS(2747), + [anon_sym_co_return] = ACTIONS(2747), + [anon_sym_co_yield] = ACTIONS(2747), + [anon_sym_R_DQUOTE] = ACTIONS(2749), + [anon_sym_LR_DQUOTE] = ACTIONS(2749), + [anon_sym_uR_DQUOTE] = ACTIONS(2749), + [anon_sym_UR_DQUOTE] = ACTIONS(2749), + [anon_sym_u8R_DQUOTE] = ACTIONS(2749), + [anon_sym_co_await] = ACTIONS(2747), + [anon_sym_new] = ACTIONS(2747), + [anon_sym_requires] = ACTIONS(2747), + [sym_this] = ACTIONS(2747), + }, + [520] = { + [ts_builtin_sym_end] = ACTIONS(2757), + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_include_token1] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_BANG] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_DASH] = ACTIONS(2755), + [anon_sym_PLUS] = ACTIONS(2755), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym_SEMI] = ACTIONS(2757), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym___cdecl] = ACTIONS(2755), + [anon_sym___clrcall] = ACTIONS(2755), + [anon_sym___stdcall] = ACTIONS(2755), + [anon_sym___fastcall] = ACTIONS(2755), + [anon_sym___thiscall] = ACTIONS(2755), + [anon_sym___vectorcall] = ACTIONS(2755), + [anon_sym_LBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [anon_sym_if] = ACTIONS(2755), + [anon_sym_else] = ACTIONS(2755), + [anon_sym_switch] = ACTIONS(2755), + [anon_sym_case] = ACTIONS(2755), + [anon_sym_default] = ACTIONS(2755), + [anon_sym_while] = ACTIONS(2755), + [anon_sym_do] = ACTIONS(2755), + [anon_sym_for] = ACTIONS(2755), + [anon_sym_return] = ACTIONS(2755), + [anon_sym_break] = ACTIONS(2755), + [anon_sym_continue] = ACTIONS(2755), + [anon_sym_goto] = ACTIONS(2755), + [anon_sym___try] = ACTIONS(2755), + [anon_sym___leave] = ACTIONS(2755), + [anon_sym_not] = ACTIONS(2755), + [anon_sym_compl] = ACTIONS(2755), + [anon_sym_DASH_DASH] = ACTIONS(2757), + [anon_sym_PLUS_PLUS] = ACTIONS(2757), + [anon_sym_sizeof] = ACTIONS(2755), + [anon_sym___alignof__] = ACTIONS(2755), + [anon_sym___alignof] = ACTIONS(2755), + [anon_sym__alignof] = ACTIONS(2755), + [anon_sym_alignof] = ACTIONS(2755), + [anon_sym__Alignof] = ACTIONS(2755), + [anon_sym_offsetof] = ACTIONS(2755), + [anon_sym__Generic] = ACTIONS(2755), + [anon_sym_asm] = ACTIONS(2755), + [anon_sym___asm__] = ACTIONS(2755), + [sym__number_literal] = ACTIONS(2757), + [anon_sym_L_SQUOTE] = ACTIONS(2757), + [anon_sym_u_SQUOTE] = ACTIONS(2757), + [anon_sym_U_SQUOTE] = ACTIONS(2757), + [anon_sym_u8_SQUOTE] = ACTIONS(2757), + [anon_sym_SQUOTE] = ACTIONS(2757), + [anon_sym_L_DQUOTE] = ACTIONS(2757), + [anon_sym_u_DQUOTE] = ACTIONS(2757), + [anon_sym_U_DQUOTE] = ACTIONS(2757), + [anon_sym_u8_DQUOTE] = ACTIONS(2757), + [anon_sym_DQUOTE] = ACTIONS(2757), + [sym_true] = ACTIONS(2755), + [sym_false] = ACTIONS(2755), + [anon_sym_NULL] = ACTIONS(2755), + [anon_sym_nullptr] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_try] = ACTIONS(2755), + [anon_sym_delete] = ACTIONS(2755), + [anon_sym_throw] = ACTIONS(2755), + [anon_sym_namespace] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + [anon_sym_concept] = ACTIONS(2755), + [anon_sym_co_return] = ACTIONS(2755), + [anon_sym_co_yield] = ACTIONS(2755), + [anon_sym_R_DQUOTE] = ACTIONS(2757), + [anon_sym_LR_DQUOTE] = ACTIONS(2757), + [anon_sym_uR_DQUOTE] = ACTIONS(2757), + [anon_sym_UR_DQUOTE] = ACTIONS(2757), + [anon_sym_u8R_DQUOTE] = ACTIONS(2757), + [anon_sym_co_await] = ACTIONS(2755), + [anon_sym_new] = ACTIONS(2755), + [anon_sym_requires] = ACTIONS(2755), + [sym_this] = ACTIONS(2755), + }, + [521] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_include_token1] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym___cdecl] = ACTIONS(2785), + [anon_sym___clrcall] = ACTIONS(2785), + [anon_sym___stdcall] = ACTIONS(2785), + [anon_sym___fastcall] = ACTIONS(2785), + [anon_sym___thiscall] = ACTIONS(2785), + [anon_sym___vectorcall] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_RBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_case] = ACTIONS(2785), + [anon_sym_default] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_namespace] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + [anon_sym_concept] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [522] = { + [ts_builtin_sym_end] = ACTIONS(2709), + [sym__identifier] = ACTIONS(2707), + [aux_sym_preproc_include_token1] = ACTIONS(2707), + [aux_sym_preproc_def_token1] = ACTIONS(2707), + [aux_sym_preproc_if_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2707), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2707), + [sym_preproc_directive] = ACTIONS(2707), + [anon_sym_LPAREN2] = ACTIONS(2709), + [anon_sym_BANG] = ACTIONS(2709), + [anon_sym_TILDE] = ACTIONS(2709), + [anon_sym_DASH] = ACTIONS(2707), + [anon_sym_PLUS] = ACTIONS(2707), + [anon_sym_STAR] = ACTIONS(2709), + [anon_sym_AMP_AMP] = ACTIONS(2709), + [anon_sym_AMP] = ACTIONS(2707), + [anon_sym_SEMI] = ACTIONS(2709), + [anon_sym___extension__] = ACTIONS(2707), + [anon_sym_typedef] = ACTIONS(2707), + [anon_sym_extern] = ACTIONS(2707), + [anon_sym___attribute__] = ACTIONS(2707), + [anon_sym_COLON_COLON] = ACTIONS(2709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2709), + [anon_sym___declspec] = ACTIONS(2707), + [anon_sym___based] = ACTIONS(2707), + [anon_sym___cdecl] = ACTIONS(2707), + [anon_sym___clrcall] = ACTIONS(2707), + [anon_sym___stdcall] = ACTIONS(2707), + [anon_sym___fastcall] = ACTIONS(2707), + [anon_sym___thiscall] = ACTIONS(2707), + [anon_sym___vectorcall] = ACTIONS(2707), + [anon_sym_LBRACE] = ACTIONS(2709), + [anon_sym_signed] = ACTIONS(2707), + [anon_sym_unsigned] = ACTIONS(2707), + [anon_sym_long] = ACTIONS(2707), + [anon_sym_short] = ACTIONS(2707), + [anon_sym_LBRACK] = ACTIONS(2707), + [anon_sym_static] = ACTIONS(2707), + [anon_sym_register] = ACTIONS(2707), + [anon_sym_inline] = ACTIONS(2707), + [anon_sym___inline] = ACTIONS(2707), + [anon_sym___inline__] = ACTIONS(2707), + [anon_sym___forceinline] = ACTIONS(2707), + [anon_sym_thread_local] = ACTIONS(2707), + [anon_sym___thread] = ACTIONS(2707), + [anon_sym_const] = ACTIONS(2707), + [anon_sym_constexpr] = ACTIONS(2707), + [anon_sym_volatile] = ACTIONS(2707), + [anon_sym_restrict] = ACTIONS(2707), + [anon_sym___restrict__] = ACTIONS(2707), + [anon_sym__Atomic] = ACTIONS(2707), + [anon_sym__Noreturn] = ACTIONS(2707), + [anon_sym_noreturn] = ACTIONS(2707), + [anon_sym_mutable] = ACTIONS(2707), + [anon_sym_constinit] = ACTIONS(2707), + [anon_sym_consteval] = ACTIONS(2707), + [anon_sym_alignas] = ACTIONS(2707), + [anon_sym__Alignas] = ACTIONS(2707), + [sym_primitive_type] = ACTIONS(2707), + [anon_sym_enum] = ACTIONS(2707), + [anon_sym_class] = ACTIONS(2707), + [anon_sym_struct] = ACTIONS(2707), + [anon_sym_union] = ACTIONS(2707), + [anon_sym_if] = ACTIONS(2707), + [anon_sym_else] = ACTIONS(2707), + [anon_sym_switch] = ACTIONS(2707), + [anon_sym_case] = ACTIONS(2707), + [anon_sym_default] = ACTIONS(2707), + [anon_sym_while] = ACTIONS(2707), + [anon_sym_do] = ACTIONS(2707), + [anon_sym_for] = ACTIONS(2707), + [anon_sym_return] = ACTIONS(2707), + [anon_sym_break] = ACTIONS(2707), + [anon_sym_continue] = ACTIONS(2707), + [anon_sym_goto] = ACTIONS(2707), + [anon_sym___try] = ACTIONS(2707), + [anon_sym___leave] = ACTIONS(2707), + [anon_sym_not] = ACTIONS(2707), + [anon_sym_compl] = ACTIONS(2707), + [anon_sym_DASH_DASH] = ACTIONS(2709), + [anon_sym_PLUS_PLUS] = ACTIONS(2709), + [anon_sym_sizeof] = ACTIONS(2707), + [anon_sym___alignof__] = ACTIONS(2707), + [anon_sym___alignof] = ACTIONS(2707), + [anon_sym__alignof] = ACTIONS(2707), + [anon_sym_alignof] = ACTIONS(2707), + [anon_sym__Alignof] = ACTIONS(2707), + [anon_sym_offsetof] = ACTIONS(2707), + [anon_sym__Generic] = ACTIONS(2707), + [anon_sym_asm] = ACTIONS(2707), + [anon_sym___asm__] = ACTIONS(2707), + [sym__number_literal] = ACTIONS(2709), + [anon_sym_L_SQUOTE] = ACTIONS(2709), + [anon_sym_u_SQUOTE] = ACTIONS(2709), + [anon_sym_U_SQUOTE] = ACTIONS(2709), + [anon_sym_u8_SQUOTE] = ACTIONS(2709), + [anon_sym_SQUOTE] = ACTIONS(2709), + [anon_sym_L_DQUOTE] = ACTIONS(2709), + [anon_sym_u_DQUOTE] = ACTIONS(2709), + [anon_sym_U_DQUOTE] = ACTIONS(2709), + [anon_sym_u8_DQUOTE] = ACTIONS(2709), + [anon_sym_DQUOTE] = ACTIONS(2709), + [sym_true] = ACTIONS(2707), + [sym_false] = ACTIONS(2707), + [anon_sym_NULL] = ACTIONS(2707), + [anon_sym_nullptr] = ACTIONS(2707), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2709), + [sym_auto] = ACTIONS(2707), + [anon_sym_decltype] = ACTIONS(2707), + [sym_virtual] = ACTIONS(2707), + [anon_sym_explicit] = ACTIONS(2707), + [anon_sym_typename] = ACTIONS(2707), + [anon_sym_template] = ACTIONS(2707), + [anon_sym_operator] = ACTIONS(2707), + [anon_sym_try] = ACTIONS(2707), + [anon_sym_delete] = ACTIONS(2707), + [anon_sym_throw] = ACTIONS(2707), + [anon_sym_namespace] = ACTIONS(2707), + [anon_sym_using] = ACTIONS(2707), + [anon_sym_static_assert] = ACTIONS(2707), + [anon_sym_concept] = ACTIONS(2707), + [anon_sym_co_return] = ACTIONS(2707), + [anon_sym_co_yield] = ACTIONS(2707), + [anon_sym_R_DQUOTE] = ACTIONS(2709), + [anon_sym_LR_DQUOTE] = ACTIONS(2709), + [anon_sym_uR_DQUOTE] = ACTIONS(2709), + [anon_sym_UR_DQUOTE] = ACTIONS(2709), + [anon_sym_u8R_DQUOTE] = ACTIONS(2709), + [anon_sym_co_await] = ACTIONS(2707), + [anon_sym_new] = ACTIONS(2707), + [anon_sym_requires] = ACTIONS(2707), + [sym_this] = ACTIONS(2707), + }, + [523] = { + [sym__identifier] = ACTIONS(2711), + [aux_sym_preproc_include_token1] = ACTIONS(2711), + [aux_sym_preproc_def_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token1] = ACTIONS(2711), + [aux_sym_preproc_if_token2] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2711), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2711), + [sym_preproc_directive] = ACTIONS(2711), + [anon_sym_LPAREN2] = ACTIONS(2713), + [anon_sym_BANG] = ACTIONS(2713), + [anon_sym_TILDE] = ACTIONS(2713), + [anon_sym_DASH] = ACTIONS(2711), + [anon_sym_PLUS] = ACTIONS(2711), + [anon_sym_STAR] = ACTIONS(2713), + [anon_sym_AMP_AMP] = ACTIONS(2713), + [anon_sym_AMP] = ACTIONS(2711), + [anon_sym_SEMI] = ACTIONS(2713), + [anon_sym___extension__] = ACTIONS(2711), + [anon_sym_typedef] = ACTIONS(2711), + [anon_sym_extern] = ACTIONS(2711), + [anon_sym___attribute__] = ACTIONS(2711), + [anon_sym_COLON_COLON] = ACTIONS(2713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2713), + [anon_sym___declspec] = ACTIONS(2711), + [anon_sym___based] = ACTIONS(2711), + [anon_sym___cdecl] = ACTIONS(2711), + [anon_sym___clrcall] = ACTIONS(2711), + [anon_sym___stdcall] = ACTIONS(2711), + [anon_sym___fastcall] = ACTIONS(2711), + [anon_sym___thiscall] = ACTIONS(2711), + [anon_sym___vectorcall] = ACTIONS(2711), + [anon_sym_LBRACE] = ACTIONS(2713), + [anon_sym_signed] = ACTIONS(2711), + [anon_sym_unsigned] = ACTIONS(2711), + [anon_sym_long] = ACTIONS(2711), + [anon_sym_short] = ACTIONS(2711), + [anon_sym_LBRACK] = ACTIONS(2711), + [anon_sym_static] = ACTIONS(2711), + [anon_sym_register] = ACTIONS(2711), + [anon_sym_inline] = ACTIONS(2711), + [anon_sym___inline] = ACTIONS(2711), + [anon_sym___inline__] = ACTIONS(2711), + [anon_sym___forceinline] = ACTIONS(2711), + [anon_sym_thread_local] = ACTIONS(2711), + [anon_sym___thread] = ACTIONS(2711), + [anon_sym_const] = ACTIONS(2711), + [anon_sym_constexpr] = ACTIONS(2711), + [anon_sym_volatile] = ACTIONS(2711), + [anon_sym_restrict] = ACTIONS(2711), + [anon_sym___restrict__] = ACTIONS(2711), + [anon_sym__Atomic] = ACTIONS(2711), + [anon_sym__Noreturn] = ACTIONS(2711), + [anon_sym_noreturn] = ACTIONS(2711), + [anon_sym_mutable] = ACTIONS(2711), + [anon_sym_constinit] = ACTIONS(2711), + [anon_sym_consteval] = ACTIONS(2711), + [anon_sym_alignas] = ACTIONS(2711), + [anon_sym__Alignas] = ACTIONS(2711), + [sym_primitive_type] = ACTIONS(2711), + [anon_sym_enum] = ACTIONS(2711), + [anon_sym_class] = ACTIONS(2711), + [anon_sym_struct] = ACTIONS(2711), + [anon_sym_union] = ACTIONS(2711), + [anon_sym_if] = ACTIONS(2711), + [anon_sym_else] = ACTIONS(2711), + [anon_sym_switch] = ACTIONS(2711), + [anon_sym_case] = ACTIONS(2711), + [anon_sym_default] = ACTIONS(2711), + [anon_sym_while] = ACTIONS(2711), + [anon_sym_do] = ACTIONS(2711), + [anon_sym_for] = ACTIONS(2711), + [anon_sym_return] = ACTIONS(2711), + [anon_sym_break] = ACTIONS(2711), + [anon_sym_continue] = ACTIONS(2711), + [anon_sym_goto] = ACTIONS(2711), + [anon_sym___try] = ACTIONS(2711), + [anon_sym___leave] = ACTIONS(2711), + [anon_sym_not] = ACTIONS(2711), + [anon_sym_compl] = ACTIONS(2711), + [anon_sym_DASH_DASH] = ACTIONS(2713), + [anon_sym_PLUS_PLUS] = ACTIONS(2713), + [anon_sym_sizeof] = ACTIONS(2711), + [anon_sym___alignof__] = ACTIONS(2711), + [anon_sym___alignof] = ACTIONS(2711), + [anon_sym__alignof] = ACTIONS(2711), + [anon_sym_alignof] = ACTIONS(2711), + [anon_sym__Alignof] = ACTIONS(2711), + [anon_sym_offsetof] = ACTIONS(2711), + [anon_sym__Generic] = ACTIONS(2711), + [anon_sym_asm] = ACTIONS(2711), + [anon_sym___asm__] = ACTIONS(2711), + [sym__number_literal] = ACTIONS(2713), + [anon_sym_L_SQUOTE] = ACTIONS(2713), + [anon_sym_u_SQUOTE] = ACTIONS(2713), + [anon_sym_U_SQUOTE] = ACTIONS(2713), + [anon_sym_u8_SQUOTE] = ACTIONS(2713), + [anon_sym_SQUOTE] = ACTIONS(2713), + [anon_sym_L_DQUOTE] = ACTIONS(2713), + [anon_sym_u_DQUOTE] = ACTIONS(2713), + [anon_sym_U_DQUOTE] = ACTIONS(2713), + [anon_sym_u8_DQUOTE] = ACTIONS(2713), + [anon_sym_DQUOTE] = ACTIONS(2713), + [sym_true] = ACTIONS(2711), + [sym_false] = ACTIONS(2711), + [anon_sym_NULL] = ACTIONS(2711), + [anon_sym_nullptr] = ACTIONS(2711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2713), + [sym_auto] = ACTIONS(2711), + [anon_sym_decltype] = ACTIONS(2711), + [sym_virtual] = ACTIONS(2711), + [anon_sym_explicit] = ACTIONS(2711), + [anon_sym_typename] = ACTIONS(2711), + [anon_sym_template] = ACTIONS(2711), + [anon_sym_operator] = ACTIONS(2711), + [anon_sym_try] = ACTIONS(2711), + [anon_sym_delete] = ACTIONS(2711), + [anon_sym_throw] = ACTIONS(2711), + [anon_sym_namespace] = ACTIONS(2711), + [anon_sym_using] = ACTIONS(2711), + [anon_sym_static_assert] = ACTIONS(2711), + [anon_sym_concept] = ACTIONS(2711), + [anon_sym_co_return] = ACTIONS(2711), + [anon_sym_co_yield] = ACTIONS(2711), + [anon_sym_R_DQUOTE] = ACTIONS(2713), + [anon_sym_LR_DQUOTE] = ACTIONS(2713), + [anon_sym_uR_DQUOTE] = ACTIONS(2713), + [anon_sym_UR_DQUOTE] = ACTIONS(2713), + [anon_sym_u8R_DQUOTE] = ACTIONS(2713), + [anon_sym_co_await] = ACTIONS(2711), + [anon_sym_new] = ACTIONS(2711), + [anon_sym_requires] = ACTIONS(2711), + [sym_this] = ACTIONS(2711), + }, + [524] = { + [ts_builtin_sym_end] = ACTIONS(2753), + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_include_token1] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_BANG] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_DASH] = ACTIONS(2751), + [anon_sym_PLUS] = ACTIONS(2751), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym_SEMI] = ACTIONS(2753), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym___cdecl] = ACTIONS(2751), + [anon_sym___clrcall] = ACTIONS(2751), + [anon_sym___stdcall] = ACTIONS(2751), + [anon_sym___fastcall] = ACTIONS(2751), + [anon_sym___thiscall] = ACTIONS(2751), + [anon_sym___vectorcall] = ACTIONS(2751), + [anon_sym_LBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [anon_sym_if] = ACTIONS(2751), + [anon_sym_else] = ACTIONS(2751), + [anon_sym_switch] = ACTIONS(2751), + [anon_sym_case] = ACTIONS(2751), + [anon_sym_default] = ACTIONS(2751), + [anon_sym_while] = ACTIONS(2751), + [anon_sym_do] = ACTIONS(2751), + [anon_sym_for] = ACTIONS(2751), + [anon_sym_return] = ACTIONS(2751), + [anon_sym_break] = ACTIONS(2751), + [anon_sym_continue] = ACTIONS(2751), + [anon_sym_goto] = ACTIONS(2751), + [anon_sym___try] = ACTIONS(2751), + [anon_sym___leave] = ACTIONS(2751), + [anon_sym_not] = ACTIONS(2751), + [anon_sym_compl] = ACTIONS(2751), + [anon_sym_DASH_DASH] = ACTIONS(2753), + [anon_sym_PLUS_PLUS] = ACTIONS(2753), + [anon_sym_sizeof] = ACTIONS(2751), + [anon_sym___alignof__] = ACTIONS(2751), + [anon_sym___alignof] = ACTIONS(2751), + [anon_sym__alignof] = ACTIONS(2751), + [anon_sym_alignof] = ACTIONS(2751), + [anon_sym__Alignof] = ACTIONS(2751), + [anon_sym_offsetof] = ACTIONS(2751), + [anon_sym__Generic] = ACTIONS(2751), + [anon_sym_asm] = ACTIONS(2751), + [anon_sym___asm__] = ACTIONS(2751), + [sym__number_literal] = ACTIONS(2753), + [anon_sym_L_SQUOTE] = ACTIONS(2753), + [anon_sym_u_SQUOTE] = ACTIONS(2753), + [anon_sym_U_SQUOTE] = ACTIONS(2753), + [anon_sym_u8_SQUOTE] = ACTIONS(2753), + [anon_sym_SQUOTE] = ACTIONS(2753), + [anon_sym_L_DQUOTE] = ACTIONS(2753), + [anon_sym_u_DQUOTE] = ACTIONS(2753), + [anon_sym_U_DQUOTE] = ACTIONS(2753), + [anon_sym_u8_DQUOTE] = ACTIONS(2753), + [anon_sym_DQUOTE] = ACTIONS(2753), + [sym_true] = ACTIONS(2751), + [sym_false] = ACTIONS(2751), + [anon_sym_NULL] = ACTIONS(2751), + [anon_sym_nullptr] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_try] = ACTIONS(2751), + [anon_sym_delete] = ACTIONS(2751), + [anon_sym_throw] = ACTIONS(2751), + [anon_sym_namespace] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + [anon_sym_concept] = ACTIONS(2751), + [anon_sym_co_return] = ACTIONS(2751), + [anon_sym_co_yield] = ACTIONS(2751), + [anon_sym_R_DQUOTE] = ACTIONS(2753), + [anon_sym_LR_DQUOTE] = ACTIONS(2753), + [anon_sym_uR_DQUOTE] = ACTIONS(2753), + [anon_sym_UR_DQUOTE] = ACTIONS(2753), + [anon_sym_u8R_DQUOTE] = ACTIONS(2753), + [anon_sym_co_await] = ACTIONS(2751), + [anon_sym_new] = ACTIONS(2751), + [anon_sym_requires] = ACTIONS(2751), + [sym_this] = ACTIONS(2751), + }, + [525] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_include_token1] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_BANG] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_DASH] = ACTIONS(2695), + [anon_sym_PLUS] = ACTIONS(2695), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym_SEMI] = ACTIONS(2697), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym___cdecl] = ACTIONS(2695), + [anon_sym___clrcall] = ACTIONS(2695), + [anon_sym___stdcall] = ACTIONS(2695), + [anon_sym___fastcall] = ACTIONS(2695), + [anon_sym___thiscall] = ACTIONS(2695), + [anon_sym___vectorcall] = ACTIONS(2695), + [anon_sym_LBRACE] = ACTIONS(2697), + [anon_sym_RBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [anon_sym_if] = ACTIONS(2695), + [anon_sym_else] = ACTIONS(2695), + [anon_sym_switch] = ACTIONS(2695), + [anon_sym_case] = ACTIONS(2695), + [anon_sym_default] = ACTIONS(2695), + [anon_sym_while] = ACTIONS(2695), + [anon_sym_do] = ACTIONS(2695), + [anon_sym_for] = ACTIONS(2695), + [anon_sym_return] = ACTIONS(2695), + [anon_sym_break] = ACTIONS(2695), + [anon_sym_continue] = ACTIONS(2695), + [anon_sym_goto] = ACTIONS(2695), + [anon_sym___try] = ACTIONS(2695), + [anon_sym___leave] = ACTIONS(2695), + [anon_sym_not] = ACTIONS(2695), + [anon_sym_compl] = ACTIONS(2695), + [anon_sym_DASH_DASH] = ACTIONS(2697), + [anon_sym_PLUS_PLUS] = ACTIONS(2697), + [anon_sym_sizeof] = ACTIONS(2695), + [anon_sym___alignof__] = ACTIONS(2695), + [anon_sym___alignof] = ACTIONS(2695), + [anon_sym__alignof] = ACTIONS(2695), + [anon_sym_alignof] = ACTIONS(2695), + [anon_sym__Alignof] = ACTIONS(2695), + [anon_sym_offsetof] = ACTIONS(2695), + [anon_sym__Generic] = ACTIONS(2695), + [anon_sym_asm] = ACTIONS(2695), + [anon_sym___asm__] = ACTIONS(2695), + [sym__number_literal] = ACTIONS(2697), + [anon_sym_L_SQUOTE] = ACTIONS(2697), + [anon_sym_u_SQUOTE] = ACTIONS(2697), + [anon_sym_U_SQUOTE] = ACTIONS(2697), + [anon_sym_u8_SQUOTE] = ACTIONS(2697), + [anon_sym_SQUOTE] = ACTIONS(2697), + [anon_sym_L_DQUOTE] = ACTIONS(2697), + [anon_sym_u_DQUOTE] = ACTIONS(2697), + [anon_sym_U_DQUOTE] = ACTIONS(2697), + [anon_sym_u8_DQUOTE] = ACTIONS(2697), + [anon_sym_DQUOTE] = ACTIONS(2697), + [sym_true] = ACTIONS(2695), + [sym_false] = ACTIONS(2695), + [anon_sym_NULL] = ACTIONS(2695), + [anon_sym_nullptr] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_try] = ACTIONS(2695), + [anon_sym_delete] = ACTIONS(2695), + [anon_sym_throw] = ACTIONS(2695), + [anon_sym_namespace] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + [anon_sym_concept] = ACTIONS(2695), + [anon_sym_co_return] = ACTIONS(2695), + [anon_sym_co_yield] = ACTIONS(2695), + [anon_sym_R_DQUOTE] = ACTIONS(2697), + [anon_sym_LR_DQUOTE] = ACTIONS(2697), + [anon_sym_uR_DQUOTE] = ACTIONS(2697), + [anon_sym_UR_DQUOTE] = ACTIONS(2697), + [anon_sym_u8R_DQUOTE] = ACTIONS(2697), + [anon_sym_co_await] = ACTIONS(2695), + [anon_sym_new] = ACTIONS(2695), + [anon_sym_requires] = ACTIONS(2695), + [sym_this] = ACTIONS(2695), + }, + [526] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_RBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [527] = { + [sym__identifier] = ACTIONS(2763), + [aux_sym_preproc_include_token1] = ACTIONS(2763), + [aux_sym_preproc_def_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token1] = ACTIONS(2763), + [aux_sym_preproc_if_token2] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2763), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2763), + [sym_preproc_directive] = ACTIONS(2763), + [anon_sym_LPAREN2] = ACTIONS(2765), + [anon_sym_BANG] = ACTIONS(2765), + [anon_sym_TILDE] = ACTIONS(2765), + [anon_sym_DASH] = ACTIONS(2763), + [anon_sym_PLUS] = ACTIONS(2763), + [anon_sym_STAR] = ACTIONS(2765), + [anon_sym_AMP_AMP] = ACTIONS(2765), + [anon_sym_AMP] = ACTIONS(2763), + [anon_sym_SEMI] = ACTIONS(2765), + [anon_sym___extension__] = ACTIONS(2763), + [anon_sym_typedef] = ACTIONS(2763), + [anon_sym_extern] = ACTIONS(2763), + [anon_sym___attribute__] = ACTIONS(2763), + [anon_sym_COLON_COLON] = ACTIONS(2765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2765), + [anon_sym___declspec] = ACTIONS(2763), + [anon_sym___based] = ACTIONS(2763), + [anon_sym___cdecl] = ACTIONS(2763), + [anon_sym___clrcall] = ACTIONS(2763), + [anon_sym___stdcall] = ACTIONS(2763), + [anon_sym___fastcall] = ACTIONS(2763), + [anon_sym___thiscall] = ACTIONS(2763), + [anon_sym___vectorcall] = ACTIONS(2763), + [anon_sym_LBRACE] = ACTIONS(2765), + [anon_sym_signed] = ACTIONS(2763), + [anon_sym_unsigned] = ACTIONS(2763), + [anon_sym_long] = ACTIONS(2763), + [anon_sym_short] = ACTIONS(2763), + [anon_sym_LBRACK] = ACTIONS(2763), + [anon_sym_static] = ACTIONS(2763), + [anon_sym_register] = ACTIONS(2763), + [anon_sym_inline] = ACTIONS(2763), + [anon_sym___inline] = ACTIONS(2763), + [anon_sym___inline__] = ACTIONS(2763), + [anon_sym___forceinline] = ACTIONS(2763), + [anon_sym_thread_local] = ACTIONS(2763), + [anon_sym___thread] = ACTIONS(2763), + [anon_sym_const] = ACTIONS(2763), + [anon_sym_constexpr] = ACTIONS(2763), + [anon_sym_volatile] = ACTIONS(2763), + [anon_sym_restrict] = ACTIONS(2763), + [anon_sym___restrict__] = ACTIONS(2763), + [anon_sym__Atomic] = ACTIONS(2763), + [anon_sym__Noreturn] = ACTIONS(2763), + [anon_sym_noreturn] = ACTIONS(2763), + [anon_sym_mutable] = ACTIONS(2763), + [anon_sym_constinit] = ACTIONS(2763), + [anon_sym_consteval] = ACTIONS(2763), + [anon_sym_alignas] = ACTIONS(2763), + [anon_sym__Alignas] = ACTIONS(2763), + [sym_primitive_type] = ACTIONS(2763), + [anon_sym_enum] = ACTIONS(2763), + [anon_sym_class] = ACTIONS(2763), + [anon_sym_struct] = ACTIONS(2763), + [anon_sym_union] = ACTIONS(2763), + [anon_sym_if] = ACTIONS(2763), + [anon_sym_else] = ACTIONS(2763), + [anon_sym_switch] = ACTIONS(2763), + [anon_sym_case] = ACTIONS(2763), + [anon_sym_default] = ACTIONS(2763), + [anon_sym_while] = ACTIONS(2763), + [anon_sym_do] = ACTIONS(2763), + [anon_sym_for] = ACTIONS(2763), + [anon_sym_return] = ACTIONS(2763), + [anon_sym_break] = ACTIONS(2763), + [anon_sym_continue] = ACTIONS(2763), + [anon_sym_goto] = ACTIONS(2763), + [anon_sym___try] = ACTIONS(2763), + [anon_sym___leave] = ACTIONS(2763), + [anon_sym_not] = ACTIONS(2763), + [anon_sym_compl] = ACTIONS(2763), + [anon_sym_DASH_DASH] = ACTIONS(2765), + [anon_sym_PLUS_PLUS] = ACTIONS(2765), + [anon_sym_sizeof] = ACTIONS(2763), + [anon_sym___alignof__] = ACTIONS(2763), + [anon_sym___alignof] = ACTIONS(2763), + [anon_sym__alignof] = ACTIONS(2763), + [anon_sym_alignof] = ACTIONS(2763), + [anon_sym__Alignof] = ACTIONS(2763), + [anon_sym_offsetof] = ACTIONS(2763), + [anon_sym__Generic] = ACTIONS(2763), + [anon_sym_asm] = ACTIONS(2763), + [anon_sym___asm__] = ACTIONS(2763), + [sym__number_literal] = ACTIONS(2765), + [anon_sym_L_SQUOTE] = ACTIONS(2765), + [anon_sym_u_SQUOTE] = ACTIONS(2765), + [anon_sym_U_SQUOTE] = ACTIONS(2765), + [anon_sym_u8_SQUOTE] = ACTIONS(2765), + [anon_sym_SQUOTE] = ACTIONS(2765), + [anon_sym_L_DQUOTE] = ACTIONS(2765), + [anon_sym_u_DQUOTE] = ACTIONS(2765), + [anon_sym_U_DQUOTE] = ACTIONS(2765), + [anon_sym_u8_DQUOTE] = ACTIONS(2765), + [anon_sym_DQUOTE] = ACTIONS(2765), + [sym_true] = ACTIONS(2763), + [sym_false] = ACTIONS(2763), + [anon_sym_NULL] = ACTIONS(2763), + [anon_sym_nullptr] = ACTIONS(2763), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2765), + [sym_auto] = ACTIONS(2763), + [anon_sym_decltype] = ACTIONS(2763), + [sym_virtual] = ACTIONS(2763), + [anon_sym_explicit] = ACTIONS(2763), + [anon_sym_typename] = ACTIONS(2763), + [anon_sym_template] = ACTIONS(2763), + [anon_sym_operator] = ACTIONS(2763), + [anon_sym_try] = ACTIONS(2763), + [anon_sym_delete] = ACTIONS(2763), + [anon_sym_throw] = ACTIONS(2763), + [anon_sym_namespace] = ACTIONS(2763), + [anon_sym_using] = ACTIONS(2763), + [anon_sym_static_assert] = ACTIONS(2763), + [anon_sym_concept] = ACTIONS(2763), + [anon_sym_co_return] = ACTIONS(2763), + [anon_sym_co_yield] = ACTIONS(2763), + [anon_sym_R_DQUOTE] = ACTIONS(2765), + [anon_sym_LR_DQUOTE] = ACTIONS(2765), + [anon_sym_uR_DQUOTE] = ACTIONS(2765), + [anon_sym_UR_DQUOTE] = ACTIONS(2765), + [anon_sym_u8R_DQUOTE] = ACTIONS(2765), + [anon_sym_co_await] = ACTIONS(2763), + [anon_sym_new] = ACTIONS(2763), + [anon_sym_requires] = ACTIONS(2763), + [sym_this] = ACTIONS(2763), + }, + [528] = { + [sym__identifier] = ACTIONS(3058), + [aux_sym_preproc_include_token1] = ACTIONS(3058), + [aux_sym_preproc_def_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token2] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3058), + [sym_preproc_directive] = ACTIONS(3058), + [anon_sym_LPAREN2] = ACTIONS(3060), + [anon_sym_BANG] = ACTIONS(3060), + [anon_sym_TILDE] = ACTIONS(3060), + [anon_sym_DASH] = ACTIONS(3058), + [anon_sym_PLUS] = ACTIONS(3058), + [anon_sym_STAR] = ACTIONS(3060), + [anon_sym_AMP_AMP] = ACTIONS(3060), + [anon_sym_AMP] = ACTIONS(3058), + [anon_sym_SEMI] = ACTIONS(3060), + [anon_sym___extension__] = ACTIONS(3058), + [anon_sym_typedef] = ACTIONS(3058), + [anon_sym_extern] = ACTIONS(3058), + [anon_sym___attribute__] = ACTIONS(3058), + [anon_sym_COLON_COLON] = ACTIONS(3060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3060), + [anon_sym___declspec] = ACTIONS(3058), + [anon_sym___based] = ACTIONS(3058), + [anon_sym___cdecl] = ACTIONS(3058), + [anon_sym___clrcall] = ACTIONS(3058), + [anon_sym___stdcall] = ACTIONS(3058), + [anon_sym___fastcall] = ACTIONS(3058), + [anon_sym___thiscall] = ACTIONS(3058), + [anon_sym___vectorcall] = ACTIONS(3058), + [anon_sym_LBRACE] = ACTIONS(3060), + [anon_sym_signed] = ACTIONS(3058), + [anon_sym_unsigned] = ACTIONS(3058), + [anon_sym_long] = ACTIONS(3058), + [anon_sym_short] = ACTIONS(3058), + [anon_sym_LBRACK] = ACTIONS(3058), + [anon_sym_static] = ACTIONS(3058), + [anon_sym_register] = ACTIONS(3058), + [anon_sym_inline] = ACTIONS(3058), + [anon_sym___inline] = ACTIONS(3058), + [anon_sym___inline__] = ACTIONS(3058), + [anon_sym___forceinline] = ACTIONS(3058), + [anon_sym_thread_local] = ACTIONS(3058), + [anon_sym___thread] = ACTIONS(3058), + [anon_sym_const] = ACTIONS(3058), + [anon_sym_constexpr] = ACTIONS(3058), + [anon_sym_volatile] = ACTIONS(3058), + [anon_sym_restrict] = ACTIONS(3058), + [anon_sym___restrict__] = ACTIONS(3058), + [anon_sym__Atomic] = ACTIONS(3058), + [anon_sym__Noreturn] = ACTIONS(3058), + [anon_sym_noreturn] = ACTIONS(3058), + [anon_sym_mutable] = ACTIONS(3058), + [anon_sym_constinit] = ACTIONS(3058), + [anon_sym_consteval] = ACTIONS(3058), + [anon_sym_alignas] = ACTIONS(3058), + [anon_sym__Alignas] = ACTIONS(3058), + [sym_primitive_type] = ACTIONS(3058), + [anon_sym_enum] = ACTIONS(3058), + [anon_sym_class] = ACTIONS(3058), + [anon_sym_struct] = ACTIONS(3058), + [anon_sym_union] = ACTIONS(3058), + [anon_sym_if] = ACTIONS(3058), + [anon_sym_switch] = ACTIONS(3058), + [anon_sym_case] = ACTIONS(3058), + [anon_sym_default] = ACTIONS(3058), + [anon_sym_while] = ACTIONS(3058), + [anon_sym_do] = ACTIONS(3058), + [anon_sym_for] = ACTIONS(3058), + [anon_sym_return] = ACTIONS(3058), + [anon_sym_break] = ACTIONS(3058), + [anon_sym_continue] = ACTIONS(3058), + [anon_sym_goto] = ACTIONS(3058), + [anon_sym___try] = ACTIONS(3058), + [anon_sym___leave] = ACTIONS(3058), + [anon_sym_not] = ACTIONS(3058), + [anon_sym_compl] = ACTIONS(3058), + [anon_sym_DASH_DASH] = ACTIONS(3060), + [anon_sym_PLUS_PLUS] = ACTIONS(3060), + [anon_sym_sizeof] = ACTIONS(3058), + [anon_sym___alignof__] = ACTIONS(3058), + [anon_sym___alignof] = ACTIONS(3058), + [anon_sym__alignof] = ACTIONS(3058), + [anon_sym_alignof] = ACTIONS(3058), + [anon_sym__Alignof] = ACTIONS(3058), + [anon_sym_offsetof] = ACTIONS(3058), + [anon_sym__Generic] = ACTIONS(3058), + [anon_sym_asm] = ACTIONS(3058), + [anon_sym___asm__] = ACTIONS(3058), + [sym__number_literal] = ACTIONS(3060), + [anon_sym_L_SQUOTE] = ACTIONS(3060), + [anon_sym_u_SQUOTE] = ACTIONS(3060), + [anon_sym_U_SQUOTE] = ACTIONS(3060), + [anon_sym_u8_SQUOTE] = ACTIONS(3060), + [anon_sym_SQUOTE] = ACTIONS(3060), + [anon_sym_L_DQUOTE] = ACTIONS(3060), + [anon_sym_u_DQUOTE] = ACTIONS(3060), + [anon_sym_U_DQUOTE] = ACTIONS(3060), + [anon_sym_u8_DQUOTE] = ACTIONS(3060), + [anon_sym_DQUOTE] = ACTIONS(3060), + [sym_true] = ACTIONS(3058), + [sym_false] = ACTIONS(3058), + [anon_sym_NULL] = ACTIONS(3058), + [anon_sym_nullptr] = ACTIONS(3058), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3060), + [sym_auto] = ACTIONS(3058), + [anon_sym_decltype] = ACTIONS(3058), + [sym_virtual] = ACTIONS(3058), + [anon_sym_explicit] = ACTIONS(3058), + [anon_sym_typename] = ACTIONS(3058), + [anon_sym_template] = ACTIONS(3058), + [anon_sym_operator] = ACTIONS(3058), + [anon_sym_try] = ACTIONS(3058), + [anon_sym_delete] = ACTIONS(3058), + [anon_sym_throw] = ACTIONS(3058), + [anon_sym_namespace] = ACTIONS(3058), + [anon_sym_using] = ACTIONS(3058), + [anon_sym_static_assert] = ACTIONS(3058), + [anon_sym_concept] = ACTIONS(3058), + [anon_sym_co_return] = ACTIONS(3058), + [anon_sym_co_yield] = ACTIONS(3058), + [anon_sym_R_DQUOTE] = ACTIONS(3060), + [anon_sym_LR_DQUOTE] = ACTIONS(3060), + [anon_sym_uR_DQUOTE] = ACTIONS(3060), + [anon_sym_UR_DQUOTE] = ACTIONS(3060), + [anon_sym_u8R_DQUOTE] = ACTIONS(3060), + [anon_sym_co_await] = ACTIONS(3058), + [anon_sym_new] = ACTIONS(3058), + [anon_sym_requires] = ACTIONS(3058), + [sym_this] = ACTIONS(3058), + }, + [529] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_include_token1] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_BANG] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_DASH] = ACTIONS(2932), + [anon_sym_PLUS] = ACTIONS(2932), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym_SEMI] = ACTIONS(2934), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym___cdecl] = ACTIONS(2932), + [anon_sym___clrcall] = ACTIONS(2932), + [anon_sym___stdcall] = ACTIONS(2932), + [anon_sym___fastcall] = ACTIONS(2932), + [anon_sym___thiscall] = ACTIONS(2932), + [anon_sym___vectorcall] = ACTIONS(2932), + [anon_sym_LBRACE] = ACTIONS(2934), + [anon_sym_RBRACE] = ACTIONS(2934), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [anon_sym_if] = ACTIONS(2932), + [anon_sym_switch] = ACTIONS(2932), + [anon_sym_case] = ACTIONS(2932), + [anon_sym_default] = ACTIONS(2932), + [anon_sym_while] = ACTIONS(2932), + [anon_sym_do] = ACTIONS(2932), + [anon_sym_for] = ACTIONS(2932), + [anon_sym_return] = ACTIONS(2932), + [anon_sym_break] = ACTIONS(2932), + [anon_sym_continue] = ACTIONS(2932), + [anon_sym_goto] = ACTIONS(2932), + [anon_sym___try] = ACTIONS(2932), + [anon_sym___leave] = ACTIONS(2932), + [anon_sym_not] = ACTIONS(2932), + [anon_sym_compl] = ACTIONS(2932), + [anon_sym_DASH_DASH] = ACTIONS(2934), + [anon_sym_PLUS_PLUS] = ACTIONS(2934), + [anon_sym_sizeof] = ACTIONS(2932), + [anon_sym___alignof__] = ACTIONS(2932), + [anon_sym___alignof] = ACTIONS(2932), + [anon_sym__alignof] = ACTIONS(2932), + [anon_sym_alignof] = ACTIONS(2932), + [anon_sym__Alignof] = ACTIONS(2932), + [anon_sym_offsetof] = ACTIONS(2932), + [anon_sym__Generic] = ACTIONS(2932), + [anon_sym_asm] = ACTIONS(2932), + [anon_sym___asm__] = ACTIONS(2932), + [sym__number_literal] = ACTIONS(2934), + [anon_sym_L_SQUOTE] = ACTIONS(2934), + [anon_sym_u_SQUOTE] = ACTIONS(2934), + [anon_sym_U_SQUOTE] = ACTIONS(2934), + [anon_sym_u8_SQUOTE] = ACTIONS(2934), + [anon_sym_SQUOTE] = ACTIONS(2934), + [anon_sym_L_DQUOTE] = ACTIONS(2934), + [anon_sym_u_DQUOTE] = ACTIONS(2934), + [anon_sym_U_DQUOTE] = ACTIONS(2934), + [anon_sym_u8_DQUOTE] = ACTIONS(2934), + [anon_sym_DQUOTE] = ACTIONS(2934), + [sym_true] = ACTIONS(2932), + [sym_false] = ACTIONS(2932), + [anon_sym_NULL] = ACTIONS(2932), + [anon_sym_nullptr] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_try] = ACTIONS(2932), + [anon_sym_delete] = ACTIONS(2932), + [anon_sym_throw] = ACTIONS(2932), + [anon_sym_namespace] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + [anon_sym_concept] = ACTIONS(2932), + [anon_sym_co_return] = ACTIONS(2932), + [anon_sym_co_yield] = ACTIONS(2932), + [anon_sym_R_DQUOTE] = ACTIONS(2934), + [anon_sym_LR_DQUOTE] = ACTIONS(2934), + [anon_sym_uR_DQUOTE] = ACTIONS(2934), + [anon_sym_UR_DQUOTE] = ACTIONS(2934), + [anon_sym_u8R_DQUOTE] = ACTIONS(2934), + [anon_sym_co_await] = ACTIONS(2932), + [anon_sym_new] = ACTIONS(2932), + [anon_sym_requires] = ACTIONS(2932), + [sym_this] = ACTIONS(2932), + }, + [530] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_include_token1] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token2] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_BANG] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_DASH] = ACTIONS(2829), + [anon_sym_PLUS] = ACTIONS(2829), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym_SEMI] = ACTIONS(2831), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym___cdecl] = ACTIONS(2829), + [anon_sym___clrcall] = ACTIONS(2829), + [anon_sym___stdcall] = ACTIONS(2829), + [anon_sym___fastcall] = ACTIONS(2829), + [anon_sym___thiscall] = ACTIONS(2829), + [anon_sym___vectorcall] = ACTIONS(2829), + [anon_sym_LBRACE] = ACTIONS(2831), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [anon_sym_if] = ACTIONS(2829), + [anon_sym_switch] = ACTIONS(2829), + [anon_sym_case] = ACTIONS(2829), + [anon_sym_default] = ACTIONS(2829), + [anon_sym_while] = ACTIONS(2829), + [anon_sym_do] = ACTIONS(2829), + [anon_sym_for] = ACTIONS(2829), + [anon_sym_return] = ACTIONS(2829), + [anon_sym_break] = ACTIONS(2829), + [anon_sym_continue] = ACTIONS(2829), + [anon_sym_goto] = ACTIONS(2829), + [anon_sym___try] = ACTIONS(2829), + [anon_sym___leave] = ACTIONS(2829), + [anon_sym_not] = ACTIONS(2829), + [anon_sym_compl] = ACTIONS(2829), + [anon_sym_DASH_DASH] = ACTIONS(2831), + [anon_sym_PLUS_PLUS] = ACTIONS(2831), + [anon_sym_sizeof] = ACTIONS(2829), + [anon_sym___alignof__] = ACTIONS(2829), + [anon_sym___alignof] = ACTIONS(2829), + [anon_sym__alignof] = ACTIONS(2829), + [anon_sym_alignof] = ACTIONS(2829), + [anon_sym__Alignof] = ACTIONS(2829), + [anon_sym_offsetof] = ACTIONS(2829), + [anon_sym__Generic] = ACTIONS(2829), + [anon_sym_asm] = ACTIONS(2829), + [anon_sym___asm__] = ACTIONS(2829), + [sym__number_literal] = ACTIONS(2831), + [anon_sym_L_SQUOTE] = ACTIONS(2831), + [anon_sym_u_SQUOTE] = ACTIONS(2831), + [anon_sym_U_SQUOTE] = ACTIONS(2831), + [anon_sym_u8_SQUOTE] = ACTIONS(2831), + [anon_sym_SQUOTE] = ACTIONS(2831), + [anon_sym_L_DQUOTE] = ACTIONS(2831), + [anon_sym_u_DQUOTE] = ACTIONS(2831), + [anon_sym_U_DQUOTE] = ACTIONS(2831), + [anon_sym_u8_DQUOTE] = ACTIONS(2831), + [anon_sym_DQUOTE] = ACTIONS(2831), + [sym_true] = ACTIONS(2829), + [sym_false] = ACTIONS(2829), + [anon_sym_NULL] = ACTIONS(2829), + [anon_sym_nullptr] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_try] = ACTIONS(2829), + [anon_sym_delete] = ACTIONS(2829), + [anon_sym_throw] = ACTIONS(2829), + [anon_sym_namespace] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + [anon_sym_concept] = ACTIONS(2829), + [anon_sym_co_return] = ACTIONS(2829), + [anon_sym_co_yield] = ACTIONS(2829), + [anon_sym_R_DQUOTE] = ACTIONS(2831), + [anon_sym_LR_DQUOTE] = ACTIONS(2831), + [anon_sym_uR_DQUOTE] = ACTIONS(2831), + [anon_sym_UR_DQUOTE] = ACTIONS(2831), + [anon_sym_u8R_DQUOTE] = ACTIONS(2831), + [anon_sym_co_await] = ACTIONS(2829), + [anon_sym_new] = ACTIONS(2829), + [anon_sym_requires] = ACTIONS(2829), + [sym_this] = ACTIONS(2829), + }, + [531] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_RBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [532] = { + [sym__identifier] = ACTIONS(3031), + [aux_sym_preproc_include_token1] = ACTIONS(3031), + [aux_sym_preproc_def_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3031), + [sym_preproc_directive] = ACTIONS(3031), + [anon_sym_LPAREN2] = ACTIONS(3033), + [anon_sym_BANG] = ACTIONS(3033), + [anon_sym_TILDE] = ACTIONS(3033), + [anon_sym_DASH] = ACTIONS(3031), + [anon_sym_PLUS] = ACTIONS(3031), + [anon_sym_STAR] = ACTIONS(3033), + [anon_sym_AMP_AMP] = ACTIONS(3033), + [anon_sym_AMP] = ACTIONS(3031), + [anon_sym_SEMI] = ACTIONS(3033), + [anon_sym___extension__] = ACTIONS(3031), + [anon_sym_typedef] = ACTIONS(3031), + [anon_sym_extern] = ACTIONS(3031), + [anon_sym___attribute__] = ACTIONS(3031), + [anon_sym_COLON_COLON] = ACTIONS(3033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3033), + [anon_sym___declspec] = ACTIONS(3031), + [anon_sym___based] = ACTIONS(3031), + [anon_sym___cdecl] = ACTIONS(3031), + [anon_sym___clrcall] = ACTIONS(3031), + [anon_sym___stdcall] = ACTIONS(3031), + [anon_sym___fastcall] = ACTIONS(3031), + [anon_sym___thiscall] = ACTIONS(3031), + [anon_sym___vectorcall] = ACTIONS(3031), + [anon_sym_LBRACE] = ACTIONS(3033), + [anon_sym_RBRACE] = ACTIONS(3033), + [anon_sym_signed] = ACTIONS(3031), + [anon_sym_unsigned] = ACTIONS(3031), + [anon_sym_long] = ACTIONS(3031), + [anon_sym_short] = ACTIONS(3031), + [anon_sym_LBRACK] = ACTIONS(3031), + [anon_sym_static] = ACTIONS(3031), + [anon_sym_register] = ACTIONS(3031), + [anon_sym_inline] = ACTIONS(3031), + [anon_sym___inline] = ACTIONS(3031), + [anon_sym___inline__] = ACTIONS(3031), + [anon_sym___forceinline] = ACTIONS(3031), + [anon_sym_thread_local] = ACTIONS(3031), + [anon_sym___thread] = ACTIONS(3031), + [anon_sym_const] = ACTIONS(3031), + [anon_sym_constexpr] = ACTIONS(3031), + [anon_sym_volatile] = ACTIONS(3031), + [anon_sym_restrict] = ACTIONS(3031), + [anon_sym___restrict__] = ACTIONS(3031), + [anon_sym__Atomic] = ACTIONS(3031), + [anon_sym__Noreturn] = ACTIONS(3031), + [anon_sym_noreturn] = ACTIONS(3031), + [anon_sym_mutable] = ACTIONS(3031), + [anon_sym_constinit] = ACTIONS(3031), + [anon_sym_consteval] = ACTIONS(3031), + [anon_sym_alignas] = ACTIONS(3031), + [anon_sym__Alignas] = ACTIONS(3031), + [sym_primitive_type] = ACTIONS(3031), + [anon_sym_enum] = ACTIONS(3031), + [anon_sym_class] = ACTIONS(3031), + [anon_sym_struct] = ACTIONS(3031), + [anon_sym_union] = ACTIONS(3031), + [anon_sym_if] = ACTIONS(3031), + [anon_sym_switch] = ACTIONS(3031), + [anon_sym_case] = ACTIONS(3031), + [anon_sym_default] = ACTIONS(3031), + [anon_sym_while] = ACTIONS(3031), + [anon_sym_do] = ACTIONS(3031), + [anon_sym_for] = ACTIONS(3031), + [anon_sym_return] = ACTIONS(3031), + [anon_sym_break] = ACTIONS(3031), + [anon_sym_continue] = ACTIONS(3031), + [anon_sym_goto] = ACTIONS(3031), + [anon_sym___try] = ACTIONS(3031), + [anon_sym___leave] = ACTIONS(3031), + [anon_sym_not] = ACTIONS(3031), + [anon_sym_compl] = ACTIONS(3031), + [anon_sym_DASH_DASH] = ACTIONS(3033), + [anon_sym_PLUS_PLUS] = ACTIONS(3033), + [anon_sym_sizeof] = ACTIONS(3031), + [anon_sym___alignof__] = ACTIONS(3031), + [anon_sym___alignof] = ACTIONS(3031), + [anon_sym__alignof] = ACTIONS(3031), + [anon_sym_alignof] = ACTIONS(3031), + [anon_sym__Alignof] = ACTIONS(3031), + [anon_sym_offsetof] = ACTIONS(3031), + [anon_sym__Generic] = ACTIONS(3031), + [anon_sym_asm] = ACTIONS(3031), + [anon_sym___asm__] = ACTIONS(3031), + [sym__number_literal] = ACTIONS(3033), + [anon_sym_L_SQUOTE] = ACTIONS(3033), + [anon_sym_u_SQUOTE] = ACTIONS(3033), + [anon_sym_U_SQUOTE] = ACTIONS(3033), + [anon_sym_u8_SQUOTE] = ACTIONS(3033), + [anon_sym_SQUOTE] = ACTIONS(3033), + [anon_sym_L_DQUOTE] = ACTIONS(3033), + [anon_sym_u_DQUOTE] = ACTIONS(3033), + [anon_sym_U_DQUOTE] = ACTIONS(3033), + [anon_sym_u8_DQUOTE] = ACTIONS(3033), + [anon_sym_DQUOTE] = ACTIONS(3033), + [sym_true] = ACTIONS(3031), + [sym_false] = ACTIONS(3031), + [anon_sym_NULL] = ACTIONS(3031), + [anon_sym_nullptr] = ACTIONS(3031), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3033), + [sym_auto] = ACTIONS(3031), + [anon_sym_decltype] = ACTIONS(3031), + [sym_virtual] = ACTIONS(3031), + [anon_sym_explicit] = ACTIONS(3031), + [anon_sym_typename] = ACTIONS(3031), + [anon_sym_template] = ACTIONS(3031), + [anon_sym_operator] = ACTIONS(3031), + [anon_sym_try] = ACTIONS(3031), + [anon_sym_delete] = ACTIONS(3031), + [anon_sym_throw] = ACTIONS(3031), + [anon_sym_namespace] = ACTIONS(3031), + [anon_sym_using] = ACTIONS(3031), + [anon_sym_static_assert] = ACTIONS(3031), + [anon_sym_concept] = ACTIONS(3031), + [anon_sym_co_return] = ACTIONS(3031), + [anon_sym_co_yield] = ACTIONS(3031), + [anon_sym_R_DQUOTE] = ACTIONS(3033), + [anon_sym_LR_DQUOTE] = ACTIONS(3033), + [anon_sym_uR_DQUOTE] = ACTIONS(3033), + [anon_sym_UR_DQUOTE] = ACTIONS(3033), + [anon_sym_u8R_DQUOTE] = ACTIONS(3033), + [anon_sym_co_await] = ACTIONS(3031), + [anon_sym_new] = ACTIONS(3031), + [anon_sym_requires] = ACTIONS(3031), + [sym_this] = ACTIONS(3031), + }, + [533] = { + [sym__identifier] = ACTIONS(3039), + [aux_sym_preproc_include_token1] = ACTIONS(3039), + [aux_sym_preproc_def_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3039), + [sym_preproc_directive] = ACTIONS(3039), + [anon_sym_LPAREN2] = ACTIONS(3041), + [anon_sym_BANG] = ACTIONS(3041), + [anon_sym_TILDE] = ACTIONS(3041), + [anon_sym_DASH] = ACTIONS(3039), + [anon_sym_PLUS] = ACTIONS(3039), + [anon_sym_STAR] = ACTIONS(3041), + [anon_sym_AMP_AMP] = ACTIONS(3041), + [anon_sym_AMP] = ACTIONS(3039), + [anon_sym_SEMI] = ACTIONS(3041), + [anon_sym___extension__] = ACTIONS(3039), + [anon_sym_typedef] = ACTIONS(3039), + [anon_sym_extern] = ACTIONS(3039), + [anon_sym___attribute__] = ACTIONS(3039), + [anon_sym_COLON_COLON] = ACTIONS(3041), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3041), + [anon_sym___declspec] = ACTIONS(3039), + [anon_sym___based] = ACTIONS(3039), + [anon_sym___cdecl] = ACTIONS(3039), + [anon_sym___clrcall] = ACTIONS(3039), + [anon_sym___stdcall] = ACTIONS(3039), + [anon_sym___fastcall] = ACTIONS(3039), + [anon_sym___thiscall] = ACTIONS(3039), + [anon_sym___vectorcall] = ACTIONS(3039), + [anon_sym_LBRACE] = ACTIONS(3041), + [anon_sym_RBRACE] = ACTIONS(3041), + [anon_sym_signed] = ACTIONS(3039), + [anon_sym_unsigned] = ACTIONS(3039), + [anon_sym_long] = ACTIONS(3039), + [anon_sym_short] = ACTIONS(3039), + [anon_sym_LBRACK] = ACTIONS(3039), + [anon_sym_static] = ACTIONS(3039), + [anon_sym_register] = ACTIONS(3039), + [anon_sym_inline] = ACTIONS(3039), + [anon_sym___inline] = ACTIONS(3039), + [anon_sym___inline__] = ACTIONS(3039), + [anon_sym___forceinline] = ACTIONS(3039), + [anon_sym_thread_local] = ACTIONS(3039), + [anon_sym___thread] = ACTIONS(3039), + [anon_sym_const] = ACTIONS(3039), + [anon_sym_constexpr] = ACTIONS(3039), + [anon_sym_volatile] = ACTIONS(3039), + [anon_sym_restrict] = ACTIONS(3039), + [anon_sym___restrict__] = ACTIONS(3039), + [anon_sym__Atomic] = ACTIONS(3039), + [anon_sym__Noreturn] = ACTIONS(3039), + [anon_sym_noreturn] = ACTIONS(3039), + [anon_sym_mutable] = ACTIONS(3039), + [anon_sym_constinit] = ACTIONS(3039), + [anon_sym_consteval] = ACTIONS(3039), + [anon_sym_alignas] = ACTIONS(3039), + [anon_sym__Alignas] = ACTIONS(3039), + [sym_primitive_type] = ACTIONS(3039), + [anon_sym_enum] = ACTIONS(3039), + [anon_sym_class] = ACTIONS(3039), + [anon_sym_struct] = ACTIONS(3039), + [anon_sym_union] = ACTIONS(3039), + [anon_sym_if] = ACTIONS(3039), + [anon_sym_switch] = ACTIONS(3039), + [anon_sym_case] = ACTIONS(3039), + [anon_sym_default] = ACTIONS(3039), + [anon_sym_while] = ACTIONS(3039), + [anon_sym_do] = ACTIONS(3039), + [anon_sym_for] = ACTIONS(3039), + [anon_sym_return] = ACTIONS(3039), + [anon_sym_break] = ACTIONS(3039), + [anon_sym_continue] = ACTIONS(3039), + [anon_sym_goto] = ACTIONS(3039), + [anon_sym___try] = ACTIONS(3039), + [anon_sym___leave] = ACTIONS(3039), + [anon_sym_not] = ACTIONS(3039), + [anon_sym_compl] = ACTIONS(3039), + [anon_sym_DASH_DASH] = ACTIONS(3041), + [anon_sym_PLUS_PLUS] = ACTIONS(3041), + [anon_sym_sizeof] = ACTIONS(3039), + [anon_sym___alignof__] = ACTIONS(3039), + [anon_sym___alignof] = ACTIONS(3039), + [anon_sym__alignof] = ACTIONS(3039), + [anon_sym_alignof] = ACTIONS(3039), + [anon_sym__Alignof] = ACTIONS(3039), + [anon_sym_offsetof] = ACTIONS(3039), + [anon_sym__Generic] = ACTIONS(3039), + [anon_sym_asm] = ACTIONS(3039), + [anon_sym___asm__] = ACTIONS(3039), + [sym__number_literal] = ACTIONS(3041), + [anon_sym_L_SQUOTE] = ACTIONS(3041), + [anon_sym_u_SQUOTE] = ACTIONS(3041), + [anon_sym_U_SQUOTE] = ACTIONS(3041), + [anon_sym_u8_SQUOTE] = ACTIONS(3041), + [anon_sym_SQUOTE] = ACTIONS(3041), + [anon_sym_L_DQUOTE] = ACTIONS(3041), + [anon_sym_u_DQUOTE] = ACTIONS(3041), + [anon_sym_U_DQUOTE] = ACTIONS(3041), + [anon_sym_u8_DQUOTE] = ACTIONS(3041), + [anon_sym_DQUOTE] = ACTIONS(3041), + [sym_true] = ACTIONS(3039), + [sym_false] = ACTIONS(3039), + [anon_sym_NULL] = ACTIONS(3039), + [anon_sym_nullptr] = ACTIONS(3039), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3041), + [sym_auto] = ACTIONS(3039), + [anon_sym_decltype] = ACTIONS(3039), + [sym_virtual] = ACTIONS(3039), + [anon_sym_explicit] = ACTIONS(3039), + [anon_sym_typename] = ACTIONS(3039), + [anon_sym_template] = ACTIONS(3039), + [anon_sym_operator] = ACTIONS(3039), + [anon_sym_try] = ACTIONS(3039), + [anon_sym_delete] = ACTIONS(3039), + [anon_sym_throw] = ACTIONS(3039), + [anon_sym_namespace] = ACTIONS(3039), + [anon_sym_using] = ACTIONS(3039), + [anon_sym_static_assert] = ACTIONS(3039), + [anon_sym_concept] = ACTIONS(3039), + [anon_sym_co_return] = ACTIONS(3039), + [anon_sym_co_yield] = ACTIONS(3039), + [anon_sym_R_DQUOTE] = ACTIONS(3041), + [anon_sym_LR_DQUOTE] = ACTIONS(3041), + [anon_sym_uR_DQUOTE] = ACTIONS(3041), + [anon_sym_UR_DQUOTE] = ACTIONS(3041), + [anon_sym_u8R_DQUOTE] = ACTIONS(3041), + [anon_sym_co_await] = ACTIONS(3039), + [anon_sym_new] = ACTIONS(3039), + [anon_sym_requires] = ACTIONS(3039), + [sym_this] = ACTIONS(3039), + }, + [534] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_include_token1] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_BANG] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_DASH] = ACTIONS(2940), + [anon_sym_PLUS] = ACTIONS(2940), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym_SEMI] = ACTIONS(2942), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym___cdecl] = ACTIONS(2940), + [anon_sym___clrcall] = ACTIONS(2940), + [anon_sym___stdcall] = ACTIONS(2940), + [anon_sym___fastcall] = ACTIONS(2940), + [anon_sym___thiscall] = ACTIONS(2940), + [anon_sym___vectorcall] = ACTIONS(2940), + [anon_sym_LBRACE] = ACTIONS(2942), + [anon_sym_RBRACE] = ACTIONS(2942), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [anon_sym_if] = ACTIONS(2940), + [anon_sym_switch] = ACTIONS(2940), + [anon_sym_case] = ACTIONS(2940), + [anon_sym_default] = ACTIONS(2940), + [anon_sym_while] = ACTIONS(2940), + [anon_sym_do] = ACTIONS(2940), + [anon_sym_for] = ACTIONS(2940), + [anon_sym_return] = ACTIONS(2940), + [anon_sym_break] = ACTIONS(2940), + [anon_sym_continue] = ACTIONS(2940), + [anon_sym_goto] = ACTIONS(2940), + [anon_sym___try] = ACTIONS(2940), + [anon_sym___leave] = ACTIONS(2940), + [anon_sym_not] = ACTIONS(2940), + [anon_sym_compl] = ACTIONS(2940), + [anon_sym_DASH_DASH] = ACTIONS(2942), + [anon_sym_PLUS_PLUS] = ACTIONS(2942), + [anon_sym_sizeof] = ACTIONS(2940), + [anon_sym___alignof__] = ACTIONS(2940), + [anon_sym___alignof] = ACTIONS(2940), + [anon_sym__alignof] = ACTIONS(2940), + [anon_sym_alignof] = ACTIONS(2940), + [anon_sym__Alignof] = ACTIONS(2940), + [anon_sym_offsetof] = ACTIONS(2940), + [anon_sym__Generic] = ACTIONS(2940), + [anon_sym_asm] = ACTIONS(2940), + [anon_sym___asm__] = ACTIONS(2940), + [sym__number_literal] = ACTIONS(2942), + [anon_sym_L_SQUOTE] = ACTIONS(2942), + [anon_sym_u_SQUOTE] = ACTIONS(2942), + [anon_sym_U_SQUOTE] = ACTIONS(2942), + [anon_sym_u8_SQUOTE] = ACTIONS(2942), + [anon_sym_SQUOTE] = ACTIONS(2942), + [anon_sym_L_DQUOTE] = ACTIONS(2942), + [anon_sym_u_DQUOTE] = ACTIONS(2942), + [anon_sym_U_DQUOTE] = ACTIONS(2942), + [anon_sym_u8_DQUOTE] = ACTIONS(2942), + [anon_sym_DQUOTE] = ACTIONS(2942), + [sym_true] = ACTIONS(2940), + [sym_false] = ACTIONS(2940), + [anon_sym_NULL] = ACTIONS(2940), + [anon_sym_nullptr] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_try] = ACTIONS(2940), + [anon_sym_delete] = ACTIONS(2940), + [anon_sym_throw] = ACTIONS(2940), + [anon_sym_namespace] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + [anon_sym_concept] = ACTIONS(2940), + [anon_sym_co_return] = ACTIONS(2940), + [anon_sym_co_yield] = ACTIONS(2940), + [anon_sym_R_DQUOTE] = ACTIONS(2942), + [anon_sym_LR_DQUOTE] = ACTIONS(2942), + [anon_sym_uR_DQUOTE] = ACTIONS(2942), + [anon_sym_UR_DQUOTE] = ACTIONS(2942), + [anon_sym_u8R_DQUOTE] = ACTIONS(2942), + [anon_sym_co_await] = ACTIONS(2940), + [anon_sym_new] = ACTIONS(2940), + [anon_sym_requires] = ACTIONS(2940), + [sym_this] = ACTIONS(2940), + }, + [535] = { + [sym__identifier] = ACTIONS(3166), + [aux_sym_preproc_include_token1] = ACTIONS(3166), + [aux_sym_preproc_def_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3166), + [sym_preproc_directive] = ACTIONS(3166), + [anon_sym_LPAREN2] = ACTIONS(3168), + [anon_sym_BANG] = ACTIONS(3168), + [anon_sym_TILDE] = ACTIONS(3168), + [anon_sym_DASH] = ACTIONS(3166), + [anon_sym_PLUS] = ACTIONS(3166), + [anon_sym_STAR] = ACTIONS(3168), + [anon_sym_AMP_AMP] = ACTIONS(3168), + [anon_sym_AMP] = ACTIONS(3166), + [anon_sym_SEMI] = ACTIONS(3168), + [anon_sym___extension__] = ACTIONS(3166), + [anon_sym_typedef] = ACTIONS(3166), + [anon_sym_extern] = ACTIONS(3166), + [anon_sym___attribute__] = ACTIONS(3166), + [anon_sym_COLON_COLON] = ACTIONS(3168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3168), + [anon_sym___declspec] = ACTIONS(3166), + [anon_sym___based] = ACTIONS(3166), + [anon_sym___cdecl] = ACTIONS(3166), + [anon_sym___clrcall] = ACTIONS(3166), + [anon_sym___stdcall] = ACTIONS(3166), + [anon_sym___fastcall] = ACTIONS(3166), + [anon_sym___thiscall] = ACTIONS(3166), + [anon_sym___vectorcall] = ACTIONS(3166), + [anon_sym_LBRACE] = ACTIONS(3168), + [anon_sym_RBRACE] = ACTIONS(3168), + [anon_sym_signed] = ACTIONS(3166), + [anon_sym_unsigned] = ACTIONS(3166), + [anon_sym_long] = ACTIONS(3166), + [anon_sym_short] = ACTIONS(3166), + [anon_sym_LBRACK] = ACTIONS(3166), + [anon_sym_static] = ACTIONS(3166), + [anon_sym_register] = ACTIONS(3166), + [anon_sym_inline] = ACTIONS(3166), + [anon_sym___inline] = ACTIONS(3166), + [anon_sym___inline__] = ACTIONS(3166), + [anon_sym___forceinline] = ACTIONS(3166), + [anon_sym_thread_local] = ACTIONS(3166), + [anon_sym___thread] = ACTIONS(3166), + [anon_sym_const] = ACTIONS(3166), + [anon_sym_constexpr] = ACTIONS(3166), + [anon_sym_volatile] = ACTIONS(3166), + [anon_sym_restrict] = ACTIONS(3166), + [anon_sym___restrict__] = ACTIONS(3166), + [anon_sym__Atomic] = ACTIONS(3166), + [anon_sym__Noreturn] = ACTIONS(3166), + [anon_sym_noreturn] = ACTIONS(3166), + [anon_sym_mutable] = ACTIONS(3166), + [anon_sym_constinit] = ACTIONS(3166), + [anon_sym_consteval] = ACTIONS(3166), + [anon_sym_alignas] = ACTIONS(3166), + [anon_sym__Alignas] = ACTIONS(3166), + [sym_primitive_type] = ACTIONS(3166), + [anon_sym_enum] = ACTIONS(3166), + [anon_sym_class] = ACTIONS(3166), + [anon_sym_struct] = ACTIONS(3166), + [anon_sym_union] = ACTIONS(3166), + [anon_sym_if] = ACTIONS(3166), + [anon_sym_switch] = ACTIONS(3166), + [anon_sym_case] = ACTIONS(3166), + [anon_sym_default] = ACTIONS(3166), + [anon_sym_while] = ACTIONS(3166), + [anon_sym_do] = ACTIONS(3166), + [anon_sym_for] = ACTIONS(3166), + [anon_sym_return] = ACTIONS(3166), + [anon_sym_break] = ACTIONS(3166), + [anon_sym_continue] = ACTIONS(3166), + [anon_sym_goto] = ACTIONS(3166), + [anon_sym___try] = ACTIONS(3166), + [anon_sym___leave] = ACTIONS(3166), + [anon_sym_not] = ACTIONS(3166), + [anon_sym_compl] = ACTIONS(3166), + [anon_sym_DASH_DASH] = ACTIONS(3168), + [anon_sym_PLUS_PLUS] = ACTIONS(3168), + [anon_sym_sizeof] = ACTIONS(3166), + [anon_sym___alignof__] = ACTIONS(3166), + [anon_sym___alignof] = ACTIONS(3166), + [anon_sym__alignof] = ACTIONS(3166), + [anon_sym_alignof] = ACTIONS(3166), + [anon_sym__Alignof] = ACTIONS(3166), + [anon_sym_offsetof] = ACTIONS(3166), + [anon_sym__Generic] = ACTIONS(3166), + [anon_sym_asm] = ACTIONS(3166), + [anon_sym___asm__] = ACTIONS(3166), + [sym__number_literal] = ACTIONS(3168), + [anon_sym_L_SQUOTE] = ACTIONS(3168), + [anon_sym_u_SQUOTE] = ACTIONS(3168), + [anon_sym_U_SQUOTE] = ACTIONS(3168), + [anon_sym_u8_SQUOTE] = ACTIONS(3168), + [anon_sym_SQUOTE] = ACTIONS(3168), + [anon_sym_L_DQUOTE] = ACTIONS(3168), + [anon_sym_u_DQUOTE] = ACTIONS(3168), + [anon_sym_U_DQUOTE] = ACTIONS(3168), + [anon_sym_u8_DQUOTE] = ACTIONS(3168), + [anon_sym_DQUOTE] = ACTIONS(3168), + [sym_true] = ACTIONS(3166), + [sym_false] = ACTIONS(3166), + [anon_sym_NULL] = ACTIONS(3166), + [anon_sym_nullptr] = ACTIONS(3166), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3168), + [sym_auto] = ACTIONS(3166), + [anon_sym_decltype] = ACTIONS(3166), + [sym_virtual] = ACTIONS(3166), + [anon_sym_explicit] = ACTIONS(3166), + [anon_sym_typename] = ACTIONS(3166), + [anon_sym_template] = ACTIONS(3166), + [anon_sym_operator] = ACTIONS(3166), + [anon_sym_try] = ACTIONS(3166), + [anon_sym_delete] = ACTIONS(3166), + [anon_sym_throw] = ACTIONS(3166), + [anon_sym_namespace] = ACTIONS(3166), + [anon_sym_using] = ACTIONS(3166), + [anon_sym_static_assert] = ACTIONS(3166), + [anon_sym_concept] = ACTIONS(3166), + [anon_sym_co_return] = ACTIONS(3166), + [anon_sym_co_yield] = ACTIONS(3166), + [anon_sym_R_DQUOTE] = ACTIONS(3168), + [anon_sym_LR_DQUOTE] = ACTIONS(3168), + [anon_sym_uR_DQUOTE] = ACTIONS(3168), + [anon_sym_UR_DQUOTE] = ACTIONS(3168), + [anon_sym_u8R_DQUOTE] = ACTIONS(3168), + [anon_sym_co_await] = ACTIONS(3166), + [anon_sym_new] = ACTIONS(3166), + [anon_sym_requires] = ACTIONS(3166), + [sym_this] = ACTIONS(3166), + }, + [536] = { + [sym__identifier] = ACTIONS(2905), + [aux_sym_preproc_include_token1] = ACTIONS(2905), + [aux_sym_preproc_def_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token2] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2905), + [sym_preproc_directive] = ACTIONS(2905), + [anon_sym_LPAREN2] = ACTIONS(2907), + [anon_sym_BANG] = ACTIONS(2907), + [anon_sym_TILDE] = ACTIONS(2907), + [anon_sym_DASH] = ACTIONS(2905), + [anon_sym_PLUS] = ACTIONS(2905), + [anon_sym_STAR] = ACTIONS(2907), + [anon_sym_AMP_AMP] = ACTIONS(2907), + [anon_sym_AMP] = ACTIONS(2905), + [anon_sym_SEMI] = ACTIONS(2907), + [anon_sym___extension__] = ACTIONS(2905), + [anon_sym_typedef] = ACTIONS(2905), + [anon_sym_extern] = ACTIONS(2905), + [anon_sym___attribute__] = ACTIONS(2905), + [anon_sym_COLON_COLON] = ACTIONS(2907), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2907), + [anon_sym___declspec] = ACTIONS(2905), + [anon_sym___based] = ACTIONS(2905), + [anon_sym___cdecl] = ACTIONS(2905), + [anon_sym___clrcall] = ACTIONS(2905), + [anon_sym___stdcall] = ACTIONS(2905), + [anon_sym___fastcall] = ACTIONS(2905), + [anon_sym___thiscall] = ACTIONS(2905), + [anon_sym___vectorcall] = ACTIONS(2905), + [anon_sym_LBRACE] = ACTIONS(2907), + [anon_sym_signed] = ACTIONS(2905), + [anon_sym_unsigned] = ACTIONS(2905), + [anon_sym_long] = ACTIONS(2905), + [anon_sym_short] = ACTIONS(2905), + [anon_sym_LBRACK] = ACTIONS(2905), + [anon_sym_static] = ACTIONS(2905), + [anon_sym_register] = ACTIONS(2905), + [anon_sym_inline] = ACTIONS(2905), + [anon_sym___inline] = ACTIONS(2905), + [anon_sym___inline__] = ACTIONS(2905), + [anon_sym___forceinline] = ACTIONS(2905), + [anon_sym_thread_local] = ACTIONS(2905), + [anon_sym___thread] = ACTIONS(2905), + [anon_sym_const] = ACTIONS(2905), + [anon_sym_constexpr] = ACTIONS(2905), + [anon_sym_volatile] = ACTIONS(2905), + [anon_sym_restrict] = ACTIONS(2905), + [anon_sym___restrict__] = ACTIONS(2905), + [anon_sym__Atomic] = ACTIONS(2905), + [anon_sym__Noreturn] = ACTIONS(2905), + [anon_sym_noreturn] = ACTIONS(2905), + [anon_sym_mutable] = ACTIONS(2905), + [anon_sym_constinit] = ACTIONS(2905), + [anon_sym_consteval] = ACTIONS(2905), + [anon_sym_alignas] = ACTIONS(2905), + [anon_sym__Alignas] = ACTIONS(2905), + [sym_primitive_type] = ACTIONS(2905), + [anon_sym_enum] = ACTIONS(2905), + [anon_sym_class] = ACTIONS(2905), + [anon_sym_struct] = ACTIONS(2905), + [anon_sym_union] = ACTIONS(2905), + [anon_sym_if] = ACTIONS(2905), + [anon_sym_switch] = ACTIONS(2905), + [anon_sym_case] = ACTIONS(2905), + [anon_sym_default] = ACTIONS(2905), + [anon_sym_while] = ACTIONS(2905), + [anon_sym_do] = ACTIONS(2905), + [anon_sym_for] = ACTIONS(2905), + [anon_sym_return] = ACTIONS(2905), + [anon_sym_break] = ACTIONS(2905), + [anon_sym_continue] = ACTIONS(2905), + [anon_sym_goto] = ACTIONS(2905), + [anon_sym___try] = ACTIONS(2905), + [anon_sym___leave] = ACTIONS(2905), + [anon_sym_not] = ACTIONS(2905), + [anon_sym_compl] = ACTIONS(2905), + [anon_sym_DASH_DASH] = ACTIONS(2907), + [anon_sym_PLUS_PLUS] = ACTIONS(2907), + [anon_sym_sizeof] = ACTIONS(2905), + [anon_sym___alignof__] = ACTIONS(2905), + [anon_sym___alignof] = ACTIONS(2905), + [anon_sym__alignof] = ACTIONS(2905), + [anon_sym_alignof] = ACTIONS(2905), + [anon_sym__Alignof] = ACTIONS(2905), + [anon_sym_offsetof] = ACTIONS(2905), + [anon_sym__Generic] = ACTIONS(2905), + [anon_sym_asm] = ACTIONS(2905), + [anon_sym___asm__] = ACTIONS(2905), + [sym__number_literal] = ACTIONS(2907), + [anon_sym_L_SQUOTE] = ACTIONS(2907), + [anon_sym_u_SQUOTE] = ACTIONS(2907), + [anon_sym_U_SQUOTE] = ACTIONS(2907), + [anon_sym_u8_SQUOTE] = ACTIONS(2907), + [anon_sym_SQUOTE] = ACTIONS(2907), + [anon_sym_L_DQUOTE] = ACTIONS(2907), + [anon_sym_u_DQUOTE] = ACTIONS(2907), + [anon_sym_U_DQUOTE] = ACTIONS(2907), + [anon_sym_u8_DQUOTE] = ACTIONS(2907), + [anon_sym_DQUOTE] = ACTIONS(2907), + [sym_true] = ACTIONS(2905), + [sym_false] = ACTIONS(2905), + [anon_sym_NULL] = ACTIONS(2905), + [anon_sym_nullptr] = ACTIONS(2905), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2907), + [sym_auto] = ACTIONS(2905), + [anon_sym_decltype] = ACTIONS(2905), + [sym_virtual] = ACTIONS(2905), + [anon_sym_explicit] = ACTIONS(2905), + [anon_sym_typename] = ACTIONS(2905), + [anon_sym_template] = ACTIONS(2905), + [anon_sym_operator] = ACTIONS(2905), + [anon_sym_try] = ACTIONS(2905), + [anon_sym_delete] = ACTIONS(2905), + [anon_sym_throw] = ACTIONS(2905), + [anon_sym_namespace] = ACTIONS(2905), + [anon_sym_using] = ACTIONS(2905), + [anon_sym_static_assert] = ACTIONS(2905), + [anon_sym_concept] = ACTIONS(2905), + [anon_sym_co_return] = ACTIONS(2905), + [anon_sym_co_yield] = ACTIONS(2905), + [anon_sym_R_DQUOTE] = ACTIONS(2907), + [anon_sym_LR_DQUOTE] = ACTIONS(2907), + [anon_sym_uR_DQUOTE] = ACTIONS(2907), + [anon_sym_UR_DQUOTE] = ACTIONS(2907), + [anon_sym_u8R_DQUOTE] = ACTIONS(2907), + [anon_sym_co_await] = ACTIONS(2905), + [anon_sym_new] = ACTIONS(2905), + [anon_sym_requires] = ACTIONS(2905), + [sym_this] = ACTIONS(2905), + }, + [537] = { + [sym__identifier] = ACTIONS(3166), + [aux_sym_preproc_include_token1] = ACTIONS(3166), + [aux_sym_preproc_def_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token2] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3166), + [sym_preproc_directive] = ACTIONS(3166), + [anon_sym_LPAREN2] = ACTIONS(3168), + [anon_sym_BANG] = ACTIONS(3168), + [anon_sym_TILDE] = ACTIONS(3168), + [anon_sym_DASH] = ACTIONS(3166), + [anon_sym_PLUS] = ACTIONS(3166), + [anon_sym_STAR] = ACTIONS(3168), + [anon_sym_AMP_AMP] = ACTIONS(3168), + [anon_sym_AMP] = ACTIONS(3166), + [anon_sym_SEMI] = ACTIONS(3168), + [anon_sym___extension__] = ACTIONS(3166), + [anon_sym_typedef] = ACTIONS(3166), + [anon_sym_extern] = ACTIONS(3166), + [anon_sym___attribute__] = ACTIONS(3166), + [anon_sym_COLON_COLON] = ACTIONS(3168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3168), + [anon_sym___declspec] = ACTIONS(3166), + [anon_sym___based] = ACTIONS(3166), + [anon_sym___cdecl] = ACTIONS(3166), + [anon_sym___clrcall] = ACTIONS(3166), + [anon_sym___stdcall] = ACTIONS(3166), + [anon_sym___fastcall] = ACTIONS(3166), + [anon_sym___thiscall] = ACTIONS(3166), + [anon_sym___vectorcall] = ACTIONS(3166), + [anon_sym_LBRACE] = ACTIONS(3168), + [anon_sym_signed] = ACTIONS(3166), + [anon_sym_unsigned] = ACTIONS(3166), + [anon_sym_long] = ACTIONS(3166), + [anon_sym_short] = ACTIONS(3166), + [anon_sym_LBRACK] = ACTIONS(3166), + [anon_sym_static] = ACTIONS(3166), + [anon_sym_register] = ACTIONS(3166), + [anon_sym_inline] = ACTIONS(3166), + [anon_sym___inline] = ACTIONS(3166), + [anon_sym___inline__] = ACTIONS(3166), + [anon_sym___forceinline] = ACTIONS(3166), + [anon_sym_thread_local] = ACTIONS(3166), + [anon_sym___thread] = ACTIONS(3166), + [anon_sym_const] = ACTIONS(3166), + [anon_sym_constexpr] = ACTIONS(3166), + [anon_sym_volatile] = ACTIONS(3166), + [anon_sym_restrict] = ACTIONS(3166), + [anon_sym___restrict__] = ACTIONS(3166), + [anon_sym__Atomic] = ACTIONS(3166), + [anon_sym__Noreturn] = ACTIONS(3166), + [anon_sym_noreturn] = ACTIONS(3166), + [anon_sym_mutable] = ACTIONS(3166), + [anon_sym_constinit] = ACTIONS(3166), + [anon_sym_consteval] = ACTIONS(3166), + [anon_sym_alignas] = ACTIONS(3166), + [anon_sym__Alignas] = ACTIONS(3166), + [sym_primitive_type] = ACTIONS(3166), + [anon_sym_enum] = ACTIONS(3166), + [anon_sym_class] = ACTIONS(3166), + [anon_sym_struct] = ACTIONS(3166), + [anon_sym_union] = ACTIONS(3166), + [anon_sym_if] = ACTIONS(3166), + [anon_sym_switch] = ACTIONS(3166), + [anon_sym_case] = ACTIONS(3166), + [anon_sym_default] = ACTIONS(3166), + [anon_sym_while] = ACTIONS(3166), + [anon_sym_do] = ACTIONS(3166), + [anon_sym_for] = ACTIONS(3166), + [anon_sym_return] = ACTIONS(3166), + [anon_sym_break] = ACTIONS(3166), + [anon_sym_continue] = ACTIONS(3166), + [anon_sym_goto] = ACTIONS(3166), + [anon_sym___try] = ACTIONS(3166), + [anon_sym___leave] = ACTIONS(3166), + [anon_sym_not] = ACTIONS(3166), + [anon_sym_compl] = ACTIONS(3166), + [anon_sym_DASH_DASH] = ACTIONS(3168), + [anon_sym_PLUS_PLUS] = ACTIONS(3168), + [anon_sym_sizeof] = ACTIONS(3166), + [anon_sym___alignof__] = ACTIONS(3166), + [anon_sym___alignof] = ACTIONS(3166), + [anon_sym__alignof] = ACTIONS(3166), + [anon_sym_alignof] = ACTIONS(3166), + [anon_sym__Alignof] = ACTIONS(3166), + [anon_sym_offsetof] = ACTIONS(3166), + [anon_sym__Generic] = ACTIONS(3166), + [anon_sym_asm] = ACTIONS(3166), + [anon_sym___asm__] = ACTIONS(3166), + [sym__number_literal] = ACTIONS(3168), + [anon_sym_L_SQUOTE] = ACTIONS(3168), + [anon_sym_u_SQUOTE] = ACTIONS(3168), + [anon_sym_U_SQUOTE] = ACTIONS(3168), + [anon_sym_u8_SQUOTE] = ACTIONS(3168), + [anon_sym_SQUOTE] = ACTIONS(3168), + [anon_sym_L_DQUOTE] = ACTIONS(3168), + [anon_sym_u_DQUOTE] = ACTIONS(3168), + [anon_sym_U_DQUOTE] = ACTIONS(3168), + [anon_sym_u8_DQUOTE] = ACTIONS(3168), + [anon_sym_DQUOTE] = ACTIONS(3168), + [sym_true] = ACTIONS(3166), + [sym_false] = ACTIONS(3166), + [anon_sym_NULL] = ACTIONS(3166), + [anon_sym_nullptr] = ACTIONS(3166), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3168), + [sym_auto] = ACTIONS(3166), + [anon_sym_decltype] = ACTIONS(3166), + [sym_virtual] = ACTIONS(3166), + [anon_sym_explicit] = ACTIONS(3166), + [anon_sym_typename] = ACTIONS(3166), + [anon_sym_template] = ACTIONS(3166), + [anon_sym_operator] = ACTIONS(3166), + [anon_sym_try] = ACTIONS(3166), + [anon_sym_delete] = ACTIONS(3166), + [anon_sym_throw] = ACTIONS(3166), + [anon_sym_namespace] = ACTIONS(3166), + [anon_sym_using] = ACTIONS(3166), + [anon_sym_static_assert] = ACTIONS(3166), + [anon_sym_concept] = ACTIONS(3166), + [anon_sym_co_return] = ACTIONS(3166), + [anon_sym_co_yield] = ACTIONS(3166), + [anon_sym_R_DQUOTE] = ACTIONS(3168), + [anon_sym_LR_DQUOTE] = ACTIONS(3168), + [anon_sym_uR_DQUOTE] = ACTIONS(3168), + [anon_sym_UR_DQUOTE] = ACTIONS(3168), + [anon_sym_u8R_DQUOTE] = ACTIONS(3168), + [anon_sym_co_await] = ACTIONS(3166), + [anon_sym_new] = ACTIONS(3166), + [anon_sym_requires] = ACTIONS(3166), + [sym_this] = ACTIONS(3166), + }, + [538] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_include_token1] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_BANG] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_DASH] = ACTIONS(2985), + [anon_sym_PLUS] = ACTIONS(2985), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym_SEMI] = ACTIONS(2987), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym___cdecl] = ACTIONS(2985), + [anon_sym___clrcall] = ACTIONS(2985), + [anon_sym___stdcall] = ACTIONS(2985), + [anon_sym___fastcall] = ACTIONS(2985), + [anon_sym___thiscall] = ACTIONS(2985), + [anon_sym___vectorcall] = ACTIONS(2985), + [anon_sym_LBRACE] = ACTIONS(2987), + [anon_sym_RBRACE] = ACTIONS(2987), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [anon_sym_if] = ACTIONS(2985), + [anon_sym_switch] = ACTIONS(2985), + [anon_sym_case] = ACTIONS(2985), + [anon_sym_default] = ACTIONS(2985), + [anon_sym_while] = ACTIONS(2985), + [anon_sym_do] = ACTIONS(2985), + [anon_sym_for] = ACTIONS(2985), + [anon_sym_return] = ACTIONS(2985), + [anon_sym_break] = ACTIONS(2985), + [anon_sym_continue] = ACTIONS(2985), + [anon_sym_goto] = ACTIONS(2985), + [anon_sym___try] = ACTIONS(2985), + [anon_sym___leave] = ACTIONS(2985), + [anon_sym_not] = ACTIONS(2985), + [anon_sym_compl] = ACTIONS(2985), + [anon_sym_DASH_DASH] = ACTIONS(2987), + [anon_sym_PLUS_PLUS] = ACTIONS(2987), + [anon_sym_sizeof] = ACTIONS(2985), + [anon_sym___alignof__] = ACTIONS(2985), + [anon_sym___alignof] = ACTIONS(2985), + [anon_sym__alignof] = ACTIONS(2985), + [anon_sym_alignof] = ACTIONS(2985), + [anon_sym__Alignof] = ACTIONS(2985), + [anon_sym_offsetof] = ACTIONS(2985), + [anon_sym__Generic] = ACTIONS(2985), + [anon_sym_asm] = ACTIONS(2985), + [anon_sym___asm__] = ACTIONS(2985), + [sym__number_literal] = ACTIONS(2987), + [anon_sym_L_SQUOTE] = ACTIONS(2987), + [anon_sym_u_SQUOTE] = ACTIONS(2987), + [anon_sym_U_SQUOTE] = ACTIONS(2987), + [anon_sym_u8_SQUOTE] = ACTIONS(2987), + [anon_sym_SQUOTE] = ACTIONS(2987), + [anon_sym_L_DQUOTE] = ACTIONS(2987), + [anon_sym_u_DQUOTE] = ACTIONS(2987), + [anon_sym_U_DQUOTE] = ACTIONS(2987), + [anon_sym_u8_DQUOTE] = ACTIONS(2987), + [anon_sym_DQUOTE] = ACTIONS(2987), + [sym_true] = ACTIONS(2985), + [sym_false] = ACTIONS(2985), + [anon_sym_NULL] = ACTIONS(2985), + [anon_sym_nullptr] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_try] = ACTIONS(2985), + [anon_sym_delete] = ACTIONS(2985), + [anon_sym_throw] = ACTIONS(2985), + [anon_sym_namespace] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + [anon_sym_concept] = ACTIONS(2985), + [anon_sym_co_return] = ACTIONS(2985), + [anon_sym_co_yield] = ACTIONS(2985), + [anon_sym_R_DQUOTE] = ACTIONS(2987), + [anon_sym_LR_DQUOTE] = ACTIONS(2987), + [anon_sym_uR_DQUOTE] = ACTIONS(2987), + [anon_sym_UR_DQUOTE] = ACTIONS(2987), + [anon_sym_u8R_DQUOTE] = ACTIONS(2987), + [anon_sym_co_await] = ACTIONS(2985), + [anon_sym_new] = ACTIONS(2985), + [anon_sym_requires] = ACTIONS(2985), + [sym_this] = ACTIONS(2985), + }, + [539] = { + [sym__identifier] = ACTIONS(2963), + [aux_sym_preproc_include_token1] = ACTIONS(2963), + [aux_sym_preproc_def_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2963), + [sym_preproc_directive] = ACTIONS(2963), + [anon_sym_LPAREN2] = ACTIONS(2965), + [anon_sym_BANG] = ACTIONS(2965), + [anon_sym_TILDE] = ACTIONS(2965), + [anon_sym_DASH] = ACTIONS(2963), + [anon_sym_PLUS] = ACTIONS(2963), + [anon_sym_STAR] = ACTIONS(2965), + [anon_sym_AMP_AMP] = ACTIONS(2965), + [anon_sym_AMP] = ACTIONS(2963), + [anon_sym_SEMI] = ACTIONS(2965), + [anon_sym___extension__] = ACTIONS(2963), + [anon_sym_typedef] = ACTIONS(2963), + [anon_sym_extern] = ACTIONS(2963), + [anon_sym___attribute__] = ACTIONS(2963), + [anon_sym_COLON_COLON] = ACTIONS(2965), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2965), + [anon_sym___declspec] = ACTIONS(2963), + [anon_sym___based] = ACTIONS(2963), + [anon_sym___cdecl] = ACTIONS(2963), + [anon_sym___clrcall] = ACTIONS(2963), + [anon_sym___stdcall] = ACTIONS(2963), + [anon_sym___fastcall] = ACTIONS(2963), + [anon_sym___thiscall] = ACTIONS(2963), + [anon_sym___vectorcall] = ACTIONS(2963), + [anon_sym_LBRACE] = ACTIONS(2965), + [anon_sym_RBRACE] = ACTIONS(2965), + [anon_sym_signed] = ACTIONS(2963), + [anon_sym_unsigned] = ACTIONS(2963), + [anon_sym_long] = ACTIONS(2963), + [anon_sym_short] = ACTIONS(2963), + [anon_sym_LBRACK] = ACTIONS(2963), + [anon_sym_static] = ACTIONS(2963), + [anon_sym_register] = ACTIONS(2963), + [anon_sym_inline] = ACTIONS(2963), + [anon_sym___inline] = ACTIONS(2963), + [anon_sym___inline__] = ACTIONS(2963), + [anon_sym___forceinline] = ACTIONS(2963), + [anon_sym_thread_local] = ACTIONS(2963), + [anon_sym___thread] = ACTIONS(2963), + [anon_sym_const] = ACTIONS(2963), + [anon_sym_constexpr] = ACTIONS(2963), + [anon_sym_volatile] = ACTIONS(2963), + [anon_sym_restrict] = ACTIONS(2963), + [anon_sym___restrict__] = ACTIONS(2963), + [anon_sym__Atomic] = ACTIONS(2963), + [anon_sym__Noreturn] = ACTIONS(2963), + [anon_sym_noreturn] = ACTIONS(2963), + [anon_sym_mutable] = ACTIONS(2963), + [anon_sym_constinit] = ACTIONS(2963), + [anon_sym_consteval] = ACTIONS(2963), + [anon_sym_alignas] = ACTIONS(2963), + [anon_sym__Alignas] = ACTIONS(2963), + [sym_primitive_type] = ACTIONS(2963), + [anon_sym_enum] = ACTIONS(2963), + [anon_sym_class] = ACTIONS(2963), + [anon_sym_struct] = ACTIONS(2963), + [anon_sym_union] = ACTIONS(2963), + [anon_sym_if] = ACTIONS(2963), + [anon_sym_switch] = ACTIONS(2963), + [anon_sym_case] = ACTIONS(2963), + [anon_sym_default] = ACTIONS(2963), + [anon_sym_while] = ACTIONS(2963), + [anon_sym_do] = ACTIONS(2963), + [anon_sym_for] = ACTIONS(2963), + [anon_sym_return] = ACTIONS(2963), + [anon_sym_break] = ACTIONS(2963), + [anon_sym_continue] = ACTIONS(2963), + [anon_sym_goto] = ACTIONS(2963), + [anon_sym___try] = ACTIONS(2963), + [anon_sym___leave] = ACTIONS(2963), + [anon_sym_not] = ACTIONS(2963), + [anon_sym_compl] = ACTIONS(2963), + [anon_sym_DASH_DASH] = ACTIONS(2965), + [anon_sym_PLUS_PLUS] = ACTIONS(2965), + [anon_sym_sizeof] = ACTIONS(2963), + [anon_sym___alignof__] = ACTIONS(2963), + [anon_sym___alignof] = ACTIONS(2963), + [anon_sym__alignof] = ACTIONS(2963), + [anon_sym_alignof] = ACTIONS(2963), + [anon_sym__Alignof] = ACTIONS(2963), + [anon_sym_offsetof] = ACTIONS(2963), + [anon_sym__Generic] = ACTIONS(2963), + [anon_sym_asm] = ACTIONS(2963), + [anon_sym___asm__] = ACTIONS(2963), + [sym__number_literal] = ACTIONS(2965), + [anon_sym_L_SQUOTE] = ACTIONS(2965), + [anon_sym_u_SQUOTE] = ACTIONS(2965), + [anon_sym_U_SQUOTE] = ACTIONS(2965), + [anon_sym_u8_SQUOTE] = ACTIONS(2965), + [anon_sym_SQUOTE] = ACTIONS(2965), + [anon_sym_L_DQUOTE] = ACTIONS(2965), + [anon_sym_u_DQUOTE] = ACTIONS(2965), + [anon_sym_U_DQUOTE] = ACTIONS(2965), + [anon_sym_u8_DQUOTE] = ACTIONS(2965), + [anon_sym_DQUOTE] = ACTIONS(2965), + [sym_true] = ACTIONS(2963), + [sym_false] = ACTIONS(2963), + [anon_sym_NULL] = ACTIONS(2963), + [anon_sym_nullptr] = ACTIONS(2963), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2965), + [sym_auto] = ACTIONS(2963), + [anon_sym_decltype] = ACTIONS(2963), + [sym_virtual] = ACTIONS(2963), + [anon_sym_explicit] = ACTIONS(2963), + [anon_sym_typename] = ACTIONS(2963), + [anon_sym_template] = ACTIONS(2963), + [anon_sym_operator] = ACTIONS(2963), + [anon_sym_try] = ACTIONS(2963), + [anon_sym_delete] = ACTIONS(2963), + [anon_sym_throw] = ACTIONS(2963), + [anon_sym_namespace] = ACTIONS(2963), + [anon_sym_using] = ACTIONS(2963), + [anon_sym_static_assert] = ACTIONS(2963), + [anon_sym_concept] = ACTIONS(2963), + [anon_sym_co_return] = ACTIONS(2963), + [anon_sym_co_yield] = ACTIONS(2963), + [anon_sym_R_DQUOTE] = ACTIONS(2965), + [anon_sym_LR_DQUOTE] = ACTIONS(2965), + [anon_sym_uR_DQUOTE] = ACTIONS(2965), + [anon_sym_UR_DQUOTE] = ACTIONS(2965), + [anon_sym_u8R_DQUOTE] = ACTIONS(2965), + [anon_sym_co_await] = ACTIONS(2963), + [anon_sym_new] = ACTIONS(2963), + [anon_sym_requires] = ACTIONS(2963), + [sym_this] = ACTIONS(2963), + }, + [540] = { + [sym__identifier] = ACTIONS(2944), + [aux_sym_preproc_include_token1] = ACTIONS(2944), + [aux_sym_preproc_def_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2944), + [sym_preproc_directive] = ACTIONS(2944), + [anon_sym_LPAREN2] = ACTIONS(2946), + [anon_sym_BANG] = ACTIONS(2946), + [anon_sym_TILDE] = ACTIONS(2946), + [anon_sym_DASH] = ACTIONS(2944), + [anon_sym_PLUS] = ACTIONS(2944), + [anon_sym_STAR] = ACTIONS(2946), + [anon_sym_AMP_AMP] = ACTIONS(2946), + [anon_sym_AMP] = ACTIONS(2944), + [anon_sym_SEMI] = ACTIONS(2946), + [anon_sym___extension__] = ACTIONS(2944), + [anon_sym_typedef] = ACTIONS(2944), + [anon_sym_extern] = ACTIONS(2944), + [anon_sym___attribute__] = ACTIONS(2944), + [anon_sym_COLON_COLON] = ACTIONS(2946), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2946), + [anon_sym___declspec] = ACTIONS(2944), + [anon_sym___based] = ACTIONS(2944), + [anon_sym___cdecl] = ACTIONS(2944), + [anon_sym___clrcall] = ACTIONS(2944), + [anon_sym___stdcall] = ACTIONS(2944), + [anon_sym___fastcall] = ACTIONS(2944), + [anon_sym___thiscall] = ACTIONS(2944), + [anon_sym___vectorcall] = ACTIONS(2944), + [anon_sym_LBRACE] = ACTIONS(2946), + [anon_sym_RBRACE] = ACTIONS(2946), + [anon_sym_signed] = ACTIONS(2944), + [anon_sym_unsigned] = ACTIONS(2944), + [anon_sym_long] = ACTIONS(2944), + [anon_sym_short] = ACTIONS(2944), + [anon_sym_LBRACK] = ACTIONS(2944), + [anon_sym_static] = ACTIONS(2944), + [anon_sym_register] = ACTIONS(2944), + [anon_sym_inline] = ACTIONS(2944), + [anon_sym___inline] = ACTIONS(2944), + [anon_sym___inline__] = ACTIONS(2944), + [anon_sym___forceinline] = ACTIONS(2944), + [anon_sym_thread_local] = ACTIONS(2944), + [anon_sym___thread] = ACTIONS(2944), + [anon_sym_const] = ACTIONS(2944), + [anon_sym_constexpr] = ACTIONS(2944), + [anon_sym_volatile] = ACTIONS(2944), + [anon_sym_restrict] = ACTIONS(2944), + [anon_sym___restrict__] = ACTIONS(2944), + [anon_sym__Atomic] = ACTIONS(2944), + [anon_sym__Noreturn] = ACTIONS(2944), + [anon_sym_noreturn] = ACTIONS(2944), + [anon_sym_mutable] = ACTIONS(2944), + [anon_sym_constinit] = ACTIONS(2944), + [anon_sym_consteval] = ACTIONS(2944), + [anon_sym_alignas] = ACTIONS(2944), + [anon_sym__Alignas] = ACTIONS(2944), + [sym_primitive_type] = ACTIONS(2944), + [anon_sym_enum] = ACTIONS(2944), + [anon_sym_class] = ACTIONS(2944), + [anon_sym_struct] = ACTIONS(2944), + [anon_sym_union] = ACTIONS(2944), + [anon_sym_if] = ACTIONS(2944), + [anon_sym_switch] = ACTIONS(2944), + [anon_sym_case] = ACTIONS(2944), + [anon_sym_default] = ACTIONS(2944), + [anon_sym_while] = ACTIONS(2944), + [anon_sym_do] = ACTIONS(2944), + [anon_sym_for] = ACTIONS(2944), + [anon_sym_return] = ACTIONS(2944), + [anon_sym_break] = ACTIONS(2944), + [anon_sym_continue] = ACTIONS(2944), + [anon_sym_goto] = ACTIONS(2944), + [anon_sym___try] = ACTIONS(2944), + [anon_sym___leave] = ACTIONS(2944), + [anon_sym_not] = ACTIONS(2944), + [anon_sym_compl] = ACTIONS(2944), + [anon_sym_DASH_DASH] = ACTIONS(2946), + [anon_sym_PLUS_PLUS] = ACTIONS(2946), + [anon_sym_sizeof] = ACTIONS(2944), + [anon_sym___alignof__] = ACTIONS(2944), + [anon_sym___alignof] = ACTIONS(2944), + [anon_sym__alignof] = ACTIONS(2944), + [anon_sym_alignof] = ACTIONS(2944), + [anon_sym__Alignof] = ACTIONS(2944), + [anon_sym_offsetof] = ACTIONS(2944), + [anon_sym__Generic] = ACTIONS(2944), + [anon_sym_asm] = ACTIONS(2944), + [anon_sym___asm__] = ACTIONS(2944), + [sym__number_literal] = ACTIONS(2946), + [anon_sym_L_SQUOTE] = ACTIONS(2946), + [anon_sym_u_SQUOTE] = ACTIONS(2946), + [anon_sym_U_SQUOTE] = ACTIONS(2946), + [anon_sym_u8_SQUOTE] = ACTIONS(2946), + [anon_sym_SQUOTE] = ACTIONS(2946), + [anon_sym_L_DQUOTE] = ACTIONS(2946), + [anon_sym_u_DQUOTE] = ACTIONS(2946), + [anon_sym_U_DQUOTE] = ACTIONS(2946), + [anon_sym_u8_DQUOTE] = ACTIONS(2946), + [anon_sym_DQUOTE] = ACTIONS(2946), + [sym_true] = ACTIONS(2944), + [sym_false] = ACTIONS(2944), + [anon_sym_NULL] = ACTIONS(2944), + [anon_sym_nullptr] = ACTIONS(2944), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2946), + [sym_auto] = ACTIONS(2944), + [anon_sym_decltype] = ACTIONS(2944), + [sym_virtual] = ACTIONS(2944), + [anon_sym_explicit] = ACTIONS(2944), + [anon_sym_typename] = ACTIONS(2944), + [anon_sym_template] = ACTIONS(2944), + [anon_sym_operator] = ACTIONS(2944), + [anon_sym_try] = ACTIONS(2944), + [anon_sym_delete] = ACTIONS(2944), + [anon_sym_throw] = ACTIONS(2944), + [anon_sym_namespace] = ACTIONS(2944), + [anon_sym_using] = ACTIONS(2944), + [anon_sym_static_assert] = ACTIONS(2944), + [anon_sym_concept] = ACTIONS(2944), + [anon_sym_co_return] = ACTIONS(2944), + [anon_sym_co_yield] = ACTIONS(2944), + [anon_sym_R_DQUOTE] = ACTIONS(2946), + [anon_sym_LR_DQUOTE] = ACTIONS(2946), + [anon_sym_uR_DQUOTE] = ACTIONS(2946), + [anon_sym_UR_DQUOTE] = ACTIONS(2946), + [anon_sym_u8R_DQUOTE] = ACTIONS(2946), + [anon_sym_co_await] = ACTIONS(2944), + [anon_sym_new] = ACTIONS(2944), + [anon_sym_requires] = ACTIONS(2944), + [sym_this] = ACTIONS(2944), + }, + [541] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_include_token1] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_BANG] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_DASH] = ACTIONS(2967), + [anon_sym_PLUS] = ACTIONS(2967), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym_SEMI] = ACTIONS(2969), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym___cdecl] = ACTIONS(2967), + [anon_sym___clrcall] = ACTIONS(2967), + [anon_sym___stdcall] = ACTIONS(2967), + [anon_sym___fastcall] = ACTIONS(2967), + [anon_sym___thiscall] = ACTIONS(2967), + [anon_sym___vectorcall] = ACTIONS(2967), + [anon_sym_LBRACE] = ACTIONS(2969), + [anon_sym_RBRACE] = ACTIONS(2969), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [anon_sym_if] = ACTIONS(2967), + [anon_sym_switch] = ACTIONS(2967), + [anon_sym_case] = ACTIONS(2967), + [anon_sym_default] = ACTIONS(2967), + [anon_sym_while] = ACTIONS(2967), + [anon_sym_do] = ACTIONS(2967), + [anon_sym_for] = ACTIONS(2967), + [anon_sym_return] = ACTIONS(2967), + [anon_sym_break] = ACTIONS(2967), + [anon_sym_continue] = ACTIONS(2967), + [anon_sym_goto] = ACTIONS(2967), + [anon_sym___try] = ACTIONS(2967), + [anon_sym___leave] = ACTIONS(2967), + [anon_sym_not] = ACTIONS(2967), + [anon_sym_compl] = ACTIONS(2967), + [anon_sym_DASH_DASH] = ACTIONS(2969), + [anon_sym_PLUS_PLUS] = ACTIONS(2969), + [anon_sym_sizeof] = ACTIONS(2967), + [anon_sym___alignof__] = ACTIONS(2967), + [anon_sym___alignof] = ACTIONS(2967), + [anon_sym__alignof] = ACTIONS(2967), + [anon_sym_alignof] = ACTIONS(2967), + [anon_sym__Alignof] = ACTIONS(2967), + [anon_sym_offsetof] = ACTIONS(2967), + [anon_sym__Generic] = ACTIONS(2967), + [anon_sym_asm] = ACTIONS(2967), + [anon_sym___asm__] = ACTIONS(2967), + [sym__number_literal] = ACTIONS(2969), + [anon_sym_L_SQUOTE] = ACTIONS(2969), + [anon_sym_u_SQUOTE] = ACTIONS(2969), + [anon_sym_U_SQUOTE] = ACTIONS(2969), + [anon_sym_u8_SQUOTE] = ACTIONS(2969), + [anon_sym_SQUOTE] = ACTIONS(2969), + [anon_sym_L_DQUOTE] = ACTIONS(2969), + [anon_sym_u_DQUOTE] = ACTIONS(2969), + [anon_sym_U_DQUOTE] = ACTIONS(2969), + [anon_sym_u8_DQUOTE] = ACTIONS(2969), + [anon_sym_DQUOTE] = ACTIONS(2969), + [sym_true] = ACTIONS(2967), + [sym_false] = ACTIONS(2967), + [anon_sym_NULL] = ACTIONS(2967), + [anon_sym_nullptr] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_try] = ACTIONS(2967), + [anon_sym_delete] = ACTIONS(2967), + [anon_sym_throw] = ACTIONS(2967), + [anon_sym_namespace] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + [anon_sym_concept] = ACTIONS(2967), + [anon_sym_co_return] = ACTIONS(2967), + [anon_sym_co_yield] = ACTIONS(2967), + [anon_sym_R_DQUOTE] = ACTIONS(2969), + [anon_sym_LR_DQUOTE] = ACTIONS(2969), + [anon_sym_uR_DQUOTE] = ACTIONS(2969), + [anon_sym_UR_DQUOTE] = ACTIONS(2969), + [anon_sym_u8R_DQUOTE] = ACTIONS(2969), + [anon_sym_co_await] = ACTIONS(2967), + [anon_sym_new] = ACTIONS(2967), + [anon_sym_requires] = ACTIONS(2967), + [sym_this] = ACTIONS(2967), + }, + [542] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_include_token1] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_BANG] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_DASH] = ACTIONS(2989), + [anon_sym_PLUS] = ACTIONS(2989), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym_SEMI] = ACTIONS(2991), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym___cdecl] = ACTIONS(2989), + [anon_sym___clrcall] = ACTIONS(2989), + [anon_sym___stdcall] = ACTIONS(2989), + [anon_sym___fastcall] = ACTIONS(2989), + [anon_sym___thiscall] = ACTIONS(2989), + [anon_sym___vectorcall] = ACTIONS(2989), + [anon_sym_LBRACE] = ACTIONS(2991), + [anon_sym_RBRACE] = ACTIONS(2991), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [anon_sym_if] = ACTIONS(2989), + [anon_sym_switch] = ACTIONS(2989), + [anon_sym_case] = ACTIONS(2989), + [anon_sym_default] = ACTIONS(2989), + [anon_sym_while] = ACTIONS(2989), + [anon_sym_do] = ACTIONS(2989), + [anon_sym_for] = ACTIONS(2989), + [anon_sym_return] = ACTIONS(2989), + [anon_sym_break] = ACTIONS(2989), + [anon_sym_continue] = ACTIONS(2989), + [anon_sym_goto] = ACTIONS(2989), + [anon_sym___try] = ACTIONS(2989), + [anon_sym___leave] = ACTIONS(2989), + [anon_sym_not] = ACTIONS(2989), + [anon_sym_compl] = ACTIONS(2989), + [anon_sym_DASH_DASH] = ACTIONS(2991), + [anon_sym_PLUS_PLUS] = ACTIONS(2991), + [anon_sym_sizeof] = ACTIONS(2989), + [anon_sym___alignof__] = ACTIONS(2989), + [anon_sym___alignof] = ACTIONS(2989), + [anon_sym__alignof] = ACTIONS(2989), + [anon_sym_alignof] = ACTIONS(2989), + [anon_sym__Alignof] = ACTIONS(2989), + [anon_sym_offsetof] = ACTIONS(2989), + [anon_sym__Generic] = ACTIONS(2989), + [anon_sym_asm] = ACTIONS(2989), + [anon_sym___asm__] = ACTIONS(2989), + [sym__number_literal] = ACTIONS(2991), + [anon_sym_L_SQUOTE] = ACTIONS(2991), + [anon_sym_u_SQUOTE] = ACTIONS(2991), + [anon_sym_U_SQUOTE] = ACTIONS(2991), + [anon_sym_u8_SQUOTE] = ACTIONS(2991), + [anon_sym_SQUOTE] = ACTIONS(2991), + [anon_sym_L_DQUOTE] = ACTIONS(2991), + [anon_sym_u_DQUOTE] = ACTIONS(2991), + [anon_sym_U_DQUOTE] = ACTIONS(2991), + [anon_sym_u8_DQUOTE] = ACTIONS(2991), + [anon_sym_DQUOTE] = ACTIONS(2991), + [sym_true] = ACTIONS(2989), + [sym_false] = ACTIONS(2989), + [anon_sym_NULL] = ACTIONS(2989), + [anon_sym_nullptr] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_try] = ACTIONS(2989), + [anon_sym_delete] = ACTIONS(2989), + [anon_sym_throw] = ACTIONS(2989), + [anon_sym_namespace] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + [anon_sym_concept] = ACTIONS(2989), + [anon_sym_co_return] = ACTIONS(2989), + [anon_sym_co_yield] = ACTIONS(2989), + [anon_sym_R_DQUOTE] = ACTIONS(2991), + [anon_sym_LR_DQUOTE] = ACTIONS(2991), + [anon_sym_uR_DQUOTE] = ACTIONS(2991), + [anon_sym_UR_DQUOTE] = ACTIONS(2991), + [anon_sym_u8R_DQUOTE] = ACTIONS(2991), + [anon_sym_co_await] = ACTIONS(2989), + [anon_sym_new] = ACTIONS(2989), + [anon_sym_requires] = ACTIONS(2989), + [sym_this] = ACTIONS(2989), + }, + [543] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_include_token1] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token2] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_BANG] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_DASH] = ACTIONS(3122), + [anon_sym_PLUS] = ACTIONS(3122), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym_SEMI] = ACTIONS(3124), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym___cdecl] = ACTIONS(3122), + [anon_sym___clrcall] = ACTIONS(3122), + [anon_sym___stdcall] = ACTIONS(3122), + [anon_sym___fastcall] = ACTIONS(3122), + [anon_sym___thiscall] = ACTIONS(3122), + [anon_sym___vectorcall] = ACTIONS(3122), + [anon_sym_LBRACE] = ACTIONS(3124), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [anon_sym_if] = ACTIONS(3122), + [anon_sym_switch] = ACTIONS(3122), + [anon_sym_case] = ACTIONS(3122), + [anon_sym_default] = ACTIONS(3122), + [anon_sym_while] = ACTIONS(3122), + [anon_sym_do] = ACTIONS(3122), + [anon_sym_for] = ACTIONS(3122), + [anon_sym_return] = ACTIONS(3122), + [anon_sym_break] = ACTIONS(3122), + [anon_sym_continue] = ACTIONS(3122), + [anon_sym_goto] = ACTIONS(3122), + [anon_sym___try] = ACTIONS(3122), + [anon_sym___leave] = ACTIONS(3122), + [anon_sym_not] = ACTIONS(3122), + [anon_sym_compl] = ACTIONS(3122), + [anon_sym_DASH_DASH] = ACTIONS(3124), + [anon_sym_PLUS_PLUS] = ACTIONS(3124), + [anon_sym_sizeof] = ACTIONS(3122), + [anon_sym___alignof__] = ACTIONS(3122), + [anon_sym___alignof] = ACTIONS(3122), + [anon_sym__alignof] = ACTIONS(3122), + [anon_sym_alignof] = ACTIONS(3122), + [anon_sym__Alignof] = ACTIONS(3122), + [anon_sym_offsetof] = ACTIONS(3122), + [anon_sym__Generic] = ACTIONS(3122), + [anon_sym_asm] = ACTIONS(3122), + [anon_sym___asm__] = ACTIONS(3122), + [sym__number_literal] = ACTIONS(3124), + [anon_sym_L_SQUOTE] = ACTIONS(3124), + [anon_sym_u_SQUOTE] = ACTIONS(3124), + [anon_sym_U_SQUOTE] = ACTIONS(3124), + [anon_sym_u8_SQUOTE] = ACTIONS(3124), + [anon_sym_SQUOTE] = ACTIONS(3124), + [anon_sym_L_DQUOTE] = ACTIONS(3124), + [anon_sym_u_DQUOTE] = ACTIONS(3124), + [anon_sym_U_DQUOTE] = ACTIONS(3124), + [anon_sym_u8_DQUOTE] = ACTIONS(3124), + [anon_sym_DQUOTE] = ACTIONS(3124), + [sym_true] = ACTIONS(3122), + [sym_false] = ACTIONS(3122), + [anon_sym_NULL] = ACTIONS(3122), + [anon_sym_nullptr] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_try] = ACTIONS(3122), + [anon_sym_delete] = ACTIONS(3122), + [anon_sym_throw] = ACTIONS(3122), + [anon_sym_namespace] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + [anon_sym_concept] = ACTIONS(3122), + [anon_sym_co_return] = ACTIONS(3122), + [anon_sym_co_yield] = ACTIONS(3122), + [anon_sym_R_DQUOTE] = ACTIONS(3124), + [anon_sym_LR_DQUOTE] = ACTIONS(3124), + [anon_sym_uR_DQUOTE] = ACTIONS(3124), + [anon_sym_UR_DQUOTE] = ACTIONS(3124), + [anon_sym_u8R_DQUOTE] = ACTIONS(3124), + [anon_sym_co_await] = ACTIONS(3122), + [anon_sym_new] = ACTIONS(3122), + [anon_sym_requires] = ACTIONS(3122), + [sym_this] = ACTIONS(3122), + }, + [544] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_include_token1] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token2] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_BANG] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_DASH] = ACTIONS(3130), + [anon_sym_PLUS] = ACTIONS(3130), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym_SEMI] = ACTIONS(3132), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym___cdecl] = ACTIONS(3130), + [anon_sym___clrcall] = ACTIONS(3130), + [anon_sym___stdcall] = ACTIONS(3130), + [anon_sym___fastcall] = ACTIONS(3130), + [anon_sym___thiscall] = ACTIONS(3130), + [anon_sym___vectorcall] = ACTIONS(3130), + [anon_sym_LBRACE] = ACTIONS(3132), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [anon_sym_if] = ACTIONS(3130), + [anon_sym_switch] = ACTIONS(3130), + [anon_sym_case] = ACTIONS(3130), + [anon_sym_default] = ACTIONS(3130), + [anon_sym_while] = ACTIONS(3130), + [anon_sym_do] = ACTIONS(3130), + [anon_sym_for] = ACTIONS(3130), + [anon_sym_return] = ACTIONS(3130), + [anon_sym_break] = ACTIONS(3130), + [anon_sym_continue] = ACTIONS(3130), + [anon_sym_goto] = ACTIONS(3130), + [anon_sym___try] = ACTIONS(3130), + [anon_sym___leave] = ACTIONS(3130), + [anon_sym_not] = ACTIONS(3130), + [anon_sym_compl] = ACTIONS(3130), + [anon_sym_DASH_DASH] = ACTIONS(3132), + [anon_sym_PLUS_PLUS] = ACTIONS(3132), + [anon_sym_sizeof] = ACTIONS(3130), + [anon_sym___alignof__] = ACTIONS(3130), + [anon_sym___alignof] = ACTIONS(3130), + [anon_sym__alignof] = ACTIONS(3130), + [anon_sym_alignof] = ACTIONS(3130), + [anon_sym__Alignof] = ACTIONS(3130), + [anon_sym_offsetof] = ACTIONS(3130), + [anon_sym__Generic] = ACTIONS(3130), + [anon_sym_asm] = ACTIONS(3130), + [anon_sym___asm__] = ACTIONS(3130), + [sym__number_literal] = ACTIONS(3132), + [anon_sym_L_SQUOTE] = ACTIONS(3132), + [anon_sym_u_SQUOTE] = ACTIONS(3132), + [anon_sym_U_SQUOTE] = ACTIONS(3132), + [anon_sym_u8_SQUOTE] = ACTIONS(3132), + [anon_sym_SQUOTE] = ACTIONS(3132), + [anon_sym_L_DQUOTE] = ACTIONS(3132), + [anon_sym_u_DQUOTE] = ACTIONS(3132), + [anon_sym_U_DQUOTE] = ACTIONS(3132), + [anon_sym_u8_DQUOTE] = ACTIONS(3132), + [anon_sym_DQUOTE] = ACTIONS(3132), + [sym_true] = ACTIONS(3130), + [sym_false] = ACTIONS(3130), + [anon_sym_NULL] = ACTIONS(3130), + [anon_sym_nullptr] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_try] = ACTIONS(3130), + [anon_sym_delete] = ACTIONS(3130), + [anon_sym_throw] = ACTIONS(3130), + [anon_sym_namespace] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + [anon_sym_concept] = ACTIONS(3130), + [anon_sym_co_return] = ACTIONS(3130), + [anon_sym_co_yield] = ACTIONS(3130), + [anon_sym_R_DQUOTE] = ACTIONS(3132), + [anon_sym_LR_DQUOTE] = ACTIONS(3132), + [anon_sym_uR_DQUOTE] = ACTIONS(3132), + [anon_sym_UR_DQUOTE] = ACTIONS(3132), + [anon_sym_u8R_DQUOTE] = ACTIONS(3132), + [anon_sym_co_await] = ACTIONS(3130), + [anon_sym_new] = ACTIONS(3130), + [anon_sym_requires] = ACTIONS(3130), + [sym_this] = ACTIONS(3130), + }, + [545] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_include_token1] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_BANG] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_DASH] = ACTIONS(3005), + [anon_sym_PLUS] = ACTIONS(3005), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym_SEMI] = ACTIONS(3007), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym___cdecl] = ACTIONS(3005), + [anon_sym___clrcall] = ACTIONS(3005), + [anon_sym___stdcall] = ACTIONS(3005), + [anon_sym___fastcall] = ACTIONS(3005), + [anon_sym___thiscall] = ACTIONS(3005), + [anon_sym___vectorcall] = ACTIONS(3005), + [anon_sym_LBRACE] = ACTIONS(3007), + [anon_sym_RBRACE] = ACTIONS(3007), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [anon_sym_if] = ACTIONS(3005), + [anon_sym_switch] = ACTIONS(3005), + [anon_sym_case] = ACTIONS(3005), + [anon_sym_default] = ACTIONS(3005), + [anon_sym_while] = ACTIONS(3005), + [anon_sym_do] = ACTIONS(3005), + [anon_sym_for] = ACTIONS(3005), + [anon_sym_return] = ACTIONS(3005), + [anon_sym_break] = ACTIONS(3005), + [anon_sym_continue] = ACTIONS(3005), + [anon_sym_goto] = ACTIONS(3005), + [anon_sym___try] = ACTIONS(3005), + [anon_sym___leave] = ACTIONS(3005), + [anon_sym_not] = ACTIONS(3005), + [anon_sym_compl] = ACTIONS(3005), + [anon_sym_DASH_DASH] = ACTIONS(3007), + [anon_sym_PLUS_PLUS] = ACTIONS(3007), + [anon_sym_sizeof] = ACTIONS(3005), + [anon_sym___alignof__] = ACTIONS(3005), + [anon_sym___alignof] = ACTIONS(3005), + [anon_sym__alignof] = ACTIONS(3005), + [anon_sym_alignof] = ACTIONS(3005), + [anon_sym__Alignof] = ACTIONS(3005), + [anon_sym_offsetof] = ACTIONS(3005), + [anon_sym__Generic] = ACTIONS(3005), + [anon_sym_asm] = ACTIONS(3005), + [anon_sym___asm__] = ACTIONS(3005), + [sym__number_literal] = ACTIONS(3007), + [anon_sym_L_SQUOTE] = ACTIONS(3007), + [anon_sym_u_SQUOTE] = ACTIONS(3007), + [anon_sym_U_SQUOTE] = ACTIONS(3007), + [anon_sym_u8_SQUOTE] = ACTIONS(3007), + [anon_sym_SQUOTE] = ACTIONS(3007), + [anon_sym_L_DQUOTE] = ACTIONS(3007), + [anon_sym_u_DQUOTE] = ACTIONS(3007), + [anon_sym_U_DQUOTE] = ACTIONS(3007), + [anon_sym_u8_DQUOTE] = ACTIONS(3007), + [anon_sym_DQUOTE] = ACTIONS(3007), + [sym_true] = ACTIONS(3005), + [sym_false] = ACTIONS(3005), + [anon_sym_NULL] = ACTIONS(3005), + [anon_sym_nullptr] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_try] = ACTIONS(3005), + [anon_sym_delete] = ACTIONS(3005), + [anon_sym_throw] = ACTIONS(3005), + [anon_sym_namespace] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + [anon_sym_concept] = ACTIONS(3005), + [anon_sym_co_return] = ACTIONS(3005), + [anon_sym_co_yield] = ACTIONS(3005), + [anon_sym_R_DQUOTE] = ACTIONS(3007), + [anon_sym_LR_DQUOTE] = ACTIONS(3007), + [anon_sym_uR_DQUOTE] = ACTIONS(3007), + [anon_sym_UR_DQUOTE] = ACTIONS(3007), + [anon_sym_u8R_DQUOTE] = ACTIONS(3007), + [anon_sym_co_await] = ACTIONS(3005), + [anon_sym_new] = ACTIONS(3005), + [anon_sym_requires] = ACTIONS(3005), + [sym_this] = ACTIONS(3005), + }, + [546] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_RBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [547] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_include_token1] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token2] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_BANG] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_DASH] = ACTIONS(3162), + [anon_sym_PLUS] = ACTIONS(3162), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym_SEMI] = ACTIONS(3164), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym___cdecl] = ACTIONS(3162), + [anon_sym___clrcall] = ACTIONS(3162), + [anon_sym___stdcall] = ACTIONS(3162), + [anon_sym___fastcall] = ACTIONS(3162), + [anon_sym___thiscall] = ACTIONS(3162), + [anon_sym___vectorcall] = ACTIONS(3162), + [anon_sym_LBRACE] = ACTIONS(3164), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [anon_sym_if] = ACTIONS(3162), + [anon_sym_switch] = ACTIONS(3162), + [anon_sym_case] = ACTIONS(3162), + [anon_sym_default] = ACTIONS(3162), + [anon_sym_while] = ACTIONS(3162), + [anon_sym_do] = ACTIONS(3162), + [anon_sym_for] = ACTIONS(3162), + [anon_sym_return] = ACTIONS(3162), + [anon_sym_break] = ACTIONS(3162), + [anon_sym_continue] = ACTIONS(3162), + [anon_sym_goto] = ACTIONS(3162), + [anon_sym___try] = ACTIONS(3162), + [anon_sym___leave] = ACTIONS(3162), + [anon_sym_not] = ACTIONS(3162), + [anon_sym_compl] = ACTIONS(3162), + [anon_sym_DASH_DASH] = ACTIONS(3164), + [anon_sym_PLUS_PLUS] = ACTIONS(3164), + [anon_sym_sizeof] = ACTIONS(3162), + [anon_sym___alignof__] = ACTIONS(3162), + [anon_sym___alignof] = ACTIONS(3162), + [anon_sym__alignof] = ACTIONS(3162), + [anon_sym_alignof] = ACTIONS(3162), + [anon_sym__Alignof] = ACTIONS(3162), + [anon_sym_offsetof] = ACTIONS(3162), + [anon_sym__Generic] = ACTIONS(3162), + [anon_sym_asm] = ACTIONS(3162), + [anon_sym___asm__] = ACTIONS(3162), + [sym__number_literal] = ACTIONS(3164), + [anon_sym_L_SQUOTE] = ACTIONS(3164), + [anon_sym_u_SQUOTE] = ACTIONS(3164), + [anon_sym_U_SQUOTE] = ACTIONS(3164), + [anon_sym_u8_SQUOTE] = ACTIONS(3164), + [anon_sym_SQUOTE] = ACTIONS(3164), + [anon_sym_L_DQUOTE] = ACTIONS(3164), + [anon_sym_u_DQUOTE] = ACTIONS(3164), + [anon_sym_U_DQUOTE] = ACTIONS(3164), + [anon_sym_u8_DQUOTE] = ACTIONS(3164), + [anon_sym_DQUOTE] = ACTIONS(3164), + [sym_true] = ACTIONS(3162), + [sym_false] = ACTIONS(3162), + [anon_sym_NULL] = ACTIONS(3162), + [anon_sym_nullptr] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_try] = ACTIONS(3162), + [anon_sym_delete] = ACTIONS(3162), + [anon_sym_throw] = ACTIONS(3162), + [anon_sym_namespace] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + [anon_sym_concept] = ACTIONS(3162), + [anon_sym_co_return] = ACTIONS(3162), + [anon_sym_co_yield] = ACTIONS(3162), + [anon_sym_R_DQUOTE] = ACTIONS(3164), + [anon_sym_LR_DQUOTE] = ACTIONS(3164), + [anon_sym_uR_DQUOTE] = ACTIONS(3164), + [anon_sym_UR_DQUOTE] = ACTIONS(3164), + [anon_sym_u8R_DQUOTE] = ACTIONS(3164), + [anon_sym_co_await] = ACTIONS(3162), + [anon_sym_new] = ACTIONS(3162), + [anon_sym_requires] = ACTIONS(3162), + [sym_this] = ACTIONS(3162), + }, + [548] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_include_token1] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_BANG] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_DASH] = ACTIONS(2952), + [anon_sym_PLUS] = ACTIONS(2952), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym_SEMI] = ACTIONS(2954), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym___cdecl] = ACTIONS(2952), + [anon_sym___clrcall] = ACTIONS(2952), + [anon_sym___stdcall] = ACTIONS(2952), + [anon_sym___fastcall] = ACTIONS(2952), + [anon_sym___thiscall] = ACTIONS(2952), + [anon_sym___vectorcall] = ACTIONS(2952), + [anon_sym_LBRACE] = ACTIONS(2954), + [anon_sym_RBRACE] = ACTIONS(2954), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [anon_sym_if] = ACTIONS(2952), + [anon_sym_switch] = ACTIONS(2952), + [anon_sym_case] = ACTIONS(2952), + [anon_sym_default] = ACTIONS(2952), + [anon_sym_while] = ACTIONS(2952), + [anon_sym_do] = ACTIONS(2952), + [anon_sym_for] = ACTIONS(2952), + [anon_sym_return] = ACTIONS(2952), + [anon_sym_break] = ACTIONS(2952), + [anon_sym_continue] = ACTIONS(2952), + [anon_sym_goto] = ACTIONS(2952), + [anon_sym___try] = ACTIONS(2952), + [anon_sym___leave] = ACTIONS(2952), + [anon_sym_not] = ACTIONS(2952), + [anon_sym_compl] = ACTIONS(2952), + [anon_sym_DASH_DASH] = ACTIONS(2954), + [anon_sym_PLUS_PLUS] = ACTIONS(2954), + [anon_sym_sizeof] = ACTIONS(2952), + [anon_sym___alignof__] = ACTIONS(2952), + [anon_sym___alignof] = ACTIONS(2952), + [anon_sym__alignof] = ACTIONS(2952), + [anon_sym_alignof] = ACTIONS(2952), + [anon_sym__Alignof] = ACTIONS(2952), + [anon_sym_offsetof] = ACTIONS(2952), + [anon_sym__Generic] = ACTIONS(2952), + [anon_sym_asm] = ACTIONS(2952), + [anon_sym___asm__] = ACTIONS(2952), + [sym__number_literal] = ACTIONS(2954), + [anon_sym_L_SQUOTE] = ACTIONS(2954), + [anon_sym_u_SQUOTE] = ACTIONS(2954), + [anon_sym_U_SQUOTE] = ACTIONS(2954), + [anon_sym_u8_SQUOTE] = ACTIONS(2954), + [anon_sym_SQUOTE] = ACTIONS(2954), + [anon_sym_L_DQUOTE] = ACTIONS(2954), + [anon_sym_u_DQUOTE] = ACTIONS(2954), + [anon_sym_U_DQUOTE] = ACTIONS(2954), + [anon_sym_u8_DQUOTE] = ACTIONS(2954), + [anon_sym_DQUOTE] = ACTIONS(2954), + [sym_true] = ACTIONS(2952), + [sym_false] = ACTIONS(2952), + [anon_sym_NULL] = ACTIONS(2952), + [anon_sym_nullptr] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_try] = ACTIONS(2952), + [anon_sym_delete] = ACTIONS(2952), + [anon_sym_throw] = ACTIONS(2952), + [anon_sym_namespace] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + [anon_sym_concept] = ACTIONS(2952), + [anon_sym_co_return] = ACTIONS(2952), + [anon_sym_co_yield] = ACTIONS(2952), + [anon_sym_R_DQUOTE] = ACTIONS(2954), + [anon_sym_LR_DQUOTE] = ACTIONS(2954), + [anon_sym_uR_DQUOTE] = ACTIONS(2954), + [anon_sym_UR_DQUOTE] = ACTIONS(2954), + [anon_sym_u8R_DQUOTE] = ACTIONS(2954), + [anon_sym_co_await] = ACTIONS(2952), + [anon_sym_new] = ACTIONS(2952), + [anon_sym_requires] = ACTIONS(2952), + [sym_this] = ACTIONS(2952), + }, + [549] = { + [sym__identifier] = ACTIONS(3009), + [aux_sym_preproc_include_token1] = ACTIONS(3009), + [aux_sym_preproc_def_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3009), + [sym_preproc_directive] = ACTIONS(3009), + [anon_sym_LPAREN2] = ACTIONS(3011), + [anon_sym_BANG] = ACTIONS(3011), + [anon_sym_TILDE] = ACTIONS(3011), + [anon_sym_DASH] = ACTIONS(3009), + [anon_sym_PLUS] = ACTIONS(3009), + [anon_sym_STAR] = ACTIONS(3011), + [anon_sym_AMP_AMP] = ACTIONS(3011), + [anon_sym_AMP] = ACTIONS(3009), + [anon_sym_SEMI] = ACTIONS(3011), + [anon_sym___extension__] = ACTIONS(3009), + [anon_sym_typedef] = ACTIONS(3009), + [anon_sym_extern] = ACTIONS(3009), + [anon_sym___attribute__] = ACTIONS(3009), + [anon_sym_COLON_COLON] = ACTIONS(3011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3011), + [anon_sym___declspec] = ACTIONS(3009), + [anon_sym___based] = ACTIONS(3009), + [anon_sym___cdecl] = ACTIONS(3009), + [anon_sym___clrcall] = ACTIONS(3009), + [anon_sym___stdcall] = ACTIONS(3009), + [anon_sym___fastcall] = ACTIONS(3009), + [anon_sym___thiscall] = ACTIONS(3009), + [anon_sym___vectorcall] = ACTIONS(3009), + [anon_sym_LBRACE] = ACTIONS(3011), + [anon_sym_RBRACE] = ACTIONS(3011), + [anon_sym_signed] = ACTIONS(3009), + [anon_sym_unsigned] = ACTIONS(3009), + [anon_sym_long] = ACTIONS(3009), + [anon_sym_short] = ACTIONS(3009), + [anon_sym_LBRACK] = ACTIONS(3009), + [anon_sym_static] = ACTIONS(3009), + [anon_sym_register] = ACTIONS(3009), + [anon_sym_inline] = ACTIONS(3009), + [anon_sym___inline] = ACTIONS(3009), + [anon_sym___inline__] = ACTIONS(3009), + [anon_sym___forceinline] = ACTIONS(3009), + [anon_sym_thread_local] = ACTIONS(3009), + [anon_sym___thread] = ACTIONS(3009), + [anon_sym_const] = ACTIONS(3009), + [anon_sym_constexpr] = ACTIONS(3009), + [anon_sym_volatile] = ACTIONS(3009), + [anon_sym_restrict] = ACTIONS(3009), + [anon_sym___restrict__] = ACTIONS(3009), + [anon_sym__Atomic] = ACTIONS(3009), + [anon_sym__Noreturn] = ACTIONS(3009), + [anon_sym_noreturn] = ACTIONS(3009), + [anon_sym_mutable] = ACTIONS(3009), + [anon_sym_constinit] = ACTIONS(3009), + [anon_sym_consteval] = ACTIONS(3009), + [anon_sym_alignas] = ACTIONS(3009), + [anon_sym__Alignas] = ACTIONS(3009), + [sym_primitive_type] = ACTIONS(3009), + [anon_sym_enum] = ACTIONS(3009), + [anon_sym_class] = ACTIONS(3009), + [anon_sym_struct] = ACTIONS(3009), + [anon_sym_union] = ACTIONS(3009), + [anon_sym_if] = ACTIONS(3009), + [anon_sym_switch] = ACTIONS(3009), + [anon_sym_case] = ACTIONS(3009), + [anon_sym_default] = ACTIONS(3009), + [anon_sym_while] = ACTIONS(3009), + [anon_sym_do] = ACTIONS(3009), + [anon_sym_for] = ACTIONS(3009), + [anon_sym_return] = ACTIONS(3009), + [anon_sym_break] = ACTIONS(3009), + [anon_sym_continue] = ACTIONS(3009), + [anon_sym_goto] = ACTIONS(3009), + [anon_sym___try] = ACTIONS(3009), + [anon_sym___leave] = ACTIONS(3009), + [anon_sym_not] = ACTIONS(3009), + [anon_sym_compl] = ACTIONS(3009), + [anon_sym_DASH_DASH] = ACTIONS(3011), + [anon_sym_PLUS_PLUS] = ACTIONS(3011), + [anon_sym_sizeof] = ACTIONS(3009), + [anon_sym___alignof__] = ACTIONS(3009), + [anon_sym___alignof] = ACTIONS(3009), + [anon_sym__alignof] = ACTIONS(3009), + [anon_sym_alignof] = ACTIONS(3009), + [anon_sym__Alignof] = ACTIONS(3009), + [anon_sym_offsetof] = ACTIONS(3009), + [anon_sym__Generic] = ACTIONS(3009), + [anon_sym_asm] = ACTIONS(3009), + [anon_sym___asm__] = ACTIONS(3009), + [sym__number_literal] = ACTIONS(3011), + [anon_sym_L_SQUOTE] = ACTIONS(3011), + [anon_sym_u_SQUOTE] = ACTIONS(3011), + [anon_sym_U_SQUOTE] = ACTIONS(3011), + [anon_sym_u8_SQUOTE] = ACTIONS(3011), + [anon_sym_SQUOTE] = ACTIONS(3011), + [anon_sym_L_DQUOTE] = ACTIONS(3011), + [anon_sym_u_DQUOTE] = ACTIONS(3011), + [anon_sym_U_DQUOTE] = ACTIONS(3011), + [anon_sym_u8_DQUOTE] = ACTIONS(3011), + [anon_sym_DQUOTE] = ACTIONS(3011), + [sym_true] = ACTIONS(3009), + [sym_false] = ACTIONS(3009), + [anon_sym_NULL] = ACTIONS(3009), + [anon_sym_nullptr] = ACTIONS(3009), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3011), + [sym_auto] = ACTIONS(3009), + [anon_sym_decltype] = ACTIONS(3009), + [sym_virtual] = ACTIONS(3009), + [anon_sym_explicit] = ACTIONS(3009), + [anon_sym_typename] = ACTIONS(3009), + [anon_sym_template] = ACTIONS(3009), + [anon_sym_operator] = ACTIONS(3009), + [anon_sym_try] = ACTIONS(3009), + [anon_sym_delete] = ACTIONS(3009), + [anon_sym_throw] = ACTIONS(3009), + [anon_sym_namespace] = ACTIONS(3009), + [anon_sym_using] = ACTIONS(3009), + [anon_sym_static_assert] = ACTIONS(3009), + [anon_sym_concept] = ACTIONS(3009), + [anon_sym_co_return] = ACTIONS(3009), + [anon_sym_co_yield] = ACTIONS(3009), + [anon_sym_R_DQUOTE] = ACTIONS(3011), + [anon_sym_LR_DQUOTE] = ACTIONS(3011), + [anon_sym_uR_DQUOTE] = ACTIONS(3011), + [anon_sym_UR_DQUOTE] = ACTIONS(3011), + [anon_sym_u8R_DQUOTE] = ACTIONS(3011), + [anon_sym_co_await] = ACTIONS(3009), + [anon_sym_new] = ACTIONS(3009), + [anon_sym_requires] = ACTIONS(3009), + [sym_this] = ACTIONS(3009), + }, + [550] = { + [sym__identifier] = ACTIONS(2956), + [aux_sym_preproc_include_token1] = ACTIONS(2956), + [aux_sym_preproc_def_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2956), + [sym_preproc_directive] = ACTIONS(2956), + [anon_sym_LPAREN2] = ACTIONS(2958), + [anon_sym_BANG] = ACTIONS(2958), + [anon_sym_TILDE] = ACTIONS(2958), + [anon_sym_DASH] = ACTIONS(2956), + [anon_sym_PLUS] = ACTIONS(2956), + [anon_sym_STAR] = ACTIONS(2958), + [anon_sym_AMP_AMP] = ACTIONS(2958), + [anon_sym_AMP] = ACTIONS(2956), + [anon_sym_SEMI] = ACTIONS(2958), + [anon_sym___extension__] = ACTIONS(2956), + [anon_sym_typedef] = ACTIONS(2956), + [anon_sym_extern] = ACTIONS(2956), + [anon_sym___attribute__] = ACTIONS(2956), + [anon_sym_COLON_COLON] = ACTIONS(2958), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2958), + [anon_sym___declspec] = ACTIONS(2956), + [anon_sym___based] = ACTIONS(2956), + [anon_sym___cdecl] = ACTIONS(2956), + [anon_sym___clrcall] = ACTIONS(2956), + [anon_sym___stdcall] = ACTIONS(2956), + [anon_sym___fastcall] = ACTIONS(2956), + [anon_sym___thiscall] = ACTIONS(2956), + [anon_sym___vectorcall] = ACTIONS(2956), + [anon_sym_LBRACE] = ACTIONS(2958), + [anon_sym_RBRACE] = ACTIONS(2958), + [anon_sym_signed] = ACTIONS(2956), + [anon_sym_unsigned] = ACTIONS(2956), + [anon_sym_long] = ACTIONS(2956), + [anon_sym_short] = ACTIONS(2956), + [anon_sym_LBRACK] = ACTIONS(2956), + [anon_sym_static] = ACTIONS(2956), + [anon_sym_register] = ACTIONS(2956), + [anon_sym_inline] = ACTIONS(2956), + [anon_sym___inline] = ACTIONS(2956), + [anon_sym___inline__] = ACTIONS(2956), + [anon_sym___forceinline] = ACTIONS(2956), + [anon_sym_thread_local] = ACTIONS(2956), + [anon_sym___thread] = ACTIONS(2956), + [anon_sym_const] = ACTIONS(2956), + [anon_sym_constexpr] = ACTIONS(2956), + [anon_sym_volatile] = ACTIONS(2956), + [anon_sym_restrict] = ACTIONS(2956), + [anon_sym___restrict__] = ACTIONS(2956), + [anon_sym__Atomic] = ACTIONS(2956), + [anon_sym__Noreturn] = ACTIONS(2956), + [anon_sym_noreturn] = ACTIONS(2956), + [anon_sym_mutable] = ACTIONS(2956), + [anon_sym_constinit] = ACTIONS(2956), + [anon_sym_consteval] = ACTIONS(2956), + [anon_sym_alignas] = ACTIONS(2956), + [anon_sym__Alignas] = ACTIONS(2956), + [sym_primitive_type] = ACTIONS(2956), + [anon_sym_enum] = ACTIONS(2956), + [anon_sym_class] = ACTIONS(2956), + [anon_sym_struct] = ACTIONS(2956), + [anon_sym_union] = ACTIONS(2956), + [anon_sym_if] = ACTIONS(2956), + [anon_sym_switch] = ACTIONS(2956), + [anon_sym_case] = ACTIONS(2956), + [anon_sym_default] = ACTIONS(2956), + [anon_sym_while] = ACTIONS(2956), + [anon_sym_do] = ACTIONS(2956), + [anon_sym_for] = ACTIONS(2956), + [anon_sym_return] = ACTIONS(2956), + [anon_sym_break] = ACTIONS(2956), + [anon_sym_continue] = ACTIONS(2956), + [anon_sym_goto] = ACTIONS(2956), + [anon_sym___try] = ACTIONS(2956), + [anon_sym___leave] = ACTIONS(2956), + [anon_sym_not] = ACTIONS(2956), + [anon_sym_compl] = ACTIONS(2956), + [anon_sym_DASH_DASH] = ACTIONS(2958), + [anon_sym_PLUS_PLUS] = ACTIONS(2958), + [anon_sym_sizeof] = ACTIONS(2956), + [anon_sym___alignof__] = ACTIONS(2956), + [anon_sym___alignof] = ACTIONS(2956), + [anon_sym__alignof] = ACTIONS(2956), + [anon_sym_alignof] = ACTIONS(2956), + [anon_sym__Alignof] = ACTIONS(2956), + [anon_sym_offsetof] = ACTIONS(2956), + [anon_sym__Generic] = ACTIONS(2956), + [anon_sym_asm] = ACTIONS(2956), + [anon_sym___asm__] = ACTIONS(2956), + [sym__number_literal] = ACTIONS(2958), + [anon_sym_L_SQUOTE] = ACTIONS(2958), + [anon_sym_u_SQUOTE] = ACTIONS(2958), + [anon_sym_U_SQUOTE] = ACTIONS(2958), + [anon_sym_u8_SQUOTE] = ACTIONS(2958), + [anon_sym_SQUOTE] = ACTIONS(2958), + [anon_sym_L_DQUOTE] = ACTIONS(2958), + [anon_sym_u_DQUOTE] = ACTIONS(2958), + [anon_sym_U_DQUOTE] = ACTIONS(2958), + [anon_sym_u8_DQUOTE] = ACTIONS(2958), + [anon_sym_DQUOTE] = ACTIONS(2958), + [sym_true] = ACTIONS(2956), + [sym_false] = ACTIONS(2956), + [anon_sym_NULL] = ACTIONS(2956), + [anon_sym_nullptr] = ACTIONS(2956), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2958), + [sym_auto] = ACTIONS(2956), + [anon_sym_decltype] = ACTIONS(2956), + [sym_virtual] = ACTIONS(2956), + [anon_sym_explicit] = ACTIONS(2956), + [anon_sym_typename] = ACTIONS(2956), + [anon_sym_template] = ACTIONS(2956), + [anon_sym_operator] = ACTIONS(2956), + [anon_sym_try] = ACTIONS(2956), + [anon_sym_delete] = ACTIONS(2956), + [anon_sym_throw] = ACTIONS(2956), + [anon_sym_namespace] = ACTIONS(2956), + [anon_sym_using] = ACTIONS(2956), + [anon_sym_static_assert] = ACTIONS(2956), + [anon_sym_concept] = ACTIONS(2956), + [anon_sym_co_return] = ACTIONS(2956), + [anon_sym_co_yield] = ACTIONS(2956), + [anon_sym_R_DQUOTE] = ACTIONS(2958), + [anon_sym_LR_DQUOTE] = ACTIONS(2958), + [anon_sym_uR_DQUOTE] = ACTIONS(2958), + [anon_sym_UR_DQUOTE] = ACTIONS(2958), + [anon_sym_u8R_DQUOTE] = ACTIONS(2958), + [anon_sym_co_await] = ACTIONS(2956), + [anon_sym_new] = ACTIONS(2956), + [anon_sym_requires] = ACTIONS(2956), + [sym_this] = ACTIONS(2956), + }, + [551] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_include_token1] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token2] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_BANG] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_DASH] = ACTIONS(3070), + [anon_sym_PLUS] = ACTIONS(3070), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym_SEMI] = ACTIONS(3072), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym___cdecl] = ACTIONS(3070), + [anon_sym___clrcall] = ACTIONS(3070), + [anon_sym___stdcall] = ACTIONS(3070), + [anon_sym___fastcall] = ACTIONS(3070), + [anon_sym___thiscall] = ACTIONS(3070), + [anon_sym___vectorcall] = ACTIONS(3070), + [anon_sym_LBRACE] = ACTIONS(3072), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [anon_sym_if] = ACTIONS(3070), + [anon_sym_switch] = ACTIONS(3070), + [anon_sym_case] = ACTIONS(3070), + [anon_sym_default] = ACTIONS(3070), + [anon_sym_while] = ACTIONS(3070), + [anon_sym_do] = ACTIONS(3070), + [anon_sym_for] = ACTIONS(3070), + [anon_sym_return] = ACTIONS(3070), + [anon_sym_break] = ACTIONS(3070), + [anon_sym_continue] = ACTIONS(3070), + [anon_sym_goto] = ACTIONS(3070), + [anon_sym___try] = ACTIONS(3070), + [anon_sym___leave] = ACTIONS(3070), + [anon_sym_not] = ACTIONS(3070), + [anon_sym_compl] = ACTIONS(3070), + [anon_sym_DASH_DASH] = ACTIONS(3072), + [anon_sym_PLUS_PLUS] = ACTIONS(3072), + [anon_sym_sizeof] = ACTIONS(3070), + [anon_sym___alignof__] = ACTIONS(3070), + [anon_sym___alignof] = ACTIONS(3070), + [anon_sym__alignof] = ACTIONS(3070), + [anon_sym_alignof] = ACTIONS(3070), + [anon_sym__Alignof] = ACTIONS(3070), + [anon_sym_offsetof] = ACTIONS(3070), + [anon_sym__Generic] = ACTIONS(3070), + [anon_sym_asm] = ACTIONS(3070), + [anon_sym___asm__] = ACTIONS(3070), + [sym__number_literal] = ACTIONS(3072), + [anon_sym_L_SQUOTE] = ACTIONS(3072), + [anon_sym_u_SQUOTE] = ACTIONS(3072), + [anon_sym_U_SQUOTE] = ACTIONS(3072), + [anon_sym_u8_SQUOTE] = ACTIONS(3072), + [anon_sym_SQUOTE] = ACTIONS(3072), + [anon_sym_L_DQUOTE] = ACTIONS(3072), + [anon_sym_u_DQUOTE] = ACTIONS(3072), + [anon_sym_U_DQUOTE] = ACTIONS(3072), + [anon_sym_u8_DQUOTE] = ACTIONS(3072), + [anon_sym_DQUOTE] = ACTIONS(3072), + [sym_true] = ACTIONS(3070), + [sym_false] = ACTIONS(3070), + [anon_sym_NULL] = ACTIONS(3070), + [anon_sym_nullptr] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_try] = ACTIONS(3070), + [anon_sym_delete] = ACTIONS(3070), + [anon_sym_throw] = ACTIONS(3070), + [anon_sym_namespace] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + [anon_sym_concept] = ACTIONS(3070), + [anon_sym_co_return] = ACTIONS(3070), + [anon_sym_co_yield] = ACTIONS(3070), + [anon_sym_R_DQUOTE] = ACTIONS(3072), + [anon_sym_LR_DQUOTE] = ACTIONS(3072), + [anon_sym_uR_DQUOTE] = ACTIONS(3072), + [anon_sym_UR_DQUOTE] = ACTIONS(3072), + [anon_sym_u8R_DQUOTE] = ACTIONS(3072), + [anon_sym_co_await] = ACTIONS(3070), + [anon_sym_new] = ACTIONS(3070), + [anon_sym_requires] = ACTIONS(3070), + [sym_this] = ACTIONS(3070), + }, + [552] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_include_token1] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token2] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_BANG] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_DASH] = ACTIONS(3114), + [anon_sym_PLUS] = ACTIONS(3114), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym_SEMI] = ACTIONS(3116), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym___cdecl] = ACTIONS(3114), + [anon_sym___clrcall] = ACTIONS(3114), + [anon_sym___stdcall] = ACTIONS(3114), + [anon_sym___fastcall] = ACTIONS(3114), + [anon_sym___thiscall] = ACTIONS(3114), + [anon_sym___vectorcall] = ACTIONS(3114), + [anon_sym_LBRACE] = ACTIONS(3116), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [anon_sym_if] = ACTIONS(3114), + [anon_sym_switch] = ACTIONS(3114), + [anon_sym_case] = ACTIONS(3114), + [anon_sym_default] = ACTIONS(3114), + [anon_sym_while] = ACTIONS(3114), + [anon_sym_do] = ACTIONS(3114), + [anon_sym_for] = ACTIONS(3114), + [anon_sym_return] = ACTIONS(3114), + [anon_sym_break] = ACTIONS(3114), + [anon_sym_continue] = ACTIONS(3114), + [anon_sym_goto] = ACTIONS(3114), + [anon_sym___try] = ACTIONS(3114), + [anon_sym___leave] = ACTIONS(3114), + [anon_sym_not] = ACTIONS(3114), + [anon_sym_compl] = ACTIONS(3114), + [anon_sym_DASH_DASH] = ACTIONS(3116), + [anon_sym_PLUS_PLUS] = ACTIONS(3116), + [anon_sym_sizeof] = ACTIONS(3114), + [anon_sym___alignof__] = ACTIONS(3114), + [anon_sym___alignof] = ACTIONS(3114), + [anon_sym__alignof] = ACTIONS(3114), + [anon_sym_alignof] = ACTIONS(3114), + [anon_sym__Alignof] = ACTIONS(3114), + [anon_sym_offsetof] = ACTIONS(3114), + [anon_sym__Generic] = ACTIONS(3114), + [anon_sym_asm] = ACTIONS(3114), + [anon_sym___asm__] = ACTIONS(3114), + [sym__number_literal] = ACTIONS(3116), + [anon_sym_L_SQUOTE] = ACTIONS(3116), + [anon_sym_u_SQUOTE] = ACTIONS(3116), + [anon_sym_U_SQUOTE] = ACTIONS(3116), + [anon_sym_u8_SQUOTE] = ACTIONS(3116), + [anon_sym_SQUOTE] = ACTIONS(3116), + [anon_sym_L_DQUOTE] = ACTIONS(3116), + [anon_sym_u_DQUOTE] = ACTIONS(3116), + [anon_sym_U_DQUOTE] = ACTIONS(3116), + [anon_sym_u8_DQUOTE] = ACTIONS(3116), + [anon_sym_DQUOTE] = ACTIONS(3116), + [sym_true] = ACTIONS(3114), + [sym_false] = ACTIONS(3114), + [anon_sym_NULL] = ACTIONS(3114), + [anon_sym_nullptr] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_try] = ACTIONS(3114), + [anon_sym_delete] = ACTIONS(3114), + [anon_sym_throw] = ACTIONS(3114), + [anon_sym_namespace] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + [anon_sym_concept] = ACTIONS(3114), + [anon_sym_co_return] = ACTIONS(3114), + [anon_sym_co_yield] = ACTIONS(3114), + [anon_sym_R_DQUOTE] = ACTIONS(3116), + [anon_sym_LR_DQUOTE] = ACTIONS(3116), + [anon_sym_uR_DQUOTE] = ACTIONS(3116), + [anon_sym_UR_DQUOTE] = ACTIONS(3116), + [anon_sym_u8R_DQUOTE] = ACTIONS(3116), + [anon_sym_co_await] = ACTIONS(3114), + [anon_sym_new] = ACTIONS(3114), + [anon_sym_requires] = ACTIONS(3114), + [sym_this] = ACTIONS(3114), + }, + [553] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_include_token1] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token2] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_BANG] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_DASH] = ACTIONS(3134), + [anon_sym_PLUS] = ACTIONS(3134), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym_SEMI] = ACTIONS(3136), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym___cdecl] = ACTIONS(3134), + [anon_sym___clrcall] = ACTIONS(3134), + [anon_sym___stdcall] = ACTIONS(3134), + [anon_sym___fastcall] = ACTIONS(3134), + [anon_sym___thiscall] = ACTIONS(3134), + [anon_sym___vectorcall] = ACTIONS(3134), + [anon_sym_LBRACE] = ACTIONS(3136), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [anon_sym_if] = ACTIONS(3134), + [anon_sym_switch] = ACTIONS(3134), + [anon_sym_case] = ACTIONS(3134), + [anon_sym_default] = ACTIONS(3134), + [anon_sym_while] = ACTIONS(3134), + [anon_sym_do] = ACTIONS(3134), + [anon_sym_for] = ACTIONS(3134), + [anon_sym_return] = ACTIONS(3134), + [anon_sym_break] = ACTIONS(3134), + [anon_sym_continue] = ACTIONS(3134), + [anon_sym_goto] = ACTIONS(3134), + [anon_sym___try] = ACTIONS(3134), + [anon_sym___leave] = ACTIONS(3134), + [anon_sym_not] = ACTIONS(3134), + [anon_sym_compl] = ACTIONS(3134), + [anon_sym_DASH_DASH] = ACTIONS(3136), + [anon_sym_PLUS_PLUS] = ACTIONS(3136), + [anon_sym_sizeof] = ACTIONS(3134), + [anon_sym___alignof__] = ACTIONS(3134), + [anon_sym___alignof] = ACTIONS(3134), + [anon_sym__alignof] = ACTIONS(3134), + [anon_sym_alignof] = ACTIONS(3134), + [anon_sym__Alignof] = ACTIONS(3134), + [anon_sym_offsetof] = ACTIONS(3134), + [anon_sym__Generic] = ACTIONS(3134), + [anon_sym_asm] = ACTIONS(3134), + [anon_sym___asm__] = ACTIONS(3134), + [sym__number_literal] = ACTIONS(3136), + [anon_sym_L_SQUOTE] = ACTIONS(3136), + [anon_sym_u_SQUOTE] = ACTIONS(3136), + [anon_sym_U_SQUOTE] = ACTIONS(3136), + [anon_sym_u8_SQUOTE] = ACTIONS(3136), + [anon_sym_SQUOTE] = ACTIONS(3136), + [anon_sym_L_DQUOTE] = ACTIONS(3136), + [anon_sym_u_DQUOTE] = ACTIONS(3136), + [anon_sym_U_DQUOTE] = ACTIONS(3136), + [anon_sym_u8_DQUOTE] = ACTIONS(3136), + [anon_sym_DQUOTE] = ACTIONS(3136), + [sym_true] = ACTIONS(3134), + [sym_false] = ACTIONS(3134), + [anon_sym_NULL] = ACTIONS(3134), + [anon_sym_nullptr] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_try] = ACTIONS(3134), + [anon_sym_delete] = ACTIONS(3134), + [anon_sym_throw] = ACTIONS(3134), + [anon_sym_namespace] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + [anon_sym_concept] = ACTIONS(3134), + [anon_sym_co_return] = ACTIONS(3134), + [anon_sym_co_yield] = ACTIONS(3134), + [anon_sym_R_DQUOTE] = ACTIONS(3136), + [anon_sym_LR_DQUOTE] = ACTIONS(3136), + [anon_sym_uR_DQUOTE] = ACTIONS(3136), + [anon_sym_UR_DQUOTE] = ACTIONS(3136), + [anon_sym_u8R_DQUOTE] = ACTIONS(3136), + [anon_sym_co_await] = ACTIONS(3134), + [anon_sym_new] = ACTIONS(3134), + [anon_sym_requires] = ACTIONS(3134), + [sym_this] = ACTIONS(3134), + }, + [554] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_include_token1] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token2] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_BANG] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_DASH] = ACTIONS(2997), + [anon_sym_PLUS] = ACTIONS(2997), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym_SEMI] = ACTIONS(2999), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym___cdecl] = ACTIONS(2997), + [anon_sym___clrcall] = ACTIONS(2997), + [anon_sym___stdcall] = ACTIONS(2997), + [anon_sym___fastcall] = ACTIONS(2997), + [anon_sym___thiscall] = ACTIONS(2997), + [anon_sym___vectorcall] = ACTIONS(2997), + [anon_sym_LBRACE] = ACTIONS(2999), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [anon_sym_if] = ACTIONS(2997), + [anon_sym_switch] = ACTIONS(2997), + [anon_sym_case] = ACTIONS(2997), + [anon_sym_default] = ACTIONS(2997), + [anon_sym_while] = ACTIONS(2997), + [anon_sym_do] = ACTIONS(2997), + [anon_sym_for] = ACTIONS(2997), + [anon_sym_return] = ACTIONS(2997), + [anon_sym_break] = ACTIONS(2997), + [anon_sym_continue] = ACTIONS(2997), + [anon_sym_goto] = ACTIONS(2997), + [anon_sym___try] = ACTIONS(2997), + [anon_sym___leave] = ACTIONS(2997), + [anon_sym_not] = ACTIONS(2997), + [anon_sym_compl] = ACTIONS(2997), + [anon_sym_DASH_DASH] = ACTIONS(2999), + [anon_sym_PLUS_PLUS] = ACTIONS(2999), + [anon_sym_sizeof] = ACTIONS(2997), + [anon_sym___alignof__] = ACTIONS(2997), + [anon_sym___alignof] = ACTIONS(2997), + [anon_sym__alignof] = ACTIONS(2997), + [anon_sym_alignof] = ACTIONS(2997), + [anon_sym__Alignof] = ACTIONS(2997), + [anon_sym_offsetof] = ACTIONS(2997), + [anon_sym__Generic] = ACTIONS(2997), + [anon_sym_asm] = ACTIONS(2997), + [anon_sym___asm__] = ACTIONS(2997), + [sym__number_literal] = ACTIONS(2999), + [anon_sym_L_SQUOTE] = ACTIONS(2999), + [anon_sym_u_SQUOTE] = ACTIONS(2999), + [anon_sym_U_SQUOTE] = ACTIONS(2999), + [anon_sym_u8_SQUOTE] = ACTIONS(2999), + [anon_sym_SQUOTE] = ACTIONS(2999), + [anon_sym_L_DQUOTE] = ACTIONS(2999), + [anon_sym_u_DQUOTE] = ACTIONS(2999), + [anon_sym_U_DQUOTE] = ACTIONS(2999), + [anon_sym_u8_DQUOTE] = ACTIONS(2999), + [anon_sym_DQUOTE] = ACTIONS(2999), + [sym_true] = ACTIONS(2997), + [sym_false] = ACTIONS(2997), + [anon_sym_NULL] = ACTIONS(2997), + [anon_sym_nullptr] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_try] = ACTIONS(2997), + [anon_sym_delete] = ACTIONS(2997), + [anon_sym_throw] = ACTIONS(2997), + [anon_sym_namespace] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + [anon_sym_concept] = ACTIONS(2997), + [anon_sym_co_return] = ACTIONS(2997), + [anon_sym_co_yield] = ACTIONS(2997), + [anon_sym_R_DQUOTE] = ACTIONS(2999), + [anon_sym_LR_DQUOTE] = ACTIONS(2999), + [anon_sym_uR_DQUOTE] = ACTIONS(2999), + [anon_sym_UR_DQUOTE] = ACTIONS(2999), + [anon_sym_u8R_DQUOTE] = ACTIONS(2999), + [anon_sym_co_await] = ACTIONS(2997), + [anon_sym_new] = ACTIONS(2997), + [anon_sym_requires] = ACTIONS(2997), + [sym_this] = ACTIONS(2997), + }, + [555] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_include_token1] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_BANG] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_DASH] = ACTIONS(2997), + [anon_sym_PLUS] = ACTIONS(2997), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym_SEMI] = ACTIONS(2999), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym___cdecl] = ACTIONS(2997), + [anon_sym___clrcall] = ACTIONS(2997), + [anon_sym___stdcall] = ACTIONS(2997), + [anon_sym___fastcall] = ACTIONS(2997), + [anon_sym___thiscall] = ACTIONS(2997), + [anon_sym___vectorcall] = ACTIONS(2997), + [anon_sym_LBRACE] = ACTIONS(2999), + [anon_sym_RBRACE] = ACTIONS(2999), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [anon_sym_if] = ACTIONS(2997), + [anon_sym_switch] = ACTIONS(2997), + [anon_sym_case] = ACTIONS(2997), + [anon_sym_default] = ACTIONS(2997), + [anon_sym_while] = ACTIONS(2997), + [anon_sym_do] = ACTIONS(2997), + [anon_sym_for] = ACTIONS(2997), + [anon_sym_return] = ACTIONS(2997), + [anon_sym_break] = ACTIONS(2997), + [anon_sym_continue] = ACTIONS(2997), + [anon_sym_goto] = ACTIONS(2997), + [anon_sym___try] = ACTIONS(2997), + [anon_sym___leave] = ACTIONS(2997), + [anon_sym_not] = ACTIONS(2997), + [anon_sym_compl] = ACTIONS(2997), + [anon_sym_DASH_DASH] = ACTIONS(2999), + [anon_sym_PLUS_PLUS] = ACTIONS(2999), + [anon_sym_sizeof] = ACTIONS(2997), + [anon_sym___alignof__] = ACTIONS(2997), + [anon_sym___alignof] = ACTIONS(2997), + [anon_sym__alignof] = ACTIONS(2997), + [anon_sym_alignof] = ACTIONS(2997), + [anon_sym__Alignof] = ACTIONS(2997), + [anon_sym_offsetof] = ACTIONS(2997), + [anon_sym__Generic] = ACTIONS(2997), + [anon_sym_asm] = ACTIONS(2997), + [anon_sym___asm__] = ACTIONS(2997), + [sym__number_literal] = ACTIONS(2999), + [anon_sym_L_SQUOTE] = ACTIONS(2999), + [anon_sym_u_SQUOTE] = ACTIONS(2999), + [anon_sym_U_SQUOTE] = ACTIONS(2999), + [anon_sym_u8_SQUOTE] = ACTIONS(2999), + [anon_sym_SQUOTE] = ACTIONS(2999), + [anon_sym_L_DQUOTE] = ACTIONS(2999), + [anon_sym_u_DQUOTE] = ACTIONS(2999), + [anon_sym_U_DQUOTE] = ACTIONS(2999), + [anon_sym_u8_DQUOTE] = ACTIONS(2999), + [anon_sym_DQUOTE] = ACTIONS(2999), + [sym_true] = ACTIONS(2997), + [sym_false] = ACTIONS(2997), + [anon_sym_NULL] = ACTIONS(2997), + [anon_sym_nullptr] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_try] = ACTIONS(2997), + [anon_sym_delete] = ACTIONS(2997), + [anon_sym_throw] = ACTIONS(2997), + [anon_sym_namespace] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + [anon_sym_concept] = ACTIONS(2997), + [anon_sym_co_return] = ACTIONS(2997), + [anon_sym_co_yield] = ACTIONS(2997), + [anon_sym_R_DQUOTE] = ACTIONS(2999), + [anon_sym_LR_DQUOTE] = ACTIONS(2999), + [anon_sym_uR_DQUOTE] = ACTIONS(2999), + [anon_sym_UR_DQUOTE] = ACTIONS(2999), + [anon_sym_u8R_DQUOTE] = ACTIONS(2999), + [anon_sym_co_await] = ACTIONS(2997), + [anon_sym_new] = ACTIONS(2997), + [anon_sym_requires] = ACTIONS(2997), + [sym_this] = ACTIONS(2997), + }, + [556] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_include_token1] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token2] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_BANG] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_DASH] = ACTIONS(2901), + [anon_sym_PLUS] = ACTIONS(2901), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym_SEMI] = ACTIONS(2903), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym___cdecl] = ACTIONS(2901), + [anon_sym___clrcall] = ACTIONS(2901), + [anon_sym___stdcall] = ACTIONS(2901), + [anon_sym___fastcall] = ACTIONS(2901), + [anon_sym___thiscall] = ACTIONS(2901), + [anon_sym___vectorcall] = ACTIONS(2901), + [anon_sym_LBRACE] = ACTIONS(2903), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [anon_sym_if] = ACTIONS(2901), + [anon_sym_switch] = ACTIONS(2901), + [anon_sym_case] = ACTIONS(2901), + [anon_sym_default] = ACTIONS(2901), + [anon_sym_while] = ACTIONS(2901), + [anon_sym_do] = ACTIONS(2901), + [anon_sym_for] = ACTIONS(2901), + [anon_sym_return] = ACTIONS(2901), + [anon_sym_break] = ACTIONS(2901), + [anon_sym_continue] = ACTIONS(2901), + [anon_sym_goto] = ACTIONS(2901), + [anon_sym___try] = ACTIONS(2901), + [anon_sym___leave] = ACTIONS(2901), + [anon_sym_not] = ACTIONS(2901), + [anon_sym_compl] = ACTIONS(2901), + [anon_sym_DASH_DASH] = ACTIONS(2903), + [anon_sym_PLUS_PLUS] = ACTIONS(2903), + [anon_sym_sizeof] = ACTIONS(2901), + [anon_sym___alignof__] = ACTIONS(2901), + [anon_sym___alignof] = ACTIONS(2901), + [anon_sym__alignof] = ACTIONS(2901), + [anon_sym_alignof] = ACTIONS(2901), + [anon_sym__Alignof] = ACTIONS(2901), + [anon_sym_offsetof] = ACTIONS(2901), + [anon_sym__Generic] = ACTIONS(2901), + [anon_sym_asm] = ACTIONS(2901), + [anon_sym___asm__] = ACTIONS(2901), + [sym__number_literal] = ACTIONS(2903), + [anon_sym_L_SQUOTE] = ACTIONS(2903), + [anon_sym_u_SQUOTE] = ACTIONS(2903), + [anon_sym_U_SQUOTE] = ACTIONS(2903), + [anon_sym_u8_SQUOTE] = ACTIONS(2903), + [anon_sym_SQUOTE] = ACTIONS(2903), + [anon_sym_L_DQUOTE] = ACTIONS(2903), + [anon_sym_u_DQUOTE] = ACTIONS(2903), + [anon_sym_U_DQUOTE] = ACTIONS(2903), + [anon_sym_u8_DQUOTE] = ACTIONS(2903), + [anon_sym_DQUOTE] = ACTIONS(2903), + [sym_true] = ACTIONS(2901), + [sym_false] = ACTIONS(2901), + [anon_sym_NULL] = ACTIONS(2901), + [anon_sym_nullptr] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_try] = ACTIONS(2901), + [anon_sym_delete] = ACTIONS(2901), + [anon_sym_throw] = ACTIONS(2901), + [anon_sym_namespace] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + [anon_sym_concept] = ACTIONS(2901), + [anon_sym_co_return] = ACTIONS(2901), + [anon_sym_co_yield] = ACTIONS(2901), + [anon_sym_R_DQUOTE] = ACTIONS(2903), + [anon_sym_LR_DQUOTE] = ACTIONS(2903), + [anon_sym_uR_DQUOTE] = ACTIONS(2903), + [anon_sym_UR_DQUOTE] = ACTIONS(2903), + [anon_sym_u8R_DQUOTE] = ACTIONS(2903), + [anon_sym_co_await] = ACTIONS(2901), + [anon_sym_new] = ACTIONS(2901), + [anon_sym_requires] = ACTIONS(2901), + [sym_this] = ACTIONS(2901), + }, + [557] = { + [sym__identifier] = ACTIONS(3017), + [aux_sym_preproc_include_token1] = ACTIONS(3017), + [aux_sym_preproc_def_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3017), + [sym_preproc_directive] = ACTIONS(3017), + [anon_sym_LPAREN2] = ACTIONS(3019), + [anon_sym_BANG] = ACTIONS(3019), + [anon_sym_TILDE] = ACTIONS(3019), + [anon_sym_DASH] = ACTIONS(3017), + [anon_sym_PLUS] = ACTIONS(3017), + [anon_sym_STAR] = ACTIONS(3019), + [anon_sym_AMP_AMP] = ACTIONS(3019), + [anon_sym_AMP] = ACTIONS(3017), + [anon_sym_SEMI] = ACTIONS(3019), + [anon_sym___extension__] = ACTIONS(3017), + [anon_sym_typedef] = ACTIONS(3017), + [anon_sym_extern] = ACTIONS(3017), + [anon_sym___attribute__] = ACTIONS(3017), + [anon_sym_COLON_COLON] = ACTIONS(3019), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3019), + [anon_sym___declspec] = ACTIONS(3017), + [anon_sym___based] = ACTIONS(3017), + [anon_sym___cdecl] = ACTIONS(3017), + [anon_sym___clrcall] = ACTIONS(3017), + [anon_sym___stdcall] = ACTIONS(3017), + [anon_sym___fastcall] = ACTIONS(3017), + [anon_sym___thiscall] = ACTIONS(3017), + [anon_sym___vectorcall] = ACTIONS(3017), + [anon_sym_LBRACE] = ACTIONS(3019), + [anon_sym_RBRACE] = ACTIONS(3019), + [anon_sym_signed] = ACTIONS(3017), + [anon_sym_unsigned] = ACTIONS(3017), + [anon_sym_long] = ACTIONS(3017), + [anon_sym_short] = ACTIONS(3017), + [anon_sym_LBRACK] = ACTIONS(3017), + [anon_sym_static] = ACTIONS(3017), + [anon_sym_register] = ACTIONS(3017), + [anon_sym_inline] = ACTIONS(3017), + [anon_sym___inline] = ACTIONS(3017), + [anon_sym___inline__] = ACTIONS(3017), + [anon_sym___forceinline] = ACTIONS(3017), + [anon_sym_thread_local] = ACTIONS(3017), + [anon_sym___thread] = ACTIONS(3017), + [anon_sym_const] = ACTIONS(3017), + [anon_sym_constexpr] = ACTIONS(3017), + [anon_sym_volatile] = ACTIONS(3017), + [anon_sym_restrict] = ACTIONS(3017), + [anon_sym___restrict__] = ACTIONS(3017), + [anon_sym__Atomic] = ACTIONS(3017), + [anon_sym__Noreturn] = ACTIONS(3017), + [anon_sym_noreturn] = ACTIONS(3017), + [anon_sym_mutable] = ACTIONS(3017), + [anon_sym_constinit] = ACTIONS(3017), + [anon_sym_consteval] = ACTIONS(3017), + [anon_sym_alignas] = ACTIONS(3017), + [anon_sym__Alignas] = ACTIONS(3017), + [sym_primitive_type] = ACTIONS(3017), + [anon_sym_enum] = ACTIONS(3017), + [anon_sym_class] = ACTIONS(3017), + [anon_sym_struct] = ACTIONS(3017), + [anon_sym_union] = ACTIONS(3017), + [anon_sym_if] = ACTIONS(3017), + [anon_sym_switch] = ACTIONS(3017), + [anon_sym_case] = ACTIONS(3017), + [anon_sym_default] = ACTIONS(3017), + [anon_sym_while] = ACTIONS(3017), + [anon_sym_do] = ACTIONS(3017), + [anon_sym_for] = ACTIONS(3017), + [anon_sym_return] = ACTIONS(3017), + [anon_sym_break] = ACTIONS(3017), + [anon_sym_continue] = ACTIONS(3017), + [anon_sym_goto] = ACTIONS(3017), + [anon_sym___try] = ACTIONS(3017), + [anon_sym___leave] = ACTIONS(3017), + [anon_sym_not] = ACTIONS(3017), + [anon_sym_compl] = ACTIONS(3017), + [anon_sym_DASH_DASH] = ACTIONS(3019), + [anon_sym_PLUS_PLUS] = ACTIONS(3019), + [anon_sym_sizeof] = ACTIONS(3017), + [anon_sym___alignof__] = ACTIONS(3017), + [anon_sym___alignof] = ACTIONS(3017), + [anon_sym__alignof] = ACTIONS(3017), + [anon_sym_alignof] = ACTIONS(3017), + [anon_sym__Alignof] = ACTIONS(3017), + [anon_sym_offsetof] = ACTIONS(3017), + [anon_sym__Generic] = ACTIONS(3017), + [anon_sym_asm] = ACTIONS(3017), + [anon_sym___asm__] = ACTIONS(3017), + [sym__number_literal] = ACTIONS(3019), + [anon_sym_L_SQUOTE] = ACTIONS(3019), + [anon_sym_u_SQUOTE] = ACTIONS(3019), + [anon_sym_U_SQUOTE] = ACTIONS(3019), + [anon_sym_u8_SQUOTE] = ACTIONS(3019), + [anon_sym_SQUOTE] = ACTIONS(3019), + [anon_sym_L_DQUOTE] = ACTIONS(3019), + [anon_sym_u_DQUOTE] = ACTIONS(3019), + [anon_sym_U_DQUOTE] = ACTIONS(3019), + [anon_sym_u8_DQUOTE] = ACTIONS(3019), + [anon_sym_DQUOTE] = ACTIONS(3019), + [sym_true] = ACTIONS(3017), + [sym_false] = ACTIONS(3017), + [anon_sym_NULL] = ACTIONS(3017), + [anon_sym_nullptr] = ACTIONS(3017), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3019), + [sym_auto] = ACTIONS(3017), + [anon_sym_decltype] = ACTIONS(3017), + [sym_virtual] = ACTIONS(3017), + [anon_sym_explicit] = ACTIONS(3017), + [anon_sym_typename] = ACTIONS(3017), + [anon_sym_template] = ACTIONS(3017), + [anon_sym_operator] = ACTIONS(3017), + [anon_sym_try] = ACTIONS(3017), + [anon_sym_delete] = ACTIONS(3017), + [anon_sym_throw] = ACTIONS(3017), + [anon_sym_namespace] = ACTIONS(3017), + [anon_sym_using] = ACTIONS(3017), + [anon_sym_static_assert] = ACTIONS(3017), + [anon_sym_concept] = ACTIONS(3017), + [anon_sym_co_return] = ACTIONS(3017), + [anon_sym_co_yield] = ACTIONS(3017), + [anon_sym_R_DQUOTE] = ACTIONS(3019), + [anon_sym_LR_DQUOTE] = ACTIONS(3019), + [anon_sym_uR_DQUOTE] = ACTIONS(3019), + [anon_sym_UR_DQUOTE] = ACTIONS(3019), + [anon_sym_u8R_DQUOTE] = ACTIONS(3019), + [anon_sym_co_await] = ACTIONS(3017), + [anon_sym_new] = ACTIONS(3017), + [anon_sym_requires] = ACTIONS(3017), + [sym_this] = ACTIONS(3017), + }, + [558] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [559] = { + [sym__identifier] = ACTIONS(3017), + [aux_sym_preproc_include_token1] = ACTIONS(3017), + [aux_sym_preproc_def_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token2] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3017), + [sym_preproc_directive] = ACTIONS(3017), + [anon_sym_LPAREN2] = ACTIONS(3019), + [anon_sym_BANG] = ACTIONS(3019), + [anon_sym_TILDE] = ACTIONS(3019), + [anon_sym_DASH] = ACTIONS(3017), + [anon_sym_PLUS] = ACTIONS(3017), + [anon_sym_STAR] = ACTIONS(3019), + [anon_sym_AMP_AMP] = ACTIONS(3019), + [anon_sym_AMP] = ACTIONS(3017), + [anon_sym_SEMI] = ACTIONS(3019), + [anon_sym___extension__] = ACTIONS(3017), + [anon_sym_typedef] = ACTIONS(3017), + [anon_sym_extern] = ACTIONS(3017), + [anon_sym___attribute__] = ACTIONS(3017), + [anon_sym_COLON_COLON] = ACTIONS(3019), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3019), + [anon_sym___declspec] = ACTIONS(3017), + [anon_sym___based] = ACTIONS(3017), + [anon_sym___cdecl] = ACTIONS(3017), + [anon_sym___clrcall] = ACTIONS(3017), + [anon_sym___stdcall] = ACTIONS(3017), + [anon_sym___fastcall] = ACTIONS(3017), + [anon_sym___thiscall] = ACTIONS(3017), + [anon_sym___vectorcall] = ACTIONS(3017), + [anon_sym_LBRACE] = ACTIONS(3019), + [anon_sym_signed] = ACTIONS(3017), + [anon_sym_unsigned] = ACTIONS(3017), + [anon_sym_long] = ACTIONS(3017), + [anon_sym_short] = ACTIONS(3017), + [anon_sym_LBRACK] = ACTIONS(3017), + [anon_sym_static] = ACTIONS(3017), + [anon_sym_register] = ACTIONS(3017), + [anon_sym_inline] = ACTIONS(3017), + [anon_sym___inline] = ACTIONS(3017), + [anon_sym___inline__] = ACTIONS(3017), + [anon_sym___forceinline] = ACTIONS(3017), + [anon_sym_thread_local] = ACTIONS(3017), + [anon_sym___thread] = ACTIONS(3017), + [anon_sym_const] = ACTIONS(3017), + [anon_sym_constexpr] = ACTIONS(3017), + [anon_sym_volatile] = ACTIONS(3017), + [anon_sym_restrict] = ACTIONS(3017), + [anon_sym___restrict__] = ACTIONS(3017), + [anon_sym__Atomic] = ACTIONS(3017), + [anon_sym__Noreturn] = ACTIONS(3017), + [anon_sym_noreturn] = ACTIONS(3017), + [anon_sym_mutable] = ACTIONS(3017), + [anon_sym_constinit] = ACTIONS(3017), + [anon_sym_consteval] = ACTIONS(3017), + [anon_sym_alignas] = ACTIONS(3017), + [anon_sym__Alignas] = ACTIONS(3017), + [sym_primitive_type] = ACTIONS(3017), + [anon_sym_enum] = ACTIONS(3017), + [anon_sym_class] = ACTIONS(3017), + [anon_sym_struct] = ACTIONS(3017), + [anon_sym_union] = ACTIONS(3017), + [anon_sym_if] = ACTIONS(3017), + [anon_sym_switch] = ACTIONS(3017), + [anon_sym_case] = ACTIONS(3017), + [anon_sym_default] = ACTIONS(3017), + [anon_sym_while] = ACTIONS(3017), + [anon_sym_do] = ACTIONS(3017), + [anon_sym_for] = ACTIONS(3017), + [anon_sym_return] = ACTIONS(3017), + [anon_sym_break] = ACTIONS(3017), + [anon_sym_continue] = ACTIONS(3017), + [anon_sym_goto] = ACTIONS(3017), + [anon_sym___try] = ACTIONS(3017), + [anon_sym___leave] = ACTIONS(3017), + [anon_sym_not] = ACTIONS(3017), + [anon_sym_compl] = ACTIONS(3017), + [anon_sym_DASH_DASH] = ACTIONS(3019), + [anon_sym_PLUS_PLUS] = ACTIONS(3019), + [anon_sym_sizeof] = ACTIONS(3017), + [anon_sym___alignof__] = ACTIONS(3017), + [anon_sym___alignof] = ACTIONS(3017), + [anon_sym__alignof] = ACTIONS(3017), + [anon_sym_alignof] = ACTIONS(3017), + [anon_sym__Alignof] = ACTIONS(3017), + [anon_sym_offsetof] = ACTIONS(3017), + [anon_sym__Generic] = ACTIONS(3017), + [anon_sym_asm] = ACTIONS(3017), + [anon_sym___asm__] = ACTIONS(3017), + [sym__number_literal] = ACTIONS(3019), + [anon_sym_L_SQUOTE] = ACTIONS(3019), + [anon_sym_u_SQUOTE] = ACTIONS(3019), + [anon_sym_U_SQUOTE] = ACTIONS(3019), + [anon_sym_u8_SQUOTE] = ACTIONS(3019), + [anon_sym_SQUOTE] = ACTIONS(3019), + [anon_sym_L_DQUOTE] = ACTIONS(3019), + [anon_sym_u_DQUOTE] = ACTIONS(3019), + [anon_sym_U_DQUOTE] = ACTIONS(3019), + [anon_sym_u8_DQUOTE] = ACTIONS(3019), + [anon_sym_DQUOTE] = ACTIONS(3019), + [sym_true] = ACTIONS(3017), + [sym_false] = ACTIONS(3017), + [anon_sym_NULL] = ACTIONS(3017), + [anon_sym_nullptr] = ACTIONS(3017), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3019), + [sym_auto] = ACTIONS(3017), + [anon_sym_decltype] = ACTIONS(3017), + [sym_virtual] = ACTIONS(3017), + [anon_sym_explicit] = ACTIONS(3017), + [anon_sym_typename] = ACTIONS(3017), + [anon_sym_template] = ACTIONS(3017), + [anon_sym_operator] = ACTIONS(3017), + [anon_sym_try] = ACTIONS(3017), + [anon_sym_delete] = ACTIONS(3017), + [anon_sym_throw] = ACTIONS(3017), + [anon_sym_namespace] = ACTIONS(3017), + [anon_sym_using] = ACTIONS(3017), + [anon_sym_static_assert] = ACTIONS(3017), + [anon_sym_concept] = ACTIONS(3017), + [anon_sym_co_return] = ACTIONS(3017), + [anon_sym_co_yield] = ACTIONS(3017), + [anon_sym_R_DQUOTE] = ACTIONS(3019), + [anon_sym_LR_DQUOTE] = ACTIONS(3019), + [anon_sym_uR_DQUOTE] = ACTIONS(3019), + [anon_sym_UR_DQUOTE] = ACTIONS(3019), + [anon_sym_u8R_DQUOTE] = ACTIONS(3019), + [anon_sym_co_await] = ACTIONS(3017), + [anon_sym_new] = ACTIONS(3017), + [anon_sym_requires] = ACTIONS(3017), + [sym_this] = ACTIONS(3017), + }, + [560] = { + [sym__identifier] = ACTIONS(2956), + [aux_sym_preproc_include_token1] = ACTIONS(2956), + [aux_sym_preproc_def_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token2] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2956), + [sym_preproc_directive] = ACTIONS(2956), + [anon_sym_LPAREN2] = ACTIONS(2958), + [anon_sym_BANG] = ACTIONS(2958), + [anon_sym_TILDE] = ACTIONS(2958), + [anon_sym_DASH] = ACTIONS(2956), + [anon_sym_PLUS] = ACTIONS(2956), + [anon_sym_STAR] = ACTIONS(2958), + [anon_sym_AMP_AMP] = ACTIONS(2958), + [anon_sym_AMP] = ACTIONS(2956), + [anon_sym_SEMI] = ACTIONS(2958), + [anon_sym___extension__] = ACTIONS(2956), + [anon_sym_typedef] = ACTIONS(2956), + [anon_sym_extern] = ACTIONS(2956), + [anon_sym___attribute__] = ACTIONS(2956), + [anon_sym_COLON_COLON] = ACTIONS(2958), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2958), + [anon_sym___declspec] = ACTIONS(2956), + [anon_sym___based] = ACTIONS(2956), + [anon_sym___cdecl] = ACTIONS(2956), + [anon_sym___clrcall] = ACTIONS(2956), + [anon_sym___stdcall] = ACTIONS(2956), + [anon_sym___fastcall] = ACTIONS(2956), + [anon_sym___thiscall] = ACTIONS(2956), + [anon_sym___vectorcall] = ACTIONS(2956), + [anon_sym_LBRACE] = ACTIONS(2958), + [anon_sym_signed] = ACTIONS(2956), + [anon_sym_unsigned] = ACTIONS(2956), + [anon_sym_long] = ACTIONS(2956), + [anon_sym_short] = ACTIONS(2956), + [anon_sym_LBRACK] = ACTIONS(2956), + [anon_sym_static] = ACTIONS(2956), + [anon_sym_register] = ACTIONS(2956), + [anon_sym_inline] = ACTIONS(2956), + [anon_sym___inline] = ACTIONS(2956), + [anon_sym___inline__] = ACTIONS(2956), + [anon_sym___forceinline] = ACTIONS(2956), + [anon_sym_thread_local] = ACTIONS(2956), + [anon_sym___thread] = ACTIONS(2956), + [anon_sym_const] = ACTIONS(2956), + [anon_sym_constexpr] = ACTIONS(2956), + [anon_sym_volatile] = ACTIONS(2956), + [anon_sym_restrict] = ACTIONS(2956), + [anon_sym___restrict__] = ACTIONS(2956), + [anon_sym__Atomic] = ACTIONS(2956), + [anon_sym__Noreturn] = ACTIONS(2956), + [anon_sym_noreturn] = ACTIONS(2956), + [anon_sym_mutable] = ACTIONS(2956), + [anon_sym_constinit] = ACTIONS(2956), + [anon_sym_consteval] = ACTIONS(2956), + [anon_sym_alignas] = ACTIONS(2956), + [anon_sym__Alignas] = ACTIONS(2956), + [sym_primitive_type] = ACTIONS(2956), + [anon_sym_enum] = ACTIONS(2956), + [anon_sym_class] = ACTIONS(2956), + [anon_sym_struct] = ACTIONS(2956), + [anon_sym_union] = ACTIONS(2956), + [anon_sym_if] = ACTIONS(2956), + [anon_sym_switch] = ACTIONS(2956), + [anon_sym_case] = ACTIONS(2956), + [anon_sym_default] = ACTIONS(2956), + [anon_sym_while] = ACTIONS(2956), + [anon_sym_do] = ACTIONS(2956), + [anon_sym_for] = ACTIONS(2956), + [anon_sym_return] = ACTIONS(2956), + [anon_sym_break] = ACTIONS(2956), + [anon_sym_continue] = ACTIONS(2956), + [anon_sym_goto] = ACTIONS(2956), + [anon_sym___try] = ACTIONS(2956), + [anon_sym___leave] = ACTIONS(2956), + [anon_sym_not] = ACTIONS(2956), + [anon_sym_compl] = ACTIONS(2956), + [anon_sym_DASH_DASH] = ACTIONS(2958), + [anon_sym_PLUS_PLUS] = ACTIONS(2958), + [anon_sym_sizeof] = ACTIONS(2956), + [anon_sym___alignof__] = ACTIONS(2956), + [anon_sym___alignof] = ACTIONS(2956), + [anon_sym__alignof] = ACTIONS(2956), + [anon_sym_alignof] = ACTIONS(2956), + [anon_sym__Alignof] = ACTIONS(2956), + [anon_sym_offsetof] = ACTIONS(2956), + [anon_sym__Generic] = ACTIONS(2956), + [anon_sym_asm] = ACTIONS(2956), + [anon_sym___asm__] = ACTIONS(2956), + [sym__number_literal] = ACTIONS(2958), + [anon_sym_L_SQUOTE] = ACTIONS(2958), + [anon_sym_u_SQUOTE] = ACTIONS(2958), + [anon_sym_U_SQUOTE] = ACTIONS(2958), + [anon_sym_u8_SQUOTE] = ACTIONS(2958), + [anon_sym_SQUOTE] = ACTIONS(2958), + [anon_sym_L_DQUOTE] = ACTIONS(2958), + [anon_sym_u_DQUOTE] = ACTIONS(2958), + [anon_sym_U_DQUOTE] = ACTIONS(2958), + [anon_sym_u8_DQUOTE] = ACTIONS(2958), + [anon_sym_DQUOTE] = ACTIONS(2958), + [sym_true] = ACTIONS(2956), + [sym_false] = ACTIONS(2956), + [anon_sym_NULL] = ACTIONS(2956), + [anon_sym_nullptr] = ACTIONS(2956), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2958), + [sym_auto] = ACTIONS(2956), + [anon_sym_decltype] = ACTIONS(2956), + [sym_virtual] = ACTIONS(2956), + [anon_sym_explicit] = ACTIONS(2956), + [anon_sym_typename] = ACTIONS(2956), + [anon_sym_template] = ACTIONS(2956), + [anon_sym_operator] = ACTIONS(2956), + [anon_sym_try] = ACTIONS(2956), + [anon_sym_delete] = ACTIONS(2956), + [anon_sym_throw] = ACTIONS(2956), + [anon_sym_namespace] = ACTIONS(2956), + [anon_sym_using] = ACTIONS(2956), + [anon_sym_static_assert] = ACTIONS(2956), + [anon_sym_concept] = ACTIONS(2956), + [anon_sym_co_return] = ACTIONS(2956), + [anon_sym_co_yield] = ACTIONS(2956), + [anon_sym_R_DQUOTE] = ACTIONS(2958), + [anon_sym_LR_DQUOTE] = ACTIONS(2958), + [anon_sym_uR_DQUOTE] = ACTIONS(2958), + [anon_sym_UR_DQUOTE] = ACTIONS(2958), + [anon_sym_u8R_DQUOTE] = ACTIONS(2958), + [anon_sym_co_await] = ACTIONS(2956), + [anon_sym_new] = ACTIONS(2956), + [anon_sym_requires] = ACTIONS(2956), + [sym_this] = ACTIONS(2956), + }, + [561] = { + [sym__identifier] = ACTIONS(2944), + [aux_sym_preproc_include_token1] = ACTIONS(2944), + [aux_sym_preproc_def_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token2] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2944), + [sym_preproc_directive] = ACTIONS(2944), + [anon_sym_LPAREN2] = ACTIONS(2946), + [anon_sym_BANG] = ACTIONS(2946), + [anon_sym_TILDE] = ACTIONS(2946), + [anon_sym_DASH] = ACTIONS(2944), + [anon_sym_PLUS] = ACTIONS(2944), + [anon_sym_STAR] = ACTIONS(2946), + [anon_sym_AMP_AMP] = ACTIONS(2946), + [anon_sym_AMP] = ACTIONS(2944), + [anon_sym_SEMI] = ACTIONS(2946), + [anon_sym___extension__] = ACTIONS(2944), + [anon_sym_typedef] = ACTIONS(2944), + [anon_sym_extern] = ACTIONS(2944), + [anon_sym___attribute__] = ACTIONS(2944), + [anon_sym_COLON_COLON] = ACTIONS(2946), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2946), + [anon_sym___declspec] = ACTIONS(2944), + [anon_sym___based] = ACTIONS(2944), + [anon_sym___cdecl] = ACTIONS(2944), + [anon_sym___clrcall] = ACTIONS(2944), + [anon_sym___stdcall] = ACTIONS(2944), + [anon_sym___fastcall] = ACTIONS(2944), + [anon_sym___thiscall] = ACTIONS(2944), + [anon_sym___vectorcall] = ACTIONS(2944), + [anon_sym_LBRACE] = ACTIONS(2946), + [anon_sym_signed] = ACTIONS(2944), + [anon_sym_unsigned] = ACTIONS(2944), + [anon_sym_long] = ACTIONS(2944), + [anon_sym_short] = ACTIONS(2944), + [anon_sym_LBRACK] = ACTIONS(2944), + [anon_sym_static] = ACTIONS(2944), + [anon_sym_register] = ACTIONS(2944), + [anon_sym_inline] = ACTIONS(2944), + [anon_sym___inline] = ACTIONS(2944), + [anon_sym___inline__] = ACTIONS(2944), + [anon_sym___forceinline] = ACTIONS(2944), + [anon_sym_thread_local] = ACTIONS(2944), + [anon_sym___thread] = ACTIONS(2944), + [anon_sym_const] = ACTIONS(2944), + [anon_sym_constexpr] = ACTIONS(2944), + [anon_sym_volatile] = ACTIONS(2944), + [anon_sym_restrict] = ACTIONS(2944), + [anon_sym___restrict__] = ACTIONS(2944), + [anon_sym__Atomic] = ACTIONS(2944), + [anon_sym__Noreturn] = ACTIONS(2944), + [anon_sym_noreturn] = ACTIONS(2944), + [anon_sym_mutable] = ACTIONS(2944), + [anon_sym_constinit] = ACTIONS(2944), + [anon_sym_consteval] = ACTIONS(2944), + [anon_sym_alignas] = ACTIONS(2944), + [anon_sym__Alignas] = ACTIONS(2944), + [sym_primitive_type] = ACTIONS(2944), + [anon_sym_enum] = ACTIONS(2944), + [anon_sym_class] = ACTIONS(2944), + [anon_sym_struct] = ACTIONS(2944), + [anon_sym_union] = ACTIONS(2944), + [anon_sym_if] = ACTIONS(2944), + [anon_sym_switch] = ACTIONS(2944), + [anon_sym_case] = ACTIONS(2944), + [anon_sym_default] = ACTIONS(2944), + [anon_sym_while] = ACTIONS(2944), + [anon_sym_do] = ACTIONS(2944), + [anon_sym_for] = ACTIONS(2944), + [anon_sym_return] = ACTIONS(2944), + [anon_sym_break] = ACTIONS(2944), + [anon_sym_continue] = ACTIONS(2944), + [anon_sym_goto] = ACTIONS(2944), + [anon_sym___try] = ACTIONS(2944), + [anon_sym___leave] = ACTIONS(2944), + [anon_sym_not] = ACTIONS(2944), + [anon_sym_compl] = ACTIONS(2944), + [anon_sym_DASH_DASH] = ACTIONS(2946), + [anon_sym_PLUS_PLUS] = ACTIONS(2946), + [anon_sym_sizeof] = ACTIONS(2944), + [anon_sym___alignof__] = ACTIONS(2944), + [anon_sym___alignof] = ACTIONS(2944), + [anon_sym__alignof] = ACTIONS(2944), + [anon_sym_alignof] = ACTIONS(2944), + [anon_sym__Alignof] = ACTIONS(2944), + [anon_sym_offsetof] = ACTIONS(2944), + [anon_sym__Generic] = ACTIONS(2944), + [anon_sym_asm] = ACTIONS(2944), + [anon_sym___asm__] = ACTIONS(2944), + [sym__number_literal] = ACTIONS(2946), + [anon_sym_L_SQUOTE] = ACTIONS(2946), + [anon_sym_u_SQUOTE] = ACTIONS(2946), + [anon_sym_U_SQUOTE] = ACTIONS(2946), + [anon_sym_u8_SQUOTE] = ACTIONS(2946), + [anon_sym_SQUOTE] = ACTIONS(2946), + [anon_sym_L_DQUOTE] = ACTIONS(2946), + [anon_sym_u_DQUOTE] = ACTIONS(2946), + [anon_sym_U_DQUOTE] = ACTIONS(2946), + [anon_sym_u8_DQUOTE] = ACTIONS(2946), + [anon_sym_DQUOTE] = ACTIONS(2946), + [sym_true] = ACTIONS(2944), + [sym_false] = ACTIONS(2944), + [anon_sym_NULL] = ACTIONS(2944), + [anon_sym_nullptr] = ACTIONS(2944), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2946), + [sym_auto] = ACTIONS(2944), + [anon_sym_decltype] = ACTIONS(2944), + [sym_virtual] = ACTIONS(2944), + [anon_sym_explicit] = ACTIONS(2944), + [anon_sym_typename] = ACTIONS(2944), + [anon_sym_template] = ACTIONS(2944), + [anon_sym_operator] = ACTIONS(2944), + [anon_sym_try] = ACTIONS(2944), + [anon_sym_delete] = ACTIONS(2944), + [anon_sym_throw] = ACTIONS(2944), + [anon_sym_namespace] = ACTIONS(2944), + [anon_sym_using] = ACTIONS(2944), + [anon_sym_static_assert] = ACTIONS(2944), + [anon_sym_concept] = ACTIONS(2944), + [anon_sym_co_return] = ACTIONS(2944), + [anon_sym_co_yield] = ACTIONS(2944), + [anon_sym_R_DQUOTE] = ACTIONS(2946), + [anon_sym_LR_DQUOTE] = ACTIONS(2946), + [anon_sym_uR_DQUOTE] = ACTIONS(2946), + [anon_sym_UR_DQUOTE] = ACTIONS(2946), + [anon_sym_u8R_DQUOTE] = ACTIONS(2946), + [anon_sym_co_await] = ACTIONS(2944), + [anon_sym_new] = ACTIONS(2944), + [anon_sym_requires] = ACTIONS(2944), + [sym_this] = ACTIONS(2944), + }, + [562] = { + [sym__identifier] = ACTIONS(3039), + [aux_sym_preproc_include_token1] = ACTIONS(3039), + [aux_sym_preproc_def_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token2] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3039), + [sym_preproc_directive] = ACTIONS(3039), + [anon_sym_LPAREN2] = ACTIONS(3041), + [anon_sym_BANG] = ACTIONS(3041), + [anon_sym_TILDE] = ACTIONS(3041), + [anon_sym_DASH] = ACTIONS(3039), + [anon_sym_PLUS] = ACTIONS(3039), + [anon_sym_STAR] = ACTIONS(3041), + [anon_sym_AMP_AMP] = ACTIONS(3041), + [anon_sym_AMP] = ACTIONS(3039), + [anon_sym_SEMI] = ACTIONS(3041), + [anon_sym___extension__] = ACTIONS(3039), + [anon_sym_typedef] = ACTIONS(3039), + [anon_sym_extern] = ACTIONS(3039), + [anon_sym___attribute__] = ACTIONS(3039), + [anon_sym_COLON_COLON] = ACTIONS(3041), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3041), + [anon_sym___declspec] = ACTIONS(3039), + [anon_sym___based] = ACTIONS(3039), + [anon_sym___cdecl] = ACTIONS(3039), + [anon_sym___clrcall] = ACTIONS(3039), + [anon_sym___stdcall] = ACTIONS(3039), + [anon_sym___fastcall] = ACTIONS(3039), + [anon_sym___thiscall] = ACTIONS(3039), + [anon_sym___vectorcall] = ACTIONS(3039), + [anon_sym_LBRACE] = ACTIONS(3041), + [anon_sym_signed] = ACTIONS(3039), + [anon_sym_unsigned] = ACTIONS(3039), + [anon_sym_long] = ACTIONS(3039), + [anon_sym_short] = ACTIONS(3039), + [anon_sym_LBRACK] = ACTIONS(3039), + [anon_sym_static] = ACTIONS(3039), + [anon_sym_register] = ACTIONS(3039), + [anon_sym_inline] = ACTIONS(3039), + [anon_sym___inline] = ACTIONS(3039), + [anon_sym___inline__] = ACTIONS(3039), + [anon_sym___forceinline] = ACTIONS(3039), + [anon_sym_thread_local] = ACTIONS(3039), + [anon_sym___thread] = ACTIONS(3039), + [anon_sym_const] = ACTIONS(3039), + [anon_sym_constexpr] = ACTIONS(3039), + [anon_sym_volatile] = ACTIONS(3039), + [anon_sym_restrict] = ACTIONS(3039), + [anon_sym___restrict__] = ACTIONS(3039), + [anon_sym__Atomic] = ACTIONS(3039), + [anon_sym__Noreturn] = ACTIONS(3039), + [anon_sym_noreturn] = ACTIONS(3039), + [anon_sym_mutable] = ACTIONS(3039), + [anon_sym_constinit] = ACTIONS(3039), + [anon_sym_consteval] = ACTIONS(3039), + [anon_sym_alignas] = ACTIONS(3039), + [anon_sym__Alignas] = ACTIONS(3039), + [sym_primitive_type] = ACTIONS(3039), + [anon_sym_enum] = ACTIONS(3039), + [anon_sym_class] = ACTIONS(3039), + [anon_sym_struct] = ACTIONS(3039), + [anon_sym_union] = ACTIONS(3039), + [anon_sym_if] = ACTIONS(3039), + [anon_sym_switch] = ACTIONS(3039), + [anon_sym_case] = ACTIONS(3039), + [anon_sym_default] = ACTIONS(3039), + [anon_sym_while] = ACTIONS(3039), + [anon_sym_do] = ACTIONS(3039), + [anon_sym_for] = ACTIONS(3039), + [anon_sym_return] = ACTIONS(3039), + [anon_sym_break] = ACTIONS(3039), + [anon_sym_continue] = ACTIONS(3039), + [anon_sym_goto] = ACTIONS(3039), + [anon_sym___try] = ACTIONS(3039), + [anon_sym___leave] = ACTIONS(3039), + [anon_sym_not] = ACTIONS(3039), + [anon_sym_compl] = ACTIONS(3039), + [anon_sym_DASH_DASH] = ACTIONS(3041), + [anon_sym_PLUS_PLUS] = ACTIONS(3041), + [anon_sym_sizeof] = ACTIONS(3039), + [anon_sym___alignof__] = ACTIONS(3039), + [anon_sym___alignof] = ACTIONS(3039), + [anon_sym__alignof] = ACTIONS(3039), + [anon_sym_alignof] = ACTIONS(3039), + [anon_sym__Alignof] = ACTIONS(3039), + [anon_sym_offsetof] = ACTIONS(3039), + [anon_sym__Generic] = ACTIONS(3039), + [anon_sym_asm] = ACTIONS(3039), + [anon_sym___asm__] = ACTIONS(3039), + [sym__number_literal] = ACTIONS(3041), + [anon_sym_L_SQUOTE] = ACTIONS(3041), + [anon_sym_u_SQUOTE] = ACTIONS(3041), + [anon_sym_U_SQUOTE] = ACTIONS(3041), + [anon_sym_u8_SQUOTE] = ACTIONS(3041), + [anon_sym_SQUOTE] = ACTIONS(3041), + [anon_sym_L_DQUOTE] = ACTIONS(3041), + [anon_sym_u_DQUOTE] = ACTIONS(3041), + [anon_sym_U_DQUOTE] = ACTIONS(3041), + [anon_sym_u8_DQUOTE] = ACTIONS(3041), + [anon_sym_DQUOTE] = ACTIONS(3041), + [sym_true] = ACTIONS(3039), + [sym_false] = ACTIONS(3039), + [anon_sym_NULL] = ACTIONS(3039), + [anon_sym_nullptr] = ACTIONS(3039), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3041), + [sym_auto] = ACTIONS(3039), + [anon_sym_decltype] = ACTIONS(3039), + [sym_virtual] = ACTIONS(3039), + [anon_sym_explicit] = ACTIONS(3039), + [anon_sym_typename] = ACTIONS(3039), + [anon_sym_template] = ACTIONS(3039), + [anon_sym_operator] = ACTIONS(3039), + [anon_sym_try] = ACTIONS(3039), + [anon_sym_delete] = ACTIONS(3039), + [anon_sym_throw] = ACTIONS(3039), + [anon_sym_namespace] = ACTIONS(3039), + [anon_sym_using] = ACTIONS(3039), + [anon_sym_static_assert] = ACTIONS(3039), + [anon_sym_concept] = ACTIONS(3039), + [anon_sym_co_return] = ACTIONS(3039), + [anon_sym_co_yield] = ACTIONS(3039), + [anon_sym_R_DQUOTE] = ACTIONS(3041), + [anon_sym_LR_DQUOTE] = ACTIONS(3041), + [anon_sym_uR_DQUOTE] = ACTIONS(3041), + [anon_sym_UR_DQUOTE] = ACTIONS(3041), + [anon_sym_u8R_DQUOTE] = ACTIONS(3041), + [anon_sym_co_await] = ACTIONS(3039), + [anon_sym_new] = ACTIONS(3039), + [anon_sym_requires] = ACTIONS(3039), + [sym_this] = ACTIONS(3039), + }, + [563] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_include_token1] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token2] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_BANG] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_DASH] = ACTIONS(3150), + [anon_sym_PLUS] = ACTIONS(3150), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym_SEMI] = ACTIONS(3152), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym___cdecl] = ACTIONS(3150), + [anon_sym___clrcall] = ACTIONS(3150), + [anon_sym___stdcall] = ACTIONS(3150), + [anon_sym___fastcall] = ACTIONS(3150), + [anon_sym___thiscall] = ACTIONS(3150), + [anon_sym___vectorcall] = ACTIONS(3150), + [anon_sym_LBRACE] = ACTIONS(3152), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [anon_sym_if] = ACTIONS(3150), + [anon_sym_switch] = ACTIONS(3150), + [anon_sym_case] = ACTIONS(3150), + [anon_sym_default] = ACTIONS(3150), + [anon_sym_while] = ACTIONS(3150), + [anon_sym_do] = ACTIONS(3150), + [anon_sym_for] = ACTIONS(3150), + [anon_sym_return] = ACTIONS(3150), + [anon_sym_break] = ACTIONS(3150), + [anon_sym_continue] = ACTIONS(3150), + [anon_sym_goto] = ACTIONS(3150), + [anon_sym___try] = ACTIONS(3150), + [anon_sym___leave] = ACTIONS(3150), + [anon_sym_not] = ACTIONS(3150), + [anon_sym_compl] = ACTIONS(3150), + [anon_sym_DASH_DASH] = ACTIONS(3152), + [anon_sym_PLUS_PLUS] = ACTIONS(3152), + [anon_sym_sizeof] = ACTIONS(3150), + [anon_sym___alignof__] = ACTIONS(3150), + [anon_sym___alignof] = ACTIONS(3150), + [anon_sym__alignof] = ACTIONS(3150), + [anon_sym_alignof] = ACTIONS(3150), + [anon_sym__Alignof] = ACTIONS(3150), + [anon_sym_offsetof] = ACTIONS(3150), + [anon_sym__Generic] = ACTIONS(3150), + [anon_sym_asm] = ACTIONS(3150), + [anon_sym___asm__] = ACTIONS(3150), + [sym__number_literal] = ACTIONS(3152), + [anon_sym_L_SQUOTE] = ACTIONS(3152), + [anon_sym_u_SQUOTE] = ACTIONS(3152), + [anon_sym_U_SQUOTE] = ACTIONS(3152), + [anon_sym_u8_SQUOTE] = ACTIONS(3152), + [anon_sym_SQUOTE] = ACTIONS(3152), + [anon_sym_L_DQUOTE] = ACTIONS(3152), + [anon_sym_u_DQUOTE] = ACTIONS(3152), + [anon_sym_U_DQUOTE] = ACTIONS(3152), + [anon_sym_u8_DQUOTE] = ACTIONS(3152), + [anon_sym_DQUOTE] = ACTIONS(3152), + [sym_true] = ACTIONS(3150), + [sym_false] = ACTIONS(3150), + [anon_sym_NULL] = ACTIONS(3150), + [anon_sym_nullptr] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_try] = ACTIONS(3150), + [anon_sym_delete] = ACTIONS(3150), + [anon_sym_throw] = ACTIONS(3150), + [anon_sym_namespace] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + [anon_sym_concept] = ACTIONS(3150), + [anon_sym_co_return] = ACTIONS(3150), + [anon_sym_co_yield] = ACTIONS(3150), + [anon_sym_R_DQUOTE] = ACTIONS(3152), + [anon_sym_LR_DQUOTE] = ACTIONS(3152), + [anon_sym_uR_DQUOTE] = ACTIONS(3152), + [anon_sym_UR_DQUOTE] = ACTIONS(3152), + [anon_sym_u8R_DQUOTE] = ACTIONS(3152), + [anon_sym_co_await] = ACTIONS(3150), + [anon_sym_new] = ACTIONS(3150), + [anon_sym_requires] = ACTIONS(3150), + [sym_this] = ACTIONS(3150), + }, + [564] = { + [sym__identifier] = ACTIONS(3031), + [aux_sym_preproc_include_token1] = ACTIONS(3031), + [aux_sym_preproc_def_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token2] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3031), + [sym_preproc_directive] = ACTIONS(3031), + [anon_sym_LPAREN2] = ACTIONS(3033), + [anon_sym_BANG] = ACTIONS(3033), + [anon_sym_TILDE] = ACTIONS(3033), + [anon_sym_DASH] = ACTIONS(3031), + [anon_sym_PLUS] = ACTIONS(3031), + [anon_sym_STAR] = ACTIONS(3033), + [anon_sym_AMP_AMP] = ACTIONS(3033), + [anon_sym_AMP] = ACTIONS(3031), + [anon_sym_SEMI] = ACTIONS(3033), + [anon_sym___extension__] = ACTIONS(3031), + [anon_sym_typedef] = ACTIONS(3031), + [anon_sym_extern] = ACTIONS(3031), + [anon_sym___attribute__] = ACTIONS(3031), + [anon_sym_COLON_COLON] = ACTIONS(3033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3033), + [anon_sym___declspec] = ACTIONS(3031), + [anon_sym___based] = ACTIONS(3031), + [anon_sym___cdecl] = ACTIONS(3031), + [anon_sym___clrcall] = ACTIONS(3031), + [anon_sym___stdcall] = ACTIONS(3031), + [anon_sym___fastcall] = ACTIONS(3031), + [anon_sym___thiscall] = ACTIONS(3031), + [anon_sym___vectorcall] = ACTIONS(3031), + [anon_sym_LBRACE] = ACTIONS(3033), + [anon_sym_signed] = ACTIONS(3031), + [anon_sym_unsigned] = ACTIONS(3031), + [anon_sym_long] = ACTIONS(3031), + [anon_sym_short] = ACTIONS(3031), + [anon_sym_LBRACK] = ACTIONS(3031), + [anon_sym_static] = ACTIONS(3031), + [anon_sym_register] = ACTIONS(3031), + [anon_sym_inline] = ACTIONS(3031), + [anon_sym___inline] = ACTIONS(3031), + [anon_sym___inline__] = ACTIONS(3031), + [anon_sym___forceinline] = ACTIONS(3031), + [anon_sym_thread_local] = ACTIONS(3031), + [anon_sym___thread] = ACTIONS(3031), + [anon_sym_const] = ACTIONS(3031), + [anon_sym_constexpr] = ACTIONS(3031), + [anon_sym_volatile] = ACTIONS(3031), + [anon_sym_restrict] = ACTIONS(3031), + [anon_sym___restrict__] = ACTIONS(3031), + [anon_sym__Atomic] = ACTIONS(3031), + [anon_sym__Noreturn] = ACTIONS(3031), + [anon_sym_noreturn] = ACTIONS(3031), + [anon_sym_mutable] = ACTIONS(3031), + [anon_sym_constinit] = ACTIONS(3031), + [anon_sym_consteval] = ACTIONS(3031), + [anon_sym_alignas] = ACTIONS(3031), + [anon_sym__Alignas] = ACTIONS(3031), + [sym_primitive_type] = ACTIONS(3031), + [anon_sym_enum] = ACTIONS(3031), + [anon_sym_class] = ACTIONS(3031), + [anon_sym_struct] = ACTIONS(3031), + [anon_sym_union] = ACTIONS(3031), + [anon_sym_if] = ACTIONS(3031), + [anon_sym_switch] = ACTIONS(3031), + [anon_sym_case] = ACTIONS(3031), + [anon_sym_default] = ACTIONS(3031), + [anon_sym_while] = ACTIONS(3031), + [anon_sym_do] = ACTIONS(3031), + [anon_sym_for] = ACTIONS(3031), + [anon_sym_return] = ACTIONS(3031), + [anon_sym_break] = ACTIONS(3031), + [anon_sym_continue] = ACTIONS(3031), + [anon_sym_goto] = ACTIONS(3031), + [anon_sym___try] = ACTIONS(3031), + [anon_sym___leave] = ACTIONS(3031), + [anon_sym_not] = ACTIONS(3031), + [anon_sym_compl] = ACTIONS(3031), + [anon_sym_DASH_DASH] = ACTIONS(3033), + [anon_sym_PLUS_PLUS] = ACTIONS(3033), + [anon_sym_sizeof] = ACTIONS(3031), + [anon_sym___alignof__] = ACTIONS(3031), + [anon_sym___alignof] = ACTIONS(3031), + [anon_sym__alignof] = ACTIONS(3031), + [anon_sym_alignof] = ACTIONS(3031), + [anon_sym__Alignof] = ACTIONS(3031), + [anon_sym_offsetof] = ACTIONS(3031), + [anon_sym__Generic] = ACTIONS(3031), + [anon_sym_asm] = ACTIONS(3031), + [anon_sym___asm__] = ACTIONS(3031), + [sym__number_literal] = ACTIONS(3033), + [anon_sym_L_SQUOTE] = ACTIONS(3033), + [anon_sym_u_SQUOTE] = ACTIONS(3033), + [anon_sym_U_SQUOTE] = ACTIONS(3033), + [anon_sym_u8_SQUOTE] = ACTIONS(3033), + [anon_sym_SQUOTE] = ACTIONS(3033), + [anon_sym_L_DQUOTE] = ACTIONS(3033), + [anon_sym_u_DQUOTE] = ACTIONS(3033), + [anon_sym_U_DQUOTE] = ACTIONS(3033), + [anon_sym_u8_DQUOTE] = ACTIONS(3033), + [anon_sym_DQUOTE] = ACTIONS(3033), + [sym_true] = ACTIONS(3031), + [sym_false] = ACTIONS(3031), + [anon_sym_NULL] = ACTIONS(3031), + [anon_sym_nullptr] = ACTIONS(3031), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3033), + [sym_auto] = ACTIONS(3031), + [anon_sym_decltype] = ACTIONS(3031), + [sym_virtual] = ACTIONS(3031), + [anon_sym_explicit] = ACTIONS(3031), + [anon_sym_typename] = ACTIONS(3031), + [anon_sym_template] = ACTIONS(3031), + [anon_sym_operator] = ACTIONS(3031), + [anon_sym_try] = ACTIONS(3031), + [anon_sym_delete] = ACTIONS(3031), + [anon_sym_throw] = ACTIONS(3031), + [anon_sym_namespace] = ACTIONS(3031), + [anon_sym_using] = ACTIONS(3031), + [anon_sym_static_assert] = ACTIONS(3031), + [anon_sym_concept] = ACTIONS(3031), + [anon_sym_co_return] = ACTIONS(3031), + [anon_sym_co_yield] = ACTIONS(3031), + [anon_sym_R_DQUOTE] = ACTIONS(3033), + [anon_sym_LR_DQUOTE] = ACTIONS(3033), + [anon_sym_uR_DQUOTE] = ACTIONS(3033), + [anon_sym_UR_DQUOTE] = ACTIONS(3033), + [anon_sym_u8R_DQUOTE] = ACTIONS(3033), + [anon_sym_co_await] = ACTIONS(3031), + [anon_sym_new] = ACTIONS(3031), + [anon_sym_requires] = ACTIONS(3031), + [sym_this] = ACTIONS(3031), + }, + [565] = { + [sym__identifier] = ACTIONS(3074), + [aux_sym_preproc_include_token1] = ACTIONS(3074), + [aux_sym_preproc_def_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3074), + [sym_preproc_directive] = ACTIONS(3074), + [anon_sym_LPAREN2] = ACTIONS(3076), + [anon_sym_BANG] = ACTIONS(3076), + [anon_sym_TILDE] = ACTIONS(3076), + [anon_sym_DASH] = ACTIONS(3074), + [anon_sym_PLUS] = ACTIONS(3074), + [anon_sym_STAR] = ACTIONS(3076), + [anon_sym_AMP_AMP] = ACTIONS(3076), + [anon_sym_AMP] = ACTIONS(3074), + [anon_sym_SEMI] = ACTIONS(3076), + [anon_sym___extension__] = ACTIONS(3074), + [anon_sym_typedef] = ACTIONS(3074), + [anon_sym_extern] = ACTIONS(3074), + [anon_sym___attribute__] = ACTIONS(3074), + [anon_sym_COLON_COLON] = ACTIONS(3076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3076), + [anon_sym___declspec] = ACTIONS(3074), + [anon_sym___based] = ACTIONS(3074), + [anon_sym___cdecl] = ACTIONS(3074), + [anon_sym___clrcall] = ACTIONS(3074), + [anon_sym___stdcall] = ACTIONS(3074), + [anon_sym___fastcall] = ACTIONS(3074), + [anon_sym___thiscall] = ACTIONS(3074), + [anon_sym___vectorcall] = ACTIONS(3074), + [anon_sym_LBRACE] = ACTIONS(3076), + [anon_sym_RBRACE] = ACTIONS(3076), + [anon_sym_signed] = ACTIONS(3074), + [anon_sym_unsigned] = ACTIONS(3074), + [anon_sym_long] = ACTIONS(3074), + [anon_sym_short] = ACTIONS(3074), + [anon_sym_LBRACK] = ACTIONS(3074), + [anon_sym_static] = ACTIONS(3074), + [anon_sym_register] = ACTIONS(3074), + [anon_sym_inline] = ACTIONS(3074), + [anon_sym___inline] = ACTIONS(3074), + [anon_sym___inline__] = ACTIONS(3074), + [anon_sym___forceinline] = ACTIONS(3074), + [anon_sym_thread_local] = ACTIONS(3074), + [anon_sym___thread] = ACTIONS(3074), + [anon_sym_const] = ACTIONS(3074), + [anon_sym_constexpr] = ACTIONS(3074), + [anon_sym_volatile] = ACTIONS(3074), + [anon_sym_restrict] = ACTIONS(3074), + [anon_sym___restrict__] = ACTIONS(3074), + [anon_sym__Atomic] = ACTIONS(3074), + [anon_sym__Noreturn] = ACTIONS(3074), + [anon_sym_noreturn] = ACTIONS(3074), + [anon_sym_mutable] = ACTIONS(3074), + [anon_sym_constinit] = ACTIONS(3074), + [anon_sym_consteval] = ACTIONS(3074), + [anon_sym_alignas] = ACTIONS(3074), + [anon_sym__Alignas] = ACTIONS(3074), + [sym_primitive_type] = ACTIONS(3074), + [anon_sym_enum] = ACTIONS(3074), + [anon_sym_class] = ACTIONS(3074), + [anon_sym_struct] = ACTIONS(3074), + [anon_sym_union] = ACTIONS(3074), + [anon_sym_if] = ACTIONS(3074), + [anon_sym_switch] = ACTIONS(3074), + [anon_sym_case] = ACTIONS(3074), + [anon_sym_default] = ACTIONS(3074), + [anon_sym_while] = ACTIONS(3074), + [anon_sym_do] = ACTIONS(3074), + [anon_sym_for] = ACTIONS(3074), + [anon_sym_return] = ACTIONS(3074), + [anon_sym_break] = ACTIONS(3074), + [anon_sym_continue] = ACTIONS(3074), + [anon_sym_goto] = ACTIONS(3074), + [anon_sym___try] = ACTIONS(3074), + [anon_sym___leave] = ACTIONS(3074), + [anon_sym_not] = ACTIONS(3074), + [anon_sym_compl] = ACTIONS(3074), + [anon_sym_DASH_DASH] = ACTIONS(3076), + [anon_sym_PLUS_PLUS] = ACTIONS(3076), + [anon_sym_sizeof] = ACTIONS(3074), + [anon_sym___alignof__] = ACTIONS(3074), + [anon_sym___alignof] = ACTIONS(3074), + [anon_sym__alignof] = ACTIONS(3074), + [anon_sym_alignof] = ACTIONS(3074), + [anon_sym__Alignof] = ACTIONS(3074), + [anon_sym_offsetof] = ACTIONS(3074), + [anon_sym__Generic] = ACTIONS(3074), + [anon_sym_asm] = ACTIONS(3074), + [anon_sym___asm__] = ACTIONS(3074), + [sym__number_literal] = ACTIONS(3076), + [anon_sym_L_SQUOTE] = ACTIONS(3076), + [anon_sym_u_SQUOTE] = ACTIONS(3076), + [anon_sym_U_SQUOTE] = ACTIONS(3076), + [anon_sym_u8_SQUOTE] = ACTIONS(3076), + [anon_sym_SQUOTE] = ACTIONS(3076), + [anon_sym_L_DQUOTE] = ACTIONS(3076), + [anon_sym_u_DQUOTE] = ACTIONS(3076), + [anon_sym_U_DQUOTE] = ACTIONS(3076), + [anon_sym_u8_DQUOTE] = ACTIONS(3076), + [anon_sym_DQUOTE] = ACTIONS(3076), + [sym_true] = ACTIONS(3074), + [sym_false] = ACTIONS(3074), + [anon_sym_NULL] = ACTIONS(3074), + [anon_sym_nullptr] = ACTIONS(3074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3076), + [sym_auto] = ACTIONS(3074), + [anon_sym_decltype] = ACTIONS(3074), + [sym_virtual] = ACTIONS(3074), + [anon_sym_explicit] = ACTIONS(3074), + [anon_sym_typename] = ACTIONS(3074), + [anon_sym_template] = ACTIONS(3074), + [anon_sym_operator] = ACTIONS(3074), + [anon_sym_try] = ACTIONS(3074), + [anon_sym_delete] = ACTIONS(3074), + [anon_sym_throw] = ACTIONS(3074), + [anon_sym_namespace] = ACTIONS(3074), + [anon_sym_using] = ACTIONS(3074), + [anon_sym_static_assert] = ACTIONS(3074), + [anon_sym_concept] = ACTIONS(3074), + [anon_sym_co_return] = ACTIONS(3074), + [anon_sym_co_yield] = ACTIONS(3074), + [anon_sym_R_DQUOTE] = ACTIONS(3076), + [anon_sym_LR_DQUOTE] = ACTIONS(3076), + [anon_sym_uR_DQUOTE] = ACTIONS(3076), + [anon_sym_UR_DQUOTE] = ACTIONS(3076), + [anon_sym_u8R_DQUOTE] = ACTIONS(3076), + [anon_sym_co_await] = ACTIONS(3074), + [anon_sym_new] = ACTIONS(3074), + [anon_sym_requires] = ACTIONS(3074), + [sym_this] = ACTIONS(3074), + }, + [566] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_include_token1] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token2] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_BANG] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_DASH] = ACTIONS(3174), + [anon_sym_PLUS] = ACTIONS(3174), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym_SEMI] = ACTIONS(3176), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym___cdecl] = ACTIONS(3174), + [anon_sym___clrcall] = ACTIONS(3174), + [anon_sym___stdcall] = ACTIONS(3174), + [anon_sym___fastcall] = ACTIONS(3174), + [anon_sym___thiscall] = ACTIONS(3174), + [anon_sym___vectorcall] = ACTIONS(3174), + [anon_sym_LBRACE] = ACTIONS(3176), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [anon_sym_if] = ACTIONS(3174), + [anon_sym_switch] = ACTIONS(3174), + [anon_sym_case] = ACTIONS(3174), + [anon_sym_default] = ACTIONS(3174), + [anon_sym_while] = ACTIONS(3174), + [anon_sym_do] = ACTIONS(3174), + [anon_sym_for] = ACTIONS(3174), + [anon_sym_return] = ACTIONS(3174), + [anon_sym_break] = ACTIONS(3174), + [anon_sym_continue] = ACTIONS(3174), + [anon_sym_goto] = ACTIONS(3174), + [anon_sym___try] = ACTIONS(3174), + [anon_sym___leave] = ACTIONS(3174), + [anon_sym_not] = ACTIONS(3174), + [anon_sym_compl] = ACTIONS(3174), + [anon_sym_DASH_DASH] = ACTIONS(3176), + [anon_sym_PLUS_PLUS] = ACTIONS(3176), + [anon_sym_sizeof] = ACTIONS(3174), + [anon_sym___alignof__] = ACTIONS(3174), + [anon_sym___alignof] = ACTIONS(3174), + [anon_sym__alignof] = ACTIONS(3174), + [anon_sym_alignof] = ACTIONS(3174), + [anon_sym__Alignof] = ACTIONS(3174), + [anon_sym_offsetof] = ACTIONS(3174), + [anon_sym__Generic] = ACTIONS(3174), + [anon_sym_asm] = ACTIONS(3174), + [anon_sym___asm__] = ACTIONS(3174), + [sym__number_literal] = ACTIONS(3176), + [anon_sym_L_SQUOTE] = ACTIONS(3176), + [anon_sym_u_SQUOTE] = ACTIONS(3176), + [anon_sym_U_SQUOTE] = ACTIONS(3176), + [anon_sym_u8_SQUOTE] = ACTIONS(3176), + [anon_sym_SQUOTE] = ACTIONS(3176), + [anon_sym_L_DQUOTE] = ACTIONS(3176), + [anon_sym_u_DQUOTE] = ACTIONS(3176), + [anon_sym_U_DQUOTE] = ACTIONS(3176), + [anon_sym_u8_DQUOTE] = ACTIONS(3176), + [anon_sym_DQUOTE] = ACTIONS(3176), + [sym_true] = ACTIONS(3174), + [sym_false] = ACTIONS(3174), + [anon_sym_NULL] = ACTIONS(3174), + [anon_sym_nullptr] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_try] = ACTIONS(3174), + [anon_sym_delete] = ACTIONS(3174), + [anon_sym_throw] = ACTIONS(3174), + [anon_sym_namespace] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + [anon_sym_concept] = ACTIONS(3174), + [anon_sym_co_return] = ACTIONS(3174), + [anon_sym_co_yield] = ACTIONS(3174), + [anon_sym_R_DQUOTE] = ACTIONS(3176), + [anon_sym_LR_DQUOTE] = ACTIONS(3176), + [anon_sym_uR_DQUOTE] = ACTIONS(3176), + [anon_sym_UR_DQUOTE] = ACTIONS(3176), + [anon_sym_u8R_DQUOTE] = ACTIONS(3176), + [anon_sym_co_await] = ACTIONS(3174), + [anon_sym_new] = ACTIONS(3174), + [anon_sym_requires] = ACTIONS(3174), + [sym_this] = ACTIONS(3174), + }, + [567] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_include_token1] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token2] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_BANG] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_DASH] = ACTIONS(3104), + [anon_sym_PLUS] = ACTIONS(3104), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym_SEMI] = ACTIONS(3106), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym___cdecl] = ACTIONS(3104), + [anon_sym___clrcall] = ACTIONS(3104), + [anon_sym___stdcall] = ACTIONS(3104), + [anon_sym___fastcall] = ACTIONS(3104), + [anon_sym___thiscall] = ACTIONS(3104), + [anon_sym___vectorcall] = ACTIONS(3104), + [anon_sym_LBRACE] = ACTIONS(3106), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [anon_sym_if] = ACTIONS(3104), + [anon_sym_switch] = ACTIONS(3104), + [anon_sym_case] = ACTIONS(3104), + [anon_sym_default] = ACTIONS(3104), + [anon_sym_while] = ACTIONS(3104), + [anon_sym_do] = ACTIONS(3104), + [anon_sym_for] = ACTIONS(3104), + [anon_sym_return] = ACTIONS(3104), + [anon_sym_break] = ACTIONS(3104), + [anon_sym_continue] = ACTIONS(3104), + [anon_sym_goto] = ACTIONS(3104), + [anon_sym___try] = ACTIONS(3104), + [anon_sym___leave] = ACTIONS(3104), + [anon_sym_not] = ACTIONS(3104), + [anon_sym_compl] = ACTIONS(3104), + [anon_sym_DASH_DASH] = ACTIONS(3106), + [anon_sym_PLUS_PLUS] = ACTIONS(3106), + [anon_sym_sizeof] = ACTIONS(3104), + [anon_sym___alignof__] = ACTIONS(3104), + [anon_sym___alignof] = ACTIONS(3104), + [anon_sym__alignof] = ACTIONS(3104), + [anon_sym_alignof] = ACTIONS(3104), + [anon_sym__Alignof] = ACTIONS(3104), + [anon_sym_offsetof] = ACTIONS(3104), + [anon_sym__Generic] = ACTIONS(3104), + [anon_sym_asm] = ACTIONS(3104), + [anon_sym___asm__] = ACTIONS(3104), + [sym__number_literal] = ACTIONS(3106), + [anon_sym_L_SQUOTE] = ACTIONS(3106), + [anon_sym_u_SQUOTE] = ACTIONS(3106), + [anon_sym_U_SQUOTE] = ACTIONS(3106), + [anon_sym_u8_SQUOTE] = ACTIONS(3106), + [anon_sym_SQUOTE] = ACTIONS(3106), + [anon_sym_L_DQUOTE] = ACTIONS(3106), + [anon_sym_u_DQUOTE] = ACTIONS(3106), + [anon_sym_U_DQUOTE] = ACTIONS(3106), + [anon_sym_u8_DQUOTE] = ACTIONS(3106), + [anon_sym_DQUOTE] = ACTIONS(3106), + [sym_true] = ACTIONS(3104), + [sym_false] = ACTIONS(3104), + [anon_sym_NULL] = ACTIONS(3104), + [anon_sym_nullptr] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_try] = ACTIONS(3104), + [anon_sym_delete] = ACTIONS(3104), + [anon_sym_throw] = ACTIONS(3104), + [anon_sym_namespace] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + [anon_sym_concept] = ACTIONS(3104), + [anon_sym_co_return] = ACTIONS(3104), + [anon_sym_co_yield] = ACTIONS(3104), + [anon_sym_R_DQUOTE] = ACTIONS(3106), + [anon_sym_LR_DQUOTE] = ACTIONS(3106), + [anon_sym_uR_DQUOTE] = ACTIONS(3106), + [anon_sym_UR_DQUOTE] = ACTIONS(3106), + [anon_sym_u8R_DQUOTE] = ACTIONS(3106), + [anon_sym_co_await] = ACTIONS(3104), + [anon_sym_new] = ACTIONS(3104), + [anon_sym_requires] = ACTIONS(3104), + [sym_this] = ACTIONS(3104), + }, + [568] = { + [sym__identifier] = ACTIONS(3190), + [aux_sym_preproc_include_token1] = ACTIONS(3190), + [aux_sym_preproc_def_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3190), + [sym_preproc_directive] = ACTIONS(3190), + [anon_sym_LPAREN2] = ACTIONS(3192), + [anon_sym_BANG] = ACTIONS(3192), + [anon_sym_TILDE] = ACTIONS(3192), + [anon_sym_DASH] = ACTIONS(3190), + [anon_sym_PLUS] = ACTIONS(3190), + [anon_sym_STAR] = ACTIONS(3192), + [anon_sym_AMP_AMP] = ACTIONS(3192), + [anon_sym_AMP] = ACTIONS(3190), + [anon_sym_SEMI] = ACTIONS(3192), + [anon_sym___extension__] = ACTIONS(3190), + [anon_sym_typedef] = ACTIONS(3190), + [anon_sym_extern] = ACTIONS(3190), + [anon_sym___attribute__] = ACTIONS(3190), + [anon_sym_COLON_COLON] = ACTIONS(3192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3192), + [anon_sym___declspec] = ACTIONS(3190), + [anon_sym___based] = ACTIONS(3190), + [anon_sym___cdecl] = ACTIONS(3190), + [anon_sym___clrcall] = ACTIONS(3190), + [anon_sym___stdcall] = ACTIONS(3190), + [anon_sym___fastcall] = ACTIONS(3190), + [anon_sym___thiscall] = ACTIONS(3190), + [anon_sym___vectorcall] = ACTIONS(3190), + [anon_sym_LBRACE] = ACTIONS(3192), + [anon_sym_RBRACE] = ACTIONS(3192), + [anon_sym_signed] = ACTIONS(3190), + [anon_sym_unsigned] = ACTIONS(3190), + [anon_sym_long] = ACTIONS(3190), + [anon_sym_short] = ACTIONS(3190), + [anon_sym_LBRACK] = ACTIONS(3190), + [anon_sym_static] = ACTIONS(3190), + [anon_sym_register] = ACTIONS(3190), + [anon_sym_inline] = ACTIONS(3190), + [anon_sym___inline] = ACTIONS(3190), + [anon_sym___inline__] = ACTIONS(3190), + [anon_sym___forceinline] = ACTIONS(3190), + [anon_sym_thread_local] = ACTIONS(3190), + [anon_sym___thread] = ACTIONS(3190), + [anon_sym_const] = ACTIONS(3190), + [anon_sym_constexpr] = ACTIONS(3190), + [anon_sym_volatile] = ACTIONS(3190), + [anon_sym_restrict] = ACTIONS(3190), + [anon_sym___restrict__] = ACTIONS(3190), + [anon_sym__Atomic] = ACTIONS(3190), + [anon_sym__Noreturn] = ACTIONS(3190), + [anon_sym_noreturn] = ACTIONS(3190), + [anon_sym_mutable] = ACTIONS(3190), + [anon_sym_constinit] = ACTIONS(3190), + [anon_sym_consteval] = ACTIONS(3190), + [anon_sym_alignas] = ACTIONS(3190), + [anon_sym__Alignas] = ACTIONS(3190), + [sym_primitive_type] = ACTIONS(3190), + [anon_sym_enum] = ACTIONS(3190), + [anon_sym_class] = ACTIONS(3190), + [anon_sym_struct] = ACTIONS(3190), + [anon_sym_union] = ACTIONS(3190), + [anon_sym_if] = ACTIONS(3190), + [anon_sym_switch] = ACTIONS(3190), + [anon_sym_case] = ACTIONS(3190), + [anon_sym_default] = ACTIONS(3190), + [anon_sym_while] = ACTIONS(3190), + [anon_sym_do] = ACTIONS(3190), + [anon_sym_for] = ACTIONS(3190), + [anon_sym_return] = ACTIONS(3190), + [anon_sym_break] = ACTIONS(3190), + [anon_sym_continue] = ACTIONS(3190), + [anon_sym_goto] = ACTIONS(3190), + [anon_sym___try] = ACTIONS(3190), + [anon_sym___leave] = ACTIONS(3190), + [anon_sym_not] = ACTIONS(3190), + [anon_sym_compl] = ACTIONS(3190), + [anon_sym_DASH_DASH] = ACTIONS(3192), + [anon_sym_PLUS_PLUS] = ACTIONS(3192), + [anon_sym_sizeof] = ACTIONS(3190), + [anon_sym___alignof__] = ACTIONS(3190), + [anon_sym___alignof] = ACTIONS(3190), + [anon_sym__alignof] = ACTIONS(3190), + [anon_sym_alignof] = ACTIONS(3190), + [anon_sym__Alignof] = ACTIONS(3190), + [anon_sym_offsetof] = ACTIONS(3190), + [anon_sym__Generic] = ACTIONS(3190), + [anon_sym_asm] = ACTIONS(3190), + [anon_sym___asm__] = ACTIONS(3190), + [sym__number_literal] = ACTIONS(3192), + [anon_sym_L_SQUOTE] = ACTIONS(3192), + [anon_sym_u_SQUOTE] = ACTIONS(3192), + [anon_sym_U_SQUOTE] = ACTIONS(3192), + [anon_sym_u8_SQUOTE] = ACTIONS(3192), + [anon_sym_SQUOTE] = ACTIONS(3192), + [anon_sym_L_DQUOTE] = ACTIONS(3192), + [anon_sym_u_DQUOTE] = ACTIONS(3192), + [anon_sym_U_DQUOTE] = ACTIONS(3192), + [anon_sym_u8_DQUOTE] = ACTIONS(3192), + [anon_sym_DQUOTE] = ACTIONS(3192), + [sym_true] = ACTIONS(3190), + [sym_false] = ACTIONS(3190), + [anon_sym_NULL] = ACTIONS(3190), + [anon_sym_nullptr] = ACTIONS(3190), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3192), + [sym_auto] = ACTIONS(3190), + [anon_sym_decltype] = ACTIONS(3190), + [sym_virtual] = ACTIONS(3190), + [anon_sym_explicit] = ACTIONS(3190), + [anon_sym_typename] = ACTIONS(3190), + [anon_sym_template] = ACTIONS(3190), + [anon_sym_operator] = ACTIONS(3190), + [anon_sym_try] = ACTIONS(3190), + [anon_sym_delete] = ACTIONS(3190), + [anon_sym_throw] = ACTIONS(3190), + [anon_sym_namespace] = ACTIONS(3190), + [anon_sym_using] = ACTIONS(3190), + [anon_sym_static_assert] = ACTIONS(3190), + [anon_sym_concept] = ACTIONS(3190), + [anon_sym_co_return] = ACTIONS(3190), + [anon_sym_co_yield] = ACTIONS(3190), + [anon_sym_R_DQUOTE] = ACTIONS(3192), + [anon_sym_LR_DQUOTE] = ACTIONS(3192), + [anon_sym_uR_DQUOTE] = ACTIONS(3192), + [anon_sym_UR_DQUOTE] = ACTIONS(3192), + [anon_sym_u8R_DQUOTE] = ACTIONS(3192), + [anon_sym_co_await] = ACTIONS(3190), + [anon_sym_new] = ACTIONS(3190), + [anon_sym_requires] = ACTIONS(3190), + [sym_this] = ACTIONS(3190), + }, + [569] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_include_token1] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token2] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_BANG] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_DASH] = ACTIONS(3096), + [anon_sym_PLUS] = ACTIONS(3096), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym_SEMI] = ACTIONS(3098), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym___cdecl] = ACTIONS(3096), + [anon_sym___clrcall] = ACTIONS(3096), + [anon_sym___stdcall] = ACTIONS(3096), + [anon_sym___fastcall] = ACTIONS(3096), + [anon_sym___thiscall] = ACTIONS(3096), + [anon_sym___vectorcall] = ACTIONS(3096), + [anon_sym_LBRACE] = ACTIONS(3098), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [anon_sym_if] = ACTIONS(3096), + [anon_sym_switch] = ACTIONS(3096), + [anon_sym_case] = ACTIONS(3096), + [anon_sym_default] = ACTIONS(3096), + [anon_sym_while] = ACTIONS(3096), + [anon_sym_do] = ACTIONS(3096), + [anon_sym_for] = ACTIONS(3096), + [anon_sym_return] = ACTIONS(3096), + [anon_sym_break] = ACTIONS(3096), + [anon_sym_continue] = ACTIONS(3096), + [anon_sym_goto] = ACTIONS(3096), + [anon_sym___try] = ACTIONS(3096), + [anon_sym___leave] = ACTIONS(3096), + [anon_sym_not] = ACTIONS(3096), + [anon_sym_compl] = ACTIONS(3096), + [anon_sym_DASH_DASH] = ACTIONS(3098), + [anon_sym_PLUS_PLUS] = ACTIONS(3098), + [anon_sym_sizeof] = ACTIONS(3096), + [anon_sym___alignof__] = ACTIONS(3096), + [anon_sym___alignof] = ACTIONS(3096), + [anon_sym__alignof] = ACTIONS(3096), + [anon_sym_alignof] = ACTIONS(3096), + [anon_sym__Alignof] = ACTIONS(3096), + [anon_sym_offsetof] = ACTIONS(3096), + [anon_sym__Generic] = ACTIONS(3096), + [anon_sym_asm] = ACTIONS(3096), + [anon_sym___asm__] = ACTIONS(3096), + [sym__number_literal] = ACTIONS(3098), + [anon_sym_L_SQUOTE] = ACTIONS(3098), + [anon_sym_u_SQUOTE] = ACTIONS(3098), + [anon_sym_U_SQUOTE] = ACTIONS(3098), + [anon_sym_u8_SQUOTE] = ACTIONS(3098), + [anon_sym_SQUOTE] = ACTIONS(3098), + [anon_sym_L_DQUOTE] = ACTIONS(3098), + [anon_sym_u_DQUOTE] = ACTIONS(3098), + [anon_sym_U_DQUOTE] = ACTIONS(3098), + [anon_sym_u8_DQUOTE] = ACTIONS(3098), + [anon_sym_DQUOTE] = ACTIONS(3098), + [sym_true] = ACTIONS(3096), + [sym_false] = ACTIONS(3096), + [anon_sym_NULL] = ACTIONS(3096), + [anon_sym_nullptr] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_try] = ACTIONS(3096), + [anon_sym_delete] = ACTIONS(3096), + [anon_sym_throw] = ACTIONS(3096), + [anon_sym_namespace] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + [anon_sym_concept] = ACTIONS(3096), + [anon_sym_co_return] = ACTIONS(3096), + [anon_sym_co_yield] = ACTIONS(3096), + [anon_sym_R_DQUOTE] = ACTIONS(3098), + [anon_sym_LR_DQUOTE] = ACTIONS(3098), + [anon_sym_uR_DQUOTE] = ACTIONS(3098), + [anon_sym_UR_DQUOTE] = ACTIONS(3098), + [anon_sym_u8R_DQUOTE] = ACTIONS(3098), + [anon_sym_co_await] = ACTIONS(3096), + [anon_sym_new] = ACTIONS(3096), + [anon_sym_requires] = ACTIONS(3096), + [sym_this] = ACTIONS(3096), + }, + [570] = { + [sym__identifier] = ACTIONS(3009), + [aux_sym_preproc_include_token1] = ACTIONS(3009), + [aux_sym_preproc_def_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token2] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3009), + [sym_preproc_directive] = ACTIONS(3009), + [anon_sym_LPAREN2] = ACTIONS(3011), + [anon_sym_BANG] = ACTIONS(3011), + [anon_sym_TILDE] = ACTIONS(3011), + [anon_sym_DASH] = ACTIONS(3009), + [anon_sym_PLUS] = ACTIONS(3009), + [anon_sym_STAR] = ACTIONS(3011), + [anon_sym_AMP_AMP] = ACTIONS(3011), + [anon_sym_AMP] = ACTIONS(3009), + [anon_sym_SEMI] = ACTIONS(3011), + [anon_sym___extension__] = ACTIONS(3009), + [anon_sym_typedef] = ACTIONS(3009), + [anon_sym_extern] = ACTIONS(3009), + [anon_sym___attribute__] = ACTIONS(3009), + [anon_sym_COLON_COLON] = ACTIONS(3011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3011), + [anon_sym___declspec] = ACTIONS(3009), + [anon_sym___based] = ACTIONS(3009), + [anon_sym___cdecl] = ACTIONS(3009), + [anon_sym___clrcall] = ACTIONS(3009), + [anon_sym___stdcall] = ACTIONS(3009), + [anon_sym___fastcall] = ACTIONS(3009), + [anon_sym___thiscall] = ACTIONS(3009), + [anon_sym___vectorcall] = ACTIONS(3009), + [anon_sym_LBRACE] = ACTIONS(3011), + [anon_sym_signed] = ACTIONS(3009), + [anon_sym_unsigned] = ACTIONS(3009), + [anon_sym_long] = ACTIONS(3009), + [anon_sym_short] = ACTIONS(3009), + [anon_sym_LBRACK] = ACTIONS(3009), + [anon_sym_static] = ACTIONS(3009), + [anon_sym_register] = ACTIONS(3009), + [anon_sym_inline] = ACTIONS(3009), + [anon_sym___inline] = ACTIONS(3009), + [anon_sym___inline__] = ACTIONS(3009), + [anon_sym___forceinline] = ACTIONS(3009), + [anon_sym_thread_local] = ACTIONS(3009), + [anon_sym___thread] = ACTIONS(3009), + [anon_sym_const] = ACTIONS(3009), + [anon_sym_constexpr] = ACTIONS(3009), + [anon_sym_volatile] = ACTIONS(3009), + [anon_sym_restrict] = ACTIONS(3009), + [anon_sym___restrict__] = ACTIONS(3009), + [anon_sym__Atomic] = ACTIONS(3009), + [anon_sym__Noreturn] = ACTIONS(3009), + [anon_sym_noreturn] = ACTIONS(3009), + [anon_sym_mutable] = ACTIONS(3009), + [anon_sym_constinit] = ACTIONS(3009), + [anon_sym_consteval] = ACTIONS(3009), + [anon_sym_alignas] = ACTIONS(3009), + [anon_sym__Alignas] = ACTIONS(3009), + [sym_primitive_type] = ACTIONS(3009), + [anon_sym_enum] = ACTIONS(3009), + [anon_sym_class] = ACTIONS(3009), + [anon_sym_struct] = ACTIONS(3009), + [anon_sym_union] = ACTIONS(3009), + [anon_sym_if] = ACTIONS(3009), + [anon_sym_switch] = ACTIONS(3009), + [anon_sym_case] = ACTIONS(3009), + [anon_sym_default] = ACTIONS(3009), + [anon_sym_while] = ACTIONS(3009), + [anon_sym_do] = ACTIONS(3009), + [anon_sym_for] = ACTIONS(3009), + [anon_sym_return] = ACTIONS(3009), + [anon_sym_break] = ACTIONS(3009), + [anon_sym_continue] = ACTIONS(3009), + [anon_sym_goto] = ACTIONS(3009), + [anon_sym___try] = ACTIONS(3009), + [anon_sym___leave] = ACTIONS(3009), + [anon_sym_not] = ACTIONS(3009), + [anon_sym_compl] = ACTIONS(3009), + [anon_sym_DASH_DASH] = ACTIONS(3011), + [anon_sym_PLUS_PLUS] = ACTIONS(3011), + [anon_sym_sizeof] = ACTIONS(3009), + [anon_sym___alignof__] = ACTIONS(3009), + [anon_sym___alignof] = ACTIONS(3009), + [anon_sym__alignof] = ACTIONS(3009), + [anon_sym_alignof] = ACTIONS(3009), + [anon_sym__Alignof] = ACTIONS(3009), + [anon_sym_offsetof] = ACTIONS(3009), + [anon_sym__Generic] = ACTIONS(3009), + [anon_sym_asm] = ACTIONS(3009), + [anon_sym___asm__] = ACTIONS(3009), + [sym__number_literal] = ACTIONS(3011), + [anon_sym_L_SQUOTE] = ACTIONS(3011), + [anon_sym_u_SQUOTE] = ACTIONS(3011), + [anon_sym_U_SQUOTE] = ACTIONS(3011), + [anon_sym_u8_SQUOTE] = ACTIONS(3011), + [anon_sym_SQUOTE] = ACTIONS(3011), + [anon_sym_L_DQUOTE] = ACTIONS(3011), + [anon_sym_u_DQUOTE] = ACTIONS(3011), + [anon_sym_U_DQUOTE] = ACTIONS(3011), + [anon_sym_u8_DQUOTE] = ACTIONS(3011), + [anon_sym_DQUOTE] = ACTIONS(3011), + [sym_true] = ACTIONS(3009), + [sym_false] = ACTIONS(3009), + [anon_sym_NULL] = ACTIONS(3009), + [anon_sym_nullptr] = ACTIONS(3009), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3011), + [sym_auto] = ACTIONS(3009), + [anon_sym_decltype] = ACTIONS(3009), + [sym_virtual] = ACTIONS(3009), + [anon_sym_explicit] = ACTIONS(3009), + [anon_sym_typename] = ACTIONS(3009), + [anon_sym_template] = ACTIONS(3009), + [anon_sym_operator] = ACTIONS(3009), + [anon_sym_try] = ACTIONS(3009), + [anon_sym_delete] = ACTIONS(3009), + [anon_sym_throw] = ACTIONS(3009), + [anon_sym_namespace] = ACTIONS(3009), + [anon_sym_using] = ACTIONS(3009), + [anon_sym_static_assert] = ACTIONS(3009), + [anon_sym_concept] = ACTIONS(3009), + [anon_sym_co_return] = ACTIONS(3009), + [anon_sym_co_yield] = ACTIONS(3009), + [anon_sym_R_DQUOTE] = ACTIONS(3011), + [anon_sym_LR_DQUOTE] = ACTIONS(3011), + [anon_sym_uR_DQUOTE] = ACTIONS(3011), + [anon_sym_UR_DQUOTE] = ACTIONS(3011), + [anon_sym_u8R_DQUOTE] = ACTIONS(3011), + [anon_sym_co_await] = ACTIONS(3009), + [anon_sym_new] = ACTIONS(3009), + [anon_sym_requires] = ACTIONS(3009), + [sym_this] = ACTIONS(3009), + }, + [571] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(3345), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_SEMI] = ACTIONS(1871), + [anon_sym___attribute__] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [572] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_include_token1] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token2] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_BANG] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_DASH] = ACTIONS(2985), + [anon_sym_PLUS] = ACTIONS(2985), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym_SEMI] = ACTIONS(2987), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym___cdecl] = ACTIONS(2985), + [anon_sym___clrcall] = ACTIONS(2985), + [anon_sym___stdcall] = ACTIONS(2985), + [anon_sym___fastcall] = ACTIONS(2985), + [anon_sym___thiscall] = ACTIONS(2985), + [anon_sym___vectorcall] = ACTIONS(2985), + [anon_sym_LBRACE] = ACTIONS(2987), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [anon_sym_if] = ACTIONS(2985), + [anon_sym_switch] = ACTIONS(2985), + [anon_sym_case] = ACTIONS(2985), + [anon_sym_default] = ACTIONS(2985), + [anon_sym_while] = ACTIONS(2985), + [anon_sym_do] = ACTIONS(2985), + [anon_sym_for] = ACTIONS(2985), + [anon_sym_return] = ACTIONS(2985), + [anon_sym_break] = ACTIONS(2985), + [anon_sym_continue] = ACTIONS(2985), + [anon_sym_goto] = ACTIONS(2985), + [anon_sym___try] = ACTIONS(2985), + [anon_sym___leave] = ACTIONS(2985), + [anon_sym_not] = ACTIONS(2985), + [anon_sym_compl] = ACTIONS(2985), + [anon_sym_DASH_DASH] = ACTIONS(2987), + [anon_sym_PLUS_PLUS] = ACTIONS(2987), + [anon_sym_sizeof] = ACTIONS(2985), + [anon_sym___alignof__] = ACTIONS(2985), + [anon_sym___alignof] = ACTIONS(2985), + [anon_sym__alignof] = ACTIONS(2985), + [anon_sym_alignof] = ACTIONS(2985), + [anon_sym__Alignof] = ACTIONS(2985), + [anon_sym_offsetof] = ACTIONS(2985), + [anon_sym__Generic] = ACTIONS(2985), + [anon_sym_asm] = ACTIONS(2985), + [anon_sym___asm__] = ACTIONS(2985), + [sym__number_literal] = ACTIONS(2987), + [anon_sym_L_SQUOTE] = ACTIONS(2987), + [anon_sym_u_SQUOTE] = ACTIONS(2987), + [anon_sym_U_SQUOTE] = ACTIONS(2987), + [anon_sym_u8_SQUOTE] = ACTIONS(2987), + [anon_sym_SQUOTE] = ACTIONS(2987), + [anon_sym_L_DQUOTE] = ACTIONS(2987), + [anon_sym_u_DQUOTE] = ACTIONS(2987), + [anon_sym_U_DQUOTE] = ACTIONS(2987), + [anon_sym_u8_DQUOTE] = ACTIONS(2987), + [anon_sym_DQUOTE] = ACTIONS(2987), + [sym_true] = ACTIONS(2985), + [sym_false] = ACTIONS(2985), + [anon_sym_NULL] = ACTIONS(2985), + [anon_sym_nullptr] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_try] = ACTIONS(2985), + [anon_sym_delete] = ACTIONS(2985), + [anon_sym_throw] = ACTIONS(2985), + [anon_sym_namespace] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + [anon_sym_concept] = ACTIONS(2985), + [anon_sym_co_return] = ACTIONS(2985), + [anon_sym_co_yield] = ACTIONS(2985), + [anon_sym_R_DQUOTE] = ACTIONS(2987), + [anon_sym_LR_DQUOTE] = ACTIONS(2987), + [anon_sym_uR_DQUOTE] = ACTIONS(2987), + [anon_sym_UR_DQUOTE] = ACTIONS(2987), + [anon_sym_u8R_DQUOTE] = ACTIONS(2987), + [anon_sym_co_await] = ACTIONS(2985), + [anon_sym_new] = ACTIONS(2985), + [anon_sym_requires] = ACTIONS(2985), + [sym_this] = ACTIONS(2985), + }, + [573] = { + [sym__identifier] = ACTIONS(3118), + [aux_sym_preproc_include_token1] = ACTIONS(3118), + [aux_sym_preproc_def_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token2] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3118), + [sym_preproc_directive] = ACTIONS(3118), + [anon_sym_LPAREN2] = ACTIONS(3120), + [anon_sym_BANG] = ACTIONS(3120), + [anon_sym_TILDE] = ACTIONS(3120), + [anon_sym_DASH] = ACTIONS(3118), + [anon_sym_PLUS] = ACTIONS(3118), + [anon_sym_STAR] = ACTIONS(3120), + [anon_sym_AMP_AMP] = ACTIONS(3120), + [anon_sym_AMP] = ACTIONS(3118), + [anon_sym_SEMI] = ACTIONS(3120), + [anon_sym___extension__] = ACTIONS(3118), + [anon_sym_typedef] = ACTIONS(3118), + [anon_sym_extern] = ACTIONS(3118), + [anon_sym___attribute__] = ACTIONS(3118), + [anon_sym_COLON_COLON] = ACTIONS(3120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3120), + [anon_sym___declspec] = ACTIONS(3118), + [anon_sym___based] = ACTIONS(3118), + [anon_sym___cdecl] = ACTIONS(3118), + [anon_sym___clrcall] = ACTIONS(3118), + [anon_sym___stdcall] = ACTIONS(3118), + [anon_sym___fastcall] = ACTIONS(3118), + [anon_sym___thiscall] = ACTIONS(3118), + [anon_sym___vectorcall] = ACTIONS(3118), + [anon_sym_LBRACE] = ACTIONS(3120), + [anon_sym_signed] = ACTIONS(3118), + [anon_sym_unsigned] = ACTIONS(3118), + [anon_sym_long] = ACTIONS(3118), + [anon_sym_short] = ACTIONS(3118), + [anon_sym_LBRACK] = ACTIONS(3118), + [anon_sym_static] = ACTIONS(3118), + [anon_sym_register] = ACTIONS(3118), + [anon_sym_inline] = ACTIONS(3118), + [anon_sym___inline] = ACTIONS(3118), + [anon_sym___inline__] = ACTIONS(3118), + [anon_sym___forceinline] = ACTIONS(3118), + [anon_sym_thread_local] = ACTIONS(3118), + [anon_sym___thread] = ACTIONS(3118), + [anon_sym_const] = ACTIONS(3118), + [anon_sym_constexpr] = ACTIONS(3118), + [anon_sym_volatile] = ACTIONS(3118), + [anon_sym_restrict] = ACTIONS(3118), + [anon_sym___restrict__] = ACTIONS(3118), + [anon_sym__Atomic] = ACTIONS(3118), + [anon_sym__Noreturn] = ACTIONS(3118), + [anon_sym_noreturn] = ACTIONS(3118), + [anon_sym_mutable] = ACTIONS(3118), + [anon_sym_constinit] = ACTIONS(3118), + [anon_sym_consteval] = ACTIONS(3118), + [anon_sym_alignas] = ACTIONS(3118), + [anon_sym__Alignas] = ACTIONS(3118), + [sym_primitive_type] = ACTIONS(3118), + [anon_sym_enum] = ACTIONS(3118), + [anon_sym_class] = ACTIONS(3118), + [anon_sym_struct] = ACTIONS(3118), + [anon_sym_union] = ACTIONS(3118), + [anon_sym_if] = ACTIONS(3118), + [anon_sym_switch] = ACTIONS(3118), + [anon_sym_case] = ACTIONS(3118), + [anon_sym_default] = ACTIONS(3118), + [anon_sym_while] = ACTIONS(3118), + [anon_sym_do] = ACTIONS(3118), + [anon_sym_for] = ACTIONS(3118), + [anon_sym_return] = ACTIONS(3118), + [anon_sym_break] = ACTIONS(3118), + [anon_sym_continue] = ACTIONS(3118), + [anon_sym_goto] = ACTIONS(3118), + [anon_sym___try] = ACTIONS(3118), + [anon_sym___leave] = ACTIONS(3118), + [anon_sym_not] = ACTIONS(3118), + [anon_sym_compl] = ACTIONS(3118), + [anon_sym_DASH_DASH] = ACTIONS(3120), + [anon_sym_PLUS_PLUS] = ACTIONS(3120), + [anon_sym_sizeof] = ACTIONS(3118), + [anon_sym___alignof__] = ACTIONS(3118), + [anon_sym___alignof] = ACTIONS(3118), + [anon_sym__alignof] = ACTIONS(3118), + [anon_sym_alignof] = ACTIONS(3118), + [anon_sym__Alignof] = ACTIONS(3118), + [anon_sym_offsetof] = ACTIONS(3118), + [anon_sym__Generic] = ACTIONS(3118), + [anon_sym_asm] = ACTIONS(3118), + [anon_sym___asm__] = ACTIONS(3118), + [sym__number_literal] = ACTIONS(3120), + [anon_sym_L_SQUOTE] = ACTIONS(3120), + [anon_sym_u_SQUOTE] = ACTIONS(3120), + [anon_sym_U_SQUOTE] = ACTIONS(3120), + [anon_sym_u8_SQUOTE] = ACTIONS(3120), + [anon_sym_SQUOTE] = ACTIONS(3120), + [anon_sym_L_DQUOTE] = ACTIONS(3120), + [anon_sym_u_DQUOTE] = ACTIONS(3120), + [anon_sym_U_DQUOTE] = ACTIONS(3120), + [anon_sym_u8_DQUOTE] = ACTIONS(3120), + [anon_sym_DQUOTE] = ACTIONS(3120), + [sym_true] = ACTIONS(3118), + [sym_false] = ACTIONS(3118), + [anon_sym_NULL] = ACTIONS(3118), + [anon_sym_nullptr] = ACTIONS(3118), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3120), + [sym_auto] = ACTIONS(3118), + [anon_sym_decltype] = ACTIONS(3118), + [sym_virtual] = ACTIONS(3118), + [anon_sym_explicit] = ACTIONS(3118), + [anon_sym_typename] = ACTIONS(3118), + [anon_sym_template] = ACTIONS(3118), + [anon_sym_operator] = ACTIONS(3118), + [anon_sym_try] = ACTIONS(3118), + [anon_sym_delete] = ACTIONS(3118), + [anon_sym_throw] = ACTIONS(3118), + [anon_sym_namespace] = ACTIONS(3118), + [anon_sym_using] = ACTIONS(3118), + [anon_sym_static_assert] = ACTIONS(3118), + [anon_sym_concept] = ACTIONS(3118), + [anon_sym_co_return] = ACTIONS(3118), + [anon_sym_co_yield] = ACTIONS(3118), + [anon_sym_R_DQUOTE] = ACTIONS(3120), + [anon_sym_LR_DQUOTE] = ACTIONS(3120), + [anon_sym_uR_DQUOTE] = ACTIONS(3120), + [anon_sym_UR_DQUOTE] = ACTIONS(3120), + [anon_sym_u8R_DQUOTE] = ACTIONS(3120), + [anon_sym_co_await] = ACTIONS(3118), + [anon_sym_new] = ACTIONS(3118), + [anon_sym_requires] = ACTIONS(3118), + [sym_this] = ACTIONS(3118), + }, + [574] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_RBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [575] = { + [sym__identifier] = ACTIONS(2825), + [aux_sym_preproc_include_token1] = ACTIONS(2825), + [aux_sym_preproc_def_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token2] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2825), + [sym_preproc_directive] = ACTIONS(2825), + [anon_sym_LPAREN2] = ACTIONS(2827), + [anon_sym_BANG] = ACTIONS(2827), + [anon_sym_TILDE] = ACTIONS(2827), + [anon_sym_DASH] = ACTIONS(2825), + [anon_sym_PLUS] = ACTIONS(2825), + [anon_sym_STAR] = ACTIONS(2827), + [anon_sym_AMP_AMP] = ACTIONS(2827), + [anon_sym_AMP] = ACTIONS(2825), + [anon_sym_SEMI] = ACTIONS(2827), + [anon_sym___extension__] = ACTIONS(2825), + [anon_sym_typedef] = ACTIONS(2825), + [anon_sym_extern] = ACTIONS(2825), + [anon_sym___attribute__] = ACTIONS(2825), + [anon_sym_COLON_COLON] = ACTIONS(2827), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2827), + [anon_sym___declspec] = ACTIONS(2825), + [anon_sym___based] = ACTIONS(2825), + [anon_sym___cdecl] = ACTIONS(2825), + [anon_sym___clrcall] = ACTIONS(2825), + [anon_sym___stdcall] = ACTIONS(2825), + [anon_sym___fastcall] = ACTIONS(2825), + [anon_sym___thiscall] = ACTIONS(2825), + [anon_sym___vectorcall] = ACTIONS(2825), + [anon_sym_LBRACE] = ACTIONS(2827), + [anon_sym_signed] = ACTIONS(2825), + [anon_sym_unsigned] = ACTIONS(2825), + [anon_sym_long] = ACTIONS(2825), + [anon_sym_short] = ACTIONS(2825), + [anon_sym_LBRACK] = ACTIONS(2825), + [anon_sym_static] = ACTIONS(2825), + [anon_sym_register] = ACTIONS(2825), + [anon_sym_inline] = ACTIONS(2825), + [anon_sym___inline] = ACTIONS(2825), + [anon_sym___inline__] = ACTIONS(2825), + [anon_sym___forceinline] = ACTIONS(2825), + [anon_sym_thread_local] = ACTIONS(2825), + [anon_sym___thread] = ACTIONS(2825), + [anon_sym_const] = ACTIONS(2825), + [anon_sym_constexpr] = ACTIONS(2825), + [anon_sym_volatile] = ACTIONS(2825), + [anon_sym_restrict] = ACTIONS(2825), + [anon_sym___restrict__] = ACTIONS(2825), + [anon_sym__Atomic] = ACTIONS(2825), + [anon_sym__Noreturn] = ACTIONS(2825), + [anon_sym_noreturn] = ACTIONS(2825), + [anon_sym_mutable] = ACTIONS(2825), + [anon_sym_constinit] = ACTIONS(2825), + [anon_sym_consteval] = ACTIONS(2825), + [anon_sym_alignas] = ACTIONS(2825), + [anon_sym__Alignas] = ACTIONS(2825), + [sym_primitive_type] = ACTIONS(2825), + [anon_sym_enum] = ACTIONS(2825), + [anon_sym_class] = ACTIONS(2825), + [anon_sym_struct] = ACTIONS(2825), + [anon_sym_union] = ACTIONS(2825), + [anon_sym_if] = ACTIONS(2825), + [anon_sym_switch] = ACTIONS(2825), + [anon_sym_case] = ACTIONS(2825), + [anon_sym_default] = ACTIONS(2825), + [anon_sym_while] = ACTIONS(2825), + [anon_sym_do] = ACTIONS(2825), + [anon_sym_for] = ACTIONS(2825), + [anon_sym_return] = ACTIONS(2825), + [anon_sym_break] = ACTIONS(2825), + [anon_sym_continue] = ACTIONS(2825), + [anon_sym_goto] = ACTIONS(2825), + [anon_sym___try] = ACTIONS(2825), + [anon_sym___leave] = ACTIONS(2825), + [anon_sym_not] = ACTIONS(2825), + [anon_sym_compl] = ACTIONS(2825), + [anon_sym_DASH_DASH] = ACTIONS(2827), + [anon_sym_PLUS_PLUS] = ACTIONS(2827), + [anon_sym_sizeof] = ACTIONS(2825), + [anon_sym___alignof__] = ACTIONS(2825), + [anon_sym___alignof] = ACTIONS(2825), + [anon_sym__alignof] = ACTIONS(2825), + [anon_sym_alignof] = ACTIONS(2825), + [anon_sym__Alignof] = ACTIONS(2825), + [anon_sym_offsetof] = ACTIONS(2825), + [anon_sym__Generic] = ACTIONS(2825), + [anon_sym_asm] = ACTIONS(2825), + [anon_sym___asm__] = ACTIONS(2825), + [sym__number_literal] = ACTIONS(2827), + [anon_sym_L_SQUOTE] = ACTIONS(2827), + [anon_sym_u_SQUOTE] = ACTIONS(2827), + [anon_sym_U_SQUOTE] = ACTIONS(2827), + [anon_sym_u8_SQUOTE] = ACTIONS(2827), + [anon_sym_SQUOTE] = ACTIONS(2827), + [anon_sym_L_DQUOTE] = ACTIONS(2827), + [anon_sym_u_DQUOTE] = ACTIONS(2827), + [anon_sym_U_DQUOTE] = ACTIONS(2827), + [anon_sym_u8_DQUOTE] = ACTIONS(2827), + [anon_sym_DQUOTE] = ACTIONS(2827), + [sym_true] = ACTIONS(2825), + [sym_false] = ACTIONS(2825), + [anon_sym_NULL] = ACTIONS(2825), + [anon_sym_nullptr] = ACTIONS(2825), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2827), + [sym_auto] = ACTIONS(2825), + [anon_sym_decltype] = ACTIONS(2825), + [sym_virtual] = ACTIONS(2825), + [anon_sym_explicit] = ACTIONS(2825), + [anon_sym_typename] = ACTIONS(2825), + [anon_sym_template] = ACTIONS(2825), + [anon_sym_operator] = ACTIONS(2825), + [anon_sym_try] = ACTIONS(2825), + [anon_sym_delete] = ACTIONS(2825), + [anon_sym_throw] = ACTIONS(2825), + [anon_sym_namespace] = ACTIONS(2825), + [anon_sym_using] = ACTIONS(2825), + [anon_sym_static_assert] = ACTIONS(2825), + [anon_sym_concept] = ACTIONS(2825), + [anon_sym_co_return] = ACTIONS(2825), + [anon_sym_co_yield] = ACTIONS(2825), + [anon_sym_R_DQUOTE] = ACTIONS(2827), + [anon_sym_LR_DQUOTE] = ACTIONS(2827), + [anon_sym_uR_DQUOTE] = ACTIONS(2827), + [anon_sym_UR_DQUOTE] = ACTIONS(2827), + [anon_sym_u8R_DQUOTE] = ACTIONS(2827), + [anon_sym_co_await] = ACTIONS(2825), + [anon_sym_new] = ACTIONS(2825), + [anon_sym_requires] = ACTIONS(2825), + [sym_this] = ACTIONS(2825), + }, + [576] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_include_token1] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token2] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_BANG] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_DASH] = ACTIONS(3178), + [anon_sym_PLUS] = ACTIONS(3178), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym_SEMI] = ACTIONS(3180), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym___cdecl] = ACTIONS(3178), + [anon_sym___clrcall] = ACTIONS(3178), + [anon_sym___stdcall] = ACTIONS(3178), + [anon_sym___fastcall] = ACTIONS(3178), + [anon_sym___thiscall] = ACTIONS(3178), + [anon_sym___vectorcall] = ACTIONS(3178), + [anon_sym_LBRACE] = ACTIONS(3180), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [anon_sym_if] = ACTIONS(3178), + [anon_sym_switch] = ACTIONS(3178), + [anon_sym_case] = ACTIONS(3178), + [anon_sym_default] = ACTIONS(3178), + [anon_sym_while] = ACTIONS(3178), + [anon_sym_do] = ACTIONS(3178), + [anon_sym_for] = ACTIONS(3178), + [anon_sym_return] = ACTIONS(3178), + [anon_sym_break] = ACTIONS(3178), + [anon_sym_continue] = ACTIONS(3178), + [anon_sym_goto] = ACTIONS(3178), + [anon_sym___try] = ACTIONS(3178), + [anon_sym___leave] = ACTIONS(3178), + [anon_sym_not] = ACTIONS(3178), + [anon_sym_compl] = ACTIONS(3178), + [anon_sym_DASH_DASH] = ACTIONS(3180), + [anon_sym_PLUS_PLUS] = ACTIONS(3180), + [anon_sym_sizeof] = ACTIONS(3178), + [anon_sym___alignof__] = ACTIONS(3178), + [anon_sym___alignof] = ACTIONS(3178), + [anon_sym__alignof] = ACTIONS(3178), + [anon_sym_alignof] = ACTIONS(3178), + [anon_sym__Alignof] = ACTIONS(3178), + [anon_sym_offsetof] = ACTIONS(3178), + [anon_sym__Generic] = ACTIONS(3178), + [anon_sym_asm] = ACTIONS(3178), + [anon_sym___asm__] = ACTIONS(3178), + [sym__number_literal] = ACTIONS(3180), + [anon_sym_L_SQUOTE] = ACTIONS(3180), + [anon_sym_u_SQUOTE] = ACTIONS(3180), + [anon_sym_U_SQUOTE] = ACTIONS(3180), + [anon_sym_u8_SQUOTE] = ACTIONS(3180), + [anon_sym_SQUOTE] = ACTIONS(3180), + [anon_sym_L_DQUOTE] = ACTIONS(3180), + [anon_sym_u_DQUOTE] = ACTIONS(3180), + [anon_sym_U_DQUOTE] = ACTIONS(3180), + [anon_sym_u8_DQUOTE] = ACTIONS(3180), + [anon_sym_DQUOTE] = ACTIONS(3180), + [sym_true] = ACTIONS(3178), + [sym_false] = ACTIONS(3178), + [anon_sym_NULL] = ACTIONS(3178), + [anon_sym_nullptr] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_try] = ACTIONS(3178), + [anon_sym_delete] = ACTIONS(3178), + [anon_sym_throw] = ACTIONS(3178), + [anon_sym_namespace] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + [anon_sym_concept] = ACTIONS(3178), + [anon_sym_co_return] = ACTIONS(3178), + [anon_sym_co_yield] = ACTIONS(3178), + [anon_sym_R_DQUOTE] = ACTIONS(3180), + [anon_sym_LR_DQUOTE] = ACTIONS(3180), + [anon_sym_uR_DQUOTE] = ACTIONS(3180), + [anon_sym_UR_DQUOTE] = ACTIONS(3180), + [anon_sym_u8R_DQUOTE] = ACTIONS(3180), + [anon_sym_co_await] = ACTIONS(3178), + [anon_sym_new] = ACTIONS(3178), + [anon_sym_requires] = ACTIONS(3178), + [sym_this] = ACTIONS(3178), + }, + [577] = { + [sym__identifier] = ACTIONS(3088), + [aux_sym_preproc_include_token1] = ACTIONS(3088), + [aux_sym_preproc_def_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token2] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3088), + [sym_preproc_directive] = ACTIONS(3088), + [anon_sym_LPAREN2] = ACTIONS(3090), + [anon_sym_BANG] = ACTIONS(3090), + [anon_sym_TILDE] = ACTIONS(3090), + [anon_sym_DASH] = ACTIONS(3088), + [anon_sym_PLUS] = ACTIONS(3088), + [anon_sym_STAR] = ACTIONS(3090), + [anon_sym_AMP_AMP] = ACTIONS(3090), + [anon_sym_AMP] = ACTIONS(3088), + [anon_sym_SEMI] = ACTIONS(3090), + [anon_sym___extension__] = ACTIONS(3088), + [anon_sym_typedef] = ACTIONS(3088), + [anon_sym_extern] = ACTIONS(3088), + [anon_sym___attribute__] = ACTIONS(3088), + [anon_sym_COLON_COLON] = ACTIONS(3090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3090), + [anon_sym___declspec] = ACTIONS(3088), + [anon_sym___based] = ACTIONS(3088), + [anon_sym___cdecl] = ACTIONS(3088), + [anon_sym___clrcall] = ACTIONS(3088), + [anon_sym___stdcall] = ACTIONS(3088), + [anon_sym___fastcall] = ACTIONS(3088), + [anon_sym___thiscall] = ACTIONS(3088), + [anon_sym___vectorcall] = ACTIONS(3088), + [anon_sym_LBRACE] = ACTIONS(3090), + [anon_sym_signed] = ACTIONS(3088), + [anon_sym_unsigned] = ACTIONS(3088), + [anon_sym_long] = ACTIONS(3088), + [anon_sym_short] = ACTIONS(3088), + [anon_sym_LBRACK] = ACTIONS(3088), + [anon_sym_static] = ACTIONS(3088), + [anon_sym_register] = ACTIONS(3088), + [anon_sym_inline] = ACTIONS(3088), + [anon_sym___inline] = ACTIONS(3088), + [anon_sym___inline__] = ACTIONS(3088), + [anon_sym___forceinline] = ACTIONS(3088), + [anon_sym_thread_local] = ACTIONS(3088), + [anon_sym___thread] = ACTIONS(3088), + [anon_sym_const] = ACTIONS(3088), + [anon_sym_constexpr] = ACTIONS(3088), + [anon_sym_volatile] = ACTIONS(3088), + [anon_sym_restrict] = ACTIONS(3088), + [anon_sym___restrict__] = ACTIONS(3088), + [anon_sym__Atomic] = ACTIONS(3088), + [anon_sym__Noreturn] = ACTIONS(3088), + [anon_sym_noreturn] = ACTIONS(3088), + [anon_sym_mutable] = ACTIONS(3088), + [anon_sym_constinit] = ACTIONS(3088), + [anon_sym_consteval] = ACTIONS(3088), + [anon_sym_alignas] = ACTIONS(3088), + [anon_sym__Alignas] = ACTIONS(3088), + [sym_primitive_type] = ACTIONS(3088), + [anon_sym_enum] = ACTIONS(3088), + [anon_sym_class] = ACTIONS(3088), + [anon_sym_struct] = ACTIONS(3088), + [anon_sym_union] = ACTIONS(3088), + [anon_sym_if] = ACTIONS(3088), + [anon_sym_switch] = ACTIONS(3088), + [anon_sym_case] = ACTIONS(3088), + [anon_sym_default] = ACTIONS(3088), + [anon_sym_while] = ACTIONS(3088), + [anon_sym_do] = ACTIONS(3088), + [anon_sym_for] = ACTIONS(3088), + [anon_sym_return] = ACTIONS(3088), + [anon_sym_break] = ACTIONS(3088), + [anon_sym_continue] = ACTIONS(3088), + [anon_sym_goto] = ACTIONS(3088), + [anon_sym___try] = ACTIONS(3088), + [anon_sym___leave] = ACTIONS(3088), + [anon_sym_not] = ACTIONS(3088), + [anon_sym_compl] = ACTIONS(3088), + [anon_sym_DASH_DASH] = ACTIONS(3090), + [anon_sym_PLUS_PLUS] = ACTIONS(3090), + [anon_sym_sizeof] = ACTIONS(3088), + [anon_sym___alignof__] = ACTIONS(3088), + [anon_sym___alignof] = ACTIONS(3088), + [anon_sym__alignof] = ACTIONS(3088), + [anon_sym_alignof] = ACTIONS(3088), + [anon_sym__Alignof] = ACTIONS(3088), + [anon_sym_offsetof] = ACTIONS(3088), + [anon_sym__Generic] = ACTIONS(3088), + [anon_sym_asm] = ACTIONS(3088), + [anon_sym___asm__] = ACTIONS(3088), + [sym__number_literal] = ACTIONS(3090), + [anon_sym_L_SQUOTE] = ACTIONS(3090), + [anon_sym_u_SQUOTE] = ACTIONS(3090), + [anon_sym_U_SQUOTE] = ACTIONS(3090), + [anon_sym_u8_SQUOTE] = ACTIONS(3090), + [anon_sym_SQUOTE] = ACTIONS(3090), + [anon_sym_L_DQUOTE] = ACTIONS(3090), + [anon_sym_u_DQUOTE] = ACTIONS(3090), + [anon_sym_U_DQUOTE] = ACTIONS(3090), + [anon_sym_u8_DQUOTE] = ACTIONS(3090), + [anon_sym_DQUOTE] = ACTIONS(3090), + [sym_true] = ACTIONS(3088), + [sym_false] = ACTIONS(3088), + [anon_sym_NULL] = ACTIONS(3088), + [anon_sym_nullptr] = ACTIONS(3088), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3090), + [sym_auto] = ACTIONS(3088), + [anon_sym_decltype] = ACTIONS(3088), + [sym_virtual] = ACTIONS(3088), + [anon_sym_explicit] = ACTIONS(3088), + [anon_sym_typename] = ACTIONS(3088), + [anon_sym_template] = ACTIONS(3088), + [anon_sym_operator] = ACTIONS(3088), + [anon_sym_try] = ACTIONS(3088), + [anon_sym_delete] = ACTIONS(3088), + [anon_sym_throw] = ACTIONS(3088), + [anon_sym_namespace] = ACTIONS(3088), + [anon_sym_using] = ACTIONS(3088), + [anon_sym_static_assert] = ACTIONS(3088), + [anon_sym_concept] = ACTIONS(3088), + [anon_sym_co_return] = ACTIONS(3088), + [anon_sym_co_yield] = ACTIONS(3088), + [anon_sym_R_DQUOTE] = ACTIONS(3090), + [anon_sym_LR_DQUOTE] = ACTIONS(3090), + [anon_sym_uR_DQUOTE] = ACTIONS(3090), + [anon_sym_UR_DQUOTE] = ACTIONS(3090), + [anon_sym_u8R_DQUOTE] = ACTIONS(3090), + [anon_sym_co_await] = ACTIONS(3088), + [anon_sym_new] = ACTIONS(3088), + [anon_sym_requires] = ACTIONS(3088), + [sym_this] = ACTIONS(3088), + }, + [578] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_include_token1] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token2] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_BANG] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_DASH] = ACTIONS(3054), + [anon_sym_PLUS] = ACTIONS(3054), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym_SEMI] = ACTIONS(3056), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym___cdecl] = ACTIONS(3054), + [anon_sym___clrcall] = ACTIONS(3054), + [anon_sym___stdcall] = ACTIONS(3054), + [anon_sym___fastcall] = ACTIONS(3054), + [anon_sym___thiscall] = ACTIONS(3054), + [anon_sym___vectorcall] = ACTIONS(3054), + [anon_sym_LBRACE] = ACTIONS(3056), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [anon_sym_if] = ACTIONS(3054), + [anon_sym_switch] = ACTIONS(3054), + [anon_sym_case] = ACTIONS(3054), + [anon_sym_default] = ACTIONS(3054), + [anon_sym_while] = ACTIONS(3054), + [anon_sym_do] = ACTIONS(3054), + [anon_sym_for] = ACTIONS(3054), + [anon_sym_return] = ACTIONS(3054), + [anon_sym_break] = ACTIONS(3054), + [anon_sym_continue] = ACTIONS(3054), + [anon_sym_goto] = ACTIONS(3054), + [anon_sym___try] = ACTIONS(3054), + [anon_sym___leave] = ACTIONS(3054), + [anon_sym_not] = ACTIONS(3054), + [anon_sym_compl] = ACTIONS(3054), + [anon_sym_DASH_DASH] = ACTIONS(3056), + [anon_sym_PLUS_PLUS] = ACTIONS(3056), + [anon_sym_sizeof] = ACTIONS(3054), + [anon_sym___alignof__] = ACTIONS(3054), + [anon_sym___alignof] = ACTIONS(3054), + [anon_sym__alignof] = ACTIONS(3054), + [anon_sym_alignof] = ACTIONS(3054), + [anon_sym__Alignof] = ACTIONS(3054), + [anon_sym_offsetof] = ACTIONS(3054), + [anon_sym__Generic] = ACTIONS(3054), + [anon_sym_asm] = ACTIONS(3054), + [anon_sym___asm__] = ACTIONS(3054), + [sym__number_literal] = ACTIONS(3056), + [anon_sym_L_SQUOTE] = ACTIONS(3056), + [anon_sym_u_SQUOTE] = ACTIONS(3056), + [anon_sym_U_SQUOTE] = ACTIONS(3056), + [anon_sym_u8_SQUOTE] = ACTIONS(3056), + [anon_sym_SQUOTE] = ACTIONS(3056), + [anon_sym_L_DQUOTE] = ACTIONS(3056), + [anon_sym_u_DQUOTE] = ACTIONS(3056), + [anon_sym_U_DQUOTE] = ACTIONS(3056), + [anon_sym_u8_DQUOTE] = ACTIONS(3056), + [anon_sym_DQUOTE] = ACTIONS(3056), + [sym_true] = ACTIONS(3054), + [sym_false] = ACTIONS(3054), + [anon_sym_NULL] = ACTIONS(3054), + [anon_sym_nullptr] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_try] = ACTIONS(3054), + [anon_sym_delete] = ACTIONS(3054), + [anon_sym_throw] = ACTIONS(3054), + [anon_sym_namespace] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + [anon_sym_concept] = ACTIONS(3054), + [anon_sym_co_return] = ACTIONS(3054), + [anon_sym_co_yield] = ACTIONS(3054), + [anon_sym_R_DQUOTE] = ACTIONS(3056), + [anon_sym_LR_DQUOTE] = ACTIONS(3056), + [anon_sym_uR_DQUOTE] = ACTIONS(3056), + [anon_sym_UR_DQUOTE] = ACTIONS(3056), + [anon_sym_u8R_DQUOTE] = ACTIONS(3056), + [anon_sym_co_await] = ACTIONS(3054), + [anon_sym_new] = ACTIONS(3054), + [anon_sym_requires] = ACTIONS(3054), + [sym_this] = ACTIONS(3054), + }, + [579] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [580] = { + [sym__identifier] = ACTIONS(3066), + [aux_sym_preproc_include_token1] = ACTIONS(3066), + [aux_sym_preproc_def_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token2] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3066), + [sym_preproc_directive] = ACTIONS(3066), + [anon_sym_LPAREN2] = ACTIONS(3068), + [anon_sym_BANG] = ACTIONS(3068), + [anon_sym_TILDE] = ACTIONS(3068), + [anon_sym_DASH] = ACTIONS(3066), + [anon_sym_PLUS] = ACTIONS(3066), + [anon_sym_STAR] = ACTIONS(3068), + [anon_sym_AMP_AMP] = ACTIONS(3068), + [anon_sym_AMP] = ACTIONS(3066), + [anon_sym_SEMI] = ACTIONS(3068), + [anon_sym___extension__] = ACTIONS(3066), + [anon_sym_typedef] = ACTIONS(3066), + [anon_sym_extern] = ACTIONS(3066), + [anon_sym___attribute__] = ACTIONS(3066), + [anon_sym_COLON_COLON] = ACTIONS(3068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3068), + [anon_sym___declspec] = ACTIONS(3066), + [anon_sym___based] = ACTIONS(3066), + [anon_sym___cdecl] = ACTIONS(3066), + [anon_sym___clrcall] = ACTIONS(3066), + [anon_sym___stdcall] = ACTIONS(3066), + [anon_sym___fastcall] = ACTIONS(3066), + [anon_sym___thiscall] = ACTIONS(3066), + [anon_sym___vectorcall] = ACTIONS(3066), + [anon_sym_LBRACE] = ACTIONS(3068), + [anon_sym_signed] = ACTIONS(3066), + [anon_sym_unsigned] = ACTIONS(3066), + [anon_sym_long] = ACTIONS(3066), + [anon_sym_short] = ACTIONS(3066), + [anon_sym_LBRACK] = ACTIONS(3066), + [anon_sym_static] = ACTIONS(3066), + [anon_sym_register] = ACTIONS(3066), + [anon_sym_inline] = ACTIONS(3066), + [anon_sym___inline] = ACTIONS(3066), + [anon_sym___inline__] = ACTIONS(3066), + [anon_sym___forceinline] = ACTIONS(3066), + [anon_sym_thread_local] = ACTIONS(3066), + [anon_sym___thread] = ACTIONS(3066), + [anon_sym_const] = ACTIONS(3066), + [anon_sym_constexpr] = ACTIONS(3066), + [anon_sym_volatile] = ACTIONS(3066), + [anon_sym_restrict] = ACTIONS(3066), + [anon_sym___restrict__] = ACTIONS(3066), + [anon_sym__Atomic] = ACTIONS(3066), + [anon_sym__Noreturn] = ACTIONS(3066), + [anon_sym_noreturn] = ACTIONS(3066), + [anon_sym_mutable] = ACTIONS(3066), + [anon_sym_constinit] = ACTIONS(3066), + [anon_sym_consteval] = ACTIONS(3066), + [anon_sym_alignas] = ACTIONS(3066), + [anon_sym__Alignas] = ACTIONS(3066), + [sym_primitive_type] = ACTIONS(3066), + [anon_sym_enum] = ACTIONS(3066), + [anon_sym_class] = ACTIONS(3066), + [anon_sym_struct] = ACTIONS(3066), + [anon_sym_union] = ACTIONS(3066), + [anon_sym_if] = ACTIONS(3066), + [anon_sym_switch] = ACTIONS(3066), + [anon_sym_case] = ACTIONS(3066), + [anon_sym_default] = ACTIONS(3066), + [anon_sym_while] = ACTIONS(3066), + [anon_sym_do] = ACTIONS(3066), + [anon_sym_for] = ACTIONS(3066), + [anon_sym_return] = ACTIONS(3066), + [anon_sym_break] = ACTIONS(3066), + [anon_sym_continue] = ACTIONS(3066), + [anon_sym_goto] = ACTIONS(3066), + [anon_sym___try] = ACTIONS(3066), + [anon_sym___leave] = ACTIONS(3066), + [anon_sym_not] = ACTIONS(3066), + [anon_sym_compl] = ACTIONS(3066), + [anon_sym_DASH_DASH] = ACTIONS(3068), + [anon_sym_PLUS_PLUS] = ACTIONS(3068), + [anon_sym_sizeof] = ACTIONS(3066), + [anon_sym___alignof__] = ACTIONS(3066), + [anon_sym___alignof] = ACTIONS(3066), + [anon_sym__alignof] = ACTIONS(3066), + [anon_sym_alignof] = ACTIONS(3066), + [anon_sym__Alignof] = ACTIONS(3066), + [anon_sym_offsetof] = ACTIONS(3066), + [anon_sym__Generic] = ACTIONS(3066), + [anon_sym_asm] = ACTIONS(3066), + [anon_sym___asm__] = ACTIONS(3066), + [sym__number_literal] = ACTIONS(3068), + [anon_sym_L_SQUOTE] = ACTIONS(3068), + [anon_sym_u_SQUOTE] = ACTIONS(3068), + [anon_sym_U_SQUOTE] = ACTIONS(3068), + [anon_sym_u8_SQUOTE] = ACTIONS(3068), + [anon_sym_SQUOTE] = ACTIONS(3068), + [anon_sym_L_DQUOTE] = ACTIONS(3068), + [anon_sym_u_DQUOTE] = ACTIONS(3068), + [anon_sym_U_DQUOTE] = ACTIONS(3068), + [anon_sym_u8_DQUOTE] = ACTIONS(3068), + [anon_sym_DQUOTE] = ACTIONS(3068), + [sym_true] = ACTIONS(3066), + [sym_false] = ACTIONS(3066), + [anon_sym_NULL] = ACTIONS(3066), + [anon_sym_nullptr] = ACTIONS(3066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3068), + [sym_auto] = ACTIONS(3066), + [anon_sym_decltype] = ACTIONS(3066), + [sym_virtual] = ACTIONS(3066), + [anon_sym_explicit] = ACTIONS(3066), + [anon_sym_typename] = ACTIONS(3066), + [anon_sym_template] = ACTIONS(3066), + [anon_sym_operator] = ACTIONS(3066), + [anon_sym_try] = ACTIONS(3066), + [anon_sym_delete] = ACTIONS(3066), + [anon_sym_throw] = ACTIONS(3066), + [anon_sym_namespace] = ACTIONS(3066), + [anon_sym_using] = ACTIONS(3066), + [anon_sym_static_assert] = ACTIONS(3066), + [anon_sym_concept] = ACTIONS(3066), + [anon_sym_co_return] = ACTIONS(3066), + [anon_sym_co_yield] = ACTIONS(3066), + [anon_sym_R_DQUOTE] = ACTIONS(3068), + [anon_sym_LR_DQUOTE] = ACTIONS(3068), + [anon_sym_uR_DQUOTE] = ACTIONS(3068), + [anon_sym_UR_DQUOTE] = ACTIONS(3068), + [anon_sym_u8R_DQUOTE] = ACTIONS(3068), + [anon_sym_co_await] = ACTIONS(3066), + [anon_sym_new] = ACTIONS(3066), + [anon_sym_requires] = ACTIONS(3066), + [sym_this] = ACTIONS(3066), + }, + [581] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [582] = { + [sym__identifier] = ACTIONS(3025), + [aux_sym_preproc_include_token1] = ACTIONS(3025), + [aux_sym_preproc_def_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3025), + [sym_preproc_directive] = ACTIONS(3025), + [anon_sym_LPAREN2] = ACTIONS(3027), + [anon_sym_BANG] = ACTIONS(3027), + [anon_sym_TILDE] = ACTIONS(3027), + [anon_sym_DASH] = ACTIONS(3025), + [anon_sym_PLUS] = ACTIONS(3025), + [anon_sym_STAR] = ACTIONS(3027), + [anon_sym_AMP_AMP] = ACTIONS(3027), + [anon_sym_AMP] = ACTIONS(3025), + [anon_sym_SEMI] = ACTIONS(3027), + [anon_sym___extension__] = ACTIONS(3025), + [anon_sym_typedef] = ACTIONS(3025), + [anon_sym_extern] = ACTIONS(3025), + [anon_sym___attribute__] = ACTIONS(3025), + [anon_sym_COLON_COLON] = ACTIONS(3027), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3027), + [anon_sym___declspec] = ACTIONS(3025), + [anon_sym___based] = ACTIONS(3025), + [anon_sym___cdecl] = ACTIONS(3025), + [anon_sym___clrcall] = ACTIONS(3025), + [anon_sym___stdcall] = ACTIONS(3025), + [anon_sym___fastcall] = ACTIONS(3025), + [anon_sym___thiscall] = ACTIONS(3025), + [anon_sym___vectorcall] = ACTIONS(3025), + [anon_sym_LBRACE] = ACTIONS(3027), + [anon_sym_RBRACE] = ACTIONS(3027), + [anon_sym_signed] = ACTIONS(3025), + [anon_sym_unsigned] = ACTIONS(3025), + [anon_sym_long] = ACTIONS(3025), + [anon_sym_short] = ACTIONS(3025), + [anon_sym_LBRACK] = ACTIONS(3025), + [anon_sym_static] = ACTIONS(3025), + [anon_sym_register] = ACTIONS(3025), + [anon_sym_inline] = ACTIONS(3025), + [anon_sym___inline] = ACTIONS(3025), + [anon_sym___inline__] = ACTIONS(3025), + [anon_sym___forceinline] = ACTIONS(3025), + [anon_sym_thread_local] = ACTIONS(3025), + [anon_sym___thread] = ACTIONS(3025), + [anon_sym_const] = ACTIONS(3025), + [anon_sym_constexpr] = ACTIONS(3025), + [anon_sym_volatile] = ACTIONS(3025), + [anon_sym_restrict] = ACTIONS(3025), + [anon_sym___restrict__] = ACTIONS(3025), + [anon_sym__Atomic] = ACTIONS(3025), + [anon_sym__Noreturn] = ACTIONS(3025), + [anon_sym_noreturn] = ACTIONS(3025), + [anon_sym_mutable] = ACTIONS(3025), + [anon_sym_constinit] = ACTIONS(3025), + [anon_sym_consteval] = ACTIONS(3025), + [anon_sym_alignas] = ACTIONS(3025), + [anon_sym__Alignas] = ACTIONS(3025), + [sym_primitive_type] = ACTIONS(3025), + [anon_sym_enum] = ACTIONS(3025), + [anon_sym_class] = ACTIONS(3025), + [anon_sym_struct] = ACTIONS(3025), + [anon_sym_union] = ACTIONS(3025), + [anon_sym_if] = ACTIONS(3025), + [anon_sym_switch] = ACTIONS(3025), + [anon_sym_case] = ACTIONS(3025), + [anon_sym_default] = ACTIONS(3025), + [anon_sym_while] = ACTIONS(3025), + [anon_sym_do] = ACTIONS(3025), + [anon_sym_for] = ACTIONS(3025), + [anon_sym_return] = ACTIONS(3025), + [anon_sym_break] = ACTIONS(3025), + [anon_sym_continue] = ACTIONS(3025), + [anon_sym_goto] = ACTIONS(3025), + [anon_sym___try] = ACTIONS(3025), + [anon_sym___leave] = ACTIONS(3025), + [anon_sym_not] = ACTIONS(3025), + [anon_sym_compl] = ACTIONS(3025), + [anon_sym_DASH_DASH] = ACTIONS(3027), + [anon_sym_PLUS_PLUS] = ACTIONS(3027), + [anon_sym_sizeof] = ACTIONS(3025), + [anon_sym___alignof__] = ACTIONS(3025), + [anon_sym___alignof] = ACTIONS(3025), + [anon_sym__alignof] = ACTIONS(3025), + [anon_sym_alignof] = ACTIONS(3025), + [anon_sym__Alignof] = ACTIONS(3025), + [anon_sym_offsetof] = ACTIONS(3025), + [anon_sym__Generic] = ACTIONS(3025), + [anon_sym_asm] = ACTIONS(3025), + [anon_sym___asm__] = ACTIONS(3025), + [sym__number_literal] = ACTIONS(3027), + [anon_sym_L_SQUOTE] = ACTIONS(3027), + [anon_sym_u_SQUOTE] = ACTIONS(3027), + [anon_sym_U_SQUOTE] = ACTIONS(3027), + [anon_sym_u8_SQUOTE] = ACTIONS(3027), + [anon_sym_SQUOTE] = ACTIONS(3027), + [anon_sym_L_DQUOTE] = ACTIONS(3027), + [anon_sym_u_DQUOTE] = ACTIONS(3027), + [anon_sym_U_DQUOTE] = ACTIONS(3027), + [anon_sym_u8_DQUOTE] = ACTIONS(3027), + [anon_sym_DQUOTE] = ACTIONS(3027), + [sym_true] = ACTIONS(3025), + [sym_false] = ACTIONS(3025), + [anon_sym_NULL] = ACTIONS(3025), + [anon_sym_nullptr] = ACTIONS(3025), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3027), + [sym_auto] = ACTIONS(3025), + [anon_sym_decltype] = ACTIONS(3025), + [sym_virtual] = ACTIONS(3025), + [anon_sym_explicit] = ACTIONS(3025), + [anon_sym_typename] = ACTIONS(3025), + [anon_sym_template] = ACTIONS(3025), + [anon_sym_operator] = ACTIONS(3025), + [anon_sym_try] = ACTIONS(3025), + [anon_sym_delete] = ACTIONS(3025), + [anon_sym_throw] = ACTIONS(3025), + [anon_sym_namespace] = ACTIONS(3025), + [anon_sym_using] = ACTIONS(3025), + [anon_sym_static_assert] = ACTIONS(3025), + [anon_sym_concept] = ACTIONS(3025), + [anon_sym_co_return] = ACTIONS(3025), + [anon_sym_co_yield] = ACTIONS(3025), + [anon_sym_R_DQUOTE] = ACTIONS(3027), + [anon_sym_LR_DQUOTE] = ACTIONS(3027), + [anon_sym_uR_DQUOTE] = ACTIONS(3027), + [anon_sym_UR_DQUOTE] = ACTIONS(3027), + [anon_sym_u8R_DQUOTE] = ACTIONS(3027), + [anon_sym_co_await] = ACTIONS(3025), + [anon_sym_new] = ACTIONS(3025), + [anon_sym_requires] = ACTIONS(3025), + [sym_this] = ACTIONS(3025), + }, + [583] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_include_token1] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_BANG] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_DASH] = ACTIONS(2975), + [anon_sym_PLUS] = ACTIONS(2975), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym_SEMI] = ACTIONS(2977), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym___cdecl] = ACTIONS(2975), + [anon_sym___clrcall] = ACTIONS(2975), + [anon_sym___stdcall] = ACTIONS(2975), + [anon_sym___fastcall] = ACTIONS(2975), + [anon_sym___thiscall] = ACTIONS(2975), + [anon_sym___vectorcall] = ACTIONS(2975), + [anon_sym_LBRACE] = ACTIONS(2977), + [anon_sym_RBRACE] = ACTIONS(2977), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [anon_sym_if] = ACTIONS(2975), + [anon_sym_switch] = ACTIONS(2975), + [anon_sym_case] = ACTIONS(2975), + [anon_sym_default] = ACTIONS(2975), + [anon_sym_while] = ACTIONS(2975), + [anon_sym_do] = ACTIONS(2975), + [anon_sym_for] = ACTIONS(2975), + [anon_sym_return] = ACTIONS(2975), + [anon_sym_break] = ACTIONS(2975), + [anon_sym_continue] = ACTIONS(2975), + [anon_sym_goto] = ACTIONS(2975), + [anon_sym___try] = ACTIONS(2975), + [anon_sym___leave] = ACTIONS(2975), + [anon_sym_not] = ACTIONS(2975), + [anon_sym_compl] = ACTIONS(2975), + [anon_sym_DASH_DASH] = ACTIONS(2977), + [anon_sym_PLUS_PLUS] = ACTIONS(2977), + [anon_sym_sizeof] = ACTIONS(2975), + [anon_sym___alignof__] = ACTIONS(2975), + [anon_sym___alignof] = ACTIONS(2975), + [anon_sym__alignof] = ACTIONS(2975), + [anon_sym_alignof] = ACTIONS(2975), + [anon_sym__Alignof] = ACTIONS(2975), + [anon_sym_offsetof] = ACTIONS(2975), + [anon_sym__Generic] = ACTIONS(2975), + [anon_sym_asm] = ACTIONS(2975), + [anon_sym___asm__] = ACTIONS(2975), + [sym__number_literal] = ACTIONS(2977), + [anon_sym_L_SQUOTE] = ACTIONS(2977), + [anon_sym_u_SQUOTE] = ACTIONS(2977), + [anon_sym_U_SQUOTE] = ACTIONS(2977), + [anon_sym_u8_SQUOTE] = ACTIONS(2977), + [anon_sym_SQUOTE] = ACTIONS(2977), + [anon_sym_L_DQUOTE] = ACTIONS(2977), + [anon_sym_u_DQUOTE] = ACTIONS(2977), + [anon_sym_U_DQUOTE] = ACTIONS(2977), + [anon_sym_u8_DQUOTE] = ACTIONS(2977), + [anon_sym_DQUOTE] = ACTIONS(2977), + [sym_true] = ACTIONS(2975), + [sym_false] = ACTIONS(2975), + [anon_sym_NULL] = ACTIONS(2975), + [anon_sym_nullptr] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_try] = ACTIONS(2975), + [anon_sym_delete] = ACTIONS(2975), + [anon_sym_throw] = ACTIONS(2975), + [anon_sym_namespace] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + [anon_sym_concept] = ACTIONS(2975), + [anon_sym_co_return] = ACTIONS(2975), + [anon_sym_co_yield] = ACTIONS(2975), + [anon_sym_R_DQUOTE] = ACTIONS(2977), + [anon_sym_LR_DQUOTE] = ACTIONS(2977), + [anon_sym_uR_DQUOTE] = ACTIONS(2977), + [anon_sym_UR_DQUOTE] = ACTIONS(2977), + [anon_sym_u8R_DQUOTE] = ACTIONS(2977), + [anon_sym_co_await] = ACTIONS(2975), + [anon_sym_new] = ACTIONS(2975), + [anon_sym_requires] = ACTIONS(2975), + [sym_this] = ACTIONS(2975), + }, + [584] = { + [sym__identifier] = ACTIONS(3025), + [aux_sym_preproc_include_token1] = ACTIONS(3025), + [aux_sym_preproc_def_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token2] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3025), + [sym_preproc_directive] = ACTIONS(3025), + [anon_sym_LPAREN2] = ACTIONS(3027), + [anon_sym_BANG] = ACTIONS(3027), + [anon_sym_TILDE] = ACTIONS(3027), + [anon_sym_DASH] = ACTIONS(3025), + [anon_sym_PLUS] = ACTIONS(3025), + [anon_sym_STAR] = ACTIONS(3027), + [anon_sym_AMP_AMP] = ACTIONS(3027), + [anon_sym_AMP] = ACTIONS(3025), + [anon_sym_SEMI] = ACTIONS(3027), + [anon_sym___extension__] = ACTIONS(3025), + [anon_sym_typedef] = ACTIONS(3025), + [anon_sym_extern] = ACTIONS(3025), + [anon_sym___attribute__] = ACTIONS(3025), + [anon_sym_COLON_COLON] = ACTIONS(3027), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3027), + [anon_sym___declspec] = ACTIONS(3025), + [anon_sym___based] = ACTIONS(3025), + [anon_sym___cdecl] = ACTIONS(3025), + [anon_sym___clrcall] = ACTIONS(3025), + [anon_sym___stdcall] = ACTIONS(3025), + [anon_sym___fastcall] = ACTIONS(3025), + [anon_sym___thiscall] = ACTIONS(3025), + [anon_sym___vectorcall] = ACTIONS(3025), + [anon_sym_LBRACE] = ACTIONS(3027), + [anon_sym_signed] = ACTIONS(3025), + [anon_sym_unsigned] = ACTIONS(3025), + [anon_sym_long] = ACTIONS(3025), + [anon_sym_short] = ACTIONS(3025), + [anon_sym_LBRACK] = ACTIONS(3025), + [anon_sym_static] = ACTIONS(3025), + [anon_sym_register] = ACTIONS(3025), + [anon_sym_inline] = ACTIONS(3025), + [anon_sym___inline] = ACTIONS(3025), + [anon_sym___inline__] = ACTIONS(3025), + [anon_sym___forceinline] = ACTIONS(3025), + [anon_sym_thread_local] = ACTIONS(3025), + [anon_sym___thread] = ACTIONS(3025), + [anon_sym_const] = ACTIONS(3025), + [anon_sym_constexpr] = ACTIONS(3025), + [anon_sym_volatile] = ACTIONS(3025), + [anon_sym_restrict] = ACTIONS(3025), + [anon_sym___restrict__] = ACTIONS(3025), + [anon_sym__Atomic] = ACTIONS(3025), + [anon_sym__Noreturn] = ACTIONS(3025), + [anon_sym_noreturn] = ACTIONS(3025), + [anon_sym_mutable] = ACTIONS(3025), + [anon_sym_constinit] = ACTIONS(3025), + [anon_sym_consteval] = ACTIONS(3025), + [anon_sym_alignas] = ACTIONS(3025), + [anon_sym__Alignas] = ACTIONS(3025), + [sym_primitive_type] = ACTIONS(3025), + [anon_sym_enum] = ACTIONS(3025), + [anon_sym_class] = ACTIONS(3025), + [anon_sym_struct] = ACTIONS(3025), + [anon_sym_union] = ACTIONS(3025), + [anon_sym_if] = ACTIONS(3025), + [anon_sym_switch] = ACTIONS(3025), + [anon_sym_case] = ACTIONS(3025), + [anon_sym_default] = ACTIONS(3025), + [anon_sym_while] = ACTIONS(3025), + [anon_sym_do] = ACTIONS(3025), + [anon_sym_for] = ACTIONS(3025), + [anon_sym_return] = ACTIONS(3025), + [anon_sym_break] = ACTIONS(3025), + [anon_sym_continue] = ACTIONS(3025), + [anon_sym_goto] = ACTIONS(3025), + [anon_sym___try] = ACTIONS(3025), + [anon_sym___leave] = ACTIONS(3025), + [anon_sym_not] = ACTIONS(3025), + [anon_sym_compl] = ACTIONS(3025), + [anon_sym_DASH_DASH] = ACTIONS(3027), + [anon_sym_PLUS_PLUS] = ACTIONS(3027), + [anon_sym_sizeof] = ACTIONS(3025), + [anon_sym___alignof__] = ACTIONS(3025), + [anon_sym___alignof] = ACTIONS(3025), + [anon_sym__alignof] = ACTIONS(3025), + [anon_sym_alignof] = ACTIONS(3025), + [anon_sym__Alignof] = ACTIONS(3025), + [anon_sym_offsetof] = ACTIONS(3025), + [anon_sym__Generic] = ACTIONS(3025), + [anon_sym_asm] = ACTIONS(3025), + [anon_sym___asm__] = ACTIONS(3025), + [sym__number_literal] = ACTIONS(3027), + [anon_sym_L_SQUOTE] = ACTIONS(3027), + [anon_sym_u_SQUOTE] = ACTIONS(3027), + [anon_sym_U_SQUOTE] = ACTIONS(3027), + [anon_sym_u8_SQUOTE] = ACTIONS(3027), + [anon_sym_SQUOTE] = ACTIONS(3027), + [anon_sym_L_DQUOTE] = ACTIONS(3027), + [anon_sym_u_DQUOTE] = ACTIONS(3027), + [anon_sym_U_DQUOTE] = ACTIONS(3027), + [anon_sym_u8_DQUOTE] = ACTIONS(3027), + [anon_sym_DQUOTE] = ACTIONS(3027), + [sym_true] = ACTIONS(3025), + [sym_false] = ACTIONS(3025), + [anon_sym_NULL] = ACTIONS(3025), + [anon_sym_nullptr] = ACTIONS(3025), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3027), + [sym_auto] = ACTIONS(3025), + [anon_sym_decltype] = ACTIONS(3025), + [sym_virtual] = ACTIONS(3025), + [anon_sym_explicit] = ACTIONS(3025), + [anon_sym_typename] = ACTIONS(3025), + [anon_sym_template] = ACTIONS(3025), + [anon_sym_operator] = ACTIONS(3025), + [anon_sym_try] = ACTIONS(3025), + [anon_sym_delete] = ACTIONS(3025), + [anon_sym_throw] = ACTIONS(3025), + [anon_sym_namespace] = ACTIONS(3025), + [anon_sym_using] = ACTIONS(3025), + [anon_sym_static_assert] = ACTIONS(3025), + [anon_sym_concept] = ACTIONS(3025), + [anon_sym_co_return] = ACTIONS(3025), + [anon_sym_co_yield] = ACTIONS(3025), + [anon_sym_R_DQUOTE] = ACTIONS(3027), + [anon_sym_LR_DQUOTE] = ACTIONS(3027), + [anon_sym_uR_DQUOTE] = ACTIONS(3027), + [anon_sym_UR_DQUOTE] = ACTIONS(3027), + [anon_sym_u8R_DQUOTE] = ACTIONS(3027), + [anon_sym_co_await] = ACTIONS(3025), + [anon_sym_new] = ACTIONS(3025), + [anon_sym_requires] = ACTIONS(3025), + [sym_this] = ACTIONS(3025), + }, + [585] = { + [sym__identifier] = ACTIONS(2923), + [aux_sym_preproc_include_token1] = ACTIONS(2923), + [aux_sym_preproc_def_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2923), + [sym_preproc_directive] = ACTIONS(2923), + [anon_sym_LPAREN2] = ACTIONS(2925), + [anon_sym_BANG] = ACTIONS(2925), + [anon_sym_TILDE] = ACTIONS(2925), + [anon_sym_DASH] = ACTIONS(2923), + [anon_sym_PLUS] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2925), + [anon_sym_AMP] = ACTIONS(2923), + [anon_sym_SEMI] = ACTIONS(2925), + [anon_sym___extension__] = ACTIONS(2923), + [anon_sym_typedef] = ACTIONS(2923), + [anon_sym_extern] = ACTIONS(2923), + [anon_sym___attribute__] = ACTIONS(2923), + [anon_sym_COLON_COLON] = ACTIONS(2925), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2925), + [anon_sym___declspec] = ACTIONS(2923), + [anon_sym___based] = ACTIONS(2923), + [anon_sym___cdecl] = ACTIONS(2923), + [anon_sym___clrcall] = ACTIONS(2923), + [anon_sym___stdcall] = ACTIONS(2923), + [anon_sym___fastcall] = ACTIONS(2923), + [anon_sym___thiscall] = ACTIONS(2923), + [anon_sym___vectorcall] = ACTIONS(2923), + [anon_sym_LBRACE] = ACTIONS(2925), + [anon_sym_RBRACE] = ACTIONS(2925), + [anon_sym_signed] = ACTIONS(2923), + [anon_sym_unsigned] = ACTIONS(2923), + [anon_sym_long] = ACTIONS(2923), + [anon_sym_short] = ACTIONS(2923), + [anon_sym_LBRACK] = ACTIONS(2923), + [anon_sym_static] = ACTIONS(2923), + [anon_sym_register] = ACTIONS(2923), + [anon_sym_inline] = ACTIONS(2923), + [anon_sym___inline] = ACTIONS(2923), + [anon_sym___inline__] = ACTIONS(2923), + [anon_sym___forceinline] = ACTIONS(2923), + [anon_sym_thread_local] = ACTIONS(2923), + [anon_sym___thread] = ACTIONS(2923), + [anon_sym_const] = ACTIONS(2923), + [anon_sym_constexpr] = ACTIONS(2923), + [anon_sym_volatile] = ACTIONS(2923), + [anon_sym_restrict] = ACTIONS(2923), + [anon_sym___restrict__] = ACTIONS(2923), + [anon_sym__Atomic] = ACTIONS(2923), + [anon_sym__Noreturn] = ACTIONS(2923), + [anon_sym_noreturn] = ACTIONS(2923), + [anon_sym_mutable] = ACTIONS(2923), + [anon_sym_constinit] = ACTIONS(2923), + [anon_sym_consteval] = ACTIONS(2923), + [anon_sym_alignas] = ACTIONS(2923), + [anon_sym__Alignas] = ACTIONS(2923), + [sym_primitive_type] = ACTIONS(2923), + [anon_sym_enum] = ACTIONS(2923), + [anon_sym_class] = ACTIONS(2923), + [anon_sym_struct] = ACTIONS(2923), + [anon_sym_union] = ACTIONS(2923), + [anon_sym_if] = ACTIONS(2923), + [anon_sym_switch] = ACTIONS(2923), + [anon_sym_case] = ACTIONS(2923), + [anon_sym_default] = ACTIONS(2923), + [anon_sym_while] = ACTIONS(2923), + [anon_sym_do] = ACTIONS(2923), + [anon_sym_for] = ACTIONS(2923), + [anon_sym_return] = ACTIONS(2923), + [anon_sym_break] = ACTIONS(2923), + [anon_sym_continue] = ACTIONS(2923), + [anon_sym_goto] = ACTIONS(2923), + [anon_sym___try] = ACTIONS(2923), + [anon_sym___leave] = ACTIONS(2923), + [anon_sym_not] = ACTIONS(2923), + [anon_sym_compl] = ACTIONS(2923), + [anon_sym_DASH_DASH] = ACTIONS(2925), + [anon_sym_PLUS_PLUS] = ACTIONS(2925), + [anon_sym_sizeof] = ACTIONS(2923), + [anon_sym___alignof__] = ACTIONS(2923), + [anon_sym___alignof] = ACTIONS(2923), + [anon_sym__alignof] = ACTIONS(2923), + [anon_sym_alignof] = ACTIONS(2923), + [anon_sym__Alignof] = ACTIONS(2923), + [anon_sym_offsetof] = ACTIONS(2923), + [anon_sym__Generic] = ACTIONS(2923), + [anon_sym_asm] = ACTIONS(2923), + [anon_sym___asm__] = ACTIONS(2923), + [sym__number_literal] = ACTIONS(2925), + [anon_sym_L_SQUOTE] = ACTIONS(2925), + [anon_sym_u_SQUOTE] = ACTIONS(2925), + [anon_sym_U_SQUOTE] = ACTIONS(2925), + [anon_sym_u8_SQUOTE] = ACTIONS(2925), + [anon_sym_SQUOTE] = ACTIONS(2925), + [anon_sym_L_DQUOTE] = ACTIONS(2925), + [anon_sym_u_DQUOTE] = ACTIONS(2925), + [anon_sym_U_DQUOTE] = ACTIONS(2925), + [anon_sym_u8_DQUOTE] = ACTIONS(2925), + [anon_sym_DQUOTE] = ACTIONS(2925), + [sym_true] = ACTIONS(2923), + [sym_false] = ACTIONS(2923), + [anon_sym_NULL] = ACTIONS(2923), + [anon_sym_nullptr] = ACTIONS(2923), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2925), + [sym_auto] = ACTIONS(2923), + [anon_sym_decltype] = ACTIONS(2923), + [sym_virtual] = ACTIONS(2923), + [anon_sym_explicit] = ACTIONS(2923), + [anon_sym_typename] = ACTIONS(2923), + [anon_sym_template] = ACTIONS(2923), + [anon_sym_operator] = ACTIONS(2923), + [anon_sym_try] = ACTIONS(2923), + [anon_sym_delete] = ACTIONS(2923), + [anon_sym_throw] = ACTIONS(2923), + [anon_sym_namespace] = ACTIONS(2923), + [anon_sym_using] = ACTIONS(2923), + [anon_sym_static_assert] = ACTIONS(2923), + [anon_sym_concept] = ACTIONS(2923), + [anon_sym_co_return] = ACTIONS(2923), + [anon_sym_co_yield] = ACTIONS(2923), + [anon_sym_R_DQUOTE] = ACTIONS(2925), + [anon_sym_LR_DQUOTE] = ACTIONS(2925), + [anon_sym_uR_DQUOTE] = ACTIONS(2925), + [anon_sym_UR_DQUOTE] = ACTIONS(2925), + [anon_sym_u8R_DQUOTE] = ACTIONS(2925), + [anon_sym_co_await] = ACTIONS(2923), + [anon_sym_new] = ACTIONS(2923), + [anon_sym_requires] = ACTIONS(2923), + [sym_this] = ACTIONS(2923), + }, + [586] = { + [sym__identifier] = ACTIONS(3078), + [aux_sym_preproc_include_token1] = ACTIONS(3078), + [aux_sym_preproc_def_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token2] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3078), + [sym_preproc_directive] = ACTIONS(3078), + [anon_sym_LPAREN2] = ACTIONS(3080), + [anon_sym_BANG] = ACTIONS(3080), + [anon_sym_TILDE] = ACTIONS(3080), + [anon_sym_DASH] = ACTIONS(3078), + [anon_sym_PLUS] = ACTIONS(3078), + [anon_sym_STAR] = ACTIONS(3080), + [anon_sym_AMP_AMP] = ACTIONS(3080), + [anon_sym_AMP] = ACTIONS(3078), + [anon_sym_SEMI] = ACTIONS(3080), + [anon_sym___extension__] = ACTIONS(3078), + [anon_sym_typedef] = ACTIONS(3078), + [anon_sym_extern] = ACTIONS(3078), + [anon_sym___attribute__] = ACTIONS(3078), + [anon_sym_COLON_COLON] = ACTIONS(3080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3080), + [anon_sym___declspec] = ACTIONS(3078), + [anon_sym___based] = ACTIONS(3078), + [anon_sym___cdecl] = ACTIONS(3078), + [anon_sym___clrcall] = ACTIONS(3078), + [anon_sym___stdcall] = ACTIONS(3078), + [anon_sym___fastcall] = ACTIONS(3078), + [anon_sym___thiscall] = ACTIONS(3078), + [anon_sym___vectorcall] = ACTIONS(3078), + [anon_sym_LBRACE] = ACTIONS(3080), + [anon_sym_signed] = ACTIONS(3078), + [anon_sym_unsigned] = ACTIONS(3078), + [anon_sym_long] = ACTIONS(3078), + [anon_sym_short] = ACTIONS(3078), + [anon_sym_LBRACK] = ACTIONS(3078), + [anon_sym_static] = ACTIONS(3078), + [anon_sym_register] = ACTIONS(3078), + [anon_sym_inline] = ACTIONS(3078), + [anon_sym___inline] = ACTIONS(3078), + [anon_sym___inline__] = ACTIONS(3078), + [anon_sym___forceinline] = ACTIONS(3078), + [anon_sym_thread_local] = ACTIONS(3078), + [anon_sym___thread] = ACTIONS(3078), + [anon_sym_const] = ACTIONS(3078), + [anon_sym_constexpr] = ACTIONS(3078), + [anon_sym_volatile] = ACTIONS(3078), + [anon_sym_restrict] = ACTIONS(3078), + [anon_sym___restrict__] = ACTIONS(3078), + [anon_sym__Atomic] = ACTIONS(3078), + [anon_sym__Noreturn] = ACTIONS(3078), + [anon_sym_noreturn] = ACTIONS(3078), + [anon_sym_mutable] = ACTIONS(3078), + [anon_sym_constinit] = ACTIONS(3078), + [anon_sym_consteval] = ACTIONS(3078), + [anon_sym_alignas] = ACTIONS(3078), + [anon_sym__Alignas] = ACTIONS(3078), + [sym_primitive_type] = ACTIONS(3078), + [anon_sym_enum] = ACTIONS(3078), + [anon_sym_class] = ACTIONS(3078), + [anon_sym_struct] = ACTIONS(3078), + [anon_sym_union] = ACTIONS(3078), + [anon_sym_if] = ACTIONS(3078), + [anon_sym_switch] = ACTIONS(3078), + [anon_sym_case] = ACTIONS(3078), + [anon_sym_default] = ACTIONS(3078), + [anon_sym_while] = ACTIONS(3078), + [anon_sym_do] = ACTIONS(3078), + [anon_sym_for] = ACTIONS(3078), + [anon_sym_return] = ACTIONS(3078), + [anon_sym_break] = ACTIONS(3078), + [anon_sym_continue] = ACTIONS(3078), + [anon_sym_goto] = ACTIONS(3078), + [anon_sym___try] = ACTIONS(3078), + [anon_sym___leave] = ACTIONS(3078), + [anon_sym_not] = ACTIONS(3078), + [anon_sym_compl] = ACTIONS(3078), + [anon_sym_DASH_DASH] = ACTIONS(3080), + [anon_sym_PLUS_PLUS] = ACTIONS(3080), + [anon_sym_sizeof] = ACTIONS(3078), + [anon_sym___alignof__] = ACTIONS(3078), + [anon_sym___alignof] = ACTIONS(3078), + [anon_sym__alignof] = ACTIONS(3078), + [anon_sym_alignof] = ACTIONS(3078), + [anon_sym__Alignof] = ACTIONS(3078), + [anon_sym_offsetof] = ACTIONS(3078), + [anon_sym__Generic] = ACTIONS(3078), + [anon_sym_asm] = ACTIONS(3078), + [anon_sym___asm__] = ACTIONS(3078), + [sym__number_literal] = ACTIONS(3080), + [anon_sym_L_SQUOTE] = ACTIONS(3080), + [anon_sym_u_SQUOTE] = ACTIONS(3080), + [anon_sym_U_SQUOTE] = ACTIONS(3080), + [anon_sym_u8_SQUOTE] = ACTIONS(3080), + [anon_sym_SQUOTE] = ACTIONS(3080), + [anon_sym_L_DQUOTE] = ACTIONS(3080), + [anon_sym_u_DQUOTE] = ACTIONS(3080), + [anon_sym_U_DQUOTE] = ACTIONS(3080), + [anon_sym_u8_DQUOTE] = ACTIONS(3080), + [anon_sym_DQUOTE] = ACTIONS(3080), + [sym_true] = ACTIONS(3078), + [sym_false] = ACTIONS(3078), + [anon_sym_NULL] = ACTIONS(3078), + [anon_sym_nullptr] = ACTIONS(3078), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3080), + [sym_auto] = ACTIONS(3078), + [anon_sym_decltype] = ACTIONS(3078), + [sym_virtual] = ACTIONS(3078), + [anon_sym_explicit] = ACTIONS(3078), + [anon_sym_typename] = ACTIONS(3078), + [anon_sym_template] = ACTIONS(3078), + [anon_sym_operator] = ACTIONS(3078), + [anon_sym_try] = ACTIONS(3078), + [anon_sym_delete] = ACTIONS(3078), + [anon_sym_throw] = ACTIONS(3078), + [anon_sym_namespace] = ACTIONS(3078), + [anon_sym_using] = ACTIONS(3078), + [anon_sym_static_assert] = ACTIONS(3078), + [anon_sym_concept] = ACTIONS(3078), + [anon_sym_co_return] = ACTIONS(3078), + [anon_sym_co_yield] = ACTIONS(3078), + [anon_sym_R_DQUOTE] = ACTIONS(3080), + [anon_sym_LR_DQUOTE] = ACTIONS(3080), + [anon_sym_uR_DQUOTE] = ACTIONS(3080), + [anon_sym_UR_DQUOTE] = ACTIONS(3080), + [anon_sym_u8R_DQUOTE] = ACTIONS(3080), + [anon_sym_co_await] = ACTIONS(3078), + [anon_sym_new] = ACTIONS(3078), + [anon_sym_requires] = ACTIONS(3078), + [sym_this] = ACTIONS(3078), + }, + [587] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_include_token1] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token2] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_BANG] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_DASH] = ACTIONS(2897), + [anon_sym_PLUS] = ACTIONS(2897), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym_SEMI] = ACTIONS(2899), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym___cdecl] = ACTIONS(2897), + [anon_sym___clrcall] = ACTIONS(2897), + [anon_sym___stdcall] = ACTIONS(2897), + [anon_sym___fastcall] = ACTIONS(2897), + [anon_sym___thiscall] = ACTIONS(2897), + [anon_sym___vectorcall] = ACTIONS(2897), + [anon_sym_LBRACE] = ACTIONS(2899), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [anon_sym_if] = ACTIONS(2897), + [anon_sym_switch] = ACTIONS(2897), + [anon_sym_case] = ACTIONS(2897), + [anon_sym_default] = ACTIONS(2897), + [anon_sym_while] = ACTIONS(2897), + [anon_sym_do] = ACTIONS(2897), + [anon_sym_for] = ACTIONS(2897), + [anon_sym_return] = ACTIONS(2897), + [anon_sym_break] = ACTIONS(2897), + [anon_sym_continue] = ACTIONS(2897), + [anon_sym_goto] = ACTIONS(2897), + [anon_sym___try] = ACTIONS(2897), + [anon_sym___leave] = ACTIONS(2897), + [anon_sym_not] = ACTIONS(2897), + [anon_sym_compl] = ACTIONS(2897), + [anon_sym_DASH_DASH] = ACTIONS(2899), + [anon_sym_PLUS_PLUS] = ACTIONS(2899), + [anon_sym_sizeof] = ACTIONS(2897), + [anon_sym___alignof__] = ACTIONS(2897), + [anon_sym___alignof] = ACTIONS(2897), + [anon_sym__alignof] = ACTIONS(2897), + [anon_sym_alignof] = ACTIONS(2897), + [anon_sym__Alignof] = ACTIONS(2897), + [anon_sym_offsetof] = ACTIONS(2897), + [anon_sym__Generic] = ACTIONS(2897), + [anon_sym_asm] = ACTIONS(2897), + [anon_sym___asm__] = ACTIONS(2897), + [sym__number_literal] = ACTIONS(2899), + [anon_sym_L_SQUOTE] = ACTIONS(2899), + [anon_sym_u_SQUOTE] = ACTIONS(2899), + [anon_sym_U_SQUOTE] = ACTIONS(2899), + [anon_sym_u8_SQUOTE] = ACTIONS(2899), + [anon_sym_SQUOTE] = ACTIONS(2899), + [anon_sym_L_DQUOTE] = ACTIONS(2899), + [anon_sym_u_DQUOTE] = ACTIONS(2899), + [anon_sym_U_DQUOTE] = ACTIONS(2899), + [anon_sym_u8_DQUOTE] = ACTIONS(2899), + [anon_sym_DQUOTE] = ACTIONS(2899), + [sym_true] = ACTIONS(2897), + [sym_false] = ACTIONS(2897), + [anon_sym_NULL] = ACTIONS(2897), + [anon_sym_nullptr] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_try] = ACTIONS(2897), + [anon_sym_delete] = ACTIONS(2897), + [anon_sym_throw] = ACTIONS(2897), + [anon_sym_namespace] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + [anon_sym_concept] = ACTIONS(2897), + [anon_sym_co_return] = ACTIONS(2897), + [anon_sym_co_yield] = ACTIONS(2897), + [anon_sym_R_DQUOTE] = ACTIONS(2899), + [anon_sym_LR_DQUOTE] = ACTIONS(2899), + [anon_sym_uR_DQUOTE] = ACTIONS(2899), + [anon_sym_UR_DQUOTE] = ACTIONS(2899), + [anon_sym_u8R_DQUOTE] = ACTIONS(2899), + [anon_sym_co_await] = ACTIONS(2897), + [anon_sym_new] = ACTIONS(2897), + [anon_sym_requires] = ACTIONS(2897), + [sym_this] = ACTIONS(2897), + }, + [588] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_include_token1] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token2] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_BANG] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_DASH] = ACTIONS(2915), + [anon_sym_PLUS] = ACTIONS(2915), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym_SEMI] = ACTIONS(2917), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym___cdecl] = ACTIONS(2915), + [anon_sym___clrcall] = ACTIONS(2915), + [anon_sym___stdcall] = ACTIONS(2915), + [anon_sym___fastcall] = ACTIONS(2915), + [anon_sym___thiscall] = ACTIONS(2915), + [anon_sym___vectorcall] = ACTIONS(2915), + [anon_sym_LBRACE] = ACTIONS(2917), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [anon_sym_if] = ACTIONS(2915), + [anon_sym_switch] = ACTIONS(2915), + [anon_sym_case] = ACTIONS(2915), + [anon_sym_default] = ACTIONS(2915), + [anon_sym_while] = ACTIONS(2915), + [anon_sym_do] = ACTIONS(2915), + [anon_sym_for] = ACTIONS(2915), + [anon_sym_return] = ACTIONS(2915), + [anon_sym_break] = ACTIONS(2915), + [anon_sym_continue] = ACTIONS(2915), + [anon_sym_goto] = ACTIONS(2915), + [anon_sym___try] = ACTIONS(2915), + [anon_sym___leave] = ACTIONS(2915), + [anon_sym_not] = ACTIONS(2915), + [anon_sym_compl] = ACTIONS(2915), + [anon_sym_DASH_DASH] = ACTIONS(2917), + [anon_sym_PLUS_PLUS] = ACTIONS(2917), + [anon_sym_sizeof] = ACTIONS(2915), + [anon_sym___alignof__] = ACTIONS(2915), + [anon_sym___alignof] = ACTIONS(2915), + [anon_sym__alignof] = ACTIONS(2915), + [anon_sym_alignof] = ACTIONS(2915), + [anon_sym__Alignof] = ACTIONS(2915), + [anon_sym_offsetof] = ACTIONS(2915), + [anon_sym__Generic] = ACTIONS(2915), + [anon_sym_asm] = ACTIONS(2915), + [anon_sym___asm__] = ACTIONS(2915), + [sym__number_literal] = ACTIONS(2917), + [anon_sym_L_SQUOTE] = ACTIONS(2917), + [anon_sym_u_SQUOTE] = ACTIONS(2917), + [anon_sym_U_SQUOTE] = ACTIONS(2917), + [anon_sym_u8_SQUOTE] = ACTIONS(2917), + [anon_sym_SQUOTE] = ACTIONS(2917), + [anon_sym_L_DQUOTE] = ACTIONS(2917), + [anon_sym_u_DQUOTE] = ACTIONS(2917), + [anon_sym_U_DQUOTE] = ACTIONS(2917), + [anon_sym_u8_DQUOTE] = ACTIONS(2917), + [anon_sym_DQUOTE] = ACTIONS(2917), + [sym_true] = ACTIONS(2915), + [sym_false] = ACTIONS(2915), + [anon_sym_NULL] = ACTIONS(2915), + [anon_sym_nullptr] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_try] = ACTIONS(2915), + [anon_sym_delete] = ACTIONS(2915), + [anon_sym_throw] = ACTIONS(2915), + [anon_sym_namespace] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + [anon_sym_concept] = ACTIONS(2915), + [anon_sym_co_return] = ACTIONS(2915), + [anon_sym_co_yield] = ACTIONS(2915), + [anon_sym_R_DQUOTE] = ACTIONS(2917), + [anon_sym_LR_DQUOTE] = ACTIONS(2917), + [anon_sym_uR_DQUOTE] = ACTIONS(2917), + [anon_sym_UR_DQUOTE] = ACTIONS(2917), + [anon_sym_u8R_DQUOTE] = ACTIONS(2917), + [anon_sym_co_await] = ACTIONS(2915), + [anon_sym_new] = ACTIONS(2915), + [anon_sym_requires] = ACTIONS(2915), + [sym_this] = ACTIONS(2915), + }, + [589] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_include_token1] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token2] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_BANG] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_DASH] = ACTIONS(2936), + [anon_sym_PLUS] = ACTIONS(2936), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym_SEMI] = ACTIONS(2938), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym___cdecl] = ACTIONS(2936), + [anon_sym___clrcall] = ACTIONS(2936), + [anon_sym___stdcall] = ACTIONS(2936), + [anon_sym___fastcall] = ACTIONS(2936), + [anon_sym___thiscall] = ACTIONS(2936), + [anon_sym___vectorcall] = ACTIONS(2936), + [anon_sym_LBRACE] = ACTIONS(2938), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [anon_sym_if] = ACTIONS(2936), + [anon_sym_switch] = ACTIONS(2936), + [anon_sym_case] = ACTIONS(2936), + [anon_sym_default] = ACTIONS(2936), + [anon_sym_while] = ACTIONS(2936), + [anon_sym_do] = ACTIONS(2936), + [anon_sym_for] = ACTIONS(2936), + [anon_sym_return] = ACTIONS(2936), + [anon_sym_break] = ACTIONS(2936), + [anon_sym_continue] = ACTIONS(2936), + [anon_sym_goto] = ACTIONS(2936), + [anon_sym___try] = ACTIONS(2936), + [anon_sym___leave] = ACTIONS(2936), + [anon_sym_not] = ACTIONS(2936), + [anon_sym_compl] = ACTIONS(2936), + [anon_sym_DASH_DASH] = ACTIONS(2938), + [anon_sym_PLUS_PLUS] = ACTIONS(2938), + [anon_sym_sizeof] = ACTIONS(2936), + [anon_sym___alignof__] = ACTIONS(2936), + [anon_sym___alignof] = ACTIONS(2936), + [anon_sym__alignof] = ACTIONS(2936), + [anon_sym_alignof] = ACTIONS(2936), + [anon_sym__Alignof] = ACTIONS(2936), + [anon_sym_offsetof] = ACTIONS(2936), + [anon_sym__Generic] = ACTIONS(2936), + [anon_sym_asm] = ACTIONS(2936), + [anon_sym___asm__] = ACTIONS(2936), + [sym__number_literal] = ACTIONS(2938), + [anon_sym_L_SQUOTE] = ACTIONS(2938), + [anon_sym_u_SQUOTE] = ACTIONS(2938), + [anon_sym_U_SQUOTE] = ACTIONS(2938), + [anon_sym_u8_SQUOTE] = ACTIONS(2938), + [anon_sym_SQUOTE] = ACTIONS(2938), + [anon_sym_L_DQUOTE] = ACTIONS(2938), + [anon_sym_u_DQUOTE] = ACTIONS(2938), + [anon_sym_U_DQUOTE] = ACTIONS(2938), + [anon_sym_u8_DQUOTE] = ACTIONS(2938), + [anon_sym_DQUOTE] = ACTIONS(2938), + [sym_true] = ACTIONS(2936), + [sym_false] = ACTIONS(2936), + [anon_sym_NULL] = ACTIONS(2936), + [anon_sym_nullptr] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_try] = ACTIONS(2936), + [anon_sym_delete] = ACTIONS(2936), + [anon_sym_throw] = ACTIONS(2936), + [anon_sym_namespace] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + [anon_sym_concept] = ACTIONS(2936), + [anon_sym_co_return] = ACTIONS(2936), + [anon_sym_co_yield] = ACTIONS(2936), + [anon_sym_R_DQUOTE] = ACTIONS(2938), + [anon_sym_LR_DQUOTE] = ACTIONS(2938), + [anon_sym_uR_DQUOTE] = ACTIONS(2938), + [anon_sym_UR_DQUOTE] = ACTIONS(2938), + [anon_sym_u8R_DQUOTE] = ACTIONS(2938), + [anon_sym_co_await] = ACTIONS(2936), + [anon_sym_new] = ACTIONS(2936), + [anon_sym_requires] = ACTIONS(2936), + [sym_this] = ACTIONS(2936), + }, + [590] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_include_token1] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_BANG] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_DASH] = ACTIONS(3021), + [anon_sym_PLUS] = ACTIONS(3021), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym_SEMI] = ACTIONS(3023), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym___cdecl] = ACTIONS(3021), + [anon_sym___clrcall] = ACTIONS(3021), + [anon_sym___stdcall] = ACTIONS(3021), + [anon_sym___fastcall] = ACTIONS(3021), + [anon_sym___thiscall] = ACTIONS(3021), + [anon_sym___vectorcall] = ACTIONS(3021), + [anon_sym_LBRACE] = ACTIONS(3023), + [anon_sym_RBRACE] = ACTIONS(3023), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [anon_sym_if] = ACTIONS(3021), + [anon_sym_switch] = ACTIONS(3021), + [anon_sym_case] = ACTIONS(3021), + [anon_sym_default] = ACTIONS(3021), + [anon_sym_while] = ACTIONS(3021), + [anon_sym_do] = ACTIONS(3021), + [anon_sym_for] = ACTIONS(3021), + [anon_sym_return] = ACTIONS(3021), + [anon_sym_break] = ACTIONS(3021), + [anon_sym_continue] = ACTIONS(3021), + [anon_sym_goto] = ACTIONS(3021), + [anon_sym___try] = ACTIONS(3021), + [anon_sym___leave] = ACTIONS(3021), + [anon_sym_not] = ACTIONS(3021), + [anon_sym_compl] = ACTIONS(3021), + [anon_sym_DASH_DASH] = ACTIONS(3023), + [anon_sym_PLUS_PLUS] = ACTIONS(3023), + [anon_sym_sizeof] = ACTIONS(3021), + [anon_sym___alignof__] = ACTIONS(3021), + [anon_sym___alignof] = ACTIONS(3021), + [anon_sym__alignof] = ACTIONS(3021), + [anon_sym_alignof] = ACTIONS(3021), + [anon_sym__Alignof] = ACTIONS(3021), + [anon_sym_offsetof] = ACTIONS(3021), + [anon_sym__Generic] = ACTIONS(3021), + [anon_sym_asm] = ACTIONS(3021), + [anon_sym___asm__] = ACTIONS(3021), + [sym__number_literal] = ACTIONS(3023), + [anon_sym_L_SQUOTE] = ACTIONS(3023), + [anon_sym_u_SQUOTE] = ACTIONS(3023), + [anon_sym_U_SQUOTE] = ACTIONS(3023), + [anon_sym_u8_SQUOTE] = ACTIONS(3023), + [anon_sym_SQUOTE] = ACTIONS(3023), + [anon_sym_L_DQUOTE] = ACTIONS(3023), + [anon_sym_u_DQUOTE] = ACTIONS(3023), + [anon_sym_U_DQUOTE] = ACTIONS(3023), + [anon_sym_u8_DQUOTE] = ACTIONS(3023), + [anon_sym_DQUOTE] = ACTIONS(3023), + [sym_true] = ACTIONS(3021), + [sym_false] = ACTIONS(3021), + [anon_sym_NULL] = ACTIONS(3021), + [anon_sym_nullptr] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_try] = ACTIONS(3021), + [anon_sym_delete] = ACTIONS(3021), + [anon_sym_throw] = ACTIONS(3021), + [anon_sym_namespace] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + [anon_sym_concept] = ACTIONS(3021), + [anon_sym_co_return] = ACTIONS(3021), + [anon_sym_co_yield] = ACTIONS(3021), + [anon_sym_R_DQUOTE] = ACTIONS(3023), + [anon_sym_LR_DQUOTE] = ACTIONS(3023), + [anon_sym_uR_DQUOTE] = ACTIONS(3023), + [anon_sym_UR_DQUOTE] = ACTIONS(3023), + [anon_sym_u8R_DQUOTE] = ACTIONS(3023), + [anon_sym_co_await] = ACTIONS(3021), + [anon_sym_new] = ACTIONS(3021), + [anon_sym_requires] = ACTIONS(3021), + [sym_this] = ACTIONS(3021), + }, + [591] = { + [sym__identifier] = ACTIONS(3035), + [aux_sym_preproc_include_token1] = ACTIONS(3035), + [aux_sym_preproc_def_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3035), + [sym_preproc_directive] = ACTIONS(3035), + [anon_sym_LPAREN2] = ACTIONS(3037), + [anon_sym_BANG] = ACTIONS(3037), + [anon_sym_TILDE] = ACTIONS(3037), + [anon_sym_DASH] = ACTIONS(3035), + [anon_sym_PLUS] = ACTIONS(3035), + [anon_sym_STAR] = ACTIONS(3037), + [anon_sym_AMP_AMP] = ACTIONS(3037), + [anon_sym_AMP] = ACTIONS(3035), + [anon_sym_SEMI] = ACTIONS(3037), + [anon_sym___extension__] = ACTIONS(3035), + [anon_sym_typedef] = ACTIONS(3035), + [anon_sym_extern] = ACTIONS(3035), + [anon_sym___attribute__] = ACTIONS(3035), + [anon_sym_COLON_COLON] = ACTIONS(3037), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3037), + [anon_sym___declspec] = ACTIONS(3035), + [anon_sym___based] = ACTIONS(3035), + [anon_sym___cdecl] = ACTIONS(3035), + [anon_sym___clrcall] = ACTIONS(3035), + [anon_sym___stdcall] = ACTIONS(3035), + [anon_sym___fastcall] = ACTIONS(3035), + [anon_sym___thiscall] = ACTIONS(3035), + [anon_sym___vectorcall] = ACTIONS(3035), + [anon_sym_LBRACE] = ACTIONS(3037), + [anon_sym_RBRACE] = ACTIONS(3037), + [anon_sym_signed] = ACTIONS(3035), + [anon_sym_unsigned] = ACTIONS(3035), + [anon_sym_long] = ACTIONS(3035), + [anon_sym_short] = ACTIONS(3035), + [anon_sym_LBRACK] = ACTIONS(3035), + [anon_sym_static] = ACTIONS(3035), + [anon_sym_register] = ACTIONS(3035), + [anon_sym_inline] = ACTIONS(3035), + [anon_sym___inline] = ACTIONS(3035), + [anon_sym___inline__] = ACTIONS(3035), + [anon_sym___forceinline] = ACTIONS(3035), + [anon_sym_thread_local] = ACTIONS(3035), + [anon_sym___thread] = ACTIONS(3035), + [anon_sym_const] = ACTIONS(3035), + [anon_sym_constexpr] = ACTIONS(3035), + [anon_sym_volatile] = ACTIONS(3035), + [anon_sym_restrict] = ACTIONS(3035), + [anon_sym___restrict__] = ACTIONS(3035), + [anon_sym__Atomic] = ACTIONS(3035), + [anon_sym__Noreturn] = ACTIONS(3035), + [anon_sym_noreturn] = ACTIONS(3035), + [anon_sym_mutable] = ACTIONS(3035), + [anon_sym_constinit] = ACTIONS(3035), + [anon_sym_consteval] = ACTIONS(3035), + [anon_sym_alignas] = ACTIONS(3035), + [anon_sym__Alignas] = ACTIONS(3035), + [sym_primitive_type] = ACTIONS(3035), + [anon_sym_enum] = ACTIONS(3035), + [anon_sym_class] = ACTIONS(3035), + [anon_sym_struct] = ACTIONS(3035), + [anon_sym_union] = ACTIONS(3035), + [anon_sym_if] = ACTIONS(3035), + [anon_sym_switch] = ACTIONS(3035), + [anon_sym_case] = ACTIONS(3035), + [anon_sym_default] = ACTIONS(3035), + [anon_sym_while] = ACTIONS(3035), + [anon_sym_do] = ACTIONS(3035), + [anon_sym_for] = ACTIONS(3035), + [anon_sym_return] = ACTIONS(3035), + [anon_sym_break] = ACTIONS(3035), + [anon_sym_continue] = ACTIONS(3035), + [anon_sym_goto] = ACTIONS(3035), + [anon_sym___try] = ACTIONS(3035), + [anon_sym___leave] = ACTIONS(3035), + [anon_sym_not] = ACTIONS(3035), + [anon_sym_compl] = ACTIONS(3035), + [anon_sym_DASH_DASH] = ACTIONS(3037), + [anon_sym_PLUS_PLUS] = ACTIONS(3037), + [anon_sym_sizeof] = ACTIONS(3035), + [anon_sym___alignof__] = ACTIONS(3035), + [anon_sym___alignof] = ACTIONS(3035), + [anon_sym__alignof] = ACTIONS(3035), + [anon_sym_alignof] = ACTIONS(3035), + [anon_sym__Alignof] = ACTIONS(3035), + [anon_sym_offsetof] = ACTIONS(3035), + [anon_sym__Generic] = ACTIONS(3035), + [anon_sym_asm] = ACTIONS(3035), + [anon_sym___asm__] = ACTIONS(3035), + [sym__number_literal] = ACTIONS(3037), + [anon_sym_L_SQUOTE] = ACTIONS(3037), + [anon_sym_u_SQUOTE] = ACTIONS(3037), + [anon_sym_U_SQUOTE] = ACTIONS(3037), + [anon_sym_u8_SQUOTE] = ACTIONS(3037), + [anon_sym_SQUOTE] = ACTIONS(3037), + [anon_sym_L_DQUOTE] = ACTIONS(3037), + [anon_sym_u_DQUOTE] = ACTIONS(3037), + [anon_sym_U_DQUOTE] = ACTIONS(3037), + [anon_sym_u8_DQUOTE] = ACTIONS(3037), + [anon_sym_DQUOTE] = ACTIONS(3037), + [sym_true] = ACTIONS(3035), + [sym_false] = ACTIONS(3035), + [anon_sym_NULL] = ACTIONS(3035), + [anon_sym_nullptr] = ACTIONS(3035), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3037), + [sym_auto] = ACTIONS(3035), + [anon_sym_decltype] = ACTIONS(3035), + [sym_virtual] = ACTIONS(3035), + [anon_sym_explicit] = ACTIONS(3035), + [anon_sym_typename] = ACTIONS(3035), + [anon_sym_template] = ACTIONS(3035), + [anon_sym_operator] = ACTIONS(3035), + [anon_sym_try] = ACTIONS(3035), + [anon_sym_delete] = ACTIONS(3035), + [anon_sym_throw] = ACTIONS(3035), + [anon_sym_namespace] = ACTIONS(3035), + [anon_sym_using] = ACTIONS(3035), + [anon_sym_static_assert] = ACTIONS(3035), + [anon_sym_concept] = ACTIONS(3035), + [anon_sym_co_return] = ACTIONS(3035), + [anon_sym_co_yield] = ACTIONS(3035), + [anon_sym_R_DQUOTE] = ACTIONS(3037), + [anon_sym_LR_DQUOTE] = ACTIONS(3037), + [anon_sym_uR_DQUOTE] = ACTIONS(3037), + [anon_sym_UR_DQUOTE] = ACTIONS(3037), + [anon_sym_u8R_DQUOTE] = ACTIONS(3037), + [anon_sym_co_await] = ACTIONS(3035), + [anon_sym_new] = ACTIONS(3035), + [anon_sym_requires] = ACTIONS(3035), + [sym_this] = ACTIONS(3035), + }, + [592] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_include_token1] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token2] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_BANG] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_DASH] = ACTIONS(3182), + [anon_sym_PLUS] = ACTIONS(3182), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym_SEMI] = ACTIONS(3184), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym___cdecl] = ACTIONS(3182), + [anon_sym___clrcall] = ACTIONS(3182), + [anon_sym___stdcall] = ACTIONS(3182), + [anon_sym___fastcall] = ACTIONS(3182), + [anon_sym___thiscall] = ACTIONS(3182), + [anon_sym___vectorcall] = ACTIONS(3182), + [anon_sym_LBRACE] = ACTIONS(3184), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [anon_sym_if] = ACTIONS(3182), + [anon_sym_switch] = ACTIONS(3182), + [anon_sym_case] = ACTIONS(3182), + [anon_sym_default] = ACTIONS(3182), + [anon_sym_while] = ACTIONS(3182), + [anon_sym_do] = ACTIONS(3182), + [anon_sym_for] = ACTIONS(3182), + [anon_sym_return] = ACTIONS(3182), + [anon_sym_break] = ACTIONS(3182), + [anon_sym_continue] = ACTIONS(3182), + [anon_sym_goto] = ACTIONS(3182), + [anon_sym___try] = ACTIONS(3182), + [anon_sym___leave] = ACTIONS(3182), + [anon_sym_not] = ACTIONS(3182), + [anon_sym_compl] = ACTIONS(3182), + [anon_sym_DASH_DASH] = ACTIONS(3184), + [anon_sym_PLUS_PLUS] = ACTIONS(3184), + [anon_sym_sizeof] = ACTIONS(3182), + [anon_sym___alignof__] = ACTIONS(3182), + [anon_sym___alignof] = ACTIONS(3182), + [anon_sym__alignof] = ACTIONS(3182), + [anon_sym_alignof] = ACTIONS(3182), + [anon_sym__Alignof] = ACTIONS(3182), + [anon_sym_offsetof] = ACTIONS(3182), + [anon_sym__Generic] = ACTIONS(3182), + [anon_sym_asm] = ACTIONS(3182), + [anon_sym___asm__] = ACTIONS(3182), + [sym__number_literal] = ACTIONS(3184), + [anon_sym_L_SQUOTE] = ACTIONS(3184), + [anon_sym_u_SQUOTE] = ACTIONS(3184), + [anon_sym_U_SQUOTE] = ACTIONS(3184), + [anon_sym_u8_SQUOTE] = ACTIONS(3184), + [anon_sym_SQUOTE] = ACTIONS(3184), + [anon_sym_L_DQUOTE] = ACTIONS(3184), + [anon_sym_u_DQUOTE] = ACTIONS(3184), + [anon_sym_U_DQUOTE] = ACTIONS(3184), + [anon_sym_u8_DQUOTE] = ACTIONS(3184), + [anon_sym_DQUOTE] = ACTIONS(3184), + [sym_true] = ACTIONS(3182), + [sym_false] = ACTIONS(3182), + [anon_sym_NULL] = ACTIONS(3182), + [anon_sym_nullptr] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_try] = ACTIONS(3182), + [anon_sym_delete] = ACTIONS(3182), + [anon_sym_throw] = ACTIONS(3182), + [anon_sym_namespace] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + [anon_sym_concept] = ACTIONS(3182), + [anon_sym_co_return] = ACTIONS(3182), + [anon_sym_co_yield] = ACTIONS(3182), + [anon_sym_R_DQUOTE] = ACTIONS(3184), + [anon_sym_LR_DQUOTE] = ACTIONS(3184), + [anon_sym_uR_DQUOTE] = ACTIONS(3184), + [anon_sym_UR_DQUOTE] = ACTIONS(3184), + [anon_sym_u8R_DQUOTE] = ACTIONS(3184), + [anon_sym_co_await] = ACTIONS(3182), + [anon_sym_new] = ACTIONS(3182), + [anon_sym_requires] = ACTIONS(3182), + [sym_this] = ACTIONS(3182), + }, + [593] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_include_token1] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token2] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_BANG] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_DASH] = ACTIONS(2932), + [anon_sym_PLUS] = ACTIONS(2932), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym_SEMI] = ACTIONS(2934), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym___cdecl] = ACTIONS(2932), + [anon_sym___clrcall] = ACTIONS(2932), + [anon_sym___stdcall] = ACTIONS(2932), + [anon_sym___fastcall] = ACTIONS(2932), + [anon_sym___thiscall] = ACTIONS(2932), + [anon_sym___vectorcall] = ACTIONS(2932), + [anon_sym_LBRACE] = ACTIONS(2934), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [anon_sym_if] = ACTIONS(2932), + [anon_sym_switch] = ACTIONS(2932), + [anon_sym_case] = ACTIONS(2932), + [anon_sym_default] = ACTIONS(2932), + [anon_sym_while] = ACTIONS(2932), + [anon_sym_do] = ACTIONS(2932), + [anon_sym_for] = ACTIONS(2932), + [anon_sym_return] = ACTIONS(2932), + [anon_sym_break] = ACTIONS(2932), + [anon_sym_continue] = ACTIONS(2932), + [anon_sym_goto] = ACTIONS(2932), + [anon_sym___try] = ACTIONS(2932), + [anon_sym___leave] = ACTIONS(2932), + [anon_sym_not] = ACTIONS(2932), + [anon_sym_compl] = ACTIONS(2932), + [anon_sym_DASH_DASH] = ACTIONS(2934), + [anon_sym_PLUS_PLUS] = ACTIONS(2934), + [anon_sym_sizeof] = ACTIONS(2932), + [anon_sym___alignof__] = ACTIONS(2932), + [anon_sym___alignof] = ACTIONS(2932), + [anon_sym__alignof] = ACTIONS(2932), + [anon_sym_alignof] = ACTIONS(2932), + [anon_sym__Alignof] = ACTIONS(2932), + [anon_sym_offsetof] = ACTIONS(2932), + [anon_sym__Generic] = ACTIONS(2932), + [anon_sym_asm] = ACTIONS(2932), + [anon_sym___asm__] = ACTIONS(2932), + [sym__number_literal] = ACTIONS(2934), + [anon_sym_L_SQUOTE] = ACTIONS(2934), + [anon_sym_u_SQUOTE] = ACTIONS(2934), + [anon_sym_U_SQUOTE] = ACTIONS(2934), + [anon_sym_u8_SQUOTE] = ACTIONS(2934), + [anon_sym_SQUOTE] = ACTIONS(2934), + [anon_sym_L_DQUOTE] = ACTIONS(2934), + [anon_sym_u_DQUOTE] = ACTIONS(2934), + [anon_sym_U_DQUOTE] = ACTIONS(2934), + [anon_sym_u8_DQUOTE] = ACTIONS(2934), + [anon_sym_DQUOTE] = ACTIONS(2934), + [sym_true] = ACTIONS(2932), + [sym_false] = ACTIONS(2932), + [anon_sym_NULL] = ACTIONS(2932), + [anon_sym_nullptr] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_try] = ACTIONS(2932), + [anon_sym_delete] = ACTIONS(2932), + [anon_sym_throw] = ACTIONS(2932), + [anon_sym_namespace] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + [anon_sym_concept] = ACTIONS(2932), + [anon_sym_co_return] = ACTIONS(2932), + [anon_sym_co_yield] = ACTIONS(2932), + [anon_sym_R_DQUOTE] = ACTIONS(2934), + [anon_sym_LR_DQUOTE] = ACTIONS(2934), + [anon_sym_uR_DQUOTE] = ACTIONS(2934), + [anon_sym_UR_DQUOTE] = ACTIONS(2934), + [anon_sym_u8R_DQUOTE] = ACTIONS(2934), + [anon_sym_co_await] = ACTIONS(2932), + [anon_sym_new] = ACTIONS(2932), + [anon_sym_requires] = ACTIONS(2932), + [sym_this] = ACTIONS(2932), + }, + [594] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_include_token1] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token2] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_BANG] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_DASH] = ACTIONS(2919), + [anon_sym_PLUS] = ACTIONS(2919), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym_SEMI] = ACTIONS(2921), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym___cdecl] = ACTIONS(2919), + [anon_sym___clrcall] = ACTIONS(2919), + [anon_sym___stdcall] = ACTIONS(2919), + [anon_sym___fastcall] = ACTIONS(2919), + [anon_sym___thiscall] = ACTIONS(2919), + [anon_sym___vectorcall] = ACTIONS(2919), + [anon_sym_LBRACE] = ACTIONS(2921), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [anon_sym_if] = ACTIONS(2919), + [anon_sym_switch] = ACTIONS(2919), + [anon_sym_case] = ACTIONS(2919), + [anon_sym_default] = ACTIONS(2919), + [anon_sym_while] = ACTIONS(2919), + [anon_sym_do] = ACTIONS(2919), + [anon_sym_for] = ACTIONS(2919), + [anon_sym_return] = ACTIONS(2919), + [anon_sym_break] = ACTIONS(2919), + [anon_sym_continue] = ACTIONS(2919), + [anon_sym_goto] = ACTIONS(2919), + [anon_sym___try] = ACTIONS(2919), + [anon_sym___leave] = ACTIONS(2919), + [anon_sym_not] = ACTIONS(2919), + [anon_sym_compl] = ACTIONS(2919), + [anon_sym_DASH_DASH] = ACTIONS(2921), + [anon_sym_PLUS_PLUS] = ACTIONS(2921), + [anon_sym_sizeof] = ACTIONS(2919), + [anon_sym___alignof__] = ACTIONS(2919), + [anon_sym___alignof] = ACTIONS(2919), + [anon_sym__alignof] = ACTIONS(2919), + [anon_sym_alignof] = ACTIONS(2919), + [anon_sym__Alignof] = ACTIONS(2919), + [anon_sym_offsetof] = ACTIONS(2919), + [anon_sym__Generic] = ACTIONS(2919), + [anon_sym_asm] = ACTIONS(2919), + [anon_sym___asm__] = ACTIONS(2919), + [sym__number_literal] = ACTIONS(2921), + [anon_sym_L_SQUOTE] = ACTIONS(2921), + [anon_sym_u_SQUOTE] = ACTIONS(2921), + [anon_sym_U_SQUOTE] = ACTIONS(2921), + [anon_sym_u8_SQUOTE] = ACTIONS(2921), + [anon_sym_SQUOTE] = ACTIONS(2921), + [anon_sym_L_DQUOTE] = ACTIONS(2921), + [anon_sym_u_DQUOTE] = ACTIONS(2921), + [anon_sym_U_DQUOTE] = ACTIONS(2921), + [anon_sym_u8_DQUOTE] = ACTIONS(2921), + [anon_sym_DQUOTE] = ACTIONS(2921), + [sym_true] = ACTIONS(2919), + [sym_false] = ACTIONS(2919), + [anon_sym_NULL] = ACTIONS(2919), + [anon_sym_nullptr] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_try] = ACTIONS(2919), + [anon_sym_delete] = ACTIONS(2919), + [anon_sym_throw] = ACTIONS(2919), + [anon_sym_namespace] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + [anon_sym_concept] = ACTIONS(2919), + [anon_sym_co_return] = ACTIONS(2919), + [anon_sym_co_yield] = ACTIONS(2919), + [anon_sym_R_DQUOTE] = ACTIONS(2921), + [anon_sym_LR_DQUOTE] = ACTIONS(2921), + [anon_sym_uR_DQUOTE] = ACTIONS(2921), + [anon_sym_UR_DQUOTE] = ACTIONS(2921), + [anon_sym_u8R_DQUOTE] = ACTIONS(2921), + [anon_sym_co_await] = ACTIONS(2919), + [anon_sym_new] = ACTIONS(2919), + [anon_sym_requires] = ACTIONS(2919), + [sym_this] = ACTIONS(2919), + }, + [595] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_include_token1] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_BANG] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_DASH] = ACTIONS(2915), + [anon_sym_PLUS] = ACTIONS(2915), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym_SEMI] = ACTIONS(2917), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym___cdecl] = ACTIONS(2915), + [anon_sym___clrcall] = ACTIONS(2915), + [anon_sym___stdcall] = ACTIONS(2915), + [anon_sym___fastcall] = ACTIONS(2915), + [anon_sym___thiscall] = ACTIONS(2915), + [anon_sym___vectorcall] = ACTIONS(2915), + [anon_sym_LBRACE] = ACTIONS(2917), + [anon_sym_RBRACE] = ACTIONS(2917), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [anon_sym_if] = ACTIONS(2915), + [anon_sym_switch] = ACTIONS(2915), + [anon_sym_case] = ACTIONS(2915), + [anon_sym_default] = ACTIONS(2915), + [anon_sym_while] = ACTIONS(2915), + [anon_sym_do] = ACTIONS(2915), + [anon_sym_for] = ACTIONS(2915), + [anon_sym_return] = ACTIONS(2915), + [anon_sym_break] = ACTIONS(2915), + [anon_sym_continue] = ACTIONS(2915), + [anon_sym_goto] = ACTIONS(2915), + [anon_sym___try] = ACTIONS(2915), + [anon_sym___leave] = ACTIONS(2915), + [anon_sym_not] = ACTIONS(2915), + [anon_sym_compl] = ACTIONS(2915), + [anon_sym_DASH_DASH] = ACTIONS(2917), + [anon_sym_PLUS_PLUS] = ACTIONS(2917), + [anon_sym_sizeof] = ACTIONS(2915), + [anon_sym___alignof__] = ACTIONS(2915), + [anon_sym___alignof] = ACTIONS(2915), + [anon_sym__alignof] = ACTIONS(2915), + [anon_sym_alignof] = ACTIONS(2915), + [anon_sym__Alignof] = ACTIONS(2915), + [anon_sym_offsetof] = ACTIONS(2915), + [anon_sym__Generic] = ACTIONS(2915), + [anon_sym_asm] = ACTIONS(2915), + [anon_sym___asm__] = ACTIONS(2915), + [sym__number_literal] = ACTIONS(2917), + [anon_sym_L_SQUOTE] = ACTIONS(2917), + [anon_sym_u_SQUOTE] = ACTIONS(2917), + [anon_sym_U_SQUOTE] = ACTIONS(2917), + [anon_sym_u8_SQUOTE] = ACTIONS(2917), + [anon_sym_SQUOTE] = ACTIONS(2917), + [anon_sym_L_DQUOTE] = ACTIONS(2917), + [anon_sym_u_DQUOTE] = ACTIONS(2917), + [anon_sym_U_DQUOTE] = ACTIONS(2917), + [anon_sym_u8_DQUOTE] = ACTIONS(2917), + [anon_sym_DQUOTE] = ACTIONS(2917), + [sym_true] = ACTIONS(2915), + [sym_false] = ACTIONS(2915), + [anon_sym_NULL] = ACTIONS(2915), + [anon_sym_nullptr] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_try] = ACTIONS(2915), + [anon_sym_delete] = ACTIONS(2915), + [anon_sym_throw] = ACTIONS(2915), + [anon_sym_namespace] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + [anon_sym_concept] = ACTIONS(2915), + [anon_sym_co_return] = ACTIONS(2915), + [anon_sym_co_yield] = ACTIONS(2915), + [anon_sym_R_DQUOTE] = ACTIONS(2917), + [anon_sym_LR_DQUOTE] = ACTIONS(2917), + [anon_sym_uR_DQUOTE] = ACTIONS(2917), + [anon_sym_UR_DQUOTE] = ACTIONS(2917), + [anon_sym_u8R_DQUOTE] = ACTIONS(2917), + [anon_sym_co_await] = ACTIONS(2915), + [anon_sym_new] = ACTIONS(2915), + [anon_sym_requires] = ACTIONS(2915), + [sym_this] = ACTIONS(2915), + }, + [596] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_include_token1] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_BANG] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_DASH] = ACTIONS(3050), + [anon_sym_PLUS] = ACTIONS(3050), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym_SEMI] = ACTIONS(3052), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym___cdecl] = ACTIONS(3050), + [anon_sym___clrcall] = ACTIONS(3050), + [anon_sym___stdcall] = ACTIONS(3050), + [anon_sym___fastcall] = ACTIONS(3050), + [anon_sym___thiscall] = ACTIONS(3050), + [anon_sym___vectorcall] = ACTIONS(3050), + [anon_sym_LBRACE] = ACTIONS(3052), + [anon_sym_RBRACE] = ACTIONS(3052), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [anon_sym_if] = ACTIONS(3050), + [anon_sym_switch] = ACTIONS(3050), + [anon_sym_case] = ACTIONS(3050), + [anon_sym_default] = ACTIONS(3050), + [anon_sym_while] = ACTIONS(3050), + [anon_sym_do] = ACTIONS(3050), + [anon_sym_for] = ACTIONS(3050), + [anon_sym_return] = ACTIONS(3050), + [anon_sym_break] = ACTIONS(3050), + [anon_sym_continue] = ACTIONS(3050), + [anon_sym_goto] = ACTIONS(3050), + [anon_sym___try] = ACTIONS(3050), + [anon_sym___leave] = ACTIONS(3050), + [anon_sym_not] = ACTIONS(3050), + [anon_sym_compl] = ACTIONS(3050), + [anon_sym_DASH_DASH] = ACTIONS(3052), + [anon_sym_PLUS_PLUS] = ACTIONS(3052), + [anon_sym_sizeof] = ACTIONS(3050), + [anon_sym___alignof__] = ACTIONS(3050), + [anon_sym___alignof] = ACTIONS(3050), + [anon_sym__alignof] = ACTIONS(3050), + [anon_sym_alignof] = ACTIONS(3050), + [anon_sym__Alignof] = ACTIONS(3050), + [anon_sym_offsetof] = ACTIONS(3050), + [anon_sym__Generic] = ACTIONS(3050), + [anon_sym_asm] = ACTIONS(3050), + [anon_sym___asm__] = ACTIONS(3050), + [sym__number_literal] = ACTIONS(3052), + [anon_sym_L_SQUOTE] = ACTIONS(3052), + [anon_sym_u_SQUOTE] = ACTIONS(3052), + [anon_sym_U_SQUOTE] = ACTIONS(3052), + [anon_sym_u8_SQUOTE] = ACTIONS(3052), + [anon_sym_SQUOTE] = ACTIONS(3052), + [anon_sym_L_DQUOTE] = ACTIONS(3052), + [anon_sym_u_DQUOTE] = ACTIONS(3052), + [anon_sym_U_DQUOTE] = ACTIONS(3052), + [anon_sym_u8_DQUOTE] = ACTIONS(3052), + [anon_sym_DQUOTE] = ACTIONS(3052), + [sym_true] = ACTIONS(3050), + [sym_false] = ACTIONS(3050), + [anon_sym_NULL] = ACTIONS(3050), + [anon_sym_nullptr] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_try] = ACTIONS(3050), + [anon_sym_delete] = ACTIONS(3050), + [anon_sym_throw] = ACTIONS(3050), + [anon_sym_namespace] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + [anon_sym_concept] = ACTIONS(3050), + [anon_sym_co_return] = ACTIONS(3050), + [anon_sym_co_yield] = ACTIONS(3050), + [anon_sym_R_DQUOTE] = ACTIONS(3052), + [anon_sym_LR_DQUOTE] = ACTIONS(3052), + [anon_sym_uR_DQUOTE] = ACTIONS(3052), + [anon_sym_UR_DQUOTE] = ACTIONS(3052), + [anon_sym_u8R_DQUOTE] = ACTIONS(3052), + [anon_sym_co_await] = ACTIONS(3050), + [anon_sym_new] = ACTIONS(3050), + [anon_sym_requires] = ACTIONS(3050), + [sym_this] = ACTIONS(3050), + }, + [597] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_include_token1] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_BANG] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_DASH] = ACTIONS(3046), + [anon_sym_PLUS] = ACTIONS(3046), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym_SEMI] = ACTIONS(3048), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym___cdecl] = ACTIONS(3046), + [anon_sym___clrcall] = ACTIONS(3046), + [anon_sym___stdcall] = ACTIONS(3046), + [anon_sym___fastcall] = ACTIONS(3046), + [anon_sym___thiscall] = ACTIONS(3046), + [anon_sym___vectorcall] = ACTIONS(3046), + [anon_sym_LBRACE] = ACTIONS(3048), + [anon_sym_RBRACE] = ACTIONS(3048), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [anon_sym_if] = ACTIONS(3046), + [anon_sym_switch] = ACTIONS(3046), + [anon_sym_case] = ACTIONS(3046), + [anon_sym_default] = ACTIONS(3046), + [anon_sym_while] = ACTIONS(3046), + [anon_sym_do] = ACTIONS(3046), + [anon_sym_for] = ACTIONS(3046), + [anon_sym_return] = ACTIONS(3046), + [anon_sym_break] = ACTIONS(3046), + [anon_sym_continue] = ACTIONS(3046), + [anon_sym_goto] = ACTIONS(3046), + [anon_sym___try] = ACTIONS(3046), + [anon_sym___leave] = ACTIONS(3046), + [anon_sym_not] = ACTIONS(3046), + [anon_sym_compl] = ACTIONS(3046), + [anon_sym_DASH_DASH] = ACTIONS(3048), + [anon_sym_PLUS_PLUS] = ACTIONS(3048), + [anon_sym_sizeof] = ACTIONS(3046), + [anon_sym___alignof__] = ACTIONS(3046), + [anon_sym___alignof] = ACTIONS(3046), + [anon_sym__alignof] = ACTIONS(3046), + [anon_sym_alignof] = ACTIONS(3046), + [anon_sym__Alignof] = ACTIONS(3046), + [anon_sym_offsetof] = ACTIONS(3046), + [anon_sym__Generic] = ACTIONS(3046), + [anon_sym_asm] = ACTIONS(3046), + [anon_sym___asm__] = ACTIONS(3046), + [sym__number_literal] = ACTIONS(3048), + [anon_sym_L_SQUOTE] = ACTIONS(3048), + [anon_sym_u_SQUOTE] = ACTIONS(3048), + [anon_sym_U_SQUOTE] = ACTIONS(3048), + [anon_sym_u8_SQUOTE] = ACTIONS(3048), + [anon_sym_SQUOTE] = ACTIONS(3048), + [anon_sym_L_DQUOTE] = ACTIONS(3048), + [anon_sym_u_DQUOTE] = ACTIONS(3048), + [anon_sym_U_DQUOTE] = ACTIONS(3048), + [anon_sym_u8_DQUOTE] = ACTIONS(3048), + [anon_sym_DQUOTE] = ACTIONS(3048), + [sym_true] = ACTIONS(3046), + [sym_false] = ACTIONS(3046), + [anon_sym_NULL] = ACTIONS(3046), + [anon_sym_nullptr] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_try] = ACTIONS(3046), + [anon_sym_delete] = ACTIONS(3046), + [anon_sym_throw] = ACTIONS(3046), + [anon_sym_namespace] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + [anon_sym_concept] = ACTIONS(3046), + [anon_sym_co_return] = ACTIONS(3046), + [anon_sym_co_yield] = ACTIONS(3046), + [anon_sym_R_DQUOTE] = ACTIONS(3048), + [anon_sym_LR_DQUOTE] = ACTIONS(3048), + [anon_sym_uR_DQUOTE] = ACTIONS(3048), + [anon_sym_UR_DQUOTE] = ACTIONS(3048), + [anon_sym_u8R_DQUOTE] = ACTIONS(3048), + [anon_sym_co_await] = ACTIONS(3046), + [anon_sym_new] = ACTIONS(3046), + [anon_sym_requires] = ACTIONS(3046), + [sym_this] = ACTIONS(3046), + }, + [598] = { + [sym__identifier] = ACTIONS(3001), + [aux_sym_preproc_include_token1] = ACTIONS(3001), + [aux_sym_preproc_def_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3001), + [sym_preproc_directive] = ACTIONS(3001), + [anon_sym_LPAREN2] = ACTIONS(3003), + [anon_sym_BANG] = ACTIONS(3003), + [anon_sym_TILDE] = ACTIONS(3003), + [anon_sym_DASH] = ACTIONS(3001), + [anon_sym_PLUS] = ACTIONS(3001), + [anon_sym_STAR] = ACTIONS(3003), + [anon_sym_AMP_AMP] = ACTIONS(3003), + [anon_sym_AMP] = ACTIONS(3001), + [anon_sym_SEMI] = ACTIONS(3003), + [anon_sym___extension__] = ACTIONS(3001), + [anon_sym_typedef] = ACTIONS(3001), + [anon_sym_extern] = ACTIONS(3001), + [anon_sym___attribute__] = ACTIONS(3001), + [anon_sym_COLON_COLON] = ACTIONS(3003), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3003), + [anon_sym___declspec] = ACTIONS(3001), + [anon_sym___based] = ACTIONS(3001), + [anon_sym___cdecl] = ACTIONS(3001), + [anon_sym___clrcall] = ACTIONS(3001), + [anon_sym___stdcall] = ACTIONS(3001), + [anon_sym___fastcall] = ACTIONS(3001), + [anon_sym___thiscall] = ACTIONS(3001), + [anon_sym___vectorcall] = ACTIONS(3001), + [anon_sym_LBRACE] = ACTIONS(3003), + [anon_sym_RBRACE] = ACTIONS(3003), + [anon_sym_signed] = ACTIONS(3001), + [anon_sym_unsigned] = ACTIONS(3001), + [anon_sym_long] = ACTIONS(3001), + [anon_sym_short] = ACTIONS(3001), + [anon_sym_LBRACK] = ACTIONS(3001), + [anon_sym_static] = ACTIONS(3001), + [anon_sym_register] = ACTIONS(3001), + [anon_sym_inline] = ACTIONS(3001), + [anon_sym___inline] = ACTIONS(3001), + [anon_sym___inline__] = ACTIONS(3001), + [anon_sym___forceinline] = ACTIONS(3001), + [anon_sym_thread_local] = ACTIONS(3001), + [anon_sym___thread] = ACTIONS(3001), + [anon_sym_const] = ACTIONS(3001), + [anon_sym_constexpr] = ACTIONS(3001), + [anon_sym_volatile] = ACTIONS(3001), + [anon_sym_restrict] = ACTIONS(3001), + [anon_sym___restrict__] = ACTIONS(3001), + [anon_sym__Atomic] = ACTIONS(3001), + [anon_sym__Noreturn] = ACTIONS(3001), + [anon_sym_noreturn] = ACTIONS(3001), + [anon_sym_mutable] = ACTIONS(3001), + [anon_sym_constinit] = ACTIONS(3001), + [anon_sym_consteval] = ACTIONS(3001), + [anon_sym_alignas] = ACTIONS(3001), + [anon_sym__Alignas] = ACTIONS(3001), + [sym_primitive_type] = ACTIONS(3001), + [anon_sym_enum] = ACTIONS(3001), + [anon_sym_class] = ACTIONS(3001), + [anon_sym_struct] = ACTIONS(3001), + [anon_sym_union] = ACTIONS(3001), + [anon_sym_if] = ACTIONS(3001), + [anon_sym_switch] = ACTIONS(3001), + [anon_sym_case] = ACTIONS(3001), + [anon_sym_default] = ACTIONS(3001), + [anon_sym_while] = ACTIONS(3001), + [anon_sym_do] = ACTIONS(3001), + [anon_sym_for] = ACTIONS(3001), + [anon_sym_return] = ACTIONS(3001), + [anon_sym_break] = ACTIONS(3001), + [anon_sym_continue] = ACTIONS(3001), + [anon_sym_goto] = ACTIONS(3001), + [anon_sym___try] = ACTIONS(3001), + [anon_sym___leave] = ACTIONS(3001), + [anon_sym_not] = ACTIONS(3001), + [anon_sym_compl] = ACTIONS(3001), + [anon_sym_DASH_DASH] = ACTIONS(3003), + [anon_sym_PLUS_PLUS] = ACTIONS(3003), + [anon_sym_sizeof] = ACTIONS(3001), + [anon_sym___alignof__] = ACTIONS(3001), + [anon_sym___alignof] = ACTIONS(3001), + [anon_sym__alignof] = ACTIONS(3001), + [anon_sym_alignof] = ACTIONS(3001), + [anon_sym__Alignof] = ACTIONS(3001), + [anon_sym_offsetof] = ACTIONS(3001), + [anon_sym__Generic] = ACTIONS(3001), + [anon_sym_asm] = ACTIONS(3001), + [anon_sym___asm__] = ACTIONS(3001), + [sym__number_literal] = ACTIONS(3003), + [anon_sym_L_SQUOTE] = ACTIONS(3003), + [anon_sym_u_SQUOTE] = ACTIONS(3003), + [anon_sym_U_SQUOTE] = ACTIONS(3003), + [anon_sym_u8_SQUOTE] = ACTIONS(3003), + [anon_sym_SQUOTE] = ACTIONS(3003), + [anon_sym_L_DQUOTE] = ACTIONS(3003), + [anon_sym_u_DQUOTE] = ACTIONS(3003), + [anon_sym_U_DQUOTE] = ACTIONS(3003), + [anon_sym_u8_DQUOTE] = ACTIONS(3003), + [anon_sym_DQUOTE] = ACTIONS(3003), + [sym_true] = ACTIONS(3001), + [sym_false] = ACTIONS(3001), + [anon_sym_NULL] = ACTIONS(3001), + [anon_sym_nullptr] = ACTIONS(3001), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3003), + [sym_auto] = ACTIONS(3001), + [anon_sym_decltype] = ACTIONS(3001), + [sym_virtual] = ACTIONS(3001), + [anon_sym_explicit] = ACTIONS(3001), + [anon_sym_typename] = ACTIONS(3001), + [anon_sym_template] = ACTIONS(3001), + [anon_sym_operator] = ACTIONS(3001), + [anon_sym_try] = ACTIONS(3001), + [anon_sym_delete] = ACTIONS(3001), + [anon_sym_throw] = ACTIONS(3001), + [anon_sym_namespace] = ACTIONS(3001), + [anon_sym_using] = ACTIONS(3001), + [anon_sym_static_assert] = ACTIONS(3001), + [anon_sym_concept] = ACTIONS(3001), + [anon_sym_co_return] = ACTIONS(3001), + [anon_sym_co_yield] = ACTIONS(3001), + [anon_sym_R_DQUOTE] = ACTIONS(3003), + [anon_sym_LR_DQUOTE] = ACTIONS(3003), + [anon_sym_uR_DQUOTE] = ACTIONS(3003), + [anon_sym_UR_DQUOTE] = ACTIONS(3003), + [anon_sym_u8R_DQUOTE] = ACTIONS(3003), + [anon_sym_co_await] = ACTIONS(3001), + [anon_sym_new] = ACTIONS(3001), + [anon_sym_requires] = ACTIONS(3001), + [sym_this] = ACTIONS(3001), + }, + [599] = { + [sym__identifier] = ACTIONS(3058), + [aux_sym_preproc_include_token1] = ACTIONS(3058), + [aux_sym_preproc_def_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3058), + [sym_preproc_directive] = ACTIONS(3058), + [anon_sym_LPAREN2] = ACTIONS(3060), + [anon_sym_BANG] = ACTIONS(3060), + [anon_sym_TILDE] = ACTIONS(3060), + [anon_sym_DASH] = ACTIONS(3058), + [anon_sym_PLUS] = ACTIONS(3058), + [anon_sym_STAR] = ACTIONS(3060), + [anon_sym_AMP_AMP] = ACTIONS(3060), + [anon_sym_AMP] = ACTIONS(3058), + [anon_sym_SEMI] = ACTIONS(3060), + [anon_sym___extension__] = ACTIONS(3058), + [anon_sym_typedef] = ACTIONS(3058), + [anon_sym_extern] = ACTIONS(3058), + [anon_sym___attribute__] = ACTIONS(3058), + [anon_sym_COLON_COLON] = ACTIONS(3060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3060), + [anon_sym___declspec] = ACTIONS(3058), + [anon_sym___based] = ACTIONS(3058), + [anon_sym___cdecl] = ACTIONS(3058), + [anon_sym___clrcall] = ACTIONS(3058), + [anon_sym___stdcall] = ACTIONS(3058), + [anon_sym___fastcall] = ACTIONS(3058), + [anon_sym___thiscall] = ACTIONS(3058), + [anon_sym___vectorcall] = ACTIONS(3058), + [anon_sym_LBRACE] = ACTIONS(3060), + [anon_sym_RBRACE] = ACTIONS(3060), + [anon_sym_signed] = ACTIONS(3058), + [anon_sym_unsigned] = ACTIONS(3058), + [anon_sym_long] = ACTIONS(3058), + [anon_sym_short] = ACTIONS(3058), + [anon_sym_LBRACK] = ACTIONS(3058), + [anon_sym_static] = ACTIONS(3058), + [anon_sym_register] = ACTIONS(3058), + [anon_sym_inline] = ACTIONS(3058), + [anon_sym___inline] = ACTIONS(3058), + [anon_sym___inline__] = ACTIONS(3058), + [anon_sym___forceinline] = ACTIONS(3058), + [anon_sym_thread_local] = ACTIONS(3058), + [anon_sym___thread] = ACTIONS(3058), + [anon_sym_const] = ACTIONS(3058), + [anon_sym_constexpr] = ACTIONS(3058), + [anon_sym_volatile] = ACTIONS(3058), + [anon_sym_restrict] = ACTIONS(3058), + [anon_sym___restrict__] = ACTIONS(3058), + [anon_sym__Atomic] = ACTIONS(3058), + [anon_sym__Noreturn] = ACTIONS(3058), + [anon_sym_noreturn] = ACTIONS(3058), + [anon_sym_mutable] = ACTIONS(3058), + [anon_sym_constinit] = ACTIONS(3058), + [anon_sym_consteval] = ACTIONS(3058), + [anon_sym_alignas] = ACTIONS(3058), + [anon_sym__Alignas] = ACTIONS(3058), + [sym_primitive_type] = ACTIONS(3058), + [anon_sym_enum] = ACTIONS(3058), + [anon_sym_class] = ACTIONS(3058), + [anon_sym_struct] = ACTIONS(3058), + [anon_sym_union] = ACTIONS(3058), + [anon_sym_if] = ACTIONS(3058), + [anon_sym_switch] = ACTIONS(3058), + [anon_sym_case] = ACTIONS(3058), + [anon_sym_default] = ACTIONS(3058), + [anon_sym_while] = ACTIONS(3058), + [anon_sym_do] = ACTIONS(3058), + [anon_sym_for] = ACTIONS(3058), + [anon_sym_return] = ACTIONS(3058), + [anon_sym_break] = ACTIONS(3058), + [anon_sym_continue] = ACTIONS(3058), + [anon_sym_goto] = ACTIONS(3058), + [anon_sym___try] = ACTIONS(3058), + [anon_sym___leave] = ACTIONS(3058), + [anon_sym_not] = ACTIONS(3058), + [anon_sym_compl] = ACTIONS(3058), + [anon_sym_DASH_DASH] = ACTIONS(3060), + [anon_sym_PLUS_PLUS] = ACTIONS(3060), + [anon_sym_sizeof] = ACTIONS(3058), + [anon_sym___alignof__] = ACTIONS(3058), + [anon_sym___alignof] = ACTIONS(3058), + [anon_sym__alignof] = ACTIONS(3058), + [anon_sym_alignof] = ACTIONS(3058), + [anon_sym__Alignof] = ACTIONS(3058), + [anon_sym_offsetof] = ACTIONS(3058), + [anon_sym__Generic] = ACTIONS(3058), + [anon_sym_asm] = ACTIONS(3058), + [anon_sym___asm__] = ACTIONS(3058), + [sym__number_literal] = ACTIONS(3060), + [anon_sym_L_SQUOTE] = ACTIONS(3060), + [anon_sym_u_SQUOTE] = ACTIONS(3060), + [anon_sym_U_SQUOTE] = ACTIONS(3060), + [anon_sym_u8_SQUOTE] = ACTIONS(3060), + [anon_sym_SQUOTE] = ACTIONS(3060), + [anon_sym_L_DQUOTE] = ACTIONS(3060), + [anon_sym_u_DQUOTE] = ACTIONS(3060), + [anon_sym_U_DQUOTE] = ACTIONS(3060), + [anon_sym_u8_DQUOTE] = ACTIONS(3060), + [anon_sym_DQUOTE] = ACTIONS(3060), + [sym_true] = ACTIONS(3058), + [sym_false] = ACTIONS(3058), + [anon_sym_NULL] = ACTIONS(3058), + [anon_sym_nullptr] = ACTIONS(3058), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3060), + [sym_auto] = ACTIONS(3058), + [anon_sym_decltype] = ACTIONS(3058), + [sym_virtual] = ACTIONS(3058), + [anon_sym_explicit] = ACTIONS(3058), + [anon_sym_typename] = ACTIONS(3058), + [anon_sym_template] = ACTIONS(3058), + [anon_sym_operator] = ACTIONS(3058), + [anon_sym_try] = ACTIONS(3058), + [anon_sym_delete] = ACTIONS(3058), + [anon_sym_throw] = ACTIONS(3058), + [anon_sym_namespace] = ACTIONS(3058), + [anon_sym_using] = ACTIONS(3058), + [anon_sym_static_assert] = ACTIONS(3058), + [anon_sym_concept] = ACTIONS(3058), + [anon_sym_co_return] = ACTIONS(3058), + [anon_sym_co_yield] = ACTIONS(3058), + [anon_sym_R_DQUOTE] = ACTIONS(3060), + [anon_sym_LR_DQUOTE] = ACTIONS(3060), + [anon_sym_uR_DQUOTE] = ACTIONS(3060), + [anon_sym_UR_DQUOTE] = ACTIONS(3060), + [anon_sym_u8R_DQUOTE] = ACTIONS(3060), + [anon_sym_co_await] = ACTIONS(3058), + [anon_sym_new] = ACTIONS(3058), + [anon_sym_requires] = ACTIONS(3058), + [sym_this] = ACTIONS(3058), + }, + [600] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_include_token1] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_BANG] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_DASH] = ACTIONS(2936), + [anon_sym_PLUS] = ACTIONS(2936), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym_SEMI] = ACTIONS(2938), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym___cdecl] = ACTIONS(2936), + [anon_sym___clrcall] = ACTIONS(2936), + [anon_sym___stdcall] = ACTIONS(2936), + [anon_sym___fastcall] = ACTIONS(2936), + [anon_sym___thiscall] = ACTIONS(2936), + [anon_sym___vectorcall] = ACTIONS(2936), + [anon_sym_LBRACE] = ACTIONS(2938), + [anon_sym_RBRACE] = ACTIONS(2938), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [anon_sym_if] = ACTIONS(2936), + [anon_sym_switch] = ACTIONS(2936), + [anon_sym_case] = ACTIONS(2936), + [anon_sym_default] = ACTIONS(2936), + [anon_sym_while] = ACTIONS(2936), + [anon_sym_do] = ACTIONS(2936), + [anon_sym_for] = ACTIONS(2936), + [anon_sym_return] = ACTIONS(2936), + [anon_sym_break] = ACTIONS(2936), + [anon_sym_continue] = ACTIONS(2936), + [anon_sym_goto] = ACTIONS(2936), + [anon_sym___try] = ACTIONS(2936), + [anon_sym___leave] = ACTIONS(2936), + [anon_sym_not] = ACTIONS(2936), + [anon_sym_compl] = ACTIONS(2936), + [anon_sym_DASH_DASH] = ACTIONS(2938), + [anon_sym_PLUS_PLUS] = ACTIONS(2938), + [anon_sym_sizeof] = ACTIONS(2936), + [anon_sym___alignof__] = ACTIONS(2936), + [anon_sym___alignof] = ACTIONS(2936), + [anon_sym__alignof] = ACTIONS(2936), + [anon_sym_alignof] = ACTIONS(2936), + [anon_sym__Alignof] = ACTIONS(2936), + [anon_sym_offsetof] = ACTIONS(2936), + [anon_sym__Generic] = ACTIONS(2936), + [anon_sym_asm] = ACTIONS(2936), + [anon_sym___asm__] = ACTIONS(2936), + [sym__number_literal] = ACTIONS(2938), + [anon_sym_L_SQUOTE] = ACTIONS(2938), + [anon_sym_u_SQUOTE] = ACTIONS(2938), + [anon_sym_U_SQUOTE] = ACTIONS(2938), + [anon_sym_u8_SQUOTE] = ACTIONS(2938), + [anon_sym_SQUOTE] = ACTIONS(2938), + [anon_sym_L_DQUOTE] = ACTIONS(2938), + [anon_sym_u_DQUOTE] = ACTIONS(2938), + [anon_sym_U_DQUOTE] = ACTIONS(2938), + [anon_sym_u8_DQUOTE] = ACTIONS(2938), + [anon_sym_DQUOTE] = ACTIONS(2938), + [sym_true] = ACTIONS(2936), + [sym_false] = ACTIONS(2936), + [anon_sym_NULL] = ACTIONS(2936), + [anon_sym_nullptr] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_try] = ACTIONS(2936), + [anon_sym_delete] = ACTIONS(2936), + [anon_sym_throw] = ACTIONS(2936), + [anon_sym_namespace] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + [anon_sym_concept] = ACTIONS(2936), + [anon_sym_co_return] = ACTIONS(2936), + [anon_sym_co_yield] = ACTIONS(2936), + [anon_sym_R_DQUOTE] = ACTIONS(2938), + [anon_sym_LR_DQUOTE] = ACTIONS(2938), + [anon_sym_uR_DQUOTE] = ACTIONS(2938), + [anon_sym_UR_DQUOTE] = ACTIONS(2938), + [anon_sym_u8R_DQUOTE] = ACTIONS(2938), + [anon_sym_co_await] = ACTIONS(2936), + [anon_sym_new] = ACTIONS(2936), + [anon_sym_requires] = ACTIONS(2936), + [sym_this] = ACTIONS(2936), + }, + [601] = { + [sym__identifier] = ACTIONS(3066), + [aux_sym_preproc_include_token1] = ACTIONS(3066), + [aux_sym_preproc_def_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3066), + [sym_preproc_directive] = ACTIONS(3066), + [anon_sym_LPAREN2] = ACTIONS(3068), + [anon_sym_BANG] = ACTIONS(3068), + [anon_sym_TILDE] = ACTIONS(3068), + [anon_sym_DASH] = ACTIONS(3066), + [anon_sym_PLUS] = ACTIONS(3066), + [anon_sym_STAR] = ACTIONS(3068), + [anon_sym_AMP_AMP] = ACTIONS(3068), + [anon_sym_AMP] = ACTIONS(3066), + [anon_sym_SEMI] = ACTIONS(3068), + [anon_sym___extension__] = ACTIONS(3066), + [anon_sym_typedef] = ACTIONS(3066), + [anon_sym_extern] = ACTIONS(3066), + [anon_sym___attribute__] = ACTIONS(3066), + [anon_sym_COLON_COLON] = ACTIONS(3068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3068), + [anon_sym___declspec] = ACTIONS(3066), + [anon_sym___based] = ACTIONS(3066), + [anon_sym___cdecl] = ACTIONS(3066), + [anon_sym___clrcall] = ACTIONS(3066), + [anon_sym___stdcall] = ACTIONS(3066), + [anon_sym___fastcall] = ACTIONS(3066), + [anon_sym___thiscall] = ACTIONS(3066), + [anon_sym___vectorcall] = ACTIONS(3066), + [anon_sym_LBRACE] = ACTIONS(3068), + [anon_sym_RBRACE] = ACTIONS(3068), + [anon_sym_signed] = ACTIONS(3066), + [anon_sym_unsigned] = ACTIONS(3066), + [anon_sym_long] = ACTIONS(3066), + [anon_sym_short] = ACTIONS(3066), + [anon_sym_LBRACK] = ACTIONS(3066), + [anon_sym_static] = ACTIONS(3066), + [anon_sym_register] = ACTIONS(3066), + [anon_sym_inline] = ACTIONS(3066), + [anon_sym___inline] = ACTIONS(3066), + [anon_sym___inline__] = ACTIONS(3066), + [anon_sym___forceinline] = ACTIONS(3066), + [anon_sym_thread_local] = ACTIONS(3066), + [anon_sym___thread] = ACTIONS(3066), + [anon_sym_const] = ACTIONS(3066), + [anon_sym_constexpr] = ACTIONS(3066), + [anon_sym_volatile] = ACTIONS(3066), + [anon_sym_restrict] = ACTIONS(3066), + [anon_sym___restrict__] = ACTIONS(3066), + [anon_sym__Atomic] = ACTIONS(3066), + [anon_sym__Noreturn] = ACTIONS(3066), + [anon_sym_noreturn] = ACTIONS(3066), + [anon_sym_mutable] = ACTIONS(3066), + [anon_sym_constinit] = ACTIONS(3066), + [anon_sym_consteval] = ACTIONS(3066), + [anon_sym_alignas] = ACTIONS(3066), + [anon_sym__Alignas] = ACTIONS(3066), + [sym_primitive_type] = ACTIONS(3066), + [anon_sym_enum] = ACTIONS(3066), + [anon_sym_class] = ACTIONS(3066), + [anon_sym_struct] = ACTIONS(3066), + [anon_sym_union] = ACTIONS(3066), + [anon_sym_if] = ACTIONS(3066), + [anon_sym_switch] = ACTIONS(3066), + [anon_sym_case] = ACTIONS(3066), + [anon_sym_default] = ACTIONS(3066), + [anon_sym_while] = ACTIONS(3066), + [anon_sym_do] = ACTIONS(3066), + [anon_sym_for] = ACTIONS(3066), + [anon_sym_return] = ACTIONS(3066), + [anon_sym_break] = ACTIONS(3066), + [anon_sym_continue] = ACTIONS(3066), + [anon_sym_goto] = ACTIONS(3066), + [anon_sym___try] = ACTIONS(3066), + [anon_sym___leave] = ACTIONS(3066), + [anon_sym_not] = ACTIONS(3066), + [anon_sym_compl] = ACTIONS(3066), + [anon_sym_DASH_DASH] = ACTIONS(3068), + [anon_sym_PLUS_PLUS] = ACTIONS(3068), + [anon_sym_sizeof] = ACTIONS(3066), + [anon_sym___alignof__] = ACTIONS(3066), + [anon_sym___alignof] = ACTIONS(3066), + [anon_sym__alignof] = ACTIONS(3066), + [anon_sym_alignof] = ACTIONS(3066), + [anon_sym__Alignof] = ACTIONS(3066), + [anon_sym_offsetof] = ACTIONS(3066), + [anon_sym__Generic] = ACTIONS(3066), + [anon_sym_asm] = ACTIONS(3066), + [anon_sym___asm__] = ACTIONS(3066), + [sym__number_literal] = ACTIONS(3068), + [anon_sym_L_SQUOTE] = ACTIONS(3068), + [anon_sym_u_SQUOTE] = ACTIONS(3068), + [anon_sym_U_SQUOTE] = ACTIONS(3068), + [anon_sym_u8_SQUOTE] = ACTIONS(3068), + [anon_sym_SQUOTE] = ACTIONS(3068), + [anon_sym_L_DQUOTE] = ACTIONS(3068), + [anon_sym_u_DQUOTE] = ACTIONS(3068), + [anon_sym_U_DQUOTE] = ACTIONS(3068), + [anon_sym_u8_DQUOTE] = ACTIONS(3068), + [anon_sym_DQUOTE] = ACTIONS(3068), + [sym_true] = ACTIONS(3066), + [sym_false] = ACTIONS(3066), + [anon_sym_NULL] = ACTIONS(3066), + [anon_sym_nullptr] = ACTIONS(3066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3068), + [sym_auto] = ACTIONS(3066), + [anon_sym_decltype] = ACTIONS(3066), + [sym_virtual] = ACTIONS(3066), + [anon_sym_explicit] = ACTIONS(3066), + [anon_sym_typename] = ACTIONS(3066), + [anon_sym_template] = ACTIONS(3066), + [anon_sym_operator] = ACTIONS(3066), + [anon_sym_try] = ACTIONS(3066), + [anon_sym_delete] = ACTIONS(3066), + [anon_sym_throw] = ACTIONS(3066), + [anon_sym_namespace] = ACTIONS(3066), + [anon_sym_using] = ACTIONS(3066), + [anon_sym_static_assert] = ACTIONS(3066), + [anon_sym_concept] = ACTIONS(3066), + [anon_sym_co_return] = ACTIONS(3066), + [anon_sym_co_yield] = ACTIONS(3066), + [anon_sym_R_DQUOTE] = ACTIONS(3068), + [anon_sym_LR_DQUOTE] = ACTIONS(3068), + [anon_sym_uR_DQUOTE] = ACTIONS(3068), + [anon_sym_UR_DQUOTE] = ACTIONS(3068), + [anon_sym_u8R_DQUOTE] = ACTIONS(3068), + [anon_sym_co_await] = ACTIONS(3066), + [anon_sym_new] = ACTIONS(3066), + [anon_sym_requires] = ACTIONS(3066), + [sym_this] = ACTIONS(3066), + }, + [602] = { + [sym__identifier] = ACTIONS(2893), + [aux_sym_preproc_include_token1] = ACTIONS(2893), + [aux_sym_preproc_def_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2893), + [sym_preproc_directive] = ACTIONS(2893), + [anon_sym_LPAREN2] = ACTIONS(2895), + [anon_sym_BANG] = ACTIONS(2895), + [anon_sym_TILDE] = ACTIONS(2895), + [anon_sym_DASH] = ACTIONS(2893), + [anon_sym_PLUS] = ACTIONS(2893), + [anon_sym_STAR] = ACTIONS(2895), + [anon_sym_AMP_AMP] = ACTIONS(2895), + [anon_sym_AMP] = ACTIONS(2893), + [anon_sym_SEMI] = ACTIONS(2895), + [anon_sym___extension__] = ACTIONS(2893), + [anon_sym_typedef] = ACTIONS(2893), + [anon_sym_extern] = ACTIONS(2893), + [anon_sym___attribute__] = ACTIONS(2893), + [anon_sym_COLON_COLON] = ACTIONS(2895), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2895), + [anon_sym___declspec] = ACTIONS(2893), + [anon_sym___based] = ACTIONS(2893), + [anon_sym___cdecl] = ACTIONS(2893), + [anon_sym___clrcall] = ACTIONS(2893), + [anon_sym___stdcall] = ACTIONS(2893), + [anon_sym___fastcall] = ACTIONS(2893), + [anon_sym___thiscall] = ACTIONS(2893), + [anon_sym___vectorcall] = ACTIONS(2893), + [anon_sym_LBRACE] = ACTIONS(2895), + [anon_sym_RBRACE] = ACTIONS(2895), + [anon_sym_signed] = ACTIONS(2893), + [anon_sym_unsigned] = ACTIONS(2893), + [anon_sym_long] = ACTIONS(2893), + [anon_sym_short] = ACTIONS(2893), + [anon_sym_LBRACK] = ACTIONS(2893), + [anon_sym_static] = ACTIONS(2893), + [anon_sym_register] = ACTIONS(2893), + [anon_sym_inline] = ACTIONS(2893), + [anon_sym___inline] = ACTIONS(2893), + [anon_sym___inline__] = ACTIONS(2893), + [anon_sym___forceinline] = ACTIONS(2893), + [anon_sym_thread_local] = ACTIONS(2893), + [anon_sym___thread] = ACTIONS(2893), + [anon_sym_const] = ACTIONS(2893), + [anon_sym_constexpr] = ACTIONS(2893), + [anon_sym_volatile] = ACTIONS(2893), + [anon_sym_restrict] = ACTIONS(2893), + [anon_sym___restrict__] = ACTIONS(2893), + [anon_sym__Atomic] = ACTIONS(2893), + [anon_sym__Noreturn] = ACTIONS(2893), + [anon_sym_noreturn] = ACTIONS(2893), + [anon_sym_mutable] = ACTIONS(2893), + [anon_sym_constinit] = ACTIONS(2893), + [anon_sym_consteval] = ACTIONS(2893), + [anon_sym_alignas] = ACTIONS(2893), + [anon_sym__Alignas] = ACTIONS(2893), + [sym_primitive_type] = ACTIONS(2893), + [anon_sym_enum] = ACTIONS(2893), + [anon_sym_class] = ACTIONS(2893), + [anon_sym_struct] = ACTIONS(2893), + [anon_sym_union] = ACTIONS(2893), + [anon_sym_if] = ACTIONS(2893), + [anon_sym_switch] = ACTIONS(2893), + [anon_sym_case] = ACTIONS(2893), + [anon_sym_default] = ACTIONS(2893), + [anon_sym_while] = ACTIONS(2893), + [anon_sym_do] = ACTIONS(2893), + [anon_sym_for] = ACTIONS(2893), + [anon_sym_return] = ACTIONS(2893), + [anon_sym_break] = ACTIONS(2893), + [anon_sym_continue] = ACTIONS(2893), + [anon_sym_goto] = ACTIONS(2893), + [anon_sym___try] = ACTIONS(2893), + [anon_sym___leave] = ACTIONS(2893), + [anon_sym_not] = ACTIONS(2893), + [anon_sym_compl] = ACTIONS(2893), + [anon_sym_DASH_DASH] = ACTIONS(2895), + [anon_sym_PLUS_PLUS] = ACTIONS(2895), + [anon_sym_sizeof] = ACTIONS(2893), + [anon_sym___alignof__] = ACTIONS(2893), + [anon_sym___alignof] = ACTIONS(2893), + [anon_sym__alignof] = ACTIONS(2893), + [anon_sym_alignof] = ACTIONS(2893), + [anon_sym__Alignof] = ACTIONS(2893), + [anon_sym_offsetof] = ACTIONS(2893), + [anon_sym__Generic] = ACTIONS(2893), + [anon_sym_asm] = ACTIONS(2893), + [anon_sym___asm__] = ACTIONS(2893), + [sym__number_literal] = ACTIONS(2895), + [anon_sym_L_SQUOTE] = ACTIONS(2895), + [anon_sym_u_SQUOTE] = ACTIONS(2895), + [anon_sym_U_SQUOTE] = ACTIONS(2895), + [anon_sym_u8_SQUOTE] = ACTIONS(2895), + [anon_sym_SQUOTE] = ACTIONS(2895), + [anon_sym_L_DQUOTE] = ACTIONS(2895), + [anon_sym_u_DQUOTE] = ACTIONS(2895), + [anon_sym_U_DQUOTE] = ACTIONS(2895), + [anon_sym_u8_DQUOTE] = ACTIONS(2895), + [anon_sym_DQUOTE] = ACTIONS(2895), + [sym_true] = ACTIONS(2893), + [sym_false] = ACTIONS(2893), + [anon_sym_NULL] = ACTIONS(2893), + [anon_sym_nullptr] = ACTIONS(2893), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2895), + [sym_auto] = ACTIONS(2893), + [anon_sym_decltype] = ACTIONS(2893), + [sym_virtual] = ACTIONS(2893), + [anon_sym_explicit] = ACTIONS(2893), + [anon_sym_typename] = ACTIONS(2893), + [anon_sym_template] = ACTIONS(2893), + [anon_sym_operator] = ACTIONS(2893), + [anon_sym_try] = ACTIONS(2893), + [anon_sym_delete] = ACTIONS(2893), + [anon_sym_throw] = ACTIONS(2893), + [anon_sym_namespace] = ACTIONS(2893), + [anon_sym_using] = ACTIONS(2893), + [anon_sym_static_assert] = ACTIONS(2893), + [anon_sym_concept] = ACTIONS(2893), + [anon_sym_co_return] = ACTIONS(2893), + [anon_sym_co_yield] = ACTIONS(2893), + [anon_sym_R_DQUOTE] = ACTIONS(2895), + [anon_sym_LR_DQUOTE] = ACTIONS(2895), + [anon_sym_uR_DQUOTE] = ACTIONS(2895), + [anon_sym_UR_DQUOTE] = ACTIONS(2895), + [anon_sym_u8R_DQUOTE] = ACTIONS(2895), + [anon_sym_co_await] = ACTIONS(2893), + [anon_sym_new] = ACTIONS(2893), + [anon_sym_requires] = ACTIONS(2893), + [sym_this] = ACTIONS(2893), + }, + [603] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_include_token1] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_BANG] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_DASH] = ACTIONS(3170), + [anon_sym_PLUS] = ACTIONS(3170), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym_SEMI] = ACTIONS(3172), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym___cdecl] = ACTIONS(3170), + [anon_sym___clrcall] = ACTIONS(3170), + [anon_sym___stdcall] = ACTIONS(3170), + [anon_sym___fastcall] = ACTIONS(3170), + [anon_sym___thiscall] = ACTIONS(3170), + [anon_sym___vectorcall] = ACTIONS(3170), + [anon_sym_LBRACE] = ACTIONS(3172), + [anon_sym_RBRACE] = ACTIONS(3172), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [anon_sym_if] = ACTIONS(3170), + [anon_sym_switch] = ACTIONS(3170), + [anon_sym_case] = ACTIONS(3170), + [anon_sym_default] = ACTIONS(3170), + [anon_sym_while] = ACTIONS(3170), + [anon_sym_do] = ACTIONS(3170), + [anon_sym_for] = ACTIONS(3170), + [anon_sym_return] = ACTIONS(3170), + [anon_sym_break] = ACTIONS(3170), + [anon_sym_continue] = ACTIONS(3170), + [anon_sym_goto] = ACTIONS(3170), + [anon_sym___try] = ACTIONS(3170), + [anon_sym___leave] = ACTIONS(3170), + [anon_sym_not] = ACTIONS(3170), + [anon_sym_compl] = ACTIONS(3170), + [anon_sym_DASH_DASH] = ACTIONS(3172), + [anon_sym_PLUS_PLUS] = ACTIONS(3172), + [anon_sym_sizeof] = ACTIONS(3170), + [anon_sym___alignof__] = ACTIONS(3170), + [anon_sym___alignof] = ACTIONS(3170), + [anon_sym__alignof] = ACTIONS(3170), + [anon_sym_alignof] = ACTIONS(3170), + [anon_sym__Alignof] = ACTIONS(3170), + [anon_sym_offsetof] = ACTIONS(3170), + [anon_sym__Generic] = ACTIONS(3170), + [anon_sym_asm] = ACTIONS(3170), + [anon_sym___asm__] = ACTIONS(3170), + [sym__number_literal] = ACTIONS(3172), + [anon_sym_L_SQUOTE] = ACTIONS(3172), + [anon_sym_u_SQUOTE] = ACTIONS(3172), + [anon_sym_U_SQUOTE] = ACTIONS(3172), + [anon_sym_u8_SQUOTE] = ACTIONS(3172), + [anon_sym_SQUOTE] = ACTIONS(3172), + [anon_sym_L_DQUOTE] = ACTIONS(3172), + [anon_sym_u_DQUOTE] = ACTIONS(3172), + [anon_sym_U_DQUOTE] = ACTIONS(3172), + [anon_sym_u8_DQUOTE] = ACTIONS(3172), + [anon_sym_DQUOTE] = ACTIONS(3172), + [sym_true] = ACTIONS(3170), + [sym_false] = ACTIONS(3170), + [anon_sym_NULL] = ACTIONS(3170), + [anon_sym_nullptr] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_try] = ACTIONS(3170), + [anon_sym_delete] = ACTIONS(3170), + [anon_sym_throw] = ACTIONS(3170), + [anon_sym_namespace] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + [anon_sym_concept] = ACTIONS(3170), + [anon_sym_co_return] = ACTIONS(3170), + [anon_sym_co_yield] = ACTIONS(3170), + [anon_sym_R_DQUOTE] = ACTIONS(3172), + [anon_sym_LR_DQUOTE] = ACTIONS(3172), + [anon_sym_uR_DQUOTE] = ACTIONS(3172), + [anon_sym_UR_DQUOTE] = ACTIONS(3172), + [anon_sym_u8R_DQUOTE] = ACTIONS(3172), + [anon_sym_co_await] = ACTIONS(3170), + [anon_sym_new] = ACTIONS(3170), + [anon_sym_requires] = ACTIONS(3170), + [sym_this] = ACTIONS(3170), + }, + [604] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_include_token1] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token2] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_BANG] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_DASH] = ACTIONS(2989), + [anon_sym_PLUS] = ACTIONS(2989), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym_SEMI] = ACTIONS(2991), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym___cdecl] = ACTIONS(2989), + [anon_sym___clrcall] = ACTIONS(2989), + [anon_sym___stdcall] = ACTIONS(2989), + [anon_sym___fastcall] = ACTIONS(2989), + [anon_sym___thiscall] = ACTIONS(2989), + [anon_sym___vectorcall] = ACTIONS(2989), + [anon_sym_LBRACE] = ACTIONS(2991), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [anon_sym_if] = ACTIONS(2989), + [anon_sym_switch] = ACTIONS(2989), + [anon_sym_case] = ACTIONS(2989), + [anon_sym_default] = ACTIONS(2989), + [anon_sym_while] = ACTIONS(2989), + [anon_sym_do] = ACTIONS(2989), + [anon_sym_for] = ACTIONS(2989), + [anon_sym_return] = ACTIONS(2989), + [anon_sym_break] = ACTIONS(2989), + [anon_sym_continue] = ACTIONS(2989), + [anon_sym_goto] = ACTIONS(2989), + [anon_sym___try] = ACTIONS(2989), + [anon_sym___leave] = ACTIONS(2989), + [anon_sym_not] = ACTIONS(2989), + [anon_sym_compl] = ACTIONS(2989), + [anon_sym_DASH_DASH] = ACTIONS(2991), + [anon_sym_PLUS_PLUS] = ACTIONS(2991), + [anon_sym_sizeof] = ACTIONS(2989), + [anon_sym___alignof__] = ACTIONS(2989), + [anon_sym___alignof] = ACTIONS(2989), + [anon_sym__alignof] = ACTIONS(2989), + [anon_sym_alignof] = ACTIONS(2989), + [anon_sym__Alignof] = ACTIONS(2989), + [anon_sym_offsetof] = ACTIONS(2989), + [anon_sym__Generic] = ACTIONS(2989), + [anon_sym_asm] = ACTIONS(2989), + [anon_sym___asm__] = ACTIONS(2989), + [sym__number_literal] = ACTIONS(2991), + [anon_sym_L_SQUOTE] = ACTIONS(2991), + [anon_sym_u_SQUOTE] = ACTIONS(2991), + [anon_sym_U_SQUOTE] = ACTIONS(2991), + [anon_sym_u8_SQUOTE] = ACTIONS(2991), + [anon_sym_SQUOTE] = ACTIONS(2991), + [anon_sym_L_DQUOTE] = ACTIONS(2991), + [anon_sym_u_DQUOTE] = ACTIONS(2991), + [anon_sym_U_DQUOTE] = ACTIONS(2991), + [anon_sym_u8_DQUOTE] = ACTIONS(2991), + [anon_sym_DQUOTE] = ACTIONS(2991), + [sym_true] = ACTIONS(2989), + [sym_false] = ACTIONS(2989), + [anon_sym_NULL] = ACTIONS(2989), + [anon_sym_nullptr] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_try] = ACTIONS(2989), + [anon_sym_delete] = ACTIONS(2989), + [anon_sym_throw] = ACTIONS(2989), + [anon_sym_namespace] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + [anon_sym_concept] = ACTIONS(2989), + [anon_sym_co_return] = ACTIONS(2989), + [anon_sym_co_yield] = ACTIONS(2989), + [anon_sym_R_DQUOTE] = ACTIONS(2991), + [anon_sym_LR_DQUOTE] = ACTIONS(2991), + [anon_sym_uR_DQUOTE] = ACTIONS(2991), + [anon_sym_UR_DQUOTE] = ACTIONS(2991), + [anon_sym_u8R_DQUOTE] = ACTIONS(2991), + [anon_sym_co_await] = ACTIONS(2989), + [anon_sym_new] = ACTIONS(2989), + [anon_sym_requires] = ACTIONS(2989), + [sym_this] = ACTIONS(2989), + }, + [605] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym_SEMI] = ACTIONS(2973), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_RBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym___try] = ACTIONS(2971), + [anon_sym___leave] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [606] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_include_token1] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token2] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_BANG] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_DASH] = ACTIONS(3170), + [anon_sym_PLUS] = ACTIONS(3170), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym_SEMI] = ACTIONS(3172), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym___cdecl] = ACTIONS(3170), + [anon_sym___clrcall] = ACTIONS(3170), + [anon_sym___stdcall] = ACTIONS(3170), + [anon_sym___fastcall] = ACTIONS(3170), + [anon_sym___thiscall] = ACTIONS(3170), + [anon_sym___vectorcall] = ACTIONS(3170), + [anon_sym_LBRACE] = ACTIONS(3172), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [anon_sym_if] = ACTIONS(3170), + [anon_sym_switch] = ACTIONS(3170), + [anon_sym_case] = ACTIONS(3170), + [anon_sym_default] = ACTIONS(3170), + [anon_sym_while] = ACTIONS(3170), + [anon_sym_do] = ACTIONS(3170), + [anon_sym_for] = ACTIONS(3170), + [anon_sym_return] = ACTIONS(3170), + [anon_sym_break] = ACTIONS(3170), + [anon_sym_continue] = ACTIONS(3170), + [anon_sym_goto] = ACTIONS(3170), + [anon_sym___try] = ACTIONS(3170), + [anon_sym___leave] = ACTIONS(3170), + [anon_sym_not] = ACTIONS(3170), + [anon_sym_compl] = ACTIONS(3170), + [anon_sym_DASH_DASH] = ACTIONS(3172), + [anon_sym_PLUS_PLUS] = ACTIONS(3172), + [anon_sym_sizeof] = ACTIONS(3170), + [anon_sym___alignof__] = ACTIONS(3170), + [anon_sym___alignof] = ACTIONS(3170), + [anon_sym__alignof] = ACTIONS(3170), + [anon_sym_alignof] = ACTIONS(3170), + [anon_sym__Alignof] = ACTIONS(3170), + [anon_sym_offsetof] = ACTIONS(3170), + [anon_sym__Generic] = ACTIONS(3170), + [anon_sym_asm] = ACTIONS(3170), + [anon_sym___asm__] = ACTIONS(3170), + [sym__number_literal] = ACTIONS(3172), + [anon_sym_L_SQUOTE] = ACTIONS(3172), + [anon_sym_u_SQUOTE] = ACTIONS(3172), + [anon_sym_U_SQUOTE] = ACTIONS(3172), + [anon_sym_u8_SQUOTE] = ACTIONS(3172), + [anon_sym_SQUOTE] = ACTIONS(3172), + [anon_sym_L_DQUOTE] = ACTIONS(3172), + [anon_sym_u_DQUOTE] = ACTIONS(3172), + [anon_sym_U_DQUOTE] = ACTIONS(3172), + [anon_sym_u8_DQUOTE] = ACTIONS(3172), + [anon_sym_DQUOTE] = ACTIONS(3172), + [sym_true] = ACTIONS(3170), + [sym_false] = ACTIONS(3170), + [anon_sym_NULL] = ACTIONS(3170), + [anon_sym_nullptr] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_try] = ACTIONS(3170), + [anon_sym_delete] = ACTIONS(3170), + [anon_sym_throw] = ACTIONS(3170), + [anon_sym_namespace] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + [anon_sym_concept] = ACTIONS(3170), + [anon_sym_co_return] = ACTIONS(3170), + [anon_sym_co_yield] = ACTIONS(3170), + [anon_sym_R_DQUOTE] = ACTIONS(3172), + [anon_sym_LR_DQUOTE] = ACTIONS(3172), + [anon_sym_uR_DQUOTE] = ACTIONS(3172), + [anon_sym_UR_DQUOTE] = ACTIONS(3172), + [anon_sym_u8R_DQUOTE] = ACTIONS(3172), + [anon_sym_co_await] = ACTIONS(3170), + [anon_sym_new] = ACTIONS(3170), + [anon_sym_requires] = ACTIONS(3170), + [sym_this] = ACTIONS(3170), + }, + [607] = { + [sym__identifier] = ACTIONS(3088), + [aux_sym_preproc_include_token1] = ACTIONS(3088), + [aux_sym_preproc_def_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3088), + [sym_preproc_directive] = ACTIONS(3088), + [anon_sym_LPAREN2] = ACTIONS(3090), + [anon_sym_BANG] = ACTIONS(3090), + [anon_sym_TILDE] = ACTIONS(3090), + [anon_sym_DASH] = ACTIONS(3088), + [anon_sym_PLUS] = ACTIONS(3088), + [anon_sym_STAR] = ACTIONS(3090), + [anon_sym_AMP_AMP] = ACTIONS(3090), + [anon_sym_AMP] = ACTIONS(3088), + [anon_sym_SEMI] = ACTIONS(3090), + [anon_sym___extension__] = ACTIONS(3088), + [anon_sym_typedef] = ACTIONS(3088), + [anon_sym_extern] = ACTIONS(3088), + [anon_sym___attribute__] = ACTIONS(3088), + [anon_sym_COLON_COLON] = ACTIONS(3090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3090), + [anon_sym___declspec] = ACTIONS(3088), + [anon_sym___based] = ACTIONS(3088), + [anon_sym___cdecl] = ACTIONS(3088), + [anon_sym___clrcall] = ACTIONS(3088), + [anon_sym___stdcall] = ACTIONS(3088), + [anon_sym___fastcall] = ACTIONS(3088), + [anon_sym___thiscall] = ACTIONS(3088), + [anon_sym___vectorcall] = ACTIONS(3088), + [anon_sym_LBRACE] = ACTIONS(3090), + [anon_sym_RBRACE] = ACTIONS(3090), + [anon_sym_signed] = ACTIONS(3088), + [anon_sym_unsigned] = ACTIONS(3088), + [anon_sym_long] = ACTIONS(3088), + [anon_sym_short] = ACTIONS(3088), + [anon_sym_LBRACK] = ACTIONS(3088), + [anon_sym_static] = ACTIONS(3088), + [anon_sym_register] = ACTIONS(3088), + [anon_sym_inline] = ACTIONS(3088), + [anon_sym___inline] = ACTIONS(3088), + [anon_sym___inline__] = ACTIONS(3088), + [anon_sym___forceinline] = ACTIONS(3088), + [anon_sym_thread_local] = ACTIONS(3088), + [anon_sym___thread] = ACTIONS(3088), + [anon_sym_const] = ACTIONS(3088), + [anon_sym_constexpr] = ACTIONS(3088), + [anon_sym_volatile] = ACTIONS(3088), + [anon_sym_restrict] = ACTIONS(3088), + [anon_sym___restrict__] = ACTIONS(3088), + [anon_sym__Atomic] = ACTIONS(3088), + [anon_sym__Noreturn] = ACTIONS(3088), + [anon_sym_noreturn] = ACTIONS(3088), + [anon_sym_mutable] = ACTIONS(3088), + [anon_sym_constinit] = ACTIONS(3088), + [anon_sym_consteval] = ACTIONS(3088), + [anon_sym_alignas] = ACTIONS(3088), + [anon_sym__Alignas] = ACTIONS(3088), + [sym_primitive_type] = ACTIONS(3088), + [anon_sym_enum] = ACTIONS(3088), + [anon_sym_class] = ACTIONS(3088), + [anon_sym_struct] = ACTIONS(3088), + [anon_sym_union] = ACTIONS(3088), + [anon_sym_if] = ACTIONS(3088), + [anon_sym_switch] = ACTIONS(3088), + [anon_sym_case] = ACTIONS(3088), + [anon_sym_default] = ACTIONS(3088), + [anon_sym_while] = ACTIONS(3088), + [anon_sym_do] = ACTIONS(3088), + [anon_sym_for] = ACTIONS(3088), + [anon_sym_return] = ACTIONS(3088), + [anon_sym_break] = ACTIONS(3088), + [anon_sym_continue] = ACTIONS(3088), + [anon_sym_goto] = ACTIONS(3088), + [anon_sym___try] = ACTIONS(3088), + [anon_sym___leave] = ACTIONS(3088), + [anon_sym_not] = ACTIONS(3088), + [anon_sym_compl] = ACTIONS(3088), + [anon_sym_DASH_DASH] = ACTIONS(3090), + [anon_sym_PLUS_PLUS] = ACTIONS(3090), + [anon_sym_sizeof] = ACTIONS(3088), + [anon_sym___alignof__] = ACTIONS(3088), + [anon_sym___alignof] = ACTIONS(3088), + [anon_sym__alignof] = ACTIONS(3088), + [anon_sym_alignof] = ACTIONS(3088), + [anon_sym__Alignof] = ACTIONS(3088), + [anon_sym_offsetof] = ACTIONS(3088), + [anon_sym__Generic] = ACTIONS(3088), + [anon_sym_asm] = ACTIONS(3088), + [anon_sym___asm__] = ACTIONS(3088), + [sym__number_literal] = ACTIONS(3090), + [anon_sym_L_SQUOTE] = ACTIONS(3090), + [anon_sym_u_SQUOTE] = ACTIONS(3090), + [anon_sym_U_SQUOTE] = ACTIONS(3090), + [anon_sym_u8_SQUOTE] = ACTIONS(3090), + [anon_sym_SQUOTE] = ACTIONS(3090), + [anon_sym_L_DQUOTE] = ACTIONS(3090), + [anon_sym_u_DQUOTE] = ACTIONS(3090), + [anon_sym_U_DQUOTE] = ACTIONS(3090), + [anon_sym_u8_DQUOTE] = ACTIONS(3090), + [anon_sym_DQUOTE] = ACTIONS(3090), + [sym_true] = ACTIONS(3088), + [sym_false] = ACTIONS(3088), + [anon_sym_NULL] = ACTIONS(3088), + [anon_sym_nullptr] = ACTIONS(3088), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3090), + [sym_auto] = ACTIONS(3088), + [anon_sym_decltype] = ACTIONS(3088), + [sym_virtual] = ACTIONS(3088), + [anon_sym_explicit] = ACTIONS(3088), + [anon_sym_typename] = ACTIONS(3088), + [anon_sym_template] = ACTIONS(3088), + [anon_sym_operator] = ACTIONS(3088), + [anon_sym_try] = ACTIONS(3088), + [anon_sym_delete] = ACTIONS(3088), + [anon_sym_throw] = ACTIONS(3088), + [anon_sym_namespace] = ACTIONS(3088), + [anon_sym_using] = ACTIONS(3088), + [anon_sym_static_assert] = ACTIONS(3088), + [anon_sym_concept] = ACTIONS(3088), + [anon_sym_co_return] = ACTIONS(3088), + [anon_sym_co_yield] = ACTIONS(3088), + [anon_sym_R_DQUOTE] = ACTIONS(3090), + [anon_sym_LR_DQUOTE] = ACTIONS(3090), + [anon_sym_uR_DQUOTE] = ACTIONS(3090), + [anon_sym_UR_DQUOTE] = ACTIONS(3090), + [anon_sym_u8R_DQUOTE] = ACTIONS(3090), + [anon_sym_co_await] = ACTIONS(3088), + [anon_sym_new] = ACTIONS(3088), + [anon_sym_requires] = ACTIONS(3088), + [sym_this] = ACTIONS(3088), + }, + [608] = { + [sym__identifier] = ACTIONS(2825), + [aux_sym_preproc_include_token1] = ACTIONS(2825), + [aux_sym_preproc_def_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2825), + [sym_preproc_directive] = ACTIONS(2825), + [anon_sym_LPAREN2] = ACTIONS(2827), + [anon_sym_BANG] = ACTIONS(2827), + [anon_sym_TILDE] = ACTIONS(2827), + [anon_sym_DASH] = ACTIONS(2825), + [anon_sym_PLUS] = ACTIONS(2825), + [anon_sym_STAR] = ACTIONS(2827), + [anon_sym_AMP_AMP] = ACTIONS(2827), + [anon_sym_AMP] = ACTIONS(2825), + [anon_sym_SEMI] = ACTIONS(2827), + [anon_sym___extension__] = ACTIONS(2825), + [anon_sym_typedef] = ACTIONS(2825), + [anon_sym_extern] = ACTIONS(2825), + [anon_sym___attribute__] = ACTIONS(2825), + [anon_sym_COLON_COLON] = ACTIONS(2827), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2827), + [anon_sym___declspec] = ACTIONS(2825), + [anon_sym___based] = ACTIONS(2825), + [anon_sym___cdecl] = ACTIONS(2825), + [anon_sym___clrcall] = ACTIONS(2825), + [anon_sym___stdcall] = ACTIONS(2825), + [anon_sym___fastcall] = ACTIONS(2825), + [anon_sym___thiscall] = ACTIONS(2825), + [anon_sym___vectorcall] = ACTIONS(2825), + [anon_sym_LBRACE] = ACTIONS(2827), + [anon_sym_RBRACE] = ACTIONS(2827), + [anon_sym_signed] = ACTIONS(2825), + [anon_sym_unsigned] = ACTIONS(2825), + [anon_sym_long] = ACTIONS(2825), + [anon_sym_short] = ACTIONS(2825), + [anon_sym_LBRACK] = ACTIONS(2825), + [anon_sym_static] = ACTIONS(2825), + [anon_sym_register] = ACTIONS(2825), + [anon_sym_inline] = ACTIONS(2825), + [anon_sym___inline] = ACTIONS(2825), + [anon_sym___inline__] = ACTIONS(2825), + [anon_sym___forceinline] = ACTIONS(2825), + [anon_sym_thread_local] = ACTIONS(2825), + [anon_sym___thread] = ACTIONS(2825), + [anon_sym_const] = ACTIONS(2825), + [anon_sym_constexpr] = ACTIONS(2825), + [anon_sym_volatile] = ACTIONS(2825), + [anon_sym_restrict] = ACTIONS(2825), + [anon_sym___restrict__] = ACTIONS(2825), + [anon_sym__Atomic] = ACTIONS(2825), + [anon_sym__Noreturn] = ACTIONS(2825), + [anon_sym_noreturn] = ACTIONS(2825), + [anon_sym_mutable] = ACTIONS(2825), + [anon_sym_constinit] = ACTIONS(2825), + [anon_sym_consteval] = ACTIONS(2825), + [anon_sym_alignas] = ACTIONS(2825), + [anon_sym__Alignas] = ACTIONS(2825), + [sym_primitive_type] = ACTIONS(2825), + [anon_sym_enum] = ACTIONS(2825), + [anon_sym_class] = ACTIONS(2825), + [anon_sym_struct] = ACTIONS(2825), + [anon_sym_union] = ACTIONS(2825), + [anon_sym_if] = ACTIONS(2825), + [anon_sym_switch] = ACTIONS(2825), + [anon_sym_case] = ACTIONS(2825), + [anon_sym_default] = ACTIONS(2825), + [anon_sym_while] = ACTIONS(2825), + [anon_sym_do] = ACTIONS(2825), + [anon_sym_for] = ACTIONS(2825), + [anon_sym_return] = ACTIONS(2825), + [anon_sym_break] = ACTIONS(2825), + [anon_sym_continue] = ACTIONS(2825), + [anon_sym_goto] = ACTIONS(2825), + [anon_sym___try] = ACTIONS(2825), + [anon_sym___leave] = ACTIONS(2825), + [anon_sym_not] = ACTIONS(2825), + [anon_sym_compl] = ACTIONS(2825), + [anon_sym_DASH_DASH] = ACTIONS(2827), + [anon_sym_PLUS_PLUS] = ACTIONS(2827), + [anon_sym_sizeof] = ACTIONS(2825), + [anon_sym___alignof__] = ACTIONS(2825), + [anon_sym___alignof] = ACTIONS(2825), + [anon_sym__alignof] = ACTIONS(2825), + [anon_sym_alignof] = ACTIONS(2825), + [anon_sym__Alignof] = ACTIONS(2825), + [anon_sym_offsetof] = ACTIONS(2825), + [anon_sym__Generic] = ACTIONS(2825), + [anon_sym_asm] = ACTIONS(2825), + [anon_sym___asm__] = ACTIONS(2825), + [sym__number_literal] = ACTIONS(2827), + [anon_sym_L_SQUOTE] = ACTIONS(2827), + [anon_sym_u_SQUOTE] = ACTIONS(2827), + [anon_sym_U_SQUOTE] = ACTIONS(2827), + [anon_sym_u8_SQUOTE] = ACTIONS(2827), + [anon_sym_SQUOTE] = ACTIONS(2827), + [anon_sym_L_DQUOTE] = ACTIONS(2827), + [anon_sym_u_DQUOTE] = ACTIONS(2827), + [anon_sym_U_DQUOTE] = ACTIONS(2827), + [anon_sym_u8_DQUOTE] = ACTIONS(2827), + [anon_sym_DQUOTE] = ACTIONS(2827), + [sym_true] = ACTIONS(2825), + [sym_false] = ACTIONS(2825), + [anon_sym_NULL] = ACTIONS(2825), + [anon_sym_nullptr] = ACTIONS(2825), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2827), + [sym_auto] = ACTIONS(2825), + [anon_sym_decltype] = ACTIONS(2825), + [sym_virtual] = ACTIONS(2825), + [anon_sym_explicit] = ACTIONS(2825), + [anon_sym_typename] = ACTIONS(2825), + [anon_sym_template] = ACTIONS(2825), + [anon_sym_operator] = ACTIONS(2825), + [anon_sym_try] = ACTIONS(2825), + [anon_sym_delete] = ACTIONS(2825), + [anon_sym_throw] = ACTIONS(2825), + [anon_sym_namespace] = ACTIONS(2825), + [anon_sym_using] = ACTIONS(2825), + [anon_sym_static_assert] = ACTIONS(2825), + [anon_sym_concept] = ACTIONS(2825), + [anon_sym_co_return] = ACTIONS(2825), + [anon_sym_co_yield] = ACTIONS(2825), + [anon_sym_R_DQUOTE] = ACTIONS(2827), + [anon_sym_LR_DQUOTE] = ACTIONS(2827), + [anon_sym_uR_DQUOTE] = ACTIONS(2827), + [anon_sym_UR_DQUOTE] = ACTIONS(2827), + [anon_sym_u8R_DQUOTE] = ACTIONS(2827), + [anon_sym_co_await] = ACTIONS(2825), + [anon_sym_new] = ACTIONS(2825), + [anon_sym_requires] = ACTIONS(2825), + [sym_this] = ACTIONS(2825), + }, + [609] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_include_token1] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token2] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_BANG] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_DASH] = ACTIONS(3050), + [anon_sym_PLUS] = ACTIONS(3050), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym_SEMI] = ACTIONS(3052), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym___cdecl] = ACTIONS(3050), + [anon_sym___clrcall] = ACTIONS(3050), + [anon_sym___stdcall] = ACTIONS(3050), + [anon_sym___fastcall] = ACTIONS(3050), + [anon_sym___thiscall] = ACTIONS(3050), + [anon_sym___vectorcall] = ACTIONS(3050), + [anon_sym_LBRACE] = ACTIONS(3052), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [anon_sym_if] = ACTIONS(3050), + [anon_sym_switch] = ACTIONS(3050), + [anon_sym_case] = ACTIONS(3050), + [anon_sym_default] = ACTIONS(3050), + [anon_sym_while] = ACTIONS(3050), + [anon_sym_do] = ACTIONS(3050), + [anon_sym_for] = ACTIONS(3050), + [anon_sym_return] = ACTIONS(3050), + [anon_sym_break] = ACTIONS(3050), + [anon_sym_continue] = ACTIONS(3050), + [anon_sym_goto] = ACTIONS(3050), + [anon_sym___try] = ACTIONS(3050), + [anon_sym___leave] = ACTIONS(3050), + [anon_sym_not] = ACTIONS(3050), + [anon_sym_compl] = ACTIONS(3050), + [anon_sym_DASH_DASH] = ACTIONS(3052), + [anon_sym_PLUS_PLUS] = ACTIONS(3052), + [anon_sym_sizeof] = ACTIONS(3050), + [anon_sym___alignof__] = ACTIONS(3050), + [anon_sym___alignof] = ACTIONS(3050), + [anon_sym__alignof] = ACTIONS(3050), + [anon_sym_alignof] = ACTIONS(3050), + [anon_sym__Alignof] = ACTIONS(3050), + [anon_sym_offsetof] = ACTIONS(3050), + [anon_sym__Generic] = ACTIONS(3050), + [anon_sym_asm] = ACTIONS(3050), + [anon_sym___asm__] = ACTIONS(3050), + [sym__number_literal] = ACTIONS(3052), + [anon_sym_L_SQUOTE] = ACTIONS(3052), + [anon_sym_u_SQUOTE] = ACTIONS(3052), + [anon_sym_U_SQUOTE] = ACTIONS(3052), + [anon_sym_u8_SQUOTE] = ACTIONS(3052), + [anon_sym_SQUOTE] = ACTIONS(3052), + [anon_sym_L_DQUOTE] = ACTIONS(3052), + [anon_sym_u_DQUOTE] = ACTIONS(3052), + [anon_sym_U_DQUOTE] = ACTIONS(3052), + [anon_sym_u8_DQUOTE] = ACTIONS(3052), + [anon_sym_DQUOTE] = ACTIONS(3052), + [sym_true] = ACTIONS(3050), + [sym_false] = ACTIONS(3050), + [anon_sym_NULL] = ACTIONS(3050), + [anon_sym_nullptr] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_try] = ACTIONS(3050), + [anon_sym_delete] = ACTIONS(3050), + [anon_sym_throw] = ACTIONS(3050), + [anon_sym_namespace] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + [anon_sym_concept] = ACTIONS(3050), + [anon_sym_co_return] = ACTIONS(3050), + [anon_sym_co_yield] = ACTIONS(3050), + [anon_sym_R_DQUOTE] = ACTIONS(3052), + [anon_sym_LR_DQUOTE] = ACTIONS(3052), + [anon_sym_uR_DQUOTE] = ACTIONS(3052), + [anon_sym_UR_DQUOTE] = ACTIONS(3052), + [anon_sym_u8R_DQUOTE] = ACTIONS(3052), + [anon_sym_co_await] = ACTIONS(3050), + [anon_sym_new] = ACTIONS(3050), + [anon_sym_requires] = ACTIONS(3050), + [sym_this] = ACTIONS(3050), + }, + [610] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_RBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [611] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_RBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [612] = { + [sym_catch_clause] = STATE(316), + [aux_sym_constructor_try_statement_repeat1] = STATE(316), + [ts_builtin_sym_end] = ACTIONS(2669), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_include_token1] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_BANG] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_DASH] = ACTIONS(2667), + [anon_sym_PLUS] = ACTIONS(2667), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym___cdecl] = ACTIONS(2667), + [anon_sym___clrcall] = ACTIONS(2667), + [anon_sym___stdcall] = ACTIONS(2667), + [anon_sym___fastcall] = ACTIONS(2667), + [anon_sym___thiscall] = ACTIONS(2667), + [anon_sym___vectorcall] = ACTIONS(2667), + [anon_sym_LBRACE] = ACTIONS(2669), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [anon_sym_if] = ACTIONS(2667), + [anon_sym_switch] = ACTIONS(2667), + [anon_sym_case] = ACTIONS(2667), + [anon_sym_default] = ACTIONS(2667), + [anon_sym_while] = ACTIONS(2667), + [anon_sym_do] = ACTIONS(2667), + [anon_sym_for] = ACTIONS(2667), + [anon_sym_return] = ACTIONS(2667), + [anon_sym_break] = ACTIONS(2667), + [anon_sym_continue] = ACTIONS(2667), + [anon_sym_goto] = ACTIONS(2667), + [anon_sym_not] = ACTIONS(2667), + [anon_sym_compl] = ACTIONS(2667), + [anon_sym_DASH_DASH] = ACTIONS(2669), + [anon_sym_PLUS_PLUS] = ACTIONS(2669), + [anon_sym_sizeof] = ACTIONS(2667), + [anon_sym___alignof__] = ACTIONS(2667), + [anon_sym___alignof] = ACTIONS(2667), + [anon_sym__alignof] = ACTIONS(2667), + [anon_sym_alignof] = ACTIONS(2667), + [anon_sym__Alignof] = ACTIONS(2667), + [anon_sym_offsetof] = ACTIONS(2667), + [anon_sym__Generic] = ACTIONS(2667), + [anon_sym_asm] = ACTIONS(2667), + [anon_sym___asm__] = ACTIONS(2667), + [sym__number_literal] = ACTIONS(2669), + [anon_sym_L_SQUOTE] = ACTIONS(2669), + [anon_sym_u_SQUOTE] = ACTIONS(2669), + [anon_sym_U_SQUOTE] = ACTIONS(2669), + [anon_sym_u8_SQUOTE] = ACTIONS(2669), + [anon_sym_SQUOTE] = ACTIONS(2669), + [anon_sym_L_DQUOTE] = ACTIONS(2669), + [anon_sym_u_DQUOTE] = ACTIONS(2669), + [anon_sym_U_DQUOTE] = ACTIONS(2669), + [anon_sym_u8_DQUOTE] = ACTIONS(2669), + [anon_sym_DQUOTE] = ACTIONS(2669), + [sym_true] = ACTIONS(2667), + [sym_false] = ACTIONS(2667), + [anon_sym_NULL] = ACTIONS(2667), + [anon_sym_nullptr] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_try] = ACTIONS(2667), + [anon_sym_delete] = ACTIONS(2667), + [anon_sym_throw] = ACTIONS(2667), + [anon_sym_namespace] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_concept] = ACTIONS(2667), + [anon_sym_co_return] = ACTIONS(2667), + [anon_sym_co_yield] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(2913), + [anon_sym_R_DQUOTE] = ACTIONS(2669), + [anon_sym_LR_DQUOTE] = ACTIONS(2669), + [anon_sym_uR_DQUOTE] = ACTIONS(2669), + [anon_sym_UR_DQUOTE] = ACTIONS(2669), + [anon_sym_u8R_DQUOTE] = ACTIONS(2669), + [anon_sym_co_await] = ACTIONS(2667), + [anon_sym_new] = ACTIONS(2667), + [anon_sym_requires] = ACTIONS(2667), + [sym_this] = ACTIONS(2667), + }, + [613] = { + [sym__identifier] = ACTIONS(3013), + [aux_sym_preproc_include_token1] = ACTIONS(3013), + [aux_sym_preproc_def_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token2] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3013), + [sym_preproc_directive] = ACTIONS(3013), + [anon_sym_LPAREN2] = ACTIONS(3015), + [anon_sym_BANG] = ACTIONS(3015), + [anon_sym_TILDE] = ACTIONS(3015), + [anon_sym_DASH] = ACTIONS(3013), + [anon_sym_PLUS] = ACTIONS(3013), + [anon_sym_STAR] = ACTIONS(3015), + [anon_sym_AMP_AMP] = ACTIONS(3015), + [anon_sym_AMP] = ACTIONS(3013), + [anon_sym_SEMI] = ACTIONS(3015), + [anon_sym___extension__] = ACTIONS(3013), + [anon_sym_typedef] = ACTIONS(3013), + [anon_sym_extern] = ACTIONS(3013), + [anon_sym___attribute__] = ACTIONS(3013), + [anon_sym_COLON_COLON] = ACTIONS(3015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3015), + [anon_sym___declspec] = ACTIONS(3013), + [anon_sym___based] = ACTIONS(3013), + [anon_sym___cdecl] = ACTIONS(3013), + [anon_sym___clrcall] = ACTIONS(3013), + [anon_sym___stdcall] = ACTIONS(3013), + [anon_sym___fastcall] = ACTIONS(3013), + [anon_sym___thiscall] = ACTIONS(3013), + [anon_sym___vectorcall] = ACTIONS(3013), + [anon_sym_LBRACE] = ACTIONS(3015), + [anon_sym_signed] = ACTIONS(3013), + [anon_sym_unsigned] = ACTIONS(3013), + [anon_sym_long] = ACTIONS(3013), + [anon_sym_short] = ACTIONS(3013), + [anon_sym_LBRACK] = ACTIONS(3013), + [anon_sym_static] = ACTIONS(3013), + [anon_sym_register] = ACTIONS(3013), + [anon_sym_inline] = ACTIONS(3013), + [anon_sym___inline] = ACTIONS(3013), + [anon_sym___inline__] = ACTIONS(3013), + [anon_sym___forceinline] = ACTIONS(3013), + [anon_sym_thread_local] = ACTIONS(3013), + [anon_sym___thread] = ACTIONS(3013), + [anon_sym_const] = ACTIONS(3013), + [anon_sym_constexpr] = ACTIONS(3013), + [anon_sym_volatile] = ACTIONS(3013), + [anon_sym_restrict] = ACTIONS(3013), + [anon_sym___restrict__] = ACTIONS(3013), + [anon_sym__Atomic] = ACTIONS(3013), + [anon_sym__Noreturn] = ACTIONS(3013), + [anon_sym_noreturn] = ACTIONS(3013), + [anon_sym_mutable] = ACTIONS(3013), + [anon_sym_constinit] = ACTIONS(3013), + [anon_sym_consteval] = ACTIONS(3013), + [anon_sym_alignas] = ACTIONS(3013), + [anon_sym__Alignas] = ACTIONS(3013), + [sym_primitive_type] = ACTIONS(3013), + [anon_sym_enum] = ACTIONS(3013), + [anon_sym_class] = ACTIONS(3013), + [anon_sym_struct] = ACTIONS(3013), + [anon_sym_union] = ACTIONS(3013), + [anon_sym_if] = ACTIONS(3013), + [anon_sym_switch] = ACTIONS(3013), + [anon_sym_case] = ACTIONS(3013), + [anon_sym_default] = ACTIONS(3013), + [anon_sym_while] = ACTIONS(3013), + [anon_sym_do] = ACTIONS(3013), + [anon_sym_for] = ACTIONS(3013), + [anon_sym_return] = ACTIONS(3013), + [anon_sym_break] = ACTIONS(3013), + [anon_sym_continue] = ACTIONS(3013), + [anon_sym_goto] = ACTIONS(3013), + [anon_sym___try] = ACTIONS(3013), + [anon_sym___leave] = ACTIONS(3013), + [anon_sym_not] = ACTIONS(3013), + [anon_sym_compl] = ACTIONS(3013), + [anon_sym_DASH_DASH] = ACTIONS(3015), + [anon_sym_PLUS_PLUS] = ACTIONS(3015), + [anon_sym_sizeof] = ACTIONS(3013), + [anon_sym___alignof__] = ACTIONS(3013), + [anon_sym___alignof] = ACTIONS(3013), + [anon_sym__alignof] = ACTIONS(3013), + [anon_sym_alignof] = ACTIONS(3013), + [anon_sym__Alignof] = ACTIONS(3013), + [anon_sym_offsetof] = ACTIONS(3013), + [anon_sym__Generic] = ACTIONS(3013), + [anon_sym_asm] = ACTIONS(3013), + [anon_sym___asm__] = ACTIONS(3013), + [sym__number_literal] = ACTIONS(3015), + [anon_sym_L_SQUOTE] = ACTIONS(3015), + [anon_sym_u_SQUOTE] = ACTIONS(3015), + [anon_sym_U_SQUOTE] = ACTIONS(3015), + [anon_sym_u8_SQUOTE] = ACTIONS(3015), + [anon_sym_SQUOTE] = ACTIONS(3015), + [anon_sym_L_DQUOTE] = ACTIONS(3015), + [anon_sym_u_DQUOTE] = ACTIONS(3015), + [anon_sym_U_DQUOTE] = ACTIONS(3015), + [anon_sym_u8_DQUOTE] = ACTIONS(3015), + [anon_sym_DQUOTE] = ACTIONS(3015), + [sym_true] = ACTIONS(3013), + [sym_false] = ACTIONS(3013), + [anon_sym_NULL] = ACTIONS(3013), + [anon_sym_nullptr] = ACTIONS(3013), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3015), + [sym_auto] = ACTIONS(3013), + [anon_sym_decltype] = ACTIONS(3013), + [sym_virtual] = ACTIONS(3013), + [anon_sym_explicit] = ACTIONS(3013), + [anon_sym_typename] = ACTIONS(3013), + [anon_sym_template] = ACTIONS(3013), + [anon_sym_operator] = ACTIONS(3013), + [anon_sym_try] = ACTIONS(3013), + [anon_sym_delete] = ACTIONS(3013), + [anon_sym_throw] = ACTIONS(3013), + [anon_sym_namespace] = ACTIONS(3013), + [anon_sym_using] = ACTIONS(3013), + [anon_sym_static_assert] = ACTIONS(3013), + [anon_sym_concept] = ACTIONS(3013), + [anon_sym_co_return] = ACTIONS(3013), + [anon_sym_co_yield] = ACTIONS(3013), + [anon_sym_R_DQUOTE] = ACTIONS(3015), + [anon_sym_LR_DQUOTE] = ACTIONS(3015), + [anon_sym_uR_DQUOTE] = ACTIONS(3015), + [anon_sym_UR_DQUOTE] = ACTIONS(3015), + [anon_sym_u8R_DQUOTE] = ACTIONS(3015), + [anon_sym_co_await] = ACTIONS(3013), + [anon_sym_new] = ACTIONS(3013), + [anon_sym_requires] = ACTIONS(3013), + [sym_this] = ACTIONS(3013), + }, + [614] = { + [sym__identifier] = ACTIONS(2993), + [aux_sym_preproc_include_token1] = ACTIONS(2993), + [aux_sym_preproc_def_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token2] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2993), + [sym_preproc_directive] = ACTIONS(2993), + [anon_sym_LPAREN2] = ACTIONS(2995), + [anon_sym_BANG] = ACTIONS(2995), + [anon_sym_TILDE] = ACTIONS(2995), + [anon_sym_DASH] = ACTIONS(2993), + [anon_sym_PLUS] = ACTIONS(2993), + [anon_sym_STAR] = ACTIONS(2995), + [anon_sym_AMP_AMP] = ACTIONS(2995), + [anon_sym_AMP] = ACTIONS(2993), + [anon_sym_SEMI] = ACTIONS(2995), + [anon_sym___extension__] = ACTIONS(2993), + [anon_sym_typedef] = ACTIONS(2993), + [anon_sym_extern] = ACTIONS(2993), + [anon_sym___attribute__] = ACTIONS(2993), + [anon_sym_COLON_COLON] = ACTIONS(2995), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2995), + [anon_sym___declspec] = ACTIONS(2993), + [anon_sym___based] = ACTIONS(2993), + [anon_sym___cdecl] = ACTIONS(2993), + [anon_sym___clrcall] = ACTIONS(2993), + [anon_sym___stdcall] = ACTIONS(2993), + [anon_sym___fastcall] = ACTIONS(2993), + [anon_sym___thiscall] = ACTIONS(2993), + [anon_sym___vectorcall] = ACTIONS(2993), + [anon_sym_LBRACE] = ACTIONS(2995), + [anon_sym_signed] = ACTIONS(2993), + [anon_sym_unsigned] = ACTIONS(2993), + [anon_sym_long] = ACTIONS(2993), + [anon_sym_short] = ACTIONS(2993), + [anon_sym_LBRACK] = ACTIONS(2993), + [anon_sym_static] = ACTIONS(2993), + [anon_sym_register] = ACTIONS(2993), + [anon_sym_inline] = ACTIONS(2993), + [anon_sym___inline] = ACTIONS(2993), + [anon_sym___inline__] = ACTIONS(2993), + [anon_sym___forceinline] = ACTIONS(2993), + [anon_sym_thread_local] = ACTIONS(2993), + [anon_sym___thread] = ACTIONS(2993), + [anon_sym_const] = ACTIONS(2993), + [anon_sym_constexpr] = ACTIONS(2993), + [anon_sym_volatile] = ACTIONS(2993), + [anon_sym_restrict] = ACTIONS(2993), + [anon_sym___restrict__] = ACTIONS(2993), + [anon_sym__Atomic] = ACTIONS(2993), + [anon_sym__Noreturn] = ACTIONS(2993), + [anon_sym_noreturn] = ACTIONS(2993), + [anon_sym_mutable] = ACTIONS(2993), + [anon_sym_constinit] = ACTIONS(2993), + [anon_sym_consteval] = ACTIONS(2993), + [anon_sym_alignas] = ACTIONS(2993), + [anon_sym__Alignas] = ACTIONS(2993), + [sym_primitive_type] = ACTIONS(2993), + [anon_sym_enum] = ACTIONS(2993), + [anon_sym_class] = ACTIONS(2993), + [anon_sym_struct] = ACTIONS(2993), + [anon_sym_union] = ACTIONS(2993), + [anon_sym_if] = ACTIONS(2993), + [anon_sym_switch] = ACTIONS(2993), + [anon_sym_case] = ACTIONS(2993), + [anon_sym_default] = ACTIONS(2993), + [anon_sym_while] = ACTIONS(2993), + [anon_sym_do] = ACTIONS(2993), + [anon_sym_for] = ACTIONS(2993), + [anon_sym_return] = ACTIONS(2993), + [anon_sym_break] = ACTIONS(2993), + [anon_sym_continue] = ACTIONS(2993), + [anon_sym_goto] = ACTIONS(2993), + [anon_sym___try] = ACTIONS(2993), + [anon_sym___leave] = ACTIONS(2993), + [anon_sym_not] = ACTIONS(2993), + [anon_sym_compl] = ACTIONS(2993), + [anon_sym_DASH_DASH] = ACTIONS(2995), + [anon_sym_PLUS_PLUS] = ACTIONS(2995), + [anon_sym_sizeof] = ACTIONS(2993), + [anon_sym___alignof__] = ACTIONS(2993), + [anon_sym___alignof] = ACTIONS(2993), + [anon_sym__alignof] = ACTIONS(2993), + [anon_sym_alignof] = ACTIONS(2993), + [anon_sym__Alignof] = ACTIONS(2993), + [anon_sym_offsetof] = ACTIONS(2993), + [anon_sym__Generic] = ACTIONS(2993), + [anon_sym_asm] = ACTIONS(2993), + [anon_sym___asm__] = ACTIONS(2993), + [sym__number_literal] = ACTIONS(2995), + [anon_sym_L_SQUOTE] = ACTIONS(2995), + [anon_sym_u_SQUOTE] = ACTIONS(2995), + [anon_sym_U_SQUOTE] = ACTIONS(2995), + [anon_sym_u8_SQUOTE] = ACTIONS(2995), + [anon_sym_SQUOTE] = ACTIONS(2995), + [anon_sym_L_DQUOTE] = ACTIONS(2995), + [anon_sym_u_DQUOTE] = ACTIONS(2995), + [anon_sym_U_DQUOTE] = ACTIONS(2995), + [anon_sym_u8_DQUOTE] = ACTIONS(2995), + [anon_sym_DQUOTE] = ACTIONS(2995), + [sym_true] = ACTIONS(2993), + [sym_false] = ACTIONS(2993), + [anon_sym_NULL] = ACTIONS(2993), + [anon_sym_nullptr] = ACTIONS(2993), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2995), + [sym_auto] = ACTIONS(2993), + [anon_sym_decltype] = ACTIONS(2993), + [sym_virtual] = ACTIONS(2993), + [anon_sym_explicit] = ACTIONS(2993), + [anon_sym_typename] = ACTIONS(2993), + [anon_sym_template] = ACTIONS(2993), + [anon_sym_operator] = ACTIONS(2993), + [anon_sym_try] = ACTIONS(2993), + [anon_sym_delete] = ACTIONS(2993), + [anon_sym_throw] = ACTIONS(2993), + [anon_sym_namespace] = ACTIONS(2993), + [anon_sym_using] = ACTIONS(2993), + [anon_sym_static_assert] = ACTIONS(2993), + [anon_sym_concept] = ACTIONS(2993), + [anon_sym_co_return] = ACTIONS(2993), + [anon_sym_co_yield] = ACTIONS(2993), + [anon_sym_R_DQUOTE] = ACTIONS(2995), + [anon_sym_LR_DQUOTE] = ACTIONS(2995), + [anon_sym_uR_DQUOTE] = ACTIONS(2995), + [anon_sym_UR_DQUOTE] = ACTIONS(2995), + [anon_sym_u8R_DQUOTE] = ACTIONS(2995), + [anon_sym_co_await] = ACTIONS(2993), + [anon_sym_new] = ACTIONS(2993), + [anon_sym_requires] = ACTIONS(2993), + [sym_this] = ACTIONS(2993), + }, + [615] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_include_token1] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_BANG] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_DASH] = ACTIONS(3138), + [anon_sym_PLUS] = ACTIONS(3138), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym_SEMI] = ACTIONS(3140), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym___cdecl] = ACTIONS(3138), + [anon_sym___clrcall] = ACTIONS(3138), + [anon_sym___stdcall] = ACTIONS(3138), + [anon_sym___fastcall] = ACTIONS(3138), + [anon_sym___thiscall] = ACTIONS(3138), + [anon_sym___vectorcall] = ACTIONS(3138), + [anon_sym_LBRACE] = ACTIONS(3140), + [anon_sym_RBRACE] = ACTIONS(3140), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [anon_sym_if] = ACTIONS(3138), + [anon_sym_switch] = ACTIONS(3138), + [anon_sym_case] = ACTIONS(3138), + [anon_sym_default] = ACTIONS(3138), + [anon_sym_while] = ACTIONS(3138), + [anon_sym_do] = ACTIONS(3138), + [anon_sym_for] = ACTIONS(3138), + [anon_sym_return] = ACTIONS(3138), + [anon_sym_break] = ACTIONS(3138), + [anon_sym_continue] = ACTIONS(3138), + [anon_sym_goto] = ACTIONS(3138), + [anon_sym___try] = ACTIONS(3138), + [anon_sym___leave] = ACTIONS(3138), + [anon_sym_not] = ACTIONS(3138), + [anon_sym_compl] = ACTIONS(3138), + [anon_sym_DASH_DASH] = ACTIONS(3140), + [anon_sym_PLUS_PLUS] = ACTIONS(3140), + [anon_sym_sizeof] = ACTIONS(3138), + [anon_sym___alignof__] = ACTIONS(3138), + [anon_sym___alignof] = ACTIONS(3138), + [anon_sym__alignof] = ACTIONS(3138), + [anon_sym_alignof] = ACTIONS(3138), + [anon_sym__Alignof] = ACTIONS(3138), + [anon_sym_offsetof] = ACTIONS(3138), + [anon_sym__Generic] = ACTIONS(3138), + [anon_sym_asm] = ACTIONS(3138), + [anon_sym___asm__] = ACTIONS(3138), + [sym__number_literal] = ACTIONS(3140), + [anon_sym_L_SQUOTE] = ACTIONS(3140), + [anon_sym_u_SQUOTE] = ACTIONS(3140), + [anon_sym_U_SQUOTE] = ACTIONS(3140), + [anon_sym_u8_SQUOTE] = ACTIONS(3140), + [anon_sym_SQUOTE] = ACTIONS(3140), + [anon_sym_L_DQUOTE] = ACTIONS(3140), + [anon_sym_u_DQUOTE] = ACTIONS(3140), + [anon_sym_U_DQUOTE] = ACTIONS(3140), + [anon_sym_u8_DQUOTE] = ACTIONS(3140), + [anon_sym_DQUOTE] = ACTIONS(3140), + [sym_true] = ACTIONS(3138), + [sym_false] = ACTIONS(3138), + [anon_sym_NULL] = ACTIONS(3138), + [anon_sym_nullptr] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_try] = ACTIONS(3138), + [anon_sym_delete] = ACTIONS(3138), + [anon_sym_throw] = ACTIONS(3138), + [anon_sym_namespace] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + [anon_sym_concept] = ACTIONS(3138), + [anon_sym_co_return] = ACTIONS(3138), + [anon_sym_co_yield] = ACTIONS(3138), + [anon_sym_R_DQUOTE] = ACTIONS(3140), + [anon_sym_LR_DQUOTE] = ACTIONS(3140), + [anon_sym_uR_DQUOTE] = ACTIONS(3140), + [anon_sym_UR_DQUOTE] = ACTIONS(3140), + [anon_sym_u8R_DQUOTE] = ACTIONS(3140), + [anon_sym_co_await] = ACTIONS(3138), + [anon_sym_new] = ACTIONS(3138), + [anon_sym_requires] = ACTIONS(3138), + [sym_this] = ACTIONS(3138), + }, + [616] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_include_token1] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token2] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_BANG] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_DASH] = ACTIONS(2975), + [anon_sym_PLUS] = ACTIONS(2975), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym_SEMI] = ACTIONS(2977), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym___cdecl] = ACTIONS(2975), + [anon_sym___clrcall] = ACTIONS(2975), + [anon_sym___stdcall] = ACTIONS(2975), + [anon_sym___fastcall] = ACTIONS(2975), + [anon_sym___thiscall] = ACTIONS(2975), + [anon_sym___vectorcall] = ACTIONS(2975), + [anon_sym_LBRACE] = ACTIONS(2977), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [anon_sym_if] = ACTIONS(2975), + [anon_sym_switch] = ACTIONS(2975), + [anon_sym_case] = ACTIONS(2975), + [anon_sym_default] = ACTIONS(2975), + [anon_sym_while] = ACTIONS(2975), + [anon_sym_do] = ACTIONS(2975), + [anon_sym_for] = ACTIONS(2975), + [anon_sym_return] = ACTIONS(2975), + [anon_sym_break] = ACTIONS(2975), + [anon_sym_continue] = ACTIONS(2975), + [anon_sym_goto] = ACTIONS(2975), + [anon_sym___try] = ACTIONS(2975), + [anon_sym___leave] = ACTIONS(2975), + [anon_sym_not] = ACTIONS(2975), + [anon_sym_compl] = ACTIONS(2975), + [anon_sym_DASH_DASH] = ACTIONS(2977), + [anon_sym_PLUS_PLUS] = ACTIONS(2977), + [anon_sym_sizeof] = ACTIONS(2975), + [anon_sym___alignof__] = ACTIONS(2975), + [anon_sym___alignof] = ACTIONS(2975), + [anon_sym__alignof] = ACTIONS(2975), + [anon_sym_alignof] = ACTIONS(2975), + [anon_sym__Alignof] = ACTIONS(2975), + [anon_sym_offsetof] = ACTIONS(2975), + [anon_sym__Generic] = ACTIONS(2975), + [anon_sym_asm] = ACTIONS(2975), + [anon_sym___asm__] = ACTIONS(2975), + [sym__number_literal] = ACTIONS(2977), + [anon_sym_L_SQUOTE] = ACTIONS(2977), + [anon_sym_u_SQUOTE] = ACTIONS(2977), + [anon_sym_U_SQUOTE] = ACTIONS(2977), + [anon_sym_u8_SQUOTE] = ACTIONS(2977), + [anon_sym_SQUOTE] = ACTIONS(2977), + [anon_sym_L_DQUOTE] = ACTIONS(2977), + [anon_sym_u_DQUOTE] = ACTIONS(2977), + [anon_sym_U_DQUOTE] = ACTIONS(2977), + [anon_sym_u8_DQUOTE] = ACTIONS(2977), + [anon_sym_DQUOTE] = ACTIONS(2977), + [sym_true] = ACTIONS(2975), + [sym_false] = ACTIONS(2975), + [anon_sym_NULL] = ACTIONS(2975), + [anon_sym_nullptr] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_try] = ACTIONS(2975), + [anon_sym_delete] = ACTIONS(2975), + [anon_sym_throw] = ACTIONS(2975), + [anon_sym_namespace] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + [anon_sym_concept] = ACTIONS(2975), + [anon_sym_co_return] = ACTIONS(2975), + [anon_sym_co_yield] = ACTIONS(2975), + [anon_sym_R_DQUOTE] = ACTIONS(2977), + [anon_sym_LR_DQUOTE] = ACTIONS(2977), + [anon_sym_uR_DQUOTE] = ACTIONS(2977), + [anon_sym_UR_DQUOTE] = ACTIONS(2977), + [anon_sym_u8R_DQUOTE] = ACTIONS(2977), + [anon_sym_co_await] = ACTIONS(2975), + [anon_sym_new] = ACTIONS(2975), + [anon_sym_requires] = ACTIONS(2975), + [sym_this] = ACTIONS(2975), + }, + [617] = { + [sym__identifier] = ACTIONS(2963), + [aux_sym_preproc_include_token1] = ACTIONS(2963), + [aux_sym_preproc_def_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token2] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2963), + [sym_preproc_directive] = ACTIONS(2963), + [anon_sym_LPAREN2] = ACTIONS(2965), + [anon_sym_BANG] = ACTIONS(2965), + [anon_sym_TILDE] = ACTIONS(2965), + [anon_sym_DASH] = ACTIONS(2963), + [anon_sym_PLUS] = ACTIONS(2963), + [anon_sym_STAR] = ACTIONS(2965), + [anon_sym_AMP_AMP] = ACTIONS(2965), + [anon_sym_AMP] = ACTIONS(2963), + [anon_sym_SEMI] = ACTIONS(2965), + [anon_sym___extension__] = ACTIONS(2963), + [anon_sym_typedef] = ACTIONS(2963), + [anon_sym_extern] = ACTIONS(2963), + [anon_sym___attribute__] = ACTIONS(2963), + [anon_sym_COLON_COLON] = ACTIONS(2965), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2965), + [anon_sym___declspec] = ACTIONS(2963), + [anon_sym___based] = ACTIONS(2963), + [anon_sym___cdecl] = ACTIONS(2963), + [anon_sym___clrcall] = ACTIONS(2963), + [anon_sym___stdcall] = ACTIONS(2963), + [anon_sym___fastcall] = ACTIONS(2963), + [anon_sym___thiscall] = ACTIONS(2963), + [anon_sym___vectorcall] = ACTIONS(2963), + [anon_sym_LBRACE] = ACTIONS(2965), + [anon_sym_signed] = ACTIONS(2963), + [anon_sym_unsigned] = ACTIONS(2963), + [anon_sym_long] = ACTIONS(2963), + [anon_sym_short] = ACTIONS(2963), + [anon_sym_LBRACK] = ACTIONS(2963), + [anon_sym_static] = ACTIONS(2963), + [anon_sym_register] = ACTIONS(2963), + [anon_sym_inline] = ACTIONS(2963), + [anon_sym___inline] = ACTIONS(2963), + [anon_sym___inline__] = ACTIONS(2963), + [anon_sym___forceinline] = ACTIONS(2963), + [anon_sym_thread_local] = ACTIONS(2963), + [anon_sym___thread] = ACTIONS(2963), + [anon_sym_const] = ACTIONS(2963), + [anon_sym_constexpr] = ACTIONS(2963), + [anon_sym_volatile] = ACTIONS(2963), + [anon_sym_restrict] = ACTIONS(2963), + [anon_sym___restrict__] = ACTIONS(2963), + [anon_sym__Atomic] = ACTIONS(2963), + [anon_sym__Noreturn] = ACTIONS(2963), + [anon_sym_noreturn] = ACTIONS(2963), + [anon_sym_mutable] = ACTIONS(2963), + [anon_sym_constinit] = ACTIONS(2963), + [anon_sym_consteval] = ACTIONS(2963), + [anon_sym_alignas] = ACTIONS(2963), + [anon_sym__Alignas] = ACTIONS(2963), + [sym_primitive_type] = ACTIONS(2963), + [anon_sym_enum] = ACTIONS(2963), + [anon_sym_class] = ACTIONS(2963), + [anon_sym_struct] = ACTIONS(2963), + [anon_sym_union] = ACTIONS(2963), + [anon_sym_if] = ACTIONS(2963), + [anon_sym_switch] = ACTIONS(2963), + [anon_sym_case] = ACTIONS(2963), + [anon_sym_default] = ACTIONS(2963), + [anon_sym_while] = ACTIONS(2963), + [anon_sym_do] = ACTIONS(2963), + [anon_sym_for] = ACTIONS(2963), + [anon_sym_return] = ACTIONS(2963), + [anon_sym_break] = ACTIONS(2963), + [anon_sym_continue] = ACTIONS(2963), + [anon_sym_goto] = ACTIONS(2963), + [anon_sym___try] = ACTIONS(2963), + [anon_sym___leave] = ACTIONS(2963), + [anon_sym_not] = ACTIONS(2963), + [anon_sym_compl] = ACTIONS(2963), + [anon_sym_DASH_DASH] = ACTIONS(2965), + [anon_sym_PLUS_PLUS] = ACTIONS(2965), + [anon_sym_sizeof] = ACTIONS(2963), + [anon_sym___alignof__] = ACTIONS(2963), + [anon_sym___alignof] = ACTIONS(2963), + [anon_sym__alignof] = ACTIONS(2963), + [anon_sym_alignof] = ACTIONS(2963), + [anon_sym__Alignof] = ACTIONS(2963), + [anon_sym_offsetof] = ACTIONS(2963), + [anon_sym__Generic] = ACTIONS(2963), + [anon_sym_asm] = ACTIONS(2963), + [anon_sym___asm__] = ACTIONS(2963), + [sym__number_literal] = ACTIONS(2965), + [anon_sym_L_SQUOTE] = ACTIONS(2965), + [anon_sym_u_SQUOTE] = ACTIONS(2965), + [anon_sym_U_SQUOTE] = ACTIONS(2965), + [anon_sym_u8_SQUOTE] = ACTIONS(2965), + [anon_sym_SQUOTE] = ACTIONS(2965), + [anon_sym_L_DQUOTE] = ACTIONS(2965), + [anon_sym_u_DQUOTE] = ACTIONS(2965), + [anon_sym_U_DQUOTE] = ACTIONS(2965), + [anon_sym_u8_DQUOTE] = ACTIONS(2965), + [anon_sym_DQUOTE] = ACTIONS(2965), + [sym_true] = ACTIONS(2963), + [sym_false] = ACTIONS(2963), + [anon_sym_NULL] = ACTIONS(2963), + [anon_sym_nullptr] = ACTIONS(2963), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2965), + [sym_auto] = ACTIONS(2963), + [anon_sym_decltype] = ACTIONS(2963), + [sym_virtual] = ACTIONS(2963), + [anon_sym_explicit] = ACTIONS(2963), + [anon_sym_typename] = ACTIONS(2963), + [anon_sym_template] = ACTIONS(2963), + [anon_sym_operator] = ACTIONS(2963), + [anon_sym_try] = ACTIONS(2963), + [anon_sym_delete] = ACTIONS(2963), + [anon_sym_throw] = ACTIONS(2963), + [anon_sym_namespace] = ACTIONS(2963), + [anon_sym_using] = ACTIONS(2963), + [anon_sym_static_assert] = ACTIONS(2963), + [anon_sym_concept] = ACTIONS(2963), + [anon_sym_co_return] = ACTIONS(2963), + [anon_sym_co_yield] = ACTIONS(2963), + [anon_sym_R_DQUOTE] = ACTIONS(2965), + [anon_sym_LR_DQUOTE] = ACTIONS(2965), + [anon_sym_uR_DQUOTE] = ACTIONS(2965), + [anon_sym_UR_DQUOTE] = ACTIONS(2965), + [anon_sym_u8R_DQUOTE] = ACTIONS(2965), + [anon_sym_co_await] = ACTIONS(2963), + [anon_sym_new] = ACTIONS(2963), + [anon_sym_requires] = ACTIONS(2963), + [sym_this] = ACTIONS(2963), + }, + [618] = { + [sym__identifier] = ACTIONS(3035), + [aux_sym_preproc_include_token1] = ACTIONS(3035), + [aux_sym_preproc_def_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token2] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3035), + [sym_preproc_directive] = ACTIONS(3035), + [anon_sym_LPAREN2] = ACTIONS(3037), + [anon_sym_BANG] = ACTIONS(3037), + [anon_sym_TILDE] = ACTIONS(3037), + [anon_sym_DASH] = ACTIONS(3035), + [anon_sym_PLUS] = ACTIONS(3035), + [anon_sym_STAR] = ACTIONS(3037), + [anon_sym_AMP_AMP] = ACTIONS(3037), + [anon_sym_AMP] = ACTIONS(3035), + [anon_sym_SEMI] = ACTIONS(3037), + [anon_sym___extension__] = ACTIONS(3035), + [anon_sym_typedef] = ACTIONS(3035), + [anon_sym_extern] = ACTIONS(3035), + [anon_sym___attribute__] = ACTIONS(3035), + [anon_sym_COLON_COLON] = ACTIONS(3037), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3037), + [anon_sym___declspec] = ACTIONS(3035), + [anon_sym___based] = ACTIONS(3035), + [anon_sym___cdecl] = ACTIONS(3035), + [anon_sym___clrcall] = ACTIONS(3035), + [anon_sym___stdcall] = ACTIONS(3035), + [anon_sym___fastcall] = ACTIONS(3035), + [anon_sym___thiscall] = ACTIONS(3035), + [anon_sym___vectorcall] = ACTIONS(3035), + [anon_sym_LBRACE] = ACTIONS(3037), + [anon_sym_signed] = ACTIONS(3035), + [anon_sym_unsigned] = ACTIONS(3035), + [anon_sym_long] = ACTIONS(3035), + [anon_sym_short] = ACTIONS(3035), + [anon_sym_LBRACK] = ACTIONS(3035), + [anon_sym_static] = ACTIONS(3035), + [anon_sym_register] = ACTIONS(3035), + [anon_sym_inline] = ACTIONS(3035), + [anon_sym___inline] = ACTIONS(3035), + [anon_sym___inline__] = ACTIONS(3035), + [anon_sym___forceinline] = ACTIONS(3035), + [anon_sym_thread_local] = ACTIONS(3035), + [anon_sym___thread] = ACTIONS(3035), + [anon_sym_const] = ACTIONS(3035), + [anon_sym_constexpr] = ACTIONS(3035), + [anon_sym_volatile] = ACTIONS(3035), + [anon_sym_restrict] = ACTIONS(3035), + [anon_sym___restrict__] = ACTIONS(3035), + [anon_sym__Atomic] = ACTIONS(3035), + [anon_sym__Noreturn] = ACTIONS(3035), + [anon_sym_noreturn] = ACTIONS(3035), + [anon_sym_mutable] = ACTIONS(3035), + [anon_sym_constinit] = ACTIONS(3035), + [anon_sym_consteval] = ACTIONS(3035), + [anon_sym_alignas] = ACTIONS(3035), + [anon_sym__Alignas] = ACTIONS(3035), + [sym_primitive_type] = ACTIONS(3035), + [anon_sym_enum] = ACTIONS(3035), + [anon_sym_class] = ACTIONS(3035), + [anon_sym_struct] = ACTIONS(3035), + [anon_sym_union] = ACTIONS(3035), + [anon_sym_if] = ACTIONS(3035), + [anon_sym_switch] = ACTIONS(3035), + [anon_sym_case] = ACTIONS(3035), + [anon_sym_default] = ACTIONS(3035), + [anon_sym_while] = ACTIONS(3035), + [anon_sym_do] = ACTIONS(3035), + [anon_sym_for] = ACTIONS(3035), + [anon_sym_return] = ACTIONS(3035), + [anon_sym_break] = ACTIONS(3035), + [anon_sym_continue] = ACTIONS(3035), + [anon_sym_goto] = ACTIONS(3035), + [anon_sym___try] = ACTIONS(3035), + [anon_sym___leave] = ACTIONS(3035), + [anon_sym_not] = ACTIONS(3035), + [anon_sym_compl] = ACTIONS(3035), + [anon_sym_DASH_DASH] = ACTIONS(3037), + [anon_sym_PLUS_PLUS] = ACTIONS(3037), + [anon_sym_sizeof] = ACTIONS(3035), + [anon_sym___alignof__] = ACTIONS(3035), + [anon_sym___alignof] = ACTIONS(3035), + [anon_sym__alignof] = ACTIONS(3035), + [anon_sym_alignof] = ACTIONS(3035), + [anon_sym__Alignof] = ACTIONS(3035), + [anon_sym_offsetof] = ACTIONS(3035), + [anon_sym__Generic] = ACTIONS(3035), + [anon_sym_asm] = ACTIONS(3035), + [anon_sym___asm__] = ACTIONS(3035), + [sym__number_literal] = ACTIONS(3037), + [anon_sym_L_SQUOTE] = ACTIONS(3037), + [anon_sym_u_SQUOTE] = ACTIONS(3037), + [anon_sym_U_SQUOTE] = ACTIONS(3037), + [anon_sym_u8_SQUOTE] = ACTIONS(3037), + [anon_sym_SQUOTE] = ACTIONS(3037), + [anon_sym_L_DQUOTE] = ACTIONS(3037), + [anon_sym_u_DQUOTE] = ACTIONS(3037), + [anon_sym_U_DQUOTE] = ACTIONS(3037), + [anon_sym_u8_DQUOTE] = ACTIONS(3037), + [anon_sym_DQUOTE] = ACTIONS(3037), + [sym_true] = ACTIONS(3035), + [sym_false] = ACTIONS(3035), + [anon_sym_NULL] = ACTIONS(3035), + [anon_sym_nullptr] = ACTIONS(3035), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3037), + [sym_auto] = ACTIONS(3035), + [anon_sym_decltype] = ACTIONS(3035), + [sym_virtual] = ACTIONS(3035), + [anon_sym_explicit] = ACTIONS(3035), + [anon_sym_typename] = ACTIONS(3035), + [anon_sym_template] = ACTIONS(3035), + [anon_sym_operator] = ACTIONS(3035), + [anon_sym_try] = ACTIONS(3035), + [anon_sym_delete] = ACTIONS(3035), + [anon_sym_throw] = ACTIONS(3035), + [anon_sym_namespace] = ACTIONS(3035), + [anon_sym_using] = ACTIONS(3035), + [anon_sym_static_assert] = ACTIONS(3035), + [anon_sym_concept] = ACTIONS(3035), + [anon_sym_co_return] = ACTIONS(3035), + [anon_sym_co_yield] = ACTIONS(3035), + [anon_sym_R_DQUOTE] = ACTIONS(3037), + [anon_sym_LR_DQUOTE] = ACTIONS(3037), + [anon_sym_uR_DQUOTE] = ACTIONS(3037), + [anon_sym_UR_DQUOTE] = ACTIONS(3037), + [anon_sym_u8R_DQUOTE] = ACTIONS(3037), + [anon_sym_co_await] = ACTIONS(3035), + [anon_sym_new] = ACTIONS(3035), + [anon_sym_requires] = ACTIONS(3035), + [sym_this] = ACTIONS(3035), + }, + [619] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_include_token1] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_BANG] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_DASH] = ACTIONS(3054), + [anon_sym_PLUS] = ACTIONS(3054), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym_SEMI] = ACTIONS(3056), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym___cdecl] = ACTIONS(3054), + [anon_sym___clrcall] = ACTIONS(3054), + [anon_sym___stdcall] = ACTIONS(3054), + [anon_sym___fastcall] = ACTIONS(3054), + [anon_sym___thiscall] = ACTIONS(3054), + [anon_sym___vectorcall] = ACTIONS(3054), + [anon_sym_LBRACE] = ACTIONS(3056), + [anon_sym_RBRACE] = ACTIONS(3056), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [anon_sym_if] = ACTIONS(3054), + [anon_sym_switch] = ACTIONS(3054), + [anon_sym_case] = ACTIONS(3054), + [anon_sym_default] = ACTIONS(3054), + [anon_sym_while] = ACTIONS(3054), + [anon_sym_do] = ACTIONS(3054), + [anon_sym_for] = ACTIONS(3054), + [anon_sym_return] = ACTIONS(3054), + [anon_sym_break] = ACTIONS(3054), + [anon_sym_continue] = ACTIONS(3054), + [anon_sym_goto] = ACTIONS(3054), + [anon_sym___try] = ACTIONS(3054), + [anon_sym___leave] = ACTIONS(3054), + [anon_sym_not] = ACTIONS(3054), + [anon_sym_compl] = ACTIONS(3054), + [anon_sym_DASH_DASH] = ACTIONS(3056), + [anon_sym_PLUS_PLUS] = ACTIONS(3056), + [anon_sym_sizeof] = ACTIONS(3054), + [anon_sym___alignof__] = ACTIONS(3054), + [anon_sym___alignof] = ACTIONS(3054), + [anon_sym__alignof] = ACTIONS(3054), + [anon_sym_alignof] = ACTIONS(3054), + [anon_sym__Alignof] = ACTIONS(3054), + [anon_sym_offsetof] = ACTIONS(3054), + [anon_sym__Generic] = ACTIONS(3054), + [anon_sym_asm] = ACTIONS(3054), + [anon_sym___asm__] = ACTIONS(3054), + [sym__number_literal] = ACTIONS(3056), + [anon_sym_L_SQUOTE] = ACTIONS(3056), + [anon_sym_u_SQUOTE] = ACTIONS(3056), + [anon_sym_U_SQUOTE] = ACTIONS(3056), + [anon_sym_u8_SQUOTE] = ACTIONS(3056), + [anon_sym_SQUOTE] = ACTIONS(3056), + [anon_sym_L_DQUOTE] = ACTIONS(3056), + [anon_sym_u_DQUOTE] = ACTIONS(3056), + [anon_sym_U_DQUOTE] = ACTIONS(3056), + [anon_sym_u8_DQUOTE] = ACTIONS(3056), + [anon_sym_DQUOTE] = ACTIONS(3056), + [sym_true] = ACTIONS(3054), + [sym_false] = ACTIONS(3054), + [anon_sym_NULL] = ACTIONS(3054), + [anon_sym_nullptr] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_try] = ACTIONS(3054), + [anon_sym_delete] = ACTIONS(3054), + [anon_sym_throw] = ACTIONS(3054), + [anon_sym_namespace] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + [anon_sym_concept] = ACTIONS(3054), + [anon_sym_co_return] = ACTIONS(3054), + [anon_sym_co_yield] = ACTIONS(3054), + [anon_sym_R_DQUOTE] = ACTIONS(3056), + [anon_sym_LR_DQUOTE] = ACTIONS(3056), + [anon_sym_uR_DQUOTE] = ACTIONS(3056), + [anon_sym_UR_DQUOTE] = ACTIONS(3056), + [anon_sym_u8R_DQUOTE] = ACTIONS(3056), + [anon_sym_co_await] = ACTIONS(3054), + [anon_sym_new] = ACTIONS(3054), + [anon_sym_requires] = ACTIONS(3054), + [sym_this] = ACTIONS(3054), + }, + [620] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_include_token1] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token2] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_BANG] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_DASH] = ACTIONS(2952), + [anon_sym_PLUS] = ACTIONS(2952), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym_SEMI] = ACTIONS(2954), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym___cdecl] = ACTIONS(2952), + [anon_sym___clrcall] = ACTIONS(2952), + [anon_sym___stdcall] = ACTIONS(2952), + [anon_sym___fastcall] = ACTIONS(2952), + [anon_sym___thiscall] = ACTIONS(2952), + [anon_sym___vectorcall] = ACTIONS(2952), + [anon_sym_LBRACE] = ACTIONS(2954), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [anon_sym_if] = ACTIONS(2952), + [anon_sym_switch] = ACTIONS(2952), + [anon_sym_case] = ACTIONS(2952), + [anon_sym_default] = ACTIONS(2952), + [anon_sym_while] = ACTIONS(2952), + [anon_sym_do] = ACTIONS(2952), + [anon_sym_for] = ACTIONS(2952), + [anon_sym_return] = ACTIONS(2952), + [anon_sym_break] = ACTIONS(2952), + [anon_sym_continue] = ACTIONS(2952), + [anon_sym_goto] = ACTIONS(2952), + [anon_sym___try] = ACTIONS(2952), + [anon_sym___leave] = ACTIONS(2952), + [anon_sym_not] = ACTIONS(2952), + [anon_sym_compl] = ACTIONS(2952), + [anon_sym_DASH_DASH] = ACTIONS(2954), + [anon_sym_PLUS_PLUS] = ACTIONS(2954), + [anon_sym_sizeof] = ACTIONS(2952), + [anon_sym___alignof__] = ACTIONS(2952), + [anon_sym___alignof] = ACTIONS(2952), + [anon_sym__alignof] = ACTIONS(2952), + [anon_sym_alignof] = ACTIONS(2952), + [anon_sym__Alignof] = ACTIONS(2952), + [anon_sym_offsetof] = ACTIONS(2952), + [anon_sym__Generic] = ACTIONS(2952), + [anon_sym_asm] = ACTIONS(2952), + [anon_sym___asm__] = ACTIONS(2952), + [sym__number_literal] = ACTIONS(2954), + [anon_sym_L_SQUOTE] = ACTIONS(2954), + [anon_sym_u_SQUOTE] = ACTIONS(2954), + [anon_sym_U_SQUOTE] = ACTIONS(2954), + [anon_sym_u8_SQUOTE] = ACTIONS(2954), + [anon_sym_SQUOTE] = ACTIONS(2954), + [anon_sym_L_DQUOTE] = ACTIONS(2954), + [anon_sym_u_DQUOTE] = ACTIONS(2954), + [anon_sym_U_DQUOTE] = ACTIONS(2954), + [anon_sym_u8_DQUOTE] = ACTIONS(2954), + [anon_sym_DQUOTE] = ACTIONS(2954), + [sym_true] = ACTIONS(2952), + [sym_false] = ACTIONS(2952), + [anon_sym_NULL] = ACTIONS(2952), + [anon_sym_nullptr] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_try] = ACTIONS(2952), + [anon_sym_delete] = ACTIONS(2952), + [anon_sym_throw] = ACTIONS(2952), + [anon_sym_namespace] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + [anon_sym_concept] = ACTIONS(2952), + [anon_sym_co_return] = ACTIONS(2952), + [anon_sym_co_yield] = ACTIONS(2952), + [anon_sym_R_DQUOTE] = ACTIONS(2954), + [anon_sym_LR_DQUOTE] = ACTIONS(2954), + [anon_sym_uR_DQUOTE] = ACTIONS(2954), + [anon_sym_UR_DQUOTE] = ACTIONS(2954), + [anon_sym_u8R_DQUOTE] = ACTIONS(2954), + [anon_sym_co_await] = ACTIONS(2952), + [anon_sym_new] = ACTIONS(2952), + [anon_sym_requires] = ACTIONS(2952), + [sym_this] = ACTIONS(2952), + }, + [621] = { + [sym__identifier] = ACTIONS(3190), + [aux_sym_preproc_include_token1] = ACTIONS(3190), + [aux_sym_preproc_def_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token2] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3190), + [sym_preproc_directive] = ACTIONS(3190), + [anon_sym_LPAREN2] = ACTIONS(3192), + [anon_sym_BANG] = ACTIONS(3192), + [anon_sym_TILDE] = ACTIONS(3192), + [anon_sym_DASH] = ACTIONS(3190), + [anon_sym_PLUS] = ACTIONS(3190), + [anon_sym_STAR] = ACTIONS(3192), + [anon_sym_AMP_AMP] = ACTIONS(3192), + [anon_sym_AMP] = ACTIONS(3190), + [anon_sym_SEMI] = ACTIONS(3192), + [anon_sym___extension__] = ACTIONS(3190), + [anon_sym_typedef] = ACTIONS(3190), + [anon_sym_extern] = ACTIONS(3190), + [anon_sym___attribute__] = ACTIONS(3190), + [anon_sym_COLON_COLON] = ACTIONS(3192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3192), + [anon_sym___declspec] = ACTIONS(3190), + [anon_sym___based] = ACTIONS(3190), + [anon_sym___cdecl] = ACTIONS(3190), + [anon_sym___clrcall] = ACTIONS(3190), + [anon_sym___stdcall] = ACTIONS(3190), + [anon_sym___fastcall] = ACTIONS(3190), + [anon_sym___thiscall] = ACTIONS(3190), + [anon_sym___vectorcall] = ACTIONS(3190), + [anon_sym_LBRACE] = ACTIONS(3192), + [anon_sym_signed] = ACTIONS(3190), + [anon_sym_unsigned] = ACTIONS(3190), + [anon_sym_long] = ACTIONS(3190), + [anon_sym_short] = ACTIONS(3190), + [anon_sym_LBRACK] = ACTIONS(3190), + [anon_sym_static] = ACTIONS(3190), + [anon_sym_register] = ACTIONS(3190), + [anon_sym_inline] = ACTIONS(3190), + [anon_sym___inline] = ACTIONS(3190), + [anon_sym___inline__] = ACTIONS(3190), + [anon_sym___forceinline] = ACTIONS(3190), + [anon_sym_thread_local] = ACTIONS(3190), + [anon_sym___thread] = ACTIONS(3190), + [anon_sym_const] = ACTIONS(3190), + [anon_sym_constexpr] = ACTIONS(3190), + [anon_sym_volatile] = ACTIONS(3190), + [anon_sym_restrict] = ACTIONS(3190), + [anon_sym___restrict__] = ACTIONS(3190), + [anon_sym__Atomic] = ACTIONS(3190), + [anon_sym__Noreturn] = ACTIONS(3190), + [anon_sym_noreturn] = ACTIONS(3190), + [anon_sym_mutable] = ACTIONS(3190), + [anon_sym_constinit] = ACTIONS(3190), + [anon_sym_consteval] = ACTIONS(3190), + [anon_sym_alignas] = ACTIONS(3190), + [anon_sym__Alignas] = ACTIONS(3190), + [sym_primitive_type] = ACTIONS(3190), + [anon_sym_enum] = ACTIONS(3190), + [anon_sym_class] = ACTIONS(3190), + [anon_sym_struct] = ACTIONS(3190), + [anon_sym_union] = ACTIONS(3190), + [anon_sym_if] = ACTIONS(3190), + [anon_sym_switch] = ACTIONS(3190), + [anon_sym_case] = ACTIONS(3190), + [anon_sym_default] = ACTIONS(3190), + [anon_sym_while] = ACTIONS(3190), + [anon_sym_do] = ACTIONS(3190), + [anon_sym_for] = ACTIONS(3190), + [anon_sym_return] = ACTIONS(3190), + [anon_sym_break] = ACTIONS(3190), + [anon_sym_continue] = ACTIONS(3190), + [anon_sym_goto] = ACTIONS(3190), + [anon_sym___try] = ACTIONS(3190), + [anon_sym___leave] = ACTIONS(3190), + [anon_sym_not] = ACTIONS(3190), + [anon_sym_compl] = ACTIONS(3190), + [anon_sym_DASH_DASH] = ACTIONS(3192), + [anon_sym_PLUS_PLUS] = ACTIONS(3192), + [anon_sym_sizeof] = ACTIONS(3190), + [anon_sym___alignof__] = ACTIONS(3190), + [anon_sym___alignof] = ACTIONS(3190), + [anon_sym__alignof] = ACTIONS(3190), + [anon_sym_alignof] = ACTIONS(3190), + [anon_sym__Alignof] = ACTIONS(3190), + [anon_sym_offsetof] = ACTIONS(3190), + [anon_sym__Generic] = ACTIONS(3190), + [anon_sym_asm] = ACTIONS(3190), + [anon_sym___asm__] = ACTIONS(3190), + [sym__number_literal] = ACTIONS(3192), + [anon_sym_L_SQUOTE] = ACTIONS(3192), + [anon_sym_u_SQUOTE] = ACTIONS(3192), + [anon_sym_U_SQUOTE] = ACTIONS(3192), + [anon_sym_u8_SQUOTE] = ACTIONS(3192), + [anon_sym_SQUOTE] = ACTIONS(3192), + [anon_sym_L_DQUOTE] = ACTIONS(3192), + [anon_sym_u_DQUOTE] = ACTIONS(3192), + [anon_sym_U_DQUOTE] = ACTIONS(3192), + [anon_sym_u8_DQUOTE] = ACTIONS(3192), + [anon_sym_DQUOTE] = ACTIONS(3192), + [sym_true] = ACTIONS(3190), + [sym_false] = ACTIONS(3190), + [anon_sym_NULL] = ACTIONS(3190), + [anon_sym_nullptr] = ACTIONS(3190), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3192), + [sym_auto] = ACTIONS(3190), + [anon_sym_decltype] = ACTIONS(3190), + [sym_virtual] = ACTIONS(3190), + [anon_sym_explicit] = ACTIONS(3190), + [anon_sym_typename] = ACTIONS(3190), + [anon_sym_template] = ACTIONS(3190), + [anon_sym_operator] = ACTIONS(3190), + [anon_sym_try] = ACTIONS(3190), + [anon_sym_delete] = ACTIONS(3190), + [anon_sym_throw] = ACTIONS(3190), + [anon_sym_namespace] = ACTIONS(3190), + [anon_sym_using] = ACTIONS(3190), + [anon_sym_static_assert] = ACTIONS(3190), + [anon_sym_concept] = ACTIONS(3190), + [anon_sym_co_return] = ACTIONS(3190), + [anon_sym_co_yield] = ACTIONS(3190), + [anon_sym_R_DQUOTE] = ACTIONS(3192), + [anon_sym_LR_DQUOTE] = ACTIONS(3192), + [anon_sym_uR_DQUOTE] = ACTIONS(3192), + [anon_sym_UR_DQUOTE] = ACTIONS(3192), + [anon_sym_u8R_DQUOTE] = ACTIONS(3192), + [anon_sym_co_await] = ACTIONS(3190), + [anon_sym_new] = ACTIONS(3190), + [anon_sym_requires] = ACTIONS(3190), + [sym_this] = ACTIONS(3190), + }, + [622] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(25), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_SEMI] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(1871), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [623] = { + [sym__identifier] = ACTIONS(2909), + [aux_sym_preproc_include_token1] = ACTIONS(2909), + [aux_sym_preproc_def_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2909), + [sym_preproc_directive] = ACTIONS(2909), + [anon_sym_LPAREN2] = ACTIONS(2911), + [anon_sym_BANG] = ACTIONS(2911), + [anon_sym_TILDE] = ACTIONS(2911), + [anon_sym_DASH] = ACTIONS(2909), + [anon_sym_PLUS] = ACTIONS(2909), + [anon_sym_STAR] = ACTIONS(2911), + [anon_sym_AMP_AMP] = ACTIONS(2911), + [anon_sym_AMP] = ACTIONS(2909), + [anon_sym_SEMI] = ACTIONS(2911), + [anon_sym___extension__] = ACTIONS(2909), + [anon_sym_typedef] = ACTIONS(2909), + [anon_sym_extern] = ACTIONS(2909), + [anon_sym___attribute__] = ACTIONS(2909), + [anon_sym_COLON_COLON] = ACTIONS(2911), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2911), + [anon_sym___declspec] = ACTIONS(2909), + [anon_sym___based] = ACTIONS(2909), + [anon_sym___cdecl] = ACTIONS(2909), + [anon_sym___clrcall] = ACTIONS(2909), + [anon_sym___stdcall] = ACTIONS(2909), + [anon_sym___fastcall] = ACTIONS(2909), + [anon_sym___thiscall] = ACTIONS(2909), + [anon_sym___vectorcall] = ACTIONS(2909), + [anon_sym_LBRACE] = ACTIONS(2911), + [anon_sym_RBRACE] = ACTIONS(2911), + [anon_sym_signed] = ACTIONS(2909), + [anon_sym_unsigned] = ACTIONS(2909), + [anon_sym_long] = ACTIONS(2909), + [anon_sym_short] = ACTIONS(2909), + [anon_sym_LBRACK] = ACTIONS(2909), + [anon_sym_static] = ACTIONS(2909), + [anon_sym_register] = ACTIONS(2909), + [anon_sym_inline] = ACTIONS(2909), + [anon_sym___inline] = ACTIONS(2909), + [anon_sym___inline__] = ACTIONS(2909), + [anon_sym___forceinline] = ACTIONS(2909), + [anon_sym_thread_local] = ACTIONS(2909), + [anon_sym___thread] = ACTIONS(2909), + [anon_sym_const] = ACTIONS(2909), + [anon_sym_constexpr] = ACTIONS(2909), + [anon_sym_volatile] = ACTIONS(2909), + [anon_sym_restrict] = ACTIONS(2909), + [anon_sym___restrict__] = ACTIONS(2909), + [anon_sym__Atomic] = ACTIONS(2909), + [anon_sym__Noreturn] = ACTIONS(2909), + [anon_sym_noreturn] = ACTIONS(2909), + [anon_sym_mutable] = ACTIONS(2909), + [anon_sym_constinit] = ACTIONS(2909), + [anon_sym_consteval] = ACTIONS(2909), + [anon_sym_alignas] = ACTIONS(2909), + [anon_sym__Alignas] = ACTIONS(2909), + [sym_primitive_type] = ACTIONS(2909), + [anon_sym_enum] = ACTIONS(2909), + [anon_sym_class] = ACTIONS(2909), + [anon_sym_struct] = ACTIONS(2909), + [anon_sym_union] = ACTIONS(2909), + [anon_sym_if] = ACTIONS(2909), + [anon_sym_switch] = ACTIONS(2909), + [anon_sym_case] = ACTIONS(2909), + [anon_sym_default] = ACTIONS(2909), + [anon_sym_while] = ACTIONS(2909), + [anon_sym_do] = ACTIONS(2909), + [anon_sym_for] = ACTIONS(2909), + [anon_sym_return] = ACTIONS(2909), + [anon_sym_break] = ACTIONS(2909), + [anon_sym_continue] = ACTIONS(2909), + [anon_sym_goto] = ACTIONS(2909), + [anon_sym___try] = ACTIONS(2909), + [anon_sym___leave] = ACTIONS(2909), + [anon_sym_not] = ACTIONS(2909), + [anon_sym_compl] = ACTIONS(2909), + [anon_sym_DASH_DASH] = ACTIONS(2911), + [anon_sym_PLUS_PLUS] = ACTIONS(2911), + [anon_sym_sizeof] = ACTIONS(2909), + [anon_sym___alignof__] = ACTIONS(2909), + [anon_sym___alignof] = ACTIONS(2909), + [anon_sym__alignof] = ACTIONS(2909), + [anon_sym_alignof] = ACTIONS(2909), + [anon_sym__Alignof] = ACTIONS(2909), + [anon_sym_offsetof] = ACTIONS(2909), + [anon_sym__Generic] = ACTIONS(2909), + [anon_sym_asm] = ACTIONS(2909), + [anon_sym___asm__] = ACTIONS(2909), + [sym__number_literal] = ACTIONS(2911), + [anon_sym_L_SQUOTE] = ACTIONS(2911), + [anon_sym_u_SQUOTE] = ACTIONS(2911), + [anon_sym_U_SQUOTE] = ACTIONS(2911), + [anon_sym_u8_SQUOTE] = ACTIONS(2911), + [anon_sym_SQUOTE] = ACTIONS(2911), + [anon_sym_L_DQUOTE] = ACTIONS(2911), + [anon_sym_u_DQUOTE] = ACTIONS(2911), + [anon_sym_U_DQUOTE] = ACTIONS(2911), + [anon_sym_u8_DQUOTE] = ACTIONS(2911), + [anon_sym_DQUOTE] = ACTIONS(2911), + [sym_true] = ACTIONS(2909), + [sym_false] = ACTIONS(2909), + [anon_sym_NULL] = ACTIONS(2909), + [anon_sym_nullptr] = ACTIONS(2909), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2911), + [sym_auto] = ACTIONS(2909), + [anon_sym_decltype] = ACTIONS(2909), + [sym_virtual] = ACTIONS(2909), + [anon_sym_explicit] = ACTIONS(2909), + [anon_sym_typename] = ACTIONS(2909), + [anon_sym_template] = ACTIONS(2909), + [anon_sym_operator] = ACTIONS(2909), + [anon_sym_try] = ACTIONS(2909), + [anon_sym_delete] = ACTIONS(2909), + [anon_sym_throw] = ACTIONS(2909), + [anon_sym_namespace] = ACTIONS(2909), + [anon_sym_using] = ACTIONS(2909), + [anon_sym_static_assert] = ACTIONS(2909), + [anon_sym_concept] = ACTIONS(2909), + [anon_sym_co_return] = ACTIONS(2909), + [anon_sym_co_yield] = ACTIONS(2909), + [anon_sym_R_DQUOTE] = ACTIONS(2911), + [anon_sym_LR_DQUOTE] = ACTIONS(2911), + [anon_sym_uR_DQUOTE] = ACTIONS(2911), + [anon_sym_UR_DQUOTE] = ACTIONS(2911), + [anon_sym_u8R_DQUOTE] = ACTIONS(2911), + [anon_sym_co_await] = ACTIONS(2909), + [anon_sym_new] = ACTIONS(2909), + [anon_sym_requires] = ACTIONS(2909), + [sym_this] = ACTIONS(2909), + }, + [624] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_include_token1] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_BANG] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_DASH] = ACTIONS(2901), + [anon_sym_PLUS] = ACTIONS(2901), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym_SEMI] = ACTIONS(2903), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym___cdecl] = ACTIONS(2901), + [anon_sym___clrcall] = ACTIONS(2901), + [anon_sym___stdcall] = ACTIONS(2901), + [anon_sym___fastcall] = ACTIONS(2901), + [anon_sym___thiscall] = ACTIONS(2901), + [anon_sym___vectorcall] = ACTIONS(2901), + [anon_sym_LBRACE] = ACTIONS(2903), + [anon_sym_RBRACE] = ACTIONS(2903), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [anon_sym_if] = ACTIONS(2901), + [anon_sym_switch] = ACTIONS(2901), + [anon_sym_case] = ACTIONS(2901), + [anon_sym_default] = ACTIONS(2901), + [anon_sym_while] = ACTIONS(2901), + [anon_sym_do] = ACTIONS(2901), + [anon_sym_for] = ACTIONS(2901), + [anon_sym_return] = ACTIONS(2901), + [anon_sym_break] = ACTIONS(2901), + [anon_sym_continue] = ACTIONS(2901), + [anon_sym_goto] = ACTIONS(2901), + [anon_sym___try] = ACTIONS(2901), + [anon_sym___leave] = ACTIONS(2901), + [anon_sym_not] = ACTIONS(2901), + [anon_sym_compl] = ACTIONS(2901), + [anon_sym_DASH_DASH] = ACTIONS(2903), + [anon_sym_PLUS_PLUS] = ACTIONS(2903), + [anon_sym_sizeof] = ACTIONS(2901), + [anon_sym___alignof__] = ACTIONS(2901), + [anon_sym___alignof] = ACTIONS(2901), + [anon_sym__alignof] = ACTIONS(2901), + [anon_sym_alignof] = ACTIONS(2901), + [anon_sym__Alignof] = ACTIONS(2901), + [anon_sym_offsetof] = ACTIONS(2901), + [anon_sym__Generic] = ACTIONS(2901), + [anon_sym_asm] = ACTIONS(2901), + [anon_sym___asm__] = ACTIONS(2901), + [sym__number_literal] = ACTIONS(2903), + [anon_sym_L_SQUOTE] = ACTIONS(2903), + [anon_sym_u_SQUOTE] = ACTIONS(2903), + [anon_sym_U_SQUOTE] = ACTIONS(2903), + [anon_sym_u8_SQUOTE] = ACTIONS(2903), + [anon_sym_SQUOTE] = ACTIONS(2903), + [anon_sym_L_DQUOTE] = ACTIONS(2903), + [anon_sym_u_DQUOTE] = ACTIONS(2903), + [anon_sym_U_DQUOTE] = ACTIONS(2903), + [anon_sym_u8_DQUOTE] = ACTIONS(2903), + [anon_sym_DQUOTE] = ACTIONS(2903), + [sym_true] = ACTIONS(2901), + [sym_false] = ACTIONS(2901), + [anon_sym_NULL] = ACTIONS(2901), + [anon_sym_nullptr] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_try] = ACTIONS(2901), + [anon_sym_delete] = ACTIONS(2901), + [anon_sym_throw] = ACTIONS(2901), + [anon_sym_namespace] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + [anon_sym_concept] = ACTIONS(2901), + [anon_sym_co_return] = ACTIONS(2901), + [anon_sym_co_yield] = ACTIONS(2901), + [anon_sym_R_DQUOTE] = ACTIONS(2903), + [anon_sym_LR_DQUOTE] = ACTIONS(2903), + [anon_sym_uR_DQUOTE] = ACTIONS(2903), + [anon_sym_UR_DQUOTE] = ACTIONS(2903), + [anon_sym_u8R_DQUOTE] = ACTIONS(2903), + [anon_sym_co_await] = ACTIONS(2901), + [anon_sym_new] = ACTIONS(2901), + [anon_sym_requires] = ACTIONS(2901), + [sym_this] = ACTIONS(2901), + }, + [625] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_RBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [626] = { + [sym__identifier] = ACTIONS(2993), + [aux_sym_preproc_include_token1] = ACTIONS(2993), + [aux_sym_preproc_def_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2993), + [sym_preproc_directive] = ACTIONS(2993), + [anon_sym_LPAREN2] = ACTIONS(2995), + [anon_sym_BANG] = ACTIONS(2995), + [anon_sym_TILDE] = ACTIONS(2995), + [anon_sym_DASH] = ACTIONS(2993), + [anon_sym_PLUS] = ACTIONS(2993), + [anon_sym_STAR] = ACTIONS(2995), + [anon_sym_AMP_AMP] = ACTIONS(2995), + [anon_sym_AMP] = ACTIONS(2993), + [anon_sym_SEMI] = ACTIONS(2995), + [anon_sym___extension__] = ACTIONS(2993), + [anon_sym_typedef] = ACTIONS(2993), + [anon_sym_extern] = ACTIONS(2993), + [anon_sym___attribute__] = ACTIONS(2993), + [anon_sym_COLON_COLON] = ACTIONS(2995), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2995), + [anon_sym___declspec] = ACTIONS(2993), + [anon_sym___based] = ACTIONS(2993), + [anon_sym___cdecl] = ACTIONS(2993), + [anon_sym___clrcall] = ACTIONS(2993), + [anon_sym___stdcall] = ACTIONS(2993), + [anon_sym___fastcall] = ACTIONS(2993), + [anon_sym___thiscall] = ACTIONS(2993), + [anon_sym___vectorcall] = ACTIONS(2993), + [anon_sym_LBRACE] = ACTIONS(2995), + [anon_sym_RBRACE] = ACTIONS(2995), + [anon_sym_signed] = ACTIONS(2993), + [anon_sym_unsigned] = ACTIONS(2993), + [anon_sym_long] = ACTIONS(2993), + [anon_sym_short] = ACTIONS(2993), + [anon_sym_LBRACK] = ACTIONS(2993), + [anon_sym_static] = ACTIONS(2993), + [anon_sym_register] = ACTIONS(2993), + [anon_sym_inline] = ACTIONS(2993), + [anon_sym___inline] = ACTIONS(2993), + [anon_sym___inline__] = ACTIONS(2993), + [anon_sym___forceinline] = ACTIONS(2993), + [anon_sym_thread_local] = ACTIONS(2993), + [anon_sym___thread] = ACTIONS(2993), + [anon_sym_const] = ACTIONS(2993), + [anon_sym_constexpr] = ACTIONS(2993), + [anon_sym_volatile] = ACTIONS(2993), + [anon_sym_restrict] = ACTIONS(2993), + [anon_sym___restrict__] = ACTIONS(2993), + [anon_sym__Atomic] = ACTIONS(2993), + [anon_sym__Noreturn] = ACTIONS(2993), + [anon_sym_noreturn] = ACTIONS(2993), + [anon_sym_mutable] = ACTIONS(2993), + [anon_sym_constinit] = ACTIONS(2993), + [anon_sym_consteval] = ACTIONS(2993), + [anon_sym_alignas] = ACTIONS(2993), + [anon_sym__Alignas] = ACTIONS(2993), + [sym_primitive_type] = ACTIONS(2993), + [anon_sym_enum] = ACTIONS(2993), + [anon_sym_class] = ACTIONS(2993), + [anon_sym_struct] = ACTIONS(2993), + [anon_sym_union] = ACTIONS(2993), + [anon_sym_if] = ACTIONS(2993), + [anon_sym_switch] = ACTIONS(2993), + [anon_sym_case] = ACTIONS(2993), + [anon_sym_default] = ACTIONS(2993), + [anon_sym_while] = ACTIONS(2993), + [anon_sym_do] = ACTIONS(2993), + [anon_sym_for] = ACTIONS(2993), + [anon_sym_return] = ACTIONS(2993), + [anon_sym_break] = ACTIONS(2993), + [anon_sym_continue] = ACTIONS(2993), + [anon_sym_goto] = ACTIONS(2993), + [anon_sym___try] = ACTIONS(2993), + [anon_sym___leave] = ACTIONS(2993), + [anon_sym_not] = ACTIONS(2993), + [anon_sym_compl] = ACTIONS(2993), + [anon_sym_DASH_DASH] = ACTIONS(2995), + [anon_sym_PLUS_PLUS] = ACTIONS(2995), + [anon_sym_sizeof] = ACTIONS(2993), + [anon_sym___alignof__] = ACTIONS(2993), + [anon_sym___alignof] = ACTIONS(2993), + [anon_sym__alignof] = ACTIONS(2993), + [anon_sym_alignof] = ACTIONS(2993), + [anon_sym__Alignof] = ACTIONS(2993), + [anon_sym_offsetof] = ACTIONS(2993), + [anon_sym__Generic] = ACTIONS(2993), + [anon_sym_asm] = ACTIONS(2993), + [anon_sym___asm__] = ACTIONS(2993), + [sym__number_literal] = ACTIONS(2995), + [anon_sym_L_SQUOTE] = ACTIONS(2995), + [anon_sym_u_SQUOTE] = ACTIONS(2995), + [anon_sym_U_SQUOTE] = ACTIONS(2995), + [anon_sym_u8_SQUOTE] = ACTIONS(2995), + [anon_sym_SQUOTE] = ACTIONS(2995), + [anon_sym_L_DQUOTE] = ACTIONS(2995), + [anon_sym_u_DQUOTE] = ACTIONS(2995), + [anon_sym_U_DQUOTE] = ACTIONS(2995), + [anon_sym_u8_DQUOTE] = ACTIONS(2995), + [anon_sym_DQUOTE] = ACTIONS(2995), + [sym_true] = ACTIONS(2993), + [sym_false] = ACTIONS(2993), + [anon_sym_NULL] = ACTIONS(2993), + [anon_sym_nullptr] = ACTIONS(2993), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2995), + [sym_auto] = ACTIONS(2993), + [anon_sym_decltype] = ACTIONS(2993), + [sym_virtual] = ACTIONS(2993), + [anon_sym_explicit] = ACTIONS(2993), + [anon_sym_typename] = ACTIONS(2993), + [anon_sym_template] = ACTIONS(2993), + [anon_sym_operator] = ACTIONS(2993), + [anon_sym_try] = ACTIONS(2993), + [anon_sym_delete] = ACTIONS(2993), + [anon_sym_throw] = ACTIONS(2993), + [anon_sym_namespace] = ACTIONS(2993), + [anon_sym_using] = ACTIONS(2993), + [anon_sym_static_assert] = ACTIONS(2993), + [anon_sym_concept] = ACTIONS(2993), + [anon_sym_co_return] = ACTIONS(2993), + [anon_sym_co_yield] = ACTIONS(2993), + [anon_sym_R_DQUOTE] = ACTIONS(2995), + [anon_sym_LR_DQUOTE] = ACTIONS(2995), + [anon_sym_uR_DQUOTE] = ACTIONS(2995), + [anon_sym_UR_DQUOTE] = ACTIONS(2995), + [anon_sym_u8R_DQUOTE] = ACTIONS(2995), + [anon_sym_co_await] = ACTIONS(2993), + [anon_sym_new] = ACTIONS(2993), + [anon_sym_requires] = ACTIONS(2993), + [sym_this] = ACTIONS(2993), + }, + [627] = { + [sym__identifier] = ACTIONS(3118), + [aux_sym_preproc_include_token1] = ACTIONS(3118), + [aux_sym_preproc_def_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3118), + [sym_preproc_directive] = ACTIONS(3118), + [anon_sym_LPAREN2] = ACTIONS(3120), + [anon_sym_BANG] = ACTIONS(3120), + [anon_sym_TILDE] = ACTIONS(3120), + [anon_sym_DASH] = ACTIONS(3118), + [anon_sym_PLUS] = ACTIONS(3118), + [anon_sym_STAR] = ACTIONS(3120), + [anon_sym_AMP_AMP] = ACTIONS(3120), + [anon_sym_AMP] = ACTIONS(3118), + [anon_sym_SEMI] = ACTIONS(3120), + [anon_sym___extension__] = ACTIONS(3118), + [anon_sym_typedef] = ACTIONS(3118), + [anon_sym_extern] = ACTIONS(3118), + [anon_sym___attribute__] = ACTIONS(3118), + [anon_sym_COLON_COLON] = ACTIONS(3120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3120), + [anon_sym___declspec] = ACTIONS(3118), + [anon_sym___based] = ACTIONS(3118), + [anon_sym___cdecl] = ACTIONS(3118), + [anon_sym___clrcall] = ACTIONS(3118), + [anon_sym___stdcall] = ACTIONS(3118), + [anon_sym___fastcall] = ACTIONS(3118), + [anon_sym___thiscall] = ACTIONS(3118), + [anon_sym___vectorcall] = ACTIONS(3118), + [anon_sym_LBRACE] = ACTIONS(3120), + [anon_sym_RBRACE] = ACTIONS(3120), + [anon_sym_signed] = ACTIONS(3118), + [anon_sym_unsigned] = ACTIONS(3118), + [anon_sym_long] = ACTIONS(3118), + [anon_sym_short] = ACTIONS(3118), + [anon_sym_LBRACK] = ACTIONS(3118), + [anon_sym_static] = ACTIONS(3118), + [anon_sym_register] = ACTIONS(3118), + [anon_sym_inline] = ACTIONS(3118), + [anon_sym___inline] = ACTIONS(3118), + [anon_sym___inline__] = ACTIONS(3118), + [anon_sym___forceinline] = ACTIONS(3118), + [anon_sym_thread_local] = ACTIONS(3118), + [anon_sym___thread] = ACTIONS(3118), + [anon_sym_const] = ACTIONS(3118), + [anon_sym_constexpr] = ACTIONS(3118), + [anon_sym_volatile] = ACTIONS(3118), + [anon_sym_restrict] = ACTIONS(3118), + [anon_sym___restrict__] = ACTIONS(3118), + [anon_sym__Atomic] = ACTIONS(3118), + [anon_sym__Noreturn] = ACTIONS(3118), + [anon_sym_noreturn] = ACTIONS(3118), + [anon_sym_mutable] = ACTIONS(3118), + [anon_sym_constinit] = ACTIONS(3118), + [anon_sym_consteval] = ACTIONS(3118), + [anon_sym_alignas] = ACTIONS(3118), + [anon_sym__Alignas] = ACTIONS(3118), + [sym_primitive_type] = ACTIONS(3118), + [anon_sym_enum] = ACTIONS(3118), + [anon_sym_class] = ACTIONS(3118), + [anon_sym_struct] = ACTIONS(3118), + [anon_sym_union] = ACTIONS(3118), + [anon_sym_if] = ACTIONS(3118), + [anon_sym_switch] = ACTIONS(3118), + [anon_sym_case] = ACTIONS(3118), + [anon_sym_default] = ACTIONS(3118), + [anon_sym_while] = ACTIONS(3118), + [anon_sym_do] = ACTIONS(3118), + [anon_sym_for] = ACTIONS(3118), + [anon_sym_return] = ACTIONS(3118), + [anon_sym_break] = ACTIONS(3118), + [anon_sym_continue] = ACTIONS(3118), + [anon_sym_goto] = ACTIONS(3118), + [anon_sym___try] = ACTIONS(3118), + [anon_sym___leave] = ACTIONS(3118), + [anon_sym_not] = ACTIONS(3118), + [anon_sym_compl] = ACTIONS(3118), + [anon_sym_DASH_DASH] = ACTIONS(3120), + [anon_sym_PLUS_PLUS] = ACTIONS(3120), + [anon_sym_sizeof] = ACTIONS(3118), + [anon_sym___alignof__] = ACTIONS(3118), + [anon_sym___alignof] = ACTIONS(3118), + [anon_sym__alignof] = ACTIONS(3118), + [anon_sym_alignof] = ACTIONS(3118), + [anon_sym__Alignof] = ACTIONS(3118), + [anon_sym_offsetof] = ACTIONS(3118), + [anon_sym__Generic] = ACTIONS(3118), + [anon_sym_asm] = ACTIONS(3118), + [anon_sym___asm__] = ACTIONS(3118), + [sym__number_literal] = ACTIONS(3120), + [anon_sym_L_SQUOTE] = ACTIONS(3120), + [anon_sym_u_SQUOTE] = ACTIONS(3120), + [anon_sym_U_SQUOTE] = ACTIONS(3120), + [anon_sym_u8_SQUOTE] = ACTIONS(3120), + [anon_sym_SQUOTE] = ACTIONS(3120), + [anon_sym_L_DQUOTE] = ACTIONS(3120), + [anon_sym_u_DQUOTE] = ACTIONS(3120), + [anon_sym_U_DQUOTE] = ACTIONS(3120), + [anon_sym_u8_DQUOTE] = ACTIONS(3120), + [anon_sym_DQUOTE] = ACTIONS(3120), + [sym_true] = ACTIONS(3118), + [sym_false] = ACTIONS(3118), + [anon_sym_NULL] = ACTIONS(3118), + [anon_sym_nullptr] = ACTIONS(3118), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3120), + [sym_auto] = ACTIONS(3118), + [anon_sym_decltype] = ACTIONS(3118), + [sym_virtual] = ACTIONS(3118), + [anon_sym_explicit] = ACTIONS(3118), + [anon_sym_typename] = ACTIONS(3118), + [anon_sym_template] = ACTIONS(3118), + [anon_sym_operator] = ACTIONS(3118), + [anon_sym_try] = ACTIONS(3118), + [anon_sym_delete] = ACTIONS(3118), + [anon_sym_throw] = ACTIONS(3118), + [anon_sym_namespace] = ACTIONS(3118), + [anon_sym_using] = ACTIONS(3118), + [anon_sym_static_assert] = ACTIONS(3118), + [anon_sym_concept] = ACTIONS(3118), + [anon_sym_co_return] = ACTIONS(3118), + [anon_sym_co_yield] = ACTIONS(3118), + [anon_sym_R_DQUOTE] = ACTIONS(3120), + [anon_sym_LR_DQUOTE] = ACTIONS(3120), + [anon_sym_uR_DQUOTE] = ACTIONS(3120), + [anon_sym_UR_DQUOTE] = ACTIONS(3120), + [anon_sym_u8R_DQUOTE] = ACTIONS(3120), + [anon_sym_co_await] = ACTIONS(3118), + [anon_sym_new] = ACTIONS(3118), + [anon_sym_requires] = ACTIONS(3118), + [sym_this] = ACTIONS(3118), + }, + [628] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_include_token1] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_BANG] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_DASH] = ACTIONS(3122), + [anon_sym_PLUS] = ACTIONS(3122), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym_SEMI] = ACTIONS(3124), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym___cdecl] = ACTIONS(3122), + [anon_sym___clrcall] = ACTIONS(3122), + [anon_sym___stdcall] = ACTIONS(3122), + [anon_sym___fastcall] = ACTIONS(3122), + [anon_sym___thiscall] = ACTIONS(3122), + [anon_sym___vectorcall] = ACTIONS(3122), + [anon_sym_LBRACE] = ACTIONS(3124), + [anon_sym_RBRACE] = ACTIONS(3124), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [anon_sym_if] = ACTIONS(3122), + [anon_sym_switch] = ACTIONS(3122), + [anon_sym_case] = ACTIONS(3122), + [anon_sym_default] = ACTIONS(3122), + [anon_sym_while] = ACTIONS(3122), + [anon_sym_do] = ACTIONS(3122), + [anon_sym_for] = ACTIONS(3122), + [anon_sym_return] = ACTIONS(3122), + [anon_sym_break] = ACTIONS(3122), + [anon_sym_continue] = ACTIONS(3122), + [anon_sym_goto] = ACTIONS(3122), + [anon_sym___try] = ACTIONS(3122), + [anon_sym___leave] = ACTIONS(3122), + [anon_sym_not] = ACTIONS(3122), + [anon_sym_compl] = ACTIONS(3122), + [anon_sym_DASH_DASH] = ACTIONS(3124), + [anon_sym_PLUS_PLUS] = ACTIONS(3124), + [anon_sym_sizeof] = ACTIONS(3122), + [anon_sym___alignof__] = ACTIONS(3122), + [anon_sym___alignof] = ACTIONS(3122), + [anon_sym__alignof] = ACTIONS(3122), + [anon_sym_alignof] = ACTIONS(3122), + [anon_sym__Alignof] = ACTIONS(3122), + [anon_sym_offsetof] = ACTIONS(3122), + [anon_sym__Generic] = ACTIONS(3122), + [anon_sym_asm] = ACTIONS(3122), + [anon_sym___asm__] = ACTIONS(3122), + [sym__number_literal] = ACTIONS(3124), + [anon_sym_L_SQUOTE] = ACTIONS(3124), + [anon_sym_u_SQUOTE] = ACTIONS(3124), + [anon_sym_U_SQUOTE] = ACTIONS(3124), + [anon_sym_u8_SQUOTE] = ACTIONS(3124), + [anon_sym_SQUOTE] = ACTIONS(3124), + [anon_sym_L_DQUOTE] = ACTIONS(3124), + [anon_sym_u_DQUOTE] = ACTIONS(3124), + [anon_sym_U_DQUOTE] = ACTIONS(3124), + [anon_sym_u8_DQUOTE] = ACTIONS(3124), + [anon_sym_DQUOTE] = ACTIONS(3124), + [sym_true] = ACTIONS(3122), + [sym_false] = ACTIONS(3122), + [anon_sym_NULL] = ACTIONS(3122), + [anon_sym_nullptr] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_try] = ACTIONS(3122), + [anon_sym_delete] = ACTIONS(3122), + [anon_sym_throw] = ACTIONS(3122), + [anon_sym_namespace] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + [anon_sym_concept] = ACTIONS(3122), + [anon_sym_co_return] = ACTIONS(3122), + [anon_sym_co_yield] = ACTIONS(3122), + [anon_sym_R_DQUOTE] = ACTIONS(3124), + [anon_sym_LR_DQUOTE] = ACTIONS(3124), + [anon_sym_uR_DQUOTE] = ACTIONS(3124), + [anon_sym_UR_DQUOTE] = ACTIONS(3124), + [anon_sym_u8R_DQUOTE] = ACTIONS(3124), + [anon_sym_co_await] = ACTIONS(3122), + [anon_sym_new] = ACTIONS(3122), + [anon_sym_requires] = ACTIONS(3122), + [sym_this] = ACTIONS(3122), + }, + [629] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_include_token1] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_BANG] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_DASH] = ACTIONS(2948), + [anon_sym_PLUS] = ACTIONS(2948), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym_SEMI] = ACTIONS(2950), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym___cdecl] = ACTIONS(2948), + [anon_sym___clrcall] = ACTIONS(2948), + [anon_sym___stdcall] = ACTIONS(2948), + [anon_sym___fastcall] = ACTIONS(2948), + [anon_sym___thiscall] = ACTIONS(2948), + [anon_sym___vectorcall] = ACTIONS(2948), + [anon_sym_LBRACE] = ACTIONS(2950), + [anon_sym_RBRACE] = ACTIONS(2950), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [anon_sym_if] = ACTIONS(2948), + [anon_sym_switch] = ACTIONS(2948), + [anon_sym_case] = ACTIONS(2948), + [anon_sym_default] = ACTIONS(2948), + [anon_sym_while] = ACTIONS(2948), + [anon_sym_do] = ACTIONS(2948), + [anon_sym_for] = ACTIONS(2948), + [anon_sym_return] = ACTIONS(2948), + [anon_sym_break] = ACTIONS(2948), + [anon_sym_continue] = ACTIONS(2948), + [anon_sym_goto] = ACTIONS(2948), + [anon_sym___try] = ACTIONS(2948), + [anon_sym___leave] = ACTIONS(2948), + [anon_sym_not] = ACTIONS(2948), + [anon_sym_compl] = ACTIONS(2948), + [anon_sym_DASH_DASH] = ACTIONS(2950), + [anon_sym_PLUS_PLUS] = ACTIONS(2950), + [anon_sym_sizeof] = ACTIONS(2948), + [anon_sym___alignof__] = ACTIONS(2948), + [anon_sym___alignof] = ACTIONS(2948), + [anon_sym__alignof] = ACTIONS(2948), + [anon_sym_alignof] = ACTIONS(2948), + [anon_sym__Alignof] = ACTIONS(2948), + [anon_sym_offsetof] = ACTIONS(2948), + [anon_sym__Generic] = ACTIONS(2948), + [anon_sym_asm] = ACTIONS(2948), + [anon_sym___asm__] = ACTIONS(2948), + [sym__number_literal] = ACTIONS(2950), + [anon_sym_L_SQUOTE] = ACTIONS(2950), + [anon_sym_u_SQUOTE] = ACTIONS(2950), + [anon_sym_U_SQUOTE] = ACTIONS(2950), + [anon_sym_u8_SQUOTE] = ACTIONS(2950), + [anon_sym_SQUOTE] = ACTIONS(2950), + [anon_sym_L_DQUOTE] = ACTIONS(2950), + [anon_sym_u_DQUOTE] = ACTIONS(2950), + [anon_sym_U_DQUOTE] = ACTIONS(2950), + [anon_sym_u8_DQUOTE] = ACTIONS(2950), + [anon_sym_DQUOTE] = ACTIONS(2950), + [sym_true] = ACTIONS(2948), + [sym_false] = ACTIONS(2948), + [anon_sym_NULL] = ACTIONS(2948), + [anon_sym_nullptr] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_try] = ACTIONS(2948), + [anon_sym_delete] = ACTIONS(2948), + [anon_sym_throw] = ACTIONS(2948), + [anon_sym_namespace] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + [anon_sym_concept] = ACTIONS(2948), + [anon_sym_co_return] = ACTIONS(2948), + [anon_sym_co_yield] = ACTIONS(2948), + [anon_sym_R_DQUOTE] = ACTIONS(2950), + [anon_sym_LR_DQUOTE] = ACTIONS(2950), + [anon_sym_uR_DQUOTE] = ACTIONS(2950), + [anon_sym_UR_DQUOTE] = ACTIONS(2950), + [anon_sym_u8R_DQUOTE] = ACTIONS(2950), + [anon_sym_co_await] = ACTIONS(2948), + [anon_sym_new] = ACTIONS(2948), + [anon_sym_requires] = ACTIONS(2948), + [sym_this] = ACTIONS(2948), + }, + [630] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_RBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [631] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_include_token1] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token2] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_BANG] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_DASH] = ACTIONS(3138), + [anon_sym_PLUS] = ACTIONS(3138), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym_SEMI] = ACTIONS(3140), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym___cdecl] = ACTIONS(3138), + [anon_sym___clrcall] = ACTIONS(3138), + [anon_sym___stdcall] = ACTIONS(3138), + [anon_sym___fastcall] = ACTIONS(3138), + [anon_sym___thiscall] = ACTIONS(3138), + [anon_sym___vectorcall] = ACTIONS(3138), + [anon_sym_LBRACE] = ACTIONS(3140), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [anon_sym_if] = ACTIONS(3138), + [anon_sym_switch] = ACTIONS(3138), + [anon_sym_case] = ACTIONS(3138), + [anon_sym_default] = ACTIONS(3138), + [anon_sym_while] = ACTIONS(3138), + [anon_sym_do] = ACTIONS(3138), + [anon_sym_for] = ACTIONS(3138), + [anon_sym_return] = ACTIONS(3138), + [anon_sym_break] = ACTIONS(3138), + [anon_sym_continue] = ACTIONS(3138), + [anon_sym_goto] = ACTIONS(3138), + [anon_sym___try] = ACTIONS(3138), + [anon_sym___leave] = ACTIONS(3138), + [anon_sym_not] = ACTIONS(3138), + [anon_sym_compl] = ACTIONS(3138), + [anon_sym_DASH_DASH] = ACTIONS(3140), + [anon_sym_PLUS_PLUS] = ACTIONS(3140), + [anon_sym_sizeof] = ACTIONS(3138), + [anon_sym___alignof__] = ACTIONS(3138), + [anon_sym___alignof] = ACTIONS(3138), + [anon_sym__alignof] = ACTIONS(3138), + [anon_sym_alignof] = ACTIONS(3138), + [anon_sym__Alignof] = ACTIONS(3138), + [anon_sym_offsetof] = ACTIONS(3138), + [anon_sym__Generic] = ACTIONS(3138), + [anon_sym_asm] = ACTIONS(3138), + [anon_sym___asm__] = ACTIONS(3138), + [sym__number_literal] = ACTIONS(3140), + [anon_sym_L_SQUOTE] = ACTIONS(3140), + [anon_sym_u_SQUOTE] = ACTIONS(3140), + [anon_sym_U_SQUOTE] = ACTIONS(3140), + [anon_sym_u8_SQUOTE] = ACTIONS(3140), + [anon_sym_SQUOTE] = ACTIONS(3140), + [anon_sym_L_DQUOTE] = ACTIONS(3140), + [anon_sym_u_DQUOTE] = ACTIONS(3140), + [anon_sym_U_DQUOTE] = ACTIONS(3140), + [anon_sym_u8_DQUOTE] = ACTIONS(3140), + [anon_sym_DQUOTE] = ACTIONS(3140), + [sym_true] = ACTIONS(3138), + [sym_false] = ACTIONS(3138), + [anon_sym_NULL] = ACTIONS(3138), + [anon_sym_nullptr] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_try] = ACTIONS(3138), + [anon_sym_delete] = ACTIONS(3138), + [anon_sym_throw] = ACTIONS(3138), + [anon_sym_namespace] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + [anon_sym_concept] = ACTIONS(3138), + [anon_sym_co_return] = ACTIONS(3138), + [anon_sym_co_yield] = ACTIONS(3138), + [anon_sym_R_DQUOTE] = ACTIONS(3140), + [anon_sym_LR_DQUOTE] = ACTIONS(3140), + [anon_sym_uR_DQUOTE] = ACTIONS(3140), + [anon_sym_UR_DQUOTE] = ACTIONS(3140), + [anon_sym_u8R_DQUOTE] = ACTIONS(3140), + [anon_sym_co_await] = ACTIONS(3138), + [anon_sym_new] = ACTIONS(3138), + [anon_sym_requires] = ACTIONS(3138), + [sym_this] = ACTIONS(3138), + }, + [632] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_include_token1] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_BANG] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_DASH] = ACTIONS(3114), + [anon_sym_PLUS] = ACTIONS(3114), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym_SEMI] = ACTIONS(3116), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym___cdecl] = ACTIONS(3114), + [anon_sym___clrcall] = ACTIONS(3114), + [anon_sym___stdcall] = ACTIONS(3114), + [anon_sym___fastcall] = ACTIONS(3114), + [anon_sym___thiscall] = ACTIONS(3114), + [anon_sym___vectorcall] = ACTIONS(3114), + [anon_sym_LBRACE] = ACTIONS(3116), + [anon_sym_RBRACE] = ACTIONS(3116), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [anon_sym_if] = ACTIONS(3114), + [anon_sym_switch] = ACTIONS(3114), + [anon_sym_case] = ACTIONS(3114), + [anon_sym_default] = ACTIONS(3114), + [anon_sym_while] = ACTIONS(3114), + [anon_sym_do] = ACTIONS(3114), + [anon_sym_for] = ACTIONS(3114), + [anon_sym_return] = ACTIONS(3114), + [anon_sym_break] = ACTIONS(3114), + [anon_sym_continue] = ACTIONS(3114), + [anon_sym_goto] = ACTIONS(3114), + [anon_sym___try] = ACTIONS(3114), + [anon_sym___leave] = ACTIONS(3114), + [anon_sym_not] = ACTIONS(3114), + [anon_sym_compl] = ACTIONS(3114), + [anon_sym_DASH_DASH] = ACTIONS(3116), + [anon_sym_PLUS_PLUS] = ACTIONS(3116), + [anon_sym_sizeof] = ACTIONS(3114), + [anon_sym___alignof__] = ACTIONS(3114), + [anon_sym___alignof] = ACTIONS(3114), + [anon_sym__alignof] = ACTIONS(3114), + [anon_sym_alignof] = ACTIONS(3114), + [anon_sym__Alignof] = ACTIONS(3114), + [anon_sym_offsetof] = ACTIONS(3114), + [anon_sym__Generic] = ACTIONS(3114), + [anon_sym_asm] = ACTIONS(3114), + [anon_sym___asm__] = ACTIONS(3114), + [sym__number_literal] = ACTIONS(3116), + [anon_sym_L_SQUOTE] = ACTIONS(3116), + [anon_sym_u_SQUOTE] = ACTIONS(3116), + [anon_sym_U_SQUOTE] = ACTIONS(3116), + [anon_sym_u8_SQUOTE] = ACTIONS(3116), + [anon_sym_SQUOTE] = ACTIONS(3116), + [anon_sym_L_DQUOTE] = ACTIONS(3116), + [anon_sym_u_DQUOTE] = ACTIONS(3116), + [anon_sym_U_DQUOTE] = ACTIONS(3116), + [anon_sym_u8_DQUOTE] = ACTIONS(3116), + [anon_sym_DQUOTE] = ACTIONS(3116), + [sym_true] = ACTIONS(3114), + [sym_false] = ACTIONS(3114), + [anon_sym_NULL] = ACTIONS(3114), + [anon_sym_nullptr] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_try] = ACTIONS(3114), + [anon_sym_delete] = ACTIONS(3114), + [anon_sym_throw] = ACTIONS(3114), + [anon_sym_namespace] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + [anon_sym_concept] = ACTIONS(3114), + [anon_sym_co_return] = ACTIONS(3114), + [anon_sym_co_yield] = ACTIONS(3114), + [anon_sym_R_DQUOTE] = ACTIONS(3116), + [anon_sym_LR_DQUOTE] = ACTIONS(3116), + [anon_sym_uR_DQUOTE] = ACTIONS(3116), + [anon_sym_UR_DQUOTE] = ACTIONS(3116), + [anon_sym_u8R_DQUOTE] = ACTIONS(3116), + [anon_sym_co_await] = ACTIONS(3114), + [anon_sym_new] = ACTIONS(3114), + [anon_sym_requires] = ACTIONS(3114), + [sym_this] = ACTIONS(3114), + }, + [633] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_include_token1] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_BANG] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_DASH] = ACTIONS(3182), + [anon_sym_PLUS] = ACTIONS(3182), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym_SEMI] = ACTIONS(3184), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym___cdecl] = ACTIONS(3182), + [anon_sym___clrcall] = ACTIONS(3182), + [anon_sym___stdcall] = ACTIONS(3182), + [anon_sym___fastcall] = ACTIONS(3182), + [anon_sym___thiscall] = ACTIONS(3182), + [anon_sym___vectorcall] = ACTIONS(3182), + [anon_sym_LBRACE] = ACTIONS(3184), + [anon_sym_RBRACE] = ACTIONS(3184), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [anon_sym_if] = ACTIONS(3182), + [anon_sym_switch] = ACTIONS(3182), + [anon_sym_case] = ACTIONS(3182), + [anon_sym_default] = ACTIONS(3182), + [anon_sym_while] = ACTIONS(3182), + [anon_sym_do] = ACTIONS(3182), + [anon_sym_for] = ACTIONS(3182), + [anon_sym_return] = ACTIONS(3182), + [anon_sym_break] = ACTIONS(3182), + [anon_sym_continue] = ACTIONS(3182), + [anon_sym_goto] = ACTIONS(3182), + [anon_sym___try] = ACTIONS(3182), + [anon_sym___leave] = ACTIONS(3182), + [anon_sym_not] = ACTIONS(3182), + [anon_sym_compl] = ACTIONS(3182), + [anon_sym_DASH_DASH] = ACTIONS(3184), + [anon_sym_PLUS_PLUS] = ACTIONS(3184), + [anon_sym_sizeof] = ACTIONS(3182), + [anon_sym___alignof__] = ACTIONS(3182), + [anon_sym___alignof] = ACTIONS(3182), + [anon_sym__alignof] = ACTIONS(3182), + [anon_sym_alignof] = ACTIONS(3182), + [anon_sym__Alignof] = ACTIONS(3182), + [anon_sym_offsetof] = ACTIONS(3182), + [anon_sym__Generic] = ACTIONS(3182), + [anon_sym_asm] = ACTIONS(3182), + [anon_sym___asm__] = ACTIONS(3182), + [sym__number_literal] = ACTIONS(3184), + [anon_sym_L_SQUOTE] = ACTIONS(3184), + [anon_sym_u_SQUOTE] = ACTIONS(3184), + [anon_sym_U_SQUOTE] = ACTIONS(3184), + [anon_sym_u8_SQUOTE] = ACTIONS(3184), + [anon_sym_SQUOTE] = ACTIONS(3184), + [anon_sym_L_DQUOTE] = ACTIONS(3184), + [anon_sym_u_DQUOTE] = ACTIONS(3184), + [anon_sym_U_DQUOTE] = ACTIONS(3184), + [anon_sym_u8_DQUOTE] = ACTIONS(3184), + [anon_sym_DQUOTE] = ACTIONS(3184), + [sym_true] = ACTIONS(3182), + [sym_false] = ACTIONS(3182), + [anon_sym_NULL] = ACTIONS(3182), + [anon_sym_nullptr] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_try] = ACTIONS(3182), + [anon_sym_delete] = ACTIONS(3182), + [anon_sym_throw] = ACTIONS(3182), + [anon_sym_namespace] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + [anon_sym_concept] = ACTIONS(3182), + [anon_sym_co_return] = ACTIONS(3182), + [anon_sym_co_yield] = ACTIONS(3182), + [anon_sym_R_DQUOTE] = ACTIONS(3184), + [anon_sym_LR_DQUOTE] = ACTIONS(3184), + [anon_sym_uR_DQUOTE] = ACTIONS(3184), + [anon_sym_UR_DQUOTE] = ACTIONS(3184), + [anon_sym_u8R_DQUOTE] = ACTIONS(3184), + [anon_sym_co_await] = ACTIONS(3182), + [anon_sym_new] = ACTIONS(3182), + [anon_sym_requires] = ACTIONS(3182), + [sym_this] = ACTIONS(3182), + }, + [634] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_include_token1] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_BANG] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_DASH] = ACTIONS(3174), + [anon_sym_PLUS] = ACTIONS(3174), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym_SEMI] = ACTIONS(3176), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym___cdecl] = ACTIONS(3174), + [anon_sym___clrcall] = ACTIONS(3174), + [anon_sym___stdcall] = ACTIONS(3174), + [anon_sym___fastcall] = ACTIONS(3174), + [anon_sym___thiscall] = ACTIONS(3174), + [anon_sym___vectorcall] = ACTIONS(3174), + [anon_sym_LBRACE] = ACTIONS(3176), + [anon_sym_RBRACE] = ACTIONS(3176), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [anon_sym_if] = ACTIONS(3174), + [anon_sym_switch] = ACTIONS(3174), + [anon_sym_case] = ACTIONS(3174), + [anon_sym_default] = ACTIONS(3174), + [anon_sym_while] = ACTIONS(3174), + [anon_sym_do] = ACTIONS(3174), + [anon_sym_for] = ACTIONS(3174), + [anon_sym_return] = ACTIONS(3174), + [anon_sym_break] = ACTIONS(3174), + [anon_sym_continue] = ACTIONS(3174), + [anon_sym_goto] = ACTIONS(3174), + [anon_sym___try] = ACTIONS(3174), + [anon_sym___leave] = ACTIONS(3174), + [anon_sym_not] = ACTIONS(3174), + [anon_sym_compl] = ACTIONS(3174), + [anon_sym_DASH_DASH] = ACTIONS(3176), + [anon_sym_PLUS_PLUS] = ACTIONS(3176), + [anon_sym_sizeof] = ACTIONS(3174), + [anon_sym___alignof__] = ACTIONS(3174), + [anon_sym___alignof] = ACTIONS(3174), + [anon_sym__alignof] = ACTIONS(3174), + [anon_sym_alignof] = ACTIONS(3174), + [anon_sym__Alignof] = ACTIONS(3174), + [anon_sym_offsetof] = ACTIONS(3174), + [anon_sym__Generic] = ACTIONS(3174), + [anon_sym_asm] = ACTIONS(3174), + [anon_sym___asm__] = ACTIONS(3174), + [sym__number_literal] = ACTIONS(3176), + [anon_sym_L_SQUOTE] = ACTIONS(3176), + [anon_sym_u_SQUOTE] = ACTIONS(3176), + [anon_sym_U_SQUOTE] = ACTIONS(3176), + [anon_sym_u8_SQUOTE] = ACTIONS(3176), + [anon_sym_SQUOTE] = ACTIONS(3176), + [anon_sym_L_DQUOTE] = ACTIONS(3176), + [anon_sym_u_DQUOTE] = ACTIONS(3176), + [anon_sym_U_DQUOTE] = ACTIONS(3176), + [anon_sym_u8_DQUOTE] = ACTIONS(3176), + [anon_sym_DQUOTE] = ACTIONS(3176), + [sym_true] = ACTIONS(3174), + [sym_false] = ACTIONS(3174), + [anon_sym_NULL] = ACTIONS(3174), + [anon_sym_nullptr] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_try] = ACTIONS(3174), + [anon_sym_delete] = ACTIONS(3174), + [anon_sym_throw] = ACTIONS(3174), + [anon_sym_namespace] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + [anon_sym_concept] = ACTIONS(3174), + [anon_sym_co_return] = ACTIONS(3174), + [anon_sym_co_yield] = ACTIONS(3174), + [anon_sym_R_DQUOTE] = ACTIONS(3176), + [anon_sym_LR_DQUOTE] = ACTIONS(3176), + [anon_sym_uR_DQUOTE] = ACTIONS(3176), + [anon_sym_UR_DQUOTE] = ACTIONS(3176), + [anon_sym_u8R_DQUOTE] = ACTIONS(3176), + [anon_sym_co_await] = ACTIONS(3174), + [anon_sym_new] = ACTIONS(3174), + [anon_sym_requires] = ACTIONS(3174), + [sym_this] = ACTIONS(3174), + }, + [635] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_include_token1] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token2] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_BANG] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_DASH] = ACTIONS(3082), + [anon_sym_PLUS] = ACTIONS(3082), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym_SEMI] = ACTIONS(3084), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym___cdecl] = ACTIONS(3082), + [anon_sym___clrcall] = ACTIONS(3082), + [anon_sym___stdcall] = ACTIONS(3082), + [anon_sym___fastcall] = ACTIONS(3082), + [anon_sym___thiscall] = ACTIONS(3082), + [anon_sym___vectorcall] = ACTIONS(3082), + [anon_sym_LBRACE] = ACTIONS(3084), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [anon_sym_if] = ACTIONS(3082), + [anon_sym_switch] = ACTIONS(3082), + [anon_sym_case] = ACTIONS(3082), + [anon_sym_default] = ACTIONS(3082), + [anon_sym_while] = ACTIONS(3082), + [anon_sym_do] = ACTIONS(3082), + [anon_sym_for] = ACTIONS(3082), + [anon_sym_return] = ACTIONS(3082), + [anon_sym_break] = ACTIONS(3082), + [anon_sym_continue] = ACTIONS(3082), + [anon_sym_goto] = ACTIONS(3082), + [anon_sym___try] = ACTIONS(3082), + [anon_sym___leave] = ACTIONS(3082), + [anon_sym_not] = ACTIONS(3082), + [anon_sym_compl] = ACTIONS(3082), + [anon_sym_DASH_DASH] = ACTIONS(3084), + [anon_sym_PLUS_PLUS] = ACTIONS(3084), + [anon_sym_sizeof] = ACTIONS(3082), + [anon_sym___alignof__] = ACTIONS(3082), + [anon_sym___alignof] = ACTIONS(3082), + [anon_sym__alignof] = ACTIONS(3082), + [anon_sym_alignof] = ACTIONS(3082), + [anon_sym__Alignof] = ACTIONS(3082), + [anon_sym_offsetof] = ACTIONS(3082), + [anon_sym__Generic] = ACTIONS(3082), + [anon_sym_asm] = ACTIONS(3082), + [anon_sym___asm__] = ACTIONS(3082), + [sym__number_literal] = ACTIONS(3084), + [anon_sym_L_SQUOTE] = ACTIONS(3084), + [anon_sym_u_SQUOTE] = ACTIONS(3084), + [anon_sym_U_SQUOTE] = ACTIONS(3084), + [anon_sym_u8_SQUOTE] = ACTIONS(3084), + [anon_sym_SQUOTE] = ACTIONS(3084), + [anon_sym_L_DQUOTE] = ACTIONS(3084), + [anon_sym_u_DQUOTE] = ACTIONS(3084), + [anon_sym_U_DQUOTE] = ACTIONS(3084), + [anon_sym_u8_DQUOTE] = ACTIONS(3084), + [anon_sym_DQUOTE] = ACTIONS(3084), + [sym_true] = ACTIONS(3082), + [sym_false] = ACTIONS(3082), + [anon_sym_NULL] = ACTIONS(3082), + [anon_sym_nullptr] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_try] = ACTIONS(3082), + [anon_sym_delete] = ACTIONS(3082), + [anon_sym_throw] = ACTIONS(3082), + [anon_sym_namespace] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + [anon_sym_concept] = ACTIONS(3082), + [anon_sym_co_return] = ACTIONS(3082), + [anon_sym_co_yield] = ACTIONS(3082), + [anon_sym_R_DQUOTE] = ACTIONS(3084), + [anon_sym_LR_DQUOTE] = ACTIONS(3084), + [anon_sym_uR_DQUOTE] = ACTIONS(3084), + [anon_sym_UR_DQUOTE] = ACTIONS(3084), + [anon_sym_u8R_DQUOTE] = ACTIONS(3084), + [anon_sym_co_await] = ACTIONS(3082), + [anon_sym_new] = ACTIONS(3082), + [anon_sym_requires] = ACTIONS(3082), + [sym_this] = ACTIONS(3082), + }, + [636] = { + [sym__identifier] = ACTIONS(3013), + [aux_sym_preproc_include_token1] = ACTIONS(3013), + [aux_sym_preproc_def_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3013), + [sym_preproc_directive] = ACTIONS(3013), + [anon_sym_LPAREN2] = ACTIONS(3015), + [anon_sym_BANG] = ACTIONS(3015), + [anon_sym_TILDE] = ACTIONS(3015), + [anon_sym_DASH] = ACTIONS(3013), + [anon_sym_PLUS] = ACTIONS(3013), + [anon_sym_STAR] = ACTIONS(3015), + [anon_sym_AMP_AMP] = ACTIONS(3015), + [anon_sym_AMP] = ACTIONS(3013), + [anon_sym_SEMI] = ACTIONS(3015), + [anon_sym___extension__] = ACTIONS(3013), + [anon_sym_typedef] = ACTIONS(3013), + [anon_sym_extern] = ACTIONS(3013), + [anon_sym___attribute__] = ACTIONS(3013), + [anon_sym_COLON_COLON] = ACTIONS(3015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3015), + [anon_sym___declspec] = ACTIONS(3013), + [anon_sym___based] = ACTIONS(3013), + [anon_sym___cdecl] = ACTIONS(3013), + [anon_sym___clrcall] = ACTIONS(3013), + [anon_sym___stdcall] = ACTIONS(3013), + [anon_sym___fastcall] = ACTIONS(3013), + [anon_sym___thiscall] = ACTIONS(3013), + [anon_sym___vectorcall] = ACTIONS(3013), + [anon_sym_LBRACE] = ACTIONS(3015), + [anon_sym_RBRACE] = ACTIONS(3015), + [anon_sym_signed] = ACTIONS(3013), + [anon_sym_unsigned] = ACTIONS(3013), + [anon_sym_long] = ACTIONS(3013), + [anon_sym_short] = ACTIONS(3013), + [anon_sym_LBRACK] = ACTIONS(3013), + [anon_sym_static] = ACTIONS(3013), + [anon_sym_register] = ACTIONS(3013), + [anon_sym_inline] = ACTIONS(3013), + [anon_sym___inline] = ACTIONS(3013), + [anon_sym___inline__] = ACTIONS(3013), + [anon_sym___forceinline] = ACTIONS(3013), + [anon_sym_thread_local] = ACTIONS(3013), + [anon_sym___thread] = ACTIONS(3013), + [anon_sym_const] = ACTIONS(3013), + [anon_sym_constexpr] = ACTIONS(3013), + [anon_sym_volatile] = ACTIONS(3013), + [anon_sym_restrict] = ACTIONS(3013), + [anon_sym___restrict__] = ACTIONS(3013), + [anon_sym__Atomic] = ACTIONS(3013), + [anon_sym__Noreturn] = ACTIONS(3013), + [anon_sym_noreturn] = ACTIONS(3013), + [anon_sym_mutable] = ACTIONS(3013), + [anon_sym_constinit] = ACTIONS(3013), + [anon_sym_consteval] = ACTIONS(3013), + [anon_sym_alignas] = ACTIONS(3013), + [anon_sym__Alignas] = ACTIONS(3013), + [sym_primitive_type] = ACTIONS(3013), + [anon_sym_enum] = ACTIONS(3013), + [anon_sym_class] = ACTIONS(3013), + [anon_sym_struct] = ACTIONS(3013), + [anon_sym_union] = ACTIONS(3013), + [anon_sym_if] = ACTIONS(3013), + [anon_sym_switch] = ACTIONS(3013), + [anon_sym_case] = ACTIONS(3013), + [anon_sym_default] = ACTIONS(3013), + [anon_sym_while] = ACTIONS(3013), + [anon_sym_do] = ACTIONS(3013), + [anon_sym_for] = ACTIONS(3013), + [anon_sym_return] = ACTIONS(3013), + [anon_sym_break] = ACTIONS(3013), + [anon_sym_continue] = ACTIONS(3013), + [anon_sym_goto] = ACTIONS(3013), + [anon_sym___try] = ACTIONS(3013), + [anon_sym___leave] = ACTIONS(3013), + [anon_sym_not] = ACTIONS(3013), + [anon_sym_compl] = ACTIONS(3013), + [anon_sym_DASH_DASH] = ACTIONS(3015), + [anon_sym_PLUS_PLUS] = ACTIONS(3015), + [anon_sym_sizeof] = ACTIONS(3013), + [anon_sym___alignof__] = ACTIONS(3013), + [anon_sym___alignof] = ACTIONS(3013), + [anon_sym__alignof] = ACTIONS(3013), + [anon_sym_alignof] = ACTIONS(3013), + [anon_sym__Alignof] = ACTIONS(3013), + [anon_sym_offsetof] = ACTIONS(3013), + [anon_sym__Generic] = ACTIONS(3013), + [anon_sym_asm] = ACTIONS(3013), + [anon_sym___asm__] = ACTIONS(3013), + [sym__number_literal] = ACTIONS(3015), + [anon_sym_L_SQUOTE] = ACTIONS(3015), + [anon_sym_u_SQUOTE] = ACTIONS(3015), + [anon_sym_U_SQUOTE] = ACTIONS(3015), + [anon_sym_u8_SQUOTE] = ACTIONS(3015), + [anon_sym_SQUOTE] = ACTIONS(3015), + [anon_sym_L_DQUOTE] = ACTIONS(3015), + [anon_sym_u_DQUOTE] = ACTIONS(3015), + [anon_sym_U_DQUOTE] = ACTIONS(3015), + [anon_sym_u8_DQUOTE] = ACTIONS(3015), + [anon_sym_DQUOTE] = ACTIONS(3015), + [sym_true] = ACTIONS(3013), + [sym_false] = ACTIONS(3013), + [anon_sym_NULL] = ACTIONS(3013), + [anon_sym_nullptr] = ACTIONS(3013), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3015), + [sym_auto] = ACTIONS(3013), + [anon_sym_decltype] = ACTIONS(3013), + [sym_virtual] = ACTIONS(3013), + [anon_sym_explicit] = ACTIONS(3013), + [anon_sym_typename] = ACTIONS(3013), + [anon_sym_template] = ACTIONS(3013), + [anon_sym_operator] = ACTIONS(3013), + [anon_sym_try] = ACTIONS(3013), + [anon_sym_delete] = ACTIONS(3013), + [anon_sym_throw] = ACTIONS(3013), + [anon_sym_namespace] = ACTIONS(3013), + [anon_sym_using] = ACTIONS(3013), + [anon_sym_static_assert] = ACTIONS(3013), + [anon_sym_concept] = ACTIONS(3013), + [anon_sym_co_return] = ACTIONS(3013), + [anon_sym_co_yield] = ACTIONS(3013), + [anon_sym_R_DQUOTE] = ACTIONS(3015), + [anon_sym_LR_DQUOTE] = ACTIONS(3015), + [anon_sym_uR_DQUOTE] = ACTIONS(3015), + [anon_sym_UR_DQUOTE] = ACTIONS(3015), + [anon_sym_u8R_DQUOTE] = ACTIONS(3015), + [anon_sym_co_await] = ACTIONS(3013), + [anon_sym_new] = ACTIONS(3013), + [anon_sym_requires] = ACTIONS(3013), + [sym_this] = ACTIONS(3013), + }, + [637] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_RPAREN] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(1707), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_SEMI] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [638] = { + [sym__identifier] = ACTIONS(3078), + [aux_sym_preproc_include_token1] = ACTIONS(3078), + [aux_sym_preproc_def_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3078), + [sym_preproc_directive] = ACTIONS(3078), + [anon_sym_LPAREN2] = ACTIONS(3080), + [anon_sym_BANG] = ACTIONS(3080), + [anon_sym_TILDE] = ACTIONS(3080), + [anon_sym_DASH] = ACTIONS(3078), + [anon_sym_PLUS] = ACTIONS(3078), + [anon_sym_STAR] = ACTIONS(3080), + [anon_sym_AMP_AMP] = ACTIONS(3080), + [anon_sym_AMP] = ACTIONS(3078), + [anon_sym_SEMI] = ACTIONS(3080), + [anon_sym___extension__] = ACTIONS(3078), + [anon_sym_typedef] = ACTIONS(3078), + [anon_sym_extern] = ACTIONS(3078), + [anon_sym___attribute__] = ACTIONS(3078), + [anon_sym_COLON_COLON] = ACTIONS(3080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3080), + [anon_sym___declspec] = ACTIONS(3078), + [anon_sym___based] = ACTIONS(3078), + [anon_sym___cdecl] = ACTIONS(3078), + [anon_sym___clrcall] = ACTIONS(3078), + [anon_sym___stdcall] = ACTIONS(3078), + [anon_sym___fastcall] = ACTIONS(3078), + [anon_sym___thiscall] = ACTIONS(3078), + [anon_sym___vectorcall] = ACTIONS(3078), + [anon_sym_LBRACE] = ACTIONS(3080), + [anon_sym_RBRACE] = ACTIONS(3080), + [anon_sym_signed] = ACTIONS(3078), + [anon_sym_unsigned] = ACTIONS(3078), + [anon_sym_long] = ACTIONS(3078), + [anon_sym_short] = ACTIONS(3078), + [anon_sym_LBRACK] = ACTIONS(3078), + [anon_sym_static] = ACTIONS(3078), + [anon_sym_register] = ACTIONS(3078), + [anon_sym_inline] = ACTIONS(3078), + [anon_sym___inline] = ACTIONS(3078), + [anon_sym___inline__] = ACTIONS(3078), + [anon_sym___forceinline] = ACTIONS(3078), + [anon_sym_thread_local] = ACTIONS(3078), + [anon_sym___thread] = ACTIONS(3078), + [anon_sym_const] = ACTIONS(3078), + [anon_sym_constexpr] = ACTIONS(3078), + [anon_sym_volatile] = ACTIONS(3078), + [anon_sym_restrict] = ACTIONS(3078), + [anon_sym___restrict__] = ACTIONS(3078), + [anon_sym__Atomic] = ACTIONS(3078), + [anon_sym__Noreturn] = ACTIONS(3078), + [anon_sym_noreturn] = ACTIONS(3078), + [anon_sym_mutable] = ACTIONS(3078), + [anon_sym_constinit] = ACTIONS(3078), + [anon_sym_consteval] = ACTIONS(3078), + [anon_sym_alignas] = ACTIONS(3078), + [anon_sym__Alignas] = ACTIONS(3078), + [sym_primitive_type] = ACTIONS(3078), + [anon_sym_enum] = ACTIONS(3078), + [anon_sym_class] = ACTIONS(3078), + [anon_sym_struct] = ACTIONS(3078), + [anon_sym_union] = ACTIONS(3078), + [anon_sym_if] = ACTIONS(3078), + [anon_sym_switch] = ACTIONS(3078), + [anon_sym_case] = ACTIONS(3078), + [anon_sym_default] = ACTIONS(3078), + [anon_sym_while] = ACTIONS(3078), + [anon_sym_do] = ACTIONS(3078), + [anon_sym_for] = ACTIONS(3078), + [anon_sym_return] = ACTIONS(3078), + [anon_sym_break] = ACTIONS(3078), + [anon_sym_continue] = ACTIONS(3078), + [anon_sym_goto] = ACTIONS(3078), + [anon_sym___try] = ACTIONS(3078), + [anon_sym___leave] = ACTIONS(3078), + [anon_sym_not] = ACTIONS(3078), + [anon_sym_compl] = ACTIONS(3078), + [anon_sym_DASH_DASH] = ACTIONS(3080), + [anon_sym_PLUS_PLUS] = ACTIONS(3080), + [anon_sym_sizeof] = ACTIONS(3078), + [anon_sym___alignof__] = ACTIONS(3078), + [anon_sym___alignof] = ACTIONS(3078), + [anon_sym__alignof] = ACTIONS(3078), + [anon_sym_alignof] = ACTIONS(3078), + [anon_sym__Alignof] = ACTIONS(3078), + [anon_sym_offsetof] = ACTIONS(3078), + [anon_sym__Generic] = ACTIONS(3078), + [anon_sym_asm] = ACTIONS(3078), + [anon_sym___asm__] = ACTIONS(3078), + [sym__number_literal] = ACTIONS(3080), + [anon_sym_L_SQUOTE] = ACTIONS(3080), + [anon_sym_u_SQUOTE] = ACTIONS(3080), + [anon_sym_U_SQUOTE] = ACTIONS(3080), + [anon_sym_u8_SQUOTE] = ACTIONS(3080), + [anon_sym_SQUOTE] = ACTIONS(3080), + [anon_sym_L_DQUOTE] = ACTIONS(3080), + [anon_sym_u_DQUOTE] = ACTIONS(3080), + [anon_sym_U_DQUOTE] = ACTIONS(3080), + [anon_sym_u8_DQUOTE] = ACTIONS(3080), + [anon_sym_DQUOTE] = ACTIONS(3080), + [sym_true] = ACTIONS(3078), + [sym_false] = ACTIONS(3078), + [anon_sym_NULL] = ACTIONS(3078), + [anon_sym_nullptr] = ACTIONS(3078), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3080), + [sym_auto] = ACTIONS(3078), + [anon_sym_decltype] = ACTIONS(3078), + [sym_virtual] = ACTIONS(3078), + [anon_sym_explicit] = ACTIONS(3078), + [anon_sym_typename] = ACTIONS(3078), + [anon_sym_template] = ACTIONS(3078), + [anon_sym_operator] = ACTIONS(3078), + [anon_sym_try] = ACTIONS(3078), + [anon_sym_delete] = ACTIONS(3078), + [anon_sym_throw] = ACTIONS(3078), + [anon_sym_namespace] = ACTIONS(3078), + [anon_sym_using] = ACTIONS(3078), + [anon_sym_static_assert] = ACTIONS(3078), + [anon_sym_concept] = ACTIONS(3078), + [anon_sym_co_return] = ACTIONS(3078), + [anon_sym_co_yield] = ACTIONS(3078), + [anon_sym_R_DQUOTE] = ACTIONS(3080), + [anon_sym_LR_DQUOTE] = ACTIONS(3080), + [anon_sym_uR_DQUOTE] = ACTIONS(3080), + [anon_sym_UR_DQUOTE] = ACTIONS(3080), + [anon_sym_u8R_DQUOTE] = ACTIONS(3080), + [anon_sym_co_await] = ACTIONS(3078), + [anon_sym_new] = ACTIONS(3078), + [anon_sym_requires] = ACTIONS(3078), + [sym_this] = ACTIONS(3078), + }, + [639] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_include_token1] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token2] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_BANG] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_DASH] = ACTIONS(3092), + [anon_sym_PLUS] = ACTIONS(3092), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym_SEMI] = ACTIONS(3094), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym___cdecl] = ACTIONS(3092), + [anon_sym___clrcall] = ACTIONS(3092), + [anon_sym___stdcall] = ACTIONS(3092), + [anon_sym___fastcall] = ACTIONS(3092), + [anon_sym___thiscall] = ACTIONS(3092), + [anon_sym___vectorcall] = ACTIONS(3092), + [anon_sym_LBRACE] = ACTIONS(3094), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [anon_sym_if] = ACTIONS(3092), + [anon_sym_switch] = ACTIONS(3092), + [anon_sym_case] = ACTIONS(3092), + [anon_sym_default] = ACTIONS(3092), + [anon_sym_while] = ACTIONS(3092), + [anon_sym_do] = ACTIONS(3092), + [anon_sym_for] = ACTIONS(3092), + [anon_sym_return] = ACTIONS(3092), + [anon_sym_break] = ACTIONS(3092), + [anon_sym_continue] = ACTIONS(3092), + [anon_sym_goto] = ACTIONS(3092), + [anon_sym___try] = ACTIONS(3092), + [anon_sym___leave] = ACTIONS(3092), + [anon_sym_not] = ACTIONS(3092), + [anon_sym_compl] = ACTIONS(3092), + [anon_sym_DASH_DASH] = ACTIONS(3094), + [anon_sym_PLUS_PLUS] = ACTIONS(3094), + [anon_sym_sizeof] = ACTIONS(3092), + [anon_sym___alignof__] = ACTIONS(3092), + [anon_sym___alignof] = ACTIONS(3092), + [anon_sym__alignof] = ACTIONS(3092), + [anon_sym_alignof] = ACTIONS(3092), + [anon_sym__Alignof] = ACTIONS(3092), + [anon_sym_offsetof] = ACTIONS(3092), + [anon_sym__Generic] = ACTIONS(3092), + [anon_sym_asm] = ACTIONS(3092), + [anon_sym___asm__] = ACTIONS(3092), + [sym__number_literal] = ACTIONS(3094), + [anon_sym_L_SQUOTE] = ACTIONS(3094), + [anon_sym_u_SQUOTE] = ACTIONS(3094), + [anon_sym_U_SQUOTE] = ACTIONS(3094), + [anon_sym_u8_SQUOTE] = ACTIONS(3094), + [anon_sym_SQUOTE] = ACTIONS(3094), + [anon_sym_L_DQUOTE] = ACTIONS(3094), + [anon_sym_u_DQUOTE] = ACTIONS(3094), + [anon_sym_U_DQUOTE] = ACTIONS(3094), + [anon_sym_u8_DQUOTE] = ACTIONS(3094), + [anon_sym_DQUOTE] = ACTIONS(3094), + [sym_true] = ACTIONS(3092), + [sym_false] = ACTIONS(3092), + [anon_sym_NULL] = ACTIONS(3092), + [anon_sym_nullptr] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_try] = ACTIONS(3092), + [anon_sym_delete] = ACTIONS(3092), + [anon_sym_throw] = ACTIONS(3092), + [anon_sym_namespace] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + [anon_sym_concept] = ACTIONS(3092), + [anon_sym_co_return] = ACTIONS(3092), + [anon_sym_co_yield] = ACTIONS(3092), + [anon_sym_R_DQUOTE] = ACTIONS(3094), + [anon_sym_LR_DQUOTE] = ACTIONS(3094), + [anon_sym_uR_DQUOTE] = ACTIONS(3094), + [anon_sym_UR_DQUOTE] = ACTIONS(3094), + [anon_sym_u8R_DQUOTE] = ACTIONS(3094), + [anon_sym_co_await] = ACTIONS(3092), + [anon_sym_new] = ACTIONS(3092), + [anon_sym_requires] = ACTIONS(3092), + [sym_this] = ACTIONS(3092), + }, + [640] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_include_token1] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token2] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_BANG] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_DASH] = ACTIONS(2940), + [anon_sym_PLUS] = ACTIONS(2940), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym_SEMI] = ACTIONS(2942), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym___cdecl] = ACTIONS(2940), + [anon_sym___clrcall] = ACTIONS(2940), + [anon_sym___stdcall] = ACTIONS(2940), + [anon_sym___fastcall] = ACTIONS(2940), + [anon_sym___thiscall] = ACTIONS(2940), + [anon_sym___vectorcall] = ACTIONS(2940), + [anon_sym_LBRACE] = ACTIONS(2942), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [anon_sym_if] = ACTIONS(2940), + [anon_sym_switch] = ACTIONS(2940), + [anon_sym_case] = ACTIONS(2940), + [anon_sym_default] = ACTIONS(2940), + [anon_sym_while] = ACTIONS(2940), + [anon_sym_do] = ACTIONS(2940), + [anon_sym_for] = ACTIONS(2940), + [anon_sym_return] = ACTIONS(2940), + [anon_sym_break] = ACTIONS(2940), + [anon_sym_continue] = ACTIONS(2940), + [anon_sym_goto] = ACTIONS(2940), + [anon_sym___try] = ACTIONS(2940), + [anon_sym___leave] = ACTIONS(2940), + [anon_sym_not] = ACTIONS(2940), + [anon_sym_compl] = ACTIONS(2940), + [anon_sym_DASH_DASH] = ACTIONS(2942), + [anon_sym_PLUS_PLUS] = ACTIONS(2942), + [anon_sym_sizeof] = ACTIONS(2940), + [anon_sym___alignof__] = ACTIONS(2940), + [anon_sym___alignof] = ACTIONS(2940), + [anon_sym__alignof] = ACTIONS(2940), + [anon_sym_alignof] = ACTIONS(2940), + [anon_sym__Alignof] = ACTIONS(2940), + [anon_sym_offsetof] = ACTIONS(2940), + [anon_sym__Generic] = ACTIONS(2940), + [anon_sym_asm] = ACTIONS(2940), + [anon_sym___asm__] = ACTIONS(2940), + [sym__number_literal] = ACTIONS(2942), + [anon_sym_L_SQUOTE] = ACTIONS(2942), + [anon_sym_u_SQUOTE] = ACTIONS(2942), + [anon_sym_U_SQUOTE] = ACTIONS(2942), + [anon_sym_u8_SQUOTE] = ACTIONS(2942), + [anon_sym_SQUOTE] = ACTIONS(2942), + [anon_sym_L_DQUOTE] = ACTIONS(2942), + [anon_sym_u_DQUOTE] = ACTIONS(2942), + [anon_sym_U_DQUOTE] = ACTIONS(2942), + [anon_sym_u8_DQUOTE] = ACTIONS(2942), + [anon_sym_DQUOTE] = ACTIONS(2942), + [sym_true] = ACTIONS(2940), + [sym_false] = ACTIONS(2940), + [anon_sym_NULL] = ACTIONS(2940), + [anon_sym_nullptr] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_try] = ACTIONS(2940), + [anon_sym_delete] = ACTIONS(2940), + [anon_sym_throw] = ACTIONS(2940), + [anon_sym_namespace] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + [anon_sym_concept] = ACTIONS(2940), + [anon_sym_co_return] = ACTIONS(2940), + [anon_sym_co_yield] = ACTIONS(2940), + [anon_sym_R_DQUOTE] = ACTIONS(2942), + [anon_sym_LR_DQUOTE] = ACTIONS(2942), + [anon_sym_uR_DQUOTE] = ACTIONS(2942), + [anon_sym_UR_DQUOTE] = ACTIONS(2942), + [anon_sym_u8R_DQUOTE] = ACTIONS(2942), + [anon_sym_co_await] = ACTIONS(2940), + [anon_sym_new] = ACTIONS(2940), + [anon_sym_requires] = ACTIONS(2940), + [sym_this] = ACTIONS(2940), + }, + [641] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_include_token1] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token2] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_BANG] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_DASH] = ACTIONS(2967), + [anon_sym_PLUS] = ACTIONS(2967), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym_SEMI] = ACTIONS(2969), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym___cdecl] = ACTIONS(2967), + [anon_sym___clrcall] = ACTIONS(2967), + [anon_sym___stdcall] = ACTIONS(2967), + [anon_sym___fastcall] = ACTIONS(2967), + [anon_sym___thiscall] = ACTIONS(2967), + [anon_sym___vectorcall] = ACTIONS(2967), + [anon_sym_LBRACE] = ACTIONS(2969), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [anon_sym_if] = ACTIONS(2967), + [anon_sym_switch] = ACTIONS(2967), + [anon_sym_case] = ACTIONS(2967), + [anon_sym_default] = ACTIONS(2967), + [anon_sym_while] = ACTIONS(2967), + [anon_sym_do] = ACTIONS(2967), + [anon_sym_for] = ACTIONS(2967), + [anon_sym_return] = ACTIONS(2967), + [anon_sym_break] = ACTIONS(2967), + [anon_sym_continue] = ACTIONS(2967), + [anon_sym_goto] = ACTIONS(2967), + [anon_sym___try] = ACTIONS(2967), + [anon_sym___leave] = ACTIONS(2967), + [anon_sym_not] = ACTIONS(2967), + [anon_sym_compl] = ACTIONS(2967), + [anon_sym_DASH_DASH] = ACTIONS(2969), + [anon_sym_PLUS_PLUS] = ACTIONS(2969), + [anon_sym_sizeof] = ACTIONS(2967), + [anon_sym___alignof__] = ACTIONS(2967), + [anon_sym___alignof] = ACTIONS(2967), + [anon_sym__alignof] = ACTIONS(2967), + [anon_sym_alignof] = ACTIONS(2967), + [anon_sym__Alignof] = ACTIONS(2967), + [anon_sym_offsetof] = ACTIONS(2967), + [anon_sym__Generic] = ACTIONS(2967), + [anon_sym_asm] = ACTIONS(2967), + [anon_sym___asm__] = ACTIONS(2967), + [sym__number_literal] = ACTIONS(2969), + [anon_sym_L_SQUOTE] = ACTIONS(2969), + [anon_sym_u_SQUOTE] = ACTIONS(2969), + [anon_sym_U_SQUOTE] = ACTIONS(2969), + [anon_sym_u8_SQUOTE] = ACTIONS(2969), + [anon_sym_SQUOTE] = ACTIONS(2969), + [anon_sym_L_DQUOTE] = ACTIONS(2969), + [anon_sym_u_DQUOTE] = ACTIONS(2969), + [anon_sym_U_DQUOTE] = ACTIONS(2969), + [anon_sym_u8_DQUOTE] = ACTIONS(2969), + [anon_sym_DQUOTE] = ACTIONS(2969), + [sym_true] = ACTIONS(2967), + [sym_false] = ACTIONS(2967), + [anon_sym_NULL] = ACTIONS(2967), + [anon_sym_nullptr] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_try] = ACTIONS(2967), + [anon_sym_delete] = ACTIONS(2967), + [anon_sym_throw] = ACTIONS(2967), + [anon_sym_namespace] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + [anon_sym_concept] = ACTIONS(2967), + [anon_sym_co_return] = ACTIONS(2967), + [anon_sym_co_yield] = ACTIONS(2967), + [anon_sym_R_DQUOTE] = ACTIONS(2969), + [anon_sym_LR_DQUOTE] = ACTIONS(2969), + [anon_sym_uR_DQUOTE] = ACTIONS(2969), + [anon_sym_UR_DQUOTE] = ACTIONS(2969), + [anon_sym_u8R_DQUOTE] = ACTIONS(2969), + [anon_sym_co_await] = ACTIONS(2967), + [anon_sym_new] = ACTIONS(2967), + [anon_sym_requires] = ACTIONS(2967), + [sym_this] = ACTIONS(2967), + }, + [642] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_include_token1] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_BANG] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_DASH] = ACTIONS(3150), + [anon_sym_PLUS] = ACTIONS(3150), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym_SEMI] = ACTIONS(3152), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym___cdecl] = ACTIONS(3150), + [anon_sym___clrcall] = ACTIONS(3150), + [anon_sym___stdcall] = ACTIONS(3150), + [anon_sym___fastcall] = ACTIONS(3150), + [anon_sym___thiscall] = ACTIONS(3150), + [anon_sym___vectorcall] = ACTIONS(3150), + [anon_sym_LBRACE] = ACTIONS(3152), + [anon_sym_RBRACE] = ACTIONS(3152), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [anon_sym_if] = ACTIONS(3150), + [anon_sym_switch] = ACTIONS(3150), + [anon_sym_case] = ACTIONS(3150), + [anon_sym_default] = ACTIONS(3150), + [anon_sym_while] = ACTIONS(3150), + [anon_sym_do] = ACTIONS(3150), + [anon_sym_for] = ACTIONS(3150), + [anon_sym_return] = ACTIONS(3150), + [anon_sym_break] = ACTIONS(3150), + [anon_sym_continue] = ACTIONS(3150), + [anon_sym_goto] = ACTIONS(3150), + [anon_sym___try] = ACTIONS(3150), + [anon_sym___leave] = ACTIONS(3150), + [anon_sym_not] = ACTIONS(3150), + [anon_sym_compl] = ACTIONS(3150), + [anon_sym_DASH_DASH] = ACTIONS(3152), + [anon_sym_PLUS_PLUS] = ACTIONS(3152), + [anon_sym_sizeof] = ACTIONS(3150), + [anon_sym___alignof__] = ACTIONS(3150), + [anon_sym___alignof] = ACTIONS(3150), + [anon_sym__alignof] = ACTIONS(3150), + [anon_sym_alignof] = ACTIONS(3150), + [anon_sym__Alignof] = ACTIONS(3150), + [anon_sym_offsetof] = ACTIONS(3150), + [anon_sym__Generic] = ACTIONS(3150), + [anon_sym_asm] = ACTIONS(3150), + [anon_sym___asm__] = ACTIONS(3150), + [sym__number_literal] = ACTIONS(3152), + [anon_sym_L_SQUOTE] = ACTIONS(3152), + [anon_sym_u_SQUOTE] = ACTIONS(3152), + [anon_sym_U_SQUOTE] = ACTIONS(3152), + [anon_sym_u8_SQUOTE] = ACTIONS(3152), + [anon_sym_SQUOTE] = ACTIONS(3152), + [anon_sym_L_DQUOTE] = ACTIONS(3152), + [anon_sym_u_DQUOTE] = ACTIONS(3152), + [anon_sym_U_DQUOTE] = ACTIONS(3152), + [anon_sym_u8_DQUOTE] = ACTIONS(3152), + [anon_sym_DQUOTE] = ACTIONS(3152), + [sym_true] = ACTIONS(3150), + [sym_false] = ACTIONS(3150), + [anon_sym_NULL] = ACTIONS(3150), + [anon_sym_nullptr] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_try] = ACTIONS(3150), + [anon_sym_delete] = ACTIONS(3150), + [anon_sym_throw] = ACTIONS(3150), + [anon_sym_namespace] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + [anon_sym_concept] = ACTIONS(3150), + [anon_sym_co_return] = ACTIONS(3150), + [anon_sym_co_yield] = ACTIONS(3150), + [anon_sym_R_DQUOTE] = ACTIONS(3152), + [anon_sym_LR_DQUOTE] = ACTIONS(3152), + [anon_sym_uR_DQUOTE] = ACTIONS(3152), + [anon_sym_UR_DQUOTE] = ACTIONS(3152), + [anon_sym_u8R_DQUOTE] = ACTIONS(3152), + [anon_sym_co_await] = ACTIONS(3150), + [anon_sym_new] = ACTIONS(3150), + [anon_sym_requires] = ACTIONS(3150), + [sym_this] = ACTIONS(3150), + }, + [643] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_include_token1] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_BANG] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_DASH] = ACTIONS(3130), + [anon_sym_PLUS] = ACTIONS(3130), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym_SEMI] = ACTIONS(3132), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym___cdecl] = ACTIONS(3130), + [anon_sym___clrcall] = ACTIONS(3130), + [anon_sym___stdcall] = ACTIONS(3130), + [anon_sym___fastcall] = ACTIONS(3130), + [anon_sym___thiscall] = ACTIONS(3130), + [anon_sym___vectorcall] = ACTIONS(3130), + [anon_sym_LBRACE] = ACTIONS(3132), + [anon_sym_RBRACE] = ACTIONS(3132), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [anon_sym_if] = ACTIONS(3130), + [anon_sym_switch] = ACTIONS(3130), + [anon_sym_case] = ACTIONS(3130), + [anon_sym_default] = ACTIONS(3130), + [anon_sym_while] = ACTIONS(3130), + [anon_sym_do] = ACTIONS(3130), + [anon_sym_for] = ACTIONS(3130), + [anon_sym_return] = ACTIONS(3130), + [anon_sym_break] = ACTIONS(3130), + [anon_sym_continue] = ACTIONS(3130), + [anon_sym_goto] = ACTIONS(3130), + [anon_sym___try] = ACTIONS(3130), + [anon_sym___leave] = ACTIONS(3130), + [anon_sym_not] = ACTIONS(3130), + [anon_sym_compl] = ACTIONS(3130), + [anon_sym_DASH_DASH] = ACTIONS(3132), + [anon_sym_PLUS_PLUS] = ACTIONS(3132), + [anon_sym_sizeof] = ACTIONS(3130), + [anon_sym___alignof__] = ACTIONS(3130), + [anon_sym___alignof] = ACTIONS(3130), + [anon_sym__alignof] = ACTIONS(3130), + [anon_sym_alignof] = ACTIONS(3130), + [anon_sym__Alignof] = ACTIONS(3130), + [anon_sym_offsetof] = ACTIONS(3130), + [anon_sym__Generic] = ACTIONS(3130), + [anon_sym_asm] = ACTIONS(3130), + [anon_sym___asm__] = ACTIONS(3130), + [sym__number_literal] = ACTIONS(3132), + [anon_sym_L_SQUOTE] = ACTIONS(3132), + [anon_sym_u_SQUOTE] = ACTIONS(3132), + [anon_sym_U_SQUOTE] = ACTIONS(3132), + [anon_sym_u8_SQUOTE] = ACTIONS(3132), + [anon_sym_SQUOTE] = ACTIONS(3132), + [anon_sym_L_DQUOTE] = ACTIONS(3132), + [anon_sym_u_DQUOTE] = ACTIONS(3132), + [anon_sym_U_DQUOTE] = ACTIONS(3132), + [anon_sym_u8_DQUOTE] = ACTIONS(3132), + [anon_sym_DQUOTE] = ACTIONS(3132), + [sym_true] = ACTIONS(3130), + [sym_false] = ACTIONS(3130), + [anon_sym_NULL] = ACTIONS(3130), + [anon_sym_nullptr] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_try] = ACTIONS(3130), + [anon_sym_delete] = ACTIONS(3130), + [anon_sym_throw] = ACTIONS(3130), + [anon_sym_namespace] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + [anon_sym_concept] = ACTIONS(3130), + [anon_sym_co_return] = ACTIONS(3130), + [anon_sym_co_yield] = ACTIONS(3130), + [anon_sym_R_DQUOTE] = ACTIONS(3132), + [anon_sym_LR_DQUOTE] = ACTIONS(3132), + [anon_sym_uR_DQUOTE] = ACTIONS(3132), + [anon_sym_UR_DQUOTE] = ACTIONS(3132), + [anon_sym_u8R_DQUOTE] = ACTIONS(3132), + [anon_sym_co_await] = ACTIONS(3130), + [anon_sym_new] = ACTIONS(3130), + [anon_sym_requires] = ACTIONS(3130), + [sym_this] = ACTIONS(3130), + }, + [644] = { + [ts_builtin_sym_end] = ACTIONS(2402), + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_include_token1] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [anon_sym_RPAREN] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_case] = ACTIONS(2404), + [anon_sym_default] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_namespace] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [645] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_include_token1] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_BANG] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_DASH] = ACTIONS(2919), + [anon_sym_PLUS] = ACTIONS(2919), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym_SEMI] = ACTIONS(2921), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym___cdecl] = ACTIONS(2919), + [anon_sym___clrcall] = ACTIONS(2919), + [anon_sym___stdcall] = ACTIONS(2919), + [anon_sym___fastcall] = ACTIONS(2919), + [anon_sym___thiscall] = ACTIONS(2919), + [anon_sym___vectorcall] = ACTIONS(2919), + [anon_sym_LBRACE] = ACTIONS(2921), + [anon_sym_RBRACE] = ACTIONS(2921), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [anon_sym_if] = ACTIONS(2919), + [anon_sym_switch] = ACTIONS(2919), + [anon_sym_case] = ACTIONS(2919), + [anon_sym_default] = ACTIONS(2919), + [anon_sym_while] = ACTIONS(2919), + [anon_sym_do] = ACTIONS(2919), + [anon_sym_for] = ACTIONS(2919), + [anon_sym_return] = ACTIONS(2919), + [anon_sym_break] = ACTIONS(2919), + [anon_sym_continue] = ACTIONS(2919), + [anon_sym_goto] = ACTIONS(2919), + [anon_sym___try] = ACTIONS(2919), + [anon_sym___leave] = ACTIONS(2919), + [anon_sym_not] = ACTIONS(2919), + [anon_sym_compl] = ACTIONS(2919), + [anon_sym_DASH_DASH] = ACTIONS(2921), + [anon_sym_PLUS_PLUS] = ACTIONS(2921), + [anon_sym_sizeof] = ACTIONS(2919), + [anon_sym___alignof__] = ACTIONS(2919), + [anon_sym___alignof] = ACTIONS(2919), + [anon_sym__alignof] = ACTIONS(2919), + [anon_sym_alignof] = ACTIONS(2919), + [anon_sym__Alignof] = ACTIONS(2919), + [anon_sym_offsetof] = ACTIONS(2919), + [anon_sym__Generic] = ACTIONS(2919), + [anon_sym_asm] = ACTIONS(2919), + [anon_sym___asm__] = ACTIONS(2919), + [sym__number_literal] = ACTIONS(2921), + [anon_sym_L_SQUOTE] = ACTIONS(2921), + [anon_sym_u_SQUOTE] = ACTIONS(2921), + [anon_sym_U_SQUOTE] = ACTIONS(2921), + [anon_sym_u8_SQUOTE] = ACTIONS(2921), + [anon_sym_SQUOTE] = ACTIONS(2921), + [anon_sym_L_DQUOTE] = ACTIONS(2921), + [anon_sym_u_DQUOTE] = ACTIONS(2921), + [anon_sym_U_DQUOTE] = ACTIONS(2921), + [anon_sym_u8_DQUOTE] = ACTIONS(2921), + [anon_sym_DQUOTE] = ACTIONS(2921), + [sym_true] = ACTIONS(2919), + [sym_false] = ACTIONS(2919), + [anon_sym_NULL] = ACTIONS(2919), + [anon_sym_nullptr] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_try] = ACTIONS(2919), + [anon_sym_delete] = ACTIONS(2919), + [anon_sym_throw] = ACTIONS(2919), + [anon_sym_namespace] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + [anon_sym_concept] = ACTIONS(2919), + [anon_sym_co_return] = ACTIONS(2919), + [anon_sym_co_yield] = ACTIONS(2919), + [anon_sym_R_DQUOTE] = ACTIONS(2921), + [anon_sym_LR_DQUOTE] = ACTIONS(2921), + [anon_sym_uR_DQUOTE] = ACTIONS(2921), + [anon_sym_UR_DQUOTE] = ACTIONS(2921), + [anon_sym_u8R_DQUOTE] = ACTIONS(2921), + [anon_sym_co_await] = ACTIONS(2919), + [anon_sym_new] = ACTIONS(2919), + [anon_sym_requires] = ACTIONS(2919), + [sym_this] = ACTIONS(2919), + }, + [646] = { + [sym__identifier] = ACTIONS(3108), + [aux_sym_preproc_include_token1] = ACTIONS(3108), + [aux_sym_preproc_def_token1] = ACTIONS(3108), + [aux_sym_preproc_if_token1] = ACTIONS(3108), + [aux_sym_preproc_if_token2] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3108), + [sym_preproc_directive] = ACTIONS(3108), + [anon_sym_LPAREN2] = ACTIONS(3111), + [anon_sym_BANG] = ACTIONS(3111), + [anon_sym_TILDE] = ACTIONS(3111), + [anon_sym_DASH] = ACTIONS(3108), + [anon_sym_PLUS] = ACTIONS(3108), + [anon_sym_STAR] = ACTIONS(3111), + [anon_sym_AMP_AMP] = ACTIONS(3111), + [anon_sym_AMP] = ACTIONS(3108), + [anon_sym_SEMI] = ACTIONS(3111), + [anon_sym___extension__] = ACTIONS(3108), + [anon_sym_typedef] = ACTIONS(3108), + [anon_sym_extern] = ACTIONS(3108), + [anon_sym___attribute__] = ACTIONS(3108), + [anon_sym_COLON_COLON] = ACTIONS(3111), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3111), + [anon_sym___declspec] = ACTIONS(3108), + [anon_sym___based] = ACTIONS(3108), + [anon_sym___cdecl] = ACTIONS(3108), + [anon_sym___clrcall] = ACTIONS(3108), + [anon_sym___stdcall] = ACTIONS(3108), + [anon_sym___fastcall] = ACTIONS(3108), + [anon_sym___thiscall] = ACTIONS(3108), + [anon_sym___vectorcall] = ACTIONS(3108), + [anon_sym_LBRACE] = ACTIONS(3111), + [anon_sym_signed] = ACTIONS(3108), + [anon_sym_unsigned] = ACTIONS(3108), + [anon_sym_long] = ACTIONS(3108), + [anon_sym_short] = ACTIONS(3108), + [anon_sym_LBRACK] = ACTIONS(3108), + [anon_sym_static] = ACTIONS(3108), + [anon_sym_register] = ACTIONS(3108), + [anon_sym_inline] = ACTIONS(3108), + [anon_sym___inline] = ACTIONS(3108), + [anon_sym___inline__] = ACTIONS(3108), + [anon_sym___forceinline] = ACTIONS(3108), + [anon_sym_thread_local] = ACTIONS(3108), + [anon_sym___thread] = ACTIONS(3108), + [anon_sym_const] = ACTIONS(3108), + [anon_sym_constexpr] = ACTIONS(3108), + [anon_sym_volatile] = ACTIONS(3108), + [anon_sym_restrict] = ACTIONS(3108), + [anon_sym___restrict__] = ACTIONS(3108), + [anon_sym__Atomic] = ACTIONS(3108), + [anon_sym__Noreturn] = ACTIONS(3108), + [anon_sym_noreturn] = ACTIONS(3108), + [anon_sym_mutable] = ACTIONS(3108), + [anon_sym_constinit] = ACTIONS(3108), + [anon_sym_consteval] = ACTIONS(3108), + [anon_sym_alignas] = ACTIONS(3108), + [anon_sym__Alignas] = ACTIONS(3108), + [sym_primitive_type] = ACTIONS(3108), + [anon_sym_enum] = ACTIONS(3108), + [anon_sym_class] = ACTIONS(3108), + [anon_sym_struct] = ACTIONS(3108), + [anon_sym_union] = ACTIONS(3108), + [anon_sym_if] = ACTIONS(3108), + [anon_sym_switch] = ACTIONS(3108), + [anon_sym_case] = ACTIONS(3108), + [anon_sym_default] = ACTIONS(3108), + [anon_sym_while] = ACTIONS(3108), + [anon_sym_do] = ACTIONS(3108), + [anon_sym_for] = ACTIONS(3108), + [anon_sym_return] = ACTIONS(3108), + [anon_sym_break] = ACTIONS(3108), + [anon_sym_continue] = ACTIONS(3108), + [anon_sym_goto] = ACTIONS(3108), + [anon_sym___try] = ACTIONS(3108), + [anon_sym___leave] = ACTIONS(3108), + [anon_sym_not] = ACTIONS(3108), + [anon_sym_compl] = ACTIONS(3108), + [anon_sym_DASH_DASH] = ACTIONS(3111), + [anon_sym_PLUS_PLUS] = ACTIONS(3111), + [anon_sym_sizeof] = ACTIONS(3108), + [anon_sym___alignof__] = ACTIONS(3108), + [anon_sym___alignof] = ACTIONS(3108), + [anon_sym__alignof] = ACTIONS(3108), + [anon_sym_alignof] = ACTIONS(3108), + [anon_sym__Alignof] = ACTIONS(3108), + [anon_sym_offsetof] = ACTIONS(3108), + [anon_sym__Generic] = ACTIONS(3108), + [anon_sym_asm] = ACTIONS(3108), + [anon_sym___asm__] = ACTIONS(3108), + [sym__number_literal] = ACTIONS(3111), + [anon_sym_L_SQUOTE] = ACTIONS(3111), + [anon_sym_u_SQUOTE] = ACTIONS(3111), + [anon_sym_U_SQUOTE] = ACTIONS(3111), + [anon_sym_u8_SQUOTE] = ACTIONS(3111), + [anon_sym_SQUOTE] = ACTIONS(3111), + [anon_sym_L_DQUOTE] = ACTIONS(3111), + [anon_sym_u_DQUOTE] = ACTIONS(3111), + [anon_sym_U_DQUOTE] = ACTIONS(3111), + [anon_sym_u8_DQUOTE] = ACTIONS(3111), + [anon_sym_DQUOTE] = ACTIONS(3111), + [sym_true] = ACTIONS(3108), + [sym_false] = ACTIONS(3108), + [anon_sym_NULL] = ACTIONS(3108), + [anon_sym_nullptr] = ACTIONS(3108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3111), + [sym_auto] = ACTIONS(3108), + [anon_sym_decltype] = ACTIONS(3108), + [sym_virtual] = ACTIONS(3108), + [anon_sym_explicit] = ACTIONS(3108), + [anon_sym_typename] = ACTIONS(3108), + [anon_sym_template] = ACTIONS(3108), + [anon_sym_operator] = ACTIONS(3108), + [anon_sym_try] = ACTIONS(3108), + [anon_sym_delete] = ACTIONS(3108), + [anon_sym_throw] = ACTIONS(3108), + [anon_sym_namespace] = ACTIONS(3108), + [anon_sym_using] = ACTIONS(3108), + [anon_sym_static_assert] = ACTIONS(3108), + [anon_sym_concept] = ACTIONS(3108), + [anon_sym_co_return] = ACTIONS(3108), + [anon_sym_co_yield] = ACTIONS(3108), + [anon_sym_R_DQUOTE] = ACTIONS(3111), + [anon_sym_LR_DQUOTE] = ACTIONS(3111), + [anon_sym_uR_DQUOTE] = ACTIONS(3111), + [anon_sym_UR_DQUOTE] = ACTIONS(3111), + [anon_sym_u8R_DQUOTE] = ACTIONS(3111), + [anon_sym_co_await] = ACTIONS(3108), + [anon_sym_new] = ACTIONS(3108), + [anon_sym_requires] = ACTIONS(3108), + [sym_this] = ACTIONS(3108), + }, + [647] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym_SEMI] = ACTIONS(3102), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym___try] = ACTIONS(3100), + [anon_sym___leave] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [648] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_include_token1] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_BANG] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_DASH] = ACTIONS(3092), + [anon_sym_PLUS] = ACTIONS(3092), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym_SEMI] = ACTIONS(3094), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym___cdecl] = ACTIONS(3092), + [anon_sym___clrcall] = ACTIONS(3092), + [anon_sym___stdcall] = ACTIONS(3092), + [anon_sym___fastcall] = ACTIONS(3092), + [anon_sym___thiscall] = ACTIONS(3092), + [anon_sym___vectorcall] = ACTIONS(3092), + [anon_sym_LBRACE] = ACTIONS(3094), + [anon_sym_RBRACE] = ACTIONS(3094), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [anon_sym_if] = ACTIONS(3092), + [anon_sym_switch] = ACTIONS(3092), + [anon_sym_case] = ACTIONS(3092), + [anon_sym_default] = ACTIONS(3092), + [anon_sym_while] = ACTIONS(3092), + [anon_sym_do] = ACTIONS(3092), + [anon_sym_for] = ACTIONS(3092), + [anon_sym_return] = ACTIONS(3092), + [anon_sym_break] = ACTIONS(3092), + [anon_sym_continue] = ACTIONS(3092), + [anon_sym_goto] = ACTIONS(3092), + [anon_sym___try] = ACTIONS(3092), + [anon_sym___leave] = ACTIONS(3092), + [anon_sym_not] = ACTIONS(3092), + [anon_sym_compl] = ACTIONS(3092), + [anon_sym_DASH_DASH] = ACTIONS(3094), + [anon_sym_PLUS_PLUS] = ACTIONS(3094), + [anon_sym_sizeof] = ACTIONS(3092), + [anon_sym___alignof__] = ACTIONS(3092), + [anon_sym___alignof] = ACTIONS(3092), + [anon_sym__alignof] = ACTIONS(3092), + [anon_sym_alignof] = ACTIONS(3092), + [anon_sym__Alignof] = ACTIONS(3092), + [anon_sym_offsetof] = ACTIONS(3092), + [anon_sym__Generic] = ACTIONS(3092), + [anon_sym_asm] = ACTIONS(3092), + [anon_sym___asm__] = ACTIONS(3092), + [sym__number_literal] = ACTIONS(3094), + [anon_sym_L_SQUOTE] = ACTIONS(3094), + [anon_sym_u_SQUOTE] = ACTIONS(3094), + [anon_sym_U_SQUOTE] = ACTIONS(3094), + [anon_sym_u8_SQUOTE] = ACTIONS(3094), + [anon_sym_SQUOTE] = ACTIONS(3094), + [anon_sym_L_DQUOTE] = ACTIONS(3094), + [anon_sym_u_DQUOTE] = ACTIONS(3094), + [anon_sym_U_DQUOTE] = ACTIONS(3094), + [anon_sym_u8_DQUOTE] = ACTIONS(3094), + [anon_sym_DQUOTE] = ACTIONS(3094), + [sym_true] = ACTIONS(3092), + [sym_false] = ACTIONS(3092), + [anon_sym_NULL] = ACTIONS(3092), + [anon_sym_nullptr] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_try] = ACTIONS(3092), + [anon_sym_delete] = ACTIONS(3092), + [anon_sym_throw] = ACTIONS(3092), + [anon_sym_namespace] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + [anon_sym_concept] = ACTIONS(3092), + [anon_sym_co_return] = ACTIONS(3092), + [anon_sym_co_yield] = ACTIONS(3092), + [anon_sym_R_DQUOTE] = ACTIONS(3094), + [anon_sym_LR_DQUOTE] = ACTIONS(3094), + [anon_sym_uR_DQUOTE] = ACTIONS(3094), + [anon_sym_UR_DQUOTE] = ACTIONS(3094), + [anon_sym_u8R_DQUOTE] = ACTIONS(3094), + [anon_sym_co_await] = ACTIONS(3092), + [anon_sym_new] = ACTIONS(3092), + [anon_sym_requires] = ACTIONS(3092), + [sym_this] = ACTIONS(3092), + }, + [649] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_include_token1] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_BANG] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_DASH] = ACTIONS(3082), + [anon_sym_PLUS] = ACTIONS(3082), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym_SEMI] = ACTIONS(3084), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym___cdecl] = ACTIONS(3082), + [anon_sym___clrcall] = ACTIONS(3082), + [anon_sym___stdcall] = ACTIONS(3082), + [anon_sym___fastcall] = ACTIONS(3082), + [anon_sym___thiscall] = ACTIONS(3082), + [anon_sym___vectorcall] = ACTIONS(3082), + [anon_sym_LBRACE] = ACTIONS(3084), + [anon_sym_RBRACE] = ACTIONS(3084), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [anon_sym_if] = ACTIONS(3082), + [anon_sym_switch] = ACTIONS(3082), + [anon_sym_case] = ACTIONS(3082), + [anon_sym_default] = ACTIONS(3082), + [anon_sym_while] = ACTIONS(3082), + [anon_sym_do] = ACTIONS(3082), + [anon_sym_for] = ACTIONS(3082), + [anon_sym_return] = ACTIONS(3082), + [anon_sym_break] = ACTIONS(3082), + [anon_sym_continue] = ACTIONS(3082), + [anon_sym_goto] = ACTIONS(3082), + [anon_sym___try] = ACTIONS(3082), + [anon_sym___leave] = ACTIONS(3082), + [anon_sym_not] = ACTIONS(3082), + [anon_sym_compl] = ACTIONS(3082), + [anon_sym_DASH_DASH] = ACTIONS(3084), + [anon_sym_PLUS_PLUS] = ACTIONS(3084), + [anon_sym_sizeof] = ACTIONS(3082), + [anon_sym___alignof__] = ACTIONS(3082), + [anon_sym___alignof] = ACTIONS(3082), + [anon_sym__alignof] = ACTIONS(3082), + [anon_sym_alignof] = ACTIONS(3082), + [anon_sym__Alignof] = ACTIONS(3082), + [anon_sym_offsetof] = ACTIONS(3082), + [anon_sym__Generic] = ACTIONS(3082), + [anon_sym_asm] = ACTIONS(3082), + [anon_sym___asm__] = ACTIONS(3082), + [sym__number_literal] = ACTIONS(3084), + [anon_sym_L_SQUOTE] = ACTIONS(3084), + [anon_sym_u_SQUOTE] = ACTIONS(3084), + [anon_sym_U_SQUOTE] = ACTIONS(3084), + [anon_sym_u8_SQUOTE] = ACTIONS(3084), + [anon_sym_SQUOTE] = ACTIONS(3084), + [anon_sym_L_DQUOTE] = ACTIONS(3084), + [anon_sym_u_DQUOTE] = ACTIONS(3084), + [anon_sym_U_DQUOTE] = ACTIONS(3084), + [anon_sym_u8_DQUOTE] = ACTIONS(3084), + [anon_sym_DQUOTE] = ACTIONS(3084), + [sym_true] = ACTIONS(3082), + [sym_false] = ACTIONS(3082), + [anon_sym_NULL] = ACTIONS(3082), + [anon_sym_nullptr] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_try] = ACTIONS(3082), + [anon_sym_delete] = ACTIONS(3082), + [anon_sym_throw] = ACTIONS(3082), + [anon_sym_namespace] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + [anon_sym_concept] = ACTIONS(3082), + [anon_sym_co_return] = ACTIONS(3082), + [anon_sym_co_yield] = ACTIONS(3082), + [anon_sym_R_DQUOTE] = ACTIONS(3084), + [anon_sym_LR_DQUOTE] = ACTIONS(3084), + [anon_sym_uR_DQUOTE] = ACTIONS(3084), + [anon_sym_UR_DQUOTE] = ACTIONS(3084), + [anon_sym_u8R_DQUOTE] = ACTIONS(3084), + [anon_sym_co_await] = ACTIONS(3082), + [anon_sym_new] = ACTIONS(3082), + [anon_sym_requires] = ACTIONS(3082), + [sym_this] = ACTIONS(3082), + }, + [650] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_include_token1] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token2] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_BANG] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_DASH] = ACTIONS(2948), + [anon_sym_PLUS] = ACTIONS(2948), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym_SEMI] = ACTIONS(2950), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym___cdecl] = ACTIONS(2948), + [anon_sym___clrcall] = ACTIONS(2948), + [anon_sym___stdcall] = ACTIONS(2948), + [anon_sym___fastcall] = ACTIONS(2948), + [anon_sym___thiscall] = ACTIONS(2948), + [anon_sym___vectorcall] = ACTIONS(2948), + [anon_sym_LBRACE] = ACTIONS(2950), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [anon_sym_if] = ACTIONS(2948), + [anon_sym_switch] = ACTIONS(2948), + [anon_sym_case] = ACTIONS(2948), + [anon_sym_default] = ACTIONS(2948), + [anon_sym_while] = ACTIONS(2948), + [anon_sym_do] = ACTIONS(2948), + [anon_sym_for] = ACTIONS(2948), + [anon_sym_return] = ACTIONS(2948), + [anon_sym_break] = ACTIONS(2948), + [anon_sym_continue] = ACTIONS(2948), + [anon_sym_goto] = ACTIONS(2948), + [anon_sym___try] = ACTIONS(2948), + [anon_sym___leave] = ACTIONS(2948), + [anon_sym_not] = ACTIONS(2948), + [anon_sym_compl] = ACTIONS(2948), + [anon_sym_DASH_DASH] = ACTIONS(2950), + [anon_sym_PLUS_PLUS] = ACTIONS(2950), + [anon_sym_sizeof] = ACTIONS(2948), + [anon_sym___alignof__] = ACTIONS(2948), + [anon_sym___alignof] = ACTIONS(2948), + [anon_sym__alignof] = ACTIONS(2948), + [anon_sym_alignof] = ACTIONS(2948), + [anon_sym__Alignof] = ACTIONS(2948), + [anon_sym_offsetof] = ACTIONS(2948), + [anon_sym__Generic] = ACTIONS(2948), + [anon_sym_asm] = ACTIONS(2948), + [anon_sym___asm__] = ACTIONS(2948), + [sym__number_literal] = ACTIONS(2950), + [anon_sym_L_SQUOTE] = ACTIONS(2950), + [anon_sym_u_SQUOTE] = ACTIONS(2950), + [anon_sym_U_SQUOTE] = ACTIONS(2950), + [anon_sym_u8_SQUOTE] = ACTIONS(2950), + [anon_sym_SQUOTE] = ACTIONS(2950), + [anon_sym_L_DQUOTE] = ACTIONS(2950), + [anon_sym_u_DQUOTE] = ACTIONS(2950), + [anon_sym_U_DQUOTE] = ACTIONS(2950), + [anon_sym_u8_DQUOTE] = ACTIONS(2950), + [anon_sym_DQUOTE] = ACTIONS(2950), + [sym_true] = ACTIONS(2948), + [sym_false] = ACTIONS(2948), + [anon_sym_NULL] = ACTIONS(2948), + [anon_sym_nullptr] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_try] = ACTIONS(2948), + [anon_sym_delete] = ACTIONS(2948), + [anon_sym_throw] = ACTIONS(2948), + [anon_sym_namespace] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + [anon_sym_concept] = ACTIONS(2948), + [anon_sym_co_return] = ACTIONS(2948), + [anon_sym_co_yield] = ACTIONS(2948), + [anon_sym_R_DQUOTE] = ACTIONS(2950), + [anon_sym_LR_DQUOTE] = ACTIONS(2950), + [anon_sym_uR_DQUOTE] = ACTIONS(2950), + [anon_sym_UR_DQUOTE] = ACTIONS(2950), + [anon_sym_u8R_DQUOTE] = ACTIONS(2950), + [anon_sym_co_await] = ACTIONS(2948), + [anon_sym_new] = ACTIONS(2948), + [anon_sym_requires] = ACTIONS(2948), + [sym_this] = ACTIONS(2948), + }, + [651] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_include_token1] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_BANG] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_DASH] = ACTIONS(3070), + [anon_sym_PLUS] = ACTIONS(3070), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym_SEMI] = ACTIONS(3072), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym___cdecl] = ACTIONS(3070), + [anon_sym___clrcall] = ACTIONS(3070), + [anon_sym___stdcall] = ACTIONS(3070), + [anon_sym___fastcall] = ACTIONS(3070), + [anon_sym___thiscall] = ACTIONS(3070), + [anon_sym___vectorcall] = ACTIONS(3070), + [anon_sym_LBRACE] = ACTIONS(3072), + [anon_sym_RBRACE] = ACTIONS(3072), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [anon_sym_if] = ACTIONS(3070), + [anon_sym_switch] = ACTIONS(3070), + [anon_sym_case] = ACTIONS(3070), + [anon_sym_default] = ACTIONS(3070), + [anon_sym_while] = ACTIONS(3070), + [anon_sym_do] = ACTIONS(3070), + [anon_sym_for] = ACTIONS(3070), + [anon_sym_return] = ACTIONS(3070), + [anon_sym_break] = ACTIONS(3070), + [anon_sym_continue] = ACTIONS(3070), + [anon_sym_goto] = ACTIONS(3070), + [anon_sym___try] = ACTIONS(3070), + [anon_sym___leave] = ACTIONS(3070), + [anon_sym_not] = ACTIONS(3070), + [anon_sym_compl] = ACTIONS(3070), + [anon_sym_DASH_DASH] = ACTIONS(3072), + [anon_sym_PLUS_PLUS] = ACTIONS(3072), + [anon_sym_sizeof] = ACTIONS(3070), + [anon_sym___alignof__] = ACTIONS(3070), + [anon_sym___alignof] = ACTIONS(3070), + [anon_sym__alignof] = ACTIONS(3070), + [anon_sym_alignof] = ACTIONS(3070), + [anon_sym__Alignof] = ACTIONS(3070), + [anon_sym_offsetof] = ACTIONS(3070), + [anon_sym__Generic] = ACTIONS(3070), + [anon_sym_asm] = ACTIONS(3070), + [anon_sym___asm__] = ACTIONS(3070), + [sym__number_literal] = ACTIONS(3072), + [anon_sym_L_SQUOTE] = ACTIONS(3072), + [anon_sym_u_SQUOTE] = ACTIONS(3072), + [anon_sym_U_SQUOTE] = ACTIONS(3072), + [anon_sym_u8_SQUOTE] = ACTIONS(3072), + [anon_sym_SQUOTE] = ACTIONS(3072), + [anon_sym_L_DQUOTE] = ACTIONS(3072), + [anon_sym_u_DQUOTE] = ACTIONS(3072), + [anon_sym_U_DQUOTE] = ACTIONS(3072), + [anon_sym_u8_DQUOTE] = ACTIONS(3072), + [anon_sym_DQUOTE] = ACTIONS(3072), + [sym_true] = ACTIONS(3070), + [sym_false] = ACTIONS(3070), + [anon_sym_NULL] = ACTIONS(3070), + [anon_sym_nullptr] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_try] = ACTIONS(3070), + [anon_sym_delete] = ACTIONS(3070), + [anon_sym_throw] = ACTIONS(3070), + [anon_sym_namespace] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + [anon_sym_concept] = ACTIONS(3070), + [anon_sym_co_return] = ACTIONS(3070), + [anon_sym_co_yield] = ACTIONS(3070), + [anon_sym_R_DQUOTE] = ACTIONS(3072), + [anon_sym_LR_DQUOTE] = ACTIONS(3072), + [anon_sym_uR_DQUOTE] = ACTIONS(3072), + [anon_sym_UR_DQUOTE] = ACTIONS(3072), + [anon_sym_u8R_DQUOTE] = ACTIONS(3072), + [anon_sym_co_await] = ACTIONS(3070), + [anon_sym_new] = ACTIONS(3070), + [anon_sym_requires] = ACTIONS(3070), + [sym_this] = ACTIONS(3070), + }, + [652] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_include_token1] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_BANG] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_DASH] = ACTIONS(3134), + [anon_sym_PLUS] = ACTIONS(3134), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym_SEMI] = ACTIONS(3136), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym___cdecl] = ACTIONS(3134), + [anon_sym___clrcall] = ACTIONS(3134), + [anon_sym___stdcall] = ACTIONS(3134), + [anon_sym___fastcall] = ACTIONS(3134), + [anon_sym___thiscall] = ACTIONS(3134), + [anon_sym___vectorcall] = ACTIONS(3134), + [anon_sym_LBRACE] = ACTIONS(3136), + [anon_sym_RBRACE] = ACTIONS(3136), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [anon_sym_if] = ACTIONS(3134), + [anon_sym_switch] = ACTIONS(3134), + [anon_sym_case] = ACTIONS(3134), + [anon_sym_default] = ACTIONS(3134), + [anon_sym_while] = ACTIONS(3134), + [anon_sym_do] = ACTIONS(3134), + [anon_sym_for] = ACTIONS(3134), + [anon_sym_return] = ACTIONS(3134), + [anon_sym_break] = ACTIONS(3134), + [anon_sym_continue] = ACTIONS(3134), + [anon_sym_goto] = ACTIONS(3134), + [anon_sym___try] = ACTIONS(3134), + [anon_sym___leave] = ACTIONS(3134), + [anon_sym_not] = ACTIONS(3134), + [anon_sym_compl] = ACTIONS(3134), + [anon_sym_DASH_DASH] = ACTIONS(3136), + [anon_sym_PLUS_PLUS] = ACTIONS(3136), + [anon_sym_sizeof] = ACTIONS(3134), + [anon_sym___alignof__] = ACTIONS(3134), + [anon_sym___alignof] = ACTIONS(3134), + [anon_sym__alignof] = ACTIONS(3134), + [anon_sym_alignof] = ACTIONS(3134), + [anon_sym__Alignof] = ACTIONS(3134), + [anon_sym_offsetof] = ACTIONS(3134), + [anon_sym__Generic] = ACTIONS(3134), + [anon_sym_asm] = ACTIONS(3134), + [anon_sym___asm__] = ACTIONS(3134), + [sym__number_literal] = ACTIONS(3136), + [anon_sym_L_SQUOTE] = ACTIONS(3136), + [anon_sym_u_SQUOTE] = ACTIONS(3136), + [anon_sym_U_SQUOTE] = ACTIONS(3136), + [anon_sym_u8_SQUOTE] = ACTIONS(3136), + [anon_sym_SQUOTE] = ACTIONS(3136), + [anon_sym_L_DQUOTE] = ACTIONS(3136), + [anon_sym_u_DQUOTE] = ACTIONS(3136), + [anon_sym_U_DQUOTE] = ACTIONS(3136), + [anon_sym_u8_DQUOTE] = ACTIONS(3136), + [anon_sym_DQUOTE] = ACTIONS(3136), + [sym_true] = ACTIONS(3134), + [sym_false] = ACTIONS(3134), + [anon_sym_NULL] = ACTIONS(3134), + [anon_sym_nullptr] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_try] = ACTIONS(3134), + [anon_sym_delete] = ACTIONS(3134), + [anon_sym_throw] = ACTIONS(3134), + [anon_sym_namespace] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + [anon_sym_concept] = ACTIONS(3134), + [anon_sym_co_return] = ACTIONS(3134), + [anon_sym_co_yield] = ACTIONS(3134), + [anon_sym_R_DQUOTE] = ACTIONS(3136), + [anon_sym_LR_DQUOTE] = ACTIONS(3136), + [anon_sym_uR_DQUOTE] = ACTIONS(3136), + [anon_sym_UR_DQUOTE] = ACTIONS(3136), + [anon_sym_u8R_DQUOTE] = ACTIONS(3136), + [anon_sym_co_await] = ACTIONS(3134), + [anon_sym_new] = ACTIONS(3134), + [anon_sym_requires] = ACTIONS(3134), + [sym_this] = ACTIONS(3134), + }, + [653] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_include_token1] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token2] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_BANG] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_DASH] = ACTIONS(3046), + [anon_sym_PLUS] = ACTIONS(3046), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym_SEMI] = ACTIONS(3048), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym___cdecl] = ACTIONS(3046), + [anon_sym___clrcall] = ACTIONS(3046), + [anon_sym___stdcall] = ACTIONS(3046), + [anon_sym___fastcall] = ACTIONS(3046), + [anon_sym___thiscall] = ACTIONS(3046), + [anon_sym___vectorcall] = ACTIONS(3046), + [anon_sym_LBRACE] = ACTIONS(3048), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [anon_sym_if] = ACTIONS(3046), + [anon_sym_switch] = ACTIONS(3046), + [anon_sym_case] = ACTIONS(3046), + [anon_sym_default] = ACTIONS(3046), + [anon_sym_while] = ACTIONS(3046), + [anon_sym_do] = ACTIONS(3046), + [anon_sym_for] = ACTIONS(3046), + [anon_sym_return] = ACTIONS(3046), + [anon_sym_break] = ACTIONS(3046), + [anon_sym_continue] = ACTIONS(3046), + [anon_sym_goto] = ACTIONS(3046), + [anon_sym___try] = ACTIONS(3046), + [anon_sym___leave] = ACTIONS(3046), + [anon_sym_not] = ACTIONS(3046), + [anon_sym_compl] = ACTIONS(3046), + [anon_sym_DASH_DASH] = ACTIONS(3048), + [anon_sym_PLUS_PLUS] = ACTIONS(3048), + [anon_sym_sizeof] = ACTIONS(3046), + [anon_sym___alignof__] = ACTIONS(3046), + [anon_sym___alignof] = ACTIONS(3046), + [anon_sym__alignof] = ACTIONS(3046), + [anon_sym_alignof] = ACTIONS(3046), + [anon_sym__Alignof] = ACTIONS(3046), + [anon_sym_offsetof] = ACTIONS(3046), + [anon_sym__Generic] = ACTIONS(3046), + [anon_sym_asm] = ACTIONS(3046), + [anon_sym___asm__] = ACTIONS(3046), + [sym__number_literal] = ACTIONS(3048), + [anon_sym_L_SQUOTE] = ACTIONS(3048), + [anon_sym_u_SQUOTE] = ACTIONS(3048), + [anon_sym_U_SQUOTE] = ACTIONS(3048), + [anon_sym_u8_SQUOTE] = ACTIONS(3048), + [anon_sym_SQUOTE] = ACTIONS(3048), + [anon_sym_L_DQUOTE] = ACTIONS(3048), + [anon_sym_u_DQUOTE] = ACTIONS(3048), + [anon_sym_U_DQUOTE] = ACTIONS(3048), + [anon_sym_u8_DQUOTE] = ACTIONS(3048), + [anon_sym_DQUOTE] = ACTIONS(3048), + [sym_true] = ACTIONS(3046), + [sym_false] = ACTIONS(3046), + [anon_sym_NULL] = ACTIONS(3046), + [anon_sym_nullptr] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_try] = ACTIONS(3046), + [anon_sym_delete] = ACTIONS(3046), + [anon_sym_throw] = ACTIONS(3046), + [anon_sym_namespace] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + [anon_sym_concept] = ACTIONS(3046), + [anon_sym_co_return] = ACTIONS(3046), + [anon_sym_co_yield] = ACTIONS(3046), + [anon_sym_R_DQUOTE] = ACTIONS(3048), + [anon_sym_LR_DQUOTE] = ACTIONS(3048), + [anon_sym_uR_DQUOTE] = ACTIONS(3048), + [anon_sym_UR_DQUOTE] = ACTIONS(3048), + [anon_sym_u8R_DQUOTE] = ACTIONS(3048), + [anon_sym_co_await] = ACTIONS(3046), + [anon_sym_new] = ACTIONS(3046), + [anon_sym_requires] = ACTIONS(3046), + [sym_this] = ACTIONS(3046), + }, + [654] = { + [sym__identifier] = ACTIONS(2893), + [aux_sym_preproc_include_token1] = ACTIONS(2893), + [aux_sym_preproc_def_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token2] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2893), + [sym_preproc_directive] = ACTIONS(2893), + [anon_sym_LPAREN2] = ACTIONS(2895), + [anon_sym_BANG] = ACTIONS(2895), + [anon_sym_TILDE] = ACTIONS(2895), + [anon_sym_DASH] = ACTIONS(2893), + [anon_sym_PLUS] = ACTIONS(2893), + [anon_sym_STAR] = ACTIONS(2895), + [anon_sym_AMP_AMP] = ACTIONS(2895), + [anon_sym_AMP] = ACTIONS(2893), + [anon_sym_SEMI] = ACTIONS(2895), + [anon_sym___extension__] = ACTIONS(2893), + [anon_sym_typedef] = ACTIONS(2893), + [anon_sym_extern] = ACTIONS(2893), + [anon_sym___attribute__] = ACTIONS(2893), + [anon_sym_COLON_COLON] = ACTIONS(2895), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2895), + [anon_sym___declspec] = ACTIONS(2893), + [anon_sym___based] = ACTIONS(2893), + [anon_sym___cdecl] = ACTIONS(2893), + [anon_sym___clrcall] = ACTIONS(2893), + [anon_sym___stdcall] = ACTIONS(2893), + [anon_sym___fastcall] = ACTIONS(2893), + [anon_sym___thiscall] = ACTIONS(2893), + [anon_sym___vectorcall] = ACTIONS(2893), + [anon_sym_LBRACE] = ACTIONS(2895), + [anon_sym_signed] = ACTIONS(2893), + [anon_sym_unsigned] = ACTIONS(2893), + [anon_sym_long] = ACTIONS(2893), + [anon_sym_short] = ACTIONS(2893), + [anon_sym_LBRACK] = ACTIONS(2893), + [anon_sym_static] = ACTIONS(2893), + [anon_sym_register] = ACTIONS(2893), + [anon_sym_inline] = ACTIONS(2893), + [anon_sym___inline] = ACTIONS(2893), + [anon_sym___inline__] = ACTIONS(2893), + [anon_sym___forceinline] = ACTIONS(2893), + [anon_sym_thread_local] = ACTIONS(2893), + [anon_sym___thread] = ACTIONS(2893), + [anon_sym_const] = ACTIONS(2893), + [anon_sym_constexpr] = ACTIONS(2893), + [anon_sym_volatile] = ACTIONS(2893), + [anon_sym_restrict] = ACTIONS(2893), + [anon_sym___restrict__] = ACTIONS(2893), + [anon_sym__Atomic] = ACTIONS(2893), + [anon_sym__Noreturn] = ACTIONS(2893), + [anon_sym_noreturn] = ACTIONS(2893), + [anon_sym_mutable] = ACTIONS(2893), + [anon_sym_constinit] = ACTIONS(2893), + [anon_sym_consteval] = ACTIONS(2893), + [anon_sym_alignas] = ACTIONS(2893), + [anon_sym__Alignas] = ACTIONS(2893), + [sym_primitive_type] = ACTIONS(2893), + [anon_sym_enum] = ACTIONS(2893), + [anon_sym_class] = ACTIONS(2893), + [anon_sym_struct] = ACTIONS(2893), + [anon_sym_union] = ACTIONS(2893), + [anon_sym_if] = ACTIONS(2893), + [anon_sym_switch] = ACTIONS(2893), + [anon_sym_case] = ACTIONS(2893), + [anon_sym_default] = ACTIONS(2893), + [anon_sym_while] = ACTIONS(2893), + [anon_sym_do] = ACTIONS(2893), + [anon_sym_for] = ACTIONS(2893), + [anon_sym_return] = ACTIONS(2893), + [anon_sym_break] = ACTIONS(2893), + [anon_sym_continue] = ACTIONS(2893), + [anon_sym_goto] = ACTIONS(2893), + [anon_sym___try] = ACTIONS(2893), + [anon_sym___leave] = ACTIONS(2893), + [anon_sym_not] = ACTIONS(2893), + [anon_sym_compl] = ACTIONS(2893), + [anon_sym_DASH_DASH] = ACTIONS(2895), + [anon_sym_PLUS_PLUS] = ACTIONS(2895), + [anon_sym_sizeof] = ACTIONS(2893), + [anon_sym___alignof__] = ACTIONS(2893), + [anon_sym___alignof] = ACTIONS(2893), + [anon_sym__alignof] = ACTIONS(2893), + [anon_sym_alignof] = ACTIONS(2893), + [anon_sym__Alignof] = ACTIONS(2893), + [anon_sym_offsetof] = ACTIONS(2893), + [anon_sym__Generic] = ACTIONS(2893), + [anon_sym_asm] = ACTIONS(2893), + [anon_sym___asm__] = ACTIONS(2893), + [sym__number_literal] = ACTIONS(2895), + [anon_sym_L_SQUOTE] = ACTIONS(2895), + [anon_sym_u_SQUOTE] = ACTIONS(2895), + [anon_sym_U_SQUOTE] = ACTIONS(2895), + [anon_sym_u8_SQUOTE] = ACTIONS(2895), + [anon_sym_SQUOTE] = ACTIONS(2895), + [anon_sym_L_DQUOTE] = ACTIONS(2895), + [anon_sym_u_DQUOTE] = ACTIONS(2895), + [anon_sym_U_DQUOTE] = ACTIONS(2895), + [anon_sym_u8_DQUOTE] = ACTIONS(2895), + [anon_sym_DQUOTE] = ACTIONS(2895), + [sym_true] = ACTIONS(2893), + [sym_false] = ACTIONS(2893), + [anon_sym_NULL] = ACTIONS(2893), + [anon_sym_nullptr] = ACTIONS(2893), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2895), + [sym_auto] = ACTIONS(2893), + [anon_sym_decltype] = ACTIONS(2893), + [sym_virtual] = ACTIONS(2893), + [anon_sym_explicit] = ACTIONS(2893), + [anon_sym_typename] = ACTIONS(2893), + [anon_sym_template] = ACTIONS(2893), + [anon_sym_operator] = ACTIONS(2893), + [anon_sym_try] = ACTIONS(2893), + [anon_sym_delete] = ACTIONS(2893), + [anon_sym_throw] = ACTIONS(2893), + [anon_sym_namespace] = ACTIONS(2893), + [anon_sym_using] = ACTIONS(2893), + [anon_sym_static_assert] = ACTIONS(2893), + [anon_sym_concept] = ACTIONS(2893), + [anon_sym_co_return] = ACTIONS(2893), + [anon_sym_co_yield] = ACTIONS(2893), + [anon_sym_R_DQUOTE] = ACTIONS(2895), + [anon_sym_LR_DQUOTE] = ACTIONS(2895), + [anon_sym_uR_DQUOTE] = ACTIONS(2895), + [anon_sym_UR_DQUOTE] = ACTIONS(2895), + [anon_sym_u8R_DQUOTE] = ACTIONS(2895), + [anon_sym_co_await] = ACTIONS(2893), + [anon_sym_new] = ACTIONS(2893), + [anon_sym_requires] = ACTIONS(2893), + [sym_this] = ACTIONS(2893), + }, + [655] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_include_token1] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_BANG] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_DASH] = ACTIONS(2829), + [anon_sym_PLUS] = ACTIONS(2829), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym_SEMI] = ACTIONS(2831), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym___cdecl] = ACTIONS(2829), + [anon_sym___clrcall] = ACTIONS(2829), + [anon_sym___stdcall] = ACTIONS(2829), + [anon_sym___fastcall] = ACTIONS(2829), + [anon_sym___thiscall] = ACTIONS(2829), + [anon_sym___vectorcall] = ACTIONS(2829), + [anon_sym_LBRACE] = ACTIONS(2831), + [anon_sym_RBRACE] = ACTIONS(2831), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [anon_sym_if] = ACTIONS(2829), + [anon_sym_switch] = ACTIONS(2829), + [anon_sym_case] = ACTIONS(2829), + [anon_sym_default] = ACTIONS(2829), + [anon_sym_while] = ACTIONS(2829), + [anon_sym_do] = ACTIONS(2829), + [anon_sym_for] = ACTIONS(2829), + [anon_sym_return] = ACTIONS(2829), + [anon_sym_break] = ACTIONS(2829), + [anon_sym_continue] = ACTIONS(2829), + [anon_sym_goto] = ACTIONS(2829), + [anon_sym___try] = ACTIONS(2829), + [anon_sym___leave] = ACTIONS(2829), + [anon_sym_not] = ACTIONS(2829), + [anon_sym_compl] = ACTIONS(2829), + [anon_sym_DASH_DASH] = ACTIONS(2831), + [anon_sym_PLUS_PLUS] = ACTIONS(2831), + [anon_sym_sizeof] = ACTIONS(2829), + [anon_sym___alignof__] = ACTIONS(2829), + [anon_sym___alignof] = ACTIONS(2829), + [anon_sym__alignof] = ACTIONS(2829), + [anon_sym_alignof] = ACTIONS(2829), + [anon_sym__Alignof] = ACTIONS(2829), + [anon_sym_offsetof] = ACTIONS(2829), + [anon_sym__Generic] = ACTIONS(2829), + [anon_sym_asm] = ACTIONS(2829), + [anon_sym___asm__] = ACTIONS(2829), + [sym__number_literal] = ACTIONS(2831), + [anon_sym_L_SQUOTE] = ACTIONS(2831), + [anon_sym_u_SQUOTE] = ACTIONS(2831), + [anon_sym_U_SQUOTE] = ACTIONS(2831), + [anon_sym_u8_SQUOTE] = ACTIONS(2831), + [anon_sym_SQUOTE] = ACTIONS(2831), + [anon_sym_L_DQUOTE] = ACTIONS(2831), + [anon_sym_u_DQUOTE] = ACTIONS(2831), + [anon_sym_U_DQUOTE] = ACTIONS(2831), + [anon_sym_u8_DQUOTE] = ACTIONS(2831), + [anon_sym_DQUOTE] = ACTIONS(2831), + [sym_true] = ACTIONS(2829), + [sym_false] = ACTIONS(2829), + [anon_sym_NULL] = ACTIONS(2829), + [anon_sym_nullptr] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_try] = ACTIONS(2829), + [anon_sym_delete] = ACTIONS(2829), + [anon_sym_throw] = ACTIONS(2829), + [anon_sym_namespace] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + [anon_sym_concept] = ACTIONS(2829), + [anon_sym_co_return] = ACTIONS(2829), + [anon_sym_co_yield] = ACTIONS(2829), + [anon_sym_R_DQUOTE] = ACTIONS(2831), + [anon_sym_LR_DQUOTE] = ACTIONS(2831), + [anon_sym_uR_DQUOTE] = ACTIONS(2831), + [anon_sym_UR_DQUOTE] = ACTIONS(2831), + [anon_sym_u8R_DQUOTE] = ACTIONS(2831), + [anon_sym_co_await] = ACTIONS(2829), + [anon_sym_new] = ACTIONS(2829), + [anon_sym_requires] = ACTIONS(2829), + [sym_this] = ACTIONS(2829), + }, + [656] = { + [sym__identifier] = ACTIONS(2905), + [aux_sym_preproc_include_token1] = ACTIONS(2905), + [aux_sym_preproc_def_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2905), + [sym_preproc_directive] = ACTIONS(2905), + [anon_sym_LPAREN2] = ACTIONS(2907), + [anon_sym_BANG] = ACTIONS(2907), + [anon_sym_TILDE] = ACTIONS(2907), + [anon_sym_DASH] = ACTIONS(2905), + [anon_sym_PLUS] = ACTIONS(2905), + [anon_sym_STAR] = ACTIONS(2907), + [anon_sym_AMP_AMP] = ACTIONS(2907), + [anon_sym_AMP] = ACTIONS(2905), + [anon_sym_SEMI] = ACTIONS(2907), + [anon_sym___extension__] = ACTIONS(2905), + [anon_sym_typedef] = ACTIONS(2905), + [anon_sym_extern] = ACTIONS(2905), + [anon_sym___attribute__] = ACTIONS(2905), + [anon_sym_COLON_COLON] = ACTIONS(2907), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2907), + [anon_sym___declspec] = ACTIONS(2905), + [anon_sym___based] = ACTIONS(2905), + [anon_sym___cdecl] = ACTIONS(2905), + [anon_sym___clrcall] = ACTIONS(2905), + [anon_sym___stdcall] = ACTIONS(2905), + [anon_sym___fastcall] = ACTIONS(2905), + [anon_sym___thiscall] = ACTIONS(2905), + [anon_sym___vectorcall] = ACTIONS(2905), + [anon_sym_LBRACE] = ACTIONS(2907), + [anon_sym_RBRACE] = ACTIONS(2907), + [anon_sym_signed] = ACTIONS(2905), + [anon_sym_unsigned] = ACTIONS(2905), + [anon_sym_long] = ACTIONS(2905), + [anon_sym_short] = ACTIONS(2905), + [anon_sym_LBRACK] = ACTIONS(2905), + [anon_sym_static] = ACTIONS(2905), + [anon_sym_register] = ACTIONS(2905), + [anon_sym_inline] = ACTIONS(2905), + [anon_sym___inline] = ACTIONS(2905), + [anon_sym___inline__] = ACTIONS(2905), + [anon_sym___forceinline] = ACTIONS(2905), + [anon_sym_thread_local] = ACTIONS(2905), + [anon_sym___thread] = ACTIONS(2905), + [anon_sym_const] = ACTIONS(2905), + [anon_sym_constexpr] = ACTIONS(2905), + [anon_sym_volatile] = ACTIONS(2905), + [anon_sym_restrict] = ACTIONS(2905), + [anon_sym___restrict__] = ACTIONS(2905), + [anon_sym__Atomic] = ACTIONS(2905), + [anon_sym__Noreturn] = ACTIONS(2905), + [anon_sym_noreturn] = ACTIONS(2905), + [anon_sym_mutable] = ACTIONS(2905), + [anon_sym_constinit] = ACTIONS(2905), + [anon_sym_consteval] = ACTIONS(2905), + [anon_sym_alignas] = ACTIONS(2905), + [anon_sym__Alignas] = ACTIONS(2905), + [sym_primitive_type] = ACTIONS(2905), + [anon_sym_enum] = ACTIONS(2905), + [anon_sym_class] = ACTIONS(2905), + [anon_sym_struct] = ACTIONS(2905), + [anon_sym_union] = ACTIONS(2905), + [anon_sym_if] = ACTIONS(2905), + [anon_sym_switch] = ACTIONS(2905), + [anon_sym_case] = ACTIONS(2905), + [anon_sym_default] = ACTIONS(2905), + [anon_sym_while] = ACTIONS(2905), + [anon_sym_do] = ACTIONS(2905), + [anon_sym_for] = ACTIONS(2905), + [anon_sym_return] = ACTIONS(2905), + [anon_sym_break] = ACTIONS(2905), + [anon_sym_continue] = ACTIONS(2905), + [anon_sym_goto] = ACTIONS(2905), + [anon_sym___try] = ACTIONS(2905), + [anon_sym___leave] = ACTIONS(2905), + [anon_sym_not] = ACTIONS(2905), + [anon_sym_compl] = ACTIONS(2905), + [anon_sym_DASH_DASH] = ACTIONS(2907), + [anon_sym_PLUS_PLUS] = ACTIONS(2907), + [anon_sym_sizeof] = ACTIONS(2905), + [anon_sym___alignof__] = ACTIONS(2905), + [anon_sym___alignof] = ACTIONS(2905), + [anon_sym__alignof] = ACTIONS(2905), + [anon_sym_alignof] = ACTIONS(2905), + [anon_sym__Alignof] = ACTIONS(2905), + [anon_sym_offsetof] = ACTIONS(2905), + [anon_sym__Generic] = ACTIONS(2905), + [anon_sym_asm] = ACTIONS(2905), + [anon_sym___asm__] = ACTIONS(2905), + [sym__number_literal] = ACTIONS(2907), + [anon_sym_L_SQUOTE] = ACTIONS(2907), + [anon_sym_u_SQUOTE] = ACTIONS(2907), + [anon_sym_U_SQUOTE] = ACTIONS(2907), + [anon_sym_u8_SQUOTE] = ACTIONS(2907), + [anon_sym_SQUOTE] = ACTIONS(2907), + [anon_sym_L_DQUOTE] = ACTIONS(2907), + [anon_sym_u_DQUOTE] = ACTIONS(2907), + [anon_sym_U_DQUOTE] = ACTIONS(2907), + [anon_sym_u8_DQUOTE] = ACTIONS(2907), + [anon_sym_DQUOTE] = ACTIONS(2907), + [sym_true] = ACTIONS(2905), + [sym_false] = ACTIONS(2905), + [anon_sym_NULL] = ACTIONS(2905), + [anon_sym_nullptr] = ACTIONS(2905), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2907), + [sym_auto] = ACTIONS(2905), + [anon_sym_decltype] = ACTIONS(2905), + [sym_virtual] = ACTIONS(2905), + [anon_sym_explicit] = ACTIONS(2905), + [anon_sym_typename] = ACTIONS(2905), + [anon_sym_template] = ACTIONS(2905), + [anon_sym_operator] = ACTIONS(2905), + [anon_sym_try] = ACTIONS(2905), + [anon_sym_delete] = ACTIONS(2905), + [anon_sym_throw] = ACTIONS(2905), + [anon_sym_namespace] = ACTIONS(2905), + [anon_sym_using] = ACTIONS(2905), + [anon_sym_static_assert] = ACTIONS(2905), + [anon_sym_concept] = ACTIONS(2905), + [anon_sym_co_return] = ACTIONS(2905), + [anon_sym_co_yield] = ACTIONS(2905), + [anon_sym_R_DQUOTE] = ACTIONS(2907), + [anon_sym_LR_DQUOTE] = ACTIONS(2907), + [anon_sym_uR_DQUOTE] = ACTIONS(2907), + [anon_sym_UR_DQUOTE] = ACTIONS(2907), + [anon_sym_u8R_DQUOTE] = ACTIONS(2907), + [anon_sym_co_await] = ACTIONS(2905), + [anon_sym_new] = ACTIONS(2905), + [anon_sym_requires] = ACTIONS(2905), + [sym_this] = ACTIONS(2905), + }, + [657] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_include_token1] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token2] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_BANG] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_DASH] = ACTIONS(3021), + [anon_sym_PLUS] = ACTIONS(3021), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym_SEMI] = ACTIONS(3023), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym___cdecl] = ACTIONS(3021), + [anon_sym___clrcall] = ACTIONS(3021), + [anon_sym___stdcall] = ACTIONS(3021), + [anon_sym___fastcall] = ACTIONS(3021), + [anon_sym___thiscall] = ACTIONS(3021), + [anon_sym___vectorcall] = ACTIONS(3021), + [anon_sym_LBRACE] = ACTIONS(3023), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [anon_sym_if] = ACTIONS(3021), + [anon_sym_switch] = ACTIONS(3021), + [anon_sym_case] = ACTIONS(3021), + [anon_sym_default] = ACTIONS(3021), + [anon_sym_while] = ACTIONS(3021), + [anon_sym_do] = ACTIONS(3021), + [anon_sym_for] = ACTIONS(3021), + [anon_sym_return] = ACTIONS(3021), + [anon_sym_break] = ACTIONS(3021), + [anon_sym_continue] = ACTIONS(3021), + [anon_sym_goto] = ACTIONS(3021), + [anon_sym___try] = ACTIONS(3021), + [anon_sym___leave] = ACTIONS(3021), + [anon_sym_not] = ACTIONS(3021), + [anon_sym_compl] = ACTIONS(3021), + [anon_sym_DASH_DASH] = ACTIONS(3023), + [anon_sym_PLUS_PLUS] = ACTIONS(3023), + [anon_sym_sizeof] = ACTIONS(3021), + [anon_sym___alignof__] = ACTIONS(3021), + [anon_sym___alignof] = ACTIONS(3021), + [anon_sym__alignof] = ACTIONS(3021), + [anon_sym_alignof] = ACTIONS(3021), + [anon_sym__Alignof] = ACTIONS(3021), + [anon_sym_offsetof] = ACTIONS(3021), + [anon_sym__Generic] = ACTIONS(3021), + [anon_sym_asm] = ACTIONS(3021), + [anon_sym___asm__] = ACTIONS(3021), + [sym__number_literal] = ACTIONS(3023), + [anon_sym_L_SQUOTE] = ACTIONS(3023), + [anon_sym_u_SQUOTE] = ACTIONS(3023), + [anon_sym_U_SQUOTE] = ACTIONS(3023), + [anon_sym_u8_SQUOTE] = ACTIONS(3023), + [anon_sym_SQUOTE] = ACTIONS(3023), + [anon_sym_L_DQUOTE] = ACTIONS(3023), + [anon_sym_u_DQUOTE] = ACTIONS(3023), + [anon_sym_U_DQUOTE] = ACTIONS(3023), + [anon_sym_u8_DQUOTE] = ACTIONS(3023), + [anon_sym_DQUOTE] = ACTIONS(3023), + [sym_true] = ACTIONS(3021), + [sym_false] = ACTIONS(3021), + [anon_sym_NULL] = ACTIONS(3021), + [anon_sym_nullptr] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_try] = ACTIONS(3021), + [anon_sym_delete] = ACTIONS(3021), + [anon_sym_throw] = ACTIONS(3021), + [anon_sym_namespace] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + [anon_sym_concept] = ACTIONS(3021), + [anon_sym_co_return] = ACTIONS(3021), + [anon_sym_co_yield] = ACTIONS(3021), + [anon_sym_R_DQUOTE] = ACTIONS(3023), + [anon_sym_LR_DQUOTE] = ACTIONS(3023), + [anon_sym_uR_DQUOTE] = ACTIONS(3023), + [anon_sym_UR_DQUOTE] = ACTIONS(3023), + [anon_sym_u8R_DQUOTE] = ACTIONS(3023), + [anon_sym_co_await] = ACTIONS(3021), + [anon_sym_new] = ACTIONS(3021), + [anon_sym_requires] = ACTIONS(3021), + [sym_this] = ACTIONS(3021), + }, + [658] = { + [sym__identifier] = ACTIONS(3108), + [aux_sym_preproc_include_token1] = ACTIONS(3108), + [aux_sym_preproc_def_token1] = ACTIONS(3108), + [aux_sym_preproc_if_token1] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3108), + [sym_preproc_directive] = ACTIONS(3108), + [anon_sym_LPAREN2] = ACTIONS(3111), + [anon_sym_BANG] = ACTIONS(3111), + [anon_sym_TILDE] = ACTIONS(3111), + [anon_sym_DASH] = ACTIONS(3108), + [anon_sym_PLUS] = ACTIONS(3108), + [anon_sym_STAR] = ACTIONS(3111), + [anon_sym_AMP_AMP] = ACTIONS(3111), + [anon_sym_AMP] = ACTIONS(3108), + [anon_sym_SEMI] = ACTIONS(3111), + [anon_sym___extension__] = ACTIONS(3108), + [anon_sym_typedef] = ACTIONS(3108), + [anon_sym_extern] = ACTIONS(3108), + [anon_sym___attribute__] = ACTIONS(3108), + [anon_sym_COLON_COLON] = ACTIONS(3111), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3111), + [anon_sym___declspec] = ACTIONS(3108), + [anon_sym___based] = ACTIONS(3108), + [anon_sym___cdecl] = ACTIONS(3108), + [anon_sym___clrcall] = ACTIONS(3108), + [anon_sym___stdcall] = ACTIONS(3108), + [anon_sym___fastcall] = ACTIONS(3108), + [anon_sym___thiscall] = ACTIONS(3108), + [anon_sym___vectorcall] = ACTIONS(3108), + [anon_sym_LBRACE] = ACTIONS(3111), + [anon_sym_RBRACE] = ACTIONS(3111), + [anon_sym_signed] = ACTIONS(3108), + [anon_sym_unsigned] = ACTIONS(3108), + [anon_sym_long] = ACTIONS(3108), + [anon_sym_short] = ACTIONS(3108), + [anon_sym_LBRACK] = ACTIONS(3108), + [anon_sym_static] = ACTIONS(3108), + [anon_sym_register] = ACTIONS(3108), + [anon_sym_inline] = ACTIONS(3108), + [anon_sym___inline] = ACTIONS(3108), + [anon_sym___inline__] = ACTIONS(3108), + [anon_sym___forceinline] = ACTIONS(3108), + [anon_sym_thread_local] = ACTIONS(3108), + [anon_sym___thread] = ACTIONS(3108), + [anon_sym_const] = ACTIONS(3108), + [anon_sym_constexpr] = ACTIONS(3108), + [anon_sym_volatile] = ACTIONS(3108), + [anon_sym_restrict] = ACTIONS(3108), + [anon_sym___restrict__] = ACTIONS(3108), + [anon_sym__Atomic] = ACTIONS(3108), + [anon_sym__Noreturn] = ACTIONS(3108), + [anon_sym_noreturn] = ACTIONS(3108), + [anon_sym_mutable] = ACTIONS(3108), + [anon_sym_constinit] = ACTIONS(3108), + [anon_sym_consteval] = ACTIONS(3108), + [anon_sym_alignas] = ACTIONS(3108), + [anon_sym__Alignas] = ACTIONS(3108), + [sym_primitive_type] = ACTIONS(3108), + [anon_sym_enum] = ACTIONS(3108), + [anon_sym_class] = ACTIONS(3108), + [anon_sym_struct] = ACTIONS(3108), + [anon_sym_union] = ACTIONS(3108), + [anon_sym_if] = ACTIONS(3108), + [anon_sym_switch] = ACTIONS(3108), + [anon_sym_case] = ACTIONS(3108), + [anon_sym_default] = ACTIONS(3108), + [anon_sym_while] = ACTIONS(3108), + [anon_sym_do] = ACTIONS(3108), + [anon_sym_for] = ACTIONS(3108), + [anon_sym_return] = ACTIONS(3108), + [anon_sym_break] = ACTIONS(3108), + [anon_sym_continue] = ACTIONS(3108), + [anon_sym_goto] = ACTIONS(3108), + [anon_sym___try] = ACTIONS(3108), + [anon_sym___leave] = ACTIONS(3108), + [anon_sym_not] = ACTIONS(3108), + [anon_sym_compl] = ACTIONS(3108), + [anon_sym_DASH_DASH] = ACTIONS(3111), + [anon_sym_PLUS_PLUS] = ACTIONS(3111), + [anon_sym_sizeof] = ACTIONS(3108), + [anon_sym___alignof__] = ACTIONS(3108), + [anon_sym___alignof] = ACTIONS(3108), + [anon_sym__alignof] = ACTIONS(3108), + [anon_sym_alignof] = ACTIONS(3108), + [anon_sym__Alignof] = ACTIONS(3108), + [anon_sym_offsetof] = ACTIONS(3108), + [anon_sym__Generic] = ACTIONS(3108), + [anon_sym_asm] = ACTIONS(3108), + [anon_sym___asm__] = ACTIONS(3108), + [sym__number_literal] = ACTIONS(3111), + [anon_sym_L_SQUOTE] = ACTIONS(3111), + [anon_sym_u_SQUOTE] = ACTIONS(3111), + [anon_sym_U_SQUOTE] = ACTIONS(3111), + [anon_sym_u8_SQUOTE] = ACTIONS(3111), + [anon_sym_SQUOTE] = ACTIONS(3111), + [anon_sym_L_DQUOTE] = ACTIONS(3111), + [anon_sym_u_DQUOTE] = ACTIONS(3111), + [anon_sym_U_DQUOTE] = ACTIONS(3111), + [anon_sym_u8_DQUOTE] = ACTIONS(3111), + [anon_sym_DQUOTE] = ACTIONS(3111), + [sym_true] = ACTIONS(3108), + [sym_false] = ACTIONS(3108), + [anon_sym_NULL] = ACTIONS(3108), + [anon_sym_nullptr] = ACTIONS(3108), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3111), + [sym_auto] = ACTIONS(3108), + [anon_sym_decltype] = ACTIONS(3108), + [sym_virtual] = ACTIONS(3108), + [anon_sym_explicit] = ACTIONS(3108), + [anon_sym_typename] = ACTIONS(3108), + [anon_sym_template] = ACTIONS(3108), + [anon_sym_operator] = ACTIONS(3108), + [anon_sym_try] = ACTIONS(3108), + [anon_sym_delete] = ACTIONS(3108), + [anon_sym_throw] = ACTIONS(3108), + [anon_sym_namespace] = ACTIONS(3108), + [anon_sym_using] = ACTIONS(3108), + [anon_sym_static_assert] = ACTIONS(3108), + [anon_sym_concept] = ACTIONS(3108), + [anon_sym_co_return] = ACTIONS(3108), + [anon_sym_co_yield] = ACTIONS(3108), + [anon_sym_R_DQUOTE] = ACTIONS(3111), + [anon_sym_LR_DQUOTE] = ACTIONS(3111), + [anon_sym_uR_DQUOTE] = ACTIONS(3111), + [anon_sym_UR_DQUOTE] = ACTIONS(3111), + [anon_sym_u8R_DQUOTE] = ACTIONS(3111), + [anon_sym_co_await] = ACTIONS(3108), + [anon_sym_new] = ACTIONS(3108), + [anon_sym_requires] = ACTIONS(3108), + [sym_this] = ACTIONS(3108), + }, + [659] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_include_token1] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_BANG] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_DASH] = ACTIONS(3162), + [anon_sym_PLUS] = ACTIONS(3162), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym_SEMI] = ACTIONS(3164), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym___cdecl] = ACTIONS(3162), + [anon_sym___clrcall] = ACTIONS(3162), + [anon_sym___stdcall] = ACTIONS(3162), + [anon_sym___fastcall] = ACTIONS(3162), + [anon_sym___thiscall] = ACTIONS(3162), + [anon_sym___vectorcall] = ACTIONS(3162), + [anon_sym_LBRACE] = ACTIONS(3164), + [anon_sym_RBRACE] = ACTIONS(3164), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [anon_sym_if] = ACTIONS(3162), + [anon_sym_switch] = ACTIONS(3162), + [anon_sym_case] = ACTIONS(3162), + [anon_sym_default] = ACTIONS(3162), + [anon_sym_while] = ACTIONS(3162), + [anon_sym_do] = ACTIONS(3162), + [anon_sym_for] = ACTIONS(3162), + [anon_sym_return] = ACTIONS(3162), + [anon_sym_break] = ACTIONS(3162), + [anon_sym_continue] = ACTIONS(3162), + [anon_sym_goto] = ACTIONS(3162), + [anon_sym___try] = ACTIONS(3162), + [anon_sym___leave] = ACTIONS(3162), + [anon_sym_not] = ACTIONS(3162), + [anon_sym_compl] = ACTIONS(3162), + [anon_sym_DASH_DASH] = ACTIONS(3164), + [anon_sym_PLUS_PLUS] = ACTIONS(3164), + [anon_sym_sizeof] = ACTIONS(3162), + [anon_sym___alignof__] = ACTIONS(3162), + [anon_sym___alignof] = ACTIONS(3162), + [anon_sym__alignof] = ACTIONS(3162), + [anon_sym_alignof] = ACTIONS(3162), + [anon_sym__Alignof] = ACTIONS(3162), + [anon_sym_offsetof] = ACTIONS(3162), + [anon_sym__Generic] = ACTIONS(3162), + [anon_sym_asm] = ACTIONS(3162), + [anon_sym___asm__] = ACTIONS(3162), + [sym__number_literal] = ACTIONS(3164), + [anon_sym_L_SQUOTE] = ACTIONS(3164), + [anon_sym_u_SQUOTE] = ACTIONS(3164), + [anon_sym_U_SQUOTE] = ACTIONS(3164), + [anon_sym_u8_SQUOTE] = ACTIONS(3164), + [anon_sym_SQUOTE] = ACTIONS(3164), + [anon_sym_L_DQUOTE] = ACTIONS(3164), + [anon_sym_u_DQUOTE] = ACTIONS(3164), + [anon_sym_U_DQUOTE] = ACTIONS(3164), + [anon_sym_u8_DQUOTE] = ACTIONS(3164), + [anon_sym_DQUOTE] = ACTIONS(3164), + [sym_true] = ACTIONS(3162), + [sym_false] = ACTIONS(3162), + [anon_sym_NULL] = ACTIONS(3162), + [anon_sym_nullptr] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_try] = ACTIONS(3162), + [anon_sym_delete] = ACTIONS(3162), + [anon_sym_throw] = ACTIONS(3162), + [anon_sym_namespace] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + [anon_sym_concept] = ACTIONS(3162), + [anon_sym_co_return] = ACTIONS(3162), + [anon_sym_co_yield] = ACTIONS(3162), + [anon_sym_R_DQUOTE] = ACTIONS(3164), + [anon_sym_LR_DQUOTE] = ACTIONS(3164), + [anon_sym_uR_DQUOTE] = ACTIONS(3164), + [anon_sym_UR_DQUOTE] = ACTIONS(3164), + [anon_sym_u8R_DQUOTE] = ACTIONS(3164), + [anon_sym_co_await] = ACTIONS(3162), + [anon_sym_new] = ACTIONS(3162), + [anon_sym_requires] = ACTIONS(3162), + [sym_this] = ACTIONS(3162), + }, + [660] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_include_token1] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_BANG] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_DASH] = ACTIONS(2897), + [anon_sym_PLUS] = ACTIONS(2897), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym_SEMI] = ACTIONS(2899), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym___cdecl] = ACTIONS(2897), + [anon_sym___clrcall] = ACTIONS(2897), + [anon_sym___stdcall] = ACTIONS(2897), + [anon_sym___fastcall] = ACTIONS(2897), + [anon_sym___thiscall] = ACTIONS(2897), + [anon_sym___vectorcall] = ACTIONS(2897), + [anon_sym_LBRACE] = ACTIONS(2899), + [anon_sym_RBRACE] = ACTIONS(2899), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [anon_sym_if] = ACTIONS(2897), + [anon_sym_switch] = ACTIONS(2897), + [anon_sym_case] = ACTIONS(2897), + [anon_sym_default] = ACTIONS(2897), + [anon_sym_while] = ACTIONS(2897), + [anon_sym_do] = ACTIONS(2897), + [anon_sym_for] = ACTIONS(2897), + [anon_sym_return] = ACTIONS(2897), + [anon_sym_break] = ACTIONS(2897), + [anon_sym_continue] = ACTIONS(2897), + [anon_sym_goto] = ACTIONS(2897), + [anon_sym___try] = ACTIONS(2897), + [anon_sym___leave] = ACTIONS(2897), + [anon_sym_not] = ACTIONS(2897), + [anon_sym_compl] = ACTIONS(2897), + [anon_sym_DASH_DASH] = ACTIONS(2899), + [anon_sym_PLUS_PLUS] = ACTIONS(2899), + [anon_sym_sizeof] = ACTIONS(2897), + [anon_sym___alignof__] = ACTIONS(2897), + [anon_sym___alignof] = ACTIONS(2897), + [anon_sym__alignof] = ACTIONS(2897), + [anon_sym_alignof] = ACTIONS(2897), + [anon_sym__Alignof] = ACTIONS(2897), + [anon_sym_offsetof] = ACTIONS(2897), + [anon_sym__Generic] = ACTIONS(2897), + [anon_sym_asm] = ACTIONS(2897), + [anon_sym___asm__] = ACTIONS(2897), + [sym__number_literal] = ACTIONS(2899), + [anon_sym_L_SQUOTE] = ACTIONS(2899), + [anon_sym_u_SQUOTE] = ACTIONS(2899), + [anon_sym_U_SQUOTE] = ACTIONS(2899), + [anon_sym_u8_SQUOTE] = ACTIONS(2899), + [anon_sym_SQUOTE] = ACTIONS(2899), + [anon_sym_L_DQUOTE] = ACTIONS(2899), + [anon_sym_u_DQUOTE] = ACTIONS(2899), + [anon_sym_U_DQUOTE] = ACTIONS(2899), + [anon_sym_u8_DQUOTE] = ACTIONS(2899), + [anon_sym_DQUOTE] = ACTIONS(2899), + [sym_true] = ACTIONS(2897), + [sym_false] = ACTIONS(2897), + [anon_sym_NULL] = ACTIONS(2897), + [anon_sym_nullptr] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_try] = ACTIONS(2897), + [anon_sym_delete] = ACTIONS(2897), + [anon_sym_throw] = ACTIONS(2897), + [anon_sym_namespace] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + [anon_sym_concept] = ACTIONS(2897), + [anon_sym_co_return] = ACTIONS(2897), + [anon_sym_co_yield] = ACTIONS(2897), + [anon_sym_R_DQUOTE] = ACTIONS(2899), + [anon_sym_LR_DQUOTE] = ACTIONS(2899), + [anon_sym_uR_DQUOTE] = ACTIONS(2899), + [anon_sym_UR_DQUOTE] = ACTIONS(2899), + [anon_sym_u8R_DQUOTE] = ACTIONS(2899), + [anon_sym_co_await] = ACTIONS(2897), + [anon_sym_new] = ACTIONS(2897), + [anon_sym_requires] = ACTIONS(2897), + [sym_this] = ACTIONS(2897), + }, + [661] = { + [sym_catch_clause] = STATE(316), + [aux_sym_constructor_try_statement_repeat1] = STATE(316), + [ts_builtin_sym_end] = ACTIONS(2665), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_include_token1] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_BANG] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_DASH] = ACTIONS(2663), + [anon_sym_PLUS] = ACTIONS(2663), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym___cdecl] = ACTIONS(2663), + [anon_sym___clrcall] = ACTIONS(2663), + [anon_sym___stdcall] = ACTIONS(2663), + [anon_sym___fastcall] = ACTIONS(2663), + [anon_sym___thiscall] = ACTIONS(2663), + [anon_sym___vectorcall] = ACTIONS(2663), + [anon_sym_LBRACE] = ACTIONS(2665), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [anon_sym_if] = ACTIONS(2663), + [anon_sym_switch] = ACTIONS(2663), + [anon_sym_case] = ACTIONS(2663), + [anon_sym_default] = ACTIONS(2663), + [anon_sym_while] = ACTIONS(2663), + [anon_sym_do] = ACTIONS(2663), + [anon_sym_for] = ACTIONS(2663), + [anon_sym_return] = ACTIONS(2663), + [anon_sym_break] = ACTIONS(2663), + [anon_sym_continue] = ACTIONS(2663), + [anon_sym_goto] = ACTIONS(2663), + [anon_sym_not] = ACTIONS(2663), + [anon_sym_compl] = ACTIONS(2663), + [anon_sym_DASH_DASH] = ACTIONS(2665), + [anon_sym_PLUS_PLUS] = ACTIONS(2665), + [anon_sym_sizeof] = ACTIONS(2663), + [anon_sym___alignof__] = ACTIONS(2663), + [anon_sym___alignof] = ACTIONS(2663), + [anon_sym__alignof] = ACTIONS(2663), + [anon_sym_alignof] = ACTIONS(2663), + [anon_sym__Alignof] = ACTIONS(2663), + [anon_sym_offsetof] = ACTIONS(2663), + [anon_sym__Generic] = ACTIONS(2663), + [anon_sym_asm] = ACTIONS(2663), + [anon_sym___asm__] = ACTIONS(2663), + [sym__number_literal] = ACTIONS(2665), + [anon_sym_L_SQUOTE] = ACTIONS(2665), + [anon_sym_u_SQUOTE] = ACTIONS(2665), + [anon_sym_U_SQUOTE] = ACTIONS(2665), + [anon_sym_u8_SQUOTE] = ACTIONS(2665), + [anon_sym_SQUOTE] = ACTIONS(2665), + [anon_sym_L_DQUOTE] = ACTIONS(2665), + [anon_sym_u_DQUOTE] = ACTIONS(2665), + [anon_sym_U_DQUOTE] = ACTIONS(2665), + [anon_sym_u8_DQUOTE] = ACTIONS(2665), + [anon_sym_DQUOTE] = ACTIONS(2665), + [sym_true] = ACTIONS(2663), + [sym_false] = ACTIONS(2663), + [anon_sym_NULL] = ACTIONS(2663), + [anon_sym_nullptr] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_try] = ACTIONS(2663), + [anon_sym_delete] = ACTIONS(2663), + [anon_sym_throw] = ACTIONS(2663), + [anon_sym_namespace] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_concept] = ACTIONS(2663), + [anon_sym_co_return] = ACTIONS(2663), + [anon_sym_co_yield] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(2913), + [anon_sym_R_DQUOTE] = ACTIONS(2665), + [anon_sym_LR_DQUOTE] = ACTIONS(2665), + [anon_sym_uR_DQUOTE] = ACTIONS(2665), + [anon_sym_UR_DQUOTE] = ACTIONS(2665), + [anon_sym_u8R_DQUOTE] = ACTIONS(2665), + [anon_sym_co_await] = ACTIONS(2663), + [anon_sym_new] = ACTIONS(2663), + [anon_sym_requires] = ACTIONS(2663), + [sym_this] = ACTIONS(2663), + }, + [662] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_include_token1] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_BANG] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_DASH] = ACTIONS(3104), + [anon_sym_PLUS] = ACTIONS(3104), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym_SEMI] = ACTIONS(3106), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym___cdecl] = ACTIONS(3104), + [anon_sym___clrcall] = ACTIONS(3104), + [anon_sym___stdcall] = ACTIONS(3104), + [anon_sym___fastcall] = ACTIONS(3104), + [anon_sym___thiscall] = ACTIONS(3104), + [anon_sym___vectorcall] = ACTIONS(3104), + [anon_sym_LBRACE] = ACTIONS(3106), + [anon_sym_RBRACE] = ACTIONS(3106), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [anon_sym_if] = ACTIONS(3104), + [anon_sym_switch] = ACTIONS(3104), + [anon_sym_case] = ACTIONS(3104), + [anon_sym_default] = ACTIONS(3104), + [anon_sym_while] = ACTIONS(3104), + [anon_sym_do] = ACTIONS(3104), + [anon_sym_for] = ACTIONS(3104), + [anon_sym_return] = ACTIONS(3104), + [anon_sym_break] = ACTIONS(3104), + [anon_sym_continue] = ACTIONS(3104), + [anon_sym_goto] = ACTIONS(3104), + [anon_sym___try] = ACTIONS(3104), + [anon_sym___leave] = ACTIONS(3104), + [anon_sym_not] = ACTIONS(3104), + [anon_sym_compl] = ACTIONS(3104), + [anon_sym_DASH_DASH] = ACTIONS(3106), + [anon_sym_PLUS_PLUS] = ACTIONS(3106), + [anon_sym_sizeof] = ACTIONS(3104), + [anon_sym___alignof__] = ACTIONS(3104), + [anon_sym___alignof] = ACTIONS(3104), + [anon_sym__alignof] = ACTIONS(3104), + [anon_sym_alignof] = ACTIONS(3104), + [anon_sym__Alignof] = ACTIONS(3104), + [anon_sym_offsetof] = ACTIONS(3104), + [anon_sym__Generic] = ACTIONS(3104), + [anon_sym_asm] = ACTIONS(3104), + [anon_sym___asm__] = ACTIONS(3104), + [sym__number_literal] = ACTIONS(3106), + [anon_sym_L_SQUOTE] = ACTIONS(3106), + [anon_sym_u_SQUOTE] = ACTIONS(3106), + [anon_sym_U_SQUOTE] = ACTIONS(3106), + [anon_sym_u8_SQUOTE] = ACTIONS(3106), + [anon_sym_SQUOTE] = ACTIONS(3106), + [anon_sym_L_DQUOTE] = ACTIONS(3106), + [anon_sym_u_DQUOTE] = ACTIONS(3106), + [anon_sym_U_DQUOTE] = ACTIONS(3106), + [anon_sym_u8_DQUOTE] = ACTIONS(3106), + [anon_sym_DQUOTE] = ACTIONS(3106), + [sym_true] = ACTIONS(3104), + [sym_false] = ACTIONS(3104), + [anon_sym_NULL] = ACTIONS(3104), + [anon_sym_nullptr] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_try] = ACTIONS(3104), + [anon_sym_delete] = ACTIONS(3104), + [anon_sym_throw] = ACTIONS(3104), + [anon_sym_namespace] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + [anon_sym_concept] = ACTIONS(3104), + [anon_sym_co_return] = ACTIONS(3104), + [anon_sym_co_yield] = ACTIONS(3104), + [anon_sym_R_DQUOTE] = ACTIONS(3106), + [anon_sym_LR_DQUOTE] = ACTIONS(3106), + [anon_sym_uR_DQUOTE] = ACTIONS(3106), + [anon_sym_UR_DQUOTE] = ACTIONS(3106), + [anon_sym_u8R_DQUOTE] = ACTIONS(3106), + [anon_sym_co_await] = ACTIONS(3104), + [anon_sym_new] = ACTIONS(3104), + [anon_sym_requires] = ACTIONS(3104), + [sym_this] = ACTIONS(3104), + }, + [663] = { + [sym__identifier] = ACTIONS(3001), + [aux_sym_preproc_include_token1] = ACTIONS(3001), + [aux_sym_preproc_def_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token2] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3001), + [sym_preproc_directive] = ACTIONS(3001), + [anon_sym_LPAREN2] = ACTIONS(3003), + [anon_sym_BANG] = ACTIONS(3003), + [anon_sym_TILDE] = ACTIONS(3003), + [anon_sym_DASH] = ACTIONS(3001), + [anon_sym_PLUS] = ACTIONS(3001), + [anon_sym_STAR] = ACTIONS(3003), + [anon_sym_AMP_AMP] = ACTIONS(3003), + [anon_sym_AMP] = ACTIONS(3001), + [anon_sym_SEMI] = ACTIONS(3003), + [anon_sym___extension__] = ACTIONS(3001), + [anon_sym_typedef] = ACTIONS(3001), + [anon_sym_extern] = ACTIONS(3001), + [anon_sym___attribute__] = ACTIONS(3001), + [anon_sym_COLON_COLON] = ACTIONS(3003), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3003), + [anon_sym___declspec] = ACTIONS(3001), + [anon_sym___based] = ACTIONS(3001), + [anon_sym___cdecl] = ACTIONS(3001), + [anon_sym___clrcall] = ACTIONS(3001), + [anon_sym___stdcall] = ACTIONS(3001), + [anon_sym___fastcall] = ACTIONS(3001), + [anon_sym___thiscall] = ACTIONS(3001), + [anon_sym___vectorcall] = ACTIONS(3001), + [anon_sym_LBRACE] = ACTIONS(3003), + [anon_sym_signed] = ACTIONS(3001), + [anon_sym_unsigned] = ACTIONS(3001), + [anon_sym_long] = ACTIONS(3001), + [anon_sym_short] = ACTIONS(3001), + [anon_sym_LBRACK] = ACTIONS(3001), + [anon_sym_static] = ACTIONS(3001), + [anon_sym_register] = ACTIONS(3001), + [anon_sym_inline] = ACTIONS(3001), + [anon_sym___inline] = ACTIONS(3001), + [anon_sym___inline__] = ACTIONS(3001), + [anon_sym___forceinline] = ACTIONS(3001), + [anon_sym_thread_local] = ACTIONS(3001), + [anon_sym___thread] = ACTIONS(3001), + [anon_sym_const] = ACTIONS(3001), + [anon_sym_constexpr] = ACTIONS(3001), + [anon_sym_volatile] = ACTIONS(3001), + [anon_sym_restrict] = ACTIONS(3001), + [anon_sym___restrict__] = ACTIONS(3001), + [anon_sym__Atomic] = ACTIONS(3001), + [anon_sym__Noreturn] = ACTIONS(3001), + [anon_sym_noreturn] = ACTIONS(3001), + [anon_sym_mutable] = ACTIONS(3001), + [anon_sym_constinit] = ACTIONS(3001), + [anon_sym_consteval] = ACTIONS(3001), + [anon_sym_alignas] = ACTIONS(3001), + [anon_sym__Alignas] = ACTIONS(3001), + [sym_primitive_type] = ACTIONS(3001), + [anon_sym_enum] = ACTIONS(3001), + [anon_sym_class] = ACTIONS(3001), + [anon_sym_struct] = ACTIONS(3001), + [anon_sym_union] = ACTIONS(3001), + [anon_sym_if] = ACTIONS(3001), + [anon_sym_switch] = ACTIONS(3001), + [anon_sym_case] = ACTIONS(3001), + [anon_sym_default] = ACTIONS(3001), + [anon_sym_while] = ACTIONS(3001), + [anon_sym_do] = ACTIONS(3001), + [anon_sym_for] = ACTIONS(3001), + [anon_sym_return] = ACTIONS(3001), + [anon_sym_break] = ACTIONS(3001), + [anon_sym_continue] = ACTIONS(3001), + [anon_sym_goto] = ACTIONS(3001), + [anon_sym___try] = ACTIONS(3001), + [anon_sym___leave] = ACTIONS(3001), + [anon_sym_not] = ACTIONS(3001), + [anon_sym_compl] = ACTIONS(3001), + [anon_sym_DASH_DASH] = ACTIONS(3003), + [anon_sym_PLUS_PLUS] = ACTIONS(3003), + [anon_sym_sizeof] = ACTIONS(3001), + [anon_sym___alignof__] = ACTIONS(3001), + [anon_sym___alignof] = ACTIONS(3001), + [anon_sym__alignof] = ACTIONS(3001), + [anon_sym_alignof] = ACTIONS(3001), + [anon_sym__Alignof] = ACTIONS(3001), + [anon_sym_offsetof] = ACTIONS(3001), + [anon_sym__Generic] = ACTIONS(3001), + [anon_sym_asm] = ACTIONS(3001), + [anon_sym___asm__] = ACTIONS(3001), + [sym__number_literal] = ACTIONS(3003), + [anon_sym_L_SQUOTE] = ACTIONS(3003), + [anon_sym_u_SQUOTE] = ACTIONS(3003), + [anon_sym_U_SQUOTE] = ACTIONS(3003), + [anon_sym_u8_SQUOTE] = ACTIONS(3003), + [anon_sym_SQUOTE] = ACTIONS(3003), + [anon_sym_L_DQUOTE] = ACTIONS(3003), + [anon_sym_u_DQUOTE] = ACTIONS(3003), + [anon_sym_U_DQUOTE] = ACTIONS(3003), + [anon_sym_u8_DQUOTE] = ACTIONS(3003), + [anon_sym_DQUOTE] = ACTIONS(3003), + [sym_true] = ACTIONS(3001), + [sym_false] = ACTIONS(3001), + [anon_sym_NULL] = ACTIONS(3001), + [anon_sym_nullptr] = ACTIONS(3001), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3003), + [sym_auto] = ACTIONS(3001), + [anon_sym_decltype] = ACTIONS(3001), + [sym_virtual] = ACTIONS(3001), + [anon_sym_explicit] = ACTIONS(3001), + [anon_sym_typename] = ACTIONS(3001), + [anon_sym_template] = ACTIONS(3001), + [anon_sym_operator] = ACTIONS(3001), + [anon_sym_try] = ACTIONS(3001), + [anon_sym_delete] = ACTIONS(3001), + [anon_sym_throw] = ACTIONS(3001), + [anon_sym_namespace] = ACTIONS(3001), + [anon_sym_using] = ACTIONS(3001), + [anon_sym_static_assert] = ACTIONS(3001), + [anon_sym_concept] = ACTIONS(3001), + [anon_sym_co_return] = ACTIONS(3001), + [anon_sym_co_yield] = ACTIONS(3001), + [anon_sym_R_DQUOTE] = ACTIONS(3003), + [anon_sym_LR_DQUOTE] = ACTIONS(3003), + [anon_sym_uR_DQUOTE] = ACTIONS(3003), + [anon_sym_UR_DQUOTE] = ACTIONS(3003), + [anon_sym_u8R_DQUOTE] = ACTIONS(3003), + [anon_sym_co_await] = ACTIONS(3001), + [anon_sym_new] = ACTIONS(3001), + [anon_sym_requires] = ACTIONS(3001), + [sym_this] = ACTIONS(3001), + }, + [664] = { + [sym__identifier] = ACTIONS(2923), + [aux_sym_preproc_include_token1] = ACTIONS(2923), + [aux_sym_preproc_def_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token2] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2923), + [sym_preproc_directive] = ACTIONS(2923), + [anon_sym_LPAREN2] = ACTIONS(2925), + [anon_sym_BANG] = ACTIONS(2925), + [anon_sym_TILDE] = ACTIONS(2925), + [anon_sym_DASH] = ACTIONS(2923), + [anon_sym_PLUS] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2925), + [anon_sym_AMP] = ACTIONS(2923), + [anon_sym_SEMI] = ACTIONS(2925), + [anon_sym___extension__] = ACTIONS(2923), + [anon_sym_typedef] = ACTIONS(2923), + [anon_sym_extern] = ACTIONS(2923), + [anon_sym___attribute__] = ACTIONS(2923), + [anon_sym_COLON_COLON] = ACTIONS(2925), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2925), + [anon_sym___declspec] = ACTIONS(2923), + [anon_sym___based] = ACTIONS(2923), + [anon_sym___cdecl] = ACTIONS(2923), + [anon_sym___clrcall] = ACTIONS(2923), + [anon_sym___stdcall] = ACTIONS(2923), + [anon_sym___fastcall] = ACTIONS(2923), + [anon_sym___thiscall] = ACTIONS(2923), + [anon_sym___vectorcall] = ACTIONS(2923), + [anon_sym_LBRACE] = ACTIONS(2925), + [anon_sym_signed] = ACTIONS(2923), + [anon_sym_unsigned] = ACTIONS(2923), + [anon_sym_long] = ACTIONS(2923), + [anon_sym_short] = ACTIONS(2923), + [anon_sym_LBRACK] = ACTIONS(2923), + [anon_sym_static] = ACTIONS(2923), + [anon_sym_register] = ACTIONS(2923), + [anon_sym_inline] = ACTIONS(2923), + [anon_sym___inline] = ACTIONS(2923), + [anon_sym___inline__] = ACTIONS(2923), + [anon_sym___forceinline] = ACTIONS(2923), + [anon_sym_thread_local] = ACTIONS(2923), + [anon_sym___thread] = ACTIONS(2923), + [anon_sym_const] = ACTIONS(2923), + [anon_sym_constexpr] = ACTIONS(2923), + [anon_sym_volatile] = ACTIONS(2923), + [anon_sym_restrict] = ACTIONS(2923), + [anon_sym___restrict__] = ACTIONS(2923), + [anon_sym__Atomic] = ACTIONS(2923), + [anon_sym__Noreturn] = ACTIONS(2923), + [anon_sym_noreturn] = ACTIONS(2923), + [anon_sym_mutable] = ACTIONS(2923), + [anon_sym_constinit] = ACTIONS(2923), + [anon_sym_consteval] = ACTIONS(2923), + [anon_sym_alignas] = ACTIONS(2923), + [anon_sym__Alignas] = ACTIONS(2923), + [sym_primitive_type] = ACTIONS(2923), + [anon_sym_enum] = ACTIONS(2923), + [anon_sym_class] = ACTIONS(2923), + [anon_sym_struct] = ACTIONS(2923), + [anon_sym_union] = ACTIONS(2923), + [anon_sym_if] = ACTIONS(2923), + [anon_sym_switch] = ACTIONS(2923), + [anon_sym_case] = ACTIONS(2923), + [anon_sym_default] = ACTIONS(2923), + [anon_sym_while] = ACTIONS(2923), + [anon_sym_do] = ACTIONS(2923), + [anon_sym_for] = ACTIONS(2923), + [anon_sym_return] = ACTIONS(2923), + [anon_sym_break] = ACTIONS(2923), + [anon_sym_continue] = ACTIONS(2923), + [anon_sym_goto] = ACTIONS(2923), + [anon_sym___try] = ACTIONS(2923), + [anon_sym___leave] = ACTIONS(2923), + [anon_sym_not] = ACTIONS(2923), + [anon_sym_compl] = ACTIONS(2923), + [anon_sym_DASH_DASH] = ACTIONS(2925), + [anon_sym_PLUS_PLUS] = ACTIONS(2925), + [anon_sym_sizeof] = ACTIONS(2923), + [anon_sym___alignof__] = ACTIONS(2923), + [anon_sym___alignof] = ACTIONS(2923), + [anon_sym__alignof] = ACTIONS(2923), + [anon_sym_alignof] = ACTIONS(2923), + [anon_sym__Alignof] = ACTIONS(2923), + [anon_sym_offsetof] = ACTIONS(2923), + [anon_sym__Generic] = ACTIONS(2923), + [anon_sym_asm] = ACTIONS(2923), + [anon_sym___asm__] = ACTIONS(2923), + [sym__number_literal] = ACTIONS(2925), + [anon_sym_L_SQUOTE] = ACTIONS(2925), + [anon_sym_u_SQUOTE] = ACTIONS(2925), + [anon_sym_U_SQUOTE] = ACTIONS(2925), + [anon_sym_u8_SQUOTE] = ACTIONS(2925), + [anon_sym_SQUOTE] = ACTIONS(2925), + [anon_sym_L_DQUOTE] = ACTIONS(2925), + [anon_sym_u_DQUOTE] = ACTIONS(2925), + [anon_sym_U_DQUOTE] = ACTIONS(2925), + [anon_sym_u8_DQUOTE] = ACTIONS(2925), + [anon_sym_DQUOTE] = ACTIONS(2925), + [sym_true] = ACTIONS(2923), + [sym_false] = ACTIONS(2923), + [anon_sym_NULL] = ACTIONS(2923), + [anon_sym_nullptr] = ACTIONS(2923), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2925), + [sym_auto] = ACTIONS(2923), + [anon_sym_decltype] = ACTIONS(2923), + [sym_virtual] = ACTIONS(2923), + [anon_sym_explicit] = ACTIONS(2923), + [anon_sym_typename] = ACTIONS(2923), + [anon_sym_template] = ACTIONS(2923), + [anon_sym_operator] = ACTIONS(2923), + [anon_sym_try] = ACTIONS(2923), + [anon_sym_delete] = ACTIONS(2923), + [anon_sym_throw] = ACTIONS(2923), + [anon_sym_namespace] = ACTIONS(2923), + [anon_sym_using] = ACTIONS(2923), + [anon_sym_static_assert] = ACTIONS(2923), + [anon_sym_concept] = ACTIONS(2923), + [anon_sym_co_return] = ACTIONS(2923), + [anon_sym_co_yield] = ACTIONS(2923), + [anon_sym_R_DQUOTE] = ACTIONS(2925), + [anon_sym_LR_DQUOTE] = ACTIONS(2925), + [anon_sym_uR_DQUOTE] = ACTIONS(2925), + [anon_sym_UR_DQUOTE] = ACTIONS(2925), + [anon_sym_u8R_DQUOTE] = ACTIONS(2925), + [anon_sym_co_await] = ACTIONS(2923), + [anon_sym_new] = ACTIONS(2923), + [anon_sym_requires] = ACTIONS(2923), + [sym_this] = ACTIONS(2923), + }, + [665] = { + [sym__identifier] = ACTIONS(3074), + [aux_sym_preproc_include_token1] = ACTIONS(3074), + [aux_sym_preproc_def_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token2] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3074), + [sym_preproc_directive] = ACTIONS(3074), + [anon_sym_LPAREN2] = ACTIONS(3076), + [anon_sym_BANG] = ACTIONS(3076), + [anon_sym_TILDE] = ACTIONS(3076), + [anon_sym_DASH] = ACTIONS(3074), + [anon_sym_PLUS] = ACTIONS(3074), + [anon_sym_STAR] = ACTIONS(3076), + [anon_sym_AMP_AMP] = ACTIONS(3076), + [anon_sym_AMP] = ACTIONS(3074), + [anon_sym_SEMI] = ACTIONS(3076), + [anon_sym___extension__] = ACTIONS(3074), + [anon_sym_typedef] = ACTIONS(3074), + [anon_sym_extern] = ACTIONS(3074), + [anon_sym___attribute__] = ACTIONS(3074), + [anon_sym_COLON_COLON] = ACTIONS(3076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3076), + [anon_sym___declspec] = ACTIONS(3074), + [anon_sym___based] = ACTIONS(3074), + [anon_sym___cdecl] = ACTIONS(3074), + [anon_sym___clrcall] = ACTIONS(3074), + [anon_sym___stdcall] = ACTIONS(3074), + [anon_sym___fastcall] = ACTIONS(3074), + [anon_sym___thiscall] = ACTIONS(3074), + [anon_sym___vectorcall] = ACTIONS(3074), + [anon_sym_LBRACE] = ACTIONS(3076), + [anon_sym_signed] = ACTIONS(3074), + [anon_sym_unsigned] = ACTIONS(3074), + [anon_sym_long] = ACTIONS(3074), + [anon_sym_short] = ACTIONS(3074), + [anon_sym_LBRACK] = ACTIONS(3074), + [anon_sym_static] = ACTIONS(3074), + [anon_sym_register] = ACTIONS(3074), + [anon_sym_inline] = ACTIONS(3074), + [anon_sym___inline] = ACTIONS(3074), + [anon_sym___inline__] = ACTIONS(3074), + [anon_sym___forceinline] = ACTIONS(3074), + [anon_sym_thread_local] = ACTIONS(3074), + [anon_sym___thread] = ACTIONS(3074), + [anon_sym_const] = ACTIONS(3074), + [anon_sym_constexpr] = ACTIONS(3074), + [anon_sym_volatile] = ACTIONS(3074), + [anon_sym_restrict] = ACTIONS(3074), + [anon_sym___restrict__] = ACTIONS(3074), + [anon_sym__Atomic] = ACTIONS(3074), + [anon_sym__Noreturn] = ACTIONS(3074), + [anon_sym_noreturn] = ACTIONS(3074), + [anon_sym_mutable] = ACTIONS(3074), + [anon_sym_constinit] = ACTIONS(3074), + [anon_sym_consteval] = ACTIONS(3074), + [anon_sym_alignas] = ACTIONS(3074), + [anon_sym__Alignas] = ACTIONS(3074), + [sym_primitive_type] = ACTIONS(3074), + [anon_sym_enum] = ACTIONS(3074), + [anon_sym_class] = ACTIONS(3074), + [anon_sym_struct] = ACTIONS(3074), + [anon_sym_union] = ACTIONS(3074), + [anon_sym_if] = ACTIONS(3074), + [anon_sym_switch] = ACTIONS(3074), + [anon_sym_case] = ACTIONS(3074), + [anon_sym_default] = ACTIONS(3074), + [anon_sym_while] = ACTIONS(3074), + [anon_sym_do] = ACTIONS(3074), + [anon_sym_for] = ACTIONS(3074), + [anon_sym_return] = ACTIONS(3074), + [anon_sym_break] = ACTIONS(3074), + [anon_sym_continue] = ACTIONS(3074), + [anon_sym_goto] = ACTIONS(3074), + [anon_sym___try] = ACTIONS(3074), + [anon_sym___leave] = ACTIONS(3074), + [anon_sym_not] = ACTIONS(3074), + [anon_sym_compl] = ACTIONS(3074), + [anon_sym_DASH_DASH] = ACTIONS(3076), + [anon_sym_PLUS_PLUS] = ACTIONS(3076), + [anon_sym_sizeof] = ACTIONS(3074), + [anon_sym___alignof__] = ACTIONS(3074), + [anon_sym___alignof] = ACTIONS(3074), + [anon_sym__alignof] = ACTIONS(3074), + [anon_sym_alignof] = ACTIONS(3074), + [anon_sym__Alignof] = ACTIONS(3074), + [anon_sym_offsetof] = ACTIONS(3074), + [anon_sym__Generic] = ACTIONS(3074), + [anon_sym_asm] = ACTIONS(3074), + [anon_sym___asm__] = ACTIONS(3074), + [sym__number_literal] = ACTIONS(3076), + [anon_sym_L_SQUOTE] = ACTIONS(3076), + [anon_sym_u_SQUOTE] = ACTIONS(3076), + [anon_sym_U_SQUOTE] = ACTIONS(3076), + [anon_sym_u8_SQUOTE] = ACTIONS(3076), + [anon_sym_SQUOTE] = ACTIONS(3076), + [anon_sym_L_DQUOTE] = ACTIONS(3076), + [anon_sym_u_DQUOTE] = ACTIONS(3076), + [anon_sym_U_DQUOTE] = ACTIONS(3076), + [anon_sym_u8_DQUOTE] = ACTIONS(3076), + [anon_sym_DQUOTE] = ACTIONS(3076), + [sym_true] = ACTIONS(3074), + [sym_false] = ACTIONS(3074), + [anon_sym_NULL] = ACTIONS(3074), + [anon_sym_nullptr] = ACTIONS(3074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3076), + [sym_auto] = ACTIONS(3074), + [anon_sym_decltype] = ACTIONS(3074), + [sym_virtual] = ACTIONS(3074), + [anon_sym_explicit] = ACTIONS(3074), + [anon_sym_typename] = ACTIONS(3074), + [anon_sym_template] = ACTIONS(3074), + [anon_sym_operator] = ACTIONS(3074), + [anon_sym_try] = ACTIONS(3074), + [anon_sym_delete] = ACTIONS(3074), + [anon_sym_throw] = ACTIONS(3074), + [anon_sym_namespace] = ACTIONS(3074), + [anon_sym_using] = ACTIONS(3074), + [anon_sym_static_assert] = ACTIONS(3074), + [anon_sym_concept] = ACTIONS(3074), + [anon_sym_co_return] = ACTIONS(3074), + [anon_sym_co_yield] = ACTIONS(3074), + [anon_sym_R_DQUOTE] = ACTIONS(3076), + [anon_sym_LR_DQUOTE] = ACTIONS(3076), + [anon_sym_uR_DQUOTE] = ACTIONS(3076), + [anon_sym_UR_DQUOTE] = ACTIONS(3076), + [anon_sym_u8R_DQUOTE] = ACTIONS(3076), + [anon_sym_co_await] = ACTIONS(3074), + [anon_sym_new] = ACTIONS(3074), + [anon_sym_requires] = ACTIONS(3074), + [sym_this] = ACTIONS(3074), + }, + [666] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [667] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [668] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_include_token1] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_BANG] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_DASH] = ACTIONS(3096), + [anon_sym_PLUS] = ACTIONS(3096), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym_SEMI] = ACTIONS(3098), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym___cdecl] = ACTIONS(3096), + [anon_sym___clrcall] = ACTIONS(3096), + [anon_sym___stdcall] = ACTIONS(3096), + [anon_sym___fastcall] = ACTIONS(3096), + [anon_sym___thiscall] = ACTIONS(3096), + [anon_sym___vectorcall] = ACTIONS(3096), + [anon_sym_LBRACE] = ACTIONS(3098), + [anon_sym_RBRACE] = ACTIONS(3098), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [anon_sym_if] = ACTIONS(3096), + [anon_sym_switch] = ACTIONS(3096), + [anon_sym_case] = ACTIONS(3096), + [anon_sym_default] = ACTIONS(3096), + [anon_sym_while] = ACTIONS(3096), + [anon_sym_do] = ACTIONS(3096), + [anon_sym_for] = ACTIONS(3096), + [anon_sym_return] = ACTIONS(3096), + [anon_sym_break] = ACTIONS(3096), + [anon_sym_continue] = ACTIONS(3096), + [anon_sym_goto] = ACTIONS(3096), + [anon_sym___try] = ACTIONS(3096), + [anon_sym___leave] = ACTIONS(3096), + [anon_sym_not] = ACTIONS(3096), + [anon_sym_compl] = ACTIONS(3096), + [anon_sym_DASH_DASH] = ACTIONS(3098), + [anon_sym_PLUS_PLUS] = ACTIONS(3098), + [anon_sym_sizeof] = ACTIONS(3096), + [anon_sym___alignof__] = ACTIONS(3096), + [anon_sym___alignof] = ACTIONS(3096), + [anon_sym__alignof] = ACTIONS(3096), + [anon_sym_alignof] = ACTIONS(3096), + [anon_sym__Alignof] = ACTIONS(3096), + [anon_sym_offsetof] = ACTIONS(3096), + [anon_sym__Generic] = ACTIONS(3096), + [anon_sym_asm] = ACTIONS(3096), + [anon_sym___asm__] = ACTIONS(3096), + [sym__number_literal] = ACTIONS(3098), + [anon_sym_L_SQUOTE] = ACTIONS(3098), + [anon_sym_u_SQUOTE] = ACTIONS(3098), + [anon_sym_U_SQUOTE] = ACTIONS(3098), + [anon_sym_u8_SQUOTE] = ACTIONS(3098), + [anon_sym_SQUOTE] = ACTIONS(3098), + [anon_sym_L_DQUOTE] = ACTIONS(3098), + [anon_sym_u_DQUOTE] = ACTIONS(3098), + [anon_sym_U_DQUOTE] = ACTIONS(3098), + [anon_sym_u8_DQUOTE] = ACTIONS(3098), + [anon_sym_DQUOTE] = ACTIONS(3098), + [sym_true] = ACTIONS(3096), + [sym_false] = ACTIONS(3096), + [anon_sym_NULL] = ACTIONS(3096), + [anon_sym_nullptr] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_try] = ACTIONS(3096), + [anon_sym_delete] = ACTIONS(3096), + [anon_sym_throw] = ACTIONS(3096), + [anon_sym_namespace] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + [anon_sym_concept] = ACTIONS(3096), + [anon_sym_co_return] = ACTIONS(3096), + [anon_sym_co_yield] = ACTIONS(3096), + [anon_sym_R_DQUOTE] = ACTIONS(3098), + [anon_sym_LR_DQUOTE] = ACTIONS(3098), + [anon_sym_uR_DQUOTE] = ACTIONS(3098), + [anon_sym_UR_DQUOTE] = ACTIONS(3098), + [anon_sym_u8R_DQUOTE] = ACTIONS(3098), + [anon_sym_co_await] = ACTIONS(3096), + [anon_sym_new] = ACTIONS(3096), + [anon_sym_requires] = ACTIONS(3096), + [sym_this] = ACTIONS(3096), + }, + [669] = { + [sym__identifier] = ACTIONS(2909), + [aux_sym_preproc_include_token1] = ACTIONS(2909), + [aux_sym_preproc_def_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token2] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2909), + [sym_preproc_directive] = ACTIONS(2909), + [anon_sym_LPAREN2] = ACTIONS(2911), + [anon_sym_BANG] = ACTIONS(2911), + [anon_sym_TILDE] = ACTIONS(2911), + [anon_sym_DASH] = ACTIONS(2909), + [anon_sym_PLUS] = ACTIONS(2909), + [anon_sym_STAR] = ACTIONS(2911), + [anon_sym_AMP_AMP] = ACTIONS(2911), + [anon_sym_AMP] = ACTIONS(2909), + [anon_sym_SEMI] = ACTIONS(2911), + [anon_sym___extension__] = ACTIONS(2909), + [anon_sym_typedef] = ACTIONS(2909), + [anon_sym_extern] = ACTIONS(2909), + [anon_sym___attribute__] = ACTIONS(2909), + [anon_sym_COLON_COLON] = ACTIONS(2911), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2911), + [anon_sym___declspec] = ACTIONS(2909), + [anon_sym___based] = ACTIONS(2909), + [anon_sym___cdecl] = ACTIONS(2909), + [anon_sym___clrcall] = ACTIONS(2909), + [anon_sym___stdcall] = ACTIONS(2909), + [anon_sym___fastcall] = ACTIONS(2909), + [anon_sym___thiscall] = ACTIONS(2909), + [anon_sym___vectorcall] = ACTIONS(2909), + [anon_sym_LBRACE] = ACTIONS(2911), + [anon_sym_signed] = ACTIONS(2909), + [anon_sym_unsigned] = ACTIONS(2909), + [anon_sym_long] = ACTIONS(2909), + [anon_sym_short] = ACTIONS(2909), + [anon_sym_LBRACK] = ACTIONS(2909), + [anon_sym_static] = ACTIONS(2909), + [anon_sym_register] = ACTIONS(2909), + [anon_sym_inline] = ACTIONS(2909), + [anon_sym___inline] = ACTIONS(2909), + [anon_sym___inline__] = ACTIONS(2909), + [anon_sym___forceinline] = ACTIONS(2909), + [anon_sym_thread_local] = ACTIONS(2909), + [anon_sym___thread] = ACTIONS(2909), + [anon_sym_const] = ACTIONS(2909), + [anon_sym_constexpr] = ACTIONS(2909), + [anon_sym_volatile] = ACTIONS(2909), + [anon_sym_restrict] = ACTIONS(2909), + [anon_sym___restrict__] = ACTIONS(2909), + [anon_sym__Atomic] = ACTIONS(2909), + [anon_sym__Noreturn] = ACTIONS(2909), + [anon_sym_noreturn] = ACTIONS(2909), + [anon_sym_mutable] = ACTIONS(2909), + [anon_sym_constinit] = ACTIONS(2909), + [anon_sym_consteval] = ACTIONS(2909), + [anon_sym_alignas] = ACTIONS(2909), + [anon_sym__Alignas] = ACTIONS(2909), + [sym_primitive_type] = ACTIONS(2909), + [anon_sym_enum] = ACTIONS(2909), + [anon_sym_class] = ACTIONS(2909), + [anon_sym_struct] = ACTIONS(2909), + [anon_sym_union] = ACTIONS(2909), + [anon_sym_if] = ACTIONS(2909), + [anon_sym_switch] = ACTIONS(2909), + [anon_sym_case] = ACTIONS(2909), + [anon_sym_default] = ACTIONS(2909), + [anon_sym_while] = ACTIONS(2909), + [anon_sym_do] = ACTIONS(2909), + [anon_sym_for] = ACTIONS(2909), + [anon_sym_return] = ACTIONS(2909), + [anon_sym_break] = ACTIONS(2909), + [anon_sym_continue] = ACTIONS(2909), + [anon_sym_goto] = ACTIONS(2909), + [anon_sym___try] = ACTIONS(2909), + [anon_sym___leave] = ACTIONS(2909), + [anon_sym_not] = ACTIONS(2909), + [anon_sym_compl] = ACTIONS(2909), + [anon_sym_DASH_DASH] = ACTIONS(2911), + [anon_sym_PLUS_PLUS] = ACTIONS(2911), + [anon_sym_sizeof] = ACTIONS(2909), + [anon_sym___alignof__] = ACTIONS(2909), + [anon_sym___alignof] = ACTIONS(2909), + [anon_sym__alignof] = ACTIONS(2909), + [anon_sym_alignof] = ACTIONS(2909), + [anon_sym__Alignof] = ACTIONS(2909), + [anon_sym_offsetof] = ACTIONS(2909), + [anon_sym__Generic] = ACTIONS(2909), + [anon_sym_asm] = ACTIONS(2909), + [anon_sym___asm__] = ACTIONS(2909), + [sym__number_literal] = ACTIONS(2911), + [anon_sym_L_SQUOTE] = ACTIONS(2911), + [anon_sym_u_SQUOTE] = ACTIONS(2911), + [anon_sym_U_SQUOTE] = ACTIONS(2911), + [anon_sym_u8_SQUOTE] = ACTIONS(2911), + [anon_sym_SQUOTE] = ACTIONS(2911), + [anon_sym_L_DQUOTE] = ACTIONS(2911), + [anon_sym_u_DQUOTE] = ACTIONS(2911), + [anon_sym_U_DQUOTE] = ACTIONS(2911), + [anon_sym_u8_DQUOTE] = ACTIONS(2911), + [anon_sym_DQUOTE] = ACTIONS(2911), + [sym_true] = ACTIONS(2909), + [sym_false] = ACTIONS(2909), + [anon_sym_NULL] = ACTIONS(2909), + [anon_sym_nullptr] = ACTIONS(2909), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2911), + [sym_auto] = ACTIONS(2909), + [anon_sym_decltype] = ACTIONS(2909), + [sym_virtual] = ACTIONS(2909), + [anon_sym_explicit] = ACTIONS(2909), + [anon_sym_typename] = ACTIONS(2909), + [anon_sym_template] = ACTIONS(2909), + [anon_sym_operator] = ACTIONS(2909), + [anon_sym_try] = ACTIONS(2909), + [anon_sym_delete] = ACTIONS(2909), + [anon_sym_throw] = ACTIONS(2909), + [anon_sym_namespace] = ACTIONS(2909), + [anon_sym_using] = ACTIONS(2909), + [anon_sym_static_assert] = ACTIONS(2909), + [anon_sym_concept] = ACTIONS(2909), + [anon_sym_co_return] = ACTIONS(2909), + [anon_sym_co_yield] = ACTIONS(2909), + [anon_sym_R_DQUOTE] = ACTIONS(2911), + [anon_sym_LR_DQUOTE] = ACTIONS(2911), + [anon_sym_uR_DQUOTE] = ACTIONS(2911), + [anon_sym_UR_DQUOTE] = ACTIONS(2911), + [anon_sym_u8R_DQUOTE] = ACTIONS(2911), + [anon_sym_co_await] = ACTIONS(2909), + [anon_sym_new] = ACTIONS(2909), + [anon_sym_requires] = ACTIONS(2909), + [sym_this] = ACTIONS(2909), + }, + [670] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_include_token1] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token2] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_BANG] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_DASH] = ACTIONS(3005), + [anon_sym_PLUS] = ACTIONS(3005), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym_SEMI] = ACTIONS(3007), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym___cdecl] = ACTIONS(3005), + [anon_sym___clrcall] = ACTIONS(3005), + [anon_sym___stdcall] = ACTIONS(3005), + [anon_sym___fastcall] = ACTIONS(3005), + [anon_sym___thiscall] = ACTIONS(3005), + [anon_sym___vectorcall] = ACTIONS(3005), + [anon_sym_LBRACE] = ACTIONS(3007), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [anon_sym_if] = ACTIONS(3005), + [anon_sym_switch] = ACTIONS(3005), + [anon_sym_case] = ACTIONS(3005), + [anon_sym_default] = ACTIONS(3005), + [anon_sym_while] = ACTIONS(3005), + [anon_sym_do] = ACTIONS(3005), + [anon_sym_for] = ACTIONS(3005), + [anon_sym_return] = ACTIONS(3005), + [anon_sym_break] = ACTIONS(3005), + [anon_sym_continue] = ACTIONS(3005), + [anon_sym_goto] = ACTIONS(3005), + [anon_sym___try] = ACTIONS(3005), + [anon_sym___leave] = ACTIONS(3005), + [anon_sym_not] = ACTIONS(3005), + [anon_sym_compl] = ACTIONS(3005), + [anon_sym_DASH_DASH] = ACTIONS(3007), + [anon_sym_PLUS_PLUS] = ACTIONS(3007), + [anon_sym_sizeof] = ACTIONS(3005), + [anon_sym___alignof__] = ACTIONS(3005), + [anon_sym___alignof] = ACTIONS(3005), + [anon_sym__alignof] = ACTIONS(3005), + [anon_sym_alignof] = ACTIONS(3005), + [anon_sym__Alignof] = ACTIONS(3005), + [anon_sym_offsetof] = ACTIONS(3005), + [anon_sym__Generic] = ACTIONS(3005), + [anon_sym_asm] = ACTIONS(3005), + [anon_sym___asm__] = ACTIONS(3005), + [sym__number_literal] = ACTIONS(3007), + [anon_sym_L_SQUOTE] = ACTIONS(3007), + [anon_sym_u_SQUOTE] = ACTIONS(3007), + [anon_sym_U_SQUOTE] = ACTIONS(3007), + [anon_sym_u8_SQUOTE] = ACTIONS(3007), + [anon_sym_SQUOTE] = ACTIONS(3007), + [anon_sym_L_DQUOTE] = ACTIONS(3007), + [anon_sym_u_DQUOTE] = ACTIONS(3007), + [anon_sym_U_DQUOTE] = ACTIONS(3007), + [anon_sym_u8_DQUOTE] = ACTIONS(3007), + [anon_sym_DQUOTE] = ACTIONS(3007), + [sym_true] = ACTIONS(3005), + [sym_false] = ACTIONS(3005), + [anon_sym_NULL] = ACTIONS(3005), + [anon_sym_nullptr] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_try] = ACTIONS(3005), + [anon_sym_delete] = ACTIONS(3005), + [anon_sym_throw] = ACTIONS(3005), + [anon_sym_namespace] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + [anon_sym_concept] = ACTIONS(3005), + [anon_sym_co_return] = ACTIONS(3005), + [anon_sym_co_yield] = ACTIONS(3005), + [anon_sym_R_DQUOTE] = ACTIONS(3007), + [anon_sym_LR_DQUOTE] = ACTIONS(3007), + [anon_sym_uR_DQUOTE] = ACTIONS(3007), + [anon_sym_UR_DQUOTE] = ACTIONS(3007), + [anon_sym_u8R_DQUOTE] = ACTIONS(3007), + [anon_sym_co_await] = ACTIONS(3005), + [anon_sym_new] = ACTIONS(3005), + [anon_sym_requires] = ACTIONS(3005), + [sym_this] = ACTIONS(3005), + }, + [671] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym_SEMI] = ACTIONS(3188), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym___try] = ACTIONS(3186), + [anon_sym___leave] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [672] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym_SEMI] = ACTIONS(3156), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym___try] = ACTIONS(3154), + [anon_sym___leave] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [673] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_include_token1] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_BANG] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_DASH] = ACTIONS(3178), + [anon_sym_PLUS] = ACTIONS(3178), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym_SEMI] = ACTIONS(3180), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym___cdecl] = ACTIONS(3178), + [anon_sym___clrcall] = ACTIONS(3178), + [anon_sym___stdcall] = ACTIONS(3178), + [anon_sym___fastcall] = ACTIONS(3178), + [anon_sym___thiscall] = ACTIONS(3178), + [anon_sym___vectorcall] = ACTIONS(3178), + [anon_sym_LBRACE] = ACTIONS(3180), + [anon_sym_RBRACE] = ACTIONS(3180), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [anon_sym_if] = ACTIONS(3178), + [anon_sym_switch] = ACTIONS(3178), + [anon_sym_case] = ACTIONS(3178), + [anon_sym_default] = ACTIONS(3178), + [anon_sym_while] = ACTIONS(3178), + [anon_sym_do] = ACTIONS(3178), + [anon_sym_for] = ACTIONS(3178), + [anon_sym_return] = ACTIONS(3178), + [anon_sym_break] = ACTIONS(3178), + [anon_sym_continue] = ACTIONS(3178), + [anon_sym_goto] = ACTIONS(3178), + [anon_sym___try] = ACTIONS(3178), + [anon_sym___leave] = ACTIONS(3178), + [anon_sym_not] = ACTIONS(3178), + [anon_sym_compl] = ACTIONS(3178), + [anon_sym_DASH_DASH] = ACTIONS(3180), + [anon_sym_PLUS_PLUS] = ACTIONS(3180), + [anon_sym_sizeof] = ACTIONS(3178), + [anon_sym___alignof__] = ACTIONS(3178), + [anon_sym___alignof] = ACTIONS(3178), + [anon_sym__alignof] = ACTIONS(3178), + [anon_sym_alignof] = ACTIONS(3178), + [anon_sym__Alignof] = ACTIONS(3178), + [anon_sym_offsetof] = ACTIONS(3178), + [anon_sym__Generic] = ACTIONS(3178), + [anon_sym_asm] = ACTIONS(3178), + [anon_sym___asm__] = ACTIONS(3178), + [sym__number_literal] = ACTIONS(3180), + [anon_sym_L_SQUOTE] = ACTIONS(3180), + [anon_sym_u_SQUOTE] = ACTIONS(3180), + [anon_sym_U_SQUOTE] = ACTIONS(3180), + [anon_sym_u8_SQUOTE] = ACTIONS(3180), + [anon_sym_SQUOTE] = ACTIONS(3180), + [anon_sym_L_DQUOTE] = ACTIONS(3180), + [anon_sym_u_DQUOTE] = ACTIONS(3180), + [anon_sym_U_DQUOTE] = ACTIONS(3180), + [anon_sym_u8_DQUOTE] = ACTIONS(3180), + [anon_sym_DQUOTE] = ACTIONS(3180), + [sym_true] = ACTIONS(3178), + [sym_false] = ACTIONS(3178), + [anon_sym_NULL] = ACTIONS(3178), + [anon_sym_nullptr] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_try] = ACTIONS(3178), + [anon_sym_delete] = ACTIONS(3178), + [anon_sym_throw] = ACTIONS(3178), + [anon_sym_namespace] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + [anon_sym_concept] = ACTIONS(3178), + [anon_sym_co_return] = ACTIONS(3178), + [anon_sym_co_yield] = ACTIONS(3178), + [anon_sym_R_DQUOTE] = ACTIONS(3180), + [anon_sym_LR_DQUOTE] = ACTIONS(3180), + [anon_sym_uR_DQUOTE] = ACTIONS(3180), + [anon_sym_UR_DQUOTE] = ACTIONS(3180), + [anon_sym_u8R_DQUOTE] = ACTIONS(3180), + [anon_sym_co_await] = ACTIONS(3178), + [anon_sym_new] = ACTIONS(3178), + [anon_sym_requires] = ACTIONS(3178), + [sym_this] = ACTIONS(3178), + }, + [674] = { + [sym_expression] = STATE(4418), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_initializer_list] = STATE(4801), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(2464), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1869), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1869), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACE] = ACTIONS(3367), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(1871), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [675] = { + [sym_expression] = STATE(4472), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(3373), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(1869), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [676] = { + [ts_builtin_sym_end] = ACTIONS(2942), + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_include_token1] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [anon_sym_COMMA] = ACTIONS(2942), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_BANG] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_DASH] = ACTIONS(2940), + [anon_sym_PLUS] = ACTIONS(2940), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym___cdecl] = ACTIONS(2940), + [anon_sym___clrcall] = ACTIONS(2940), + [anon_sym___stdcall] = ACTIONS(2940), + [anon_sym___fastcall] = ACTIONS(2940), + [anon_sym___thiscall] = ACTIONS(2940), + [anon_sym___vectorcall] = ACTIONS(2940), + [anon_sym_LBRACE] = ACTIONS(2942), + [anon_sym_RBRACE] = ACTIONS(2942), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [anon_sym_if] = ACTIONS(2940), + [anon_sym_switch] = ACTIONS(2940), + [anon_sym_case] = ACTIONS(2940), + [anon_sym_default] = ACTIONS(2940), + [anon_sym_while] = ACTIONS(2940), + [anon_sym_do] = ACTIONS(2940), + [anon_sym_for] = ACTIONS(2940), + [anon_sym_return] = ACTIONS(2940), + [anon_sym_break] = ACTIONS(2940), + [anon_sym_continue] = ACTIONS(2940), + [anon_sym_goto] = ACTIONS(2940), + [anon_sym_not] = ACTIONS(2940), + [anon_sym_compl] = ACTIONS(2940), + [anon_sym_DASH_DASH] = ACTIONS(2942), + [anon_sym_PLUS_PLUS] = ACTIONS(2942), + [anon_sym_sizeof] = ACTIONS(2940), + [anon_sym___alignof__] = ACTIONS(2940), + [anon_sym___alignof] = ACTIONS(2940), + [anon_sym__alignof] = ACTIONS(2940), + [anon_sym_alignof] = ACTIONS(2940), + [anon_sym__Alignof] = ACTIONS(2940), + [anon_sym_offsetof] = ACTIONS(2940), + [anon_sym__Generic] = ACTIONS(2940), + [anon_sym_asm] = ACTIONS(2940), + [anon_sym___asm__] = ACTIONS(2940), + [sym__number_literal] = ACTIONS(2942), + [anon_sym_L_SQUOTE] = ACTIONS(2942), + [anon_sym_u_SQUOTE] = ACTIONS(2942), + [anon_sym_U_SQUOTE] = ACTIONS(2942), + [anon_sym_u8_SQUOTE] = ACTIONS(2942), + [anon_sym_SQUOTE] = ACTIONS(2942), + [anon_sym_L_DQUOTE] = ACTIONS(2942), + [anon_sym_u_DQUOTE] = ACTIONS(2942), + [anon_sym_U_DQUOTE] = ACTIONS(2942), + [anon_sym_u8_DQUOTE] = ACTIONS(2942), + [anon_sym_DQUOTE] = ACTIONS(2942), + [sym_true] = ACTIONS(2940), + [sym_false] = ACTIONS(2940), + [anon_sym_NULL] = ACTIONS(2940), + [anon_sym_nullptr] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_try] = ACTIONS(2940), + [anon_sym_delete] = ACTIONS(2940), + [anon_sym_throw] = ACTIONS(2940), + [anon_sym_namespace] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + [anon_sym_concept] = ACTIONS(2940), + [anon_sym_co_return] = ACTIONS(2940), + [anon_sym_co_yield] = ACTIONS(2940), + [anon_sym_R_DQUOTE] = ACTIONS(2942), + [anon_sym_LR_DQUOTE] = ACTIONS(2942), + [anon_sym_uR_DQUOTE] = ACTIONS(2942), + [anon_sym_UR_DQUOTE] = ACTIONS(2942), + [anon_sym_u8R_DQUOTE] = ACTIONS(2942), + [anon_sym_co_await] = ACTIONS(2940), + [anon_sym_new] = ACTIONS(2940), + [anon_sym_requires] = ACTIONS(2940), + [sym_this] = ACTIONS(2940), + }, + [677] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1871), + [anon_sym_COMMA] = ACTIONS(1871), + [anon_sym_LPAREN2] = ACTIONS(1871), + [anon_sym_BANG] = ACTIONS(3387), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(1869), + [anon_sym_PLUS] = ACTIONS(1869), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_SLASH] = ACTIONS(1869), + [anon_sym_PERCENT] = ACTIONS(1871), + [anon_sym_PIPE_PIPE] = ACTIONS(1871), + [anon_sym_AMP_AMP] = ACTIONS(1871), + [anon_sym_PIPE] = ACTIONS(1869), + [anon_sym_CARET] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1869), + [anon_sym_EQ_EQ] = ACTIONS(1871), + [anon_sym_BANG_EQ] = ACTIONS(1871), + [anon_sym_GT] = ACTIONS(1869), + [anon_sym_GT_EQ] = ACTIONS(1871), + [anon_sym_LT_EQ] = ACTIONS(1869), + [anon_sym_LT] = ACTIONS(1869), + [anon_sym_LT_LT] = ACTIONS(1871), + [anon_sym_GT_GT] = ACTIONS(1871), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(1871), + [anon_sym_RBRACK] = ACTIONS(1871), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(1871), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_LT_EQ_GT] = ACTIONS(1871), + [anon_sym_or] = ACTIONS(1869), + [anon_sym_and] = ACTIONS(1869), + [anon_sym_bitor] = ACTIONS(1869), + [anon_sym_xor] = ACTIONS(1869), + [anon_sym_bitand] = ACTIONS(1869), + [anon_sym_not_eq] = ACTIONS(1869), + [anon_sym_DASH_DASH] = ACTIONS(1871), + [anon_sym_PLUS_PLUS] = ACTIONS(1871), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(1869), + [anon_sym_DOT_STAR] = ACTIONS(1871), + [anon_sym_DASH_GT] = ACTIONS(1871), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [678] = { + [ts_builtin_sym_end] = ACTIONS(2938), + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_include_token1] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [anon_sym_COMMA] = ACTIONS(2938), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_BANG] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_DASH] = ACTIONS(2936), + [anon_sym_PLUS] = ACTIONS(2936), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym___cdecl] = ACTIONS(2936), + [anon_sym___clrcall] = ACTIONS(2936), + [anon_sym___stdcall] = ACTIONS(2936), + [anon_sym___fastcall] = ACTIONS(2936), + [anon_sym___thiscall] = ACTIONS(2936), + [anon_sym___vectorcall] = ACTIONS(2936), + [anon_sym_LBRACE] = ACTIONS(2938), + [anon_sym_RBRACE] = ACTIONS(2938), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [anon_sym_if] = ACTIONS(2936), + [anon_sym_switch] = ACTIONS(2936), + [anon_sym_case] = ACTIONS(2936), + [anon_sym_default] = ACTIONS(2936), + [anon_sym_while] = ACTIONS(2936), + [anon_sym_do] = ACTIONS(2936), + [anon_sym_for] = ACTIONS(2936), + [anon_sym_return] = ACTIONS(2936), + [anon_sym_break] = ACTIONS(2936), + [anon_sym_continue] = ACTIONS(2936), + [anon_sym_goto] = ACTIONS(2936), + [anon_sym_not] = ACTIONS(2936), + [anon_sym_compl] = ACTIONS(2936), + [anon_sym_DASH_DASH] = ACTIONS(2938), + [anon_sym_PLUS_PLUS] = ACTIONS(2938), + [anon_sym_sizeof] = ACTIONS(2936), + [anon_sym___alignof__] = ACTIONS(2936), + [anon_sym___alignof] = ACTIONS(2936), + [anon_sym__alignof] = ACTIONS(2936), + [anon_sym_alignof] = ACTIONS(2936), + [anon_sym__Alignof] = ACTIONS(2936), + [anon_sym_offsetof] = ACTIONS(2936), + [anon_sym__Generic] = ACTIONS(2936), + [anon_sym_asm] = ACTIONS(2936), + [anon_sym___asm__] = ACTIONS(2936), + [sym__number_literal] = ACTIONS(2938), + [anon_sym_L_SQUOTE] = ACTIONS(2938), + [anon_sym_u_SQUOTE] = ACTIONS(2938), + [anon_sym_U_SQUOTE] = ACTIONS(2938), + [anon_sym_u8_SQUOTE] = ACTIONS(2938), + [anon_sym_SQUOTE] = ACTIONS(2938), + [anon_sym_L_DQUOTE] = ACTIONS(2938), + [anon_sym_u_DQUOTE] = ACTIONS(2938), + [anon_sym_U_DQUOTE] = ACTIONS(2938), + [anon_sym_u8_DQUOTE] = ACTIONS(2938), + [anon_sym_DQUOTE] = ACTIONS(2938), + [sym_true] = ACTIONS(2936), + [sym_false] = ACTIONS(2936), + [anon_sym_NULL] = ACTIONS(2936), + [anon_sym_nullptr] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_try] = ACTIONS(2936), + [anon_sym_delete] = ACTIONS(2936), + [anon_sym_throw] = ACTIONS(2936), + [anon_sym_namespace] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + [anon_sym_concept] = ACTIONS(2936), + [anon_sym_co_return] = ACTIONS(2936), + [anon_sym_co_yield] = ACTIONS(2936), + [anon_sym_R_DQUOTE] = ACTIONS(2938), + [anon_sym_LR_DQUOTE] = ACTIONS(2938), + [anon_sym_uR_DQUOTE] = ACTIONS(2938), + [anon_sym_UR_DQUOTE] = ACTIONS(2938), + [anon_sym_u8R_DQUOTE] = ACTIONS(2938), + [anon_sym_co_await] = ACTIONS(2936), + [anon_sym_new] = ACTIONS(2936), + [anon_sym_requires] = ACTIONS(2936), + [sym_this] = ACTIONS(2936), + }, + [679] = { + [ts_builtin_sym_end] = ACTIONS(3184), + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_include_token1] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_BANG] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_DASH] = ACTIONS(3182), + [anon_sym_PLUS] = ACTIONS(3182), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym___cdecl] = ACTIONS(3182), + [anon_sym___clrcall] = ACTIONS(3182), + [anon_sym___stdcall] = ACTIONS(3182), + [anon_sym___fastcall] = ACTIONS(3182), + [anon_sym___thiscall] = ACTIONS(3182), + [anon_sym___vectorcall] = ACTIONS(3182), + [anon_sym_LBRACE] = ACTIONS(3184), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [anon_sym_if] = ACTIONS(3182), + [anon_sym_switch] = ACTIONS(3182), + [anon_sym_case] = ACTIONS(3182), + [anon_sym_default] = ACTIONS(3182), + [anon_sym_while] = ACTIONS(3182), + [anon_sym_do] = ACTIONS(3182), + [anon_sym_for] = ACTIONS(3182), + [anon_sym_return] = ACTIONS(3182), + [anon_sym_break] = ACTIONS(3182), + [anon_sym_continue] = ACTIONS(3182), + [anon_sym_goto] = ACTIONS(3182), + [anon_sym_not] = ACTIONS(3182), + [anon_sym_compl] = ACTIONS(3182), + [anon_sym_DASH_DASH] = ACTIONS(3184), + [anon_sym_PLUS_PLUS] = ACTIONS(3184), + [anon_sym_sizeof] = ACTIONS(3182), + [anon_sym___alignof__] = ACTIONS(3182), + [anon_sym___alignof] = ACTIONS(3182), + [anon_sym__alignof] = ACTIONS(3182), + [anon_sym_alignof] = ACTIONS(3182), + [anon_sym__Alignof] = ACTIONS(3182), + [anon_sym_offsetof] = ACTIONS(3182), + [anon_sym__Generic] = ACTIONS(3182), + [anon_sym_asm] = ACTIONS(3182), + [anon_sym___asm__] = ACTIONS(3182), + [sym__number_literal] = ACTIONS(3184), + [anon_sym_L_SQUOTE] = ACTIONS(3184), + [anon_sym_u_SQUOTE] = ACTIONS(3184), + [anon_sym_U_SQUOTE] = ACTIONS(3184), + [anon_sym_u8_SQUOTE] = ACTIONS(3184), + [anon_sym_SQUOTE] = ACTIONS(3184), + [anon_sym_L_DQUOTE] = ACTIONS(3184), + [anon_sym_u_DQUOTE] = ACTIONS(3184), + [anon_sym_U_DQUOTE] = ACTIONS(3184), + [anon_sym_u8_DQUOTE] = ACTIONS(3184), + [anon_sym_DQUOTE] = ACTIONS(3184), + [sym_true] = ACTIONS(3182), + [sym_false] = ACTIONS(3182), + [anon_sym_NULL] = ACTIONS(3182), + [anon_sym_nullptr] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_try] = ACTIONS(3182), + [anon_sym_delete] = ACTIONS(3182), + [anon_sym_throw] = ACTIONS(3182), + [anon_sym_namespace] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + [anon_sym_concept] = ACTIONS(3182), + [anon_sym_co_return] = ACTIONS(3182), + [anon_sym_co_yield] = ACTIONS(3182), + [anon_sym_R_DQUOTE] = ACTIONS(3184), + [anon_sym_LR_DQUOTE] = ACTIONS(3184), + [anon_sym_uR_DQUOTE] = ACTIONS(3184), + [anon_sym_UR_DQUOTE] = ACTIONS(3184), + [anon_sym_u8R_DQUOTE] = ACTIONS(3184), + [anon_sym_co_await] = ACTIONS(3182), + [anon_sym_new] = ACTIONS(3182), + [anon_sym_requires] = ACTIONS(3182), + [sym_this] = ACTIONS(3182), + }, + [680] = { + [sym_preproc_def] = STATE(716), + [sym_preproc_function_def] = STATE(716), + [sym_preproc_call] = STATE(716), + [sym_preproc_if_in_field_declaration_list] = STATE(716), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(716), + [sym_type_definition] = STATE(716), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(716), + [sym_field_declaration] = STATE(716), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(716), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(716), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(716), + [sym_operator_cast_declaration] = STATE(716), + [sym_constructor_or_destructor_definition] = STATE(716), + [sym_constructor_or_destructor_declaration] = STATE(716), + [sym_friend_declaration] = STATE(716), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(716), + [sym_alias_declaration] = STATE(716), + [sym_static_assert_declaration] = STATE(716), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(716), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3413), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [681] = { + [ts_builtin_sym_end] = ACTIONS(3080), + [sym__identifier] = ACTIONS(3078), + [aux_sym_preproc_include_token1] = ACTIONS(3078), + [aux_sym_preproc_def_token1] = ACTIONS(3078), + [aux_sym_preproc_if_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3078), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3078), + [sym_preproc_directive] = ACTIONS(3078), + [anon_sym_LPAREN2] = ACTIONS(3080), + [anon_sym_BANG] = ACTIONS(3080), + [anon_sym_TILDE] = ACTIONS(3080), + [anon_sym_DASH] = ACTIONS(3078), + [anon_sym_PLUS] = ACTIONS(3078), + [anon_sym_STAR] = ACTIONS(3080), + [anon_sym_AMP_AMP] = ACTIONS(3080), + [anon_sym_AMP] = ACTIONS(3078), + [anon_sym___extension__] = ACTIONS(3078), + [anon_sym_typedef] = ACTIONS(3078), + [anon_sym_extern] = ACTIONS(3078), + [anon_sym___attribute__] = ACTIONS(3078), + [anon_sym_COLON_COLON] = ACTIONS(3080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3080), + [anon_sym___declspec] = ACTIONS(3078), + [anon_sym___based] = ACTIONS(3078), + [anon_sym___cdecl] = ACTIONS(3078), + [anon_sym___clrcall] = ACTIONS(3078), + [anon_sym___stdcall] = ACTIONS(3078), + [anon_sym___fastcall] = ACTIONS(3078), + [anon_sym___thiscall] = ACTIONS(3078), + [anon_sym___vectorcall] = ACTIONS(3078), + [anon_sym_LBRACE] = ACTIONS(3080), + [anon_sym_signed] = ACTIONS(3078), + [anon_sym_unsigned] = ACTIONS(3078), + [anon_sym_long] = ACTIONS(3078), + [anon_sym_short] = ACTIONS(3078), + [anon_sym_LBRACK] = ACTIONS(3078), + [anon_sym_static] = ACTIONS(3078), + [anon_sym_register] = ACTIONS(3078), + [anon_sym_inline] = ACTIONS(3078), + [anon_sym___inline] = ACTIONS(3078), + [anon_sym___inline__] = ACTIONS(3078), + [anon_sym___forceinline] = ACTIONS(3078), + [anon_sym_thread_local] = ACTIONS(3078), + [anon_sym___thread] = ACTIONS(3078), + [anon_sym_const] = ACTIONS(3078), + [anon_sym_constexpr] = ACTIONS(3078), + [anon_sym_volatile] = ACTIONS(3078), + [anon_sym_restrict] = ACTIONS(3078), + [anon_sym___restrict__] = ACTIONS(3078), + [anon_sym__Atomic] = ACTIONS(3078), + [anon_sym__Noreturn] = ACTIONS(3078), + [anon_sym_noreturn] = ACTIONS(3078), + [anon_sym_mutable] = ACTIONS(3078), + [anon_sym_constinit] = ACTIONS(3078), + [anon_sym_consteval] = ACTIONS(3078), + [anon_sym_alignas] = ACTIONS(3078), + [anon_sym__Alignas] = ACTIONS(3078), + [sym_primitive_type] = ACTIONS(3078), + [anon_sym_enum] = ACTIONS(3078), + [anon_sym_class] = ACTIONS(3078), + [anon_sym_struct] = ACTIONS(3078), + [anon_sym_union] = ACTIONS(3078), + [anon_sym_if] = ACTIONS(3078), + [anon_sym_switch] = ACTIONS(3078), + [anon_sym_case] = ACTIONS(3078), + [anon_sym_default] = ACTIONS(3078), + [anon_sym_while] = ACTIONS(3078), + [anon_sym_do] = ACTIONS(3078), + [anon_sym_for] = ACTIONS(3078), + [anon_sym_return] = ACTIONS(3078), + [anon_sym_break] = ACTIONS(3078), + [anon_sym_continue] = ACTIONS(3078), + [anon_sym_goto] = ACTIONS(3078), + [anon_sym_not] = ACTIONS(3078), + [anon_sym_compl] = ACTIONS(3078), + [anon_sym_DASH_DASH] = ACTIONS(3080), + [anon_sym_PLUS_PLUS] = ACTIONS(3080), + [anon_sym_sizeof] = ACTIONS(3078), + [anon_sym___alignof__] = ACTIONS(3078), + [anon_sym___alignof] = ACTIONS(3078), + [anon_sym__alignof] = ACTIONS(3078), + [anon_sym_alignof] = ACTIONS(3078), + [anon_sym__Alignof] = ACTIONS(3078), + [anon_sym_offsetof] = ACTIONS(3078), + [anon_sym__Generic] = ACTIONS(3078), + [anon_sym_asm] = ACTIONS(3078), + [anon_sym___asm__] = ACTIONS(3078), + [sym__number_literal] = ACTIONS(3080), + [anon_sym_L_SQUOTE] = ACTIONS(3080), + [anon_sym_u_SQUOTE] = ACTIONS(3080), + [anon_sym_U_SQUOTE] = ACTIONS(3080), + [anon_sym_u8_SQUOTE] = ACTIONS(3080), + [anon_sym_SQUOTE] = ACTIONS(3080), + [anon_sym_L_DQUOTE] = ACTIONS(3080), + [anon_sym_u_DQUOTE] = ACTIONS(3080), + [anon_sym_U_DQUOTE] = ACTIONS(3080), + [anon_sym_u8_DQUOTE] = ACTIONS(3080), + [anon_sym_DQUOTE] = ACTIONS(3080), + [sym_true] = ACTIONS(3078), + [sym_false] = ACTIONS(3078), + [anon_sym_NULL] = ACTIONS(3078), + [anon_sym_nullptr] = ACTIONS(3078), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3080), + [sym_auto] = ACTIONS(3078), + [anon_sym_decltype] = ACTIONS(3078), + [sym_virtual] = ACTIONS(3078), + [anon_sym_explicit] = ACTIONS(3078), + [anon_sym_typename] = ACTIONS(3078), + [anon_sym_template] = ACTIONS(3078), + [anon_sym_operator] = ACTIONS(3078), + [anon_sym_try] = ACTIONS(3078), + [anon_sym_delete] = ACTIONS(3078), + [anon_sym_throw] = ACTIONS(3078), + [anon_sym_namespace] = ACTIONS(3078), + [anon_sym_using] = ACTIONS(3078), + [anon_sym_static_assert] = ACTIONS(3078), + [anon_sym_concept] = ACTIONS(3078), + [anon_sym_co_return] = ACTIONS(3078), + [anon_sym_co_yield] = ACTIONS(3078), + [anon_sym_R_DQUOTE] = ACTIONS(3080), + [anon_sym_LR_DQUOTE] = ACTIONS(3080), + [anon_sym_uR_DQUOTE] = ACTIONS(3080), + [anon_sym_UR_DQUOTE] = ACTIONS(3080), + [anon_sym_u8R_DQUOTE] = ACTIONS(3080), + [anon_sym_co_await] = ACTIONS(3078), + [anon_sym_new] = ACTIONS(3078), + [anon_sym_requires] = ACTIONS(3078), + [sym_this] = ACTIONS(3078), + }, + [682] = { + [sym_preproc_def] = STATE(763), + [sym_preproc_function_def] = STATE(763), + [sym_preproc_call] = STATE(763), + [sym_preproc_if_in_field_declaration_list] = STATE(763), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(763), + [sym_type_definition] = STATE(763), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(763), + [sym_field_declaration] = STATE(763), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(763), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(763), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(763), + [sym_operator_cast_declaration] = STATE(763), + [sym_constructor_or_destructor_definition] = STATE(763), + [sym_constructor_or_destructor_declaration] = STATE(763), + [sym_friend_declaration] = STATE(763), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(763), + [sym_alias_declaration] = STATE(763), + [sym_static_assert_declaration] = STATE(763), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(763), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3423), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [683] = { + [ts_builtin_sym_end] = ACTIONS(3076), + [sym__identifier] = ACTIONS(3074), + [aux_sym_preproc_include_token1] = ACTIONS(3074), + [aux_sym_preproc_def_token1] = ACTIONS(3074), + [aux_sym_preproc_if_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3074), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3074), + [sym_preproc_directive] = ACTIONS(3074), + [anon_sym_LPAREN2] = ACTIONS(3076), + [anon_sym_BANG] = ACTIONS(3076), + [anon_sym_TILDE] = ACTIONS(3076), + [anon_sym_DASH] = ACTIONS(3074), + [anon_sym_PLUS] = ACTIONS(3074), + [anon_sym_STAR] = ACTIONS(3076), + [anon_sym_AMP_AMP] = ACTIONS(3076), + [anon_sym_AMP] = ACTIONS(3074), + [anon_sym___extension__] = ACTIONS(3074), + [anon_sym_typedef] = ACTIONS(3074), + [anon_sym_extern] = ACTIONS(3074), + [anon_sym___attribute__] = ACTIONS(3074), + [anon_sym_COLON_COLON] = ACTIONS(3076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3076), + [anon_sym___declspec] = ACTIONS(3074), + [anon_sym___based] = ACTIONS(3074), + [anon_sym___cdecl] = ACTIONS(3074), + [anon_sym___clrcall] = ACTIONS(3074), + [anon_sym___stdcall] = ACTIONS(3074), + [anon_sym___fastcall] = ACTIONS(3074), + [anon_sym___thiscall] = ACTIONS(3074), + [anon_sym___vectorcall] = ACTIONS(3074), + [anon_sym_LBRACE] = ACTIONS(3076), + [anon_sym_signed] = ACTIONS(3074), + [anon_sym_unsigned] = ACTIONS(3074), + [anon_sym_long] = ACTIONS(3074), + [anon_sym_short] = ACTIONS(3074), + [anon_sym_LBRACK] = ACTIONS(3074), + [anon_sym_static] = ACTIONS(3074), + [anon_sym_register] = ACTIONS(3074), + [anon_sym_inline] = ACTIONS(3074), + [anon_sym___inline] = ACTIONS(3074), + [anon_sym___inline__] = ACTIONS(3074), + [anon_sym___forceinline] = ACTIONS(3074), + [anon_sym_thread_local] = ACTIONS(3074), + [anon_sym___thread] = ACTIONS(3074), + [anon_sym_const] = ACTIONS(3074), + [anon_sym_constexpr] = ACTIONS(3074), + [anon_sym_volatile] = ACTIONS(3074), + [anon_sym_restrict] = ACTIONS(3074), + [anon_sym___restrict__] = ACTIONS(3074), + [anon_sym__Atomic] = ACTIONS(3074), + [anon_sym__Noreturn] = ACTIONS(3074), + [anon_sym_noreturn] = ACTIONS(3074), + [anon_sym_mutable] = ACTIONS(3074), + [anon_sym_constinit] = ACTIONS(3074), + [anon_sym_consteval] = ACTIONS(3074), + [anon_sym_alignas] = ACTIONS(3074), + [anon_sym__Alignas] = ACTIONS(3074), + [sym_primitive_type] = ACTIONS(3074), + [anon_sym_enum] = ACTIONS(3074), + [anon_sym_class] = ACTIONS(3074), + [anon_sym_struct] = ACTIONS(3074), + [anon_sym_union] = ACTIONS(3074), + [anon_sym_if] = ACTIONS(3074), + [anon_sym_switch] = ACTIONS(3074), + [anon_sym_case] = ACTIONS(3074), + [anon_sym_default] = ACTIONS(3074), + [anon_sym_while] = ACTIONS(3074), + [anon_sym_do] = ACTIONS(3074), + [anon_sym_for] = ACTIONS(3074), + [anon_sym_return] = ACTIONS(3074), + [anon_sym_break] = ACTIONS(3074), + [anon_sym_continue] = ACTIONS(3074), + [anon_sym_goto] = ACTIONS(3074), + [anon_sym_not] = ACTIONS(3074), + [anon_sym_compl] = ACTIONS(3074), + [anon_sym_DASH_DASH] = ACTIONS(3076), + [anon_sym_PLUS_PLUS] = ACTIONS(3076), + [anon_sym_sizeof] = ACTIONS(3074), + [anon_sym___alignof__] = ACTIONS(3074), + [anon_sym___alignof] = ACTIONS(3074), + [anon_sym__alignof] = ACTIONS(3074), + [anon_sym_alignof] = ACTIONS(3074), + [anon_sym__Alignof] = ACTIONS(3074), + [anon_sym_offsetof] = ACTIONS(3074), + [anon_sym__Generic] = ACTIONS(3074), + [anon_sym_asm] = ACTIONS(3074), + [anon_sym___asm__] = ACTIONS(3074), + [sym__number_literal] = ACTIONS(3076), + [anon_sym_L_SQUOTE] = ACTIONS(3076), + [anon_sym_u_SQUOTE] = ACTIONS(3076), + [anon_sym_U_SQUOTE] = ACTIONS(3076), + [anon_sym_u8_SQUOTE] = ACTIONS(3076), + [anon_sym_SQUOTE] = ACTIONS(3076), + [anon_sym_L_DQUOTE] = ACTIONS(3076), + [anon_sym_u_DQUOTE] = ACTIONS(3076), + [anon_sym_U_DQUOTE] = ACTIONS(3076), + [anon_sym_u8_DQUOTE] = ACTIONS(3076), + [anon_sym_DQUOTE] = ACTIONS(3076), + [sym_true] = ACTIONS(3074), + [sym_false] = ACTIONS(3074), + [anon_sym_NULL] = ACTIONS(3074), + [anon_sym_nullptr] = ACTIONS(3074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3076), + [sym_auto] = ACTIONS(3074), + [anon_sym_decltype] = ACTIONS(3074), + [sym_virtual] = ACTIONS(3074), + [anon_sym_explicit] = ACTIONS(3074), + [anon_sym_typename] = ACTIONS(3074), + [anon_sym_template] = ACTIONS(3074), + [anon_sym_operator] = ACTIONS(3074), + [anon_sym_try] = ACTIONS(3074), + [anon_sym_delete] = ACTIONS(3074), + [anon_sym_throw] = ACTIONS(3074), + [anon_sym_namespace] = ACTIONS(3074), + [anon_sym_using] = ACTIONS(3074), + [anon_sym_static_assert] = ACTIONS(3074), + [anon_sym_concept] = ACTIONS(3074), + [anon_sym_co_return] = ACTIONS(3074), + [anon_sym_co_yield] = ACTIONS(3074), + [anon_sym_R_DQUOTE] = ACTIONS(3076), + [anon_sym_LR_DQUOTE] = ACTIONS(3076), + [anon_sym_uR_DQUOTE] = ACTIONS(3076), + [anon_sym_UR_DQUOTE] = ACTIONS(3076), + [anon_sym_u8R_DQUOTE] = ACTIONS(3076), + [anon_sym_co_await] = ACTIONS(3074), + [anon_sym_new] = ACTIONS(3074), + [anon_sym_requires] = ACTIONS(3074), + [sym_this] = ACTIONS(3074), + }, + [684] = { + [ts_builtin_sym_end] = ACTIONS(3015), + [sym__identifier] = ACTIONS(3013), + [aux_sym_preproc_include_token1] = ACTIONS(3013), + [aux_sym_preproc_def_token1] = ACTIONS(3013), + [aux_sym_preproc_if_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3013), + [sym_preproc_directive] = ACTIONS(3013), + [anon_sym_LPAREN2] = ACTIONS(3015), + [anon_sym_BANG] = ACTIONS(3015), + [anon_sym_TILDE] = ACTIONS(3015), + [anon_sym_DASH] = ACTIONS(3013), + [anon_sym_PLUS] = ACTIONS(3013), + [anon_sym_STAR] = ACTIONS(3015), + [anon_sym_AMP_AMP] = ACTIONS(3015), + [anon_sym_AMP] = ACTIONS(3013), + [anon_sym___extension__] = ACTIONS(3013), + [anon_sym_typedef] = ACTIONS(3013), + [anon_sym_extern] = ACTIONS(3013), + [anon_sym___attribute__] = ACTIONS(3013), + [anon_sym_COLON_COLON] = ACTIONS(3015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3015), + [anon_sym___declspec] = ACTIONS(3013), + [anon_sym___based] = ACTIONS(3013), + [anon_sym___cdecl] = ACTIONS(3013), + [anon_sym___clrcall] = ACTIONS(3013), + [anon_sym___stdcall] = ACTIONS(3013), + [anon_sym___fastcall] = ACTIONS(3013), + [anon_sym___thiscall] = ACTIONS(3013), + [anon_sym___vectorcall] = ACTIONS(3013), + [anon_sym_LBRACE] = ACTIONS(3015), + [anon_sym_signed] = ACTIONS(3013), + [anon_sym_unsigned] = ACTIONS(3013), + [anon_sym_long] = ACTIONS(3013), + [anon_sym_short] = ACTIONS(3013), + [anon_sym_LBRACK] = ACTIONS(3013), + [anon_sym_static] = ACTIONS(3013), + [anon_sym_register] = ACTIONS(3013), + [anon_sym_inline] = ACTIONS(3013), + [anon_sym___inline] = ACTIONS(3013), + [anon_sym___inline__] = ACTIONS(3013), + [anon_sym___forceinline] = ACTIONS(3013), + [anon_sym_thread_local] = ACTIONS(3013), + [anon_sym___thread] = ACTIONS(3013), + [anon_sym_const] = ACTIONS(3013), + [anon_sym_constexpr] = ACTIONS(3013), + [anon_sym_volatile] = ACTIONS(3013), + [anon_sym_restrict] = ACTIONS(3013), + [anon_sym___restrict__] = ACTIONS(3013), + [anon_sym__Atomic] = ACTIONS(3013), + [anon_sym__Noreturn] = ACTIONS(3013), + [anon_sym_noreturn] = ACTIONS(3013), + [anon_sym_mutable] = ACTIONS(3013), + [anon_sym_constinit] = ACTIONS(3013), + [anon_sym_consteval] = ACTIONS(3013), + [anon_sym_alignas] = ACTIONS(3013), + [anon_sym__Alignas] = ACTIONS(3013), + [sym_primitive_type] = ACTIONS(3013), + [anon_sym_enum] = ACTIONS(3013), + [anon_sym_class] = ACTIONS(3013), + [anon_sym_struct] = ACTIONS(3013), + [anon_sym_union] = ACTIONS(3013), + [anon_sym_if] = ACTIONS(3013), + [anon_sym_switch] = ACTIONS(3013), + [anon_sym_case] = ACTIONS(3013), + [anon_sym_default] = ACTIONS(3013), + [anon_sym_while] = ACTIONS(3013), + [anon_sym_do] = ACTIONS(3013), + [anon_sym_for] = ACTIONS(3013), + [anon_sym_return] = ACTIONS(3013), + [anon_sym_break] = ACTIONS(3013), + [anon_sym_continue] = ACTIONS(3013), + [anon_sym_goto] = ACTIONS(3013), + [anon_sym_not] = ACTIONS(3013), + [anon_sym_compl] = ACTIONS(3013), + [anon_sym_DASH_DASH] = ACTIONS(3015), + [anon_sym_PLUS_PLUS] = ACTIONS(3015), + [anon_sym_sizeof] = ACTIONS(3013), + [anon_sym___alignof__] = ACTIONS(3013), + [anon_sym___alignof] = ACTIONS(3013), + [anon_sym__alignof] = ACTIONS(3013), + [anon_sym_alignof] = ACTIONS(3013), + [anon_sym__Alignof] = ACTIONS(3013), + [anon_sym_offsetof] = ACTIONS(3013), + [anon_sym__Generic] = ACTIONS(3013), + [anon_sym_asm] = ACTIONS(3013), + [anon_sym___asm__] = ACTIONS(3013), + [sym__number_literal] = ACTIONS(3015), + [anon_sym_L_SQUOTE] = ACTIONS(3015), + [anon_sym_u_SQUOTE] = ACTIONS(3015), + [anon_sym_U_SQUOTE] = ACTIONS(3015), + [anon_sym_u8_SQUOTE] = ACTIONS(3015), + [anon_sym_SQUOTE] = ACTIONS(3015), + [anon_sym_L_DQUOTE] = ACTIONS(3015), + [anon_sym_u_DQUOTE] = ACTIONS(3015), + [anon_sym_U_DQUOTE] = ACTIONS(3015), + [anon_sym_u8_DQUOTE] = ACTIONS(3015), + [anon_sym_DQUOTE] = ACTIONS(3015), + [sym_true] = ACTIONS(3013), + [sym_false] = ACTIONS(3013), + [anon_sym_NULL] = ACTIONS(3013), + [anon_sym_nullptr] = ACTIONS(3013), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3015), + [sym_auto] = ACTIONS(3013), + [anon_sym_decltype] = ACTIONS(3013), + [sym_virtual] = ACTIONS(3013), + [anon_sym_explicit] = ACTIONS(3013), + [anon_sym_typename] = ACTIONS(3013), + [anon_sym_template] = ACTIONS(3013), + [anon_sym_operator] = ACTIONS(3013), + [anon_sym_try] = ACTIONS(3013), + [anon_sym_delete] = ACTIONS(3013), + [anon_sym_throw] = ACTIONS(3013), + [anon_sym_namespace] = ACTIONS(3013), + [anon_sym_using] = ACTIONS(3013), + [anon_sym_static_assert] = ACTIONS(3013), + [anon_sym_concept] = ACTIONS(3013), + [anon_sym_co_return] = ACTIONS(3013), + [anon_sym_co_yield] = ACTIONS(3013), + [anon_sym_R_DQUOTE] = ACTIONS(3015), + [anon_sym_LR_DQUOTE] = ACTIONS(3015), + [anon_sym_uR_DQUOTE] = ACTIONS(3015), + [anon_sym_UR_DQUOTE] = ACTIONS(3015), + [anon_sym_u8R_DQUOTE] = ACTIONS(3015), + [anon_sym_co_await] = ACTIONS(3013), + [anon_sym_new] = ACTIONS(3013), + [anon_sym_requires] = ACTIONS(3013), + [sym_this] = ACTIONS(3013), + }, + [685] = { + [ts_builtin_sym_end] = ACTIONS(2925), + [sym__identifier] = ACTIONS(2923), + [aux_sym_preproc_include_token1] = ACTIONS(2923), + [aux_sym_preproc_def_token1] = ACTIONS(2923), + [aux_sym_preproc_if_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2923), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2923), + [sym_preproc_directive] = ACTIONS(2923), + [anon_sym_LPAREN2] = ACTIONS(2925), + [anon_sym_BANG] = ACTIONS(2925), + [anon_sym_TILDE] = ACTIONS(2925), + [anon_sym_DASH] = ACTIONS(2923), + [anon_sym_PLUS] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2925), + [anon_sym_AMP] = ACTIONS(2923), + [anon_sym___extension__] = ACTIONS(2923), + [anon_sym_typedef] = ACTIONS(2923), + [anon_sym_extern] = ACTIONS(2923), + [anon_sym___attribute__] = ACTIONS(2923), + [anon_sym_COLON_COLON] = ACTIONS(2925), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2925), + [anon_sym___declspec] = ACTIONS(2923), + [anon_sym___based] = ACTIONS(2923), + [anon_sym___cdecl] = ACTIONS(2923), + [anon_sym___clrcall] = ACTIONS(2923), + [anon_sym___stdcall] = ACTIONS(2923), + [anon_sym___fastcall] = ACTIONS(2923), + [anon_sym___thiscall] = ACTIONS(2923), + [anon_sym___vectorcall] = ACTIONS(2923), + [anon_sym_LBRACE] = ACTIONS(2925), + [anon_sym_signed] = ACTIONS(2923), + [anon_sym_unsigned] = ACTIONS(2923), + [anon_sym_long] = ACTIONS(2923), + [anon_sym_short] = ACTIONS(2923), + [anon_sym_LBRACK] = ACTIONS(2923), + [anon_sym_static] = ACTIONS(2923), + [anon_sym_register] = ACTIONS(2923), + [anon_sym_inline] = ACTIONS(2923), + [anon_sym___inline] = ACTIONS(2923), + [anon_sym___inline__] = ACTIONS(2923), + [anon_sym___forceinline] = ACTIONS(2923), + [anon_sym_thread_local] = ACTIONS(2923), + [anon_sym___thread] = ACTIONS(2923), + [anon_sym_const] = ACTIONS(2923), + [anon_sym_constexpr] = ACTIONS(2923), + [anon_sym_volatile] = ACTIONS(2923), + [anon_sym_restrict] = ACTIONS(2923), + [anon_sym___restrict__] = ACTIONS(2923), + [anon_sym__Atomic] = ACTIONS(2923), + [anon_sym__Noreturn] = ACTIONS(2923), + [anon_sym_noreturn] = ACTIONS(2923), + [anon_sym_mutable] = ACTIONS(2923), + [anon_sym_constinit] = ACTIONS(2923), + [anon_sym_consteval] = ACTIONS(2923), + [anon_sym_alignas] = ACTIONS(2923), + [anon_sym__Alignas] = ACTIONS(2923), + [sym_primitive_type] = ACTIONS(2923), + [anon_sym_enum] = ACTIONS(2923), + [anon_sym_class] = ACTIONS(2923), + [anon_sym_struct] = ACTIONS(2923), + [anon_sym_union] = ACTIONS(2923), + [anon_sym_if] = ACTIONS(2923), + [anon_sym_switch] = ACTIONS(2923), + [anon_sym_case] = ACTIONS(2923), + [anon_sym_default] = ACTIONS(2923), + [anon_sym_while] = ACTIONS(2923), + [anon_sym_do] = ACTIONS(2923), + [anon_sym_for] = ACTIONS(2923), + [anon_sym_return] = ACTIONS(2923), + [anon_sym_break] = ACTIONS(2923), + [anon_sym_continue] = ACTIONS(2923), + [anon_sym_goto] = ACTIONS(2923), + [anon_sym_not] = ACTIONS(2923), + [anon_sym_compl] = ACTIONS(2923), + [anon_sym_DASH_DASH] = ACTIONS(2925), + [anon_sym_PLUS_PLUS] = ACTIONS(2925), + [anon_sym_sizeof] = ACTIONS(2923), + [anon_sym___alignof__] = ACTIONS(2923), + [anon_sym___alignof] = ACTIONS(2923), + [anon_sym__alignof] = ACTIONS(2923), + [anon_sym_alignof] = ACTIONS(2923), + [anon_sym__Alignof] = ACTIONS(2923), + [anon_sym_offsetof] = ACTIONS(2923), + [anon_sym__Generic] = ACTIONS(2923), + [anon_sym_asm] = ACTIONS(2923), + [anon_sym___asm__] = ACTIONS(2923), + [sym__number_literal] = ACTIONS(2925), + [anon_sym_L_SQUOTE] = ACTIONS(2925), + [anon_sym_u_SQUOTE] = ACTIONS(2925), + [anon_sym_U_SQUOTE] = ACTIONS(2925), + [anon_sym_u8_SQUOTE] = ACTIONS(2925), + [anon_sym_SQUOTE] = ACTIONS(2925), + [anon_sym_L_DQUOTE] = ACTIONS(2925), + [anon_sym_u_DQUOTE] = ACTIONS(2925), + [anon_sym_U_DQUOTE] = ACTIONS(2925), + [anon_sym_u8_DQUOTE] = ACTIONS(2925), + [anon_sym_DQUOTE] = ACTIONS(2925), + [sym_true] = ACTIONS(2923), + [sym_false] = ACTIONS(2923), + [anon_sym_NULL] = ACTIONS(2923), + [anon_sym_nullptr] = ACTIONS(2923), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2925), + [sym_auto] = ACTIONS(2923), + [anon_sym_decltype] = ACTIONS(2923), + [sym_virtual] = ACTIONS(2923), + [anon_sym_explicit] = ACTIONS(2923), + [anon_sym_typename] = ACTIONS(2923), + [anon_sym_template] = ACTIONS(2923), + [anon_sym_operator] = ACTIONS(2923), + [anon_sym_try] = ACTIONS(2923), + [anon_sym_delete] = ACTIONS(2923), + [anon_sym_throw] = ACTIONS(2923), + [anon_sym_namespace] = ACTIONS(2923), + [anon_sym_using] = ACTIONS(2923), + [anon_sym_static_assert] = ACTIONS(2923), + [anon_sym_concept] = ACTIONS(2923), + [anon_sym_co_return] = ACTIONS(2923), + [anon_sym_co_yield] = ACTIONS(2923), + [anon_sym_R_DQUOTE] = ACTIONS(2925), + [anon_sym_LR_DQUOTE] = ACTIONS(2925), + [anon_sym_uR_DQUOTE] = ACTIONS(2925), + [anon_sym_UR_DQUOTE] = ACTIONS(2925), + [anon_sym_u8R_DQUOTE] = ACTIONS(2925), + [anon_sym_co_await] = ACTIONS(2923), + [anon_sym_new] = ACTIONS(2923), + [anon_sym_requires] = ACTIONS(2923), + [sym_this] = ACTIONS(2923), + }, + [686] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3425), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [687] = { + [ts_builtin_sym_end] = ACTIONS(2934), + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_include_token1] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_BANG] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_DASH] = ACTIONS(2932), + [anon_sym_PLUS] = ACTIONS(2932), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym___cdecl] = ACTIONS(2932), + [anon_sym___clrcall] = ACTIONS(2932), + [anon_sym___stdcall] = ACTIONS(2932), + [anon_sym___fastcall] = ACTIONS(2932), + [anon_sym___thiscall] = ACTIONS(2932), + [anon_sym___vectorcall] = ACTIONS(2932), + [anon_sym_LBRACE] = ACTIONS(2934), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [anon_sym_if] = ACTIONS(2932), + [anon_sym_switch] = ACTIONS(2932), + [anon_sym_case] = ACTIONS(2932), + [anon_sym_default] = ACTIONS(2932), + [anon_sym_while] = ACTIONS(2932), + [anon_sym_do] = ACTIONS(2932), + [anon_sym_for] = ACTIONS(2932), + [anon_sym_return] = ACTIONS(2932), + [anon_sym_break] = ACTIONS(2932), + [anon_sym_continue] = ACTIONS(2932), + [anon_sym_goto] = ACTIONS(2932), + [anon_sym_not] = ACTIONS(2932), + [anon_sym_compl] = ACTIONS(2932), + [anon_sym_DASH_DASH] = ACTIONS(2934), + [anon_sym_PLUS_PLUS] = ACTIONS(2934), + [anon_sym_sizeof] = ACTIONS(2932), + [anon_sym___alignof__] = ACTIONS(2932), + [anon_sym___alignof] = ACTIONS(2932), + [anon_sym__alignof] = ACTIONS(2932), + [anon_sym_alignof] = ACTIONS(2932), + [anon_sym__Alignof] = ACTIONS(2932), + [anon_sym_offsetof] = ACTIONS(2932), + [anon_sym__Generic] = ACTIONS(2932), + [anon_sym_asm] = ACTIONS(2932), + [anon_sym___asm__] = ACTIONS(2932), + [sym__number_literal] = ACTIONS(2934), + [anon_sym_L_SQUOTE] = ACTIONS(2934), + [anon_sym_u_SQUOTE] = ACTIONS(2934), + [anon_sym_U_SQUOTE] = ACTIONS(2934), + [anon_sym_u8_SQUOTE] = ACTIONS(2934), + [anon_sym_SQUOTE] = ACTIONS(2934), + [anon_sym_L_DQUOTE] = ACTIONS(2934), + [anon_sym_u_DQUOTE] = ACTIONS(2934), + [anon_sym_U_DQUOTE] = ACTIONS(2934), + [anon_sym_u8_DQUOTE] = ACTIONS(2934), + [anon_sym_DQUOTE] = ACTIONS(2934), + [sym_true] = ACTIONS(2932), + [sym_false] = ACTIONS(2932), + [anon_sym_NULL] = ACTIONS(2932), + [anon_sym_nullptr] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_try] = ACTIONS(2932), + [anon_sym_delete] = ACTIONS(2932), + [anon_sym_throw] = ACTIONS(2932), + [anon_sym_namespace] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + [anon_sym_concept] = ACTIONS(2932), + [anon_sym_co_return] = ACTIONS(2932), + [anon_sym_co_yield] = ACTIONS(2932), + [anon_sym_R_DQUOTE] = ACTIONS(2934), + [anon_sym_LR_DQUOTE] = ACTIONS(2934), + [anon_sym_uR_DQUOTE] = ACTIONS(2934), + [anon_sym_UR_DQUOTE] = ACTIONS(2934), + [anon_sym_u8R_DQUOTE] = ACTIONS(2934), + [anon_sym_co_await] = ACTIONS(2932), + [anon_sym_new] = ACTIONS(2932), + [anon_sym_requires] = ACTIONS(2932), + [sym_this] = ACTIONS(2932), + }, + [688] = { + [ts_builtin_sym_end] = ACTIONS(2995), + [sym__identifier] = ACTIONS(2993), + [aux_sym_preproc_include_token1] = ACTIONS(2993), + [aux_sym_preproc_def_token1] = ACTIONS(2993), + [aux_sym_preproc_if_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2993), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2993), + [sym_preproc_directive] = ACTIONS(2993), + [anon_sym_LPAREN2] = ACTIONS(2995), + [anon_sym_BANG] = ACTIONS(2995), + [anon_sym_TILDE] = ACTIONS(2995), + [anon_sym_DASH] = ACTIONS(2993), + [anon_sym_PLUS] = ACTIONS(2993), + [anon_sym_STAR] = ACTIONS(2995), + [anon_sym_AMP_AMP] = ACTIONS(2995), + [anon_sym_AMP] = ACTIONS(2993), + [anon_sym___extension__] = ACTIONS(2993), + [anon_sym_typedef] = ACTIONS(2993), + [anon_sym_extern] = ACTIONS(2993), + [anon_sym___attribute__] = ACTIONS(2993), + [anon_sym_COLON_COLON] = ACTIONS(2995), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2995), + [anon_sym___declspec] = ACTIONS(2993), + [anon_sym___based] = ACTIONS(2993), + [anon_sym___cdecl] = ACTIONS(2993), + [anon_sym___clrcall] = ACTIONS(2993), + [anon_sym___stdcall] = ACTIONS(2993), + [anon_sym___fastcall] = ACTIONS(2993), + [anon_sym___thiscall] = ACTIONS(2993), + [anon_sym___vectorcall] = ACTIONS(2993), + [anon_sym_LBRACE] = ACTIONS(2995), + [anon_sym_signed] = ACTIONS(2993), + [anon_sym_unsigned] = ACTIONS(2993), + [anon_sym_long] = ACTIONS(2993), + [anon_sym_short] = ACTIONS(2993), + [anon_sym_LBRACK] = ACTIONS(2993), + [anon_sym_static] = ACTIONS(2993), + [anon_sym_register] = ACTIONS(2993), + [anon_sym_inline] = ACTIONS(2993), + [anon_sym___inline] = ACTIONS(2993), + [anon_sym___inline__] = ACTIONS(2993), + [anon_sym___forceinline] = ACTIONS(2993), + [anon_sym_thread_local] = ACTIONS(2993), + [anon_sym___thread] = ACTIONS(2993), + [anon_sym_const] = ACTIONS(2993), + [anon_sym_constexpr] = ACTIONS(2993), + [anon_sym_volatile] = ACTIONS(2993), + [anon_sym_restrict] = ACTIONS(2993), + [anon_sym___restrict__] = ACTIONS(2993), + [anon_sym__Atomic] = ACTIONS(2993), + [anon_sym__Noreturn] = ACTIONS(2993), + [anon_sym_noreturn] = ACTIONS(2993), + [anon_sym_mutable] = ACTIONS(2993), + [anon_sym_constinit] = ACTIONS(2993), + [anon_sym_consteval] = ACTIONS(2993), + [anon_sym_alignas] = ACTIONS(2993), + [anon_sym__Alignas] = ACTIONS(2993), + [sym_primitive_type] = ACTIONS(2993), + [anon_sym_enum] = ACTIONS(2993), + [anon_sym_class] = ACTIONS(2993), + [anon_sym_struct] = ACTIONS(2993), + [anon_sym_union] = ACTIONS(2993), + [anon_sym_if] = ACTIONS(2993), + [anon_sym_switch] = ACTIONS(2993), + [anon_sym_case] = ACTIONS(2993), + [anon_sym_default] = ACTIONS(2993), + [anon_sym_while] = ACTIONS(2993), + [anon_sym_do] = ACTIONS(2993), + [anon_sym_for] = ACTIONS(2993), + [anon_sym_return] = ACTIONS(2993), + [anon_sym_break] = ACTIONS(2993), + [anon_sym_continue] = ACTIONS(2993), + [anon_sym_goto] = ACTIONS(2993), + [anon_sym_not] = ACTIONS(2993), + [anon_sym_compl] = ACTIONS(2993), + [anon_sym_DASH_DASH] = ACTIONS(2995), + [anon_sym_PLUS_PLUS] = ACTIONS(2995), + [anon_sym_sizeof] = ACTIONS(2993), + [anon_sym___alignof__] = ACTIONS(2993), + [anon_sym___alignof] = ACTIONS(2993), + [anon_sym__alignof] = ACTIONS(2993), + [anon_sym_alignof] = ACTIONS(2993), + [anon_sym__Alignof] = ACTIONS(2993), + [anon_sym_offsetof] = ACTIONS(2993), + [anon_sym__Generic] = ACTIONS(2993), + [anon_sym_asm] = ACTIONS(2993), + [anon_sym___asm__] = ACTIONS(2993), + [sym__number_literal] = ACTIONS(2995), + [anon_sym_L_SQUOTE] = ACTIONS(2995), + [anon_sym_u_SQUOTE] = ACTIONS(2995), + [anon_sym_U_SQUOTE] = ACTIONS(2995), + [anon_sym_u8_SQUOTE] = ACTIONS(2995), + [anon_sym_SQUOTE] = ACTIONS(2995), + [anon_sym_L_DQUOTE] = ACTIONS(2995), + [anon_sym_u_DQUOTE] = ACTIONS(2995), + [anon_sym_U_DQUOTE] = ACTIONS(2995), + [anon_sym_u8_DQUOTE] = ACTIONS(2995), + [anon_sym_DQUOTE] = ACTIONS(2995), + [sym_true] = ACTIONS(2993), + [sym_false] = ACTIONS(2993), + [anon_sym_NULL] = ACTIONS(2993), + [anon_sym_nullptr] = ACTIONS(2993), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2995), + [sym_auto] = ACTIONS(2993), + [anon_sym_decltype] = ACTIONS(2993), + [sym_virtual] = ACTIONS(2993), + [anon_sym_explicit] = ACTIONS(2993), + [anon_sym_typename] = ACTIONS(2993), + [anon_sym_template] = ACTIONS(2993), + [anon_sym_operator] = ACTIONS(2993), + [anon_sym_try] = ACTIONS(2993), + [anon_sym_delete] = ACTIONS(2993), + [anon_sym_throw] = ACTIONS(2993), + [anon_sym_namespace] = ACTIONS(2993), + [anon_sym_using] = ACTIONS(2993), + [anon_sym_static_assert] = ACTIONS(2993), + [anon_sym_concept] = ACTIONS(2993), + [anon_sym_co_return] = ACTIONS(2993), + [anon_sym_co_yield] = ACTIONS(2993), + [anon_sym_R_DQUOTE] = ACTIONS(2995), + [anon_sym_LR_DQUOTE] = ACTIONS(2995), + [anon_sym_uR_DQUOTE] = ACTIONS(2995), + [anon_sym_UR_DQUOTE] = ACTIONS(2995), + [anon_sym_u8R_DQUOTE] = ACTIONS(2995), + [anon_sym_co_await] = ACTIONS(2993), + [anon_sym_new] = ACTIONS(2993), + [anon_sym_requires] = ACTIONS(2993), + [sym_this] = ACTIONS(2993), + }, + [689] = { + [ts_builtin_sym_end] = ACTIONS(2973), + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [690] = { + [ts_builtin_sym_end] = ACTIONS(3188), + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [691] = { + [ts_builtin_sym_end] = ACTIONS(2973), + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_include_token1] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_BANG] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_DASH] = ACTIONS(2971), + [anon_sym_PLUS] = ACTIONS(2971), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym___cdecl] = ACTIONS(2971), + [anon_sym___clrcall] = ACTIONS(2971), + [anon_sym___stdcall] = ACTIONS(2971), + [anon_sym___fastcall] = ACTIONS(2971), + [anon_sym___thiscall] = ACTIONS(2971), + [anon_sym___vectorcall] = ACTIONS(2971), + [anon_sym_LBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [anon_sym_if] = ACTIONS(2971), + [anon_sym_switch] = ACTIONS(2971), + [anon_sym_case] = ACTIONS(2971), + [anon_sym_default] = ACTIONS(2971), + [anon_sym_while] = ACTIONS(2971), + [anon_sym_do] = ACTIONS(2971), + [anon_sym_for] = ACTIONS(2971), + [anon_sym_return] = ACTIONS(2971), + [anon_sym_break] = ACTIONS(2971), + [anon_sym_continue] = ACTIONS(2971), + [anon_sym_goto] = ACTIONS(2971), + [anon_sym_not] = ACTIONS(2971), + [anon_sym_compl] = ACTIONS(2971), + [anon_sym_DASH_DASH] = ACTIONS(2973), + [anon_sym_PLUS_PLUS] = ACTIONS(2973), + [anon_sym_sizeof] = ACTIONS(2971), + [anon_sym___alignof__] = ACTIONS(2971), + [anon_sym___alignof] = ACTIONS(2971), + [anon_sym__alignof] = ACTIONS(2971), + [anon_sym_alignof] = ACTIONS(2971), + [anon_sym__Alignof] = ACTIONS(2971), + [anon_sym_offsetof] = ACTIONS(2971), + [anon_sym__Generic] = ACTIONS(2971), + [anon_sym_asm] = ACTIONS(2971), + [anon_sym___asm__] = ACTIONS(2971), + [sym__number_literal] = ACTIONS(2973), + [anon_sym_L_SQUOTE] = ACTIONS(2973), + [anon_sym_u_SQUOTE] = ACTIONS(2973), + [anon_sym_U_SQUOTE] = ACTIONS(2973), + [anon_sym_u8_SQUOTE] = ACTIONS(2973), + [anon_sym_SQUOTE] = ACTIONS(2973), + [anon_sym_L_DQUOTE] = ACTIONS(2973), + [anon_sym_u_DQUOTE] = ACTIONS(2973), + [anon_sym_U_DQUOTE] = ACTIONS(2973), + [anon_sym_u8_DQUOTE] = ACTIONS(2973), + [anon_sym_DQUOTE] = ACTIONS(2973), + [sym_true] = ACTIONS(2971), + [sym_false] = ACTIONS(2971), + [anon_sym_NULL] = ACTIONS(2971), + [anon_sym_nullptr] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_try] = ACTIONS(2971), + [anon_sym_delete] = ACTIONS(2971), + [anon_sym_throw] = ACTIONS(2971), + [anon_sym_namespace] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + [anon_sym_concept] = ACTIONS(2971), + [anon_sym_co_return] = ACTIONS(2971), + [anon_sym_co_yield] = ACTIONS(2971), + [anon_sym_R_DQUOTE] = ACTIONS(2973), + [anon_sym_LR_DQUOTE] = ACTIONS(2973), + [anon_sym_uR_DQUOTE] = ACTIONS(2973), + [anon_sym_UR_DQUOTE] = ACTIONS(2973), + [anon_sym_u8R_DQUOTE] = ACTIONS(2973), + [anon_sym_co_await] = ACTIONS(2971), + [anon_sym_new] = ACTIONS(2971), + [anon_sym_requires] = ACTIONS(2971), + [sym_this] = ACTIONS(2971), + }, + [692] = { + [ts_builtin_sym_end] = ACTIONS(2987), + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_include_token1] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_BANG] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_DASH] = ACTIONS(2985), + [anon_sym_PLUS] = ACTIONS(2985), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym___cdecl] = ACTIONS(2985), + [anon_sym___clrcall] = ACTIONS(2985), + [anon_sym___stdcall] = ACTIONS(2985), + [anon_sym___fastcall] = ACTIONS(2985), + [anon_sym___thiscall] = ACTIONS(2985), + [anon_sym___vectorcall] = ACTIONS(2985), + [anon_sym_LBRACE] = ACTIONS(2987), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [anon_sym_if] = ACTIONS(2985), + [anon_sym_switch] = ACTIONS(2985), + [anon_sym_case] = ACTIONS(2985), + [anon_sym_default] = ACTIONS(2985), + [anon_sym_while] = ACTIONS(2985), + [anon_sym_do] = ACTIONS(2985), + [anon_sym_for] = ACTIONS(2985), + [anon_sym_return] = ACTIONS(2985), + [anon_sym_break] = ACTIONS(2985), + [anon_sym_continue] = ACTIONS(2985), + [anon_sym_goto] = ACTIONS(2985), + [anon_sym_not] = ACTIONS(2985), + [anon_sym_compl] = ACTIONS(2985), + [anon_sym_DASH_DASH] = ACTIONS(2987), + [anon_sym_PLUS_PLUS] = ACTIONS(2987), + [anon_sym_sizeof] = ACTIONS(2985), + [anon_sym___alignof__] = ACTIONS(2985), + [anon_sym___alignof] = ACTIONS(2985), + [anon_sym__alignof] = ACTIONS(2985), + [anon_sym_alignof] = ACTIONS(2985), + [anon_sym__Alignof] = ACTIONS(2985), + [anon_sym_offsetof] = ACTIONS(2985), + [anon_sym__Generic] = ACTIONS(2985), + [anon_sym_asm] = ACTIONS(2985), + [anon_sym___asm__] = ACTIONS(2985), + [sym__number_literal] = ACTIONS(2987), + [anon_sym_L_SQUOTE] = ACTIONS(2987), + [anon_sym_u_SQUOTE] = ACTIONS(2987), + [anon_sym_U_SQUOTE] = ACTIONS(2987), + [anon_sym_u8_SQUOTE] = ACTIONS(2987), + [anon_sym_SQUOTE] = ACTIONS(2987), + [anon_sym_L_DQUOTE] = ACTIONS(2987), + [anon_sym_u_DQUOTE] = ACTIONS(2987), + [anon_sym_U_DQUOTE] = ACTIONS(2987), + [anon_sym_u8_DQUOTE] = ACTIONS(2987), + [anon_sym_DQUOTE] = ACTIONS(2987), + [sym_true] = ACTIONS(2985), + [sym_false] = ACTIONS(2985), + [anon_sym_NULL] = ACTIONS(2985), + [anon_sym_nullptr] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_try] = ACTIONS(2985), + [anon_sym_delete] = ACTIONS(2985), + [anon_sym_throw] = ACTIONS(2985), + [anon_sym_namespace] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + [anon_sym_concept] = ACTIONS(2985), + [anon_sym_co_return] = ACTIONS(2985), + [anon_sym_co_yield] = ACTIONS(2985), + [anon_sym_R_DQUOTE] = ACTIONS(2987), + [anon_sym_LR_DQUOTE] = ACTIONS(2987), + [anon_sym_uR_DQUOTE] = ACTIONS(2987), + [anon_sym_UR_DQUOTE] = ACTIONS(2987), + [anon_sym_u8R_DQUOTE] = ACTIONS(2987), + [anon_sym_co_await] = ACTIONS(2985), + [anon_sym_new] = ACTIONS(2985), + [anon_sym_requires] = ACTIONS(2985), + [sym_this] = ACTIONS(2985), + }, + [693] = { + [ts_builtin_sym_end] = ACTIONS(3188), + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_include_token1] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_BANG] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_DASH] = ACTIONS(3186), + [anon_sym_PLUS] = ACTIONS(3186), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym___cdecl] = ACTIONS(3186), + [anon_sym___clrcall] = ACTIONS(3186), + [anon_sym___stdcall] = ACTIONS(3186), + [anon_sym___fastcall] = ACTIONS(3186), + [anon_sym___thiscall] = ACTIONS(3186), + [anon_sym___vectorcall] = ACTIONS(3186), + [anon_sym_LBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [anon_sym_if] = ACTIONS(3186), + [anon_sym_switch] = ACTIONS(3186), + [anon_sym_case] = ACTIONS(3186), + [anon_sym_default] = ACTIONS(3186), + [anon_sym_while] = ACTIONS(3186), + [anon_sym_do] = ACTIONS(3186), + [anon_sym_for] = ACTIONS(3186), + [anon_sym_return] = ACTIONS(3186), + [anon_sym_break] = ACTIONS(3186), + [anon_sym_continue] = ACTIONS(3186), + [anon_sym_goto] = ACTIONS(3186), + [anon_sym_not] = ACTIONS(3186), + [anon_sym_compl] = ACTIONS(3186), + [anon_sym_DASH_DASH] = ACTIONS(3188), + [anon_sym_PLUS_PLUS] = ACTIONS(3188), + [anon_sym_sizeof] = ACTIONS(3186), + [anon_sym___alignof__] = ACTIONS(3186), + [anon_sym___alignof] = ACTIONS(3186), + [anon_sym__alignof] = ACTIONS(3186), + [anon_sym_alignof] = ACTIONS(3186), + [anon_sym__Alignof] = ACTIONS(3186), + [anon_sym_offsetof] = ACTIONS(3186), + [anon_sym__Generic] = ACTIONS(3186), + [anon_sym_asm] = ACTIONS(3186), + [anon_sym___asm__] = ACTIONS(3186), + [sym__number_literal] = ACTIONS(3188), + [anon_sym_L_SQUOTE] = ACTIONS(3188), + [anon_sym_u_SQUOTE] = ACTIONS(3188), + [anon_sym_U_SQUOTE] = ACTIONS(3188), + [anon_sym_u8_SQUOTE] = ACTIONS(3188), + [anon_sym_SQUOTE] = ACTIONS(3188), + [anon_sym_L_DQUOTE] = ACTIONS(3188), + [anon_sym_u_DQUOTE] = ACTIONS(3188), + [anon_sym_U_DQUOTE] = ACTIONS(3188), + [anon_sym_u8_DQUOTE] = ACTIONS(3188), + [anon_sym_DQUOTE] = ACTIONS(3188), + [sym_true] = ACTIONS(3186), + [sym_false] = ACTIONS(3186), + [anon_sym_NULL] = ACTIONS(3186), + [anon_sym_nullptr] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_try] = ACTIONS(3186), + [anon_sym_delete] = ACTIONS(3186), + [anon_sym_throw] = ACTIONS(3186), + [anon_sym_namespace] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + [anon_sym_concept] = ACTIONS(3186), + [anon_sym_co_return] = ACTIONS(3186), + [anon_sym_co_yield] = ACTIONS(3186), + [anon_sym_R_DQUOTE] = ACTIONS(3188), + [anon_sym_LR_DQUOTE] = ACTIONS(3188), + [anon_sym_uR_DQUOTE] = ACTIONS(3188), + [anon_sym_UR_DQUOTE] = ACTIONS(3188), + [anon_sym_u8R_DQUOTE] = ACTIONS(3188), + [anon_sym_co_await] = ACTIONS(3186), + [anon_sym_new] = ACTIONS(3186), + [anon_sym_requires] = ACTIONS(3186), + [sym_this] = ACTIONS(3186), + }, + [694] = { + [ts_builtin_sym_end] = ACTIONS(2969), + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_include_token1] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_BANG] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_DASH] = ACTIONS(2967), + [anon_sym_PLUS] = ACTIONS(2967), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym___cdecl] = ACTIONS(2967), + [anon_sym___clrcall] = ACTIONS(2967), + [anon_sym___stdcall] = ACTIONS(2967), + [anon_sym___fastcall] = ACTIONS(2967), + [anon_sym___thiscall] = ACTIONS(2967), + [anon_sym___vectorcall] = ACTIONS(2967), + [anon_sym_LBRACE] = ACTIONS(2969), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [anon_sym_if] = ACTIONS(2967), + [anon_sym_switch] = ACTIONS(2967), + [anon_sym_case] = ACTIONS(2967), + [anon_sym_default] = ACTIONS(2967), + [anon_sym_while] = ACTIONS(2967), + [anon_sym_do] = ACTIONS(2967), + [anon_sym_for] = ACTIONS(2967), + [anon_sym_return] = ACTIONS(2967), + [anon_sym_break] = ACTIONS(2967), + [anon_sym_continue] = ACTIONS(2967), + [anon_sym_goto] = ACTIONS(2967), + [anon_sym_not] = ACTIONS(2967), + [anon_sym_compl] = ACTIONS(2967), + [anon_sym_DASH_DASH] = ACTIONS(2969), + [anon_sym_PLUS_PLUS] = ACTIONS(2969), + [anon_sym_sizeof] = ACTIONS(2967), + [anon_sym___alignof__] = ACTIONS(2967), + [anon_sym___alignof] = ACTIONS(2967), + [anon_sym__alignof] = ACTIONS(2967), + [anon_sym_alignof] = ACTIONS(2967), + [anon_sym__Alignof] = ACTIONS(2967), + [anon_sym_offsetof] = ACTIONS(2967), + [anon_sym__Generic] = ACTIONS(2967), + [anon_sym_asm] = ACTIONS(2967), + [anon_sym___asm__] = ACTIONS(2967), + [sym__number_literal] = ACTIONS(2969), + [anon_sym_L_SQUOTE] = ACTIONS(2969), + [anon_sym_u_SQUOTE] = ACTIONS(2969), + [anon_sym_U_SQUOTE] = ACTIONS(2969), + [anon_sym_u8_SQUOTE] = ACTIONS(2969), + [anon_sym_SQUOTE] = ACTIONS(2969), + [anon_sym_L_DQUOTE] = ACTIONS(2969), + [anon_sym_u_DQUOTE] = ACTIONS(2969), + [anon_sym_U_DQUOTE] = ACTIONS(2969), + [anon_sym_u8_DQUOTE] = ACTIONS(2969), + [anon_sym_DQUOTE] = ACTIONS(2969), + [sym_true] = ACTIONS(2967), + [sym_false] = ACTIONS(2967), + [anon_sym_NULL] = ACTIONS(2967), + [anon_sym_nullptr] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_try] = ACTIONS(2967), + [anon_sym_delete] = ACTIONS(2967), + [anon_sym_throw] = ACTIONS(2967), + [anon_sym_namespace] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + [anon_sym_concept] = ACTIONS(2967), + [anon_sym_co_return] = ACTIONS(2967), + [anon_sym_co_yield] = ACTIONS(2967), + [anon_sym_R_DQUOTE] = ACTIONS(2969), + [anon_sym_LR_DQUOTE] = ACTIONS(2969), + [anon_sym_uR_DQUOTE] = ACTIONS(2969), + [anon_sym_UR_DQUOTE] = ACTIONS(2969), + [anon_sym_u8R_DQUOTE] = ACTIONS(2969), + [anon_sym_co_await] = ACTIONS(2967), + [anon_sym_new] = ACTIONS(2967), + [anon_sym_requires] = ACTIONS(2967), + [sym_this] = ACTIONS(2967), + }, + [695] = { + [ts_builtin_sym_end] = ACTIONS(2965), + [sym__identifier] = ACTIONS(2963), + [aux_sym_preproc_include_token1] = ACTIONS(2963), + [aux_sym_preproc_def_token1] = ACTIONS(2963), + [aux_sym_preproc_if_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2963), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2963), + [sym_preproc_directive] = ACTIONS(2963), + [anon_sym_LPAREN2] = ACTIONS(2965), + [anon_sym_BANG] = ACTIONS(2965), + [anon_sym_TILDE] = ACTIONS(2965), + [anon_sym_DASH] = ACTIONS(2963), + [anon_sym_PLUS] = ACTIONS(2963), + [anon_sym_STAR] = ACTIONS(2965), + [anon_sym_AMP_AMP] = ACTIONS(2965), + [anon_sym_AMP] = ACTIONS(2963), + [anon_sym___extension__] = ACTIONS(2963), + [anon_sym_typedef] = ACTIONS(2963), + [anon_sym_extern] = ACTIONS(2963), + [anon_sym___attribute__] = ACTIONS(2963), + [anon_sym_COLON_COLON] = ACTIONS(2965), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2965), + [anon_sym___declspec] = ACTIONS(2963), + [anon_sym___based] = ACTIONS(2963), + [anon_sym___cdecl] = ACTIONS(2963), + [anon_sym___clrcall] = ACTIONS(2963), + [anon_sym___stdcall] = ACTIONS(2963), + [anon_sym___fastcall] = ACTIONS(2963), + [anon_sym___thiscall] = ACTIONS(2963), + [anon_sym___vectorcall] = ACTIONS(2963), + [anon_sym_LBRACE] = ACTIONS(2965), + [anon_sym_signed] = ACTIONS(2963), + [anon_sym_unsigned] = ACTIONS(2963), + [anon_sym_long] = ACTIONS(2963), + [anon_sym_short] = ACTIONS(2963), + [anon_sym_LBRACK] = ACTIONS(2963), + [anon_sym_static] = ACTIONS(2963), + [anon_sym_register] = ACTIONS(2963), + [anon_sym_inline] = ACTIONS(2963), + [anon_sym___inline] = ACTIONS(2963), + [anon_sym___inline__] = ACTIONS(2963), + [anon_sym___forceinline] = ACTIONS(2963), + [anon_sym_thread_local] = ACTIONS(2963), + [anon_sym___thread] = ACTIONS(2963), + [anon_sym_const] = ACTIONS(2963), + [anon_sym_constexpr] = ACTIONS(2963), + [anon_sym_volatile] = ACTIONS(2963), + [anon_sym_restrict] = ACTIONS(2963), + [anon_sym___restrict__] = ACTIONS(2963), + [anon_sym__Atomic] = ACTIONS(2963), + [anon_sym__Noreturn] = ACTIONS(2963), + [anon_sym_noreturn] = ACTIONS(2963), + [anon_sym_mutable] = ACTIONS(2963), + [anon_sym_constinit] = ACTIONS(2963), + [anon_sym_consteval] = ACTIONS(2963), + [anon_sym_alignas] = ACTIONS(2963), + [anon_sym__Alignas] = ACTIONS(2963), + [sym_primitive_type] = ACTIONS(2963), + [anon_sym_enum] = ACTIONS(2963), + [anon_sym_class] = ACTIONS(2963), + [anon_sym_struct] = ACTIONS(2963), + [anon_sym_union] = ACTIONS(2963), + [anon_sym_if] = ACTIONS(2963), + [anon_sym_switch] = ACTIONS(2963), + [anon_sym_case] = ACTIONS(2963), + [anon_sym_default] = ACTIONS(2963), + [anon_sym_while] = ACTIONS(2963), + [anon_sym_do] = ACTIONS(2963), + [anon_sym_for] = ACTIONS(2963), + [anon_sym_return] = ACTIONS(2963), + [anon_sym_break] = ACTIONS(2963), + [anon_sym_continue] = ACTIONS(2963), + [anon_sym_goto] = ACTIONS(2963), + [anon_sym_not] = ACTIONS(2963), + [anon_sym_compl] = ACTIONS(2963), + [anon_sym_DASH_DASH] = ACTIONS(2965), + [anon_sym_PLUS_PLUS] = ACTIONS(2965), + [anon_sym_sizeof] = ACTIONS(2963), + [anon_sym___alignof__] = ACTIONS(2963), + [anon_sym___alignof] = ACTIONS(2963), + [anon_sym__alignof] = ACTIONS(2963), + [anon_sym_alignof] = ACTIONS(2963), + [anon_sym__Alignof] = ACTIONS(2963), + [anon_sym_offsetof] = ACTIONS(2963), + [anon_sym__Generic] = ACTIONS(2963), + [anon_sym_asm] = ACTIONS(2963), + [anon_sym___asm__] = ACTIONS(2963), + [sym__number_literal] = ACTIONS(2965), + [anon_sym_L_SQUOTE] = ACTIONS(2965), + [anon_sym_u_SQUOTE] = ACTIONS(2965), + [anon_sym_U_SQUOTE] = ACTIONS(2965), + [anon_sym_u8_SQUOTE] = ACTIONS(2965), + [anon_sym_SQUOTE] = ACTIONS(2965), + [anon_sym_L_DQUOTE] = ACTIONS(2965), + [anon_sym_u_DQUOTE] = ACTIONS(2965), + [anon_sym_U_DQUOTE] = ACTIONS(2965), + [anon_sym_u8_DQUOTE] = ACTIONS(2965), + [anon_sym_DQUOTE] = ACTIONS(2965), + [sym_true] = ACTIONS(2963), + [sym_false] = ACTIONS(2963), + [anon_sym_NULL] = ACTIONS(2963), + [anon_sym_nullptr] = ACTIONS(2963), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2965), + [sym_auto] = ACTIONS(2963), + [anon_sym_decltype] = ACTIONS(2963), + [sym_virtual] = ACTIONS(2963), + [anon_sym_explicit] = ACTIONS(2963), + [anon_sym_typename] = ACTIONS(2963), + [anon_sym_template] = ACTIONS(2963), + [anon_sym_operator] = ACTIONS(2963), + [anon_sym_try] = ACTIONS(2963), + [anon_sym_delete] = ACTIONS(2963), + [anon_sym_throw] = ACTIONS(2963), + [anon_sym_namespace] = ACTIONS(2963), + [anon_sym_using] = ACTIONS(2963), + [anon_sym_static_assert] = ACTIONS(2963), + [anon_sym_concept] = ACTIONS(2963), + [anon_sym_co_return] = ACTIONS(2963), + [anon_sym_co_yield] = ACTIONS(2963), + [anon_sym_R_DQUOTE] = ACTIONS(2965), + [anon_sym_LR_DQUOTE] = ACTIONS(2965), + [anon_sym_uR_DQUOTE] = ACTIONS(2965), + [anon_sym_UR_DQUOTE] = ACTIONS(2965), + [anon_sym_u8R_DQUOTE] = ACTIONS(2965), + [anon_sym_co_await] = ACTIONS(2963), + [anon_sym_new] = ACTIONS(2963), + [anon_sym_requires] = ACTIONS(2963), + [sym_this] = ACTIONS(2963), + }, + [696] = { + [ts_builtin_sym_end] = ACTIONS(2991), + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_include_token1] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_BANG] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_DASH] = ACTIONS(2989), + [anon_sym_PLUS] = ACTIONS(2989), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym___cdecl] = ACTIONS(2989), + [anon_sym___clrcall] = ACTIONS(2989), + [anon_sym___stdcall] = ACTIONS(2989), + [anon_sym___fastcall] = ACTIONS(2989), + [anon_sym___thiscall] = ACTIONS(2989), + [anon_sym___vectorcall] = ACTIONS(2989), + [anon_sym_LBRACE] = ACTIONS(2991), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [anon_sym_if] = ACTIONS(2989), + [anon_sym_switch] = ACTIONS(2989), + [anon_sym_case] = ACTIONS(2989), + [anon_sym_default] = ACTIONS(2989), + [anon_sym_while] = ACTIONS(2989), + [anon_sym_do] = ACTIONS(2989), + [anon_sym_for] = ACTIONS(2989), + [anon_sym_return] = ACTIONS(2989), + [anon_sym_break] = ACTIONS(2989), + [anon_sym_continue] = ACTIONS(2989), + [anon_sym_goto] = ACTIONS(2989), + [anon_sym_not] = ACTIONS(2989), + [anon_sym_compl] = ACTIONS(2989), + [anon_sym_DASH_DASH] = ACTIONS(2991), + [anon_sym_PLUS_PLUS] = ACTIONS(2991), + [anon_sym_sizeof] = ACTIONS(2989), + [anon_sym___alignof__] = ACTIONS(2989), + [anon_sym___alignof] = ACTIONS(2989), + [anon_sym__alignof] = ACTIONS(2989), + [anon_sym_alignof] = ACTIONS(2989), + [anon_sym__Alignof] = ACTIONS(2989), + [anon_sym_offsetof] = ACTIONS(2989), + [anon_sym__Generic] = ACTIONS(2989), + [anon_sym_asm] = ACTIONS(2989), + [anon_sym___asm__] = ACTIONS(2989), + [sym__number_literal] = ACTIONS(2991), + [anon_sym_L_SQUOTE] = ACTIONS(2991), + [anon_sym_u_SQUOTE] = ACTIONS(2991), + [anon_sym_U_SQUOTE] = ACTIONS(2991), + [anon_sym_u8_SQUOTE] = ACTIONS(2991), + [anon_sym_SQUOTE] = ACTIONS(2991), + [anon_sym_L_DQUOTE] = ACTIONS(2991), + [anon_sym_u_DQUOTE] = ACTIONS(2991), + [anon_sym_U_DQUOTE] = ACTIONS(2991), + [anon_sym_u8_DQUOTE] = ACTIONS(2991), + [anon_sym_DQUOTE] = ACTIONS(2991), + [sym_true] = ACTIONS(2989), + [sym_false] = ACTIONS(2989), + [anon_sym_NULL] = ACTIONS(2989), + [anon_sym_nullptr] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_try] = ACTIONS(2989), + [anon_sym_delete] = ACTIONS(2989), + [anon_sym_throw] = ACTIONS(2989), + [anon_sym_namespace] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + [anon_sym_concept] = ACTIONS(2989), + [anon_sym_co_return] = ACTIONS(2989), + [anon_sym_co_yield] = ACTIONS(2989), + [anon_sym_R_DQUOTE] = ACTIONS(2991), + [anon_sym_LR_DQUOTE] = ACTIONS(2991), + [anon_sym_uR_DQUOTE] = ACTIONS(2991), + [anon_sym_UR_DQUOTE] = ACTIONS(2991), + [anon_sym_u8R_DQUOTE] = ACTIONS(2991), + [anon_sym_co_await] = ACTIONS(2989), + [anon_sym_new] = ACTIONS(2989), + [anon_sym_requires] = ACTIONS(2989), + [sym_this] = ACTIONS(2989), + }, + [697] = { + [ts_builtin_sym_end] = ACTIONS(3427), + [sym__identifier] = ACTIONS(3429), + [aux_sym_preproc_include_token1] = ACTIONS(3429), + [aux_sym_preproc_def_token1] = ACTIONS(3429), + [aux_sym_preproc_if_token1] = ACTIONS(3429), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3429), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3429), + [sym_preproc_directive] = ACTIONS(3429), + [anon_sym_LPAREN2] = ACTIONS(3427), + [anon_sym_BANG] = ACTIONS(3427), + [anon_sym_TILDE] = ACTIONS(3427), + [anon_sym_DASH] = ACTIONS(3429), + [anon_sym_PLUS] = ACTIONS(3429), + [anon_sym_STAR] = ACTIONS(3427), + [anon_sym_AMP_AMP] = ACTIONS(3427), + [anon_sym_AMP] = ACTIONS(3429), + [anon_sym___extension__] = ACTIONS(3429), + [anon_sym_typedef] = ACTIONS(3429), + [anon_sym_extern] = ACTIONS(3429), + [anon_sym___attribute__] = ACTIONS(3429), + [anon_sym_COLON_COLON] = ACTIONS(3427), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3427), + [anon_sym___declspec] = ACTIONS(3429), + [anon_sym___based] = ACTIONS(3429), + [anon_sym___cdecl] = ACTIONS(3429), + [anon_sym___clrcall] = ACTIONS(3429), + [anon_sym___stdcall] = ACTIONS(3429), + [anon_sym___fastcall] = ACTIONS(3429), + [anon_sym___thiscall] = ACTIONS(3429), + [anon_sym___vectorcall] = ACTIONS(3429), + [anon_sym_LBRACE] = ACTIONS(3427), + [anon_sym_signed] = ACTIONS(3429), + [anon_sym_unsigned] = ACTIONS(3429), + [anon_sym_long] = ACTIONS(3429), + [anon_sym_short] = ACTIONS(3429), + [anon_sym_LBRACK] = ACTIONS(3429), + [anon_sym_static] = ACTIONS(3429), + [anon_sym_register] = ACTIONS(3429), + [anon_sym_inline] = ACTIONS(3429), + [anon_sym___inline] = ACTIONS(3429), + [anon_sym___inline__] = ACTIONS(3429), + [anon_sym___forceinline] = ACTIONS(3429), + [anon_sym_thread_local] = ACTIONS(3429), + [anon_sym___thread] = ACTIONS(3429), + [anon_sym_const] = ACTIONS(3429), + [anon_sym_constexpr] = ACTIONS(3429), + [anon_sym_volatile] = ACTIONS(3429), + [anon_sym_restrict] = ACTIONS(3429), + [anon_sym___restrict__] = ACTIONS(3429), + [anon_sym__Atomic] = ACTIONS(3429), + [anon_sym__Noreturn] = ACTIONS(3429), + [anon_sym_noreturn] = ACTIONS(3429), + [anon_sym_mutable] = ACTIONS(3429), + [anon_sym_constinit] = ACTIONS(3429), + [anon_sym_consteval] = ACTIONS(3429), + [anon_sym_alignas] = ACTIONS(3429), + [anon_sym__Alignas] = ACTIONS(3429), + [sym_primitive_type] = ACTIONS(3429), + [anon_sym_enum] = ACTIONS(3429), + [anon_sym_class] = ACTIONS(3429), + [anon_sym_struct] = ACTIONS(3429), + [anon_sym_union] = ACTIONS(3429), + [anon_sym_if] = ACTIONS(3429), + [anon_sym_switch] = ACTIONS(3429), + [anon_sym_case] = ACTIONS(3429), + [anon_sym_default] = ACTIONS(3429), + [anon_sym_while] = ACTIONS(3429), + [anon_sym_do] = ACTIONS(3429), + [anon_sym_for] = ACTIONS(3429), + [anon_sym_return] = ACTIONS(3429), + [anon_sym_break] = ACTIONS(3429), + [anon_sym_continue] = ACTIONS(3429), + [anon_sym_goto] = ACTIONS(3429), + [anon_sym_not] = ACTIONS(3429), + [anon_sym_compl] = ACTIONS(3429), + [anon_sym_DASH_DASH] = ACTIONS(3427), + [anon_sym_PLUS_PLUS] = ACTIONS(3427), + [anon_sym_sizeof] = ACTIONS(3429), + [anon_sym___alignof__] = ACTIONS(3429), + [anon_sym___alignof] = ACTIONS(3429), + [anon_sym__alignof] = ACTIONS(3429), + [anon_sym_alignof] = ACTIONS(3429), + [anon_sym__Alignof] = ACTIONS(3429), + [anon_sym_offsetof] = ACTIONS(3429), + [anon_sym__Generic] = ACTIONS(3429), + [anon_sym_asm] = ACTIONS(3429), + [anon_sym___asm__] = ACTIONS(3429), + [sym__number_literal] = ACTIONS(3427), + [anon_sym_L_SQUOTE] = ACTIONS(3427), + [anon_sym_u_SQUOTE] = ACTIONS(3427), + [anon_sym_U_SQUOTE] = ACTIONS(3427), + [anon_sym_u8_SQUOTE] = ACTIONS(3427), + [anon_sym_SQUOTE] = ACTIONS(3427), + [anon_sym_L_DQUOTE] = ACTIONS(3427), + [anon_sym_u_DQUOTE] = ACTIONS(3427), + [anon_sym_U_DQUOTE] = ACTIONS(3427), + [anon_sym_u8_DQUOTE] = ACTIONS(3427), + [anon_sym_DQUOTE] = ACTIONS(3427), + [sym_true] = ACTIONS(3429), + [sym_false] = ACTIONS(3429), + [anon_sym_NULL] = ACTIONS(3429), + [anon_sym_nullptr] = ACTIONS(3429), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3427), + [sym_auto] = ACTIONS(3429), + [anon_sym_decltype] = ACTIONS(3429), + [sym_virtual] = ACTIONS(3429), + [anon_sym_explicit] = ACTIONS(3429), + [anon_sym_typename] = ACTIONS(3429), + [anon_sym_template] = ACTIONS(3429), + [anon_sym_operator] = ACTIONS(3429), + [anon_sym_try] = ACTIONS(3429), + [anon_sym_delete] = ACTIONS(3429), + [anon_sym_throw] = ACTIONS(3429), + [anon_sym_namespace] = ACTIONS(3429), + [anon_sym_using] = ACTIONS(3429), + [anon_sym_static_assert] = ACTIONS(3429), + [anon_sym_concept] = ACTIONS(3429), + [anon_sym_co_return] = ACTIONS(3429), + [anon_sym_co_yield] = ACTIONS(3429), + [anon_sym_R_DQUOTE] = ACTIONS(3427), + [anon_sym_LR_DQUOTE] = ACTIONS(3427), + [anon_sym_uR_DQUOTE] = ACTIONS(3427), + [anon_sym_UR_DQUOTE] = ACTIONS(3427), + [anon_sym_u8R_DQUOTE] = ACTIONS(3427), + [anon_sym_co_await] = ACTIONS(3429), + [anon_sym_new] = ACTIONS(3429), + [anon_sym_requires] = ACTIONS(3429), + [sym_this] = ACTIONS(3429), + }, + [698] = { + [ts_builtin_sym_end] = ACTIONS(2950), + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_include_token1] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_BANG] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_DASH] = ACTIONS(2948), + [anon_sym_PLUS] = ACTIONS(2948), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym___cdecl] = ACTIONS(2948), + [anon_sym___clrcall] = ACTIONS(2948), + [anon_sym___stdcall] = ACTIONS(2948), + [anon_sym___fastcall] = ACTIONS(2948), + [anon_sym___thiscall] = ACTIONS(2948), + [anon_sym___vectorcall] = ACTIONS(2948), + [anon_sym_LBRACE] = ACTIONS(2950), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [anon_sym_if] = ACTIONS(2948), + [anon_sym_switch] = ACTIONS(2948), + [anon_sym_case] = ACTIONS(2948), + [anon_sym_default] = ACTIONS(2948), + [anon_sym_while] = ACTIONS(2948), + [anon_sym_do] = ACTIONS(2948), + [anon_sym_for] = ACTIONS(2948), + [anon_sym_return] = ACTIONS(2948), + [anon_sym_break] = ACTIONS(2948), + [anon_sym_continue] = ACTIONS(2948), + [anon_sym_goto] = ACTIONS(2948), + [anon_sym_not] = ACTIONS(2948), + [anon_sym_compl] = ACTIONS(2948), + [anon_sym_DASH_DASH] = ACTIONS(2950), + [anon_sym_PLUS_PLUS] = ACTIONS(2950), + [anon_sym_sizeof] = ACTIONS(2948), + [anon_sym___alignof__] = ACTIONS(2948), + [anon_sym___alignof] = ACTIONS(2948), + [anon_sym__alignof] = ACTIONS(2948), + [anon_sym_alignof] = ACTIONS(2948), + [anon_sym__Alignof] = ACTIONS(2948), + [anon_sym_offsetof] = ACTIONS(2948), + [anon_sym__Generic] = ACTIONS(2948), + [anon_sym_asm] = ACTIONS(2948), + [anon_sym___asm__] = ACTIONS(2948), + [sym__number_literal] = ACTIONS(2950), + [anon_sym_L_SQUOTE] = ACTIONS(2950), + [anon_sym_u_SQUOTE] = ACTIONS(2950), + [anon_sym_U_SQUOTE] = ACTIONS(2950), + [anon_sym_u8_SQUOTE] = ACTIONS(2950), + [anon_sym_SQUOTE] = ACTIONS(2950), + [anon_sym_L_DQUOTE] = ACTIONS(2950), + [anon_sym_u_DQUOTE] = ACTIONS(2950), + [anon_sym_U_DQUOTE] = ACTIONS(2950), + [anon_sym_u8_DQUOTE] = ACTIONS(2950), + [anon_sym_DQUOTE] = ACTIONS(2950), + [sym_true] = ACTIONS(2948), + [sym_false] = ACTIONS(2948), + [anon_sym_NULL] = ACTIONS(2948), + [anon_sym_nullptr] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_try] = ACTIONS(2948), + [anon_sym_delete] = ACTIONS(2948), + [anon_sym_throw] = ACTIONS(2948), + [anon_sym_namespace] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + [anon_sym_concept] = ACTIONS(2948), + [anon_sym_co_return] = ACTIONS(2948), + [anon_sym_co_yield] = ACTIONS(2948), + [anon_sym_R_DQUOTE] = ACTIONS(2950), + [anon_sym_LR_DQUOTE] = ACTIONS(2950), + [anon_sym_uR_DQUOTE] = ACTIONS(2950), + [anon_sym_UR_DQUOTE] = ACTIONS(2950), + [anon_sym_u8R_DQUOTE] = ACTIONS(2950), + [anon_sym_co_await] = ACTIONS(2948), + [anon_sym_new] = ACTIONS(2948), + [anon_sym_requires] = ACTIONS(2948), + [sym_this] = ACTIONS(2948), + }, + [699] = { + [ts_builtin_sym_end] = ACTIONS(2907), + [sym__identifier] = ACTIONS(2905), + [aux_sym_preproc_include_token1] = ACTIONS(2905), + [aux_sym_preproc_def_token1] = ACTIONS(2905), + [aux_sym_preproc_if_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2905), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2905), + [sym_preproc_directive] = ACTIONS(2905), + [anon_sym_LPAREN2] = ACTIONS(2907), + [anon_sym_BANG] = ACTIONS(2907), + [anon_sym_TILDE] = ACTIONS(2907), + [anon_sym_DASH] = ACTIONS(2905), + [anon_sym_PLUS] = ACTIONS(2905), + [anon_sym_STAR] = ACTIONS(2907), + [anon_sym_AMP_AMP] = ACTIONS(2907), + [anon_sym_AMP] = ACTIONS(2905), + [anon_sym___extension__] = ACTIONS(2905), + [anon_sym_typedef] = ACTIONS(2905), + [anon_sym_extern] = ACTIONS(2905), + [anon_sym___attribute__] = ACTIONS(2905), + [anon_sym_COLON_COLON] = ACTIONS(2907), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2907), + [anon_sym___declspec] = ACTIONS(2905), + [anon_sym___based] = ACTIONS(2905), + [anon_sym___cdecl] = ACTIONS(2905), + [anon_sym___clrcall] = ACTIONS(2905), + [anon_sym___stdcall] = ACTIONS(2905), + [anon_sym___fastcall] = ACTIONS(2905), + [anon_sym___thiscall] = ACTIONS(2905), + [anon_sym___vectorcall] = ACTIONS(2905), + [anon_sym_LBRACE] = ACTIONS(2907), + [anon_sym_signed] = ACTIONS(2905), + [anon_sym_unsigned] = ACTIONS(2905), + [anon_sym_long] = ACTIONS(2905), + [anon_sym_short] = ACTIONS(2905), + [anon_sym_LBRACK] = ACTIONS(2905), + [anon_sym_static] = ACTIONS(2905), + [anon_sym_register] = ACTIONS(2905), + [anon_sym_inline] = ACTIONS(2905), + [anon_sym___inline] = ACTIONS(2905), + [anon_sym___inline__] = ACTIONS(2905), + [anon_sym___forceinline] = ACTIONS(2905), + [anon_sym_thread_local] = ACTIONS(2905), + [anon_sym___thread] = ACTIONS(2905), + [anon_sym_const] = ACTIONS(2905), + [anon_sym_constexpr] = ACTIONS(2905), + [anon_sym_volatile] = ACTIONS(2905), + [anon_sym_restrict] = ACTIONS(2905), + [anon_sym___restrict__] = ACTIONS(2905), + [anon_sym__Atomic] = ACTIONS(2905), + [anon_sym__Noreturn] = ACTIONS(2905), + [anon_sym_noreturn] = ACTIONS(2905), + [anon_sym_mutable] = ACTIONS(2905), + [anon_sym_constinit] = ACTIONS(2905), + [anon_sym_consteval] = ACTIONS(2905), + [anon_sym_alignas] = ACTIONS(2905), + [anon_sym__Alignas] = ACTIONS(2905), + [sym_primitive_type] = ACTIONS(2905), + [anon_sym_enum] = ACTIONS(2905), + [anon_sym_class] = ACTIONS(2905), + [anon_sym_struct] = ACTIONS(2905), + [anon_sym_union] = ACTIONS(2905), + [anon_sym_if] = ACTIONS(2905), + [anon_sym_switch] = ACTIONS(2905), + [anon_sym_case] = ACTIONS(2905), + [anon_sym_default] = ACTIONS(2905), + [anon_sym_while] = ACTIONS(2905), + [anon_sym_do] = ACTIONS(2905), + [anon_sym_for] = ACTIONS(2905), + [anon_sym_return] = ACTIONS(2905), + [anon_sym_break] = ACTIONS(2905), + [anon_sym_continue] = ACTIONS(2905), + [anon_sym_goto] = ACTIONS(2905), + [anon_sym_not] = ACTIONS(2905), + [anon_sym_compl] = ACTIONS(2905), + [anon_sym_DASH_DASH] = ACTIONS(2907), + [anon_sym_PLUS_PLUS] = ACTIONS(2907), + [anon_sym_sizeof] = ACTIONS(2905), + [anon_sym___alignof__] = ACTIONS(2905), + [anon_sym___alignof] = ACTIONS(2905), + [anon_sym__alignof] = ACTIONS(2905), + [anon_sym_alignof] = ACTIONS(2905), + [anon_sym__Alignof] = ACTIONS(2905), + [anon_sym_offsetof] = ACTIONS(2905), + [anon_sym__Generic] = ACTIONS(2905), + [anon_sym_asm] = ACTIONS(2905), + [anon_sym___asm__] = ACTIONS(2905), + [sym__number_literal] = ACTIONS(2907), + [anon_sym_L_SQUOTE] = ACTIONS(2907), + [anon_sym_u_SQUOTE] = ACTIONS(2907), + [anon_sym_U_SQUOTE] = ACTIONS(2907), + [anon_sym_u8_SQUOTE] = ACTIONS(2907), + [anon_sym_SQUOTE] = ACTIONS(2907), + [anon_sym_L_DQUOTE] = ACTIONS(2907), + [anon_sym_u_DQUOTE] = ACTIONS(2907), + [anon_sym_U_DQUOTE] = ACTIONS(2907), + [anon_sym_u8_DQUOTE] = ACTIONS(2907), + [anon_sym_DQUOTE] = ACTIONS(2907), + [sym_true] = ACTIONS(2905), + [sym_false] = ACTIONS(2905), + [anon_sym_NULL] = ACTIONS(2905), + [anon_sym_nullptr] = ACTIONS(2905), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2907), + [sym_auto] = ACTIONS(2905), + [anon_sym_decltype] = ACTIONS(2905), + [sym_virtual] = ACTIONS(2905), + [anon_sym_explicit] = ACTIONS(2905), + [anon_sym_typename] = ACTIONS(2905), + [anon_sym_template] = ACTIONS(2905), + [anon_sym_operator] = ACTIONS(2905), + [anon_sym_try] = ACTIONS(2905), + [anon_sym_delete] = ACTIONS(2905), + [anon_sym_throw] = ACTIONS(2905), + [anon_sym_namespace] = ACTIONS(2905), + [anon_sym_using] = ACTIONS(2905), + [anon_sym_static_assert] = ACTIONS(2905), + [anon_sym_concept] = ACTIONS(2905), + [anon_sym_co_return] = ACTIONS(2905), + [anon_sym_co_yield] = ACTIONS(2905), + [anon_sym_R_DQUOTE] = ACTIONS(2907), + [anon_sym_LR_DQUOTE] = ACTIONS(2907), + [anon_sym_uR_DQUOTE] = ACTIONS(2907), + [anon_sym_UR_DQUOTE] = ACTIONS(2907), + [anon_sym_u8R_DQUOTE] = ACTIONS(2907), + [anon_sym_co_await] = ACTIONS(2905), + [anon_sym_new] = ACTIONS(2905), + [anon_sym_requires] = ACTIONS(2905), + [sym_this] = ACTIONS(2905), + }, + [700] = { + [ts_builtin_sym_end] = ACTIONS(3116), + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_include_token1] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_BANG] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_DASH] = ACTIONS(3114), + [anon_sym_PLUS] = ACTIONS(3114), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym___cdecl] = ACTIONS(3114), + [anon_sym___clrcall] = ACTIONS(3114), + [anon_sym___stdcall] = ACTIONS(3114), + [anon_sym___fastcall] = ACTIONS(3114), + [anon_sym___thiscall] = ACTIONS(3114), + [anon_sym___vectorcall] = ACTIONS(3114), + [anon_sym_LBRACE] = ACTIONS(3116), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [anon_sym_if] = ACTIONS(3114), + [anon_sym_switch] = ACTIONS(3114), + [anon_sym_case] = ACTIONS(3114), + [anon_sym_default] = ACTIONS(3114), + [anon_sym_while] = ACTIONS(3114), + [anon_sym_do] = ACTIONS(3114), + [anon_sym_for] = ACTIONS(3114), + [anon_sym_return] = ACTIONS(3114), + [anon_sym_break] = ACTIONS(3114), + [anon_sym_continue] = ACTIONS(3114), + [anon_sym_goto] = ACTIONS(3114), + [anon_sym_not] = ACTIONS(3114), + [anon_sym_compl] = ACTIONS(3114), + [anon_sym_DASH_DASH] = ACTIONS(3116), + [anon_sym_PLUS_PLUS] = ACTIONS(3116), + [anon_sym_sizeof] = ACTIONS(3114), + [anon_sym___alignof__] = ACTIONS(3114), + [anon_sym___alignof] = ACTIONS(3114), + [anon_sym__alignof] = ACTIONS(3114), + [anon_sym_alignof] = ACTIONS(3114), + [anon_sym__Alignof] = ACTIONS(3114), + [anon_sym_offsetof] = ACTIONS(3114), + [anon_sym__Generic] = ACTIONS(3114), + [anon_sym_asm] = ACTIONS(3114), + [anon_sym___asm__] = ACTIONS(3114), + [sym__number_literal] = ACTIONS(3116), + [anon_sym_L_SQUOTE] = ACTIONS(3116), + [anon_sym_u_SQUOTE] = ACTIONS(3116), + [anon_sym_U_SQUOTE] = ACTIONS(3116), + [anon_sym_u8_SQUOTE] = ACTIONS(3116), + [anon_sym_SQUOTE] = ACTIONS(3116), + [anon_sym_L_DQUOTE] = ACTIONS(3116), + [anon_sym_u_DQUOTE] = ACTIONS(3116), + [anon_sym_U_DQUOTE] = ACTIONS(3116), + [anon_sym_u8_DQUOTE] = ACTIONS(3116), + [anon_sym_DQUOTE] = ACTIONS(3116), + [sym_true] = ACTIONS(3114), + [sym_false] = ACTIONS(3114), + [anon_sym_NULL] = ACTIONS(3114), + [anon_sym_nullptr] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_try] = ACTIONS(3114), + [anon_sym_delete] = ACTIONS(3114), + [anon_sym_throw] = ACTIONS(3114), + [anon_sym_namespace] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + [anon_sym_concept] = ACTIONS(3114), + [anon_sym_co_return] = ACTIONS(3114), + [anon_sym_co_yield] = ACTIONS(3114), + [anon_sym_R_DQUOTE] = ACTIONS(3116), + [anon_sym_LR_DQUOTE] = ACTIONS(3116), + [anon_sym_uR_DQUOTE] = ACTIONS(3116), + [anon_sym_UR_DQUOTE] = ACTIONS(3116), + [anon_sym_u8R_DQUOTE] = ACTIONS(3116), + [anon_sym_co_await] = ACTIONS(3114), + [anon_sym_new] = ACTIONS(3114), + [anon_sym_requires] = ACTIONS(3114), + [sym_this] = ACTIONS(3114), + }, + [701] = { + [sym_preproc_def] = STATE(706), + [sym_preproc_function_def] = STATE(706), + [sym_preproc_call] = STATE(706), + [sym_preproc_if_in_field_declaration_list] = STATE(706), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(706), + [sym_type_definition] = STATE(706), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(706), + [sym_field_declaration] = STATE(706), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(706), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(706), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(706), + [sym_operator_cast_declaration] = STATE(706), + [sym_constructor_or_destructor_definition] = STATE(706), + [sym_constructor_or_destructor_declaration] = STATE(706), + [sym_friend_declaration] = STATE(706), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(706), + [sym_alias_declaration] = STATE(706), + [sym_static_assert_declaration] = STATE(706), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(706), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3431), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [702] = { + [ts_builtin_sym_end] = ACTIONS(3007), + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_include_token1] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_BANG] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_DASH] = ACTIONS(3005), + [anon_sym_PLUS] = ACTIONS(3005), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym___cdecl] = ACTIONS(3005), + [anon_sym___clrcall] = ACTIONS(3005), + [anon_sym___stdcall] = ACTIONS(3005), + [anon_sym___fastcall] = ACTIONS(3005), + [anon_sym___thiscall] = ACTIONS(3005), + [anon_sym___vectorcall] = ACTIONS(3005), + [anon_sym_LBRACE] = ACTIONS(3007), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [anon_sym_if] = ACTIONS(3005), + [anon_sym_switch] = ACTIONS(3005), + [anon_sym_case] = ACTIONS(3005), + [anon_sym_default] = ACTIONS(3005), + [anon_sym_while] = ACTIONS(3005), + [anon_sym_do] = ACTIONS(3005), + [anon_sym_for] = ACTIONS(3005), + [anon_sym_return] = ACTIONS(3005), + [anon_sym_break] = ACTIONS(3005), + [anon_sym_continue] = ACTIONS(3005), + [anon_sym_goto] = ACTIONS(3005), + [anon_sym_not] = ACTIONS(3005), + [anon_sym_compl] = ACTIONS(3005), + [anon_sym_DASH_DASH] = ACTIONS(3007), + [anon_sym_PLUS_PLUS] = ACTIONS(3007), + [anon_sym_sizeof] = ACTIONS(3005), + [anon_sym___alignof__] = ACTIONS(3005), + [anon_sym___alignof] = ACTIONS(3005), + [anon_sym__alignof] = ACTIONS(3005), + [anon_sym_alignof] = ACTIONS(3005), + [anon_sym__Alignof] = ACTIONS(3005), + [anon_sym_offsetof] = ACTIONS(3005), + [anon_sym__Generic] = ACTIONS(3005), + [anon_sym_asm] = ACTIONS(3005), + [anon_sym___asm__] = ACTIONS(3005), + [sym__number_literal] = ACTIONS(3007), + [anon_sym_L_SQUOTE] = ACTIONS(3007), + [anon_sym_u_SQUOTE] = ACTIONS(3007), + [anon_sym_U_SQUOTE] = ACTIONS(3007), + [anon_sym_u8_SQUOTE] = ACTIONS(3007), + [anon_sym_SQUOTE] = ACTIONS(3007), + [anon_sym_L_DQUOTE] = ACTIONS(3007), + [anon_sym_u_DQUOTE] = ACTIONS(3007), + [anon_sym_U_DQUOTE] = ACTIONS(3007), + [anon_sym_u8_DQUOTE] = ACTIONS(3007), + [anon_sym_DQUOTE] = ACTIONS(3007), + [sym_true] = ACTIONS(3005), + [sym_false] = ACTIONS(3005), + [anon_sym_NULL] = ACTIONS(3005), + [anon_sym_nullptr] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_try] = ACTIONS(3005), + [anon_sym_delete] = ACTIONS(3005), + [anon_sym_throw] = ACTIONS(3005), + [anon_sym_namespace] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + [anon_sym_concept] = ACTIONS(3005), + [anon_sym_co_return] = ACTIONS(3005), + [anon_sym_co_yield] = ACTIONS(3005), + [anon_sym_R_DQUOTE] = ACTIONS(3007), + [anon_sym_LR_DQUOTE] = ACTIONS(3007), + [anon_sym_uR_DQUOTE] = ACTIONS(3007), + [anon_sym_UR_DQUOTE] = ACTIONS(3007), + [anon_sym_u8R_DQUOTE] = ACTIONS(3007), + [anon_sym_co_await] = ACTIONS(3005), + [anon_sym_new] = ACTIONS(3005), + [anon_sym_requires] = ACTIONS(3005), + [sym_this] = ACTIONS(3005), + }, + [703] = { + [ts_builtin_sym_end] = ACTIONS(3106), + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_include_token1] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_BANG] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_DASH] = ACTIONS(3104), + [anon_sym_PLUS] = ACTIONS(3104), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym___cdecl] = ACTIONS(3104), + [anon_sym___clrcall] = ACTIONS(3104), + [anon_sym___stdcall] = ACTIONS(3104), + [anon_sym___fastcall] = ACTIONS(3104), + [anon_sym___thiscall] = ACTIONS(3104), + [anon_sym___vectorcall] = ACTIONS(3104), + [anon_sym_LBRACE] = ACTIONS(3106), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [anon_sym_if] = ACTIONS(3104), + [anon_sym_switch] = ACTIONS(3104), + [anon_sym_case] = ACTIONS(3104), + [anon_sym_default] = ACTIONS(3104), + [anon_sym_while] = ACTIONS(3104), + [anon_sym_do] = ACTIONS(3104), + [anon_sym_for] = ACTIONS(3104), + [anon_sym_return] = ACTIONS(3104), + [anon_sym_break] = ACTIONS(3104), + [anon_sym_continue] = ACTIONS(3104), + [anon_sym_goto] = ACTIONS(3104), + [anon_sym_not] = ACTIONS(3104), + [anon_sym_compl] = ACTIONS(3104), + [anon_sym_DASH_DASH] = ACTIONS(3106), + [anon_sym_PLUS_PLUS] = ACTIONS(3106), + [anon_sym_sizeof] = ACTIONS(3104), + [anon_sym___alignof__] = ACTIONS(3104), + [anon_sym___alignof] = ACTIONS(3104), + [anon_sym__alignof] = ACTIONS(3104), + [anon_sym_alignof] = ACTIONS(3104), + [anon_sym__Alignof] = ACTIONS(3104), + [anon_sym_offsetof] = ACTIONS(3104), + [anon_sym__Generic] = ACTIONS(3104), + [anon_sym_asm] = ACTIONS(3104), + [anon_sym___asm__] = ACTIONS(3104), + [sym__number_literal] = ACTIONS(3106), + [anon_sym_L_SQUOTE] = ACTIONS(3106), + [anon_sym_u_SQUOTE] = ACTIONS(3106), + [anon_sym_U_SQUOTE] = ACTIONS(3106), + [anon_sym_u8_SQUOTE] = ACTIONS(3106), + [anon_sym_SQUOTE] = ACTIONS(3106), + [anon_sym_L_DQUOTE] = ACTIONS(3106), + [anon_sym_u_DQUOTE] = ACTIONS(3106), + [anon_sym_U_DQUOTE] = ACTIONS(3106), + [anon_sym_u8_DQUOTE] = ACTIONS(3106), + [anon_sym_DQUOTE] = ACTIONS(3106), + [sym_true] = ACTIONS(3104), + [sym_false] = ACTIONS(3104), + [anon_sym_NULL] = ACTIONS(3104), + [anon_sym_nullptr] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_try] = ACTIONS(3104), + [anon_sym_delete] = ACTIONS(3104), + [anon_sym_throw] = ACTIONS(3104), + [anon_sym_namespace] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + [anon_sym_concept] = ACTIONS(3104), + [anon_sym_co_return] = ACTIONS(3104), + [anon_sym_co_yield] = ACTIONS(3104), + [anon_sym_R_DQUOTE] = ACTIONS(3106), + [anon_sym_LR_DQUOTE] = ACTIONS(3106), + [anon_sym_uR_DQUOTE] = ACTIONS(3106), + [anon_sym_UR_DQUOTE] = ACTIONS(3106), + [anon_sym_u8R_DQUOTE] = ACTIONS(3106), + [anon_sym_co_await] = ACTIONS(3104), + [anon_sym_new] = ACTIONS(3104), + [anon_sym_requires] = ACTIONS(3104), + [sym_this] = ACTIONS(3104), + }, + [704] = { + [ts_builtin_sym_end] = ACTIONS(3011), + [sym__identifier] = ACTIONS(3009), + [aux_sym_preproc_include_token1] = ACTIONS(3009), + [aux_sym_preproc_def_token1] = ACTIONS(3009), + [aux_sym_preproc_if_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3009), + [sym_preproc_directive] = ACTIONS(3009), + [anon_sym_LPAREN2] = ACTIONS(3011), + [anon_sym_BANG] = ACTIONS(3011), + [anon_sym_TILDE] = ACTIONS(3011), + [anon_sym_DASH] = ACTIONS(3009), + [anon_sym_PLUS] = ACTIONS(3009), + [anon_sym_STAR] = ACTIONS(3011), + [anon_sym_AMP_AMP] = ACTIONS(3011), + [anon_sym_AMP] = ACTIONS(3009), + [anon_sym___extension__] = ACTIONS(3009), + [anon_sym_typedef] = ACTIONS(3009), + [anon_sym_extern] = ACTIONS(3009), + [anon_sym___attribute__] = ACTIONS(3009), + [anon_sym_COLON_COLON] = ACTIONS(3011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3011), + [anon_sym___declspec] = ACTIONS(3009), + [anon_sym___based] = ACTIONS(3009), + [anon_sym___cdecl] = ACTIONS(3009), + [anon_sym___clrcall] = ACTIONS(3009), + [anon_sym___stdcall] = ACTIONS(3009), + [anon_sym___fastcall] = ACTIONS(3009), + [anon_sym___thiscall] = ACTIONS(3009), + [anon_sym___vectorcall] = ACTIONS(3009), + [anon_sym_LBRACE] = ACTIONS(3011), + [anon_sym_signed] = ACTIONS(3009), + [anon_sym_unsigned] = ACTIONS(3009), + [anon_sym_long] = ACTIONS(3009), + [anon_sym_short] = ACTIONS(3009), + [anon_sym_LBRACK] = ACTIONS(3009), + [anon_sym_static] = ACTIONS(3009), + [anon_sym_register] = ACTIONS(3009), + [anon_sym_inline] = ACTIONS(3009), + [anon_sym___inline] = ACTIONS(3009), + [anon_sym___inline__] = ACTIONS(3009), + [anon_sym___forceinline] = ACTIONS(3009), + [anon_sym_thread_local] = ACTIONS(3009), + [anon_sym___thread] = ACTIONS(3009), + [anon_sym_const] = ACTIONS(3009), + [anon_sym_constexpr] = ACTIONS(3009), + [anon_sym_volatile] = ACTIONS(3009), + [anon_sym_restrict] = ACTIONS(3009), + [anon_sym___restrict__] = ACTIONS(3009), + [anon_sym__Atomic] = ACTIONS(3009), + [anon_sym__Noreturn] = ACTIONS(3009), + [anon_sym_noreturn] = ACTIONS(3009), + [anon_sym_mutable] = ACTIONS(3009), + [anon_sym_constinit] = ACTIONS(3009), + [anon_sym_consteval] = ACTIONS(3009), + [anon_sym_alignas] = ACTIONS(3009), + [anon_sym__Alignas] = ACTIONS(3009), + [sym_primitive_type] = ACTIONS(3009), + [anon_sym_enum] = ACTIONS(3009), + [anon_sym_class] = ACTIONS(3009), + [anon_sym_struct] = ACTIONS(3009), + [anon_sym_union] = ACTIONS(3009), + [anon_sym_if] = ACTIONS(3009), + [anon_sym_switch] = ACTIONS(3009), + [anon_sym_case] = ACTIONS(3009), + [anon_sym_default] = ACTIONS(3009), + [anon_sym_while] = ACTIONS(3009), + [anon_sym_do] = ACTIONS(3009), + [anon_sym_for] = ACTIONS(3009), + [anon_sym_return] = ACTIONS(3009), + [anon_sym_break] = ACTIONS(3009), + [anon_sym_continue] = ACTIONS(3009), + [anon_sym_goto] = ACTIONS(3009), + [anon_sym_not] = ACTIONS(3009), + [anon_sym_compl] = ACTIONS(3009), + [anon_sym_DASH_DASH] = ACTIONS(3011), + [anon_sym_PLUS_PLUS] = ACTIONS(3011), + [anon_sym_sizeof] = ACTIONS(3009), + [anon_sym___alignof__] = ACTIONS(3009), + [anon_sym___alignof] = ACTIONS(3009), + [anon_sym__alignof] = ACTIONS(3009), + [anon_sym_alignof] = ACTIONS(3009), + [anon_sym__Alignof] = ACTIONS(3009), + [anon_sym_offsetof] = ACTIONS(3009), + [anon_sym__Generic] = ACTIONS(3009), + [anon_sym_asm] = ACTIONS(3009), + [anon_sym___asm__] = ACTIONS(3009), + [sym__number_literal] = ACTIONS(3011), + [anon_sym_L_SQUOTE] = ACTIONS(3011), + [anon_sym_u_SQUOTE] = ACTIONS(3011), + [anon_sym_U_SQUOTE] = ACTIONS(3011), + [anon_sym_u8_SQUOTE] = ACTIONS(3011), + [anon_sym_SQUOTE] = ACTIONS(3011), + [anon_sym_L_DQUOTE] = ACTIONS(3011), + [anon_sym_u_DQUOTE] = ACTIONS(3011), + [anon_sym_U_DQUOTE] = ACTIONS(3011), + [anon_sym_u8_DQUOTE] = ACTIONS(3011), + [anon_sym_DQUOTE] = ACTIONS(3011), + [sym_true] = ACTIONS(3009), + [sym_false] = ACTIONS(3009), + [anon_sym_NULL] = ACTIONS(3009), + [anon_sym_nullptr] = ACTIONS(3009), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3011), + [sym_auto] = ACTIONS(3009), + [anon_sym_decltype] = ACTIONS(3009), + [sym_virtual] = ACTIONS(3009), + [anon_sym_explicit] = ACTIONS(3009), + [anon_sym_typename] = ACTIONS(3009), + [anon_sym_template] = ACTIONS(3009), + [anon_sym_operator] = ACTIONS(3009), + [anon_sym_try] = ACTIONS(3009), + [anon_sym_delete] = ACTIONS(3009), + [anon_sym_throw] = ACTIONS(3009), + [anon_sym_namespace] = ACTIONS(3009), + [anon_sym_using] = ACTIONS(3009), + [anon_sym_static_assert] = ACTIONS(3009), + [anon_sym_concept] = ACTIONS(3009), + [anon_sym_co_return] = ACTIONS(3009), + [anon_sym_co_yield] = ACTIONS(3009), + [anon_sym_R_DQUOTE] = ACTIONS(3011), + [anon_sym_LR_DQUOTE] = ACTIONS(3011), + [anon_sym_uR_DQUOTE] = ACTIONS(3011), + [anon_sym_UR_DQUOTE] = ACTIONS(3011), + [anon_sym_u8R_DQUOTE] = ACTIONS(3011), + [anon_sym_co_await] = ACTIONS(3009), + [anon_sym_new] = ACTIONS(3009), + [anon_sym_requires] = ACTIONS(3009), + [sym_this] = ACTIONS(3009), + }, + [705] = { + [ts_builtin_sym_end] = ACTIONS(3192), + [sym__identifier] = ACTIONS(3190), + [aux_sym_preproc_include_token1] = ACTIONS(3190), + [aux_sym_preproc_def_token1] = ACTIONS(3190), + [aux_sym_preproc_if_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3190), + [sym_preproc_directive] = ACTIONS(3190), + [anon_sym_LPAREN2] = ACTIONS(3192), + [anon_sym_BANG] = ACTIONS(3192), + [anon_sym_TILDE] = ACTIONS(3192), + [anon_sym_DASH] = ACTIONS(3190), + [anon_sym_PLUS] = ACTIONS(3190), + [anon_sym_STAR] = ACTIONS(3192), + [anon_sym_AMP_AMP] = ACTIONS(3192), + [anon_sym_AMP] = ACTIONS(3190), + [anon_sym___extension__] = ACTIONS(3190), + [anon_sym_typedef] = ACTIONS(3190), + [anon_sym_extern] = ACTIONS(3190), + [anon_sym___attribute__] = ACTIONS(3190), + [anon_sym_COLON_COLON] = ACTIONS(3192), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3192), + [anon_sym___declspec] = ACTIONS(3190), + [anon_sym___based] = ACTIONS(3190), + [anon_sym___cdecl] = ACTIONS(3190), + [anon_sym___clrcall] = ACTIONS(3190), + [anon_sym___stdcall] = ACTIONS(3190), + [anon_sym___fastcall] = ACTIONS(3190), + [anon_sym___thiscall] = ACTIONS(3190), + [anon_sym___vectorcall] = ACTIONS(3190), + [anon_sym_LBRACE] = ACTIONS(3192), + [anon_sym_signed] = ACTIONS(3190), + [anon_sym_unsigned] = ACTIONS(3190), + [anon_sym_long] = ACTIONS(3190), + [anon_sym_short] = ACTIONS(3190), + [anon_sym_LBRACK] = ACTIONS(3190), + [anon_sym_static] = ACTIONS(3190), + [anon_sym_register] = ACTIONS(3190), + [anon_sym_inline] = ACTIONS(3190), + [anon_sym___inline] = ACTIONS(3190), + [anon_sym___inline__] = ACTIONS(3190), + [anon_sym___forceinline] = ACTIONS(3190), + [anon_sym_thread_local] = ACTIONS(3190), + [anon_sym___thread] = ACTIONS(3190), + [anon_sym_const] = ACTIONS(3190), + [anon_sym_constexpr] = ACTIONS(3190), + [anon_sym_volatile] = ACTIONS(3190), + [anon_sym_restrict] = ACTIONS(3190), + [anon_sym___restrict__] = ACTIONS(3190), + [anon_sym__Atomic] = ACTIONS(3190), + [anon_sym__Noreturn] = ACTIONS(3190), + [anon_sym_noreturn] = ACTIONS(3190), + [anon_sym_mutable] = ACTIONS(3190), + [anon_sym_constinit] = ACTIONS(3190), + [anon_sym_consteval] = ACTIONS(3190), + [anon_sym_alignas] = ACTIONS(3190), + [anon_sym__Alignas] = ACTIONS(3190), + [sym_primitive_type] = ACTIONS(3190), + [anon_sym_enum] = ACTIONS(3190), + [anon_sym_class] = ACTIONS(3190), + [anon_sym_struct] = ACTIONS(3190), + [anon_sym_union] = ACTIONS(3190), + [anon_sym_if] = ACTIONS(3190), + [anon_sym_switch] = ACTIONS(3190), + [anon_sym_case] = ACTIONS(3190), + [anon_sym_default] = ACTIONS(3190), + [anon_sym_while] = ACTIONS(3190), + [anon_sym_do] = ACTIONS(3190), + [anon_sym_for] = ACTIONS(3190), + [anon_sym_return] = ACTIONS(3190), + [anon_sym_break] = ACTIONS(3190), + [anon_sym_continue] = ACTIONS(3190), + [anon_sym_goto] = ACTIONS(3190), + [anon_sym_not] = ACTIONS(3190), + [anon_sym_compl] = ACTIONS(3190), + [anon_sym_DASH_DASH] = ACTIONS(3192), + [anon_sym_PLUS_PLUS] = ACTIONS(3192), + [anon_sym_sizeof] = ACTIONS(3190), + [anon_sym___alignof__] = ACTIONS(3190), + [anon_sym___alignof] = ACTIONS(3190), + [anon_sym__alignof] = ACTIONS(3190), + [anon_sym_alignof] = ACTIONS(3190), + [anon_sym__Alignof] = ACTIONS(3190), + [anon_sym_offsetof] = ACTIONS(3190), + [anon_sym__Generic] = ACTIONS(3190), + [anon_sym_asm] = ACTIONS(3190), + [anon_sym___asm__] = ACTIONS(3190), + [sym__number_literal] = ACTIONS(3192), + [anon_sym_L_SQUOTE] = ACTIONS(3192), + [anon_sym_u_SQUOTE] = ACTIONS(3192), + [anon_sym_U_SQUOTE] = ACTIONS(3192), + [anon_sym_u8_SQUOTE] = ACTIONS(3192), + [anon_sym_SQUOTE] = ACTIONS(3192), + [anon_sym_L_DQUOTE] = ACTIONS(3192), + [anon_sym_u_DQUOTE] = ACTIONS(3192), + [anon_sym_U_DQUOTE] = ACTIONS(3192), + [anon_sym_u8_DQUOTE] = ACTIONS(3192), + [anon_sym_DQUOTE] = ACTIONS(3192), + [sym_true] = ACTIONS(3190), + [sym_false] = ACTIONS(3190), + [anon_sym_NULL] = ACTIONS(3190), + [anon_sym_nullptr] = ACTIONS(3190), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3192), + [sym_auto] = ACTIONS(3190), + [anon_sym_decltype] = ACTIONS(3190), + [sym_virtual] = ACTIONS(3190), + [anon_sym_explicit] = ACTIONS(3190), + [anon_sym_typename] = ACTIONS(3190), + [anon_sym_template] = ACTIONS(3190), + [anon_sym_operator] = ACTIONS(3190), + [anon_sym_try] = ACTIONS(3190), + [anon_sym_delete] = ACTIONS(3190), + [anon_sym_throw] = ACTIONS(3190), + [anon_sym_namespace] = ACTIONS(3190), + [anon_sym_using] = ACTIONS(3190), + [anon_sym_static_assert] = ACTIONS(3190), + [anon_sym_concept] = ACTIONS(3190), + [anon_sym_co_return] = ACTIONS(3190), + [anon_sym_co_yield] = ACTIONS(3190), + [anon_sym_R_DQUOTE] = ACTIONS(3192), + [anon_sym_LR_DQUOTE] = ACTIONS(3192), + [anon_sym_uR_DQUOTE] = ACTIONS(3192), + [anon_sym_UR_DQUOTE] = ACTIONS(3192), + [anon_sym_u8R_DQUOTE] = ACTIONS(3192), + [anon_sym_co_await] = ACTIONS(3190), + [anon_sym_new] = ACTIONS(3190), + [anon_sym_requires] = ACTIONS(3190), + [sym_this] = ACTIONS(3190), + }, + [706] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3433), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [707] = { + [sym_preproc_def] = STATE(720), + [sym_preproc_function_def] = STATE(720), + [sym_preproc_call] = STATE(720), + [sym_preproc_if_in_field_declaration_list] = STATE(720), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(720), + [sym_type_definition] = STATE(720), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5563), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6154), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(720), + [sym_field_declaration] = STATE(720), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1707), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(720), + [sym_operator_cast] = STATE(6650), + [sym_inline_method_definition] = STATE(720), + [sym__constructor_specifiers] = STATE(1707), + [sym_operator_cast_definition] = STATE(720), + [sym_operator_cast_declaration] = STATE(720), + [sym_constructor_or_destructor_definition] = STATE(720), + [sym_constructor_or_destructor_declaration] = STATE(720), + [sym_friend_declaration] = STATE(720), + [sym_access_specifier] = STATE(8042), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(720), + [sym_alias_declaration] = STATE(720), + [sym_static_assert_declaration] = STATE(720), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6650), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(720), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1707), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3435), + [aux_sym_preproc_if_token1] = ACTIONS(3437), + [aux_sym_preproc_if_token2] = ACTIONS(3439), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3441), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3441), + [sym_preproc_directive] = ACTIONS(3443), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3445), + [anon_sym_typedef] = ACTIONS(3447), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3449), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3451), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3453), + [anon_sym_static_assert] = ACTIONS(3455), + }, + [708] = { + [ts_builtin_sym_end] = ACTIONS(3152), + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_include_token1] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_BANG] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_DASH] = ACTIONS(3150), + [anon_sym_PLUS] = ACTIONS(3150), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym___cdecl] = ACTIONS(3150), + [anon_sym___clrcall] = ACTIONS(3150), + [anon_sym___stdcall] = ACTIONS(3150), + [anon_sym___fastcall] = ACTIONS(3150), + [anon_sym___thiscall] = ACTIONS(3150), + [anon_sym___vectorcall] = ACTIONS(3150), + [anon_sym_LBRACE] = ACTIONS(3152), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [anon_sym_if] = ACTIONS(3150), + [anon_sym_switch] = ACTIONS(3150), + [anon_sym_case] = ACTIONS(3150), + [anon_sym_default] = ACTIONS(3150), + [anon_sym_while] = ACTIONS(3150), + [anon_sym_do] = ACTIONS(3150), + [anon_sym_for] = ACTIONS(3150), + [anon_sym_return] = ACTIONS(3150), + [anon_sym_break] = ACTIONS(3150), + [anon_sym_continue] = ACTIONS(3150), + [anon_sym_goto] = ACTIONS(3150), + [anon_sym_not] = ACTIONS(3150), + [anon_sym_compl] = ACTIONS(3150), + [anon_sym_DASH_DASH] = ACTIONS(3152), + [anon_sym_PLUS_PLUS] = ACTIONS(3152), + [anon_sym_sizeof] = ACTIONS(3150), + [anon_sym___alignof__] = ACTIONS(3150), + [anon_sym___alignof] = ACTIONS(3150), + [anon_sym__alignof] = ACTIONS(3150), + [anon_sym_alignof] = ACTIONS(3150), + [anon_sym__Alignof] = ACTIONS(3150), + [anon_sym_offsetof] = ACTIONS(3150), + [anon_sym__Generic] = ACTIONS(3150), + [anon_sym_asm] = ACTIONS(3150), + [anon_sym___asm__] = ACTIONS(3150), + [sym__number_literal] = ACTIONS(3152), + [anon_sym_L_SQUOTE] = ACTIONS(3152), + [anon_sym_u_SQUOTE] = ACTIONS(3152), + [anon_sym_U_SQUOTE] = ACTIONS(3152), + [anon_sym_u8_SQUOTE] = ACTIONS(3152), + [anon_sym_SQUOTE] = ACTIONS(3152), + [anon_sym_L_DQUOTE] = ACTIONS(3152), + [anon_sym_u_DQUOTE] = ACTIONS(3152), + [anon_sym_U_DQUOTE] = ACTIONS(3152), + [anon_sym_u8_DQUOTE] = ACTIONS(3152), + [anon_sym_DQUOTE] = ACTIONS(3152), + [sym_true] = ACTIONS(3150), + [sym_false] = ACTIONS(3150), + [anon_sym_NULL] = ACTIONS(3150), + [anon_sym_nullptr] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_try] = ACTIONS(3150), + [anon_sym_delete] = ACTIONS(3150), + [anon_sym_throw] = ACTIONS(3150), + [anon_sym_namespace] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + [anon_sym_concept] = ACTIONS(3150), + [anon_sym_co_return] = ACTIONS(3150), + [anon_sym_co_yield] = ACTIONS(3150), + [anon_sym_R_DQUOTE] = ACTIONS(3152), + [anon_sym_LR_DQUOTE] = ACTIONS(3152), + [anon_sym_uR_DQUOTE] = ACTIONS(3152), + [anon_sym_UR_DQUOTE] = ACTIONS(3152), + [anon_sym_u8R_DQUOTE] = ACTIONS(3152), + [anon_sym_co_await] = ACTIONS(3150), + [anon_sym_new] = ACTIONS(3150), + [anon_sym_requires] = ACTIONS(3150), + [sym_this] = ACTIONS(3150), + }, + [709] = { + [ts_builtin_sym_end] = ACTIONS(3019), + [sym__identifier] = ACTIONS(3017), + [aux_sym_preproc_include_token1] = ACTIONS(3017), + [aux_sym_preproc_def_token1] = ACTIONS(3017), + [aux_sym_preproc_if_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3017), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3017), + [sym_preproc_directive] = ACTIONS(3017), + [anon_sym_LPAREN2] = ACTIONS(3019), + [anon_sym_BANG] = ACTIONS(3019), + [anon_sym_TILDE] = ACTIONS(3019), + [anon_sym_DASH] = ACTIONS(3017), + [anon_sym_PLUS] = ACTIONS(3017), + [anon_sym_STAR] = ACTIONS(3019), + [anon_sym_AMP_AMP] = ACTIONS(3019), + [anon_sym_AMP] = ACTIONS(3017), + [anon_sym___extension__] = ACTIONS(3017), + [anon_sym_typedef] = ACTIONS(3017), + [anon_sym_extern] = ACTIONS(3017), + [anon_sym___attribute__] = ACTIONS(3017), + [anon_sym_COLON_COLON] = ACTIONS(3019), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3019), + [anon_sym___declspec] = ACTIONS(3017), + [anon_sym___based] = ACTIONS(3017), + [anon_sym___cdecl] = ACTIONS(3017), + [anon_sym___clrcall] = ACTIONS(3017), + [anon_sym___stdcall] = ACTIONS(3017), + [anon_sym___fastcall] = ACTIONS(3017), + [anon_sym___thiscall] = ACTIONS(3017), + [anon_sym___vectorcall] = ACTIONS(3017), + [anon_sym_LBRACE] = ACTIONS(3019), + [anon_sym_signed] = ACTIONS(3017), + [anon_sym_unsigned] = ACTIONS(3017), + [anon_sym_long] = ACTIONS(3017), + [anon_sym_short] = ACTIONS(3017), + [anon_sym_LBRACK] = ACTIONS(3017), + [anon_sym_static] = ACTIONS(3017), + [anon_sym_register] = ACTIONS(3017), + [anon_sym_inline] = ACTIONS(3017), + [anon_sym___inline] = ACTIONS(3017), + [anon_sym___inline__] = ACTIONS(3017), + [anon_sym___forceinline] = ACTIONS(3017), + [anon_sym_thread_local] = ACTIONS(3017), + [anon_sym___thread] = ACTIONS(3017), + [anon_sym_const] = ACTIONS(3017), + [anon_sym_constexpr] = ACTIONS(3017), + [anon_sym_volatile] = ACTIONS(3017), + [anon_sym_restrict] = ACTIONS(3017), + [anon_sym___restrict__] = ACTIONS(3017), + [anon_sym__Atomic] = ACTIONS(3017), + [anon_sym__Noreturn] = ACTIONS(3017), + [anon_sym_noreturn] = ACTIONS(3017), + [anon_sym_mutable] = ACTIONS(3017), + [anon_sym_constinit] = ACTIONS(3017), + [anon_sym_consteval] = ACTIONS(3017), + [anon_sym_alignas] = ACTIONS(3017), + [anon_sym__Alignas] = ACTIONS(3017), + [sym_primitive_type] = ACTIONS(3017), + [anon_sym_enum] = ACTIONS(3017), + [anon_sym_class] = ACTIONS(3017), + [anon_sym_struct] = ACTIONS(3017), + [anon_sym_union] = ACTIONS(3017), + [anon_sym_if] = ACTIONS(3017), + [anon_sym_switch] = ACTIONS(3017), + [anon_sym_case] = ACTIONS(3017), + [anon_sym_default] = ACTIONS(3017), + [anon_sym_while] = ACTIONS(3017), + [anon_sym_do] = ACTIONS(3017), + [anon_sym_for] = ACTIONS(3017), + [anon_sym_return] = ACTIONS(3017), + [anon_sym_break] = ACTIONS(3017), + [anon_sym_continue] = ACTIONS(3017), + [anon_sym_goto] = ACTIONS(3017), + [anon_sym_not] = ACTIONS(3017), + [anon_sym_compl] = ACTIONS(3017), + [anon_sym_DASH_DASH] = ACTIONS(3019), + [anon_sym_PLUS_PLUS] = ACTIONS(3019), + [anon_sym_sizeof] = ACTIONS(3017), + [anon_sym___alignof__] = ACTIONS(3017), + [anon_sym___alignof] = ACTIONS(3017), + [anon_sym__alignof] = ACTIONS(3017), + [anon_sym_alignof] = ACTIONS(3017), + [anon_sym__Alignof] = ACTIONS(3017), + [anon_sym_offsetof] = ACTIONS(3017), + [anon_sym__Generic] = ACTIONS(3017), + [anon_sym_asm] = ACTIONS(3017), + [anon_sym___asm__] = ACTIONS(3017), + [sym__number_literal] = ACTIONS(3019), + [anon_sym_L_SQUOTE] = ACTIONS(3019), + [anon_sym_u_SQUOTE] = ACTIONS(3019), + [anon_sym_U_SQUOTE] = ACTIONS(3019), + [anon_sym_u8_SQUOTE] = ACTIONS(3019), + [anon_sym_SQUOTE] = ACTIONS(3019), + [anon_sym_L_DQUOTE] = ACTIONS(3019), + [anon_sym_u_DQUOTE] = ACTIONS(3019), + [anon_sym_U_DQUOTE] = ACTIONS(3019), + [anon_sym_u8_DQUOTE] = ACTIONS(3019), + [anon_sym_DQUOTE] = ACTIONS(3019), + [sym_true] = ACTIONS(3017), + [sym_false] = ACTIONS(3017), + [anon_sym_NULL] = ACTIONS(3017), + [anon_sym_nullptr] = ACTIONS(3017), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3019), + [sym_auto] = ACTIONS(3017), + [anon_sym_decltype] = ACTIONS(3017), + [sym_virtual] = ACTIONS(3017), + [anon_sym_explicit] = ACTIONS(3017), + [anon_sym_typename] = ACTIONS(3017), + [anon_sym_template] = ACTIONS(3017), + [anon_sym_operator] = ACTIONS(3017), + [anon_sym_try] = ACTIONS(3017), + [anon_sym_delete] = ACTIONS(3017), + [anon_sym_throw] = ACTIONS(3017), + [anon_sym_namespace] = ACTIONS(3017), + [anon_sym_using] = ACTIONS(3017), + [anon_sym_static_assert] = ACTIONS(3017), + [anon_sym_concept] = ACTIONS(3017), + [anon_sym_co_return] = ACTIONS(3017), + [anon_sym_co_yield] = ACTIONS(3017), + [anon_sym_R_DQUOTE] = ACTIONS(3019), + [anon_sym_LR_DQUOTE] = ACTIONS(3019), + [anon_sym_uR_DQUOTE] = ACTIONS(3019), + [anon_sym_UR_DQUOTE] = ACTIONS(3019), + [anon_sym_u8R_DQUOTE] = ACTIONS(3019), + [anon_sym_co_await] = ACTIONS(3017), + [anon_sym_new] = ACTIONS(3017), + [anon_sym_requires] = ACTIONS(3017), + [sym_this] = ACTIONS(3017), + }, + [710] = { + [ts_builtin_sym_end] = ACTIONS(2954), + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_include_token1] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_BANG] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_DASH] = ACTIONS(2952), + [anon_sym_PLUS] = ACTIONS(2952), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym___cdecl] = ACTIONS(2952), + [anon_sym___clrcall] = ACTIONS(2952), + [anon_sym___stdcall] = ACTIONS(2952), + [anon_sym___fastcall] = ACTIONS(2952), + [anon_sym___thiscall] = ACTIONS(2952), + [anon_sym___vectorcall] = ACTIONS(2952), + [anon_sym_LBRACE] = ACTIONS(2954), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [anon_sym_if] = ACTIONS(2952), + [anon_sym_switch] = ACTIONS(2952), + [anon_sym_case] = ACTIONS(2952), + [anon_sym_default] = ACTIONS(2952), + [anon_sym_while] = ACTIONS(2952), + [anon_sym_do] = ACTIONS(2952), + [anon_sym_for] = ACTIONS(2952), + [anon_sym_return] = ACTIONS(2952), + [anon_sym_break] = ACTIONS(2952), + [anon_sym_continue] = ACTIONS(2952), + [anon_sym_goto] = ACTIONS(2952), + [anon_sym_not] = ACTIONS(2952), + [anon_sym_compl] = ACTIONS(2952), + [anon_sym_DASH_DASH] = ACTIONS(2954), + [anon_sym_PLUS_PLUS] = ACTIONS(2954), + [anon_sym_sizeof] = ACTIONS(2952), + [anon_sym___alignof__] = ACTIONS(2952), + [anon_sym___alignof] = ACTIONS(2952), + [anon_sym__alignof] = ACTIONS(2952), + [anon_sym_alignof] = ACTIONS(2952), + [anon_sym__Alignof] = ACTIONS(2952), + [anon_sym_offsetof] = ACTIONS(2952), + [anon_sym__Generic] = ACTIONS(2952), + [anon_sym_asm] = ACTIONS(2952), + [anon_sym___asm__] = ACTIONS(2952), + [sym__number_literal] = ACTIONS(2954), + [anon_sym_L_SQUOTE] = ACTIONS(2954), + [anon_sym_u_SQUOTE] = ACTIONS(2954), + [anon_sym_U_SQUOTE] = ACTIONS(2954), + [anon_sym_u8_SQUOTE] = ACTIONS(2954), + [anon_sym_SQUOTE] = ACTIONS(2954), + [anon_sym_L_DQUOTE] = ACTIONS(2954), + [anon_sym_u_DQUOTE] = ACTIONS(2954), + [anon_sym_U_DQUOTE] = ACTIONS(2954), + [anon_sym_u8_DQUOTE] = ACTIONS(2954), + [anon_sym_DQUOTE] = ACTIONS(2954), + [sym_true] = ACTIONS(2952), + [sym_false] = ACTIONS(2952), + [anon_sym_NULL] = ACTIONS(2952), + [anon_sym_nullptr] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_try] = ACTIONS(2952), + [anon_sym_delete] = ACTIONS(2952), + [anon_sym_throw] = ACTIONS(2952), + [anon_sym_namespace] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + [anon_sym_concept] = ACTIONS(2952), + [anon_sym_co_return] = ACTIONS(2952), + [anon_sym_co_yield] = ACTIONS(2952), + [anon_sym_R_DQUOTE] = ACTIONS(2954), + [anon_sym_LR_DQUOTE] = ACTIONS(2954), + [anon_sym_uR_DQUOTE] = ACTIONS(2954), + [anon_sym_UR_DQUOTE] = ACTIONS(2954), + [anon_sym_u8R_DQUOTE] = ACTIONS(2954), + [anon_sym_co_await] = ACTIONS(2952), + [anon_sym_new] = ACTIONS(2952), + [anon_sym_requires] = ACTIONS(2952), + [sym_this] = ACTIONS(2952), + }, + [711] = { + [ts_builtin_sym_end] = ACTIONS(3068), + [sym__identifier] = ACTIONS(3066), + [aux_sym_preproc_include_token1] = ACTIONS(3066), + [aux_sym_preproc_def_token1] = ACTIONS(3066), + [aux_sym_preproc_if_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3066), + [sym_preproc_directive] = ACTIONS(3066), + [anon_sym_LPAREN2] = ACTIONS(3068), + [anon_sym_BANG] = ACTIONS(3068), + [anon_sym_TILDE] = ACTIONS(3068), + [anon_sym_DASH] = ACTIONS(3066), + [anon_sym_PLUS] = ACTIONS(3066), + [anon_sym_STAR] = ACTIONS(3068), + [anon_sym_AMP_AMP] = ACTIONS(3068), + [anon_sym_AMP] = ACTIONS(3066), + [anon_sym___extension__] = ACTIONS(3066), + [anon_sym_typedef] = ACTIONS(3066), + [anon_sym_extern] = ACTIONS(3066), + [anon_sym___attribute__] = ACTIONS(3066), + [anon_sym_COLON_COLON] = ACTIONS(3068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3068), + [anon_sym___declspec] = ACTIONS(3066), + [anon_sym___based] = ACTIONS(3066), + [anon_sym___cdecl] = ACTIONS(3066), + [anon_sym___clrcall] = ACTIONS(3066), + [anon_sym___stdcall] = ACTIONS(3066), + [anon_sym___fastcall] = ACTIONS(3066), + [anon_sym___thiscall] = ACTIONS(3066), + [anon_sym___vectorcall] = ACTIONS(3066), + [anon_sym_LBRACE] = ACTIONS(3068), + [anon_sym_signed] = ACTIONS(3066), + [anon_sym_unsigned] = ACTIONS(3066), + [anon_sym_long] = ACTIONS(3066), + [anon_sym_short] = ACTIONS(3066), + [anon_sym_LBRACK] = ACTIONS(3066), + [anon_sym_static] = ACTIONS(3066), + [anon_sym_register] = ACTIONS(3066), + [anon_sym_inline] = ACTIONS(3066), + [anon_sym___inline] = ACTIONS(3066), + [anon_sym___inline__] = ACTIONS(3066), + [anon_sym___forceinline] = ACTIONS(3066), + [anon_sym_thread_local] = ACTIONS(3066), + [anon_sym___thread] = ACTIONS(3066), + [anon_sym_const] = ACTIONS(3066), + [anon_sym_constexpr] = ACTIONS(3066), + [anon_sym_volatile] = ACTIONS(3066), + [anon_sym_restrict] = ACTIONS(3066), + [anon_sym___restrict__] = ACTIONS(3066), + [anon_sym__Atomic] = ACTIONS(3066), + [anon_sym__Noreturn] = ACTIONS(3066), + [anon_sym_noreturn] = ACTIONS(3066), + [anon_sym_mutable] = ACTIONS(3066), + [anon_sym_constinit] = ACTIONS(3066), + [anon_sym_consteval] = ACTIONS(3066), + [anon_sym_alignas] = ACTIONS(3066), + [anon_sym__Alignas] = ACTIONS(3066), + [sym_primitive_type] = ACTIONS(3066), + [anon_sym_enum] = ACTIONS(3066), + [anon_sym_class] = ACTIONS(3066), + [anon_sym_struct] = ACTIONS(3066), + [anon_sym_union] = ACTIONS(3066), + [anon_sym_if] = ACTIONS(3066), + [anon_sym_switch] = ACTIONS(3066), + [anon_sym_case] = ACTIONS(3066), + [anon_sym_default] = ACTIONS(3066), + [anon_sym_while] = ACTIONS(3066), + [anon_sym_do] = ACTIONS(3066), + [anon_sym_for] = ACTIONS(3066), + [anon_sym_return] = ACTIONS(3066), + [anon_sym_break] = ACTIONS(3066), + [anon_sym_continue] = ACTIONS(3066), + [anon_sym_goto] = ACTIONS(3066), + [anon_sym_not] = ACTIONS(3066), + [anon_sym_compl] = ACTIONS(3066), + [anon_sym_DASH_DASH] = ACTIONS(3068), + [anon_sym_PLUS_PLUS] = ACTIONS(3068), + [anon_sym_sizeof] = ACTIONS(3066), + [anon_sym___alignof__] = ACTIONS(3066), + [anon_sym___alignof] = ACTIONS(3066), + [anon_sym__alignof] = ACTIONS(3066), + [anon_sym_alignof] = ACTIONS(3066), + [anon_sym__Alignof] = ACTIONS(3066), + [anon_sym_offsetof] = ACTIONS(3066), + [anon_sym__Generic] = ACTIONS(3066), + [anon_sym_asm] = ACTIONS(3066), + [anon_sym___asm__] = ACTIONS(3066), + [sym__number_literal] = ACTIONS(3068), + [anon_sym_L_SQUOTE] = ACTIONS(3068), + [anon_sym_u_SQUOTE] = ACTIONS(3068), + [anon_sym_U_SQUOTE] = ACTIONS(3068), + [anon_sym_u8_SQUOTE] = ACTIONS(3068), + [anon_sym_SQUOTE] = ACTIONS(3068), + [anon_sym_L_DQUOTE] = ACTIONS(3068), + [anon_sym_u_DQUOTE] = ACTIONS(3068), + [anon_sym_U_DQUOTE] = ACTIONS(3068), + [anon_sym_u8_DQUOTE] = ACTIONS(3068), + [anon_sym_DQUOTE] = ACTIONS(3068), + [sym_true] = ACTIONS(3066), + [sym_false] = ACTIONS(3066), + [anon_sym_NULL] = ACTIONS(3066), + [anon_sym_nullptr] = ACTIONS(3066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3068), + [sym_auto] = ACTIONS(3066), + [anon_sym_decltype] = ACTIONS(3066), + [sym_virtual] = ACTIONS(3066), + [anon_sym_explicit] = ACTIONS(3066), + [anon_sym_typename] = ACTIONS(3066), + [anon_sym_template] = ACTIONS(3066), + [anon_sym_operator] = ACTIONS(3066), + [anon_sym_try] = ACTIONS(3066), + [anon_sym_delete] = ACTIONS(3066), + [anon_sym_throw] = ACTIONS(3066), + [anon_sym_namespace] = ACTIONS(3066), + [anon_sym_using] = ACTIONS(3066), + [anon_sym_static_assert] = ACTIONS(3066), + [anon_sym_concept] = ACTIONS(3066), + [anon_sym_co_return] = ACTIONS(3066), + [anon_sym_co_yield] = ACTIONS(3066), + [anon_sym_R_DQUOTE] = ACTIONS(3068), + [anon_sym_LR_DQUOTE] = ACTIONS(3068), + [anon_sym_uR_DQUOTE] = ACTIONS(3068), + [anon_sym_UR_DQUOTE] = ACTIONS(3068), + [anon_sym_u8R_DQUOTE] = ACTIONS(3068), + [anon_sym_co_await] = ACTIONS(3066), + [anon_sym_new] = ACTIONS(3066), + [anon_sym_requires] = ACTIONS(3066), + [sym_this] = ACTIONS(3066), + }, + [712] = { + [ts_builtin_sym_end] = ACTIONS(2958), + [sym__identifier] = ACTIONS(2956), + [aux_sym_preproc_include_token1] = ACTIONS(2956), + [aux_sym_preproc_def_token1] = ACTIONS(2956), + [aux_sym_preproc_if_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2956), + [sym_preproc_directive] = ACTIONS(2956), + [anon_sym_LPAREN2] = ACTIONS(2958), + [anon_sym_BANG] = ACTIONS(2958), + [anon_sym_TILDE] = ACTIONS(2958), + [anon_sym_DASH] = ACTIONS(2956), + [anon_sym_PLUS] = ACTIONS(2956), + [anon_sym_STAR] = ACTIONS(2958), + [anon_sym_AMP_AMP] = ACTIONS(2958), + [anon_sym_AMP] = ACTIONS(2956), + [anon_sym___extension__] = ACTIONS(2956), + [anon_sym_typedef] = ACTIONS(2956), + [anon_sym_extern] = ACTIONS(2956), + [anon_sym___attribute__] = ACTIONS(2956), + [anon_sym_COLON_COLON] = ACTIONS(2958), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2958), + [anon_sym___declspec] = ACTIONS(2956), + [anon_sym___based] = ACTIONS(2956), + [anon_sym___cdecl] = ACTIONS(2956), + [anon_sym___clrcall] = ACTIONS(2956), + [anon_sym___stdcall] = ACTIONS(2956), + [anon_sym___fastcall] = ACTIONS(2956), + [anon_sym___thiscall] = ACTIONS(2956), + [anon_sym___vectorcall] = ACTIONS(2956), + [anon_sym_LBRACE] = ACTIONS(2958), + [anon_sym_signed] = ACTIONS(2956), + [anon_sym_unsigned] = ACTIONS(2956), + [anon_sym_long] = ACTIONS(2956), + [anon_sym_short] = ACTIONS(2956), + [anon_sym_LBRACK] = ACTIONS(2956), + [anon_sym_static] = ACTIONS(2956), + [anon_sym_register] = ACTIONS(2956), + [anon_sym_inline] = ACTIONS(2956), + [anon_sym___inline] = ACTIONS(2956), + [anon_sym___inline__] = ACTIONS(2956), + [anon_sym___forceinline] = ACTIONS(2956), + [anon_sym_thread_local] = ACTIONS(2956), + [anon_sym___thread] = ACTIONS(2956), + [anon_sym_const] = ACTIONS(2956), + [anon_sym_constexpr] = ACTIONS(2956), + [anon_sym_volatile] = ACTIONS(2956), + [anon_sym_restrict] = ACTIONS(2956), + [anon_sym___restrict__] = ACTIONS(2956), + [anon_sym__Atomic] = ACTIONS(2956), + [anon_sym__Noreturn] = ACTIONS(2956), + [anon_sym_noreturn] = ACTIONS(2956), + [anon_sym_mutable] = ACTIONS(2956), + [anon_sym_constinit] = ACTIONS(2956), + [anon_sym_consteval] = ACTIONS(2956), + [anon_sym_alignas] = ACTIONS(2956), + [anon_sym__Alignas] = ACTIONS(2956), + [sym_primitive_type] = ACTIONS(2956), + [anon_sym_enum] = ACTIONS(2956), + [anon_sym_class] = ACTIONS(2956), + [anon_sym_struct] = ACTIONS(2956), + [anon_sym_union] = ACTIONS(2956), + [anon_sym_if] = ACTIONS(2956), + [anon_sym_switch] = ACTIONS(2956), + [anon_sym_case] = ACTIONS(2956), + [anon_sym_default] = ACTIONS(2956), + [anon_sym_while] = ACTIONS(2956), + [anon_sym_do] = ACTIONS(2956), + [anon_sym_for] = ACTIONS(2956), + [anon_sym_return] = ACTIONS(2956), + [anon_sym_break] = ACTIONS(2956), + [anon_sym_continue] = ACTIONS(2956), + [anon_sym_goto] = ACTIONS(2956), + [anon_sym_not] = ACTIONS(2956), + [anon_sym_compl] = ACTIONS(2956), + [anon_sym_DASH_DASH] = ACTIONS(2958), + [anon_sym_PLUS_PLUS] = ACTIONS(2958), + [anon_sym_sizeof] = ACTIONS(2956), + [anon_sym___alignof__] = ACTIONS(2956), + [anon_sym___alignof] = ACTIONS(2956), + [anon_sym__alignof] = ACTIONS(2956), + [anon_sym_alignof] = ACTIONS(2956), + [anon_sym__Alignof] = ACTIONS(2956), + [anon_sym_offsetof] = ACTIONS(2956), + [anon_sym__Generic] = ACTIONS(2956), + [anon_sym_asm] = ACTIONS(2956), + [anon_sym___asm__] = ACTIONS(2956), + [sym__number_literal] = ACTIONS(2958), + [anon_sym_L_SQUOTE] = ACTIONS(2958), + [anon_sym_u_SQUOTE] = ACTIONS(2958), + [anon_sym_U_SQUOTE] = ACTIONS(2958), + [anon_sym_u8_SQUOTE] = ACTIONS(2958), + [anon_sym_SQUOTE] = ACTIONS(2958), + [anon_sym_L_DQUOTE] = ACTIONS(2958), + [anon_sym_u_DQUOTE] = ACTIONS(2958), + [anon_sym_U_DQUOTE] = ACTIONS(2958), + [anon_sym_u8_DQUOTE] = ACTIONS(2958), + [anon_sym_DQUOTE] = ACTIONS(2958), + [sym_true] = ACTIONS(2956), + [sym_false] = ACTIONS(2956), + [anon_sym_NULL] = ACTIONS(2956), + [anon_sym_nullptr] = ACTIONS(2956), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2958), + [sym_auto] = ACTIONS(2956), + [anon_sym_decltype] = ACTIONS(2956), + [sym_virtual] = ACTIONS(2956), + [anon_sym_explicit] = ACTIONS(2956), + [anon_sym_typename] = ACTIONS(2956), + [anon_sym_template] = ACTIONS(2956), + [anon_sym_operator] = ACTIONS(2956), + [anon_sym_try] = ACTIONS(2956), + [anon_sym_delete] = ACTIONS(2956), + [anon_sym_throw] = ACTIONS(2956), + [anon_sym_namespace] = ACTIONS(2956), + [anon_sym_using] = ACTIONS(2956), + [anon_sym_static_assert] = ACTIONS(2956), + [anon_sym_concept] = ACTIONS(2956), + [anon_sym_co_return] = ACTIONS(2956), + [anon_sym_co_yield] = ACTIONS(2956), + [anon_sym_R_DQUOTE] = ACTIONS(2958), + [anon_sym_LR_DQUOTE] = ACTIONS(2958), + [anon_sym_uR_DQUOTE] = ACTIONS(2958), + [anon_sym_UR_DQUOTE] = ACTIONS(2958), + [anon_sym_u8R_DQUOTE] = ACTIONS(2958), + [anon_sym_co_await] = ACTIONS(2956), + [anon_sym_new] = ACTIONS(2956), + [anon_sym_requires] = ACTIONS(2956), + [sym_this] = ACTIONS(2956), + }, + [713] = { + [ts_builtin_sym_end] = ACTIONS(3052), + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_include_token1] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_BANG] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_DASH] = ACTIONS(3050), + [anon_sym_PLUS] = ACTIONS(3050), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym___cdecl] = ACTIONS(3050), + [anon_sym___clrcall] = ACTIONS(3050), + [anon_sym___stdcall] = ACTIONS(3050), + [anon_sym___fastcall] = ACTIONS(3050), + [anon_sym___thiscall] = ACTIONS(3050), + [anon_sym___vectorcall] = ACTIONS(3050), + [anon_sym_LBRACE] = ACTIONS(3052), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [anon_sym_if] = ACTIONS(3050), + [anon_sym_switch] = ACTIONS(3050), + [anon_sym_case] = ACTIONS(3050), + [anon_sym_default] = ACTIONS(3050), + [anon_sym_while] = ACTIONS(3050), + [anon_sym_do] = ACTIONS(3050), + [anon_sym_for] = ACTIONS(3050), + [anon_sym_return] = ACTIONS(3050), + [anon_sym_break] = ACTIONS(3050), + [anon_sym_continue] = ACTIONS(3050), + [anon_sym_goto] = ACTIONS(3050), + [anon_sym_not] = ACTIONS(3050), + [anon_sym_compl] = ACTIONS(3050), + [anon_sym_DASH_DASH] = ACTIONS(3052), + [anon_sym_PLUS_PLUS] = ACTIONS(3052), + [anon_sym_sizeof] = ACTIONS(3050), + [anon_sym___alignof__] = ACTIONS(3050), + [anon_sym___alignof] = ACTIONS(3050), + [anon_sym__alignof] = ACTIONS(3050), + [anon_sym_alignof] = ACTIONS(3050), + [anon_sym__Alignof] = ACTIONS(3050), + [anon_sym_offsetof] = ACTIONS(3050), + [anon_sym__Generic] = ACTIONS(3050), + [anon_sym_asm] = ACTIONS(3050), + [anon_sym___asm__] = ACTIONS(3050), + [sym__number_literal] = ACTIONS(3052), + [anon_sym_L_SQUOTE] = ACTIONS(3052), + [anon_sym_u_SQUOTE] = ACTIONS(3052), + [anon_sym_U_SQUOTE] = ACTIONS(3052), + [anon_sym_u8_SQUOTE] = ACTIONS(3052), + [anon_sym_SQUOTE] = ACTIONS(3052), + [anon_sym_L_DQUOTE] = ACTIONS(3052), + [anon_sym_u_DQUOTE] = ACTIONS(3052), + [anon_sym_U_DQUOTE] = ACTIONS(3052), + [anon_sym_u8_DQUOTE] = ACTIONS(3052), + [anon_sym_DQUOTE] = ACTIONS(3052), + [sym_true] = ACTIONS(3050), + [sym_false] = ACTIONS(3050), + [anon_sym_NULL] = ACTIONS(3050), + [anon_sym_nullptr] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_try] = ACTIONS(3050), + [anon_sym_delete] = ACTIONS(3050), + [anon_sym_throw] = ACTIONS(3050), + [anon_sym_namespace] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + [anon_sym_concept] = ACTIONS(3050), + [anon_sym_co_return] = ACTIONS(3050), + [anon_sym_co_yield] = ACTIONS(3050), + [anon_sym_R_DQUOTE] = ACTIONS(3052), + [anon_sym_LR_DQUOTE] = ACTIONS(3052), + [anon_sym_uR_DQUOTE] = ACTIONS(3052), + [anon_sym_UR_DQUOTE] = ACTIONS(3052), + [anon_sym_u8R_DQUOTE] = ACTIONS(3052), + [anon_sym_co_await] = ACTIONS(3050), + [anon_sym_new] = ACTIONS(3050), + [anon_sym_requires] = ACTIONS(3050), + [sym_this] = ACTIONS(3050), + }, + [714] = { + [ts_builtin_sym_end] = ACTIONS(3156), + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [715] = { + [ts_builtin_sym_end] = ACTIONS(3176), + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_include_token1] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_BANG] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_DASH] = ACTIONS(3174), + [anon_sym_PLUS] = ACTIONS(3174), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym___cdecl] = ACTIONS(3174), + [anon_sym___clrcall] = ACTIONS(3174), + [anon_sym___stdcall] = ACTIONS(3174), + [anon_sym___fastcall] = ACTIONS(3174), + [anon_sym___thiscall] = ACTIONS(3174), + [anon_sym___vectorcall] = ACTIONS(3174), + [anon_sym_LBRACE] = ACTIONS(3176), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [anon_sym_if] = ACTIONS(3174), + [anon_sym_switch] = ACTIONS(3174), + [anon_sym_case] = ACTIONS(3174), + [anon_sym_default] = ACTIONS(3174), + [anon_sym_while] = ACTIONS(3174), + [anon_sym_do] = ACTIONS(3174), + [anon_sym_for] = ACTIONS(3174), + [anon_sym_return] = ACTIONS(3174), + [anon_sym_break] = ACTIONS(3174), + [anon_sym_continue] = ACTIONS(3174), + [anon_sym_goto] = ACTIONS(3174), + [anon_sym_not] = ACTIONS(3174), + [anon_sym_compl] = ACTIONS(3174), + [anon_sym_DASH_DASH] = ACTIONS(3176), + [anon_sym_PLUS_PLUS] = ACTIONS(3176), + [anon_sym_sizeof] = ACTIONS(3174), + [anon_sym___alignof__] = ACTIONS(3174), + [anon_sym___alignof] = ACTIONS(3174), + [anon_sym__alignof] = ACTIONS(3174), + [anon_sym_alignof] = ACTIONS(3174), + [anon_sym__Alignof] = ACTIONS(3174), + [anon_sym_offsetof] = ACTIONS(3174), + [anon_sym__Generic] = ACTIONS(3174), + [anon_sym_asm] = ACTIONS(3174), + [anon_sym___asm__] = ACTIONS(3174), + [sym__number_literal] = ACTIONS(3176), + [anon_sym_L_SQUOTE] = ACTIONS(3176), + [anon_sym_u_SQUOTE] = ACTIONS(3176), + [anon_sym_U_SQUOTE] = ACTIONS(3176), + [anon_sym_u8_SQUOTE] = ACTIONS(3176), + [anon_sym_SQUOTE] = ACTIONS(3176), + [anon_sym_L_DQUOTE] = ACTIONS(3176), + [anon_sym_u_DQUOTE] = ACTIONS(3176), + [anon_sym_U_DQUOTE] = ACTIONS(3176), + [anon_sym_u8_DQUOTE] = ACTIONS(3176), + [anon_sym_DQUOTE] = ACTIONS(3176), + [sym_true] = ACTIONS(3174), + [sym_false] = ACTIONS(3174), + [anon_sym_NULL] = ACTIONS(3174), + [anon_sym_nullptr] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_try] = ACTIONS(3174), + [anon_sym_delete] = ACTIONS(3174), + [anon_sym_throw] = ACTIONS(3174), + [anon_sym_namespace] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + [anon_sym_concept] = ACTIONS(3174), + [anon_sym_co_return] = ACTIONS(3174), + [anon_sym_co_yield] = ACTIONS(3174), + [anon_sym_R_DQUOTE] = ACTIONS(3176), + [anon_sym_LR_DQUOTE] = ACTIONS(3176), + [anon_sym_uR_DQUOTE] = ACTIONS(3176), + [anon_sym_UR_DQUOTE] = ACTIONS(3176), + [anon_sym_u8R_DQUOTE] = ACTIONS(3176), + [anon_sym_co_await] = ACTIONS(3174), + [anon_sym_new] = ACTIONS(3174), + [anon_sym_requires] = ACTIONS(3174), + [sym_this] = ACTIONS(3174), + }, + [716] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3457), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [717] = { + [sym_preproc_def] = STATE(717), + [sym_preproc_function_def] = STATE(717), + [sym_preproc_call] = STATE(717), + [sym_preproc_if_in_field_declaration_list] = STATE(717), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(717), + [sym_type_definition] = STATE(717), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5563), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6154), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(717), + [sym_field_declaration] = STATE(717), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1707), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(717), + [sym_operator_cast] = STATE(6650), + [sym_inline_method_definition] = STATE(717), + [sym__constructor_specifiers] = STATE(1707), + [sym_operator_cast_definition] = STATE(717), + [sym_operator_cast_declaration] = STATE(717), + [sym_constructor_or_destructor_definition] = STATE(717), + [sym_constructor_or_destructor_declaration] = STATE(717), + [sym_friend_declaration] = STATE(717), + [sym_access_specifier] = STATE(8042), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(717), + [sym_alias_declaration] = STATE(717), + [sym_static_assert_declaration] = STATE(717), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6650), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(717), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1707), + [sym__identifier] = ACTIONS(3226), + [aux_sym_preproc_def_token1] = ACTIONS(3459), + [aux_sym_preproc_if_token1] = ACTIONS(3462), + [aux_sym_preproc_if_token2] = ACTIONS(3235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3465), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3465), + [sym_preproc_directive] = ACTIONS(3468), + [anon_sym_LPAREN2] = ACTIONS(3243), + [anon_sym_TILDE] = ACTIONS(3246), + [anon_sym_STAR] = ACTIONS(3249), + [anon_sym_AMP_AMP] = ACTIONS(3252), + [anon_sym_AMP] = ACTIONS(3255), + [anon_sym___extension__] = ACTIONS(3471), + [anon_sym_typedef] = ACTIONS(3474), + [anon_sym_extern] = ACTIONS(3264), + [anon_sym___attribute__] = ACTIONS(3267), + [anon_sym_COLON_COLON] = ACTIONS(3270), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3273), + [anon_sym___declspec] = ACTIONS(3276), + [anon_sym___based] = ACTIONS(3279), + [anon_sym_signed] = ACTIONS(3282), + [anon_sym_unsigned] = ACTIONS(3282), + [anon_sym_long] = ACTIONS(3282), + [anon_sym_short] = ACTIONS(3282), + [anon_sym_LBRACK] = ACTIONS(3285), + [anon_sym_static] = ACTIONS(3264), + [anon_sym_register] = ACTIONS(3264), + [anon_sym_inline] = ACTIONS(3264), + [anon_sym___inline] = ACTIONS(3264), + [anon_sym___inline__] = ACTIONS(3264), + [anon_sym___forceinline] = ACTIONS(3264), + [anon_sym_thread_local] = ACTIONS(3264), + [anon_sym___thread] = ACTIONS(3264), + [anon_sym_const] = ACTIONS(3288), + [anon_sym_constexpr] = ACTIONS(3288), + [anon_sym_volatile] = ACTIONS(3288), + [anon_sym_restrict] = ACTIONS(3288), + [anon_sym___restrict__] = ACTIONS(3288), + [anon_sym__Atomic] = ACTIONS(3288), + [anon_sym__Noreturn] = ACTIONS(3288), + [anon_sym_noreturn] = ACTIONS(3288), + [anon_sym_mutable] = ACTIONS(3288), + [anon_sym_constinit] = ACTIONS(3288), + [anon_sym_consteval] = ACTIONS(3288), + [anon_sym_alignas] = ACTIONS(3291), + [anon_sym__Alignas] = ACTIONS(3291), + [sym_primitive_type] = ACTIONS(3294), + [anon_sym_enum] = ACTIONS(3297), + [anon_sym_class] = ACTIONS(3300), + [anon_sym_struct] = ACTIONS(3303), + [anon_sym_union] = ACTIONS(3306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3309), + [sym_auto] = ACTIONS(3312), + [anon_sym_decltype] = ACTIONS(3315), + [sym_virtual] = ACTIONS(3318), + [anon_sym_explicit] = ACTIONS(3321), + [anon_sym_typename] = ACTIONS(3324), + [anon_sym_template] = ACTIONS(3477), + [anon_sym_operator] = ACTIONS(3330), + [anon_sym_friend] = ACTIONS(3480), + [anon_sym_public] = ACTIONS(3336), + [anon_sym_private] = ACTIONS(3336), + [anon_sym_protected] = ACTIONS(3336), + [anon_sym_using] = ACTIONS(3483), + [anon_sym_static_assert] = ACTIONS(3486), + }, + [718] = { + [ts_builtin_sym_end] = ACTIONS(3003), + [sym__identifier] = ACTIONS(3001), + [aux_sym_preproc_include_token1] = ACTIONS(3001), + [aux_sym_preproc_def_token1] = ACTIONS(3001), + [aux_sym_preproc_if_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3001), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3001), + [sym_preproc_directive] = ACTIONS(3001), + [anon_sym_LPAREN2] = ACTIONS(3003), + [anon_sym_BANG] = ACTIONS(3003), + [anon_sym_TILDE] = ACTIONS(3003), + [anon_sym_DASH] = ACTIONS(3001), + [anon_sym_PLUS] = ACTIONS(3001), + [anon_sym_STAR] = ACTIONS(3003), + [anon_sym_AMP_AMP] = ACTIONS(3003), + [anon_sym_AMP] = ACTIONS(3001), + [anon_sym___extension__] = ACTIONS(3001), + [anon_sym_typedef] = ACTIONS(3001), + [anon_sym_extern] = ACTIONS(3001), + [anon_sym___attribute__] = ACTIONS(3001), + [anon_sym_COLON_COLON] = ACTIONS(3003), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3003), + [anon_sym___declspec] = ACTIONS(3001), + [anon_sym___based] = ACTIONS(3001), + [anon_sym___cdecl] = ACTIONS(3001), + [anon_sym___clrcall] = ACTIONS(3001), + [anon_sym___stdcall] = ACTIONS(3001), + [anon_sym___fastcall] = ACTIONS(3001), + [anon_sym___thiscall] = ACTIONS(3001), + [anon_sym___vectorcall] = ACTIONS(3001), + [anon_sym_LBRACE] = ACTIONS(3003), + [anon_sym_signed] = ACTIONS(3001), + [anon_sym_unsigned] = ACTIONS(3001), + [anon_sym_long] = ACTIONS(3001), + [anon_sym_short] = ACTIONS(3001), + [anon_sym_LBRACK] = ACTIONS(3001), + [anon_sym_static] = ACTIONS(3001), + [anon_sym_register] = ACTIONS(3001), + [anon_sym_inline] = ACTIONS(3001), + [anon_sym___inline] = ACTIONS(3001), + [anon_sym___inline__] = ACTIONS(3001), + [anon_sym___forceinline] = ACTIONS(3001), + [anon_sym_thread_local] = ACTIONS(3001), + [anon_sym___thread] = ACTIONS(3001), + [anon_sym_const] = ACTIONS(3001), + [anon_sym_constexpr] = ACTIONS(3001), + [anon_sym_volatile] = ACTIONS(3001), + [anon_sym_restrict] = ACTIONS(3001), + [anon_sym___restrict__] = ACTIONS(3001), + [anon_sym__Atomic] = ACTIONS(3001), + [anon_sym__Noreturn] = ACTIONS(3001), + [anon_sym_noreturn] = ACTIONS(3001), + [anon_sym_mutable] = ACTIONS(3001), + [anon_sym_constinit] = ACTIONS(3001), + [anon_sym_consteval] = ACTIONS(3001), + [anon_sym_alignas] = ACTIONS(3001), + [anon_sym__Alignas] = ACTIONS(3001), + [sym_primitive_type] = ACTIONS(3001), + [anon_sym_enum] = ACTIONS(3001), + [anon_sym_class] = ACTIONS(3001), + [anon_sym_struct] = ACTIONS(3001), + [anon_sym_union] = ACTIONS(3001), + [anon_sym_if] = ACTIONS(3001), + [anon_sym_switch] = ACTIONS(3001), + [anon_sym_case] = ACTIONS(3001), + [anon_sym_default] = ACTIONS(3001), + [anon_sym_while] = ACTIONS(3001), + [anon_sym_do] = ACTIONS(3001), + [anon_sym_for] = ACTIONS(3001), + [anon_sym_return] = ACTIONS(3001), + [anon_sym_break] = ACTIONS(3001), + [anon_sym_continue] = ACTIONS(3001), + [anon_sym_goto] = ACTIONS(3001), + [anon_sym_not] = ACTIONS(3001), + [anon_sym_compl] = ACTIONS(3001), + [anon_sym_DASH_DASH] = ACTIONS(3003), + [anon_sym_PLUS_PLUS] = ACTIONS(3003), + [anon_sym_sizeof] = ACTIONS(3001), + [anon_sym___alignof__] = ACTIONS(3001), + [anon_sym___alignof] = ACTIONS(3001), + [anon_sym__alignof] = ACTIONS(3001), + [anon_sym_alignof] = ACTIONS(3001), + [anon_sym__Alignof] = ACTIONS(3001), + [anon_sym_offsetof] = ACTIONS(3001), + [anon_sym__Generic] = ACTIONS(3001), + [anon_sym_asm] = ACTIONS(3001), + [anon_sym___asm__] = ACTIONS(3001), + [sym__number_literal] = ACTIONS(3003), + [anon_sym_L_SQUOTE] = ACTIONS(3003), + [anon_sym_u_SQUOTE] = ACTIONS(3003), + [anon_sym_U_SQUOTE] = ACTIONS(3003), + [anon_sym_u8_SQUOTE] = ACTIONS(3003), + [anon_sym_SQUOTE] = ACTIONS(3003), + [anon_sym_L_DQUOTE] = ACTIONS(3003), + [anon_sym_u_DQUOTE] = ACTIONS(3003), + [anon_sym_U_DQUOTE] = ACTIONS(3003), + [anon_sym_u8_DQUOTE] = ACTIONS(3003), + [anon_sym_DQUOTE] = ACTIONS(3003), + [sym_true] = ACTIONS(3001), + [sym_false] = ACTIONS(3001), + [anon_sym_NULL] = ACTIONS(3001), + [anon_sym_nullptr] = ACTIONS(3001), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3003), + [sym_auto] = ACTIONS(3001), + [anon_sym_decltype] = ACTIONS(3001), + [sym_virtual] = ACTIONS(3001), + [anon_sym_explicit] = ACTIONS(3001), + [anon_sym_typename] = ACTIONS(3001), + [anon_sym_template] = ACTIONS(3001), + [anon_sym_operator] = ACTIONS(3001), + [anon_sym_try] = ACTIONS(3001), + [anon_sym_delete] = ACTIONS(3001), + [anon_sym_throw] = ACTIONS(3001), + [anon_sym_namespace] = ACTIONS(3001), + [anon_sym_using] = ACTIONS(3001), + [anon_sym_static_assert] = ACTIONS(3001), + [anon_sym_concept] = ACTIONS(3001), + [anon_sym_co_return] = ACTIONS(3001), + [anon_sym_co_yield] = ACTIONS(3001), + [anon_sym_R_DQUOTE] = ACTIONS(3003), + [anon_sym_LR_DQUOTE] = ACTIONS(3003), + [anon_sym_uR_DQUOTE] = ACTIONS(3003), + [anon_sym_UR_DQUOTE] = ACTIONS(3003), + [anon_sym_u8R_DQUOTE] = ACTIONS(3003), + [anon_sym_co_await] = ACTIONS(3001), + [anon_sym_new] = ACTIONS(3001), + [anon_sym_requires] = ACTIONS(3001), + [sym_this] = ACTIONS(3001), + }, + [719] = { + [ts_builtin_sym_end] = ACTIONS(2899), + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_include_token1] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_BANG] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_DASH] = ACTIONS(2897), + [anon_sym_PLUS] = ACTIONS(2897), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym___cdecl] = ACTIONS(2897), + [anon_sym___clrcall] = ACTIONS(2897), + [anon_sym___stdcall] = ACTIONS(2897), + [anon_sym___fastcall] = ACTIONS(2897), + [anon_sym___thiscall] = ACTIONS(2897), + [anon_sym___vectorcall] = ACTIONS(2897), + [anon_sym_LBRACE] = ACTIONS(2899), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [anon_sym_if] = ACTIONS(2897), + [anon_sym_switch] = ACTIONS(2897), + [anon_sym_case] = ACTIONS(2897), + [anon_sym_default] = ACTIONS(2897), + [anon_sym_while] = ACTIONS(2897), + [anon_sym_do] = ACTIONS(2897), + [anon_sym_for] = ACTIONS(2897), + [anon_sym_return] = ACTIONS(2897), + [anon_sym_break] = ACTIONS(2897), + [anon_sym_continue] = ACTIONS(2897), + [anon_sym_goto] = ACTIONS(2897), + [anon_sym_not] = ACTIONS(2897), + [anon_sym_compl] = ACTIONS(2897), + [anon_sym_DASH_DASH] = ACTIONS(2899), + [anon_sym_PLUS_PLUS] = ACTIONS(2899), + [anon_sym_sizeof] = ACTIONS(2897), + [anon_sym___alignof__] = ACTIONS(2897), + [anon_sym___alignof] = ACTIONS(2897), + [anon_sym__alignof] = ACTIONS(2897), + [anon_sym_alignof] = ACTIONS(2897), + [anon_sym__Alignof] = ACTIONS(2897), + [anon_sym_offsetof] = ACTIONS(2897), + [anon_sym__Generic] = ACTIONS(2897), + [anon_sym_asm] = ACTIONS(2897), + [anon_sym___asm__] = ACTIONS(2897), + [sym__number_literal] = ACTIONS(2899), + [anon_sym_L_SQUOTE] = ACTIONS(2899), + [anon_sym_u_SQUOTE] = ACTIONS(2899), + [anon_sym_U_SQUOTE] = ACTIONS(2899), + [anon_sym_u8_SQUOTE] = ACTIONS(2899), + [anon_sym_SQUOTE] = ACTIONS(2899), + [anon_sym_L_DQUOTE] = ACTIONS(2899), + [anon_sym_u_DQUOTE] = ACTIONS(2899), + [anon_sym_U_DQUOTE] = ACTIONS(2899), + [anon_sym_u8_DQUOTE] = ACTIONS(2899), + [anon_sym_DQUOTE] = ACTIONS(2899), + [sym_true] = ACTIONS(2897), + [sym_false] = ACTIONS(2897), + [anon_sym_NULL] = ACTIONS(2897), + [anon_sym_nullptr] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_try] = ACTIONS(2897), + [anon_sym_delete] = ACTIONS(2897), + [anon_sym_throw] = ACTIONS(2897), + [anon_sym_namespace] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + [anon_sym_concept] = ACTIONS(2897), + [anon_sym_co_return] = ACTIONS(2897), + [anon_sym_co_yield] = ACTIONS(2897), + [anon_sym_R_DQUOTE] = ACTIONS(2899), + [anon_sym_LR_DQUOTE] = ACTIONS(2899), + [anon_sym_uR_DQUOTE] = ACTIONS(2899), + [anon_sym_UR_DQUOTE] = ACTIONS(2899), + [anon_sym_u8R_DQUOTE] = ACTIONS(2899), + [anon_sym_co_await] = ACTIONS(2897), + [anon_sym_new] = ACTIONS(2897), + [anon_sym_requires] = ACTIONS(2897), + [sym_this] = ACTIONS(2897), + }, + [720] = { + [sym_preproc_def] = STATE(717), + [sym_preproc_function_def] = STATE(717), + [sym_preproc_call] = STATE(717), + [sym_preproc_if_in_field_declaration_list] = STATE(717), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(717), + [sym_type_definition] = STATE(717), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5563), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6154), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(717), + [sym_field_declaration] = STATE(717), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1707), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(717), + [sym_operator_cast] = STATE(6650), + [sym_inline_method_definition] = STATE(717), + [sym__constructor_specifiers] = STATE(1707), + [sym_operator_cast_definition] = STATE(717), + [sym_operator_cast_declaration] = STATE(717), + [sym_constructor_or_destructor_definition] = STATE(717), + [sym_constructor_or_destructor_declaration] = STATE(717), + [sym_friend_declaration] = STATE(717), + [sym_access_specifier] = STATE(8042), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(717), + [sym_alias_declaration] = STATE(717), + [sym_static_assert_declaration] = STATE(717), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6650), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(717), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1707), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3435), + [aux_sym_preproc_if_token1] = ACTIONS(3437), + [aux_sym_preproc_if_token2] = ACTIONS(3489), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3441), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3441), + [sym_preproc_directive] = ACTIONS(3443), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3445), + [anon_sym_typedef] = ACTIONS(3447), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3449), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3451), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3453), + [anon_sym_static_assert] = ACTIONS(3455), + }, + [721] = { + [ts_builtin_sym_end] = ACTIONS(3180), + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_include_token1] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_BANG] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_DASH] = ACTIONS(3178), + [anon_sym_PLUS] = ACTIONS(3178), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym___cdecl] = ACTIONS(3178), + [anon_sym___clrcall] = ACTIONS(3178), + [anon_sym___stdcall] = ACTIONS(3178), + [anon_sym___fastcall] = ACTIONS(3178), + [anon_sym___thiscall] = ACTIONS(3178), + [anon_sym___vectorcall] = ACTIONS(3178), + [anon_sym_LBRACE] = ACTIONS(3180), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [anon_sym_if] = ACTIONS(3178), + [anon_sym_switch] = ACTIONS(3178), + [anon_sym_case] = ACTIONS(3178), + [anon_sym_default] = ACTIONS(3178), + [anon_sym_while] = ACTIONS(3178), + [anon_sym_do] = ACTIONS(3178), + [anon_sym_for] = ACTIONS(3178), + [anon_sym_return] = ACTIONS(3178), + [anon_sym_break] = ACTIONS(3178), + [anon_sym_continue] = ACTIONS(3178), + [anon_sym_goto] = ACTIONS(3178), + [anon_sym_not] = ACTIONS(3178), + [anon_sym_compl] = ACTIONS(3178), + [anon_sym_DASH_DASH] = ACTIONS(3180), + [anon_sym_PLUS_PLUS] = ACTIONS(3180), + [anon_sym_sizeof] = ACTIONS(3178), + [anon_sym___alignof__] = ACTIONS(3178), + [anon_sym___alignof] = ACTIONS(3178), + [anon_sym__alignof] = ACTIONS(3178), + [anon_sym_alignof] = ACTIONS(3178), + [anon_sym__Alignof] = ACTIONS(3178), + [anon_sym_offsetof] = ACTIONS(3178), + [anon_sym__Generic] = ACTIONS(3178), + [anon_sym_asm] = ACTIONS(3178), + [anon_sym___asm__] = ACTIONS(3178), + [sym__number_literal] = ACTIONS(3180), + [anon_sym_L_SQUOTE] = ACTIONS(3180), + [anon_sym_u_SQUOTE] = ACTIONS(3180), + [anon_sym_U_SQUOTE] = ACTIONS(3180), + [anon_sym_u8_SQUOTE] = ACTIONS(3180), + [anon_sym_SQUOTE] = ACTIONS(3180), + [anon_sym_L_DQUOTE] = ACTIONS(3180), + [anon_sym_u_DQUOTE] = ACTIONS(3180), + [anon_sym_U_DQUOTE] = ACTIONS(3180), + [anon_sym_u8_DQUOTE] = ACTIONS(3180), + [anon_sym_DQUOTE] = ACTIONS(3180), + [sym_true] = ACTIONS(3178), + [sym_false] = ACTIONS(3178), + [anon_sym_NULL] = ACTIONS(3178), + [anon_sym_nullptr] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_try] = ACTIONS(3178), + [anon_sym_delete] = ACTIONS(3178), + [anon_sym_throw] = ACTIONS(3178), + [anon_sym_namespace] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + [anon_sym_concept] = ACTIONS(3178), + [anon_sym_co_return] = ACTIONS(3178), + [anon_sym_co_yield] = ACTIONS(3178), + [anon_sym_R_DQUOTE] = ACTIONS(3180), + [anon_sym_LR_DQUOTE] = ACTIONS(3180), + [anon_sym_uR_DQUOTE] = ACTIONS(3180), + [anon_sym_UR_DQUOTE] = ACTIONS(3180), + [anon_sym_u8R_DQUOTE] = ACTIONS(3180), + [anon_sym_co_await] = ACTIONS(3178), + [anon_sym_new] = ACTIONS(3178), + [anon_sym_requires] = ACTIONS(3178), + [sym_this] = ACTIONS(3178), + }, + [722] = { + [sym_preproc_def] = STATE(736), + [sym_preproc_function_def] = STATE(736), + [sym_preproc_call] = STATE(736), + [sym_preproc_if_in_field_declaration_list] = STATE(736), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(736), + [sym_type_definition] = STATE(736), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(736), + [sym_field_declaration] = STATE(736), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(736), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(736), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(736), + [sym_operator_cast_declaration] = STATE(736), + [sym_constructor_or_destructor_definition] = STATE(736), + [sym_constructor_or_destructor_declaration] = STATE(736), + [sym_friend_declaration] = STATE(736), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(736), + [sym_alias_declaration] = STATE(736), + [sym_static_assert_declaration] = STATE(736), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(736), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3491), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [723] = { + [ts_builtin_sym_end] = ACTIONS(2911), + [sym__identifier] = ACTIONS(2909), + [aux_sym_preproc_include_token1] = ACTIONS(2909), + [aux_sym_preproc_def_token1] = ACTIONS(2909), + [aux_sym_preproc_if_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2909), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2909), + [sym_preproc_directive] = ACTIONS(2909), + [anon_sym_LPAREN2] = ACTIONS(2911), + [anon_sym_BANG] = ACTIONS(2911), + [anon_sym_TILDE] = ACTIONS(2911), + [anon_sym_DASH] = ACTIONS(2909), + [anon_sym_PLUS] = ACTIONS(2909), + [anon_sym_STAR] = ACTIONS(2911), + [anon_sym_AMP_AMP] = ACTIONS(2911), + [anon_sym_AMP] = ACTIONS(2909), + [anon_sym___extension__] = ACTIONS(2909), + [anon_sym_typedef] = ACTIONS(2909), + [anon_sym_extern] = ACTIONS(2909), + [anon_sym___attribute__] = ACTIONS(2909), + [anon_sym_COLON_COLON] = ACTIONS(2911), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2911), + [anon_sym___declspec] = ACTIONS(2909), + [anon_sym___based] = ACTIONS(2909), + [anon_sym___cdecl] = ACTIONS(2909), + [anon_sym___clrcall] = ACTIONS(2909), + [anon_sym___stdcall] = ACTIONS(2909), + [anon_sym___fastcall] = ACTIONS(2909), + [anon_sym___thiscall] = ACTIONS(2909), + [anon_sym___vectorcall] = ACTIONS(2909), + [anon_sym_LBRACE] = ACTIONS(2911), + [anon_sym_signed] = ACTIONS(2909), + [anon_sym_unsigned] = ACTIONS(2909), + [anon_sym_long] = ACTIONS(2909), + [anon_sym_short] = ACTIONS(2909), + [anon_sym_LBRACK] = ACTIONS(2909), + [anon_sym_static] = ACTIONS(2909), + [anon_sym_register] = ACTIONS(2909), + [anon_sym_inline] = ACTIONS(2909), + [anon_sym___inline] = ACTIONS(2909), + [anon_sym___inline__] = ACTIONS(2909), + [anon_sym___forceinline] = ACTIONS(2909), + [anon_sym_thread_local] = ACTIONS(2909), + [anon_sym___thread] = ACTIONS(2909), + [anon_sym_const] = ACTIONS(2909), + [anon_sym_constexpr] = ACTIONS(2909), + [anon_sym_volatile] = ACTIONS(2909), + [anon_sym_restrict] = ACTIONS(2909), + [anon_sym___restrict__] = ACTIONS(2909), + [anon_sym__Atomic] = ACTIONS(2909), + [anon_sym__Noreturn] = ACTIONS(2909), + [anon_sym_noreturn] = ACTIONS(2909), + [anon_sym_mutable] = ACTIONS(2909), + [anon_sym_constinit] = ACTIONS(2909), + [anon_sym_consteval] = ACTIONS(2909), + [anon_sym_alignas] = ACTIONS(2909), + [anon_sym__Alignas] = ACTIONS(2909), + [sym_primitive_type] = ACTIONS(2909), + [anon_sym_enum] = ACTIONS(2909), + [anon_sym_class] = ACTIONS(2909), + [anon_sym_struct] = ACTIONS(2909), + [anon_sym_union] = ACTIONS(2909), + [anon_sym_if] = ACTIONS(2909), + [anon_sym_switch] = ACTIONS(2909), + [anon_sym_case] = ACTIONS(2909), + [anon_sym_default] = ACTIONS(2909), + [anon_sym_while] = ACTIONS(2909), + [anon_sym_do] = ACTIONS(2909), + [anon_sym_for] = ACTIONS(2909), + [anon_sym_return] = ACTIONS(2909), + [anon_sym_break] = ACTIONS(2909), + [anon_sym_continue] = ACTIONS(2909), + [anon_sym_goto] = ACTIONS(2909), + [anon_sym_not] = ACTIONS(2909), + [anon_sym_compl] = ACTIONS(2909), + [anon_sym_DASH_DASH] = ACTIONS(2911), + [anon_sym_PLUS_PLUS] = ACTIONS(2911), + [anon_sym_sizeof] = ACTIONS(2909), + [anon_sym___alignof__] = ACTIONS(2909), + [anon_sym___alignof] = ACTIONS(2909), + [anon_sym__alignof] = ACTIONS(2909), + [anon_sym_alignof] = ACTIONS(2909), + [anon_sym__Alignof] = ACTIONS(2909), + [anon_sym_offsetof] = ACTIONS(2909), + [anon_sym__Generic] = ACTIONS(2909), + [anon_sym_asm] = ACTIONS(2909), + [anon_sym___asm__] = ACTIONS(2909), + [sym__number_literal] = ACTIONS(2911), + [anon_sym_L_SQUOTE] = ACTIONS(2911), + [anon_sym_u_SQUOTE] = ACTIONS(2911), + [anon_sym_U_SQUOTE] = ACTIONS(2911), + [anon_sym_u8_SQUOTE] = ACTIONS(2911), + [anon_sym_SQUOTE] = ACTIONS(2911), + [anon_sym_L_DQUOTE] = ACTIONS(2911), + [anon_sym_u_DQUOTE] = ACTIONS(2911), + [anon_sym_U_DQUOTE] = ACTIONS(2911), + [anon_sym_u8_DQUOTE] = ACTIONS(2911), + [anon_sym_DQUOTE] = ACTIONS(2911), + [sym_true] = ACTIONS(2909), + [sym_false] = ACTIONS(2909), + [anon_sym_NULL] = ACTIONS(2909), + [anon_sym_nullptr] = ACTIONS(2909), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2911), + [sym_auto] = ACTIONS(2909), + [anon_sym_decltype] = ACTIONS(2909), + [sym_virtual] = ACTIONS(2909), + [anon_sym_explicit] = ACTIONS(2909), + [anon_sym_typename] = ACTIONS(2909), + [anon_sym_template] = ACTIONS(2909), + [anon_sym_operator] = ACTIONS(2909), + [anon_sym_try] = ACTIONS(2909), + [anon_sym_delete] = ACTIONS(2909), + [anon_sym_throw] = ACTIONS(2909), + [anon_sym_namespace] = ACTIONS(2909), + [anon_sym_using] = ACTIONS(2909), + [anon_sym_static_assert] = ACTIONS(2909), + [anon_sym_concept] = ACTIONS(2909), + [anon_sym_co_return] = ACTIONS(2909), + [anon_sym_co_yield] = ACTIONS(2909), + [anon_sym_R_DQUOTE] = ACTIONS(2911), + [anon_sym_LR_DQUOTE] = ACTIONS(2911), + [anon_sym_uR_DQUOTE] = ACTIONS(2911), + [anon_sym_UR_DQUOTE] = ACTIONS(2911), + [anon_sym_u8R_DQUOTE] = ACTIONS(2911), + [anon_sym_co_await] = ACTIONS(2909), + [anon_sym_new] = ACTIONS(2909), + [anon_sym_requires] = ACTIONS(2909), + [sym_this] = ACTIONS(2909), + }, + [724] = { + [ts_builtin_sym_end] = ACTIONS(3102), + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [725] = { + [ts_builtin_sym_end] = ACTIONS(3098), + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_include_token1] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_BANG] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_DASH] = ACTIONS(3096), + [anon_sym_PLUS] = ACTIONS(3096), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym___cdecl] = ACTIONS(3096), + [anon_sym___clrcall] = ACTIONS(3096), + [anon_sym___stdcall] = ACTIONS(3096), + [anon_sym___fastcall] = ACTIONS(3096), + [anon_sym___thiscall] = ACTIONS(3096), + [anon_sym___vectorcall] = ACTIONS(3096), + [anon_sym_LBRACE] = ACTIONS(3098), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [anon_sym_if] = ACTIONS(3096), + [anon_sym_switch] = ACTIONS(3096), + [anon_sym_case] = ACTIONS(3096), + [anon_sym_default] = ACTIONS(3096), + [anon_sym_while] = ACTIONS(3096), + [anon_sym_do] = ACTIONS(3096), + [anon_sym_for] = ACTIONS(3096), + [anon_sym_return] = ACTIONS(3096), + [anon_sym_break] = ACTIONS(3096), + [anon_sym_continue] = ACTIONS(3096), + [anon_sym_goto] = ACTIONS(3096), + [anon_sym_not] = ACTIONS(3096), + [anon_sym_compl] = ACTIONS(3096), + [anon_sym_DASH_DASH] = ACTIONS(3098), + [anon_sym_PLUS_PLUS] = ACTIONS(3098), + [anon_sym_sizeof] = ACTIONS(3096), + [anon_sym___alignof__] = ACTIONS(3096), + [anon_sym___alignof] = ACTIONS(3096), + [anon_sym__alignof] = ACTIONS(3096), + [anon_sym_alignof] = ACTIONS(3096), + [anon_sym__Alignof] = ACTIONS(3096), + [anon_sym_offsetof] = ACTIONS(3096), + [anon_sym__Generic] = ACTIONS(3096), + [anon_sym_asm] = ACTIONS(3096), + [anon_sym___asm__] = ACTIONS(3096), + [sym__number_literal] = ACTIONS(3098), + [anon_sym_L_SQUOTE] = ACTIONS(3098), + [anon_sym_u_SQUOTE] = ACTIONS(3098), + [anon_sym_U_SQUOTE] = ACTIONS(3098), + [anon_sym_u8_SQUOTE] = ACTIONS(3098), + [anon_sym_SQUOTE] = ACTIONS(3098), + [anon_sym_L_DQUOTE] = ACTIONS(3098), + [anon_sym_u_DQUOTE] = ACTIONS(3098), + [anon_sym_U_DQUOTE] = ACTIONS(3098), + [anon_sym_u8_DQUOTE] = ACTIONS(3098), + [anon_sym_DQUOTE] = ACTIONS(3098), + [sym_true] = ACTIONS(3096), + [sym_false] = ACTIONS(3096), + [anon_sym_NULL] = ACTIONS(3096), + [anon_sym_nullptr] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_try] = ACTIONS(3096), + [anon_sym_delete] = ACTIONS(3096), + [anon_sym_throw] = ACTIONS(3096), + [anon_sym_namespace] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + [anon_sym_concept] = ACTIONS(3096), + [anon_sym_co_return] = ACTIONS(3096), + [anon_sym_co_yield] = ACTIONS(3096), + [anon_sym_R_DQUOTE] = ACTIONS(3098), + [anon_sym_LR_DQUOTE] = ACTIONS(3098), + [anon_sym_uR_DQUOTE] = ACTIONS(3098), + [anon_sym_UR_DQUOTE] = ACTIONS(3098), + [anon_sym_u8R_DQUOTE] = ACTIONS(3098), + [anon_sym_co_await] = ACTIONS(3096), + [anon_sym_new] = ACTIONS(3096), + [anon_sym_requires] = ACTIONS(3096), + [sym_this] = ACTIONS(3096), + }, + [726] = { + [ts_builtin_sym_end] = ACTIONS(3084), + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_include_token1] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_BANG] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_DASH] = ACTIONS(3082), + [anon_sym_PLUS] = ACTIONS(3082), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym___cdecl] = ACTIONS(3082), + [anon_sym___clrcall] = ACTIONS(3082), + [anon_sym___stdcall] = ACTIONS(3082), + [anon_sym___fastcall] = ACTIONS(3082), + [anon_sym___thiscall] = ACTIONS(3082), + [anon_sym___vectorcall] = ACTIONS(3082), + [anon_sym_LBRACE] = ACTIONS(3084), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [anon_sym_if] = ACTIONS(3082), + [anon_sym_switch] = ACTIONS(3082), + [anon_sym_case] = ACTIONS(3082), + [anon_sym_default] = ACTIONS(3082), + [anon_sym_while] = ACTIONS(3082), + [anon_sym_do] = ACTIONS(3082), + [anon_sym_for] = ACTIONS(3082), + [anon_sym_return] = ACTIONS(3082), + [anon_sym_break] = ACTIONS(3082), + [anon_sym_continue] = ACTIONS(3082), + [anon_sym_goto] = ACTIONS(3082), + [anon_sym_not] = ACTIONS(3082), + [anon_sym_compl] = ACTIONS(3082), + [anon_sym_DASH_DASH] = ACTIONS(3084), + [anon_sym_PLUS_PLUS] = ACTIONS(3084), + [anon_sym_sizeof] = ACTIONS(3082), + [anon_sym___alignof__] = ACTIONS(3082), + [anon_sym___alignof] = ACTIONS(3082), + [anon_sym__alignof] = ACTIONS(3082), + [anon_sym_alignof] = ACTIONS(3082), + [anon_sym__Alignof] = ACTIONS(3082), + [anon_sym_offsetof] = ACTIONS(3082), + [anon_sym__Generic] = ACTIONS(3082), + [anon_sym_asm] = ACTIONS(3082), + [anon_sym___asm__] = ACTIONS(3082), + [sym__number_literal] = ACTIONS(3084), + [anon_sym_L_SQUOTE] = ACTIONS(3084), + [anon_sym_u_SQUOTE] = ACTIONS(3084), + [anon_sym_U_SQUOTE] = ACTIONS(3084), + [anon_sym_u8_SQUOTE] = ACTIONS(3084), + [anon_sym_SQUOTE] = ACTIONS(3084), + [anon_sym_L_DQUOTE] = ACTIONS(3084), + [anon_sym_u_DQUOTE] = ACTIONS(3084), + [anon_sym_U_DQUOTE] = ACTIONS(3084), + [anon_sym_u8_DQUOTE] = ACTIONS(3084), + [anon_sym_DQUOTE] = ACTIONS(3084), + [sym_true] = ACTIONS(3082), + [sym_false] = ACTIONS(3082), + [anon_sym_NULL] = ACTIONS(3082), + [anon_sym_nullptr] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_try] = ACTIONS(3082), + [anon_sym_delete] = ACTIONS(3082), + [anon_sym_throw] = ACTIONS(3082), + [anon_sym_namespace] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + [anon_sym_concept] = ACTIONS(3082), + [anon_sym_co_return] = ACTIONS(3082), + [anon_sym_co_yield] = ACTIONS(3082), + [anon_sym_R_DQUOTE] = ACTIONS(3084), + [anon_sym_LR_DQUOTE] = ACTIONS(3084), + [anon_sym_uR_DQUOTE] = ACTIONS(3084), + [anon_sym_UR_DQUOTE] = ACTIONS(3084), + [anon_sym_u8R_DQUOTE] = ACTIONS(3084), + [anon_sym_co_await] = ACTIONS(3082), + [anon_sym_new] = ACTIONS(3082), + [anon_sym_requires] = ACTIONS(3082), + [sym_this] = ACTIONS(3082), + }, + [727] = { + [ts_builtin_sym_end] = ACTIONS(2999), + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_include_token1] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_BANG] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_DASH] = ACTIONS(2997), + [anon_sym_PLUS] = ACTIONS(2997), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym___cdecl] = ACTIONS(2997), + [anon_sym___clrcall] = ACTIONS(2997), + [anon_sym___stdcall] = ACTIONS(2997), + [anon_sym___fastcall] = ACTIONS(2997), + [anon_sym___thiscall] = ACTIONS(2997), + [anon_sym___vectorcall] = ACTIONS(2997), + [anon_sym_LBRACE] = ACTIONS(2999), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [anon_sym_if] = ACTIONS(2997), + [anon_sym_switch] = ACTIONS(2997), + [anon_sym_case] = ACTIONS(2997), + [anon_sym_default] = ACTIONS(2997), + [anon_sym_while] = ACTIONS(2997), + [anon_sym_do] = ACTIONS(2997), + [anon_sym_for] = ACTIONS(2997), + [anon_sym_return] = ACTIONS(2997), + [anon_sym_break] = ACTIONS(2997), + [anon_sym_continue] = ACTIONS(2997), + [anon_sym_goto] = ACTIONS(2997), + [anon_sym_not] = ACTIONS(2997), + [anon_sym_compl] = ACTIONS(2997), + [anon_sym_DASH_DASH] = ACTIONS(2999), + [anon_sym_PLUS_PLUS] = ACTIONS(2999), + [anon_sym_sizeof] = ACTIONS(2997), + [anon_sym___alignof__] = ACTIONS(2997), + [anon_sym___alignof] = ACTIONS(2997), + [anon_sym__alignof] = ACTIONS(2997), + [anon_sym_alignof] = ACTIONS(2997), + [anon_sym__Alignof] = ACTIONS(2997), + [anon_sym_offsetof] = ACTIONS(2997), + [anon_sym__Generic] = ACTIONS(2997), + [anon_sym_asm] = ACTIONS(2997), + [anon_sym___asm__] = ACTIONS(2997), + [sym__number_literal] = ACTIONS(2999), + [anon_sym_L_SQUOTE] = ACTIONS(2999), + [anon_sym_u_SQUOTE] = ACTIONS(2999), + [anon_sym_U_SQUOTE] = ACTIONS(2999), + [anon_sym_u8_SQUOTE] = ACTIONS(2999), + [anon_sym_SQUOTE] = ACTIONS(2999), + [anon_sym_L_DQUOTE] = ACTIONS(2999), + [anon_sym_u_DQUOTE] = ACTIONS(2999), + [anon_sym_U_DQUOTE] = ACTIONS(2999), + [anon_sym_u8_DQUOTE] = ACTIONS(2999), + [anon_sym_DQUOTE] = ACTIONS(2999), + [sym_true] = ACTIONS(2997), + [sym_false] = ACTIONS(2997), + [anon_sym_NULL] = ACTIONS(2997), + [anon_sym_nullptr] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_try] = ACTIONS(2997), + [anon_sym_delete] = ACTIONS(2997), + [anon_sym_throw] = ACTIONS(2997), + [anon_sym_namespace] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + [anon_sym_concept] = ACTIONS(2997), + [anon_sym_co_return] = ACTIONS(2997), + [anon_sym_co_yield] = ACTIONS(2997), + [anon_sym_R_DQUOTE] = ACTIONS(2999), + [anon_sym_LR_DQUOTE] = ACTIONS(2999), + [anon_sym_uR_DQUOTE] = ACTIONS(2999), + [anon_sym_UR_DQUOTE] = ACTIONS(2999), + [anon_sym_u8R_DQUOTE] = ACTIONS(2999), + [anon_sym_co_await] = ACTIONS(2997), + [anon_sym_new] = ACTIONS(2997), + [anon_sym_requires] = ACTIONS(2997), + [sym_this] = ACTIONS(2997), + }, + [728] = { + [ts_builtin_sym_end] = ACTIONS(3172), + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_include_token1] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_BANG] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_DASH] = ACTIONS(3170), + [anon_sym_PLUS] = ACTIONS(3170), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym___cdecl] = ACTIONS(3170), + [anon_sym___clrcall] = ACTIONS(3170), + [anon_sym___stdcall] = ACTIONS(3170), + [anon_sym___fastcall] = ACTIONS(3170), + [anon_sym___thiscall] = ACTIONS(3170), + [anon_sym___vectorcall] = ACTIONS(3170), + [anon_sym_LBRACE] = ACTIONS(3172), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [anon_sym_if] = ACTIONS(3170), + [anon_sym_switch] = ACTIONS(3170), + [anon_sym_case] = ACTIONS(3170), + [anon_sym_default] = ACTIONS(3170), + [anon_sym_while] = ACTIONS(3170), + [anon_sym_do] = ACTIONS(3170), + [anon_sym_for] = ACTIONS(3170), + [anon_sym_return] = ACTIONS(3170), + [anon_sym_break] = ACTIONS(3170), + [anon_sym_continue] = ACTIONS(3170), + [anon_sym_goto] = ACTIONS(3170), + [anon_sym_not] = ACTIONS(3170), + [anon_sym_compl] = ACTIONS(3170), + [anon_sym_DASH_DASH] = ACTIONS(3172), + [anon_sym_PLUS_PLUS] = ACTIONS(3172), + [anon_sym_sizeof] = ACTIONS(3170), + [anon_sym___alignof__] = ACTIONS(3170), + [anon_sym___alignof] = ACTIONS(3170), + [anon_sym__alignof] = ACTIONS(3170), + [anon_sym_alignof] = ACTIONS(3170), + [anon_sym__Alignof] = ACTIONS(3170), + [anon_sym_offsetof] = ACTIONS(3170), + [anon_sym__Generic] = ACTIONS(3170), + [anon_sym_asm] = ACTIONS(3170), + [anon_sym___asm__] = ACTIONS(3170), + [sym__number_literal] = ACTIONS(3172), + [anon_sym_L_SQUOTE] = ACTIONS(3172), + [anon_sym_u_SQUOTE] = ACTIONS(3172), + [anon_sym_U_SQUOTE] = ACTIONS(3172), + [anon_sym_u8_SQUOTE] = ACTIONS(3172), + [anon_sym_SQUOTE] = ACTIONS(3172), + [anon_sym_L_DQUOTE] = ACTIONS(3172), + [anon_sym_u_DQUOTE] = ACTIONS(3172), + [anon_sym_U_DQUOTE] = ACTIONS(3172), + [anon_sym_u8_DQUOTE] = ACTIONS(3172), + [anon_sym_DQUOTE] = ACTIONS(3172), + [sym_true] = ACTIONS(3170), + [sym_false] = ACTIONS(3170), + [anon_sym_NULL] = ACTIONS(3170), + [anon_sym_nullptr] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_try] = ACTIONS(3170), + [anon_sym_delete] = ACTIONS(3170), + [anon_sym_throw] = ACTIONS(3170), + [anon_sym_namespace] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + [anon_sym_concept] = ACTIONS(3170), + [anon_sym_co_return] = ACTIONS(3170), + [anon_sym_co_yield] = ACTIONS(3170), + [anon_sym_R_DQUOTE] = ACTIONS(3172), + [anon_sym_LR_DQUOTE] = ACTIONS(3172), + [anon_sym_uR_DQUOTE] = ACTIONS(3172), + [anon_sym_UR_DQUOTE] = ACTIONS(3172), + [anon_sym_u8R_DQUOTE] = ACTIONS(3172), + [anon_sym_co_await] = ACTIONS(3170), + [anon_sym_new] = ACTIONS(3170), + [anon_sym_requires] = ACTIONS(3170), + [sym_this] = ACTIONS(3170), + }, + [729] = { + [ts_builtin_sym_end] = ACTIONS(3056), + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_include_token1] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_BANG] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_DASH] = ACTIONS(3054), + [anon_sym_PLUS] = ACTIONS(3054), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym___cdecl] = ACTIONS(3054), + [anon_sym___clrcall] = ACTIONS(3054), + [anon_sym___stdcall] = ACTIONS(3054), + [anon_sym___fastcall] = ACTIONS(3054), + [anon_sym___thiscall] = ACTIONS(3054), + [anon_sym___vectorcall] = ACTIONS(3054), + [anon_sym_LBRACE] = ACTIONS(3056), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [anon_sym_if] = ACTIONS(3054), + [anon_sym_switch] = ACTIONS(3054), + [anon_sym_case] = ACTIONS(3054), + [anon_sym_default] = ACTIONS(3054), + [anon_sym_while] = ACTIONS(3054), + [anon_sym_do] = ACTIONS(3054), + [anon_sym_for] = ACTIONS(3054), + [anon_sym_return] = ACTIONS(3054), + [anon_sym_break] = ACTIONS(3054), + [anon_sym_continue] = ACTIONS(3054), + [anon_sym_goto] = ACTIONS(3054), + [anon_sym_not] = ACTIONS(3054), + [anon_sym_compl] = ACTIONS(3054), + [anon_sym_DASH_DASH] = ACTIONS(3056), + [anon_sym_PLUS_PLUS] = ACTIONS(3056), + [anon_sym_sizeof] = ACTIONS(3054), + [anon_sym___alignof__] = ACTIONS(3054), + [anon_sym___alignof] = ACTIONS(3054), + [anon_sym__alignof] = ACTIONS(3054), + [anon_sym_alignof] = ACTIONS(3054), + [anon_sym__Alignof] = ACTIONS(3054), + [anon_sym_offsetof] = ACTIONS(3054), + [anon_sym__Generic] = ACTIONS(3054), + [anon_sym_asm] = ACTIONS(3054), + [anon_sym___asm__] = ACTIONS(3054), + [sym__number_literal] = ACTIONS(3056), + [anon_sym_L_SQUOTE] = ACTIONS(3056), + [anon_sym_u_SQUOTE] = ACTIONS(3056), + [anon_sym_U_SQUOTE] = ACTIONS(3056), + [anon_sym_u8_SQUOTE] = ACTIONS(3056), + [anon_sym_SQUOTE] = ACTIONS(3056), + [anon_sym_L_DQUOTE] = ACTIONS(3056), + [anon_sym_u_DQUOTE] = ACTIONS(3056), + [anon_sym_U_DQUOTE] = ACTIONS(3056), + [anon_sym_u8_DQUOTE] = ACTIONS(3056), + [anon_sym_DQUOTE] = ACTIONS(3056), + [sym_true] = ACTIONS(3054), + [sym_false] = ACTIONS(3054), + [anon_sym_NULL] = ACTIONS(3054), + [anon_sym_nullptr] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_try] = ACTIONS(3054), + [anon_sym_delete] = ACTIONS(3054), + [anon_sym_throw] = ACTIONS(3054), + [anon_sym_namespace] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + [anon_sym_concept] = ACTIONS(3054), + [anon_sym_co_return] = ACTIONS(3054), + [anon_sym_co_yield] = ACTIONS(3054), + [anon_sym_R_DQUOTE] = ACTIONS(3056), + [anon_sym_LR_DQUOTE] = ACTIONS(3056), + [anon_sym_uR_DQUOTE] = ACTIONS(3056), + [anon_sym_UR_DQUOTE] = ACTIONS(3056), + [anon_sym_u8R_DQUOTE] = ACTIONS(3056), + [anon_sym_co_await] = ACTIONS(3054), + [anon_sym_new] = ACTIONS(3054), + [anon_sym_requires] = ACTIONS(3054), + [sym_this] = ACTIONS(3054), + }, + [730] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3493), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [731] = { + [ts_builtin_sym_end] = ACTIONS(3156), + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_include_token1] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_BANG] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_DASH] = ACTIONS(3154), + [anon_sym_PLUS] = ACTIONS(3154), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym___cdecl] = ACTIONS(3154), + [anon_sym___clrcall] = ACTIONS(3154), + [anon_sym___stdcall] = ACTIONS(3154), + [anon_sym___fastcall] = ACTIONS(3154), + [anon_sym___thiscall] = ACTIONS(3154), + [anon_sym___vectorcall] = ACTIONS(3154), + [anon_sym_LBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [anon_sym_if] = ACTIONS(3154), + [anon_sym_switch] = ACTIONS(3154), + [anon_sym_case] = ACTIONS(3154), + [anon_sym_default] = ACTIONS(3154), + [anon_sym_while] = ACTIONS(3154), + [anon_sym_do] = ACTIONS(3154), + [anon_sym_for] = ACTIONS(3154), + [anon_sym_return] = ACTIONS(3154), + [anon_sym_break] = ACTIONS(3154), + [anon_sym_continue] = ACTIONS(3154), + [anon_sym_goto] = ACTIONS(3154), + [anon_sym_not] = ACTIONS(3154), + [anon_sym_compl] = ACTIONS(3154), + [anon_sym_DASH_DASH] = ACTIONS(3156), + [anon_sym_PLUS_PLUS] = ACTIONS(3156), + [anon_sym_sizeof] = ACTIONS(3154), + [anon_sym___alignof__] = ACTIONS(3154), + [anon_sym___alignof] = ACTIONS(3154), + [anon_sym__alignof] = ACTIONS(3154), + [anon_sym_alignof] = ACTIONS(3154), + [anon_sym__Alignof] = ACTIONS(3154), + [anon_sym_offsetof] = ACTIONS(3154), + [anon_sym__Generic] = ACTIONS(3154), + [anon_sym_asm] = ACTIONS(3154), + [anon_sym___asm__] = ACTIONS(3154), + [sym__number_literal] = ACTIONS(3156), + [anon_sym_L_SQUOTE] = ACTIONS(3156), + [anon_sym_u_SQUOTE] = ACTIONS(3156), + [anon_sym_U_SQUOTE] = ACTIONS(3156), + [anon_sym_u8_SQUOTE] = ACTIONS(3156), + [anon_sym_SQUOTE] = ACTIONS(3156), + [anon_sym_L_DQUOTE] = ACTIONS(3156), + [anon_sym_u_DQUOTE] = ACTIONS(3156), + [anon_sym_U_DQUOTE] = ACTIONS(3156), + [anon_sym_u8_DQUOTE] = ACTIONS(3156), + [anon_sym_DQUOTE] = ACTIONS(3156), + [sym_true] = ACTIONS(3154), + [sym_false] = ACTIONS(3154), + [anon_sym_NULL] = ACTIONS(3154), + [anon_sym_nullptr] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_try] = ACTIONS(3154), + [anon_sym_delete] = ACTIONS(3154), + [anon_sym_throw] = ACTIONS(3154), + [anon_sym_namespace] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + [anon_sym_concept] = ACTIONS(3154), + [anon_sym_co_return] = ACTIONS(3154), + [anon_sym_co_yield] = ACTIONS(3154), + [anon_sym_R_DQUOTE] = ACTIONS(3156), + [anon_sym_LR_DQUOTE] = ACTIONS(3156), + [anon_sym_uR_DQUOTE] = ACTIONS(3156), + [anon_sym_UR_DQUOTE] = ACTIONS(3156), + [anon_sym_u8R_DQUOTE] = ACTIONS(3156), + [anon_sym_co_await] = ACTIONS(3154), + [anon_sym_new] = ACTIONS(3154), + [anon_sym_requires] = ACTIONS(3154), + [sym_this] = ACTIONS(3154), + }, + [732] = { + [ts_builtin_sym_end] = ACTIONS(3136), + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_include_token1] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_BANG] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_DASH] = ACTIONS(3134), + [anon_sym_PLUS] = ACTIONS(3134), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym___cdecl] = ACTIONS(3134), + [anon_sym___clrcall] = ACTIONS(3134), + [anon_sym___stdcall] = ACTIONS(3134), + [anon_sym___fastcall] = ACTIONS(3134), + [anon_sym___thiscall] = ACTIONS(3134), + [anon_sym___vectorcall] = ACTIONS(3134), + [anon_sym_LBRACE] = ACTIONS(3136), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [anon_sym_if] = ACTIONS(3134), + [anon_sym_switch] = ACTIONS(3134), + [anon_sym_case] = ACTIONS(3134), + [anon_sym_default] = ACTIONS(3134), + [anon_sym_while] = ACTIONS(3134), + [anon_sym_do] = ACTIONS(3134), + [anon_sym_for] = ACTIONS(3134), + [anon_sym_return] = ACTIONS(3134), + [anon_sym_break] = ACTIONS(3134), + [anon_sym_continue] = ACTIONS(3134), + [anon_sym_goto] = ACTIONS(3134), + [anon_sym_not] = ACTIONS(3134), + [anon_sym_compl] = ACTIONS(3134), + [anon_sym_DASH_DASH] = ACTIONS(3136), + [anon_sym_PLUS_PLUS] = ACTIONS(3136), + [anon_sym_sizeof] = ACTIONS(3134), + [anon_sym___alignof__] = ACTIONS(3134), + [anon_sym___alignof] = ACTIONS(3134), + [anon_sym__alignof] = ACTIONS(3134), + [anon_sym_alignof] = ACTIONS(3134), + [anon_sym__Alignof] = ACTIONS(3134), + [anon_sym_offsetof] = ACTIONS(3134), + [anon_sym__Generic] = ACTIONS(3134), + [anon_sym_asm] = ACTIONS(3134), + [anon_sym___asm__] = ACTIONS(3134), + [sym__number_literal] = ACTIONS(3136), + [anon_sym_L_SQUOTE] = ACTIONS(3136), + [anon_sym_u_SQUOTE] = ACTIONS(3136), + [anon_sym_U_SQUOTE] = ACTIONS(3136), + [anon_sym_u8_SQUOTE] = ACTIONS(3136), + [anon_sym_SQUOTE] = ACTIONS(3136), + [anon_sym_L_DQUOTE] = ACTIONS(3136), + [anon_sym_u_DQUOTE] = ACTIONS(3136), + [anon_sym_U_DQUOTE] = ACTIONS(3136), + [anon_sym_u8_DQUOTE] = ACTIONS(3136), + [anon_sym_DQUOTE] = ACTIONS(3136), + [sym_true] = ACTIONS(3134), + [sym_false] = ACTIONS(3134), + [anon_sym_NULL] = ACTIONS(3134), + [anon_sym_nullptr] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_try] = ACTIONS(3134), + [anon_sym_delete] = ACTIONS(3134), + [anon_sym_throw] = ACTIONS(3134), + [anon_sym_namespace] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + [anon_sym_concept] = ACTIONS(3134), + [anon_sym_co_return] = ACTIONS(3134), + [anon_sym_co_yield] = ACTIONS(3134), + [anon_sym_R_DQUOTE] = ACTIONS(3136), + [anon_sym_LR_DQUOTE] = ACTIONS(3136), + [anon_sym_uR_DQUOTE] = ACTIONS(3136), + [anon_sym_UR_DQUOTE] = ACTIONS(3136), + [anon_sym_u8R_DQUOTE] = ACTIONS(3136), + [anon_sym_co_await] = ACTIONS(3134), + [anon_sym_new] = ACTIONS(3134), + [anon_sym_requires] = ACTIONS(3134), + [sym_this] = ACTIONS(3134), + }, + [733] = { + [ts_builtin_sym_end] = ACTIONS(3495), + [sym__identifier] = ACTIONS(3498), + [aux_sym_preproc_include_token1] = ACTIONS(3498), + [aux_sym_preproc_def_token1] = ACTIONS(3498), + [aux_sym_preproc_if_token1] = ACTIONS(3498), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3498), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3498), + [sym_preproc_directive] = ACTIONS(3498), + [anon_sym_LPAREN2] = ACTIONS(3495), + [anon_sym_BANG] = ACTIONS(3495), + [anon_sym_TILDE] = ACTIONS(3495), + [anon_sym_DASH] = ACTIONS(3498), + [anon_sym_PLUS] = ACTIONS(3498), + [anon_sym_STAR] = ACTIONS(3495), + [anon_sym_AMP_AMP] = ACTIONS(3495), + [anon_sym_AMP] = ACTIONS(3498), + [anon_sym___extension__] = ACTIONS(3498), + [anon_sym_typedef] = ACTIONS(3498), + [anon_sym_extern] = ACTIONS(3498), + [anon_sym___attribute__] = ACTIONS(3498), + [anon_sym_COLON_COLON] = ACTIONS(3495), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3495), + [anon_sym___declspec] = ACTIONS(3498), + [anon_sym___based] = ACTIONS(3498), + [anon_sym___cdecl] = ACTIONS(3498), + [anon_sym___clrcall] = ACTIONS(3498), + [anon_sym___stdcall] = ACTIONS(3498), + [anon_sym___fastcall] = ACTIONS(3498), + [anon_sym___thiscall] = ACTIONS(3498), + [anon_sym___vectorcall] = ACTIONS(3498), + [anon_sym_LBRACE] = ACTIONS(3495), + [anon_sym_signed] = ACTIONS(3498), + [anon_sym_unsigned] = ACTIONS(3498), + [anon_sym_long] = ACTIONS(3498), + [anon_sym_short] = ACTIONS(3498), + [anon_sym_LBRACK] = ACTIONS(3498), + [anon_sym_static] = ACTIONS(3498), + [anon_sym_register] = ACTIONS(3498), + [anon_sym_inline] = ACTIONS(3498), + [anon_sym___inline] = ACTIONS(3498), + [anon_sym___inline__] = ACTIONS(3498), + [anon_sym___forceinline] = ACTIONS(3498), + [anon_sym_thread_local] = ACTIONS(3498), + [anon_sym___thread] = ACTIONS(3498), + [anon_sym_const] = ACTIONS(3498), + [anon_sym_constexpr] = ACTIONS(3498), + [anon_sym_volatile] = ACTIONS(3498), + [anon_sym_restrict] = ACTIONS(3498), + [anon_sym___restrict__] = ACTIONS(3498), + [anon_sym__Atomic] = ACTIONS(3498), + [anon_sym__Noreturn] = ACTIONS(3498), + [anon_sym_noreturn] = ACTIONS(3498), + [anon_sym_mutable] = ACTIONS(3498), + [anon_sym_constinit] = ACTIONS(3498), + [anon_sym_consteval] = ACTIONS(3498), + [anon_sym_alignas] = ACTIONS(3498), + [anon_sym__Alignas] = ACTIONS(3498), + [sym_primitive_type] = ACTIONS(3498), + [anon_sym_enum] = ACTIONS(3498), + [anon_sym_class] = ACTIONS(3498), + [anon_sym_struct] = ACTIONS(3498), + [anon_sym_union] = ACTIONS(3498), + [anon_sym_if] = ACTIONS(3498), + [anon_sym_switch] = ACTIONS(3498), + [anon_sym_case] = ACTIONS(3498), + [anon_sym_default] = ACTIONS(3498), + [anon_sym_while] = ACTIONS(3498), + [anon_sym_do] = ACTIONS(3498), + [anon_sym_for] = ACTIONS(3498), + [anon_sym_return] = ACTIONS(3498), + [anon_sym_break] = ACTIONS(3498), + [anon_sym_continue] = ACTIONS(3498), + [anon_sym_goto] = ACTIONS(3498), + [anon_sym_not] = ACTIONS(3498), + [anon_sym_compl] = ACTIONS(3498), + [anon_sym_DASH_DASH] = ACTIONS(3495), + [anon_sym_PLUS_PLUS] = ACTIONS(3495), + [anon_sym_sizeof] = ACTIONS(3498), + [anon_sym___alignof__] = ACTIONS(3498), + [anon_sym___alignof] = ACTIONS(3498), + [anon_sym__alignof] = ACTIONS(3498), + [anon_sym_alignof] = ACTIONS(3498), + [anon_sym__Alignof] = ACTIONS(3498), + [anon_sym_offsetof] = ACTIONS(3498), + [anon_sym__Generic] = ACTIONS(3498), + [anon_sym_asm] = ACTIONS(3498), + [anon_sym___asm__] = ACTIONS(3498), + [sym__number_literal] = ACTIONS(3495), + [anon_sym_L_SQUOTE] = ACTIONS(3495), + [anon_sym_u_SQUOTE] = ACTIONS(3495), + [anon_sym_U_SQUOTE] = ACTIONS(3495), + [anon_sym_u8_SQUOTE] = ACTIONS(3495), + [anon_sym_SQUOTE] = ACTIONS(3495), + [anon_sym_L_DQUOTE] = ACTIONS(3495), + [anon_sym_u_DQUOTE] = ACTIONS(3495), + [anon_sym_U_DQUOTE] = ACTIONS(3495), + [anon_sym_u8_DQUOTE] = ACTIONS(3495), + [anon_sym_DQUOTE] = ACTIONS(3495), + [sym_true] = ACTIONS(3498), + [sym_false] = ACTIONS(3498), + [anon_sym_NULL] = ACTIONS(3498), + [anon_sym_nullptr] = ACTIONS(3498), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3495), + [sym_auto] = ACTIONS(3498), + [anon_sym_decltype] = ACTIONS(3498), + [sym_virtual] = ACTIONS(3498), + [anon_sym_explicit] = ACTIONS(3498), + [anon_sym_typename] = ACTIONS(3498), + [anon_sym_template] = ACTIONS(3498), + [anon_sym_operator] = ACTIONS(3498), + [anon_sym_try] = ACTIONS(3498), + [anon_sym_delete] = ACTIONS(3498), + [anon_sym_throw] = ACTIONS(3498), + [anon_sym_namespace] = ACTIONS(3498), + [anon_sym_using] = ACTIONS(3498), + [anon_sym_static_assert] = ACTIONS(3498), + [anon_sym_concept] = ACTIONS(3498), + [anon_sym_co_return] = ACTIONS(3498), + [anon_sym_co_yield] = ACTIONS(3498), + [anon_sym_R_DQUOTE] = ACTIONS(3495), + [anon_sym_LR_DQUOTE] = ACTIONS(3495), + [anon_sym_uR_DQUOTE] = ACTIONS(3495), + [anon_sym_UR_DQUOTE] = ACTIONS(3495), + [anon_sym_u8R_DQUOTE] = ACTIONS(3495), + [anon_sym_co_await] = ACTIONS(3498), + [anon_sym_new] = ACTIONS(3498), + [anon_sym_requires] = ACTIONS(3498), + [sym_this] = ACTIONS(3498), + }, + [734] = { + [sym_expression] = STATE(4613), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3501), + [anon_sym_COMMA] = ACTIONS(3501), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3387), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_SLASH] = ACTIONS(3507), + [anon_sym_PERCENT] = ACTIONS(3501), + [anon_sym_PIPE_PIPE] = ACTIONS(3501), + [anon_sym_AMP_AMP] = ACTIONS(3501), + [anon_sym_PIPE] = ACTIONS(3507), + [anon_sym_CARET] = ACTIONS(3501), + [anon_sym_AMP] = ACTIONS(3509), + [anon_sym_EQ_EQ] = ACTIONS(3501), + [anon_sym_BANG_EQ] = ACTIONS(3501), + [anon_sym_GT] = ACTIONS(3507), + [anon_sym_GT_EQ] = ACTIONS(3501), + [anon_sym_LT_EQ] = ACTIONS(3507), + [anon_sym_LT] = ACTIONS(3507), + [anon_sym_LT_LT] = ACTIONS(3501), + [anon_sym_GT_GT] = ACTIONS(3501), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(3501), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_QMARK] = ACTIONS(3501), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_LT_EQ_GT] = ACTIONS(3501), + [anon_sym_or] = ACTIONS(3507), + [anon_sym_and] = ACTIONS(3507), + [anon_sym_bitor] = ACTIONS(3507), + [anon_sym_xor] = ACTIONS(3507), + [anon_sym_bitand] = ACTIONS(3507), + [anon_sym_not_eq] = ACTIONS(3507), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(3507), + [anon_sym_DOT_STAR] = ACTIONS(3501), + [anon_sym_DASH_GT] = ACTIONS(3501), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [735] = { + [ts_builtin_sym_end] = ACTIONS(3037), + [sym__identifier] = ACTIONS(3035), + [aux_sym_preproc_include_token1] = ACTIONS(3035), + [aux_sym_preproc_def_token1] = ACTIONS(3035), + [aux_sym_preproc_if_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3035), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3035), + [sym_preproc_directive] = ACTIONS(3035), + [anon_sym_LPAREN2] = ACTIONS(3037), + [anon_sym_BANG] = ACTIONS(3037), + [anon_sym_TILDE] = ACTIONS(3037), + [anon_sym_DASH] = ACTIONS(3035), + [anon_sym_PLUS] = ACTIONS(3035), + [anon_sym_STAR] = ACTIONS(3037), + [anon_sym_AMP_AMP] = ACTIONS(3037), + [anon_sym_AMP] = ACTIONS(3035), + [anon_sym___extension__] = ACTIONS(3035), + [anon_sym_typedef] = ACTIONS(3035), + [anon_sym_extern] = ACTIONS(3035), + [anon_sym___attribute__] = ACTIONS(3035), + [anon_sym_COLON_COLON] = ACTIONS(3037), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3037), + [anon_sym___declspec] = ACTIONS(3035), + [anon_sym___based] = ACTIONS(3035), + [anon_sym___cdecl] = ACTIONS(3035), + [anon_sym___clrcall] = ACTIONS(3035), + [anon_sym___stdcall] = ACTIONS(3035), + [anon_sym___fastcall] = ACTIONS(3035), + [anon_sym___thiscall] = ACTIONS(3035), + [anon_sym___vectorcall] = ACTIONS(3035), + [anon_sym_LBRACE] = ACTIONS(3037), + [anon_sym_signed] = ACTIONS(3035), + [anon_sym_unsigned] = ACTIONS(3035), + [anon_sym_long] = ACTIONS(3035), + [anon_sym_short] = ACTIONS(3035), + [anon_sym_LBRACK] = ACTIONS(3035), + [anon_sym_static] = ACTIONS(3035), + [anon_sym_register] = ACTIONS(3035), + [anon_sym_inline] = ACTIONS(3035), + [anon_sym___inline] = ACTIONS(3035), + [anon_sym___inline__] = ACTIONS(3035), + [anon_sym___forceinline] = ACTIONS(3035), + [anon_sym_thread_local] = ACTIONS(3035), + [anon_sym___thread] = ACTIONS(3035), + [anon_sym_const] = ACTIONS(3035), + [anon_sym_constexpr] = ACTIONS(3035), + [anon_sym_volatile] = ACTIONS(3035), + [anon_sym_restrict] = ACTIONS(3035), + [anon_sym___restrict__] = ACTIONS(3035), + [anon_sym__Atomic] = ACTIONS(3035), + [anon_sym__Noreturn] = ACTIONS(3035), + [anon_sym_noreturn] = ACTIONS(3035), + [anon_sym_mutable] = ACTIONS(3035), + [anon_sym_constinit] = ACTIONS(3035), + [anon_sym_consteval] = ACTIONS(3035), + [anon_sym_alignas] = ACTIONS(3035), + [anon_sym__Alignas] = ACTIONS(3035), + [sym_primitive_type] = ACTIONS(3035), + [anon_sym_enum] = ACTIONS(3035), + [anon_sym_class] = ACTIONS(3035), + [anon_sym_struct] = ACTIONS(3035), + [anon_sym_union] = ACTIONS(3035), + [anon_sym_if] = ACTIONS(3035), + [anon_sym_switch] = ACTIONS(3035), + [anon_sym_case] = ACTIONS(3035), + [anon_sym_default] = ACTIONS(3035), + [anon_sym_while] = ACTIONS(3035), + [anon_sym_do] = ACTIONS(3035), + [anon_sym_for] = ACTIONS(3035), + [anon_sym_return] = ACTIONS(3035), + [anon_sym_break] = ACTIONS(3035), + [anon_sym_continue] = ACTIONS(3035), + [anon_sym_goto] = ACTIONS(3035), + [anon_sym_not] = ACTIONS(3035), + [anon_sym_compl] = ACTIONS(3035), + [anon_sym_DASH_DASH] = ACTIONS(3037), + [anon_sym_PLUS_PLUS] = ACTIONS(3037), + [anon_sym_sizeof] = ACTIONS(3035), + [anon_sym___alignof__] = ACTIONS(3035), + [anon_sym___alignof] = ACTIONS(3035), + [anon_sym__alignof] = ACTIONS(3035), + [anon_sym_alignof] = ACTIONS(3035), + [anon_sym__Alignof] = ACTIONS(3035), + [anon_sym_offsetof] = ACTIONS(3035), + [anon_sym__Generic] = ACTIONS(3035), + [anon_sym_asm] = ACTIONS(3035), + [anon_sym___asm__] = ACTIONS(3035), + [sym__number_literal] = ACTIONS(3037), + [anon_sym_L_SQUOTE] = ACTIONS(3037), + [anon_sym_u_SQUOTE] = ACTIONS(3037), + [anon_sym_U_SQUOTE] = ACTIONS(3037), + [anon_sym_u8_SQUOTE] = ACTIONS(3037), + [anon_sym_SQUOTE] = ACTIONS(3037), + [anon_sym_L_DQUOTE] = ACTIONS(3037), + [anon_sym_u_DQUOTE] = ACTIONS(3037), + [anon_sym_U_DQUOTE] = ACTIONS(3037), + [anon_sym_u8_DQUOTE] = ACTIONS(3037), + [anon_sym_DQUOTE] = ACTIONS(3037), + [sym_true] = ACTIONS(3035), + [sym_false] = ACTIONS(3035), + [anon_sym_NULL] = ACTIONS(3035), + [anon_sym_nullptr] = ACTIONS(3035), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3037), + [sym_auto] = ACTIONS(3035), + [anon_sym_decltype] = ACTIONS(3035), + [sym_virtual] = ACTIONS(3035), + [anon_sym_explicit] = ACTIONS(3035), + [anon_sym_typename] = ACTIONS(3035), + [anon_sym_template] = ACTIONS(3035), + [anon_sym_operator] = ACTIONS(3035), + [anon_sym_try] = ACTIONS(3035), + [anon_sym_delete] = ACTIONS(3035), + [anon_sym_throw] = ACTIONS(3035), + [anon_sym_namespace] = ACTIONS(3035), + [anon_sym_using] = ACTIONS(3035), + [anon_sym_static_assert] = ACTIONS(3035), + [anon_sym_concept] = ACTIONS(3035), + [anon_sym_co_return] = ACTIONS(3035), + [anon_sym_co_yield] = ACTIONS(3035), + [anon_sym_R_DQUOTE] = ACTIONS(3037), + [anon_sym_LR_DQUOTE] = ACTIONS(3037), + [anon_sym_uR_DQUOTE] = ACTIONS(3037), + [anon_sym_UR_DQUOTE] = ACTIONS(3037), + [anon_sym_u8R_DQUOTE] = ACTIONS(3037), + [anon_sym_co_await] = ACTIONS(3035), + [anon_sym_new] = ACTIONS(3035), + [anon_sym_requires] = ACTIONS(3035), + [sym_this] = ACTIONS(3035), + }, + [736] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3513), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [737] = { + [ts_builtin_sym_end] = ACTIONS(3102), + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_include_token1] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_BANG] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_DASH] = ACTIONS(3100), + [anon_sym_PLUS] = ACTIONS(3100), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym___cdecl] = ACTIONS(3100), + [anon_sym___clrcall] = ACTIONS(3100), + [anon_sym___stdcall] = ACTIONS(3100), + [anon_sym___fastcall] = ACTIONS(3100), + [anon_sym___thiscall] = ACTIONS(3100), + [anon_sym___vectorcall] = ACTIONS(3100), + [anon_sym_LBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [anon_sym_if] = ACTIONS(3100), + [anon_sym_switch] = ACTIONS(3100), + [anon_sym_case] = ACTIONS(3100), + [anon_sym_default] = ACTIONS(3100), + [anon_sym_while] = ACTIONS(3100), + [anon_sym_do] = ACTIONS(3100), + [anon_sym_for] = ACTIONS(3100), + [anon_sym_return] = ACTIONS(3100), + [anon_sym_break] = ACTIONS(3100), + [anon_sym_continue] = ACTIONS(3100), + [anon_sym_goto] = ACTIONS(3100), + [anon_sym_not] = ACTIONS(3100), + [anon_sym_compl] = ACTIONS(3100), + [anon_sym_DASH_DASH] = ACTIONS(3102), + [anon_sym_PLUS_PLUS] = ACTIONS(3102), + [anon_sym_sizeof] = ACTIONS(3100), + [anon_sym___alignof__] = ACTIONS(3100), + [anon_sym___alignof] = ACTIONS(3100), + [anon_sym__alignof] = ACTIONS(3100), + [anon_sym_alignof] = ACTIONS(3100), + [anon_sym__Alignof] = ACTIONS(3100), + [anon_sym_offsetof] = ACTIONS(3100), + [anon_sym__Generic] = ACTIONS(3100), + [anon_sym_asm] = ACTIONS(3100), + [anon_sym___asm__] = ACTIONS(3100), + [sym__number_literal] = ACTIONS(3102), + [anon_sym_L_SQUOTE] = ACTIONS(3102), + [anon_sym_u_SQUOTE] = ACTIONS(3102), + [anon_sym_U_SQUOTE] = ACTIONS(3102), + [anon_sym_u8_SQUOTE] = ACTIONS(3102), + [anon_sym_SQUOTE] = ACTIONS(3102), + [anon_sym_L_DQUOTE] = ACTIONS(3102), + [anon_sym_u_DQUOTE] = ACTIONS(3102), + [anon_sym_U_DQUOTE] = ACTIONS(3102), + [anon_sym_u8_DQUOTE] = ACTIONS(3102), + [anon_sym_DQUOTE] = ACTIONS(3102), + [sym_true] = ACTIONS(3100), + [sym_false] = ACTIONS(3100), + [anon_sym_NULL] = ACTIONS(3100), + [anon_sym_nullptr] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_try] = ACTIONS(3100), + [anon_sym_delete] = ACTIONS(3100), + [anon_sym_throw] = ACTIONS(3100), + [anon_sym_namespace] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + [anon_sym_concept] = ACTIONS(3100), + [anon_sym_co_return] = ACTIONS(3100), + [anon_sym_co_yield] = ACTIONS(3100), + [anon_sym_R_DQUOTE] = ACTIONS(3102), + [anon_sym_LR_DQUOTE] = ACTIONS(3102), + [anon_sym_uR_DQUOTE] = ACTIONS(3102), + [anon_sym_UR_DQUOTE] = ACTIONS(3102), + [anon_sym_u8R_DQUOTE] = ACTIONS(3102), + [anon_sym_co_await] = ACTIONS(3100), + [anon_sym_new] = ACTIONS(3100), + [anon_sym_requires] = ACTIONS(3100), + [sym_this] = ACTIONS(3100), + }, + [738] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3515), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [739] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3517), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [740] = { + [sym_preproc_def] = STATE(745), + [sym_preproc_function_def] = STATE(745), + [sym_preproc_call] = STATE(745), + [sym_preproc_if_in_field_declaration_list] = STATE(745), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(745), + [sym_type_definition] = STATE(745), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(745), + [sym_field_declaration] = STATE(745), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(745), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(745), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(745), + [sym_operator_cast_declaration] = STATE(745), + [sym_constructor_or_destructor_definition] = STATE(745), + [sym_constructor_or_destructor_declaration] = STATE(745), + [sym_friend_declaration] = STATE(745), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(745), + [sym_alias_declaration] = STATE(745), + [sym_static_assert_declaration] = STATE(745), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(745), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3519), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [741] = { + [ts_builtin_sym_end] = ACTIONS(2903), + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_include_token1] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_BANG] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_DASH] = ACTIONS(2901), + [anon_sym_PLUS] = ACTIONS(2901), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym___cdecl] = ACTIONS(2901), + [anon_sym___clrcall] = ACTIONS(2901), + [anon_sym___stdcall] = ACTIONS(2901), + [anon_sym___fastcall] = ACTIONS(2901), + [anon_sym___thiscall] = ACTIONS(2901), + [anon_sym___vectorcall] = ACTIONS(2901), + [anon_sym_LBRACE] = ACTIONS(2903), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [anon_sym_if] = ACTIONS(2901), + [anon_sym_switch] = ACTIONS(2901), + [anon_sym_case] = ACTIONS(2901), + [anon_sym_default] = ACTIONS(2901), + [anon_sym_while] = ACTIONS(2901), + [anon_sym_do] = ACTIONS(2901), + [anon_sym_for] = ACTIONS(2901), + [anon_sym_return] = ACTIONS(2901), + [anon_sym_break] = ACTIONS(2901), + [anon_sym_continue] = ACTIONS(2901), + [anon_sym_goto] = ACTIONS(2901), + [anon_sym_not] = ACTIONS(2901), + [anon_sym_compl] = ACTIONS(2901), + [anon_sym_DASH_DASH] = ACTIONS(2903), + [anon_sym_PLUS_PLUS] = ACTIONS(2903), + [anon_sym_sizeof] = ACTIONS(2901), + [anon_sym___alignof__] = ACTIONS(2901), + [anon_sym___alignof] = ACTIONS(2901), + [anon_sym__alignof] = ACTIONS(2901), + [anon_sym_alignof] = ACTIONS(2901), + [anon_sym__Alignof] = ACTIONS(2901), + [anon_sym_offsetof] = ACTIONS(2901), + [anon_sym__Generic] = ACTIONS(2901), + [anon_sym_asm] = ACTIONS(2901), + [anon_sym___asm__] = ACTIONS(2901), + [sym__number_literal] = ACTIONS(2903), + [anon_sym_L_SQUOTE] = ACTIONS(2903), + [anon_sym_u_SQUOTE] = ACTIONS(2903), + [anon_sym_U_SQUOTE] = ACTIONS(2903), + [anon_sym_u8_SQUOTE] = ACTIONS(2903), + [anon_sym_SQUOTE] = ACTIONS(2903), + [anon_sym_L_DQUOTE] = ACTIONS(2903), + [anon_sym_u_DQUOTE] = ACTIONS(2903), + [anon_sym_U_DQUOTE] = ACTIONS(2903), + [anon_sym_u8_DQUOTE] = ACTIONS(2903), + [anon_sym_DQUOTE] = ACTIONS(2903), + [sym_true] = ACTIONS(2901), + [sym_false] = ACTIONS(2901), + [anon_sym_NULL] = ACTIONS(2901), + [anon_sym_nullptr] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_try] = ACTIONS(2901), + [anon_sym_delete] = ACTIONS(2901), + [anon_sym_throw] = ACTIONS(2901), + [anon_sym_namespace] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + [anon_sym_concept] = ACTIONS(2901), + [anon_sym_co_return] = ACTIONS(2901), + [anon_sym_co_yield] = ACTIONS(2901), + [anon_sym_R_DQUOTE] = ACTIONS(2903), + [anon_sym_LR_DQUOTE] = ACTIONS(2903), + [anon_sym_uR_DQUOTE] = ACTIONS(2903), + [anon_sym_UR_DQUOTE] = ACTIONS(2903), + [anon_sym_u8R_DQUOTE] = ACTIONS(2903), + [anon_sym_co_await] = ACTIONS(2901), + [anon_sym_new] = ACTIONS(2901), + [anon_sym_requires] = ACTIONS(2901), + [sym_this] = ACTIONS(2901), + }, + [742] = { + [ts_builtin_sym_end] = ACTIONS(2977), + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_include_token1] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_BANG] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_DASH] = ACTIONS(2975), + [anon_sym_PLUS] = ACTIONS(2975), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym___cdecl] = ACTIONS(2975), + [anon_sym___clrcall] = ACTIONS(2975), + [anon_sym___stdcall] = ACTIONS(2975), + [anon_sym___fastcall] = ACTIONS(2975), + [anon_sym___thiscall] = ACTIONS(2975), + [anon_sym___vectorcall] = ACTIONS(2975), + [anon_sym_LBRACE] = ACTIONS(2977), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [anon_sym_if] = ACTIONS(2975), + [anon_sym_switch] = ACTIONS(2975), + [anon_sym_case] = ACTIONS(2975), + [anon_sym_default] = ACTIONS(2975), + [anon_sym_while] = ACTIONS(2975), + [anon_sym_do] = ACTIONS(2975), + [anon_sym_for] = ACTIONS(2975), + [anon_sym_return] = ACTIONS(2975), + [anon_sym_break] = ACTIONS(2975), + [anon_sym_continue] = ACTIONS(2975), + [anon_sym_goto] = ACTIONS(2975), + [anon_sym_not] = ACTIONS(2975), + [anon_sym_compl] = ACTIONS(2975), + [anon_sym_DASH_DASH] = ACTIONS(2977), + [anon_sym_PLUS_PLUS] = ACTIONS(2977), + [anon_sym_sizeof] = ACTIONS(2975), + [anon_sym___alignof__] = ACTIONS(2975), + [anon_sym___alignof] = ACTIONS(2975), + [anon_sym__alignof] = ACTIONS(2975), + [anon_sym_alignof] = ACTIONS(2975), + [anon_sym__Alignof] = ACTIONS(2975), + [anon_sym_offsetof] = ACTIONS(2975), + [anon_sym__Generic] = ACTIONS(2975), + [anon_sym_asm] = ACTIONS(2975), + [anon_sym___asm__] = ACTIONS(2975), + [sym__number_literal] = ACTIONS(2977), + [anon_sym_L_SQUOTE] = ACTIONS(2977), + [anon_sym_u_SQUOTE] = ACTIONS(2977), + [anon_sym_U_SQUOTE] = ACTIONS(2977), + [anon_sym_u8_SQUOTE] = ACTIONS(2977), + [anon_sym_SQUOTE] = ACTIONS(2977), + [anon_sym_L_DQUOTE] = ACTIONS(2977), + [anon_sym_u_DQUOTE] = ACTIONS(2977), + [anon_sym_U_DQUOTE] = ACTIONS(2977), + [anon_sym_u8_DQUOTE] = ACTIONS(2977), + [anon_sym_DQUOTE] = ACTIONS(2977), + [sym_true] = ACTIONS(2975), + [sym_false] = ACTIONS(2975), + [anon_sym_NULL] = ACTIONS(2975), + [anon_sym_nullptr] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_try] = ACTIONS(2975), + [anon_sym_delete] = ACTIONS(2975), + [anon_sym_throw] = ACTIONS(2975), + [anon_sym_namespace] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + [anon_sym_concept] = ACTIONS(2975), + [anon_sym_co_return] = ACTIONS(2975), + [anon_sym_co_yield] = ACTIONS(2975), + [anon_sym_R_DQUOTE] = ACTIONS(2977), + [anon_sym_LR_DQUOTE] = ACTIONS(2977), + [anon_sym_uR_DQUOTE] = ACTIONS(2977), + [anon_sym_UR_DQUOTE] = ACTIONS(2977), + [anon_sym_u8R_DQUOTE] = ACTIONS(2977), + [anon_sym_co_await] = ACTIONS(2975), + [anon_sym_new] = ACTIONS(2975), + [anon_sym_requires] = ACTIONS(2975), + [sym_this] = ACTIONS(2975), + }, + [743] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(3226), + [aux_sym_preproc_def_token1] = ACTIONS(3521), + [aux_sym_preproc_if_token1] = ACTIONS(3524), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3527), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3527), + [sym_preproc_directive] = ACTIONS(3530), + [anon_sym_LPAREN2] = ACTIONS(3243), + [anon_sym_TILDE] = ACTIONS(3246), + [anon_sym_STAR] = ACTIONS(3249), + [anon_sym_AMP_AMP] = ACTIONS(3252), + [anon_sym_AMP] = ACTIONS(3255), + [anon_sym___extension__] = ACTIONS(3533), + [anon_sym_typedef] = ACTIONS(3536), + [anon_sym_extern] = ACTIONS(3264), + [anon_sym___attribute__] = ACTIONS(3267), + [anon_sym_COLON_COLON] = ACTIONS(3270), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3273), + [anon_sym___declspec] = ACTIONS(3276), + [anon_sym___based] = ACTIONS(3279), + [anon_sym_RBRACE] = ACTIONS(3539), + [anon_sym_signed] = ACTIONS(3282), + [anon_sym_unsigned] = ACTIONS(3282), + [anon_sym_long] = ACTIONS(3282), + [anon_sym_short] = ACTIONS(3282), + [anon_sym_LBRACK] = ACTIONS(3285), + [anon_sym_static] = ACTIONS(3264), + [anon_sym_register] = ACTIONS(3264), + [anon_sym_inline] = ACTIONS(3264), + [anon_sym___inline] = ACTIONS(3264), + [anon_sym___inline__] = ACTIONS(3264), + [anon_sym___forceinline] = ACTIONS(3264), + [anon_sym_thread_local] = ACTIONS(3264), + [anon_sym___thread] = ACTIONS(3264), + [anon_sym_const] = ACTIONS(3288), + [anon_sym_constexpr] = ACTIONS(3288), + [anon_sym_volatile] = ACTIONS(3288), + [anon_sym_restrict] = ACTIONS(3288), + [anon_sym___restrict__] = ACTIONS(3288), + [anon_sym__Atomic] = ACTIONS(3288), + [anon_sym__Noreturn] = ACTIONS(3288), + [anon_sym_noreturn] = ACTIONS(3288), + [anon_sym_mutable] = ACTIONS(3288), + [anon_sym_constinit] = ACTIONS(3288), + [anon_sym_consteval] = ACTIONS(3288), + [anon_sym_alignas] = ACTIONS(3291), + [anon_sym__Alignas] = ACTIONS(3291), + [sym_primitive_type] = ACTIONS(3294), + [anon_sym_enum] = ACTIONS(3297), + [anon_sym_class] = ACTIONS(3300), + [anon_sym_struct] = ACTIONS(3303), + [anon_sym_union] = ACTIONS(3306), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3309), + [sym_auto] = ACTIONS(3312), + [anon_sym_decltype] = ACTIONS(3315), + [sym_virtual] = ACTIONS(3318), + [anon_sym_explicit] = ACTIONS(3321), + [anon_sym_typename] = ACTIONS(3324), + [anon_sym_template] = ACTIONS(3541), + [anon_sym_operator] = ACTIONS(3330), + [anon_sym_friend] = ACTIONS(3544), + [anon_sym_public] = ACTIONS(3336), + [anon_sym_private] = ACTIONS(3336), + [anon_sym_protected] = ACTIONS(3336), + [anon_sym_using] = ACTIONS(3547), + [anon_sym_static_assert] = ACTIONS(3550), + }, + [744] = { + [ts_builtin_sym_end] = ACTIONS(3027), + [sym__identifier] = ACTIONS(3025), + [aux_sym_preproc_include_token1] = ACTIONS(3025), + [aux_sym_preproc_def_token1] = ACTIONS(3025), + [aux_sym_preproc_if_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3025), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3025), + [sym_preproc_directive] = ACTIONS(3025), + [anon_sym_LPAREN2] = ACTIONS(3027), + [anon_sym_BANG] = ACTIONS(3027), + [anon_sym_TILDE] = ACTIONS(3027), + [anon_sym_DASH] = ACTIONS(3025), + [anon_sym_PLUS] = ACTIONS(3025), + [anon_sym_STAR] = ACTIONS(3027), + [anon_sym_AMP_AMP] = ACTIONS(3027), + [anon_sym_AMP] = ACTIONS(3025), + [anon_sym___extension__] = ACTIONS(3025), + [anon_sym_typedef] = ACTIONS(3025), + [anon_sym_extern] = ACTIONS(3025), + [anon_sym___attribute__] = ACTIONS(3025), + [anon_sym_COLON_COLON] = ACTIONS(3027), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3027), + [anon_sym___declspec] = ACTIONS(3025), + [anon_sym___based] = ACTIONS(3025), + [anon_sym___cdecl] = ACTIONS(3025), + [anon_sym___clrcall] = ACTIONS(3025), + [anon_sym___stdcall] = ACTIONS(3025), + [anon_sym___fastcall] = ACTIONS(3025), + [anon_sym___thiscall] = ACTIONS(3025), + [anon_sym___vectorcall] = ACTIONS(3025), + [anon_sym_LBRACE] = ACTIONS(3027), + [anon_sym_signed] = ACTIONS(3025), + [anon_sym_unsigned] = ACTIONS(3025), + [anon_sym_long] = ACTIONS(3025), + [anon_sym_short] = ACTIONS(3025), + [anon_sym_LBRACK] = ACTIONS(3025), + [anon_sym_static] = ACTIONS(3025), + [anon_sym_register] = ACTIONS(3025), + [anon_sym_inline] = ACTIONS(3025), + [anon_sym___inline] = ACTIONS(3025), + [anon_sym___inline__] = ACTIONS(3025), + [anon_sym___forceinline] = ACTIONS(3025), + [anon_sym_thread_local] = ACTIONS(3025), + [anon_sym___thread] = ACTIONS(3025), + [anon_sym_const] = ACTIONS(3025), + [anon_sym_constexpr] = ACTIONS(3025), + [anon_sym_volatile] = ACTIONS(3025), + [anon_sym_restrict] = ACTIONS(3025), + [anon_sym___restrict__] = ACTIONS(3025), + [anon_sym__Atomic] = ACTIONS(3025), + [anon_sym__Noreturn] = ACTIONS(3025), + [anon_sym_noreturn] = ACTIONS(3025), + [anon_sym_mutable] = ACTIONS(3025), + [anon_sym_constinit] = ACTIONS(3025), + [anon_sym_consteval] = ACTIONS(3025), + [anon_sym_alignas] = ACTIONS(3025), + [anon_sym__Alignas] = ACTIONS(3025), + [sym_primitive_type] = ACTIONS(3025), + [anon_sym_enum] = ACTIONS(3025), + [anon_sym_class] = ACTIONS(3025), + [anon_sym_struct] = ACTIONS(3025), + [anon_sym_union] = ACTIONS(3025), + [anon_sym_if] = ACTIONS(3025), + [anon_sym_switch] = ACTIONS(3025), + [anon_sym_case] = ACTIONS(3025), + [anon_sym_default] = ACTIONS(3025), + [anon_sym_while] = ACTIONS(3025), + [anon_sym_do] = ACTIONS(3025), + [anon_sym_for] = ACTIONS(3025), + [anon_sym_return] = ACTIONS(3025), + [anon_sym_break] = ACTIONS(3025), + [anon_sym_continue] = ACTIONS(3025), + [anon_sym_goto] = ACTIONS(3025), + [anon_sym_not] = ACTIONS(3025), + [anon_sym_compl] = ACTIONS(3025), + [anon_sym_DASH_DASH] = ACTIONS(3027), + [anon_sym_PLUS_PLUS] = ACTIONS(3027), + [anon_sym_sizeof] = ACTIONS(3025), + [anon_sym___alignof__] = ACTIONS(3025), + [anon_sym___alignof] = ACTIONS(3025), + [anon_sym__alignof] = ACTIONS(3025), + [anon_sym_alignof] = ACTIONS(3025), + [anon_sym__Alignof] = ACTIONS(3025), + [anon_sym_offsetof] = ACTIONS(3025), + [anon_sym__Generic] = ACTIONS(3025), + [anon_sym_asm] = ACTIONS(3025), + [anon_sym___asm__] = ACTIONS(3025), + [sym__number_literal] = ACTIONS(3027), + [anon_sym_L_SQUOTE] = ACTIONS(3027), + [anon_sym_u_SQUOTE] = ACTIONS(3027), + [anon_sym_U_SQUOTE] = ACTIONS(3027), + [anon_sym_u8_SQUOTE] = ACTIONS(3027), + [anon_sym_SQUOTE] = ACTIONS(3027), + [anon_sym_L_DQUOTE] = ACTIONS(3027), + [anon_sym_u_DQUOTE] = ACTIONS(3027), + [anon_sym_U_DQUOTE] = ACTIONS(3027), + [anon_sym_u8_DQUOTE] = ACTIONS(3027), + [anon_sym_DQUOTE] = ACTIONS(3027), + [sym_true] = ACTIONS(3025), + [sym_false] = ACTIONS(3025), + [anon_sym_NULL] = ACTIONS(3025), + [anon_sym_nullptr] = ACTIONS(3025), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3027), + [sym_auto] = ACTIONS(3025), + [anon_sym_decltype] = ACTIONS(3025), + [sym_virtual] = ACTIONS(3025), + [anon_sym_explicit] = ACTIONS(3025), + [anon_sym_typename] = ACTIONS(3025), + [anon_sym_template] = ACTIONS(3025), + [anon_sym_operator] = ACTIONS(3025), + [anon_sym_try] = ACTIONS(3025), + [anon_sym_delete] = ACTIONS(3025), + [anon_sym_throw] = ACTIONS(3025), + [anon_sym_namespace] = ACTIONS(3025), + [anon_sym_using] = ACTIONS(3025), + [anon_sym_static_assert] = ACTIONS(3025), + [anon_sym_concept] = ACTIONS(3025), + [anon_sym_co_return] = ACTIONS(3025), + [anon_sym_co_yield] = ACTIONS(3025), + [anon_sym_R_DQUOTE] = ACTIONS(3027), + [anon_sym_LR_DQUOTE] = ACTIONS(3027), + [anon_sym_uR_DQUOTE] = ACTIONS(3027), + [anon_sym_UR_DQUOTE] = ACTIONS(3027), + [anon_sym_u8R_DQUOTE] = ACTIONS(3027), + [anon_sym_co_await] = ACTIONS(3025), + [anon_sym_new] = ACTIONS(3025), + [anon_sym_requires] = ACTIONS(3025), + [sym_this] = ACTIONS(3025), + }, + [745] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3553), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [746] = { + [ts_builtin_sym_end] = ACTIONS(3090), + [sym__identifier] = ACTIONS(3088), + [aux_sym_preproc_include_token1] = ACTIONS(3088), + [aux_sym_preproc_def_token1] = ACTIONS(3088), + [aux_sym_preproc_if_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3088), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3088), + [sym_preproc_directive] = ACTIONS(3088), + [anon_sym_LPAREN2] = ACTIONS(3090), + [anon_sym_BANG] = ACTIONS(3090), + [anon_sym_TILDE] = ACTIONS(3090), + [anon_sym_DASH] = ACTIONS(3088), + [anon_sym_PLUS] = ACTIONS(3088), + [anon_sym_STAR] = ACTIONS(3090), + [anon_sym_AMP_AMP] = ACTIONS(3090), + [anon_sym_AMP] = ACTIONS(3088), + [anon_sym___extension__] = ACTIONS(3088), + [anon_sym_typedef] = ACTIONS(3088), + [anon_sym_extern] = ACTIONS(3088), + [anon_sym___attribute__] = ACTIONS(3088), + [anon_sym_COLON_COLON] = ACTIONS(3090), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3090), + [anon_sym___declspec] = ACTIONS(3088), + [anon_sym___based] = ACTIONS(3088), + [anon_sym___cdecl] = ACTIONS(3088), + [anon_sym___clrcall] = ACTIONS(3088), + [anon_sym___stdcall] = ACTIONS(3088), + [anon_sym___fastcall] = ACTIONS(3088), + [anon_sym___thiscall] = ACTIONS(3088), + [anon_sym___vectorcall] = ACTIONS(3088), + [anon_sym_LBRACE] = ACTIONS(3090), + [anon_sym_signed] = ACTIONS(3088), + [anon_sym_unsigned] = ACTIONS(3088), + [anon_sym_long] = ACTIONS(3088), + [anon_sym_short] = ACTIONS(3088), + [anon_sym_LBRACK] = ACTIONS(3088), + [anon_sym_static] = ACTIONS(3088), + [anon_sym_register] = ACTIONS(3088), + [anon_sym_inline] = ACTIONS(3088), + [anon_sym___inline] = ACTIONS(3088), + [anon_sym___inline__] = ACTIONS(3088), + [anon_sym___forceinline] = ACTIONS(3088), + [anon_sym_thread_local] = ACTIONS(3088), + [anon_sym___thread] = ACTIONS(3088), + [anon_sym_const] = ACTIONS(3088), + [anon_sym_constexpr] = ACTIONS(3088), + [anon_sym_volatile] = ACTIONS(3088), + [anon_sym_restrict] = ACTIONS(3088), + [anon_sym___restrict__] = ACTIONS(3088), + [anon_sym__Atomic] = ACTIONS(3088), + [anon_sym__Noreturn] = ACTIONS(3088), + [anon_sym_noreturn] = ACTIONS(3088), + [anon_sym_mutable] = ACTIONS(3088), + [anon_sym_constinit] = ACTIONS(3088), + [anon_sym_consteval] = ACTIONS(3088), + [anon_sym_alignas] = ACTIONS(3088), + [anon_sym__Alignas] = ACTIONS(3088), + [sym_primitive_type] = ACTIONS(3088), + [anon_sym_enum] = ACTIONS(3088), + [anon_sym_class] = ACTIONS(3088), + [anon_sym_struct] = ACTIONS(3088), + [anon_sym_union] = ACTIONS(3088), + [anon_sym_if] = ACTIONS(3088), + [anon_sym_switch] = ACTIONS(3088), + [anon_sym_case] = ACTIONS(3088), + [anon_sym_default] = ACTIONS(3088), + [anon_sym_while] = ACTIONS(3088), + [anon_sym_do] = ACTIONS(3088), + [anon_sym_for] = ACTIONS(3088), + [anon_sym_return] = ACTIONS(3088), + [anon_sym_break] = ACTIONS(3088), + [anon_sym_continue] = ACTIONS(3088), + [anon_sym_goto] = ACTIONS(3088), + [anon_sym_not] = ACTIONS(3088), + [anon_sym_compl] = ACTIONS(3088), + [anon_sym_DASH_DASH] = ACTIONS(3090), + [anon_sym_PLUS_PLUS] = ACTIONS(3090), + [anon_sym_sizeof] = ACTIONS(3088), + [anon_sym___alignof__] = ACTIONS(3088), + [anon_sym___alignof] = ACTIONS(3088), + [anon_sym__alignof] = ACTIONS(3088), + [anon_sym_alignof] = ACTIONS(3088), + [anon_sym__Alignof] = ACTIONS(3088), + [anon_sym_offsetof] = ACTIONS(3088), + [anon_sym__Generic] = ACTIONS(3088), + [anon_sym_asm] = ACTIONS(3088), + [anon_sym___asm__] = ACTIONS(3088), + [sym__number_literal] = ACTIONS(3090), + [anon_sym_L_SQUOTE] = ACTIONS(3090), + [anon_sym_u_SQUOTE] = ACTIONS(3090), + [anon_sym_U_SQUOTE] = ACTIONS(3090), + [anon_sym_u8_SQUOTE] = ACTIONS(3090), + [anon_sym_SQUOTE] = ACTIONS(3090), + [anon_sym_L_DQUOTE] = ACTIONS(3090), + [anon_sym_u_DQUOTE] = ACTIONS(3090), + [anon_sym_U_DQUOTE] = ACTIONS(3090), + [anon_sym_u8_DQUOTE] = ACTIONS(3090), + [anon_sym_DQUOTE] = ACTIONS(3090), + [sym_true] = ACTIONS(3088), + [sym_false] = ACTIONS(3088), + [anon_sym_NULL] = ACTIONS(3088), + [anon_sym_nullptr] = ACTIONS(3088), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3090), + [sym_auto] = ACTIONS(3088), + [anon_sym_decltype] = ACTIONS(3088), + [sym_virtual] = ACTIONS(3088), + [anon_sym_explicit] = ACTIONS(3088), + [anon_sym_typename] = ACTIONS(3088), + [anon_sym_template] = ACTIONS(3088), + [anon_sym_operator] = ACTIONS(3088), + [anon_sym_try] = ACTIONS(3088), + [anon_sym_delete] = ACTIONS(3088), + [anon_sym_throw] = ACTIONS(3088), + [anon_sym_namespace] = ACTIONS(3088), + [anon_sym_using] = ACTIONS(3088), + [anon_sym_static_assert] = ACTIONS(3088), + [anon_sym_concept] = ACTIONS(3088), + [anon_sym_co_return] = ACTIONS(3088), + [anon_sym_co_yield] = ACTIONS(3088), + [anon_sym_R_DQUOTE] = ACTIONS(3090), + [anon_sym_LR_DQUOTE] = ACTIONS(3090), + [anon_sym_uR_DQUOTE] = ACTIONS(3090), + [anon_sym_UR_DQUOTE] = ACTIONS(3090), + [anon_sym_u8R_DQUOTE] = ACTIONS(3090), + [anon_sym_co_await] = ACTIONS(3088), + [anon_sym_new] = ACTIONS(3088), + [anon_sym_requires] = ACTIONS(3088), + [sym_this] = ACTIONS(3088), + }, + [747] = { + [ts_builtin_sym_end] = ACTIONS(3048), + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_include_token1] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_BANG] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_DASH] = ACTIONS(3046), + [anon_sym_PLUS] = ACTIONS(3046), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym___cdecl] = ACTIONS(3046), + [anon_sym___clrcall] = ACTIONS(3046), + [anon_sym___stdcall] = ACTIONS(3046), + [anon_sym___fastcall] = ACTIONS(3046), + [anon_sym___thiscall] = ACTIONS(3046), + [anon_sym___vectorcall] = ACTIONS(3046), + [anon_sym_LBRACE] = ACTIONS(3048), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [anon_sym_if] = ACTIONS(3046), + [anon_sym_switch] = ACTIONS(3046), + [anon_sym_case] = ACTIONS(3046), + [anon_sym_default] = ACTIONS(3046), + [anon_sym_while] = ACTIONS(3046), + [anon_sym_do] = ACTIONS(3046), + [anon_sym_for] = ACTIONS(3046), + [anon_sym_return] = ACTIONS(3046), + [anon_sym_break] = ACTIONS(3046), + [anon_sym_continue] = ACTIONS(3046), + [anon_sym_goto] = ACTIONS(3046), + [anon_sym_not] = ACTIONS(3046), + [anon_sym_compl] = ACTIONS(3046), + [anon_sym_DASH_DASH] = ACTIONS(3048), + [anon_sym_PLUS_PLUS] = ACTIONS(3048), + [anon_sym_sizeof] = ACTIONS(3046), + [anon_sym___alignof__] = ACTIONS(3046), + [anon_sym___alignof] = ACTIONS(3046), + [anon_sym__alignof] = ACTIONS(3046), + [anon_sym_alignof] = ACTIONS(3046), + [anon_sym__Alignof] = ACTIONS(3046), + [anon_sym_offsetof] = ACTIONS(3046), + [anon_sym__Generic] = ACTIONS(3046), + [anon_sym_asm] = ACTIONS(3046), + [anon_sym___asm__] = ACTIONS(3046), + [sym__number_literal] = ACTIONS(3048), + [anon_sym_L_SQUOTE] = ACTIONS(3048), + [anon_sym_u_SQUOTE] = ACTIONS(3048), + [anon_sym_U_SQUOTE] = ACTIONS(3048), + [anon_sym_u8_SQUOTE] = ACTIONS(3048), + [anon_sym_SQUOTE] = ACTIONS(3048), + [anon_sym_L_DQUOTE] = ACTIONS(3048), + [anon_sym_u_DQUOTE] = ACTIONS(3048), + [anon_sym_U_DQUOTE] = ACTIONS(3048), + [anon_sym_u8_DQUOTE] = ACTIONS(3048), + [anon_sym_DQUOTE] = ACTIONS(3048), + [sym_true] = ACTIONS(3046), + [sym_false] = ACTIONS(3046), + [anon_sym_NULL] = ACTIONS(3046), + [anon_sym_nullptr] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_try] = ACTIONS(3046), + [anon_sym_delete] = ACTIONS(3046), + [anon_sym_throw] = ACTIONS(3046), + [anon_sym_namespace] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + [anon_sym_concept] = ACTIONS(3046), + [anon_sym_co_return] = ACTIONS(3046), + [anon_sym_co_yield] = ACTIONS(3046), + [anon_sym_R_DQUOTE] = ACTIONS(3048), + [anon_sym_LR_DQUOTE] = ACTIONS(3048), + [anon_sym_uR_DQUOTE] = ACTIONS(3048), + [anon_sym_UR_DQUOTE] = ACTIONS(3048), + [anon_sym_u8R_DQUOTE] = ACTIONS(3048), + [anon_sym_co_await] = ACTIONS(3046), + [anon_sym_new] = ACTIONS(3046), + [anon_sym_requires] = ACTIONS(3046), + [sym_this] = ACTIONS(3046), + }, + [748] = { + [ts_builtin_sym_end] = ACTIONS(3140), + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_include_token1] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_BANG] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_DASH] = ACTIONS(3138), + [anon_sym_PLUS] = ACTIONS(3138), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym___cdecl] = ACTIONS(3138), + [anon_sym___clrcall] = ACTIONS(3138), + [anon_sym___stdcall] = ACTIONS(3138), + [anon_sym___fastcall] = ACTIONS(3138), + [anon_sym___thiscall] = ACTIONS(3138), + [anon_sym___vectorcall] = ACTIONS(3138), + [anon_sym_LBRACE] = ACTIONS(3140), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [anon_sym_if] = ACTIONS(3138), + [anon_sym_switch] = ACTIONS(3138), + [anon_sym_case] = ACTIONS(3138), + [anon_sym_default] = ACTIONS(3138), + [anon_sym_while] = ACTIONS(3138), + [anon_sym_do] = ACTIONS(3138), + [anon_sym_for] = ACTIONS(3138), + [anon_sym_return] = ACTIONS(3138), + [anon_sym_break] = ACTIONS(3138), + [anon_sym_continue] = ACTIONS(3138), + [anon_sym_goto] = ACTIONS(3138), + [anon_sym_not] = ACTIONS(3138), + [anon_sym_compl] = ACTIONS(3138), + [anon_sym_DASH_DASH] = ACTIONS(3140), + [anon_sym_PLUS_PLUS] = ACTIONS(3140), + [anon_sym_sizeof] = ACTIONS(3138), + [anon_sym___alignof__] = ACTIONS(3138), + [anon_sym___alignof] = ACTIONS(3138), + [anon_sym__alignof] = ACTIONS(3138), + [anon_sym_alignof] = ACTIONS(3138), + [anon_sym__Alignof] = ACTIONS(3138), + [anon_sym_offsetof] = ACTIONS(3138), + [anon_sym__Generic] = ACTIONS(3138), + [anon_sym_asm] = ACTIONS(3138), + [anon_sym___asm__] = ACTIONS(3138), + [sym__number_literal] = ACTIONS(3140), + [anon_sym_L_SQUOTE] = ACTIONS(3140), + [anon_sym_u_SQUOTE] = ACTIONS(3140), + [anon_sym_U_SQUOTE] = ACTIONS(3140), + [anon_sym_u8_SQUOTE] = ACTIONS(3140), + [anon_sym_SQUOTE] = ACTIONS(3140), + [anon_sym_L_DQUOTE] = ACTIONS(3140), + [anon_sym_u_DQUOTE] = ACTIONS(3140), + [anon_sym_U_DQUOTE] = ACTIONS(3140), + [anon_sym_u8_DQUOTE] = ACTIONS(3140), + [anon_sym_DQUOTE] = ACTIONS(3140), + [sym_true] = ACTIONS(3138), + [sym_false] = ACTIONS(3138), + [anon_sym_NULL] = ACTIONS(3138), + [anon_sym_nullptr] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_try] = ACTIONS(3138), + [anon_sym_delete] = ACTIONS(3138), + [anon_sym_throw] = ACTIONS(3138), + [anon_sym_namespace] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + [anon_sym_concept] = ACTIONS(3138), + [anon_sym_co_return] = ACTIONS(3138), + [anon_sym_co_yield] = ACTIONS(3138), + [anon_sym_R_DQUOTE] = ACTIONS(3140), + [anon_sym_LR_DQUOTE] = ACTIONS(3140), + [anon_sym_uR_DQUOTE] = ACTIONS(3140), + [anon_sym_UR_DQUOTE] = ACTIONS(3140), + [anon_sym_u8R_DQUOTE] = ACTIONS(3140), + [anon_sym_co_await] = ACTIONS(3138), + [anon_sym_new] = ACTIONS(3138), + [anon_sym_requires] = ACTIONS(3138), + [sym_this] = ACTIONS(3138), + }, + [749] = { + [sym_preproc_def] = STATE(730), + [sym_preproc_function_def] = STATE(730), + [sym_preproc_call] = STATE(730), + [sym_preproc_if_in_field_declaration_list] = STATE(730), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(730), + [sym_type_definition] = STATE(730), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(730), + [sym_field_declaration] = STATE(730), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(730), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(730), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(730), + [sym_operator_cast_declaration] = STATE(730), + [sym_constructor_or_destructor_definition] = STATE(730), + [sym_constructor_or_destructor_declaration] = STATE(730), + [sym_friend_declaration] = STATE(730), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(730), + [sym_alias_declaration] = STATE(730), + [sym_static_assert_declaration] = STATE(730), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(730), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3555), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [750] = { + [ts_builtin_sym_end] = ACTIONS(2895), + [sym__identifier] = ACTIONS(2893), + [aux_sym_preproc_include_token1] = ACTIONS(2893), + [aux_sym_preproc_def_token1] = ACTIONS(2893), + [aux_sym_preproc_if_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2893), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2893), + [sym_preproc_directive] = ACTIONS(2893), + [anon_sym_LPAREN2] = ACTIONS(2895), + [anon_sym_BANG] = ACTIONS(2895), + [anon_sym_TILDE] = ACTIONS(2895), + [anon_sym_DASH] = ACTIONS(2893), + [anon_sym_PLUS] = ACTIONS(2893), + [anon_sym_STAR] = ACTIONS(2895), + [anon_sym_AMP_AMP] = ACTIONS(2895), + [anon_sym_AMP] = ACTIONS(2893), + [anon_sym___extension__] = ACTIONS(2893), + [anon_sym_typedef] = ACTIONS(2893), + [anon_sym_extern] = ACTIONS(2893), + [anon_sym___attribute__] = ACTIONS(2893), + [anon_sym_COLON_COLON] = ACTIONS(2895), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2895), + [anon_sym___declspec] = ACTIONS(2893), + [anon_sym___based] = ACTIONS(2893), + [anon_sym___cdecl] = ACTIONS(2893), + [anon_sym___clrcall] = ACTIONS(2893), + [anon_sym___stdcall] = ACTIONS(2893), + [anon_sym___fastcall] = ACTIONS(2893), + [anon_sym___thiscall] = ACTIONS(2893), + [anon_sym___vectorcall] = ACTIONS(2893), + [anon_sym_LBRACE] = ACTIONS(2895), + [anon_sym_signed] = ACTIONS(2893), + [anon_sym_unsigned] = ACTIONS(2893), + [anon_sym_long] = ACTIONS(2893), + [anon_sym_short] = ACTIONS(2893), + [anon_sym_LBRACK] = ACTIONS(2893), + [anon_sym_static] = ACTIONS(2893), + [anon_sym_register] = ACTIONS(2893), + [anon_sym_inline] = ACTIONS(2893), + [anon_sym___inline] = ACTIONS(2893), + [anon_sym___inline__] = ACTIONS(2893), + [anon_sym___forceinline] = ACTIONS(2893), + [anon_sym_thread_local] = ACTIONS(2893), + [anon_sym___thread] = ACTIONS(2893), + [anon_sym_const] = ACTIONS(2893), + [anon_sym_constexpr] = ACTIONS(2893), + [anon_sym_volatile] = ACTIONS(2893), + [anon_sym_restrict] = ACTIONS(2893), + [anon_sym___restrict__] = ACTIONS(2893), + [anon_sym__Atomic] = ACTIONS(2893), + [anon_sym__Noreturn] = ACTIONS(2893), + [anon_sym_noreturn] = ACTIONS(2893), + [anon_sym_mutable] = ACTIONS(2893), + [anon_sym_constinit] = ACTIONS(2893), + [anon_sym_consteval] = ACTIONS(2893), + [anon_sym_alignas] = ACTIONS(2893), + [anon_sym__Alignas] = ACTIONS(2893), + [sym_primitive_type] = ACTIONS(2893), + [anon_sym_enum] = ACTIONS(2893), + [anon_sym_class] = ACTIONS(2893), + [anon_sym_struct] = ACTIONS(2893), + [anon_sym_union] = ACTIONS(2893), + [anon_sym_if] = ACTIONS(2893), + [anon_sym_switch] = ACTIONS(2893), + [anon_sym_case] = ACTIONS(2893), + [anon_sym_default] = ACTIONS(2893), + [anon_sym_while] = ACTIONS(2893), + [anon_sym_do] = ACTIONS(2893), + [anon_sym_for] = ACTIONS(2893), + [anon_sym_return] = ACTIONS(2893), + [anon_sym_break] = ACTIONS(2893), + [anon_sym_continue] = ACTIONS(2893), + [anon_sym_goto] = ACTIONS(2893), + [anon_sym_not] = ACTIONS(2893), + [anon_sym_compl] = ACTIONS(2893), + [anon_sym_DASH_DASH] = ACTIONS(2895), + [anon_sym_PLUS_PLUS] = ACTIONS(2895), + [anon_sym_sizeof] = ACTIONS(2893), + [anon_sym___alignof__] = ACTIONS(2893), + [anon_sym___alignof] = ACTIONS(2893), + [anon_sym__alignof] = ACTIONS(2893), + [anon_sym_alignof] = ACTIONS(2893), + [anon_sym__Alignof] = ACTIONS(2893), + [anon_sym_offsetof] = ACTIONS(2893), + [anon_sym__Generic] = ACTIONS(2893), + [anon_sym_asm] = ACTIONS(2893), + [anon_sym___asm__] = ACTIONS(2893), + [sym__number_literal] = ACTIONS(2895), + [anon_sym_L_SQUOTE] = ACTIONS(2895), + [anon_sym_u_SQUOTE] = ACTIONS(2895), + [anon_sym_U_SQUOTE] = ACTIONS(2895), + [anon_sym_u8_SQUOTE] = ACTIONS(2895), + [anon_sym_SQUOTE] = ACTIONS(2895), + [anon_sym_L_DQUOTE] = ACTIONS(2895), + [anon_sym_u_DQUOTE] = ACTIONS(2895), + [anon_sym_U_DQUOTE] = ACTIONS(2895), + [anon_sym_u8_DQUOTE] = ACTIONS(2895), + [anon_sym_DQUOTE] = ACTIONS(2895), + [sym_true] = ACTIONS(2893), + [sym_false] = ACTIONS(2893), + [anon_sym_NULL] = ACTIONS(2893), + [anon_sym_nullptr] = ACTIONS(2893), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2895), + [sym_auto] = ACTIONS(2893), + [anon_sym_decltype] = ACTIONS(2893), + [sym_virtual] = ACTIONS(2893), + [anon_sym_explicit] = ACTIONS(2893), + [anon_sym_typename] = ACTIONS(2893), + [anon_sym_template] = ACTIONS(2893), + [anon_sym_operator] = ACTIONS(2893), + [anon_sym_try] = ACTIONS(2893), + [anon_sym_delete] = ACTIONS(2893), + [anon_sym_throw] = ACTIONS(2893), + [anon_sym_namespace] = ACTIONS(2893), + [anon_sym_using] = ACTIONS(2893), + [anon_sym_static_assert] = ACTIONS(2893), + [anon_sym_concept] = ACTIONS(2893), + [anon_sym_co_return] = ACTIONS(2893), + [anon_sym_co_yield] = ACTIONS(2893), + [anon_sym_R_DQUOTE] = ACTIONS(2895), + [anon_sym_LR_DQUOTE] = ACTIONS(2895), + [anon_sym_uR_DQUOTE] = ACTIONS(2895), + [anon_sym_UR_DQUOTE] = ACTIONS(2895), + [anon_sym_u8R_DQUOTE] = ACTIONS(2895), + [anon_sym_co_await] = ACTIONS(2893), + [anon_sym_new] = ACTIONS(2893), + [anon_sym_requires] = ACTIONS(2893), + [sym_this] = ACTIONS(2893), + }, + [751] = { + [ts_builtin_sym_end] = ACTIONS(3094), + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_include_token1] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_BANG] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_DASH] = ACTIONS(3092), + [anon_sym_PLUS] = ACTIONS(3092), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym___cdecl] = ACTIONS(3092), + [anon_sym___clrcall] = ACTIONS(3092), + [anon_sym___stdcall] = ACTIONS(3092), + [anon_sym___fastcall] = ACTIONS(3092), + [anon_sym___thiscall] = ACTIONS(3092), + [anon_sym___vectorcall] = ACTIONS(3092), + [anon_sym_LBRACE] = ACTIONS(3094), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [anon_sym_if] = ACTIONS(3092), + [anon_sym_switch] = ACTIONS(3092), + [anon_sym_case] = ACTIONS(3092), + [anon_sym_default] = ACTIONS(3092), + [anon_sym_while] = ACTIONS(3092), + [anon_sym_do] = ACTIONS(3092), + [anon_sym_for] = ACTIONS(3092), + [anon_sym_return] = ACTIONS(3092), + [anon_sym_break] = ACTIONS(3092), + [anon_sym_continue] = ACTIONS(3092), + [anon_sym_goto] = ACTIONS(3092), + [anon_sym_not] = ACTIONS(3092), + [anon_sym_compl] = ACTIONS(3092), + [anon_sym_DASH_DASH] = ACTIONS(3094), + [anon_sym_PLUS_PLUS] = ACTIONS(3094), + [anon_sym_sizeof] = ACTIONS(3092), + [anon_sym___alignof__] = ACTIONS(3092), + [anon_sym___alignof] = ACTIONS(3092), + [anon_sym__alignof] = ACTIONS(3092), + [anon_sym_alignof] = ACTIONS(3092), + [anon_sym__Alignof] = ACTIONS(3092), + [anon_sym_offsetof] = ACTIONS(3092), + [anon_sym__Generic] = ACTIONS(3092), + [anon_sym_asm] = ACTIONS(3092), + [anon_sym___asm__] = ACTIONS(3092), + [sym__number_literal] = ACTIONS(3094), + [anon_sym_L_SQUOTE] = ACTIONS(3094), + [anon_sym_u_SQUOTE] = ACTIONS(3094), + [anon_sym_U_SQUOTE] = ACTIONS(3094), + [anon_sym_u8_SQUOTE] = ACTIONS(3094), + [anon_sym_SQUOTE] = ACTIONS(3094), + [anon_sym_L_DQUOTE] = ACTIONS(3094), + [anon_sym_u_DQUOTE] = ACTIONS(3094), + [anon_sym_U_DQUOTE] = ACTIONS(3094), + [anon_sym_u8_DQUOTE] = ACTIONS(3094), + [anon_sym_DQUOTE] = ACTIONS(3094), + [sym_true] = ACTIONS(3092), + [sym_false] = ACTIONS(3092), + [anon_sym_NULL] = ACTIONS(3092), + [anon_sym_nullptr] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_try] = ACTIONS(3092), + [anon_sym_delete] = ACTIONS(3092), + [anon_sym_throw] = ACTIONS(3092), + [anon_sym_namespace] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + [anon_sym_concept] = ACTIONS(3092), + [anon_sym_co_return] = ACTIONS(3092), + [anon_sym_co_yield] = ACTIONS(3092), + [anon_sym_R_DQUOTE] = ACTIONS(3094), + [anon_sym_LR_DQUOTE] = ACTIONS(3094), + [anon_sym_uR_DQUOTE] = ACTIONS(3094), + [anon_sym_UR_DQUOTE] = ACTIONS(3094), + [anon_sym_u8R_DQUOTE] = ACTIONS(3094), + [anon_sym_co_await] = ACTIONS(3092), + [anon_sym_new] = ACTIONS(3092), + [anon_sym_requires] = ACTIONS(3092), + [sym_this] = ACTIONS(3092), + }, + [752] = { + [ts_builtin_sym_end] = ACTIONS(3060), + [sym__identifier] = ACTIONS(3058), + [aux_sym_preproc_include_token1] = ACTIONS(3058), + [aux_sym_preproc_def_token1] = ACTIONS(3058), + [aux_sym_preproc_if_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3058), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3058), + [sym_preproc_directive] = ACTIONS(3058), + [anon_sym_LPAREN2] = ACTIONS(3060), + [anon_sym_BANG] = ACTIONS(3060), + [anon_sym_TILDE] = ACTIONS(3060), + [anon_sym_DASH] = ACTIONS(3058), + [anon_sym_PLUS] = ACTIONS(3058), + [anon_sym_STAR] = ACTIONS(3060), + [anon_sym_AMP_AMP] = ACTIONS(3060), + [anon_sym_AMP] = ACTIONS(3058), + [anon_sym___extension__] = ACTIONS(3058), + [anon_sym_typedef] = ACTIONS(3058), + [anon_sym_extern] = ACTIONS(3058), + [anon_sym___attribute__] = ACTIONS(3058), + [anon_sym_COLON_COLON] = ACTIONS(3060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3060), + [anon_sym___declspec] = ACTIONS(3058), + [anon_sym___based] = ACTIONS(3058), + [anon_sym___cdecl] = ACTIONS(3058), + [anon_sym___clrcall] = ACTIONS(3058), + [anon_sym___stdcall] = ACTIONS(3058), + [anon_sym___fastcall] = ACTIONS(3058), + [anon_sym___thiscall] = ACTIONS(3058), + [anon_sym___vectorcall] = ACTIONS(3058), + [anon_sym_LBRACE] = ACTIONS(3060), + [anon_sym_signed] = ACTIONS(3058), + [anon_sym_unsigned] = ACTIONS(3058), + [anon_sym_long] = ACTIONS(3058), + [anon_sym_short] = ACTIONS(3058), + [anon_sym_LBRACK] = ACTIONS(3058), + [anon_sym_static] = ACTIONS(3058), + [anon_sym_register] = ACTIONS(3058), + [anon_sym_inline] = ACTIONS(3058), + [anon_sym___inline] = ACTIONS(3058), + [anon_sym___inline__] = ACTIONS(3058), + [anon_sym___forceinline] = ACTIONS(3058), + [anon_sym_thread_local] = ACTIONS(3058), + [anon_sym___thread] = ACTIONS(3058), + [anon_sym_const] = ACTIONS(3058), + [anon_sym_constexpr] = ACTIONS(3058), + [anon_sym_volatile] = ACTIONS(3058), + [anon_sym_restrict] = ACTIONS(3058), + [anon_sym___restrict__] = ACTIONS(3058), + [anon_sym__Atomic] = ACTIONS(3058), + [anon_sym__Noreturn] = ACTIONS(3058), + [anon_sym_noreturn] = ACTIONS(3058), + [anon_sym_mutable] = ACTIONS(3058), + [anon_sym_constinit] = ACTIONS(3058), + [anon_sym_consteval] = ACTIONS(3058), + [anon_sym_alignas] = ACTIONS(3058), + [anon_sym__Alignas] = ACTIONS(3058), + [sym_primitive_type] = ACTIONS(3058), + [anon_sym_enum] = ACTIONS(3058), + [anon_sym_class] = ACTIONS(3058), + [anon_sym_struct] = ACTIONS(3058), + [anon_sym_union] = ACTIONS(3058), + [anon_sym_if] = ACTIONS(3058), + [anon_sym_switch] = ACTIONS(3058), + [anon_sym_case] = ACTIONS(3058), + [anon_sym_default] = ACTIONS(3058), + [anon_sym_while] = ACTIONS(3058), + [anon_sym_do] = ACTIONS(3058), + [anon_sym_for] = ACTIONS(3058), + [anon_sym_return] = ACTIONS(3058), + [anon_sym_break] = ACTIONS(3058), + [anon_sym_continue] = ACTIONS(3058), + [anon_sym_goto] = ACTIONS(3058), + [anon_sym_not] = ACTIONS(3058), + [anon_sym_compl] = ACTIONS(3058), + [anon_sym_DASH_DASH] = ACTIONS(3060), + [anon_sym_PLUS_PLUS] = ACTIONS(3060), + [anon_sym_sizeof] = ACTIONS(3058), + [anon_sym___alignof__] = ACTIONS(3058), + [anon_sym___alignof] = ACTIONS(3058), + [anon_sym__alignof] = ACTIONS(3058), + [anon_sym_alignof] = ACTIONS(3058), + [anon_sym__Alignof] = ACTIONS(3058), + [anon_sym_offsetof] = ACTIONS(3058), + [anon_sym__Generic] = ACTIONS(3058), + [anon_sym_asm] = ACTIONS(3058), + [anon_sym___asm__] = ACTIONS(3058), + [sym__number_literal] = ACTIONS(3060), + [anon_sym_L_SQUOTE] = ACTIONS(3060), + [anon_sym_u_SQUOTE] = ACTIONS(3060), + [anon_sym_U_SQUOTE] = ACTIONS(3060), + [anon_sym_u8_SQUOTE] = ACTIONS(3060), + [anon_sym_SQUOTE] = ACTIONS(3060), + [anon_sym_L_DQUOTE] = ACTIONS(3060), + [anon_sym_u_DQUOTE] = ACTIONS(3060), + [anon_sym_U_DQUOTE] = ACTIONS(3060), + [anon_sym_u8_DQUOTE] = ACTIONS(3060), + [anon_sym_DQUOTE] = ACTIONS(3060), + [sym_true] = ACTIONS(3058), + [sym_false] = ACTIONS(3058), + [anon_sym_NULL] = ACTIONS(3058), + [anon_sym_nullptr] = ACTIONS(3058), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3060), + [sym_auto] = ACTIONS(3058), + [anon_sym_decltype] = ACTIONS(3058), + [sym_virtual] = ACTIONS(3058), + [anon_sym_explicit] = ACTIONS(3058), + [anon_sym_typename] = ACTIONS(3058), + [anon_sym_template] = ACTIONS(3058), + [anon_sym_operator] = ACTIONS(3058), + [anon_sym_try] = ACTIONS(3058), + [anon_sym_delete] = ACTIONS(3058), + [anon_sym_throw] = ACTIONS(3058), + [anon_sym_namespace] = ACTIONS(3058), + [anon_sym_using] = ACTIONS(3058), + [anon_sym_static_assert] = ACTIONS(3058), + [anon_sym_concept] = ACTIONS(3058), + [anon_sym_co_return] = ACTIONS(3058), + [anon_sym_co_yield] = ACTIONS(3058), + [anon_sym_R_DQUOTE] = ACTIONS(3060), + [anon_sym_LR_DQUOTE] = ACTIONS(3060), + [anon_sym_uR_DQUOTE] = ACTIONS(3060), + [anon_sym_UR_DQUOTE] = ACTIONS(3060), + [anon_sym_u8R_DQUOTE] = ACTIONS(3060), + [anon_sym_co_await] = ACTIONS(3058), + [anon_sym_new] = ACTIONS(3058), + [anon_sym_requires] = ACTIONS(3058), + [sym_this] = ACTIONS(3058), + }, + [753] = { + [ts_builtin_sym_end] = ACTIONS(2946), + [sym__identifier] = ACTIONS(2944), + [aux_sym_preproc_include_token1] = ACTIONS(2944), + [aux_sym_preproc_def_token1] = ACTIONS(2944), + [aux_sym_preproc_if_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2944), + [sym_preproc_directive] = ACTIONS(2944), + [anon_sym_LPAREN2] = ACTIONS(2946), + [anon_sym_BANG] = ACTIONS(2946), + [anon_sym_TILDE] = ACTIONS(2946), + [anon_sym_DASH] = ACTIONS(2944), + [anon_sym_PLUS] = ACTIONS(2944), + [anon_sym_STAR] = ACTIONS(2946), + [anon_sym_AMP_AMP] = ACTIONS(2946), + [anon_sym_AMP] = ACTIONS(2944), + [anon_sym___extension__] = ACTIONS(2944), + [anon_sym_typedef] = ACTIONS(2944), + [anon_sym_extern] = ACTIONS(2944), + [anon_sym___attribute__] = ACTIONS(2944), + [anon_sym_COLON_COLON] = ACTIONS(2946), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2946), + [anon_sym___declspec] = ACTIONS(2944), + [anon_sym___based] = ACTIONS(2944), + [anon_sym___cdecl] = ACTIONS(2944), + [anon_sym___clrcall] = ACTIONS(2944), + [anon_sym___stdcall] = ACTIONS(2944), + [anon_sym___fastcall] = ACTIONS(2944), + [anon_sym___thiscall] = ACTIONS(2944), + [anon_sym___vectorcall] = ACTIONS(2944), + [anon_sym_LBRACE] = ACTIONS(2946), + [anon_sym_signed] = ACTIONS(2944), + [anon_sym_unsigned] = ACTIONS(2944), + [anon_sym_long] = ACTIONS(2944), + [anon_sym_short] = ACTIONS(2944), + [anon_sym_LBRACK] = ACTIONS(2944), + [anon_sym_static] = ACTIONS(2944), + [anon_sym_register] = ACTIONS(2944), + [anon_sym_inline] = ACTIONS(2944), + [anon_sym___inline] = ACTIONS(2944), + [anon_sym___inline__] = ACTIONS(2944), + [anon_sym___forceinline] = ACTIONS(2944), + [anon_sym_thread_local] = ACTIONS(2944), + [anon_sym___thread] = ACTIONS(2944), + [anon_sym_const] = ACTIONS(2944), + [anon_sym_constexpr] = ACTIONS(2944), + [anon_sym_volatile] = ACTIONS(2944), + [anon_sym_restrict] = ACTIONS(2944), + [anon_sym___restrict__] = ACTIONS(2944), + [anon_sym__Atomic] = ACTIONS(2944), + [anon_sym__Noreturn] = ACTIONS(2944), + [anon_sym_noreturn] = ACTIONS(2944), + [anon_sym_mutable] = ACTIONS(2944), + [anon_sym_constinit] = ACTIONS(2944), + [anon_sym_consteval] = ACTIONS(2944), + [anon_sym_alignas] = ACTIONS(2944), + [anon_sym__Alignas] = ACTIONS(2944), + [sym_primitive_type] = ACTIONS(2944), + [anon_sym_enum] = ACTIONS(2944), + [anon_sym_class] = ACTIONS(2944), + [anon_sym_struct] = ACTIONS(2944), + [anon_sym_union] = ACTIONS(2944), + [anon_sym_if] = ACTIONS(2944), + [anon_sym_switch] = ACTIONS(2944), + [anon_sym_case] = ACTIONS(2944), + [anon_sym_default] = ACTIONS(2944), + [anon_sym_while] = ACTIONS(2944), + [anon_sym_do] = ACTIONS(2944), + [anon_sym_for] = ACTIONS(2944), + [anon_sym_return] = ACTIONS(2944), + [anon_sym_break] = ACTIONS(2944), + [anon_sym_continue] = ACTIONS(2944), + [anon_sym_goto] = ACTIONS(2944), + [anon_sym_not] = ACTIONS(2944), + [anon_sym_compl] = ACTIONS(2944), + [anon_sym_DASH_DASH] = ACTIONS(2946), + [anon_sym_PLUS_PLUS] = ACTIONS(2946), + [anon_sym_sizeof] = ACTIONS(2944), + [anon_sym___alignof__] = ACTIONS(2944), + [anon_sym___alignof] = ACTIONS(2944), + [anon_sym__alignof] = ACTIONS(2944), + [anon_sym_alignof] = ACTIONS(2944), + [anon_sym__Alignof] = ACTIONS(2944), + [anon_sym_offsetof] = ACTIONS(2944), + [anon_sym__Generic] = ACTIONS(2944), + [anon_sym_asm] = ACTIONS(2944), + [anon_sym___asm__] = ACTIONS(2944), + [sym__number_literal] = ACTIONS(2946), + [anon_sym_L_SQUOTE] = ACTIONS(2946), + [anon_sym_u_SQUOTE] = ACTIONS(2946), + [anon_sym_U_SQUOTE] = ACTIONS(2946), + [anon_sym_u8_SQUOTE] = ACTIONS(2946), + [anon_sym_SQUOTE] = ACTIONS(2946), + [anon_sym_L_DQUOTE] = ACTIONS(2946), + [anon_sym_u_DQUOTE] = ACTIONS(2946), + [anon_sym_U_DQUOTE] = ACTIONS(2946), + [anon_sym_u8_DQUOTE] = ACTIONS(2946), + [anon_sym_DQUOTE] = ACTIONS(2946), + [sym_true] = ACTIONS(2944), + [sym_false] = ACTIONS(2944), + [anon_sym_NULL] = ACTIONS(2944), + [anon_sym_nullptr] = ACTIONS(2944), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2946), + [sym_auto] = ACTIONS(2944), + [anon_sym_decltype] = ACTIONS(2944), + [sym_virtual] = ACTIONS(2944), + [anon_sym_explicit] = ACTIONS(2944), + [anon_sym_typename] = ACTIONS(2944), + [anon_sym_template] = ACTIONS(2944), + [anon_sym_operator] = ACTIONS(2944), + [anon_sym_try] = ACTIONS(2944), + [anon_sym_delete] = ACTIONS(2944), + [anon_sym_throw] = ACTIONS(2944), + [anon_sym_namespace] = ACTIONS(2944), + [anon_sym_using] = ACTIONS(2944), + [anon_sym_static_assert] = ACTIONS(2944), + [anon_sym_concept] = ACTIONS(2944), + [anon_sym_co_return] = ACTIONS(2944), + [anon_sym_co_yield] = ACTIONS(2944), + [anon_sym_R_DQUOTE] = ACTIONS(2946), + [anon_sym_LR_DQUOTE] = ACTIONS(2946), + [anon_sym_uR_DQUOTE] = ACTIONS(2946), + [anon_sym_UR_DQUOTE] = ACTIONS(2946), + [anon_sym_u8R_DQUOTE] = ACTIONS(2946), + [anon_sym_co_await] = ACTIONS(2944), + [anon_sym_new] = ACTIONS(2944), + [anon_sym_requires] = ACTIONS(2944), + [sym_this] = ACTIONS(2944), + }, + [754] = { + [ts_builtin_sym_end] = ACTIONS(3072), + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_include_token1] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_BANG] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_DASH] = ACTIONS(3070), + [anon_sym_PLUS] = ACTIONS(3070), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym___cdecl] = ACTIONS(3070), + [anon_sym___clrcall] = ACTIONS(3070), + [anon_sym___stdcall] = ACTIONS(3070), + [anon_sym___fastcall] = ACTIONS(3070), + [anon_sym___thiscall] = ACTIONS(3070), + [anon_sym___vectorcall] = ACTIONS(3070), + [anon_sym_LBRACE] = ACTIONS(3072), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [anon_sym_if] = ACTIONS(3070), + [anon_sym_switch] = ACTIONS(3070), + [anon_sym_case] = ACTIONS(3070), + [anon_sym_default] = ACTIONS(3070), + [anon_sym_while] = ACTIONS(3070), + [anon_sym_do] = ACTIONS(3070), + [anon_sym_for] = ACTIONS(3070), + [anon_sym_return] = ACTIONS(3070), + [anon_sym_break] = ACTIONS(3070), + [anon_sym_continue] = ACTIONS(3070), + [anon_sym_goto] = ACTIONS(3070), + [anon_sym_not] = ACTIONS(3070), + [anon_sym_compl] = ACTIONS(3070), + [anon_sym_DASH_DASH] = ACTIONS(3072), + [anon_sym_PLUS_PLUS] = ACTIONS(3072), + [anon_sym_sizeof] = ACTIONS(3070), + [anon_sym___alignof__] = ACTIONS(3070), + [anon_sym___alignof] = ACTIONS(3070), + [anon_sym__alignof] = ACTIONS(3070), + [anon_sym_alignof] = ACTIONS(3070), + [anon_sym__Alignof] = ACTIONS(3070), + [anon_sym_offsetof] = ACTIONS(3070), + [anon_sym__Generic] = ACTIONS(3070), + [anon_sym_asm] = ACTIONS(3070), + [anon_sym___asm__] = ACTIONS(3070), + [sym__number_literal] = ACTIONS(3072), + [anon_sym_L_SQUOTE] = ACTIONS(3072), + [anon_sym_u_SQUOTE] = ACTIONS(3072), + [anon_sym_U_SQUOTE] = ACTIONS(3072), + [anon_sym_u8_SQUOTE] = ACTIONS(3072), + [anon_sym_SQUOTE] = ACTIONS(3072), + [anon_sym_L_DQUOTE] = ACTIONS(3072), + [anon_sym_u_DQUOTE] = ACTIONS(3072), + [anon_sym_U_DQUOTE] = ACTIONS(3072), + [anon_sym_u8_DQUOTE] = ACTIONS(3072), + [anon_sym_DQUOTE] = ACTIONS(3072), + [sym_true] = ACTIONS(3070), + [sym_false] = ACTIONS(3070), + [anon_sym_NULL] = ACTIONS(3070), + [anon_sym_nullptr] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_try] = ACTIONS(3070), + [anon_sym_delete] = ACTIONS(3070), + [anon_sym_throw] = ACTIONS(3070), + [anon_sym_namespace] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + [anon_sym_concept] = ACTIONS(3070), + [anon_sym_co_return] = ACTIONS(3070), + [anon_sym_co_yield] = ACTIONS(3070), + [anon_sym_R_DQUOTE] = ACTIONS(3072), + [anon_sym_LR_DQUOTE] = ACTIONS(3072), + [anon_sym_uR_DQUOTE] = ACTIONS(3072), + [anon_sym_UR_DQUOTE] = ACTIONS(3072), + [anon_sym_u8R_DQUOTE] = ACTIONS(3072), + [anon_sym_co_await] = ACTIONS(3070), + [anon_sym_new] = ACTIONS(3070), + [anon_sym_requires] = ACTIONS(3070), + [sym_this] = ACTIONS(3070), + }, + [755] = { + [sym_preproc_def] = STATE(738), + [sym_preproc_function_def] = STATE(738), + [sym_preproc_call] = STATE(738), + [sym_preproc_if_in_field_declaration_list] = STATE(738), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(738), + [sym_type_definition] = STATE(738), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(738), + [sym_field_declaration] = STATE(738), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(738), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(738), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(738), + [sym_operator_cast_declaration] = STATE(738), + [sym_constructor_or_destructor_definition] = STATE(738), + [sym_constructor_or_destructor_declaration] = STATE(738), + [sym_friend_declaration] = STATE(738), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(738), + [sym_alias_declaration] = STATE(738), + [sym_static_assert_declaration] = STATE(738), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(738), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3557), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [756] = { + [ts_builtin_sym_end] = ACTIONS(2831), + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_include_token1] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_BANG] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_DASH] = ACTIONS(2829), + [anon_sym_PLUS] = ACTIONS(2829), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym___cdecl] = ACTIONS(2829), + [anon_sym___clrcall] = ACTIONS(2829), + [anon_sym___stdcall] = ACTIONS(2829), + [anon_sym___fastcall] = ACTIONS(2829), + [anon_sym___thiscall] = ACTIONS(2829), + [anon_sym___vectorcall] = ACTIONS(2829), + [anon_sym_LBRACE] = ACTIONS(2831), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [anon_sym_if] = ACTIONS(2829), + [anon_sym_switch] = ACTIONS(2829), + [anon_sym_case] = ACTIONS(2829), + [anon_sym_default] = ACTIONS(2829), + [anon_sym_while] = ACTIONS(2829), + [anon_sym_do] = ACTIONS(2829), + [anon_sym_for] = ACTIONS(2829), + [anon_sym_return] = ACTIONS(2829), + [anon_sym_break] = ACTIONS(2829), + [anon_sym_continue] = ACTIONS(2829), + [anon_sym_goto] = ACTIONS(2829), + [anon_sym_not] = ACTIONS(2829), + [anon_sym_compl] = ACTIONS(2829), + [anon_sym_DASH_DASH] = ACTIONS(2831), + [anon_sym_PLUS_PLUS] = ACTIONS(2831), + [anon_sym_sizeof] = ACTIONS(2829), + [anon_sym___alignof__] = ACTIONS(2829), + [anon_sym___alignof] = ACTIONS(2829), + [anon_sym__alignof] = ACTIONS(2829), + [anon_sym_alignof] = ACTIONS(2829), + [anon_sym__Alignof] = ACTIONS(2829), + [anon_sym_offsetof] = ACTIONS(2829), + [anon_sym__Generic] = ACTIONS(2829), + [anon_sym_asm] = ACTIONS(2829), + [anon_sym___asm__] = ACTIONS(2829), + [sym__number_literal] = ACTIONS(2831), + [anon_sym_L_SQUOTE] = ACTIONS(2831), + [anon_sym_u_SQUOTE] = ACTIONS(2831), + [anon_sym_U_SQUOTE] = ACTIONS(2831), + [anon_sym_u8_SQUOTE] = ACTIONS(2831), + [anon_sym_SQUOTE] = ACTIONS(2831), + [anon_sym_L_DQUOTE] = ACTIONS(2831), + [anon_sym_u_DQUOTE] = ACTIONS(2831), + [anon_sym_U_DQUOTE] = ACTIONS(2831), + [anon_sym_u8_DQUOTE] = ACTIONS(2831), + [anon_sym_DQUOTE] = ACTIONS(2831), + [sym_true] = ACTIONS(2829), + [sym_false] = ACTIONS(2829), + [anon_sym_NULL] = ACTIONS(2829), + [anon_sym_nullptr] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_try] = ACTIONS(2829), + [anon_sym_delete] = ACTIONS(2829), + [anon_sym_throw] = ACTIONS(2829), + [anon_sym_namespace] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + [anon_sym_concept] = ACTIONS(2829), + [anon_sym_co_return] = ACTIONS(2829), + [anon_sym_co_yield] = ACTIONS(2829), + [anon_sym_R_DQUOTE] = ACTIONS(2831), + [anon_sym_LR_DQUOTE] = ACTIONS(2831), + [anon_sym_uR_DQUOTE] = ACTIONS(2831), + [anon_sym_UR_DQUOTE] = ACTIONS(2831), + [anon_sym_u8R_DQUOTE] = ACTIONS(2831), + [anon_sym_co_await] = ACTIONS(2829), + [anon_sym_new] = ACTIONS(2829), + [anon_sym_requires] = ACTIONS(2829), + [sym_this] = ACTIONS(2829), + }, + [757] = { + [ts_builtin_sym_end] = ACTIONS(2921), + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_include_token1] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_BANG] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_DASH] = ACTIONS(2919), + [anon_sym_PLUS] = ACTIONS(2919), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym___cdecl] = ACTIONS(2919), + [anon_sym___clrcall] = ACTIONS(2919), + [anon_sym___stdcall] = ACTIONS(2919), + [anon_sym___fastcall] = ACTIONS(2919), + [anon_sym___thiscall] = ACTIONS(2919), + [anon_sym___vectorcall] = ACTIONS(2919), + [anon_sym_LBRACE] = ACTIONS(2921), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [anon_sym_if] = ACTIONS(2919), + [anon_sym_switch] = ACTIONS(2919), + [anon_sym_case] = ACTIONS(2919), + [anon_sym_default] = ACTIONS(2919), + [anon_sym_while] = ACTIONS(2919), + [anon_sym_do] = ACTIONS(2919), + [anon_sym_for] = ACTIONS(2919), + [anon_sym_return] = ACTIONS(2919), + [anon_sym_break] = ACTIONS(2919), + [anon_sym_continue] = ACTIONS(2919), + [anon_sym_goto] = ACTIONS(2919), + [anon_sym_not] = ACTIONS(2919), + [anon_sym_compl] = ACTIONS(2919), + [anon_sym_DASH_DASH] = ACTIONS(2921), + [anon_sym_PLUS_PLUS] = ACTIONS(2921), + [anon_sym_sizeof] = ACTIONS(2919), + [anon_sym___alignof__] = ACTIONS(2919), + [anon_sym___alignof] = ACTIONS(2919), + [anon_sym__alignof] = ACTIONS(2919), + [anon_sym_alignof] = ACTIONS(2919), + [anon_sym__Alignof] = ACTIONS(2919), + [anon_sym_offsetof] = ACTIONS(2919), + [anon_sym__Generic] = ACTIONS(2919), + [anon_sym_asm] = ACTIONS(2919), + [anon_sym___asm__] = ACTIONS(2919), + [sym__number_literal] = ACTIONS(2921), + [anon_sym_L_SQUOTE] = ACTIONS(2921), + [anon_sym_u_SQUOTE] = ACTIONS(2921), + [anon_sym_U_SQUOTE] = ACTIONS(2921), + [anon_sym_u8_SQUOTE] = ACTIONS(2921), + [anon_sym_SQUOTE] = ACTIONS(2921), + [anon_sym_L_DQUOTE] = ACTIONS(2921), + [anon_sym_u_DQUOTE] = ACTIONS(2921), + [anon_sym_U_DQUOTE] = ACTIONS(2921), + [anon_sym_u8_DQUOTE] = ACTIONS(2921), + [anon_sym_DQUOTE] = ACTIONS(2921), + [sym_true] = ACTIONS(2919), + [sym_false] = ACTIONS(2919), + [anon_sym_NULL] = ACTIONS(2919), + [anon_sym_nullptr] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_try] = ACTIONS(2919), + [anon_sym_delete] = ACTIONS(2919), + [anon_sym_throw] = ACTIONS(2919), + [anon_sym_namespace] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + [anon_sym_concept] = ACTIONS(2919), + [anon_sym_co_return] = ACTIONS(2919), + [anon_sym_co_yield] = ACTIONS(2919), + [anon_sym_R_DQUOTE] = ACTIONS(2921), + [anon_sym_LR_DQUOTE] = ACTIONS(2921), + [anon_sym_uR_DQUOTE] = ACTIONS(2921), + [anon_sym_UR_DQUOTE] = ACTIONS(2921), + [anon_sym_u8R_DQUOTE] = ACTIONS(2921), + [anon_sym_co_await] = ACTIONS(2919), + [anon_sym_new] = ACTIONS(2919), + [anon_sym_requires] = ACTIONS(2919), + [sym_this] = ACTIONS(2919), + }, + [758] = { + [ts_builtin_sym_end] = ACTIONS(3023), + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_include_token1] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_BANG] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_DASH] = ACTIONS(3021), + [anon_sym_PLUS] = ACTIONS(3021), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym___cdecl] = ACTIONS(3021), + [anon_sym___clrcall] = ACTIONS(3021), + [anon_sym___stdcall] = ACTIONS(3021), + [anon_sym___fastcall] = ACTIONS(3021), + [anon_sym___thiscall] = ACTIONS(3021), + [anon_sym___vectorcall] = ACTIONS(3021), + [anon_sym_LBRACE] = ACTIONS(3023), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [anon_sym_if] = ACTIONS(3021), + [anon_sym_switch] = ACTIONS(3021), + [anon_sym_case] = ACTIONS(3021), + [anon_sym_default] = ACTIONS(3021), + [anon_sym_while] = ACTIONS(3021), + [anon_sym_do] = ACTIONS(3021), + [anon_sym_for] = ACTIONS(3021), + [anon_sym_return] = ACTIONS(3021), + [anon_sym_break] = ACTIONS(3021), + [anon_sym_continue] = ACTIONS(3021), + [anon_sym_goto] = ACTIONS(3021), + [anon_sym_not] = ACTIONS(3021), + [anon_sym_compl] = ACTIONS(3021), + [anon_sym_DASH_DASH] = ACTIONS(3023), + [anon_sym_PLUS_PLUS] = ACTIONS(3023), + [anon_sym_sizeof] = ACTIONS(3021), + [anon_sym___alignof__] = ACTIONS(3021), + [anon_sym___alignof] = ACTIONS(3021), + [anon_sym__alignof] = ACTIONS(3021), + [anon_sym_alignof] = ACTIONS(3021), + [anon_sym__Alignof] = ACTIONS(3021), + [anon_sym_offsetof] = ACTIONS(3021), + [anon_sym__Generic] = ACTIONS(3021), + [anon_sym_asm] = ACTIONS(3021), + [anon_sym___asm__] = ACTIONS(3021), + [sym__number_literal] = ACTIONS(3023), + [anon_sym_L_SQUOTE] = ACTIONS(3023), + [anon_sym_u_SQUOTE] = ACTIONS(3023), + [anon_sym_U_SQUOTE] = ACTIONS(3023), + [anon_sym_u8_SQUOTE] = ACTIONS(3023), + [anon_sym_SQUOTE] = ACTIONS(3023), + [anon_sym_L_DQUOTE] = ACTIONS(3023), + [anon_sym_u_DQUOTE] = ACTIONS(3023), + [anon_sym_U_DQUOTE] = ACTIONS(3023), + [anon_sym_u8_DQUOTE] = ACTIONS(3023), + [anon_sym_DQUOTE] = ACTIONS(3023), + [sym_true] = ACTIONS(3021), + [sym_false] = ACTIONS(3021), + [anon_sym_NULL] = ACTIONS(3021), + [anon_sym_nullptr] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_try] = ACTIONS(3021), + [anon_sym_delete] = ACTIONS(3021), + [anon_sym_throw] = ACTIONS(3021), + [anon_sym_namespace] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + [anon_sym_concept] = ACTIONS(3021), + [anon_sym_co_return] = ACTIONS(3021), + [anon_sym_co_yield] = ACTIONS(3021), + [anon_sym_R_DQUOTE] = ACTIONS(3023), + [anon_sym_LR_DQUOTE] = ACTIONS(3023), + [anon_sym_uR_DQUOTE] = ACTIONS(3023), + [anon_sym_UR_DQUOTE] = ACTIONS(3023), + [anon_sym_u8R_DQUOTE] = ACTIONS(3023), + [anon_sym_co_await] = ACTIONS(3021), + [anon_sym_new] = ACTIONS(3021), + [anon_sym_requires] = ACTIONS(3021), + [sym_this] = ACTIONS(3021), + }, + [759] = { + [ts_builtin_sym_end] = ACTIONS(3164), + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_include_token1] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_BANG] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_DASH] = ACTIONS(3162), + [anon_sym_PLUS] = ACTIONS(3162), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym___cdecl] = ACTIONS(3162), + [anon_sym___clrcall] = ACTIONS(3162), + [anon_sym___stdcall] = ACTIONS(3162), + [anon_sym___fastcall] = ACTIONS(3162), + [anon_sym___thiscall] = ACTIONS(3162), + [anon_sym___vectorcall] = ACTIONS(3162), + [anon_sym_LBRACE] = ACTIONS(3164), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [anon_sym_if] = ACTIONS(3162), + [anon_sym_switch] = ACTIONS(3162), + [anon_sym_case] = ACTIONS(3162), + [anon_sym_default] = ACTIONS(3162), + [anon_sym_while] = ACTIONS(3162), + [anon_sym_do] = ACTIONS(3162), + [anon_sym_for] = ACTIONS(3162), + [anon_sym_return] = ACTIONS(3162), + [anon_sym_break] = ACTIONS(3162), + [anon_sym_continue] = ACTIONS(3162), + [anon_sym_goto] = ACTIONS(3162), + [anon_sym_not] = ACTIONS(3162), + [anon_sym_compl] = ACTIONS(3162), + [anon_sym_DASH_DASH] = ACTIONS(3164), + [anon_sym_PLUS_PLUS] = ACTIONS(3164), + [anon_sym_sizeof] = ACTIONS(3162), + [anon_sym___alignof__] = ACTIONS(3162), + [anon_sym___alignof] = ACTIONS(3162), + [anon_sym__alignof] = ACTIONS(3162), + [anon_sym_alignof] = ACTIONS(3162), + [anon_sym__Alignof] = ACTIONS(3162), + [anon_sym_offsetof] = ACTIONS(3162), + [anon_sym__Generic] = ACTIONS(3162), + [anon_sym_asm] = ACTIONS(3162), + [anon_sym___asm__] = ACTIONS(3162), + [sym__number_literal] = ACTIONS(3164), + [anon_sym_L_SQUOTE] = ACTIONS(3164), + [anon_sym_u_SQUOTE] = ACTIONS(3164), + [anon_sym_U_SQUOTE] = ACTIONS(3164), + [anon_sym_u8_SQUOTE] = ACTIONS(3164), + [anon_sym_SQUOTE] = ACTIONS(3164), + [anon_sym_L_DQUOTE] = ACTIONS(3164), + [anon_sym_u_DQUOTE] = ACTIONS(3164), + [anon_sym_U_DQUOTE] = ACTIONS(3164), + [anon_sym_u8_DQUOTE] = ACTIONS(3164), + [anon_sym_DQUOTE] = ACTIONS(3164), + [sym_true] = ACTIONS(3162), + [sym_false] = ACTIONS(3162), + [anon_sym_NULL] = ACTIONS(3162), + [anon_sym_nullptr] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_try] = ACTIONS(3162), + [anon_sym_delete] = ACTIONS(3162), + [anon_sym_throw] = ACTIONS(3162), + [anon_sym_namespace] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + [anon_sym_concept] = ACTIONS(3162), + [anon_sym_co_return] = ACTIONS(3162), + [anon_sym_co_yield] = ACTIONS(3162), + [anon_sym_R_DQUOTE] = ACTIONS(3164), + [anon_sym_LR_DQUOTE] = ACTIONS(3164), + [anon_sym_uR_DQUOTE] = ACTIONS(3164), + [anon_sym_UR_DQUOTE] = ACTIONS(3164), + [anon_sym_u8R_DQUOTE] = ACTIONS(3164), + [anon_sym_co_await] = ACTIONS(3162), + [anon_sym_new] = ACTIONS(3162), + [anon_sym_requires] = ACTIONS(3162), + [sym_this] = ACTIONS(3162), + }, + [760] = { + [sym_preproc_def] = STATE(686), + [sym_preproc_function_def] = STATE(686), + [sym_preproc_call] = STATE(686), + [sym_preproc_if_in_field_declaration_list] = STATE(686), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(686), + [sym_type_definition] = STATE(686), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(686), + [sym_field_declaration] = STATE(686), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(686), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(686), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(686), + [sym_operator_cast_declaration] = STATE(686), + [sym_constructor_or_destructor_definition] = STATE(686), + [sym_constructor_or_destructor_declaration] = STATE(686), + [sym_friend_declaration] = STATE(686), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(686), + [sym_alias_declaration] = STATE(686), + [sym_static_assert_declaration] = STATE(686), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(686), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3559), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [761] = { + [ts_builtin_sym_end] = ACTIONS(2827), + [sym__identifier] = ACTIONS(2825), + [aux_sym_preproc_include_token1] = ACTIONS(2825), + [aux_sym_preproc_def_token1] = ACTIONS(2825), + [aux_sym_preproc_if_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2825), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2825), + [sym_preproc_directive] = ACTIONS(2825), + [anon_sym_LPAREN2] = ACTIONS(2827), + [anon_sym_BANG] = ACTIONS(2827), + [anon_sym_TILDE] = ACTIONS(2827), + [anon_sym_DASH] = ACTIONS(2825), + [anon_sym_PLUS] = ACTIONS(2825), + [anon_sym_STAR] = ACTIONS(2827), + [anon_sym_AMP_AMP] = ACTIONS(2827), + [anon_sym_AMP] = ACTIONS(2825), + [anon_sym___extension__] = ACTIONS(2825), + [anon_sym_typedef] = ACTIONS(2825), + [anon_sym_extern] = ACTIONS(2825), + [anon_sym___attribute__] = ACTIONS(2825), + [anon_sym_COLON_COLON] = ACTIONS(2827), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2827), + [anon_sym___declspec] = ACTIONS(2825), + [anon_sym___based] = ACTIONS(2825), + [anon_sym___cdecl] = ACTIONS(2825), + [anon_sym___clrcall] = ACTIONS(2825), + [anon_sym___stdcall] = ACTIONS(2825), + [anon_sym___fastcall] = ACTIONS(2825), + [anon_sym___thiscall] = ACTIONS(2825), + [anon_sym___vectorcall] = ACTIONS(2825), + [anon_sym_LBRACE] = ACTIONS(2827), + [anon_sym_signed] = ACTIONS(2825), + [anon_sym_unsigned] = ACTIONS(2825), + [anon_sym_long] = ACTIONS(2825), + [anon_sym_short] = ACTIONS(2825), + [anon_sym_LBRACK] = ACTIONS(2825), + [anon_sym_static] = ACTIONS(2825), + [anon_sym_register] = ACTIONS(2825), + [anon_sym_inline] = ACTIONS(2825), + [anon_sym___inline] = ACTIONS(2825), + [anon_sym___inline__] = ACTIONS(2825), + [anon_sym___forceinline] = ACTIONS(2825), + [anon_sym_thread_local] = ACTIONS(2825), + [anon_sym___thread] = ACTIONS(2825), + [anon_sym_const] = ACTIONS(2825), + [anon_sym_constexpr] = ACTIONS(2825), + [anon_sym_volatile] = ACTIONS(2825), + [anon_sym_restrict] = ACTIONS(2825), + [anon_sym___restrict__] = ACTIONS(2825), + [anon_sym__Atomic] = ACTIONS(2825), + [anon_sym__Noreturn] = ACTIONS(2825), + [anon_sym_noreturn] = ACTIONS(2825), + [anon_sym_mutable] = ACTIONS(2825), + [anon_sym_constinit] = ACTIONS(2825), + [anon_sym_consteval] = ACTIONS(2825), + [anon_sym_alignas] = ACTIONS(2825), + [anon_sym__Alignas] = ACTIONS(2825), + [sym_primitive_type] = ACTIONS(2825), + [anon_sym_enum] = ACTIONS(2825), + [anon_sym_class] = ACTIONS(2825), + [anon_sym_struct] = ACTIONS(2825), + [anon_sym_union] = ACTIONS(2825), + [anon_sym_if] = ACTIONS(2825), + [anon_sym_switch] = ACTIONS(2825), + [anon_sym_case] = ACTIONS(2825), + [anon_sym_default] = ACTIONS(2825), + [anon_sym_while] = ACTIONS(2825), + [anon_sym_do] = ACTIONS(2825), + [anon_sym_for] = ACTIONS(2825), + [anon_sym_return] = ACTIONS(2825), + [anon_sym_break] = ACTIONS(2825), + [anon_sym_continue] = ACTIONS(2825), + [anon_sym_goto] = ACTIONS(2825), + [anon_sym_not] = ACTIONS(2825), + [anon_sym_compl] = ACTIONS(2825), + [anon_sym_DASH_DASH] = ACTIONS(2827), + [anon_sym_PLUS_PLUS] = ACTIONS(2827), + [anon_sym_sizeof] = ACTIONS(2825), + [anon_sym___alignof__] = ACTIONS(2825), + [anon_sym___alignof] = ACTIONS(2825), + [anon_sym__alignof] = ACTIONS(2825), + [anon_sym_alignof] = ACTIONS(2825), + [anon_sym__Alignof] = ACTIONS(2825), + [anon_sym_offsetof] = ACTIONS(2825), + [anon_sym__Generic] = ACTIONS(2825), + [anon_sym_asm] = ACTIONS(2825), + [anon_sym___asm__] = ACTIONS(2825), + [sym__number_literal] = ACTIONS(2827), + [anon_sym_L_SQUOTE] = ACTIONS(2827), + [anon_sym_u_SQUOTE] = ACTIONS(2827), + [anon_sym_U_SQUOTE] = ACTIONS(2827), + [anon_sym_u8_SQUOTE] = ACTIONS(2827), + [anon_sym_SQUOTE] = ACTIONS(2827), + [anon_sym_L_DQUOTE] = ACTIONS(2827), + [anon_sym_u_DQUOTE] = ACTIONS(2827), + [anon_sym_U_DQUOTE] = ACTIONS(2827), + [anon_sym_u8_DQUOTE] = ACTIONS(2827), + [anon_sym_DQUOTE] = ACTIONS(2827), + [sym_true] = ACTIONS(2825), + [sym_false] = ACTIONS(2825), + [anon_sym_NULL] = ACTIONS(2825), + [anon_sym_nullptr] = ACTIONS(2825), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2827), + [sym_auto] = ACTIONS(2825), + [anon_sym_decltype] = ACTIONS(2825), + [sym_virtual] = ACTIONS(2825), + [anon_sym_explicit] = ACTIONS(2825), + [anon_sym_typename] = ACTIONS(2825), + [anon_sym_template] = ACTIONS(2825), + [anon_sym_operator] = ACTIONS(2825), + [anon_sym_try] = ACTIONS(2825), + [anon_sym_delete] = ACTIONS(2825), + [anon_sym_throw] = ACTIONS(2825), + [anon_sym_namespace] = ACTIONS(2825), + [anon_sym_using] = ACTIONS(2825), + [anon_sym_static_assert] = ACTIONS(2825), + [anon_sym_concept] = ACTIONS(2825), + [anon_sym_co_return] = ACTIONS(2825), + [anon_sym_co_yield] = ACTIONS(2825), + [anon_sym_R_DQUOTE] = ACTIONS(2827), + [anon_sym_LR_DQUOTE] = ACTIONS(2827), + [anon_sym_uR_DQUOTE] = ACTIONS(2827), + [anon_sym_UR_DQUOTE] = ACTIONS(2827), + [anon_sym_u8R_DQUOTE] = ACTIONS(2827), + [anon_sym_co_await] = ACTIONS(2825), + [anon_sym_new] = ACTIONS(2825), + [anon_sym_requires] = ACTIONS(2825), + [sym_this] = ACTIONS(2825), + }, + [762] = { + [sym_preproc_def] = STATE(766), + [sym_preproc_function_def] = STATE(766), + [sym_preproc_call] = STATE(766), + [sym_preproc_if_in_field_declaration_list] = STATE(766), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(766), + [sym_type_definition] = STATE(766), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(766), + [sym_field_declaration] = STATE(766), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(766), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(766), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(766), + [sym_operator_cast_declaration] = STATE(766), + [sym_constructor_or_destructor_definition] = STATE(766), + [sym_constructor_or_destructor_declaration] = STATE(766), + [sym_friend_declaration] = STATE(766), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(766), + [sym_alias_declaration] = STATE(766), + [sym_static_assert_declaration] = STATE(766), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(766), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3561), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [763] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3563), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [764] = { + [ts_builtin_sym_end] = ACTIONS(3033), + [sym__identifier] = ACTIONS(3031), + [aux_sym_preproc_include_token1] = ACTIONS(3031), + [aux_sym_preproc_def_token1] = ACTIONS(3031), + [aux_sym_preproc_if_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3031), + [sym_preproc_directive] = ACTIONS(3031), + [anon_sym_LPAREN2] = ACTIONS(3033), + [anon_sym_BANG] = ACTIONS(3033), + [anon_sym_TILDE] = ACTIONS(3033), + [anon_sym_DASH] = ACTIONS(3031), + [anon_sym_PLUS] = ACTIONS(3031), + [anon_sym_STAR] = ACTIONS(3033), + [anon_sym_AMP_AMP] = ACTIONS(3033), + [anon_sym_AMP] = ACTIONS(3031), + [anon_sym___extension__] = ACTIONS(3031), + [anon_sym_typedef] = ACTIONS(3031), + [anon_sym_extern] = ACTIONS(3031), + [anon_sym___attribute__] = ACTIONS(3031), + [anon_sym_COLON_COLON] = ACTIONS(3033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3033), + [anon_sym___declspec] = ACTIONS(3031), + [anon_sym___based] = ACTIONS(3031), + [anon_sym___cdecl] = ACTIONS(3031), + [anon_sym___clrcall] = ACTIONS(3031), + [anon_sym___stdcall] = ACTIONS(3031), + [anon_sym___fastcall] = ACTIONS(3031), + [anon_sym___thiscall] = ACTIONS(3031), + [anon_sym___vectorcall] = ACTIONS(3031), + [anon_sym_LBRACE] = ACTIONS(3033), + [anon_sym_signed] = ACTIONS(3031), + [anon_sym_unsigned] = ACTIONS(3031), + [anon_sym_long] = ACTIONS(3031), + [anon_sym_short] = ACTIONS(3031), + [anon_sym_LBRACK] = ACTIONS(3031), + [anon_sym_static] = ACTIONS(3031), + [anon_sym_register] = ACTIONS(3031), + [anon_sym_inline] = ACTIONS(3031), + [anon_sym___inline] = ACTIONS(3031), + [anon_sym___inline__] = ACTIONS(3031), + [anon_sym___forceinline] = ACTIONS(3031), + [anon_sym_thread_local] = ACTIONS(3031), + [anon_sym___thread] = ACTIONS(3031), + [anon_sym_const] = ACTIONS(3031), + [anon_sym_constexpr] = ACTIONS(3031), + [anon_sym_volatile] = ACTIONS(3031), + [anon_sym_restrict] = ACTIONS(3031), + [anon_sym___restrict__] = ACTIONS(3031), + [anon_sym__Atomic] = ACTIONS(3031), + [anon_sym__Noreturn] = ACTIONS(3031), + [anon_sym_noreturn] = ACTIONS(3031), + [anon_sym_mutable] = ACTIONS(3031), + [anon_sym_constinit] = ACTIONS(3031), + [anon_sym_consteval] = ACTIONS(3031), + [anon_sym_alignas] = ACTIONS(3031), + [anon_sym__Alignas] = ACTIONS(3031), + [sym_primitive_type] = ACTIONS(3031), + [anon_sym_enum] = ACTIONS(3031), + [anon_sym_class] = ACTIONS(3031), + [anon_sym_struct] = ACTIONS(3031), + [anon_sym_union] = ACTIONS(3031), + [anon_sym_if] = ACTIONS(3031), + [anon_sym_switch] = ACTIONS(3031), + [anon_sym_case] = ACTIONS(3031), + [anon_sym_default] = ACTIONS(3031), + [anon_sym_while] = ACTIONS(3031), + [anon_sym_do] = ACTIONS(3031), + [anon_sym_for] = ACTIONS(3031), + [anon_sym_return] = ACTIONS(3031), + [anon_sym_break] = ACTIONS(3031), + [anon_sym_continue] = ACTIONS(3031), + [anon_sym_goto] = ACTIONS(3031), + [anon_sym_not] = ACTIONS(3031), + [anon_sym_compl] = ACTIONS(3031), + [anon_sym_DASH_DASH] = ACTIONS(3033), + [anon_sym_PLUS_PLUS] = ACTIONS(3033), + [anon_sym_sizeof] = ACTIONS(3031), + [anon_sym___alignof__] = ACTIONS(3031), + [anon_sym___alignof] = ACTIONS(3031), + [anon_sym__alignof] = ACTIONS(3031), + [anon_sym_alignof] = ACTIONS(3031), + [anon_sym__Alignof] = ACTIONS(3031), + [anon_sym_offsetof] = ACTIONS(3031), + [anon_sym__Generic] = ACTIONS(3031), + [anon_sym_asm] = ACTIONS(3031), + [anon_sym___asm__] = ACTIONS(3031), + [sym__number_literal] = ACTIONS(3033), + [anon_sym_L_SQUOTE] = ACTIONS(3033), + [anon_sym_u_SQUOTE] = ACTIONS(3033), + [anon_sym_U_SQUOTE] = ACTIONS(3033), + [anon_sym_u8_SQUOTE] = ACTIONS(3033), + [anon_sym_SQUOTE] = ACTIONS(3033), + [anon_sym_L_DQUOTE] = ACTIONS(3033), + [anon_sym_u_DQUOTE] = ACTIONS(3033), + [anon_sym_U_DQUOTE] = ACTIONS(3033), + [anon_sym_u8_DQUOTE] = ACTIONS(3033), + [anon_sym_DQUOTE] = ACTIONS(3033), + [sym_true] = ACTIONS(3031), + [sym_false] = ACTIONS(3031), + [anon_sym_NULL] = ACTIONS(3031), + [anon_sym_nullptr] = ACTIONS(3031), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3033), + [sym_auto] = ACTIONS(3031), + [anon_sym_decltype] = ACTIONS(3031), + [sym_virtual] = ACTIONS(3031), + [anon_sym_explicit] = ACTIONS(3031), + [anon_sym_typename] = ACTIONS(3031), + [anon_sym_template] = ACTIONS(3031), + [anon_sym_operator] = ACTIONS(3031), + [anon_sym_try] = ACTIONS(3031), + [anon_sym_delete] = ACTIONS(3031), + [anon_sym_throw] = ACTIONS(3031), + [anon_sym_namespace] = ACTIONS(3031), + [anon_sym_using] = ACTIONS(3031), + [anon_sym_static_assert] = ACTIONS(3031), + [anon_sym_concept] = ACTIONS(3031), + [anon_sym_co_return] = ACTIONS(3031), + [anon_sym_co_yield] = ACTIONS(3031), + [anon_sym_R_DQUOTE] = ACTIONS(3033), + [anon_sym_LR_DQUOTE] = ACTIONS(3033), + [anon_sym_uR_DQUOTE] = ACTIONS(3033), + [anon_sym_UR_DQUOTE] = ACTIONS(3033), + [anon_sym_u8R_DQUOTE] = ACTIONS(3033), + [anon_sym_co_await] = ACTIONS(3031), + [anon_sym_new] = ACTIONS(3031), + [anon_sym_requires] = ACTIONS(3031), + [sym_this] = ACTIONS(3031), + }, + [765] = { + [ts_builtin_sym_end] = ACTIONS(3120), + [sym__identifier] = ACTIONS(3118), + [aux_sym_preproc_include_token1] = ACTIONS(3118), + [aux_sym_preproc_def_token1] = ACTIONS(3118), + [aux_sym_preproc_if_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3118), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3118), + [sym_preproc_directive] = ACTIONS(3118), + [anon_sym_LPAREN2] = ACTIONS(3120), + [anon_sym_BANG] = ACTIONS(3120), + [anon_sym_TILDE] = ACTIONS(3120), + [anon_sym_DASH] = ACTIONS(3118), + [anon_sym_PLUS] = ACTIONS(3118), + [anon_sym_STAR] = ACTIONS(3120), + [anon_sym_AMP_AMP] = ACTIONS(3120), + [anon_sym_AMP] = ACTIONS(3118), + [anon_sym___extension__] = ACTIONS(3118), + [anon_sym_typedef] = ACTIONS(3118), + [anon_sym_extern] = ACTIONS(3118), + [anon_sym___attribute__] = ACTIONS(3118), + [anon_sym_COLON_COLON] = ACTIONS(3120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3120), + [anon_sym___declspec] = ACTIONS(3118), + [anon_sym___based] = ACTIONS(3118), + [anon_sym___cdecl] = ACTIONS(3118), + [anon_sym___clrcall] = ACTIONS(3118), + [anon_sym___stdcall] = ACTIONS(3118), + [anon_sym___fastcall] = ACTIONS(3118), + [anon_sym___thiscall] = ACTIONS(3118), + [anon_sym___vectorcall] = ACTIONS(3118), + [anon_sym_LBRACE] = ACTIONS(3120), + [anon_sym_signed] = ACTIONS(3118), + [anon_sym_unsigned] = ACTIONS(3118), + [anon_sym_long] = ACTIONS(3118), + [anon_sym_short] = ACTIONS(3118), + [anon_sym_LBRACK] = ACTIONS(3118), + [anon_sym_static] = ACTIONS(3118), + [anon_sym_register] = ACTIONS(3118), + [anon_sym_inline] = ACTIONS(3118), + [anon_sym___inline] = ACTIONS(3118), + [anon_sym___inline__] = ACTIONS(3118), + [anon_sym___forceinline] = ACTIONS(3118), + [anon_sym_thread_local] = ACTIONS(3118), + [anon_sym___thread] = ACTIONS(3118), + [anon_sym_const] = ACTIONS(3118), + [anon_sym_constexpr] = ACTIONS(3118), + [anon_sym_volatile] = ACTIONS(3118), + [anon_sym_restrict] = ACTIONS(3118), + [anon_sym___restrict__] = ACTIONS(3118), + [anon_sym__Atomic] = ACTIONS(3118), + [anon_sym__Noreturn] = ACTIONS(3118), + [anon_sym_noreturn] = ACTIONS(3118), + [anon_sym_mutable] = ACTIONS(3118), + [anon_sym_constinit] = ACTIONS(3118), + [anon_sym_consteval] = ACTIONS(3118), + [anon_sym_alignas] = ACTIONS(3118), + [anon_sym__Alignas] = ACTIONS(3118), + [sym_primitive_type] = ACTIONS(3118), + [anon_sym_enum] = ACTIONS(3118), + [anon_sym_class] = ACTIONS(3118), + [anon_sym_struct] = ACTIONS(3118), + [anon_sym_union] = ACTIONS(3118), + [anon_sym_if] = ACTIONS(3118), + [anon_sym_switch] = ACTIONS(3118), + [anon_sym_case] = ACTIONS(3118), + [anon_sym_default] = ACTIONS(3118), + [anon_sym_while] = ACTIONS(3118), + [anon_sym_do] = ACTIONS(3118), + [anon_sym_for] = ACTIONS(3118), + [anon_sym_return] = ACTIONS(3118), + [anon_sym_break] = ACTIONS(3118), + [anon_sym_continue] = ACTIONS(3118), + [anon_sym_goto] = ACTIONS(3118), + [anon_sym_not] = ACTIONS(3118), + [anon_sym_compl] = ACTIONS(3118), + [anon_sym_DASH_DASH] = ACTIONS(3120), + [anon_sym_PLUS_PLUS] = ACTIONS(3120), + [anon_sym_sizeof] = ACTIONS(3118), + [anon_sym___alignof__] = ACTIONS(3118), + [anon_sym___alignof] = ACTIONS(3118), + [anon_sym__alignof] = ACTIONS(3118), + [anon_sym_alignof] = ACTIONS(3118), + [anon_sym__Alignof] = ACTIONS(3118), + [anon_sym_offsetof] = ACTIONS(3118), + [anon_sym__Generic] = ACTIONS(3118), + [anon_sym_asm] = ACTIONS(3118), + [anon_sym___asm__] = ACTIONS(3118), + [sym__number_literal] = ACTIONS(3120), + [anon_sym_L_SQUOTE] = ACTIONS(3120), + [anon_sym_u_SQUOTE] = ACTIONS(3120), + [anon_sym_U_SQUOTE] = ACTIONS(3120), + [anon_sym_u8_SQUOTE] = ACTIONS(3120), + [anon_sym_SQUOTE] = ACTIONS(3120), + [anon_sym_L_DQUOTE] = ACTIONS(3120), + [anon_sym_u_DQUOTE] = ACTIONS(3120), + [anon_sym_U_DQUOTE] = ACTIONS(3120), + [anon_sym_u8_DQUOTE] = ACTIONS(3120), + [anon_sym_DQUOTE] = ACTIONS(3120), + [sym_true] = ACTIONS(3118), + [sym_false] = ACTIONS(3118), + [anon_sym_NULL] = ACTIONS(3118), + [anon_sym_nullptr] = ACTIONS(3118), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3120), + [sym_auto] = ACTIONS(3118), + [anon_sym_decltype] = ACTIONS(3118), + [sym_virtual] = ACTIONS(3118), + [anon_sym_explicit] = ACTIONS(3118), + [anon_sym_typename] = ACTIONS(3118), + [anon_sym_template] = ACTIONS(3118), + [anon_sym_operator] = ACTIONS(3118), + [anon_sym_try] = ACTIONS(3118), + [anon_sym_delete] = ACTIONS(3118), + [anon_sym_throw] = ACTIONS(3118), + [anon_sym_namespace] = ACTIONS(3118), + [anon_sym_using] = ACTIONS(3118), + [anon_sym_static_assert] = ACTIONS(3118), + [anon_sym_concept] = ACTIONS(3118), + [anon_sym_co_return] = ACTIONS(3118), + [anon_sym_co_yield] = ACTIONS(3118), + [anon_sym_R_DQUOTE] = ACTIONS(3120), + [anon_sym_LR_DQUOTE] = ACTIONS(3120), + [anon_sym_uR_DQUOTE] = ACTIONS(3120), + [anon_sym_UR_DQUOTE] = ACTIONS(3120), + [anon_sym_u8R_DQUOTE] = ACTIONS(3120), + [anon_sym_co_await] = ACTIONS(3118), + [anon_sym_new] = ACTIONS(3118), + [anon_sym_requires] = ACTIONS(3118), + [sym_this] = ACTIONS(3118), + }, + [766] = { + [sym_preproc_def] = STATE(743), + [sym_preproc_function_def] = STATE(743), + [sym_preproc_call] = STATE(743), + [sym_preproc_if_in_field_declaration_list] = STATE(743), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(743), + [sym_type_definition] = STATE(743), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(743), + [sym_field_declaration] = STATE(743), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(743), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(743), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(743), + [sym_operator_cast_declaration] = STATE(743), + [sym_constructor_or_destructor_definition] = STATE(743), + [sym_constructor_or_destructor_declaration] = STATE(743), + [sym_friend_declaration] = STATE(743), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(743), + [sym_alias_declaration] = STATE(743), + [sym_static_assert_declaration] = STATE(743), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(743), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3565), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [767] = { + [ts_builtin_sym_end] = ACTIONS(3124), + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_include_token1] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_BANG] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_DASH] = ACTIONS(3122), + [anon_sym_PLUS] = ACTIONS(3122), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym___cdecl] = ACTIONS(3122), + [anon_sym___clrcall] = ACTIONS(3122), + [anon_sym___stdcall] = ACTIONS(3122), + [anon_sym___fastcall] = ACTIONS(3122), + [anon_sym___thiscall] = ACTIONS(3122), + [anon_sym___vectorcall] = ACTIONS(3122), + [anon_sym_LBRACE] = ACTIONS(3124), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [anon_sym_if] = ACTIONS(3122), + [anon_sym_switch] = ACTIONS(3122), + [anon_sym_case] = ACTIONS(3122), + [anon_sym_default] = ACTIONS(3122), + [anon_sym_while] = ACTIONS(3122), + [anon_sym_do] = ACTIONS(3122), + [anon_sym_for] = ACTIONS(3122), + [anon_sym_return] = ACTIONS(3122), + [anon_sym_break] = ACTIONS(3122), + [anon_sym_continue] = ACTIONS(3122), + [anon_sym_goto] = ACTIONS(3122), + [anon_sym_not] = ACTIONS(3122), + [anon_sym_compl] = ACTIONS(3122), + [anon_sym_DASH_DASH] = ACTIONS(3124), + [anon_sym_PLUS_PLUS] = ACTIONS(3124), + [anon_sym_sizeof] = ACTIONS(3122), + [anon_sym___alignof__] = ACTIONS(3122), + [anon_sym___alignof] = ACTIONS(3122), + [anon_sym__alignof] = ACTIONS(3122), + [anon_sym_alignof] = ACTIONS(3122), + [anon_sym__Alignof] = ACTIONS(3122), + [anon_sym_offsetof] = ACTIONS(3122), + [anon_sym__Generic] = ACTIONS(3122), + [anon_sym_asm] = ACTIONS(3122), + [anon_sym___asm__] = ACTIONS(3122), + [sym__number_literal] = ACTIONS(3124), + [anon_sym_L_SQUOTE] = ACTIONS(3124), + [anon_sym_u_SQUOTE] = ACTIONS(3124), + [anon_sym_U_SQUOTE] = ACTIONS(3124), + [anon_sym_u8_SQUOTE] = ACTIONS(3124), + [anon_sym_SQUOTE] = ACTIONS(3124), + [anon_sym_L_DQUOTE] = ACTIONS(3124), + [anon_sym_u_DQUOTE] = ACTIONS(3124), + [anon_sym_U_DQUOTE] = ACTIONS(3124), + [anon_sym_u8_DQUOTE] = ACTIONS(3124), + [anon_sym_DQUOTE] = ACTIONS(3124), + [sym_true] = ACTIONS(3122), + [sym_false] = ACTIONS(3122), + [anon_sym_NULL] = ACTIONS(3122), + [anon_sym_nullptr] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_try] = ACTIONS(3122), + [anon_sym_delete] = ACTIONS(3122), + [anon_sym_throw] = ACTIONS(3122), + [anon_sym_namespace] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + [anon_sym_concept] = ACTIONS(3122), + [anon_sym_co_return] = ACTIONS(3122), + [anon_sym_co_yield] = ACTIONS(3122), + [anon_sym_R_DQUOTE] = ACTIONS(3124), + [anon_sym_LR_DQUOTE] = ACTIONS(3124), + [anon_sym_uR_DQUOTE] = ACTIONS(3124), + [anon_sym_UR_DQUOTE] = ACTIONS(3124), + [anon_sym_u8R_DQUOTE] = ACTIONS(3124), + [anon_sym_co_await] = ACTIONS(3122), + [anon_sym_new] = ACTIONS(3122), + [anon_sym_requires] = ACTIONS(3122), + [sym_this] = ACTIONS(3122), + }, + [768] = { + [ts_builtin_sym_end] = ACTIONS(3132), + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_include_token1] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_BANG] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_DASH] = ACTIONS(3130), + [anon_sym_PLUS] = ACTIONS(3130), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym___cdecl] = ACTIONS(3130), + [anon_sym___clrcall] = ACTIONS(3130), + [anon_sym___stdcall] = ACTIONS(3130), + [anon_sym___fastcall] = ACTIONS(3130), + [anon_sym___thiscall] = ACTIONS(3130), + [anon_sym___vectorcall] = ACTIONS(3130), + [anon_sym_LBRACE] = ACTIONS(3132), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [anon_sym_if] = ACTIONS(3130), + [anon_sym_switch] = ACTIONS(3130), + [anon_sym_case] = ACTIONS(3130), + [anon_sym_default] = ACTIONS(3130), + [anon_sym_while] = ACTIONS(3130), + [anon_sym_do] = ACTIONS(3130), + [anon_sym_for] = ACTIONS(3130), + [anon_sym_return] = ACTIONS(3130), + [anon_sym_break] = ACTIONS(3130), + [anon_sym_continue] = ACTIONS(3130), + [anon_sym_goto] = ACTIONS(3130), + [anon_sym_not] = ACTIONS(3130), + [anon_sym_compl] = ACTIONS(3130), + [anon_sym_DASH_DASH] = ACTIONS(3132), + [anon_sym_PLUS_PLUS] = ACTIONS(3132), + [anon_sym_sizeof] = ACTIONS(3130), + [anon_sym___alignof__] = ACTIONS(3130), + [anon_sym___alignof] = ACTIONS(3130), + [anon_sym__alignof] = ACTIONS(3130), + [anon_sym_alignof] = ACTIONS(3130), + [anon_sym__Alignof] = ACTIONS(3130), + [anon_sym_offsetof] = ACTIONS(3130), + [anon_sym__Generic] = ACTIONS(3130), + [anon_sym_asm] = ACTIONS(3130), + [anon_sym___asm__] = ACTIONS(3130), + [sym__number_literal] = ACTIONS(3132), + [anon_sym_L_SQUOTE] = ACTIONS(3132), + [anon_sym_u_SQUOTE] = ACTIONS(3132), + [anon_sym_U_SQUOTE] = ACTIONS(3132), + [anon_sym_u8_SQUOTE] = ACTIONS(3132), + [anon_sym_SQUOTE] = ACTIONS(3132), + [anon_sym_L_DQUOTE] = ACTIONS(3132), + [anon_sym_u_DQUOTE] = ACTIONS(3132), + [anon_sym_U_DQUOTE] = ACTIONS(3132), + [anon_sym_u8_DQUOTE] = ACTIONS(3132), + [anon_sym_DQUOTE] = ACTIONS(3132), + [sym_true] = ACTIONS(3130), + [sym_false] = ACTIONS(3130), + [anon_sym_NULL] = ACTIONS(3130), + [anon_sym_nullptr] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_try] = ACTIONS(3130), + [anon_sym_delete] = ACTIONS(3130), + [anon_sym_throw] = ACTIONS(3130), + [anon_sym_namespace] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + [anon_sym_concept] = ACTIONS(3130), + [anon_sym_co_return] = ACTIONS(3130), + [anon_sym_co_yield] = ACTIONS(3130), + [anon_sym_R_DQUOTE] = ACTIONS(3132), + [anon_sym_LR_DQUOTE] = ACTIONS(3132), + [anon_sym_uR_DQUOTE] = ACTIONS(3132), + [anon_sym_UR_DQUOTE] = ACTIONS(3132), + [anon_sym_u8R_DQUOTE] = ACTIONS(3132), + [anon_sym_co_await] = ACTIONS(3130), + [anon_sym_new] = ACTIONS(3130), + [anon_sym_requires] = ACTIONS(3130), + [sym_this] = ACTIONS(3130), + }, + [769] = { + [sym_preproc_def] = STATE(739), + [sym_preproc_function_def] = STATE(739), + [sym_preproc_call] = STATE(739), + [sym_preproc_if_in_field_declaration_list] = STATE(739), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(739), + [sym_type_definition] = STATE(739), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(5588), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym__field_declaration_list_item] = STATE(739), + [sym_field_declaration] = STATE(739), + [sym_identifier] = STATE(3956), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(739), + [sym_operator_cast] = STATE(6636), + [sym_inline_method_definition] = STATE(739), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(739), + [sym_operator_cast_declaration] = STATE(739), + [sym_constructor_or_destructor_definition] = STATE(739), + [sym_constructor_or_destructor_declaration] = STATE(739), + [sym_friend_declaration] = STATE(739), + [sym_access_specifier] = STATE(8086), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_using_declaration] = STATE(739), + [sym_alias_declaration] = STATE(739), + [sym_static_assert_declaration] = STATE(739), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5421), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(739), + [aux_sym__declaration_specifiers_repeat1] = STATE(1961), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [aux_sym_preproc_def_token1] = ACTIONS(3401), + [aux_sym_preproc_if_token1] = ACTIONS(3403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3405), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3405), + [sym_preproc_directive] = ACTIONS(3407), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(3409), + [anon_sym_typedef] = ACTIONS(3411), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(3567), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_public] = ACTIONS(2885), + [anon_sym_private] = ACTIONS(2885), + [anon_sym_protected] = ACTIONS(2885), + [anon_sym_using] = ACTIONS(3419), + [anon_sym_static_assert] = ACTIONS(3421), + }, + [770] = { + [ts_builtin_sym_end] = ACTIONS(3041), + [sym__identifier] = ACTIONS(3039), + [aux_sym_preproc_include_token1] = ACTIONS(3039), + [aux_sym_preproc_def_token1] = ACTIONS(3039), + [aux_sym_preproc_if_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3039), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3039), + [sym_preproc_directive] = ACTIONS(3039), + [anon_sym_LPAREN2] = ACTIONS(3041), + [anon_sym_BANG] = ACTIONS(3041), + [anon_sym_TILDE] = ACTIONS(3041), + [anon_sym_DASH] = ACTIONS(3039), + [anon_sym_PLUS] = ACTIONS(3039), + [anon_sym_STAR] = ACTIONS(3041), + [anon_sym_AMP_AMP] = ACTIONS(3041), + [anon_sym_AMP] = ACTIONS(3039), + [anon_sym___extension__] = ACTIONS(3039), + [anon_sym_typedef] = ACTIONS(3039), + [anon_sym_extern] = ACTIONS(3039), + [anon_sym___attribute__] = ACTIONS(3039), + [anon_sym_COLON_COLON] = ACTIONS(3041), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3041), + [anon_sym___declspec] = ACTIONS(3039), + [anon_sym___based] = ACTIONS(3039), + [anon_sym___cdecl] = ACTIONS(3039), + [anon_sym___clrcall] = ACTIONS(3039), + [anon_sym___stdcall] = ACTIONS(3039), + [anon_sym___fastcall] = ACTIONS(3039), + [anon_sym___thiscall] = ACTIONS(3039), + [anon_sym___vectorcall] = ACTIONS(3039), + [anon_sym_LBRACE] = ACTIONS(3041), + [anon_sym_signed] = ACTIONS(3039), + [anon_sym_unsigned] = ACTIONS(3039), + [anon_sym_long] = ACTIONS(3039), + [anon_sym_short] = ACTIONS(3039), + [anon_sym_LBRACK] = ACTIONS(3039), + [anon_sym_static] = ACTIONS(3039), + [anon_sym_register] = ACTIONS(3039), + [anon_sym_inline] = ACTIONS(3039), + [anon_sym___inline] = ACTIONS(3039), + [anon_sym___inline__] = ACTIONS(3039), + [anon_sym___forceinline] = ACTIONS(3039), + [anon_sym_thread_local] = ACTIONS(3039), + [anon_sym___thread] = ACTIONS(3039), + [anon_sym_const] = ACTIONS(3039), + [anon_sym_constexpr] = ACTIONS(3039), + [anon_sym_volatile] = ACTIONS(3039), + [anon_sym_restrict] = ACTIONS(3039), + [anon_sym___restrict__] = ACTIONS(3039), + [anon_sym__Atomic] = ACTIONS(3039), + [anon_sym__Noreturn] = ACTIONS(3039), + [anon_sym_noreturn] = ACTIONS(3039), + [anon_sym_mutable] = ACTIONS(3039), + [anon_sym_constinit] = ACTIONS(3039), + [anon_sym_consteval] = ACTIONS(3039), + [anon_sym_alignas] = ACTIONS(3039), + [anon_sym__Alignas] = ACTIONS(3039), + [sym_primitive_type] = ACTIONS(3039), + [anon_sym_enum] = ACTIONS(3039), + [anon_sym_class] = ACTIONS(3039), + [anon_sym_struct] = ACTIONS(3039), + [anon_sym_union] = ACTIONS(3039), + [anon_sym_if] = ACTIONS(3039), + [anon_sym_switch] = ACTIONS(3039), + [anon_sym_case] = ACTIONS(3039), + [anon_sym_default] = ACTIONS(3039), + [anon_sym_while] = ACTIONS(3039), + [anon_sym_do] = ACTIONS(3039), + [anon_sym_for] = ACTIONS(3039), + [anon_sym_return] = ACTIONS(3039), + [anon_sym_break] = ACTIONS(3039), + [anon_sym_continue] = ACTIONS(3039), + [anon_sym_goto] = ACTIONS(3039), + [anon_sym_not] = ACTIONS(3039), + [anon_sym_compl] = ACTIONS(3039), + [anon_sym_DASH_DASH] = ACTIONS(3041), + [anon_sym_PLUS_PLUS] = ACTIONS(3041), + [anon_sym_sizeof] = ACTIONS(3039), + [anon_sym___alignof__] = ACTIONS(3039), + [anon_sym___alignof] = ACTIONS(3039), + [anon_sym__alignof] = ACTIONS(3039), + [anon_sym_alignof] = ACTIONS(3039), + [anon_sym__Alignof] = ACTIONS(3039), + [anon_sym_offsetof] = ACTIONS(3039), + [anon_sym__Generic] = ACTIONS(3039), + [anon_sym_asm] = ACTIONS(3039), + [anon_sym___asm__] = ACTIONS(3039), + [sym__number_literal] = ACTIONS(3041), + [anon_sym_L_SQUOTE] = ACTIONS(3041), + [anon_sym_u_SQUOTE] = ACTIONS(3041), + [anon_sym_U_SQUOTE] = ACTIONS(3041), + [anon_sym_u8_SQUOTE] = ACTIONS(3041), + [anon_sym_SQUOTE] = ACTIONS(3041), + [anon_sym_L_DQUOTE] = ACTIONS(3041), + [anon_sym_u_DQUOTE] = ACTIONS(3041), + [anon_sym_U_DQUOTE] = ACTIONS(3041), + [anon_sym_u8_DQUOTE] = ACTIONS(3041), + [anon_sym_DQUOTE] = ACTIONS(3041), + [sym_true] = ACTIONS(3039), + [sym_false] = ACTIONS(3039), + [anon_sym_NULL] = ACTIONS(3039), + [anon_sym_nullptr] = ACTIONS(3039), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3041), + [sym_auto] = ACTIONS(3039), + [anon_sym_decltype] = ACTIONS(3039), + [sym_virtual] = ACTIONS(3039), + [anon_sym_explicit] = ACTIONS(3039), + [anon_sym_typename] = ACTIONS(3039), + [anon_sym_template] = ACTIONS(3039), + [anon_sym_operator] = ACTIONS(3039), + [anon_sym_try] = ACTIONS(3039), + [anon_sym_delete] = ACTIONS(3039), + [anon_sym_throw] = ACTIONS(3039), + [anon_sym_namespace] = ACTIONS(3039), + [anon_sym_using] = ACTIONS(3039), + [anon_sym_static_assert] = ACTIONS(3039), + [anon_sym_concept] = ACTIONS(3039), + [anon_sym_co_return] = ACTIONS(3039), + [anon_sym_co_yield] = ACTIONS(3039), + [anon_sym_R_DQUOTE] = ACTIONS(3041), + [anon_sym_LR_DQUOTE] = ACTIONS(3041), + [anon_sym_uR_DQUOTE] = ACTIONS(3041), + [anon_sym_UR_DQUOTE] = ACTIONS(3041), + [anon_sym_u8R_DQUOTE] = ACTIONS(3041), + [anon_sym_co_await] = ACTIONS(3039), + [anon_sym_new] = ACTIONS(3039), + [anon_sym_requires] = ACTIONS(3039), + [sym_this] = ACTIONS(3039), + }, + [771] = { + [ts_builtin_sym_end] = ACTIONS(2917), + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_include_token1] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_BANG] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_DASH] = ACTIONS(2915), + [anon_sym_PLUS] = ACTIONS(2915), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym___cdecl] = ACTIONS(2915), + [anon_sym___clrcall] = ACTIONS(2915), + [anon_sym___stdcall] = ACTIONS(2915), + [anon_sym___fastcall] = ACTIONS(2915), + [anon_sym___thiscall] = ACTIONS(2915), + [anon_sym___vectorcall] = ACTIONS(2915), + [anon_sym_LBRACE] = ACTIONS(2917), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [anon_sym_if] = ACTIONS(2915), + [anon_sym_switch] = ACTIONS(2915), + [anon_sym_case] = ACTIONS(2915), + [anon_sym_default] = ACTIONS(2915), + [anon_sym_while] = ACTIONS(2915), + [anon_sym_do] = ACTIONS(2915), + [anon_sym_for] = ACTIONS(2915), + [anon_sym_return] = ACTIONS(2915), + [anon_sym_break] = ACTIONS(2915), + [anon_sym_continue] = ACTIONS(2915), + [anon_sym_goto] = ACTIONS(2915), + [anon_sym_not] = ACTIONS(2915), + [anon_sym_compl] = ACTIONS(2915), + [anon_sym_DASH_DASH] = ACTIONS(2917), + [anon_sym_PLUS_PLUS] = ACTIONS(2917), + [anon_sym_sizeof] = ACTIONS(2915), + [anon_sym___alignof__] = ACTIONS(2915), + [anon_sym___alignof] = ACTIONS(2915), + [anon_sym__alignof] = ACTIONS(2915), + [anon_sym_alignof] = ACTIONS(2915), + [anon_sym__Alignof] = ACTIONS(2915), + [anon_sym_offsetof] = ACTIONS(2915), + [anon_sym__Generic] = ACTIONS(2915), + [anon_sym_asm] = ACTIONS(2915), + [anon_sym___asm__] = ACTIONS(2915), + [sym__number_literal] = ACTIONS(2917), + [anon_sym_L_SQUOTE] = ACTIONS(2917), + [anon_sym_u_SQUOTE] = ACTIONS(2917), + [anon_sym_U_SQUOTE] = ACTIONS(2917), + [anon_sym_u8_SQUOTE] = ACTIONS(2917), + [anon_sym_SQUOTE] = ACTIONS(2917), + [anon_sym_L_DQUOTE] = ACTIONS(2917), + [anon_sym_u_DQUOTE] = ACTIONS(2917), + [anon_sym_U_DQUOTE] = ACTIONS(2917), + [anon_sym_u8_DQUOTE] = ACTIONS(2917), + [anon_sym_DQUOTE] = ACTIONS(2917), + [sym_true] = ACTIONS(2915), + [sym_false] = ACTIONS(2915), + [anon_sym_NULL] = ACTIONS(2915), + [anon_sym_nullptr] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_try] = ACTIONS(2915), + [anon_sym_delete] = ACTIONS(2915), + [anon_sym_throw] = ACTIONS(2915), + [anon_sym_namespace] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + [anon_sym_concept] = ACTIONS(2915), + [anon_sym_co_return] = ACTIONS(2915), + [anon_sym_co_yield] = ACTIONS(2915), + [anon_sym_R_DQUOTE] = ACTIONS(2917), + [anon_sym_LR_DQUOTE] = ACTIONS(2917), + [anon_sym_uR_DQUOTE] = ACTIONS(2917), + [anon_sym_UR_DQUOTE] = ACTIONS(2917), + [anon_sym_u8R_DQUOTE] = ACTIONS(2917), + [anon_sym_co_await] = ACTIONS(2915), + [anon_sym_new] = ACTIONS(2915), + [anon_sym_requires] = ACTIONS(2915), + [sym_this] = ACTIONS(2915), + }, + [772] = { + [ts_builtin_sym_end] = ACTIONS(3168), + [sym__identifier] = ACTIONS(3166), + [aux_sym_preproc_include_token1] = ACTIONS(3166), + [aux_sym_preproc_def_token1] = ACTIONS(3166), + [aux_sym_preproc_if_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3166), + [sym_preproc_directive] = ACTIONS(3166), + [anon_sym_LPAREN2] = ACTIONS(3168), + [anon_sym_BANG] = ACTIONS(3168), + [anon_sym_TILDE] = ACTIONS(3168), + [anon_sym_DASH] = ACTIONS(3166), + [anon_sym_PLUS] = ACTIONS(3166), + [anon_sym_STAR] = ACTIONS(3168), + [anon_sym_AMP_AMP] = ACTIONS(3168), + [anon_sym_AMP] = ACTIONS(3166), + [anon_sym___extension__] = ACTIONS(3166), + [anon_sym_typedef] = ACTIONS(3166), + [anon_sym_extern] = ACTIONS(3166), + [anon_sym___attribute__] = ACTIONS(3166), + [anon_sym_COLON_COLON] = ACTIONS(3168), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3168), + [anon_sym___declspec] = ACTIONS(3166), + [anon_sym___based] = ACTIONS(3166), + [anon_sym___cdecl] = ACTIONS(3166), + [anon_sym___clrcall] = ACTIONS(3166), + [anon_sym___stdcall] = ACTIONS(3166), + [anon_sym___fastcall] = ACTIONS(3166), + [anon_sym___thiscall] = ACTIONS(3166), + [anon_sym___vectorcall] = ACTIONS(3166), + [anon_sym_LBRACE] = ACTIONS(3168), + [anon_sym_signed] = ACTIONS(3166), + [anon_sym_unsigned] = ACTIONS(3166), + [anon_sym_long] = ACTIONS(3166), + [anon_sym_short] = ACTIONS(3166), + [anon_sym_LBRACK] = ACTIONS(3166), + [anon_sym_static] = ACTIONS(3166), + [anon_sym_register] = ACTIONS(3166), + [anon_sym_inline] = ACTIONS(3166), + [anon_sym___inline] = ACTIONS(3166), + [anon_sym___inline__] = ACTIONS(3166), + [anon_sym___forceinline] = ACTIONS(3166), + [anon_sym_thread_local] = ACTIONS(3166), + [anon_sym___thread] = ACTIONS(3166), + [anon_sym_const] = ACTIONS(3166), + [anon_sym_constexpr] = ACTIONS(3166), + [anon_sym_volatile] = ACTIONS(3166), + [anon_sym_restrict] = ACTIONS(3166), + [anon_sym___restrict__] = ACTIONS(3166), + [anon_sym__Atomic] = ACTIONS(3166), + [anon_sym__Noreturn] = ACTIONS(3166), + [anon_sym_noreturn] = ACTIONS(3166), + [anon_sym_mutable] = ACTIONS(3166), + [anon_sym_constinit] = ACTIONS(3166), + [anon_sym_consteval] = ACTIONS(3166), + [anon_sym_alignas] = ACTIONS(3166), + [anon_sym__Alignas] = ACTIONS(3166), + [sym_primitive_type] = ACTIONS(3166), + [anon_sym_enum] = ACTIONS(3166), + [anon_sym_class] = ACTIONS(3166), + [anon_sym_struct] = ACTIONS(3166), + [anon_sym_union] = ACTIONS(3166), + [anon_sym_if] = ACTIONS(3166), + [anon_sym_switch] = ACTIONS(3166), + [anon_sym_case] = ACTIONS(3166), + [anon_sym_default] = ACTIONS(3166), + [anon_sym_while] = ACTIONS(3166), + [anon_sym_do] = ACTIONS(3166), + [anon_sym_for] = ACTIONS(3166), + [anon_sym_return] = ACTIONS(3166), + [anon_sym_break] = ACTIONS(3166), + [anon_sym_continue] = ACTIONS(3166), + [anon_sym_goto] = ACTIONS(3166), + [anon_sym_not] = ACTIONS(3166), + [anon_sym_compl] = ACTIONS(3166), + [anon_sym_DASH_DASH] = ACTIONS(3168), + [anon_sym_PLUS_PLUS] = ACTIONS(3168), + [anon_sym_sizeof] = ACTIONS(3166), + [anon_sym___alignof__] = ACTIONS(3166), + [anon_sym___alignof] = ACTIONS(3166), + [anon_sym__alignof] = ACTIONS(3166), + [anon_sym_alignof] = ACTIONS(3166), + [anon_sym__Alignof] = ACTIONS(3166), + [anon_sym_offsetof] = ACTIONS(3166), + [anon_sym__Generic] = ACTIONS(3166), + [anon_sym_asm] = ACTIONS(3166), + [anon_sym___asm__] = ACTIONS(3166), + [sym__number_literal] = ACTIONS(3168), + [anon_sym_L_SQUOTE] = ACTIONS(3168), + [anon_sym_u_SQUOTE] = ACTIONS(3168), + [anon_sym_U_SQUOTE] = ACTIONS(3168), + [anon_sym_u8_SQUOTE] = ACTIONS(3168), + [anon_sym_SQUOTE] = ACTIONS(3168), + [anon_sym_L_DQUOTE] = ACTIONS(3168), + [anon_sym_u_DQUOTE] = ACTIONS(3168), + [anon_sym_U_DQUOTE] = ACTIONS(3168), + [anon_sym_u8_DQUOTE] = ACTIONS(3168), + [anon_sym_DQUOTE] = ACTIONS(3168), + [sym_true] = ACTIONS(3166), + [sym_false] = ACTIONS(3166), + [anon_sym_NULL] = ACTIONS(3166), + [anon_sym_nullptr] = ACTIONS(3166), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3168), + [sym_auto] = ACTIONS(3166), + [anon_sym_decltype] = ACTIONS(3166), + [sym_virtual] = ACTIONS(3166), + [anon_sym_explicit] = ACTIONS(3166), + [anon_sym_typename] = ACTIONS(3166), + [anon_sym_template] = ACTIONS(3166), + [anon_sym_operator] = ACTIONS(3166), + [anon_sym_try] = ACTIONS(3166), + [anon_sym_delete] = ACTIONS(3166), + [anon_sym_throw] = ACTIONS(3166), + [anon_sym_namespace] = ACTIONS(3166), + [anon_sym_using] = ACTIONS(3166), + [anon_sym_static_assert] = ACTIONS(3166), + [anon_sym_concept] = ACTIONS(3166), + [anon_sym_co_return] = ACTIONS(3166), + [anon_sym_co_yield] = ACTIONS(3166), + [anon_sym_R_DQUOTE] = ACTIONS(3168), + [anon_sym_LR_DQUOTE] = ACTIONS(3168), + [anon_sym_uR_DQUOTE] = ACTIONS(3168), + [anon_sym_UR_DQUOTE] = ACTIONS(3168), + [anon_sym_u8R_DQUOTE] = ACTIONS(3168), + [anon_sym_co_await] = ACTIONS(3166), + [anon_sym_new] = ACTIONS(3166), + [anon_sym_requires] = ACTIONS(3166), + [sym_this] = ACTIONS(3166), + }, + [773] = { + [sym__declaration_modifiers] = STATE(1947), + [sym__declaration_specifiers] = STATE(6207), + [sym_attribute_specifier] = STATE(1947), + [sym_attribute_declaration] = STATE(1947), + [sym_ms_declspec_modifier] = STATE(1947), + [sym_storage_class_specifier] = STATE(1947), + [sym_type_qualifier] = STATE(1947), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4162), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3812), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6410), + [sym_qualified_type_identifier] = STATE(2885), + [aux_sym__declaration_specifiers_repeat1] = STATE(1947), + [aux_sym_sized_type_specifier_repeat1] = STATE(4086), + [sym__identifier] = ACTIONS(3569), + [anon_sym_COMMA] = ACTIONS(3571), + [anon_sym_BANG] = ACTIONS(3573), + [anon_sym_TILDE] = ACTIONS(3571), + [anon_sym_DASH] = ACTIONS(3573), + [anon_sym_PLUS] = ACTIONS(3573), + [anon_sym_STAR] = ACTIONS(3573), + [anon_sym_SLASH] = ACTIONS(3573), + [anon_sym_PERCENT] = ACTIONS(3573), + [anon_sym_PIPE_PIPE] = ACTIONS(3571), + [anon_sym_AMP_AMP] = ACTIONS(3571), + [anon_sym_PIPE] = ACTIONS(3573), + [anon_sym_CARET] = ACTIONS(3573), + [anon_sym_AMP] = ACTIONS(3573), + [anon_sym_EQ_EQ] = ACTIONS(3571), + [anon_sym_BANG_EQ] = ACTIONS(3571), + [anon_sym_GT] = ACTIONS(3573), + [anon_sym_GT_EQ] = ACTIONS(3571), + [anon_sym_LT_EQ] = ACTIONS(3573), + [anon_sym_LT] = ACTIONS(3573), + [anon_sym_LT_LT] = ACTIONS(3573), + [anon_sym_GT_GT] = ACTIONS(3573), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3575), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(3577), + [anon_sym_unsigned] = ACTIONS(3577), + [anon_sym_long] = ACTIONS(3577), + [anon_sym_short] = ACTIONS(3577), + [anon_sym_static] = ACTIONS(57), + [anon_sym_EQ] = ACTIONS(3573), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(3579), + [anon_sym_enum] = ACTIONS(3581), + [anon_sym_class] = ACTIONS(3583), + [anon_sym_struct] = ACTIONS(3585), + [anon_sym_union] = ACTIONS(3587), + [anon_sym_STAR_EQ] = ACTIONS(3571), + [anon_sym_SLASH_EQ] = ACTIONS(3571), + [anon_sym_PERCENT_EQ] = ACTIONS(3571), + [anon_sym_PLUS_EQ] = ACTIONS(3571), + [anon_sym_DASH_EQ] = ACTIONS(3571), + [anon_sym_LT_LT_EQ] = ACTIONS(3571), + [anon_sym_GT_GT_EQ] = ACTIONS(3571), + [anon_sym_AMP_EQ] = ACTIONS(3571), + [anon_sym_CARET_EQ] = ACTIONS(3571), + [anon_sym_PIPE_EQ] = ACTIONS(3571), + [anon_sym_and_eq] = ACTIONS(3573), + [anon_sym_or_eq] = ACTIONS(3573), + [anon_sym_xor_eq] = ACTIONS(3573), + [anon_sym_not] = ACTIONS(3573), + [anon_sym_compl] = ACTIONS(3573), + [anon_sym_LT_EQ_GT] = ACTIONS(3571), + [anon_sym_or] = ACTIONS(3573), + [anon_sym_and] = ACTIONS(3573), + [anon_sym_bitor] = ACTIONS(3573), + [anon_sym_xor] = ACTIONS(3573), + [anon_sym_bitand] = ACTIONS(3573), + [anon_sym_not_eq] = ACTIONS(3573), + [anon_sym_DASH_DASH] = ACTIONS(3571), + [anon_sym_PLUS_PLUS] = ACTIONS(3571), + [anon_sym_DASH_GT] = ACTIONS(3573), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3589), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(3591), + [anon_sym_typename] = ACTIONS(3593), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3595), + [anon_sym_co_await] = ACTIONS(3573), + [anon_sym_new] = ACTIONS(3595), + [anon_sym_DASH_GT_STAR] = ACTIONS(3571), + [anon_sym_LPAREN_RPAREN] = ACTIONS(3571), + [anon_sym_LBRACK_RBRACK] = ACTIONS(3571), + [anon_sym_DQUOTE_DQUOTE] = ACTIONS(3597), + }, + [774] = { + [sym__declaration_modifiers] = STATE(1947), + [sym__declaration_specifiers] = STATE(6207), + [sym_attribute_specifier] = STATE(1947), + [sym_attribute_declaration] = STATE(1947), + [sym_ms_declspec_modifier] = STATE(1947), + [sym_storage_class_specifier] = STATE(1947), + [sym_type_qualifier] = STATE(1947), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4162), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3812), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6410), + [sym_qualified_type_identifier] = STATE(2885), + [aux_sym__declaration_specifiers_repeat1] = STATE(1947), + [aux_sym_sized_type_specifier_repeat1] = STATE(4086), + [sym__identifier] = ACTIONS(3569), + [anon_sym_COMMA] = ACTIONS(3599), + [anon_sym_BANG] = ACTIONS(3601), + [anon_sym_TILDE] = ACTIONS(3599), + [anon_sym_DASH] = ACTIONS(3601), + [anon_sym_PLUS] = ACTIONS(3601), + [anon_sym_STAR] = ACTIONS(3601), + [anon_sym_SLASH] = ACTIONS(3601), + [anon_sym_PERCENT] = ACTIONS(3601), + [anon_sym_PIPE_PIPE] = ACTIONS(3599), + [anon_sym_AMP_AMP] = ACTIONS(3599), + [anon_sym_PIPE] = ACTIONS(3601), + [anon_sym_CARET] = ACTIONS(3601), + [anon_sym_AMP] = ACTIONS(3601), + [anon_sym_EQ_EQ] = ACTIONS(3599), + [anon_sym_BANG_EQ] = ACTIONS(3599), + [anon_sym_GT] = ACTIONS(3601), + [anon_sym_GT_EQ] = ACTIONS(3599), + [anon_sym_LT_EQ] = ACTIONS(3601), + [anon_sym_LT] = ACTIONS(3601), + [anon_sym_LT_LT] = ACTIONS(3601), + [anon_sym_GT_GT] = ACTIONS(3601), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3575), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(3577), + [anon_sym_unsigned] = ACTIONS(3577), + [anon_sym_long] = ACTIONS(3577), + [anon_sym_short] = ACTIONS(3577), + [anon_sym_static] = ACTIONS(57), + [anon_sym_EQ] = ACTIONS(3601), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(3579), + [anon_sym_enum] = ACTIONS(3581), + [anon_sym_class] = ACTIONS(3583), + [anon_sym_struct] = ACTIONS(3585), + [anon_sym_union] = ACTIONS(3587), + [anon_sym_STAR_EQ] = ACTIONS(3599), + [anon_sym_SLASH_EQ] = ACTIONS(3599), + [anon_sym_PERCENT_EQ] = ACTIONS(3599), + [anon_sym_PLUS_EQ] = ACTIONS(3599), + [anon_sym_DASH_EQ] = ACTIONS(3599), + [anon_sym_LT_LT_EQ] = ACTIONS(3599), + [anon_sym_GT_GT_EQ] = ACTIONS(3599), + [anon_sym_AMP_EQ] = ACTIONS(3599), + [anon_sym_CARET_EQ] = ACTIONS(3599), + [anon_sym_PIPE_EQ] = ACTIONS(3599), + [anon_sym_and_eq] = ACTIONS(3601), + [anon_sym_or_eq] = ACTIONS(3601), + [anon_sym_xor_eq] = ACTIONS(3601), + [anon_sym_not] = ACTIONS(3601), + [anon_sym_compl] = ACTIONS(3601), + [anon_sym_LT_EQ_GT] = ACTIONS(3599), + [anon_sym_or] = ACTIONS(3601), + [anon_sym_and] = ACTIONS(3601), + [anon_sym_bitor] = ACTIONS(3601), + [anon_sym_xor] = ACTIONS(3601), + [anon_sym_bitand] = ACTIONS(3601), + [anon_sym_not_eq] = ACTIONS(3601), + [anon_sym_DASH_DASH] = ACTIONS(3599), + [anon_sym_PLUS_PLUS] = ACTIONS(3599), + [anon_sym_DASH_GT] = ACTIONS(3601), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3589), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(3591), + [anon_sym_typename] = ACTIONS(3593), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3603), + [anon_sym_co_await] = ACTIONS(3601), + [anon_sym_new] = ACTIONS(3603), + [anon_sym_DASH_GT_STAR] = ACTIONS(3599), + [anon_sym_LPAREN_RPAREN] = ACTIONS(3599), + [anon_sym_LBRACK_RBRACK] = ACTIONS(3599), + [anon_sym_DQUOTE_DQUOTE] = ACTIONS(3605), + }, + [775] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4625), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3607), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3613), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [776] = { + [sym_type_qualifier] = STATE(787), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4691), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(787), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3617), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3619), + [anon_sym_RBRACK] = ACTIONS(3621), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [777] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4597), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3623), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3625), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [778] = { + [sym_type_qualifier] = STATE(783), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4717), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(783), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3627), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3629), + [anon_sym_RBRACK] = ACTIONS(3631), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [779] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4682), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3633), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3635), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [780] = { + [sym_type_qualifier] = STATE(777), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4672), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(777), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3637), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3639), + [anon_sym_RBRACK] = ACTIONS(3641), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [781] = { + [sym_type_qualifier] = STATE(795), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4685), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(795), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3643), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3645), + [anon_sym_RBRACK] = ACTIONS(3647), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [782] = { + [sym_type_qualifier] = STATE(785), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4632), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(785), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3649), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3651), + [anon_sym_RBRACK] = ACTIONS(3653), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [783] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4629), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3655), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3657), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [784] = { + [sym_type_qualifier] = STATE(791), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4669), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(791), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3659), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3661), + [anon_sym_RBRACK] = ACTIONS(3663), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [785] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4606), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3665), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3667), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [786] = { + [sym_type_qualifier] = STATE(775), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4679), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(775), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3669), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3671), + [anon_sym_RBRACK] = ACTIONS(3673), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [787] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4617), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3675), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3677), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [788] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4678), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3679), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3681), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [789] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4681), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3683), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3685), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [790] = { + [sym_type_qualifier] = STATE(779), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4675), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(779), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3687), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3689), + [anon_sym_RBRACK] = ACTIONS(3691), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [791] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4620), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3693), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3695), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [792] = { + [sym_type_qualifier] = STATE(783), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4717), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1936), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(783), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3627), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3629), + [anon_sym_RBRACK] = ACTIONS(3631), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3697), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [793] = { + [sym_type_qualifier] = STATE(788), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4602), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(788), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3699), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3701), + [anon_sym_RBRACK] = ACTIONS(3703), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [794] = { + [sym_type_qualifier] = STATE(789), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4676), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(789), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3705), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3707), + [anon_sym_RBRACK] = ACTIONS(3709), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [795] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [sym_expression] = STATE(4705), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3711), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym___extension__] = ACTIONS(3609), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_static] = ACTIONS(3611), + [anon_sym_RBRACK] = ACTIONS(3713), + [anon_sym_const] = ACTIONS(3609), + [anon_sym_constexpr] = ACTIONS(3609), + [anon_sym_volatile] = ACTIONS(3609), + [anon_sym_restrict] = ACTIONS(3609), + [anon_sym___restrict__] = ACTIONS(3609), + [anon_sym__Atomic] = ACTIONS(3609), + [anon_sym__Noreturn] = ACTIONS(3609), + [anon_sym_noreturn] = ACTIONS(3609), + [anon_sym_mutable] = ACTIONS(3609), + [anon_sym_constinit] = ACTIONS(3609), + [anon_sym_consteval] = ACTIONS(3609), + [anon_sym_alignas] = ACTIONS(3615), + [anon_sym__Alignas] = ACTIONS(3615), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [796] = { + [sym_function_definition] = STATE(1790), + [sym_declaration] = STATE(1790), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4360), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1915), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(1790), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(1790), + [sym_operator_cast] = STATE(6665), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(1790), + [sym_operator_cast_declaration] = STATE(1790), + [sym_constructor_or_destructor_definition] = STATE(1790), + [sym_constructor_or_destructor_declaration] = STATE(1790), + [sym_friend_declaration] = STATE(1790), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(1790), + [sym_concept_definition] = STATE(1790), + [sym_requires_clause] = STATE(805), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_using] = ACTIONS(3717), + [anon_sym_concept] = ACTIONS(3719), + [anon_sym_requires] = ACTIONS(3721), + }, + [797] = { + [sym_function_definition] = STATE(694), + [sym_declaration] = STATE(694), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4384), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1904), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6094), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2747), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(694), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1705), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(694), + [sym_operator_cast] = STATE(6658), + [sym__constructor_specifiers] = STATE(1705), + [sym_operator_cast_definition] = STATE(694), + [sym_operator_cast_declaration] = STATE(694), + [sym_constructor_or_destructor_definition] = STATE(694), + [sym_constructor_or_destructor_declaration] = STATE(694), + [sym_friend_declaration] = STATE(694), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(694), + [sym_concept_definition] = STATE(694), + [sym_requires_clause] = STATE(810), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6658), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1705), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3723), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3725), + [anon_sym_using] = ACTIONS(3727), + [anon_sym_concept] = ACTIONS(147), + [anon_sym_requires] = ACTIONS(3721), + }, + [798] = { + [sym_function_definition] = STATE(641), + [sym_declaration] = STATE(641), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4310), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1942), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6128), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2701), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(641), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1701), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(641), + [sym_operator_cast] = STATE(6653), + [sym__constructor_specifiers] = STATE(1701), + [sym_operator_cast_definition] = STATE(641), + [sym_operator_cast_declaration] = STATE(641), + [sym_constructor_or_destructor_definition] = STATE(641), + [sym_constructor_or_destructor_declaration] = STATE(641), + [sym_friend_declaration] = STATE(641), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(641), + [sym_concept_definition] = STATE(641), + [sym_requires_clause] = STATE(807), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6653), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1701), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3729), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3731), + [anon_sym_using] = ACTIONS(3733), + [anon_sym_concept] = ACTIONS(772), + [anon_sym_requires] = ACTIONS(3721), + }, + [799] = { + [sym_function_definition] = STATE(327), + [sym_declaration] = STATE(327), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6167), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(327), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1700), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(327), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1700), + [sym_operator_cast_definition] = STATE(327), + [sym_operator_cast_declaration] = STATE(327), + [sym_constructor_or_destructor_definition] = STATE(327), + [sym_constructor_or_destructor_declaration] = STATE(327), + [sym_friend_declaration] = STATE(327), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(327), + [sym_concept_definition] = STATE(327), + [sym_requires_clause] = STATE(806), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1700), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3735), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3737), + [anon_sym_using] = ACTIONS(3739), + [anon_sym_concept] = ACTIONS(325), + [anon_sym_requires] = ACTIONS(3721), + }, + [800] = { + [sym_function_definition] = STATE(541), + [sym_declaration] = STATE(541), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6187), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(541), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1713), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(541), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1713), + [sym_operator_cast_definition] = STATE(541), + [sym_operator_cast_declaration] = STATE(541), + [sym_constructor_or_destructor_definition] = STATE(541), + [sym_constructor_or_destructor_declaration] = STATE(541), + [sym_friend_declaration] = STATE(541), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(541), + [sym_concept_definition] = STATE(541), + [sym_requires_clause] = STATE(809), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1713), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3741), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3743), + [anon_sym_using] = ACTIONS(3745), + [anon_sym_concept] = ACTIONS(231), + [anon_sym_requires] = ACTIONS(3721), + }, + [801] = { + [sym_function_definition] = STATE(2168), + [sym_declaration] = STATE(2168), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4400), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1912), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6154), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2763), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(2168), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1707), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(2168), + [sym_operator_cast] = STATE(6650), + [sym__constructor_specifiers] = STATE(1707), + [sym_operator_cast_definition] = STATE(2168), + [sym_operator_cast_declaration] = STATE(2168), + [sym_constructor_or_destructor_definition] = STATE(2168), + [sym_constructor_or_destructor_declaration] = STATE(2168), + [sym_friend_declaration] = STATE(2168), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(2168), + [sym_concept_definition] = STATE(2168), + [sym_requires_clause] = STATE(811), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6650), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1707), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3449), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3451), + [anon_sym_using] = ACTIONS(3747), + [anon_sym_concept] = ACTIONS(3749), + [anon_sym_requires] = ACTIONS(3721), + }, + [802] = { + [sym_function_definition] = STATE(2072), + [sym_declaration] = STATE(2072), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4321), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1934), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2741), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(2072), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(2072), + [sym_operator_cast] = STATE(6636), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(2072), + [sym_operator_cast_declaration] = STATE(2072), + [sym_constructor_or_destructor_definition] = STATE(2072), + [sym_constructor_or_destructor_declaration] = STATE(2072), + [sym_friend_declaration] = STATE(2072), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(2072), + [sym_concept_definition] = STATE(2072), + [sym_requires_clause] = STATE(808), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_using] = ACTIONS(3751), + [anon_sym_concept] = ACTIONS(3753), + [anon_sym_requires] = ACTIONS(3721), + }, + [803] = { + [sym__identifier] = ACTIONS(3755), + [anon_sym_COMMA] = ACTIONS(3757), + [anon_sym_RPAREN] = ACTIONS(3757), + [anon_sym_LPAREN2] = ACTIONS(3757), + [anon_sym_BANG] = ACTIONS(3757), + [anon_sym_TILDE] = ACTIONS(3757), + [anon_sym_DASH] = ACTIONS(3755), + [anon_sym_PLUS] = ACTIONS(3755), + [anon_sym_STAR] = ACTIONS(3757), + [anon_sym_AMP_AMP] = ACTIONS(3757), + [anon_sym_AMP] = ACTIONS(3755), + [anon_sym_SEMI] = ACTIONS(3757), + [anon_sym___extension__] = ACTIONS(3755), + [anon_sym_extern] = ACTIONS(3755), + [anon_sym___attribute__] = ACTIONS(3755), + [anon_sym_COLON_COLON] = ACTIONS(3757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3757), + [anon_sym___declspec] = ACTIONS(3755), + [anon_sym___based] = ACTIONS(3755), + [anon_sym_LBRACE] = ACTIONS(3757), + [anon_sym_signed] = ACTIONS(3755), + [anon_sym_unsigned] = ACTIONS(3755), + [anon_sym_long] = ACTIONS(3755), + [anon_sym_short] = ACTIONS(3755), + [anon_sym_LBRACK] = ACTIONS(3755), + [anon_sym_static] = ACTIONS(3755), + [anon_sym_EQ] = ACTIONS(3757), + [anon_sym_register] = ACTIONS(3755), + [anon_sym_inline] = ACTIONS(3755), + [anon_sym___inline] = ACTIONS(3755), + [anon_sym___inline__] = ACTIONS(3755), + [anon_sym___forceinline] = ACTIONS(3755), + [anon_sym_thread_local] = ACTIONS(3755), + [anon_sym___thread] = ACTIONS(3755), + [anon_sym_const] = ACTIONS(3755), + [anon_sym_constexpr] = ACTIONS(3755), + [anon_sym_volatile] = ACTIONS(3755), + [anon_sym_restrict] = ACTIONS(3755), + [anon_sym___restrict__] = ACTIONS(3755), + [anon_sym__Atomic] = ACTIONS(3755), + [anon_sym__Noreturn] = ACTIONS(3755), + [anon_sym_noreturn] = ACTIONS(3755), + [anon_sym_mutable] = ACTIONS(3755), + [anon_sym_constinit] = ACTIONS(3755), + [anon_sym_consteval] = ACTIONS(3755), + [anon_sym_alignas] = ACTIONS(3755), + [anon_sym__Alignas] = ACTIONS(3755), + [sym_primitive_type] = ACTIONS(3755), + [anon_sym_enum] = ACTIONS(3755), + [anon_sym_class] = ACTIONS(3755), + [anon_sym_struct] = ACTIONS(3755), + [anon_sym_union] = ACTIONS(3755), + [anon_sym_if] = ACTIONS(3755), + [anon_sym_switch] = ACTIONS(3755), + [anon_sym_case] = ACTIONS(3755), + [anon_sym_default] = ACTIONS(3755), + [anon_sym_while] = ACTIONS(3755), + [anon_sym_do] = ACTIONS(3755), + [anon_sym_for] = ACTIONS(3755), + [anon_sym_return] = ACTIONS(3755), + [anon_sym_break] = ACTIONS(3755), + [anon_sym_continue] = ACTIONS(3755), + [anon_sym_goto] = ACTIONS(3755), + [anon_sym___try] = ACTIONS(3755), + [anon_sym___leave] = ACTIONS(3755), + [anon_sym_not] = ACTIONS(3755), + [anon_sym_compl] = ACTIONS(3755), + [anon_sym_DASH_DASH] = ACTIONS(3757), + [anon_sym_PLUS_PLUS] = ACTIONS(3757), + [anon_sym_sizeof] = ACTIONS(3755), + [anon_sym___alignof__] = ACTIONS(3755), + [anon_sym___alignof] = ACTIONS(3755), + [anon_sym__alignof] = ACTIONS(3755), + [anon_sym_alignof] = ACTIONS(3755), + [anon_sym__Alignof] = ACTIONS(3755), + [anon_sym_offsetof] = ACTIONS(3755), + [anon_sym__Generic] = ACTIONS(3755), + [anon_sym_asm] = ACTIONS(3755), + [anon_sym___asm__] = ACTIONS(3755), + [sym__number_literal] = ACTIONS(3757), + [anon_sym_L_SQUOTE] = ACTIONS(3757), + [anon_sym_u_SQUOTE] = ACTIONS(3757), + [anon_sym_U_SQUOTE] = ACTIONS(3757), + [anon_sym_u8_SQUOTE] = ACTIONS(3757), + [anon_sym_SQUOTE] = ACTIONS(3757), + [anon_sym_L_DQUOTE] = ACTIONS(3757), + [anon_sym_u_DQUOTE] = ACTIONS(3757), + [anon_sym_U_DQUOTE] = ACTIONS(3757), + [anon_sym_u8_DQUOTE] = ACTIONS(3757), + [anon_sym_DQUOTE] = ACTIONS(3757), + [sym_true] = ACTIONS(3755), + [sym_false] = ACTIONS(3755), + [anon_sym_NULL] = ACTIONS(3755), + [anon_sym_nullptr] = ACTIONS(3755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3757), + [sym_auto] = ACTIONS(3755), + [anon_sym_decltype] = ACTIONS(3755), + [sym_virtual] = ACTIONS(3755), + [anon_sym_explicit] = ACTIONS(3755), + [anon_sym_typename] = ACTIONS(3755), + [anon_sym_template] = ACTIONS(3755), + [anon_sym_GT2] = ACTIONS(3757), + [anon_sym_operator] = ACTIONS(3755), + [anon_sym_try] = ACTIONS(3755), + [anon_sym_delete] = ACTIONS(3755), + [anon_sym_throw] = ACTIONS(3755), + [anon_sym_co_return] = ACTIONS(3755), + [anon_sym_co_yield] = ACTIONS(3755), + [anon_sym_R_DQUOTE] = ACTIONS(3757), + [anon_sym_LR_DQUOTE] = ACTIONS(3757), + [anon_sym_uR_DQUOTE] = ACTIONS(3757), + [anon_sym_UR_DQUOTE] = ACTIONS(3757), + [anon_sym_u8R_DQUOTE] = ACTIONS(3757), + [anon_sym_co_await] = ACTIONS(3755), + [anon_sym_new] = ACTIONS(3755), + [anon_sym_requires] = ACTIONS(3755), + [sym_this] = ACTIONS(3755), + }, + [804] = { + [sym__identifier] = ACTIONS(3759), + [anon_sym_COMMA] = ACTIONS(3761), + [anon_sym_RPAREN] = ACTIONS(3761), + [anon_sym_LPAREN2] = ACTIONS(3761), + [anon_sym_BANG] = ACTIONS(3761), + [anon_sym_TILDE] = ACTIONS(3761), + [anon_sym_DASH] = ACTIONS(3759), + [anon_sym_PLUS] = ACTIONS(3759), + [anon_sym_STAR] = ACTIONS(3761), + [anon_sym_AMP_AMP] = ACTIONS(3761), + [anon_sym_AMP] = ACTIONS(3759), + [anon_sym_SEMI] = ACTIONS(3761), + [anon_sym___extension__] = ACTIONS(3759), + [anon_sym_extern] = ACTIONS(3759), + [anon_sym___attribute__] = ACTIONS(3759), + [anon_sym_COLON_COLON] = ACTIONS(3761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3761), + [anon_sym___declspec] = ACTIONS(3759), + [anon_sym___based] = ACTIONS(3759), + [anon_sym_LBRACE] = ACTIONS(3761), + [anon_sym_signed] = ACTIONS(3759), + [anon_sym_unsigned] = ACTIONS(3759), + [anon_sym_long] = ACTIONS(3759), + [anon_sym_short] = ACTIONS(3759), + [anon_sym_LBRACK] = ACTIONS(3759), + [anon_sym_static] = ACTIONS(3759), + [anon_sym_EQ] = ACTIONS(3761), + [anon_sym_register] = ACTIONS(3759), + [anon_sym_inline] = ACTIONS(3759), + [anon_sym___inline] = ACTIONS(3759), + [anon_sym___inline__] = ACTIONS(3759), + [anon_sym___forceinline] = ACTIONS(3759), + [anon_sym_thread_local] = ACTIONS(3759), + [anon_sym___thread] = ACTIONS(3759), + [anon_sym_const] = ACTIONS(3759), + [anon_sym_constexpr] = ACTIONS(3759), + [anon_sym_volatile] = ACTIONS(3759), + [anon_sym_restrict] = ACTIONS(3759), + [anon_sym___restrict__] = ACTIONS(3759), + [anon_sym__Atomic] = ACTIONS(3759), + [anon_sym__Noreturn] = ACTIONS(3759), + [anon_sym_noreturn] = ACTIONS(3759), + [anon_sym_mutable] = ACTIONS(3759), + [anon_sym_constinit] = ACTIONS(3759), + [anon_sym_consteval] = ACTIONS(3759), + [anon_sym_alignas] = ACTIONS(3759), + [anon_sym__Alignas] = ACTIONS(3759), + [sym_primitive_type] = ACTIONS(3759), + [anon_sym_enum] = ACTIONS(3759), + [anon_sym_class] = ACTIONS(3759), + [anon_sym_struct] = ACTIONS(3759), + [anon_sym_union] = ACTIONS(3759), + [anon_sym_if] = ACTIONS(3759), + [anon_sym_switch] = ACTIONS(3759), + [anon_sym_case] = ACTIONS(3759), + [anon_sym_default] = ACTIONS(3759), + [anon_sym_while] = ACTIONS(3759), + [anon_sym_do] = ACTIONS(3759), + [anon_sym_for] = ACTIONS(3759), + [anon_sym_return] = ACTIONS(3759), + [anon_sym_break] = ACTIONS(3759), + [anon_sym_continue] = ACTIONS(3759), + [anon_sym_goto] = ACTIONS(3759), + [anon_sym___try] = ACTIONS(3759), + [anon_sym___leave] = ACTIONS(3759), + [anon_sym_not] = ACTIONS(3759), + [anon_sym_compl] = ACTIONS(3759), + [anon_sym_DASH_DASH] = ACTIONS(3761), + [anon_sym_PLUS_PLUS] = ACTIONS(3761), + [anon_sym_sizeof] = ACTIONS(3759), + [anon_sym___alignof__] = ACTIONS(3759), + [anon_sym___alignof] = ACTIONS(3759), + [anon_sym__alignof] = ACTIONS(3759), + [anon_sym_alignof] = ACTIONS(3759), + [anon_sym__Alignof] = ACTIONS(3759), + [anon_sym_offsetof] = ACTIONS(3759), + [anon_sym__Generic] = ACTIONS(3759), + [anon_sym_asm] = ACTIONS(3759), + [anon_sym___asm__] = ACTIONS(3759), + [sym__number_literal] = ACTIONS(3761), + [anon_sym_L_SQUOTE] = ACTIONS(3761), + [anon_sym_u_SQUOTE] = ACTIONS(3761), + [anon_sym_U_SQUOTE] = ACTIONS(3761), + [anon_sym_u8_SQUOTE] = ACTIONS(3761), + [anon_sym_SQUOTE] = ACTIONS(3761), + [anon_sym_L_DQUOTE] = ACTIONS(3761), + [anon_sym_u_DQUOTE] = ACTIONS(3761), + [anon_sym_U_DQUOTE] = ACTIONS(3761), + [anon_sym_u8_DQUOTE] = ACTIONS(3761), + [anon_sym_DQUOTE] = ACTIONS(3761), + [sym_true] = ACTIONS(3759), + [sym_false] = ACTIONS(3759), + [anon_sym_NULL] = ACTIONS(3759), + [anon_sym_nullptr] = ACTIONS(3759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3761), + [sym_auto] = ACTIONS(3759), + [anon_sym_decltype] = ACTIONS(3759), + [sym_virtual] = ACTIONS(3759), + [anon_sym_explicit] = ACTIONS(3759), + [anon_sym_typename] = ACTIONS(3759), + [anon_sym_template] = ACTIONS(3759), + [anon_sym_GT2] = ACTIONS(3761), + [anon_sym_operator] = ACTIONS(3759), + [anon_sym_try] = ACTIONS(3759), + [anon_sym_delete] = ACTIONS(3759), + [anon_sym_throw] = ACTIONS(3759), + [anon_sym_co_return] = ACTIONS(3759), + [anon_sym_co_yield] = ACTIONS(3759), + [anon_sym_R_DQUOTE] = ACTIONS(3761), + [anon_sym_LR_DQUOTE] = ACTIONS(3761), + [anon_sym_uR_DQUOTE] = ACTIONS(3761), + [anon_sym_UR_DQUOTE] = ACTIONS(3761), + [anon_sym_u8R_DQUOTE] = ACTIONS(3761), + [anon_sym_co_await] = ACTIONS(3759), + [anon_sym_new] = ACTIONS(3759), + [anon_sym_requires] = ACTIONS(3759), + [sym_this] = ACTIONS(3759), + }, + [805] = { + [sym_function_definition] = STATE(1752), + [sym_declaration] = STATE(1752), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4360), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1915), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6137), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(1752), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1710), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(1752), + [sym_operator_cast] = STATE(6665), + [sym__constructor_specifiers] = STATE(1710), + [sym_operator_cast_definition] = STATE(1752), + [sym_operator_cast_declaration] = STATE(1752), + [sym_constructor_or_destructor_definition] = STATE(1752), + [sym_constructor_or_destructor_declaration] = STATE(1752), + [sym_friend_declaration] = STATE(1752), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(1752), + [sym_concept_definition] = STATE(1752), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6665), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1710), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(2881), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(2883), + [anon_sym_using] = ACTIONS(3717), + [anon_sym_concept] = ACTIONS(3719), + }, + [806] = { + [sym_function_definition] = STATE(329), + [sym_declaration] = STATE(329), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4356), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1929), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6167), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2730), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(329), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1700), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(329), + [sym_operator_cast] = STATE(6629), + [sym__constructor_specifiers] = STATE(1700), + [sym_operator_cast_definition] = STATE(329), + [sym_operator_cast_declaration] = STATE(329), + [sym_constructor_or_destructor_definition] = STATE(329), + [sym_constructor_or_destructor_declaration] = STATE(329), + [sym_friend_declaration] = STATE(329), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(329), + [sym_concept_definition] = STATE(329), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6629), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1700), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3735), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3737), + [anon_sym_using] = ACTIONS(3739), + [anon_sym_concept] = ACTIONS(325), + }, + [807] = { + [sym_function_definition] = STATE(616), + [sym_declaration] = STATE(616), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4310), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1942), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6128), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2701), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(616), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1701), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(616), + [sym_operator_cast] = STATE(6653), + [sym__constructor_specifiers] = STATE(1701), + [sym_operator_cast_definition] = STATE(616), + [sym_operator_cast_declaration] = STATE(616), + [sym_constructor_or_destructor_definition] = STATE(616), + [sym_constructor_or_destructor_declaration] = STATE(616), + [sym_friend_declaration] = STATE(616), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(616), + [sym_concept_definition] = STATE(616), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6653), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1701), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3729), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3731), + [anon_sym_using] = ACTIONS(3733), + [anon_sym_concept] = ACTIONS(772), + }, + [808] = { + [sym_function_definition] = STATE(2205), + [sym_declaration] = STATE(2205), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4321), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1934), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6091), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2741), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(2205), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1708), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(2205), + [sym_operator_cast] = STATE(6636), + [sym__constructor_specifiers] = STATE(1708), + [sym_operator_cast_definition] = STATE(2205), + [sym_operator_cast_declaration] = STATE(2205), + [sym_constructor_or_destructor_definition] = STATE(2205), + [sym_constructor_or_destructor_declaration] = STATE(2205), + [sym_friend_declaration] = STATE(2205), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(2205), + [sym_concept_definition] = STATE(2205), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6636), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1708), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3415), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3417), + [anon_sym_using] = ACTIONS(3751), + [anon_sym_concept] = ACTIONS(3753), + }, + [809] = { + [sym_function_definition] = STATE(583), + [sym_declaration] = STATE(583), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4277), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1907), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6187), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2751), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(583), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1713), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(583), + [sym_operator_cast] = STATE(6631), + [sym__constructor_specifiers] = STATE(1713), + [sym_operator_cast_definition] = STATE(583), + [sym_operator_cast_declaration] = STATE(583), + [sym_constructor_or_destructor_definition] = STATE(583), + [sym_constructor_or_destructor_declaration] = STATE(583), + [sym_friend_declaration] = STATE(583), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(583), + [sym_concept_definition] = STATE(583), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6631), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1713), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3741), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3743), + [anon_sym_using] = ACTIONS(3745), + [anon_sym_concept] = ACTIONS(231), + }, + [810] = { + [sym_function_definition] = STATE(742), + [sym_declaration] = STATE(742), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4384), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1904), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6094), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2747), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(742), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1705), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(742), + [sym_operator_cast] = STATE(6658), + [sym__constructor_specifiers] = STATE(1705), + [sym_operator_cast_definition] = STATE(742), + [sym_operator_cast_declaration] = STATE(742), + [sym_constructor_or_destructor_definition] = STATE(742), + [sym_constructor_or_destructor_declaration] = STATE(742), + [sym_friend_declaration] = STATE(742), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(742), + [sym_concept_definition] = STATE(742), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6658), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1705), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3723), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3725), + [anon_sym_using] = ACTIONS(3727), + [anon_sym_concept] = ACTIONS(147), + }, + [811] = { + [sym_function_definition] = STATE(2085), + [sym_declaration] = STATE(2085), + [sym__declaration_modifiers] = STATE(3307), + [sym__declaration_specifiers] = STATE(4400), + [sym_attribute_specifier] = STATE(3307), + [sym_attribute_declaration] = STATE(3307), + [sym_ms_declspec_modifier] = STATE(3307), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(1912), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6154), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3307), + [sym_type_qualifier] = STATE(3307), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2763), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2919), + [sym__empty_declaration] = STATE(2085), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_explicit_function_specifier] = STATE(1707), + [sym_dependent_type] = STATE(2523), + [sym_template_declaration] = STATE(2085), + [sym_operator_cast] = STATE(6650), + [sym__constructor_specifiers] = STATE(1707), + [sym_operator_cast_definition] = STATE(2085), + [sym_operator_cast_declaration] = STATE(2085), + [sym_constructor_or_destructor_definition] = STATE(2085), + [sym_constructor_or_destructor_declaration] = STATE(2085), + [sym_friend_declaration] = STATE(2085), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_alias_declaration] = STATE(2085), + [sym_concept_definition] = STATE(2085), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5355), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_qualified_operator_cast_identifier] = STATE(6650), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [aux_sym_operator_cast_definition_repeat1] = STATE(1707), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3715), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(125), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(3449), + [anon_sym_operator] = ACTIONS(133), + [anon_sym_friend] = ACTIONS(3451), + [anon_sym_using] = ACTIONS(3747), + [anon_sym_concept] = ACTIONS(3749), + }, + [812] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1621), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3778), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3786), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym___cdecl] = ACTIONS(3763), + [anon_sym___clrcall] = ACTIONS(3763), + [anon_sym___stdcall] = ACTIONS(3763), + [anon_sym___fastcall] = ACTIONS(3763), + [anon_sym___thiscall] = ACTIONS(3763), + [anon_sym___vectorcall] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3799), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [813] = { + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6414), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_expression] = STATE(3127), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1760), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3226), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5539), + [sym_qualified_identifier] = STATE(3222), + [sym_qualified_type_identifier] = STATE(7523), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(1721), + [anon_sym_LPAREN2] = ACTIONS(1725), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1729), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1733), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1735), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1743), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2564), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [814] = { + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6414), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1823), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3291), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5542), + [sym_qualified_identifier] = STATE(3296), + [sym_qualified_type_identifier] = STATE(7795), + [sym_operator_name] = STATE(6299), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(2651), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(2653), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1743), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2657), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [815] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1621), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3778), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3786), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym___cdecl] = ACTIONS(3763), + [anon_sym___clrcall] = ACTIONS(3763), + [anon_sym___stdcall] = ACTIONS(3763), + [anon_sym___fastcall] = ACTIONS(3763), + [anon_sym___thiscall] = ACTIONS(3763), + [anon_sym___vectorcall] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3805), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [816] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1621), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3778), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3786), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym___cdecl] = ACTIONS(3763), + [anon_sym___clrcall] = ACTIONS(3763), + [anon_sym___stdcall] = ACTIONS(3763), + [anon_sym___fastcall] = ACTIONS(3763), + [anon_sym___thiscall] = ACTIONS(3763), + [anon_sym___vectorcall] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3807), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [817] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1621), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3778), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3786), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym___cdecl] = ACTIONS(3763), + [anon_sym___clrcall] = ACTIONS(3763), + [anon_sym___stdcall] = ACTIONS(3763), + [anon_sym___fastcall] = ACTIONS(3763), + [anon_sym___thiscall] = ACTIONS(3763), + [anon_sym___vectorcall] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3809), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [818] = { + [sym__identifier] = ACTIONS(3811), + [anon_sym_LPAREN2] = ACTIONS(3814), + [anon_sym_BANG] = ACTIONS(3817), + [anon_sym_TILDE] = ACTIONS(3814), + [anon_sym_DASH] = ACTIONS(3819), + [anon_sym_PLUS] = ACTIONS(3819), + [anon_sym_STAR] = ACTIONS(3814), + [anon_sym_AMP_AMP] = ACTIONS(3821), + [anon_sym_AMP] = ACTIONS(3811), + [anon_sym_SEMI] = ACTIONS(3817), + [anon_sym___extension__] = ACTIONS(3823), + [anon_sym_extern] = ACTIONS(3823), + [anon_sym___attribute__] = ACTIONS(3823), + [anon_sym_COLON_COLON] = ACTIONS(3814), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3814), + [anon_sym___declspec] = ACTIONS(3823), + [anon_sym___based] = ACTIONS(3823), + [anon_sym_LBRACE] = ACTIONS(3817), + [anon_sym_signed] = ACTIONS(3823), + [anon_sym_unsigned] = ACTIONS(3823), + [anon_sym_long] = ACTIONS(3823), + [anon_sym_short] = ACTIONS(3823), + [anon_sym_LBRACK] = ACTIONS(3811), + [anon_sym_static] = ACTIONS(3823), + [anon_sym_register] = ACTIONS(3823), + [anon_sym_inline] = ACTIONS(3823), + [anon_sym___inline] = ACTIONS(3823), + [anon_sym___inline__] = ACTIONS(3823), + [anon_sym___forceinline] = ACTIONS(3823), + [anon_sym_thread_local] = ACTIONS(3823), + [anon_sym___thread] = ACTIONS(3823), + [anon_sym_const] = ACTIONS(3823), + [anon_sym_constexpr] = ACTIONS(3823), + [anon_sym_volatile] = ACTIONS(3823), + [anon_sym_restrict] = ACTIONS(3823), + [anon_sym___restrict__] = ACTIONS(3823), + [anon_sym__Atomic] = ACTIONS(3823), + [anon_sym__Noreturn] = ACTIONS(3823), + [anon_sym_noreturn] = ACTIONS(3823), + [anon_sym_mutable] = ACTIONS(3823), + [anon_sym_constinit] = ACTIONS(3823), + [anon_sym_consteval] = ACTIONS(3823), + [anon_sym_alignas] = ACTIONS(3823), + [anon_sym__Alignas] = ACTIONS(3823), + [sym_primitive_type] = ACTIONS(3811), + [anon_sym_enum] = ACTIONS(3823), + [anon_sym_class] = ACTIONS(3823), + [anon_sym_struct] = ACTIONS(3823), + [anon_sym_union] = ACTIONS(3823), + [anon_sym_if] = ACTIONS(3819), + [anon_sym_switch] = ACTIONS(3819), + [anon_sym_case] = ACTIONS(3819), + [anon_sym_default] = ACTIONS(3819), + [anon_sym_while] = ACTIONS(3819), + [anon_sym_do] = ACTIONS(3819), + [anon_sym_for] = ACTIONS(3819), + [anon_sym_return] = ACTIONS(3819), + [anon_sym_break] = ACTIONS(3819), + [anon_sym_continue] = ACTIONS(3819), + [anon_sym_goto] = ACTIONS(3819), + [anon_sym___try] = ACTIONS(3819), + [anon_sym___leave] = ACTIONS(3819), + [anon_sym_not] = ACTIONS(3819), + [anon_sym_compl] = ACTIONS(3819), + [anon_sym_DASH_DASH] = ACTIONS(3817), + [anon_sym_PLUS_PLUS] = ACTIONS(3817), + [anon_sym_sizeof] = ACTIONS(3819), + [anon_sym___alignof__] = ACTIONS(3819), + [anon_sym___alignof] = ACTIONS(3819), + [anon_sym__alignof] = ACTIONS(3819), + [anon_sym_alignof] = ACTIONS(3819), + [anon_sym__Alignof] = ACTIONS(3819), + [anon_sym_offsetof] = ACTIONS(3819), + [anon_sym__Generic] = ACTIONS(3819), + [anon_sym_asm] = ACTIONS(3819), + [anon_sym___asm__] = ACTIONS(3819), + [sym__number_literal] = ACTIONS(3817), + [anon_sym_L_SQUOTE] = ACTIONS(3817), + [anon_sym_u_SQUOTE] = ACTIONS(3817), + [anon_sym_U_SQUOTE] = ACTIONS(3817), + [anon_sym_u8_SQUOTE] = ACTIONS(3817), + [anon_sym_SQUOTE] = ACTIONS(3817), + [anon_sym_L_DQUOTE] = ACTIONS(3817), + [anon_sym_u_DQUOTE] = ACTIONS(3817), + [anon_sym_U_DQUOTE] = ACTIONS(3817), + [anon_sym_u8_DQUOTE] = ACTIONS(3817), + [anon_sym_DQUOTE] = ACTIONS(3817), + [sym_true] = ACTIONS(3819), + [sym_false] = ACTIONS(3819), + [anon_sym_NULL] = ACTIONS(3819), + [anon_sym_nullptr] = ACTIONS(3819), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3814), + [sym_auto] = ACTIONS(3823), + [anon_sym_decltype] = ACTIONS(3811), + [sym_virtual] = ACTIONS(3823), + [anon_sym_explicit] = ACTIONS(3823), + [anon_sym_typename] = ACTIONS(3823), + [anon_sym_template] = ACTIONS(3811), + [anon_sym_operator] = ACTIONS(3823), + [anon_sym_try] = ACTIONS(3819), + [anon_sym_delete] = ACTIONS(3819), + [anon_sym_throw] = ACTIONS(3819), + [anon_sym_co_return] = ACTIONS(3819), + [anon_sym_co_yield] = ACTIONS(3819), + [anon_sym_R_DQUOTE] = ACTIONS(3817), + [anon_sym_LR_DQUOTE] = ACTIONS(3817), + [anon_sym_uR_DQUOTE] = ACTIONS(3817), + [anon_sym_UR_DQUOTE] = ACTIONS(3817), + [anon_sym_u8R_DQUOTE] = ACTIONS(3817), + [anon_sym_co_await] = ACTIONS(3819), + [anon_sym_new] = ACTIONS(3819), + [anon_sym_requires] = ACTIONS(3819), + [sym_this] = ACTIONS(3819), + }, + [819] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1621), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3825), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3786), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym___cdecl] = ACTIONS(3763), + [anon_sym___clrcall] = ACTIONS(3763), + [anon_sym___stdcall] = ACTIONS(3763), + [anon_sym___fastcall] = ACTIONS(3763), + [anon_sym___thiscall] = ACTIONS(3763), + [anon_sym___vectorcall] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3827), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [820] = { + [sym_catch_clause] = STATE(820), + [aux_sym_constructor_try_statement_repeat1] = STATE(820), + [sym__identifier] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_BANG] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_DASH] = ACTIONS(2572), + [anon_sym_PLUS] = ACTIONS(2572), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2574), + [anon_sym_SEMI] = ACTIONS(2574), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym_LBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [anon_sym_if] = ACTIONS(2572), + [anon_sym_else] = ACTIONS(2572), + [anon_sym_switch] = ACTIONS(2572), + [anon_sym_while] = ACTIONS(2572), + [anon_sym_do] = ACTIONS(2572), + [anon_sym_for] = ACTIONS(2572), + [anon_sym_return] = ACTIONS(2572), + [anon_sym_break] = ACTIONS(2572), + [anon_sym_continue] = ACTIONS(2572), + [anon_sym_goto] = ACTIONS(2572), + [anon_sym___try] = ACTIONS(2572), + [anon_sym___leave] = ACTIONS(2572), + [anon_sym_not] = ACTIONS(2572), + [anon_sym_compl] = ACTIONS(2572), + [anon_sym_DASH_DASH] = ACTIONS(2574), + [anon_sym_PLUS_PLUS] = ACTIONS(2574), + [anon_sym_sizeof] = ACTIONS(2572), + [anon_sym___alignof__] = ACTIONS(2572), + [anon_sym___alignof] = ACTIONS(2572), + [anon_sym__alignof] = ACTIONS(2572), + [anon_sym_alignof] = ACTIONS(2572), + [anon_sym__Alignof] = ACTIONS(2572), + [anon_sym_offsetof] = ACTIONS(2572), + [anon_sym__Generic] = ACTIONS(2572), + [anon_sym_asm] = ACTIONS(2572), + [anon_sym___asm__] = ACTIONS(2572), + [sym__number_literal] = ACTIONS(2574), + [anon_sym_L_SQUOTE] = ACTIONS(2574), + [anon_sym_u_SQUOTE] = ACTIONS(2574), + [anon_sym_U_SQUOTE] = ACTIONS(2574), + [anon_sym_u8_SQUOTE] = ACTIONS(2574), + [anon_sym_SQUOTE] = ACTIONS(2574), + [anon_sym_L_DQUOTE] = ACTIONS(2574), + [anon_sym_u_DQUOTE] = ACTIONS(2574), + [anon_sym_U_DQUOTE] = ACTIONS(2574), + [anon_sym_u8_DQUOTE] = ACTIONS(2574), + [anon_sym_DQUOTE] = ACTIONS(2574), + [sym_true] = ACTIONS(2572), + [sym_false] = ACTIONS(2572), + [anon_sym_NULL] = ACTIONS(2572), + [anon_sym_nullptr] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_try] = ACTIONS(2572), + [anon_sym_delete] = ACTIONS(2572), + [anon_sym_throw] = ACTIONS(2572), + [anon_sym_co_return] = ACTIONS(2572), + [anon_sym_co_yield] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(3829), + [anon_sym_R_DQUOTE] = ACTIONS(2574), + [anon_sym_LR_DQUOTE] = ACTIONS(2574), + [anon_sym_uR_DQUOTE] = ACTIONS(2574), + [anon_sym_UR_DQUOTE] = ACTIONS(2574), + [anon_sym_u8R_DQUOTE] = ACTIONS(2574), + [anon_sym_co_await] = ACTIONS(2572), + [anon_sym_new] = ACTIONS(2572), + [anon_sym_requires] = ACTIONS(2572), + [sym_this] = ACTIONS(2572), + }, + [821] = { + [sym_catch_clause] = STATE(820), + [aux_sym_constructor_try_statement_repeat1] = STATE(820), + [sym__identifier] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_BANG] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_DASH] = ACTIONS(2566), + [anon_sym_PLUS] = ACTIONS(2566), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2568), + [anon_sym_SEMI] = ACTIONS(2568), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym_LBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [anon_sym_if] = ACTIONS(2566), + [anon_sym_else] = ACTIONS(2566), + [anon_sym_switch] = ACTIONS(2566), + [anon_sym_while] = ACTIONS(2566), + [anon_sym_do] = ACTIONS(2566), + [anon_sym_for] = ACTIONS(2566), + [anon_sym_return] = ACTIONS(2566), + [anon_sym_break] = ACTIONS(2566), + [anon_sym_continue] = ACTIONS(2566), + [anon_sym_goto] = ACTIONS(2566), + [anon_sym___try] = ACTIONS(2566), + [anon_sym___leave] = ACTIONS(2566), + [anon_sym_not] = ACTIONS(2566), + [anon_sym_compl] = ACTIONS(2566), + [anon_sym_DASH_DASH] = ACTIONS(2568), + [anon_sym_PLUS_PLUS] = ACTIONS(2568), + [anon_sym_sizeof] = ACTIONS(2566), + [anon_sym___alignof__] = ACTIONS(2566), + [anon_sym___alignof] = ACTIONS(2566), + [anon_sym__alignof] = ACTIONS(2566), + [anon_sym_alignof] = ACTIONS(2566), + [anon_sym__Alignof] = ACTIONS(2566), + [anon_sym_offsetof] = ACTIONS(2566), + [anon_sym__Generic] = ACTIONS(2566), + [anon_sym_asm] = ACTIONS(2566), + [anon_sym___asm__] = ACTIONS(2566), + [sym__number_literal] = ACTIONS(2568), + [anon_sym_L_SQUOTE] = ACTIONS(2568), + [anon_sym_u_SQUOTE] = ACTIONS(2568), + [anon_sym_U_SQUOTE] = ACTIONS(2568), + [anon_sym_u8_SQUOTE] = ACTIONS(2568), + [anon_sym_SQUOTE] = ACTIONS(2568), + [anon_sym_L_DQUOTE] = ACTIONS(2568), + [anon_sym_u_DQUOTE] = ACTIONS(2568), + [anon_sym_U_DQUOTE] = ACTIONS(2568), + [anon_sym_u8_DQUOTE] = ACTIONS(2568), + [anon_sym_DQUOTE] = ACTIONS(2568), + [sym_true] = ACTIONS(2566), + [sym_false] = ACTIONS(2566), + [anon_sym_NULL] = ACTIONS(2566), + [anon_sym_nullptr] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_try] = ACTIONS(2566), + [anon_sym_delete] = ACTIONS(2566), + [anon_sym_throw] = ACTIONS(2566), + [anon_sym_co_return] = ACTIONS(2566), + [anon_sym_co_yield] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(3832), + [anon_sym_R_DQUOTE] = ACTIONS(2568), + [anon_sym_LR_DQUOTE] = ACTIONS(2568), + [anon_sym_uR_DQUOTE] = ACTIONS(2568), + [anon_sym_UR_DQUOTE] = ACTIONS(2568), + [anon_sym_u8R_DQUOTE] = ACTIONS(2568), + [anon_sym_co_await] = ACTIONS(2566), + [anon_sym_new] = ACTIONS(2566), + [anon_sym_requires] = ACTIONS(2566), + [sym_this] = ACTIONS(2566), + }, + [822] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym_RBRACK_RBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_try] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + }, + [823] = { + [sym_expression] = STATE(4327), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7099), + [sym_initializer_pair] = STATE(7099), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(3834), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3836), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [824] = { + [sym__identifier] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_BANG] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_DASH] = ACTIONS(2452), + [anon_sym_PLUS] = ACTIONS(2452), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2450), + [anon_sym_SEMI] = ACTIONS(2450), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym_LBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_if] = ACTIONS(2452), + [anon_sym_else] = ACTIONS(2452), + [anon_sym_switch] = ACTIONS(2452), + [anon_sym_while] = ACTIONS(2452), + [anon_sym_do] = ACTIONS(2452), + [anon_sym_for] = ACTIONS(2452), + [anon_sym_return] = ACTIONS(2452), + [anon_sym_break] = ACTIONS(2452), + [anon_sym_continue] = ACTIONS(2452), + [anon_sym_goto] = ACTIONS(2452), + [anon_sym___try] = ACTIONS(2452), + [anon_sym___leave] = ACTIONS(2452), + [anon_sym_not] = ACTIONS(2452), + [anon_sym_compl] = ACTIONS(2452), + [anon_sym_DASH_DASH] = ACTIONS(2450), + [anon_sym_PLUS_PLUS] = ACTIONS(2450), + [anon_sym_sizeof] = ACTIONS(2452), + [anon_sym___alignof__] = ACTIONS(2452), + [anon_sym___alignof] = ACTIONS(2452), + [anon_sym__alignof] = ACTIONS(2452), + [anon_sym_alignof] = ACTIONS(2452), + [anon_sym__Alignof] = ACTIONS(2452), + [anon_sym_offsetof] = ACTIONS(2452), + [anon_sym__Generic] = ACTIONS(2452), + [anon_sym_asm] = ACTIONS(2452), + [anon_sym___asm__] = ACTIONS(2452), + [sym__number_literal] = ACTIONS(2450), + [anon_sym_L_SQUOTE] = ACTIONS(2450), + [anon_sym_u_SQUOTE] = ACTIONS(2450), + [anon_sym_U_SQUOTE] = ACTIONS(2450), + [anon_sym_u8_SQUOTE] = ACTIONS(2450), + [anon_sym_SQUOTE] = ACTIONS(2450), + [anon_sym_L_DQUOTE] = ACTIONS(2450), + [anon_sym_u_DQUOTE] = ACTIONS(2450), + [anon_sym_U_DQUOTE] = ACTIONS(2450), + [anon_sym_u8_DQUOTE] = ACTIONS(2450), + [anon_sym_DQUOTE] = ACTIONS(2450), + [sym_true] = ACTIONS(2452), + [sym_false] = ACTIONS(2452), + [anon_sym_NULL] = ACTIONS(2452), + [anon_sym_nullptr] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_try] = ACTIONS(2452), + [anon_sym_delete] = ACTIONS(2452), + [anon_sym_throw] = ACTIONS(2452), + [anon_sym_co_return] = ACTIONS(2452), + [anon_sym_co_yield] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + [anon_sym_R_DQUOTE] = ACTIONS(2450), + [anon_sym_LR_DQUOTE] = ACTIONS(2450), + [anon_sym_uR_DQUOTE] = ACTIONS(2450), + [anon_sym_UR_DQUOTE] = ACTIONS(2450), + [anon_sym_u8R_DQUOTE] = ACTIONS(2450), + [anon_sym_co_await] = ACTIONS(2452), + [anon_sym_new] = ACTIONS(2452), + [anon_sym_requires] = ACTIONS(2452), + [sym_this] = ACTIONS(2452), + }, + [825] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(849), + [sym_compound_requirement] = STATE(849), + [sym__requirement] = STATE(849), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(849), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3844), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [826] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(838), + [sym_compound_requirement] = STATE(838), + [sym__requirement] = STATE(838), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(838), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3848), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [827] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(3850), + [anon_sym_LPAREN2] = ACTIONS(3853), + [anon_sym_BANG] = ACTIONS(3856), + [anon_sym_TILDE] = ACTIONS(3856), + [anon_sym_DASH] = ACTIONS(3859), + [anon_sym_PLUS] = ACTIONS(3859), + [anon_sym_STAR] = ACTIONS(3862), + [anon_sym_AMP] = ACTIONS(3862), + [anon_sym_SEMI] = ACTIONS(3865), + [anon_sym_COLON_COLON] = ACTIONS(3868), + [anon_sym_LBRACE] = ACTIONS(3871), + [anon_sym_RBRACE] = ACTIONS(3874), + [anon_sym_LBRACK] = ACTIONS(3876), + [sym_primitive_type] = ACTIONS(3879), + [anon_sym_not] = ACTIONS(3859), + [anon_sym_compl] = ACTIONS(3859), + [anon_sym_DASH_DASH] = ACTIONS(3882), + [anon_sym_PLUS_PLUS] = ACTIONS(3882), + [anon_sym_sizeof] = ACTIONS(3885), + [anon_sym___alignof__] = ACTIONS(3888), + [anon_sym___alignof] = ACTIONS(3888), + [anon_sym__alignof] = ACTIONS(3888), + [anon_sym_alignof] = ACTIONS(3888), + [anon_sym__Alignof] = ACTIONS(3888), + [anon_sym_offsetof] = ACTIONS(3891), + [anon_sym__Generic] = ACTIONS(3894), + [anon_sym_asm] = ACTIONS(3897), + [anon_sym___asm__] = ACTIONS(3897), + [sym__number_literal] = ACTIONS(3900), + [anon_sym_L_SQUOTE] = ACTIONS(3903), + [anon_sym_u_SQUOTE] = ACTIONS(3903), + [anon_sym_U_SQUOTE] = ACTIONS(3903), + [anon_sym_u8_SQUOTE] = ACTIONS(3903), + [anon_sym_SQUOTE] = ACTIONS(3903), + [anon_sym_L_DQUOTE] = ACTIONS(3906), + [anon_sym_u_DQUOTE] = ACTIONS(3906), + [anon_sym_U_DQUOTE] = ACTIONS(3906), + [anon_sym_u8_DQUOTE] = ACTIONS(3906), + [anon_sym_DQUOTE] = ACTIONS(3906), + [sym_true] = ACTIONS(3909), + [sym_false] = ACTIONS(3909), + [anon_sym_NULL] = ACTIONS(3912), + [anon_sym_nullptr] = ACTIONS(3912), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3915), + [anon_sym_decltype] = ACTIONS(3918), + [anon_sym_typename] = ACTIONS(3921), + [anon_sym_template] = ACTIONS(3924), + [anon_sym_delete] = ACTIONS(3927), + [anon_sym_R_DQUOTE] = ACTIONS(3930), + [anon_sym_LR_DQUOTE] = ACTIONS(3930), + [anon_sym_uR_DQUOTE] = ACTIONS(3930), + [anon_sym_UR_DQUOTE] = ACTIONS(3930), + [anon_sym_u8R_DQUOTE] = ACTIONS(3930), + [anon_sym_co_await] = ACTIONS(3933), + [anon_sym_new] = ACTIONS(3936), + [anon_sym_requires] = ACTIONS(3939), + [sym_this] = ACTIONS(3909), + }, + [828] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3942), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [829] = { + [sym_expression] = STATE(4344), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7079), + [sym_initializer_pair] = STATE(7079), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(165), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3944), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [830] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(832), + [sym_compound_requirement] = STATE(832), + [sym__requirement] = STATE(832), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(832), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3946), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [831] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(828), + [sym_compound_requirement] = STATE(828), + [sym__requirement] = STATE(828), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(828), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3948), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [832] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3950), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [833] = { + [sym__identifier] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_BANG] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_DASH] = ACTIONS(2683), + [anon_sym_PLUS] = ACTIONS(2683), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2685), + [anon_sym_SEMI] = ACTIONS(2685), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym_LBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [anon_sym_if] = ACTIONS(2683), + [anon_sym_else] = ACTIONS(2683), + [anon_sym_switch] = ACTIONS(2683), + [anon_sym_while] = ACTIONS(2683), + [anon_sym_do] = ACTIONS(2683), + [anon_sym_for] = ACTIONS(2683), + [anon_sym_return] = ACTIONS(2683), + [anon_sym_break] = ACTIONS(2683), + [anon_sym_continue] = ACTIONS(2683), + [anon_sym_goto] = ACTIONS(2683), + [anon_sym___try] = ACTIONS(2683), + [anon_sym___leave] = ACTIONS(2683), + [anon_sym_not] = ACTIONS(2683), + [anon_sym_compl] = ACTIONS(2683), + [anon_sym_DASH_DASH] = ACTIONS(2685), + [anon_sym_PLUS_PLUS] = ACTIONS(2685), + [anon_sym_sizeof] = ACTIONS(2683), + [anon_sym___alignof__] = ACTIONS(2683), + [anon_sym___alignof] = ACTIONS(2683), + [anon_sym__alignof] = ACTIONS(2683), + [anon_sym_alignof] = ACTIONS(2683), + [anon_sym__Alignof] = ACTIONS(2683), + [anon_sym_offsetof] = ACTIONS(2683), + [anon_sym__Generic] = ACTIONS(2683), + [anon_sym_asm] = ACTIONS(2683), + [anon_sym___asm__] = ACTIONS(2683), + [sym__number_literal] = ACTIONS(2685), + [anon_sym_L_SQUOTE] = ACTIONS(2685), + [anon_sym_u_SQUOTE] = ACTIONS(2685), + [anon_sym_U_SQUOTE] = ACTIONS(2685), + [anon_sym_u8_SQUOTE] = ACTIONS(2685), + [anon_sym_SQUOTE] = ACTIONS(2685), + [anon_sym_L_DQUOTE] = ACTIONS(2685), + [anon_sym_u_DQUOTE] = ACTIONS(2685), + [anon_sym_U_DQUOTE] = ACTIONS(2685), + [anon_sym_u8_DQUOTE] = ACTIONS(2685), + [anon_sym_DQUOTE] = ACTIONS(2685), + [sym_true] = ACTIONS(2683), + [sym_false] = ACTIONS(2683), + [anon_sym_NULL] = ACTIONS(2683), + [anon_sym_nullptr] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_try] = ACTIONS(2683), + [anon_sym_delete] = ACTIONS(2683), + [anon_sym_throw] = ACTIONS(2683), + [anon_sym_co_return] = ACTIONS(2683), + [anon_sym_co_yield] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + [anon_sym_R_DQUOTE] = ACTIONS(2685), + [anon_sym_LR_DQUOTE] = ACTIONS(2685), + [anon_sym_uR_DQUOTE] = ACTIONS(2685), + [anon_sym_UR_DQUOTE] = ACTIONS(2685), + [anon_sym_u8R_DQUOTE] = ACTIONS(2685), + [anon_sym_co_await] = ACTIONS(2683), + [anon_sym_new] = ACTIONS(2683), + [anon_sym_requires] = ACTIONS(2683), + [sym_this] = ACTIONS(2683), + }, + [834] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3952), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [835] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(834), + [sym_compound_requirement] = STATE(834), + [sym__requirement] = STATE(834), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(834), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3954), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [836] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(841), + [sym_compound_requirement] = STATE(841), + [sym__requirement] = STATE(841), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(841), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3956), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [837] = { + [sym_expression] = STATE(4282), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7462), + [sym_initializer_pair] = STATE(7462), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(3958), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3960), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [838] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3962), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [839] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3964), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [840] = { + [sym_expression] = STATE(4361), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7382), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3966), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [841] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3968), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [842] = { + [sym_expression] = STATE(4295), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7334), + [sym_initializer_pair] = STATE(7334), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(3970), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3972), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [843] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(847), + [sym_compound_requirement] = STATE(847), + [sym__requirement] = STATE(847), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(847), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3974), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [844] = { + [sym_expression] = STATE(4374), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7060), + [sym_initializer_pair] = STATE(7060), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(3976), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3978), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [845] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(850), + [sym_compound_requirement] = STATE(850), + [sym__requirement] = STATE(850), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(850), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3980), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [846] = { + [sym__identifier] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_BANG] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_DASH] = ACTIONS(2404), + [anon_sym_PLUS] = ACTIONS(2404), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2402), + [anon_sym_SEMI] = ACTIONS(2402), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym_LBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_if] = ACTIONS(2404), + [anon_sym_else] = ACTIONS(2404), + [anon_sym_switch] = ACTIONS(2404), + [anon_sym_while] = ACTIONS(2404), + [anon_sym_do] = ACTIONS(2404), + [anon_sym_for] = ACTIONS(2404), + [anon_sym_return] = ACTIONS(2404), + [anon_sym_break] = ACTIONS(2404), + [anon_sym_continue] = ACTIONS(2404), + [anon_sym_goto] = ACTIONS(2404), + [anon_sym___try] = ACTIONS(2404), + [anon_sym___leave] = ACTIONS(2404), + [anon_sym_not] = ACTIONS(2404), + [anon_sym_compl] = ACTIONS(2404), + [anon_sym_DASH_DASH] = ACTIONS(2402), + [anon_sym_PLUS_PLUS] = ACTIONS(2402), + [anon_sym_sizeof] = ACTIONS(2404), + [anon_sym___alignof__] = ACTIONS(2404), + [anon_sym___alignof] = ACTIONS(2404), + [anon_sym__alignof] = ACTIONS(2404), + [anon_sym_alignof] = ACTIONS(2404), + [anon_sym__Alignof] = ACTIONS(2404), + [anon_sym_offsetof] = ACTIONS(2404), + [anon_sym__Generic] = ACTIONS(2404), + [anon_sym_asm] = ACTIONS(2404), + [anon_sym___asm__] = ACTIONS(2404), + [sym__number_literal] = ACTIONS(2402), + [anon_sym_L_SQUOTE] = ACTIONS(2402), + [anon_sym_u_SQUOTE] = ACTIONS(2402), + [anon_sym_U_SQUOTE] = ACTIONS(2402), + [anon_sym_u8_SQUOTE] = ACTIONS(2402), + [anon_sym_SQUOTE] = ACTIONS(2402), + [anon_sym_L_DQUOTE] = ACTIONS(2402), + [anon_sym_u_DQUOTE] = ACTIONS(2402), + [anon_sym_U_DQUOTE] = ACTIONS(2402), + [anon_sym_u8_DQUOTE] = ACTIONS(2402), + [anon_sym_DQUOTE] = ACTIONS(2402), + [sym_true] = ACTIONS(2404), + [sym_false] = ACTIONS(2404), + [anon_sym_NULL] = ACTIONS(2404), + [anon_sym_nullptr] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_try] = ACTIONS(2404), + [anon_sym_delete] = ACTIONS(2404), + [anon_sym_throw] = ACTIONS(2404), + [anon_sym_co_return] = ACTIONS(2404), + [anon_sym_co_yield] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + [anon_sym_R_DQUOTE] = ACTIONS(2402), + [anon_sym_LR_DQUOTE] = ACTIONS(2402), + [anon_sym_uR_DQUOTE] = ACTIONS(2402), + [anon_sym_UR_DQUOTE] = ACTIONS(2402), + [anon_sym_u8R_DQUOTE] = ACTIONS(2402), + [anon_sym_co_await] = ACTIONS(2404), + [anon_sym_new] = ACTIONS(2404), + [anon_sym_requires] = ACTIONS(2404), + [sym_this] = ACTIONS(2404), + }, + [847] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3982), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [848] = { + [sym_expression] = STATE(4292), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7340), + [sym_initializer_pair] = STATE(7340), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(3984), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3986), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [849] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3988), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [850] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(827), + [sym_compound_requirement] = STATE(827), + [sym__requirement] = STATE(827), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(827), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3990), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [851] = { + [sym_expression_statement] = STATE(2717), + [sym_expression] = STATE(4570), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8234), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_type_requirement] = STATE(839), + [sym_compound_requirement] = STATE(839), + [sym__requirement] = STATE(839), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_requirement_seq_repeat1] = STATE(839), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(3840), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3842), + [anon_sym_RBRACE] = ACTIONS(3992), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_typename] = ACTIONS(3846), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [852] = { + [sym_else_clause] = STATE(906), + [sym__identifier] = ACTIONS(2687), + [anon_sym_LPAREN2] = ACTIONS(2689), + [anon_sym_BANG] = ACTIONS(2689), + [anon_sym_TILDE] = ACTIONS(2689), + [anon_sym_DASH] = ACTIONS(2687), + [anon_sym_PLUS] = ACTIONS(2687), + [anon_sym_STAR] = ACTIONS(2689), + [anon_sym_AMP] = ACTIONS(2689), + [anon_sym_SEMI] = ACTIONS(2689), + [anon_sym___extension__] = ACTIONS(2687), + [anon_sym_typedef] = ACTIONS(2687), + [anon_sym_extern] = ACTIONS(2687), + [anon_sym___attribute__] = ACTIONS(2687), + [anon_sym_COLON_COLON] = ACTIONS(2689), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2689), + [anon_sym___declspec] = ACTIONS(2687), + [anon_sym_LBRACE] = ACTIONS(2689), + [anon_sym_signed] = ACTIONS(2687), + [anon_sym_unsigned] = ACTIONS(2687), + [anon_sym_long] = ACTIONS(2687), + [anon_sym_short] = ACTIONS(2687), + [anon_sym_LBRACK] = ACTIONS(2687), + [anon_sym_static] = ACTIONS(2687), + [anon_sym_register] = ACTIONS(2687), + [anon_sym_inline] = ACTIONS(2687), + [anon_sym___inline] = ACTIONS(2687), + [anon_sym___inline__] = ACTIONS(2687), + [anon_sym___forceinline] = ACTIONS(2687), + [anon_sym_thread_local] = ACTIONS(2687), + [anon_sym___thread] = ACTIONS(2687), + [anon_sym_const] = ACTIONS(2687), + [anon_sym_constexpr] = ACTIONS(2687), + [anon_sym_volatile] = ACTIONS(2687), + [anon_sym_restrict] = ACTIONS(2687), + [anon_sym___restrict__] = ACTIONS(2687), + [anon_sym__Atomic] = ACTIONS(2687), + [anon_sym__Noreturn] = ACTIONS(2687), + [anon_sym_noreturn] = ACTIONS(2687), + [anon_sym_mutable] = ACTIONS(2687), + [anon_sym_constinit] = ACTIONS(2687), + [anon_sym_consteval] = ACTIONS(2687), + [anon_sym_alignas] = ACTIONS(2687), + [anon_sym__Alignas] = ACTIONS(2687), + [sym_primitive_type] = ACTIONS(2687), + [anon_sym_enum] = ACTIONS(2687), + [anon_sym_class] = ACTIONS(2687), + [anon_sym_struct] = ACTIONS(2687), + [anon_sym_union] = ACTIONS(2687), + [anon_sym_if] = ACTIONS(2687), + [anon_sym_else] = ACTIONS(3994), + [anon_sym_switch] = ACTIONS(2687), + [anon_sym_while] = ACTIONS(2687), + [anon_sym_do] = ACTIONS(2687), + [anon_sym_for] = ACTIONS(2687), + [anon_sym_return] = ACTIONS(2687), + [anon_sym_break] = ACTIONS(2687), + [anon_sym_continue] = ACTIONS(2687), + [anon_sym_goto] = ACTIONS(2687), + [anon_sym___try] = ACTIONS(2687), + [anon_sym___leave] = ACTIONS(2687), + [anon_sym_not] = ACTIONS(2687), + [anon_sym_compl] = ACTIONS(2687), + [anon_sym_DASH_DASH] = ACTIONS(2689), + [anon_sym_PLUS_PLUS] = ACTIONS(2689), + [anon_sym_sizeof] = ACTIONS(2687), + [anon_sym___alignof__] = ACTIONS(2687), + [anon_sym___alignof] = ACTIONS(2687), + [anon_sym__alignof] = ACTIONS(2687), + [anon_sym_alignof] = ACTIONS(2687), + [anon_sym__Alignof] = ACTIONS(2687), + [anon_sym_offsetof] = ACTIONS(2687), + [anon_sym__Generic] = ACTIONS(2687), + [anon_sym_asm] = ACTIONS(2687), + [anon_sym___asm__] = ACTIONS(2687), + [sym__number_literal] = ACTIONS(2689), + [anon_sym_L_SQUOTE] = ACTIONS(2689), + [anon_sym_u_SQUOTE] = ACTIONS(2689), + [anon_sym_U_SQUOTE] = ACTIONS(2689), + [anon_sym_u8_SQUOTE] = ACTIONS(2689), + [anon_sym_SQUOTE] = ACTIONS(2689), + [anon_sym_L_DQUOTE] = ACTIONS(2689), + [anon_sym_u_DQUOTE] = ACTIONS(2689), + [anon_sym_U_DQUOTE] = ACTIONS(2689), + [anon_sym_u8_DQUOTE] = ACTIONS(2689), + [anon_sym_DQUOTE] = ACTIONS(2689), + [sym_true] = ACTIONS(2687), + [sym_false] = ACTIONS(2687), + [anon_sym_NULL] = ACTIONS(2687), + [anon_sym_nullptr] = ACTIONS(2687), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2689), + [sym_auto] = ACTIONS(2687), + [anon_sym_decltype] = ACTIONS(2687), + [sym_virtual] = ACTIONS(2687), + [anon_sym_typename] = ACTIONS(2687), + [anon_sym_template] = ACTIONS(2687), + [anon_sym_try] = ACTIONS(2687), + [anon_sym_delete] = ACTIONS(2687), + [anon_sym_throw] = ACTIONS(2687), + [anon_sym_co_return] = ACTIONS(2687), + [anon_sym_co_yield] = ACTIONS(2687), + [anon_sym_R_DQUOTE] = ACTIONS(2689), + [anon_sym_LR_DQUOTE] = ACTIONS(2689), + [anon_sym_uR_DQUOTE] = ACTIONS(2689), + [anon_sym_UR_DQUOTE] = ACTIONS(2689), + [anon_sym_u8R_DQUOTE] = ACTIONS(2689), + [anon_sym_co_await] = ACTIONS(2687), + [anon_sym_new] = ACTIONS(2687), + [anon_sym_requires] = ACTIONS(2687), + [sym_this] = ACTIONS(2687), + }, + [853] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [854] = { + [sym_else_clause] = STATE(899), + [sym__identifier] = ACTIONS(2671), + [anon_sym_LPAREN2] = ACTIONS(2673), + [anon_sym_BANG] = ACTIONS(2673), + [anon_sym_TILDE] = ACTIONS(2673), + [anon_sym_DASH] = ACTIONS(2671), + [anon_sym_PLUS] = ACTIONS(2671), + [anon_sym_STAR] = ACTIONS(2673), + [anon_sym_AMP] = ACTIONS(2673), + [anon_sym_SEMI] = ACTIONS(2673), + [anon_sym___extension__] = ACTIONS(2671), + [anon_sym_typedef] = ACTIONS(2671), + [anon_sym_extern] = ACTIONS(2671), + [anon_sym___attribute__] = ACTIONS(2671), + [anon_sym_COLON_COLON] = ACTIONS(2673), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2673), + [anon_sym___declspec] = ACTIONS(2671), + [anon_sym_LBRACE] = ACTIONS(2673), + [anon_sym_signed] = ACTIONS(2671), + [anon_sym_unsigned] = ACTIONS(2671), + [anon_sym_long] = ACTIONS(2671), + [anon_sym_short] = ACTIONS(2671), + [anon_sym_LBRACK] = ACTIONS(2671), + [anon_sym_static] = ACTIONS(2671), + [anon_sym_register] = ACTIONS(2671), + [anon_sym_inline] = ACTIONS(2671), + [anon_sym___inline] = ACTIONS(2671), + [anon_sym___inline__] = ACTIONS(2671), + [anon_sym___forceinline] = ACTIONS(2671), + [anon_sym_thread_local] = ACTIONS(2671), + [anon_sym___thread] = ACTIONS(2671), + [anon_sym_const] = ACTIONS(2671), + [anon_sym_constexpr] = ACTIONS(2671), + [anon_sym_volatile] = ACTIONS(2671), + [anon_sym_restrict] = ACTIONS(2671), + [anon_sym___restrict__] = ACTIONS(2671), + [anon_sym__Atomic] = ACTIONS(2671), + [anon_sym__Noreturn] = ACTIONS(2671), + [anon_sym_noreturn] = ACTIONS(2671), + [anon_sym_mutable] = ACTIONS(2671), + [anon_sym_constinit] = ACTIONS(2671), + [anon_sym_consteval] = ACTIONS(2671), + [anon_sym_alignas] = ACTIONS(2671), + [anon_sym__Alignas] = ACTIONS(2671), + [sym_primitive_type] = ACTIONS(2671), + [anon_sym_enum] = ACTIONS(2671), + [anon_sym_class] = ACTIONS(2671), + [anon_sym_struct] = ACTIONS(2671), + [anon_sym_union] = ACTIONS(2671), + [anon_sym_if] = ACTIONS(2671), + [anon_sym_else] = ACTIONS(3994), + [anon_sym_switch] = ACTIONS(2671), + [anon_sym_while] = ACTIONS(2671), + [anon_sym_do] = ACTIONS(2671), + [anon_sym_for] = ACTIONS(2671), + [anon_sym_return] = ACTIONS(2671), + [anon_sym_break] = ACTIONS(2671), + [anon_sym_continue] = ACTIONS(2671), + [anon_sym_goto] = ACTIONS(2671), + [anon_sym___try] = ACTIONS(2671), + [anon_sym___leave] = ACTIONS(2671), + [anon_sym_not] = ACTIONS(2671), + [anon_sym_compl] = ACTIONS(2671), + [anon_sym_DASH_DASH] = ACTIONS(2673), + [anon_sym_PLUS_PLUS] = ACTIONS(2673), + [anon_sym_sizeof] = ACTIONS(2671), + [anon_sym___alignof__] = ACTIONS(2671), + [anon_sym___alignof] = ACTIONS(2671), + [anon_sym__alignof] = ACTIONS(2671), + [anon_sym_alignof] = ACTIONS(2671), + [anon_sym__Alignof] = ACTIONS(2671), + [anon_sym_offsetof] = ACTIONS(2671), + [anon_sym__Generic] = ACTIONS(2671), + [anon_sym_asm] = ACTIONS(2671), + [anon_sym___asm__] = ACTIONS(2671), + [sym__number_literal] = ACTIONS(2673), + [anon_sym_L_SQUOTE] = ACTIONS(2673), + [anon_sym_u_SQUOTE] = ACTIONS(2673), + [anon_sym_U_SQUOTE] = ACTIONS(2673), + [anon_sym_u8_SQUOTE] = ACTIONS(2673), + [anon_sym_SQUOTE] = ACTIONS(2673), + [anon_sym_L_DQUOTE] = ACTIONS(2673), + [anon_sym_u_DQUOTE] = ACTIONS(2673), + [anon_sym_U_DQUOTE] = ACTIONS(2673), + [anon_sym_u8_DQUOTE] = ACTIONS(2673), + [anon_sym_DQUOTE] = ACTIONS(2673), + [sym_true] = ACTIONS(2671), + [sym_false] = ACTIONS(2671), + [anon_sym_NULL] = ACTIONS(2671), + [anon_sym_nullptr] = ACTIONS(2671), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2673), + [sym_auto] = ACTIONS(2671), + [anon_sym_decltype] = ACTIONS(2671), + [sym_virtual] = ACTIONS(2671), + [anon_sym_typename] = ACTIONS(2671), + [anon_sym_template] = ACTIONS(2671), + [anon_sym_try] = ACTIONS(2671), + [anon_sym_delete] = ACTIONS(2671), + [anon_sym_throw] = ACTIONS(2671), + [anon_sym_co_return] = ACTIONS(2671), + [anon_sym_co_yield] = ACTIONS(2671), + [anon_sym_R_DQUOTE] = ACTIONS(2673), + [anon_sym_LR_DQUOTE] = ACTIONS(2673), + [anon_sym_uR_DQUOTE] = ACTIONS(2673), + [anon_sym_UR_DQUOTE] = ACTIONS(2673), + [anon_sym_u8R_DQUOTE] = ACTIONS(2673), + [anon_sym_co_await] = ACTIONS(2671), + [anon_sym_new] = ACTIONS(2671), + [anon_sym_requires] = ACTIONS(2671), + [sym_this] = ACTIONS(2671), + }, + [855] = { + [sym__identifier] = ACTIONS(2793), + [anon_sym_LPAREN2] = ACTIONS(2795), + [anon_sym_BANG] = ACTIONS(2795), + [anon_sym_TILDE] = ACTIONS(2795), + [anon_sym_DASH] = ACTIONS(2793), + [anon_sym_PLUS] = ACTIONS(2793), + [anon_sym_STAR] = ACTIONS(2795), + [anon_sym_AMP] = ACTIONS(2795), + [anon_sym_SEMI] = ACTIONS(2795), + [anon_sym___extension__] = ACTIONS(2793), + [anon_sym_typedef] = ACTIONS(2793), + [anon_sym_extern] = ACTIONS(2793), + [anon_sym___attribute__] = ACTIONS(2793), + [anon_sym_COLON_COLON] = ACTIONS(2795), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2795), + [anon_sym___declspec] = ACTIONS(2793), + [anon_sym_LBRACE] = ACTIONS(2795), + [anon_sym_signed] = ACTIONS(2793), + [anon_sym_unsigned] = ACTIONS(2793), + [anon_sym_long] = ACTIONS(2793), + [anon_sym_short] = ACTIONS(2793), + [anon_sym_LBRACK] = ACTIONS(2793), + [anon_sym_static] = ACTIONS(2793), + [anon_sym_register] = ACTIONS(2793), + [anon_sym_inline] = ACTIONS(2793), + [anon_sym___inline] = ACTIONS(2793), + [anon_sym___inline__] = ACTIONS(2793), + [anon_sym___forceinline] = ACTIONS(2793), + [anon_sym_thread_local] = ACTIONS(2793), + [anon_sym___thread] = ACTIONS(2793), + [anon_sym_const] = ACTIONS(2793), + [anon_sym_constexpr] = ACTIONS(2793), + [anon_sym_volatile] = ACTIONS(2793), + [anon_sym_restrict] = ACTIONS(2793), + [anon_sym___restrict__] = ACTIONS(2793), + [anon_sym__Atomic] = ACTIONS(2793), + [anon_sym__Noreturn] = ACTIONS(2793), + [anon_sym_noreturn] = ACTIONS(2793), + [anon_sym_mutable] = ACTIONS(2793), + [anon_sym_constinit] = ACTIONS(2793), + [anon_sym_consteval] = ACTIONS(2793), + [anon_sym_alignas] = ACTIONS(2793), + [anon_sym__Alignas] = ACTIONS(2793), + [sym_primitive_type] = ACTIONS(2793), + [anon_sym_enum] = ACTIONS(2793), + [anon_sym_class] = ACTIONS(2793), + [anon_sym_struct] = ACTIONS(2793), + [anon_sym_union] = ACTIONS(2793), + [anon_sym_if] = ACTIONS(2793), + [anon_sym_else] = ACTIONS(2793), + [anon_sym_switch] = ACTIONS(2793), + [anon_sym_while] = ACTIONS(2793), + [anon_sym_do] = ACTIONS(2793), + [anon_sym_for] = ACTIONS(2793), + [anon_sym_return] = ACTIONS(2793), + [anon_sym_break] = ACTIONS(2793), + [anon_sym_continue] = ACTIONS(2793), + [anon_sym_goto] = ACTIONS(2793), + [anon_sym___try] = ACTIONS(2793), + [anon_sym___leave] = ACTIONS(2793), + [anon_sym_not] = ACTIONS(2793), + [anon_sym_compl] = ACTIONS(2793), + [anon_sym_DASH_DASH] = ACTIONS(2795), + [anon_sym_PLUS_PLUS] = ACTIONS(2795), + [anon_sym_sizeof] = ACTIONS(2793), + [anon_sym___alignof__] = ACTIONS(2793), + [anon_sym___alignof] = ACTIONS(2793), + [anon_sym__alignof] = ACTIONS(2793), + [anon_sym_alignof] = ACTIONS(2793), + [anon_sym__Alignof] = ACTIONS(2793), + [anon_sym_offsetof] = ACTIONS(2793), + [anon_sym__Generic] = ACTIONS(2793), + [anon_sym_asm] = ACTIONS(2793), + [anon_sym___asm__] = ACTIONS(2793), + [sym__number_literal] = ACTIONS(2795), + [anon_sym_L_SQUOTE] = ACTIONS(2795), + [anon_sym_u_SQUOTE] = ACTIONS(2795), + [anon_sym_U_SQUOTE] = ACTIONS(2795), + [anon_sym_u8_SQUOTE] = ACTIONS(2795), + [anon_sym_SQUOTE] = ACTIONS(2795), + [anon_sym_L_DQUOTE] = ACTIONS(2795), + [anon_sym_u_DQUOTE] = ACTIONS(2795), + [anon_sym_U_DQUOTE] = ACTIONS(2795), + [anon_sym_u8_DQUOTE] = ACTIONS(2795), + [anon_sym_DQUOTE] = ACTIONS(2795), + [sym_true] = ACTIONS(2793), + [sym_false] = ACTIONS(2793), + [anon_sym_NULL] = ACTIONS(2793), + [anon_sym_nullptr] = ACTIONS(2793), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2795), + [sym_auto] = ACTIONS(2793), + [anon_sym_decltype] = ACTIONS(2793), + [sym_virtual] = ACTIONS(2793), + [anon_sym_typename] = ACTIONS(2793), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_try] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2793), + [anon_sym_throw] = ACTIONS(2793), + [anon_sym_co_return] = ACTIONS(2793), + [anon_sym_co_yield] = ACTIONS(2793), + [anon_sym_R_DQUOTE] = ACTIONS(2795), + [anon_sym_LR_DQUOTE] = ACTIONS(2795), + [anon_sym_uR_DQUOTE] = ACTIONS(2795), + [anon_sym_UR_DQUOTE] = ACTIONS(2795), + [anon_sym_u8R_DQUOTE] = ACTIONS(2795), + [anon_sym_co_await] = ACTIONS(2793), + [anon_sym_new] = ACTIONS(2793), + [anon_sym_requires] = ACTIONS(2793), + [sym_this] = ACTIONS(2793), + }, + [856] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4021), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [857] = { + [sym__identifier] = ACTIONS(2719), + [anon_sym_LPAREN2] = ACTIONS(2721), + [anon_sym_BANG] = ACTIONS(2721), + [anon_sym_TILDE] = ACTIONS(2721), + [anon_sym_DASH] = ACTIONS(2719), + [anon_sym_PLUS] = ACTIONS(2719), + [anon_sym_STAR] = ACTIONS(2721), + [anon_sym_AMP] = ACTIONS(2721), + [anon_sym_SEMI] = ACTIONS(2721), + [anon_sym___extension__] = ACTIONS(2719), + [anon_sym_typedef] = ACTIONS(2719), + [anon_sym_extern] = ACTIONS(2719), + [anon_sym___attribute__] = ACTIONS(2719), + [anon_sym_COLON_COLON] = ACTIONS(2721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2721), + [anon_sym___declspec] = ACTIONS(2719), + [anon_sym_LBRACE] = ACTIONS(2721), + [anon_sym_signed] = ACTIONS(2719), + [anon_sym_unsigned] = ACTIONS(2719), + [anon_sym_long] = ACTIONS(2719), + [anon_sym_short] = ACTIONS(2719), + [anon_sym_LBRACK] = ACTIONS(2719), + [anon_sym_static] = ACTIONS(2719), + [anon_sym_register] = ACTIONS(2719), + [anon_sym_inline] = ACTIONS(2719), + [anon_sym___inline] = ACTIONS(2719), + [anon_sym___inline__] = ACTIONS(2719), + [anon_sym___forceinline] = ACTIONS(2719), + [anon_sym_thread_local] = ACTIONS(2719), + [anon_sym___thread] = ACTIONS(2719), + [anon_sym_const] = ACTIONS(2719), + [anon_sym_constexpr] = ACTIONS(2719), + [anon_sym_volatile] = ACTIONS(2719), + [anon_sym_restrict] = ACTIONS(2719), + [anon_sym___restrict__] = ACTIONS(2719), + [anon_sym__Atomic] = ACTIONS(2719), + [anon_sym__Noreturn] = ACTIONS(2719), + [anon_sym_noreturn] = ACTIONS(2719), + [anon_sym_mutable] = ACTIONS(2719), + [anon_sym_constinit] = ACTIONS(2719), + [anon_sym_consteval] = ACTIONS(2719), + [anon_sym_alignas] = ACTIONS(2719), + [anon_sym__Alignas] = ACTIONS(2719), + [sym_primitive_type] = ACTIONS(2719), + [anon_sym_enum] = ACTIONS(2719), + [anon_sym_class] = ACTIONS(2719), + [anon_sym_struct] = ACTIONS(2719), + [anon_sym_union] = ACTIONS(2719), + [anon_sym_if] = ACTIONS(2719), + [anon_sym_else] = ACTIONS(2719), + [anon_sym_switch] = ACTIONS(2719), + [anon_sym_while] = ACTIONS(2719), + [anon_sym_do] = ACTIONS(2719), + [anon_sym_for] = ACTIONS(2719), + [anon_sym_return] = ACTIONS(2719), + [anon_sym_break] = ACTIONS(2719), + [anon_sym_continue] = ACTIONS(2719), + [anon_sym_goto] = ACTIONS(2719), + [anon_sym___try] = ACTIONS(2719), + [anon_sym___leave] = ACTIONS(2719), + [anon_sym_not] = ACTIONS(2719), + [anon_sym_compl] = ACTIONS(2719), + [anon_sym_DASH_DASH] = ACTIONS(2721), + [anon_sym_PLUS_PLUS] = ACTIONS(2721), + [anon_sym_sizeof] = ACTIONS(2719), + [anon_sym___alignof__] = ACTIONS(2719), + [anon_sym___alignof] = ACTIONS(2719), + [anon_sym__alignof] = ACTIONS(2719), + [anon_sym_alignof] = ACTIONS(2719), + [anon_sym__Alignof] = ACTIONS(2719), + [anon_sym_offsetof] = ACTIONS(2719), + [anon_sym__Generic] = ACTIONS(2719), + [anon_sym_asm] = ACTIONS(2719), + [anon_sym___asm__] = ACTIONS(2719), + [sym__number_literal] = ACTIONS(2721), + [anon_sym_L_SQUOTE] = ACTIONS(2721), + [anon_sym_u_SQUOTE] = ACTIONS(2721), + [anon_sym_U_SQUOTE] = ACTIONS(2721), + [anon_sym_u8_SQUOTE] = ACTIONS(2721), + [anon_sym_SQUOTE] = ACTIONS(2721), + [anon_sym_L_DQUOTE] = ACTIONS(2721), + [anon_sym_u_DQUOTE] = ACTIONS(2721), + [anon_sym_U_DQUOTE] = ACTIONS(2721), + [anon_sym_u8_DQUOTE] = ACTIONS(2721), + [anon_sym_DQUOTE] = ACTIONS(2721), + [sym_true] = ACTIONS(2719), + [sym_false] = ACTIONS(2719), + [anon_sym_NULL] = ACTIONS(2719), + [anon_sym_nullptr] = ACTIONS(2719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2721), + [sym_auto] = ACTIONS(2719), + [anon_sym_decltype] = ACTIONS(2719), + [sym_virtual] = ACTIONS(2719), + [anon_sym_typename] = ACTIONS(2719), + [anon_sym_template] = ACTIONS(2719), + [anon_sym_try] = ACTIONS(2719), + [anon_sym_delete] = ACTIONS(2719), + [anon_sym_throw] = ACTIONS(2719), + [anon_sym_co_return] = ACTIONS(2719), + [anon_sym_co_yield] = ACTIONS(2719), + [anon_sym_R_DQUOTE] = ACTIONS(2721), + [anon_sym_LR_DQUOTE] = ACTIONS(2721), + [anon_sym_uR_DQUOTE] = ACTIONS(2721), + [anon_sym_UR_DQUOTE] = ACTIONS(2721), + [anon_sym_u8R_DQUOTE] = ACTIONS(2721), + [anon_sym_co_await] = ACTIONS(2719), + [anon_sym_new] = ACTIONS(2719), + [anon_sym_requires] = ACTIONS(2719), + [sym_this] = ACTIONS(2719), + }, + [858] = { + [sym__identifier] = ACTIONS(2715), + [anon_sym_LPAREN2] = ACTIONS(2717), + [anon_sym_BANG] = ACTIONS(2717), + [anon_sym_TILDE] = ACTIONS(2717), + [anon_sym_DASH] = ACTIONS(2715), + [anon_sym_PLUS] = ACTIONS(2715), + [anon_sym_STAR] = ACTIONS(2717), + [anon_sym_AMP] = ACTIONS(2717), + [anon_sym_SEMI] = ACTIONS(2717), + [anon_sym___extension__] = ACTIONS(2715), + [anon_sym_typedef] = ACTIONS(2715), + [anon_sym_extern] = ACTIONS(2715), + [anon_sym___attribute__] = ACTIONS(2715), + [anon_sym_COLON_COLON] = ACTIONS(2717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2717), + [anon_sym___declspec] = ACTIONS(2715), + [anon_sym_LBRACE] = ACTIONS(2717), + [anon_sym_signed] = ACTIONS(2715), + [anon_sym_unsigned] = ACTIONS(2715), + [anon_sym_long] = ACTIONS(2715), + [anon_sym_short] = ACTIONS(2715), + [anon_sym_LBRACK] = ACTIONS(2715), + [anon_sym_static] = ACTIONS(2715), + [anon_sym_register] = ACTIONS(2715), + [anon_sym_inline] = ACTIONS(2715), + [anon_sym___inline] = ACTIONS(2715), + [anon_sym___inline__] = ACTIONS(2715), + [anon_sym___forceinline] = ACTIONS(2715), + [anon_sym_thread_local] = ACTIONS(2715), + [anon_sym___thread] = ACTIONS(2715), + [anon_sym_const] = ACTIONS(2715), + [anon_sym_constexpr] = ACTIONS(2715), + [anon_sym_volatile] = ACTIONS(2715), + [anon_sym_restrict] = ACTIONS(2715), + [anon_sym___restrict__] = ACTIONS(2715), + [anon_sym__Atomic] = ACTIONS(2715), + [anon_sym__Noreturn] = ACTIONS(2715), + [anon_sym_noreturn] = ACTIONS(2715), + [anon_sym_mutable] = ACTIONS(2715), + [anon_sym_constinit] = ACTIONS(2715), + [anon_sym_consteval] = ACTIONS(2715), + [anon_sym_alignas] = ACTIONS(2715), + [anon_sym__Alignas] = ACTIONS(2715), + [sym_primitive_type] = ACTIONS(2715), + [anon_sym_enum] = ACTIONS(2715), + [anon_sym_class] = ACTIONS(2715), + [anon_sym_struct] = ACTIONS(2715), + [anon_sym_union] = ACTIONS(2715), + [anon_sym_if] = ACTIONS(2715), + [anon_sym_else] = ACTIONS(2715), + [anon_sym_switch] = ACTIONS(2715), + [anon_sym_while] = ACTIONS(2715), + [anon_sym_do] = ACTIONS(2715), + [anon_sym_for] = ACTIONS(2715), + [anon_sym_return] = ACTIONS(2715), + [anon_sym_break] = ACTIONS(2715), + [anon_sym_continue] = ACTIONS(2715), + [anon_sym_goto] = ACTIONS(2715), + [anon_sym___try] = ACTIONS(2715), + [anon_sym___leave] = ACTIONS(2715), + [anon_sym_not] = ACTIONS(2715), + [anon_sym_compl] = ACTIONS(2715), + [anon_sym_DASH_DASH] = ACTIONS(2717), + [anon_sym_PLUS_PLUS] = ACTIONS(2717), + [anon_sym_sizeof] = ACTIONS(2715), + [anon_sym___alignof__] = ACTIONS(2715), + [anon_sym___alignof] = ACTIONS(2715), + [anon_sym__alignof] = ACTIONS(2715), + [anon_sym_alignof] = ACTIONS(2715), + [anon_sym__Alignof] = ACTIONS(2715), + [anon_sym_offsetof] = ACTIONS(2715), + [anon_sym__Generic] = ACTIONS(2715), + [anon_sym_asm] = ACTIONS(2715), + [anon_sym___asm__] = ACTIONS(2715), + [sym__number_literal] = ACTIONS(2717), + [anon_sym_L_SQUOTE] = ACTIONS(2717), + [anon_sym_u_SQUOTE] = ACTIONS(2717), + [anon_sym_U_SQUOTE] = ACTIONS(2717), + [anon_sym_u8_SQUOTE] = ACTIONS(2717), + [anon_sym_SQUOTE] = ACTIONS(2717), + [anon_sym_L_DQUOTE] = ACTIONS(2717), + [anon_sym_u_DQUOTE] = ACTIONS(2717), + [anon_sym_U_DQUOTE] = ACTIONS(2717), + [anon_sym_u8_DQUOTE] = ACTIONS(2717), + [anon_sym_DQUOTE] = ACTIONS(2717), + [sym_true] = ACTIONS(2715), + [sym_false] = ACTIONS(2715), + [anon_sym_NULL] = ACTIONS(2715), + [anon_sym_nullptr] = ACTIONS(2715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2717), + [sym_auto] = ACTIONS(2715), + [anon_sym_decltype] = ACTIONS(2715), + [sym_virtual] = ACTIONS(2715), + [anon_sym_typename] = ACTIONS(2715), + [anon_sym_template] = ACTIONS(2715), + [anon_sym_try] = ACTIONS(2715), + [anon_sym_delete] = ACTIONS(2715), + [anon_sym_throw] = ACTIONS(2715), + [anon_sym_co_return] = ACTIONS(2715), + [anon_sym_co_yield] = ACTIONS(2715), + [anon_sym_R_DQUOTE] = ACTIONS(2717), + [anon_sym_LR_DQUOTE] = ACTIONS(2717), + [anon_sym_uR_DQUOTE] = ACTIONS(2717), + [anon_sym_UR_DQUOTE] = ACTIONS(2717), + [anon_sym_u8R_DQUOTE] = ACTIONS(2717), + [anon_sym_co_await] = ACTIONS(2715), + [anon_sym_new] = ACTIONS(2715), + [anon_sym_requires] = ACTIONS(2715), + [sym_this] = ACTIONS(2715), + }, + [859] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(3966), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [860] = { + [sym__identifier] = ACTIONS(2773), + [anon_sym_LPAREN2] = ACTIONS(2775), + [anon_sym_BANG] = ACTIONS(2775), + [anon_sym_TILDE] = ACTIONS(2775), + [anon_sym_DASH] = ACTIONS(2773), + [anon_sym_PLUS] = ACTIONS(2773), + [anon_sym_STAR] = ACTIONS(2775), + [anon_sym_AMP] = ACTIONS(2775), + [anon_sym_SEMI] = ACTIONS(2775), + [anon_sym___extension__] = ACTIONS(2773), + [anon_sym_typedef] = ACTIONS(2773), + [anon_sym_extern] = ACTIONS(2773), + [anon_sym___attribute__] = ACTIONS(2773), + [anon_sym_COLON_COLON] = ACTIONS(2775), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2775), + [anon_sym___declspec] = ACTIONS(2773), + [anon_sym_LBRACE] = ACTIONS(2775), + [anon_sym_signed] = ACTIONS(2773), + [anon_sym_unsigned] = ACTIONS(2773), + [anon_sym_long] = ACTIONS(2773), + [anon_sym_short] = ACTIONS(2773), + [anon_sym_LBRACK] = ACTIONS(2773), + [anon_sym_static] = ACTIONS(2773), + [anon_sym_register] = ACTIONS(2773), + [anon_sym_inline] = ACTIONS(2773), + [anon_sym___inline] = ACTIONS(2773), + [anon_sym___inline__] = ACTIONS(2773), + [anon_sym___forceinline] = ACTIONS(2773), + [anon_sym_thread_local] = ACTIONS(2773), + [anon_sym___thread] = ACTIONS(2773), + [anon_sym_const] = ACTIONS(2773), + [anon_sym_constexpr] = ACTIONS(2773), + [anon_sym_volatile] = ACTIONS(2773), + [anon_sym_restrict] = ACTIONS(2773), + [anon_sym___restrict__] = ACTIONS(2773), + [anon_sym__Atomic] = ACTIONS(2773), + [anon_sym__Noreturn] = ACTIONS(2773), + [anon_sym_noreturn] = ACTIONS(2773), + [anon_sym_mutable] = ACTIONS(2773), + [anon_sym_constinit] = ACTIONS(2773), + [anon_sym_consteval] = ACTIONS(2773), + [anon_sym_alignas] = ACTIONS(2773), + [anon_sym__Alignas] = ACTIONS(2773), + [sym_primitive_type] = ACTIONS(2773), + [anon_sym_enum] = ACTIONS(2773), + [anon_sym_class] = ACTIONS(2773), + [anon_sym_struct] = ACTIONS(2773), + [anon_sym_union] = ACTIONS(2773), + [anon_sym_if] = ACTIONS(2773), + [anon_sym_else] = ACTIONS(2773), + [anon_sym_switch] = ACTIONS(2773), + [anon_sym_while] = ACTIONS(2773), + [anon_sym_do] = ACTIONS(2773), + [anon_sym_for] = ACTIONS(2773), + [anon_sym_return] = ACTIONS(2773), + [anon_sym_break] = ACTIONS(2773), + [anon_sym_continue] = ACTIONS(2773), + [anon_sym_goto] = ACTIONS(2773), + [anon_sym___try] = ACTIONS(2773), + [anon_sym___leave] = ACTIONS(2773), + [anon_sym_not] = ACTIONS(2773), + [anon_sym_compl] = ACTIONS(2773), + [anon_sym_DASH_DASH] = ACTIONS(2775), + [anon_sym_PLUS_PLUS] = ACTIONS(2775), + [anon_sym_sizeof] = ACTIONS(2773), + [anon_sym___alignof__] = ACTIONS(2773), + [anon_sym___alignof] = ACTIONS(2773), + [anon_sym__alignof] = ACTIONS(2773), + [anon_sym_alignof] = ACTIONS(2773), + [anon_sym__Alignof] = ACTIONS(2773), + [anon_sym_offsetof] = ACTIONS(2773), + [anon_sym__Generic] = ACTIONS(2773), + [anon_sym_asm] = ACTIONS(2773), + [anon_sym___asm__] = ACTIONS(2773), + [sym__number_literal] = ACTIONS(2775), + [anon_sym_L_SQUOTE] = ACTIONS(2775), + [anon_sym_u_SQUOTE] = ACTIONS(2775), + [anon_sym_U_SQUOTE] = ACTIONS(2775), + [anon_sym_u8_SQUOTE] = ACTIONS(2775), + [anon_sym_SQUOTE] = ACTIONS(2775), + [anon_sym_L_DQUOTE] = ACTIONS(2775), + [anon_sym_u_DQUOTE] = ACTIONS(2775), + [anon_sym_U_DQUOTE] = ACTIONS(2775), + [anon_sym_u8_DQUOTE] = ACTIONS(2775), + [anon_sym_DQUOTE] = ACTIONS(2775), + [sym_true] = ACTIONS(2773), + [sym_false] = ACTIONS(2773), + [anon_sym_NULL] = ACTIONS(2773), + [anon_sym_nullptr] = ACTIONS(2773), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2775), + [sym_auto] = ACTIONS(2773), + [anon_sym_decltype] = ACTIONS(2773), + [sym_virtual] = ACTIONS(2773), + [anon_sym_typename] = ACTIONS(2773), + [anon_sym_template] = ACTIONS(2773), + [anon_sym_try] = ACTIONS(2773), + [anon_sym_delete] = ACTIONS(2773), + [anon_sym_throw] = ACTIONS(2773), + [anon_sym_co_return] = ACTIONS(2773), + [anon_sym_co_yield] = ACTIONS(2773), + [anon_sym_R_DQUOTE] = ACTIONS(2775), + [anon_sym_LR_DQUOTE] = ACTIONS(2775), + [anon_sym_uR_DQUOTE] = ACTIONS(2775), + [anon_sym_UR_DQUOTE] = ACTIONS(2775), + [anon_sym_u8R_DQUOTE] = ACTIONS(2775), + [anon_sym_co_await] = ACTIONS(2773), + [anon_sym_new] = ACTIONS(2773), + [anon_sym_requires] = ACTIONS(2773), + [sym_this] = ACTIONS(2773), + }, + [861] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4023), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [862] = { + [sym__identifier] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2787), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [863] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4025), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [864] = { + [sym__identifier] = ACTIONS(2727), + [anon_sym_LPAREN2] = ACTIONS(2729), + [anon_sym_BANG] = ACTIONS(2729), + [anon_sym_TILDE] = ACTIONS(2729), + [anon_sym_DASH] = ACTIONS(2727), + [anon_sym_PLUS] = ACTIONS(2727), + [anon_sym_STAR] = ACTIONS(2729), + [anon_sym_AMP] = ACTIONS(2729), + [anon_sym_SEMI] = ACTIONS(2729), + [anon_sym___extension__] = ACTIONS(2727), + [anon_sym_typedef] = ACTIONS(2727), + [anon_sym_extern] = ACTIONS(2727), + [anon_sym___attribute__] = ACTIONS(2727), + [anon_sym_COLON_COLON] = ACTIONS(2729), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2729), + [anon_sym___declspec] = ACTIONS(2727), + [anon_sym_LBRACE] = ACTIONS(2729), + [anon_sym_signed] = ACTIONS(2727), + [anon_sym_unsigned] = ACTIONS(2727), + [anon_sym_long] = ACTIONS(2727), + [anon_sym_short] = ACTIONS(2727), + [anon_sym_LBRACK] = ACTIONS(2727), + [anon_sym_static] = ACTIONS(2727), + [anon_sym_register] = ACTIONS(2727), + [anon_sym_inline] = ACTIONS(2727), + [anon_sym___inline] = ACTIONS(2727), + [anon_sym___inline__] = ACTIONS(2727), + [anon_sym___forceinline] = ACTIONS(2727), + [anon_sym_thread_local] = ACTIONS(2727), + [anon_sym___thread] = ACTIONS(2727), + [anon_sym_const] = ACTIONS(2727), + [anon_sym_constexpr] = ACTIONS(2727), + [anon_sym_volatile] = ACTIONS(2727), + [anon_sym_restrict] = ACTIONS(2727), + [anon_sym___restrict__] = ACTIONS(2727), + [anon_sym__Atomic] = ACTIONS(2727), + [anon_sym__Noreturn] = ACTIONS(2727), + [anon_sym_noreturn] = ACTIONS(2727), + [anon_sym_mutable] = ACTIONS(2727), + [anon_sym_constinit] = ACTIONS(2727), + [anon_sym_consteval] = ACTIONS(2727), + [anon_sym_alignas] = ACTIONS(2727), + [anon_sym__Alignas] = ACTIONS(2727), + [sym_primitive_type] = ACTIONS(2727), + [anon_sym_enum] = ACTIONS(2727), + [anon_sym_class] = ACTIONS(2727), + [anon_sym_struct] = ACTIONS(2727), + [anon_sym_union] = ACTIONS(2727), + [anon_sym_if] = ACTIONS(2727), + [anon_sym_else] = ACTIONS(2727), + [anon_sym_switch] = ACTIONS(2727), + [anon_sym_while] = ACTIONS(2727), + [anon_sym_do] = ACTIONS(2727), + [anon_sym_for] = ACTIONS(2727), + [anon_sym_return] = ACTIONS(2727), + [anon_sym_break] = ACTIONS(2727), + [anon_sym_continue] = ACTIONS(2727), + [anon_sym_goto] = ACTIONS(2727), + [anon_sym___try] = ACTIONS(2727), + [anon_sym___leave] = ACTIONS(2727), + [anon_sym_not] = ACTIONS(2727), + [anon_sym_compl] = ACTIONS(2727), + [anon_sym_DASH_DASH] = ACTIONS(2729), + [anon_sym_PLUS_PLUS] = ACTIONS(2729), + [anon_sym_sizeof] = ACTIONS(2727), + [anon_sym___alignof__] = ACTIONS(2727), + [anon_sym___alignof] = ACTIONS(2727), + [anon_sym__alignof] = ACTIONS(2727), + [anon_sym_alignof] = ACTIONS(2727), + [anon_sym__Alignof] = ACTIONS(2727), + [anon_sym_offsetof] = ACTIONS(2727), + [anon_sym__Generic] = ACTIONS(2727), + [anon_sym_asm] = ACTIONS(2727), + [anon_sym___asm__] = ACTIONS(2727), + [sym__number_literal] = ACTIONS(2729), + [anon_sym_L_SQUOTE] = ACTIONS(2729), + [anon_sym_u_SQUOTE] = ACTIONS(2729), + [anon_sym_U_SQUOTE] = ACTIONS(2729), + [anon_sym_u8_SQUOTE] = ACTIONS(2729), + [anon_sym_SQUOTE] = ACTIONS(2729), + [anon_sym_L_DQUOTE] = ACTIONS(2729), + [anon_sym_u_DQUOTE] = ACTIONS(2729), + [anon_sym_U_DQUOTE] = ACTIONS(2729), + [anon_sym_u8_DQUOTE] = ACTIONS(2729), + [anon_sym_DQUOTE] = ACTIONS(2729), + [sym_true] = ACTIONS(2727), + [sym_false] = ACTIONS(2727), + [anon_sym_NULL] = ACTIONS(2727), + [anon_sym_nullptr] = ACTIONS(2727), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2729), + [sym_auto] = ACTIONS(2727), + [anon_sym_decltype] = ACTIONS(2727), + [sym_virtual] = ACTIONS(2727), + [anon_sym_typename] = ACTIONS(2727), + [anon_sym_template] = ACTIONS(2727), + [anon_sym_try] = ACTIONS(2727), + [anon_sym_delete] = ACTIONS(2727), + [anon_sym_throw] = ACTIONS(2727), + [anon_sym_co_return] = ACTIONS(2727), + [anon_sym_co_yield] = ACTIONS(2727), + [anon_sym_R_DQUOTE] = ACTIONS(2729), + [anon_sym_LR_DQUOTE] = ACTIONS(2729), + [anon_sym_uR_DQUOTE] = ACTIONS(2729), + [anon_sym_UR_DQUOTE] = ACTIONS(2729), + [anon_sym_u8R_DQUOTE] = ACTIONS(2729), + [anon_sym_co_await] = ACTIONS(2727), + [anon_sym_new] = ACTIONS(2727), + [anon_sym_requires] = ACTIONS(2727), + [sym_this] = ACTIONS(2727), + }, + [865] = { + [sym__identifier] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_BANG] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_DASH] = ACTIONS(2759), + [anon_sym_PLUS] = ACTIONS(2759), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2761), + [anon_sym_SEMI] = ACTIONS(2761), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [anon_sym_if] = ACTIONS(2759), + [anon_sym_else] = ACTIONS(2759), + [anon_sym_switch] = ACTIONS(2759), + [anon_sym_while] = ACTIONS(2759), + [anon_sym_do] = ACTIONS(2759), + [anon_sym_for] = ACTIONS(2759), + [anon_sym_return] = ACTIONS(2759), + [anon_sym_break] = ACTIONS(2759), + [anon_sym_continue] = ACTIONS(2759), + [anon_sym_goto] = ACTIONS(2759), + [anon_sym___try] = ACTIONS(2759), + [anon_sym___leave] = ACTIONS(2759), + [anon_sym_not] = ACTIONS(2759), + [anon_sym_compl] = ACTIONS(2759), + [anon_sym_DASH_DASH] = ACTIONS(2761), + [anon_sym_PLUS_PLUS] = ACTIONS(2761), + [anon_sym_sizeof] = ACTIONS(2759), + [anon_sym___alignof__] = ACTIONS(2759), + [anon_sym___alignof] = ACTIONS(2759), + [anon_sym__alignof] = ACTIONS(2759), + [anon_sym_alignof] = ACTIONS(2759), + [anon_sym__Alignof] = ACTIONS(2759), + [anon_sym_offsetof] = ACTIONS(2759), + [anon_sym__Generic] = ACTIONS(2759), + [anon_sym_asm] = ACTIONS(2759), + [anon_sym___asm__] = ACTIONS(2759), + [sym__number_literal] = ACTIONS(2761), + [anon_sym_L_SQUOTE] = ACTIONS(2761), + [anon_sym_u_SQUOTE] = ACTIONS(2761), + [anon_sym_U_SQUOTE] = ACTIONS(2761), + [anon_sym_u8_SQUOTE] = ACTIONS(2761), + [anon_sym_SQUOTE] = ACTIONS(2761), + [anon_sym_L_DQUOTE] = ACTIONS(2761), + [anon_sym_u_DQUOTE] = ACTIONS(2761), + [anon_sym_U_DQUOTE] = ACTIONS(2761), + [anon_sym_u8_DQUOTE] = ACTIONS(2761), + [anon_sym_DQUOTE] = ACTIONS(2761), + [sym_true] = ACTIONS(2759), + [sym_false] = ACTIONS(2759), + [anon_sym_NULL] = ACTIONS(2759), + [anon_sym_nullptr] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_try] = ACTIONS(2759), + [anon_sym_delete] = ACTIONS(2759), + [anon_sym_throw] = ACTIONS(2759), + [anon_sym_co_return] = ACTIONS(2759), + [anon_sym_co_yield] = ACTIONS(2759), + [anon_sym_R_DQUOTE] = ACTIONS(2761), + [anon_sym_LR_DQUOTE] = ACTIONS(2761), + [anon_sym_uR_DQUOTE] = ACTIONS(2761), + [anon_sym_UR_DQUOTE] = ACTIONS(2761), + [anon_sym_u8R_DQUOTE] = ACTIONS(2761), + [anon_sym_co_await] = ACTIONS(2759), + [anon_sym_new] = ACTIONS(2759), + [anon_sym_requires] = ACTIONS(2759), + [sym_this] = ACTIONS(2759), + }, + [866] = { + [sym__identifier] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_BANG] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_DASH] = ACTIONS(2695), + [anon_sym_PLUS] = ACTIONS(2695), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2697), + [anon_sym_SEMI] = ACTIONS(2697), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym_LBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [anon_sym_if] = ACTIONS(2695), + [anon_sym_else] = ACTIONS(2695), + [anon_sym_switch] = ACTIONS(2695), + [anon_sym_while] = ACTIONS(2695), + [anon_sym_do] = ACTIONS(2695), + [anon_sym_for] = ACTIONS(2695), + [anon_sym_return] = ACTIONS(2695), + [anon_sym_break] = ACTIONS(2695), + [anon_sym_continue] = ACTIONS(2695), + [anon_sym_goto] = ACTIONS(2695), + [anon_sym___try] = ACTIONS(2695), + [anon_sym___leave] = ACTIONS(2695), + [anon_sym_not] = ACTIONS(2695), + [anon_sym_compl] = ACTIONS(2695), + [anon_sym_DASH_DASH] = ACTIONS(2697), + [anon_sym_PLUS_PLUS] = ACTIONS(2697), + [anon_sym_sizeof] = ACTIONS(2695), + [anon_sym___alignof__] = ACTIONS(2695), + [anon_sym___alignof] = ACTIONS(2695), + [anon_sym__alignof] = ACTIONS(2695), + [anon_sym_alignof] = ACTIONS(2695), + [anon_sym__Alignof] = ACTIONS(2695), + [anon_sym_offsetof] = ACTIONS(2695), + [anon_sym__Generic] = ACTIONS(2695), + [anon_sym_asm] = ACTIONS(2695), + [anon_sym___asm__] = ACTIONS(2695), + [sym__number_literal] = ACTIONS(2697), + [anon_sym_L_SQUOTE] = ACTIONS(2697), + [anon_sym_u_SQUOTE] = ACTIONS(2697), + [anon_sym_U_SQUOTE] = ACTIONS(2697), + [anon_sym_u8_SQUOTE] = ACTIONS(2697), + [anon_sym_SQUOTE] = ACTIONS(2697), + [anon_sym_L_DQUOTE] = ACTIONS(2697), + [anon_sym_u_DQUOTE] = ACTIONS(2697), + [anon_sym_U_DQUOTE] = ACTIONS(2697), + [anon_sym_u8_DQUOTE] = ACTIONS(2697), + [anon_sym_DQUOTE] = ACTIONS(2697), + [sym_true] = ACTIONS(2695), + [sym_false] = ACTIONS(2695), + [anon_sym_NULL] = ACTIONS(2695), + [anon_sym_nullptr] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_try] = ACTIONS(2695), + [anon_sym_delete] = ACTIONS(2695), + [anon_sym_throw] = ACTIONS(2695), + [anon_sym_co_return] = ACTIONS(2695), + [anon_sym_co_yield] = ACTIONS(2695), + [anon_sym_R_DQUOTE] = ACTIONS(2697), + [anon_sym_LR_DQUOTE] = ACTIONS(2697), + [anon_sym_uR_DQUOTE] = ACTIONS(2697), + [anon_sym_UR_DQUOTE] = ACTIONS(2697), + [anon_sym_u8R_DQUOTE] = ACTIONS(2697), + [anon_sym_co_await] = ACTIONS(2695), + [anon_sym_new] = ACTIONS(2695), + [anon_sym_requires] = ACTIONS(2695), + [sym_this] = ACTIONS(2695), + }, + [867] = { + [sym__identifier] = ACTIONS(2731), + [anon_sym_LPAREN2] = ACTIONS(2733), + [anon_sym_BANG] = ACTIONS(2733), + [anon_sym_TILDE] = ACTIONS(2733), + [anon_sym_DASH] = ACTIONS(2731), + [anon_sym_PLUS] = ACTIONS(2731), + [anon_sym_STAR] = ACTIONS(2733), + [anon_sym_AMP] = ACTIONS(2733), + [anon_sym_SEMI] = ACTIONS(2733), + [anon_sym___extension__] = ACTIONS(2731), + [anon_sym_typedef] = ACTIONS(2731), + [anon_sym_extern] = ACTIONS(2731), + [anon_sym___attribute__] = ACTIONS(2731), + [anon_sym_COLON_COLON] = ACTIONS(2733), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2733), + [anon_sym___declspec] = ACTIONS(2731), + [anon_sym_LBRACE] = ACTIONS(2733), + [anon_sym_signed] = ACTIONS(2731), + [anon_sym_unsigned] = ACTIONS(2731), + [anon_sym_long] = ACTIONS(2731), + [anon_sym_short] = ACTIONS(2731), + [anon_sym_LBRACK] = ACTIONS(2731), + [anon_sym_static] = ACTIONS(2731), + [anon_sym_register] = ACTIONS(2731), + [anon_sym_inline] = ACTIONS(2731), + [anon_sym___inline] = ACTIONS(2731), + [anon_sym___inline__] = ACTIONS(2731), + [anon_sym___forceinline] = ACTIONS(2731), + [anon_sym_thread_local] = ACTIONS(2731), + [anon_sym___thread] = ACTIONS(2731), + [anon_sym_const] = ACTIONS(2731), + [anon_sym_constexpr] = ACTIONS(2731), + [anon_sym_volatile] = ACTIONS(2731), + [anon_sym_restrict] = ACTIONS(2731), + [anon_sym___restrict__] = ACTIONS(2731), + [anon_sym__Atomic] = ACTIONS(2731), + [anon_sym__Noreturn] = ACTIONS(2731), + [anon_sym_noreturn] = ACTIONS(2731), + [anon_sym_mutable] = ACTIONS(2731), + [anon_sym_constinit] = ACTIONS(2731), + [anon_sym_consteval] = ACTIONS(2731), + [anon_sym_alignas] = ACTIONS(2731), + [anon_sym__Alignas] = ACTIONS(2731), + [sym_primitive_type] = ACTIONS(2731), + [anon_sym_enum] = ACTIONS(2731), + [anon_sym_class] = ACTIONS(2731), + [anon_sym_struct] = ACTIONS(2731), + [anon_sym_union] = ACTIONS(2731), + [anon_sym_if] = ACTIONS(2731), + [anon_sym_else] = ACTIONS(2731), + [anon_sym_switch] = ACTIONS(2731), + [anon_sym_while] = ACTIONS(2731), + [anon_sym_do] = ACTIONS(2731), + [anon_sym_for] = ACTIONS(2731), + [anon_sym_return] = ACTIONS(2731), + [anon_sym_break] = ACTIONS(2731), + [anon_sym_continue] = ACTIONS(2731), + [anon_sym_goto] = ACTIONS(2731), + [anon_sym___try] = ACTIONS(2731), + [anon_sym___leave] = ACTIONS(2731), + [anon_sym_not] = ACTIONS(2731), + [anon_sym_compl] = ACTIONS(2731), + [anon_sym_DASH_DASH] = ACTIONS(2733), + [anon_sym_PLUS_PLUS] = ACTIONS(2733), + [anon_sym_sizeof] = ACTIONS(2731), + [anon_sym___alignof__] = ACTIONS(2731), + [anon_sym___alignof] = ACTIONS(2731), + [anon_sym__alignof] = ACTIONS(2731), + [anon_sym_alignof] = ACTIONS(2731), + [anon_sym__Alignof] = ACTIONS(2731), + [anon_sym_offsetof] = ACTIONS(2731), + [anon_sym__Generic] = ACTIONS(2731), + [anon_sym_asm] = ACTIONS(2731), + [anon_sym___asm__] = ACTIONS(2731), + [sym__number_literal] = ACTIONS(2733), + [anon_sym_L_SQUOTE] = ACTIONS(2733), + [anon_sym_u_SQUOTE] = ACTIONS(2733), + [anon_sym_U_SQUOTE] = ACTIONS(2733), + [anon_sym_u8_SQUOTE] = ACTIONS(2733), + [anon_sym_SQUOTE] = ACTIONS(2733), + [anon_sym_L_DQUOTE] = ACTIONS(2733), + [anon_sym_u_DQUOTE] = ACTIONS(2733), + [anon_sym_U_DQUOTE] = ACTIONS(2733), + [anon_sym_u8_DQUOTE] = ACTIONS(2733), + [anon_sym_DQUOTE] = ACTIONS(2733), + [sym_true] = ACTIONS(2731), + [sym_false] = ACTIONS(2731), + [anon_sym_NULL] = ACTIONS(2731), + [anon_sym_nullptr] = ACTIONS(2731), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2733), + [sym_auto] = ACTIONS(2731), + [anon_sym_decltype] = ACTIONS(2731), + [sym_virtual] = ACTIONS(2731), + [anon_sym_typename] = ACTIONS(2731), + [anon_sym_template] = ACTIONS(2731), + [anon_sym_try] = ACTIONS(2731), + [anon_sym_delete] = ACTIONS(2731), + [anon_sym_throw] = ACTIONS(2731), + [anon_sym_co_return] = ACTIONS(2731), + [anon_sym_co_yield] = ACTIONS(2731), + [anon_sym_R_DQUOTE] = ACTIONS(2733), + [anon_sym_LR_DQUOTE] = ACTIONS(2733), + [anon_sym_uR_DQUOTE] = ACTIONS(2733), + [anon_sym_UR_DQUOTE] = ACTIONS(2733), + [anon_sym_u8R_DQUOTE] = ACTIONS(2733), + [anon_sym_co_await] = ACTIONS(2731), + [anon_sym_new] = ACTIONS(2731), + [anon_sym_requires] = ACTIONS(2731), + [sym_this] = ACTIONS(2731), + }, + [868] = { + [sym__identifier] = ACTIONS(2739), + [anon_sym_LPAREN2] = ACTIONS(2741), + [anon_sym_BANG] = ACTIONS(2741), + [anon_sym_TILDE] = ACTIONS(2741), + [anon_sym_DASH] = ACTIONS(2739), + [anon_sym_PLUS] = ACTIONS(2739), + [anon_sym_STAR] = ACTIONS(2741), + [anon_sym_AMP] = ACTIONS(2741), + [anon_sym_SEMI] = ACTIONS(2741), + [anon_sym___extension__] = ACTIONS(2739), + [anon_sym_typedef] = ACTIONS(2739), + [anon_sym_extern] = ACTIONS(2739), + [anon_sym___attribute__] = ACTIONS(2739), + [anon_sym_COLON_COLON] = ACTIONS(2741), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2741), + [anon_sym___declspec] = ACTIONS(2739), + [anon_sym_LBRACE] = ACTIONS(2741), + [anon_sym_signed] = ACTIONS(2739), + [anon_sym_unsigned] = ACTIONS(2739), + [anon_sym_long] = ACTIONS(2739), + [anon_sym_short] = ACTIONS(2739), + [anon_sym_LBRACK] = ACTIONS(2739), + [anon_sym_static] = ACTIONS(2739), + [anon_sym_register] = ACTIONS(2739), + [anon_sym_inline] = ACTIONS(2739), + [anon_sym___inline] = ACTIONS(2739), + [anon_sym___inline__] = ACTIONS(2739), + [anon_sym___forceinline] = ACTIONS(2739), + [anon_sym_thread_local] = ACTIONS(2739), + [anon_sym___thread] = ACTIONS(2739), + [anon_sym_const] = ACTIONS(2739), + [anon_sym_constexpr] = ACTIONS(2739), + [anon_sym_volatile] = ACTIONS(2739), + [anon_sym_restrict] = ACTIONS(2739), + [anon_sym___restrict__] = ACTIONS(2739), + [anon_sym__Atomic] = ACTIONS(2739), + [anon_sym__Noreturn] = ACTIONS(2739), + [anon_sym_noreturn] = ACTIONS(2739), + [anon_sym_mutable] = ACTIONS(2739), + [anon_sym_constinit] = ACTIONS(2739), + [anon_sym_consteval] = ACTIONS(2739), + [anon_sym_alignas] = ACTIONS(2739), + [anon_sym__Alignas] = ACTIONS(2739), + [sym_primitive_type] = ACTIONS(2739), + [anon_sym_enum] = ACTIONS(2739), + [anon_sym_class] = ACTIONS(2739), + [anon_sym_struct] = ACTIONS(2739), + [anon_sym_union] = ACTIONS(2739), + [anon_sym_if] = ACTIONS(2739), + [anon_sym_else] = ACTIONS(2739), + [anon_sym_switch] = ACTIONS(2739), + [anon_sym_while] = ACTIONS(2739), + [anon_sym_do] = ACTIONS(2739), + [anon_sym_for] = ACTIONS(2739), + [anon_sym_return] = ACTIONS(2739), + [anon_sym_break] = ACTIONS(2739), + [anon_sym_continue] = ACTIONS(2739), + [anon_sym_goto] = ACTIONS(2739), + [anon_sym___try] = ACTIONS(2739), + [anon_sym___leave] = ACTIONS(2739), + [anon_sym_not] = ACTIONS(2739), + [anon_sym_compl] = ACTIONS(2739), + [anon_sym_DASH_DASH] = ACTIONS(2741), + [anon_sym_PLUS_PLUS] = ACTIONS(2741), + [anon_sym_sizeof] = ACTIONS(2739), + [anon_sym___alignof__] = ACTIONS(2739), + [anon_sym___alignof] = ACTIONS(2739), + [anon_sym__alignof] = ACTIONS(2739), + [anon_sym_alignof] = ACTIONS(2739), + [anon_sym__Alignof] = ACTIONS(2739), + [anon_sym_offsetof] = ACTIONS(2739), + [anon_sym__Generic] = ACTIONS(2739), + [anon_sym_asm] = ACTIONS(2739), + [anon_sym___asm__] = ACTIONS(2739), + [sym__number_literal] = ACTIONS(2741), + [anon_sym_L_SQUOTE] = ACTIONS(2741), + [anon_sym_u_SQUOTE] = ACTIONS(2741), + [anon_sym_U_SQUOTE] = ACTIONS(2741), + [anon_sym_u8_SQUOTE] = ACTIONS(2741), + [anon_sym_SQUOTE] = ACTIONS(2741), + [anon_sym_L_DQUOTE] = ACTIONS(2741), + [anon_sym_u_DQUOTE] = ACTIONS(2741), + [anon_sym_U_DQUOTE] = ACTIONS(2741), + [anon_sym_u8_DQUOTE] = ACTIONS(2741), + [anon_sym_DQUOTE] = ACTIONS(2741), + [sym_true] = ACTIONS(2739), + [sym_false] = ACTIONS(2739), + [anon_sym_NULL] = ACTIONS(2739), + [anon_sym_nullptr] = ACTIONS(2739), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2741), + [sym_auto] = ACTIONS(2739), + [anon_sym_decltype] = ACTIONS(2739), + [sym_virtual] = ACTIONS(2739), + [anon_sym_typename] = ACTIONS(2739), + [anon_sym_template] = ACTIONS(2739), + [anon_sym_try] = ACTIONS(2739), + [anon_sym_delete] = ACTIONS(2739), + [anon_sym_throw] = ACTIONS(2739), + [anon_sym_co_return] = ACTIONS(2739), + [anon_sym_co_yield] = ACTIONS(2739), + [anon_sym_R_DQUOTE] = ACTIONS(2741), + [anon_sym_LR_DQUOTE] = ACTIONS(2741), + [anon_sym_uR_DQUOTE] = ACTIONS(2741), + [anon_sym_UR_DQUOTE] = ACTIONS(2741), + [anon_sym_u8R_DQUOTE] = ACTIONS(2741), + [anon_sym_co_await] = ACTIONS(2739), + [anon_sym_new] = ACTIONS(2739), + [anon_sym_requires] = ACTIONS(2739), + [sym_this] = ACTIONS(2739), + }, + [869] = { + [sym__identifier] = ACTIONS(2699), + [anon_sym_LPAREN2] = ACTIONS(2701), + [anon_sym_BANG] = ACTIONS(2701), + [anon_sym_TILDE] = ACTIONS(2701), + [anon_sym_DASH] = ACTIONS(2699), + [anon_sym_PLUS] = ACTIONS(2699), + [anon_sym_STAR] = ACTIONS(2701), + [anon_sym_AMP] = ACTIONS(2701), + [anon_sym_SEMI] = ACTIONS(2701), + [anon_sym___extension__] = ACTIONS(2699), + [anon_sym_typedef] = ACTIONS(2699), + [anon_sym_extern] = ACTIONS(2699), + [anon_sym___attribute__] = ACTIONS(2699), + [anon_sym_COLON_COLON] = ACTIONS(2701), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2701), + [anon_sym___declspec] = ACTIONS(2699), + [anon_sym_LBRACE] = ACTIONS(2701), + [anon_sym_signed] = ACTIONS(2699), + [anon_sym_unsigned] = ACTIONS(2699), + [anon_sym_long] = ACTIONS(2699), + [anon_sym_short] = ACTIONS(2699), + [anon_sym_LBRACK] = ACTIONS(2699), + [anon_sym_static] = ACTIONS(2699), + [anon_sym_register] = ACTIONS(2699), + [anon_sym_inline] = ACTIONS(2699), + [anon_sym___inline] = ACTIONS(2699), + [anon_sym___inline__] = ACTIONS(2699), + [anon_sym___forceinline] = ACTIONS(2699), + [anon_sym_thread_local] = ACTIONS(2699), + [anon_sym___thread] = ACTIONS(2699), + [anon_sym_const] = ACTIONS(2699), + [anon_sym_constexpr] = ACTIONS(2699), + [anon_sym_volatile] = ACTIONS(2699), + [anon_sym_restrict] = ACTIONS(2699), + [anon_sym___restrict__] = ACTIONS(2699), + [anon_sym__Atomic] = ACTIONS(2699), + [anon_sym__Noreturn] = ACTIONS(2699), + [anon_sym_noreturn] = ACTIONS(2699), + [anon_sym_mutable] = ACTIONS(2699), + [anon_sym_constinit] = ACTIONS(2699), + [anon_sym_consteval] = ACTIONS(2699), + [anon_sym_alignas] = ACTIONS(2699), + [anon_sym__Alignas] = ACTIONS(2699), + [sym_primitive_type] = ACTIONS(2699), + [anon_sym_enum] = ACTIONS(2699), + [anon_sym_class] = ACTIONS(2699), + [anon_sym_struct] = ACTIONS(2699), + [anon_sym_union] = ACTIONS(2699), + [anon_sym_if] = ACTIONS(2699), + [anon_sym_else] = ACTIONS(2699), + [anon_sym_switch] = ACTIONS(2699), + [anon_sym_while] = ACTIONS(2699), + [anon_sym_do] = ACTIONS(2699), + [anon_sym_for] = ACTIONS(2699), + [anon_sym_return] = ACTIONS(2699), + [anon_sym_break] = ACTIONS(2699), + [anon_sym_continue] = ACTIONS(2699), + [anon_sym_goto] = ACTIONS(2699), + [anon_sym___try] = ACTIONS(2699), + [anon_sym___leave] = ACTIONS(2699), + [anon_sym_not] = ACTIONS(2699), + [anon_sym_compl] = ACTIONS(2699), + [anon_sym_DASH_DASH] = ACTIONS(2701), + [anon_sym_PLUS_PLUS] = ACTIONS(2701), + [anon_sym_sizeof] = ACTIONS(2699), + [anon_sym___alignof__] = ACTIONS(2699), + [anon_sym___alignof] = ACTIONS(2699), + [anon_sym__alignof] = ACTIONS(2699), + [anon_sym_alignof] = ACTIONS(2699), + [anon_sym__Alignof] = ACTIONS(2699), + [anon_sym_offsetof] = ACTIONS(2699), + [anon_sym__Generic] = ACTIONS(2699), + [anon_sym_asm] = ACTIONS(2699), + [anon_sym___asm__] = ACTIONS(2699), + [sym__number_literal] = ACTIONS(2701), + [anon_sym_L_SQUOTE] = ACTIONS(2701), + [anon_sym_u_SQUOTE] = ACTIONS(2701), + [anon_sym_U_SQUOTE] = ACTIONS(2701), + [anon_sym_u8_SQUOTE] = ACTIONS(2701), + [anon_sym_SQUOTE] = ACTIONS(2701), + [anon_sym_L_DQUOTE] = ACTIONS(2701), + [anon_sym_u_DQUOTE] = ACTIONS(2701), + [anon_sym_U_DQUOTE] = ACTIONS(2701), + [anon_sym_u8_DQUOTE] = ACTIONS(2701), + [anon_sym_DQUOTE] = ACTIONS(2701), + [sym_true] = ACTIONS(2699), + [sym_false] = ACTIONS(2699), + [anon_sym_NULL] = ACTIONS(2699), + [anon_sym_nullptr] = ACTIONS(2699), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2701), + [sym_auto] = ACTIONS(2699), + [anon_sym_decltype] = ACTIONS(2699), + [sym_virtual] = ACTIONS(2699), + [anon_sym_typename] = ACTIONS(2699), + [anon_sym_template] = ACTIONS(2699), + [anon_sym_try] = ACTIONS(2699), + [anon_sym_delete] = ACTIONS(2699), + [anon_sym_throw] = ACTIONS(2699), + [anon_sym_co_return] = ACTIONS(2699), + [anon_sym_co_yield] = ACTIONS(2699), + [anon_sym_R_DQUOTE] = ACTIONS(2701), + [anon_sym_LR_DQUOTE] = ACTIONS(2701), + [anon_sym_uR_DQUOTE] = ACTIONS(2701), + [anon_sym_UR_DQUOTE] = ACTIONS(2701), + [anon_sym_u8R_DQUOTE] = ACTIONS(2701), + [anon_sym_co_await] = ACTIONS(2699), + [anon_sym_new] = ACTIONS(2699), + [anon_sym_requires] = ACTIONS(2699), + [sym_this] = ACTIONS(2699), + }, + [870] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_call_modifier] = STATE(4325), + [sym__declarator] = STATE(6560), + [sym__abstract_declarator] = STATE(6730), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_list] = STATE(3393), + [sym_parameter_declaration] = STATE(7290), + [sym_identifier] = STATE(3326), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7290), + [sym_variadic_parameter_declaration] = STATE(7290), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(2494), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5543), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1857), + [anon_sym_RPAREN] = ACTIONS(4027), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(4031), + [anon_sym_AMP_AMP] = ACTIONS(4033), + [anon_sym_AMP] = ACTIONS(4035), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4037), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(4039), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [871] = { + [sym__identifier] = ACTIONS(3759), + [anon_sym_LPAREN2] = ACTIONS(3761), + [anon_sym_BANG] = ACTIONS(3761), + [anon_sym_TILDE] = ACTIONS(3761), + [anon_sym_DASH] = ACTIONS(3759), + [anon_sym_PLUS] = ACTIONS(3759), + [anon_sym_STAR] = ACTIONS(3761), + [anon_sym_AMP] = ACTIONS(3761), + [anon_sym_SEMI] = ACTIONS(3761), + [anon_sym___extension__] = ACTIONS(3759), + [anon_sym_extern] = ACTIONS(3759), + [anon_sym___attribute__] = ACTIONS(3759), + [anon_sym_COLON_COLON] = ACTIONS(3761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3761), + [anon_sym___declspec] = ACTIONS(3759), + [anon_sym_LBRACE] = ACTIONS(3761), + [anon_sym_signed] = ACTIONS(3759), + [anon_sym_unsigned] = ACTIONS(3759), + [anon_sym_long] = ACTIONS(3759), + [anon_sym_short] = ACTIONS(3759), + [anon_sym_LBRACK] = ACTIONS(3759), + [anon_sym_static] = ACTIONS(3759), + [anon_sym_register] = ACTIONS(3759), + [anon_sym_inline] = ACTIONS(3759), + [anon_sym___inline] = ACTIONS(3759), + [anon_sym___inline__] = ACTIONS(3759), + [anon_sym___forceinline] = ACTIONS(3759), + [anon_sym_thread_local] = ACTIONS(3759), + [anon_sym___thread] = ACTIONS(3759), + [anon_sym_const] = ACTIONS(3759), + [anon_sym_constexpr] = ACTIONS(3759), + [anon_sym_volatile] = ACTIONS(3759), + [anon_sym_restrict] = ACTIONS(3759), + [anon_sym___restrict__] = ACTIONS(3759), + [anon_sym__Atomic] = ACTIONS(3759), + [anon_sym__Noreturn] = ACTIONS(3759), + [anon_sym_noreturn] = ACTIONS(3759), + [anon_sym_mutable] = ACTIONS(3759), + [anon_sym_constinit] = ACTIONS(3759), + [anon_sym_consteval] = ACTIONS(3759), + [anon_sym_alignas] = ACTIONS(3759), + [anon_sym__Alignas] = ACTIONS(3759), + [sym_primitive_type] = ACTIONS(3759), + [anon_sym_enum] = ACTIONS(3759), + [anon_sym_class] = ACTIONS(3759), + [anon_sym_struct] = ACTIONS(3759), + [anon_sym_union] = ACTIONS(3759), + [anon_sym_if] = ACTIONS(3759), + [anon_sym_switch] = ACTIONS(3759), + [anon_sym_case] = ACTIONS(3759), + [anon_sym_default] = ACTIONS(3759), + [anon_sym_while] = ACTIONS(3759), + [anon_sym_do] = ACTIONS(3759), + [anon_sym_for] = ACTIONS(3759), + [anon_sym_return] = ACTIONS(3759), + [anon_sym_break] = ACTIONS(3759), + [anon_sym_continue] = ACTIONS(3759), + [anon_sym_goto] = ACTIONS(3759), + [anon_sym___try] = ACTIONS(3759), + [anon_sym___leave] = ACTIONS(3759), + [anon_sym_not] = ACTIONS(3759), + [anon_sym_compl] = ACTIONS(3759), + [anon_sym_DASH_DASH] = ACTIONS(3761), + [anon_sym_PLUS_PLUS] = ACTIONS(3761), + [anon_sym_sizeof] = ACTIONS(3759), + [anon_sym___alignof__] = ACTIONS(3759), + [anon_sym___alignof] = ACTIONS(3759), + [anon_sym__alignof] = ACTIONS(3759), + [anon_sym_alignof] = ACTIONS(3759), + [anon_sym__Alignof] = ACTIONS(3759), + [anon_sym_offsetof] = ACTIONS(3759), + [anon_sym__Generic] = ACTIONS(3759), + [anon_sym_asm] = ACTIONS(3759), + [anon_sym___asm__] = ACTIONS(3759), + [sym__number_literal] = ACTIONS(3761), + [anon_sym_L_SQUOTE] = ACTIONS(3761), + [anon_sym_u_SQUOTE] = ACTIONS(3761), + [anon_sym_U_SQUOTE] = ACTIONS(3761), + [anon_sym_u8_SQUOTE] = ACTIONS(3761), + [anon_sym_SQUOTE] = ACTIONS(3761), + [anon_sym_L_DQUOTE] = ACTIONS(3761), + [anon_sym_u_DQUOTE] = ACTIONS(3761), + [anon_sym_U_DQUOTE] = ACTIONS(3761), + [anon_sym_u8_DQUOTE] = ACTIONS(3761), + [anon_sym_DQUOTE] = ACTIONS(3761), + [sym_true] = ACTIONS(3759), + [sym_false] = ACTIONS(3759), + [anon_sym_NULL] = ACTIONS(3759), + [anon_sym_nullptr] = ACTIONS(3759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3761), + [sym_auto] = ACTIONS(3759), + [anon_sym_decltype] = ACTIONS(3759), + [sym_virtual] = ACTIONS(3759), + [anon_sym_typename] = ACTIONS(3759), + [anon_sym_template] = ACTIONS(3759), + [anon_sym_try] = ACTIONS(3759), + [anon_sym_delete] = ACTIONS(3759), + [anon_sym_throw] = ACTIONS(3759), + [anon_sym_co_return] = ACTIONS(3759), + [anon_sym_co_yield] = ACTIONS(3759), + [anon_sym_R_DQUOTE] = ACTIONS(3761), + [anon_sym_LR_DQUOTE] = ACTIONS(3761), + [anon_sym_uR_DQUOTE] = ACTIONS(3761), + [anon_sym_UR_DQUOTE] = ACTIONS(3761), + [anon_sym_u8R_DQUOTE] = ACTIONS(3761), + [anon_sym_co_await] = ACTIONS(3759), + [anon_sym_new] = ACTIONS(3759), + [anon_sym_requires] = ACTIONS(3759), + [sym_this] = ACTIONS(3759), + }, + [872] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4041), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [873] = { + [sym__identifier] = ACTIONS(2584), + [anon_sym_LPAREN2] = ACTIONS(2589), + [anon_sym_BANG] = ACTIONS(2589), + [anon_sym_TILDE] = ACTIONS(2589), + [anon_sym_DASH] = ACTIONS(2584), + [anon_sym_PLUS] = ACTIONS(2584), + [anon_sym_STAR] = ACTIONS(2589), + [anon_sym_AMP] = ACTIONS(2589), + [anon_sym_SEMI] = ACTIONS(2589), + [anon_sym___extension__] = ACTIONS(2584), + [anon_sym_typedef] = ACTIONS(2584), + [anon_sym_extern] = ACTIONS(2584), + [anon_sym___attribute__] = ACTIONS(2584), + [anon_sym_COLON_COLON] = ACTIONS(2589), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2589), + [anon_sym___declspec] = ACTIONS(2584), + [anon_sym_LBRACE] = ACTIONS(2589), + [anon_sym_signed] = ACTIONS(2584), + [anon_sym_unsigned] = ACTIONS(2584), + [anon_sym_long] = ACTIONS(2584), + [anon_sym_short] = ACTIONS(2584), + [anon_sym_LBRACK] = ACTIONS(2584), + [anon_sym_static] = ACTIONS(2584), + [anon_sym_register] = ACTIONS(2584), + [anon_sym_inline] = ACTIONS(2584), + [anon_sym___inline] = ACTIONS(2584), + [anon_sym___inline__] = ACTIONS(2584), + [anon_sym___forceinline] = ACTIONS(2584), + [anon_sym_thread_local] = ACTIONS(2584), + [anon_sym___thread] = ACTIONS(2584), + [anon_sym_const] = ACTIONS(2584), + [anon_sym_constexpr] = ACTIONS(2584), + [anon_sym_volatile] = ACTIONS(2584), + [anon_sym_restrict] = ACTIONS(2584), + [anon_sym___restrict__] = ACTIONS(2584), + [anon_sym__Atomic] = ACTIONS(2584), + [anon_sym__Noreturn] = ACTIONS(2584), + [anon_sym_noreturn] = ACTIONS(2584), + [anon_sym_mutable] = ACTIONS(2584), + [anon_sym_constinit] = ACTIONS(2584), + [anon_sym_consteval] = ACTIONS(2584), + [anon_sym_alignas] = ACTIONS(2584), + [anon_sym__Alignas] = ACTIONS(2584), + [sym_primitive_type] = ACTIONS(2584), + [anon_sym_enum] = ACTIONS(2584), + [anon_sym_class] = ACTIONS(2584), + [anon_sym_struct] = ACTIONS(2584), + [anon_sym_union] = ACTIONS(2584), + [anon_sym_if] = ACTIONS(2584), + [anon_sym_else] = ACTIONS(2584), + [anon_sym_switch] = ACTIONS(2584), + [anon_sym_while] = ACTIONS(2584), + [anon_sym_do] = ACTIONS(2584), + [anon_sym_for] = ACTIONS(2584), + [anon_sym_return] = ACTIONS(2584), + [anon_sym_break] = ACTIONS(2584), + [anon_sym_continue] = ACTIONS(2584), + [anon_sym_goto] = ACTIONS(2584), + [anon_sym___try] = ACTIONS(2584), + [anon_sym___leave] = ACTIONS(2584), + [anon_sym_not] = ACTIONS(2584), + [anon_sym_compl] = ACTIONS(2584), + [anon_sym_DASH_DASH] = ACTIONS(2589), + [anon_sym_PLUS_PLUS] = ACTIONS(2589), + [anon_sym_sizeof] = ACTIONS(2584), + [anon_sym___alignof__] = ACTIONS(2584), + [anon_sym___alignof] = ACTIONS(2584), + [anon_sym__alignof] = ACTIONS(2584), + [anon_sym_alignof] = ACTIONS(2584), + [anon_sym__Alignof] = ACTIONS(2584), + [anon_sym_offsetof] = ACTIONS(2584), + [anon_sym__Generic] = ACTIONS(2584), + [anon_sym_asm] = ACTIONS(2584), + [anon_sym___asm__] = ACTIONS(2584), + [sym__number_literal] = ACTIONS(2589), + [anon_sym_L_SQUOTE] = ACTIONS(2589), + [anon_sym_u_SQUOTE] = ACTIONS(2589), + [anon_sym_U_SQUOTE] = ACTIONS(2589), + [anon_sym_u8_SQUOTE] = ACTIONS(2589), + [anon_sym_SQUOTE] = ACTIONS(2589), + [anon_sym_L_DQUOTE] = ACTIONS(2589), + [anon_sym_u_DQUOTE] = ACTIONS(2589), + [anon_sym_U_DQUOTE] = ACTIONS(2589), + [anon_sym_u8_DQUOTE] = ACTIONS(2589), + [anon_sym_DQUOTE] = ACTIONS(2589), + [sym_true] = ACTIONS(2584), + [sym_false] = ACTIONS(2584), + [anon_sym_NULL] = ACTIONS(2584), + [anon_sym_nullptr] = ACTIONS(2584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2589), + [sym_auto] = ACTIONS(2584), + [anon_sym_decltype] = ACTIONS(2584), + [sym_virtual] = ACTIONS(2584), + [anon_sym_typename] = ACTIONS(2584), + [anon_sym_template] = ACTIONS(2584), + [anon_sym_try] = ACTIONS(2584), + [anon_sym_delete] = ACTIONS(2584), + [anon_sym_throw] = ACTIONS(2584), + [anon_sym_co_return] = ACTIONS(2584), + [anon_sym_co_yield] = ACTIONS(2584), + [anon_sym_R_DQUOTE] = ACTIONS(2589), + [anon_sym_LR_DQUOTE] = ACTIONS(2589), + [anon_sym_uR_DQUOTE] = ACTIONS(2589), + [anon_sym_UR_DQUOTE] = ACTIONS(2589), + [anon_sym_u8R_DQUOTE] = ACTIONS(2589), + [anon_sym_co_await] = ACTIONS(2584), + [anon_sym_new] = ACTIONS(2584), + [anon_sym_requires] = ACTIONS(2584), + [sym_this] = ACTIONS(2584), + }, + [874] = { + [sym__identifier] = ACTIONS(3811), + [anon_sym_LPAREN2] = ACTIONS(3817), + [anon_sym_BANG] = ACTIONS(3817), + [anon_sym_TILDE] = ACTIONS(3817), + [anon_sym_DASH] = ACTIONS(3819), + [anon_sym_PLUS] = ACTIONS(3819), + [anon_sym_STAR] = ACTIONS(3817), + [anon_sym_AMP] = ACTIONS(3817), + [anon_sym_SEMI] = ACTIONS(3817), + [anon_sym___extension__] = ACTIONS(3823), + [anon_sym_extern] = ACTIONS(3823), + [anon_sym___attribute__] = ACTIONS(3823), + [anon_sym_COLON_COLON] = ACTIONS(3814), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3814), + [anon_sym___declspec] = ACTIONS(3823), + [anon_sym_LBRACE] = ACTIONS(3817), + [anon_sym_signed] = ACTIONS(3823), + [anon_sym_unsigned] = ACTIONS(3823), + [anon_sym_long] = ACTIONS(3823), + [anon_sym_short] = ACTIONS(3823), + [anon_sym_LBRACK] = ACTIONS(3819), + [anon_sym_static] = ACTIONS(3823), + [anon_sym_register] = ACTIONS(3823), + [anon_sym_inline] = ACTIONS(3823), + [anon_sym___inline] = ACTIONS(3823), + [anon_sym___inline__] = ACTIONS(3823), + [anon_sym___forceinline] = ACTIONS(3823), + [anon_sym_thread_local] = ACTIONS(3823), + [anon_sym___thread] = ACTIONS(3823), + [anon_sym_const] = ACTIONS(3823), + [anon_sym_constexpr] = ACTIONS(3823), + [anon_sym_volatile] = ACTIONS(3823), + [anon_sym_restrict] = ACTIONS(3823), + [anon_sym___restrict__] = ACTIONS(3823), + [anon_sym__Atomic] = ACTIONS(3823), + [anon_sym__Noreturn] = ACTIONS(3823), + [anon_sym_noreturn] = ACTIONS(3823), + [anon_sym_mutable] = ACTIONS(3823), + [anon_sym_constinit] = ACTIONS(3823), + [anon_sym_consteval] = ACTIONS(3823), + [anon_sym_alignas] = ACTIONS(3823), + [anon_sym__Alignas] = ACTIONS(3823), + [sym_primitive_type] = ACTIONS(3811), + [anon_sym_enum] = ACTIONS(3823), + [anon_sym_class] = ACTIONS(3823), + [anon_sym_struct] = ACTIONS(3823), + [anon_sym_union] = ACTIONS(3823), + [anon_sym_if] = ACTIONS(3819), + [anon_sym_switch] = ACTIONS(3819), + [anon_sym_case] = ACTIONS(3819), + [anon_sym_default] = ACTIONS(3819), + [anon_sym_while] = ACTIONS(3819), + [anon_sym_do] = ACTIONS(3819), + [anon_sym_for] = ACTIONS(3819), + [anon_sym_return] = ACTIONS(3819), + [anon_sym_break] = ACTIONS(3819), + [anon_sym_continue] = ACTIONS(3819), + [anon_sym_goto] = ACTIONS(3819), + [anon_sym___try] = ACTIONS(3819), + [anon_sym___leave] = ACTIONS(3819), + [anon_sym_not] = ACTIONS(3819), + [anon_sym_compl] = ACTIONS(3819), + [anon_sym_DASH_DASH] = ACTIONS(3817), + [anon_sym_PLUS_PLUS] = ACTIONS(3817), + [anon_sym_sizeof] = ACTIONS(3819), + [anon_sym___alignof__] = ACTIONS(3819), + [anon_sym___alignof] = ACTIONS(3819), + [anon_sym__alignof] = ACTIONS(3819), + [anon_sym_alignof] = ACTIONS(3819), + [anon_sym__Alignof] = ACTIONS(3819), + [anon_sym_offsetof] = ACTIONS(3819), + [anon_sym__Generic] = ACTIONS(3819), + [anon_sym_asm] = ACTIONS(3819), + [anon_sym___asm__] = ACTIONS(3819), + [sym__number_literal] = ACTIONS(3817), + [anon_sym_L_SQUOTE] = ACTIONS(3817), + [anon_sym_u_SQUOTE] = ACTIONS(3817), + [anon_sym_U_SQUOTE] = ACTIONS(3817), + [anon_sym_u8_SQUOTE] = ACTIONS(3817), + [anon_sym_SQUOTE] = ACTIONS(3817), + [anon_sym_L_DQUOTE] = ACTIONS(3817), + [anon_sym_u_DQUOTE] = ACTIONS(3817), + [anon_sym_U_DQUOTE] = ACTIONS(3817), + [anon_sym_u8_DQUOTE] = ACTIONS(3817), + [anon_sym_DQUOTE] = ACTIONS(3817), + [sym_true] = ACTIONS(3819), + [sym_false] = ACTIONS(3819), + [anon_sym_NULL] = ACTIONS(3819), + [anon_sym_nullptr] = ACTIONS(3819), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3814), + [sym_auto] = ACTIONS(3823), + [anon_sym_decltype] = ACTIONS(3811), + [sym_virtual] = ACTIONS(3823), + [anon_sym_typename] = ACTIONS(3823), + [anon_sym_template] = ACTIONS(3811), + [anon_sym_try] = ACTIONS(3819), + [anon_sym_delete] = ACTIONS(3819), + [anon_sym_throw] = ACTIONS(3819), + [anon_sym_co_return] = ACTIONS(3819), + [anon_sym_co_yield] = ACTIONS(3819), + [anon_sym_R_DQUOTE] = ACTIONS(3817), + [anon_sym_LR_DQUOTE] = ACTIONS(3817), + [anon_sym_uR_DQUOTE] = ACTIONS(3817), + [anon_sym_UR_DQUOTE] = ACTIONS(3817), + [anon_sym_u8R_DQUOTE] = ACTIONS(3817), + [anon_sym_co_await] = ACTIONS(3819), + [anon_sym_new] = ACTIONS(3819), + [anon_sym_requires] = ACTIONS(3819), + [sym_this] = ACTIONS(3819), + }, + [875] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4043), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [876] = { + [sym__identifier] = ACTIONS(2735), + [anon_sym_LPAREN2] = ACTIONS(2737), + [anon_sym_BANG] = ACTIONS(2737), + [anon_sym_TILDE] = ACTIONS(2737), + [anon_sym_DASH] = ACTIONS(2735), + [anon_sym_PLUS] = ACTIONS(2735), + [anon_sym_STAR] = ACTIONS(2737), + [anon_sym_AMP] = ACTIONS(2737), + [anon_sym_SEMI] = ACTIONS(2737), + [anon_sym___extension__] = ACTIONS(2735), + [anon_sym_typedef] = ACTIONS(2735), + [anon_sym_extern] = ACTIONS(2735), + [anon_sym___attribute__] = ACTIONS(2735), + [anon_sym_COLON_COLON] = ACTIONS(2737), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2737), + [anon_sym___declspec] = ACTIONS(2735), + [anon_sym_LBRACE] = ACTIONS(2737), + [anon_sym_signed] = ACTIONS(2735), + [anon_sym_unsigned] = ACTIONS(2735), + [anon_sym_long] = ACTIONS(2735), + [anon_sym_short] = ACTIONS(2735), + [anon_sym_LBRACK] = ACTIONS(2735), + [anon_sym_static] = ACTIONS(2735), + [anon_sym_register] = ACTIONS(2735), + [anon_sym_inline] = ACTIONS(2735), + [anon_sym___inline] = ACTIONS(2735), + [anon_sym___inline__] = ACTIONS(2735), + [anon_sym___forceinline] = ACTIONS(2735), + [anon_sym_thread_local] = ACTIONS(2735), + [anon_sym___thread] = ACTIONS(2735), + [anon_sym_const] = ACTIONS(2735), + [anon_sym_constexpr] = ACTIONS(2735), + [anon_sym_volatile] = ACTIONS(2735), + [anon_sym_restrict] = ACTIONS(2735), + [anon_sym___restrict__] = ACTIONS(2735), + [anon_sym__Atomic] = ACTIONS(2735), + [anon_sym__Noreturn] = ACTIONS(2735), + [anon_sym_noreturn] = ACTIONS(2735), + [anon_sym_mutable] = ACTIONS(2735), + [anon_sym_constinit] = ACTIONS(2735), + [anon_sym_consteval] = ACTIONS(2735), + [anon_sym_alignas] = ACTIONS(2735), + [anon_sym__Alignas] = ACTIONS(2735), + [sym_primitive_type] = ACTIONS(2735), + [anon_sym_enum] = ACTIONS(2735), + [anon_sym_class] = ACTIONS(2735), + [anon_sym_struct] = ACTIONS(2735), + [anon_sym_union] = ACTIONS(2735), + [anon_sym_if] = ACTIONS(2735), + [anon_sym_else] = ACTIONS(2735), + [anon_sym_switch] = ACTIONS(2735), + [anon_sym_while] = ACTIONS(2735), + [anon_sym_do] = ACTIONS(2735), + [anon_sym_for] = ACTIONS(2735), + [anon_sym_return] = ACTIONS(2735), + [anon_sym_break] = ACTIONS(2735), + [anon_sym_continue] = ACTIONS(2735), + [anon_sym_goto] = ACTIONS(2735), + [anon_sym___try] = ACTIONS(2735), + [anon_sym___leave] = ACTIONS(2735), + [anon_sym_not] = ACTIONS(2735), + [anon_sym_compl] = ACTIONS(2735), + [anon_sym_DASH_DASH] = ACTIONS(2737), + [anon_sym_PLUS_PLUS] = ACTIONS(2737), + [anon_sym_sizeof] = ACTIONS(2735), + [anon_sym___alignof__] = ACTIONS(2735), + [anon_sym___alignof] = ACTIONS(2735), + [anon_sym__alignof] = ACTIONS(2735), + [anon_sym_alignof] = ACTIONS(2735), + [anon_sym__Alignof] = ACTIONS(2735), + [anon_sym_offsetof] = ACTIONS(2735), + [anon_sym__Generic] = ACTIONS(2735), + [anon_sym_asm] = ACTIONS(2735), + [anon_sym___asm__] = ACTIONS(2735), + [sym__number_literal] = ACTIONS(2737), + [anon_sym_L_SQUOTE] = ACTIONS(2737), + [anon_sym_u_SQUOTE] = ACTIONS(2737), + [anon_sym_U_SQUOTE] = ACTIONS(2737), + [anon_sym_u8_SQUOTE] = ACTIONS(2737), + [anon_sym_SQUOTE] = ACTIONS(2737), + [anon_sym_L_DQUOTE] = ACTIONS(2737), + [anon_sym_u_DQUOTE] = ACTIONS(2737), + [anon_sym_U_DQUOTE] = ACTIONS(2737), + [anon_sym_u8_DQUOTE] = ACTIONS(2737), + [anon_sym_DQUOTE] = ACTIONS(2737), + [sym_true] = ACTIONS(2735), + [sym_false] = ACTIONS(2735), + [anon_sym_NULL] = ACTIONS(2735), + [anon_sym_nullptr] = ACTIONS(2735), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2737), + [sym_auto] = ACTIONS(2735), + [anon_sym_decltype] = ACTIONS(2735), + [sym_virtual] = ACTIONS(2735), + [anon_sym_typename] = ACTIONS(2735), + [anon_sym_template] = ACTIONS(2735), + [anon_sym_try] = ACTIONS(2735), + [anon_sym_delete] = ACTIONS(2735), + [anon_sym_throw] = ACTIONS(2735), + [anon_sym_co_return] = ACTIONS(2735), + [anon_sym_co_yield] = ACTIONS(2735), + [anon_sym_R_DQUOTE] = ACTIONS(2737), + [anon_sym_LR_DQUOTE] = ACTIONS(2737), + [anon_sym_uR_DQUOTE] = ACTIONS(2737), + [anon_sym_UR_DQUOTE] = ACTIONS(2737), + [anon_sym_u8R_DQUOTE] = ACTIONS(2737), + [anon_sym_co_await] = ACTIONS(2735), + [anon_sym_new] = ACTIONS(2735), + [anon_sym_requires] = ACTIONS(2735), + [sym_this] = ACTIONS(2735), + }, + [877] = { + [sym__identifier] = ACTIONS(3755), + [anon_sym_LPAREN2] = ACTIONS(3757), + [anon_sym_BANG] = ACTIONS(3757), + [anon_sym_TILDE] = ACTIONS(3757), + [anon_sym_DASH] = ACTIONS(3755), + [anon_sym_PLUS] = ACTIONS(3755), + [anon_sym_STAR] = ACTIONS(3757), + [anon_sym_AMP] = ACTIONS(3757), + [anon_sym_SEMI] = ACTIONS(3757), + [anon_sym___extension__] = ACTIONS(3755), + [anon_sym_extern] = ACTIONS(3755), + [anon_sym___attribute__] = ACTIONS(3755), + [anon_sym_COLON_COLON] = ACTIONS(3757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3757), + [anon_sym___declspec] = ACTIONS(3755), + [anon_sym_LBRACE] = ACTIONS(3757), + [anon_sym_signed] = ACTIONS(3755), + [anon_sym_unsigned] = ACTIONS(3755), + [anon_sym_long] = ACTIONS(3755), + [anon_sym_short] = ACTIONS(3755), + [anon_sym_LBRACK] = ACTIONS(3755), + [anon_sym_static] = ACTIONS(3755), + [anon_sym_register] = ACTIONS(3755), + [anon_sym_inline] = ACTIONS(3755), + [anon_sym___inline] = ACTIONS(3755), + [anon_sym___inline__] = ACTIONS(3755), + [anon_sym___forceinline] = ACTIONS(3755), + [anon_sym_thread_local] = ACTIONS(3755), + [anon_sym___thread] = ACTIONS(3755), + [anon_sym_const] = ACTIONS(3755), + [anon_sym_constexpr] = ACTIONS(3755), + [anon_sym_volatile] = ACTIONS(3755), + [anon_sym_restrict] = ACTIONS(3755), + [anon_sym___restrict__] = ACTIONS(3755), + [anon_sym__Atomic] = ACTIONS(3755), + [anon_sym__Noreturn] = ACTIONS(3755), + [anon_sym_noreturn] = ACTIONS(3755), + [anon_sym_mutable] = ACTIONS(3755), + [anon_sym_constinit] = ACTIONS(3755), + [anon_sym_consteval] = ACTIONS(3755), + [anon_sym_alignas] = ACTIONS(3755), + [anon_sym__Alignas] = ACTIONS(3755), + [sym_primitive_type] = ACTIONS(3755), + [anon_sym_enum] = ACTIONS(3755), + [anon_sym_class] = ACTIONS(3755), + [anon_sym_struct] = ACTIONS(3755), + [anon_sym_union] = ACTIONS(3755), + [anon_sym_if] = ACTIONS(3755), + [anon_sym_switch] = ACTIONS(3755), + [anon_sym_case] = ACTIONS(3755), + [anon_sym_default] = ACTIONS(3755), + [anon_sym_while] = ACTIONS(3755), + [anon_sym_do] = ACTIONS(3755), + [anon_sym_for] = ACTIONS(3755), + [anon_sym_return] = ACTIONS(3755), + [anon_sym_break] = ACTIONS(3755), + [anon_sym_continue] = ACTIONS(3755), + [anon_sym_goto] = ACTIONS(3755), + [anon_sym___try] = ACTIONS(3755), + [anon_sym___leave] = ACTIONS(3755), + [anon_sym_not] = ACTIONS(3755), + [anon_sym_compl] = ACTIONS(3755), + [anon_sym_DASH_DASH] = ACTIONS(3757), + [anon_sym_PLUS_PLUS] = ACTIONS(3757), + [anon_sym_sizeof] = ACTIONS(3755), + [anon_sym___alignof__] = ACTIONS(3755), + [anon_sym___alignof] = ACTIONS(3755), + [anon_sym__alignof] = ACTIONS(3755), + [anon_sym_alignof] = ACTIONS(3755), + [anon_sym__Alignof] = ACTIONS(3755), + [anon_sym_offsetof] = ACTIONS(3755), + [anon_sym__Generic] = ACTIONS(3755), + [anon_sym_asm] = ACTIONS(3755), + [anon_sym___asm__] = ACTIONS(3755), + [sym__number_literal] = ACTIONS(3757), + [anon_sym_L_SQUOTE] = ACTIONS(3757), + [anon_sym_u_SQUOTE] = ACTIONS(3757), + [anon_sym_U_SQUOTE] = ACTIONS(3757), + [anon_sym_u8_SQUOTE] = ACTIONS(3757), + [anon_sym_SQUOTE] = ACTIONS(3757), + [anon_sym_L_DQUOTE] = ACTIONS(3757), + [anon_sym_u_DQUOTE] = ACTIONS(3757), + [anon_sym_U_DQUOTE] = ACTIONS(3757), + [anon_sym_u8_DQUOTE] = ACTIONS(3757), + [anon_sym_DQUOTE] = ACTIONS(3757), + [sym_true] = ACTIONS(3755), + [sym_false] = ACTIONS(3755), + [anon_sym_NULL] = ACTIONS(3755), + [anon_sym_nullptr] = ACTIONS(3755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3757), + [sym_auto] = ACTIONS(3755), + [anon_sym_decltype] = ACTIONS(3755), + [sym_virtual] = ACTIONS(3755), + [anon_sym_typename] = ACTIONS(3755), + [anon_sym_template] = ACTIONS(3755), + [anon_sym_try] = ACTIONS(3755), + [anon_sym_delete] = ACTIONS(3755), + [anon_sym_throw] = ACTIONS(3755), + [anon_sym_co_return] = ACTIONS(3755), + [anon_sym_co_yield] = ACTIONS(3755), + [anon_sym_R_DQUOTE] = ACTIONS(3757), + [anon_sym_LR_DQUOTE] = ACTIONS(3757), + [anon_sym_uR_DQUOTE] = ACTIONS(3757), + [anon_sym_UR_DQUOTE] = ACTIONS(3757), + [anon_sym_u8R_DQUOTE] = ACTIONS(3757), + [anon_sym_co_await] = ACTIONS(3755), + [anon_sym_new] = ACTIONS(3755), + [anon_sym_requires] = ACTIONS(3755), + [sym_this] = ACTIONS(3755), + }, + [878] = { + [sym__identifier] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_BANG] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_DASH] = ACTIONS(2785), + [anon_sym_PLUS] = ACTIONS(2785), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2787), + [anon_sym_SEMI] = ACTIONS(2787), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym_LBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [anon_sym_if] = ACTIONS(2785), + [anon_sym_else] = ACTIONS(2785), + [anon_sym_switch] = ACTIONS(2785), + [anon_sym_while] = ACTIONS(2785), + [anon_sym_do] = ACTIONS(2785), + [anon_sym_for] = ACTIONS(2785), + [anon_sym_return] = ACTIONS(2785), + [anon_sym_break] = ACTIONS(2785), + [anon_sym_continue] = ACTIONS(2785), + [anon_sym_goto] = ACTIONS(2785), + [anon_sym___try] = ACTIONS(2785), + [anon_sym___leave] = ACTIONS(2785), + [anon_sym_not] = ACTIONS(2785), + [anon_sym_compl] = ACTIONS(2785), + [anon_sym_DASH_DASH] = ACTIONS(2787), + [anon_sym_PLUS_PLUS] = ACTIONS(2787), + [anon_sym_sizeof] = ACTIONS(2785), + [anon_sym___alignof__] = ACTIONS(2785), + [anon_sym___alignof] = ACTIONS(2785), + [anon_sym__alignof] = ACTIONS(2785), + [anon_sym_alignof] = ACTIONS(2785), + [anon_sym__Alignof] = ACTIONS(2785), + [anon_sym_offsetof] = ACTIONS(2785), + [anon_sym__Generic] = ACTIONS(2785), + [anon_sym_asm] = ACTIONS(2785), + [anon_sym___asm__] = ACTIONS(2785), + [sym__number_literal] = ACTIONS(2787), + [anon_sym_L_SQUOTE] = ACTIONS(2787), + [anon_sym_u_SQUOTE] = ACTIONS(2787), + [anon_sym_U_SQUOTE] = ACTIONS(2787), + [anon_sym_u8_SQUOTE] = ACTIONS(2787), + [anon_sym_SQUOTE] = ACTIONS(2787), + [anon_sym_L_DQUOTE] = ACTIONS(2787), + [anon_sym_u_DQUOTE] = ACTIONS(2787), + [anon_sym_U_DQUOTE] = ACTIONS(2787), + [anon_sym_u8_DQUOTE] = ACTIONS(2787), + [anon_sym_DQUOTE] = ACTIONS(2787), + [sym_true] = ACTIONS(2785), + [sym_false] = ACTIONS(2785), + [anon_sym_NULL] = ACTIONS(2785), + [anon_sym_nullptr] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_try] = ACTIONS(2785), + [anon_sym_delete] = ACTIONS(2785), + [anon_sym_throw] = ACTIONS(2785), + [anon_sym_co_return] = ACTIONS(2785), + [anon_sym_co_yield] = ACTIONS(2785), + [anon_sym_R_DQUOTE] = ACTIONS(2787), + [anon_sym_LR_DQUOTE] = ACTIONS(2787), + [anon_sym_uR_DQUOTE] = ACTIONS(2787), + [anon_sym_UR_DQUOTE] = ACTIONS(2787), + [anon_sym_u8R_DQUOTE] = ACTIONS(2787), + [anon_sym_co_await] = ACTIONS(2785), + [anon_sym_new] = ACTIONS(2785), + [anon_sym_requires] = ACTIONS(2785), + [sym_this] = ACTIONS(2785), + }, + [879] = { + [sym__identifier] = ACTIONS(2805), + [anon_sym_LPAREN2] = ACTIONS(2807), + [anon_sym_BANG] = ACTIONS(2807), + [anon_sym_TILDE] = ACTIONS(2807), + [anon_sym_DASH] = ACTIONS(2805), + [anon_sym_PLUS] = ACTIONS(2805), + [anon_sym_STAR] = ACTIONS(2807), + [anon_sym_AMP] = ACTIONS(2807), + [anon_sym_SEMI] = ACTIONS(2807), + [anon_sym___extension__] = ACTIONS(2805), + [anon_sym_typedef] = ACTIONS(2805), + [anon_sym_extern] = ACTIONS(2805), + [anon_sym___attribute__] = ACTIONS(2805), + [anon_sym_COLON_COLON] = ACTIONS(2807), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2807), + [anon_sym___declspec] = ACTIONS(2805), + [anon_sym_LBRACE] = ACTIONS(2807), + [anon_sym_signed] = ACTIONS(2805), + [anon_sym_unsigned] = ACTIONS(2805), + [anon_sym_long] = ACTIONS(2805), + [anon_sym_short] = ACTIONS(2805), + [anon_sym_LBRACK] = ACTIONS(2805), + [anon_sym_static] = ACTIONS(2805), + [anon_sym_register] = ACTIONS(2805), + [anon_sym_inline] = ACTIONS(2805), + [anon_sym___inline] = ACTIONS(2805), + [anon_sym___inline__] = ACTIONS(2805), + [anon_sym___forceinline] = ACTIONS(2805), + [anon_sym_thread_local] = ACTIONS(2805), + [anon_sym___thread] = ACTIONS(2805), + [anon_sym_const] = ACTIONS(2805), + [anon_sym_constexpr] = ACTIONS(2805), + [anon_sym_volatile] = ACTIONS(2805), + [anon_sym_restrict] = ACTIONS(2805), + [anon_sym___restrict__] = ACTIONS(2805), + [anon_sym__Atomic] = ACTIONS(2805), + [anon_sym__Noreturn] = ACTIONS(2805), + [anon_sym_noreturn] = ACTIONS(2805), + [anon_sym_mutable] = ACTIONS(2805), + [anon_sym_constinit] = ACTIONS(2805), + [anon_sym_consteval] = ACTIONS(2805), + [anon_sym_alignas] = ACTIONS(2805), + [anon_sym__Alignas] = ACTIONS(2805), + [sym_primitive_type] = ACTIONS(2805), + [anon_sym_enum] = ACTIONS(2805), + [anon_sym_class] = ACTIONS(2805), + [anon_sym_struct] = ACTIONS(2805), + [anon_sym_union] = ACTIONS(2805), + [anon_sym_if] = ACTIONS(2805), + [anon_sym_else] = ACTIONS(2805), + [anon_sym_switch] = ACTIONS(2805), + [anon_sym_while] = ACTIONS(2805), + [anon_sym_do] = ACTIONS(2805), + [anon_sym_for] = ACTIONS(2805), + [anon_sym_return] = ACTIONS(2805), + [anon_sym_break] = ACTIONS(2805), + [anon_sym_continue] = ACTIONS(2805), + [anon_sym_goto] = ACTIONS(2805), + [anon_sym___try] = ACTIONS(2805), + [anon_sym___leave] = ACTIONS(2805), + [anon_sym_not] = ACTIONS(2805), + [anon_sym_compl] = ACTIONS(2805), + [anon_sym_DASH_DASH] = ACTIONS(2807), + [anon_sym_PLUS_PLUS] = ACTIONS(2807), + [anon_sym_sizeof] = ACTIONS(2805), + [anon_sym___alignof__] = ACTIONS(2805), + [anon_sym___alignof] = ACTIONS(2805), + [anon_sym__alignof] = ACTIONS(2805), + [anon_sym_alignof] = ACTIONS(2805), + [anon_sym__Alignof] = ACTIONS(2805), + [anon_sym_offsetof] = ACTIONS(2805), + [anon_sym__Generic] = ACTIONS(2805), + [anon_sym_asm] = ACTIONS(2805), + [anon_sym___asm__] = ACTIONS(2805), + [sym__number_literal] = ACTIONS(2807), + [anon_sym_L_SQUOTE] = ACTIONS(2807), + [anon_sym_u_SQUOTE] = ACTIONS(2807), + [anon_sym_U_SQUOTE] = ACTIONS(2807), + [anon_sym_u8_SQUOTE] = ACTIONS(2807), + [anon_sym_SQUOTE] = ACTIONS(2807), + [anon_sym_L_DQUOTE] = ACTIONS(2807), + [anon_sym_u_DQUOTE] = ACTIONS(2807), + [anon_sym_U_DQUOTE] = ACTIONS(2807), + [anon_sym_u8_DQUOTE] = ACTIONS(2807), + [anon_sym_DQUOTE] = ACTIONS(2807), + [sym_true] = ACTIONS(2805), + [sym_false] = ACTIONS(2805), + [anon_sym_NULL] = ACTIONS(2805), + [anon_sym_nullptr] = ACTIONS(2805), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2807), + [sym_auto] = ACTIONS(2805), + [anon_sym_decltype] = ACTIONS(2805), + [sym_virtual] = ACTIONS(2805), + [anon_sym_typename] = ACTIONS(2805), + [anon_sym_template] = ACTIONS(2805), + [anon_sym_try] = ACTIONS(2805), + [anon_sym_delete] = ACTIONS(2805), + [anon_sym_throw] = ACTIONS(2805), + [anon_sym_co_return] = ACTIONS(2805), + [anon_sym_co_yield] = ACTIONS(2805), + [anon_sym_R_DQUOTE] = ACTIONS(2807), + [anon_sym_LR_DQUOTE] = ACTIONS(2807), + [anon_sym_uR_DQUOTE] = ACTIONS(2807), + [anon_sym_UR_DQUOTE] = ACTIONS(2807), + [anon_sym_u8R_DQUOTE] = ACTIONS(2807), + [anon_sym_co_await] = ACTIONS(2805), + [anon_sym_new] = ACTIONS(2805), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2805), + }, + [880] = { + [sym__identifier] = ACTIONS(2817), + [anon_sym_LPAREN2] = ACTIONS(2819), + [anon_sym_BANG] = ACTIONS(2819), + [anon_sym_TILDE] = ACTIONS(2819), + [anon_sym_DASH] = ACTIONS(2817), + [anon_sym_PLUS] = ACTIONS(2817), + [anon_sym_STAR] = ACTIONS(2819), + [anon_sym_AMP] = ACTIONS(2819), + [anon_sym_SEMI] = ACTIONS(2819), + [anon_sym___extension__] = ACTIONS(2817), + [anon_sym_typedef] = ACTIONS(2817), + [anon_sym_extern] = ACTIONS(2817), + [anon_sym___attribute__] = ACTIONS(2817), + [anon_sym_COLON_COLON] = ACTIONS(2819), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2819), + [anon_sym___declspec] = ACTIONS(2817), + [anon_sym_LBRACE] = ACTIONS(2819), + [anon_sym_signed] = ACTIONS(2817), + [anon_sym_unsigned] = ACTIONS(2817), + [anon_sym_long] = ACTIONS(2817), + [anon_sym_short] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(2817), + [anon_sym_static] = ACTIONS(2817), + [anon_sym_register] = ACTIONS(2817), + [anon_sym_inline] = ACTIONS(2817), + [anon_sym___inline] = ACTIONS(2817), + [anon_sym___inline__] = ACTIONS(2817), + [anon_sym___forceinline] = ACTIONS(2817), + [anon_sym_thread_local] = ACTIONS(2817), + [anon_sym___thread] = ACTIONS(2817), + [anon_sym_const] = ACTIONS(2817), + [anon_sym_constexpr] = ACTIONS(2817), + [anon_sym_volatile] = ACTIONS(2817), + [anon_sym_restrict] = ACTIONS(2817), + [anon_sym___restrict__] = ACTIONS(2817), + [anon_sym__Atomic] = ACTIONS(2817), + [anon_sym__Noreturn] = ACTIONS(2817), + [anon_sym_noreturn] = ACTIONS(2817), + [anon_sym_mutable] = ACTIONS(2817), + [anon_sym_constinit] = ACTIONS(2817), + [anon_sym_consteval] = ACTIONS(2817), + [anon_sym_alignas] = ACTIONS(2817), + [anon_sym__Alignas] = ACTIONS(2817), + [sym_primitive_type] = ACTIONS(2817), + [anon_sym_enum] = ACTIONS(2817), + [anon_sym_class] = ACTIONS(2817), + [anon_sym_struct] = ACTIONS(2817), + [anon_sym_union] = ACTIONS(2817), + [anon_sym_if] = ACTIONS(2817), + [anon_sym_else] = ACTIONS(2817), + [anon_sym_switch] = ACTIONS(2817), + [anon_sym_while] = ACTIONS(2817), + [anon_sym_do] = ACTIONS(2817), + [anon_sym_for] = ACTIONS(2817), + [anon_sym_return] = ACTIONS(2817), + [anon_sym_break] = ACTIONS(2817), + [anon_sym_continue] = ACTIONS(2817), + [anon_sym_goto] = ACTIONS(2817), + [anon_sym___try] = ACTIONS(2817), + [anon_sym___leave] = ACTIONS(2817), + [anon_sym_not] = ACTIONS(2817), + [anon_sym_compl] = ACTIONS(2817), + [anon_sym_DASH_DASH] = ACTIONS(2819), + [anon_sym_PLUS_PLUS] = ACTIONS(2819), + [anon_sym_sizeof] = ACTIONS(2817), + [anon_sym___alignof__] = ACTIONS(2817), + [anon_sym___alignof] = ACTIONS(2817), + [anon_sym__alignof] = ACTIONS(2817), + [anon_sym_alignof] = ACTIONS(2817), + [anon_sym__Alignof] = ACTIONS(2817), + [anon_sym_offsetof] = ACTIONS(2817), + [anon_sym__Generic] = ACTIONS(2817), + [anon_sym_asm] = ACTIONS(2817), + [anon_sym___asm__] = ACTIONS(2817), + [sym__number_literal] = ACTIONS(2819), + [anon_sym_L_SQUOTE] = ACTIONS(2819), + [anon_sym_u_SQUOTE] = ACTIONS(2819), + [anon_sym_U_SQUOTE] = ACTIONS(2819), + [anon_sym_u8_SQUOTE] = ACTIONS(2819), + [anon_sym_SQUOTE] = ACTIONS(2819), + [anon_sym_L_DQUOTE] = ACTIONS(2819), + [anon_sym_u_DQUOTE] = ACTIONS(2819), + [anon_sym_U_DQUOTE] = ACTIONS(2819), + [anon_sym_u8_DQUOTE] = ACTIONS(2819), + [anon_sym_DQUOTE] = ACTIONS(2819), + [sym_true] = ACTIONS(2817), + [sym_false] = ACTIONS(2817), + [anon_sym_NULL] = ACTIONS(2817), + [anon_sym_nullptr] = ACTIONS(2817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2819), + [sym_auto] = ACTIONS(2817), + [anon_sym_decltype] = ACTIONS(2817), + [sym_virtual] = ACTIONS(2817), + [anon_sym_typename] = ACTIONS(2817), + [anon_sym_template] = ACTIONS(2817), + [anon_sym_try] = ACTIONS(2817), + [anon_sym_delete] = ACTIONS(2817), + [anon_sym_throw] = ACTIONS(2817), + [anon_sym_co_return] = ACTIONS(2817), + [anon_sym_co_yield] = ACTIONS(2817), + [anon_sym_R_DQUOTE] = ACTIONS(2819), + [anon_sym_LR_DQUOTE] = ACTIONS(2819), + [anon_sym_uR_DQUOTE] = ACTIONS(2819), + [anon_sym_UR_DQUOTE] = ACTIONS(2819), + [anon_sym_u8R_DQUOTE] = ACTIONS(2819), + [anon_sym_co_await] = ACTIONS(2817), + [anon_sym_new] = ACTIONS(2817), + [anon_sym_requires] = ACTIONS(2817), + [sym_this] = ACTIONS(2817), + }, + [881] = { + [sym__identifier] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2779), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [882] = { + [sym__identifier] = ACTIONS(2797), + [anon_sym_LPAREN2] = ACTIONS(2799), + [anon_sym_BANG] = ACTIONS(2799), + [anon_sym_TILDE] = ACTIONS(2799), + [anon_sym_DASH] = ACTIONS(2797), + [anon_sym_PLUS] = ACTIONS(2797), + [anon_sym_STAR] = ACTIONS(2799), + [anon_sym_AMP] = ACTIONS(2799), + [anon_sym_SEMI] = ACTIONS(2799), + [anon_sym___extension__] = ACTIONS(2797), + [anon_sym_typedef] = ACTIONS(2797), + [anon_sym_extern] = ACTIONS(2797), + [anon_sym___attribute__] = ACTIONS(2797), + [anon_sym_COLON_COLON] = ACTIONS(2799), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2799), + [anon_sym___declspec] = ACTIONS(2797), + [anon_sym_LBRACE] = ACTIONS(2799), + [anon_sym_signed] = ACTIONS(2797), + [anon_sym_unsigned] = ACTIONS(2797), + [anon_sym_long] = ACTIONS(2797), + [anon_sym_short] = ACTIONS(2797), + [anon_sym_LBRACK] = ACTIONS(2797), + [anon_sym_static] = ACTIONS(2797), + [anon_sym_register] = ACTIONS(2797), + [anon_sym_inline] = ACTIONS(2797), + [anon_sym___inline] = ACTIONS(2797), + [anon_sym___inline__] = ACTIONS(2797), + [anon_sym___forceinline] = ACTIONS(2797), + [anon_sym_thread_local] = ACTIONS(2797), + [anon_sym___thread] = ACTIONS(2797), + [anon_sym_const] = ACTIONS(2797), + [anon_sym_constexpr] = ACTIONS(2797), + [anon_sym_volatile] = ACTIONS(2797), + [anon_sym_restrict] = ACTIONS(2797), + [anon_sym___restrict__] = ACTIONS(2797), + [anon_sym__Atomic] = ACTIONS(2797), + [anon_sym__Noreturn] = ACTIONS(2797), + [anon_sym_noreturn] = ACTIONS(2797), + [anon_sym_mutable] = ACTIONS(2797), + [anon_sym_constinit] = ACTIONS(2797), + [anon_sym_consteval] = ACTIONS(2797), + [anon_sym_alignas] = ACTIONS(2797), + [anon_sym__Alignas] = ACTIONS(2797), + [sym_primitive_type] = ACTIONS(2797), + [anon_sym_enum] = ACTIONS(2797), + [anon_sym_class] = ACTIONS(2797), + [anon_sym_struct] = ACTIONS(2797), + [anon_sym_union] = ACTIONS(2797), + [anon_sym_if] = ACTIONS(2797), + [anon_sym_else] = ACTIONS(2797), + [anon_sym_switch] = ACTIONS(2797), + [anon_sym_while] = ACTIONS(2797), + [anon_sym_do] = ACTIONS(2797), + [anon_sym_for] = ACTIONS(2797), + [anon_sym_return] = ACTIONS(2797), + [anon_sym_break] = ACTIONS(2797), + [anon_sym_continue] = ACTIONS(2797), + [anon_sym_goto] = ACTIONS(2797), + [anon_sym___try] = ACTIONS(2797), + [anon_sym___leave] = ACTIONS(2797), + [anon_sym_not] = ACTIONS(2797), + [anon_sym_compl] = ACTIONS(2797), + [anon_sym_DASH_DASH] = ACTIONS(2799), + [anon_sym_PLUS_PLUS] = ACTIONS(2799), + [anon_sym_sizeof] = ACTIONS(2797), + [anon_sym___alignof__] = ACTIONS(2797), + [anon_sym___alignof] = ACTIONS(2797), + [anon_sym__alignof] = ACTIONS(2797), + [anon_sym_alignof] = ACTIONS(2797), + [anon_sym__Alignof] = ACTIONS(2797), + [anon_sym_offsetof] = ACTIONS(2797), + [anon_sym__Generic] = ACTIONS(2797), + [anon_sym_asm] = ACTIONS(2797), + [anon_sym___asm__] = ACTIONS(2797), + [sym__number_literal] = ACTIONS(2799), + [anon_sym_L_SQUOTE] = ACTIONS(2799), + [anon_sym_u_SQUOTE] = ACTIONS(2799), + [anon_sym_U_SQUOTE] = ACTIONS(2799), + [anon_sym_u8_SQUOTE] = ACTIONS(2799), + [anon_sym_SQUOTE] = ACTIONS(2799), + [anon_sym_L_DQUOTE] = ACTIONS(2799), + [anon_sym_u_DQUOTE] = ACTIONS(2799), + [anon_sym_U_DQUOTE] = ACTIONS(2799), + [anon_sym_u8_DQUOTE] = ACTIONS(2799), + [anon_sym_DQUOTE] = ACTIONS(2799), + [sym_true] = ACTIONS(2797), + [sym_false] = ACTIONS(2797), + [anon_sym_NULL] = ACTIONS(2797), + [anon_sym_nullptr] = ACTIONS(2797), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2799), + [sym_auto] = ACTIONS(2797), + [anon_sym_decltype] = ACTIONS(2797), + [sym_virtual] = ACTIONS(2797), + [anon_sym_typename] = ACTIONS(2797), + [anon_sym_template] = ACTIONS(2797), + [anon_sym_try] = ACTIONS(2797), + [anon_sym_delete] = ACTIONS(2797), + [anon_sym_throw] = ACTIONS(2797), + [anon_sym_co_return] = ACTIONS(2797), + [anon_sym_co_yield] = ACTIONS(2797), + [anon_sym_R_DQUOTE] = ACTIONS(2799), + [anon_sym_LR_DQUOTE] = ACTIONS(2799), + [anon_sym_uR_DQUOTE] = ACTIONS(2799), + [anon_sym_UR_DQUOTE] = ACTIONS(2799), + [anon_sym_u8R_DQUOTE] = ACTIONS(2799), + [anon_sym_co_await] = ACTIONS(2797), + [anon_sym_new] = ACTIONS(2797), + [anon_sym_requires] = ACTIONS(2797), + [sym_this] = ACTIONS(2797), + }, + [883] = { + [sym__identifier] = ACTIONS(2821), + [anon_sym_LPAREN2] = ACTIONS(2823), + [anon_sym_BANG] = ACTIONS(2823), + [anon_sym_TILDE] = ACTIONS(2823), + [anon_sym_DASH] = ACTIONS(2821), + [anon_sym_PLUS] = ACTIONS(2821), + [anon_sym_STAR] = ACTIONS(2823), + [anon_sym_AMP] = ACTIONS(2823), + [anon_sym_SEMI] = ACTIONS(2823), + [anon_sym___extension__] = ACTIONS(2821), + [anon_sym_typedef] = ACTIONS(2821), + [anon_sym_extern] = ACTIONS(2821), + [anon_sym___attribute__] = ACTIONS(2821), + [anon_sym_COLON_COLON] = ACTIONS(2823), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2823), + [anon_sym___declspec] = ACTIONS(2821), + [anon_sym_LBRACE] = ACTIONS(2823), + [anon_sym_signed] = ACTIONS(2821), + [anon_sym_unsigned] = ACTIONS(2821), + [anon_sym_long] = ACTIONS(2821), + [anon_sym_short] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(2821), + [anon_sym_static] = ACTIONS(2821), + [anon_sym_register] = ACTIONS(2821), + [anon_sym_inline] = ACTIONS(2821), + [anon_sym___inline] = ACTIONS(2821), + [anon_sym___inline__] = ACTIONS(2821), + [anon_sym___forceinline] = ACTIONS(2821), + [anon_sym_thread_local] = ACTIONS(2821), + [anon_sym___thread] = ACTIONS(2821), + [anon_sym_const] = ACTIONS(2821), + [anon_sym_constexpr] = ACTIONS(2821), + [anon_sym_volatile] = ACTIONS(2821), + [anon_sym_restrict] = ACTIONS(2821), + [anon_sym___restrict__] = ACTIONS(2821), + [anon_sym__Atomic] = ACTIONS(2821), + [anon_sym__Noreturn] = ACTIONS(2821), + [anon_sym_noreturn] = ACTIONS(2821), + [anon_sym_mutable] = ACTIONS(2821), + [anon_sym_constinit] = ACTIONS(2821), + [anon_sym_consteval] = ACTIONS(2821), + [anon_sym_alignas] = ACTIONS(2821), + [anon_sym__Alignas] = ACTIONS(2821), + [sym_primitive_type] = ACTIONS(2821), + [anon_sym_enum] = ACTIONS(2821), + [anon_sym_class] = ACTIONS(2821), + [anon_sym_struct] = ACTIONS(2821), + [anon_sym_union] = ACTIONS(2821), + [anon_sym_if] = ACTIONS(2821), + [anon_sym_else] = ACTIONS(2821), + [anon_sym_switch] = ACTIONS(2821), + [anon_sym_while] = ACTIONS(2821), + [anon_sym_do] = ACTIONS(2821), + [anon_sym_for] = ACTIONS(2821), + [anon_sym_return] = ACTIONS(2821), + [anon_sym_break] = ACTIONS(2821), + [anon_sym_continue] = ACTIONS(2821), + [anon_sym_goto] = ACTIONS(2821), + [anon_sym___try] = ACTIONS(2821), + [anon_sym___leave] = ACTIONS(2821), + [anon_sym_not] = ACTIONS(2821), + [anon_sym_compl] = ACTIONS(2821), + [anon_sym_DASH_DASH] = ACTIONS(2823), + [anon_sym_PLUS_PLUS] = ACTIONS(2823), + [anon_sym_sizeof] = ACTIONS(2821), + [anon_sym___alignof__] = ACTIONS(2821), + [anon_sym___alignof] = ACTIONS(2821), + [anon_sym__alignof] = ACTIONS(2821), + [anon_sym_alignof] = ACTIONS(2821), + [anon_sym__Alignof] = ACTIONS(2821), + [anon_sym_offsetof] = ACTIONS(2821), + [anon_sym__Generic] = ACTIONS(2821), + [anon_sym_asm] = ACTIONS(2821), + [anon_sym___asm__] = ACTIONS(2821), + [sym__number_literal] = ACTIONS(2823), + [anon_sym_L_SQUOTE] = ACTIONS(2823), + [anon_sym_u_SQUOTE] = ACTIONS(2823), + [anon_sym_U_SQUOTE] = ACTIONS(2823), + [anon_sym_u8_SQUOTE] = ACTIONS(2823), + [anon_sym_SQUOTE] = ACTIONS(2823), + [anon_sym_L_DQUOTE] = ACTIONS(2823), + [anon_sym_u_DQUOTE] = ACTIONS(2823), + [anon_sym_U_DQUOTE] = ACTIONS(2823), + [anon_sym_u8_DQUOTE] = ACTIONS(2823), + [anon_sym_DQUOTE] = ACTIONS(2823), + [sym_true] = ACTIONS(2821), + [sym_false] = ACTIONS(2821), + [anon_sym_NULL] = ACTIONS(2821), + [anon_sym_nullptr] = ACTIONS(2821), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2823), + [sym_auto] = ACTIONS(2821), + [anon_sym_decltype] = ACTIONS(2821), + [sym_virtual] = ACTIONS(2821), + [anon_sym_typename] = ACTIONS(2821), + [anon_sym_template] = ACTIONS(2821), + [anon_sym_try] = ACTIONS(2821), + [anon_sym_delete] = ACTIONS(2821), + [anon_sym_throw] = ACTIONS(2821), + [anon_sym_co_return] = ACTIONS(2821), + [anon_sym_co_yield] = ACTIONS(2821), + [anon_sym_R_DQUOTE] = ACTIONS(2823), + [anon_sym_LR_DQUOTE] = ACTIONS(2823), + [anon_sym_uR_DQUOTE] = ACTIONS(2823), + [anon_sym_UR_DQUOTE] = ACTIONS(2823), + [anon_sym_u8R_DQUOTE] = ACTIONS(2823), + [anon_sym_co_await] = ACTIONS(2821), + [anon_sym_new] = ACTIONS(2821), + [anon_sym_requires] = ACTIONS(2821), + [sym_this] = ACTIONS(2821), + }, + [884] = { + [sym__identifier] = ACTIONS(2691), + [anon_sym_LPAREN2] = ACTIONS(2693), + [anon_sym_BANG] = ACTIONS(2693), + [anon_sym_TILDE] = ACTIONS(2693), + [anon_sym_DASH] = ACTIONS(2691), + [anon_sym_PLUS] = ACTIONS(2691), + [anon_sym_STAR] = ACTIONS(2693), + [anon_sym_AMP] = ACTIONS(2693), + [anon_sym_SEMI] = ACTIONS(2693), + [anon_sym___extension__] = ACTIONS(2691), + [anon_sym_typedef] = ACTIONS(2691), + [anon_sym_extern] = ACTIONS(2691), + [anon_sym___attribute__] = ACTIONS(2691), + [anon_sym_COLON_COLON] = ACTIONS(2693), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2693), + [anon_sym___declspec] = ACTIONS(2691), + [anon_sym_LBRACE] = ACTIONS(2693), + [anon_sym_signed] = ACTIONS(2691), + [anon_sym_unsigned] = ACTIONS(2691), + [anon_sym_long] = ACTIONS(2691), + [anon_sym_short] = ACTIONS(2691), + [anon_sym_LBRACK] = ACTIONS(2691), + [anon_sym_static] = ACTIONS(2691), + [anon_sym_register] = ACTIONS(2691), + [anon_sym_inline] = ACTIONS(2691), + [anon_sym___inline] = ACTIONS(2691), + [anon_sym___inline__] = ACTIONS(2691), + [anon_sym___forceinline] = ACTIONS(2691), + [anon_sym_thread_local] = ACTIONS(2691), + [anon_sym___thread] = ACTIONS(2691), + [anon_sym_const] = ACTIONS(2691), + [anon_sym_constexpr] = ACTIONS(2691), + [anon_sym_volatile] = ACTIONS(2691), + [anon_sym_restrict] = ACTIONS(2691), + [anon_sym___restrict__] = ACTIONS(2691), + [anon_sym__Atomic] = ACTIONS(2691), + [anon_sym__Noreturn] = ACTIONS(2691), + [anon_sym_noreturn] = ACTIONS(2691), + [anon_sym_mutable] = ACTIONS(2691), + [anon_sym_constinit] = ACTIONS(2691), + [anon_sym_consteval] = ACTIONS(2691), + [anon_sym_alignas] = ACTIONS(2691), + [anon_sym__Alignas] = ACTIONS(2691), + [sym_primitive_type] = ACTIONS(2691), + [anon_sym_enum] = ACTIONS(2691), + [anon_sym_class] = ACTIONS(2691), + [anon_sym_struct] = ACTIONS(2691), + [anon_sym_union] = ACTIONS(2691), + [anon_sym_if] = ACTIONS(2691), + [anon_sym_else] = ACTIONS(2691), + [anon_sym_switch] = ACTIONS(2691), + [anon_sym_while] = ACTIONS(2691), + [anon_sym_do] = ACTIONS(2691), + [anon_sym_for] = ACTIONS(2691), + [anon_sym_return] = ACTIONS(2691), + [anon_sym_break] = ACTIONS(2691), + [anon_sym_continue] = ACTIONS(2691), + [anon_sym_goto] = ACTIONS(2691), + [anon_sym___try] = ACTIONS(2691), + [anon_sym___leave] = ACTIONS(2691), + [anon_sym_not] = ACTIONS(2691), + [anon_sym_compl] = ACTIONS(2691), + [anon_sym_DASH_DASH] = ACTIONS(2693), + [anon_sym_PLUS_PLUS] = ACTIONS(2693), + [anon_sym_sizeof] = ACTIONS(2691), + [anon_sym___alignof__] = ACTIONS(2691), + [anon_sym___alignof] = ACTIONS(2691), + [anon_sym__alignof] = ACTIONS(2691), + [anon_sym_alignof] = ACTIONS(2691), + [anon_sym__Alignof] = ACTIONS(2691), + [anon_sym_offsetof] = ACTIONS(2691), + [anon_sym__Generic] = ACTIONS(2691), + [anon_sym_asm] = ACTIONS(2691), + [anon_sym___asm__] = ACTIONS(2691), + [sym__number_literal] = ACTIONS(2693), + [anon_sym_L_SQUOTE] = ACTIONS(2693), + [anon_sym_u_SQUOTE] = ACTIONS(2693), + [anon_sym_U_SQUOTE] = ACTIONS(2693), + [anon_sym_u8_SQUOTE] = ACTIONS(2693), + [anon_sym_SQUOTE] = ACTIONS(2693), + [anon_sym_L_DQUOTE] = ACTIONS(2693), + [anon_sym_u_DQUOTE] = ACTIONS(2693), + [anon_sym_U_DQUOTE] = ACTIONS(2693), + [anon_sym_u8_DQUOTE] = ACTIONS(2693), + [anon_sym_DQUOTE] = ACTIONS(2693), + [sym_true] = ACTIONS(2691), + [sym_false] = ACTIONS(2691), + [anon_sym_NULL] = ACTIONS(2691), + [anon_sym_nullptr] = ACTIONS(2691), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2693), + [sym_auto] = ACTIONS(2691), + [anon_sym_decltype] = ACTIONS(2691), + [sym_virtual] = ACTIONS(2691), + [anon_sym_typename] = ACTIONS(2691), + [anon_sym_template] = ACTIONS(2691), + [anon_sym_try] = ACTIONS(2691), + [anon_sym_delete] = ACTIONS(2691), + [anon_sym_throw] = ACTIONS(2691), + [anon_sym_co_return] = ACTIONS(2691), + [anon_sym_co_yield] = ACTIONS(2691), + [anon_sym_R_DQUOTE] = ACTIONS(2693), + [anon_sym_LR_DQUOTE] = ACTIONS(2693), + [anon_sym_uR_DQUOTE] = ACTIONS(2693), + [anon_sym_UR_DQUOTE] = ACTIONS(2693), + [anon_sym_u8R_DQUOTE] = ACTIONS(2693), + [anon_sym_co_await] = ACTIONS(2691), + [anon_sym_new] = ACTIONS(2691), + [anon_sym_requires] = ACTIONS(2691), + [sym_this] = ACTIONS(2691), + }, + [885] = { + [sym__identifier] = ACTIONS(2711), + [anon_sym_LPAREN2] = ACTIONS(2713), + [anon_sym_BANG] = ACTIONS(2713), + [anon_sym_TILDE] = ACTIONS(2713), + [anon_sym_DASH] = ACTIONS(2711), + [anon_sym_PLUS] = ACTIONS(2711), + [anon_sym_STAR] = ACTIONS(2713), + [anon_sym_AMP] = ACTIONS(2713), + [anon_sym_SEMI] = ACTIONS(2713), + [anon_sym___extension__] = ACTIONS(2711), + [anon_sym_typedef] = ACTIONS(2711), + [anon_sym_extern] = ACTIONS(2711), + [anon_sym___attribute__] = ACTIONS(2711), + [anon_sym_COLON_COLON] = ACTIONS(2713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2713), + [anon_sym___declspec] = ACTIONS(2711), + [anon_sym_LBRACE] = ACTIONS(2713), + [anon_sym_signed] = ACTIONS(2711), + [anon_sym_unsigned] = ACTIONS(2711), + [anon_sym_long] = ACTIONS(2711), + [anon_sym_short] = ACTIONS(2711), + [anon_sym_LBRACK] = ACTIONS(2711), + [anon_sym_static] = ACTIONS(2711), + [anon_sym_register] = ACTIONS(2711), + [anon_sym_inline] = ACTIONS(2711), + [anon_sym___inline] = ACTIONS(2711), + [anon_sym___inline__] = ACTIONS(2711), + [anon_sym___forceinline] = ACTIONS(2711), + [anon_sym_thread_local] = ACTIONS(2711), + [anon_sym___thread] = ACTIONS(2711), + [anon_sym_const] = ACTIONS(2711), + [anon_sym_constexpr] = ACTIONS(2711), + [anon_sym_volatile] = ACTIONS(2711), + [anon_sym_restrict] = ACTIONS(2711), + [anon_sym___restrict__] = ACTIONS(2711), + [anon_sym__Atomic] = ACTIONS(2711), + [anon_sym__Noreturn] = ACTIONS(2711), + [anon_sym_noreturn] = ACTIONS(2711), + [anon_sym_mutable] = ACTIONS(2711), + [anon_sym_constinit] = ACTIONS(2711), + [anon_sym_consteval] = ACTIONS(2711), + [anon_sym_alignas] = ACTIONS(2711), + [anon_sym__Alignas] = ACTIONS(2711), + [sym_primitive_type] = ACTIONS(2711), + [anon_sym_enum] = ACTIONS(2711), + [anon_sym_class] = ACTIONS(2711), + [anon_sym_struct] = ACTIONS(2711), + [anon_sym_union] = ACTIONS(2711), + [anon_sym_if] = ACTIONS(2711), + [anon_sym_else] = ACTIONS(2711), + [anon_sym_switch] = ACTIONS(2711), + [anon_sym_while] = ACTIONS(2711), + [anon_sym_do] = ACTIONS(2711), + [anon_sym_for] = ACTIONS(2711), + [anon_sym_return] = ACTIONS(2711), + [anon_sym_break] = ACTIONS(2711), + [anon_sym_continue] = ACTIONS(2711), + [anon_sym_goto] = ACTIONS(2711), + [anon_sym___try] = ACTIONS(2711), + [anon_sym___leave] = ACTIONS(2711), + [anon_sym_not] = ACTIONS(2711), + [anon_sym_compl] = ACTIONS(2711), + [anon_sym_DASH_DASH] = ACTIONS(2713), + [anon_sym_PLUS_PLUS] = ACTIONS(2713), + [anon_sym_sizeof] = ACTIONS(2711), + [anon_sym___alignof__] = ACTIONS(2711), + [anon_sym___alignof] = ACTIONS(2711), + [anon_sym__alignof] = ACTIONS(2711), + [anon_sym_alignof] = ACTIONS(2711), + [anon_sym__Alignof] = ACTIONS(2711), + [anon_sym_offsetof] = ACTIONS(2711), + [anon_sym__Generic] = ACTIONS(2711), + [anon_sym_asm] = ACTIONS(2711), + [anon_sym___asm__] = ACTIONS(2711), + [sym__number_literal] = ACTIONS(2713), + [anon_sym_L_SQUOTE] = ACTIONS(2713), + [anon_sym_u_SQUOTE] = ACTIONS(2713), + [anon_sym_U_SQUOTE] = ACTIONS(2713), + [anon_sym_u8_SQUOTE] = ACTIONS(2713), + [anon_sym_SQUOTE] = ACTIONS(2713), + [anon_sym_L_DQUOTE] = ACTIONS(2713), + [anon_sym_u_DQUOTE] = ACTIONS(2713), + [anon_sym_U_DQUOTE] = ACTIONS(2713), + [anon_sym_u8_DQUOTE] = ACTIONS(2713), + [anon_sym_DQUOTE] = ACTIONS(2713), + [sym_true] = ACTIONS(2711), + [sym_false] = ACTIONS(2711), + [anon_sym_NULL] = ACTIONS(2711), + [anon_sym_nullptr] = ACTIONS(2711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2713), + [sym_auto] = ACTIONS(2711), + [anon_sym_decltype] = ACTIONS(2711), + [sym_virtual] = ACTIONS(2711), + [anon_sym_typename] = ACTIONS(2711), + [anon_sym_template] = ACTIONS(2711), + [anon_sym_try] = ACTIONS(2711), + [anon_sym_delete] = ACTIONS(2711), + [anon_sym_throw] = ACTIONS(2711), + [anon_sym_co_return] = ACTIONS(2711), + [anon_sym_co_yield] = ACTIONS(2711), + [anon_sym_R_DQUOTE] = ACTIONS(2713), + [anon_sym_LR_DQUOTE] = ACTIONS(2713), + [anon_sym_uR_DQUOTE] = ACTIONS(2713), + [anon_sym_UR_DQUOTE] = ACTIONS(2713), + [anon_sym_u8R_DQUOTE] = ACTIONS(2713), + [anon_sym_co_await] = ACTIONS(2711), + [anon_sym_new] = ACTIONS(2711), + [anon_sym_requires] = ACTIONS(2711), + [sym_this] = ACTIONS(2711), + }, + [886] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4045), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [887] = { + [sym__identifier] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_BANG] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_DASH] = ACTIONS(2781), + [anon_sym_PLUS] = ACTIONS(2781), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2783), + [anon_sym_SEMI] = ACTIONS(2783), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym_LBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [anon_sym_if] = ACTIONS(2781), + [anon_sym_else] = ACTIONS(2781), + [anon_sym_switch] = ACTIONS(2781), + [anon_sym_while] = ACTIONS(2781), + [anon_sym_do] = ACTIONS(2781), + [anon_sym_for] = ACTIONS(2781), + [anon_sym_return] = ACTIONS(2781), + [anon_sym_break] = ACTIONS(2781), + [anon_sym_continue] = ACTIONS(2781), + [anon_sym_goto] = ACTIONS(2781), + [anon_sym___try] = ACTIONS(2781), + [anon_sym___leave] = ACTIONS(2781), + [anon_sym_not] = ACTIONS(2781), + [anon_sym_compl] = ACTIONS(2781), + [anon_sym_DASH_DASH] = ACTIONS(2783), + [anon_sym_PLUS_PLUS] = ACTIONS(2783), + [anon_sym_sizeof] = ACTIONS(2781), + [anon_sym___alignof__] = ACTIONS(2781), + [anon_sym___alignof] = ACTIONS(2781), + [anon_sym__alignof] = ACTIONS(2781), + [anon_sym_alignof] = ACTIONS(2781), + [anon_sym__Alignof] = ACTIONS(2781), + [anon_sym_offsetof] = ACTIONS(2781), + [anon_sym__Generic] = ACTIONS(2781), + [anon_sym_asm] = ACTIONS(2781), + [anon_sym___asm__] = ACTIONS(2781), + [sym__number_literal] = ACTIONS(2783), + [anon_sym_L_SQUOTE] = ACTIONS(2783), + [anon_sym_u_SQUOTE] = ACTIONS(2783), + [anon_sym_U_SQUOTE] = ACTIONS(2783), + [anon_sym_u8_SQUOTE] = ACTIONS(2783), + [anon_sym_SQUOTE] = ACTIONS(2783), + [anon_sym_L_DQUOTE] = ACTIONS(2783), + [anon_sym_u_DQUOTE] = ACTIONS(2783), + [anon_sym_U_DQUOTE] = ACTIONS(2783), + [anon_sym_u8_DQUOTE] = ACTIONS(2783), + [anon_sym_DQUOTE] = ACTIONS(2783), + [sym_true] = ACTIONS(2781), + [sym_false] = ACTIONS(2781), + [anon_sym_NULL] = ACTIONS(2781), + [anon_sym_nullptr] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_try] = ACTIONS(2781), + [anon_sym_delete] = ACTIONS(2781), + [anon_sym_throw] = ACTIONS(2781), + [anon_sym_co_return] = ACTIONS(2781), + [anon_sym_co_yield] = ACTIONS(2781), + [anon_sym_R_DQUOTE] = ACTIONS(2783), + [anon_sym_LR_DQUOTE] = ACTIONS(2783), + [anon_sym_uR_DQUOTE] = ACTIONS(2783), + [anon_sym_UR_DQUOTE] = ACTIONS(2783), + [anon_sym_u8R_DQUOTE] = ACTIONS(2783), + [anon_sym_co_await] = ACTIONS(2781), + [anon_sym_new] = ACTIONS(2781), + [anon_sym_requires] = ACTIONS(2781), + [sym_this] = ACTIONS(2781), + }, + [888] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4047), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [889] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4049), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [890] = { + [sym__identifier] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_BANG] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_DASH] = ACTIONS(2751), + [anon_sym_PLUS] = ACTIONS(2751), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2753), + [anon_sym_SEMI] = ACTIONS(2753), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym_LBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [anon_sym_if] = ACTIONS(2751), + [anon_sym_else] = ACTIONS(2751), + [anon_sym_switch] = ACTIONS(2751), + [anon_sym_while] = ACTIONS(2751), + [anon_sym_do] = ACTIONS(2751), + [anon_sym_for] = ACTIONS(2751), + [anon_sym_return] = ACTIONS(2751), + [anon_sym_break] = ACTIONS(2751), + [anon_sym_continue] = ACTIONS(2751), + [anon_sym_goto] = ACTIONS(2751), + [anon_sym___try] = ACTIONS(2751), + [anon_sym___leave] = ACTIONS(2751), + [anon_sym_not] = ACTIONS(2751), + [anon_sym_compl] = ACTIONS(2751), + [anon_sym_DASH_DASH] = ACTIONS(2753), + [anon_sym_PLUS_PLUS] = ACTIONS(2753), + [anon_sym_sizeof] = ACTIONS(2751), + [anon_sym___alignof__] = ACTIONS(2751), + [anon_sym___alignof] = ACTIONS(2751), + [anon_sym__alignof] = ACTIONS(2751), + [anon_sym_alignof] = ACTIONS(2751), + [anon_sym__Alignof] = ACTIONS(2751), + [anon_sym_offsetof] = ACTIONS(2751), + [anon_sym__Generic] = ACTIONS(2751), + [anon_sym_asm] = ACTIONS(2751), + [anon_sym___asm__] = ACTIONS(2751), + [sym__number_literal] = ACTIONS(2753), + [anon_sym_L_SQUOTE] = ACTIONS(2753), + [anon_sym_u_SQUOTE] = ACTIONS(2753), + [anon_sym_U_SQUOTE] = ACTIONS(2753), + [anon_sym_u8_SQUOTE] = ACTIONS(2753), + [anon_sym_SQUOTE] = ACTIONS(2753), + [anon_sym_L_DQUOTE] = ACTIONS(2753), + [anon_sym_u_DQUOTE] = ACTIONS(2753), + [anon_sym_U_DQUOTE] = ACTIONS(2753), + [anon_sym_u8_DQUOTE] = ACTIONS(2753), + [anon_sym_DQUOTE] = ACTIONS(2753), + [sym_true] = ACTIONS(2751), + [sym_false] = ACTIONS(2751), + [anon_sym_NULL] = ACTIONS(2751), + [anon_sym_nullptr] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_try] = ACTIONS(2751), + [anon_sym_delete] = ACTIONS(2751), + [anon_sym_throw] = ACTIONS(2751), + [anon_sym_co_return] = ACTIONS(2751), + [anon_sym_co_yield] = ACTIONS(2751), + [anon_sym_R_DQUOTE] = ACTIONS(2753), + [anon_sym_LR_DQUOTE] = ACTIONS(2753), + [anon_sym_uR_DQUOTE] = ACTIONS(2753), + [anon_sym_UR_DQUOTE] = ACTIONS(2753), + [anon_sym_u8R_DQUOTE] = ACTIONS(2753), + [anon_sym_co_await] = ACTIONS(2751), + [anon_sym_new] = ACTIONS(2751), + [anon_sym_requires] = ACTIONS(2751), + [sym_this] = ACTIONS(2751), + }, + [891] = { + [sym__identifier] = ACTIONS(2707), + [anon_sym_LPAREN2] = ACTIONS(2709), + [anon_sym_BANG] = ACTIONS(2709), + [anon_sym_TILDE] = ACTIONS(2709), + [anon_sym_DASH] = ACTIONS(2707), + [anon_sym_PLUS] = ACTIONS(2707), + [anon_sym_STAR] = ACTIONS(2709), + [anon_sym_AMP] = ACTIONS(2709), + [anon_sym_SEMI] = ACTIONS(2709), + [anon_sym___extension__] = ACTIONS(2707), + [anon_sym_typedef] = ACTIONS(2707), + [anon_sym_extern] = ACTIONS(2707), + [anon_sym___attribute__] = ACTIONS(2707), + [anon_sym_COLON_COLON] = ACTIONS(2709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2709), + [anon_sym___declspec] = ACTIONS(2707), + [anon_sym_LBRACE] = ACTIONS(2709), + [anon_sym_signed] = ACTIONS(2707), + [anon_sym_unsigned] = ACTIONS(2707), + [anon_sym_long] = ACTIONS(2707), + [anon_sym_short] = ACTIONS(2707), + [anon_sym_LBRACK] = ACTIONS(2707), + [anon_sym_static] = ACTIONS(2707), + [anon_sym_register] = ACTIONS(2707), + [anon_sym_inline] = ACTIONS(2707), + [anon_sym___inline] = ACTIONS(2707), + [anon_sym___inline__] = ACTIONS(2707), + [anon_sym___forceinline] = ACTIONS(2707), + [anon_sym_thread_local] = ACTIONS(2707), + [anon_sym___thread] = ACTIONS(2707), + [anon_sym_const] = ACTIONS(2707), + [anon_sym_constexpr] = ACTIONS(2707), + [anon_sym_volatile] = ACTIONS(2707), + [anon_sym_restrict] = ACTIONS(2707), + [anon_sym___restrict__] = ACTIONS(2707), + [anon_sym__Atomic] = ACTIONS(2707), + [anon_sym__Noreturn] = ACTIONS(2707), + [anon_sym_noreturn] = ACTIONS(2707), + [anon_sym_mutable] = ACTIONS(2707), + [anon_sym_constinit] = ACTIONS(2707), + [anon_sym_consteval] = ACTIONS(2707), + [anon_sym_alignas] = ACTIONS(2707), + [anon_sym__Alignas] = ACTIONS(2707), + [sym_primitive_type] = ACTIONS(2707), + [anon_sym_enum] = ACTIONS(2707), + [anon_sym_class] = ACTIONS(2707), + [anon_sym_struct] = ACTIONS(2707), + [anon_sym_union] = ACTIONS(2707), + [anon_sym_if] = ACTIONS(2707), + [anon_sym_else] = ACTIONS(2707), + [anon_sym_switch] = ACTIONS(2707), + [anon_sym_while] = ACTIONS(2707), + [anon_sym_do] = ACTIONS(2707), + [anon_sym_for] = ACTIONS(2707), + [anon_sym_return] = ACTIONS(2707), + [anon_sym_break] = ACTIONS(2707), + [anon_sym_continue] = ACTIONS(2707), + [anon_sym_goto] = ACTIONS(2707), + [anon_sym___try] = ACTIONS(2707), + [anon_sym___leave] = ACTIONS(2707), + [anon_sym_not] = ACTIONS(2707), + [anon_sym_compl] = ACTIONS(2707), + [anon_sym_DASH_DASH] = ACTIONS(2709), + [anon_sym_PLUS_PLUS] = ACTIONS(2709), + [anon_sym_sizeof] = ACTIONS(2707), + [anon_sym___alignof__] = ACTIONS(2707), + [anon_sym___alignof] = ACTIONS(2707), + [anon_sym__alignof] = ACTIONS(2707), + [anon_sym_alignof] = ACTIONS(2707), + [anon_sym__Alignof] = ACTIONS(2707), + [anon_sym_offsetof] = ACTIONS(2707), + [anon_sym__Generic] = ACTIONS(2707), + [anon_sym_asm] = ACTIONS(2707), + [anon_sym___asm__] = ACTIONS(2707), + [sym__number_literal] = ACTIONS(2709), + [anon_sym_L_SQUOTE] = ACTIONS(2709), + [anon_sym_u_SQUOTE] = ACTIONS(2709), + [anon_sym_U_SQUOTE] = ACTIONS(2709), + [anon_sym_u8_SQUOTE] = ACTIONS(2709), + [anon_sym_SQUOTE] = ACTIONS(2709), + [anon_sym_L_DQUOTE] = ACTIONS(2709), + [anon_sym_u_DQUOTE] = ACTIONS(2709), + [anon_sym_U_DQUOTE] = ACTIONS(2709), + [anon_sym_u8_DQUOTE] = ACTIONS(2709), + [anon_sym_DQUOTE] = ACTIONS(2709), + [sym_true] = ACTIONS(2707), + [sym_false] = ACTIONS(2707), + [anon_sym_NULL] = ACTIONS(2707), + [anon_sym_nullptr] = ACTIONS(2707), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2709), + [sym_auto] = ACTIONS(2707), + [anon_sym_decltype] = ACTIONS(2707), + [sym_virtual] = ACTIONS(2707), + [anon_sym_typename] = ACTIONS(2707), + [anon_sym_template] = ACTIONS(2707), + [anon_sym_try] = ACTIONS(2707), + [anon_sym_delete] = ACTIONS(2707), + [anon_sym_throw] = ACTIONS(2707), + [anon_sym_co_return] = ACTIONS(2707), + [anon_sym_co_yield] = ACTIONS(2707), + [anon_sym_R_DQUOTE] = ACTIONS(2709), + [anon_sym_LR_DQUOTE] = ACTIONS(2709), + [anon_sym_uR_DQUOTE] = ACTIONS(2709), + [anon_sym_UR_DQUOTE] = ACTIONS(2709), + [anon_sym_u8R_DQUOTE] = ACTIONS(2709), + [anon_sym_co_await] = ACTIONS(2707), + [anon_sym_new] = ACTIONS(2707), + [anon_sym_requires] = ACTIONS(2707), + [sym_this] = ACTIONS(2707), + }, + [892] = { + [sym__identifier] = ACTIONS(2809), + [anon_sym_LPAREN2] = ACTIONS(2811), + [anon_sym_BANG] = ACTIONS(2811), + [anon_sym_TILDE] = ACTIONS(2811), + [anon_sym_DASH] = ACTIONS(2809), + [anon_sym_PLUS] = ACTIONS(2809), + [anon_sym_STAR] = ACTIONS(2811), + [anon_sym_AMP] = ACTIONS(2811), + [anon_sym_SEMI] = ACTIONS(2811), + [anon_sym___extension__] = ACTIONS(2809), + [anon_sym_typedef] = ACTIONS(2809), + [anon_sym_extern] = ACTIONS(2809), + [anon_sym___attribute__] = ACTIONS(2809), + [anon_sym_COLON_COLON] = ACTIONS(2811), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2811), + [anon_sym___declspec] = ACTIONS(2809), + [anon_sym_LBRACE] = ACTIONS(2811), + [anon_sym_signed] = ACTIONS(2809), + [anon_sym_unsigned] = ACTIONS(2809), + [anon_sym_long] = ACTIONS(2809), + [anon_sym_short] = ACTIONS(2809), + [anon_sym_LBRACK] = ACTIONS(2809), + [anon_sym_static] = ACTIONS(2809), + [anon_sym_register] = ACTIONS(2809), + [anon_sym_inline] = ACTIONS(2809), + [anon_sym___inline] = ACTIONS(2809), + [anon_sym___inline__] = ACTIONS(2809), + [anon_sym___forceinline] = ACTIONS(2809), + [anon_sym_thread_local] = ACTIONS(2809), + [anon_sym___thread] = ACTIONS(2809), + [anon_sym_const] = ACTIONS(2809), + [anon_sym_constexpr] = ACTIONS(2809), + [anon_sym_volatile] = ACTIONS(2809), + [anon_sym_restrict] = ACTIONS(2809), + [anon_sym___restrict__] = ACTIONS(2809), + [anon_sym__Atomic] = ACTIONS(2809), + [anon_sym__Noreturn] = ACTIONS(2809), + [anon_sym_noreturn] = ACTIONS(2809), + [anon_sym_mutable] = ACTIONS(2809), + [anon_sym_constinit] = ACTIONS(2809), + [anon_sym_consteval] = ACTIONS(2809), + [anon_sym_alignas] = ACTIONS(2809), + [anon_sym__Alignas] = ACTIONS(2809), + [sym_primitive_type] = ACTIONS(2809), + [anon_sym_enum] = ACTIONS(2809), + [anon_sym_class] = ACTIONS(2809), + [anon_sym_struct] = ACTIONS(2809), + [anon_sym_union] = ACTIONS(2809), + [anon_sym_if] = ACTIONS(2809), + [anon_sym_else] = ACTIONS(2809), + [anon_sym_switch] = ACTIONS(2809), + [anon_sym_while] = ACTIONS(2809), + [anon_sym_do] = ACTIONS(2809), + [anon_sym_for] = ACTIONS(2809), + [anon_sym_return] = ACTIONS(2809), + [anon_sym_break] = ACTIONS(2809), + [anon_sym_continue] = ACTIONS(2809), + [anon_sym_goto] = ACTIONS(2809), + [anon_sym___try] = ACTIONS(2809), + [anon_sym___leave] = ACTIONS(2809), + [anon_sym_not] = ACTIONS(2809), + [anon_sym_compl] = ACTIONS(2809), + [anon_sym_DASH_DASH] = ACTIONS(2811), + [anon_sym_PLUS_PLUS] = ACTIONS(2811), + [anon_sym_sizeof] = ACTIONS(2809), + [anon_sym___alignof__] = ACTIONS(2809), + [anon_sym___alignof] = ACTIONS(2809), + [anon_sym__alignof] = ACTIONS(2809), + [anon_sym_alignof] = ACTIONS(2809), + [anon_sym__Alignof] = ACTIONS(2809), + [anon_sym_offsetof] = ACTIONS(2809), + [anon_sym__Generic] = ACTIONS(2809), + [anon_sym_asm] = ACTIONS(2809), + [anon_sym___asm__] = ACTIONS(2809), + [sym__number_literal] = ACTIONS(2811), + [anon_sym_L_SQUOTE] = ACTIONS(2811), + [anon_sym_u_SQUOTE] = ACTIONS(2811), + [anon_sym_U_SQUOTE] = ACTIONS(2811), + [anon_sym_u8_SQUOTE] = ACTIONS(2811), + [anon_sym_SQUOTE] = ACTIONS(2811), + [anon_sym_L_DQUOTE] = ACTIONS(2811), + [anon_sym_u_DQUOTE] = ACTIONS(2811), + [anon_sym_U_DQUOTE] = ACTIONS(2811), + [anon_sym_u8_DQUOTE] = ACTIONS(2811), + [anon_sym_DQUOTE] = ACTIONS(2811), + [sym_true] = ACTIONS(2809), + [sym_false] = ACTIONS(2809), + [anon_sym_NULL] = ACTIONS(2809), + [anon_sym_nullptr] = ACTIONS(2809), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2811), + [sym_auto] = ACTIONS(2809), + [anon_sym_decltype] = ACTIONS(2809), + [sym_virtual] = ACTIONS(2809), + [anon_sym_typename] = ACTIONS(2809), + [anon_sym_template] = ACTIONS(2809), + [anon_sym_try] = ACTIONS(2809), + [anon_sym_delete] = ACTIONS(2809), + [anon_sym_throw] = ACTIONS(2809), + [anon_sym_co_return] = ACTIONS(2809), + [anon_sym_co_yield] = ACTIONS(2809), + [anon_sym_R_DQUOTE] = ACTIONS(2811), + [anon_sym_LR_DQUOTE] = ACTIONS(2811), + [anon_sym_uR_DQUOTE] = ACTIONS(2811), + [anon_sym_UR_DQUOTE] = ACTIONS(2811), + [anon_sym_u8R_DQUOTE] = ACTIONS(2811), + [anon_sym_co_await] = ACTIONS(2809), + [anon_sym_new] = ACTIONS(2809), + [anon_sym_requires] = ACTIONS(2809), + [sym_this] = ACTIONS(2809), + }, + [893] = { + [sym__identifier] = ACTIONS(2789), + [anon_sym_LPAREN2] = ACTIONS(2791), + [anon_sym_BANG] = ACTIONS(2791), + [anon_sym_TILDE] = ACTIONS(2791), + [anon_sym_DASH] = ACTIONS(2789), + [anon_sym_PLUS] = ACTIONS(2789), + [anon_sym_STAR] = ACTIONS(2791), + [anon_sym_AMP] = ACTIONS(2791), + [anon_sym_SEMI] = ACTIONS(2791), + [anon_sym___extension__] = ACTIONS(2789), + [anon_sym_typedef] = ACTIONS(2789), + [anon_sym_extern] = ACTIONS(2789), + [anon_sym___attribute__] = ACTIONS(2789), + [anon_sym_COLON_COLON] = ACTIONS(2791), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2791), + [anon_sym___declspec] = ACTIONS(2789), + [anon_sym_LBRACE] = ACTIONS(2791), + [anon_sym_signed] = ACTIONS(2789), + [anon_sym_unsigned] = ACTIONS(2789), + [anon_sym_long] = ACTIONS(2789), + [anon_sym_short] = ACTIONS(2789), + [anon_sym_LBRACK] = ACTIONS(2789), + [anon_sym_static] = ACTIONS(2789), + [anon_sym_register] = ACTIONS(2789), + [anon_sym_inline] = ACTIONS(2789), + [anon_sym___inline] = ACTIONS(2789), + [anon_sym___inline__] = ACTIONS(2789), + [anon_sym___forceinline] = ACTIONS(2789), + [anon_sym_thread_local] = ACTIONS(2789), + [anon_sym___thread] = ACTIONS(2789), + [anon_sym_const] = ACTIONS(2789), + [anon_sym_constexpr] = ACTIONS(2789), + [anon_sym_volatile] = ACTIONS(2789), + [anon_sym_restrict] = ACTIONS(2789), + [anon_sym___restrict__] = ACTIONS(2789), + [anon_sym__Atomic] = ACTIONS(2789), + [anon_sym__Noreturn] = ACTIONS(2789), + [anon_sym_noreturn] = ACTIONS(2789), + [anon_sym_mutable] = ACTIONS(2789), + [anon_sym_constinit] = ACTIONS(2789), + [anon_sym_consteval] = ACTIONS(2789), + [anon_sym_alignas] = ACTIONS(2789), + [anon_sym__Alignas] = ACTIONS(2789), + [sym_primitive_type] = ACTIONS(2789), + [anon_sym_enum] = ACTIONS(2789), + [anon_sym_class] = ACTIONS(2789), + [anon_sym_struct] = ACTIONS(2789), + [anon_sym_union] = ACTIONS(2789), + [anon_sym_if] = ACTIONS(2789), + [anon_sym_else] = ACTIONS(2789), + [anon_sym_switch] = ACTIONS(2789), + [anon_sym_while] = ACTIONS(2789), + [anon_sym_do] = ACTIONS(2789), + [anon_sym_for] = ACTIONS(2789), + [anon_sym_return] = ACTIONS(2789), + [anon_sym_break] = ACTIONS(2789), + [anon_sym_continue] = ACTIONS(2789), + [anon_sym_goto] = ACTIONS(2789), + [anon_sym___try] = ACTIONS(2789), + [anon_sym___leave] = ACTIONS(2789), + [anon_sym_not] = ACTIONS(2789), + [anon_sym_compl] = ACTIONS(2789), + [anon_sym_DASH_DASH] = ACTIONS(2791), + [anon_sym_PLUS_PLUS] = ACTIONS(2791), + [anon_sym_sizeof] = ACTIONS(2789), + [anon_sym___alignof__] = ACTIONS(2789), + [anon_sym___alignof] = ACTIONS(2789), + [anon_sym__alignof] = ACTIONS(2789), + [anon_sym_alignof] = ACTIONS(2789), + [anon_sym__Alignof] = ACTIONS(2789), + [anon_sym_offsetof] = ACTIONS(2789), + [anon_sym__Generic] = ACTIONS(2789), + [anon_sym_asm] = ACTIONS(2789), + [anon_sym___asm__] = ACTIONS(2789), + [sym__number_literal] = ACTIONS(2791), + [anon_sym_L_SQUOTE] = ACTIONS(2791), + [anon_sym_u_SQUOTE] = ACTIONS(2791), + [anon_sym_U_SQUOTE] = ACTIONS(2791), + [anon_sym_u8_SQUOTE] = ACTIONS(2791), + [anon_sym_SQUOTE] = ACTIONS(2791), + [anon_sym_L_DQUOTE] = ACTIONS(2791), + [anon_sym_u_DQUOTE] = ACTIONS(2791), + [anon_sym_U_DQUOTE] = ACTIONS(2791), + [anon_sym_u8_DQUOTE] = ACTIONS(2791), + [anon_sym_DQUOTE] = ACTIONS(2791), + [sym_true] = ACTIONS(2789), + [sym_false] = ACTIONS(2789), + [anon_sym_NULL] = ACTIONS(2789), + [anon_sym_nullptr] = ACTIONS(2789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2791), + [sym_auto] = ACTIONS(2789), + [anon_sym_decltype] = ACTIONS(2789), + [sym_virtual] = ACTIONS(2789), + [anon_sym_typename] = ACTIONS(2789), + [anon_sym_template] = ACTIONS(2789), + [anon_sym_try] = ACTIONS(2789), + [anon_sym_delete] = ACTIONS(2789), + [anon_sym_throw] = ACTIONS(2789), + [anon_sym_co_return] = ACTIONS(2789), + [anon_sym_co_yield] = ACTIONS(2789), + [anon_sym_R_DQUOTE] = ACTIONS(2791), + [anon_sym_LR_DQUOTE] = ACTIONS(2791), + [anon_sym_uR_DQUOTE] = ACTIONS(2791), + [anon_sym_UR_DQUOTE] = ACTIONS(2791), + [anon_sym_u8R_DQUOTE] = ACTIONS(2791), + [anon_sym_co_await] = ACTIONS(2789), + [anon_sym_new] = ACTIONS(2789), + [anon_sym_requires] = ACTIONS(2789), + [sym_this] = ACTIONS(2789), + }, + [894] = { + [sym__identifier] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_BANG] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_DASH] = ACTIONS(2777), + [anon_sym_PLUS] = ACTIONS(2777), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2779), + [anon_sym_SEMI] = ACTIONS(2779), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym_LBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [anon_sym_if] = ACTIONS(2777), + [anon_sym_else] = ACTIONS(2777), + [anon_sym_switch] = ACTIONS(2777), + [anon_sym_while] = ACTIONS(2777), + [anon_sym_do] = ACTIONS(2777), + [anon_sym_for] = ACTIONS(2777), + [anon_sym_return] = ACTIONS(2777), + [anon_sym_break] = ACTIONS(2777), + [anon_sym_continue] = ACTIONS(2777), + [anon_sym_goto] = ACTIONS(2777), + [anon_sym___try] = ACTIONS(2777), + [anon_sym___leave] = ACTIONS(2777), + [anon_sym_not] = ACTIONS(2777), + [anon_sym_compl] = ACTIONS(2777), + [anon_sym_DASH_DASH] = ACTIONS(2779), + [anon_sym_PLUS_PLUS] = ACTIONS(2779), + [anon_sym_sizeof] = ACTIONS(2777), + [anon_sym___alignof__] = ACTIONS(2777), + [anon_sym___alignof] = ACTIONS(2777), + [anon_sym__alignof] = ACTIONS(2777), + [anon_sym_alignof] = ACTIONS(2777), + [anon_sym__Alignof] = ACTIONS(2777), + [anon_sym_offsetof] = ACTIONS(2777), + [anon_sym__Generic] = ACTIONS(2777), + [anon_sym_asm] = ACTIONS(2777), + [anon_sym___asm__] = ACTIONS(2777), + [sym__number_literal] = ACTIONS(2779), + [anon_sym_L_SQUOTE] = ACTIONS(2779), + [anon_sym_u_SQUOTE] = ACTIONS(2779), + [anon_sym_U_SQUOTE] = ACTIONS(2779), + [anon_sym_u8_SQUOTE] = ACTIONS(2779), + [anon_sym_SQUOTE] = ACTIONS(2779), + [anon_sym_L_DQUOTE] = ACTIONS(2779), + [anon_sym_u_DQUOTE] = ACTIONS(2779), + [anon_sym_U_DQUOTE] = ACTIONS(2779), + [anon_sym_u8_DQUOTE] = ACTIONS(2779), + [anon_sym_DQUOTE] = ACTIONS(2779), + [sym_true] = ACTIONS(2777), + [sym_false] = ACTIONS(2777), + [anon_sym_NULL] = ACTIONS(2777), + [anon_sym_nullptr] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_try] = ACTIONS(2777), + [anon_sym_delete] = ACTIONS(2777), + [anon_sym_throw] = ACTIONS(2777), + [anon_sym_co_return] = ACTIONS(2777), + [anon_sym_co_yield] = ACTIONS(2777), + [anon_sym_R_DQUOTE] = ACTIONS(2779), + [anon_sym_LR_DQUOTE] = ACTIONS(2779), + [anon_sym_uR_DQUOTE] = ACTIONS(2779), + [anon_sym_UR_DQUOTE] = ACTIONS(2779), + [anon_sym_u8R_DQUOTE] = ACTIONS(2779), + [anon_sym_co_await] = ACTIONS(2777), + [anon_sym_new] = ACTIONS(2777), + [anon_sym_requires] = ACTIONS(2777), + [sym_this] = ACTIONS(2777), + }, + [895] = { + [sym__identifier] = ACTIONS(2723), + [anon_sym_LPAREN2] = ACTIONS(2725), + [anon_sym_BANG] = ACTIONS(2725), + [anon_sym_TILDE] = ACTIONS(2725), + [anon_sym_DASH] = ACTIONS(2723), + [anon_sym_PLUS] = ACTIONS(2723), + [anon_sym_STAR] = ACTIONS(2725), + [anon_sym_AMP] = ACTIONS(2725), + [anon_sym_SEMI] = ACTIONS(2725), + [anon_sym___extension__] = ACTIONS(2723), + [anon_sym_typedef] = ACTIONS(2723), + [anon_sym_extern] = ACTIONS(2723), + [anon_sym___attribute__] = ACTIONS(2723), + [anon_sym_COLON_COLON] = ACTIONS(2725), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2725), + [anon_sym___declspec] = ACTIONS(2723), + [anon_sym_LBRACE] = ACTIONS(2725), + [anon_sym_signed] = ACTIONS(2723), + [anon_sym_unsigned] = ACTIONS(2723), + [anon_sym_long] = ACTIONS(2723), + [anon_sym_short] = ACTIONS(2723), + [anon_sym_LBRACK] = ACTIONS(2723), + [anon_sym_static] = ACTIONS(2723), + [anon_sym_register] = ACTIONS(2723), + [anon_sym_inline] = ACTIONS(2723), + [anon_sym___inline] = ACTIONS(2723), + [anon_sym___inline__] = ACTIONS(2723), + [anon_sym___forceinline] = ACTIONS(2723), + [anon_sym_thread_local] = ACTIONS(2723), + [anon_sym___thread] = ACTIONS(2723), + [anon_sym_const] = ACTIONS(2723), + [anon_sym_constexpr] = ACTIONS(2723), + [anon_sym_volatile] = ACTIONS(2723), + [anon_sym_restrict] = ACTIONS(2723), + [anon_sym___restrict__] = ACTIONS(2723), + [anon_sym__Atomic] = ACTIONS(2723), + [anon_sym__Noreturn] = ACTIONS(2723), + [anon_sym_noreturn] = ACTIONS(2723), + [anon_sym_mutable] = ACTIONS(2723), + [anon_sym_constinit] = ACTIONS(2723), + [anon_sym_consteval] = ACTIONS(2723), + [anon_sym_alignas] = ACTIONS(2723), + [anon_sym__Alignas] = ACTIONS(2723), + [sym_primitive_type] = ACTIONS(2723), + [anon_sym_enum] = ACTIONS(2723), + [anon_sym_class] = ACTIONS(2723), + [anon_sym_struct] = ACTIONS(2723), + [anon_sym_union] = ACTIONS(2723), + [anon_sym_if] = ACTIONS(2723), + [anon_sym_else] = ACTIONS(2723), + [anon_sym_switch] = ACTIONS(2723), + [anon_sym_while] = ACTIONS(2723), + [anon_sym_do] = ACTIONS(2723), + [anon_sym_for] = ACTIONS(2723), + [anon_sym_return] = ACTIONS(2723), + [anon_sym_break] = ACTIONS(2723), + [anon_sym_continue] = ACTIONS(2723), + [anon_sym_goto] = ACTIONS(2723), + [anon_sym___try] = ACTIONS(2723), + [anon_sym___leave] = ACTIONS(2723), + [anon_sym_not] = ACTIONS(2723), + [anon_sym_compl] = ACTIONS(2723), + [anon_sym_DASH_DASH] = ACTIONS(2725), + [anon_sym_PLUS_PLUS] = ACTIONS(2725), + [anon_sym_sizeof] = ACTIONS(2723), + [anon_sym___alignof__] = ACTIONS(2723), + [anon_sym___alignof] = ACTIONS(2723), + [anon_sym__alignof] = ACTIONS(2723), + [anon_sym_alignof] = ACTIONS(2723), + [anon_sym__Alignof] = ACTIONS(2723), + [anon_sym_offsetof] = ACTIONS(2723), + [anon_sym__Generic] = ACTIONS(2723), + [anon_sym_asm] = ACTIONS(2723), + [anon_sym___asm__] = ACTIONS(2723), + [sym__number_literal] = ACTIONS(2725), + [anon_sym_L_SQUOTE] = ACTIONS(2725), + [anon_sym_u_SQUOTE] = ACTIONS(2725), + [anon_sym_U_SQUOTE] = ACTIONS(2725), + [anon_sym_u8_SQUOTE] = ACTIONS(2725), + [anon_sym_SQUOTE] = ACTIONS(2725), + [anon_sym_L_DQUOTE] = ACTIONS(2725), + [anon_sym_u_DQUOTE] = ACTIONS(2725), + [anon_sym_U_DQUOTE] = ACTIONS(2725), + [anon_sym_u8_DQUOTE] = ACTIONS(2725), + [anon_sym_DQUOTE] = ACTIONS(2725), + [sym_true] = ACTIONS(2723), + [sym_false] = ACTIONS(2723), + [anon_sym_NULL] = ACTIONS(2723), + [anon_sym_nullptr] = ACTIONS(2723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2725), + [sym_auto] = ACTIONS(2723), + [anon_sym_decltype] = ACTIONS(2723), + [sym_virtual] = ACTIONS(2723), + [anon_sym_typename] = ACTIONS(2723), + [anon_sym_template] = ACTIONS(2723), + [anon_sym_try] = ACTIONS(2723), + [anon_sym_delete] = ACTIONS(2723), + [anon_sym_throw] = ACTIONS(2723), + [anon_sym_co_return] = ACTIONS(2723), + [anon_sym_co_yield] = ACTIONS(2723), + [anon_sym_R_DQUOTE] = ACTIONS(2725), + [anon_sym_LR_DQUOTE] = ACTIONS(2725), + [anon_sym_uR_DQUOTE] = ACTIONS(2725), + [anon_sym_UR_DQUOTE] = ACTIONS(2725), + [anon_sym_u8R_DQUOTE] = ACTIONS(2725), + [anon_sym_co_await] = ACTIONS(2723), + [anon_sym_new] = ACTIONS(2723), + [anon_sym_requires] = ACTIONS(2723), + [sym_this] = ACTIONS(2723), + }, + [896] = { + [sym__identifier] = ACTIONS(2747), + [anon_sym_LPAREN2] = ACTIONS(2749), + [anon_sym_BANG] = ACTIONS(2749), + [anon_sym_TILDE] = ACTIONS(2749), + [anon_sym_DASH] = ACTIONS(2747), + [anon_sym_PLUS] = ACTIONS(2747), + [anon_sym_STAR] = ACTIONS(2749), + [anon_sym_AMP] = ACTIONS(2749), + [anon_sym_SEMI] = ACTIONS(2749), + [anon_sym___extension__] = ACTIONS(2747), + [anon_sym_typedef] = ACTIONS(2747), + [anon_sym_extern] = ACTIONS(2747), + [anon_sym___attribute__] = ACTIONS(2747), + [anon_sym_COLON_COLON] = ACTIONS(2749), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2749), + [anon_sym___declspec] = ACTIONS(2747), + [anon_sym_LBRACE] = ACTIONS(2749), + [anon_sym_signed] = ACTIONS(2747), + [anon_sym_unsigned] = ACTIONS(2747), + [anon_sym_long] = ACTIONS(2747), + [anon_sym_short] = ACTIONS(2747), + [anon_sym_LBRACK] = ACTIONS(2747), + [anon_sym_static] = ACTIONS(2747), + [anon_sym_register] = ACTIONS(2747), + [anon_sym_inline] = ACTIONS(2747), + [anon_sym___inline] = ACTIONS(2747), + [anon_sym___inline__] = ACTIONS(2747), + [anon_sym___forceinline] = ACTIONS(2747), + [anon_sym_thread_local] = ACTIONS(2747), + [anon_sym___thread] = ACTIONS(2747), + [anon_sym_const] = ACTIONS(2747), + [anon_sym_constexpr] = ACTIONS(2747), + [anon_sym_volatile] = ACTIONS(2747), + [anon_sym_restrict] = ACTIONS(2747), + [anon_sym___restrict__] = ACTIONS(2747), + [anon_sym__Atomic] = ACTIONS(2747), + [anon_sym__Noreturn] = ACTIONS(2747), + [anon_sym_noreturn] = ACTIONS(2747), + [anon_sym_mutable] = ACTIONS(2747), + [anon_sym_constinit] = ACTIONS(2747), + [anon_sym_consteval] = ACTIONS(2747), + [anon_sym_alignas] = ACTIONS(2747), + [anon_sym__Alignas] = ACTIONS(2747), + [sym_primitive_type] = ACTIONS(2747), + [anon_sym_enum] = ACTIONS(2747), + [anon_sym_class] = ACTIONS(2747), + [anon_sym_struct] = ACTIONS(2747), + [anon_sym_union] = ACTIONS(2747), + [anon_sym_if] = ACTIONS(2747), + [anon_sym_else] = ACTIONS(2747), + [anon_sym_switch] = ACTIONS(2747), + [anon_sym_while] = ACTIONS(2747), + [anon_sym_do] = ACTIONS(2747), + [anon_sym_for] = ACTIONS(2747), + [anon_sym_return] = ACTIONS(2747), + [anon_sym_break] = ACTIONS(2747), + [anon_sym_continue] = ACTIONS(2747), + [anon_sym_goto] = ACTIONS(2747), + [anon_sym___try] = ACTIONS(2747), + [anon_sym___leave] = ACTIONS(2747), + [anon_sym_not] = ACTIONS(2747), + [anon_sym_compl] = ACTIONS(2747), + [anon_sym_DASH_DASH] = ACTIONS(2749), + [anon_sym_PLUS_PLUS] = ACTIONS(2749), + [anon_sym_sizeof] = ACTIONS(2747), + [anon_sym___alignof__] = ACTIONS(2747), + [anon_sym___alignof] = ACTIONS(2747), + [anon_sym__alignof] = ACTIONS(2747), + [anon_sym_alignof] = ACTIONS(2747), + [anon_sym__Alignof] = ACTIONS(2747), + [anon_sym_offsetof] = ACTIONS(2747), + [anon_sym__Generic] = ACTIONS(2747), + [anon_sym_asm] = ACTIONS(2747), + [anon_sym___asm__] = ACTIONS(2747), + [sym__number_literal] = ACTIONS(2749), + [anon_sym_L_SQUOTE] = ACTIONS(2749), + [anon_sym_u_SQUOTE] = ACTIONS(2749), + [anon_sym_U_SQUOTE] = ACTIONS(2749), + [anon_sym_u8_SQUOTE] = ACTIONS(2749), + [anon_sym_SQUOTE] = ACTIONS(2749), + [anon_sym_L_DQUOTE] = ACTIONS(2749), + [anon_sym_u_DQUOTE] = ACTIONS(2749), + [anon_sym_U_DQUOTE] = ACTIONS(2749), + [anon_sym_u8_DQUOTE] = ACTIONS(2749), + [anon_sym_DQUOTE] = ACTIONS(2749), + [sym_true] = ACTIONS(2747), + [sym_false] = ACTIONS(2747), + [anon_sym_NULL] = ACTIONS(2747), + [anon_sym_nullptr] = ACTIONS(2747), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2749), + [sym_auto] = ACTIONS(2747), + [anon_sym_decltype] = ACTIONS(2747), + [sym_virtual] = ACTIONS(2747), + [anon_sym_typename] = ACTIONS(2747), + [anon_sym_template] = ACTIONS(2747), + [anon_sym_try] = ACTIONS(2747), + [anon_sym_delete] = ACTIONS(2747), + [anon_sym_throw] = ACTIONS(2747), + [anon_sym_co_return] = ACTIONS(2747), + [anon_sym_co_yield] = ACTIONS(2747), + [anon_sym_R_DQUOTE] = ACTIONS(2749), + [anon_sym_LR_DQUOTE] = ACTIONS(2749), + [anon_sym_uR_DQUOTE] = ACTIONS(2749), + [anon_sym_UR_DQUOTE] = ACTIONS(2749), + [anon_sym_u8R_DQUOTE] = ACTIONS(2749), + [anon_sym_co_await] = ACTIONS(2747), + [anon_sym_new] = ACTIONS(2747), + [anon_sym_requires] = ACTIONS(2747), + [sym_this] = ACTIONS(2747), + }, + [897] = { + [sym__identifier] = ACTIONS(2763), + [anon_sym_LPAREN2] = ACTIONS(2765), + [anon_sym_BANG] = ACTIONS(2765), + [anon_sym_TILDE] = ACTIONS(2765), + [anon_sym_DASH] = ACTIONS(2763), + [anon_sym_PLUS] = ACTIONS(2763), + [anon_sym_STAR] = ACTIONS(2765), + [anon_sym_AMP] = ACTIONS(2765), + [anon_sym_SEMI] = ACTIONS(2765), + [anon_sym___extension__] = ACTIONS(2763), + [anon_sym_typedef] = ACTIONS(2763), + [anon_sym_extern] = ACTIONS(2763), + [anon_sym___attribute__] = ACTIONS(2763), + [anon_sym_COLON_COLON] = ACTIONS(2765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2765), + [anon_sym___declspec] = ACTIONS(2763), + [anon_sym_LBRACE] = ACTIONS(2765), + [anon_sym_signed] = ACTIONS(2763), + [anon_sym_unsigned] = ACTIONS(2763), + [anon_sym_long] = ACTIONS(2763), + [anon_sym_short] = ACTIONS(2763), + [anon_sym_LBRACK] = ACTIONS(2763), + [anon_sym_static] = ACTIONS(2763), + [anon_sym_register] = ACTIONS(2763), + [anon_sym_inline] = ACTIONS(2763), + [anon_sym___inline] = ACTIONS(2763), + [anon_sym___inline__] = ACTIONS(2763), + [anon_sym___forceinline] = ACTIONS(2763), + [anon_sym_thread_local] = ACTIONS(2763), + [anon_sym___thread] = ACTIONS(2763), + [anon_sym_const] = ACTIONS(2763), + [anon_sym_constexpr] = ACTIONS(2763), + [anon_sym_volatile] = ACTIONS(2763), + [anon_sym_restrict] = ACTIONS(2763), + [anon_sym___restrict__] = ACTIONS(2763), + [anon_sym__Atomic] = ACTIONS(2763), + [anon_sym__Noreturn] = ACTIONS(2763), + [anon_sym_noreturn] = ACTIONS(2763), + [anon_sym_mutable] = ACTIONS(2763), + [anon_sym_constinit] = ACTIONS(2763), + [anon_sym_consteval] = ACTIONS(2763), + [anon_sym_alignas] = ACTIONS(2763), + [anon_sym__Alignas] = ACTIONS(2763), + [sym_primitive_type] = ACTIONS(2763), + [anon_sym_enum] = ACTIONS(2763), + [anon_sym_class] = ACTIONS(2763), + [anon_sym_struct] = ACTIONS(2763), + [anon_sym_union] = ACTIONS(2763), + [anon_sym_if] = ACTIONS(2763), + [anon_sym_else] = ACTIONS(2763), + [anon_sym_switch] = ACTIONS(2763), + [anon_sym_while] = ACTIONS(2763), + [anon_sym_do] = ACTIONS(2763), + [anon_sym_for] = ACTIONS(2763), + [anon_sym_return] = ACTIONS(2763), + [anon_sym_break] = ACTIONS(2763), + [anon_sym_continue] = ACTIONS(2763), + [anon_sym_goto] = ACTIONS(2763), + [anon_sym___try] = ACTIONS(2763), + [anon_sym___leave] = ACTIONS(2763), + [anon_sym_not] = ACTIONS(2763), + [anon_sym_compl] = ACTIONS(2763), + [anon_sym_DASH_DASH] = ACTIONS(2765), + [anon_sym_PLUS_PLUS] = ACTIONS(2765), + [anon_sym_sizeof] = ACTIONS(2763), + [anon_sym___alignof__] = ACTIONS(2763), + [anon_sym___alignof] = ACTIONS(2763), + [anon_sym__alignof] = ACTIONS(2763), + [anon_sym_alignof] = ACTIONS(2763), + [anon_sym__Alignof] = ACTIONS(2763), + [anon_sym_offsetof] = ACTIONS(2763), + [anon_sym__Generic] = ACTIONS(2763), + [anon_sym_asm] = ACTIONS(2763), + [anon_sym___asm__] = ACTIONS(2763), + [sym__number_literal] = ACTIONS(2765), + [anon_sym_L_SQUOTE] = ACTIONS(2765), + [anon_sym_u_SQUOTE] = ACTIONS(2765), + [anon_sym_U_SQUOTE] = ACTIONS(2765), + [anon_sym_u8_SQUOTE] = ACTIONS(2765), + [anon_sym_SQUOTE] = ACTIONS(2765), + [anon_sym_L_DQUOTE] = ACTIONS(2765), + [anon_sym_u_DQUOTE] = ACTIONS(2765), + [anon_sym_U_DQUOTE] = ACTIONS(2765), + [anon_sym_u8_DQUOTE] = ACTIONS(2765), + [anon_sym_DQUOTE] = ACTIONS(2765), + [sym_true] = ACTIONS(2763), + [sym_false] = ACTIONS(2763), + [anon_sym_NULL] = ACTIONS(2763), + [anon_sym_nullptr] = ACTIONS(2763), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2765), + [sym_auto] = ACTIONS(2763), + [anon_sym_decltype] = ACTIONS(2763), + [sym_virtual] = ACTIONS(2763), + [anon_sym_typename] = ACTIONS(2763), + [anon_sym_template] = ACTIONS(2763), + [anon_sym_try] = ACTIONS(2763), + [anon_sym_delete] = ACTIONS(2763), + [anon_sym_throw] = ACTIONS(2763), + [anon_sym_co_return] = ACTIONS(2763), + [anon_sym_co_yield] = ACTIONS(2763), + [anon_sym_R_DQUOTE] = ACTIONS(2765), + [anon_sym_LR_DQUOTE] = ACTIONS(2765), + [anon_sym_uR_DQUOTE] = ACTIONS(2765), + [anon_sym_UR_DQUOTE] = ACTIONS(2765), + [anon_sym_u8R_DQUOTE] = ACTIONS(2765), + [anon_sym_co_await] = ACTIONS(2763), + [anon_sym_new] = ACTIONS(2763), + [anon_sym_requires] = ACTIONS(2763), + [sym_this] = ACTIONS(2763), + }, + [898] = { + [sym__identifier] = ACTIONS(2632), + [anon_sym_LPAREN2] = ACTIONS(2637), + [anon_sym_BANG] = ACTIONS(2637), + [anon_sym_TILDE] = ACTIONS(2637), + [anon_sym_DASH] = ACTIONS(2632), + [anon_sym_PLUS] = ACTIONS(2632), + [anon_sym_STAR] = ACTIONS(2637), + [anon_sym_AMP] = ACTIONS(2637), + [anon_sym_SEMI] = ACTIONS(2637), + [anon_sym___extension__] = ACTIONS(2632), + [anon_sym_typedef] = ACTIONS(2632), + [anon_sym_extern] = ACTIONS(2632), + [anon_sym___attribute__] = ACTIONS(2632), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2637), + [anon_sym___declspec] = ACTIONS(2632), + [anon_sym_LBRACE] = ACTIONS(2637), + [anon_sym_signed] = ACTIONS(2632), + [anon_sym_unsigned] = ACTIONS(2632), + [anon_sym_long] = ACTIONS(2632), + [anon_sym_short] = ACTIONS(2632), + [anon_sym_LBRACK] = ACTIONS(2632), + [anon_sym_static] = ACTIONS(2632), + [anon_sym_register] = ACTIONS(2632), + [anon_sym_inline] = ACTIONS(2632), + [anon_sym___inline] = ACTIONS(2632), + [anon_sym___inline__] = ACTIONS(2632), + [anon_sym___forceinline] = ACTIONS(2632), + [anon_sym_thread_local] = ACTIONS(2632), + [anon_sym___thread] = ACTIONS(2632), + [anon_sym_const] = ACTIONS(2632), + [anon_sym_constexpr] = ACTIONS(2632), + [anon_sym_volatile] = ACTIONS(2632), + [anon_sym_restrict] = ACTIONS(2632), + [anon_sym___restrict__] = ACTIONS(2632), + [anon_sym__Atomic] = ACTIONS(2632), + [anon_sym__Noreturn] = ACTIONS(2632), + [anon_sym_noreturn] = ACTIONS(2632), + [anon_sym_mutable] = ACTIONS(2632), + [anon_sym_constinit] = ACTIONS(2632), + [anon_sym_consteval] = ACTIONS(2632), + [anon_sym_alignas] = ACTIONS(2632), + [anon_sym__Alignas] = ACTIONS(2632), + [sym_primitive_type] = ACTIONS(2632), + [anon_sym_enum] = ACTIONS(2632), + [anon_sym_class] = ACTIONS(2632), + [anon_sym_struct] = ACTIONS(2632), + [anon_sym_union] = ACTIONS(2632), + [anon_sym_if] = ACTIONS(2632), + [anon_sym_else] = ACTIONS(2632), + [anon_sym_switch] = ACTIONS(2632), + [anon_sym_while] = ACTIONS(2632), + [anon_sym_do] = ACTIONS(2632), + [anon_sym_for] = ACTIONS(2632), + [anon_sym_return] = ACTIONS(2632), + [anon_sym_break] = ACTIONS(2632), + [anon_sym_continue] = ACTIONS(2632), + [anon_sym_goto] = ACTIONS(2632), + [anon_sym___try] = ACTIONS(2632), + [anon_sym___leave] = ACTIONS(2632), + [anon_sym_not] = ACTIONS(2632), + [anon_sym_compl] = ACTIONS(2632), + [anon_sym_DASH_DASH] = ACTIONS(2637), + [anon_sym_PLUS_PLUS] = ACTIONS(2637), + [anon_sym_sizeof] = ACTIONS(2632), + [anon_sym___alignof__] = ACTIONS(2632), + [anon_sym___alignof] = ACTIONS(2632), + [anon_sym__alignof] = ACTIONS(2632), + [anon_sym_alignof] = ACTIONS(2632), + [anon_sym__Alignof] = ACTIONS(2632), + [anon_sym_offsetof] = ACTIONS(2632), + [anon_sym__Generic] = ACTIONS(2632), + [anon_sym_asm] = ACTIONS(2632), + [anon_sym___asm__] = ACTIONS(2632), + [sym__number_literal] = ACTIONS(2637), + [anon_sym_L_SQUOTE] = ACTIONS(2637), + [anon_sym_u_SQUOTE] = ACTIONS(2637), + [anon_sym_U_SQUOTE] = ACTIONS(2637), + [anon_sym_u8_SQUOTE] = ACTIONS(2637), + [anon_sym_SQUOTE] = ACTIONS(2637), + [anon_sym_L_DQUOTE] = ACTIONS(2637), + [anon_sym_u_DQUOTE] = ACTIONS(2637), + [anon_sym_U_DQUOTE] = ACTIONS(2637), + [anon_sym_u8_DQUOTE] = ACTIONS(2637), + [anon_sym_DQUOTE] = ACTIONS(2637), + [sym_true] = ACTIONS(2632), + [sym_false] = ACTIONS(2632), + [anon_sym_NULL] = ACTIONS(2632), + [anon_sym_nullptr] = ACTIONS(2632), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2637), + [sym_auto] = ACTIONS(2632), + [anon_sym_decltype] = ACTIONS(2632), + [sym_virtual] = ACTIONS(2632), + [anon_sym_typename] = ACTIONS(2632), + [anon_sym_template] = ACTIONS(2632), + [anon_sym_try] = ACTIONS(2632), + [anon_sym_delete] = ACTIONS(2632), + [anon_sym_throw] = ACTIONS(2632), + [anon_sym_co_return] = ACTIONS(2632), + [anon_sym_co_yield] = ACTIONS(2632), + [anon_sym_R_DQUOTE] = ACTIONS(2637), + [anon_sym_LR_DQUOTE] = ACTIONS(2637), + [anon_sym_uR_DQUOTE] = ACTIONS(2637), + [anon_sym_UR_DQUOTE] = ACTIONS(2637), + [anon_sym_u8R_DQUOTE] = ACTIONS(2637), + [anon_sym_co_await] = ACTIONS(2632), + [anon_sym_new] = ACTIONS(2632), + [anon_sym_requires] = ACTIONS(2632), + [sym_this] = ACTIONS(2632), + }, + [899] = { + [sym__identifier] = ACTIONS(2743), + [anon_sym_LPAREN2] = ACTIONS(2745), + [anon_sym_BANG] = ACTIONS(2745), + [anon_sym_TILDE] = ACTIONS(2745), + [anon_sym_DASH] = ACTIONS(2743), + [anon_sym_PLUS] = ACTIONS(2743), + [anon_sym_STAR] = ACTIONS(2745), + [anon_sym_AMP] = ACTIONS(2745), + [anon_sym_SEMI] = ACTIONS(2745), + [anon_sym___extension__] = ACTIONS(2743), + [anon_sym_typedef] = ACTIONS(2743), + [anon_sym_extern] = ACTIONS(2743), + [anon_sym___attribute__] = ACTIONS(2743), + [anon_sym_COLON_COLON] = ACTIONS(2745), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2745), + [anon_sym___declspec] = ACTIONS(2743), + [anon_sym_LBRACE] = ACTIONS(2745), + [anon_sym_signed] = ACTIONS(2743), + [anon_sym_unsigned] = ACTIONS(2743), + [anon_sym_long] = ACTIONS(2743), + [anon_sym_short] = ACTIONS(2743), + [anon_sym_LBRACK] = ACTIONS(2743), + [anon_sym_static] = ACTIONS(2743), + [anon_sym_register] = ACTIONS(2743), + [anon_sym_inline] = ACTIONS(2743), + [anon_sym___inline] = ACTIONS(2743), + [anon_sym___inline__] = ACTIONS(2743), + [anon_sym___forceinline] = ACTIONS(2743), + [anon_sym_thread_local] = ACTIONS(2743), + [anon_sym___thread] = ACTIONS(2743), + [anon_sym_const] = ACTIONS(2743), + [anon_sym_constexpr] = ACTIONS(2743), + [anon_sym_volatile] = ACTIONS(2743), + [anon_sym_restrict] = ACTIONS(2743), + [anon_sym___restrict__] = ACTIONS(2743), + [anon_sym__Atomic] = ACTIONS(2743), + [anon_sym__Noreturn] = ACTIONS(2743), + [anon_sym_noreturn] = ACTIONS(2743), + [anon_sym_mutable] = ACTIONS(2743), + [anon_sym_constinit] = ACTIONS(2743), + [anon_sym_consteval] = ACTIONS(2743), + [anon_sym_alignas] = ACTIONS(2743), + [anon_sym__Alignas] = ACTIONS(2743), + [sym_primitive_type] = ACTIONS(2743), + [anon_sym_enum] = ACTIONS(2743), + [anon_sym_class] = ACTIONS(2743), + [anon_sym_struct] = ACTIONS(2743), + [anon_sym_union] = ACTIONS(2743), + [anon_sym_if] = ACTIONS(2743), + [anon_sym_else] = ACTIONS(2743), + [anon_sym_switch] = ACTIONS(2743), + [anon_sym_while] = ACTIONS(2743), + [anon_sym_do] = ACTIONS(2743), + [anon_sym_for] = ACTIONS(2743), + [anon_sym_return] = ACTIONS(2743), + [anon_sym_break] = ACTIONS(2743), + [anon_sym_continue] = ACTIONS(2743), + [anon_sym_goto] = ACTIONS(2743), + [anon_sym___try] = ACTIONS(2743), + [anon_sym___leave] = ACTIONS(2743), + [anon_sym_not] = ACTIONS(2743), + [anon_sym_compl] = ACTIONS(2743), + [anon_sym_DASH_DASH] = ACTIONS(2745), + [anon_sym_PLUS_PLUS] = ACTIONS(2745), + [anon_sym_sizeof] = ACTIONS(2743), + [anon_sym___alignof__] = ACTIONS(2743), + [anon_sym___alignof] = ACTIONS(2743), + [anon_sym__alignof] = ACTIONS(2743), + [anon_sym_alignof] = ACTIONS(2743), + [anon_sym__Alignof] = ACTIONS(2743), + [anon_sym_offsetof] = ACTIONS(2743), + [anon_sym__Generic] = ACTIONS(2743), + [anon_sym_asm] = ACTIONS(2743), + [anon_sym___asm__] = ACTIONS(2743), + [sym__number_literal] = ACTIONS(2745), + [anon_sym_L_SQUOTE] = ACTIONS(2745), + [anon_sym_u_SQUOTE] = ACTIONS(2745), + [anon_sym_U_SQUOTE] = ACTIONS(2745), + [anon_sym_u8_SQUOTE] = ACTIONS(2745), + [anon_sym_SQUOTE] = ACTIONS(2745), + [anon_sym_L_DQUOTE] = ACTIONS(2745), + [anon_sym_u_DQUOTE] = ACTIONS(2745), + [anon_sym_U_DQUOTE] = ACTIONS(2745), + [anon_sym_u8_DQUOTE] = ACTIONS(2745), + [anon_sym_DQUOTE] = ACTIONS(2745), + [sym_true] = ACTIONS(2743), + [sym_false] = ACTIONS(2743), + [anon_sym_NULL] = ACTIONS(2743), + [anon_sym_nullptr] = ACTIONS(2743), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2745), + [sym_auto] = ACTIONS(2743), + [anon_sym_decltype] = ACTIONS(2743), + [sym_virtual] = ACTIONS(2743), + [anon_sym_typename] = ACTIONS(2743), + [anon_sym_template] = ACTIONS(2743), + [anon_sym_try] = ACTIONS(2743), + [anon_sym_delete] = ACTIONS(2743), + [anon_sym_throw] = ACTIONS(2743), + [anon_sym_co_return] = ACTIONS(2743), + [anon_sym_co_yield] = ACTIONS(2743), + [anon_sym_R_DQUOTE] = ACTIONS(2745), + [anon_sym_LR_DQUOTE] = ACTIONS(2745), + [anon_sym_uR_DQUOTE] = ACTIONS(2745), + [anon_sym_UR_DQUOTE] = ACTIONS(2745), + [anon_sym_u8R_DQUOTE] = ACTIONS(2745), + [anon_sym_co_await] = ACTIONS(2743), + [anon_sym_new] = ACTIONS(2743), + [anon_sym_requires] = ACTIONS(2743), + [sym_this] = ACTIONS(2743), + }, + [900] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4051), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [901] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4053), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [902] = { + [sym__identifier] = ACTIONS(2801), + [anon_sym_LPAREN2] = ACTIONS(2803), + [anon_sym_BANG] = ACTIONS(2803), + [anon_sym_TILDE] = ACTIONS(2803), + [anon_sym_DASH] = ACTIONS(2801), + [anon_sym_PLUS] = ACTIONS(2801), + [anon_sym_STAR] = ACTIONS(2803), + [anon_sym_AMP] = ACTIONS(2803), + [anon_sym_SEMI] = ACTIONS(2803), + [anon_sym___extension__] = ACTIONS(2801), + [anon_sym_typedef] = ACTIONS(2801), + [anon_sym_extern] = ACTIONS(2801), + [anon_sym___attribute__] = ACTIONS(2801), + [anon_sym_COLON_COLON] = ACTIONS(2803), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2803), + [anon_sym___declspec] = ACTIONS(2801), + [anon_sym_LBRACE] = ACTIONS(2803), + [anon_sym_signed] = ACTIONS(2801), + [anon_sym_unsigned] = ACTIONS(2801), + [anon_sym_long] = ACTIONS(2801), + [anon_sym_short] = ACTIONS(2801), + [anon_sym_LBRACK] = ACTIONS(2801), + [anon_sym_static] = ACTIONS(2801), + [anon_sym_register] = ACTIONS(2801), + [anon_sym_inline] = ACTIONS(2801), + [anon_sym___inline] = ACTIONS(2801), + [anon_sym___inline__] = ACTIONS(2801), + [anon_sym___forceinline] = ACTIONS(2801), + [anon_sym_thread_local] = ACTIONS(2801), + [anon_sym___thread] = ACTIONS(2801), + [anon_sym_const] = ACTIONS(2801), + [anon_sym_constexpr] = ACTIONS(2801), + [anon_sym_volatile] = ACTIONS(2801), + [anon_sym_restrict] = ACTIONS(2801), + [anon_sym___restrict__] = ACTIONS(2801), + [anon_sym__Atomic] = ACTIONS(2801), + [anon_sym__Noreturn] = ACTIONS(2801), + [anon_sym_noreturn] = ACTIONS(2801), + [anon_sym_mutable] = ACTIONS(2801), + [anon_sym_constinit] = ACTIONS(2801), + [anon_sym_consteval] = ACTIONS(2801), + [anon_sym_alignas] = ACTIONS(2801), + [anon_sym__Alignas] = ACTIONS(2801), + [sym_primitive_type] = ACTIONS(2801), + [anon_sym_enum] = ACTIONS(2801), + [anon_sym_class] = ACTIONS(2801), + [anon_sym_struct] = ACTIONS(2801), + [anon_sym_union] = ACTIONS(2801), + [anon_sym_if] = ACTIONS(2801), + [anon_sym_else] = ACTIONS(2801), + [anon_sym_switch] = ACTIONS(2801), + [anon_sym_while] = ACTIONS(2801), + [anon_sym_do] = ACTIONS(2801), + [anon_sym_for] = ACTIONS(2801), + [anon_sym_return] = ACTIONS(2801), + [anon_sym_break] = ACTIONS(2801), + [anon_sym_continue] = ACTIONS(2801), + [anon_sym_goto] = ACTIONS(2801), + [anon_sym___try] = ACTIONS(2801), + [anon_sym___leave] = ACTIONS(2801), + [anon_sym_not] = ACTIONS(2801), + [anon_sym_compl] = ACTIONS(2801), + [anon_sym_DASH_DASH] = ACTIONS(2803), + [anon_sym_PLUS_PLUS] = ACTIONS(2803), + [anon_sym_sizeof] = ACTIONS(2801), + [anon_sym___alignof__] = ACTIONS(2801), + [anon_sym___alignof] = ACTIONS(2801), + [anon_sym__alignof] = ACTIONS(2801), + [anon_sym_alignof] = ACTIONS(2801), + [anon_sym__Alignof] = ACTIONS(2801), + [anon_sym_offsetof] = ACTIONS(2801), + [anon_sym__Generic] = ACTIONS(2801), + [anon_sym_asm] = ACTIONS(2801), + [anon_sym___asm__] = ACTIONS(2801), + [sym__number_literal] = ACTIONS(2803), + [anon_sym_L_SQUOTE] = ACTIONS(2803), + [anon_sym_u_SQUOTE] = ACTIONS(2803), + [anon_sym_U_SQUOTE] = ACTIONS(2803), + [anon_sym_u8_SQUOTE] = ACTIONS(2803), + [anon_sym_SQUOTE] = ACTIONS(2803), + [anon_sym_L_DQUOTE] = ACTIONS(2803), + [anon_sym_u_DQUOTE] = ACTIONS(2803), + [anon_sym_U_DQUOTE] = ACTIONS(2803), + [anon_sym_u8_DQUOTE] = ACTIONS(2803), + [anon_sym_DQUOTE] = ACTIONS(2803), + [sym_true] = ACTIONS(2801), + [sym_false] = ACTIONS(2801), + [anon_sym_NULL] = ACTIONS(2801), + [anon_sym_nullptr] = ACTIONS(2801), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2803), + [sym_auto] = ACTIONS(2801), + [anon_sym_decltype] = ACTIONS(2801), + [sym_virtual] = ACTIONS(2801), + [anon_sym_typename] = ACTIONS(2801), + [anon_sym_template] = ACTIONS(2801), + [anon_sym_try] = ACTIONS(2801), + [anon_sym_delete] = ACTIONS(2801), + [anon_sym_throw] = ACTIONS(2801), + [anon_sym_co_return] = ACTIONS(2801), + [anon_sym_co_yield] = ACTIONS(2801), + [anon_sym_R_DQUOTE] = ACTIONS(2803), + [anon_sym_LR_DQUOTE] = ACTIONS(2803), + [anon_sym_uR_DQUOTE] = ACTIONS(2803), + [anon_sym_UR_DQUOTE] = ACTIONS(2803), + [anon_sym_u8R_DQUOTE] = ACTIONS(2803), + [anon_sym_co_await] = ACTIONS(2801), + [anon_sym_new] = ACTIONS(2801), + [anon_sym_requires] = ACTIONS(2801), + [sym_this] = ACTIONS(2801), + }, + [903] = { + [sym__identifier] = ACTIONS(2703), + [anon_sym_LPAREN2] = ACTIONS(2705), + [anon_sym_BANG] = ACTIONS(2705), + [anon_sym_TILDE] = ACTIONS(2705), + [anon_sym_DASH] = ACTIONS(2703), + [anon_sym_PLUS] = ACTIONS(2703), + [anon_sym_STAR] = ACTIONS(2705), + [anon_sym_AMP] = ACTIONS(2705), + [anon_sym_SEMI] = ACTIONS(2705), + [anon_sym___extension__] = ACTIONS(2703), + [anon_sym_typedef] = ACTIONS(2703), + [anon_sym_extern] = ACTIONS(2703), + [anon_sym___attribute__] = ACTIONS(2703), + [anon_sym_COLON_COLON] = ACTIONS(2705), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2705), + [anon_sym___declspec] = ACTIONS(2703), + [anon_sym_LBRACE] = ACTIONS(2705), + [anon_sym_signed] = ACTIONS(2703), + [anon_sym_unsigned] = ACTIONS(2703), + [anon_sym_long] = ACTIONS(2703), + [anon_sym_short] = ACTIONS(2703), + [anon_sym_LBRACK] = ACTIONS(2703), + [anon_sym_static] = ACTIONS(2703), + [anon_sym_register] = ACTIONS(2703), + [anon_sym_inline] = ACTIONS(2703), + [anon_sym___inline] = ACTIONS(2703), + [anon_sym___inline__] = ACTIONS(2703), + [anon_sym___forceinline] = ACTIONS(2703), + [anon_sym_thread_local] = ACTIONS(2703), + [anon_sym___thread] = ACTIONS(2703), + [anon_sym_const] = ACTIONS(2703), + [anon_sym_constexpr] = ACTIONS(2703), + [anon_sym_volatile] = ACTIONS(2703), + [anon_sym_restrict] = ACTIONS(2703), + [anon_sym___restrict__] = ACTIONS(2703), + [anon_sym__Atomic] = ACTIONS(2703), + [anon_sym__Noreturn] = ACTIONS(2703), + [anon_sym_noreturn] = ACTIONS(2703), + [anon_sym_mutable] = ACTIONS(2703), + [anon_sym_constinit] = ACTIONS(2703), + [anon_sym_consteval] = ACTIONS(2703), + [anon_sym_alignas] = ACTIONS(2703), + [anon_sym__Alignas] = ACTIONS(2703), + [sym_primitive_type] = ACTIONS(2703), + [anon_sym_enum] = ACTIONS(2703), + [anon_sym_class] = ACTIONS(2703), + [anon_sym_struct] = ACTIONS(2703), + [anon_sym_union] = ACTIONS(2703), + [anon_sym_if] = ACTIONS(2703), + [anon_sym_else] = ACTIONS(2703), + [anon_sym_switch] = ACTIONS(2703), + [anon_sym_while] = ACTIONS(2703), + [anon_sym_do] = ACTIONS(2703), + [anon_sym_for] = ACTIONS(2703), + [anon_sym_return] = ACTIONS(2703), + [anon_sym_break] = ACTIONS(2703), + [anon_sym_continue] = ACTIONS(2703), + [anon_sym_goto] = ACTIONS(2703), + [anon_sym___try] = ACTIONS(2703), + [anon_sym___leave] = ACTIONS(2703), + [anon_sym_not] = ACTIONS(2703), + [anon_sym_compl] = ACTIONS(2703), + [anon_sym_DASH_DASH] = ACTIONS(2705), + [anon_sym_PLUS_PLUS] = ACTIONS(2705), + [anon_sym_sizeof] = ACTIONS(2703), + [anon_sym___alignof__] = ACTIONS(2703), + [anon_sym___alignof] = ACTIONS(2703), + [anon_sym__alignof] = ACTIONS(2703), + [anon_sym_alignof] = ACTIONS(2703), + [anon_sym__Alignof] = ACTIONS(2703), + [anon_sym_offsetof] = ACTIONS(2703), + [anon_sym__Generic] = ACTIONS(2703), + [anon_sym_asm] = ACTIONS(2703), + [anon_sym___asm__] = ACTIONS(2703), + [sym__number_literal] = ACTIONS(2705), + [anon_sym_L_SQUOTE] = ACTIONS(2705), + [anon_sym_u_SQUOTE] = ACTIONS(2705), + [anon_sym_U_SQUOTE] = ACTIONS(2705), + [anon_sym_u8_SQUOTE] = ACTIONS(2705), + [anon_sym_SQUOTE] = ACTIONS(2705), + [anon_sym_L_DQUOTE] = ACTIONS(2705), + [anon_sym_u_DQUOTE] = ACTIONS(2705), + [anon_sym_U_DQUOTE] = ACTIONS(2705), + [anon_sym_u8_DQUOTE] = ACTIONS(2705), + [anon_sym_DQUOTE] = ACTIONS(2705), + [sym_true] = ACTIONS(2703), + [sym_false] = ACTIONS(2703), + [anon_sym_NULL] = ACTIONS(2703), + [anon_sym_nullptr] = ACTIONS(2703), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2705), + [sym_auto] = ACTIONS(2703), + [anon_sym_decltype] = ACTIONS(2703), + [sym_virtual] = ACTIONS(2703), + [anon_sym_typename] = ACTIONS(2703), + [anon_sym_template] = ACTIONS(2703), + [anon_sym_try] = ACTIONS(2703), + [anon_sym_delete] = ACTIONS(2703), + [anon_sym_throw] = ACTIONS(2703), + [anon_sym_co_return] = ACTIONS(2703), + [anon_sym_co_yield] = ACTIONS(2703), + [anon_sym_R_DQUOTE] = ACTIONS(2705), + [anon_sym_LR_DQUOTE] = ACTIONS(2705), + [anon_sym_uR_DQUOTE] = ACTIONS(2705), + [anon_sym_UR_DQUOTE] = ACTIONS(2705), + [anon_sym_u8R_DQUOTE] = ACTIONS(2705), + [anon_sym_co_await] = ACTIONS(2703), + [anon_sym_new] = ACTIONS(2703), + [anon_sym_requires] = ACTIONS(2703), + [sym_this] = ACTIONS(2703), + }, + [904] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_RBRACE] = ACTIONS(4055), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [905] = { + [sym__identifier] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_BANG] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_DASH] = ACTIONS(2755), + [anon_sym_PLUS] = ACTIONS(2755), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2757), + [anon_sym_SEMI] = ACTIONS(2757), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym_LBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [anon_sym_if] = ACTIONS(2755), + [anon_sym_else] = ACTIONS(2755), + [anon_sym_switch] = ACTIONS(2755), + [anon_sym_while] = ACTIONS(2755), + [anon_sym_do] = ACTIONS(2755), + [anon_sym_for] = ACTIONS(2755), + [anon_sym_return] = ACTIONS(2755), + [anon_sym_break] = ACTIONS(2755), + [anon_sym_continue] = ACTIONS(2755), + [anon_sym_goto] = ACTIONS(2755), + [anon_sym___try] = ACTIONS(2755), + [anon_sym___leave] = ACTIONS(2755), + [anon_sym_not] = ACTIONS(2755), + [anon_sym_compl] = ACTIONS(2755), + [anon_sym_DASH_DASH] = ACTIONS(2757), + [anon_sym_PLUS_PLUS] = ACTIONS(2757), + [anon_sym_sizeof] = ACTIONS(2755), + [anon_sym___alignof__] = ACTIONS(2755), + [anon_sym___alignof] = ACTIONS(2755), + [anon_sym__alignof] = ACTIONS(2755), + [anon_sym_alignof] = ACTIONS(2755), + [anon_sym__Alignof] = ACTIONS(2755), + [anon_sym_offsetof] = ACTIONS(2755), + [anon_sym__Generic] = ACTIONS(2755), + [anon_sym_asm] = ACTIONS(2755), + [anon_sym___asm__] = ACTIONS(2755), + [sym__number_literal] = ACTIONS(2757), + [anon_sym_L_SQUOTE] = ACTIONS(2757), + [anon_sym_u_SQUOTE] = ACTIONS(2757), + [anon_sym_U_SQUOTE] = ACTIONS(2757), + [anon_sym_u8_SQUOTE] = ACTIONS(2757), + [anon_sym_SQUOTE] = ACTIONS(2757), + [anon_sym_L_DQUOTE] = ACTIONS(2757), + [anon_sym_u_DQUOTE] = ACTIONS(2757), + [anon_sym_U_DQUOTE] = ACTIONS(2757), + [anon_sym_u8_DQUOTE] = ACTIONS(2757), + [anon_sym_DQUOTE] = ACTIONS(2757), + [sym_true] = ACTIONS(2755), + [sym_false] = ACTIONS(2755), + [anon_sym_NULL] = ACTIONS(2755), + [anon_sym_nullptr] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_try] = ACTIONS(2755), + [anon_sym_delete] = ACTIONS(2755), + [anon_sym_throw] = ACTIONS(2755), + [anon_sym_co_return] = ACTIONS(2755), + [anon_sym_co_yield] = ACTIONS(2755), + [anon_sym_R_DQUOTE] = ACTIONS(2757), + [anon_sym_LR_DQUOTE] = ACTIONS(2757), + [anon_sym_uR_DQUOTE] = ACTIONS(2757), + [anon_sym_UR_DQUOTE] = ACTIONS(2757), + [anon_sym_u8R_DQUOTE] = ACTIONS(2757), + [anon_sym_co_await] = ACTIONS(2755), + [anon_sym_new] = ACTIONS(2755), + [anon_sym_requires] = ACTIONS(2755), + [sym_this] = ACTIONS(2755), + }, + [906] = { + [sym__identifier] = ACTIONS(2813), + [anon_sym_LPAREN2] = ACTIONS(2815), + [anon_sym_BANG] = ACTIONS(2815), + [anon_sym_TILDE] = ACTIONS(2815), + [anon_sym_DASH] = ACTIONS(2813), + [anon_sym_PLUS] = ACTIONS(2813), + [anon_sym_STAR] = ACTIONS(2815), + [anon_sym_AMP] = ACTIONS(2815), + [anon_sym_SEMI] = ACTIONS(2815), + [anon_sym___extension__] = ACTIONS(2813), + [anon_sym_typedef] = ACTIONS(2813), + [anon_sym_extern] = ACTIONS(2813), + [anon_sym___attribute__] = ACTIONS(2813), + [anon_sym_COLON_COLON] = ACTIONS(2815), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2815), + [anon_sym___declspec] = ACTIONS(2813), + [anon_sym_LBRACE] = ACTIONS(2815), + [anon_sym_signed] = ACTIONS(2813), + [anon_sym_unsigned] = ACTIONS(2813), + [anon_sym_long] = ACTIONS(2813), + [anon_sym_short] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(2813), + [anon_sym_static] = ACTIONS(2813), + [anon_sym_register] = ACTIONS(2813), + [anon_sym_inline] = ACTIONS(2813), + [anon_sym___inline] = ACTIONS(2813), + [anon_sym___inline__] = ACTIONS(2813), + [anon_sym___forceinline] = ACTIONS(2813), + [anon_sym_thread_local] = ACTIONS(2813), + [anon_sym___thread] = ACTIONS(2813), + [anon_sym_const] = ACTIONS(2813), + [anon_sym_constexpr] = ACTIONS(2813), + [anon_sym_volatile] = ACTIONS(2813), + [anon_sym_restrict] = ACTIONS(2813), + [anon_sym___restrict__] = ACTIONS(2813), + [anon_sym__Atomic] = ACTIONS(2813), + [anon_sym__Noreturn] = ACTIONS(2813), + [anon_sym_noreturn] = ACTIONS(2813), + [anon_sym_mutable] = ACTIONS(2813), + [anon_sym_constinit] = ACTIONS(2813), + [anon_sym_consteval] = ACTIONS(2813), + [anon_sym_alignas] = ACTIONS(2813), + [anon_sym__Alignas] = ACTIONS(2813), + [sym_primitive_type] = ACTIONS(2813), + [anon_sym_enum] = ACTIONS(2813), + [anon_sym_class] = ACTIONS(2813), + [anon_sym_struct] = ACTIONS(2813), + [anon_sym_union] = ACTIONS(2813), + [anon_sym_if] = ACTIONS(2813), + [anon_sym_else] = ACTIONS(2813), + [anon_sym_switch] = ACTIONS(2813), + [anon_sym_while] = ACTIONS(2813), + [anon_sym_do] = ACTIONS(2813), + [anon_sym_for] = ACTIONS(2813), + [anon_sym_return] = ACTIONS(2813), + [anon_sym_break] = ACTIONS(2813), + [anon_sym_continue] = ACTIONS(2813), + [anon_sym_goto] = ACTIONS(2813), + [anon_sym___try] = ACTIONS(2813), + [anon_sym___leave] = ACTIONS(2813), + [anon_sym_not] = ACTIONS(2813), + [anon_sym_compl] = ACTIONS(2813), + [anon_sym_DASH_DASH] = ACTIONS(2815), + [anon_sym_PLUS_PLUS] = ACTIONS(2815), + [anon_sym_sizeof] = ACTIONS(2813), + [anon_sym___alignof__] = ACTIONS(2813), + [anon_sym___alignof] = ACTIONS(2813), + [anon_sym__alignof] = ACTIONS(2813), + [anon_sym_alignof] = ACTIONS(2813), + [anon_sym__Alignof] = ACTIONS(2813), + [anon_sym_offsetof] = ACTIONS(2813), + [anon_sym__Generic] = ACTIONS(2813), + [anon_sym_asm] = ACTIONS(2813), + [anon_sym___asm__] = ACTIONS(2813), + [sym__number_literal] = ACTIONS(2815), + [anon_sym_L_SQUOTE] = ACTIONS(2815), + [anon_sym_u_SQUOTE] = ACTIONS(2815), + [anon_sym_U_SQUOTE] = ACTIONS(2815), + [anon_sym_u8_SQUOTE] = ACTIONS(2815), + [anon_sym_SQUOTE] = ACTIONS(2815), + [anon_sym_L_DQUOTE] = ACTIONS(2815), + [anon_sym_u_DQUOTE] = ACTIONS(2815), + [anon_sym_U_DQUOTE] = ACTIONS(2815), + [anon_sym_u8_DQUOTE] = ACTIONS(2815), + [anon_sym_DQUOTE] = ACTIONS(2815), + [sym_true] = ACTIONS(2813), + [sym_false] = ACTIONS(2813), + [anon_sym_NULL] = ACTIONS(2813), + [anon_sym_nullptr] = ACTIONS(2813), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2815), + [sym_auto] = ACTIONS(2813), + [anon_sym_decltype] = ACTIONS(2813), + [sym_virtual] = ACTIONS(2813), + [anon_sym_typename] = ACTIONS(2813), + [anon_sym_template] = ACTIONS(2813), + [anon_sym_try] = ACTIONS(2813), + [anon_sym_delete] = ACTIONS(2813), + [anon_sym_throw] = ACTIONS(2813), + [anon_sym_co_return] = ACTIONS(2813), + [anon_sym_co_yield] = ACTIONS(2813), + [anon_sym_R_DQUOTE] = ACTIONS(2815), + [anon_sym_LR_DQUOTE] = ACTIONS(2815), + [anon_sym_uR_DQUOTE] = ACTIONS(2815), + [anon_sym_UR_DQUOTE] = ACTIONS(2815), + [anon_sym_u8R_DQUOTE] = ACTIONS(2815), + [anon_sym_co_await] = ACTIONS(2813), + [anon_sym_new] = ACTIONS(2813), + [anon_sym_requires] = ACTIONS(2813), + [sym_this] = ACTIONS(2813), + }, + [907] = { + [sym__identifier] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_BANG] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_DASH] = ACTIONS(2767), + [anon_sym_PLUS] = ACTIONS(2767), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2769), + [anon_sym_SEMI] = ACTIONS(2769), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym_LBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [anon_sym_if] = ACTIONS(2767), + [anon_sym_else] = ACTIONS(2767), + [anon_sym_switch] = ACTIONS(2767), + [anon_sym_while] = ACTIONS(2767), + [anon_sym_do] = ACTIONS(2767), + [anon_sym_for] = ACTIONS(2767), + [anon_sym_return] = ACTIONS(2767), + [anon_sym_break] = ACTIONS(2767), + [anon_sym_continue] = ACTIONS(2767), + [anon_sym_goto] = ACTIONS(2767), + [anon_sym___try] = ACTIONS(2767), + [anon_sym___leave] = ACTIONS(2767), + [anon_sym_not] = ACTIONS(2767), + [anon_sym_compl] = ACTIONS(2767), + [anon_sym_DASH_DASH] = ACTIONS(2769), + [anon_sym_PLUS_PLUS] = ACTIONS(2769), + [anon_sym_sizeof] = ACTIONS(2767), + [anon_sym___alignof__] = ACTIONS(2767), + [anon_sym___alignof] = ACTIONS(2767), + [anon_sym__alignof] = ACTIONS(2767), + [anon_sym_alignof] = ACTIONS(2767), + [anon_sym__Alignof] = ACTIONS(2767), + [anon_sym_offsetof] = ACTIONS(2767), + [anon_sym__Generic] = ACTIONS(2767), + [anon_sym_asm] = ACTIONS(2767), + [anon_sym___asm__] = ACTIONS(2767), + [sym__number_literal] = ACTIONS(2769), + [anon_sym_L_SQUOTE] = ACTIONS(2769), + [anon_sym_u_SQUOTE] = ACTIONS(2769), + [anon_sym_U_SQUOTE] = ACTIONS(2769), + [anon_sym_u8_SQUOTE] = ACTIONS(2769), + [anon_sym_SQUOTE] = ACTIONS(2769), + [anon_sym_L_DQUOTE] = ACTIONS(2769), + [anon_sym_u_DQUOTE] = ACTIONS(2769), + [anon_sym_U_DQUOTE] = ACTIONS(2769), + [anon_sym_u8_DQUOTE] = ACTIONS(2769), + [anon_sym_DQUOTE] = ACTIONS(2769), + [sym_true] = ACTIONS(2767), + [sym_false] = ACTIONS(2767), + [anon_sym_NULL] = ACTIONS(2767), + [anon_sym_nullptr] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_try] = ACTIONS(2767), + [anon_sym_delete] = ACTIONS(2767), + [anon_sym_throw] = ACTIONS(2767), + [anon_sym_co_return] = ACTIONS(2767), + [anon_sym_co_yield] = ACTIONS(2767), + [anon_sym_R_DQUOTE] = ACTIONS(2769), + [anon_sym_LR_DQUOTE] = ACTIONS(2769), + [anon_sym_uR_DQUOTE] = ACTIONS(2769), + [anon_sym_UR_DQUOTE] = ACTIONS(2769), + [anon_sym_u8R_DQUOTE] = ACTIONS(2769), + [anon_sym_co_await] = ACTIONS(2767), + [anon_sym_new] = ACTIONS(2767), + [anon_sym_requires] = ACTIONS(2767), + [sym_this] = ACTIONS(2767), + }, + [908] = { + [sym_expression] = STATE(4474), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7552), + [sym_initializer_pair] = STATE(7552), + [sym_subscript_designator] = STATE(6610), + [sym_subscript_range_designator] = STATE(6610), + [sym_field_designator] = STATE(6610), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1806), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [aux_sym_initializer_pair_repeat1] = STATE(6610), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(3838), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [anon_sym_DOT] = ACTIONS(215), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [909] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3807), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [910] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3827), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [911] = { + [sym_string_literal] = STATE(2846), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2846), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(4057), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4059), + [anon_sym_SLASH_EQ] = ACTIONS(4059), + [anon_sym_PERCENT_EQ] = ACTIONS(4059), + [anon_sym_PLUS_EQ] = ACTIONS(4059), + [anon_sym_DASH_EQ] = ACTIONS(4059), + [anon_sym_LT_LT_EQ] = ACTIONS(4059), + [anon_sym_GT_GT_EQ] = ACTIONS(4059), + [anon_sym_AMP_EQ] = ACTIONS(4059), + [anon_sym_CARET_EQ] = ACTIONS(4059), + [anon_sym_PIPE_EQ] = ACTIONS(4059), + [anon_sym_and_eq] = ACTIONS(4057), + [anon_sym_or_eq] = ACTIONS(4057), + [anon_sym_xor_eq] = ACTIONS(4057), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [912] = { + [sym_string_literal] = STATE(2001), + [sym__string_literal] = STATE(2501), + [sym_template_argument_list] = STATE(1607), + [sym_raw_string_literal] = STATE(2001), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3778), + [anon_sym_COMMA] = ACTIONS(3778), + [anon_sym_RPAREN] = ACTIONS(3778), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4061), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3775), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(4064), + [anon_sym_or_eq] = ACTIONS(4064), + [anon_sym_xor_eq] = ACTIONS(4064), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4066), + [anon_sym_u_DQUOTE] = ACTIONS(4066), + [anon_sym_U_DQUOTE] = ACTIONS(4066), + [anon_sym_u8_DQUOTE] = ACTIONS(4066), + [anon_sym_DQUOTE] = ACTIONS(4066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4068), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(4070), + [anon_sym_LR_DQUOTE] = ACTIONS(4070), + [anon_sym_uR_DQUOTE] = ACTIONS(4070), + [anon_sym_UR_DQUOTE] = ACTIONS(4070), + [anon_sym_u8R_DQUOTE] = ACTIONS(4070), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [913] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3809), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [914] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3805), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [915] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(4072), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [916] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1656), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3797), + [anon_sym_or_eq] = ACTIONS(3797), + [anon_sym_xor_eq] = ACTIONS(3797), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [917] = { + [sym_string_literal] = STATE(2846), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(1657), + [sym_raw_string_literal] = STATE(2846), + [aux_sym_sized_type_specifier_repeat1] = STATE(2603), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3778), + [anon_sym_COMMA] = ACTIONS(3778), + [anon_sym_RPAREN] = ACTIONS(3778), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_TILDE] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3781), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3763), + [anon_sym_extern] = ACTIONS(3763), + [anon_sym___attribute__] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3771), + [anon_sym___declspec] = ACTIONS(3763), + [anon_sym___based] = ACTIONS(3763), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(3791), + [anon_sym_unsigned] = ACTIONS(3791), + [anon_sym_long] = ACTIONS(3791), + [anon_sym_short] = ACTIONS(3791), + [anon_sym_LBRACK] = ACTIONS(3775), + [anon_sym_static] = ACTIONS(3763), + [anon_sym_EQ] = ACTIONS(3763), + [anon_sym_register] = ACTIONS(3763), + [anon_sym_inline] = ACTIONS(3763), + [anon_sym___inline] = ACTIONS(3763), + [anon_sym___inline__] = ACTIONS(3763), + [anon_sym___forceinline] = ACTIONS(3763), + [anon_sym_thread_local] = ACTIONS(3763), + [anon_sym___thread] = ACTIONS(3763), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3763), + [anon_sym_volatile] = ACTIONS(3763), + [anon_sym_restrict] = ACTIONS(3763), + [anon_sym___restrict__] = ACTIONS(3763), + [anon_sym__Atomic] = ACTIONS(3763), + [anon_sym__Noreturn] = ACTIONS(3763), + [anon_sym_noreturn] = ACTIONS(3763), + [anon_sym_mutable] = ACTIONS(3763), + [anon_sym_constinit] = ACTIONS(3763), + [anon_sym_consteval] = ACTIONS(3763), + [anon_sym_alignas] = ACTIONS(3763), + [anon_sym__Alignas] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4059), + [anon_sym_SLASH_EQ] = ACTIONS(4059), + [anon_sym_PERCENT_EQ] = ACTIONS(4059), + [anon_sym_PLUS_EQ] = ACTIONS(4059), + [anon_sym_DASH_EQ] = ACTIONS(4059), + [anon_sym_LT_LT_EQ] = ACTIONS(4059), + [anon_sym_GT_GT_EQ] = ACTIONS(4059), + [anon_sym_AMP_EQ] = ACTIONS(4059), + [anon_sym_CARET_EQ] = ACTIONS(4059), + [anon_sym_PIPE_EQ] = ACTIONS(4059), + [anon_sym_and_eq] = ACTIONS(4057), + [anon_sym_or_eq] = ACTIONS(4057), + [anon_sym_xor_eq] = ACTIONS(4057), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + [sym_virtual] = ACTIONS(3763), + [anon_sym_template] = ACTIONS(3763), + [anon_sym_operator] = ACTIONS(3763), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [918] = { + [sym_compound_statement] = STATE(7075), + [sym_expression] = STATE(4373), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7075), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4074), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4076), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [919] = { + [sym_compound_statement] = STATE(7350), + [sym_expression] = STATE(4247), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7350), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4078), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4080), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [920] = { + [sym_compound_statement] = STATE(7084), + [sym_expression] = STATE(4338), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7084), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4082), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4084), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [921] = { + [sym_compound_statement] = STATE(7150), + [sym_expression] = STATE(4304), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7150), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4086), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4088), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [922] = { + [sym_compound_statement] = STATE(7353), + [sym_expression] = STATE(4278), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7353), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4090), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4092), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [923] = { + [sym_compound_statement] = STATE(7433), + [sym_expression] = STATE(4280), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7433), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4094), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4096), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [924] = { + [sym_compound_statement] = STATE(7142), + [sym_expression] = STATE(4244), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7142), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4098), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4100), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [925] = { + [sym_expression] = STATE(4473), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8480), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(8480), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4102), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [926] = { + [sym_expression] = STATE(3298), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8299), + [sym__unary_right_fold] = STATE(8296), + [sym__binary_fold] = STATE(8294), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [927] = { + [sym_expression] = STATE(4202), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(6720), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_default] = ACTIONS(4108), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(4112), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(4114), + [anon_sym_0] = ACTIONS(4116), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [928] = { + [sym_expression] = STATE(3304), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8259), + [sym__unary_right_fold] = STATE(8256), + [sym__binary_fold] = STATE(8255), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [929] = { + [sym_expression] = STATE(4527), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8547), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(8547), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4118), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [930] = { + [sym_expression] = STATE(4218), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(6688), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_default] = ACTIONS(4120), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(4112), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(4122), + [anon_sym_0] = ACTIONS(4124), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [931] = { + [sym_expression] = STATE(4447), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7895), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7895), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4126), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [932] = { + [sym_compound_statement] = STATE(7591), + [sym_expression] = STATE(4450), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7591), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym___extension__] = ACTIONS(4128), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [933] = { + [sym_expression] = STATE(3286), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(7934), + [sym__unary_right_fold] = STATE(7933), + [sym__binary_fold] = STATE(7932), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [934] = { + [sym_expression] = STATE(4199), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(6724), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_default] = ACTIONS(4130), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(4112), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(4132), + [anon_sym_0] = ACTIONS(4134), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [935] = { + [sym_expression] = STATE(3194), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(7880), + [sym__unary_right_fold] = STATE(7956), + [sym__binary_fold] = STATE(7998), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [936] = { + [sym_expression] = STATE(3311), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8533), + [sym__unary_right_fold] = STATE(8539), + [sym__binary_fold] = STATE(8541), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [937] = { + [sym_expression] = STATE(4435), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8266), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(8266), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4136), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [938] = { + [sym_expression] = STATE(3295), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8109), + [sym__unary_right_fold] = STATE(8102), + [sym__binary_fold] = STATE(8100), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [939] = { + [sym_expression] = STATE(4539), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8213), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(8213), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4138), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [940] = { + [sym_expression] = STATE(3219), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8146), + [sym__unary_right_fold] = STATE(8147), + [sym__binary_fold] = STATE(8149), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [941] = { + [sym_expression] = STATE(3224), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(7911), + [sym__unary_right_fold] = STATE(7898), + [sym__binary_fold] = STATE(7890), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [942] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [943] = { + [sym_expression] = STATE(3265), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym__unary_left_fold] = STATE(8557), + [sym__unary_right_fold] = STATE(8534), + [sym__binary_fold] = STATE(8532), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1723), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [944] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4142), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [945] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4146), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [946] = { + [sym_expression] = STATE(4339), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(7070), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4148), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [947] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4150), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [948] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4152), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [949] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4155), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [950] = { + [sym_expression] = STATE(3698), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [951] = { + [sym_expression] = STATE(3327), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [952] = { + [sym_expression] = STATE(3215), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [953] = { + [sym_expression] = STATE(3213), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [954] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4165), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [955] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4167), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [956] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4170), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [957] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4173), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [958] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4175), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [959] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4177), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [960] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4179), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [961] = { + [sym_expression] = STATE(3044), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [962] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4181), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [963] = { + [sym_expression] = STATE(4427), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [964] = { + [sym_expression] = STATE(3174), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [965] = { + [sym_expression] = STATE(3010), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [966] = { + [sym_expression] = STATE(4432), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [967] = { + [sym_expression] = STATE(4484), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [968] = { + [sym_expression] = STATE(4312), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1897), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4185), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [969] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4187), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [970] = { + [sym_expression] = STATE(4302), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [971] = { + [sym_expression] = STATE(4476), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [972] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4189), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [973] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [974] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4191), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [975] = { + [sym_expression] = STATE(2692), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [976] = { + [sym_expression] = STATE(4285), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(7244), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4197), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [977] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4199), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [978] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4201), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [979] = { + [sym_expression] = STATE(4397), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [980] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4204), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [981] = { + [sym_expression] = STATE(4287), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [982] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4206), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [983] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4209), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [984] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4212), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [985] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4214), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [986] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1897), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4185), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [987] = { + [sym_expression] = STATE(2690), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [988] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4216), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [989] = { + [sym_expression] = STATE(4480), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [990] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4219), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [991] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4221), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [992] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4223), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [993] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4226), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [994] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4185), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [995] = { + [sym_expression] = STATE(3050), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [996] = { + [sym_expression] = STATE(3264), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [997] = { + [sym_expression] = STATE(4405), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [998] = { + [sym_expression] = STATE(4117), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [999] = { + [sym_expression] = STATE(4551), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1000] = { + [sym_expression] = STATE(4111), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1001] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4236), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1002] = { + [sym_expression] = STATE(3268), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1003] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4239), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1004] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4242), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1005] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4244), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1006] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4246), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1007] = { + [sym_expression] = STATE(4289), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(7343), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4249), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1008] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4251), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1009] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4253), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1010] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4255), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1011] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4257), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1012] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4259), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1013] = { + [sym_expression] = STATE(4268), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1014] = { + [sym_expression] = STATE(3681), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1015] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4261), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1016] = { + [sym_expression] = STATE(4312), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4185), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1017] = { + [sym_expression] = STATE(3048), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1018] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4263), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1019] = { + [sym_expression] = STATE(2945), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1020] = { + [sym_expression] = STATE(3069), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1021] = { + [sym_expression] = STATE(4399), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4157), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4157), + [anon_sym_AMP_AMP] = ACTIONS(4157), + [anon_sym_AMP] = ACTIONS(4159), + [anon_sym_LT] = ACTIONS(4157), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(4157), + [anon_sym_LBRACK] = ACTIONS(4157), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1022] = { + [sym_expression] = STATE(4380), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_lambda_default_capture] = STATE(7801), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(4140), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4265), + [anon_sym_EQ] = ACTIONS(4144), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1023] = { + [sym_expression] = STATE(3254), + [sym__string] = STATE(2475), + [sym_comma_expression] = STATE(7943), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym__assignment_expression_lhs] = STATE(7929), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1024] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1025] = { + [sym_expression] = STATE(4588), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8045), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4275), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1026] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1027] = { + [sym_expression] = STATE(4082), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1028] = { + [sym_expression] = STATE(4416), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7819), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4281), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1029] = { + [sym_expression] = STATE(4087), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1030] = { + [sym_expression] = STATE(4549), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8242), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4283), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1031] = { + [sym_expression] = STATE(4566), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7958), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4285), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1032] = { + [sym_expression] = STATE(4580), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8281), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4287), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1033] = { + [sym_expression] = STATE(4531), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8285), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4289), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1034] = { + [sym_expression] = STATE(4545), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8156), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4291), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1035] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1865), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [anon_sym_DASH_GT_STAR] = ACTIONS(1867), + }, + [1036] = { + [sym_expression] = STATE(4396), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7723), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1037] = { + [sym_expression] = STATE(4730), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7822), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1038] = { + [sym_expression] = STATE(4547), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7824), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4293), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1039] = { + [sym_expression] = STATE(4523), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8077), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4295), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1040] = { + [sym_expression] = STATE(4464), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8419), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4297), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1041] = { + [sym_expression] = STATE(3617), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_initializer_list] = STATE(3852), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACE] = ACTIONS(2454), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1042] = { + [sym_expression] = STATE(3293), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_initializer_list] = STATE(3722), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACE] = ACTIONS(2414), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1043] = { + [sym_expression] = STATE(4252), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1044] = { + [sym_expression] = STATE(4418), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_initializer_list] = STATE(4801), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACE] = ACTIONS(3367), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1045] = { + [sym_expression] = STATE(4521), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8083), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4301), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1046] = { + [sym_expression] = STATE(2769), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1047] = { + [sym_expression] = STATE(3591), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_initializer_list] = STATE(3912), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACE] = ACTIONS(2454), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1048] = { + [sym_expression] = STATE(4519), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7820), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4305), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1049] = { + [sym_expression] = STATE(4313), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1050] = { + [sym_expression] = STATE(4572), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8127), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4307), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1051] = { + [sym_expression] = STATE(4436), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_initializer_list] = STATE(4749), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACE] = ACTIONS(3367), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1052] = { + [sym_expression] = STATE(4575), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(7656), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1053] = { + [sym_expression] = STATE(4576), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7723), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1054] = { + [sym_expression] = STATE(4528), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8475), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4309), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1055] = { + [sym_expression] = STATE(4581), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8346), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4311), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1056] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1057] = { + [sym_expression] = STATE(4431), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7963), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4313), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1058] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1059] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1060] = { + [sym_expression] = STATE(4457), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1061] = { + [sym_expression] = STATE(4668), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(7966), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1062] = { + [sym_expression] = STATE(4448), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1063] = { + [sym_expression] = STATE(4556), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(8379), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4315), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1064] = { + [sym_expression] = STATE(4472), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1065] = { + [sym_expression] = STATE(4722), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(8318), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1066] = { + [sym_expression] = STATE(4371), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(3913), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1067] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_COMMA] = ACTIONS(4317), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4317), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1068] = { + [sym_expression] = STATE(3273), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1069] = { + [sym_expression] = STATE(4548), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7881), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4321), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1070] = { + [sym_expression] = STATE(4560), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7924), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4323), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1071] = { + [sym_expression] = STATE(3072), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_initializer_list] = STATE(3463), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACE] = ACTIONS(2238), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1072] = { + [sym_expression] = STATE(4515), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7897), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4325), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1073] = { + [sym_expression] = STATE(4481), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7769), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1074] = { + [sym_expression] = STATE(4478), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_initializer_list] = STATE(7549), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1075] = { + [sym_expression] = STATE(2666), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_initializer_list] = STATE(2429), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1076] = { + [sym_expression] = STATE(4345), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_initializer_list] = STATE(7179), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1077] = { + [sym_expression] = STATE(4164), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_initializer_list] = STATE(3911), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACE] = ACTIONS(3200), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1078] = { + [sym_expression] = STATE(4243), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7382), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4329), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1079] = { + [sym_expression] = STATE(4555), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7953), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_COLON] = ACTIONS(4332), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1080] = { + [sym_expression] = STATE(3097), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4334), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1081] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4337), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1082] = { + [sym_expression] = STATE(4180), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4341), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1083] = { + [sym_expression] = STATE(4713), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4343), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1084] = { + [sym_expression] = STATE(4607), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4345), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1085] = { + [sym_expression] = STATE(4609), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4347), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1086] = { + [sym_expression] = STATE(4593), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4349), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1087] = { + [sym_expression] = STATE(4699), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4351), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1088] = { + [sym_expression] = STATE(4621), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4353), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1089] = { + [sym_expression] = STATE(4714), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4355), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1090] = { + [sym_expression] = STATE(4664), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4357), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1091] = { + [sym_expression] = STATE(4270), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_SEMI] = ACTIONS(4359), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(4361), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1092] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4363), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1093] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4365), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1094] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4367), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1095] = { + [sym_expression] = STATE(4601), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4369), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1096] = { + [sym_expression] = STATE(4180), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4371), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1097] = { + [sym_expression] = STATE(4445), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7382), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1098] = { + [sym_expression] = STATE(4595), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4373), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1099] = { + [sym_expression] = STATE(4514), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4375), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1100] = { + [sym_expression] = STATE(4270), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_SEMI] = ACTIONS(4377), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(4361), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1101] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4379), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1102] = { + [sym_expression] = STATE(4621), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4381), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1103] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4383), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1104] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4385), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1105] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_RBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + }, + [1106] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4387), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1107] = { + [sym_expression] = STATE(4243), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7382), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1108] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4389), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1109] = { + [sym_expression] = STATE(4660), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_RPAREN] = ACTIONS(4391), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1110] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4393), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1111] = { + [sym_expression] = STATE(4600), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [sym_auto] = ACTIONS(4395), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1112] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4397), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1113] = { + [sym_expression] = STATE(3098), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4399), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1114] = { + [sym_expression] = STATE(3098), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4402), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1115] = { + [sym_expression] = STATE(3097), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4405), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1116] = { + [sym_expression] = STATE(3097), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4408), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1117] = { + [sym_expression] = STATE(3096), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4411), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1118] = { + [sym_expression] = STATE(3095), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4414), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1119] = { + [sym_expression] = STATE(3092), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4417), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1120] = { + [sym_expression] = STATE(3091), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4420), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1121] = { + [sym_expression] = STATE(3090), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4423), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1122] = { + [sym_expression] = STATE(3088), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4426), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1123] = { + [sym_expression] = STATE(3088), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4429), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1124] = { + [sym_expression] = STATE(3087), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4432), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1125] = { + [sym_expression] = STATE(3087), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4435), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1126] = { + [sym_expression] = STATE(3087), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4438), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1127] = { + [sym_expression] = STATE(3087), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4441), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1128] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4444), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1129] = { + [sym_expression] = STATE(3086), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4446), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1130] = { + [sym_expression] = STATE(3086), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4449), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1131] = { + [sym_expression] = STATE(3096), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4452), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1132] = { + [sym_expression] = STATE(3095), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4455), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1133] = { + [sym_expression] = STATE(3092), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4458), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1134] = { + [sym_expression] = STATE(3091), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4461), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1135] = { + [sym_expression] = STATE(3090), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4464), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1136] = { + [sym_expression] = STATE(2784), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4467), + [anon_sym_LPAREN2] = ACTIONS(4469), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1137] = { + [sym_expression] = STATE(3088), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4471), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1138] = { + [sym_expression] = STATE(4623), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4474), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1139] = { + [sym_expression] = STATE(4615), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4476), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1140] = { + [sym_expression] = STATE(4180), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4478), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1141] = { + [sym_expression] = STATE(2671), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4467), + [anon_sym_LPAREN2] = ACTIONS(4480), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1142] = { + [sym_expression] = STATE(4467), + [sym__string] = STATE(3826), + [sym_comma_expression] = STATE(7382), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1143] = { + [sym_expression] = STATE(2784), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4467), + [anon_sym_LPAREN2] = ACTIONS(4482), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1144] = { + [sym_expression] = STATE(4112), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4484), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1145] = { + [sym_expression] = STATE(4180), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4339), + [anon_sym_LPAREN2] = ACTIONS(4486), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1146] = { + [sym_expression] = STATE(3191), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4488), + [anon_sym_LPAREN2] = ACTIONS(4490), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1147] = { + [sym_expression] = STATE(4417), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4492), + [anon_sym_LPAREN2] = ACTIONS(4494), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1148] = { + [sym_expression] = STATE(3743), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4496), + [anon_sym_LPAREN2] = ACTIONS(4498), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1149] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4500), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1150] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4502), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1151] = { + [sym_expression] = STATE(3123), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4504), + [anon_sym_LPAREN2] = ACTIONS(4506), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1152] = { + [sym_expression] = STATE(4680), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4508), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1153] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4510), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1154] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4512), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1155] = { + [sym_expression] = STATE(4270), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_SEMI] = ACTIONS(4514), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(4361), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1156] = { + [sym_expression] = STATE(3566), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4471), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1157] = { + [sym_expression] = STATE(3565), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4464), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1158] = { + [sym_expression] = STATE(3564), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4461), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1159] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4516), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1160] = { + [sym_expression] = STATE(3646), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4458), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1161] = { + [sym_expression] = STATE(3724), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4455), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1162] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4518), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1163] = { + [sym_expression] = STATE(3667), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4452), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1164] = { + [sym_expression] = STATE(3584), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4449), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1165] = { + [sym_expression] = STATE(4656), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4520), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1166] = { + [sym_expression] = STATE(3584), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4446), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1167] = { + [sym_expression] = STATE(3580), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4441), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1168] = { + [sym_expression] = STATE(3580), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4438), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1169] = { + [sym_expression] = STATE(4700), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4522), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1170] = { + [sym_expression] = STATE(3580), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4435), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1171] = { + [sym_expression] = STATE(3580), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4432), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1172] = { + [sym_expression] = STATE(4715), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4524), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1173] = { + [sym_expression] = STATE(3566), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4429), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1174] = { + [sym_expression] = STATE(3566), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4426), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1175] = { + [sym_expression] = STATE(3565), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4423), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1176] = { + [sym_expression] = STATE(3564), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4420), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1177] = { + [sym_expression] = STATE(3646), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4417), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1178] = { + [sym_expression] = STATE(3724), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4414), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1179] = { + [sym_expression] = STATE(3667), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4411), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1180] = { + [sym_expression] = STATE(3323), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4467), + [anon_sym_LPAREN2] = ACTIONS(4526), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1181] = { + [sym_expression] = STATE(3671), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4408), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1182] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4528), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1183] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [anon_sym_RBRACK] = ACTIONS(4530), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1184] = { + [sym_expression] = STATE(3671), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4334), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1185] = { + [sym_expression] = STATE(4686), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4532), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1186] = { + [sym_expression] = STATE(3671), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4405), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1187] = { + [sym_expression] = STATE(4641), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_SEMI] = ACTIONS(4534), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1188] = { + [sym_expression] = STATE(2784), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4467), + [anon_sym_LPAREN2] = ACTIONS(4536), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1189] = { + [sym_expression] = STATE(3673), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4402), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1190] = { + [sym_expression] = STATE(3673), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4399), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1191] = { + [sym_expression] = STATE(4604), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1192] = { + [sym_expression] = STATE(3287), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1193] = { + [sym_expression] = STATE(3566), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1194] = { + [sym_expression] = STATE(3580), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1195] = { + [sym_expression] = STATE(4671), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1196] = { + [sym_expression] = STATE(3584), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1197] = { + [sym_expression] = STATE(4658), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1198] = { + [sym_expression] = STATE(2668), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(4538), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1199] = { + [sym_expression] = STATE(2670), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1200] = { + [sym_expression] = STATE(2669), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(4540), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1201] = { + [sym_expression] = STATE(4608), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1202] = { + [sym_expression] = STATE(2683), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1203] = { + [sym_expression] = STATE(3119), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1204] = { + [sym_expression] = STATE(3120), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(4542), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1205] = { + [sym_expression] = STATE(4532), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1206] = { + [sym_expression] = STATE(4403), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1207] = { + [sym_expression] = STATE(2691), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1208] = { + [sym_expression] = STATE(4517), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(4544), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1209] = { + [sym_expression] = STATE(2693), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1210] = { + [sym_expression] = STATE(2810), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1211] = { + [sym_expression] = STATE(4587), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1212] = { + [sym_expression] = STATE(2790), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1213] = { + [sym_expression] = STATE(3100), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(4546), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1214] = { + [sym_expression] = STATE(3564), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1215] = { + [sym_expression] = STATE(3646), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1216] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1217] = { + [sym_expression] = STATE(4611), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1218] = { + [sym_expression] = STATE(4190), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1219] = { + [sym_expression] = STATE(4190), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1867), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4548), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1220] = { + [sym_expression] = STATE(4437), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1221] = { + [sym_expression] = STATE(4639), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1222] = { + [sym_expression] = STATE(2678), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1223] = { + [sym_expression] = STATE(3724), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1224] = { + [sym_expression] = STATE(3667), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1225] = { + [sym_expression] = STATE(3241), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1226] = { + [sym_expression] = STATE(3245), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1227] = { + [sym_expression] = STATE(3246), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1228] = { + [sym_expression] = STATE(3247), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1229] = { + [sym_expression] = STATE(3248), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1230] = { + [sym_expression] = STATE(3250), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1231] = { + [sym_expression] = STATE(3252), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1232] = { + [sym_expression] = STATE(4565), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1233] = { + [sym_expression] = STATE(3253), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1234] = { + [sym_expression] = STATE(4564), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1235] = { + [sym_expression] = STATE(3127), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1236] = { + [sym_expression] = STATE(3175), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1237] = { + [sym_expression] = STATE(3256), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1238] = { + [sym_expression] = STATE(3330), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1239] = { + [sym_expression] = STATE(4279), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1240] = { + [sym_expression] = STATE(3324), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1241] = { + [sym_expression] = STATE(3671), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1242] = { + [sym_expression] = STATE(4438), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1243] = { + [sym_expression] = STATE(3673), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1244] = { + [sym_expression] = STATE(2982), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1245] = { + [sym_expression] = STATE(4563), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(4550), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1246] = { + [sym_expression] = STATE(4694), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1247] = { + [sym_expression] = STATE(4518), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1248] = { + [sym_expression] = STATE(2655), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1249] = { + [sym_expression] = STATE(4177), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1250] = { + [sym_expression] = STATE(4497), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1251] = { + [sym_expression] = STATE(4735), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1252] = { + [sym_expression] = STATE(3063), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1253] = { + [sym_expression] = STATE(2851), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1254] = { + [sym_expression] = STATE(3060), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1255] = { + [sym_expression] = STATE(3124), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1256] = { + [sym_expression] = STATE(3059), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1257] = { + [sym_expression] = STATE(3058), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1258] = { + [sym_expression] = STATE(3057), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1259] = { + [sym_expression] = STATE(3056), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1260] = { + [sym_expression] = STATE(3055), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1261] = { + [sym_expression] = STATE(3054), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1262] = { + [sym_expression] = STATE(4446), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1263] = { + [sym_expression] = STATE(3128), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1756), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(1721), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2564), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1264] = { + [sym_expression] = STATE(3128), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1265] = { + [sym_expression] = STATE(3053), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1266] = { + [sym_expression] = STATE(4370), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1267] = { + [sym_expression] = STATE(3701), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1268] = { + [sym_expression] = STATE(3728), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1269] = { + [sym_expression] = STATE(3613), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1270] = { + [sym_expression] = STATE(4430), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1271] = { + [sym_expression] = STATE(4677), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1272] = { + [sym_expression] = STATE(4616), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1273] = { + [sym_expression] = STATE(4392), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1274] = { + [sym_expression] = STATE(4358), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(4552), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1275] = { + [sym_expression] = STATE(4499), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1276] = { + [sym_expression] = STATE(4634), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1277] = { + [sym_expression] = STATE(2673), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1278] = { + [sym_expression] = STATE(2650), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1279] = { + [sym_expression] = STATE(2674), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1280] = { + [sym_expression] = STATE(2676), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1281] = { + [sym_expression] = STATE(2677), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1282] = { + [sym_expression] = STATE(2672), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1283] = { + [sym_expression] = STATE(2679), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1284] = { + [sym_expression] = STATE(4500), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1285] = { + [sym_expression] = STATE(4610), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1286] = { + [sym_expression] = STATE(2680), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1287] = { + [sym_expression] = STATE(2681), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1288] = { + [sym_expression] = STATE(2682), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1289] = { + [sym_expression] = STATE(4172), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1290] = { + [sym_expression] = STATE(4546), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1291] = { + [sym_expression] = STATE(4414), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1292] = { + [sym_expression] = STATE(2976), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1293] = { + [sym_expression] = STATE(2851), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1294] = { + [sym_expression] = STATE(2973), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1295] = { + [sym_expression] = STATE(2972), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1296] = { + [sym_expression] = STATE(2967), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1297] = { + [sym_expression] = STATE(3178), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1298] = { + [sym_expression] = STATE(3190), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1299] = { + [sym_expression] = STATE(4618), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1300] = { + [sym_expression] = STATE(2966), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1301] = { + [sym_expression] = STATE(4502), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1302] = { + [sym_expression] = STATE(4507), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1303] = { + [sym_expression] = STATE(2965), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1304] = { + [sym_expression] = STATE(4190), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1305] = { + [sym_expression] = STATE(3753), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(4554), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1306] = { + [sym_expression] = STATE(3710), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1307] = { + [sym_expression] = STATE(4177), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1308] = { + [sym_expression] = STATE(2962), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1309] = { + [sym_expression] = STATE(2957), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1310] = { + [sym_expression] = STATE(2956), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1311] = { + [sym_expression] = STATE(3762), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(4556), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1312] = { + [sym_expression] = STATE(4122), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1313] = { + [sym_expression] = STATE(4118), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1314] = { + [sym_expression] = STATE(4504), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1315] = { + [sym_expression] = STATE(2810), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1316] = { + [sym_expression] = STATE(2790), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1317] = { + [sym_expression] = STATE(3085), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1318] = { + [sym_expression] = STATE(4394), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1319] = { + [sym_expression] = STATE(4525), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1320] = { + [sym_expression] = STATE(2685), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2728), + [sym_char_literal] = STATE(2728), + [sym__char_literal] = STATE(2744), + [sym_concatenated_string] = STATE(2727), + [sym_string_literal] = STATE(1721), + [sym__string_literal] = STATE(1684), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1674), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1719), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4327), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(1877), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1873), + [anon_sym_compl] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(4193), + [anon_sym_PLUS_PLUS] = ACTIONS(4193), + [anon_sym_sizeof] = ACTIONS(1883), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1893), + [anon_sym_L_SQUOTE] = ACTIONS(1895), + [anon_sym_u_SQUOTE] = ACTIONS(1895), + [anon_sym_U_SQUOTE] = ACTIONS(1895), + [anon_sym_u8_SQUOTE] = ACTIONS(1895), + [anon_sym_SQUOTE] = ACTIONS(1895), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4195), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1905), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [anon_sym_co_await] = ACTIONS(1909), + [anon_sym_new] = ACTIONS(1911), + [anon_sym_requires] = ACTIONS(1913), + [sym_this] = ACTIONS(1899), + }, + [1321] = { + [sym_expression] = STATE(4459), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1322] = { + [sym_expression] = STATE(2936), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1323] = { + [sym_expression] = STATE(3086), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1324] = { + [sym_expression] = STATE(3087), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1325] = { + [sym_expression] = STATE(3088), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1326] = { + [sym_expression] = STATE(3090), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1327] = { + [sym_expression] = STATE(3091), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1328] = { + [sym_expression] = STATE(3092), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1329] = { + [sym_expression] = STATE(3095), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1330] = { + [sym_expression] = STATE(3096), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1331] = { + [sym_expression] = STATE(3097), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1332] = { + [sym_expression] = STATE(4516), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1333] = { + [sym_expression] = STATE(4594), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1334] = { + [sym_expression] = STATE(3098), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1335] = { + [sym_expression] = STATE(4603), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1336] = { + [sym_expression] = STATE(4398), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1337] = { + [sym_expression] = STATE(4626), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1338] = { + [sym_expression] = STATE(4307), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1339] = { + [sym_expression] = STATE(4520), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1340] = { + [sym_expression] = STATE(4281), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1341] = { + [sym_expression] = STATE(4190), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1342] = { + [sym_expression] = STATE(4614), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1343] = { + [sym_expression] = STATE(4628), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1344] = { + [sym_expression] = STATE(4591), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1345] = { + [sym_expression] = STATE(4590), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1346] = { + [sym_expression] = STATE(4661), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1347] = { + [sym_expression] = STATE(4177), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1348] = { + [sym_expression] = STATE(4349), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1349] = { + [sym_expression] = STATE(4621), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1350] = { + [sym_expression] = STATE(4359), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1351] = { + [sym_expression] = STATE(4657), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1352] = { + [sym_expression] = STATE(4434), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(4558), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1353] = { + [sym_expression] = STATE(4710), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1354] = { + [sym_expression] = STATE(4369), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1355] = { + [sym_expression] = STATE(4245), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1356] = { + [sym_expression] = STATE(4172), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1357] = { + [sym_expression] = STATE(4718), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1358] = { + [sym_expression] = STATE(4599), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1359] = { + [sym_expression] = STATE(4522), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1360] = { + [sym_expression] = STATE(4318), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1361] = { + [sym_expression] = STATE(4726), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1362] = { + [sym_expression] = STATE(4336), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(4560), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1363] = { + [sym_expression] = STATE(4172), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1364] = { + [sym_expression] = STATE(4270), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(4361), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1365] = { + [sym_expression] = STATE(4728), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1366] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1367] = { + [sym_expression] = STATE(3261), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1368] = { + [sym_expression] = STATE(4731), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1369] = { + [sym_expression] = STATE(2790), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1370] = { + [sym_expression] = STATE(2810), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1817), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(7), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2657), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1371] = { + [sym_expression] = STATE(4309), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1372] = { + [sym_expression] = STATE(2810), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1373] = { + [sym_expression] = STATE(4114), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1374] = { + [sym_expression] = STATE(4081), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1375] = { + [sym_expression] = STATE(2963), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1376] = { + [sym_expression] = STATE(3030), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(4562), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1377] = { + [sym_expression] = STATE(4102), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1378] = { + [sym_expression] = STATE(4104), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(4564), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1379] = { + [sym_expression] = STATE(4110), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1380] = { + [sym_expression] = STATE(4716), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1381] = { + [sym_expression] = STATE(4126), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(4566), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1382] = { + [sym_expression] = STATE(4109), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1383] = { + [sym_expression] = STATE(4105), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1384] = { + [sym_expression] = STATE(4113), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1385] = { + [sym_expression] = STATE(4650), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1386] = { + [sym_expression] = STATE(4645), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1387] = { + [sym_expression] = STATE(4116), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1388] = { + [sym_expression] = STATE(4635), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1389] = { + [sym_expression] = STATE(4125), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1390] = { + [sym_expression] = STATE(4381), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1391] = { + [sym_expression] = STATE(2785), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1392] = { + [sym_expression] = STATE(3025), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(4568), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1393] = { + [sym_expression] = STATE(4127), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1394] = { + [sym_expression] = STATE(4129), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1395] = { + [sym_expression] = STATE(4128), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1396] = { + [sym_expression] = STATE(4121), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1397] = { + [sym_expression] = STATE(4303), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1398] = { + [sym_expression] = STATE(4352), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1399] = { + [sym_expression] = STATE(4666), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1400] = { + [sym_expression] = STATE(4296), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1401] = { + [sym_expression] = STATE(4173), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1402] = { + [sym_expression] = STATE(4542), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1403] = { + [sym_expression] = STATE(4422), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(4570), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1404] = { + [sym_expression] = STATE(4353), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1405] = { + [sym_expression] = STATE(4094), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1406] = { + [sym_expression] = STATE(4488), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1407] = { + [sym_expression] = STATE(4354), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1408] = { + [sym_expression] = STATE(4647), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1409] = { + [sym_expression] = STATE(4439), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1410] = { + [sym_expression] = STATE(4173), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1411] = { + [sym_expression] = STATE(4441), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1412] = { + [sym_expression] = STATE(4442), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1413] = { + [sym_expression] = STATE(4443), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1414] = { + [sym_expression] = STATE(4444), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1415] = { + [sym_expression] = STATE(4449), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1416] = { + [sym_expression] = STATE(4451), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1417] = { + [sym_expression] = STATE(4453), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1418] = { + [sym_expression] = STATE(4454), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1419] = { + [sym_expression] = STATE(4455), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1420] = { + [sym_expression] = STATE(4667), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1421] = { + [sym_expression] = STATE(4605), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1422] = { + [sym_expression] = STATE(4355), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1423] = { + [sym_expression] = STATE(4308), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1424] = { + [sym_expression] = STATE(4342), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1425] = { + [sym_expression] = STATE(4554), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1426] = { + [sym_expression] = STATE(3047), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1427] = { + [sym_expression] = STATE(4688), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1428] = { + [sym_expression] = STATE(4697), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1429] = { + [sym_expression] = STATE(4695), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1430] = { + [sym_expression] = STATE(4357), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1431] = { + [sym_expression] = STATE(4249), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1432] = { + [sym_expression] = STATE(4365), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1433] = { + [sym_expression] = STATE(4477), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1434] = { + [sym_expression] = STATE(4366), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1435] = { + [sym_expression] = STATE(4253), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1436] = { + [sym_expression] = STATE(4254), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1437] = { + [sym_expression] = STATE(4367), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3372), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3372), + [sym_call_expression] = STATE(3372), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3372), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3372), + [sym_number_literal] = STATE(4533), + [sym_char_literal] = STATE(4533), + [sym__char_literal] = STATE(4508), + [sym_concatenated_string] = STATE(4410), + [sym_string_literal] = STATE(3339), + [sym__string_literal] = STATE(3783), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1939), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3344), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3372), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3372), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4104), + [anon_sym_BANG] = ACTIONS(3347), + [anon_sym_TILDE] = ACTIONS(3347), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(3349), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3345), + [anon_sym_compl] = ACTIONS(3345), + [anon_sym_DASH_DASH] = ACTIONS(4110), + [anon_sym_PLUS_PLUS] = ACTIONS(4110), + [anon_sym_sizeof] = ACTIONS(3351), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3353), + [anon_sym_L_SQUOTE] = ACTIONS(3355), + [anon_sym_u_SQUOTE] = ACTIONS(3355), + [anon_sym_U_SQUOTE] = ACTIONS(3355), + [anon_sym_u8_SQUOTE] = ACTIONS(3355), + [anon_sym_SQUOTE] = ACTIONS(3355), + [anon_sym_L_DQUOTE] = ACTIONS(3357), + [anon_sym_u_DQUOTE] = ACTIONS(3357), + [anon_sym_U_DQUOTE] = ACTIONS(3357), + [anon_sym_u8_DQUOTE] = ACTIONS(3357), + [anon_sym_DQUOTE] = ACTIONS(3357), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3359), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3361), + [anon_sym_R_DQUOTE] = ACTIONS(3363), + [anon_sym_LR_DQUOTE] = ACTIONS(3363), + [anon_sym_uR_DQUOTE] = ACTIONS(3363), + [anon_sym_UR_DQUOTE] = ACTIONS(3363), + [anon_sym_u8R_DQUOTE] = ACTIONS(3363), + [anon_sym_co_await] = ACTIONS(3365), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1438] = { + [sym_expression] = STATE(4633), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1439] = { + [sym_expression] = STATE(4674), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1440] = { + [sym_expression] = STATE(4256), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1441] = { + [sym_expression] = STATE(3589), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1442] = { + [sym_expression] = STATE(4257), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1443] = { + [sym_expression] = STATE(4485), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1444] = { + [sym_expression] = STATE(4258), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1445] = { + [sym_expression] = STATE(4260), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1446] = { + [sym_expression] = STATE(4377), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1447] = { + [sym_expression] = STATE(3313), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1448] = { + [sym_expression] = STATE(2851), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1449] = { + [sym_expression] = STATE(4262), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1450] = { + [sym_expression] = STATE(3309), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1451] = { + [sym_expression] = STATE(3308), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1452] = { + [sym_expression] = STATE(3306), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1453] = { + [sym_expression] = STATE(3303), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1454] = { + [sym_expression] = STATE(2850), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4267), + [anon_sym_BANG] = ACTIONS(1919), + [anon_sym_TILDE] = ACTIONS(1919), + [anon_sym_DASH] = ACTIONS(1917), + [anon_sym_PLUS] = ACTIONS(1917), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1917), + [anon_sym_compl] = ACTIONS(1917), + [anon_sym_DASH_DASH] = ACTIONS(2655), + [anon_sym_PLUS_PLUS] = ACTIONS(2655), + [anon_sym_sizeof] = ACTIONS(1923), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1455] = { + [sym_expression] = STATE(4627), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1456] = { + [sym_expression] = STATE(3294), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1457] = { + [sym_expression] = STATE(4264), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1458] = { + [sym_expression] = STATE(3209), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(4572), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1459] = { + [sym_expression] = STATE(4426), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1460] = { + [sym_expression] = STATE(4506), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1461] = { + [sym_expression] = STATE(3217), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1462] = { + [sym_expression] = STATE(3565), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1463] = { + [sym_expression] = STATE(4173), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1464] = { + [sym_expression] = STATE(3281), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1465] = { + [sym_expression] = STATE(3278), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1466] = { + [sym_expression] = STATE(4297), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1467] = { + [sym_expression] = STATE(4283), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1468] = { + [sym_expression] = STATE(4266), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1469] = { + [sym_expression] = STATE(4275), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1470] = { + [sym_expression] = STATE(4274), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1471] = { + [sym_expression] = STATE(4272), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1472] = { + [sym_expression] = STATE(4271), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1473] = { + [sym_expression] = STATE(4269), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1474] = { + [sym_expression] = STATE(4265), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1475] = { + [sym_expression] = STATE(4263), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1476] = { + [sym_expression] = STATE(4173), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1477] = { + [sym_expression] = STATE(4490), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1478] = { + [sym_expression] = STATE(3230), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(4574), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1479] = { + [sym_expression] = STATE(4273), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(4576), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1480] = { + [sym_expression] = STATE(4172), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1481] = { + [sym_expression] = STATE(3065), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(4578), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1482] = { + [sym_expression] = STATE(3319), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(4580), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1483] = { + [sym_expression] = STATE(3049), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1484] = { + [sym_expression] = STATE(4649), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1485] = { + [sym_expression] = STATE(2785), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1486] = { + [sym_expression] = STATE(4293), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(4582), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1487] = { + [sym_expression] = STATE(3052), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1488] = { + [sym_expression] = STATE(3314), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(4584), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1489] = { + [sym_expression] = STATE(3675), + [sym__string] = STATE(3921), + [sym_conditional_expression] = STATE(3921), + [sym_assignment_expression] = STATE(3921), + [sym_pointer_expression] = STATE(3473), + [sym_unary_expression] = STATE(3921), + [sym_binary_expression] = STATE(3921), + [sym_update_expression] = STATE(3921), + [sym_cast_expression] = STATE(3921), + [sym_sizeof_expression] = STATE(3921), + [sym_alignof_expression] = STATE(3921), + [sym_offsetof_expression] = STATE(3921), + [sym_generic_expression] = STATE(3921), + [sym_subscript_expression] = STATE(3473), + [sym_call_expression] = STATE(3473), + [sym_gnu_asm_expression] = STATE(3921), + [sym_field_expression] = STATE(3473), + [sym_compound_literal_expression] = STATE(3921), + [sym_parenthesized_expression] = STATE(3473), + [sym_number_literal] = STATE(3767), + [sym_char_literal] = STATE(3767), + [sym__char_literal] = STATE(3816), + [sym_concatenated_string] = STATE(3781), + [sym_string_literal] = STATE(2340), + [sym__string_literal] = STATE(2521), + [sym_null] = STATE(3921), + [sym_identifier] = STATE(1924), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7593), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3921), + [sym_raw_string_literal] = STATE(2333), + [sym_co_await_expression] = STATE(3921), + [sym_new_expression] = STATE(3921), + [sym_delete_expression] = STATE(3921), + [sym_requires_clause] = STATE(3921), + [sym_requires_expression] = STATE(3921), + [sym_lambda_expression] = STATE(3921), + [sym_lambda_capture_specifier] = STATE(5900), + [sym_fold_expression] = STATE(3921), + [sym_parameter_pack_expansion] = STATE(3921), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3473), + [sym_qualified_type_identifier] = STATE(7593), + [sym_user_defined_literal] = STATE(3473), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(1799), + [anon_sym_BANG] = ACTIONS(1801), + [anon_sym_TILDE] = ACTIONS(1801), + [anon_sym_DASH] = ACTIONS(1803), + [anon_sym_PLUS] = ACTIONS(1803), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1807), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2456), + [anon_sym_not] = ACTIONS(1803), + [anon_sym_compl] = ACTIONS(1803), + [anon_sym_DASH_DASH] = ACTIONS(1819), + [anon_sym_PLUS_PLUS] = ACTIONS(1819), + [anon_sym_sizeof] = ACTIONS(1821), + [anon_sym___alignof__] = ACTIONS(1823), + [anon_sym___alignof] = ACTIONS(1823), + [anon_sym__alignof] = ACTIONS(1823), + [anon_sym_alignof] = ACTIONS(1823), + [anon_sym__Alignof] = ACTIONS(1823), + [anon_sym_offsetof] = ACTIONS(1825), + [anon_sym__Generic] = ACTIONS(1827), + [anon_sym_asm] = ACTIONS(1829), + [anon_sym___asm__] = ACTIONS(1829), + [sym__number_literal] = ACTIONS(1831), + [anon_sym_L_SQUOTE] = ACTIONS(1833), + [anon_sym_u_SQUOTE] = ACTIONS(1833), + [anon_sym_U_SQUOTE] = ACTIONS(1833), + [anon_sym_u8_SQUOTE] = ACTIONS(1833), + [anon_sym_SQUOTE] = ACTIONS(1833), + [anon_sym_L_DQUOTE] = ACTIONS(1835), + [anon_sym_u_DQUOTE] = ACTIONS(1835), + [anon_sym_U_DQUOTE] = ACTIONS(1835), + [anon_sym_u8_DQUOTE] = ACTIONS(1835), + [anon_sym_DQUOTE] = ACTIONS(1835), + [sym_true] = ACTIONS(1837), + [sym_false] = ACTIONS(1837), + [anon_sym_NULL] = ACTIONS(1839), + [anon_sym_nullptr] = ACTIONS(1839), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2458), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1847), + [anon_sym_R_DQUOTE] = ACTIONS(1849), + [anon_sym_LR_DQUOTE] = ACTIONS(1849), + [anon_sym_uR_DQUOTE] = ACTIONS(1849), + [anon_sym_UR_DQUOTE] = ACTIONS(1849), + [anon_sym_u8R_DQUOTE] = ACTIONS(1849), + [anon_sym_co_await] = ACTIONS(1851), + [anon_sym_new] = ACTIONS(1853), + [anon_sym_requires] = ACTIONS(1855), + [sym_this] = ACTIONS(1837), + }, + [1490] = { + [sym_expression] = STATE(3277), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1491] = { + [sym_expression] = STATE(2785), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1492] = { + [sym_expression] = STATE(3259), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1493] = { + [sym_expression] = STATE(3267), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1494] = { + [sym_expression] = STATE(3332), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1495] = { + [sym_expression] = STATE(3040), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1496] = { + [sym_expression] = STATE(4177), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1497] = { + [sym_expression] = STATE(3042), + [sym__string] = STATE(3435), + [sym_conditional_expression] = STATE(3435), + [sym_assignment_expression] = STATE(3435), + [sym_pointer_expression] = STATE(3476), + [sym_unary_expression] = STATE(3435), + [sym_binary_expression] = STATE(3435), + [sym_update_expression] = STATE(3435), + [sym_cast_expression] = STATE(3435), + [sym_sizeof_expression] = STATE(3435), + [sym_alignof_expression] = STATE(3435), + [sym_offsetof_expression] = STATE(3435), + [sym_generic_expression] = STATE(3435), + [sym_subscript_expression] = STATE(3476), + [sym_call_expression] = STATE(3476), + [sym_gnu_asm_expression] = STATE(3435), + [sym_field_expression] = STATE(3476), + [sym_compound_literal_expression] = STATE(3435), + [sym_parenthesized_expression] = STATE(3476), + [sym_number_literal] = STATE(3227), + [sym_char_literal] = STATE(3227), + [sym__char_literal] = STATE(3237), + [sym_concatenated_string] = STATE(3279), + [sym_string_literal] = STATE(2020), + [sym__string_literal] = STATE(2338), + [sym_null] = STATE(3435), + [sym_identifier] = STATE(1922), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7523), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3435), + [sym_raw_string_literal] = STATE(2019), + [sym_co_await_expression] = STATE(3435), + [sym_new_expression] = STATE(3435), + [sym_delete_expression] = STATE(3435), + [sym_requires_clause] = STATE(3435), + [sym_requires_expression] = STATE(3435), + [sym_lambda_expression] = STATE(3435), + [sym_lambda_capture_specifier] = STATE(5886), + [sym_fold_expression] = STATE(3435), + [sym_parameter_pack_expansion] = STATE(3435), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5569), + [sym_qualified_identifier] = STATE(3476), + [sym_qualified_type_identifier] = STATE(7523), + [sym_user_defined_literal] = STATE(3476), + [sym__user_defined_literal] = STATE(3425), + [sym__identifier] = ACTIONS(2236), + [anon_sym_LPAREN2] = ACTIONS(2370), + [anon_sym_BANG] = ACTIONS(1727), + [anon_sym_TILDE] = ACTIONS(1727), + [anon_sym_DASH] = ACTIONS(1731), + [anon_sym_PLUS] = ACTIONS(1731), + [anon_sym_STAR] = ACTIONS(1805), + [anon_sym_AMP] = ACTIONS(1805), + [anon_sym_COLON_COLON] = ACTIONS(1737), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2240), + [anon_sym_not] = ACTIONS(1731), + [anon_sym_compl] = ACTIONS(1731), + [anon_sym_DASH_DASH] = ACTIONS(1755), + [anon_sym_PLUS_PLUS] = ACTIONS(1755), + [anon_sym_sizeof] = ACTIONS(1757), + [anon_sym___alignof__] = ACTIONS(1759), + [anon_sym___alignof] = ACTIONS(1759), + [anon_sym__alignof] = ACTIONS(1759), + [anon_sym_alignof] = ACTIONS(1759), + [anon_sym__Alignof] = ACTIONS(1759), + [anon_sym_offsetof] = ACTIONS(1761), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1765), + [anon_sym___asm__] = ACTIONS(1765), + [sym__number_literal] = ACTIONS(1767), + [anon_sym_L_SQUOTE] = ACTIONS(1769), + [anon_sym_u_SQUOTE] = ACTIONS(1769), + [anon_sym_U_SQUOTE] = ACTIONS(1769), + [anon_sym_u8_SQUOTE] = ACTIONS(1769), + [anon_sym_SQUOTE] = ACTIONS(1769), + [anon_sym_L_DQUOTE] = ACTIONS(1771), + [anon_sym_u_DQUOTE] = ACTIONS(1771), + [anon_sym_U_DQUOTE] = ACTIONS(1771), + [anon_sym_u8_DQUOTE] = ACTIONS(1771), + [anon_sym_DQUOTE] = ACTIONS(1771), + [sym_true] = ACTIONS(1773), + [sym_false] = ACTIONS(1773), + [anon_sym_NULL] = ACTIONS(1775), + [anon_sym_nullptr] = ACTIONS(1775), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2242), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1787), + [anon_sym_R_DQUOTE] = ACTIONS(1789), + [anon_sym_LR_DQUOTE] = ACTIONS(1789), + [anon_sym_uR_DQUOTE] = ACTIONS(1789), + [anon_sym_UR_DQUOTE] = ACTIONS(1789), + [anon_sym_u8R_DQUOTE] = ACTIONS(1789), + [anon_sym_co_await] = ACTIONS(1791), + [anon_sym_new] = ACTIONS(1793), + [anon_sym_requires] = ACTIONS(1795), + [sym_this] = ACTIONS(1773), + }, + [1498] = { + [sym_expression] = STATE(4725), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1499] = { + [sym_expression] = STATE(3263), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4269), + [anon_sym_BANG] = ACTIONS(2392), + [anon_sym_TILDE] = ACTIONS(2392), + [anon_sym_DASH] = ACTIONS(2390), + [anon_sym_PLUS] = ACTIONS(2390), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(2394), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2390), + [anon_sym_compl] = ACTIONS(2390), + [anon_sym_DASH_DASH] = ACTIONS(4230), + [anon_sym_PLUS_PLUS] = ACTIONS(4230), + [anon_sym_sizeof] = ACTIONS(2396), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2398), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2400), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1500] = { + [sym_expression] = STATE(4190), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1501] = { + [sym_expression] = STATE(4505), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1502] = { + [sym_expression] = STATE(4693), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1503] = { + [sym_expression] = STATE(4553), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1504] = { + [sym_expression] = STATE(4491), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1505] = { + [sym_expression] = STATE(4319), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(4586), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1506] = { + [sym_expression] = STATE(3216), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1507] = { + [sym_expression] = STATE(3214), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1508] = { + [sym_expression] = STATE(4512), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(4588), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1509] = { + [sym_expression] = STATE(4612), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1510] = { + [sym_expression] = STATE(4433), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1511] = { + [sym_expression] = STATE(4683), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1512] = { + [sym_expression] = STATE(3210), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1513] = { + [sym_expression] = STATE(3333), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1514] = { + [sym_expression] = STATE(4538), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(4590), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1515] = { + [sym_expression] = STATE(3198), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(4592), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1516] = { + [sym_expression] = STATE(3318), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1517] = { + [sym_expression] = STATE(4487), + [sym__string] = STATE(4786), + [sym_conditional_expression] = STATE(4786), + [sym_assignment_expression] = STATE(4786), + [sym_pointer_expression] = STATE(3560), + [sym_unary_expression] = STATE(4786), + [sym_binary_expression] = STATE(4786), + [sym_update_expression] = STATE(4786), + [sym_cast_expression] = STATE(4786), + [sym_sizeof_expression] = STATE(4786), + [sym_alignof_expression] = STATE(4786), + [sym_offsetof_expression] = STATE(4786), + [sym_generic_expression] = STATE(4786), + [sym_subscript_expression] = STATE(3560), + [sym_call_expression] = STATE(3560), + [sym_gnu_asm_expression] = STATE(4786), + [sym_field_expression] = STATE(3560), + [sym_compound_literal_expression] = STATE(4786), + [sym_parenthesized_expression] = STATE(3560), + [sym_number_literal] = STATE(4736), + [sym_char_literal] = STATE(4736), + [sym__char_literal] = STATE(4663), + [sym_concatenated_string] = STATE(4638), + [sym_string_literal] = STATE(3470), + [sym__string_literal] = STATE(3860), + [sym_null] = STATE(4786), + [sym_identifier] = STATE(1952), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7662), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(4786), + [sym_raw_string_literal] = STATE(3461), + [sym_co_await_expression] = STATE(4786), + [sym_new_expression] = STATE(4786), + [sym_delete_expression] = STATE(4786), + [sym_requires_clause] = STATE(4786), + [sym_requires_expression] = STATE(4786), + [sym_lambda_expression] = STATE(4786), + [sym_lambda_capture_specifier] = STATE(5909), + [sym_fold_expression] = STATE(4786), + [sym_parameter_pack_expansion] = STATE(4786), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3560), + [sym_qualified_type_identifier] = STATE(7662), + [sym_user_defined_literal] = STATE(3560), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(2460), + [anon_sym_BANG] = ACTIONS(2462), + [anon_sym_TILDE] = ACTIONS(2462), + [anon_sym_DASH] = ACTIONS(2464), + [anon_sym_PLUS] = ACTIONS(2464), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2468), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(3369), + [anon_sym_not] = ACTIONS(2464), + [anon_sym_compl] = ACTIONS(2464), + [anon_sym_DASH_DASH] = ACTIONS(2482), + [anon_sym_PLUS_PLUS] = ACTIONS(2482), + [anon_sym_sizeof] = ACTIONS(2484), + [anon_sym___alignof__] = ACTIONS(2486), + [anon_sym___alignof] = ACTIONS(2486), + [anon_sym__alignof] = ACTIONS(2486), + [anon_sym_alignof] = ACTIONS(2486), + [anon_sym__Alignof] = ACTIONS(2486), + [anon_sym_offsetof] = ACTIONS(2488), + [anon_sym__Generic] = ACTIONS(2490), + [anon_sym_asm] = ACTIONS(2492), + [anon_sym___asm__] = ACTIONS(2492), + [sym__number_literal] = ACTIONS(2494), + [anon_sym_L_SQUOTE] = ACTIONS(2496), + [anon_sym_u_SQUOTE] = ACTIONS(2496), + [anon_sym_U_SQUOTE] = ACTIONS(2496), + [anon_sym_u8_SQUOTE] = ACTIONS(2496), + [anon_sym_SQUOTE] = ACTIONS(2496), + [anon_sym_L_DQUOTE] = ACTIONS(2498), + [anon_sym_u_DQUOTE] = ACTIONS(2498), + [anon_sym_U_DQUOTE] = ACTIONS(2498), + [anon_sym_u8_DQUOTE] = ACTIONS(2498), + [anon_sym_DQUOTE] = ACTIONS(2498), + [sym_true] = ACTIONS(2500), + [sym_false] = ACTIONS(2500), + [anon_sym_NULL] = ACTIONS(2502), + [anon_sym_nullptr] = ACTIONS(2502), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3371), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2514), + [anon_sym_R_DQUOTE] = ACTIONS(2516), + [anon_sym_LR_DQUOTE] = ACTIONS(2516), + [anon_sym_uR_DQUOTE] = ACTIONS(2516), + [anon_sym_UR_DQUOTE] = ACTIONS(2516), + [anon_sym_u8R_DQUOTE] = ACTIONS(2516), + [anon_sym_co_await] = ACTIONS(2518), + [anon_sym_new] = ACTIONS(2520), + [anon_sym_requires] = ACTIONS(2522), + [sym_this] = ACTIONS(2500), + }, + [1518] = { + [sym_expression] = STATE(4493), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1519] = { + [sym_expression] = STATE(4440), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1520] = { + [sym_expression] = STATE(4471), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1521] = { + [sym_expression] = STATE(4470), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1522] = { + [sym_expression] = STATE(4469), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1523] = { + [sym_expression] = STATE(4468), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1524] = { + [sym_expression] = STATE(4259), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1525] = { + [sym_expression] = STATE(4466), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1526] = { + [sym_expression] = STATE(3197), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(4594), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1527] = { + [sym_expression] = STATE(4541), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1528] = { + [sym_expression] = STATE(3208), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1529] = { + [sym_expression] = STATE(4598), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1530] = { + [sym_expression] = STATE(4255), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1531] = { + [sym_expression] = STATE(4465), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1532] = { + [sym_expression] = STATE(4463), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1533] = { + [sym_expression] = STATE(4462), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1534] = { + [sym_expression] = STATE(4452), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1535] = { + [sym_expression] = STATE(4727), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1536] = { + [sym_expression] = STATE(4719), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1537] = { + [sym_expression] = STATE(4368), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1538] = { + [sym_expression] = STATE(3064), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(3220), + [sym_char_literal] = STATE(3220), + [sym__char_literal] = STATE(3184), + [sym_concatenated_string] = STATE(3221), + [sym_string_literal] = STATE(1970), + [sym__string_literal] = STATE(2381), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1918), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1975), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4303), + [anon_sym_BANG] = ACTIONS(1949), + [anon_sym_TILDE] = ACTIONS(1949), + [anon_sym_DASH] = ACTIONS(1947), + [anon_sym_PLUS] = ACTIONS(1947), + [anon_sym_STAR] = ACTIONS(4106), + [anon_sym_AMP] = ACTIONS(4106), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(4596), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(1947), + [anon_sym_compl] = ACTIONS(1947), + [anon_sym_DASH_DASH] = ACTIONS(4228), + [anon_sym_PLUS_PLUS] = ACTIONS(4228), + [anon_sym_sizeof] = ACTIONS(1953), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1957), + [anon_sym_u_SQUOTE] = ACTIONS(1957), + [anon_sym_U_SQUOTE] = ACTIONS(1957), + [anon_sym_u8_SQUOTE] = ACTIONS(1957), + [anon_sym_SQUOTE] = ACTIONS(1957), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1961), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1963), + [anon_sym_R_DQUOTE] = ACTIONS(1965), + [anon_sym_LR_DQUOTE] = ACTIONS(1965), + [anon_sym_uR_DQUOTE] = ACTIONS(1965), + [anon_sym_UR_DQUOTE] = ACTIONS(1965), + [anon_sym_u8R_DQUOTE] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1967), + [anon_sym_new] = ACTIONS(1939), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1539] = { + [sym_expression] = STATE(3206), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1540] = { + [sym_expression] = STATE(4630), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1541] = { + [sym_expression] = STATE(4622), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3585), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3585), + [sym_call_expression] = STATE(3585), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3585), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3585), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1957), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5557), + [sym_qualified_identifier] = STATE(3585), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3585), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(3503), + [anon_sym_BANG] = ACTIONS(3389), + [anon_sym_TILDE] = ACTIONS(3389), + [anon_sym_DASH] = ACTIONS(3387), + [anon_sym_PLUS] = ACTIONS(3387), + [anon_sym_STAR] = ACTIONS(3505), + [anon_sym_AMP] = ACTIONS(3505), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3387), + [anon_sym_compl] = ACTIONS(3387), + [anon_sym_DASH_DASH] = ACTIONS(3511), + [anon_sym_PLUS_PLUS] = ACTIONS(3511), + [anon_sym_sizeof] = ACTIONS(3393), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3395), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3397), + [anon_sym_new] = ACTIONS(3399), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1542] = { + [sym_expression] = STATE(4428), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1543] = { + [sym_expression] = STATE(4075), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(2780), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(2780), + [sym_call_expression] = STATE(2780), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(2780), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(2780), + [sym_number_literal] = STATE(4140), + [sym_char_literal] = STATE(4140), + [sym__char_literal] = STATE(4144), + [sym_concatenated_string] = STATE(4135), + [sym_string_literal] = STATE(2806), + [sym__string_literal] = STATE(2648), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1690), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(2824), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5538), + [sym_qualified_identifier] = STATE(2780), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(2780), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4277), + [anon_sym_BANG] = ACTIONS(3196), + [anon_sym_TILDE] = ACTIONS(3196), + [anon_sym_DASH] = ACTIONS(3194), + [anon_sym_PLUS] = ACTIONS(3194), + [anon_sym_STAR] = ACTIONS(4279), + [anon_sym_AMP] = ACTIONS(4279), + [anon_sym_COLON_COLON] = ACTIONS(3198), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3194), + [anon_sym_compl] = ACTIONS(3194), + [anon_sym_DASH_DASH] = ACTIONS(4232), + [anon_sym_PLUS_PLUS] = ACTIONS(4232), + [anon_sym_sizeof] = ACTIONS(3202), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(3204), + [anon_sym_L_SQUOTE] = ACTIONS(3206), + [anon_sym_u_SQUOTE] = ACTIONS(3206), + [anon_sym_U_SQUOTE] = ACTIONS(3206), + [anon_sym_u8_SQUOTE] = ACTIONS(3206), + [anon_sym_SQUOTE] = ACTIONS(3206), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4234), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3210), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + [anon_sym_co_await] = ACTIONS(3214), + [anon_sym_new] = ACTIONS(3216), + [anon_sym_requires] = ACTIONS(3218), + [sym_this] = ACTIONS(217), + }, + [1544] = { + [sym_expression] = STATE(4684), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3424), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3424), + [sym_call_expression] = STATE(3424), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3424), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3424), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3154), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1905), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3129), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3424), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3424), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1391), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(25), + [anon_sym_compl] = ACTIONS(25), + [anon_sym_DASH_DASH] = ACTIONS(97), + [anon_sym_PLUS_PLUS] = ACTIONS(97), + [anon_sym_sizeof] = ACTIONS(99), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(137), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(155), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1545] = { + [sym_expression] = STATE(4424), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3640), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3640), + [sym_call_expression] = STATE(3640), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3640), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3640), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1950), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(3640), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3640), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4271), + [anon_sym_BANG] = ACTIONS(3375), + [anon_sym_TILDE] = ACTIONS(3375), + [anon_sym_DASH] = ACTIONS(3373), + [anon_sym_PLUS] = ACTIONS(3373), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(3377), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(3373), + [anon_sym_compl] = ACTIONS(3373), + [anon_sym_DASH_DASH] = ACTIONS(4183), + [anon_sym_PLUS_PLUS] = ACTIONS(4183), + [anon_sym_sizeof] = ACTIONS(3379), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(3381), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(3383), + [anon_sym_new] = ACTIONS(3385), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1546] = { + [sym_expression] = STATE(4288), + [sym__string] = STATE(3826), + [sym_conditional_expression] = STATE(3826), + [sym_assignment_expression] = STATE(3826), + [sym_pointer_expression] = STATE(3464), + [sym_unary_expression] = STATE(3826), + [sym_binary_expression] = STATE(3826), + [sym_update_expression] = STATE(3826), + [sym_cast_expression] = STATE(3826), + [sym_sizeof_expression] = STATE(3826), + [sym_alignof_expression] = STATE(3826), + [sym_offsetof_expression] = STATE(3826), + [sym_generic_expression] = STATE(3826), + [sym_subscript_expression] = STATE(3464), + [sym_call_expression] = STATE(3464), + [sym_gnu_asm_expression] = STATE(3826), + [sym_field_expression] = STATE(3464), + [sym_compound_literal_expression] = STATE(3826), + [sym_parenthesized_expression] = STATE(3464), + [sym_number_literal] = STATE(4201), + [sym_char_literal] = STATE(4201), + [sym__char_literal] = STATE(4197), + [sym_concatenated_string] = STATE(4208), + [sym_string_literal] = STATE(3094), + [sym__string_literal] = STATE(3251), + [sym_null] = STATE(3826), + [sym_identifier] = STATE(1925), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7676), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3826), + [sym_raw_string_literal] = STATE(3078), + [sym_co_await_expression] = STATE(3826), + [sym_new_expression] = STATE(3826), + [sym_delete_expression] = STATE(3826), + [sym_requires_clause] = STATE(3826), + [sym_requires_expression] = STATE(3826), + [sym_lambda_expression] = STATE(3826), + [sym_lambda_capture_specifier] = STATE(5885), + [sym_fold_expression] = STATE(3826), + [sym_parameter_pack_expansion] = STATE(3826), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5536), + [sym_qualified_identifier] = STATE(3464), + [sym_qualified_type_identifier] = STATE(7676), + [sym_user_defined_literal] = STATE(3464), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(1703), + [anon_sym_BANG] = ACTIONS(1705), + [anon_sym_TILDE] = ACTIONS(1705), + [anon_sym_DASH] = ACTIONS(1707), + [anon_sym_PLUS] = ACTIONS(1707), + [anon_sym_STAR] = ACTIONS(1393), + [anon_sym_AMP] = ACTIONS(1393), + [anon_sym_COLON_COLON] = ACTIONS(1709), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1943), + [anon_sym_not] = ACTIONS(1707), + [anon_sym_compl] = ACTIONS(1707), + [anon_sym_DASH_DASH] = ACTIONS(1711), + [anon_sym_PLUS_PLUS] = ACTIONS(1711), + [anon_sym_sizeof] = ACTIONS(1713), + [anon_sym___alignof__] = ACTIONS(101), + [anon_sym___alignof] = ACTIONS(101), + [anon_sym__alignof] = ACTIONS(101), + [anon_sym_alignof] = ACTIONS(101), + [anon_sym__Alignof] = ACTIONS(101), + [anon_sym_offsetof] = ACTIONS(103), + [anon_sym__Generic] = ACTIONS(105), + [anon_sym_asm] = ACTIONS(107), + [anon_sym___asm__] = ACTIONS(107), + [sym__number_literal] = ACTIONS(109), + [anon_sym_L_SQUOTE] = ACTIONS(111), + [anon_sym_u_SQUOTE] = ACTIONS(111), + [anon_sym_U_SQUOTE] = ACTIONS(111), + [anon_sym_u8_SQUOTE] = ACTIONS(111), + [anon_sym_SQUOTE] = ACTIONS(111), + [anon_sym_L_DQUOTE] = ACTIONS(113), + [anon_sym_u_DQUOTE] = ACTIONS(113), + [anon_sym_U_DQUOTE] = ACTIONS(113), + [anon_sym_u8_DQUOTE] = ACTIONS(113), + [anon_sym_DQUOTE] = ACTIONS(113), + [sym_true] = ACTIONS(217), + [sym_false] = ACTIONS(217), + [anon_sym_NULL] = ACTIONS(117), + [anon_sym_nullptr] = ACTIONS(117), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2681), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(1715), + [anon_sym_R_DQUOTE] = ACTIONS(153), + [anon_sym_LR_DQUOTE] = ACTIONS(153), + [anon_sym_uR_DQUOTE] = ACTIONS(153), + [anon_sym_UR_DQUOTE] = ACTIONS(153), + [anon_sym_u8R_DQUOTE] = ACTIONS(153), + [anon_sym_co_await] = ACTIONS(1719), + [anon_sym_new] = ACTIONS(157), + [anon_sym_requires] = ACTIONS(159), + [sym_this] = ACTIONS(217), + }, + [1547] = { + [sym_expression] = STATE(3199), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1548] = { + [sym_expression] = STATE(3312), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1549] = { + [sym_expression] = STATE(3205), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1550] = { + [sym_expression] = STATE(3200), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1551] = { + [sym_expression] = STATE(3204), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1552] = { + [sym_expression] = STATE(3201), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1553] = { + [sym_expression] = STATE(3202), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1554] = { + [sym_expression] = STATE(3203), + [sym__string] = STATE(2475), + [sym_conditional_expression] = STATE(2475), + [sym_assignment_expression] = STATE(2475), + [sym_pointer_expression] = STATE(2466), + [sym_unary_expression] = STATE(2475), + [sym_binary_expression] = STATE(2475), + [sym_update_expression] = STATE(2475), + [sym_cast_expression] = STATE(2475), + [sym_sizeof_expression] = STATE(2475), + [sym_alignof_expression] = STATE(2475), + [sym_offsetof_expression] = STATE(2475), + [sym_generic_expression] = STATE(2475), + [sym_subscript_expression] = STATE(2466), + [sym_call_expression] = STATE(2466), + [sym_gnu_asm_expression] = STATE(2475), + [sym_field_expression] = STATE(2466), + [sym_compound_literal_expression] = STATE(2475), + [sym_parenthesized_expression] = STATE(2466), + [sym_number_literal] = STATE(2906), + [sym_char_literal] = STATE(2906), + [sym__char_literal] = STATE(2904), + [sym_concatenated_string] = STATE(2902), + [sym_string_literal] = STATE(1822), + [sym__string_literal] = STATE(1987), + [sym_null] = STATE(2475), + [sym_identifier] = STATE(1703), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7795), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(2475), + [sym_raw_string_literal] = STATE(1819), + [sym_co_await_expression] = STATE(2475), + [sym_new_expression] = STATE(2475), + [sym_delete_expression] = STATE(2475), + [sym_requires_clause] = STATE(2475), + [sym_requires_expression] = STATE(2475), + [sym_lambda_expression] = STATE(2475), + [sym_lambda_capture_specifier] = STATE(5845), + [sym_fold_expression] = STATE(2475), + [sym_parameter_pack_expansion] = STATE(2475), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5544), + [sym_qualified_identifier] = STATE(2466), + [sym_qualified_type_identifier] = STATE(7795), + [sym_user_defined_literal] = STATE(2466), + [sym__user_defined_literal] = STATE(2403), + [sym__identifier] = ACTIONS(1915), + [anon_sym_LPAREN2] = ACTIONS(4319), + [anon_sym_BANG] = ACTIONS(2378), + [anon_sym_TILDE] = ACTIONS(2378), + [anon_sym_DASH] = ACTIONS(2376), + [anon_sym_PLUS] = ACTIONS(2376), + [anon_sym_STAR] = ACTIONS(4273), + [anon_sym_AMP] = ACTIONS(4273), + [anon_sym_COLON_COLON] = ACTIONS(2380), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(1881), + [anon_sym_not] = ACTIONS(2376), + [anon_sym_compl] = ACTIONS(2376), + [anon_sym_DASH_DASH] = ACTIONS(4163), + [anon_sym_PLUS_PLUS] = ACTIONS(4163), + [anon_sym_sizeof] = ACTIONS(2382), + [anon_sym___alignof__] = ACTIONS(1885), + [anon_sym___alignof] = ACTIONS(1885), + [anon_sym__alignof] = ACTIONS(1885), + [anon_sym_alignof] = ACTIONS(1885), + [anon_sym__Alignof] = ACTIONS(1885), + [anon_sym_offsetof] = ACTIONS(1887), + [anon_sym__Generic] = ACTIONS(1889), + [anon_sym_asm] = ACTIONS(1891), + [anon_sym___asm__] = ACTIONS(1891), + [sym__number_literal] = ACTIONS(1925), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1929), + [anon_sym_u_DQUOTE] = ACTIONS(1929), + [anon_sym_U_DQUOTE] = ACTIONS(1929), + [anon_sym_u8_DQUOTE] = ACTIONS(1929), + [anon_sym_DQUOTE] = ACTIONS(1929), + [sym_true] = ACTIONS(1899), + [sym_false] = ACTIONS(1899), + [anon_sym_NULL] = ACTIONS(1901), + [anon_sym_nullptr] = ACTIONS(1901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1931), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2384), + [anon_sym_R_DQUOTE] = ACTIONS(1935), + [anon_sym_LR_DQUOTE] = ACTIONS(1935), + [anon_sym_uR_DQUOTE] = ACTIONS(1935), + [anon_sym_UR_DQUOTE] = ACTIONS(1935), + [anon_sym_u8R_DQUOTE] = ACTIONS(1935), + [anon_sym_co_await] = ACTIONS(2386), + [anon_sym_new] = ACTIONS(2388), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1899), + }, + [1555] = { + [sym_expression] = STATE(3320), + [sym__string] = STATE(3577), + [sym_conditional_expression] = STATE(3577), + [sym_assignment_expression] = STATE(3577), + [sym_pointer_expression] = STATE(3586), + [sym_unary_expression] = STATE(3577), + [sym_binary_expression] = STATE(3577), + [sym_update_expression] = STATE(3577), + [sym_cast_expression] = STATE(3577), + [sym_sizeof_expression] = STATE(3577), + [sym_alignof_expression] = STATE(3577), + [sym_offsetof_expression] = STATE(3577), + [sym_generic_expression] = STATE(3577), + [sym_subscript_expression] = STATE(3586), + [sym_call_expression] = STATE(3586), + [sym_gnu_asm_expression] = STATE(3577), + [sym_field_expression] = STATE(3586), + [sym_compound_literal_expression] = STATE(3577), + [sym_parenthesized_expression] = STATE(3586), + [sym_number_literal] = STATE(3533), + [sym_char_literal] = STATE(3533), + [sym__char_literal] = STATE(3460), + [sym_concatenated_string] = STATE(3538), + [sym_string_literal] = STATE(2214), + [sym__string_literal] = STATE(2464), + [sym_null] = STATE(3577), + [sym_identifier] = STATE(1948), + [sym_decltype] = STATE(8052), + [sym__class_name] = STATE(7694), + [sym_template_type] = STATE(2292), + [sym_template_function] = STATE(3577), + [sym_raw_string_literal] = STATE(2185), + [sym_co_await_expression] = STATE(3577), + [sym_new_expression] = STATE(3577), + [sym_delete_expression] = STATE(3577), + [sym_requires_clause] = STATE(3577), + [sym_requires_expression] = STATE(3577), + [sym_lambda_expression] = STATE(3577), + [sym_lambda_capture_specifier] = STATE(5856), + [sym_fold_expression] = STATE(3577), + [sym_parameter_pack_expansion] = STATE(3577), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5549), + [sym_qualified_identifier] = STATE(3586), + [sym_qualified_type_identifier] = STATE(7694), + [sym_user_defined_literal] = STATE(3586), + [sym__user_defined_literal] = STATE(3694), + [sym__identifier] = ACTIONS(2406), + [anon_sym_LPAREN2] = ACTIONS(4299), + [anon_sym_BANG] = ACTIONS(2410), + [anon_sym_TILDE] = ACTIONS(2410), + [anon_sym_DASH] = ACTIONS(2408), + [anon_sym_PLUS] = ACTIONS(2408), + [anon_sym_STAR] = ACTIONS(2466), + [anon_sym_AMP] = ACTIONS(2466), + [anon_sym_COLON_COLON] = ACTIONS(2412), + [anon_sym_LBRACK] = ACTIONS(2372), + [sym_primitive_type] = ACTIONS(2416), + [anon_sym_not] = ACTIONS(2408), + [anon_sym_compl] = ACTIONS(2408), + [anon_sym_DASH_DASH] = ACTIONS(4161), + [anon_sym_PLUS_PLUS] = ACTIONS(4161), + [anon_sym_sizeof] = ACTIONS(2418), + [anon_sym___alignof__] = ACTIONS(2420), + [anon_sym___alignof] = ACTIONS(2420), + [anon_sym__alignof] = ACTIONS(2420), + [anon_sym_alignof] = ACTIONS(2420), + [anon_sym__Alignof] = ACTIONS(2420), + [anon_sym_offsetof] = ACTIONS(2422), + [anon_sym__Generic] = ACTIONS(2424), + [anon_sym_asm] = ACTIONS(2426), + [anon_sym___asm__] = ACTIONS(2426), + [sym__number_literal] = ACTIONS(2428), + [anon_sym_L_SQUOTE] = ACTIONS(2430), + [anon_sym_u_SQUOTE] = ACTIONS(2430), + [anon_sym_U_SQUOTE] = ACTIONS(2430), + [anon_sym_u8_SQUOTE] = ACTIONS(2430), + [anon_sym_SQUOTE] = ACTIONS(2430), + [anon_sym_L_DQUOTE] = ACTIONS(2432), + [anon_sym_u_DQUOTE] = ACTIONS(2432), + [anon_sym_U_DQUOTE] = ACTIONS(2432), + [anon_sym_u8_DQUOTE] = ACTIONS(2432), + [anon_sym_DQUOTE] = ACTIONS(2432), + [sym_true] = ACTIONS(2434), + [sym_false] = ACTIONS(2434), + [anon_sym_NULL] = ACTIONS(2436), + [anon_sym_nullptr] = ACTIONS(2436), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2438), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_delete] = ACTIONS(2440), + [anon_sym_R_DQUOTE] = ACTIONS(2442), + [anon_sym_LR_DQUOTE] = ACTIONS(2442), + [anon_sym_uR_DQUOTE] = ACTIONS(2442), + [anon_sym_UR_DQUOTE] = ACTIONS(2442), + [anon_sym_u8R_DQUOTE] = ACTIONS(2442), + [anon_sym_co_await] = ACTIONS(2444), + [anon_sym_new] = ACTIONS(2446), + [anon_sym_requires] = ACTIONS(2448), + [sym_this] = ACTIONS(2434), + }, + [1556] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_RBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + }, + [1557] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_TILDE] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym_SEMI] = ACTIONS(4600), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym_extern] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4600), + [anon_sym___declspec] = ACTIONS(4598), + [anon_sym___based] = ACTIONS(4598), + [anon_sym___cdecl] = ACTIONS(4598), + [anon_sym___clrcall] = ACTIONS(4598), + [anon_sym___stdcall] = ACTIONS(4598), + [anon_sym___fastcall] = ACTIONS(4598), + [anon_sym___thiscall] = ACTIONS(4598), + [anon_sym___vectorcall] = ACTIONS(4598), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_RBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4598), + [anon_sym_static] = ACTIONS(4598), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_register] = ACTIONS(4598), + [anon_sym_inline] = ACTIONS(4598), + [anon_sym___inline] = ACTIONS(4598), + [anon_sym___inline__] = ACTIONS(4598), + [anon_sym___forceinline] = ACTIONS(4598), + [anon_sym_thread_local] = ACTIONS(4598), + [anon_sym___thread] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4600), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_and_eq] = ACTIONS(4598), + [anon_sym_or_eq] = ACTIONS(4598), + [anon_sym_xor_eq] = ACTIONS(4598), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4600), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [sym_virtual] = ACTIONS(4598), + [anon_sym_template] = ACTIONS(4598), + [anon_sym_operator] = ACTIONS(4598), + }, + [1558] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_TILDE] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym_SEMI] = ACTIONS(4604), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym_extern] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4604), + [anon_sym___declspec] = ACTIONS(4602), + [anon_sym___based] = ACTIONS(4602), + [anon_sym___cdecl] = ACTIONS(4602), + [anon_sym___clrcall] = ACTIONS(4602), + [anon_sym___stdcall] = ACTIONS(4602), + [anon_sym___fastcall] = ACTIONS(4602), + [anon_sym___thiscall] = ACTIONS(4602), + [anon_sym___vectorcall] = ACTIONS(4602), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_RBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4602), + [anon_sym_static] = ACTIONS(4602), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_register] = ACTIONS(4602), + [anon_sym_inline] = ACTIONS(4602), + [anon_sym___inline] = ACTIONS(4602), + [anon_sym___inline__] = ACTIONS(4602), + [anon_sym___forceinline] = ACTIONS(4602), + [anon_sym_thread_local] = ACTIONS(4602), + [anon_sym___thread] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4604), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_and_eq] = ACTIONS(4602), + [anon_sym_or_eq] = ACTIONS(4602), + [anon_sym_xor_eq] = ACTIONS(4602), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4604), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [sym_virtual] = ACTIONS(4602), + [anon_sym_template] = ACTIONS(4602), + [anon_sym_operator] = ACTIONS(4602), + }, + [1559] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_TILDE] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym_SEMI] = ACTIONS(4608), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym_extern] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4608), + [anon_sym___declspec] = ACTIONS(4606), + [anon_sym___based] = ACTIONS(4606), + [anon_sym___cdecl] = ACTIONS(4606), + [anon_sym___clrcall] = ACTIONS(4606), + [anon_sym___stdcall] = ACTIONS(4606), + [anon_sym___fastcall] = ACTIONS(4606), + [anon_sym___thiscall] = ACTIONS(4606), + [anon_sym___vectorcall] = ACTIONS(4606), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_RBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4606), + [anon_sym_static] = ACTIONS(4606), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_register] = ACTIONS(4606), + [anon_sym_inline] = ACTIONS(4606), + [anon_sym___inline] = ACTIONS(4606), + [anon_sym___inline__] = ACTIONS(4606), + [anon_sym___forceinline] = ACTIONS(4606), + [anon_sym_thread_local] = ACTIONS(4606), + [anon_sym___thread] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4608), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_and_eq] = ACTIONS(4606), + [anon_sym_or_eq] = ACTIONS(4606), + [anon_sym_xor_eq] = ACTIONS(4606), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [sym_virtual] = ACTIONS(4606), + [anon_sym_template] = ACTIONS(4606), + [anon_sym_operator] = ACTIONS(4606), + }, + [1560] = { + [sym_template_argument_list] = STATE(1565), + [sym__identifier] = ACTIONS(4610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_COMMA] = ACTIONS(4612), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_TILDE] = ACTIONS(4617), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4624), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym_SEMI] = ACTIONS(4614), + [anon_sym___extension__] = ACTIONS(4610), + [anon_sym_extern] = ACTIONS(4610), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4614), + [anon_sym___declspec] = ACTIONS(4610), + [anon_sym___based] = ACTIONS(4610), + [anon_sym___cdecl] = ACTIONS(4610), + [anon_sym___clrcall] = ACTIONS(4610), + [anon_sym___stdcall] = ACTIONS(4610), + [anon_sym___fastcall] = ACTIONS(4610), + [anon_sym___thiscall] = ACTIONS(4610), + [anon_sym___vectorcall] = ACTIONS(4610), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_RBRACE] = ACTIONS(4612), + [anon_sym_LBRACK] = ACTIONS(4621), + [anon_sym_static] = ACTIONS(4610), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_register] = ACTIONS(4610), + [anon_sym_inline] = ACTIONS(4610), + [anon_sym___inline] = ACTIONS(4610), + [anon_sym___inline__] = ACTIONS(4610), + [anon_sym___forceinline] = ACTIONS(4610), + [anon_sym_thread_local] = ACTIONS(4610), + [anon_sym___thread] = ACTIONS(4610), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4610), + [anon_sym_volatile] = ACTIONS(4610), + [anon_sym_restrict] = ACTIONS(4610), + [anon_sym___restrict__] = ACTIONS(4610), + [anon_sym__Atomic] = ACTIONS(4610), + [anon_sym__Noreturn] = ACTIONS(4610), + [anon_sym_noreturn] = ACTIONS(4610), + [anon_sym_mutable] = ACTIONS(4610), + [anon_sym_constinit] = ACTIONS(4610), + [anon_sym_consteval] = ACTIONS(4610), + [anon_sym_alignas] = ACTIONS(4610), + [anon_sym__Alignas] = ACTIONS(4610), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4619), + [anon_sym_or_eq] = ACTIONS(4619), + [anon_sym_xor_eq] = ACTIONS(4619), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4619), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4619), + [anon_sym_not_eq] = ACTIONS(4619), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [sym_virtual] = ACTIONS(4610), + [anon_sym_template] = ACTIONS(4610), + [anon_sym_operator] = ACTIONS(4610), + }, + [1561] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_TILDE] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym_SEMI] = ACTIONS(4629), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym_extern] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4629), + [anon_sym___declspec] = ACTIONS(4627), + [anon_sym___based] = ACTIONS(4627), + [anon_sym___cdecl] = ACTIONS(4627), + [anon_sym___clrcall] = ACTIONS(4627), + [anon_sym___stdcall] = ACTIONS(4627), + [anon_sym___fastcall] = ACTIONS(4627), + [anon_sym___thiscall] = ACTIONS(4627), + [anon_sym___vectorcall] = ACTIONS(4627), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_RBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4627), + [anon_sym_static] = ACTIONS(4627), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_register] = ACTIONS(4627), + [anon_sym_inline] = ACTIONS(4627), + [anon_sym___inline] = ACTIONS(4627), + [anon_sym___inline__] = ACTIONS(4627), + [anon_sym___forceinline] = ACTIONS(4627), + [anon_sym_thread_local] = ACTIONS(4627), + [anon_sym___thread] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4629), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_and_eq] = ACTIONS(4627), + [anon_sym_or_eq] = ACTIONS(4627), + [anon_sym_xor_eq] = ACTIONS(4627), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4629), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [sym_virtual] = ACTIONS(4627), + [anon_sym_template] = ACTIONS(4627), + [anon_sym_operator] = ACTIONS(4627), + }, + [1562] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_TILDE] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym_SEMI] = ACTIONS(4633), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym_extern] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4633), + [anon_sym___declspec] = ACTIONS(4631), + [anon_sym___based] = ACTIONS(4631), + [anon_sym___cdecl] = ACTIONS(4631), + [anon_sym___clrcall] = ACTIONS(4631), + [anon_sym___stdcall] = ACTIONS(4631), + [anon_sym___fastcall] = ACTIONS(4631), + [anon_sym___thiscall] = ACTIONS(4631), + [anon_sym___vectorcall] = ACTIONS(4631), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_RBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4631), + [anon_sym_static] = ACTIONS(4631), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_register] = ACTIONS(4631), + [anon_sym_inline] = ACTIONS(4631), + [anon_sym___inline] = ACTIONS(4631), + [anon_sym___inline__] = ACTIONS(4631), + [anon_sym___forceinline] = ACTIONS(4631), + [anon_sym_thread_local] = ACTIONS(4631), + [anon_sym___thread] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4633), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_and_eq] = ACTIONS(4631), + [anon_sym_or_eq] = ACTIONS(4631), + [anon_sym_xor_eq] = ACTIONS(4631), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4633), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [sym_virtual] = ACTIONS(4631), + [anon_sym_template] = ACTIONS(4631), + [anon_sym_operator] = ACTIONS(4631), + }, + [1563] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_TILDE] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym_SEMI] = ACTIONS(4637), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym_extern] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4637), + [anon_sym___declspec] = ACTIONS(4635), + [anon_sym___based] = ACTIONS(4635), + [anon_sym___cdecl] = ACTIONS(4635), + [anon_sym___clrcall] = ACTIONS(4635), + [anon_sym___stdcall] = ACTIONS(4635), + [anon_sym___fastcall] = ACTIONS(4635), + [anon_sym___thiscall] = ACTIONS(4635), + [anon_sym___vectorcall] = ACTIONS(4635), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_RBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4635), + [anon_sym_static] = ACTIONS(4635), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_register] = ACTIONS(4635), + [anon_sym_inline] = ACTIONS(4635), + [anon_sym___inline] = ACTIONS(4635), + [anon_sym___inline__] = ACTIONS(4635), + [anon_sym___forceinline] = ACTIONS(4635), + [anon_sym_thread_local] = ACTIONS(4635), + [anon_sym___thread] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4637), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_and_eq] = ACTIONS(4635), + [anon_sym_or_eq] = ACTIONS(4635), + [anon_sym_xor_eq] = ACTIONS(4635), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4637), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [sym_virtual] = ACTIONS(4635), + [anon_sym_template] = ACTIONS(4635), + [anon_sym_operator] = ACTIONS(4635), + }, + [1564] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_TILDE] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym_SEMI] = ACTIONS(4641), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym_extern] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4641), + [anon_sym___declspec] = ACTIONS(4639), + [anon_sym___based] = ACTIONS(4639), + [anon_sym___cdecl] = ACTIONS(4639), + [anon_sym___clrcall] = ACTIONS(4639), + [anon_sym___stdcall] = ACTIONS(4639), + [anon_sym___fastcall] = ACTIONS(4639), + [anon_sym___thiscall] = ACTIONS(4639), + [anon_sym___vectorcall] = ACTIONS(4639), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_RBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4639), + [anon_sym_static] = ACTIONS(4639), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_register] = ACTIONS(4639), + [anon_sym_inline] = ACTIONS(4639), + [anon_sym___inline] = ACTIONS(4639), + [anon_sym___inline__] = ACTIONS(4639), + [anon_sym___forceinline] = ACTIONS(4639), + [anon_sym_thread_local] = ACTIONS(4639), + [anon_sym___thread] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4641), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_and_eq] = ACTIONS(4639), + [anon_sym_or_eq] = ACTIONS(4639), + [anon_sym_xor_eq] = ACTIONS(4639), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4641), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [sym_virtual] = ACTIONS(4639), + [anon_sym_template] = ACTIONS(4639), + [anon_sym_operator] = ACTIONS(4639), + }, + [1565] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym_SEMI] = ACTIONS(4647), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4647), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym___cdecl] = ACTIONS(4643), + [anon_sym___clrcall] = ACTIONS(4643), + [anon_sym___stdcall] = ACTIONS(4643), + [anon_sym___fastcall] = ACTIONS(4643), + [anon_sym___thiscall] = ACTIONS(4643), + [anon_sym___vectorcall] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_RBRACE] = ACTIONS(4645), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4652), + [anon_sym_or_eq] = ACTIONS(4652), + [anon_sym_xor_eq] = ACTIONS(4652), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1566] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_ms_call_modifier] = STATE(6280), + [sym__abstract_declarator] = STATE(6730), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_abstract_function_declarator] = STATE(6175), + [sym_abstract_array_declarator] = STATE(6175), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_list] = STATE(3393), + [sym_parameter_declaration] = STATE(7290), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7290), + [sym_variadic_parameter_declaration] = STATE(7290), + [sym_abstract_reference_declarator] = STATE(6175), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1857), + [anon_sym_RPAREN] = ACTIONS(4027), + [anon_sym_LPAREN2] = ACTIONS(4657), + [anon_sym_STAR] = ACTIONS(4659), + [anon_sym_AMP_AMP] = ACTIONS(4661), + [anon_sym_AMP] = ACTIONS(4663), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(4667), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1567] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_ms_call_modifier] = STATE(6264), + [sym__abstract_declarator] = STATE(6696), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_abstract_function_declarator] = STATE(6175), + [sym_abstract_array_declarator] = STATE(6175), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_list] = STATE(3393), + [sym_parameter_declaration] = STATE(7290), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7290), + [sym_variadic_parameter_declaration] = STATE(7290), + [sym_abstract_reference_declarator] = STATE(6175), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1857), + [anon_sym_RPAREN] = ACTIONS(4027), + [anon_sym_LPAREN2] = ACTIONS(4657), + [anon_sym_STAR] = ACTIONS(4659), + [anon_sym_AMP_AMP] = ACTIONS(4661), + [anon_sym_AMP] = ACTIONS(4663), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(1739), + [anon_sym___clrcall] = ACTIONS(1739), + [anon_sym___stdcall] = ACTIONS(1739), + [anon_sym___fastcall] = ACTIONS(1739), + [anon_sym___thiscall] = ACTIONS(1739), + [anon_sym___vectorcall] = ACTIONS(1739), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(4667), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1568] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5218), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6536), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3792), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_parameter_list] = STATE(799), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(4200), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5584), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym_LT] = ACTIONS(4669), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4671), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [1569] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5210), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6519), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3792), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_parameter_list] = STATE(797), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(4200), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5584), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym_LT] = ACTIONS(4669), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4671), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [1570] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5160), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6529), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3792), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_parameter_list] = STATE(800), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(4200), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5584), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym_LT] = ACTIONS(4669), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4671), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [1571] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5144), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6544), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6299), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3792), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_parameter_list] = STATE(798), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(4200), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5584), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_type_identifier] = STATE(3126), + [sym_operator_name] = STATE(6299), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym_LT] = ACTIONS(4669), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4671), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [1572] = { + [sym__identifier] = ACTIONS(2608), + [anon_sym_LPAREN2] = ACTIONS(2613), + [anon_sym_BANG] = ACTIONS(2613), + [anon_sym_TILDE] = ACTIONS(2613), + [anon_sym_DASH] = ACTIONS(2608), + [anon_sym_PLUS] = ACTIONS(2608), + [anon_sym_STAR] = ACTIONS(2613), + [anon_sym_AMP] = ACTIONS(2613), + [anon_sym___extension__] = ACTIONS(2608), + [anon_sym_extern] = ACTIONS(2608), + [anon_sym___attribute__] = ACTIONS(2608), + [anon_sym_COLON_COLON] = ACTIONS(2613), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2613), + [anon_sym___declspec] = ACTIONS(2608), + [anon_sym_signed] = ACTIONS(2608), + [anon_sym_unsigned] = ACTIONS(2608), + [anon_sym_long] = ACTIONS(2608), + [anon_sym_short] = ACTIONS(2608), + [anon_sym_LBRACK] = ACTIONS(2608), + [anon_sym_static] = ACTIONS(2608), + [anon_sym_register] = ACTIONS(2608), + [anon_sym_inline] = ACTIONS(2608), + [anon_sym___inline] = ACTIONS(2608), + [anon_sym___inline__] = ACTIONS(2608), + [anon_sym___forceinline] = ACTIONS(2608), + [anon_sym_thread_local] = ACTIONS(2608), + [anon_sym___thread] = ACTIONS(2608), + [anon_sym_const] = ACTIONS(2608), + [anon_sym_constexpr] = ACTIONS(2608), + [anon_sym_volatile] = ACTIONS(2608), + [anon_sym_restrict] = ACTIONS(2608), + [anon_sym___restrict__] = ACTIONS(2608), + [anon_sym__Atomic] = ACTIONS(2608), + [anon_sym__Noreturn] = ACTIONS(2608), + [anon_sym_noreturn] = ACTIONS(2608), + [anon_sym_mutable] = ACTIONS(2608), + [anon_sym_constinit] = ACTIONS(2608), + [anon_sym_consteval] = ACTIONS(2608), + [anon_sym_alignas] = ACTIONS(2608), + [anon_sym__Alignas] = ACTIONS(2608), + [sym_primitive_type] = ACTIONS(2608), + [anon_sym_enum] = ACTIONS(2608), + [anon_sym_class] = ACTIONS(2608), + [anon_sym_struct] = ACTIONS(2608), + [anon_sym_union] = ACTIONS(2608), + [anon_sym_not] = ACTIONS(2608), + [anon_sym_compl] = ACTIONS(2608), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2608), + [anon_sym___alignof__] = ACTIONS(2608), + [anon_sym___alignof] = ACTIONS(2608), + [anon_sym__alignof] = ACTIONS(2608), + [anon_sym_alignof] = ACTIONS(2608), + [anon_sym__Alignof] = ACTIONS(2608), + [anon_sym_offsetof] = ACTIONS(2608), + [anon_sym__Generic] = ACTIONS(2608), + [anon_sym_asm] = ACTIONS(2608), + [anon_sym___asm__] = ACTIONS(2608), + [sym__number_literal] = ACTIONS(2613), + [anon_sym_L_SQUOTE] = ACTIONS(2613), + [anon_sym_u_SQUOTE] = ACTIONS(2613), + [anon_sym_U_SQUOTE] = ACTIONS(2613), + [anon_sym_u8_SQUOTE] = ACTIONS(2613), + [anon_sym_SQUOTE] = ACTIONS(2613), + [anon_sym_L_DQUOTE] = ACTIONS(2613), + [anon_sym_u_DQUOTE] = ACTIONS(2613), + [anon_sym_U_DQUOTE] = ACTIONS(2613), + [anon_sym_u8_DQUOTE] = ACTIONS(2613), + [anon_sym_DQUOTE] = ACTIONS(2613), + [sym_true] = ACTIONS(2608), + [sym_false] = ACTIONS(2608), + [anon_sym_NULL] = ACTIONS(2608), + [anon_sym_nullptr] = ACTIONS(2608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2613), + [sym_auto] = ACTIONS(2608), + [anon_sym_decltype] = ACTIONS(2608), + [sym_virtual] = ACTIONS(2608), + [anon_sym_typename] = ACTIONS(2608), + [anon_sym_template] = ACTIONS(2608), + [anon_sym_delete] = ACTIONS(2608), + [anon_sym_R_DQUOTE] = ACTIONS(2613), + [anon_sym_LR_DQUOTE] = ACTIONS(2613), + [anon_sym_uR_DQUOTE] = ACTIONS(2613), + [anon_sym_UR_DQUOTE] = ACTIONS(2613), + [anon_sym_u8R_DQUOTE] = ACTIONS(2613), + [anon_sym_co_await] = ACTIONS(2608), + [anon_sym_new] = ACTIONS(2608), + [anon_sym_requires] = ACTIONS(2608), + [sym_this] = ACTIONS(2608), + }, + [1573] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_template_argument_list] = STATE(1704), + [sym_raw_string_literal] = STATE(1832), + [aux_sym_sized_type_specifier_repeat1] = STATE(1994), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3767), + [anon_sym_LPAREN2] = ACTIONS(3767), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4673), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3771), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4676), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(4678), + [anon_sym_unsigned] = ACTIONS(4678), + [anon_sym_long] = ACTIONS(4678), + [anon_sym_short] = ACTIONS(4678), + [anon_sym_LBRACK] = ACTIONS(3793), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3771), + [anon_sym_volatile] = ACTIONS(3771), + [anon_sym_restrict] = ACTIONS(3771), + [anon_sym___restrict__] = ACTIONS(3771), + [anon_sym__Atomic] = ACTIONS(3771), + [anon_sym__Noreturn] = ACTIONS(3771), + [anon_sym_noreturn] = ACTIONS(3771), + [anon_sym_mutable] = ACTIONS(3771), + [anon_sym_constinit] = ACTIONS(3771), + [anon_sym_consteval] = ACTIONS(3771), + [anon_sym_alignas] = ACTIONS(3771), + [anon_sym__Alignas] = ACTIONS(3771), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [sym_auto] = ACTIONS(3771), + [anon_sym_decltype] = ACTIONS(3771), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1574] = { + [sym__identifier] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_BANG] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_DASH] = ACTIONS(2919), + [anon_sym_PLUS] = ACTIONS(2919), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2921), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [anon_sym_not] = ACTIONS(2919), + [anon_sym_compl] = ACTIONS(2919), + [anon_sym_DASH_DASH] = ACTIONS(2921), + [anon_sym_PLUS_PLUS] = ACTIONS(2921), + [anon_sym_sizeof] = ACTIONS(2919), + [anon_sym___alignof__] = ACTIONS(2919), + [anon_sym___alignof] = ACTIONS(2919), + [anon_sym__alignof] = ACTIONS(2919), + [anon_sym_alignof] = ACTIONS(2919), + [anon_sym__Alignof] = ACTIONS(2919), + [anon_sym_offsetof] = ACTIONS(2919), + [anon_sym__Generic] = ACTIONS(2919), + [anon_sym_asm] = ACTIONS(2919), + [anon_sym___asm__] = ACTIONS(2919), + [sym__number_literal] = ACTIONS(2921), + [anon_sym_L_SQUOTE] = ACTIONS(2921), + [anon_sym_u_SQUOTE] = ACTIONS(2921), + [anon_sym_U_SQUOTE] = ACTIONS(2921), + [anon_sym_u8_SQUOTE] = ACTIONS(2921), + [anon_sym_SQUOTE] = ACTIONS(2921), + [anon_sym_L_DQUOTE] = ACTIONS(2921), + [anon_sym_u_DQUOTE] = ACTIONS(2921), + [anon_sym_U_DQUOTE] = ACTIONS(2921), + [anon_sym_u8_DQUOTE] = ACTIONS(2921), + [anon_sym_DQUOTE] = ACTIONS(2921), + [sym_true] = ACTIONS(2919), + [sym_false] = ACTIONS(2919), + [anon_sym_NULL] = ACTIONS(2919), + [anon_sym_nullptr] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_delete] = ACTIONS(2919), + [anon_sym_R_DQUOTE] = ACTIONS(2921), + [anon_sym_LR_DQUOTE] = ACTIONS(2921), + [anon_sym_uR_DQUOTE] = ACTIONS(2921), + [anon_sym_UR_DQUOTE] = ACTIONS(2921), + [anon_sym_u8R_DQUOTE] = ACTIONS(2921), + [anon_sym_co_await] = ACTIONS(2919), + [anon_sym_new] = ACTIONS(2919), + [anon_sym_requires] = ACTIONS(2919), + [sym_this] = ACTIONS(2919), + }, + [1575] = { + [sym__identifier] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_BANG] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_DASH] = ACTIONS(3005), + [anon_sym_PLUS] = ACTIONS(3005), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3007), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [anon_sym_not] = ACTIONS(3005), + [anon_sym_compl] = ACTIONS(3005), + [anon_sym_DASH_DASH] = ACTIONS(3007), + [anon_sym_PLUS_PLUS] = ACTIONS(3007), + [anon_sym_sizeof] = ACTIONS(3005), + [anon_sym___alignof__] = ACTIONS(3005), + [anon_sym___alignof] = ACTIONS(3005), + [anon_sym__alignof] = ACTIONS(3005), + [anon_sym_alignof] = ACTIONS(3005), + [anon_sym__Alignof] = ACTIONS(3005), + [anon_sym_offsetof] = ACTIONS(3005), + [anon_sym__Generic] = ACTIONS(3005), + [anon_sym_asm] = ACTIONS(3005), + [anon_sym___asm__] = ACTIONS(3005), + [sym__number_literal] = ACTIONS(3007), + [anon_sym_L_SQUOTE] = ACTIONS(3007), + [anon_sym_u_SQUOTE] = ACTIONS(3007), + [anon_sym_U_SQUOTE] = ACTIONS(3007), + [anon_sym_u8_SQUOTE] = ACTIONS(3007), + [anon_sym_SQUOTE] = ACTIONS(3007), + [anon_sym_L_DQUOTE] = ACTIONS(3007), + [anon_sym_u_DQUOTE] = ACTIONS(3007), + [anon_sym_U_DQUOTE] = ACTIONS(3007), + [anon_sym_u8_DQUOTE] = ACTIONS(3007), + [anon_sym_DQUOTE] = ACTIONS(3007), + [sym_true] = ACTIONS(3005), + [sym_false] = ACTIONS(3005), + [anon_sym_NULL] = ACTIONS(3005), + [anon_sym_nullptr] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_delete] = ACTIONS(3005), + [anon_sym_R_DQUOTE] = ACTIONS(3007), + [anon_sym_LR_DQUOTE] = ACTIONS(3007), + [anon_sym_uR_DQUOTE] = ACTIONS(3007), + [anon_sym_UR_DQUOTE] = ACTIONS(3007), + [anon_sym_u8R_DQUOTE] = ACTIONS(3007), + [anon_sym_co_await] = ACTIONS(3005), + [anon_sym_new] = ACTIONS(3005), + [anon_sym_requires] = ACTIONS(3005), + [sym_this] = ACTIONS(3005), + }, + [1576] = { + [sym_template_argument_list] = STATE(1581), + [sym__identifier] = ACTIONS(4610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4614), + [anon_sym_COMMA] = ACTIONS(4614), + [anon_sym_RPAREN] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_TILDE] = ACTIONS(4617), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4686), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4610), + [anon_sym_extern] = ACTIONS(4610), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4617), + [anon_sym___declspec] = ACTIONS(4610), + [anon_sym___based] = ACTIONS(4610), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4621), + [anon_sym_static] = ACTIONS(4610), + [anon_sym_EQ] = ACTIONS(4621), + [anon_sym_register] = ACTIONS(4610), + [anon_sym_inline] = ACTIONS(4610), + [anon_sym___inline] = ACTIONS(4610), + [anon_sym___inline__] = ACTIONS(4610), + [anon_sym___forceinline] = ACTIONS(4610), + [anon_sym_thread_local] = ACTIONS(4610), + [anon_sym___thread] = ACTIONS(4610), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4610), + [anon_sym_volatile] = ACTIONS(4610), + [anon_sym_restrict] = ACTIONS(4610), + [anon_sym___restrict__] = ACTIONS(4610), + [anon_sym__Atomic] = ACTIONS(4610), + [anon_sym__Noreturn] = ACTIONS(4610), + [anon_sym_noreturn] = ACTIONS(4610), + [anon_sym_mutable] = ACTIONS(4610), + [anon_sym_constinit] = ACTIONS(4610), + [anon_sym_consteval] = ACTIONS(4610), + [anon_sym_alignas] = ACTIONS(4610), + [anon_sym__Alignas] = ACTIONS(4610), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4619), + [anon_sym_or_eq] = ACTIONS(4619), + [anon_sym_xor_eq] = ACTIONS(4619), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4619), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4619), + [anon_sym_not_eq] = ACTIONS(4619), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4619), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [sym_virtual] = ACTIONS(4610), + [anon_sym_template] = ACTIONS(4610), + [anon_sym_operator] = ACTIONS(4610), + [anon_sym_DASH_GT_STAR] = ACTIONS(4612), + }, + [1577] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_template_argument_list] = STATE(1892), + [sym_raw_string_literal] = STATE(1832), + [aux_sym_sized_type_specifier_repeat1] = STATE(1994), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3778), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4689), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3771), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(4678), + [anon_sym_unsigned] = ACTIONS(4678), + [anon_sym_long] = ACTIONS(4678), + [anon_sym_short] = ACTIONS(4678), + [anon_sym_LBRACK] = ACTIONS(3778), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3771), + [anon_sym_volatile] = ACTIONS(3771), + [anon_sym_restrict] = ACTIONS(3771), + [anon_sym___restrict__] = ACTIONS(3771), + [anon_sym__Atomic] = ACTIONS(3771), + [anon_sym__Noreturn] = ACTIONS(3771), + [anon_sym_noreturn] = ACTIONS(3771), + [anon_sym_mutable] = ACTIONS(3771), + [anon_sym_constinit] = ACTIONS(3771), + [anon_sym_consteval] = ACTIONS(3771), + [anon_sym_alignas] = ACTIONS(3771), + [anon_sym__Alignas] = ACTIONS(3771), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [sym_auto] = ACTIONS(3771), + [anon_sym_decltype] = ACTIONS(3771), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1578] = { + [sym_template_argument_list] = STATE(1585), + [sym__identifier] = ACTIONS(4610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_COMMA] = ACTIONS(4612), + [anon_sym_RPAREN] = ACTIONS(4612), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_TILDE] = ACTIONS(4617), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4624), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym_SEMI] = ACTIONS(4612), + [anon_sym___extension__] = ACTIONS(4610), + [anon_sym_extern] = ACTIONS(4610), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4617), + [anon_sym___declspec] = ACTIONS(4610), + [anon_sym___based] = ACTIONS(4610), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4621), + [anon_sym_static] = ACTIONS(4610), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_register] = ACTIONS(4610), + [anon_sym_inline] = ACTIONS(4610), + [anon_sym___inline] = ACTIONS(4610), + [anon_sym___inline__] = ACTIONS(4610), + [anon_sym___forceinline] = ACTIONS(4610), + [anon_sym_thread_local] = ACTIONS(4610), + [anon_sym___thread] = ACTIONS(4610), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4610), + [anon_sym_volatile] = ACTIONS(4610), + [anon_sym_restrict] = ACTIONS(4610), + [anon_sym___restrict__] = ACTIONS(4610), + [anon_sym__Atomic] = ACTIONS(4610), + [anon_sym__Noreturn] = ACTIONS(4610), + [anon_sym_noreturn] = ACTIONS(4610), + [anon_sym_mutable] = ACTIONS(4610), + [anon_sym_constinit] = ACTIONS(4610), + [anon_sym_consteval] = ACTIONS(4610), + [anon_sym_alignas] = ACTIONS(4610), + [anon_sym__Alignas] = ACTIONS(4610), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4619), + [anon_sym_or_eq] = ACTIONS(4619), + [anon_sym_xor_eq] = ACTIONS(4619), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4619), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4619), + [anon_sym_not_eq] = ACTIONS(4619), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [sym_virtual] = ACTIONS(4610), + [anon_sym_template] = ACTIONS(4610), + [anon_sym_operator] = ACTIONS(4610), + }, + [1579] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_TILDE] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym_extern] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4600), + [anon_sym___declspec] = ACTIONS(4598), + [anon_sym___based] = ACTIONS(4598), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4598), + [anon_sym_static] = ACTIONS(4598), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_register] = ACTIONS(4598), + [anon_sym_inline] = ACTIONS(4598), + [anon_sym___inline] = ACTIONS(4598), + [anon_sym___inline__] = ACTIONS(4598), + [anon_sym___forceinline] = ACTIONS(4598), + [anon_sym_thread_local] = ACTIONS(4598), + [anon_sym___thread] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4600), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_and_eq] = ACTIONS(4598), + [anon_sym_or_eq] = ACTIONS(4598), + [anon_sym_xor_eq] = ACTIONS(4598), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4598), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [sym_virtual] = ACTIONS(4598), + [anon_sym_template] = ACTIONS(4598), + [anon_sym_operator] = ACTIONS(4598), + [anon_sym_DASH_GT_STAR] = ACTIONS(4600), + }, + [1580] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___extension__] = ACTIONS(1867), + [anon_sym___attribute__] = ACTIONS(1867), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1867), + [anon_sym_unsigned] = ACTIONS(1867), + [anon_sym_long] = ACTIONS(1867), + [anon_sym_short] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1867), + [anon_sym_volatile] = ACTIONS(1867), + [anon_sym_restrict] = ACTIONS(1867), + [anon_sym___restrict__] = ACTIONS(1867), + [anon_sym__Atomic] = ACTIONS(1867), + [anon_sym__Noreturn] = ACTIONS(1867), + [anon_sym_noreturn] = ACTIONS(1867), + [anon_sym_mutable] = ACTIONS(1867), + [anon_sym_constinit] = ACTIONS(1867), + [anon_sym_consteval] = ACTIONS(1867), + [anon_sym_alignas] = ACTIONS(1867), + [anon_sym__Alignas] = ACTIONS(1867), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1867), + [anon_sym_or_eq] = ACTIONS(1867), + [anon_sym_xor_eq] = ACTIONS(1867), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1867), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1867), + [anon_sym_not_eq] = ACTIONS(1867), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1865), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1867), + [anon_sym_decltype] = ACTIONS(1867), + [anon_sym_final] = ACTIONS(1867), + [anon_sym_override] = ACTIONS(1867), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [anon_sym_DASH_GT_STAR] = ACTIONS(1867), + }, + [1581] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4647), + [anon_sym_COMMA] = ACTIONS(4647), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4654), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4652), + [anon_sym_or_eq] = ACTIONS(4652), + [anon_sym_xor_eq] = ACTIONS(4652), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4652), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + [anon_sym_DASH_GT_STAR] = ACTIONS(4645), + }, + [1582] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_TILDE] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym_extern] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4641), + [anon_sym___declspec] = ACTIONS(4639), + [anon_sym___based] = ACTIONS(4639), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4639), + [anon_sym_static] = ACTIONS(4639), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_register] = ACTIONS(4639), + [anon_sym_inline] = ACTIONS(4639), + [anon_sym___inline] = ACTIONS(4639), + [anon_sym___inline__] = ACTIONS(4639), + [anon_sym___forceinline] = ACTIONS(4639), + [anon_sym_thread_local] = ACTIONS(4639), + [anon_sym___thread] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4641), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_and_eq] = ACTIONS(4639), + [anon_sym_or_eq] = ACTIONS(4639), + [anon_sym_xor_eq] = ACTIONS(4639), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4639), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [sym_virtual] = ACTIONS(4639), + [anon_sym_template] = ACTIONS(4639), + [anon_sym_operator] = ACTIONS(4639), + [anon_sym_DASH_GT_STAR] = ACTIONS(4641), + }, + [1583] = { + [sym_string_literal] = STATE(2971), + [sym__string_literal] = STATE(3772), + [sym_template_argument_list] = STATE(3028), + [sym_raw_string_literal] = STATE(2971), + [aux_sym_sized_type_specifier_repeat1] = STATE(2394), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3778), + [anon_sym_COMMA] = ACTIONS(3778), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3773), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4692), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3771), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(4695), + [anon_sym_unsigned] = ACTIONS(4695), + [anon_sym_long] = ACTIONS(4695), + [anon_sym_short] = ACTIONS(4695), + [anon_sym_LBRACK] = ACTIONS(3778), + [anon_sym_EQ] = ACTIONS(4697), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3771), + [anon_sym_volatile] = ACTIONS(3771), + [anon_sym_restrict] = ACTIONS(3771), + [anon_sym___restrict__] = ACTIONS(3771), + [anon_sym__Atomic] = ACTIONS(3771), + [anon_sym__Noreturn] = ACTIONS(3771), + [anon_sym_noreturn] = ACTIONS(3771), + [anon_sym_mutable] = ACTIONS(3771), + [anon_sym_constinit] = ACTIONS(3771), + [anon_sym_consteval] = ACTIONS(3771), + [anon_sym_alignas] = ACTIONS(3771), + [anon_sym__Alignas] = ACTIONS(3771), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4699), + [anon_sym_SLASH_EQ] = ACTIONS(4699), + [anon_sym_PERCENT_EQ] = ACTIONS(4699), + [anon_sym_PLUS_EQ] = ACTIONS(4699), + [anon_sym_DASH_EQ] = ACTIONS(4699), + [anon_sym_LT_LT_EQ] = ACTIONS(4699), + [anon_sym_GT_GT_EQ] = ACTIONS(4697), + [anon_sym_AMP_EQ] = ACTIONS(4699), + [anon_sym_CARET_EQ] = ACTIONS(4699), + [anon_sym_PIPE_EQ] = ACTIONS(4699), + [anon_sym_and_eq] = ACTIONS(4699), + [anon_sym_or_eq] = ACTIONS(4699), + [anon_sym_xor_eq] = ACTIONS(4699), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(4701), + [anon_sym_u_DQUOTE] = ACTIONS(4701), + [anon_sym_U_DQUOTE] = ACTIONS(4701), + [anon_sym_u8_DQUOTE] = ACTIONS(4701), + [anon_sym_DQUOTE] = ACTIONS(4701), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4703), + [sym_auto] = ACTIONS(3771), + [anon_sym_decltype] = ACTIONS(3771), + [anon_sym_GT2] = ACTIONS(3778), + [anon_sym_R_DQUOTE] = ACTIONS(4705), + [anon_sym_LR_DQUOTE] = ACTIONS(4705), + [anon_sym_uR_DQUOTE] = ACTIONS(4705), + [anon_sym_UR_DQUOTE] = ACTIONS(4705), + [anon_sym_u8R_DQUOTE] = ACTIONS(4705), + }, + [1584] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_TILDE] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym_extern] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4629), + [anon_sym___declspec] = ACTIONS(4627), + [anon_sym___based] = ACTIONS(4627), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4627), + [anon_sym_static] = ACTIONS(4627), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_register] = ACTIONS(4627), + [anon_sym_inline] = ACTIONS(4627), + [anon_sym___inline] = ACTIONS(4627), + [anon_sym___inline__] = ACTIONS(4627), + [anon_sym___forceinline] = ACTIONS(4627), + [anon_sym_thread_local] = ACTIONS(4627), + [anon_sym___thread] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4629), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_and_eq] = ACTIONS(4627), + [anon_sym_or_eq] = ACTIONS(4627), + [anon_sym_xor_eq] = ACTIONS(4627), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4627), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [sym_virtual] = ACTIONS(4627), + [anon_sym_template] = ACTIONS(4627), + [anon_sym_operator] = ACTIONS(4627), + [anon_sym_DASH_GT_STAR] = ACTIONS(4629), + }, + [1585] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4645), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym_SEMI] = ACTIONS(4645), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4652), + [anon_sym_or_eq] = ACTIONS(4652), + [anon_sym_xor_eq] = ACTIONS(4652), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1586] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_TILDE] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym_extern] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4637), + [anon_sym___declspec] = ACTIONS(4635), + [anon_sym___based] = ACTIONS(4635), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4635), + [anon_sym_static] = ACTIONS(4635), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_register] = ACTIONS(4635), + [anon_sym_inline] = ACTIONS(4635), + [anon_sym___inline] = ACTIONS(4635), + [anon_sym___inline__] = ACTIONS(4635), + [anon_sym___forceinline] = ACTIONS(4635), + [anon_sym_thread_local] = ACTIONS(4635), + [anon_sym___thread] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4637), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_and_eq] = ACTIONS(4635), + [anon_sym_or_eq] = ACTIONS(4635), + [anon_sym_xor_eq] = ACTIONS(4635), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4635), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [sym_virtual] = ACTIONS(4635), + [anon_sym_template] = ACTIONS(4635), + [anon_sym_operator] = ACTIONS(4635), + [anon_sym_DASH_GT_STAR] = ACTIONS(4637), + }, + [1587] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_TILDE] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym_extern] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4604), + [anon_sym___declspec] = ACTIONS(4602), + [anon_sym___based] = ACTIONS(4602), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4602), + [anon_sym_static] = ACTIONS(4602), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_register] = ACTIONS(4602), + [anon_sym_inline] = ACTIONS(4602), + [anon_sym___inline] = ACTIONS(4602), + [anon_sym___inline__] = ACTIONS(4602), + [anon_sym___forceinline] = ACTIONS(4602), + [anon_sym_thread_local] = ACTIONS(4602), + [anon_sym___thread] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4604), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_and_eq] = ACTIONS(4602), + [anon_sym_or_eq] = ACTIONS(4602), + [anon_sym_xor_eq] = ACTIONS(4602), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4602), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [sym_virtual] = ACTIONS(4602), + [anon_sym_template] = ACTIONS(4602), + [anon_sym_operator] = ACTIONS(4602), + [anon_sym_DASH_GT_STAR] = ACTIONS(4604), + }, + [1588] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_TILDE] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym_extern] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4608), + [anon_sym___declspec] = ACTIONS(4606), + [anon_sym___based] = ACTIONS(4606), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4606), + [anon_sym_static] = ACTIONS(4606), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_register] = ACTIONS(4606), + [anon_sym_inline] = ACTIONS(4606), + [anon_sym___inline] = ACTIONS(4606), + [anon_sym___inline__] = ACTIONS(4606), + [anon_sym___forceinline] = ACTIONS(4606), + [anon_sym_thread_local] = ACTIONS(4606), + [anon_sym___thread] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4608), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_and_eq] = ACTIONS(4606), + [anon_sym_or_eq] = ACTIONS(4606), + [anon_sym_xor_eq] = ACTIONS(4606), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4606), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [sym_virtual] = ACTIONS(4606), + [anon_sym_template] = ACTIONS(4606), + [anon_sym_operator] = ACTIONS(4606), + [anon_sym_DASH_GT_STAR] = ACTIONS(4608), + }, + [1589] = { + [sym_template_argument_list] = STATE(1599), + [sym__identifier] = ACTIONS(4610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4614), + [anon_sym_COMMA] = ACTIONS(4614), + [anon_sym_RPAREN] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_TILDE] = ACTIONS(4617), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4624), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4610), + [anon_sym_extern] = ACTIONS(4610), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4617), + [anon_sym___declspec] = ACTIONS(4610), + [anon_sym___based] = ACTIONS(4610), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4621), + [anon_sym_static] = ACTIONS(4610), + [anon_sym_EQ] = ACTIONS(4621), + [anon_sym_register] = ACTIONS(4610), + [anon_sym_inline] = ACTIONS(4610), + [anon_sym___inline] = ACTIONS(4610), + [anon_sym___inline__] = ACTIONS(4610), + [anon_sym___forceinline] = ACTIONS(4610), + [anon_sym_thread_local] = ACTIONS(4610), + [anon_sym___thread] = ACTIONS(4610), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4610), + [anon_sym_volatile] = ACTIONS(4610), + [anon_sym_restrict] = ACTIONS(4610), + [anon_sym___restrict__] = ACTIONS(4610), + [anon_sym__Atomic] = ACTIONS(4610), + [anon_sym__Noreturn] = ACTIONS(4610), + [anon_sym_noreturn] = ACTIONS(4610), + [anon_sym_mutable] = ACTIONS(4610), + [anon_sym_constinit] = ACTIONS(4610), + [anon_sym_consteval] = ACTIONS(4610), + [anon_sym_alignas] = ACTIONS(4610), + [anon_sym__Alignas] = ACTIONS(4610), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4619), + [anon_sym_or_eq] = ACTIONS(4619), + [anon_sym_xor_eq] = ACTIONS(4619), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4619), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4619), + [anon_sym_not_eq] = ACTIONS(4619), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [sym_virtual] = ACTIONS(4610), + [anon_sym_template] = ACTIONS(4610), + [anon_sym_operator] = ACTIONS(4610), + }, + [1590] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1865), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_DASH_GT_STAR] = ACTIONS(1867), + }, + [1591] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_TILDE] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym_extern] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4633), + [anon_sym___declspec] = ACTIONS(4631), + [anon_sym___based] = ACTIONS(4631), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4631), + [anon_sym_static] = ACTIONS(4631), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_register] = ACTIONS(4631), + [anon_sym_inline] = ACTIONS(4631), + [anon_sym___inline] = ACTIONS(4631), + [anon_sym___inline__] = ACTIONS(4631), + [anon_sym___forceinline] = ACTIONS(4631), + [anon_sym_thread_local] = ACTIONS(4631), + [anon_sym___thread] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4633), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_and_eq] = ACTIONS(4631), + [anon_sym_or_eq] = ACTIONS(4631), + [anon_sym_xor_eq] = ACTIONS(4631), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4631), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [sym_virtual] = ACTIONS(4631), + [anon_sym_template] = ACTIONS(4631), + [anon_sym_operator] = ACTIONS(4631), + [anon_sym_DASH_GT_STAR] = ACTIONS(4633), + }, + [1592] = { + [sym_string_literal] = STATE(2846), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3169), + [sym_raw_string_literal] = STATE(2846), + [aux_sym_sized_type_specifier_repeat1] = STATE(1994), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3778), + [anon_sym_LPAREN2] = ACTIONS(3778), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3775), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3778), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3775), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym___extension__] = ACTIONS(3771), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_signed] = ACTIONS(4678), + [anon_sym_unsigned] = ACTIONS(4678), + [anon_sym_long] = ACTIONS(4678), + [anon_sym_short] = ACTIONS(4678), + [anon_sym_LBRACK] = ACTIONS(3778), + [anon_sym_EQ] = ACTIONS(4057), + [anon_sym_const] = ACTIONS(3763), + [anon_sym_constexpr] = ACTIONS(3771), + [anon_sym_volatile] = ACTIONS(3771), + [anon_sym_restrict] = ACTIONS(3771), + [anon_sym___restrict__] = ACTIONS(3771), + [anon_sym__Atomic] = ACTIONS(3771), + [anon_sym__Noreturn] = ACTIONS(3771), + [anon_sym_noreturn] = ACTIONS(3771), + [anon_sym_mutable] = ACTIONS(3771), + [anon_sym_constinit] = ACTIONS(3771), + [anon_sym_consteval] = ACTIONS(3771), + [anon_sym_alignas] = ACTIONS(3771), + [anon_sym__Alignas] = ACTIONS(3771), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4059), + [anon_sym_SLASH_EQ] = ACTIONS(4059), + [anon_sym_PERCENT_EQ] = ACTIONS(4059), + [anon_sym_PLUS_EQ] = ACTIONS(4059), + [anon_sym_DASH_EQ] = ACTIONS(4059), + [anon_sym_LT_LT_EQ] = ACTIONS(4059), + [anon_sym_GT_GT_EQ] = ACTIONS(4059), + [anon_sym_AMP_EQ] = ACTIONS(4059), + [anon_sym_CARET_EQ] = ACTIONS(4059), + [anon_sym_PIPE_EQ] = ACTIONS(4059), + [anon_sym_and_eq] = ACTIONS(4059), + [anon_sym_or_eq] = ACTIONS(4059), + [anon_sym_xor_eq] = ACTIONS(4059), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [sym_auto] = ACTIONS(3771), + [anon_sym_decltype] = ACTIONS(3771), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1593] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_TILDE] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4633), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4633), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4633), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4633), + [anon_sym_GT_GT] = ACTIONS(4633), + [anon_sym_SEMI] = ACTIONS(4633), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym_extern] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4633), + [anon_sym___declspec] = ACTIONS(4631), + [anon_sym___based] = ACTIONS(4631), + [anon_sym___cdecl] = ACTIONS(4631), + [anon_sym___clrcall] = ACTIONS(4631), + [anon_sym___stdcall] = ACTIONS(4631), + [anon_sym___fastcall] = ACTIONS(4631), + [anon_sym___thiscall] = ACTIONS(4631), + [anon_sym___vectorcall] = ACTIONS(4631), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_RBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4631), + [anon_sym_static] = ACTIONS(4631), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_register] = ACTIONS(4631), + [anon_sym_inline] = ACTIONS(4631), + [anon_sym___inline] = ACTIONS(4631), + [anon_sym___inline__] = ACTIONS(4631), + [anon_sym___forceinline] = ACTIONS(4631), + [anon_sym_thread_local] = ACTIONS(4631), + [anon_sym___thread] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [anon_sym_COLON] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4633), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [anon_sym_final] = ACTIONS(4631), + [anon_sym_override] = ACTIONS(4631), + [sym_virtual] = ACTIONS(4631), + [anon_sym_template] = ACTIONS(4631), + [anon_sym_operator] = ACTIONS(4631), + [anon_sym_try] = ACTIONS(4631), + [anon_sym_requires] = ACTIONS(4631), + }, + [1594] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1865), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___extension__] = ACTIONS(1867), + [anon_sym___attribute__] = ACTIONS(1867), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1867), + [anon_sym_unsigned] = ACTIONS(1867), + [anon_sym_long] = ACTIONS(1867), + [anon_sym_short] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1867), + [anon_sym_volatile] = ACTIONS(1867), + [anon_sym_restrict] = ACTIONS(1867), + [anon_sym___restrict__] = ACTIONS(1867), + [anon_sym__Atomic] = ACTIONS(1867), + [anon_sym__Noreturn] = ACTIONS(1867), + [anon_sym_noreturn] = ACTIONS(1867), + [anon_sym_mutable] = ACTIONS(1867), + [anon_sym_constinit] = ACTIONS(1867), + [anon_sym_consteval] = ACTIONS(1867), + [anon_sym_alignas] = ACTIONS(1867), + [anon_sym__Alignas] = ACTIONS(1867), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1865), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1867), + [anon_sym_or_eq] = ACTIONS(1867), + [anon_sym_xor_eq] = ACTIONS(1867), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1867), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1867), + [anon_sym_not_eq] = ACTIONS(1867), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1867), + [anon_sym_decltype] = ACTIONS(1867), + [anon_sym_final] = ACTIONS(1867), + [anon_sym_override] = ACTIONS(1867), + [anon_sym_GT2] = ACTIONS(1867), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + }, + [1595] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_TILDE] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4629), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4629), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4629), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4629), + [anon_sym_GT_GT] = ACTIONS(4629), + [anon_sym_SEMI] = ACTIONS(4629), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym_extern] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4629), + [anon_sym___declspec] = ACTIONS(4627), + [anon_sym___based] = ACTIONS(4627), + [anon_sym___cdecl] = ACTIONS(4627), + [anon_sym___clrcall] = ACTIONS(4627), + [anon_sym___stdcall] = ACTIONS(4627), + [anon_sym___fastcall] = ACTIONS(4627), + [anon_sym___thiscall] = ACTIONS(4627), + [anon_sym___vectorcall] = ACTIONS(4627), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_RBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4627), + [anon_sym_static] = ACTIONS(4627), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_register] = ACTIONS(4627), + [anon_sym_inline] = ACTIONS(4627), + [anon_sym___inline] = ACTIONS(4627), + [anon_sym___inline__] = ACTIONS(4627), + [anon_sym___forceinline] = ACTIONS(4627), + [anon_sym_thread_local] = ACTIONS(4627), + [anon_sym___thread] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [anon_sym_COLON] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4629), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [anon_sym_final] = ACTIONS(4627), + [anon_sym_override] = ACTIONS(4627), + [sym_virtual] = ACTIONS(4627), + [anon_sym_template] = ACTIONS(4627), + [anon_sym_operator] = ACTIONS(4627), + [anon_sym_try] = ACTIONS(4627), + [anon_sym_requires] = ACTIONS(4627), + }, + [1596] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_TILDE] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4641), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4641), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4641), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4641), + [anon_sym_GT_GT] = ACTIONS(4641), + [anon_sym_SEMI] = ACTIONS(4641), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym_extern] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4641), + [anon_sym___declspec] = ACTIONS(4639), + [anon_sym___based] = ACTIONS(4639), + [anon_sym___cdecl] = ACTIONS(4639), + [anon_sym___clrcall] = ACTIONS(4639), + [anon_sym___stdcall] = ACTIONS(4639), + [anon_sym___fastcall] = ACTIONS(4639), + [anon_sym___thiscall] = ACTIONS(4639), + [anon_sym___vectorcall] = ACTIONS(4639), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_RBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4639), + [anon_sym_static] = ACTIONS(4639), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_register] = ACTIONS(4639), + [anon_sym_inline] = ACTIONS(4639), + [anon_sym___inline] = ACTIONS(4639), + [anon_sym___inline__] = ACTIONS(4639), + [anon_sym___forceinline] = ACTIONS(4639), + [anon_sym_thread_local] = ACTIONS(4639), + [anon_sym___thread] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [anon_sym_COLON] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4641), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [anon_sym_final] = ACTIONS(4639), + [anon_sym_override] = ACTIONS(4639), + [sym_virtual] = ACTIONS(4639), + [anon_sym_template] = ACTIONS(4639), + [anon_sym_operator] = ACTIONS(4639), + [anon_sym_try] = ACTIONS(4639), + [anon_sym_requires] = ACTIONS(4639), + }, + [1597] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_TILDE] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4604), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4604), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4604), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4604), + [anon_sym_GT_GT] = ACTIONS(4604), + [anon_sym_SEMI] = ACTIONS(4604), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym_extern] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4604), + [anon_sym___declspec] = ACTIONS(4602), + [anon_sym___based] = ACTIONS(4602), + [anon_sym___cdecl] = ACTIONS(4602), + [anon_sym___clrcall] = ACTIONS(4602), + [anon_sym___stdcall] = ACTIONS(4602), + [anon_sym___fastcall] = ACTIONS(4602), + [anon_sym___thiscall] = ACTIONS(4602), + [anon_sym___vectorcall] = ACTIONS(4602), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_RBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4602), + [anon_sym_static] = ACTIONS(4602), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_register] = ACTIONS(4602), + [anon_sym_inline] = ACTIONS(4602), + [anon_sym___inline] = ACTIONS(4602), + [anon_sym___inline__] = ACTIONS(4602), + [anon_sym___forceinline] = ACTIONS(4602), + [anon_sym_thread_local] = ACTIONS(4602), + [anon_sym___thread] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [anon_sym_COLON] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4604), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [anon_sym_final] = ACTIONS(4602), + [anon_sym_override] = ACTIONS(4602), + [sym_virtual] = ACTIONS(4602), + [anon_sym_template] = ACTIONS(4602), + [anon_sym_operator] = ACTIONS(4602), + [anon_sym_try] = ACTIONS(4602), + [anon_sym_requires] = ACTIONS(4602), + }, + [1598] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_TILDE] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4608), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4608), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4608), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4608), + [anon_sym_GT_GT] = ACTIONS(4608), + [anon_sym_SEMI] = ACTIONS(4608), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym_extern] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4608), + [anon_sym___declspec] = ACTIONS(4606), + [anon_sym___based] = ACTIONS(4606), + [anon_sym___cdecl] = ACTIONS(4606), + [anon_sym___clrcall] = ACTIONS(4606), + [anon_sym___stdcall] = ACTIONS(4606), + [anon_sym___fastcall] = ACTIONS(4606), + [anon_sym___thiscall] = ACTIONS(4606), + [anon_sym___vectorcall] = ACTIONS(4606), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_RBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4606), + [anon_sym_static] = ACTIONS(4606), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_register] = ACTIONS(4606), + [anon_sym_inline] = ACTIONS(4606), + [anon_sym___inline] = ACTIONS(4606), + [anon_sym___inline__] = ACTIONS(4606), + [anon_sym___forceinline] = ACTIONS(4606), + [anon_sym_thread_local] = ACTIONS(4606), + [anon_sym___thread] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [anon_sym_COLON] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [anon_sym_final] = ACTIONS(4606), + [anon_sym_override] = ACTIONS(4606), + [sym_virtual] = ACTIONS(4606), + [anon_sym_template] = ACTIONS(4606), + [anon_sym_operator] = ACTIONS(4606), + [anon_sym_try] = ACTIONS(4606), + [anon_sym_requires] = ACTIONS(4606), + }, + [1599] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4647), + [anon_sym_COMMA] = ACTIONS(4647), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4654), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4652), + [anon_sym_or_eq] = ACTIONS(4652), + [anon_sym_xor_eq] = ACTIONS(4652), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1600] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_TILDE] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4600), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4600), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4600), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4600), + [anon_sym_GT_GT] = ACTIONS(4600), + [anon_sym_SEMI] = ACTIONS(4600), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym_extern] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4600), + [anon_sym___declspec] = ACTIONS(4598), + [anon_sym___based] = ACTIONS(4598), + [anon_sym___cdecl] = ACTIONS(4598), + [anon_sym___clrcall] = ACTIONS(4598), + [anon_sym___stdcall] = ACTIONS(4598), + [anon_sym___fastcall] = ACTIONS(4598), + [anon_sym___thiscall] = ACTIONS(4598), + [anon_sym___vectorcall] = ACTIONS(4598), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_RBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4598), + [anon_sym_static] = ACTIONS(4598), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_register] = ACTIONS(4598), + [anon_sym_inline] = ACTIONS(4598), + [anon_sym___inline] = ACTIONS(4598), + [anon_sym___inline__] = ACTIONS(4598), + [anon_sym___forceinline] = ACTIONS(4598), + [anon_sym_thread_local] = ACTIONS(4598), + [anon_sym___thread] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [anon_sym_COLON] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4600), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [anon_sym_final] = ACTIONS(4598), + [anon_sym_override] = ACTIONS(4598), + [sym_virtual] = ACTIONS(4598), + [anon_sym_template] = ACTIONS(4598), + [anon_sym_operator] = ACTIONS(4598), + [anon_sym_try] = ACTIONS(4598), + [anon_sym_requires] = ACTIONS(4598), + }, + [1601] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_TILDE] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4637), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4637), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4637), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4637), + [anon_sym_GT_GT] = ACTIONS(4637), + [anon_sym_SEMI] = ACTIONS(4637), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym_extern] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4637), + [anon_sym___declspec] = ACTIONS(4635), + [anon_sym___based] = ACTIONS(4635), + [anon_sym___cdecl] = ACTIONS(4635), + [anon_sym___clrcall] = ACTIONS(4635), + [anon_sym___stdcall] = ACTIONS(4635), + [anon_sym___fastcall] = ACTIONS(4635), + [anon_sym___thiscall] = ACTIONS(4635), + [anon_sym___vectorcall] = ACTIONS(4635), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_RBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4635), + [anon_sym_static] = ACTIONS(4635), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_register] = ACTIONS(4635), + [anon_sym_inline] = ACTIONS(4635), + [anon_sym___inline] = ACTIONS(4635), + [anon_sym___inline__] = ACTIONS(4635), + [anon_sym___forceinline] = ACTIONS(4635), + [anon_sym_thread_local] = ACTIONS(4635), + [anon_sym___thread] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [anon_sym_COLON] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4637), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [anon_sym_final] = ACTIONS(4635), + [anon_sym_override] = ACTIONS(4635), + [sym_virtual] = ACTIONS(4635), + [anon_sym_template] = ACTIONS(4635), + [anon_sym_operator] = ACTIONS(4635), + [anon_sym_try] = ACTIONS(4635), + [anon_sym_requires] = ACTIONS(4635), + }, + [1602] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1603] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_TILDE] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym_extern] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4608), + [anon_sym___declspec] = ACTIONS(4606), + [anon_sym___based] = ACTIONS(4606), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4606), + [anon_sym_static] = ACTIONS(4606), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_register] = ACTIONS(4606), + [anon_sym_inline] = ACTIONS(4606), + [anon_sym___inline] = ACTIONS(4606), + [anon_sym___inline__] = ACTIONS(4606), + [anon_sym___forceinline] = ACTIONS(4606), + [anon_sym_thread_local] = ACTIONS(4606), + [anon_sym___thread] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4608), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4606), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [sym_virtual] = ACTIONS(4606), + [anon_sym_template] = ACTIONS(4606), + [anon_sym_operator] = ACTIONS(4606), + [anon_sym_DASH_GT_STAR] = ACTIONS(4608), + }, + [1604] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_TILDE] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym_extern] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4604), + [anon_sym___declspec] = ACTIONS(4602), + [anon_sym___based] = ACTIONS(4602), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4602), + [anon_sym_static] = ACTIONS(4602), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_register] = ACTIONS(4602), + [anon_sym_inline] = ACTIONS(4602), + [anon_sym___inline] = ACTIONS(4602), + [anon_sym___inline__] = ACTIONS(4602), + [anon_sym___forceinline] = ACTIONS(4602), + [anon_sym_thread_local] = ACTIONS(4602), + [anon_sym___thread] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4604), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4602), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [sym_virtual] = ACTIONS(4602), + [anon_sym_template] = ACTIONS(4602), + [anon_sym_operator] = ACTIONS(4602), + [anon_sym_DASH_GT_STAR] = ACTIONS(4604), + }, + [1605] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_TILDE] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym_extern] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4637), + [anon_sym___declspec] = ACTIONS(4635), + [anon_sym___based] = ACTIONS(4635), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4635), + [anon_sym_static] = ACTIONS(4635), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_register] = ACTIONS(4635), + [anon_sym_inline] = ACTIONS(4635), + [anon_sym___inline] = ACTIONS(4635), + [anon_sym___inline__] = ACTIONS(4635), + [anon_sym___forceinline] = ACTIONS(4635), + [anon_sym_thread_local] = ACTIONS(4635), + [anon_sym___thread] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4637), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4635), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [sym_virtual] = ACTIONS(4635), + [anon_sym_template] = ACTIONS(4635), + [anon_sym_operator] = ACTIONS(4635), + [anon_sym_DASH_GT_STAR] = ACTIONS(4637), + }, + [1606] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_TILDE] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym_extern] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4633), + [anon_sym___declspec] = ACTIONS(4631), + [anon_sym___based] = ACTIONS(4631), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4631), + [anon_sym_static] = ACTIONS(4631), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_register] = ACTIONS(4631), + [anon_sym_inline] = ACTIONS(4631), + [anon_sym___inline] = ACTIONS(4631), + [anon_sym___inline__] = ACTIONS(4631), + [anon_sym___forceinline] = ACTIONS(4631), + [anon_sym_thread_local] = ACTIONS(4631), + [anon_sym___thread] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4633), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4631), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [sym_virtual] = ACTIONS(4631), + [anon_sym_template] = ACTIONS(4631), + [anon_sym_operator] = ACTIONS(4631), + [anon_sym_DASH_GT_STAR] = ACTIONS(4633), + }, + [1607] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4647), + [anon_sym_COMMA] = ACTIONS(4647), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4654), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4652), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + [anon_sym_DASH_GT_STAR] = ACTIONS(4645), + }, + [1608] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_TILDE] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym_extern] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4641), + [anon_sym___declspec] = ACTIONS(4639), + [anon_sym___based] = ACTIONS(4639), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4639), + [anon_sym_static] = ACTIONS(4639), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_register] = ACTIONS(4639), + [anon_sym_inline] = ACTIONS(4639), + [anon_sym___inline] = ACTIONS(4639), + [anon_sym___inline__] = ACTIONS(4639), + [anon_sym___forceinline] = ACTIONS(4639), + [anon_sym_thread_local] = ACTIONS(4639), + [anon_sym___thread] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4641), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4639), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [sym_virtual] = ACTIONS(4639), + [anon_sym_template] = ACTIONS(4639), + [anon_sym_operator] = ACTIONS(4639), + [anon_sym_DASH_GT_STAR] = ACTIONS(4641), + }, + [1609] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_TILDE] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym_extern] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4629), + [anon_sym___declspec] = ACTIONS(4627), + [anon_sym___based] = ACTIONS(4627), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4627), + [anon_sym_static] = ACTIONS(4627), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_register] = ACTIONS(4627), + [anon_sym_inline] = ACTIONS(4627), + [anon_sym___inline] = ACTIONS(4627), + [anon_sym___inline__] = ACTIONS(4627), + [anon_sym___forceinline] = ACTIONS(4627), + [anon_sym_thread_local] = ACTIONS(4627), + [anon_sym___thread] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4629), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4627), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [sym_virtual] = ACTIONS(4627), + [anon_sym_template] = ACTIONS(4627), + [anon_sym_operator] = ACTIONS(4627), + [anon_sym_DASH_GT_STAR] = ACTIONS(4629), + }, + [1610] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_TILDE] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym_extern] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4600), + [anon_sym___declspec] = ACTIONS(4598), + [anon_sym___based] = ACTIONS(4598), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4598), + [anon_sym_static] = ACTIONS(4598), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_register] = ACTIONS(4598), + [anon_sym_inline] = ACTIONS(4598), + [anon_sym___inline] = ACTIONS(4598), + [anon_sym___inline__] = ACTIONS(4598), + [anon_sym___forceinline] = ACTIONS(4598), + [anon_sym_thread_local] = ACTIONS(4598), + [anon_sym___thread] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4600), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4598), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [sym_virtual] = ACTIONS(4598), + [anon_sym_template] = ACTIONS(4598), + [anon_sym_operator] = ACTIONS(4598), + [anon_sym_DASH_GT_STAR] = ACTIONS(4600), + }, + [1611] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1612] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(4002), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4008), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_GT2] = ACTIONS(3996), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1613] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1614] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [aux_sym_preproc_if_token2] = ACTIONS(4604), + [aux_sym_preproc_else_token1] = ACTIONS(4604), + [aux_sym_preproc_elif_token1] = ACTIONS(4602), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4604), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym_SEMI] = ACTIONS(4604), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_RBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4604), + [anon_sym_RBRACK] = ACTIONS(4604), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [anon_sym_COLON] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4604), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_and_eq] = ACTIONS(4602), + [anon_sym_or_eq] = ACTIONS(4602), + [anon_sym_xor_eq] = ACTIONS(4602), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4604), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [anon_sym_final] = ACTIONS(4602), + [anon_sym_override] = ACTIONS(4602), + }, + [1615] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [aux_sym_preproc_if_token2] = ACTIONS(4600), + [aux_sym_preproc_else_token1] = ACTIONS(4600), + [aux_sym_preproc_elif_token1] = ACTIONS(4598), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4600), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym_SEMI] = ACTIONS(4600), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_RBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4600), + [anon_sym_RBRACK] = ACTIONS(4600), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [anon_sym_COLON] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4600), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_and_eq] = ACTIONS(4598), + [anon_sym_or_eq] = ACTIONS(4598), + [anon_sym_xor_eq] = ACTIONS(4598), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4600), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [anon_sym_final] = ACTIONS(4598), + [anon_sym_override] = ACTIONS(4598), + }, + [1616] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [aux_sym_preproc_if_token2] = ACTIONS(4629), + [aux_sym_preproc_else_token1] = ACTIONS(4629), + [aux_sym_preproc_elif_token1] = ACTIONS(4627), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4629), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym_SEMI] = ACTIONS(4629), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_RBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4629), + [anon_sym_RBRACK] = ACTIONS(4629), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [anon_sym_COLON] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4629), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_and_eq] = ACTIONS(4627), + [anon_sym_or_eq] = ACTIONS(4627), + [anon_sym_xor_eq] = ACTIONS(4627), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4629), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [anon_sym_final] = ACTIONS(4627), + [anon_sym_override] = ACTIONS(4627), + }, + [1617] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [aux_sym_preproc_if_token2] = ACTIONS(4608), + [aux_sym_preproc_else_token1] = ACTIONS(4608), + [aux_sym_preproc_elif_token1] = ACTIONS(4606), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4608), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym_SEMI] = ACTIONS(4608), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_RBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4608), + [anon_sym_RBRACK] = ACTIONS(4608), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [anon_sym_COLON] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4608), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_and_eq] = ACTIONS(4606), + [anon_sym_or_eq] = ACTIONS(4606), + [anon_sym_xor_eq] = ACTIONS(4606), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [anon_sym_final] = ACTIONS(4606), + [anon_sym_override] = ACTIONS(4606), + }, + [1618] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [aux_sym_preproc_if_token2] = ACTIONS(4633), + [aux_sym_preproc_else_token1] = ACTIONS(4633), + [aux_sym_preproc_elif_token1] = ACTIONS(4631), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4633), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym_SEMI] = ACTIONS(4633), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_RBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4633), + [anon_sym_RBRACK] = ACTIONS(4633), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [anon_sym_COLON] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4633), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_and_eq] = ACTIONS(4631), + [anon_sym_or_eq] = ACTIONS(4631), + [anon_sym_xor_eq] = ACTIONS(4631), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4633), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [anon_sym_final] = ACTIONS(4631), + [anon_sym_override] = ACTIONS(4631), + }, + [1619] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [aux_sym_preproc_if_token2] = ACTIONS(4637), + [aux_sym_preproc_else_token1] = ACTIONS(4637), + [aux_sym_preproc_elif_token1] = ACTIONS(4635), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4637), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym_SEMI] = ACTIONS(4637), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_RBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4637), + [anon_sym_RBRACK] = ACTIONS(4637), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [anon_sym_COLON] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4637), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_and_eq] = ACTIONS(4635), + [anon_sym_or_eq] = ACTIONS(4635), + [anon_sym_xor_eq] = ACTIONS(4635), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4637), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [anon_sym_final] = ACTIONS(4635), + [anon_sym_override] = ACTIONS(4635), + }, + [1620] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [aux_sym_preproc_if_token2] = ACTIONS(4641), + [aux_sym_preproc_else_token1] = ACTIONS(4641), + [aux_sym_preproc_elif_token1] = ACTIONS(4639), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4641), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym_SEMI] = ACTIONS(4641), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_RBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4641), + [anon_sym_RBRACK] = ACTIONS(4641), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [anon_sym_COLON] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4641), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_and_eq] = ACTIONS(4639), + [anon_sym_or_eq] = ACTIONS(4639), + [anon_sym_xor_eq] = ACTIONS(4639), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4641), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [anon_sym_final] = ACTIONS(4639), + [anon_sym_override] = ACTIONS(4639), + }, + [1621] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4647), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4645), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4645), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4645), + [anon_sym_GT_GT] = ACTIONS(4645), + [anon_sym_SEMI] = ACTIONS(4647), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4647), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym___cdecl] = ACTIONS(4643), + [anon_sym___clrcall] = ACTIONS(4643), + [anon_sym___stdcall] = ACTIONS(4643), + [anon_sym___fastcall] = ACTIONS(4643), + [anon_sym___thiscall] = ACTIONS(4643), + [anon_sym___vectorcall] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_RBRACE] = ACTIONS(4645), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1622] = { + [sym_function_definition] = STATE(623), + [sym_declaration] = STATE(623), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4277), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1907), + [sym_declaration_list] = STATE(623), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(4712), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1623] = { + [sym_function_definition] = STATE(311), + [sym_declaration] = STATE(311), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4356), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1929), + [sym_declaration_list] = STATE(311), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(4714), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1624] = { + [sym_function_definition] = STATE(723), + [sym_declaration] = STATE(723), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4384), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1904), + [sym_declaration_list] = STATE(723), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(4716), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1625] = { + [sym_function_definition] = STATE(669), + [sym_declaration] = STATE(669), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4310), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1942), + [sym_declaration_list] = STATE(669), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(4718), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1626] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4650), + [anon_sym_COMMA] = ACTIONS(4650), + [anon_sym_RPAREN] = ACTIONS(4650), + [anon_sym_LPAREN2] = ACTIONS(4650), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_STAR] = ACTIONS(4650), + [anon_sym_PIPE_PIPE] = ACTIONS(4650), + [anon_sym_AMP_AMP] = ACTIONS(4650), + [anon_sym_AMP] = ACTIONS(4643), + [anon_sym_SEMI] = ACTIONS(4650), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym___cdecl] = ACTIONS(4643), + [anon_sym___clrcall] = ACTIONS(4643), + [anon_sym___stdcall] = ACTIONS(4643), + [anon_sym___fastcall] = ACTIONS(4643), + [anon_sym___thiscall] = ACTIONS(4643), + [anon_sym___vectorcall] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_signed] = ACTIONS(4643), + [anon_sym_unsigned] = ACTIONS(4643), + [anon_sym_long] = ACTIONS(4643), + [anon_sym_short] = ACTIONS(4643), + [anon_sym_LBRACK] = ACTIONS(4643), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4650), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [sym_primitive_type] = ACTIONS(4643), + [anon_sym_enum] = ACTIONS(4643), + [anon_sym_class] = ACTIONS(4643), + [anon_sym_struct] = ACTIONS(4643), + [anon_sym_union] = ACTIONS(4643), + [anon_sym_COLON] = ACTIONS(4643), + [anon_sym_or] = ACTIONS(4643), + [anon_sym_and] = ACTIONS(4643), + [anon_sym_asm] = ACTIONS(4643), + [anon_sym___asm__] = ACTIONS(4643), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [anon_sym_final] = ACTIONS(4643), + [anon_sym_override] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_explicit] = ACTIONS(4643), + [anon_sym_typename] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_GT2] = ACTIONS(4650), + [anon_sym_operator] = ACTIONS(4643), + [anon_sym_try] = ACTIONS(4643), + [anon_sym_friend] = ACTIONS(4643), + [anon_sym_using] = ACTIONS(4643), + [anon_sym_concept] = ACTIONS(4643), + [anon_sym_requires] = ACTIONS(4643), + }, + [1627] = { + [sym_function_definition] = STATE(2036), + [sym_declaration] = STATE(2036), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4321), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1934), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(8488), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4720), + [anon_sym_struct] = ACTIONS(4722), + [anon_sym_union] = ACTIONS(4724), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1628] = { + [sym_function_definition] = STATE(363), + [sym_declaration] = STATE(363), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4356), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1929), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7872), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4726), + [anon_sym_struct] = ACTIONS(4728), + [anon_sym_union] = ACTIONS(4730), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1629] = { + [sym_function_definition] = STATE(648), + [sym_declaration] = STATE(648), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4277), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1907), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(8143), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4732), + [anon_sym_struct] = ACTIONS(4734), + [anon_sym_union] = ACTIONS(4736), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1630] = { + [sym_function_definition] = STATE(639), + [sym_declaration] = STATE(639), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4310), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1942), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(8206), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4738), + [anon_sym_struct] = ACTIONS(4740), + [anon_sym_union] = ACTIONS(4742), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1631] = { + [sym_function_definition] = STATE(751), + [sym_declaration] = STATE(751), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4384), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1904), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(7815), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4744), + [anon_sym_struct] = ACTIONS(4746), + [anon_sym_union] = ACTIONS(4748), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1632] = { + [sym_function_definition] = STATE(1810), + [sym_declaration] = STATE(1810), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4360), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1915), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(8301), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4750), + [anon_sym_struct] = ACTIONS(4752), + [anon_sym_union] = ACTIONS(4754), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1633] = { + [sym_function_definition] = STATE(2027), + [sym_declaration] = STATE(2027), + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4400), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_ms_call_modifier] = STATE(1912), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2898), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym__class_name] = STATE(8388), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(3838), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3842), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(4756), + [anon_sym_struct] = ACTIONS(4758), + [anon_sym_union] = ACTIONS(4760), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1634] = { + [sym_string_literal] = STATE(1636), + [sym__string_literal] = STATE(1684), + [sym_identifier] = STATE(1636), + [sym_raw_string_literal] = STATE(1636), + [aux_sym_concatenated_string_repeat1] = STATE(1636), + [sym__identifier] = ACTIONS(4762), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4764), + [anon_sym_COMMA] = ACTIONS(4764), + [anon_sym_RPAREN] = ACTIONS(4764), + [aux_sym_preproc_if_token2] = ACTIONS(4764), + [aux_sym_preproc_else_token1] = ACTIONS(4764), + [aux_sym_preproc_elif_token1] = ACTIONS(4766), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4764), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4764), + [anon_sym_LPAREN2] = ACTIONS(4764), + [anon_sym_DASH] = ACTIONS(4766), + [anon_sym_PLUS] = ACTIONS(4766), + [anon_sym_STAR] = ACTIONS(4766), + [anon_sym_SLASH] = ACTIONS(4766), + [anon_sym_PERCENT] = ACTIONS(4766), + [anon_sym_PIPE_PIPE] = ACTIONS(4764), + [anon_sym_AMP_AMP] = ACTIONS(4764), + [anon_sym_PIPE] = ACTIONS(4766), + [anon_sym_CARET] = ACTIONS(4766), + [anon_sym_AMP] = ACTIONS(4766), + [anon_sym_EQ_EQ] = ACTIONS(4764), + [anon_sym_BANG_EQ] = ACTIONS(4764), + [anon_sym_GT] = ACTIONS(4766), + [anon_sym_GT_EQ] = ACTIONS(4764), + [anon_sym_LT_EQ] = ACTIONS(4766), + [anon_sym_LT] = ACTIONS(4766), + [anon_sym_LT_LT] = ACTIONS(4766), + [anon_sym_GT_GT] = ACTIONS(4766), + [anon_sym_SEMI] = ACTIONS(4764), + [anon_sym_RBRACE] = ACTIONS(4764), + [anon_sym_LBRACK] = ACTIONS(4764), + [anon_sym_RBRACK] = ACTIONS(4764), + [anon_sym_EQ] = ACTIONS(4766), + [anon_sym_COLON] = ACTIONS(4764), + [anon_sym_QMARK] = ACTIONS(4764), + [anon_sym_STAR_EQ] = ACTIONS(4764), + [anon_sym_SLASH_EQ] = ACTIONS(4764), + [anon_sym_PERCENT_EQ] = ACTIONS(4764), + [anon_sym_PLUS_EQ] = ACTIONS(4764), + [anon_sym_DASH_EQ] = ACTIONS(4764), + [anon_sym_LT_LT_EQ] = ACTIONS(4764), + [anon_sym_GT_GT_EQ] = ACTIONS(4764), + [anon_sym_AMP_EQ] = ACTIONS(4764), + [anon_sym_CARET_EQ] = ACTIONS(4764), + [anon_sym_PIPE_EQ] = ACTIONS(4764), + [anon_sym_and_eq] = ACTIONS(4766), + [anon_sym_or_eq] = ACTIONS(4766), + [anon_sym_xor_eq] = ACTIONS(4766), + [anon_sym_LT_EQ_GT] = ACTIONS(4764), + [anon_sym_or] = ACTIONS(4766), + [anon_sym_and] = ACTIONS(4766), + [anon_sym_bitor] = ACTIONS(4766), + [anon_sym_xor] = ACTIONS(4766), + [anon_sym_bitand] = ACTIONS(4766), + [anon_sym_not_eq] = ACTIONS(4766), + [anon_sym_DASH_DASH] = ACTIONS(4764), + [anon_sym_PLUS_PLUS] = ACTIONS(4764), + [anon_sym_DOT] = ACTIONS(4766), + [anon_sym_DOT_STAR] = ACTIONS(4764), + [anon_sym_DASH_GT] = ACTIONS(4764), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4768), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4766), + }, + [1635] = { + [sym_string_literal] = STATE(1635), + [sym__string_literal] = STATE(1684), + [sym_identifier] = STATE(1635), + [sym_raw_string_literal] = STATE(1635), + [aux_sym_concatenated_string_repeat1] = STATE(1635), + [sym__identifier] = ACTIONS(4770), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4773), + [anon_sym_COMMA] = ACTIONS(4773), + [anon_sym_RPAREN] = ACTIONS(4773), + [aux_sym_preproc_if_token2] = ACTIONS(4773), + [aux_sym_preproc_else_token1] = ACTIONS(4773), + [aux_sym_preproc_elif_token1] = ACTIONS(4775), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4773), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4773), + [anon_sym_LPAREN2] = ACTIONS(4773), + [anon_sym_DASH] = ACTIONS(4775), + [anon_sym_PLUS] = ACTIONS(4775), + [anon_sym_STAR] = ACTIONS(4775), + [anon_sym_SLASH] = ACTIONS(4775), + [anon_sym_PERCENT] = ACTIONS(4775), + [anon_sym_PIPE_PIPE] = ACTIONS(4773), + [anon_sym_AMP_AMP] = ACTIONS(4773), + [anon_sym_PIPE] = ACTIONS(4775), + [anon_sym_CARET] = ACTIONS(4775), + [anon_sym_AMP] = ACTIONS(4775), + [anon_sym_EQ_EQ] = ACTIONS(4773), + [anon_sym_BANG_EQ] = ACTIONS(4773), + [anon_sym_GT] = ACTIONS(4775), + [anon_sym_GT_EQ] = ACTIONS(4773), + [anon_sym_LT_EQ] = ACTIONS(4775), + [anon_sym_LT] = ACTIONS(4775), + [anon_sym_LT_LT] = ACTIONS(4775), + [anon_sym_GT_GT] = ACTIONS(4775), + [anon_sym_SEMI] = ACTIONS(4773), + [anon_sym_RBRACE] = ACTIONS(4773), + [anon_sym_LBRACK] = ACTIONS(4773), + [anon_sym_RBRACK] = ACTIONS(4773), + [anon_sym_EQ] = ACTIONS(4775), + [anon_sym_COLON] = ACTIONS(4773), + [anon_sym_QMARK] = ACTIONS(4773), + [anon_sym_STAR_EQ] = ACTIONS(4773), + [anon_sym_SLASH_EQ] = ACTIONS(4773), + [anon_sym_PERCENT_EQ] = ACTIONS(4773), + [anon_sym_PLUS_EQ] = ACTIONS(4773), + [anon_sym_DASH_EQ] = ACTIONS(4773), + [anon_sym_LT_LT_EQ] = ACTIONS(4773), + [anon_sym_GT_GT_EQ] = ACTIONS(4773), + [anon_sym_AMP_EQ] = ACTIONS(4773), + [anon_sym_CARET_EQ] = ACTIONS(4773), + [anon_sym_PIPE_EQ] = ACTIONS(4773), + [anon_sym_and_eq] = ACTIONS(4775), + [anon_sym_or_eq] = ACTIONS(4775), + [anon_sym_xor_eq] = ACTIONS(4775), + [anon_sym_LT_EQ_GT] = ACTIONS(4773), + [anon_sym_or] = ACTIONS(4775), + [anon_sym_and] = ACTIONS(4775), + [anon_sym_bitor] = ACTIONS(4775), + [anon_sym_xor] = ACTIONS(4775), + [anon_sym_bitand] = ACTIONS(4775), + [anon_sym_not_eq] = ACTIONS(4775), + [anon_sym_DASH_DASH] = ACTIONS(4773), + [anon_sym_PLUS_PLUS] = ACTIONS(4773), + [anon_sym_DOT] = ACTIONS(4775), + [anon_sym_DOT_STAR] = ACTIONS(4773), + [anon_sym_DASH_GT] = ACTIONS(4773), + [anon_sym_L_DQUOTE] = ACTIONS(4777), + [anon_sym_u_DQUOTE] = ACTIONS(4777), + [anon_sym_U_DQUOTE] = ACTIONS(4777), + [anon_sym_u8_DQUOTE] = ACTIONS(4777), + [anon_sym_DQUOTE] = ACTIONS(4777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4780), + [anon_sym_R_DQUOTE] = ACTIONS(4783), + [anon_sym_LR_DQUOTE] = ACTIONS(4783), + [anon_sym_uR_DQUOTE] = ACTIONS(4783), + [anon_sym_UR_DQUOTE] = ACTIONS(4783), + [anon_sym_u8R_DQUOTE] = ACTIONS(4783), + [sym_literal_suffix] = ACTIONS(4775), + }, + [1636] = { + [sym_string_literal] = STATE(1635), + [sym__string_literal] = STATE(1684), + [sym_identifier] = STATE(1635), + [sym_raw_string_literal] = STATE(1635), + [aux_sym_concatenated_string_repeat1] = STATE(1635), + [sym__identifier] = ACTIONS(4762), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4786), + [anon_sym_COMMA] = ACTIONS(4786), + [anon_sym_RPAREN] = ACTIONS(4786), + [aux_sym_preproc_if_token2] = ACTIONS(4786), + [aux_sym_preproc_else_token1] = ACTIONS(4786), + [aux_sym_preproc_elif_token1] = ACTIONS(4788), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4786), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4786), + [anon_sym_LPAREN2] = ACTIONS(4786), + [anon_sym_DASH] = ACTIONS(4788), + [anon_sym_PLUS] = ACTIONS(4788), + [anon_sym_STAR] = ACTIONS(4788), + [anon_sym_SLASH] = ACTIONS(4788), + [anon_sym_PERCENT] = ACTIONS(4788), + [anon_sym_PIPE_PIPE] = ACTIONS(4786), + [anon_sym_AMP_AMP] = ACTIONS(4786), + [anon_sym_PIPE] = ACTIONS(4788), + [anon_sym_CARET] = ACTIONS(4788), + [anon_sym_AMP] = ACTIONS(4788), + [anon_sym_EQ_EQ] = ACTIONS(4786), + [anon_sym_BANG_EQ] = ACTIONS(4786), + [anon_sym_GT] = ACTIONS(4788), + [anon_sym_GT_EQ] = ACTIONS(4786), + [anon_sym_LT_EQ] = ACTIONS(4788), + [anon_sym_LT] = ACTIONS(4788), + [anon_sym_LT_LT] = ACTIONS(4788), + [anon_sym_GT_GT] = ACTIONS(4788), + [anon_sym_SEMI] = ACTIONS(4786), + [anon_sym_RBRACE] = ACTIONS(4786), + [anon_sym_LBRACK] = ACTIONS(4786), + [anon_sym_RBRACK] = ACTIONS(4786), + [anon_sym_EQ] = ACTIONS(4788), + [anon_sym_COLON] = ACTIONS(4786), + [anon_sym_QMARK] = ACTIONS(4786), + [anon_sym_STAR_EQ] = ACTIONS(4786), + [anon_sym_SLASH_EQ] = ACTIONS(4786), + [anon_sym_PERCENT_EQ] = ACTIONS(4786), + [anon_sym_PLUS_EQ] = ACTIONS(4786), + [anon_sym_DASH_EQ] = ACTIONS(4786), + [anon_sym_LT_LT_EQ] = ACTIONS(4786), + [anon_sym_GT_GT_EQ] = ACTIONS(4786), + [anon_sym_AMP_EQ] = ACTIONS(4786), + [anon_sym_CARET_EQ] = ACTIONS(4786), + [anon_sym_PIPE_EQ] = ACTIONS(4786), + [anon_sym_and_eq] = ACTIONS(4788), + [anon_sym_or_eq] = ACTIONS(4788), + [anon_sym_xor_eq] = ACTIONS(4788), + [anon_sym_LT_EQ_GT] = ACTIONS(4786), + [anon_sym_or] = ACTIONS(4788), + [anon_sym_and] = ACTIONS(4788), + [anon_sym_bitor] = ACTIONS(4788), + [anon_sym_xor] = ACTIONS(4788), + [anon_sym_bitand] = ACTIONS(4788), + [anon_sym_not_eq] = ACTIONS(4788), + [anon_sym_DASH_DASH] = ACTIONS(4786), + [anon_sym_PLUS_PLUS] = ACTIONS(4786), + [anon_sym_DOT] = ACTIONS(4788), + [anon_sym_DOT_STAR] = ACTIONS(4786), + [anon_sym_DASH_GT] = ACTIONS(4786), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4768), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4788), + }, + [1637] = { + [sym__identifier] = ACTIONS(4790), + [anon_sym_COMMA] = ACTIONS(4792), + [anon_sym_RPAREN] = ACTIONS(4792), + [anon_sym_LPAREN2] = ACTIONS(4792), + [anon_sym_TILDE] = ACTIONS(4792), + [anon_sym_STAR] = ACTIONS(4792), + [anon_sym_PIPE_PIPE] = ACTIONS(4792), + [anon_sym_AMP_AMP] = ACTIONS(4792), + [anon_sym_AMP] = ACTIONS(4790), + [anon_sym_SEMI] = ACTIONS(4792), + [anon_sym___extension__] = ACTIONS(4790), + [anon_sym_extern] = ACTIONS(4790), + [anon_sym___attribute__] = ACTIONS(4790), + [anon_sym_COLON_COLON] = ACTIONS(4792), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4792), + [anon_sym___declspec] = ACTIONS(4790), + [anon_sym___based] = ACTIONS(4790), + [anon_sym___cdecl] = ACTIONS(4790), + [anon_sym___clrcall] = ACTIONS(4790), + [anon_sym___stdcall] = ACTIONS(4790), + [anon_sym___fastcall] = ACTIONS(4790), + [anon_sym___thiscall] = ACTIONS(4790), + [anon_sym___vectorcall] = ACTIONS(4790), + [anon_sym_LBRACE] = ACTIONS(4792), + [anon_sym_signed] = ACTIONS(4790), + [anon_sym_unsigned] = ACTIONS(4790), + [anon_sym_long] = ACTIONS(4790), + [anon_sym_short] = ACTIONS(4790), + [anon_sym_LBRACK] = ACTIONS(4790), + [anon_sym_static] = ACTIONS(4790), + [anon_sym_EQ] = ACTIONS(4792), + [anon_sym_register] = ACTIONS(4790), + [anon_sym_inline] = ACTIONS(4790), + [anon_sym___inline] = ACTIONS(4790), + [anon_sym___inline__] = ACTIONS(4790), + [anon_sym___forceinline] = ACTIONS(4790), + [anon_sym_thread_local] = ACTIONS(4790), + [anon_sym___thread] = ACTIONS(4790), + [anon_sym_const] = ACTIONS(4790), + [anon_sym_constexpr] = ACTIONS(4790), + [anon_sym_volatile] = ACTIONS(4790), + [anon_sym_restrict] = ACTIONS(4790), + [anon_sym___restrict__] = ACTIONS(4790), + [anon_sym__Atomic] = ACTIONS(4790), + [anon_sym__Noreturn] = ACTIONS(4790), + [anon_sym_noreturn] = ACTIONS(4790), + [anon_sym_mutable] = ACTIONS(4790), + [anon_sym_constinit] = ACTIONS(4790), + [anon_sym_consteval] = ACTIONS(4790), + [anon_sym_alignas] = ACTIONS(4790), + [anon_sym__Alignas] = ACTIONS(4790), + [sym_primitive_type] = ACTIONS(4790), + [anon_sym_enum] = ACTIONS(4790), + [anon_sym_class] = ACTIONS(4790), + [anon_sym_struct] = ACTIONS(4790), + [anon_sym_union] = ACTIONS(4790), + [anon_sym_or] = ACTIONS(4790), + [anon_sym_and] = ACTIONS(4790), + [anon_sym_asm] = ACTIONS(4790), + [anon_sym___asm__] = ACTIONS(4790), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4792), + [sym_auto] = ACTIONS(4790), + [anon_sym_decltype] = ACTIONS(4790), + [anon_sym_final] = ACTIONS(4790), + [anon_sym_override] = ACTIONS(4790), + [sym_virtual] = ACTIONS(4790), + [anon_sym_explicit] = ACTIONS(4790), + [anon_sym_typename] = ACTIONS(4790), + [anon_sym_template] = ACTIONS(4790), + [anon_sym_GT2] = ACTIONS(4792), + [anon_sym_operator] = ACTIONS(4790), + [anon_sym_try] = ACTIONS(4790), + [anon_sym_friend] = ACTIONS(4790), + [anon_sym_using] = ACTIONS(4790), + [anon_sym_concept] = ACTIONS(4790), + [anon_sym_requires] = ACTIONS(4790), + }, + [1638] = { + [sym__identifier] = ACTIONS(4794), + [anon_sym_COMMA] = ACTIONS(4796), + [anon_sym_RPAREN] = ACTIONS(4796), + [anon_sym_LPAREN2] = ACTIONS(4796), + [anon_sym_TILDE] = ACTIONS(4796), + [anon_sym_STAR] = ACTIONS(4796), + [anon_sym_PIPE_PIPE] = ACTIONS(4796), + [anon_sym_AMP_AMP] = ACTIONS(4796), + [anon_sym_AMP] = ACTIONS(4794), + [anon_sym_SEMI] = ACTIONS(4796), + [anon_sym___extension__] = ACTIONS(4794), + [anon_sym_extern] = ACTIONS(4794), + [anon_sym___attribute__] = ACTIONS(4794), + [anon_sym_COLON_COLON] = ACTIONS(4796), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4796), + [anon_sym___declspec] = ACTIONS(4794), + [anon_sym___based] = ACTIONS(4794), + [anon_sym___cdecl] = ACTIONS(4794), + [anon_sym___clrcall] = ACTIONS(4794), + [anon_sym___stdcall] = ACTIONS(4794), + [anon_sym___fastcall] = ACTIONS(4794), + [anon_sym___thiscall] = ACTIONS(4794), + [anon_sym___vectorcall] = ACTIONS(4794), + [anon_sym_LBRACE] = ACTIONS(4796), + [anon_sym_signed] = ACTIONS(4794), + [anon_sym_unsigned] = ACTIONS(4794), + [anon_sym_long] = ACTIONS(4794), + [anon_sym_short] = ACTIONS(4794), + [anon_sym_LBRACK] = ACTIONS(4794), + [anon_sym_static] = ACTIONS(4794), + [anon_sym_EQ] = ACTIONS(4796), + [anon_sym_register] = ACTIONS(4794), + [anon_sym_inline] = ACTIONS(4794), + [anon_sym___inline] = ACTIONS(4794), + [anon_sym___inline__] = ACTIONS(4794), + [anon_sym___forceinline] = ACTIONS(4794), + [anon_sym_thread_local] = ACTIONS(4794), + [anon_sym___thread] = ACTIONS(4794), + [anon_sym_const] = ACTIONS(4794), + [anon_sym_constexpr] = ACTIONS(4794), + [anon_sym_volatile] = ACTIONS(4794), + [anon_sym_restrict] = ACTIONS(4794), + [anon_sym___restrict__] = ACTIONS(4794), + [anon_sym__Atomic] = ACTIONS(4794), + [anon_sym__Noreturn] = ACTIONS(4794), + [anon_sym_noreturn] = ACTIONS(4794), + [anon_sym_mutable] = ACTIONS(4794), + [anon_sym_constinit] = ACTIONS(4794), + [anon_sym_consteval] = ACTIONS(4794), + [anon_sym_alignas] = ACTIONS(4794), + [anon_sym__Alignas] = ACTIONS(4794), + [sym_primitive_type] = ACTIONS(4794), + [anon_sym_enum] = ACTIONS(4794), + [anon_sym_class] = ACTIONS(4794), + [anon_sym_struct] = ACTIONS(4794), + [anon_sym_union] = ACTIONS(4794), + [anon_sym_or] = ACTIONS(4794), + [anon_sym_and] = ACTIONS(4794), + [anon_sym_asm] = ACTIONS(4794), + [anon_sym___asm__] = ACTIONS(4794), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4796), + [sym_auto] = ACTIONS(4794), + [anon_sym_decltype] = ACTIONS(4794), + [anon_sym_final] = ACTIONS(4794), + [anon_sym_override] = ACTIONS(4794), + [sym_virtual] = ACTIONS(4794), + [anon_sym_explicit] = ACTIONS(4794), + [anon_sym_typename] = ACTIONS(4794), + [anon_sym_template] = ACTIONS(4794), + [anon_sym_GT2] = ACTIONS(4796), + [anon_sym_operator] = ACTIONS(4794), + [anon_sym_try] = ACTIONS(4794), + [anon_sym_friend] = ACTIONS(4794), + [anon_sym_using] = ACTIONS(4794), + [anon_sym_concept] = ACTIONS(4794), + [anon_sym_requires] = ACTIONS(4794), + }, + [1639] = { + [sym__identifier] = ACTIONS(4798), + [anon_sym_COMMA] = ACTIONS(4800), + [anon_sym_RPAREN] = ACTIONS(4800), + [anon_sym_LPAREN2] = ACTIONS(4800), + [anon_sym_TILDE] = ACTIONS(4800), + [anon_sym_STAR] = ACTIONS(4800), + [anon_sym_PIPE_PIPE] = ACTIONS(4800), + [anon_sym_AMP_AMP] = ACTIONS(4800), + [anon_sym_AMP] = ACTIONS(4798), + [anon_sym_SEMI] = ACTIONS(4800), + [anon_sym___extension__] = ACTIONS(4798), + [anon_sym_extern] = ACTIONS(4798), + [anon_sym___attribute__] = ACTIONS(4798), + [anon_sym_COLON_COLON] = ACTIONS(4800), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4800), + [anon_sym___declspec] = ACTIONS(4798), + [anon_sym___based] = ACTIONS(4798), + [anon_sym___cdecl] = ACTIONS(4798), + [anon_sym___clrcall] = ACTIONS(4798), + [anon_sym___stdcall] = ACTIONS(4798), + [anon_sym___fastcall] = ACTIONS(4798), + [anon_sym___thiscall] = ACTIONS(4798), + [anon_sym___vectorcall] = ACTIONS(4798), + [anon_sym_LBRACE] = ACTIONS(4800), + [anon_sym_signed] = ACTIONS(4798), + [anon_sym_unsigned] = ACTIONS(4798), + [anon_sym_long] = ACTIONS(4798), + [anon_sym_short] = ACTIONS(4798), + [anon_sym_LBRACK] = ACTIONS(4798), + [anon_sym_static] = ACTIONS(4798), + [anon_sym_EQ] = ACTIONS(4800), + [anon_sym_register] = ACTIONS(4798), + [anon_sym_inline] = ACTIONS(4798), + [anon_sym___inline] = ACTIONS(4798), + [anon_sym___inline__] = ACTIONS(4798), + [anon_sym___forceinline] = ACTIONS(4798), + [anon_sym_thread_local] = ACTIONS(4798), + [anon_sym___thread] = ACTIONS(4798), + [anon_sym_const] = ACTIONS(4798), + [anon_sym_constexpr] = ACTIONS(4798), + [anon_sym_volatile] = ACTIONS(4798), + [anon_sym_restrict] = ACTIONS(4798), + [anon_sym___restrict__] = ACTIONS(4798), + [anon_sym__Atomic] = ACTIONS(4798), + [anon_sym__Noreturn] = ACTIONS(4798), + [anon_sym_noreturn] = ACTIONS(4798), + [anon_sym_mutable] = ACTIONS(4798), + [anon_sym_constinit] = ACTIONS(4798), + [anon_sym_consteval] = ACTIONS(4798), + [anon_sym_alignas] = ACTIONS(4798), + [anon_sym__Alignas] = ACTIONS(4798), + [sym_primitive_type] = ACTIONS(4798), + [anon_sym_enum] = ACTIONS(4798), + [anon_sym_class] = ACTIONS(4798), + [anon_sym_struct] = ACTIONS(4798), + [anon_sym_union] = ACTIONS(4798), + [anon_sym_or] = ACTIONS(4798), + [anon_sym_and] = ACTIONS(4798), + [anon_sym_asm] = ACTIONS(4798), + [anon_sym___asm__] = ACTIONS(4798), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4800), + [sym_auto] = ACTIONS(4798), + [anon_sym_decltype] = ACTIONS(4798), + [anon_sym_final] = ACTIONS(4798), + [anon_sym_override] = ACTIONS(4798), + [sym_virtual] = ACTIONS(4798), + [anon_sym_explicit] = ACTIONS(4798), + [anon_sym_typename] = ACTIONS(4798), + [anon_sym_template] = ACTIONS(4798), + [anon_sym_GT2] = ACTIONS(4800), + [anon_sym_operator] = ACTIONS(4798), + [anon_sym_try] = ACTIONS(4798), + [anon_sym_friend] = ACTIONS(4798), + [anon_sym_using] = ACTIONS(4798), + [anon_sym_concept] = ACTIONS(4798), + [anon_sym_requires] = ACTIONS(4798), + }, + [1640] = { + [sym__identifier] = ACTIONS(4802), + [anon_sym_COMMA] = ACTIONS(4804), + [anon_sym_RPAREN] = ACTIONS(4804), + [anon_sym_LPAREN2] = ACTIONS(4804), + [anon_sym_TILDE] = ACTIONS(4804), + [anon_sym_STAR] = ACTIONS(4804), + [anon_sym_PIPE_PIPE] = ACTIONS(4804), + [anon_sym_AMP_AMP] = ACTIONS(4804), + [anon_sym_AMP] = ACTIONS(4802), + [anon_sym_SEMI] = ACTIONS(4804), + [anon_sym___extension__] = ACTIONS(4802), + [anon_sym_extern] = ACTIONS(4802), + [anon_sym___attribute__] = ACTIONS(4802), + [anon_sym_COLON_COLON] = ACTIONS(4804), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4804), + [anon_sym___declspec] = ACTIONS(4802), + [anon_sym___based] = ACTIONS(4802), + [anon_sym___cdecl] = ACTIONS(4802), + [anon_sym___clrcall] = ACTIONS(4802), + [anon_sym___stdcall] = ACTIONS(4802), + [anon_sym___fastcall] = ACTIONS(4802), + [anon_sym___thiscall] = ACTIONS(4802), + [anon_sym___vectorcall] = ACTIONS(4802), + [anon_sym_LBRACE] = ACTIONS(4804), + [anon_sym_signed] = ACTIONS(4802), + [anon_sym_unsigned] = ACTIONS(4802), + [anon_sym_long] = ACTIONS(4802), + [anon_sym_short] = ACTIONS(4802), + [anon_sym_LBRACK] = ACTIONS(4802), + [anon_sym_static] = ACTIONS(4802), + [anon_sym_EQ] = ACTIONS(4804), + [anon_sym_register] = ACTIONS(4802), + [anon_sym_inline] = ACTIONS(4802), + [anon_sym___inline] = ACTIONS(4802), + [anon_sym___inline__] = ACTIONS(4802), + [anon_sym___forceinline] = ACTIONS(4802), + [anon_sym_thread_local] = ACTIONS(4802), + [anon_sym___thread] = ACTIONS(4802), + [anon_sym_const] = ACTIONS(4802), + [anon_sym_constexpr] = ACTIONS(4802), + [anon_sym_volatile] = ACTIONS(4802), + [anon_sym_restrict] = ACTIONS(4802), + [anon_sym___restrict__] = ACTIONS(4802), + [anon_sym__Atomic] = ACTIONS(4802), + [anon_sym__Noreturn] = ACTIONS(4802), + [anon_sym_noreturn] = ACTIONS(4802), + [anon_sym_mutable] = ACTIONS(4802), + [anon_sym_constinit] = ACTIONS(4802), + [anon_sym_consteval] = ACTIONS(4802), + [anon_sym_alignas] = ACTIONS(4802), + [anon_sym__Alignas] = ACTIONS(4802), + [sym_primitive_type] = ACTIONS(4802), + [anon_sym_enum] = ACTIONS(4802), + [anon_sym_class] = ACTIONS(4802), + [anon_sym_struct] = ACTIONS(4802), + [anon_sym_union] = ACTIONS(4802), + [anon_sym_or] = ACTIONS(4802), + [anon_sym_and] = ACTIONS(4802), + [anon_sym_asm] = ACTIONS(4802), + [anon_sym___asm__] = ACTIONS(4802), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4804), + [sym_auto] = ACTIONS(4802), + [anon_sym_decltype] = ACTIONS(4802), + [anon_sym_final] = ACTIONS(4802), + [anon_sym_override] = ACTIONS(4802), + [sym_virtual] = ACTIONS(4802), + [anon_sym_explicit] = ACTIONS(4802), + [anon_sym_typename] = ACTIONS(4802), + [anon_sym_template] = ACTIONS(4802), + [anon_sym_GT2] = ACTIONS(4804), + [anon_sym_operator] = ACTIONS(4802), + [anon_sym_try] = ACTIONS(4802), + [anon_sym_friend] = ACTIONS(4802), + [anon_sym_using] = ACTIONS(4802), + [anon_sym_concept] = ACTIONS(4802), + [anon_sym_requires] = ACTIONS(4802), + }, + [1641] = { + [sym__identifier] = ACTIONS(4806), + [anon_sym_COMMA] = ACTIONS(4808), + [anon_sym_RPAREN] = ACTIONS(4808), + [anon_sym_LPAREN2] = ACTIONS(4808), + [anon_sym_TILDE] = ACTIONS(4808), + [anon_sym_STAR] = ACTIONS(4808), + [anon_sym_PIPE_PIPE] = ACTIONS(4808), + [anon_sym_AMP_AMP] = ACTIONS(4808), + [anon_sym_AMP] = ACTIONS(4806), + [anon_sym_SEMI] = ACTIONS(4808), + [anon_sym___extension__] = ACTIONS(4806), + [anon_sym_extern] = ACTIONS(4806), + [anon_sym___attribute__] = ACTIONS(4806), + [anon_sym_COLON_COLON] = ACTIONS(4808), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4808), + [anon_sym___declspec] = ACTIONS(4806), + [anon_sym___based] = ACTIONS(4806), + [anon_sym___cdecl] = ACTIONS(4806), + [anon_sym___clrcall] = ACTIONS(4806), + [anon_sym___stdcall] = ACTIONS(4806), + [anon_sym___fastcall] = ACTIONS(4806), + [anon_sym___thiscall] = ACTIONS(4806), + [anon_sym___vectorcall] = ACTIONS(4806), + [anon_sym_LBRACE] = ACTIONS(4808), + [anon_sym_signed] = ACTIONS(4806), + [anon_sym_unsigned] = ACTIONS(4806), + [anon_sym_long] = ACTIONS(4806), + [anon_sym_short] = ACTIONS(4806), + [anon_sym_LBRACK] = ACTIONS(4806), + [anon_sym_static] = ACTIONS(4806), + [anon_sym_EQ] = ACTIONS(4808), + [anon_sym_register] = ACTIONS(4806), + [anon_sym_inline] = ACTIONS(4806), + [anon_sym___inline] = ACTIONS(4806), + [anon_sym___inline__] = ACTIONS(4806), + [anon_sym___forceinline] = ACTIONS(4806), + [anon_sym_thread_local] = ACTIONS(4806), + [anon_sym___thread] = ACTIONS(4806), + [anon_sym_const] = ACTIONS(4806), + [anon_sym_constexpr] = ACTIONS(4806), + [anon_sym_volatile] = ACTIONS(4806), + [anon_sym_restrict] = ACTIONS(4806), + [anon_sym___restrict__] = ACTIONS(4806), + [anon_sym__Atomic] = ACTIONS(4806), + [anon_sym__Noreturn] = ACTIONS(4806), + [anon_sym_noreturn] = ACTIONS(4806), + [anon_sym_mutable] = ACTIONS(4806), + [anon_sym_constinit] = ACTIONS(4806), + [anon_sym_consteval] = ACTIONS(4806), + [anon_sym_alignas] = ACTIONS(4806), + [anon_sym__Alignas] = ACTIONS(4806), + [sym_primitive_type] = ACTIONS(4806), + [anon_sym_enum] = ACTIONS(4806), + [anon_sym_class] = ACTIONS(4806), + [anon_sym_struct] = ACTIONS(4806), + [anon_sym_union] = ACTIONS(4806), + [anon_sym_or] = ACTIONS(4806), + [anon_sym_and] = ACTIONS(4806), + [anon_sym_asm] = ACTIONS(4806), + [anon_sym___asm__] = ACTIONS(4806), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4808), + [sym_auto] = ACTIONS(4806), + [anon_sym_decltype] = ACTIONS(4806), + [anon_sym_final] = ACTIONS(4806), + [anon_sym_override] = ACTIONS(4806), + [sym_virtual] = ACTIONS(4806), + [anon_sym_explicit] = ACTIONS(4806), + [anon_sym_typename] = ACTIONS(4806), + [anon_sym_template] = ACTIONS(4806), + [anon_sym_GT2] = ACTIONS(4808), + [anon_sym_operator] = ACTIONS(4806), + [anon_sym_try] = ACTIONS(4806), + [anon_sym_friend] = ACTIONS(4806), + [anon_sym_using] = ACTIONS(4806), + [anon_sym_concept] = ACTIONS(4806), + [anon_sym_requires] = ACTIONS(4806), + }, + [1642] = { + [sym__identifier] = ACTIONS(4810), + [anon_sym_COMMA] = ACTIONS(4812), + [anon_sym_RPAREN] = ACTIONS(4812), + [anon_sym_LPAREN2] = ACTIONS(4812), + [anon_sym_TILDE] = ACTIONS(4812), + [anon_sym_STAR] = ACTIONS(4812), + [anon_sym_PIPE_PIPE] = ACTIONS(4812), + [anon_sym_AMP_AMP] = ACTIONS(4812), + [anon_sym_AMP] = ACTIONS(4810), + [anon_sym_SEMI] = ACTIONS(4812), + [anon_sym___extension__] = ACTIONS(4810), + [anon_sym_extern] = ACTIONS(4810), + [anon_sym___attribute__] = ACTIONS(4810), + [anon_sym_COLON_COLON] = ACTIONS(4812), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4812), + [anon_sym___declspec] = ACTIONS(4810), + [anon_sym___based] = ACTIONS(4810), + [anon_sym___cdecl] = ACTIONS(4810), + [anon_sym___clrcall] = ACTIONS(4810), + [anon_sym___stdcall] = ACTIONS(4810), + [anon_sym___fastcall] = ACTIONS(4810), + [anon_sym___thiscall] = ACTIONS(4810), + [anon_sym___vectorcall] = ACTIONS(4810), + [anon_sym_LBRACE] = ACTIONS(4812), + [anon_sym_signed] = ACTIONS(4810), + [anon_sym_unsigned] = ACTIONS(4810), + [anon_sym_long] = ACTIONS(4810), + [anon_sym_short] = ACTIONS(4810), + [anon_sym_LBRACK] = ACTIONS(4810), + [anon_sym_static] = ACTIONS(4810), + [anon_sym_EQ] = ACTIONS(4812), + [anon_sym_register] = ACTIONS(4810), + [anon_sym_inline] = ACTIONS(4810), + [anon_sym___inline] = ACTIONS(4810), + [anon_sym___inline__] = ACTIONS(4810), + [anon_sym___forceinline] = ACTIONS(4810), + [anon_sym_thread_local] = ACTIONS(4810), + [anon_sym___thread] = ACTIONS(4810), + [anon_sym_const] = ACTIONS(4810), + [anon_sym_constexpr] = ACTIONS(4810), + [anon_sym_volatile] = ACTIONS(4810), + [anon_sym_restrict] = ACTIONS(4810), + [anon_sym___restrict__] = ACTIONS(4810), + [anon_sym__Atomic] = ACTIONS(4810), + [anon_sym__Noreturn] = ACTIONS(4810), + [anon_sym_noreturn] = ACTIONS(4810), + [anon_sym_mutable] = ACTIONS(4810), + [anon_sym_constinit] = ACTIONS(4810), + [anon_sym_consteval] = ACTIONS(4810), + [anon_sym_alignas] = ACTIONS(4810), + [anon_sym__Alignas] = ACTIONS(4810), + [sym_primitive_type] = ACTIONS(4810), + [anon_sym_enum] = ACTIONS(4810), + [anon_sym_class] = ACTIONS(4810), + [anon_sym_struct] = ACTIONS(4810), + [anon_sym_union] = ACTIONS(4810), + [anon_sym_or] = ACTIONS(4810), + [anon_sym_and] = ACTIONS(4810), + [anon_sym_asm] = ACTIONS(4810), + [anon_sym___asm__] = ACTIONS(4810), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4812), + [sym_auto] = ACTIONS(4810), + [anon_sym_decltype] = ACTIONS(4810), + [anon_sym_final] = ACTIONS(4810), + [anon_sym_override] = ACTIONS(4810), + [sym_virtual] = ACTIONS(4810), + [anon_sym_explicit] = ACTIONS(4810), + [anon_sym_typename] = ACTIONS(4810), + [anon_sym_template] = ACTIONS(4810), + [anon_sym_GT2] = ACTIONS(4812), + [anon_sym_operator] = ACTIONS(4810), + [anon_sym_try] = ACTIONS(4810), + [anon_sym_friend] = ACTIONS(4810), + [anon_sym_using] = ACTIONS(4810), + [anon_sym_concept] = ACTIONS(4810), + [anon_sym_requires] = ACTIONS(4810), + }, + [1643] = { + [sym__identifier] = ACTIONS(4814), + [anon_sym_COMMA] = ACTIONS(4816), + [anon_sym_RPAREN] = ACTIONS(4816), + [anon_sym_LPAREN2] = ACTIONS(4816), + [anon_sym_TILDE] = ACTIONS(4816), + [anon_sym_STAR] = ACTIONS(4816), + [anon_sym_PIPE_PIPE] = ACTIONS(4816), + [anon_sym_AMP_AMP] = ACTIONS(4816), + [anon_sym_AMP] = ACTIONS(4814), + [anon_sym_SEMI] = ACTIONS(4816), + [anon_sym___extension__] = ACTIONS(4814), + [anon_sym_extern] = ACTIONS(4814), + [anon_sym___attribute__] = ACTIONS(4814), + [anon_sym_COLON_COLON] = ACTIONS(4816), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4816), + [anon_sym___declspec] = ACTIONS(4814), + [anon_sym___based] = ACTIONS(4814), + [anon_sym___cdecl] = ACTIONS(4814), + [anon_sym___clrcall] = ACTIONS(4814), + [anon_sym___stdcall] = ACTIONS(4814), + [anon_sym___fastcall] = ACTIONS(4814), + [anon_sym___thiscall] = ACTIONS(4814), + [anon_sym___vectorcall] = ACTIONS(4814), + [anon_sym_LBRACE] = ACTIONS(4816), + [anon_sym_signed] = ACTIONS(4814), + [anon_sym_unsigned] = ACTIONS(4814), + [anon_sym_long] = ACTIONS(4814), + [anon_sym_short] = ACTIONS(4814), + [anon_sym_LBRACK] = ACTIONS(4814), + [anon_sym_static] = ACTIONS(4814), + [anon_sym_EQ] = ACTIONS(4816), + [anon_sym_register] = ACTIONS(4814), + [anon_sym_inline] = ACTIONS(4814), + [anon_sym___inline] = ACTIONS(4814), + [anon_sym___inline__] = ACTIONS(4814), + [anon_sym___forceinline] = ACTIONS(4814), + [anon_sym_thread_local] = ACTIONS(4814), + [anon_sym___thread] = ACTIONS(4814), + [anon_sym_const] = ACTIONS(4814), + [anon_sym_constexpr] = ACTIONS(4814), + [anon_sym_volatile] = ACTIONS(4814), + [anon_sym_restrict] = ACTIONS(4814), + [anon_sym___restrict__] = ACTIONS(4814), + [anon_sym__Atomic] = ACTIONS(4814), + [anon_sym__Noreturn] = ACTIONS(4814), + [anon_sym_noreturn] = ACTIONS(4814), + [anon_sym_mutable] = ACTIONS(4814), + [anon_sym_constinit] = ACTIONS(4814), + [anon_sym_consteval] = ACTIONS(4814), + [anon_sym_alignas] = ACTIONS(4814), + [anon_sym__Alignas] = ACTIONS(4814), + [sym_primitive_type] = ACTIONS(4814), + [anon_sym_enum] = ACTIONS(4814), + [anon_sym_class] = ACTIONS(4814), + [anon_sym_struct] = ACTIONS(4814), + [anon_sym_union] = ACTIONS(4814), + [anon_sym_or] = ACTIONS(4814), + [anon_sym_and] = ACTIONS(4814), + [anon_sym_asm] = ACTIONS(4814), + [anon_sym___asm__] = ACTIONS(4814), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4816), + [sym_auto] = ACTIONS(4814), + [anon_sym_decltype] = ACTIONS(4814), + [anon_sym_final] = ACTIONS(4814), + [anon_sym_override] = ACTIONS(4814), + [sym_virtual] = ACTIONS(4814), + [anon_sym_explicit] = ACTIONS(4814), + [anon_sym_typename] = ACTIONS(4814), + [anon_sym_template] = ACTIONS(4814), + [anon_sym_GT2] = ACTIONS(4816), + [anon_sym_operator] = ACTIONS(4814), + [anon_sym_try] = ACTIONS(4814), + [anon_sym_friend] = ACTIONS(4814), + [anon_sym_using] = ACTIONS(4814), + [anon_sym_concept] = ACTIONS(4814), + [anon_sym_requires] = ACTIONS(4814), + }, + [1644] = { + [sym__identifier] = ACTIONS(4818), + [anon_sym_COMMA] = ACTIONS(4820), + [anon_sym_RPAREN] = ACTIONS(4820), + [anon_sym_LPAREN2] = ACTIONS(4820), + [anon_sym_TILDE] = ACTIONS(4820), + [anon_sym_STAR] = ACTIONS(4820), + [anon_sym_PIPE_PIPE] = ACTIONS(4820), + [anon_sym_AMP_AMP] = ACTIONS(4820), + [anon_sym_AMP] = ACTIONS(4818), + [anon_sym_SEMI] = ACTIONS(4820), + [anon_sym___extension__] = ACTIONS(4818), + [anon_sym_extern] = ACTIONS(4818), + [anon_sym___attribute__] = ACTIONS(4818), + [anon_sym_COLON_COLON] = ACTIONS(4820), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4820), + [anon_sym___declspec] = ACTIONS(4818), + [anon_sym___based] = ACTIONS(4818), + [anon_sym___cdecl] = ACTIONS(4818), + [anon_sym___clrcall] = ACTIONS(4818), + [anon_sym___stdcall] = ACTIONS(4818), + [anon_sym___fastcall] = ACTIONS(4818), + [anon_sym___thiscall] = ACTIONS(4818), + [anon_sym___vectorcall] = ACTIONS(4818), + [anon_sym_LBRACE] = ACTIONS(4820), + [anon_sym_signed] = ACTIONS(4818), + [anon_sym_unsigned] = ACTIONS(4818), + [anon_sym_long] = ACTIONS(4818), + [anon_sym_short] = ACTIONS(4818), + [anon_sym_LBRACK] = ACTIONS(4818), + [anon_sym_static] = ACTIONS(4818), + [anon_sym_EQ] = ACTIONS(4820), + [anon_sym_register] = ACTIONS(4818), + [anon_sym_inline] = ACTIONS(4818), + [anon_sym___inline] = ACTIONS(4818), + [anon_sym___inline__] = ACTIONS(4818), + [anon_sym___forceinline] = ACTIONS(4818), + [anon_sym_thread_local] = ACTIONS(4818), + [anon_sym___thread] = ACTIONS(4818), + [anon_sym_const] = ACTIONS(4818), + [anon_sym_constexpr] = ACTIONS(4818), + [anon_sym_volatile] = ACTIONS(4818), + [anon_sym_restrict] = ACTIONS(4818), + [anon_sym___restrict__] = ACTIONS(4818), + [anon_sym__Atomic] = ACTIONS(4818), + [anon_sym__Noreturn] = ACTIONS(4818), + [anon_sym_noreturn] = ACTIONS(4818), + [anon_sym_mutable] = ACTIONS(4818), + [anon_sym_constinit] = ACTIONS(4818), + [anon_sym_consteval] = ACTIONS(4818), + [anon_sym_alignas] = ACTIONS(4818), + [anon_sym__Alignas] = ACTIONS(4818), + [sym_primitive_type] = ACTIONS(4818), + [anon_sym_enum] = ACTIONS(4818), + [anon_sym_class] = ACTIONS(4818), + [anon_sym_struct] = ACTIONS(4818), + [anon_sym_union] = ACTIONS(4818), + [anon_sym_or] = ACTIONS(4818), + [anon_sym_and] = ACTIONS(4818), + [anon_sym_asm] = ACTIONS(4818), + [anon_sym___asm__] = ACTIONS(4818), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4820), + [sym_auto] = ACTIONS(4818), + [anon_sym_decltype] = ACTIONS(4818), + [anon_sym_final] = ACTIONS(4818), + [anon_sym_override] = ACTIONS(4818), + [sym_virtual] = ACTIONS(4818), + [anon_sym_explicit] = ACTIONS(4818), + [anon_sym_typename] = ACTIONS(4818), + [anon_sym_template] = ACTIONS(4818), + [anon_sym_GT2] = ACTIONS(4820), + [anon_sym_operator] = ACTIONS(4818), + [anon_sym_try] = ACTIONS(4818), + [anon_sym_friend] = ACTIONS(4818), + [anon_sym_using] = ACTIONS(4818), + [anon_sym_concept] = ACTIONS(4818), + [anon_sym_requires] = ACTIONS(4818), + }, + [1645] = { + [sym__identifier] = ACTIONS(4822), + [anon_sym_COMMA] = ACTIONS(4824), + [anon_sym_RPAREN] = ACTIONS(4824), + [anon_sym_LPAREN2] = ACTIONS(4824), + [anon_sym_TILDE] = ACTIONS(4824), + [anon_sym_STAR] = ACTIONS(4824), + [anon_sym_PIPE_PIPE] = ACTIONS(4824), + [anon_sym_AMP_AMP] = ACTIONS(4824), + [anon_sym_AMP] = ACTIONS(4822), + [anon_sym_SEMI] = ACTIONS(4824), + [anon_sym___extension__] = ACTIONS(4822), + [anon_sym_extern] = ACTIONS(4822), + [anon_sym___attribute__] = ACTIONS(4822), + [anon_sym_COLON_COLON] = ACTIONS(4824), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4824), + [anon_sym___declspec] = ACTIONS(4822), + [anon_sym___based] = ACTIONS(4822), + [anon_sym___cdecl] = ACTIONS(4822), + [anon_sym___clrcall] = ACTIONS(4822), + [anon_sym___stdcall] = ACTIONS(4822), + [anon_sym___fastcall] = ACTIONS(4822), + [anon_sym___thiscall] = ACTIONS(4822), + [anon_sym___vectorcall] = ACTIONS(4822), + [anon_sym_LBRACE] = ACTIONS(4824), + [anon_sym_signed] = ACTIONS(4822), + [anon_sym_unsigned] = ACTIONS(4822), + [anon_sym_long] = ACTIONS(4822), + [anon_sym_short] = ACTIONS(4822), + [anon_sym_LBRACK] = ACTIONS(4822), + [anon_sym_static] = ACTIONS(4822), + [anon_sym_EQ] = ACTIONS(4824), + [anon_sym_register] = ACTIONS(4822), + [anon_sym_inline] = ACTIONS(4822), + [anon_sym___inline] = ACTIONS(4822), + [anon_sym___inline__] = ACTIONS(4822), + [anon_sym___forceinline] = ACTIONS(4822), + [anon_sym_thread_local] = ACTIONS(4822), + [anon_sym___thread] = ACTIONS(4822), + [anon_sym_const] = ACTIONS(4822), + [anon_sym_constexpr] = ACTIONS(4822), + [anon_sym_volatile] = ACTIONS(4822), + [anon_sym_restrict] = ACTIONS(4822), + [anon_sym___restrict__] = ACTIONS(4822), + [anon_sym__Atomic] = ACTIONS(4822), + [anon_sym__Noreturn] = ACTIONS(4822), + [anon_sym_noreturn] = ACTIONS(4822), + [anon_sym_mutable] = ACTIONS(4822), + [anon_sym_constinit] = ACTIONS(4822), + [anon_sym_consteval] = ACTIONS(4822), + [anon_sym_alignas] = ACTIONS(4822), + [anon_sym__Alignas] = ACTIONS(4822), + [sym_primitive_type] = ACTIONS(4822), + [anon_sym_enum] = ACTIONS(4822), + [anon_sym_class] = ACTIONS(4822), + [anon_sym_struct] = ACTIONS(4822), + [anon_sym_union] = ACTIONS(4822), + [anon_sym_or] = ACTIONS(4822), + [anon_sym_and] = ACTIONS(4822), + [anon_sym_asm] = ACTIONS(4822), + [anon_sym___asm__] = ACTIONS(4822), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4824), + [sym_auto] = ACTIONS(4822), + [anon_sym_decltype] = ACTIONS(4822), + [anon_sym_final] = ACTIONS(4822), + [anon_sym_override] = ACTIONS(4822), + [sym_virtual] = ACTIONS(4822), + [anon_sym_explicit] = ACTIONS(4822), + [anon_sym_typename] = ACTIONS(4822), + [anon_sym_template] = ACTIONS(4822), + [anon_sym_GT2] = ACTIONS(4824), + [anon_sym_operator] = ACTIONS(4822), + [anon_sym_try] = ACTIONS(4822), + [anon_sym_friend] = ACTIONS(4822), + [anon_sym_using] = ACTIONS(4822), + [anon_sym_concept] = ACTIONS(4822), + [anon_sym_requires] = ACTIONS(4822), + }, + [1646] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4066), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7406), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_type_parameter_declaration] = STATE(7406), + [sym_variadic_type_parameter_declaration] = STATE(7406), + [sym_optional_type_parameter_declaration] = STATE(7406), + [sym_template_template_parameter_declaration] = STATE(7406), + [sym_optional_parameter_declaration] = STATE(7406), + [sym_variadic_parameter_declaration] = STATE(7406), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(4826), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(4828), + [anon_sym_template] = ACTIONS(4830), + [anon_sym_GT2] = ACTIONS(4832), + }, + [1647] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4066), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7291), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_type_parameter_declaration] = STATE(7291), + [sym_variadic_type_parameter_declaration] = STATE(7291), + [sym_optional_type_parameter_declaration] = STATE(7291), + [sym_template_template_parameter_declaration] = STATE(7291), + [sym_optional_parameter_declaration] = STATE(7291), + [sym_variadic_parameter_declaration] = STATE(7291), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(4826), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(4828), + [anon_sym_template] = ACTIONS(4830), + [anon_sym_GT2] = ACTIONS(4834), + }, + [1648] = { + [sym__identifier] = ACTIONS(4794), + [anon_sym_COMMA] = ACTIONS(4796), + [anon_sym_RPAREN] = ACTIONS(4796), + [anon_sym_LPAREN2] = ACTIONS(4796), + [anon_sym_TILDE] = ACTIONS(4796), + [anon_sym_STAR] = ACTIONS(4796), + [anon_sym_PIPE_PIPE] = ACTIONS(4796), + [anon_sym_AMP_AMP] = ACTIONS(4796), + [anon_sym_AMP] = ACTIONS(4794), + [anon_sym_SEMI] = ACTIONS(4796), + [anon_sym___extension__] = ACTIONS(4794), + [anon_sym_extern] = ACTIONS(4794), + [anon_sym___attribute__] = ACTIONS(4794), + [anon_sym_COLON_COLON] = ACTIONS(4796), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4796), + [anon_sym___declspec] = ACTIONS(4794), + [anon_sym___based] = ACTIONS(4794), + [anon_sym___cdecl] = ACTIONS(4794), + [anon_sym___clrcall] = ACTIONS(4794), + [anon_sym___stdcall] = ACTIONS(4794), + [anon_sym___fastcall] = ACTIONS(4794), + [anon_sym___thiscall] = ACTIONS(4794), + [anon_sym___vectorcall] = ACTIONS(4794), + [anon_sym_LBRACE] = ACTIONS(4796), + [anon_sym_signed] = ACTIONS(4794), + [anon_sym_unsigned] = ACTIONS(4794), + [anon_sym_long] = ACTIONS(4794), + [anon_sym_short] = ACTIONS(4794), + [anon_sym_LBRACK] = ACTIONS(4794), + [anon_sym_static] = ACTIONS(4794), + [anon_sym_EQ] = ACTIONS(4796), + [anon_sym_register] = ACTIONS(4794), + [anon_sym_inline] = ACTIONS(4794), + [anon_sym___inline] = ACTIONS(4794), + [anon_sym___inline__] = ACTIONS(4794), + [anon_sym___forceinline] = ACTIONS(4794), + [anon_sym_thread_local] = ACTIONS(4794), + [anon_sym___thread] = ACTIONS(4794), + [anon_sym_const] = ACTIONS(4794), + [anon_sym_constexpr] = ACTIONS(4794), + [anon_sym_volatile] = ACTIONS(4794), + [anon_sym_restrict] = ACTIONS(4794), + [anon_sym___restrict__] = ACTIONS(4794), + [anon_sym__Atomic] = ACTIONS(4794), + [anon_sym__Noreturn] = ACTIONS(4794), + [anon_sym_noreturn] = ACTIONS(4794), + [anon_sym_mutable] = ACTIONS(4794), + [anon_sym_constinit] = ACTIONS(4794), + [anon_sym_consteval] = ACTIONS(4794), + [anon_sym_alignas] = ACTIONS(4794), + [anon_sym__Alignas] = ACTIONS(4794), + [sym_primitive_type] = ACTIONS(4794), + [anon_sym_enum] = ACTIONS(4794), + [anon_sym_class] = ACTIONS(4794), + [anon_sym_struct] = ACTIONS(4794), + [anon_sym_union] = ACTIONS(4794), + [anon_sym_or] = ACTIONS(4794), + [anon_sym_and] = ACTIONS(4794), + [anon_sym_asm] = ACTIONS(4794), + [anon_sym___asm__] = ACTIONS(4794), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4796), + [sym_auto] = ACTIONS(4794), + [anon_sym_decltype] = ACTIONS(4794), + [anon_sym_final] = ACTIONS(4794), + [anon_sym_override] = ACTIONS(4794), + [sym_virtual] = ACTIONS(4794), + [anon_sym_explicit] = ACTIONS(4794), + [anon_sym_typename] = ACTIONS(4794), + [anon_sym_template] = ACTIONS(4794), + [anon_sym_GT2] = ACTIONS(4796), + [anon_sym_operator] = ACTIONS(4794), + [anon_sym_try] = ACTIONS(4794), + [anon_sym_friend] = ACTIONS(4794), + [anon_sym_using] = ACTIONS(4794), + [anon_sym_concept] = ACTIONS(4794), + [anon_sym_requires] = ACTIONS(4794), + }, + [1649] = { + [sym__identifier] = ACTIONS(4836), + [anon_sym_COMMA] = ACTIONS(4838), + [anon_sym_RPAREN] = ACTIONS(4838), + [anon_sym_LPAREN2] = ACTIONS(4838), + [anon_sym_TILDE] = ACTIONS(4838), + [anon_sym_STAR] = ACTIONS(4838), + [anon_sym_PIPE_PIPE] = ACTIONS(4838), + [anon_sym_AMP_AMP] = ACTIONS(4838), + [anon_sym_AMP] = ACTIONS(4836), + [anon_sym_SEMI] = ACTIONS(4838), + [anon_sym___extension__] = ACTIONS(4836), + [anon_sym_extern] = ACTIONS(4836), + [anon_sym___attribute__] = ACTIONS(4836), + [anon_sym_COLON_COLON] = ACTIONS(4838), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4838), + [anon_sym___declspec] = ACTIONS(4836), + [anon_sym___based] = ACTIONS(4836), + [anon_sym___cdecl] = ACTIONS(4836), + [anon_sym___clrcall] = ACTIONS(4836), + [anon_sym___stdcall] = ACTIONS(4836), + [anon_sym___fastcall] = ACTIONS(4836), + [anon_sym___thiscall] = ACTIONS(4836), + [anon_sym___vectorcall] = ACTIONS(4836), + [anon_sym_LBRACE] = ACTIONS(4838), + [anon_sym_signed] = ACTIONS(4836), + [anon_sym_unsigned] = ACTIONS(4836), + [anon_sym_long] = ACTIONS(4836), + [anon_sym_short] = ACTIONS(4836), + [anon_sym_LBRACK] = ACTIONS(4836), + [anon_sym_static] = ACTIONS(4836), + [anon_sym_EQ] = ACTIONS(4838), + [anon_sym_register] = ACTIONS(4836), + [anon_sym_inline] = ACTIONS(4836), + [anon_sym___inline] = ACTIONS(4836), + [anon_sym___inline__] = ACTIONS(4836), + [anon_sym___forceinline] = ACTIONS(4836), + [anon_sym_thread_local] = ACTIONS(4836), + [anon_sym___thread] = ACTIONS(4836), + [anon_sym_const] = ACTIONS(4836), + [anon_sym_constexpr] = ACTIONS(4836), + [anon_sym_volatile] = ACTIONS(4836), + [anon_sym_restrict] = ACTIONS(4836), + [anon_sym___restrict__] = ACTIONS(4836), + [anon_sym__Atomic] = ACTIONS(4836), + [anon_sym__Noreturn] = ACTIONS(4836), + [anon_sym_noreturn] = ACTIONS(4836), + [anon_sym_mutable] = ACTIONS(4836), + [anon_sym_constinit] = ACTIONS(4836), + [anon_sym_consteval] = ACTIONS(4836), + [anon_sym_alignas] = ACTIONS(4836), + [anon_sym__Alignas] = ACTIONS(4836), + [sym_primitive_type] = ACTIONS(4836), + [anon_sym_enum] = ACTIONS(4836), + [anon_sym_class] = ACTIONS(4836), + [anon_sym_struct] = ACTIONS(4836), + [anon_sym_union] = ACTIONS(4836), + [anon_sym_or] = ACTIONS(4836), + [anon_sym_and] = ACTIONS(4836), + [anon_sym_asm] = ACTIONS(4836), + [anon_sym___asm__] = ACTIONS(4836), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4838), + [sym_auto] = ACTIONS(4836), + [anon_sym_decltype] = ACTIONS(4836), + [anon_sym_final] = ACTIONS(4836), + [anon_sym_override] = ACTIONS(4836), + [sym_virtual] = ACTIONS(4836), + [anon_sym_explicit] = ACTIONS(4836), + [anon_sym_typename] = ACTIONS(4836), + [anon_sym_template] = ACTIONS(4836), + [anon_sym_GT2] = ACTIONS(4838), + [anon_sym_operator] = ACTIONS(4836), + [anon_sym_try] = ACTIONS(4836), + [anon_sym_friend] = ACTIONS(4836), + [anon_sym_using] = ACTIONS(4836), + [anon_sym_concept] = ACTIONS(4836), + [anon_sym_requires] = ACTIONS(4836), + }, + [1650] = { + [sym__identifier] = ACTIONS(4794), + [anon_sym_COMMA] = ACTIONS(4796), + [anon_sym_RPAREN] = ACTIONS(4796), + [anon_sym_LPAREN2] = ACTIONS(4796), + [anon_sym_TILDE] = ACTIONS(4796), + [anon_sym_STAR] = ACTIONS(4796), + [anon_sym_PIPE_PIPE] = ACTIONS(4796), + [anon_sym_AMP_AMP] = ACTIONS(4796), + [anon_sym_AMP] = ACTIONS(4794), + [anon_sym_SEMI] = ACTIONS(4796), + [anon_sym___extension__] = ACTIONS(4794), + [anon_sym_extern] = ACTIONS(4794), + [anon_sym___attribute__] = ACTIONS(4794), + [anon_sym_COLON_COLON] = ACTIONS(4796), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4796), + [anon_sym___declspec] = ACTIONS(4794), + [anon_sym___based] = ACTIONS(4794), + [anon_sym___cdecl] = ACTIONS(4794), + [anon_sym___clrcall] = ACTIONS(4794), + [anon_sym___stdcall] = ACTIONS(4794), + [anon_sym___fastcall] = ACTIONS(4794), + [anon_sym___thiscall] = ACTIONS(4794), + [anon_sym___vectorcall] = ACTIONS(4794), + [anon_sym_LBRACE] = ACTIONS(4796), + [anon_sym_signed] = ACTIONS(4794), + [anon_sym_unsigned] = ACTIONS(4794), + [anon_sym_long] = ACTIONS(4794), + [anon_sym_short] = ACTIONS(4794), + [anon_sym_LBRACK] = ACTIONS(4794), + [anon_sym_static] = ACTIONS(4794), + [anon_sym_EQ] = ACTIONS(4796), + [anon_sym_register] = ACTIONS(4794), + [anon_sym_inline] = ACTIONS(4794), + [anon_sym___inline] = ACTIONS(4794), + [anon_sym___inline__] = ACTIONS(4794), + [anon_sym___forceinline] = ACTIONS(4794), + [anon_sym_thread_local] = ACTIONS(4794), + [anon_sym___thread] = ACTIONS(4794), + [anon_sym_const] = ACTIONS(4794), + [anon_sym_constexpr] = ACTIONS(4794), + [anon_sym_volatile] = ACTIONS(4794), + [anon_sym_restrict] = ACTIONS(4794), + [anon_sym___restrict__] = ACTIONS(4794), + [anon_sym__Atomic] = ACTIONS(4794), + [anon_sym__Noreturn] = ACTIONS(4794), + [anon_sym_noreturn] = ACTIONS(4794), + [anon_sym_mutable] = ACTIONS(4794), + [anon_sym_constinit] = ACTIONS(4794), + [anon_sym_consteval] = ACTIONS(4794), + [anon_sym_alignas] = ACTIONS(4794), + [anon_sym__Alignas] = ACTIONS(4794), + [sym_primitive_type] = ACTIONS(4794), + [anon_sym_enum] = ACTIONS(4794), + [anon_sym_class] = ACTIONS(4794), + [anon_sym_struct] = ACTIONS(4794), + [anon_sym_union] = ACTIONS(4794), + [anon_sym_or] = ACTIONS(4794), + [anon_sym_and] = ACTIONS(4794), + [anon_sym_asm] = ACTIONS(4794), + [anon_sym___asm__] = ACTIONS(4794), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4796), + [sym_auto] = ACTIONS(4794), + [anon_sym_decltype] = ACTIONS(4794), + [anon_sym_final] = ACTIONS(4794), + [anon_sym_override] = ACTIONS(4794), + [sym_virtual] = ACTIONS(4794), + [anon_sym_explicit] = ACTIONS(4794), + [anon_sym_typename] = ACTIONS(4794), + [anon_sym_template] = ACTIONS(4794), + [anon_sym_GT2] = ACTIONS(4796), + [anon_sym_operator] = ACTIONS(4794), + [anon_sym_try] = ACTIONS(4794), + [anon_sym_friend] = ACTIONS(4794), + [anon_sym_using] = ACTIONS(4794), + [anon_sym_concept] = ACTIONS(4794), + [anon_sym_requires] = ACTIONS(4794), + }, + [1651] = { + [sym__identifier] = ACTIONS(4840), + [anon_sym_COMMA] = ACTIONS(4842), + [anon_sym_RPAREN] = ACTIONS(4842), + [anon_sym_LPAREN2] = ACTIONS(4842), + [anon_sym_TILDE] = ACTIONS(4842), + [anon_sym_STAR] = ACTIONS(4842), + [anon_sym_PIPE_PIPE] = ACTIONS(4842), + [anon_sym_AMP_AMP] = ACTIONS(4842), + [anon_sym_AMP] = ACTIONS(4840), + [anon_sym_SEMI] = ACTIONS(4842), + [anon_sym___extension__] = ACTIONS(4840), + [anon_sym_extern] = ACTIONS(4840), + [anon_sym___attribute__] = ACTIONS(4840), + [anon_sym_COLON_COLON] = ACTIONS(4842), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4842), + [anon_sym___declspec] = ACTIONS(4840), + [anon_sym___based] = ACTIONS(4840), + [anon_sym___cdecl] = ACTIONS(4840), + [anon_sym___clrcall] = ACTIONS(4840), + [anon_sym___stdcall] = ACTIONS(4840), + [anon_sym___fastcall] = ACTIONS(4840), + [anon_sym___thiscall] = ACTIONS(4840), + [anon_sym___vectorcall] = ACTIONS(4840), + [anon_sym_LBRACE] = ACTIONS(4842), + [anon_sym_signed] = ACTIONS(4840), + [anon_sym_unsigned] = ACTIONS(4840), + [anon_sym_long] = ACTIONS(4840), + [anon_sym_short] = ACTIONS(4840), + [anon_sym_LBRACK] = ACTIONS(4840), + [anon_sym_static] = ACTIONS(4840), + [anon_sym_EQ] = ACTIONS(4842), + [anon_sym_register] = ACTIONS(4840), + [anon_sym_inline] = ACTIONS(4840), + [anon_sym___inline] = ACTIONS(4840), + [anon_sym___inline__] = ACTIONS(4840), + [anon_sym___forceinline] = ACTIONS(4840), + [anon_sym_thread_local] = ACTIONS(4840), + [anon_sym___thread] = ACTIONS(4840), + [anon_sym_const] = ACTIONS(4840), + [anon_sym_constexpr] = ACTIONS(4840), + [anon_sym_volatile] = ACTIONS(4840), + [anon_sym_restrict] = ACTIONS(4840), + [anon_sym___restrict__] = ACTIONS(4840), + [anon_sym__Atomic] = ACTIONS(4840), + [anon_sym__Noreturn] = ACTIONS(4840), + [anon_sym_noreturn] = ACTIONS(4840), + [anon_sym_mutable] = ACTIONS(4840), + [anon_sym_constinit] = ACTIONS(4840), + [anon_sym_consteval] = ACTIONS(4840), + [anon_sym_alignas] = ACTIONS(4840), + [anon_sym__Alignas] = ACTIONS(4840), + [sym_primitive_type] = ACTIONS(4840), + [anon_sym_enum] = ACTIONS(4840), + [anon_sym_class] = ACTIONS(4840), + [anon_sym_struct] = ACTIONS(4840), + [anon_sym_union] = ACTIONS(4840), + [anon_sym_or] = ACTIONS(4840), + [anon_sym_and] = ACTIONS(4840), + [anon_sym_asm] = ACTIONS(4840), + [anon_sym___asm__] = ACTIONS(4840), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4842), + [sym_auto] = ACTIONS(4840), + [anon_sym_decltype] = ACTIONS(4840), + [anon_sym_final] = ACTIONS(4840), + [anon_sym_override] = ACTIONS(4840), + [sym_virtual] = ACTIONS(4840), + [anon_sym_explicit] = ACTIONS(4840), + [anon_sym_typename] = ACTIONS(4840), + [anon_sym_template] = ACTIONS(4840), + [anon_sym_GT2] = ACTIONS(4842), + [anon_sym_operator] = ACTIONS(4840), + [anon_sym_try] = ACTIONS(4840), + [anon_sym_friend] = ACTIONS(4840), + [anon_sym_using] = ACTIONS(4840), + [anon_sym_concept] = ACTIONS(4840), + [anon_sym_requires] = ACTIONS(4840), + }, + [1652] = { + [sym__identifier] = ACTIONS(4844), + [anon_sym_COMMA] = ACTIONS(4846), + [anon_sym_RPAREN] = ACTIONS(4846), + [anon_sym_LPAREN2] = ACTIONS(4846), + [anon_sym_TILDE] = ACTIONS(4846), + [anon_sym_STAR] = ACTIONS(4846), + [anon_sym_PIPE_PIPE] = ACTIONS(4846), + [anon_sym_AMP_AMP] = ACTIONS(4846), + [anon_sym_AMP] = ACTIONS(4844), + [anon_sym_SEMI] = ACTIONS(4846), + [anon_sym___extension__] = ACTIONS(4844), + [anon_sym_extern] = ACTIONS(4844), + [anon_sym___attribute__] = ACTIONS(4844), + [anon_sym_COLON_COLON] = ACTIONS(4846), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4846), + [anon_sym___declspec] = ACTIONS(4844), + [anon_sym___based] = ACTIONS(4844), + [anon_sym___cdecl] = ACTIONS(4844), + [anon_sym___clrcall] = ACTIONS(4844), + [anon_sym___stdcall] = ACTIONS(4844), + [anon_sym___fastcall] = ACTIONS(4844), + [anon_sym___thiscall] = ACTIONS(4844), + [anon_sym___vectorcall] = ACTIONS(4844), + [anon_sym_LBRACE] = ACTIONS(4846), + [anon_sym_signed] = ACTIONS(4844), + [anon_sym_unsigned] = ACTIONS(4844), + [anon_sym_long] = ACTIONS(4844), + [anon_sym_short] = ACTIONS(4844), + [anon_sym_LBRACK] = ACTIONS(4844), + [anon_sym_static] = ACTIONS(4844), + [anon_sym_EQ] = ACTIONS(4846), + [anon_sym_register] = ACTIONS(4844), + [anon_sym_inline] = ACTIONS(4844), + [anon_sym___inline] = ACTIONS(4844), + [anon_sym___inline__] = ACTIONS(4844), + [anon_sym___forceinline] = ACTIONS(4844), + [anon_sym_thread_local] = ACTIONS(4844), + [anon_sym___thread] = ACTIONS(4844), + [anon_sym_const] = ACTIONS(4844), + [anon_sym_constexpr] = ACTIONS(4844), + [anon_sym_volatile] = ACTIONS(4844), + [anon_sym_restrict] = ACTIONS(4844), + [anon_sym___restrict__] = ACTIONS(4844), + [anon_sym__Atomic] = ACTIONS(4844), + [anon_sym__Noreturn] = ACTIONS(4844), + [anon_sym_noreturn] = ACTIONS(4844), + [anon_sym_mutable] = ACTIONS(4844), + [anon_sym_constinit] = ACTIONS(4844), + [anon_sym_consteval] = ACTIONS(4844), + [anon_sym_alignas] = ACTIONS(4844), + [anon_sym__Alignas] = ACTIONS(4844), + [sym_primitive_type] = ACTIONS(4844), + [anon_sym_enum] = ACTIONS(4844), + [anon_sym_class] = ACTIONS(4844), + [anon_sym_struct] = ACTIONS(4844), + [anon_sym_union] = ACTIONS(4844), + [anon_sym_or] = ACTIONS(4844), + [anon_sym_and] = ACTIONS(4844), + [anon_sym_asm] = ACTIONS(4844), + [anon_sym___asm__] = ACTIONS(4844), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4846), + [sym_auto] = ACTIONS(4844), + [anon_sym_decltype] = ACTIONS(4844), + [anon_sym_final] = ACTIONS(4844), + [anon_sym_override] = ACTIONS(4844), + [sym_virtual] = ACTIONS(4844), + [anon_sym_explicit] = ACTIONS(4844), + [anon_sym_typename] = ACTIONS(4844), + [anon_sym_template] = ACTIONS(4844), + [anon_sym_GT2] = ACTIONS(4846), + [anon_sym_operator] = ACTIONS(4844), + [anon_sym_try] = ACTIONS(4844), + [anon_sym_friend] = ACTIONS(4844), + [anon_sym_using] = ACTIONS(4844), + [anon_sym_concept] = ACTIONS(4844), + [anon_sym_requires] = ACTIONS(4844), + }, + [1653] = { + [sym__identifier] = ACTIONS(4848), + [anon_sym_COMMA] = ACTIONS(4850), + [anon_sym_RPAREN] = ACTIONS(4850), + [anon_sym_LPAREN2] = ACTIONS(4850), + [anon_sym_TILDE] = ACTIONS(4850), + [anon_sym_STAR] = ACTIONS(4850), + [anon_sym_PIPE_PIPE] = ACTIONS(4850), + [anon_sym_AMP_AMP] = ACTIONS(4850), + [anon_sym_AMP] = ACTIONS(4848), + [anon_sym_SEMI] = ACTIONS(4850), + [anon_sym___extension__] = ACTIONS(4848), + [anon_sym_extern] = ACTIONS(4848), + [anon_sym___attribute__] = ACTIONS(4848), + [anon_sym_COLON_COLON] = ACTIONS(4850), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4850), + [anon_sym___declspec] = ACTIONS(4848), + [anon_sym___based] = ACTIONS(4848), + [anon_sym___cdecl] = ACTIONS(4848), + [anon_sym___clrcall] = ACTIONS(4848), + [anon_sym___stdcall] = ACTIONS(4848), + [anon_sym___fastcall] = ACTIONS(4848), + [anon_sym___thiscall] = ACTIONS(4848), + [anon_sym___vectorcall] = ACTIONS(4848), + [anon_sym_LBRACE] = ACTIONS(4850), + [anon_sym_signed] = ACTIONS(4848), + [anon_sym_unsigned] = ACTIONS(4848), + [anon_sym_long] = ACTIONS(4848), + [anon_sym_short] = ACTIONS(4848), + [anon_sym_LBRACK] = ACTIONS(4848), + [anon_sym_static] = ACTIONS(4848), + [anon_sym_EQ] = ACTIONS(4850), + [anon_sym_register] = ACTIONS(4848), + [anon_sym_inline] = ACTIONS(4848), + [anon_sym___inline] = ACTIONS(4848), + [anon_sym___inline__] = ACTIONS(4848), + [anon_sym___forceinline] = ACTIONS(4848), + [anon_sym_thread_local] = ACTIONS(4848), + [anon_sym___thread] = ACTIONS(4848), + [anon_sym_const] = ACTIONS(4848), + [anon_sym_constexpr] = ACTIONS(4848), + [anon_sym_volatile] = ACTIONS(4848), + [anon_sym_restrict] = ACTIONS(4848), + [anon_sym___restrict__] = ACTIONS(4848), + [anon_sym__Atomic] = ACTIONS(4848), + [anon_sym__Noreturn] = ACTIONS(4848), + [anon_sym_noreturn] = ACTIONS(4848), + [anon_sym_mutable] = ACTIONS(4848), + [anon_sym_constinit] = ACTIONS(4848), + [anon_sym_consteval] = ACTIONS(4848), + [anon_sym_alignas] = ACTIONS(4848), + [anon_sym__Alignas] = ACTIONS(4848), + [sym_primitive_type] = ACTIONS(4848), + [anon_sym_enum] = ACTIONS(4848), + [anon_sym_class] = ACTIONS(4848), + [anon_sym_struct] = ACTIONS(4848), + [anon_sym_union] = ACTIONS(4848), + [anon_sym_or] = ACTIONS(4848), + [anon_sym_and] = ACTIONS(4848), + [anon_sym_asm] = ACTIONS(4848), + [anon_sym___asm__] = ACTIONS(4848), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4850), + [sym_auto] = ACTIONS(4848), + [anon_sym_decltype] = ACTIONS(4848), + [anon_sym_final] = ACTIONS(4848), + [anon_sym_override] = ACTIONS(4848), + [sym_virtual] = ACTIONS(4848), + [anon_sym_explicit] = ACTIONS(4848), + [anon_sym_typename] = ACTIONS(4848), + [anon_sym_template] = ACTIONS(4848), + [anon_sym_GT2] = ACTIONS(4850), + [anon_sym_operator] = ACTIONS(4848), + [anon_sym_try] = ACTIONS(4848), + [anon_sym_friend] = ACTIONS(4848), + [anon_sym_using] = ACTIONS(4848), + [anon_sym_concept] = ACTIONS(4848), + [anon_sym_requires] = ACTIONS(4848), + }, + [1654] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4066), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7609), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_type_parameter_declaration] = STATE(7609), + [sym_variadic_type_parameter_declaration] = STATE(7609), + [sym_optional_type_parameter_declaration] = STATE(7609), + [sym_template_template_parameter_declaration] = STATE(7609), + [sym_optional_parameter_declaration] = STATE(7609), + [sym_variadic_parameter_declaration] = STATE(7609), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(4826), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(4828), + [anon_sym_template] = ACTIONS(4830), + }, + [1655] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4854), + [anon_sym_COMMA] = ACTIONS(4854), + [anon_sym_RPAREN] = ACTIONS(4854), + [aux_sym_preproc_if_token2] = ACTIONS(4854), + [aux_sym_preproc_else_token1] = ACTIONS(4854), + [aux_sym_preproc_elif_token1] = ACTIONS(4852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4854), + [anon_sym_LPAREN2] = ACTIONS(4854), + [anon_sym_DASH] = ACTIONS(4852), + [anon_sym_PLUS] = ACTIONS(4852), + [anon_sym_STAR] = ACTIONS(4854), + [anon_sym_SLASH] = ACTIONS(4852), + [anon_sym_PERCENT] = ACTIONS(4854), + [anon_sym_PIPE_PIPE] = ACTIONS(4854), + [anon_sym_AMP_AMP] = ACTIONS(4854), + [anon_sym_PIPE] = ACTIONS(4852), + [anon_sym_CARET] = ACTIONS(4854), + [anon_sym_AMP] = ACTIONS(4852), + [anon_sym_EQ_EQ] = ACTIONS(4854), + [anon_sym_BANG_EQ] = ACTIONS(4854), + [anon_sym_GT] = ACTIONS(4852), + [anon_sym_GT_EQ] = ACTIONS(4854), + [anon_sym_LT_EQ] = ACTIONS(4852), + [anon_sym_LT] = ACTIONS(4852), + [anon_sym_LT_LT] = ACTIONS(4854), + [anon_sym_GT_GT] = ACTIONS(4854), + [anon_sym_SEMI] = ACTIONS(4854), + [anon_sym___extension__] = ACTIONS(4852), + [anon_sym___attribute__] = ACTIONS(4852), + [anon_sym_LBRACE] = ACTIONS(4854), + [anon_sym_RBRACE] = ACTIONS(4854), + [anon_sym_signed] = ACTIONS(4856), + [anon_sym_unsigned] = ACTIONS(4856), + [anon_sym_long] = ACTIONS(4856), + [anon_sym_short] = ACTIONS(4856), + [anon_sym_LBRACK] = ACTIONS(4854), + [anon_sym_RBRACK] = ACTIONS(4854), + [anon_sym_const] = ACTIONS(4852), + [anon_sym_constexpr] = ACTIONS(4852), + [anon_sym_volatile] = ACTIONS(4852), + [anon_sym_restrict] = ACTIONS(4852), + [anon_sym___restrict__] = ACTIONS(4852), + [anon_sym__Atomic] = ACTIONS(4852), + [anon_sym__Noreturn] = ACTIONS(4852), + [anon_sym_noreturn] = ACTIONS(4852), + [anon_sym_mutable] = ACTIONS(4852), + [anon_sym_constinit] = ACTIONS(4852), + [anon_sym_consteval] = ACTIONS(4852), + [anon_sym_alignas] = ACTIONS(4852), + [anon_sym__Alignas] = ACTIONS(4852), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_COLON] = ACTIONS(4854), + [anon_sym_QMARK] = ACTIONS(4854), + [anon_sym_LT_EQ_GT] = ACTIONS(4854), + [anon_sym_or] = ACTIONS(4852), + [anon_sym_and] = ACTIONS(4852), + [anon_sym_bitor] = ACTIONS(4852), + [anon_sym_xor] = ACTIONS(4852), + [anon_sym_bitand] = ACTIONS(4852), + [anon_sym_not_eq] = ACTIONS(4852), + [anon_sym_DASH_DASH] = ACTIONS(4854), + [anon_sym_PLUS_PLUS] = ACTIONS(4854), + [anon_sym_DOT] = ACTIONS(4852), + [anon_sym_DOT_STAR] = ACTIONS(4854), + [anon_sym_DASH_GT] = ACTIONS(4854), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(4852), + [anon_sym_decltype] = ACTIONS(4852), + [anon_sym_final] = ACTIONS(4852), + [anon_sym_override] = ACTIONS(4852), + [anon_sym_requires] = ACTIONS(4852), + }, + [1656] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4645), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4647), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4645), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4645), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4645), + [anon_sym_GT_GT] = ACTIONS(4645), + [anon_sym_SEMI] = ACTIONS(4645), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1657] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4647), + [anon_sym_COMMA] = ACTIONS(4647), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_TILDE] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4647), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4645), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4645), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4645), + [anon_sym_GT_GT] = ACTIONS(4645), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym_extern] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4650), + [anon_sym___declspec] = ACTIONS(4643), + [anon_sym___based] = ACTIONS(4643), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_static] = ACTIONS(4643), + [anon_sym_EQ] = ACTIONS(4643), + [anon_sym_register] = ACTIONS(4643), + [anon_sym_inline] = ACTIONS(4643), + [anon_sym___inline] = ACTIONS(4643), + [anon_sym___inline__] = ACTIONS(4643), + [anon_sym___forceinline] = ACTIONS(4643), + [anon_sym_thread_local] = ACTIONS(4643), + [anon_sym___thread] = ACTIONS(4643), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [sym_virtual] = ACTIONS(4643), + [anon_sym_template] = ACTIONS(4643), + [anon_sym_operator] = ACTIONS(4643), + }, + [1658] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym___extension__] = ACTIONS(4600), + [anon_sym___attribute__] = ACTIONS(4600), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4600), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4600), + [anon_sym_volatile] = ACTIONS(4600), + [anon_sym_restrict] = ACTIONS(4600), + [anon_sym___restrict__] = ACTIONS(4600), + [anon_sym__Atomic] = ACTIONS(4600), + [anon_sym__Noreturn] = ACTIONS(4600), + [anon_sym_noreturn] = ACTIONS(4600), + [anon_sym_mutable] = ACTIONS(4600), + [anon_sym_constinit] = ACTIONS(4600), + [anon_sym_consteval] = ACTIONS(4600), + [anon_sym_alignas] = ACTIONS(4600), + [anon_sym__Alignas] = ACTIONS(4600), + [anon_sym_COLON] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4600), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_and_eq] = ACTIONS(4600), + [anon_sym_or_eq] = ACTIONS(4600), + [anon_sym_xor_eq] = ACTIONS(4600), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4600), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4600), + [anon_sym_not_eq] = ACTIONS(4600), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4598), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4600), + [anon_sym_decltype] = ACTIONS(4600), + [anon_sym_final] = ACTIONS(4600), + [anon_sym_override] = ACTIONS(4600), + [anon_sym_DASH_GT_STAR] = ACTIONS(4600), + }, + [1659] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7290), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7290), + [sym_variadic_parameter_declaration] = STATE(7290), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1857), + [anon_sym_RPAREN] = ACTIONS(4027), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1660] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym___extension__] = ACTIONS(4608), + [anon_sym___attribute__] = ACTIONS(4608), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4608), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4608), + [anon_sym_volatile] = ACTIONS(4608), + [anon_sym_restrict] = ACTIONS(4608), + [anon_sym___restrict__] = ACTIONS(4608), + [anon_sym__Atomic] = ACTIONS(4608), + [anon_sym__Noreturn] = ACTIONS(4608), + [anon_sym_noreturn] = ACTIONS(4608), + [anon_sym_mutable] = ACTIONS(4608), + [anon_sym_constinit] = ACTIONS(4608), + [anon_sym_consteval] = ACTIONS(4608), + [anon_sym_alignas] = ACTIONS(4608), + [anon_sym__Alignas] = ACTIONS(4608), + [anon_sym_COLON] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4608), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_and_eq] = ACTIONS(4608), + [anon_sym_or_eq] = ACTIONS(4608), + [anon_sym_xor_eq] = ACTIONS(4608), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4608), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4608), + [anon_sym_not_eq] = ACTIONS(4608), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4606), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4608), + [anon_sym_decltype] = ACTIONS(4608), + [anon_sym_final] = ACTIONS(4608), + [anon_sym_override] = ACTIONS(4608), + [anon_sym_DASH_GT_STAR] = ACTIONS(4608), + }, + [1661] = { + [sym__identifier] = ACTIONS(4859), + [anon_sym_LPAREN2] = ACTIONS(4861), + [anon_sym_BANG] = ACTIONS(4861), + [anon_sym_TILDE] = ACTIONS(4861), + [anon_sym_DASH] = ACTIONS(4859), + [anon_sym_PLUS] = ACTIONS(4859), + [anon_sym_STAR] = ACTIONS(4861), + [anon_sym_AMP] = ACTIONS(4861), + [anon_sym_SEMI] = ACTIONS(4861), + [anon_sym_COLON_COLON] = ACTIONS(4861), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4861), + [anon_sym_LBRACE] = ACTIONS(4861), + [anon_sym_LBRACK] = ACTIONS(4859), + [sym_primitive_type] = ACTIONS(4859), + [anon_sym_if] = ACTIONS(4859), + [anon_sym_switch] = ACTIONS(4859), + [anon_sym_case] = ACTIONS(4859), + [anon_sym_default] = ACTIONS(4859), + [anon_sym_while] = ACTIONS(4859), + [anon_sym_do] = ACTIONS(4859), + [anon_sym_for] = ACTIONS(4859), + [anon_sym_return] = ACTIONS(4859), + [anon_sym_break] = ACTIONS(4859), + [anon_sym_continue] = ACTIONS(4859), + [anon_sym_goto] = ACTIONS(4859), + [anon_sym___try] = ACTIONS(4859), + [anon_sym___leave] = ACTIONS(4859), + [anon_sym_not] = ACTIONS(4859), + [anon_sym_compl] = ACTIONS(4859), + [anon_sym_DASH_DASH] = ACTIONS(4861), + [anon_sym_PLUS_PLUS] = ACTIONS(4861), + [anon_sym_sizeof] = ACTIONS(4859), + [anon_sym___alignof__] = ACTIONS(4859), + [anon_sym___alignof] = ACTIONS(4859), + [anon_sym__alignof] = ACTIONS(4859), + [anon_sym_alignof] = ACTIONS(4859), + [anon_sym__Alignof] = ACTIONS(4859), + [anon_sym_offsetof] = ACTIONS(4859), + [anon_sym__Generic] = ACTIONS(4859), + [anon_sym_asm] = ACTIONS(4859), + [anon_sym___asm__] = ACTIONS(4859), + [sym__number_literal] = ACTIONS(4861), + [anon_sym_L_SQUOTE] = ACTIONS(4861), + [anon_sym_u_SQUOTE] = ACTIONS(4861), + [anon_sym_U_SQUOTE] = ACTIONS(4861), + [anon_sym_u8_SQUOTE] = ACTIONS(4861), + [anon_sym_SQUOTE] = ACTIONS(4861), + [anon_sym_L_DQUOTE] = ACTIONS(4861), + [anon_sym_u_DQUOTE] = ACTIONS(4861), + [anon_sym_U_DQUOTE] = ACTIONS(4861), + [anon_sym_u8_DQUOTE] = ACTIONS(4861), + [anon_sym_DQUOTE] = ACTIONS(4861), + [sym_true] = ACTIONS(4859), + [sym_false] = ACTIONS(4859), + [anon_sym_NULL] = ACTIONS(4859), + [anon_sym_nullptr] = ACTIONS(4859), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4861), + [anon_sym_decltype] = ACTIONS(4859), + [anon_sym_template] = ACTIONS(4859), + [anon_sym_try] = ACTIONS(4859), + [anon_sym_delete] = ACTIONS(4859), + [anon_sym_throw] = ACTIONS(4859), + [anon_sym_co_return] = ACTIONS(4859), + [anon_sym_co_yield] = ACTIONS(4859), + [anon_sym_R_DQUOTE] = ACTIONS(4861), + [anon_sym_LR_DQUOTE] = ACTIONS(4861), + [anon_sym_uR_DQUOTE] = ACTIONS(4861), + [anon_sym_UR_DQUOTE] = ACTIONS(4861), + [anon_sym_u8R_DQUOTE] = ACTIONS(4861), + [anon_sym_co_await] = ACTIONS(4859), + [anon_sym_new] = ACTIONS(4859), + [anon_sym_requires] = ACTIONS(4859), + [sym_this] = ACTIONS(4859), + }, + [1662] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7136), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7136), + [sym_variadic_parameter_declaration] = STATE(7136), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4863), + [anon_sym_RPAREN] = ACTIONS(4865), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1663] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym___extension__] = ACTIONS(4629), + [anon_sym___attribute__] = ACTIONS(4629), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4629), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4629), + [anon_sym_volatile] = ACTIONS(4629), + [anon_sym_restrict] = ACTIONS(4629), + [anon_sym___restrict__] = ACTIONS(4629), + [anon_sym__Atomic] = ACTIONS(4629), + [anon_sym__Noreturn] = ACTIONS(4629), + [anon_sym_noreturn] = ACTIONS(4629), + [anon_sym_mutable] = ACTIONS(4629), + [anon_sym_constinit] = ACTIONS(4629), + [anon_sym_consteval] = ACTIONS(4629), + [anon_sym_alignas] = ACTIONS(4629), + [anon_sym__Alignas] = ACTIONS(4629), + [anon_sym_COLON] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4629), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_and_eq] = ACTIONS(4629), + [anon_sym_or_eq] = ACTIONS(4629), + [anon_sym_xor_eq] = ACTIONS(4629), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4629), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4629), + [anon_sym_not_eq] = ACTIONS(4629), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4627), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4629), + [anon_sym_decltype] = ACTIONS(4629), + [anon_sym_final] = ACTIONS(4629), + [anon_sym_override] = ACTIONS(4629), + [anon_sym_DASH_GT_STAR] = ACTIONS(4629), + }, + [1664] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym___extension__] = ACTIONS(4633), + [anon_sym___attribute__] = ACTIONS(4633), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4633), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4633), + [anon_sym_volatile] = ACTIONS(4633), + [anon_sym_restrict] = ACTIONS(4633), + [anon_sym___restrict__] = ACTIONS(4633), + [anon_sym__Atomic] = ACTIONS(4633), + [anon_sym__Noreturn] = ACTIONS(4633), + [anon_sym_noreturn] = ACTIONS(4633), + [anon_sym_mutable] = ACTIONS(4633), + [anon_sym_constinit] = ACTIONS(4633), + [anon_sym_consteval] = ACTIONS(4633), + [anon_sym_alignas] = ACTIONS(4633), + [anon_sym__Alignas] = ACTIONS(4633), + [anon_sym_COLON] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4633), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_and_eq] = ACTIONS(4633), + [anon_sym_or_eq] = ACTIONS(4633), + [anon_sym_xor_eq] = ACTIONS(4633), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4633), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4633), + [anon_sym_not_eq] = ACTIONS(4633), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4631), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4633), + [anon_sym_decltype] = ACTIONS(4633), + [anon_sym_final] = ACTIONS(4633), + [anon_sym_override] = ACTIONS(4633), + [anon_sym_DASH_GT_STAR] = ACTIONS(4633), + }, + [1665] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym___extension__] = ACTIONS(4637), + [anon_sym___attribute__] = ACTIONS(4637), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4637), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4637), + [anon_sym_volatile] = ACTIONS(4637), + [anon_sym_restrict] = ACTIONS(4637), + [anon_sym___restrict__] = ACTIONS(4637), + [anon_sym__Atomic] = ACTIONS(4637), + [anon_sym__Noreturn] = ACTIONS(4637), + [anon_sym_noreturn] = ACTIONS(4637), + [anon_sym_mutable] = ACTIONS(4637), + [anon_sym_constinit] = ACTIONS(4637), + [anon_sym_consteval] = ACTIONS(4637), + [anon_sym_alignas] = ACTIONS(4637), + [anon_sym__Alignas] = ACTIONS(4637), + [anon_sym_COLON] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4637), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_and_eq] = ACTIONS(4637), + [anon_sym_or_eq] = ACTIONS(4637), + [anon_sym_xor_eq] = ACTIONS(4637), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4637), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4637), + [anon_sym_not_eq] = ACTIONS(4637), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4635), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4637), + [anon_sym_decltype] = ACTIONS(4637), + [anon_sym_final] = ACTIONS(4637), + [anon_sym_override] = ACTIONS(4637), + [anon_sym_DASH_GT_STAR] = ACTIONS(4637), + }, + [1666] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1867), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1867), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1867), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1867), + [anon_sym_GT_GT] = ACTIONS(1867), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_RBRACK] = ACTIONS(1867), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + [anon_sym_requires] = ACTIONS(1865), + }, + [1667] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7259), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7259), + [sym_variadic_parameter_declaration] = STATE(7259), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4867), + [anon_sym_RPAREN] = ACTIONS(4869), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1668] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7051), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7051), + [sym_variadic_parameter_declaration] = STATE(7051), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4871), + [anon_sym_RPAREN] = ACTIONS(4873), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1669] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym___extension__] = ACTIONS(4604), + [anon_sym___attribute__] = ACTIONS(4604), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4604), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4604), + [anon_sym_volatile] = ACTIONS(4604), + [anon_sym_restrict] = ACTIONS(4604), + [anon_sym___restrict__] = ACTIONS(4604), + [anon_sym__Atomic] = ACTIONS(4604), + [anon_sym__Noreturn] = ACTIONS(4604), + [anon_sym_noreturn] = ACTIONS(4604), + [anon_sym_mutable] = ACTIONS(4604), + [anon_sym_constinit] = ACTIONS(4604), + [anon_sym_consteval] = ACTIONS(4604), + [anon_sym_alignas] = ACTIONS(4604), + [anon_sym__Alignas] = ACTIONS(4604), + [anon_sym_COLON] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4604), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_and_eq] = ACTIONS(4604), + [anon_sym_or_eq] = ACTIONS(4604), + [anon_sym_xor_eq] = ACTIONS(4604), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4604), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4604), + [anon_sym_not_eq] = ACTIONS(4604), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4602), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4604), + [anon_sym_decltype] = ACTIONS(4604), + [anon_sym_final] = ACTIONS(4604), + [anon_sym_override] = ACTIONS(4604), + [anon_sym_DASH_GT_STAR] = ACTIONS(4604), + }, + [1670] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym___extension__] = ACTIONS(4641), + [anon_sym___attribute__] = ACTIONS(4641), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4641), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4641), + [anon_sym_volatile] = ACTIONS(4641), + [anon_sym_restrict] = ACTIONS(4641), + [anon_sym___restrict__] = ACTIONS(4641), + [anon_sym__Atomic] = ACTIONS(4641), + [anon_sym__Noreturn] = ACTIONS(4641), + [anon_sym_noreturn] = ACTIONS(4641), + [anon_sym_mutable] = ACTIONS(4641), + [anon_sym_constinit] = ACTIONS(4641), + [anon_sym_consteval] = ACTIONS(4641), + [anon_sym_alignas] = ACTIONS(4641), + [anon_sym__Alignas] = ACTIONS(4641), + [anon_sym_COLON] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4641), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_and_eq] = ACTIONS(4641), + [anon_sym_or_eq] = ACTIONS(4641), + [anon_sym_xor_eq] = ACTIONS(4641), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4641), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4641), + [anon_sym_not_eq] = ACTIONS(4641), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4639), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4641), + [anon_sym_decltype] = ACTIONS(4641), + [anon_sym_final] = ACTIONS(4641), + [anon_sym_override] = ACTIONS(4641), + [anon_sym_DASH_GT_STAR] = ACTIONS(4641), + }, + [1671] = { + [sym__identifier] = ACTIONS(4875), + [anon_sym_LPAREN2] = ACTIONS(4877), + [anon_sym_BANG] = ACTIONS(4877), + [anon_sym_TILDE] = ACTIONS(4877), + [anon_sym_DASH] = ACTIONS(4875), + [anon_sym_PLUS] = ACTIONS(4875), + [anon_sym_STAR] = ACTIONS(4877), + [anon_sym_AMP] = ACTIONS(4877), + [anon_sym_SEMI] = ACTIONS(4877), + [anon_sym_COLON_COLON] = ACTIONS(4877), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4877), + [anon_sym_LBRACE] = ACTIONS(4877), + [anon_sym_LBRACK] = ACTIONS(4875), + [sym_primitive_type] = ACTIONS(4875), + [anon_sym_if] = ACTIONS(4875), + [anon_sym_switch] = ACTIONS(4875), + [anon_sym_case] = ACTIONS(4875), + [anon_sym_default] = ACTIONS(4875), + [anon_sym_while] = ACTIONS(4875), + [anon_sym_do] = ACTIONS(4875), + [anon_sym_for] = ACTIONS(4875), + [anon_sym_return] = ACTIONS(4875), + [anon_sym_break] = ACTIONS(4875), + [anon_sym_continue] = ACTIONS(4875), + [anon_sym_goto] = ACTIONS(4875), + [anon_sym___try] = ACTIONS(4875), + [anon_sym___leave] = ACTIONS(4875), + [anon_sym_not] = ACTIONS(4875), + [anon_sym_compl] = ACTIONS(4875), + [anon_sym_DASH_DASH] = ACTIONS(4877), + [anon_sym_PLUS_PLUS] = ACTIONS(4877), + [anon_sym_sizeof] = ACTIONS(4875), + [anon_sym___alignof__] = ACTIONS(4875), + [anon_sym___alignof] = ACTIONS(4875), + [anon_sym__alignof] = ACTIONS(4875), + [anon_sym_alignof] = ACTIONS(4875), + [anon_sym__Alignof] = ACTIONS(4875), + [anon_sym_offsetof] = ACTIONS(4875), + [anon_sym__Generic] = ACTIONS(4875), + [anon_sym_asm] = ACTIONS(4875), + [anon_sym___asm__] = ACTIONS(4875), + [sym__number_literal] = ACTIONS(4877), + [anon_sym_L_SQUOTE] = ACTIONS(4877), + [anon_sym_u_SQUOTE] = ACTIONS(4877), + [anon_sym_U_SQUOTE] = ACTIONS(4877), + [anon_sym_u8_SQUOTE] = ACTIONS(4877), + [anon_sym_SQUOTE] = ACTIONS(4877), + [anon_sym_L_DQUOTE] = ACTIONS(4877), + [anon_sym_u_DQUOTE] = ACTIONS(4877), + [anon_sym_U_DQUOTE] = ACTIONS(4877), + [anon_sym_u8_DQUOTE] = ACTIONS(4877), + [anon_sym_DQUOTE] = ACTIONS(4877), + [sym_true] = ACTIONS(4875), + [sym_false] = ACTIONS(4875), + [anon_sym_NULL] = ACTIONS(4875), + [anon_sym_nullptr] = ACTIONS(4875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4877), + [anon_sym_decltype] = ACTIONS(4875), + [anon_sym_template] = ACTIONS(4875), + [anon_sym_try] = ACTIONS(4875), + [anon_sym_delete] = ACTIONS(4875), + [anon_sym_throw] = ACTIONS(4875), + [anon_sym_co_return] = ACTIONS(4875), + [anon_sym_co_yield] = ACTIONS(4875), + [anon_sym_R_DQUOTE] = ACTIONS(4877), + [anon_sym_LR_DQUOTE] = ACTIONS(4877), + [anon_sym_uR_DQUOTE] = ACTIONS(4877), + [anon_sym_UR_DQUOTE] = ACTIONS(4877), + [anon_sym_u8R_DQUOTE] = ACTIONS(4877), + [anon_sym_co_await] = ACTIONS(4875), + [anon_sym_new] = ACTIONS(4875), + [anon_sym_requires] = ACTIONS(4875), + [sym_this] = ACTIONS(4875), + }, + [1672] = { + [sym_type_qualifier] = STATE(1672), + [sym_alignas_qualifier] = STATE(1813), + [aux_sym_array_declarator_repeat1] = STATE(1672), + [sym__identifier] = ACTIONS(4879), + [anon_sym_LPAREN2] = ACTIONS(4881), + [anon_sym_BANG] = ACTIONS(4881), + [anon_sym_TILDE] = ACTIONS(4881), + [anon_sym_DASH] = ACTIONS(4879), + [anon_sym_PLUS] = ACTIONS(4879), + [anon_sym_STAR] = ACTIONS(4881), + [anon_sym_AMP] = ACTIONS(4881), + [anon_sym___extension__] = ACTIONS(4883), + [anon_sym_COLON_COLON] = ACTIONS(4881), + [anon_sym_LBRACK] = ACTIONS(4881), + [anon_sym_static] = ACTIONS(4886), + [anon_sym_RBRACK] = ACTIONS(4881), + [anon_sym_const] = ACTIONS(4883), + [anon_sym_constexpr] = ACTIONS(4883), + [anon_sym_volatile] = ACTIONS(4883), + [anon_sym_restrict] = ACTIONS(4883), + [anon_sym___restrict__] = ACTIONS(4883), + [anon_sym__Atomic] = ACTIONS(4883), + [anon_sym__Noreturn] = ACTIONS(4883), + [anon_sym_noreturn] = ACTIONS(4883), + [anon_sym_mutable] = ACTIONS(4883), + [anon_sym_constinit] = ACTIONS(4883), + [anon_sym_consteval] = ACTIONS(4883), + [anon_sym_alignas] = ACTIONS(4889), + [anon_sym__Alignas] = ACTIONS(4889), + [sym_primitive_type] = ACTIONS(4879), + [anon_sym_not] = ACTIONS(4879), + [anon_sym_compl] = ACTIONS(4879), + [anon_sym_DASH_DASH] = ACTIONS(4881), + [anon_sym_PLUS_PLUS] = ACTIONS(4881), + [anon_sym_sizeof] = ACTIONS(4879), + [anon_sym___alignof__] = ACTIONS(4879), + [anon_sym___alignof] = ACTIONS(4879), + [anon_sym__alignof] = ACTIONS(4879), + [anon_sym_alignof] = ACTIONS(4879), + [anon_sym__Alignof] = ACTIONS(4879), + [anon_sym_offsetof] = ACTIONS(4879), + [anon_sym__Generic] = ACTIONS(4879), + [anon_sym_asm] = ACTIONS(4879), + [anon_sym___asm__] = ACTIONS(4879), + [sym__number_literal] = ACTIONS(4881), + [anon_sym_L_SQUOTE] = ACTIONS(4881), + [anon_sym_u_SQUOTE] = ACTIONS(4881), + [anon_sym_U_SQUOTE] = ACTIONS(4881), + [anon_sym_u8_SQUOTE] = ACTIONS(4881), + [anon_sym_SQUOTE] = ACTIONS(4881), + [anon_sym_L_DQUOTE] = ACTIONS(4881), + [anon_sym_u_DQUOTE] = ACTIONS(4881), + [anon_sym_U_DQUOTE] = ACTIONS(4881), + [anon_sym_u8_DQUOTE] = ACTIONS(4881), + [anon_sym_DQUOTE] = ACTIONS(4881), + [sym_true] = ACTIONS(4879), + [sym_false] = ACTIONS(4879), + [anon_sym_NULL] = ACTIONS(4879), + [anon_sym_nullptr] = ACTIONS(4879), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4881), + [anon_sym_decltype] = ACTIONS(4879), + [anon_sym_template] = ACTIONS(4879), + [anon_sym_delete] = ACTIONS(4879), + [anon_sym_R_DQUOTE] = ACTIONS(4881), + [anon_sym_LR_DQUOTE] = ACTIONS(4881), + [anon_sym_uR_DQUOTE] = ACTIONS(4881), + [anon_sym_UR_DQUOTE] = ACTIONS(4881), + [anon_sym_u8R_DQUOTE] = ACTIONS(4881), + [anon_sym_co_await] = ACTIONS(4879), + [anon_sym_new] = ACTIONS(4879), + [anon_sym_requires] = ACTIONS(4879), + [sym_this] = ACTIONS(4879), + }, + [1673] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4598), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4598), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4598), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4598), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4598), + [anon_sym_GT_GT] = ACTIONS(4598), + [anon_sym___extension__] = ACTIONS(4600), + [anon_sym___attribute__] = ACTIONS(4600), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_LBRACK] = ACTIONS(4600), + [anon_sym_EQ] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4600), + [anon_sym_volatile] = ACTIONS(4600), + [anon_sym_restrict] = ACTIONS(4600), + [anon_sym___restrict__] = ACTIONS(4600), + [anon_sym__Atomic] = ACTIONS(4600), + [anon_sym__Noreturn] = ACTIONS(4600), + [anon_sym_noreturn] = ACTIONS(4600), + [anon_sym_mutable] = ACTIONS(4600), + [anon_sym_constinit] = ACTIONS(4600), + [anon_sym_consteval] = ACTIONS(4600), + [anon_sym_alignas] = ACTIONS(4600), + [anon_sym__Alignas] = ACTIONS(4600), + [anon_sym_COLON] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_STAR_EQ] = ACTIONS(4600), + [anon_sym_SLASH_EQ] = ACTIONS(4600), + [anon_sym_PERCENT_EQ] = ACTIONS(4600), + [anon_sym_PLUS_EQ] = ACTIONS(4600), + [anon_sym_DASH_EQ] = ACTIONS(4600), + [anon_sym_LT_LT_EQ] = ACTIONS(4600), + [anon_sym_GT_GT_EQ] = ACTIONS(4598), + [anon_sym_AMP_EQ] = ACTIONS(4600), + [anon_sym_CARET_EQ] = ACTIONS(4600), + [anon_sym_PIPE_EQ] = ACTIONS(4600), + [anon_sym_and_eq] = ACTIONS(4600), + [anon_sym_or_eq] = ACTIONS(4600), + [anon_sym_xor_eq] = ACTIONS(4600), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4600), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4600), + [anon_sym_not_eq] = ACTIONS(4600), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4600), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4600), + [anon_sym_decltype] = ACTIONS(4600), + [anon_sym_final] = ACTIONS(4600), + [anon_sym_override] = ACTIONS(4600), + [anon_sym_GT2] = ACTIONS(4600), + }, + [1674] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_template_argument_list] = STATE(2331), + [sym_raw_string_literal] = STATE(1634), + [sym__identifier] = ACTIONS(3773), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [aux_sym_preproc_if_token2] = ACTIONS(3765), + [aux_sym_preproc_else_token1] = ACTIONS(3765), + [aux_sym_preproc_elif_token1] = ACTIONS(3773), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3765), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4892), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4895), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + }, + [1675] = { + [sym__identifier] = ACTIONS(4898), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4014), + [anon_sym_COMMA] = ACTIONS(4014), + [anon_sym_RPAREN] = ACTIONS(4014), + [aux_sym_preproc_if_token2] = ACTIONS(4014), + [aux_sym_preproc_else_token1] = ACTIONS(4014), + [aux_sym_preproc_elif_token1] = ACTIONS(4898), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4014), + [anon_sym_LPAREN2] = ACTIONS(4014), + [anon_sym_DASH] = ACTIONS(4898), + [anon_sym_PLUS] = ACTIONS(4898), + [anon_sym_STAR] = ACTIONS(4898), + [anon_sym_SLASH] = ACTIONS(4898), + [anon_sym_PERCENT] = ACTIONS(4898), + [anon_sym_PIPE_PIPE] = ACTIONS(4014), + [anon_sym_AMP_AMP] = ACTIONS(4014), + [anon_sym_PIPE] = ACTIONS(4898), + [anon_sym_CARET] = ACTIONS(4898), + [anon_sym_AMP] = ACTIONS(4898), + [anon_sym_EQ_EQ] = ACTIONS(4014), + [anon_sym_BANG_EQ] = ACTIONS(4014), + [anon_sym_GT] = ACTIONS(4898), + [anon_sym_GT_EQ] = ACTIONS(4014), + [anon_sym_LT_EQ] = ACTIONS(4898), + [anon_sym_LT] = ACTIONS(4898), + [anon_sym_LT_LT] = ACTIONS(4898), + [anon_sym_GT_GT] = ACTIONS(4898), + [anon_sym_SEMI] = ACTIONS(4014), + [anon_sym_RBRACE] = ACTIONS(4014), + [anon_sym_LBRACK] = ACTIONS(4014), + [anon_sym_RBRACK] = ACTIONS(4014), + [anon_sym_EQ] = ACTIONS(4898), + [anon_sym_COLON] = ACTIONS(4014), + [anon_sym_QMARK] = ACTIONS(4014), + [anon_sym_STAR_EQ] = ACTIONS(4014), + [anon_sym_SLASH_EQ] = ACTIONS(4014), + [anon_sym_PERCENT_EQ] = ACTIONS(4014), + [anon_sym_PLUS_EQ] = ACTIONS(4014), + [anon_sym_DASH_EQ] = ACTIONS(4014), + [anon_sym_LT_LT_EQ] = ACTIONS(4014), + [anon_sym_GT_GT_EQ] = ACTIONS(4014), + [anon_sym_AMP_EQ] = ACTIONS(4014), + [anon_sym_CARET_EQ] = ACTIONS(4014), + [anon_sym_PIPE_EQ] = ACTIONS(4014), + [anon_sym_and_eq] = ACTIONS(4898), + [anon_sym_or_eq] = ACTIONS(4898), + [anon_sym_xor_eq] = ACTIONS(4898), + [anon_sym_LT_EQ_GT] = ACTIONS(4014), + [anon_sym_or] = ACTIONS(4898), + [anon_sym_and] = ACTIONS(4898), + [anon_sym_bitor] = ACTIONS(4898), + [anon_sym_xor] = ACTIONS(4898), + [anon_sym_bitand] = ACTIONS(4898), + [anon_sym_not_eq] = ACTIONS(4898), + [anon_sym_DASH_DASH] = ACTIONS(4014), + [anon_sym_PLUS_PLUS] = ACTIONS(4014), + [anon_sym_DOT] = ACTIONS(4898), + [anon_sym_DOT_STAR] = ACTIONS(4014), + [anon_sym_DASH_GT] = ACTIONS(4014), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4898), + }, + [1676] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4639), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4639), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4639), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4639), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4639), + [anon_sym_GT_GT] = ACTIONS(4639), + [anon_sym___extension__] = ACTIONS(4641), + [anon_sym___attribute__] = ACTIONS(4641), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_LBRACK] = ACTIONS(4641), + [anon_sym_EQ] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4641), + [anon_sym_volatile] = ACTIONS(4641), + [anon_sym_restrict] = ACTIONS(4641), + [anon_sym___restrict__] = ACTIONS(4641), + [anon_sym__Atomic] = ACTIONS(4641), + [anon_sym__Noreturn] = ACTIONS(4641), + [anon_sym_noreturn] = ACTIONS(4641), + [anon_sym_mutable] = ACTIONS(4641), + [anon_sym_constinit] = ACTIONS(4641), + [anon_sym_consteval] = ACTIONS(4641), + [anon_sym_alignas] = ACTIONS(4641), + [anon_sym__Alignas] = ACTIONS(4641), + [anon_sym_COLON] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_STAR_EQ] = ACTIONS(4641), + [anon_sym_SLASH_EQ] = ACTIONS(4641), + [anon_sym_PERCENT_EQ] = ACTIONS(4641), + [anon_sym_PLUS_EQ] = ACTIONS(4641), + [anon_sym_DASH_EQ] = ACTIONS(4641), + [anon_sym_LT_LT_EQ] = ACTIONS(4641), + [anon_sym_GT_GT_EQ] = ACTIONS(4639), + [anon_sym_AMP_EQ] = ACTIONS(4641), + [anon_sym_CARET_EQ] = ACTIONS(4641), + [anon_sym_PIPE_EQ] = ACTIONS(4641), + [anon_sym_and_eq] = ACTIONS(4641), + [anon_sym_or_eq] = ACTIONS(4641), + [anon_sym_xor_eq] = ACTIONS(4641), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4641), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4641), + [anon_sym_not_eq] = ACTIONS(4641), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4641), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4641), + [anon_sym_decltype] = ACTIONS(4641), + [anon_sym_final] = ACTIONS(4641), + [anon_sym_override] = ACTIONS(4641), + [anon_sym_GT2] = ACTIONS(4641), + }, + [1677] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4635), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4635), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4635), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4635), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4635), + [anon_sym_GT_GT] = ACTIONS(4635), + [anon_sym___extension__] = ACTIONS(4637), + [anon_sym___attribute__] = ACTIONS(4637), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_LBRACK] = ACTIONS(4637), + [anon_sym_EQ] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4637), + [anon_sym_volatile] = ACTIONS(4637), + [anon_sym_restrict] = ACTIONS(4637), + [anon_sym___restrict__] = ACTIONS(4637), + [anon_sym__Atomic] = ACTIONS(4637), + [anon_sym__Noreturn] = ACTIONS(4637), + [anon_sym_noreturn] = ACTIONS(4637), + [anon_sym_mutable] = ACTIONS(4637), + [anon_sym_constinit] = ACTIONS(4637), + [anon_sym_consteval] = ACTIONS(4637), + [anon_sym_alignas] = ACTIONS(4637), + [anon_sym__Alignas] = ACTIONS(4637), + [anon_sym_COLON] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_STAR_EQ] = ACTIONS(4637), + [anon_sym_SLASH_EQ] = ACTIONS(4637), + [anon_sym_PERCENT_EQ] = ACTIONS(4637), + [anon_sym_PLUS_EQ] = ACTIONS(4637), + [anon_sym_DASH_EQ] = ACTIONS(4637), + [anon_sym_LT_LT_EQ] = ACTIONS(4637), + [anon_sym_GT_GT_EQ] = ACTIONS(4635), + [anon_sym_AMP_EQ] = ACTIONS(4637), + [anon_sym_CARET_EQ] = ACTIONS(4637), + [anon_sym_PIPE_EQ] = ACTIONS(4637), + [anon_sym_and_eq] = ACTIONS(4637), + [anon_sym_or_eq] = ACTIONS(4637), + [anon_sym_xor_eq] = ACTIONS(4637), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4637), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4637), + [anon_sym_not_eq] = ACTIONS(4637), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4637), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4637), + [anon_sym_decltype] = ACTIONS(4637), + [anon_sym_final] = ACTIONS(4637), + [anon_sym_override] = ACTIONS(4637), + [anon_sym_GT2] = ACTIONS(4637), + }, + [1678] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4631), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4631), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4631), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4631), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4631), + [anon_sym_GT_GT] = ACTIONS(4631), + [anon_sym___extension__] = ACTIONS(4633), + [anon_sym___attribute__] = ACTIONS(4633), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_LBRACK] = ACTIONS(4633), + [anon_sym_EQ] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4633), + [anon_sym_volatile] = ACTIONS(4633), + [anon_sym_restrict] = ACTIONS(4633), + [anon_sym___restrict__] = ACTIONS(4633), + [anon_sym__Atomic] = ACTIONS(4633), + [anon_sym__Noreturn] = ACTIONS(4633), + [anon_sym_noreturn] = ACTIONS(4633), + [anon_sym_mutable] = ACTIONS(4633), + [anon_sym_constinit] = ACTIONS(4633), + [anon_sym_consteval] = ACTIONS(4633), + [anon_sym_alignas] = ACTIONS(4633), + [anon_sym__Alignas] = ACTIONS(4633), + [anon_sym_COLON] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_STAR_EQ] = ACTIONS(4633), + [anon_sym_SLASH_EQ] = ACTIONS(4633), + [anon_sym_PERCENT_EQ] = ACTIONS(4633), + [anon_sym_PLUS_EQ] = ACTIONS(4633), + [anon_sym_DASH_EQ] = ACTIONS(4633), + [anon_sym_LT_LT_EQ] = ACTIONS(4633), + [anon_sym_GT_GT_EQ] = ACTIONS(4631), + [anon_sym_AMP_EQ] = ACTIONS(4633), + [anon_sym_CARET_EQ] = ACTIONS(4633), + [anon_sym_PIPE_EQ] = ACTIONS(4633), + [anon_sym_and_eq] = ACTIONS(4633), + [anon_sym_or_eq] = ACTIONS(4633), + [anon_sym_xor_eq] = ACTIONS(4633), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4633), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4633), + [anon_sym_not_eq] = ACTIONS(4633), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4633), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4633), + [anon_sym_decltype] = ACTIONS(4633), + [anon_sym_final] = ACTIONS(4633), + [anon_sym_override] = ACTIONS(4633), + [anon_sym_GT2] = ACTIONS(4633), + }, + [1679] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_RBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1867), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [sym_literal_suffix] = ACTIONS(1865), + }, + [1680] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7629), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7629), + [sym_variadic_parameter_declaration] = STATE(7629), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4901), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1681] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4602), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4602), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4602), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4602), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4602), + [anon_sym_GT_GT] = ACTIONS(4602), + [anon_sym___extension__] = ACTIONS(4604), + [anon_sym___attribute__] = ACTIONS(4604), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_LBRACK] = ACTIONS(4604), + [anon_sym_EQ] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4604), + [anon_sym_volatile] = ACTIONS(4604), + [anon_sym_restrict] = ACTIONS(4604), + [anon_sym___restrict__] = ACTIONS(4604), + [anon_sym__Atomic] = ACTIONS(4604), + [anon_sym__Noreturn] = ACTIONS(4604), + [anon_sym_noreturn] = ACTIONS(4604), + [anon_sym_mutable] = ACTIONS(4604), + [anon_sym_constinit] = ACTIONS(4604), + [anon_sym_consteval] = ACTIONS(4604), + [anon_sym_alignas] = ACTIONS(4604), + [anon_sym__Alignas] = ACTIONS(4604), + [anon_sym_COLON] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_STAR_EQ] = ACTIONS(4604), + [anon_sym_SLASH_EQ] = ACTIONS(4604), + [anon_sym_PERCENT_EQ] = ACTIONS(4604), + [anon_sym_PLUS_EQ] = ACTIONS(4604), + [anon_sym_DASH_EQ] = ACTIONS(4604), + [anon_sym_LT_LT_EQ] = ACTIONS(4604), + [anon_sym_GT_GT_EQ] = ACTIONS(4602), + [anon_sym_AMP_EQ] = ACTIONS(4604), + [anon_sym_CARET_EQ] = ACTIONS(4604), + [anon_sym_PIPE_EQ] = ACTIONS(4604), + [anon_sym_and_eq] = ACTIONS(4604), + [anon_sym_or_eq] = ACTIONS(4604), + [anon_sym_xor_eq] = ACTIONS(4604), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4604), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4604), + [anon_sym_not_eq] = ACTIONS(4604), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4604), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4604), + [anon_sym_decltype] = ACTIONS(4604), + [anon_sym_final] = ACTIONS(4604), + [anon_sym_override] = ACTIONS(4604), + [anon_sym_GT2] = ACTIONS(4604), + }, + [1682] = { + [sym_catch_clause] = STATE(1683), + [aux_sym_constructor_try_statement_repeat1] = STATE(1683), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token2] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [aux_sym_preproc_else_token1] = ACTIONS(2663), + [aux_sym_preproc_elif_token1] = ACTIONS(2663), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_friend] = ACTIONS(2663), + [anon_sym_public] = ACTIONS(2663), + [anon_sym_private] = ACTIONS(2663), + [anon_sym_protected] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(4903), + }, + [1683] = { + [sym_catch_clause] = STATE(1683), + [aux_sym_constructor_try_statement_repeat1] = STATE(1683), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token2] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [aux_sym_preproc_else_token1] = ACTIONS(2572), + [aux_sym_preproc_elif_token1] = ACTIONS(2572), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_friend] = ACTIONS(2572), + [anon_sym_public] = ACTIONS(2572), + [anon_sym_private] = ACTIONS(2572), + [anon_sym_protected] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(4905), + }, + [1684] = { + [sym__identifier] = ACTIONS(4908), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4910), + [anon_sym_COMMA] = ACTIONS(4910), + [anon_sym_RPAREN] = ACTIONS(4910), + [aux_sym_preproc_if_token2] = ACTIONS(4910), + [aux_sym_preproc_else_token1] = ACTIONS(4910), + [aux_sym_preproc_elif_token1] = ACTIONS(4908), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4910), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4910), + [anon_sym_LPAREN2] = ACTIONS(4910), + [anon_sym_DASH] = ACTIONS(4908), + [anon_sym_PLUS] = ACTIONS(4908), + [anon_sym_STAR] = ACTIONS(4908), + [anon_sym_SLASH] = ACTIONS(4908), + [anon_sym_PERCENT] = ACTIONS(4908), + [anon_sym_PIPE_PIPE] = ACTIONS(4910), + [anon_sym_AMP_AMP] = ACTIONS(4910), + [anon_sym_PIPE] = ACTIONS(4908), + [anon_sym_CARET] = ACTIONS(4908), + [anon_sym_AMP] = ACTIONS(4908), + [anon_sym_EQ_EQ] = ACTIONS(4910), + [anon_sym_BANG_EQ] = ACTIONS(4910), + [anon_sym_GT] = ACTIONS(4908), + [anon_sym_GT_EQ] = ACTIONS(4910), + [anon_sym_LT_EQ] = ACTIONS(4908), + [anon_sym_LT] = ACTIONS(4908), + [anon_sym_LT_LT] = ACTIONS(4908), + [anon_sym_GT_GT] = ACTIONS(4908), + [anon_sym_SEMI] = ACTIONS(4910), + [anon_sym_RBRACE] = ACTIONS(4910), + [anon_sym_LBRACK] = ACTIONS(4910), + [anon_sym_RBRACK] = ACTIONS(4910), + [anon_sym_EQ] = ACTIONS(4908), + [anon_sym_COLON] = ACTIONS(4910), + [anon_sym_QMARK] = ACTIONS(4910), + [anon_sym_STAR_EQ] = ACTIONS(4910), + [anon_sym_SLASH_EQ] = ACTIONS(4910), + [anon_sym_PERCENT_EQ] = ACTIONS(4910), + [anon_sym_PLUS_EQ] = ACTIONS(4910), + [anon_sym_DASH_EQ] = ACTIONS(4910), + [anon_sym_LT_LT_EQ] = ACTIONS(4910), + [anon_sym_GT_GT_EQ] = ACTIONS(4910), + [anon_sym_AMP_EQ] = ACTIONS(4910), + [anon_sym_CARET_EQ] = ACTIONS(4910), + [anon_sym_PIPE_EQ] = ACTIONS(4910), + [anon_sym_and_eq] = ACTIONS(4908), + [anon_sym_or_eq] = ACTIONS(4908), + [anon_sym_xor_eq] = ACTIONS(4908), + [anon_sym_LT_EQ_GT] = ACTIONS(4910), + [anon_sym_or] = ACTIONS(4908), + [anon_sym_and] = ACTIONS(4908), + [anon_sym_bitor] = ACTIONS(4908), + [anon_sym_xor] = ACTIONS(4908), + [anon_sym_bitand] = ACTIONS(4908), + [anon_sym_not_eq] = ACTIONS(4908), + [anon_sym_DASH_DASH] = ACTIONS(4910), + [anon_sym_PLUS_PLUS] = ACTIONS(4910), + [anon_sym_DOT] = ACTIONS(4908), + [anon_sym_DOT_STAR] = ACTIONS(4910), + [anon_sym_DASH_GT] = ACTIONS(4910), + [anon_sym_L_DQUOTE] = ACTIONS(4910), + [anon_sym_u_DQUOTE] = ACTIONS(4910), + [anon_sym_U_DQUOTE] = ACTIONS(4910), + [anon_sym_u8_DQUOTE] = ACTIONS(4910), + [anon_sym_DQUOTE] = ACTIONS(4910), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4910), + [anon_sym_R_DQUOTE] = ACTIONS(4910), + [anon_sym_LR_DQUOTE] = ACTIONS(4910), + [anon_sym_uR_DQUOTE] = ACTIONS(4910), + [anon_sym_UR_DQUOTE] = ACTIONS(4910), + [anon_sym_u8R_DQUOTE] = ACTIONS(4910), + [sym_literal_suffix] = ACTIONS(4908), + }, + [1685] = { + [sym__identifier] = ACTIONS(4912), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4914), + [anon_sym_COMMA] = ACTIONS(4914), + [anon_sym_RPAREN] = ACTIONS(4914), + [aux_sym_preproc_if_token2] = ACTIONS(4914), + [aux_sym_preproc_else_token1] = ACTIONS(4914), + [aux_sym_preproc_elif_token1] = ACTIONS(4912), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4914), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4914), + [anon_sym_LPAREN2] = ACTIONS(4914), + [anon_sym_DASH] = ACTIONS(4912), + [anon_sym_PLUS] = ACTIONS(4912), + [anon_sym_STAR] = ACTIONS(4912), + [anon_sym_SLASH] = ACTIONS(4912), + [anon_sym_PERCENT] = ACTIONS(4912), + [anon_sym_PIPE_PIPE] = ACTIONS(4914), + [anon_sym_AMP_AMP] = ACTIONS(4914), + [anon_sym_PIPE] = ACTIONS(4912), + [anon_sym_CARET] = ACTIONS(4912), + [anon_sym_AMP] = ACTIONS(4912), + [anon_sym_EQ_EQ] = ACTIONS(4914), + [anon_sym_BANG_EQ] = ACTIONS(4914), + [anon_sym_GT] = ACTIONS(4912), + [anon_sym_GT_EQ] = ACTIONS(4914), + [anon_sym_LT_EQ] = ACTIONS(4912), + [anon_sym_LT] = ACTIONS(4912), + [anon_sym_LT_LT] = ACTIONS(4912), + [anon_sym_GT_GT] = ACTIONS(4912), + [anon_sym_SEMI] = ACTIONS(4914), + [anon_sym_RBRACE] = ACTIONS(4914), + [anon_sym_LBRACK] = ACTIONS(4914), + [anon_sym_RBRACK] = ACTIONS(4914), + [anon_sym_EQ] = ACTIONS(4912), + [anon_sym_COLON] = ACTIONS(4914), + [anon_sym_QMARK] = ACTIONS(4914), + [anon_sym_STAR_EQ] = ACTIONS(4914), + [anon_sym_SLASH_EQ] = ACTIONS(4914), + [anon_sym_PERCENT_EQ] = ACTIONS(4914), + [anon_sym_PLUS_EQ] = ACTIONS(4914), + [anon_sym_DASH_EQ] = ACTIONS(4914), + [anon_sym_LT_LT_EQ] = ACTIONS(4914), + [anon_sym_GT_GT_EQ] = ACTIONS(4914), + [anon_sym_AMP_EQ] = ACTIONS(4914), + [anon_sym_CARET_EQ] = ACTIONS(4914), + [anon_sym_PIPE_EQ] = ACTIONS(4914), + [anon_sym_and_eq] = ACTIONS(4912), + [anon_sym_or_eq] = ACTIONS(4912), + [anon_sym_xor_eq] = ACTIONS(4912), + [anon_sym_LT_EQ_GT] = ACTIONS(4914), + [anon_sym_or] = ACTIONS(4912), + [anon_sym_and] = ACTIONS(4912), + [anon_sym_bitor] = ACTIONS(4912), + [anon_sym_xor] = ACTIONS(4912), + [anon_sym_bitand] = ACTIONS(4912), + [anon_sym_not_eq] = ACTIONS(4912), + [anon_sym_DASH_DASH] = ACTIONS(4914), + [anon_sym_PLUS_PLUS] = ACTIONS(4914), + [anon_sym_DOT] = ACTIONS(4912), + [anon_sym_DOT_STAR] = ACTIONS(4914), + [anon_sym_DASH_GT] = ACTIONS(4914), + [anon_sym_L_DQUOTE] = ACTIONS(4914), + [anon_sym_u_DQUOTE] = ACTIONS(4914), + [anon_sym_U_DQUOTE] = ACTIONS(4914), + [anon_sym_u8_DQUOTE] = ACTIONS(4914), + [anon_sym_DQUOTE] = ACTIONS(4914), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4914), + [anon_sym_R_DQUOTE] = ACTIONS(4914), + [anon_sym_LR_DQUOTE] = ACTIONS(4914), + [anon_sym_uR_DQUOTE] = ACTIONS(4914), + [anon_sym_UR_DQUOTE] = ACTIONS(4914), + [anon_sym_u8R_DQUOTE] = ACTIONS(4914), + [sym_literal_suffix] = ACTIONS(4912), + }, + [1686] = { + [sym_catch_clause] = STATE(1683), + [aux_sym_constructor_try_statement_repeat1] = STATE(1683), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token2] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [aux_sym_preproc_else_token1] = ACTIONS(2667), + [aux_sym_preproc_elif_token1] = ACTIONS(2667), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_friend] = ACTIONS(2667), + [anon_sym_public] = ACTIONS(2667), + [anon_sym_private] = ACTIONS(2667), + [anon_sym_protected] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(4903), + }, + [1687] = { + [sym_catch_clause] = STATE(1683), + [aux_sym_constructor_try_statement_repeat1] = STATE(1683), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token2] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [aux_sym_preproc_else_token1] = ACTIONS(2566), + [aux_sym_preproc_elif_token1] = ACTIONS(2566), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_friend] = ACTIONS(2566), + [anon_sym_public] = ACTIONS(2566), + [anon_sym_private] = ACTIONS(2566), + [anon_sym_protected] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(4903), + }, + [1688] = { + [sym__identifier] = ACTIONS(4916), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4918), + [anon_sym_COMMA] = ACTIONS(4918), + [anon_sym_RPAREN] = ACTIONS(4918), + [aux_sym_preproc_if_token2] = ACTIONS(4918), + [aux_sym_preproc_else_token1] = ACTIONS(4918), + [aux_sym_preproc_elif_token1] = ACTIONS(4916), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4918), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4918), + [anon_sym_LPAREN2] = ACTIONS(4918), + [anon_sym_DASH] = ACTIONS(4916), + [anon_sym_PLUS] = ACTIONS(4916), + [anon_sym_STAR] = ACTIONS(4916), + [anon_sym_SLASH] = ACTIONS(4916), + [anon_sym_PERCENT] = ACTIONS(4916), + [anon_sym_PIPE_PIPE] = ACTIONS(4918), + [anon_sym_AMP_AMP] = ACTIONS(4918), + [anon_sym_PIPE] = ACTIONS(4916), + [anon_sym_CARET] = ACTIONS(4916), + [anon_sym_AMP] = ACTIONS(4916), + [anon_sym_EQ_EQ] = ACTIONS(4918), + [anon_sym_BANG_EQ] = ACTIONS(4918), + [anon_sym_GT] = ACTIONS(4916), + [anon_sym_GT_EQ] = ACTIONS(4918), + [anon_sym_LT_EQ] = ACTIONS(4916), + [anon_sym_LT] = ACTIONS(4916), + [anon_sym_LT_LT] = ACTIONS(4916), + [anon_sym_GT_GT] = ACTIONS(4916), + [anon_sym_SEMI] = ACTIONS(4918), + [anon_sym_RBRACE] = ACTIONS(4918), + [anon_sym_LBRACK] = ACTIONS(4918), + [anon_sym_RBRACK] = ACTIONS(4918), + [anon_sym_EQ] = ACTIONS(4916), + [anon_sym_COLON] = ACTIONS(4918), + [anon_sym_QMARK] = ACTIONS(4918), + [anon_sym_STAR_EQ] = ACTIONS(4918), + [anon_sym_SLASH_EQ] = ACTIONS(4918), + [anon_sym_PERCENT_EQ] = ACTIONS(4918), + [anon_sym_PLUS_EQ] = ACTIONS(4918), + [anon_sym_DASH_EQ] = ACTIONS(4918), + [anon_sym_LT_LT_EQ] = ACTIONS(4918), + [anon_sym_GT_GT_EQ] = ACTIONS(4918), + [anon_sym_AMP_EQ] = ACTIONS(4918), + [anon_sym_CARET_EQ] = ACTIONS(4918), + [anon_sym_PIPE_EQ] = ACTIONS(4918), + [anon_sym_and_eq] = ACTIONS(4916), + [anon_sym_or_eq] = ACTIONS(4916), + [anon_sym_xor_eq] = ACTIONS(4916), + [anon_sym_LT_EQ_GT] = ACTIONS(4918), + [anon_sym_or] = ACTIONS(4916), + [anon_sym_and] = ACTIONS(4916), + [anon_sym_bitor] = ACTIONS(4916), + [anon_sym_xor] = ACTIONS(4916), + [anon_sym_bitand] = ACTIONS(4916), + [anon_sym_not_eq] = ACTIONS(4916), + [anon_sym_DASH_DASH] = ACTIONS(4918), + [anon_sym_PLUS_PLUS] = ACTIONS(4918), + [anon_sym_DOT] = ACTIONS(4916), + [anon_sym_DOT_STAR] = ACTIONS(4918), + [anon_sym_DASH_GT] = ACTIONS(4918), + [anon_sym_L_DQUOTE] = ACTIONS(4918), + [anon_sym_u_DQUOTE] = ACTIONS(4918), + [anon_sym_U_DQUOTE] = ACTIONS(4918), + [anon_sym_u8_DQUOTE] = ACTIONS(4918), + [anon_sym_DQUOTE] = ACTIONS(4918), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4918), + [anon_sym_R_DQUOTE] = ACTIONS(4918), + [anon_sym_LR_DQUOTE] = ACTIONS(4918), + [anon_sym_uR_DQUOTE] = ACTIONS(4918), + [anon_sym_UR_DQUOTE] = ACTIONS(4918), + [anon_sym_u8R_DQUOTE] = ACTIONS(4918), + [sym_literal_suffix] = ACTIONS(4916), + }, + [1689] = { + [sym__identifier] = ACTIONS(4920), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4922), + [anon_sym_COMMA] = ACTIONS(4922), + [anon_sym_RPAREN] = ACTIONS(4922), + [aux_sym_preproc_if_token2] = ACTIONS(4922), + [aux_sym_preproc_else_token1] = ACTIONS(4922), + [aux_sym_preproc_elif_token1] = ACTIONS(4920), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4922), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4922), + [anon_sym_LPAREN2] = ACTIONS(4922), + [anon_sym_DASH] = ACTIONS(4920), + [anon_sym_PLUS] = ACTIONS(4920), + [anon_sym_STAR] = ACTIONS(4920), + [anon_sym_SLASH] = ACTIONS(4920), + [anon_sym_PERCENT] = ACTIONS(4920), + [anon_sym_PIPE_PIPE] = ACTIONS(4922), + [anon_sym_AMP_AMP] = ACTIONS(4922), + [anon_sym_PIPE] = ACTIONS(4920), + [anon_sym_CARET] = ACTIONS(4920), + [anon_sym_AMP] = ACTIONS(4920), + [anon_sym_EQ_EQ] = ACTIONS(4922), + [anon_sym_BANG_EQ] = ACTIONS(4922), + [anon_sym_GT] = ACTIONS(4920), + [anon_sym_GT_EQ] = ACTIONS(4922), + [anon_sym_LT_EQ] = ACTIONS(4920), + [anon_sym_LT] = ACTIONS(4920), + [anon_sym_LT_LT] = ACTIONS(4920), + [anon_sym_GT_GT] = ACTIONS(4920), + [anon_sym_SEMI] = ACTIONS(4922), + [anon_sym_RBRACE] = ACTIONS(4922), + [anon_sym_LBRACK] = ACTIONS(4922), + [anon_sym_RBRACK] = ACTIONS(4922), + [anon_sym_EQ] = ACTIONS(4920), + [anon_sym_COLON] = ACTIONS(4922), + [anon_sym_QMARK] = ACTIONS(4922), + [anon_sym_STAR_EQ] = ACTIONS(4922), + [anon_sym_SLASH_EQ] = ACTIONS(4922), + [anon_sym_PERCENT_EQ] = ACTIONS(4922), + [anon_sym_PLUS_EQ] = ACTIONS(4922), + [anon_sym_DASH_EQ] = ACTIONS(4922), + [anon_sym_LT_LT_EQ] = ACTIONS(4922), + [anon_sym_GT_GT_EQ] = ACTIONS(4922), + [anon_sym_AMP_EQ] = ACTIONS(4922), + [anon_sym_CARET_EQ] = ACTIONS(4922), + [anon_sym_PIPE_EQ] = ACTIONS(4922), + [anon_sym_and_eq] = ACTIONS(4920), + [anon_sym_or_eq] = ACTIONS(4920), + [anon_sym_xor_eq] = ACTIONS(4920), + [anon_sym_LT_EQ_GT] = ACTIONS(4922), + [anon_sym_or] = ACTIONS(4920), + [anon_sym_and] = ACTIONS(4920), + [anon_sym_bitor] = ACTIONS(4920), + [anon_sym_xor] = ACTIONS(4920), + [anon_sym_bitand] = ACTIONS(4920), + [anon_sym_not_eq] = ACTIONS(4920), + [anon_sym_DASH_DASH] = ACTIONS(4922), + [anon_sym_PLUS_PLUS] = ACTIONS(4922), + [anon_sym_DOT] = ACTIONS(4920), + [anon_sym_DOT_STAR] = ACTIONS(4922), + [anon_sym_DASH_GT] = ACTIONS(4922), + [anon_sym_L_DQUOTE] = ACTIONS(4922), + [anon_sym_u_DQUOTE] = ACTIONS(4922), + [anon_sym_U_DQUOTE] = ACTIONS(4922), + [anon_sym_u8_DQUOTE] = ACTIONS(4922), + [anon_sym_DQUOTE] = ACTIONS(4922), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4922), + [anon_sym_R_DQUOTE] = ACTIONS(4922), + [anon_sym_LR_DQUOTE] = ACTIONS(4922), + [anon_sym_uR_DQUOTE] = ACTIONS(4922), + [anon_sym_UR_DQUOTE] = ACTIONS(4922), + [anon_sym_u8R_DQUOTE] = ACTIONS(4922), + [sym_literal_suffix] = ACTIONS(4920), + }, + [1690] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [sym__identifier] = ACTIONS(3773), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [aux_sym_preproc_if_token2] = ACTIONS(3765), + [aux_sym_preproc_else_token1] = ACTIONS(3765), + [aux_sym_preproc_elif_token1] = ACTIONS(3773), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3765), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4924), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(4927), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4929), + [anon_sym_SLASH_EQ] = ACTIONS(4929), + [anon_sym_PERCENT_EQ] = ACTIONS(4929), + [anon_sym_PLUS_EQ] = ACTIONS(4929), + [anon_sym_DASH_EQ] = ACTIONS(4929), + [anon_sym_LT_LT_EQ] = ACTIONS(4929), + [anon_sym_GT_GT_EQ] = ACTIONS(4929), + [anon_sym_AMP_EQ] = ACTIONS(4929), + [anon_sym_CARET_EQ] = ACTIONS(4929), + [anon_sym_PIPE_EQ] = ACTIONS(4929), + [anon_sym_and_eq] = ACTIONS(4927), + [anon_sym_or_eq] = ACTIONS(4927), + [anon_sym_xor_eq] = ACTIONS(4927), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4931), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1691] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4606), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4606), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4606), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4606), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4606), + [anon_sym_GT_GT] = ACTIONS(4606), + [anon_sym___extension__] = ACTIONS(4608), + [anon_sym___attribute__] = ACTIONS(4608), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_LBRACK] = ACTIONS(4608), + [anon_sym_EQ] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4608), + [anon_sym_volatile] = ACTIONS(4608), + [anon_sym_restrict] = ACTIONS(4608), + [anon_sym___restrict__] = ACTIONS(4608), + [anon_sym__Atomic] = ACTIONS(4608), + [anon_sym__Noreturn] = ACTIONS(4608), + [anon_sym_noreturn] = ACTIONS(4608), + [anon_sym_mutable] = ACTIONS(4608), + [anon_sym_constinit] = ACTIONS(4608), + [anon_sym_consteval] = ACTIONS(4608), + [anon_sym_alignas] = ACTIONS(4608), + [anon_sym__Alignas] = ACTIONS(4608), + [anon_sym_COLON] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_STAR_EQ] = ACTIONS(4608), + [anon_sym_SLASH_EQ] = ACTIONS(4608), + [anon_sym_PERCENT_EQ] = ACTIONS(4608), + [anon_sym_PLUS_EQ] = ACTIONS(4608), + [anon_sym_DASH_EQ] = ACTIONS(4608), + [anon_sym_LT_LT_EQ] = ACTIONS(4608), + [anon_sym_GT_GT_EQ] = ACTIONS(4606), + [anon_sym_AMP_EQ] = ACTIONS(4608), + [anon_sym_CARET_EQ] = ACTIONS(4608), + [anon_sym_PIPE_EQ] = ACTIONS(4608), + [anon_sym_and_eq] = ACTIONS(4608), + [anon_sym_or_eq] = ACTIONS(4608), + [anon_sym_xor_eq] = ACTIONS(4608), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4608), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4608), + [anon_sym_not_eq] = ACTIONS(4608), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4608), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4608), + [anon_sym_decltype] = ACTIONS(4608), + [anon_sym_final] = ACTIONS(4608), + [anon_sym_override] = ACTIONS(4608), + [anon_sym_GT2] = ACTIONS(4608), + }, + [1692] = { + [sym__identifier] = ACTIONS(4934), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4936), + [anon_sym_COMMA] = ACTIONS(4936), + [anon_sym_RPAREN] = ACTIONS(4936), + [aux_sym_preproc_if_token2] = ACTIONS(4936), + [aux_sym_preproc_else_token1] = ACTIONS(4936), + [aux_sym_preproc_elif_token1] = ACTIONS(4934), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4936), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4936), + [anon_sym_LPAREN2] = ACTIONS(4936), + [anon_sym_DASH] = ACTIONS(4934), + [anon_sym_PLUS] = ACTIONS(4934), + [anon_sym_STAR] = ACTIONS(4934), + [anon_sym_SLASH] = ACTIONS(4934), + [anon_sym_PERCENT] = ACTIONS(4934), + [anon_sym_PIPE_PIPE] = ACTIONS(4936), + [anon_sym_AMP_AMP] = ACTIONS(4936), + [anon_sym_PIPE] = ACTIONS(4934), + [anon_sym_CARET] = ACTIONS(4934), + [anon_sym_AMP] = ACTIONS(4934), + [anon_sym_EQ_EQ] = ACTIONS(4936), + [anon_sym_BANG_EQ] = ACTIONS(4936), + [anon_sym_GT] = ACTIONS(4934), + [anon_sym_GT_EQ] = ACTIONS(4936), + [anon_sym_LT_EQ] = ACTIONS(4934), + [anon_sym_LT] = ACTIONS(4934), + [anon_sym_LT_LT] = ACTIONS(4934), + [anon_sym_GT_GT] = ACTIONS(4934), + [anon_sym_SEMI] = ACTIONS(4936), + [anon_sym_RBRACE] = ACTIONS(4936), + [anon_sym_LBRACK] = ACTIONS(4936), + [anon_sym_RBRACK] = ACTIONS(4936), + [anon_sym_EQ] = ACTIONS(4934), + [anon_sym_COLON] = ACTIONS(4936), + [anon_sym_QMARK] = ACTIONS(4936), + [anon_sym_STAR_EQ] = ACTIONS(4936), + [anon_sym_SLASH_EQ] = ACTIONS(4936), + [anon_sym_PERCENT_EQ] = ACTIONS(4936), + [anon_sym_PLUS_EQ] = ACTIONS(4936), + [anon_sym_DASH_EQ] = ACTIONS(4936), + [anon_sym_LT_LT_EQ] = ACTIONS(4936), + [anon_sym_GT_GT_EQ] = ACTIONS(4936), + [anon_sym_AMP_EQ] = ACTIONS(4936), + [anon_sym_CARET_EQ] = ACTIONS(4936), + [anon_sym_PIPE_EQ] = ACTIONS(4936), + [anon_sym_and_eq] = ACTIONS(4934), + [anon_sym_or_eq] = ACTIONS(4934), + [anon_sym_xor_eq] = ACTIONS(4934), + [anon_sym_LT_EQ_GT] = ACTIONS(4936), + [anon_sym_or] = ACTIONS(4934), + [anon_sym_and] = ACTIONS(4934), + [anon_sym_bitor] = ACTIONS(4934), + [anon_sym_xor] = ACTIONS(4934), + [anon_sym_bitand] = ACTIONS(4934), + [anon_sym_not_eq] = ACTIONS(4934), + [anon_sym_DASH_DASH] = ACTIONS(4936), + [anon_sym_PLUS_PLUS] = ACTIONS(4936), + [anon_sym_DOT] = ACTIONS(4934), + [anon_sym_DOT_STAR] = ACTIONS(4936), + [anon_sym_DASH_GT] = ACTIONS(4936), + [anon_sym_L_DQUOTE] = ACTIONS(4936), + [anon_sym_u_DQUOTE] = ACTIONS(4936), + [anon_sym_U_DQUOTE] = ACTIONS(4936), + [anon_sym_u8_DQUOTE] = ACTIONS(4936), + [anon_sym_DQUOTE] = ACTIONS(4936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4936), + [anon_sym_R_DQUOTE] = ACTIONS(4936), + [anon_sym_LR_DQUOTE] = ACTIONS(4936), + [anon_sym_uR_DQUOTE] = ACTIONS(4936), + [anon_sym_UR_DQUOTE] = ACTIONS(4936), + [anon_sym_u8R_DQUOTE] = ACTIONS(4936), + [sym_literal_suffix] = ACTIONS(4934), + }, + [1693] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7151), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7151), + [sym_variadic_parameter_declaration] = STATE(7151), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym_RPAREN] = ACTIONS(1797), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1694] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4627), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4627), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4627), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4627), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4627), + [anon_sym_GT_GT] = ACTIONS(4627), + [anon_sym___extension__] = ACTIONS(4629), + [anon_sym___attribute__] = ACTIONS(4629), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_LBRACK] = ACTIONS(4629), + [anon_sym_EQ] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4629), + [anon_sym_volatile] = ACTIONS(4629), + [anon_sym_restrict] = ACTIONS(4629), + [anon_sym___restrict__] = ACTIONS(4629), + [anon_sym__Atomic] = ACTIONS(4629), + [anon_sym__Noreturn] = ACTIONS(4629), + [anon_sym_noreturn] = ACTIONS(4629), + [anon_sym_mutable] = ACTIONS(4629), + [anon_sym_constinit] = ACTIONS(4629), + [anon_sym_consteval] = ACTIONS(4629), + [anon_sym_alignas] = ACTIONS(4629), + [anon_sym__Alignas] = ACTIONS(4629), + [anon_sym_COLON] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_STAR_EQ] = ACTIONS(4629), + [anon_sym_SLASH_EQ] = ACTIONS(4629), + [anon_sym_PERCENT_EQ] = ACTIONS(4629), + [anon_sym_PLUS_EQ] = ACTIONS(4629), + [anon_sym_DASH_EQ] = ACTIONS(4629), + [anon_sym_LT_LT_EQ] = ACTIONS(4629), + [anon_sym_GT_GT_EQ] = ACTIONS(4627), + [anon_sym_AMP_EQ] = ACTIONS(4629), + [anon_sym_CARET_EQ] = ACTIONS(4629), + [anon_sym_PIPE_EQ] = ACTIONS(4629), + [anon_sym_and_eq] = ACTIONS(4629), + [anon_sym_or_eq] = ACTIONS(4629), + [anon_sym_xor_eq] = ACTIONS(4629), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4629), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4629), + [anon_sym_not_eq] = ACTIONS(4629), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4629), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4629), + [anon_sym_decltype] = ACTIONS(4629), + [anon_sym_final] = ACTIONS(4629), + [anon_sym_override] = ACTIONS(4629), + [anon_sym_GT2] = ACTIONS(4629), + }, + [1695] = { + [sym__declaration_modifiers] = STATE(1949), + [sym__declaration_specifiers] = STATE(4042), + [sym_attribute_specifier] = STATE(1949), + [sym_attribute_declaration] = STATE(1949), + [sym_ms_declspec_modifier] = STATE(1949), + [sym_storage_class_specifier] = STATE(1949), + [sym_type_qualifier] = STATE(1949), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_parameter_declaration] = STATE(7615), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_optional_parameter_declaration] = STATE(7615), + [sym_variadic_parameter_declaration] = STATE(7615), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1949), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1843), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1696] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [aux_sym_preproc_else_token1] = ACTIONS(2404), + [aux_sym_preproc_elif_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1697] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1697), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4854), + [anon_sym_COMMA] = ACTIONS(4854), + [anon_sym_RPAREN] = ACTIONS(4854), + [aux_sym_preproc_if_token2] = ACTIONS(4854), + [aux_sym_preproc_else_token1] = ACTIONS(4854), + [aux_sym_preproc_elif_token1] = ACTIONS(4852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4854), + [anon_sym_LPAREN2] = ACTIONS(4854), + [anon_sym_DASH] = ACTIONS(4852), + [anon_sym_PLUS] = ACTIONS(4852), + [anon_sym_STAR] = ACTIONS(4852), + [anon_sym_SLASH] = ACTIONS(4852), + [anon_sym_PERCENT] = ACTIONS(4852), + [anon_sym_PIPE_PIPE] = ACTIONS(4854), + [anon_sym_AMP_AMP] = ACTIONS(4854), + [anon_sym_PIPE] = ACTIONS(4852), + [anon_sym_CARET] = ACTIONS(4852), + [anon_sym_AMP] = ACTIONS(4852), + [anon_sym_EQ_EQ] = ACTIONS(4854), + [anon_sym_BANG_EQ] = ACTIONS(4854), + [anon_sym_GT] = ACTIONS(4852), + [anon_sym_GT_EQ] = ACTIONS(4854), + [anon_sym_LT_EQ] = ACTIONS(4852), + [anon_sym_LT] = ACTIONS(4852), + [anon_sym_LT_LT] = ACTIONS(4852), + [anon_sym_GT_GT] = ACTIONS(4852), + [anon_sym_SEMI] = ACTIONS(4854), + [anon_sym___attribute__] = ACTIONS(4852), + [anon_sym_LBRACE] = ACTIONS(4854), + [anon_sym_RBRACE] = ACTIONS(4854), + [anon_sym_signed] = ACTIONS(4938), + [anon_sym_unsigned] = ACTIONS(4938), + [anon_sym_long] = ACTIONS(4938), + [anon_sym_short] = ACTIONS(4938), + [anon_sym_LBRACK] = ACTIONS(4854), + [anon_sym_RBRACK] = ACTIONS(4854), + [anon_sym_EQ] = ACTIONS(4852), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_COLON] = ACTIONS(4854), + [anon_sym_QMARK] = ACTIONS(4854), + [anon_sym_STAR_EQ] = ACTIONS(4854), + [anon_sym_SLASH_EQ] = ACTIONS(4854), + [anon_sym_PERCENT_EQ] = ACTIONS(4854), + [anon_sym_PLUS_EQ] = ACTIONS(4854), + [anon_sym_DASH_EQ] = ACTIONS(4854), + [anon_sym_LT_LT_EQ] = ACTIONS(4854), + [anon_sym_GT_GT_EQ] = ACTIONS(4854), + [anon_sym_AMP_EQ] = ACTIONS(4854), + [anon_sym_CARET_EQ] = ACTIONS(4854), + [anon_sym_PIPE_EQ] = ACTIONS(4854), + [anon_sym_and_eq] = ACTIONS(4852), + [anon_sym_or_eq] = ACTIONS(4852), + [anon_sym_xor_eq] = ACTIONS(4852), + [anon_sym_LT_EQ_GT] = ACTIONS(4854), + [anon_sym_or] = ACTIONS(4852), + [anon_sym_and] = ACTIONS(4852), + [anon_sym_bitor] = ACTIONS(4852), + [anon_sym_xor] = ACTIONS(4852), + [anon_sym_bitand] = ACTIONS(4852), + [anon_sym_not_eq] = ACTIONS(4852), + [anon_sym_DASH_DASH] = ACTIONS(4854), + [anon_sym_PLUS_PLUS] = ACTIONS(4854), + [anon_sym_DOT] = ACTIONS(4852), + [anon_sym_DOT_STAR] = ACTIONS(4854), + [anon_sym_DASH_GT] = ACTIONS(4854), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(4852), + [anon_sym_decltype] = ACTIONS(4852), + }, + [1698] = { + [sym_template_argument_list] = STATE(1704), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_COMMA] = ACTIONS(4612), + [anon_sym_RPAREN] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4686), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4617), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4612), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4621), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4617), + [anon_sym_volatile] = ACTIONS(4617), + [anon_sym_restrict] = ACTIONS(4617), + [anon_sym___restrict__] = ACTIONS(4617), + [anon_sym__Atomic] = ACTIONS(4617), + [anon_sym__Noreturn] = ACTIONS(4617), + [anon_sym_noreturn] = ACTIONS(4617), + [anon_sym_mutable] = ACTIONS(4617), + [anon_sym_constinit] = ACTIONS(4617), + [anon_sym_consteval] = ACTIONS(4617), + [anon_sym_alignas] = ACTIONS(4617), + [anon_sym__Alignas] = ACTIONS(4617), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4612), + [anon_sym_or_eq] = ACTIONS(4612), + [anon_sym_xor_eq] = ACTIONS(4612), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4612), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4612), + [anon_sym_not_eq] = ACTIONS(4612), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4619), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4617), + [anon_sym_decltype] = ACTIONS(4617), + [anon_sym_DASH_GT_STAR] = ACTIONS(4612), + }, + [1699] = { + [sym_attribute_specifier] = STATE(2049), + [sym_field_declaration_list] = STATE(1997), + [sym_virtual_specifier] = STATE(6984), + [sym_base_class_clause] = STATE(7725), + [sym__identifier] = ACTIONS(4941), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4943), + [anon_sym_COMMA] = ACTIONS(4943), + [anon_sym_RPAREN] = ACTIONS(4943), + [aux_sym_preproc_if_token2] = ACTIONS(4943), + [aux_sym_preproc_else_token1] = ACTIONS(4943), + [aux_sym_preproc_elif_token1] = ACTIONS(4941), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4943), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4943), + [anon_sym_LPAREN2] = ACTIONS(4943), + [anon_sym_DASH] = ACTIONS(4941), + [anon_sym_PLUS] = ACTIONS(4941), + [anon_sym_STAR] = ACTIONS(4941), + [anon_sym_SLASH] = ACTIONS(4941), + [anon_sym_PERCENT] = ACTIONS(4941), + [anon_sym_PIPE_PIPE] = ACTIONS(4943), + [anon_sym_AMP_AMP] = ACTIONS(4943), + [anon_sym_PIPE] = ACTIONS(4941), + [anon_sym_CARET] = ACTIONS(4941), + [anon_sym_AMP] = ACTIONS(4941), + [anon_sym_EQ_EQ] = ACTIONS(4943), + [anon_sym_BANG_EQ] = ACTIONS(4943), + [anon_sym_GT] = ACTIONS(4941), + [anon_sym_GT_EQ] = ACTIONS(4943), + [anon_sym_LT_EQ] = ACTIONS(4941), + [anon_sym_LT] = ACTIONS(4941), + [anon_sym_LT_LT] = ACTIONS(4941), + [anon_sym_GT_GT] = ACTIONS(4941), + [anon_sym_SEMI] = ACTIONS(4943), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(4947), + [anon_sym_RBRACE] = ACTIONS(4943), + [anon_sym_LBRACK] = ACTIONS(4943), + [anon_sym_RBRACK] = ACTIONS(4943), + [anon_sym_EQ] = ACTIONS(4941), + [anon_sym_COLON] = ACTIONS(4949), + [anon_sym_QMARK] = ACTIONS(4943), + [anon_sym_STAR_EQ] = ACTIONS(4943), + [anon_sym_SLASH_EQ] = ACTIONS(4943), + [anon_sym_PERCENT_EQ] = ACTIONS(4943), + [anon_sym_PLUS_EQ] = ACTIONS(4943), + [anon_sym_DASH_EQ] = ACTIONS(4943), + [anon_sym_LT_LT_EQ] = ACTIONS(4943), + [anon_sym_GT_GT_EQ] = ACTIONS(4943), + [anon_sym_AMP_EQ] = ACTIONS(4943), + [anon_sym_CARET_EQ] = ACTIONS(4943), + [anon_sym_PIPE_EQ] = ACTIONS(4943), + [anon_sym_and_eq] = ACTIONS(4941), + [anon_sym_or_eq] = ACTIONS(4941), + [anon_sym_xor_eq] = ACTIONS(4941), + [anon_sym_LT_EQ_GT] = ACTIONS(4943), + [anon_sym_or] = ACTIONS(4941), + [anon_sym_and] = ACTIONS(4941), + [anon_sym_bitor] = ACTIONS(4941), + [anon_sym_xor] = ACTIONS(4941), + [anon_sym_bitand] = ACTIONS(4941), + [anon_sym_not_eq] = ACTIONS(4941), + [anon_sym_DASH_DASH] = ACTIONS(4943), + [anon_sym_PLUS_PLUS] = ACTIONS(4943), + [anon_sym_DOT] = ACTIONS(4941), + [anon_sym_DOT_STAR] = ACTIONS(4943), + [anon_sym_DASH_GT] = ACTIONS(4943), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4943), + [sym_auto] = ACTIONS(4941), + [anon_sym_decltype] = ACTIONS(4941), + [anon_sym_final] = ACTIONS(4951), + [anon_sym_override] = ACTIONS(4951), + }, + [1700] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6096), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6644), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6644), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1701] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6118), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6638), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6638), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1702] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6262), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6641), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6641), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1703] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_template_argument_list] = STATE(2331), + [sym_raw_string_literal] = STATE(1634), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4892), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_RBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_COLON] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4973), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + }, + [1704] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym_SEMI] = ACTIONS(4645), + [anon_sym___extension__] = ACTIONS(4650), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4645), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4654), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4650), + [anon_sym_volatile] = ACTIONS(4650), + [anon_sym_restrict] = ACTIONS(4650), + [anon_sym___restrict__] = ACTIONS(4650), + [anon_sym__Atomic] = ACTIONS(4650), + [anon_sym__Noreturn] = ACTIONS(4650), + [anon_sym_noreturn] = ACTIONS(4650), + [anon_sym_mutable] = ACTIONS(4650), + [anon_sym_constinit] = ACTIONS(4650), + [anon_sym_consteval] = ACTIONS(4650), + [anon_sym_alignas] = ACTIONS(4650), + [anon_sym__Alignas] = ACTIONS(4650), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4645), + [anon_sym_or_eq] = ACTIONS(4645), + [anon_sym_xor_eq] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4645), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4645), + [anon_sym_not_eq] = ACTIONS(4645), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4652), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4650), + [anon_sym_decltype] = ACTIONS(4650), + [anon_sym_DASH_GT_STAR] = ACTIONS(4645), + }, + [1705] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6161), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6641), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6641), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1706] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6244), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6644), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6644), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1707] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6150), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6680), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6680), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1708] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6095), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6656), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6656), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1709] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [aux_sym_preproc_else_token1] = ACTIONS(2404), + [aux_sym_preproc_elif_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(4975), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1710] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6176), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6675), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6675), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1711] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6206), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6638), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6638), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1712] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6259), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6642), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6642), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1713] = { + [sym__declaration_modifiers] = STATE(3365), + [sym_attribute_specifier] = STATE(3365), + [sym_attribute_declaration] = STATE(3365), + [sym_ms_declspec_modifier] = STATE(3365), + [sym_ms_based_modifier] = STATE(8140), + [sym__declarator] = STATE(6576), + [sym_parenthesized_declarator] = STATE(6299), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_function_declarator] = STATE(6115), + [sym_array_declarator] = STATE(6299), + [sym_storage_class_specifier] = STATE(3365), + [sym_type_qualifier] = STATE(3365), + [sym_alignas_qualifier] = STATE(3068), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_explicit_function_specifier] = STATE(3365), + [sym_operator_cast] = STATE(6642), + [sym__constructor_specifiers] = STATE(3365), + [sym_reference_declarator] = STATE(6299), + [sym_structured_binding_declarator] = STATE(6299), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5470), + [sym_qualified_identifier] = STATE(6299), + [sym_qualified_operator_cast_identifier] = STATE(6642), + [sym_operator_name] = STATE(6299), + [aux_sym_operator_cast_definition_repeat1] = STATE(3365), + [sym__identifier] = ACTIONS(4953), + [anon_sym_LPAREN2] = ACTIONS(2851), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(2855), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(2857), + [anon_sym___extension__] = ACTIONS(4955), + [anon_sym_extern] = ACTIONS(4957), + [anon_sym___attribute__] = ACTIONS(4959), + [anon_sym_COLON_COLON] = ACTIONS(4961), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4963), + [anon_sym___declspec] = ACTIONS(4965), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2865), + [anon_sym_static] = ACTIONS(4957), + [anon_sym_register] = ACTIONS(4957), + [anon_sym_inline] = ACTIONS(4957), + [anon_sym___inline] = ACTIONS(4957), + [anon_sym___inline__] = ACTIONS(4957), + [anon_sym___forceinline] = ACTIONS(4957), + [anon_sym_thread_local] = ACTIONS(4957), + [anon_sym___thread] = ACTIONS(4957), + [anon_sym_const] = ACTIONS(4955), + [anon_sym_constexpr] = ACTIONS(4955), + [anon_sym_volatile] = ACTIONS(4955), + [anon_sym_restrict] = ACTIONS(4955), + [anon_sym___restrict__] = ACTIONS(4955), + [anon_sym__Atomic] = ACTIONS(4955), + [anon_sym__Noreturn] = ACTIONS(4955), + [anon_sym_noreturn] = ACTIONS(4955), + [anon_sym_mutable] = ACTIONS(4955), + [anon_sym_constinit] = ACTIONS(4955), + [anon_sym_consteval] = ACTIONS(4955), + [anon_sym_alignas] = ACTIONS(4967), + [anon_sym__Alignas] = ACTIONS(4967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [sym_virtual] = ACTIONS(4971), + [anon_sym_explicit] = ACTIONS(127), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(133), + }, + [1714] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4979), + [anon_sym_GT_GT] = ACTIONS(4979), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym___based] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [1715] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token2] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [aux_sym_preproc_else_token1] = ACTIONS(2683), + [aux_sym_preproc_elif_token1] = ACTIONS(2683), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_friend] = ACTIONS(2683), + [anon_sym_public] = ACTIONS(2683), + [anon_sym_private] = ACTIONS(2683), + [anon_sym_protected] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + }, + [1716] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4979), + [anon_sym_GT_GT] = ACTIONS(4979), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym___based] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [1717] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4641), + [anon_sym_COMMA] = ACTIONS(4641), + [anon_sym_RPAREN] = ACTIONS(4641), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_DASH] = ACTIONS(4639), + [anon_sym_PLUS] = ACTIONS(4639), + [anon_sym_STAR] = ACTIONS(4641), + [anon_sym_SLASH] = ACTIONS(4639), + [anon_sym_PERCENT] = ACTIONS(4641), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_PIPE] = ACTIONS(4639), + [anon_sym_CARET] = ACTIONS(4641), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym_EQ_EQ] = ACTIONS(4641), + [anon_sym_BANG_EQ] = ACTIONS(4641), + [anon_sym_GT] = ACTIONS(4639), + [anon_sym_GT_EQ] = ACTIONS(4641), + [anon_sym_LT_EQ] = ACTIONS(4639), + [anon_sym_LT] = ACTIONS(4639), + [anon_sym_LT_LT] = ACTIONS(4641), + [anon_sym_GT_GT] = ACTIONS(4641), + [anon_sym_SEMI] = ACTIONS(4641), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym___based] = ACTIONS(4639), + [anon_sym_LBRACE] = ACTIONS(4641), + [anon_sym_RBRACE] = ACTIONS(4641), + [anon_sym_signed] = ACTIONS(4639), + [anon_sym_unsigned] = ACTIONS(4639), + [anon_sym_long] = ACTIONS(4639), + [anon_sym_short] = ACTIONS(4639), + [anon_sym_LBRACK] = ACTIONS(4641), + [anon_sym_RBRACK] = ACTIONS(4641), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [sym_primitive_type] = ACTIONS(4639), + [anon_sym_COLON] = ACTIONS(4639), + [anon_sym_QMARK] = ACTIONS(4641), + [anon_sym_LT_EQ_GT] = ACTIONS(4641), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [anon_sym_bitor] = ACTIONS(4639), + [anon_sym_xor] = ACTIONS(4639), + [anon_sym_bitand] = ACTIONS(4639), + [anon_sym_not_eq] = ACTIONS(4639), + [anon_sym_DASH_DASH] = ACTIONS(4641), + [anon_sym_PLUS_PLUS] = ACTIONS(4641), + [anon_sym_DOT] = ACTIONS(4639), + [anon_sym_DOT_STAR] = ACTIONS(4641), + [anon_sym_DASH_GT] = ACTIONS(4641), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [anon_sym_final] = ACTIONS(4639), + [anon_sym_override] = ACTIONS(4639), + [anon_sym_requires] = ACTIONS(4639), + }, + [1718] = { + [sym__identifier] = ACTIONS(4983), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4985), + [anon_sym_COMMA] = ACTIONS(4985), + [anon_sym_RPAREN] = ACTIONS(4985), + [anon_sym_LPAREN2] = ACTIONS(4985), + [anon_sym_DASH] = ACTIONS(4983), + [anon_sym_PLUS] = ACTIONS(4983), + [anon_sym_STAR] = ACTIONS(4985), + [anon_sym_SLASH] = ACTIONS(4983), + [anon_sym_PERCENT] = ACTIONS(4985), + [anon_sym_PIPE_PIPE] = ACTIONS(4985), + [anon_sym_AMP_AMP] = ACTIONS(4985), + [anon_sym_PIPE] = ACTIONS(4983), + [anon_sym_CARET] = ACTIONS(4985), + [anon_sym_AMP] = ACTIONS(4983), + [anon_sym_EQ_EQ] = ACTIONS(4985), + [anon_sym_BANG_EQ] = ACTIONS(4985), + [anon_sym_GT] = ACTIONS(4983), + [anon_sym_GT_EQ] = ACTIONS(4985), + [anon_sym_LT_EQ] = ACTIONS(4983), + [anon_sym_LT] = ACTIONS(4983), + [anon_sym_LT_LT] = ACTIONS(4985), + [anon_sym_GT_GT] = ACTIONS(4985), + [anon_sym_SEMI] = ACTIONS(4985), + [anon_sym___extension__] = ACTIONS(4983), + [anon_sym___attribute__] = ACTIONS(4983), + [anon_sym_COLON_COLON] = ACTIONS(4985), + [anon_sym___based] = ACTIONS(4983), + [anon_sym_LBRACE] = ACTIONS(4985), + [anon_sym_RBRACE] = ACTIONS(4985), + [anon_sym_signed] = ACTIONS(4983), + [anon_sym_unsigned] = ACTIONS(4983), + [anon_sym_long] = ACTIONS(4983), + [anon_sym_short] = ACTIONS(4983), + [anon_sym_LBRACK] = ACTIONS(4985), + [anon_sym_RBRACK] = ACTIONS(4985), + [anon_sym_const] = ACTIONS(4983), + [anon_sym_constexpr] = ACTIONS(4983), + [anon_sym_volatile] = ACTIONS(4983), + [anon_sym_restrict] = ACTIONS(4983), + [anon_sym___restrict__] = ACTIONS(4983), + [anon_sym__Atomic] = ACTIONS(4983), + [anon_sym__Noreturn] = ACTIONS(4983), + [anon_sym_noreturn] = ACTIONS(4983), + [anon_sym_mutable] = ACTIONS(4983), + [anon_sym_constinit] = ACTIONS(4983), + [anon_sym_consteval] = ACTIONS(4983), + [anon_sym_alignas] = ACTIONS(4983), + [anon_sym__Alignas] = ACTIONS(4983), + [sym_primitive_type] = ACTIONS(4983), + [anon_sym_COLON] = ACTIONS(4983), + [anon_sym_QMARK] = ACTIONS(4985), + [anon_sym_LT_EQ_GT] = ACTIONS(4985), + [anon_sym_or] = ACTIONS(4983), + [anon_sym_and] = ACTIONS(4983), + [anon_sym_bitor] = ACTIONS(4983), + [anon_sym_xor] = ACTIONS(4983), + [anon_sym_bitand] = ACTIONS(4983), + [anon_sym_not_eq] = ACTIONS(4983), + [anon_sym_DASH_DASH] = ACTIONS(4985), + [anon_sym_PLUS_PLUS] = ACTIONS(4985), + [anon_sym_DOT] = ACTIONS(4983), + [anon_sym_DOT_STAR] = ACTIONS(4985), + [anon_sym_DASH_GT] = ACTIONS(4985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4985), + [sym_auto] = ACTIONS(4983), + [anon_sym_decltype] = ACTIONS(4983), + [anon_sym_final] = ACTIONS(4983), + [anon_sym_override] = ACTIONS(4983), + [anon_sym_requires] = ACTIONS(4983), + }, + [1719] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_raw_string_literal] = STATE(1634), + [sym__identifier] = ACTIONS(3773), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [aux_sym_preproc_if_token2] = ACTIONS(3765), + [aux_sym_preproc_else_token1] = ACTIONS(3765), + [aux_sym_preproc_elif_token1] = ACTIONS(3773), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3765), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3773), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4895), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1720] = { + [sym_template_argument_list] = STATE(1892), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_COMMA] = ACTIONS(4612), + [anon_sym_RPAREN] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(4989), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4617), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4614), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4617), + [anon_sym_volatile] = ACTIONS(4617), + [anon_sym_restrict] = ACTIONS(4617), + [anon_sym___restrict__] = ACTIONS(4617), + [anon_sym__Atomic] = ACTIONS(4617), + [anon_sym__Noreturn] = ACTIONS(4617), + [anon_sym_noreturn] = ACTIONS(4617), + [anon_sym_mutable] = ACTIONS(4617), + [anon_sym_constinit] = ACTIONS(4617), + [anon_sym_consteval] = ACTIONS(4617), + [anon_sym_alignas] = ACTIONS(4617), + [anon_sym__Alignas] = ACTIONS(4617), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4612), + [anon_sym_or_eq] = ACTIONS(4612), + [anon_sym_xor_eq] = ACTIONS(4612), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4612), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4612), + [anon_sym_not_eq] = ACTIONS(4612), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4619), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4617), + [anon_sym_decltype] = ACTIONS(4617), + [anon_sym_DASH_GT_STAR] = ACTIONS(4612), + }, + [1721] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_raw_string_literal] = STATE(1634), + [sym__identifier] = ACTIONS(4992), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4994), + [anon_sym_COMMA] = ACTIONS(4994), + [aux_sym_preproc_if_token2] = ACTIONS(4994), + [aux_sym_preproc_else_token1] = ACTIONS(4994), + [aux_sym_preproc_elif_token1] = ACTIONS(4992), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4994), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4994), + [anon_sym_LPAREN2] = ACTIONS(4994), + [anon_sym_DASH] = ACTIONS(4992), + [anon_sym_PLUS] = ACTIONS(4992), + [anon_sym_STAR] = ACTIONS(4992), + [anon_sym_SLASH] = ACTIONS(4992), + [anon_sym_PERCENT] = ACTIONS(4992), + [anon_sym_PIPE_PIPE] = ACTIONS(4994), + [anon_sym_AMP_AMP] = ACTIONS(4994), + [anon_sym_PIPE] = ACTIONS(4992), + [anon_sym_CARET] = ACTIONS(4992), + [anon_sym_AMP] = ACTIONS(4992), + [anon_sym_EQ_EQ] = ACTIONS(4994), + [anon_sym_BANG_EQ] = ACTIONS(4994), + [anon_sym_GT] = ACTIONS(4992), + [anon_sym_GT_EQ] = ACTIONS(4994), + [anon_sym_LT_EQ] = ACTIONS(4992), + [anon_sym_LT] = ACTIONS(4992), + [anon_sym_LT_LT] = ACTIONS(4992), + [anon_sym_GT_GT] = ACTIONS(4992), + [anon_sym_LBRACK] = ACTIONS(4994), + [anon_sym_EQ] = ACTIONS(4992), + [anon_sym_QMARK] = ACTIONS(4994), + [anon_sym_STAR_EQ] = ACTIONS(4994), + [anon_sym_SLASH_EQ] = ACTIONS(4994), + [anon_sym_PERCENT_EQ] = ACTIONS(4994), + [anon_sym_PLUS_EQ] = ACTIONS(4994), + [anon_sym_DASH_EQ] = ACTIONS(4994), + [anon_sym_LT_LT_EQ] = ACTIONS(4994), + [anon_sym_GT_GT_EQ] = ACTIONS(4994), + [anon_sym_AMP_EQ] = ACTIONS(4994), + [anon_sym_CARET_EQ] = ACTIONS(4994), + [anon_sym_PIPE_EQ] = ACTIONS(4994), + [anon_sym_and_eq] = ACTIONS(4992), + [anon_sym_or_eq] = ACTIONS(4992), + [anon_sym_xor_eq] = ACTIONS(4992), + [anon_sym_LT_EQ_GT] = ACTIONS(4994), + [anon_sym_or] = ACTIONS(4992), + [anon_sym_and] = ACTIONS(4992), + [anon_sym_bitor] = ACTIONS(4992), + [anon_sym_xor] = ACTIONS(4992), + [anon_sym_bitand] = ACTIONS(4992), + [anon_sym_not_eq] = ACTIONS(4992), + [anon_sym_DASH_DASH] = ACTIONS(4994), + [anon_sym_PLUS_PLUS] = ACTIONS(4994), + [anon_sym_DOT] = ACTIONS(4992), + [anon_sym_DOT_STAR] = ACTIONS(4994), + [anon_sym_DASH_GT] = ACTIONS(4994), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4994), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1722] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4637), + [anon_sym_COMMA] = ACTIONS(4637), + [anon_sym_RPAREN] = ACTIONS(4637), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_DASH] = ACTIONS(4635), + [anon_sym_PLUS] = ACTIONS(4635), + [anon_sym_STAR] = ACTIONS(4637), + [anon_sym_SLASH] = ACTIONS(4635), + [anon_sym_PERCENT] = ACTIONS(4637), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_PIPE] = ACTIONS(4635), + [anon_sym_CARET] = ACTIONS(4637), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym_EQ_EQ] = ACTIONS(4637), + [anon_sym_BANG_EQ] = ACTIONS(4637), + [anon_sym_GT] = ACTIONS(4635), + [anon_sym_GT_EQ] = ACTIONS(4637), + [anon_sym_LT_EQ] = ACTIONS(4635), + [anon_sym_LT] = ACTIONS(4635), + [anon_sym_LT_LT] = ACTIONS(4637), + [anon_sym_GT_GT] = ACTIONS(4637), + [anon_sym_SEMI] = ACTIONS(4637), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym___based] = ACTIONS(4635), + [anon_sym_LBRACE] = ACTIONS(4637), + [anon_sym_RBRACE] = ACTIONS(4637), + [anon_sym_signed] = ACTIONS(4635), + [anon_sym_unsigned] = ACTIONS(4635), + [anon_sym_long] = ACTIONS(4635), + [anon_sym_short] = ACTIONS(4635), + [anon_sym_LBRACK] = ACTIONS(4637), + [anon_sym_RBRACK] = ACTIONS(4637), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [sym_primitive_type] = ACTIONS(4635), + [anon_sym_COLON] = ACTIONS(4635), + [anon_sym_QMARK] = ACTIONS(4637), + [anon_sym_LT_EQ_GT] = ACTIONS(4637), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [anon_sym_bitor] = ACTIONS(4635), + [anon_sym_xor] = ACTIONS(4635), + [anon_sym_bitand] = ACTIONS(4635), + [anon_sym_not_eq] = ACTIONS(4635), + [anon_sym_DASH_DASH] = ACTIONS(4637), + [anon_sym_PLUS_PLUS] = ACTIONS(4637), + [anon_sym_DOT] = ACTIONS(4635), + [anon_sym_DOT_STAR] = ACTIONS(4637), + [anon_sym_DASH_GT] = ACTIONS(4637), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [anon_sym_final] = ACTIONS(4635), + [anon_sym_override] = ACTIONS(4635), + [anon_sym_requires] = ACTIONS(4635), + }, + [1723] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4633), + [anon_sym_COMMA] = ACTIONS(4633), + [anon_sym_RPAREN] = ACTIONS(4633), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_DASH] = ACTIONS(4631), + [anon_sym_PLUS] = ACTIONS(4631), + [anon_sym_STAR] = ACTIONS(4633), + [anon_sym_SLASH] = ACTIONS(4631), + [anon_sym_PERCENT] = ACTIONS(4633), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_PIPE] = ACTIONS(4631), + [anon_sym_CARET] = ACTIONS(4633), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym_EQ_EQ] = ACTIONS(4633), + [anon_sym_BANG_EQ] = ACTIONS(4633), + [anon_sym_GT] = ACTIONS(4631), + [anon_sym_GT_EQ] = ACTIONS(4633), + [anon_sym_LT_EQ] = ACTIONS(4631), + [anon_sym_LT] = ACTIONS(4631), + [anon_sym_LT_LT] = ACTIONS(4633), + [anon_sym_GT_GT] = ACTIONS(4633), + [anon_sym_SEMI] = ACTIONS(4633), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym___based] = ACTIONS(4631), + [anon_sym_LBRACE] = ACTIONS(4633), + [anon_sym_RBRACE] = ACTIONS(4633), + [anon_sym_signed] = ACTIONS(4631), + [anon_sym_unsigned] = ACTIONS(4631), + [anon_sym_long] = ACTIONS(4631), + [anon_sym_short] = ACTIONS(4631), + [anon_sym_LBRACK] = ACTIONS(4633), + [anon_sym_RBRACK] = ACTIONS(4633), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [sym_primitive_type] = ACTIONS(4631), + [anon_sym_COLON] = ACTIONS(4631), + [anon_sym_QMARK] = ACTIONS(4633), + [anon_sym_LT_EQ_GT] = ACTIONS(4633), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [anon_sym_bitor] = ACTIONS(4631), + [anon_sym_xor] = ACTIONS(4631), + [anon_sym_bitand] = ACTIONS(4631), + [anon_sym_not_eq] = ACTIONS(4631), + [anon_sym_DASH_DASH] = ACTIONS(4633), + [anon_sym_PLUS_PLUS] = ACTIONS(4633), + [anon_sym_DOT] = ACTIONS(4631), + [anon_sym_DOT_STAR] = ACTIONS(4633), + [anon_sym_DASH_GT] = ACTIONS(4633), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [anon_sym_final] = ACTIONS(4631), + [anon_sym_override] = ACTIONS(4631), + [anon_sym_requires] = ACTIONS(4631), + }, + [1724] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4604), + [anon_sym_COMMA] = ACTIONS(4604), + [anon_sym_RPAREN] = ACTIONS(4604), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_DASH] = ACTIONS(4602), + [anon_sym_PLUS] = ACTIONS(4602), + [anon_sym_STAR] = ACTIONS(4604), + [anon_sym_SLASH] = ACTIONS(4602), + [anon_sym_PERCENT] = ACTIONS(4604), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_PIPE] = ACTIONS(4602), + [anon_sym_CARET] = ACTIONS(4604), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym_EQ_EQ] = ACTIONS(4604), + [anon_sym_BANG_EQ] = ACTIONS(4604), + [anon_sym_GT] = ACTIONS(4602), + [anon_sym_GT_EQ] = ACTIONS(4604), + [anon_sym_LT_EQ] = ACTIONS(4602), + [anon_sym_LT] = ACTIONS(4602), + [anon_sym_LT_LT] = ACTIONS(4604), + [anon_sym_GT_GT] = ACTIONS(4604), + [anon_sym_SEMI] = ACTIONS(4604), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym___based] = ACTIONS(4602), + [anon_sym_LBRACE] = ACTIONS(4604), + [anon_sym_RBRACE] = ACTIONS(4604), + [anon_sym_signed] = ACTIONS(4602), + [anon_sym_unsigned] = ACTIONS(4602), + [anon_sym_long] = ACTIONS(4602), + [anon_sym_short] = ACTIONS(4602), + [anon_sym_LBRACK] = ACTIONS(4604), + [anon_sym_RBRACK] = ACTIONS(4604), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [sym_primitive_type] = ACTIONS(4602), + [anon_sym_COLON] = ACTIONS(4602), + [anon_sym_QMARK] = ACTIONS(4604), + [anon_sym_LT_EQ_GT] = ACTIONS(4604), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [anon_sym_bitor] = ACTIONS(4602), + [anon_sym_xor] = ACTIONS(4602), + [anon_sym_bitand] = ACTIONS(4602), + [anon_sym_not_eq] = ACTIONS(4602), + [anon_sym_DASH_DASH] = ACTIONS(4604), + [anon_sym_PLUS_PLUS] = ACTIONS(4604), + [anon_sym_DOT] = ACTIONS(4602), + [anon_sym_DOT_STAR] = ACTIONS(4604), + [anon_sym_DASH_GT] = ACTIONS(4604), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [anon_sym_final] = ACTIONS(4602), + [anon_sym_override] = ACTIONS(4602), + [anon_sym_requires] = ACTIONS(4602), + }, + [1725] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [aux_sym_preproc_else_token1] = ACTIONS(2404), + [aux_sym_preproc_elif_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + }, + [1726] = { + [sym__identifier] = ACTIONS(4996), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4998), + [anon_sym_COMMA] = ACTIONS(4998), + [anon_sym_RPAREN] = ACTIONS(4998), + [anon_sym_LPAREN2] = ACTIONS(4998), + [anon_sym_DASH] = ACTIONS(4996), + [anon_sym_PLUS] = ACTIONS(4996), + [anon_sym_STAR] = ACTIONS(4998), + [anon_sym_SLASH] = ACTIONS(4996), + [anon_sym_PERCENT] = ACTIONS(4998), + [anon_sym_PIPE_PIPE] = ACTIONS(4998), + [anon_sym_AMP_AMP] = ACTIONS(4998), + [anon_sym_PIPE] = ACTIONS(4996), + [anon_sym_CARET] = ACTIONS(4998), + [anon_sym_AMP] = ACTIONS(4996), + [anon_sym_EQ_EQ] = ACTIONS(4998), + [anon_sym_BANG_EQ] = ACTIONS(4998), + [anon_sym_GT] = ACTIONS(4996), + [anon_sym_GT_EQ] = ACTIONS(4998), + [anon_sym_LT_EQ] = ACTIONS(4996), + [anon_sym_LT] = ACTIONS(4996), + [anon_sym_LT_LT] = ACTIONS(4998), + [anon_sym_GT_GT] = ACTIONS(4998), + [anon_sym_SEMI] = ACTIONS(4998), + [anon_sym___extension__] = ACTIONS(4996), + [anon_sym___attribute__] = ACTIONS(4996), + [anon_sym_COLON_COLON] = ACTIONS(4998), + [anon_sym___based] = ACTIONS(4996), + [anon_sym_LBRACE] = ACTIONS(4998), + [anon_sym_RBRACE] = ACTIONS(4998), + [anon_sym_signed] = ACTIONS(4996), + [anon_sym_unsigned] = ACTIONS(4996), + [anon_sym_long] = ACTIONS(4996), + [anon_sym_short] = ACTIONS(4996), + [anon_sym_LBRACK] = ACTIONS(4998), + [anon_sym_RBRACK] = ACTIONS(4998), + [anon_sym_const] = ACTIONS(4996), + [anon_sym_constexpr] = ACTIONS(4996), + [anon_sym_volatile] = ACTIONS(4996), + [anon_sym_restrict] = ACTIONS(4996), + [anon_sym___restrict__] = ACTIONS(4996), + [anon_sym__Atomic] = ACTIONS(4996), + [anon_sym__Noreturn] = ACTIONS(4996), + [anon_sym_noreturn] = ACTIONS(4996), + [anon_sym_mutable] = ACTIONS(4996), + [anon_sym_constinit] = ACTIONS(4996), + [anon_sym_consteval] = ACTIONS(4996), + [anon_sym_alignas] = ACTIONS(4996), + [anon_sym__Alignas] = ACTIONS(4996), + [sym_primitive_type] = ACTIONS(4996), + [anon_sym_COLON] = ACTIONS(4996), + [anon_sym_QMARK] = ACTIONS(4998), + [anon_sym_LT_EQ_GT] = ACTIONS(4998), + [anon_sym_or] = ACTIONS(4996), + [anon_sym_and] = ACTIONS(4996), + [anon_sym_bitor] = ACTIONS(4996), + [anon_sym_xor] = ACTIONS(4996), + [anon_sym_bitand] = ACTIONS(4996), + [anon_sym_not_eq] = ACTIONS(4996), + [anon_sym_DASH_DASH] = ACTIONS(4998), + [anon_sym_PLUS_PLUS] = ACTIONS(4998), + [anon_sym_DOT] = ACTIONS(4996), + [anon_sym_DOT_STAR] = ACTIONS(4998), + [anon_sym_DASH_GT] = ACTIONS(4998), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4998), + [sym_auto] = ACTIONS(4996), + [anon_sym_decltype] = ACTIONS(4996), + [anon_sym_final] = ACTIONS(4996), + [anon_sym_override] = ACTIONS(4996), + [anon_sym_requires] = ACTIONS(4996), + }, + [1727] = { + [sym_decltype_auto] = STATE(1814), + [sym__identifier] = ACTIONS(5000), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5002), + [anon_sym_COMMA] = ACTIONS(5002), + [anon_sym_RPAREN] = ACTIONS(5002), + [anon_sym_LPAREN2] = ACTIONS(5002), + [anon_sym_DASH] = ACTIONS(5000), + [anon_sym_PLUS] = ACTIONS(5000), + [anon_sym_STAR] = ACTIONS(5002), + [anon_sym_SLASH] = ACTIONS(5000), + [anon_sym_PERCENT] = ACTIONS(5002), + [anon_sym_PIPE_PIPE] = ACTIONS(5002), + [anon_sym_AMP_AMP] = ACTIONS(5002), + [anon_sym_PIPE] = ACTIONS(5000), + [anon_sym_CARET] = ACTIONS(5002), + [anon_sym_AMP] = ACTIONS(5000), + [anon_sym_EQ_EQ] = ACTIONS(5002), + [anon_sym_BANG_EQ] = ACTIONS(5002), + [anon_sym_GT] = ACTIONS(5000), + [anon_sym_GT_EQ] = ACTIONS(5002), + [anon_sym_LT_EQ] = ACTIONS(5000), + [anon_sym_LT] = ACTIONS(5000), + [anon_sym_LT_LT] = ACTIONS(5002), + [anon_sym_GT_GT] = ACTIONS(5002), + [anon_sym_SEMI] = ACTIONS(5002), + [anon_sym___extension__] = ACTIONS(5000), + [anon_sym___attribute__] = ACTIONS(5000), + [anon_sym___based] = ACTIONS(5000), + [anon_sym_LBRACE] = ACTIONS(5002), + [anon_sym_RBRACE] = ACTIONS(5002), + [anon_sym_signed] = ACTIONS(5000), + [anon_sym_unsigned] = ACTIONS(5000), + [anon_sym_long] = ACTIONS(5000), + [anon_sym_short] = ACTIONS(5000), + [anon_sym_LBRACK] = ACTIONS(5002), + [anon_sym_RBRACK] = ACTIONS(5002), + [anon_sym_const] = ACTIONS(5000), + [anon_sym_constexpr] = ACTIONS(5000), + [anon_sym_volatile] = ACTIONS(5000), + [anon_sym_restrict] = ACTIONS(5000), + [anon_sym___restrict__] = ACTIONS(5000), + [anon_sym__Atomic] = ACTIONS(5000), + [anon_sym__Noreturn] = ACTIONS(5000), + [anon_sym_noreturn] = ACTIONS(5000), + [anon_sym_mutable] = ACTIONS(5000), + [anon_sym_constinit] = ACTIONS(5000), + [anon_sym_consteval] = ACTIONS(5000), + [anon_sym_alignas] = ACTIONS(5000), + [anon_sym__Alignas] = ACTIONS(5000), + [sym_primitive_type] = ACTIONS(5000), + [anon_sym_COLON] = ACTIONS(5002), + [anon_sym_QMARK] = ACTIONS(5002), + [anon_sym_LT_EQ_GT] = ACTIONS(5002), + [anon_sym_or] = ACTIONS(5000), + [anon_sym_and] = ACTIONS(5000), + [anon_sym_bitor] = ACTIONS(5000), + [anon_sym_xor] = ACTIONS(5000), + [anon_sym_bitand] = ACTIONS(5000), + [anon_sym_not_eq] = ACTIONS(5000), + [anon_sym_DASH_DASH] = ACTIONS(5002), + [anon_sym_PLUS_PLUS] = ACTIONS(5002), + [anon_sym_DOT] = ACTIONS(5000), + [anon_sym_DOT_STAR] = ACTIONS(5002), + [anon_sym_DASH_GT] = ACTIONS(5002), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5002), + [sym_auto] = ACTIONS(5004), + [anon_sym_decltype] = ACTIONS(5006), + [anon_sym_final] = ACTIONS(5000), + [anon_sym_override] = ACTIONS(5000), + [anon_sym_requires] = ACTIONS(5000), + }, + [1728] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4600), + [anon_sym_COMMA] = ACTIONS(4600), + [anon_sym_RPAREN] = ACTIONS(4600), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_DASH] = ACTIONS(4598), + [anon_sym_PLUS] = ACTIONS(4598), + [anon_sym_STAR] = ACTIONS(4600), + [anon_sym_SLASH] = ACTIONS(4598), + [anon_sym_PERCENT] = ACTIONS(4600), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_PIPE] = ACTIONS(4598), + [anon_sym_CARET] = ACTIONS(4600), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym_EQ_EQ] = ACTIONS(4600), + [anon_sym_BANG_EQ] = ACTIONS(4600), + [anon_sym_GT] = ACTIONS(4598), + [anon_sym_GT_EQ] = ACTIONS(4600), + [anon_sym_LT_EQ] = ACTIONS(4598), + [anon_sym_LT] = ACTIONS(4598), + [anon_sym_LT_LT] = ACTIONS(4600), + [anon_sym_GT_GT] = ACTIONS(4600), + [anon_sym_SEMI] = ACTIONS(4600), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym___based] = ACTIONS(4598), + [anon_sym_LBRACE] = ACTIONS(4600), + [anon_sym_RBRACE] = ACTIONS(4600), + [anon_sym_signed] = ACTIONS(4598), + [anon_sym_unsigned] = ACTIONS(4598), + [anon_sym_long] = ACTIONS(4598), + [anon_sym_short] = ACTIONS(4598), + [anon_sym_LBRACK] = ACTIONS(4600), + [anon_sym_RBRACK] = ACTIONS(4600), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [sym_primitive_type] = ACTIONS(4598), + [anon_sym_COLON] = ACTIONS(4598), + [anon_sym_QMARK] = ACTIONS(4600), + [anon_sym_LT_EQ_GT] = ACTIONS(4600), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [anon_sym_bitor] = ACTIONS(4598), + [anon_sym_xor] = ACTIONS(4598), + [anon_sym_bitand] = ACTIONS(4598), + [anon_sym_not_eq] = ACTIONS(4598), + [anon_sym_DASH_DASH] = ACTIONS(4600), + [anon_sym_PLUS_PLUS] = ACTIONS(4600), + [anon_sym_DOT] = ACTIONS(4598), + [anon_sym_DOT_STAR] = ACTIONS(4600), + [anon_sym_DASH_GT] = ACTIONS(4600), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [anon_sym_final] = ACTIONS(4598), + [anon_sym_override] = ACTIONS(4598), + [anon_sym_requires] = ACTIONS(4598), + }, + [1729] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4629), + [anon_sym_COMMA] = ACTIONS(4629), + [anon_sym_RPAREN] = ACTIONS(4629), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_DASH] = ACTIONS(4627), + [anon_sym_PLUS] = ACTIONS(4627), + [anon_sym_STAR] = ACTIONS(4629), + [anon_sym_SLASH] = ACTIONS(4627), + [anon_sym_PERCENT] = ACTIONS(4629), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_PIPE] = ACTIONS(4627), + [anon_sym_CARET] = ACTIONS(4629), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym_EQ_EQ] = ACTIONS(4629), + [anon_sym_BANG_EQ] = ACTIONS(4629), + [anon_sym_GT] = ACTIONS(4627), + [anon_sym_GT_EQ] = ACTIONS(4629), + [anon_sym_LT_EQ] = ACTIONS(4627), + [anon_sym_LT] = ACTIONS(4627), + [anon_sym_LT_LT] = ACTIONS(4629), + [anon_sym_GT_GT] = ACTIONS(4629), + [anon_sym_SEMI] = ACTIONS(4629), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym___based] = ACTIONS(4627), + [anon_sym_LBRACE] = ACTIONS(4629), + [anon_sym_RBRACE] = ACTIONS(4629), + [anon_sym_signed] = ACTIONS(4627), + [anon_sym_unsigned] = ACTIONS(4627), + [anon_sym_long] = ACTIONS(4627), + [anon_sym_short] = ACTIONS(4627), + [anon_sym_LBRACK] = ACTIONS(4629), + [anon_sym_RBRACK] = ACTIONS(4629), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [sym_primitive_type] = ACTIONS(4627), + [anon_sym_COLON] = ACTIONS(4627), + [anon_sym_QMARK] = ACTIONS(4629), + [anon_sym_LT_EQ_GT] = ACTIONS(4629), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [anon_sym_bitor] = ACTIONS(4627), + [anon_sym_xor] = ACTIONS(4627), + [anon_sym_bitand] = ACTIONS(4627), + [anon_sym_not_eq] = ACTIONS(4627), + [anon_sym_DASH_DASH] = ACTIONS(4629), + [anon_sym_PLUS_PLUS] = ACTIONS(4629), + [anon_sym_DOT] = ACTIONS(4627), + [anon_sym_DOT_STAR] = ACTIONS(4629), + [anon_sym_DASH_GT] = ACTIONS(4629), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [anon_sym_final] = ACTIONS(4627), + [anon_sym_override] = ACTIONS(4627), + [anon_sym_requires] = ACTIONS(4627), + }, + [1730] = { + [sym__identifier] = ACTIONS(5008), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5010), + [anon_sym_COMMA] = ACTIONS(5010), + [anon_sym_RPAREN] = ACTIONS(5010), + [anon_sym_LPAREN2] = ACTIONS(5010), + [anon_sym_DASH] = ACTIONS(5008), + [anon_sym_PLUS] = ACTIONS(5008), + [anon_sym_STAR] = ACTIONS(5010), + [anon_sym_SLASH] = ACTIONS(5008), + [anon_sym_PERCENT] = ACTIONS(5010), + [anon_sym_PIPE_PIPE] = ACTIONS(5010), + [anon_sym_AMP_AMP] = ACTIONS(5010), + [anon_sym_PIPE] = ACTIONS(5008), + [anon_sym_CARET] = ACTIONS(5010), + [anon_sym_AMP] = ACTIONS(5008), + [anon_sym_EQ_EQ] = ACTIONS(5010), + [anon_sym_BANG_EQ] = ACTIONS(5010), + [anon_sym_GT] = ACTIONS(5008), + [anon_sym_GT_EQ] = ACTIONS(5010), + [anon_sym_LT_EQ] = ACTIONS(5008), + [anon_sym_LT] = ACTIONS(5008), + [anon_sym_LT_LT] = ACTIONS(5010), + [anon_sym_GT_GT] = ACTIONS(5010), + [anon_sym_SEMI] = ACTIONS(5010), + [anon_sym___extension__] = ACTIONS(5008), + [anon_sym___attribute__] = ACTIONS(5008), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym___based] = ACTIONS(5008), + [anon_sym_LBRACE] = ACTIONS(5010), + [anon_sym_RBRACE] = ACTIONS(5010), + [anon_sym_signed] = ACTIONS(5008), + [anon_sym_unsigned] = ACTIONS(5008), + [anon_sym_long] = ACTIONS(5008), + [anon_sym_short] = ACTIONS(5008), + [anon_sym_LBRACK] = ACTIONS(5010), + [anon_sym_RBRACK] = ACTIONS(5010), + [anon_sym_const] = ACTIONS(5008), + [anon_sym_constexpr] = ACTIONS(5008), + [anon_sym_volatile] = ACTIONS(5008), + [anon_sym_restrict] = ACTIONS(5008), + [anon_sym___restrict__] = ACTIONS(5008), + [anon_sym__Atomic] = ACTIONS(5008), + [anon_sym__Noreturn] = ACTIONS(5008), + [anon_sym_noreturn] = ACTIONS(5008), + [anon_sym_mutable] = ACTIONS(5008), + [anon_sym_constinit] = ACTIONS(5008), + [anon_sym_consteval] = ACTIONS(5008), + [anon_sym_alignas] = ACTIONS(5008), + [anon_sym__Alignas] = ACTIONS(5008), + [sym_primitive_type] = ACTIONS(5008), + [anon_sym_COLON] = ACTIONS(5008), + [anon_sym_QMARK] = ACTIONS(5010), + [anon_sym_LT_EQ_GT] = ACTIONS(5010), + [anon_sym_or] = ACTIONS(5008), + [anon_sym_and] = ACTIONS(5008), + [anon_sym_bitor] = ACTIONS(5008), + [anon_sym_xor] = ACTIONS(5008), + [anon_sym_bitand] = ACTIONS(5008), + [anon_sym_not_eq] = ACTIONS(5008), + [anon_sym_DASH_DASH] = ACTIONS(5010), + [anon_sym_PLUS_PLUS] = ACTIONS(5010), + [anon_sym_DOT] = ACTIONS(5008), + [anon_sym_DOT_STAR] = ACTIONS(5010), + [anon_sym_DASH_GT] = ACTIONS(5010), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5010), + [sym_auto] = ACTIONS(5008), + [anon_sym_decltype] = ACTIONS(5008), + [anon_sym_final] = ACTIONS(5008), + [anon_sym_override] = ACTIONS(5008), + [anon_sym_requires] = ACTIONS(5008), + }, + [1731] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4608), + [anon_sym_COMMA] = ACTIONS(4608), + [anon_sym_RPAREN] = ACTIONS(4608), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_DASH] = ACTIONS(4606), + [anon_sym_PLUS] = ACTIONS(4606), + [anon_sym_STAR] = ACTIONS(4608), + [anon_sym_SLASH] = ACTIONS(4606), + [anon_sym_PERCENT] = ACTIONS(4608), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_PIPE] = ACTIONS(4606), + [anon_sym_CARET] = ACTIONS(4608), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym_EQ_EQ] = ACTIONS(4608), + [anon_sym_BANG_EQ] = ACTIONS(4608), + [anon_sym_GT] = ACTIONS(4606), + [anon_sym_GT_EQ] = ACTIONS(4608), + [anon_sym_LT_EQ] = ACTIONS(4606), + [anon_sym_LT] = ACTIONS(4606), + [anon_sym_LT_LT] = ACTIONS(4608), + [anon_sym_GT_GT] = ACTIONS(4608), + [anon_sym_SEMI] = ACTIONS(4608), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym___based] = ACTIONS(4606), + [anon_sym_LBRACE] = ACTIONS(4608), + [anon_sym_RBRACE] = ACTIONS(4608), + [anon_sym_signed] = ACTIONS(4606), + [anon_sym_unsigned] = ACTIONS(4606), + [anon_sym_long] = ACTIONS(4606), + [anon_sym_short] = ACTIONS(4606), + [anon_sym_LBRACK] = ACTIONS(4608), + [anon_sym_RBRACK] = ACTIONS(4608), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [sym_primitive_type] = ACTIONS(4606), + [anon_sym_COLON] = ACTIONS(4606), + [anon_sym_QMARK] = ACTIONS(4608), + [anon_sym_LT_EQ_GT] = ACTIONS(4608), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [anon_sym_bitor] = ACTIONS(4606), + [anon_sym_xor] = ACTIONS(4606), + [anon_sym_bitand] = ACTIONS(4606), + [anon_sym_not_eq] = ACTIONS(4606), + [anon_sym_DASH_DASH] = ACTIONS(4608), + [anon_sym_PLUS_PLUS] = ACTIONS(4608), + [anon_sym_DOT] = ACTIONS(4606), + [anon_sym_DOT_STAR] = ACTIONS(4608), + [anon_sym_DASH_GT] = ACTIONS(4608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [anon_sym_final] = ACTIONS(4606), + [anon_sym_override] = ACTIONS(4606), + [anon_sym_requires] = ACTIONS(4606), + }, + [1732] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5014), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5014), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5014), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5014), + [anon_sym_GT_GT] = ACTIONS(5014), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___extension__] = ACTIONS(5012), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym___based] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_signed] = ACTIONS(5012), + [anon_sym_unsigned] = ACTIONS(5012), + [anon_sym_long] = ACTIONS(5012), + [anon_sym_short] = ACTIONS(5012), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_const] = ACTIONS(5012), + [anon_sym_constexpr] = ACTIONS(5012), + [anon_sym_volatile] = ACTIONS(5012), + [anon_sym_restrict] = ACTIONS(5012), + [anon_sym___restrict__] = ACTIONS(5012), + [anon_sym__Atomic] = ACTIONS(5012), + [anon_sym__Noreturn] = ACTIONS(5012), + [anon_sym_noreturn] = ACTIONS(5012), + [anon_sym_mutable] = ACTIONS(5012), + [anon_sym_constinit] = ACTIONS(5012), + [anon_sym_consteval] = ACTIONS(5012), + [anon_sym_alignas] = ACTIONS(5012), + [anon_sym__Alignas] = ACTIONS(5012), + [sym_primitive_type] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5012), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + [anon_sym_final] = ACTIONS(5012), + [anon_sym_override] = ACTIONS(5012), + [anon_sym_requires] = ACTIONS(5012), + }, + [1733] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token2] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [aux_sym_preproc_else_token1] = ACTIONS(2452), + [aux_sym_preproc_elif_token1] = ACTIONS(2452), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_friend] = ACTIONS(2452), + [anon_sym_public] = ACTIONS(2452), + [anon_sym_private] = ACTIONS(2452), + [anon_sym_protected] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + }, + [1734] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token2] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [aux_sym_preproc_else_token1] = ACTIONS(3178), + [aux_sym_preproc_elif_token1] = ACTIONS(3178), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_friend] = ACTIONS(3178), + [anon_sym_public] = ACTIONS(3178), + [anon_sym_private] = ACTIONS(3178), + [anon_sym_protected] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + }, + [1735] = { + [sym__identifier] = ACTIONS(5016), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5018), + [anon_sym_COMMA] = ACTIONS(5018), + [anon_sym_RPAREN] = ACTIONS(5018), + [anon_sym_LPAREN2] = ACTIONS(5018), + [anon_sym_DASH] = ACTIONS(5016), + [anon_sym_PLUS] = ACTIONS(5016), + [anon_sym_STAR] = ACTIONS(5018), + [anon_sym_SLASH] = ACTIONS(5016), + [anon_sym_PERCENT] = ACTIONS(5018), + [anon_sym_PIPE_PIPE] = ACTIONS(5018), + [anon_sym_AMP_AMP] = ACTIONS(5018), + [anon_sym_PIPE] = ACTIONS(5016), + [anon_sym_CARET] = ACTIONS(5018), + [anon_sym_AMP] = ACTIONS(5016), + [anon_sym_EQ_EQ] = ACTIONS(5018), + [anon_sym_BANG_EQ] = ACTIONS(5018), + [anon_sym_GT] = ACTIONS(5016), + [anon_sym_GT_EQ] = ACTIONS(5018), + [anon_sym_LT_EQ] = ACTIONS(5016), + [anon_sym_LT] = ACTIONS(5016), + [anon_sym_LT_LT] = ACTIONS(5018), + [anon_sym_GT_GT] = ACTIONS(5018), + [anon_sym_SEMI] = ACTIONS(5018), + [anon_sym___extension__] = ACTIONS(5016), + [anon_sym___attribute__] = ACTIONS(5016), + [anon_sym___based] = ACTIONS(5016), + [anon_sym_LBRACE] = ACTIONS(5018), + [anon_sym_RBRACE] = ACTIONS(5018), + [anon_sym_signed] = ACTIONS(5016), + [anon_sym_unsigned] = ACTIONS(5016), + [anon_sym_long] = ACTIONS(5016), + [anon_sym_short] = ACTIONS(5016), + [anon_sym_LBRACK] = ACTIONS(5018), + [anon_sym_RBRACK] = ACTIONS(5018), + [anon_sym_const] = ACTIONS(5016), + [anon_sym_constexpr] = ACTIONS(5016), + [anon_sym_volatile] = ACTIONS(5016), + [anon_sym_restrict] = ACTIONS(5016), + [anon_sym___restrict__] = ACTIONS(5016), + [anon_sym__Atomic] = ACTIONS(5016), + [anon_sym__Noreturn] = ACTIONS(5016), + [anon_sym_noreturn] = ACTIONS(5016), + [anon_sym_mutable] = ACTIONS(5016), + [anon_sym_constinit] = ACTIONS(5016), + [anon_sym_consteval] = ACTIONS(5016), + [anon_sym_alignas] = ACTIONS(5016), + [anon_sym__Alignas] = ACTIONS(5016), + [sym_primitive_type] = ACTIONS(5016), + [anon_sym_COLON] = ACTIONS(5018), + [anon_sym_QMARK] = ACTIONS(5018), + [anon_sym_LT_EQ_GT] = ACTIONS(5018), + [anon_sym_or] = ACTIONS(5016), + [anon_sym_and] = ACTIONS(5016), + [anon_sym_bitor] = ACTIONS(5016), + [anon_sym_xor] = ACTIONS(5016), + [anon_sym_bitand] = ACTIONS(5016), + [anon_sym_not_eq] = ACTIONS(5016), + [anon_sym_DASH_DASH] = ACTIONS(5018), + [anon_sym_PLUS_PLUS] = ACTIONS(5018), + [anon_sym_DOT] = ACTIONS(5016), + [anon_sym_DOT_STAR] = ACTIONS(5018), + [anon_sym_DASH_GT] = ACTIONS(5018), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5018), + [sym_auto] = ACTIONS(5016), + [anon_sym_decltype] = ACTIONS(5016), + [anon_sym_final] = ACTIONS(5016), + [anon_sym_override] = ACTIONS(5016), + [anon_sym_requires] = ACTIONS(5016), + }, + [1736] = { + [sym__identifier] = ACTIONS(5020), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5022), + [anon_sym_COMMA] = ACTIONS(5022), + [anon_sym_RPAREN] = ACTIONS(5022), + [anon_sym_LPAREN2] = ACTIONS(5022), + [anon_sym_DASH] = ACTIONS(5020), + [anon_sym_PLUS] = ACTIONS(5020), + [anon_sym_STAR] = ACTIONS(5022), + [anon_sym_SLASH] = ACTIONS(5020), + [anon_sym_PERCENT] = ACTIONS(5022), + [anon_sym_PIPE_PIPE] = ACTIONS(5022), + [anon_sym_AMP_AMP] = ACTIONS(5022), + [anon_sym_PIPE] = ACTIONS(5020), + [anon_sym_CARET] = ACTIONS(5022), + [anon_sym_AMP] = ACTIONS(5020), + [anon_sym_EQ_EQ] = ACTIONS(5022), + [anon_sym_BANG_EQ] = ACTIONS(5022), + [anon_sym_GT] = ACTIONS(5020), + [anon_sym_GT_EQ] = ACTIONS(5022), + [anon_sym_LT_EQ] = ACTIONS(5020), + [anon_sym_LT] = ACTIONS(5020), + [anon_sym_LT_LT] = ACTIONS(5022), + [anon_sym_GT_GT] = ACTIONS(5022), + [anon_sym_SEMI] = ACTIONS(5022), + [anon_sym___extension__] = ACTIONS(5020), + [anon_sym___attribute__] = ACTIONS(5020), + [anon_sym___based] = ACTIONS(5020), + [anon_sym_LBRACE] = ACTIONS(5022), + [anon_sym_RBRACE] = ACTIONS(5022), + [anon_sym_signed] = ACTIONS(5020), + [anon_sym_unsigned] = ACTIONS(5020), + [anon_sym_long] = ACTIONS(5020), + [anon_sym_short] = ACTIONS(5020), + [anon_sym_LBRACK] = ACTIONS(5022), + [anon_sym_RBRACK] = ACTIONS(5022), + [anon_sym_const] = ACTIONS(5020), + [anon_sym_constexpr] = ACTIONS(5020), + [anon_sym_volatile] = ACTIONS(5020), + [anon_sym_restrict] = ACTIONS(5020), + [anon_sym___restrict__] = ACTIONS(5020), + [anon_sym__Atomic] = ACTIONS(5020), + [anon_sym__Noreturn] = ACTIONS(5020), + [anon_sym_noreturn] = ACTIONS(5020), + [anon_sym_mutable] = ACTIONS(5020), + [anon_sym_constinit] = ACTIONS(5020), + [anon_sym_consteval] = ACTIONS(5020), + [anon_sym_alignas] = ACTIONS(5020), + [anon_sym__Alignas] = ACTIONS(5020), + [sym_primitive_type] = ACTIONS(5020), + [anon_sym_COLON] = ACTIONS(5022), + [anon_sym_QMARK] = ACTIONS(5022), + [anon_sym_LT_EQ_GT] = ACTIONS(5022), + [anon_sym_or] = ACTIONS(5020), + [anon_sym_and] = ACTIONS(5020), + [anon_sym_bitor] = ACTIONS(5020), + [anon_sym_xor] = ACTIONS(5020), + [anon_sym_bitand] = ACTIONS(5020), + [anon_sym_not_eq] = ACTIONS(5020), + [anon_sym_DASH_DASH] = ACTIONS(5022), + [anon_sym_PLUS_PLUS] = ACTIONS(5022), + [anon_sym_DOT] = ACTIONS(5020), + [anon_sym_DOT_STAR] = ACTIONS(5022), + [anon_sym_DASH_GT] = ACTIONS(5022), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5022), + [sym_auto] = ACTIONS(5020), + [anon_sym_decltype] = ACTIONS(5020), + [anon_sym_final] = ACTIONS(5020), + [anon_sym_override] = ACTIONS(5020), + [anon_sym_requires] = ACTIONS(5020), + }, + [1737] = { + [sym__identifier] = ACTIONS(5024), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5026), + [anon_sym_COMMA] = ACTIONS(5026), + [anon_sym_RPAREN] = ACTIONS(5026), + [anon_sym_LPAREN2] = ACTIONS(5026), + [anon_sym_DASH] = ACTIONS(5024), + [anon_sym_PLUS] = ACTIONS(5024), + [anon_sym_STAR] = ACTIONS(5026), + [anon_sym_SLASH] = ACTIONS(5024), + [anon_sym_PERCENT] = ACTIONS(5026), + [anon_sym_PIPE_PIPE] = ACTIONS(5026), + [anon_sym_AMP_AMP] = ACTIONS(5026), + [anon_sym_PIPE] = ACTIONS(5024), + [anon_sym_CARET] = ACTIONS(5026), + [anon_sym_AMP] = ACTIONS(5024), + [anon_sym_EQ_EQ] = ACTIONS(5026), + [anon_sym_BANG_EQ] = ACTIONS(5026), + [anon_sym_GT] = ACTIONS(5024), + [anon_sym_GT_EQ] = ACTIONS(5026), + [anon_sym_LT_EQ] = ACTIONS(5024), + [anon_sym_LT] = ACTIONS(5024), + [anon_sym_LT_LT] = ACTIONS(5026), + [anon_sym_GT_GT] = ACTIONS(5026), + [anon_sym_SEMI] = ACTIONS(5026), + [anon_sym___extension__] = ACTIONS(5024), + [anon_sym___attribute__] = ACTIONS(5024), + [anon_sym___based] = ACTIONS(5024), + [anon_sym_LBRACE] = ACTIONS(5026), + [anon_sym_RBRACE] = ACTIONS(5026), + [anon_sym_signed] = ACTIONS(5024), + [anon_sym_unsigned] = ACTIONS(5024), + [anon_sym_long] = ACTIONS(5024), + [anon_sym_short] = ACTIONS(5024), + [anon_sym_LBRACK] = ACTIONS(5026), + [anon_sym_RBRACK] = ACTIONS(5026), + [anon_sym_const] = ACTIONS(5024), + [anon_sym_constexpr] = ACTIONS(5024), + [anon_sym_volatile] = ACTIONS(5024), + [anon_sym_restrict] = ACTIONS(5024), + [anon_sym___restrict__] = ACTIONS(5024), + [anon_sym__Atomic] = ACTIONS(5024), + [anon_sym__Noreturn] = ACTIONS(5024), + [anon_sym_noreturn] = ACTIONS(5024), + [anon_sym_mutable] = ACTIONS(5024), + [anon_sym_constinit] = ACTIONS(5024), + [anon_sym_consteval] = ACTIONS(5024), + [anon_sym_alignas] = ACTIONS(5024), + [anon_sym__Alignas] = ACTIONS(5024), + [sym_primitive_type] = ACTIONS(5024), + [anon_sym_COLON] = ACTIONS(5026), + [anon_sym_QMARK] = ACTIONS(5026), + [anon_sym_LT_EQ_GT] = ACTIONS(5026), + [anon_sym_or] = ACTIONS(5024), + [anon_sym_and] = ACTIONS(5024), + [anon_sym_bitor] = ACTIONS(5024), + [anon_sym_xor] = ACTIONS(5024), + [anon_sym_bitand] = ACTIONS(5024), + [anon_sym_not_eq] = ACTIONS(5024), + [anon_sym_DASH_DASH] = ACTIONS(5026), + [anon_sym_PLUS_PLUS] = ACTIONS(5026), + [anon_sym_DOT] = ACTIONS(5024), + [anon_sym_DOT_STAR] = ACTIONS(5026), + [anon_sym_DASH_GT] = ACTIONS(5026), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5026), + [sym_auto] = ACTIONS(5024), + [anon_sym_decltype] = ACTIONS(5024), + [anon_sym_final] = ACTIONS(5024), + [anon_sym_override] = ACTIONS(5024), + [anon_sym_requires] = ACTIONS(5024), + }, + [1738] = { + [sym__identifier] = ACTIONS(5028), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5030), + [anon_sym_COMMA] = ACTIONS(5030), + [anon_sym_RPAREN] = ACTIONS(5030), + [anon_sym_LPAREN2] = ACTIONS(5030), + [anon_sym_DASH] = ACTIONS(5028), + [anon_sym_PLUS] = ACTIONS(5028), + [anon_sym_STAR] = ACTIONS(5030), + [anon_sym_SLASH] = ACTIONS(5028), + [anon_sym_PERCENT] = ACTIONS(5030), + [anon_sym_PIPE_PIPE] = ACTIONS(5030), + [anon_sym_AMP_AMP] = ACTIONS(5030), + [anon_sym_PIPE] = ACTIONS(5028), + [anon_sym_CARET] = ACTIONS(5030), + [anon_sym_AMP] = ACTIONS(5028), + [anon_sym_EQ_EQ] = ACTIONS(5030), + [anon_sym_BANG_EQ] = ACTIONS(5030), + [anon_sym_GT] = ACTIONS(5028), + [anon_sym_GT_EQ] = ACTIONS(5030), + [anon_sym_LT_EQ] = ACTIONS(5028), + [anon_sym_LT] = ACTIONS(5028), + [anon_sym_LT_LT] = ACTIONS(5030), + [anon_sym_GT_GT] = ACTIONS(5030), + [anon_sym_SEMI] = ACTIONS(5030), + [anon_sym___extension__] = ACTIONS(5028), + [anon_sym___attribute__] = ACTIONS(5028), + [anon_sym___based] = ACTIONS(5028), + [anon_sym_LBRACE] = ACTIONS(5030), + [anon_sym_RBRACE] = ACTIONS(5030), + [anon_sym_signed] = ACTIONS(5028), + [anon_sym_unsigned] = ACTIONS(5028), + [anon_sym_long] = ACTIONS(5028), + [anon_sym_short] = ACTIONS(5028), + [anon_sym_LBRACK] = ACTIONS(5030), + [anon_sym_RBRACK] = ACTIONS(5030), + [anon_sym_const] = ACTIONS(5028), + [anon_sym_constexpr] = ACTIONS(5028), + [anon_sym_volatile] = ACTIONS(5028), + [anon_sym_restrict] = ACTIONS(5028), + [anon_sym___restrict__] = ACTIONS(5028), + [anon_sym__Atomic] = ACTIONS(5028), + [anon_sym__Noreturn] = ACTIONS(5028), + [anon_sym_noreturn] = ACTIONS(5028), + [anon_sym_mutable] = ACTIONS(5028), + [anon_sym_constinit] = ACTIONS(5028), + [anon_sym_consteval] = ACTIONS(5028), + [anon_sym_alignas] = ACTIONS(5028), + [anon_sym__Alignas] = ACTIONS(5028), + [sym_primitive_type] = ACTIONS(5028), + [anon_sym_COLON] = ACTIONS(5030), + [anon_sym_QMARK] = ACTIONS(5030), + [anon_sym_LT_EQ_GT] = ACTIONS(5030), + [anon_sym_or] = ACTIONS(5028), + [anon_sym_and] = ACTIONS(5028), + [anon_sym_bitor] = ACTIONS(5028), + [anon_sym_xor] = ACTIONS(5028), + [anon_sym_bitand] = ACTIONS(5028), + [anon_sym_not_eq] = ACTIONS(5028), + [anon_sym_DASH_DASH] = ACTIONS(5030), + [anon_sym_PLUS_PLUS] = ACTIONS(5030), + [anon_sym_DOT] = ACTIONS(5028), + [anon_sym_DOT_STAR] = ACTIONS(5030), + [anon_sym_DASH_GT] = ACTIONS(5030), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5030), + [sym_auto] = ACTIONS(5028), + [anon_sym_decltype] = ACTIONS(5028), + [anon_sym_final] = ACTIONS(5028), + [anon_sym_override] = ACTIONS(5028), + [anon_sym_requires] = ACTIONS(5028), + }, + [1739] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token2] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [aux_sym_preproc_else_token1] = ACTIONS(3082), + [aux_sym_preproc_elif_token1] = ACTIONS(3082), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_friend] = ACTIONS(3082), + [anon_sym_public] = ACTIONS(3082), + [anon_sym_private] = ACTIONS(3082), + [anon_sym_protected] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + }, + [1740] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [aux_sym_preproc_else_token1] = ACTIONS(3186), + [aux_sym_preproc_elif_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [1741] = { + [sym_template_argument_list] = STATE(1903), + [sym__identifier] = ACTIONS(5032), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3789), + [anon_sym_COMMA] = ACTIONS(3789), + [anon_sym_RPAREN] = ACTIONS(3789), + [aux_sym_preproc_if_token2] = ACTIONS(3789), + [aux_sym_preproc_else_token1] = ACTIONS(3789), + [aux_sym_preproc_elif_token1] = ACTIONS(5032), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3789), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3789), + [anon_sym_LPAREN2] = ACTIONS(3789), + [anon_sym_DASH] = ACTIONS(5032), + [anon_sym_PLUS] = ACTIONS(5032), + [anon_sym_STAR] = ACTIONS(5032), + [anon_sym_SLASH] = ACTIONS(5032), + [anon_sym_PERCENT] = ACTIONS(5032), + [anon_sym_PIPE_PIPE] = ACTIONS(3789), + [anon_sym_AMP_AMP] = ACTIONS(3789), + [anon_sym_PIPE] = ACTIONS(5032), + [anon_sym_CARET] = ACTIONS(5032), + [anon_sym_AMP] = ACTIONS(5032), + [anon_sym_EQ_EQ] = ACTIONS(3789), + [anon_sym_BANG_EQ] = ACTIONS(3789), + [anon_sym_GT] = ACTIONS(5032), + [anon_sym_GT_EQ] = ACTIONS(3789), + [anon_sym_LT_EQ] = ACTIONS(5032), + [anon_sym_LT] = ACTIONS(5034), + [anon_sym_LT_LT] = ACTIONS(5032), + [anon_sym_GT_GT] = ACTIONS(5032), + [anon_sym_SEMI] = ACTIONS(3789), + [anon_sym___attribute__] = ACTIONS(5032), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3789), + [anon_sym_RBRACK] = ACTIONS(3789), + [anon_sym_EQ] = ACTIONS(5032), + [anon_sym_COLON] = ACTIONS(5032), + [anon_sym_QMARK] = ACTIONS(3789), + [anon_sym_STAR_EQ] = ACTIONS(3789), + [anon_sym_SLASH_EQ] = ACTIONS(3789), + [anon_sym_PERCENT_EQ] = ACTIONS(3789), + [anon_sym_PLUS_EQ] = ACTIONS(3789), + [anon_sym_DASH_EQ] = ACTIONS(3789), + [anon_sym_LT_LT_EQ] = ACTIONS(3789), + [anon_sym_GT_GT_EQ] = ACTIONS(3789), + [anon_sym_AMP_EQ] = ACTIONS(3789), + [anon_sym_CARET_EQ] = ACTIONS(3789), + [anon_sym_PIPE_EQ] = ACTIONS(3789), + [anon_sym_and_eq] = ACTIONS(5032), + [anon_sym_or_eq] = ACTIONS(5032), + [anon_sym_xor_eq] = ACTIONS(5032), + [anon_sym_LT_EQ_GT] = ACTIONS(3789), + [anon_sym_or] = ACTIONS(5032), + [anon_sym_and] = ACTIONS(5032), + [anon_sym_bitor] = ACTIONS(5032), + [anon_sym_xor] = ACTIONS(5032), + [anon_sym_bitand] = ACTIONS(5032), + [anon_sym_not_eq] = ACTIONS(5032), + [anon_sym_DASH_DASH] = ACTIONS(3789), + [anon_sym_PLUS_PLUS] = ACTIONS(3789), + [anon_sym_DOT] = ACTIONS(5032), + [anon_sym_DOT_STAR] = ACTIONS(3789), + [anon_sym_DASH_GT] = ACTIONS(3789), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3789), + [sym_auto] = ACTIONS(5032), + [anon_sym_decltype] = ACTIONS(5032), + [anon_sym_final] = ACTIONS(5032), + [anon_sym_override] = ACTIONS(5032), + }, + [1742] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [aux_sym_preproc_else_token1] = ACTIONS(3186), + [aux_sym_preproc_elif_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [1743] = { + [sym_identifier] = STATE(2009), + [aux_sym_sized_type_specifier_repeat1] = STATE(1861), + [sym__identifier] = ACTIONS(5036), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [anon_sym_RPAREN] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5038), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5038), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5038), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5038), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5038), + [anon_sym_GT_GT] = ACTIONS(5038), + [anon_sym_SEMI] = ACTIONS(5038), + [anon_sym___extension__] = ACTIONS(5040), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_RBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5042), + [anon_sym_unsigned] = ACTIONS(5042), + [anon_sym_long] = ACTIONS(5042), + [anon_sym_short] = ACTIONS(5042), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_RBRACK] = ACTIONS(5038), + [anon_sym_const] = ACTIONS(5040), + [anon_sym_constexpr] = ACTIONS(5040), + [anon_sym_volatile] = ACTIONS(5040), + [anon_sym_restrict] = ACTIONS(5040), + [anon_sym___restrict__] = ACTIONS(5040), + [anon_sym__Atomic] = ACTIONS(5040), + [anon_sym__Noreturn] = ACTIONS(5040), + [anon_sym_noreturn] = ACTIONS(5040), + [anon_sym_mutable] = ACTIONS(5040), + [anon_sym_constinit] = ACTIONS(5040), + [anon_sym_consteval] = ACTIONS(5040), + [anon_sym_alignas] = ACTIONS(5040), + [anon_sym__Alignas] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5044), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5038), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5046), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + [anon_sym_final] = ACTIONS(5040), + [anon_sym_override] = ACTIONS(5040), + [anon_sym_requires] = ACTIONS(5040), + }, + [1744] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token2] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [aux_sym_preproc_else_token1] = ACTIONS(3054), + [aux_sym_preproc_elif_token1] = ACTIONS(3054), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_friend] = ACTIONS(3054), + [anon_sym_public] = ACTIONS(3054), + [anon_sym_private] = ACTIONS(3054), + [anon_sym_protected] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + }, + [1745] = { + [sym_argument_list] = STATE(2438), + [sym_initializer_list] = STATE(2438), + [sym_decltype_auto] = STATE(2136), + [sym_new_declarator] = STATE(2065), + [sym__identifier] = ACTIONS(5048), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5050), + [anon_sym_COMMA] = ACTIONS(5050), + [anon_sym_RPAREN] = ACTIONS(5050), + [aux_sym_preproc_if_token2] = ACTIONS(5050), + [aux_sym_preproc_else_token1] = ACTIONS(5050), + [aux_sym_preproc_elif_token1] = ACTIONS(5048), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5050), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5050), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5048), + [anon_sym_PLUS] = ACTIONS(5048), + [anon_sym_STAR] = ACTIONS(5048), + [anon_sym_SLASH] = ACTIONS(5048), + [anon_sym_PERCENT] = ACTIONS(5048), + [anon_sym_PIPE_PIPE] = ACTIONS(5050), + [anon_sym_AMP_AMP] = ACTIONS(5050), + [anon_sym_PIPE] = ACTIONS(5048), + [anon_sym_CARET] = ACTIONS(5048), + [anon_sym_AMP] = ACTIONS(5048), + [anon_sym_EQ_EQ] = ACTIONS(5050), + [anon_sym_BANG_EQ] = ACTIONS(5050), + [anon_sym_GT] = ACTIONS(5048), + [anon_sym_GT_EQ] = ACTIONS(5050), + [anon_sym_LT_EQ] = ACTIONS(5048), + [anon_sym_LT] = ACTIONS(5048), + [anon_sym_LT_LT] = ACTIONS(5048), + [anon_sym_GT_GT] = ACTIONS(5048), + [anon_sym_SEMI] = ACTIONS(5050), + [anon_sym___attribute__] = ACTIONS(5048), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5050), + [anon_sym_LBRACK] = ACTIONS(5054), + [anon_sym_RBRACK] = ACTIONS(5050), + [anon_sym_EQ] = ACTIONS(5048), + [anon_sym_COLON] = ACTIONS(5050), + [anon_sym_QMARK] = ACTIONS(5050), + [anon_sym_STAR_EQ] = ACTIONS(5050), + [anon_sym_SLASH_EQ] = ACTIONS(5050), + [anon_sym_PERCENT_EQ] = ACTIONS(5050), + [anon_sym_PLUS_EQ] = ACTIONS(5050), + [anon_sym_DASH_EQ] = ACTIONS(5050), + [anon_sym_LT_LT_EQ] = ACTIONS(5050), + [anon_sym_GT_GT_EQ] = ACTIONS(5050), + [anon_sym_AMP_EQ] = ACTIONS(5050), + [anon_sym_CARET_EQ] = ACTIONS(5050), + [anon_sym_PIPE_EQ] = ACTIONS(5050), + [anon_sym_and_eq] = ACTIONS(5048), + [anon_sym_or_eq] = ACTIONS(5048), + [anon_sym_xor_eq] = ACTIONS(5048), + [anon_sym_LT_EQ_GT] = ACTIONS(5050), + [anon_sym_or] = ACTIONS(5048), + [anon_sym_and] = ACTIONS(5048), + [anon_sym_bitor] = ACTIONS(5048), + [anon_sym_xor] = ACTIONS(5048), + [anon_sym_bitand] = ACTIONS(5048), + [anon_sym_not_eq] = ACTIONS(5048), + [anon_sym_DASH_DASH] = ACTIONS(5050), + [anon_sym_PLUS_PLUS] = ACTIONS(5050), + [anon_sym_DOT] = ACTIONS(5048), + [anon_sym_DOT_STAR] = ACTIONS(5050), + [anon_sym_DASH_GT] = ACTIONS(5050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5050), + [sym_auto] = ACTIONS(5056), + [anon_sym_decltype] = ACTIONS(5058), + }, + [1746] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token2] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [aux_sym_preproc_else_token1] = ACTIONS(3162), + [aux_sym_preproc_elif_token1] = ACTIONS(3162), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_friend] = ACTIONS(3162), + [anon_sym_public] = ACTIONS(3162), + [anon_sym_private] = ACTIONS(3162), + [anon_sym_protected] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + }, + [1747] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token2] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [aux_sym_preproc_else_token1] = ACTIONS(2829), + [aux_sym_preproc_elif_token1] = ACTIONS(2829), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_friend] = ACTIONS(2829), + [anon_sym_public] = ACTIONS(2829), + [anon_sym_private] = ACTIONS(2829), + [anon_sym_protected] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + }, + [1748] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token2] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [aux_sym_preproc_else_token1] = ACTIONS(3070), + [aux_sym_preproc_elif_token1] = ACTIONS(3070), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_friend] = ACTIONS(3070), + [anon_sym_public] = ACTIONS(3070), + [anon_sym_private] = ACTIONS(3070), + [anon_sym_protected] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + }, + [1749] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token2] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [aux_sym_preproc_else_token1] = ACTIONS(2901), + [aux_sym_preproc_elif_token1] = ACTIONS(2901), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_friend] = ACTIONS(2901), + [anon_sym_public] = ACTIONS(2901), + [anon_sym_private] = ACTIONS(2901), + [anon_sym_protected] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + }, + [1750] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token2] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [aux_sym_preproc_else_token1] = ACTIONS(2932), + [aux_sym_preproc_elif_token1] = ACTIONS(2932), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_friend] = ACTIONS(2932), + [anon_sym_public] = ACTIONS(2932), + [anon_sym_private] = ACTIONS(2932), + [anon_sym_protected] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + }, + [1751] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token2] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [aux_sym_preproc_else_token1] = ACTIONS(3170), + [aux_sym_preproc_elif_token1] = ACTIONS(3170), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_friend] = ACTIONS(3170), + [anon_sym_public] = ACTIONS(3170), + [anon_sym_private] = ACTIONS(3170), + [anon_sym_protected] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + }, + [1752] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token2] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [aux_sym_preproc_else_token1] = ACTIONS(2975), + [aux_sym_preproc_elif_token1] = ACTIONS(2975), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_friend] = ACTIONS(2975), + [anon_sym_public] = ACTIONS(2975), + [anon_sym_private] = ACTIONS(2975), + [anon_sym_protected] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + }, + [1753] = { + [sym_string_literal] = STATE(1805), + [sym__string_literal] = STATE(2298), + [sym_identifier] = STATE(1805), + [sym_raw_string_literal] = STATE(1805), + [aux_sym_concatenated_string_repeat1] = STATE(1805), + [sym__identifier] = ACTIONS(5060), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4786), + [anon_sym_COMMA] = ACTIONS(4786), + [anon_sym_RPAREN] = ACTIONS(4786), + [anon_sym_LPAREN2] = ACTIONS(4786), + [anon_sym_DASH] = ACTIONS(4788), + [anon_sym_PLUS] = ACTIONS(4788), + [anon_sym_STAR] = ACTIONS(4788), + [anon_sym_SLASH] = ACTIONS(4788), + [anon_sym_PERCENT] = ACTIONS(4788), + [anon_sym_PIPE_PIPE] = ACTIONS(4786), + [anon_sym_AMP_AMP] = ACTIONS(4786), + [anon_sym_PIPE] = ACTIONS(4788), + [anon_sym_CARET] = ACTIONS(4788), + [anon_sym_AMP] = ACTIONS(4788), + [anon_sym_EQ_EQ] = ACTIONS(4786), + [anon_sym_BANG_EQ] = ACTIONS(4786), + [anon_sym_GT] = ACTIONS(4788), + [anon_sym_GT_EQ] = ACTIONS(4786), + [anon_sym_LT_EQ] = ACTIONS(4788), + [anon_sym_LT] = ACTIONS(4788), + [anon_sym_LT_LT] = ACTIONS(4788), + [anon_sym_GT_GT] = ACTIONS(4788), + [anon_sym_LBRACK] = ACTIONS(4786), + [anon_sym_EQ] = ACTIONS(4788), + [anon_sym_QMARK] = ACTIONS(4786), + [anon_sym_STAR_EQ] = ACTIONS(4786), + [anon_sym_SLASH_EQ] = ACTIONS(4786), + [anon_sym_PERCENT_EQ] = ACTIONS(4786), + [anon_sym_PLUS_EQ] = ACTIONS(4786), + [anon_sym_DASH_EQ] = ACTIONS(4786), + [anon_sym_LT_LT_EQ] = ACTIONS(4786), + [anon_sym_GT_GT_EQ] = ACTIONS(4786), + [anon_sym_AMP_EQ] = ACTIONS(4786), + [anon_sym_CARET_EQ] = ACTIONS(4786), + [anon_sym_PIPE_EQ] = ACTIONS(4786), + [anon_sym_and_eq] = ACTIONS(4788), + [anon_sym_or_eq] = ACTIONS(4788), + [anon_sym_xor_eq] = ACTIONS(4788), + [anon_sym_LT_EQ_GT] = ACTIONS(4786), + [anon_sym_or] = ACTIONS(4788), + [anon_sym_and] = ACTIONS(4788), + [anon_sym_bitor] = ACTIONS(4788), + [anon_sym_xor] = ACTIONS(4788), + [anon_sym_bitand] = ACTIONS(4788), + [anon_sym_not_eq] = ACTIONS(4788), + [anon_sym_DASH_DASH] = ACTIONS(4786), + [anon_sym_PLUS_PLUS] = ACTIONS(4786), + [anon_sym_DOT] = ACTIONS(4788), + [anon_sym_DOT_STAR] = ACTIONS(4786), + [anon_sym_DASH_GT] = ACTIONS(4788), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5062), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(4786), + [sym_literal_suffix] = ACTIONS(4788), + }, + [1754] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token2] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [aux_sym_preproc_else_token1] = ACTIONS(3050), + [aux_sym_preproc_elif_token1] = ACTIONS(3050), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_friend] = ACTIONS(3050), + [anon_sym_public] = ACTIONS(3050), + [anon_sym_private] = ACTIONS(3050), + [anon_sym_protected] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + }, + [1755] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [aux_sym_preproc_else_token1] = ACTIONS(3100), + [aux_sym_preproc_elif_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [1756] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_template_argument_list] = STATE(3160), + [sym_raw_string_literal] = STATE(1832), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(5064), + [anon_sym_LPAREN2] = ACTIONS(5064), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4689), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5064), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(5066), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1757] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [aux_sym_preproc_else_token1] = ACTIONS(3100), + [aux_sym_preproc_elif_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [1758] = { + [sym__identifier] = ACTIONS(5068), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5070), + [anon_sym_COMMA] = ACTIONS(5070), + [anon_sym_RPAREN] = ACTIONS(5070), + [anon_sym_LPAREN2] = ACTIONS(5070), + [anon_sym_DASH] = ACTIONS(5068), + [anon_sym_PLUS] = ACTIONS(5068), + [anon_sym_STAR] = ACTIONS(5070), + [anon_sym_SLASH] = ACTIONS(5068), + [anon_sym_PERCENT] = ACTIONS(5070), + [anon_sym_PIPE_PIPE] = ACTIONS(5070), + [anon_sym_AMP_AMP] = ACTIONS(5070), + [anon_sym_PIPE] = ACTIONS(5068), + [anon_sym_CARET] = ACTIONS(5070), + [anon_sym_AMP] = ACTIONS(5068), + [anon_sym_EQ_EQ] = ACTIONS(5070), + [anon_sym_BANG_EQ] = ACTIONS(5070), + [anon_sym_GT] = ACTIONS(5068), + [anon_sym_GT_EQ] = ACTIONS(5070), + [anon_sym_LT_EQ] = ACTIONS(5068), + [anon_sym_LT] = ACTIONS(5068), + [anon_sym_LT_LT] = ACTIONS(5070), + [anon_sym_GT_GT] = ACTIONS(5070), + [anon_sym_SEMI] = ACTIONS(5070), + [anon_sym___extension__] = ACTIONS(5068), + [anon_sym___attribute__] = ACTIONS(5068), + [anon_sym___based] = ACTIONS(5068), + [anon_sym_LBRACE] = ACTIONS(5070), + [anon_sym_RBRACE] = ACTIONS(5070), + [anon_sym_signed] = ACTIONS(5068), + [anon_sym_unsigned] = ACTIONS(5068), + [anon_sym_long] = ACTIONS(5068), + [anon_sym_short] = ACTIONS(5068), + [anon_sym_LBRACK] = ACTIONS(5070), + [anon_sym_RBRACK] = ACTIONS(5070), + [anon_sym_const] = ACTIONS(5068), + [anon_sym_constexpr] = ACTIONS(5068), + [anon_sym_volatile] = ACTIONS(5068), + [anon_sym_restrict] = ACTIONS(5068), + [anon_sym___restrict__] = ACTIONS(5068), + [anon_sym__Atomic] = ACTIONS(5068), + [anon_sym__Noreturn] = ACTIONS(5068), + [anon_sym_noreturn] = ACTIONS(5068), + [anon_sym_mutable] = ACTIONS(5068), + [anon_sym_constinit] = ACTIONS(5068), + [anon_sym_consteval] = ACTIONS(5068), + [anon_sym_alignas] = ACTIONS(5068), + [anon_sym__Alignas] = ACTIONS(5068), + [sym_primitive_type] = ACTIONS(5068), + [anon_sym_COLON] = ACTIONS(5070), + [anon_sym_QMARK] = ACTIONS(5070), + [anon_sym_LT_EQ_GT] = ACTIONS(5070), + [anon_sym_or] = ACTIONS(5068), + [anon_sym_and] = ACTIONS(5068), + [anon_sym_bitor] = ACTIONS(5068), + [anon_sym_xor] = ACTIONS(5068), + [anon_sym_bitand] = ACTIONS(5068), + [anon_sym_not_eq] = ACTIONS(5068), + [anon_sym_DASH_DASH] = ACTIONS(5070), + [anon_sym_PLUS_PLUS] = ACTIONS(5070), + [anon_sym_DOT] = ACTIONS(5068), + [anon_sym_DOT_STAR] = ACTIONS(5070), + [anon_sym_DASH_GT] = ACTIONS(5070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5070), + [sym_auto] = ACTIONS(5068), + [anon_sym_decltype] = ACTIONS(5068), + [anon_sym_final] = ACTIONS(5068), + [anon_sym_override] = ACTIONS(5068), + [anon_sym_requires] = ACTIONS(5068), + }, + [1759] = { + [sym__identifier] = ACTIONS(5072), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5074), + [anon_sym_COMMA] = ACTIONS(5074), + [anon_sym_RPAREN] = ACTIONS(5074), + [anon_sym_LPAREN2] = ACTIONS(5074), + [anon_sym_DASH] = ACTIONS(5072), + [anon_sym_PLUS] = ACTIONS(5072), + [anon_sym_STAR] = ACTIONS(5074), + [anon_sym_SLASH] = ACTIONS(5072), + [anon_sym_PERCENT] = ACTIONS(5074), + [anon_sym_PIPE_PIPE] = ACTIONS(5074), + [anon_sym_AMP_AMP] = ACTIONS(5074), + [anon_sym_PIPE] = ACTIONS(5072), + [anon_sym_CARET] = ACTIONS(5074), + [anon_sym_AMP] = ACTIONS(5072), + [anon_sym_EQ_EQ] = ACTIONS(5074), + [anon_sym_BANG_EQ] = ACTIONS(5074), + [anon_sym_GT] = ACTIONS(5072), + [anon_sym_GT_EQ] = ACTIONS(5074), + [anon_sym_LT_EQ] = ACTIONS(5072), + [anon_sym_LT] = ACTIONS(5072), + [anon_sym_LT_LT] = ACTIONS(5074), + [anon_sym_GT_GT] = ACTIONS(5074), + [anon_sym_SEMI] = ACTIONS(5074), + [anon_sym___extension__] = ACTIONS(5072), + [anon_sym___attribute__] = ACTIONS(5072), + [anon_sym___based] = ACTIONS(5072), + [anon_sym_LBRACE] = ACTIONS(5074), + [anon_sym_RBRACE] = ACTIONS(5074), + [anon_sym_signed] = ACTIONS(5072), + [anon_sym_unsigned] = ACTIONS(5072), + [anon_sym_long] = ACTIONS(5072), + [anon_sym_short] = ACTIONS(5072), + [anon_sym_LBRACK] = ACTIONS(5074), + [anon_sym_RBRACK] = ACTIONS(5074), + [anon_sym_const] = ACTIONS(5072), + [anon_sym_constexpr] = ACTIONS(5072), + [anon_sym_volatile] = ACTIONS(5072), + [anon_sym_restrict] = ACTIONS(5072), + [anon_sym___restrict__] = ACTIONS(5072), + [anon_sym__Atomic] = ACTIONS(5072), + [anon_sym__Noreturn] = ACTIONS(5072), + [anon_sym_noreturn] = ACTIONS(5072), + [anon_sym_mutable] = ACTIONS(5072), + [anon_sym_constinit] = ACTIONS(5072), + [anon_sym_consteval] = ACTIONS(5072), + [anon_sym_alignas] = ACTIONS(5072), + [anon_sym__Alignas] = ACTIONS(5072), + [sym_primitive_type] = ACTIONS(5072), + [anon_sym_COLON] = ACTIONS(5074), + [anon_sym_QMARK] = ACTIONS(5074), + [anon_sym_LT_EQ_GT] = ACTIONS(5074), + [anon_sym_or] = ACTIONS(5072), + [anon_sym_and] = ACTIONS(5072), + [anon_sym_bitor] = ACTIONS(5072), + [anon_sym_xor] = ACTIONS(5072), + [anon_sym_bitand] = ACTIONS(5072), + [anon_sym_not_eq] = ACTIONS(5072), + [anon_sym_DASH_DASH] = ACTIONS(5074), + [anon_sym_PLUS_PLUS] = ACTIONS(5074), + [anon_sym_DOT] = ACTIONS(5072), + [anon_sym_DOT_STAR] = ACTIONS(5074), + [anon_sym_DASH_GT] = ACTIONS(5074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5074), + [sym_auto] = ACTIONS(5072), + [anon_sym_decltype] = ACTIONS(5072), + [anon_sym_final] = ACTIONS(5072), + [anon_sym_override] = ACTIONS(5072), + [anon_sym_requires] = ACTIONS(5072), + }, + [1760] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_template_argument_list] = STATE(2943), + [sym_raw_string_literal] = STATE(1832), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(5076), + [anon_sym_LPAREN2] = ACTIONS(5076), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4673), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4676), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(5079), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1761] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5014), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5014), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5014), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5014), + [anon_sym_GT_GT] = ACTIONS(5014), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___extension__] = ACTIONS(5012), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym___based] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_signed] = ACTIONS(5012), + [anon_sym_unsigned] = ACTIONS(5012), + [anon_sym_long] = ACTIONS(5012), + [anon_sym_short] = ACTIONS(5012), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_const] = ACTIONS(5012), + [anon_sym_constexpr] = ACTIONS(5012), + [anon_sym_volatile] = ACTIONS(5012), + [anon_sym_restrict] = ACTIONS(5012), + [anon_sym___restrict__] = ACTIONS(5012), + [anon_sym__Atomic] = ACTIONS(5012), + [anon_sym__Noreturn] = ACTIONS(5012), + [anon_sym_noreturn] = ACTIONS(5012), + [anon_sym_mutable] = ACTIONS(5012), + [anon_sym_constinit] = ACTIONS(5012), + [anon_sym_consteval] = ACTIONS(5012), + [anon_sym_alignas] = ACTIONS(5012), + [anon_sym__Alignas] = ACTIONS(5012), + [sym_primitive_type] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5014), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + [anon_sym_final] = ACTIONS(5012), + [anon_sym_override] = ACTIONS(5012), + [anon_sym_requires] = ACTIONS(5012), + }, + [1762] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [aux_sym_preproc_else_token1] = ACTIONS(3154), + [aux_sym_preproc_elif_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [1763] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [aux_sym_preproc_else_token1] = ACTIONS(3154), + [aux_sym_preproc_elif_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [1764] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token2] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [aux_sym_preproc_else_token1] = ACTIONS(3182), + [aux_sym_preproc_elif_token1] = ACTIONS(3182), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_friend] = ACTIONS(3182), + [anon_sym_public] = ACTIONS(3182), + [anon_sym_private] = ACTIONS(3182), + [anon_sym_protected] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + }, + [1765] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token2] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [aux_sym_preproc_else_token1] = ACTIONS(3174), + [aux_sym_preproc_elif_token1] = ACTIONS(3174), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_friend] = ACTIONS(3174), + [anon_sym_public] = ACTIONS(3174), + [anon_sym_private] = ACTIONS(3174), + [anon_sym_protected] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + }, + [1766] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token2] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [aux_sym_preproc_else_token1] = ACTIONS(3150), + [aux_sym_preproc_elif_token1] = ACTIONS(3150), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_friend] = ACTIONS(3150), + [anon_sym_public] = ACTIONS(3150), + [anon_sym_private] = ACTIONS(3150), + [anon_sym_protected] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + }, + [1767] = { + [sym__identifier] = ACTIONS(5082), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5084), + [anon_sym_COMMA] = ACTIONS(5084), + [anon_sym_RPAREN] = ACTIONS(5084), + [anon_sym_LPAREN2] = ACTIONS(5084), + [anon_sym_DASH] = ACTIONS(5082), + [anon_sym_PLUS] = ACTIONS(5082), + [anon_sym_STAR] = ACTIONS(5084), + [anon_sym_SLASH] = ACTIONS(5082), + [anon_sym_PERCENT] = ACTIONS(5084), + [anon_sym_PIPE_PIPE] = ACTIONS(5084), + [anon_sym_AMP_AMP] = ACTIONS(5084), + [anon_sym_PIPE] = ACTIONS(5082), + [anon_sym_CARET] = ACTIONS(5084), + [anon_sym_AMP] = ACTIONS(5082), + [anon_sym_EQ_EQ] = ACTIONS(5084), + [anon_sym_BANG_EQ] = ACTIONS(5084), + [anon_sym_GT] = ACTIONS(5082), + [anon_sym_GT_EQ] = ACTIONS(5084), + [anon_sym_LT_EQ] = ACTIONS(5082), + [anon_sym_LT] = ACTIONS(5082), + [anon_sym_LT_LT] = ACTIONS(5084), + [anon_sym_GT_GT] = ACTIONS(5084), + [anon_sym_SEMI] = ACTIONS(5084), + [anon_sym___extension__] = ACTIONS(5082), + [anon_sym___attribute__] = ACTIONS(5082), + [anon_sym___based] = ACTIONS(5082), + [anon_sym_LBRACE] = ACTIONS(5084), + [anon_sym_RBRACE] = ACTIONS(5084), + [anon_sym_signed] = ACTIONS(5082), + [anon_sym_unsigned] = ACTIONS(5082), + [anon_sym_long] = ACTIONS(5082), + [anon_sym_short] = ACTIONS(5082), + [anon_sym_LBRACK] = ACTIONS(5084), + [anon_sym_RBRACK] = ACTIONS(5084), + [anon_sym_const] = ACTIONS(5082), + [anon_sym_constexpr] = ACTIONS(5082), + [anon_sym_volatile] = ACTIONS(5082), + [anon_sym_restrict] = ACTIONS(5082), + [anon_sym___restrict__] = ACTIONS(5082), + [anon_sym__Atomic] = ACTIONS(5082), + [anon_sym__Noreturn] = ACTIONS(5082), + [anon_sym_noreturn] = ACTIONS(5082), + [anon_sym_mutable] = ACTIONS(5082), + [anon_sym_constinit] = ACTIONS(5082), + [anon_sym_consteval] = ACTIONS(5082), + [anon_sym_alignas] = ACTIONS(5082), + [anon_sym__Alignas] = ACTIONS(5082), + [sym_primitive_type] = ACTIONS(5082), + [anon_sym_COLON] = ACTIONS(5084), + [anon_sym_QMARK] = ACTIONS(5084), + [anon_sym_LT_EQ_GT] = ACTIONS(5084), + [anon_sym_or] = ACTIONS(5082), + [anon_sym_and] = ACTIONS(5082), + [anon_sym_bitor] = ACTIONS(5082), + [anon_sym_xor] = ACTIONS(5082), + [anon_sym_bitand] = ACTIONS(5082), + [anon_sym_not_eq] = ACTIONS(5082), + [anon_sym_DASH_DASH] = ACTIONS(5084), + [anon_sym_PLUS_PLUS] = ACTIONS(5084), + [anon_sym_DOT] = ACTIONS(5082), + [anon_sym_DOT_STAR] = ACTIONS(5084), + [anon_sym_DASH_GT] = ACTIONS(5084), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5084), + [sym_auto] = ACTIONS(5082), + [anon_sym_decltype] = ACTIONS(5082), + [anon_sym_final] = ACTIONS(5082), + [anon_sym_override] = ACTIONS(5082), + [anon_sym_requires] = ACTIONS(5082), + }, + [1768] = { + [sym__identifier] = ACTIONS(5086), + [aux_sym_preproc_def_token1] = ACTIONS(5086), + [aux_sym_preproc_if_token1] = ACTIONS(5086), + [aux_sym_preproc_if_token2] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5086), + [aux_sym_preproc_else_token1] = ACTIONS(5086), + [aux_sym_preproc_elif_token1] = ACTIONS(5086), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5086), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5086), + [sym_preproc_directive] = ACTIONS(5086), + [anon_sym_LPAREN2] = ACTIONS(5088), + [anon_sym_TILDE] = ACTIONS(5088), + [anon_sym_STAR] = ACTIONS(5088), + [anon_sym_AMP_AMP] = ACTIONS(5088), + [anon_sym_AMP] = ACTIONS(5086), + [anon_sym___extension__] = ACTIONS(5086), + [anon_sym_typedef] = ACTIONS(5086), + [anon_sym_extern] = ACTIONS(5086), + [anon_sym___attribute__] = ACTIONS(5086), + [anon_sym_COLON_COLON] = ACTIONS(5088), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5088), + [anon_sym___declspec] = ACTIONS(5086), + [anon_sym___based] = ACTIONS(5086), + [anon_sym_signed] = ACTIONS(5086), + [anon_sym_unsigned] = ACTIONS(5086), + [anon_sym_long] = ACTIONS(5086), + [anon_sym_short] = ACTIONS(5086), + [anon_sym_LBRACK] = ACTIONS(5086), + [anon_sym_static] = ACTIONS(5086), + [anon_sym_register] = ACTIONS(5086), + [anon_sym_inline] = ACTIONS(5086), + [anon_sym___inline] = ACTIONS(5086), + [anon_sym___inline__] = ACTIONS(5086), + [anon_sym___forceinline] = ACTIONS(5086), + [anon_sym_thread_local] = ACTIONS(5086), + [anon_sym___thread] = ACTIONS(5086), + [anon_sym_const] = ACTIONS(5086), + [anon_sym_constexpr] = ACTIONS(5086), + [anon_sym_volatile] = ACTIONS(5086), + [anon_sym_restrict] = ACTIONS(5086), + [anon_sym___restrict__] = ACTIONS(5086), + [anon_sym__Atomic] = ACTIONS(5086), + [anon_sym__Noreturn] = ACTIONS(5086), + [anon_sym_noreturn] = ACTIONS(5086), + [anon_sym_mutable] = ACTIONS(5086), + [anon_sym_constinit] = ACTIONS(5086), + [anon_sym_consteval] = ACTIONS(5086), + [anon_sym_alignas] = ACTIONS(5086), + [anon_sym__Alignas] = ACTIONS(5086), + [sym_primitive_type] = ACTIONS(5086), + [anon_sym_enum] = ACTIONS(5086), + [anon_sym_class] = ACTIONS(5086), + [anon_sym_struct] = ACTIONS(5086), + [anon_sym_union] = ACTIONS(5086), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5088), + [sym_auto] = ACTIONS(5086), + [anon_sym_decltype] = ACTIONS(5086), + [sym_virtual] = ACTIONS(5086), + [anon_sym_explicit] = ACTIONS(5086), + [anon_sym_typename] = ACTIONS(5086), + [anon_sym_template] = ACTIONS(5086), + [anon_sym_operator] = ACTIONS(5086), + [anon_sym_friend] = ACTIONS(5086), + [anon_sym_public] = ACTIONS(5086), + [anon_sym_private] = ACTIONS(5086), + [anon_sym_protected] = ACTIONS(5086), + [anon_sym_using] = ACTIONS(5086), + [anon_sym_static_assert] = ACTIONS(5086), + }, + [1769] = { + [sym__identifier] = ACTIONS(5090), + [aux_sym_preproc_def_token1] = ACTIONS(5090), + [aux_sym_preproc_if_token1] = ACTIONS(5090), + [aux_sym_preproc_if_token2] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5090), + [aux_sym_preproc_else_token1] = ACTIONS(5090), + [aux_sym_preproc_elif_token1] = ACTIONS(5090), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5090), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5090), + [sym_preproc_directive] = ACTIONS(5090), + [anon_sym_LPAREN2] = ACTIONS(5092), + [anon_sym_TILDE] = ACTIONS(5092), + [anon_sym_STAR] = ACTIONS(5092), + [anon_sym_AMP_AMP] = ACTIONS(5092), + [anon_sym_AMP] = ACTIONS(5090), + [anon_sym___extension__] = ACTIONS(5090), + [anon_sym_typedef] = ACTIONS(5090), + [anon_sym_extern] = ACTIONS(5090), + [anon_sym___attribute__] = ACTIONS(5090), + [anon_sym_COLON_COLON] = ACTIONS(5092), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5092), + [anon_sym___declspec] = ACTIONS(5090), + [anon_sym___based] = ACTIONS(5090), + [anon_sym_signed] = ACTIONS(5090), + [anon_sym_unsigned] = ACTIONS(5090), + [anon_sym_long] = ACTIONS(5090), + [anon_sym_short] = ACTIONS(5090), + [anon_sym_LBRACK] = ACTIONS(5090), + [anon_sym_static] = ACTIONS(5090), + [anon_sym_register] = ACTIONS(5090), + [anon_sym_inline] = ACTIONS(5090), + [anon_sym___inline] = ACTIONS(5090), + [anon_sym___inline__] = ACTIONS(5090), + [anon_sym___forceinline] = ACTIONS(5090), + [anon_sym_thread_local] = ACTIONS(5090), + [anon_sym___thread] = ACTIONS(5090), + [anon_sym_const] = ACTIONS(5090), + [anon_sym_constexpr] = ACTIONS(5090), + [anon_sym_volatile] = ACTIONS(5090), + [anon_sym_restrict] = ACTIONS(5090), + [anon_sym___restrict__] = ACTIONS(5090), + [anon_sym__Atomic] = ACTIONS(5090), + [anon_sym__Noreturn] = ACTIONS(5090), + [anon_sym_noreturn] = ACTIONS(5090), + [anon_sym_mutable] = ACTIONS(5090), + [anon_sym_constinit] = ACTIONS(5090), + [anon_sym_consteval] = ACTIONS(5090), + [anon_sym_alignas] = ACTIONS(5090), + [anon_sym__Alignas] = ACTIONS(5090), + [sym_primitive_type] = ACTIONS(5090), + [anon_sym_enum] = ACTIONS(5090), + [anon_sym_class] = ACTIONS(5090), + [anon_sym_struct] = ACTIONS(5090), + [anon_sym_union] = ACTIONS(5090), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5092), + [sym_auto] = ACTIONS(5090), + [anon_sym_decltype] = ACTIONS(5090), + [sym_virtual] = ACTIONS(5090), + [anon_sym_explicit] = ACTIONS(5090), + [anon_sym_typename] = ACTIONS(5090), + [anon_sym_template] = ACTIONS(5090), + [anon_sym_operator] = ACTIONS(5090), + [anon_sym_friend] = ACTIONS(5090), + [anon_sym_public] = ACTIONS(5090), + [anon_sym_private] = ACTIONS(5090), + [anon_sym_protected] = ACTIONS(5090), + [anon_sym_using] = ACTIONS(5090), + [anon_sym_static_assert] = ACTIONS(5090), + }, + [1770] = { + [sym_template_argument_list] = STATE(1903), + [sym__identifier] = ACTIONS(4610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4617), + [anon_sym_COMMA] = ACTIONS(4617), + [anon_sym_RPAREN] = ACTIONS(4617), + [aux_sym_preproc_if_token2] = ACTIONS(4617), + [aux_sym_preproc_else_token1] = ACTIONS(4617), + [aux_sym_preproc_elif_token1] = ACTIONS(4610), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4617), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4617), + [anon_sym_LPAREN2] = ACTIONS(4617), + [anon_sym_DASH] = ACTIONS(4610), + [anon_sym_PLUS] = ACTIONS(4610), + [anon_sym_STAR] = ACTIONS(4610), + [anon_sym_SLASH] = ACTIONS(4610), + [anon_sym_PERCENT] = ACTIONS(4610), + [anon_sym_PIPE_PIPE] = ACTIONS(4617), + [anon_sym_AMP_AMP] = ACTIONS(4617), + [anon_sym_PIPE] = ACTIONS(4610), + [anon_sym_CARET] = ACTIONS(4610), + [anon_sym_AMP] = ACTIONS(4610), + [anon_sym_EQ_EQ] = ACTIONS(4617), + [anon_sym_BANG_EQ] = ACTIONS(4617), + [anon_sym_GT] = ACTIONS(4610), + [anon_sym_GT_EQ] = ACTIONS(4617), + [anon_sym_LT_EQ] = ACTIONS(4610), + [anon_sym_LT] = ACTIONS(5094), + [anon_sym_LT_LT] = ACTIONS(4610), + [anon_sym_GT_GT] = ACTIONS(4610), + [anon_sym_SEMI] = ACTIONS(4617), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_RBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4617), + [anon_sym_RBRACK] = ACTIONS(4617), + [anon_sym_EQ] = ACTIONS(4610), + [anon_sym_COLON] = ACTIONS(4610), + [anon_sym_QMARK] = ACTIONS(4617), + [anon_sym_STAR_EQ] = ACTIONS(4617), + [anon_sym_SLASH_EQ] = ACTIONS(4617), + [anon_sym_PERCENT_EQ] = ACTIONS(4617), + [anon_sym_PLUS_EQ] = ACTIONS(4617), + [anon_sym_DASH_EQ] = ACTIONS(4617), + [anon_sym_LT_LT_EQ] = ACTIONS(4617), + [anon_sym_GT_GT_EQ] = ACTIONS(4617), + [anon_sym_AMP_EQ] = ACTIONS(4617), + [anon_sym_CARET_EQ] = ACTIONS(4617), + [anon_sym_PIPE_EQ] = ACTIONS(4617), + [anon_sym_and_eq] = ACTIONS(4610), + [anon_sym_or_eq] = ACTIONS(4610), + [anon_sym_xor_eq] = ACTIONS(4610), + [anon_sym_LT_EQ_GT] = ACTIONS(4617), + [anon_sym_or] = ACTIONS(4610), + [anon_sym_and] = ACTIONS(4610), + [anon_sym_bitor] = ACTIONS(4610), + [anon_sym_xor] = ACTIONS(4610), + [anon_sym_bitand] = ACTIONS(4610), + [anon_sym_not_eq] = ACTIONS(4610), + [anon_sym_DASH_DASH] = ACTIONS(4617), + [anon_sym_PLUS_PLUS] = ACTIONS(4617), + [anon_sym_DOT] = ACTIONS(4610), + [anon_sym_DOT_STAR] = ACTIONS(4617), + [anon_sym_DASH_GT] = ACTIONS(4617), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [anon_sym_final] = ACTIONS(4610), + [anon_sym_override] = ACTIONS(4610), + }, + [1771] = { + [sym_argument_list] = STATE(2384), + [sym_initializer_list] = STATE(2384), + [sym_decltype_auto] = STATE(2136), + [sym_new_declarator] = STATE(2031), + [sym__identifier] = ACTIONS(5097), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5099), + [anon_sym_COMMA] = ACTIONS(5099), + [anon_sym_RPAREN] = ACTIONS(5099), + [aux_sym_preproc_if_token2] = ACTIONS(5099), + [aux_sym_preproc_else_token1] = ACTIONS(5099), + [aux_sym_preproc_elif_token1] = ACTIONS(5097), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5099), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5099), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5097), + [anon_sym_PLUS] = ACTIONS(5097), + [anon_sym_STAR] = ACTIONS(5097), + [anon_sym_SLASH] = ACTIONS(5097), + [anon_sym_PERCENT] = ACTIONS(5097), + [anon_sym_PIPE_PIPE] = ACTIONS(5099), + [anon_sym_AMP_AMP] = ACTIONS(5099), + [anon_sym_PIPE] = ACTIONS(5097), + [anon_sym_CARET] = ACTIONS(5097), + [anon_sym_AMP] = ACTIONS(5097), + [anon_sym_EQ_EQ] = ACTIONS(5099), + [anon_sym_BANG_EQ] = ACTIONS(5099), + [anon_sym_GT] = ACTIONS(5097), + [anon_sym_GT_EQ] = ACTIONS(5099), + [anon_sym_LT_EQ] = ACTIONS(5097), + [anon_sym_LT] = ACTIONS(5097), + [anon_sym_LT_LT] = ACTIONS(5097), + [anon_sym_GT_GT] = ACTIONS(5097), + [anon_sym_SEMI] = ACTIONS(5099), + [anon_sym___attribute__] = ACTIONS(5097), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5099), + [anon_sym_LBRACK] = ACTIONS(5054), + [anon_sym_RBRACK] = ACTIONS(5099), + [anon_sym_EQ] = ACTIONS(5097), + [anon_sym_COLON] = ACTIONS(5099), + [anon_sym_QMARK] = ACTIONS(5099), + [anon_sym_STAR_EQ] = ACTIONS(5099), + [anon_sym_SLASH_EQ] = ACTIONS(5099), + [anon_sym_PERCENT_EQ] = ACTIONS(5099), + [anon_sym_PLUS_EQ] = ACTIONS(5099), + [anon_sym_DASH_EQ] = ACTIONS(5099), + [anon_sym_LT_LT_EQ] = ACTIONS(5099), + [anon_sym_GT_GT_EQ] = ACTIONS(5099), + [anon_sym_AMP_EQ] = ACTIONS(5099), + [anon_sym_CARET_EQ] = ACTIONS(5099), + [anon_sym_PIPE_EQ] = ACTIONS(5099), + [anon_sym_and_eq] = ACTIONS(5097), + [anon_sym_or_eq] = ACTIONS(5097), + [anon_sym_xor_eq] = ACTIONS(5097), + [anon_sym_LT_EQ_GT] = ACTIONS(5099), + [anon_sym_or] = ACTIONS(5097), + [anon_sym_and] = ACTIONS(5097), + [anon_sym_bitor] = ACTIONS(5097), + [anon_sym_xor] = ACTIONS(5097), + [anon_sym_bitand] = ACTIONS(5097), + [anon_sym_not_eq] = ACTIONS(5097), + [anon_sym_DASH_DASH] = ACTIONS(5099), + [anon_sym_PLUS_PLUS] = ACTIONS(5099), + [anon_sym_DOT] = ACTIONS(5097), + [anon_sym_DOT_STAR] = ACTIONS(5099), + [anon_sym_DASH_GT] = ACTIONS(5099), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5099), + [sym_auto] = ACTIONS(5056), + [anon_sym_decltype] = ACTIONS(5058), + }, + [1772] = { + [sym__identifier] = ACTIONS(5101), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5103), + [anon_sym_COMMA] = ACTIONS(5103), + [anon_sym_RPAREN] = ACTIONS(5103), + [anon_sym_LPAREN2] = ACTIONS(5103), + [anon_sym_DASH] = ACTIONS(5101), + [anon_sym_PLUS] = ACTIONS(5101), + [anon_sym_STAR] = ACTIONS(5103), + [anon_sym_SLASH] = ACTIONS(5101), + [anon_sym_PERCENT] = ACTIONS(5103), + [anon_sym_PIPE_PIPE] = ACTIONS(5103), + [anon_sym_AMP_AMP] = ACTIONS(5103), + [anon_sym_PIPE] = ACTIONS(5101), + [anon_sym_CARET] = ACTIONS(5103), + [anon_sym_AMP] = ACTIONS(5101), + [anon_sym_EQ_EQ] = ACTIONS(5103), + [anon_sym_BANG_EQ] = ACTIONS(5103), + [anon_sym_GT] = ACTIONS(5101), + [anon_sym_GT_EQ] = ACTIONS(5103), + [anon_sym_LT_EQ] = ACTIONS(5101), + [anon_sym_LT] = ACTIONS(5101), + [anon_sym_LT_LT] = ACTIONS(5103), + [anon_sym_GT_GT] = ACTIONS(5103), + [anon_sym_SEMI] = ACTIONS(5103), + [anon_sym___extension__] = ACTIONS(5101), + [anon_sym___attribute__] = ACTIONS(5101), + [anon_sym___based] = ACTIONS(5101), + [anon_sym_LBRACE] = ACTIONS(5103), + [anon_sym_RBRACE] = ACTIONS(5103), + [anon_sym_signed] = ACTIONS(5101), + [anon_sym_unsigned] = ACTIONS(5101), + [anon_sym_long] = ACTIONS(5101), + [anon_sym_short] = ACTIONS(5101), + [anon_sym_LBRACK] = ACTIONS(5103), + [anon_sym_RBRACK] = ACTIONS(5103), + [anon_sym_const] = ACTIONS(5101), + [anon_sym_constexpr] = ACTIONS(5101), + [anon_sym_volatile] = ACTIONS(5101), + [anon_sym_restrict] = ACTIONS(5101), + [anon_sym___restrict__] = ACTIONS(5101), + [anon_sym__Atomic] = ACTIONS(5101), + [anon_sym__Noreturn] = ACTIONS(5101), + [anon_sym_noreturn] = ACTIONS(5101), + [anon_sym_mutable] = ACTIONS(5101), + [anon_sym_constinit] = ACTIONS(5101), + [anon_sym_consteval] = ACTIONS(5101), + [anon_sym_alignas] = ACTIONS(5101), + [anon_sym__Alignas] = ACTIONS(5101), + [sym_primitive_type] = ACTIONS(5101), + [anon_sym_COLON] = ACTIONS(5103), + [anon_sym_QMARK] = ACTIONS(5103), + [anon_sym_LT_EQ_GT] = ACTIONS(5103), + [anon_sym_or] = ACTIONS(5101), + [anon_sym_and] = ACTIONS(5101), + [anon_sym_bitor] = ACTIONS(5101), + [anon_sym_xor] = ACTIONS(5101), + [anon_sym_bitand] = ACTIONS(5101), + [anon_sym_not_eq] = ACTIONS(5101), + [anon_sym_DASH_DASH] = ACTIONS(5103), + [anon_sym_PLUS_PLUS] = ACTIONS(5103), + [anon_sym_DOT] = ACTIONS(5101), + [anon_sym_DOT_STAR] = ACTIONS(5103), + [anon_sym_DASH_GT] = ACTIONS(5103), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5103), + [sym_auto] = ACTIONS(5101), + [anon_sym_decltype] = ACTIONS(5101), + [anon_sym_final] = ACTIONS(5101), + [anon_sym_override] = ACTIONS(5101), + [anon_sym_requires] = ACTIONS(5101), + }, + [1773] = { + [sym__identifier] = ACTIONS(5105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5107), + [anon_sym_COMMA] = ACTIONS(5107), + [anon_sym_RPAREN] = ACTIONS(5107), + [anon_sym_LPAREN2] = ACTIONS(5107), + [anon_sym_DASH] = ACTIONS(5105), + [anon_sym_PLUS] = ACTIONS(5105), + [anon_sym_STAR] = ACTIONS(5107), + [anon_sym_SLASH] = ACTIONS(5105), + [anon_sym_PERCENT] = ACTIONS(5107), + [anon_sym_PIPE_PIPE] = ACTIONS(5107), + [anon_sym_AMP_AMP] = ACTIONS(5107), + [anon_sym_PIPE] = ACTIONS(5105), + [anon_sym_CARET] = ACTIONS(5107), + [anon_sym_AMP] = ACTIONS(5105), + [anon_sym_EQ_EQ] = ACTIONS(5107), + [anon_sym_BANG_EQ] = ACTIONS(5107), + [anon_sym_GT] = ACTIONS(5105), + [anon_sym_GT_EQ] = ACTIONS(5107), + [anon_sym_LT_EQ] = ACTIONS(5105), + [anon_sym_LT] = ACTIONS(5105), + [anon_sym_LT_LT] = ACTIONS(5107), + [anon_sym_GT_GT] = ACTIONS(5107), + [anon_sym_SEMI] = ACTIONS(5107), + [anon_sym___extension__] = ACTIONS(5105), + [anon_sym___attribute__] = ACTIONS(5105), + [anon_sym___based] = ACTIONS(5105), + [anon_sym_LBRACE] = ACTIONS(5107), + [anon_sym_RBRACE] = ACTIONS(5107), + [anon_sym_signed] = ACTIONS(5105), + [anon_sym_unsigned] = ACTIONS(5105), + [anon_sym_long] = ACTIONS(5105), + [anon_sym_short] = ACTIONS(5105), + [anon_sym_LBRACK] = ACTIONS(5107), + [anon_sym_RBRACK] = ACTIONS(5107), + [anon_sym_const] = ACTIONS(5105), + [anon_sym_constexpr] = ACTIONS(5105), + [anon_sym_volatile] = ACTIONS(5105), + [anon_sym_restrict] = ACTIONS(5105), + [anon_sym___restrict__] = ACTIONS(5105), + [anon_sym__Atomic] = ACTIONS(5105), + [anon_sym__Noreturn] = ACTIONS(5105), + [anon_sym_noreturn] = ACTIONS(5105), + [anon_sym_mutable] = ACTIONS(5105), + [anon_sym_constinit] = ACTIONS(5105), + [anon_sym_consteval] = ACTIONS(5105), + [anon_sym_alignas] = ACTIONS(5105), + [anon_sym__Alignas] = ACTIONS(5105), + [sym_primitive_type] = ACTIONS(5105), + [anon_sym_COLON] = ACTIONS(5107), + [anon_sym_QMARK] = ACTIONS(5107), + [anon_sym_LT_EQ_GT] = ACTIONS(5107), + [anon_sym_or] = ACTIONS(5105), + [anon_sym_and] = ACTIONS(5105), + [anon_sym_bitor] = ACTIONS(5105), + [anon_sym_xor] = ACTIONS(5105), + [anon_sym_bitand] = ACTIONS(5105), + [anon_sym_not_eq] = ACTIONS(5105), + [anon_sym_DASH_DASH] = ACTIONS(5107), + [anon_sym_PLUS_PLUS] = ACTIONS(5107), + [anon_sym_DOT] = ACTIONS(5105), + [anon_sym_DOT_STAR] = ACTIONS(5107), + [anon_sym_DASH_GT] = ACTIONS(5107), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5107), + [sym_auto] = ACTIONS(5105), + [anon_sym_decltype] = ACTIONS(5105), + [anon_sym_final] = ACTIONS(5105), + [anon_sym_override] = ACTIONS(5105), + [anon_sym_requires] = ACTIONS(5105), + }, + [1774] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [aux_sym_preproc_else_token1] = ACTIONS(2785), + [aux_sym_preproc_elif_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [1775] = { + [sym__identifier] = ACTIONS(5109), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5111), + [anon_sym_COMMA] = ACTIONS(5111), + [anon_sym_RPAREN] = ACTIONS(5111), + [anon_sym_LPAREN2] = ACTIONS(5111), + [anon_sym_DASH] = ACTIONS(5109), + [anon_sym_PLUS] = ACTIONS(5109), + [anon_sym_STAR] = ACTIONS(5111), + [anon_sym_SLASH] = ACTIONS(5109), + [anon_sym_PERCENT] = ACTIONS(5111), + [anon_sym_PIPE_PIPE] = ACTIONS(5111), + [anon_sym_AMP_AMP] = ACTIONS(5111), + [anon_sym_PIPE] = ACTIONS(5109), + [anon_sym_CARET] = ACTIONS(5111), + [anon_sym_AMP] = ACTIONS(5109), + [anon_sym_EQ_EQ] = ACTIONS(5111), + [anon_sym_BANG_EQ] = ACTIONS(5111), + [anon_sym_GT] = ACTIONS(5109), + [anon_sym_GT_EQ] = ACTIONS(5111), + [anon_sym_LT_EQ] = ACTIONS(5109), + [anon_sym_LT] = ACTIONS(5109), + [anon_sym_LT_LT] = ACTIONS(5111), + [anon_sym_GT_GT] = ACTIONS(5111), + [anon_sym_SEMI] = ACTIONS(5111), + [anon_sym___extension__] = ACTIONS(5109), + [anon_sym___attribute__] = ACTIONS(5109), + [anon_sym___based] = ACTIONS(5109), + [anon_sym_LBRACE] = ACTIONS(5111), + [anon_sym_RBRACE] = ACTIONS(5111), + [anon_sym_signed] = ACTIONS(5109), + [anon_sym_unsigned] = ACTIONS(5109), + [anon_sym_long] = ACTIONS(5109), + [anon_sym_short] = ACTIONS(5109), + [anon_sym_LBRACK] = ACTIONS(5111), + [anon_sym_RBRACK] = ACTIONS(5111), + [anon_sym_const] = ACTIONS(5109), + [anon_sym_constexpr] = ACTIONS(5109), + [anon_sym_volatile] = ACTIONS(5109), + [anon_sym_restrict] = ACTIONS(5109), + [anon_sym___restrict__] = ACTIONS(5109), + [anon_sym__Atomic] = ACTIONS(5109), + [anon_sym__Noreturn] = ACTIONS(5109), + [anon_sym_noreturn] = ACTIONS(5109), + [anon_sym_mutable] = ACTIONS(5109), + [anon_sym_constinit] = ACTIONS(5109), + [anon_sym_consteval] = ACTIONS(5109), + [anon_sym_alignas] = ACTIONS(5109), + [anon_sym__Alignas] = ACTIONS(5109), + [sym_primitive_type] = ACTIONS(5109), + [anon_sym_COLON] = ACTIONS(5111), + [anon_sym_QMARK] = ACTIONS(5111), + [anon_sym_LT_EQ_GT] = ACTIONS(5111), + [anon_sym_or] = ACTIONS(5109), + [anon_sym_and] = ACTIONS(5109), + [anon_sym_bitor] = ACTIONS(5109), + [anon_sym_xor] = ACTIONS(5109), + [anon_sym_bitand] = ACTIONS(5109), + [anon_sym_not_eq] = ACTIONS(5109), + [anon_sym_DASH_DASH] = ACTIONS(5111), + [anon_sym_PLUS_PLUS] = ACTIONS(5111), + [anon_sym_DOT] = ACTIONS(5109), + [anon_sym_DOT_STAR] = ACTIONS(5111), + [anon_sym_DASH_GT] = ACTIONS(5111), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5111), + [sym_auto] = ACTIONS(5109), + [anon_sym_decltype] = ACTIONS(5109), + [anon_sym_final] = ACTIONS(5109), + [anon_sym_override] = ACTIONS(5109), + [anon_sym_requires] = ACTIONS(5109), + }, + [1776] = { + [sym__identifier] = ACTIONS(5113), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5115), + [anon_sym_COMMA] = ACTIONS(5115), + [anon_sym_RPAREN] = ACTIONS(5115), + [anon_sym_LPAREN2] = ACTIONS(5115), + [anon_sym_DASH] = ACTIONS(5113), + [anon_sym_PLUS] = ACTIONS(5113), + [anon_sym_STAR] = ACTIONS(5115), + [anon_sym_SLASH] = ACTIONS(5113), + [anon_sym_PERCENT] = ACTIONS(5115), + [anon_sym_PIPE_PIPE] = ACTIONS(5115), + [anon_sym_AMP_AMP] = ACTIONS(5115), + [anon_sym_PIPE] = ACTIONS(5113), + [anon_sym_CARET] = ACTIONS(5115), + [anon_sym_AMP] = ACTIONS(5113), + [anon_sym_EQ_EQ] = ACTIONS(5115), + [anon_sym_BANG_EQ] = ACTIONS(5115), + [anon_sym_GT] = ACTIONS(5113), + [anon_sym_GT_EQ] = ACTIONS(5115), + [anon_sym_LT_EQ] = ACTIONS(5113), + [anon_sym_LT] = ACTIONS(5113), + [anon_sym_LT_LT] = ACTIONS(5115), + [anon_sym_GT_GT] = ACTIONS(5115), + [anon_sym_SEMI] = ACTIONS(5115), + [anon_sym___extension__] = ACTIONS(5113), + [anon_sym___attribute__] = ACTIONS(5113), + [anon_sym___based] = ACTIONS(5113), + [anon_sym_LBRACE] = ACTIONS(5115), + [anon_sym_RBRACE] = ACTIONS(5115), + [anon_sym_signed] = ACTIONS(5113), + [anon_sym_unsigned] = ACTIONS(5113), + [anon_sym_long] = ACTIONS(5113), + [anon_sym_short] = ACTIONS(5113), + [anon_sym_LBRACK] = ACTIONS(5115), + [anon_sym_RBRACK] = ACTIONS(5115), + [anon_sym_const] = ACTIONS(5113), + [anon_sym_constexpr] = ACTIONS(5113), + [anon_sym_volatile] = ACTIONS(5113), + [anon_sym_restrict] = ACTIONS(5113), + [anon_sym___restrict__] = ACTIONS(5113), + [anon_sym__Atomic] = ACTIONS(5113), + [anon_sym__Noreturn] = ACTIONS(5113), + [anon_sym_noreturn] = ACTIONS(5113), + [anon_sym_mutable] = ACTIONS(5113), + [anon_sym_constinit] = ACTIONS(5113), + [anon_sym_consteval] = ACTIONS(5113), + [anon_sym_alignas] = ACTIONS(5113), + [anon_sym__Alignas] = ACTIONS(5113), + [sym_primitive_type] = ACTIONS(5113), + [anon_sym_COLON] = ACTIONS(5115), + [anon_sym_QMARK] = ACTIONS(5115), + [anon_sym_LT_EQ_GT] = ACTIONS(5115), + [anon_sym_or] = ACTIONS(5113), + [anon_sym_and] = ACTIONS(5113), + [anon_sym_bitor] = ACTIONS(5113), + [anon_sym_xor] = ACTIONS(5113), + [anon_sym_bitand] = ACTIONS(5113), + [anon_sym_not_eq] = ACTIONS(5113), + [anon_sym_DASH_DASH] = ACTIONS(5115), + [anon_sym_PLUS_PLUS] = ACTIONS(5115), + [anon_sym_DOT] = ACTIONS(5113), + [anon_sym_DOT_STAR] = ACTIONS(5115), + [anon_sym_DASH_GT] = ACTIONS(5115), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5115), + [sym_auto] = ACTIONS(5113), + [anon_sym_decltype] = ACTIONS(5113), + [anon_sym_final] = ACTIONS(5113), + [anon_sym_override] = ACTIONS(5113), + [anon_sym_requires] = ACTIONS(5113), + }, + [1777] = { + [sym__identifier] = ACTIONS(5105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5107), + [anon_sym_COMMA] = ACTIONS(5107), + [anon_sym_RPAREN] = ACTIONS(5107), + [anon_sym_LPAREN2] = ACTIONS(5107), + [anon_sym_DASH] = ACTIONS(5105), + [anon_sym_PLUS] = ACTIONS(5105), + [anon_sym_STAR] = ACTIONS(5107), + [anon_sym_SLASH] = ACTIONS(5105), + [anon_sym_PERCENT] = ACTIONS(5107), + [anon_sym_PIPE_PIPE] = ACTIONS(5107), + [anon_sym_AMP_AMP] = ACTIONS(5107), + [anon_sym_PIPE] = ACTIONS(5105), + [anon_sym_CARET] = ACTIONS(5107), + [anon_sym_AMP] = ACTIONS(5105), + [anon_sym_EQ_EQ] = ACTIONS(5107), + [anon_sym_BANG_EQ] = ACTIONS(5107), + [anon_sym_GT] = ACTIONS(5105), + [anon_sym_GT_EQ] = ACTIONS(5107), + [anon_sym_LT_EQ] = ACTIONS(5105), + [anon_sym_LT] = ACTIONS(5105), + [anon_sym_LT_LT] = ACTIONS(5107), + [anon_sym_GT_GT] = ACTIONS(5107), + [anon_sym_SEMI] = ACTIONS(5107), + [anon_sym___extension__] = ACTIONS(5105), + [anon_sym___attribute__] = ACTIONS(5105), + [anon_sym___based] = ACTIONS(5105), + [anon_sym_LBRACE] = ACTIONS(5107), + [anon_sym_RBRACE] = ACTIONS(5107), + [anon_sym_signed] = ACTIONS(5105), + [anon_sym_unsigned] = ACTIONS(5105), + [anon_sym_long] = ACTIONS(5105), + [anon_sym_short] = ACTIONS(5105), + [anon_sym_LBRACK] = ACTIONS(5107), + [anon_sym_RBRACK] = ACTIONS(5107), + [anon_sym_const] = ACTIONS(5105), + [anon_sym_constexpr] = ACTIONS(5105), + [anon_sym_volatile] = ACTIONS(5105), + [anon_sym_restrict] = ACTIONS(5105), + [anon_sym___restrict__] = ACTIONS(5105), + [anon_sym__Atomic] = ACTIONS(5105), + [anon_sym__Noreturn] = ACTIONS(5105), + [anon_sym_noreturn] = ACTIONS(5105), + [anon_sym_mutable] = ACTIONS(5105), + [anon_sym_constinit] = ACTIONS(5105), + [anon_sym_consteval] = ACTIONS(5105), + [anon_sym_alignas] = ACTIONS(5105), + [anon_sym__Alignas] = ACTIONS(5105), + [sym_primitive_type] = ACTIONS(5105), + [anon_sym_COLON] = ACTIONS(5107), + [anon_sym_QMARK] = ACTIONS(5107), + [anon_sym_LT_EQ_GT] = ACTIONS(5107), + [anon_sym_or] = ACTIONS(5105), + [anon_sym_and] = ACTIONS(5105), + [anon_sym_bitor] = ACTIONS(5105), + [anon_sym_xor] = ACTIONS(5105), + [anon_sym_bitand] = ACTIONS(5105), + [anon_sym_not_eq] = ACTIONS(5105), + [anon_sym_DASH_DASH] = ACTIONS(5107), + [anon_sym_PLUS_PLUS] = ACTIONS(5107), + [anon_sym_DOT] = ACTIONS(5105), + [anon_sym_DOT_STAR] = ACTIONS(5107), + [anon_sym_DASH_GT] = ACTIONS(5107), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5107), + [sym_auto] = ACTIONS(5105), + [anon_sym_decltype] = ACTIONS(5105), + [anon_sym_final] = ACTIONS(5105), + [anon_sym_override] = ACTIONS(5105), + [anon_sym_requires] = ACTIONS(5105), + }, + [1778] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token2] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [aux_sym_preproc_else_token1] = ACTIONS(3134), + [aux_sym_preproc_elif_token1] = ACTIONS(3134), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_friend] = ACTIONS(3134), + [anon_sym_public] = ACTIONS(3134), + [anon_sym_private] = ACTIONS(3134), + [anon_sym_protected] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + }, + [1779] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [aux_sym_preproc_else_token1] = ACTIONS(2785), + [aux_sym_preproc_elif_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [1780] = { + [sym__identifier] = ACTIONS(1865), + [aux_sym_preproc_def_token1] = ACTIONS(1865), + [aux_sym_preproc_if_token1] = ACTIONS(1865), + [aux_sym_preproc_if_token2] = ACTIONS(1865), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1865), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1865), + [aux_sym_preproc_else_token1] = ACTIONS(1865), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1865), + [sym_preproc_directive] = ACTIONS(1865), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_STAR] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_typedef] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [sym_primitive_type] = ACTIONS(1865), + [anon_sym_enum] = ACTIONS(1865), + [anon_sym_class] = ACTIONS(1865), + [anon_sym_struct] = ACTIONS(1865), + [anon_sym_union] = ACTIONS(1865), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_explicit] = ACTIONS(1865), + [anon_sym_typename] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_friend] = ACTIONS(1865), + [anon_sym_public] = ACTIONS(1865), + [anon_sym_private] = ACTIONS(1865), + [anon_sym_protected] = ACTIONS(1865), + [anon_sym_using] = ACTIONS(1865), + [anon_sym_static_assert] = ACTIONS(1865), + }, + [1781] = { + [sym__identifier] = ACTIONS(5117), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5119), + [anon_sym_COMMA] = ACTIONS(5119), + [anon_sym_RPAREN] = ACTIONS(5119), + [anon_sym_LPAREN2] = ACTIONS(5119), + [anon_sym_DASH] = ACTIONS(5117), + [anon_sym_PLUS] = ACTIONS(5117), + [anon_sym_STAR] = ACTIONS(5119), + [anon_sym_SLASH] = ACTIONS(5117), + [anon_sym_PERCENT] = ACTIONS(5119), + [anon_sym_PIPE_PIPE] = ACTIONS(5119), + [anon_sym_AMP_AMP] = ACTIONS(5119), + [anon_sym_PIPE] = ACTIONS(5117), + [anon_sym_CARET] = ACTIONS(5119), + [anon_sym_AMP] = ACTIONS(5117), + [anon_sym_EQ_EQ] = ACTIONS(5119), + [anon_sym_BANG_EQ] = ACTIONS(5119), + [anon_sym_GT] = ACTIONS(5117), + [anon_sym_GT_EQ] = ACTIONS(5119), + [anon_sym_LT_EQ] = ACTIONS(5117), + [anon_sym_LT] = ACTIONS(5117), + [anon_sym_LT_LT] = ACTIONS(5119), + [anon_sym_GT_GT] = ACTIONS(5119), + [anon_sym_SEMI] = ACTIONS(5119), + [anon_sym___extension__] = ACTIONS(5117), + [anon_sym___attribute__] = ACTIONS(5117), + [anon_sym___based] = ACTIONS(5117), + [anon_sym_LBRACE] = ACTIONS(5119), + [anon_sym_RBRACE] = ACTIONS(5119), + [anon_sym_signed] = ACTIONS(5117), + [anon_sym_unsigned] = ACTIONS(5117), + [anon_sym_long] = ACTIONS(5117), + [anon_sym_short] = ACTIONS(5117), + [anon_sym_LBRACK] = ACTIONS(5119), + [anon_sym_RBRACK] = ACTIONS(5119), + [anon_sym_const] = ACTIONS(5117), + [anon_sym_constexpr] = ACTIONS(5117), + [anon_sym_volatile] = ACTIONS(5117), + [anon_sym_restrict] = ACTIONS(5117), + [anon_sym___restrict__] = ACTIONS(5117), + [anon_sym__Atomic] = ACTIONS(5117), + [anon_sym__Noreturn] = ACTIONS(5117), + [anon_sym_noreturn] = ACTIONS(5117), + [anon_sym_mutable] = ACTIONS(5117), + [anon_sym_constinit] = ACTIONS(5117), + [anon_sym_consteval] = ACTIONS(5117), + [anon_sym_alignas] = ACTIONS(5117), + [anon_sym__Alignas] = ACTIONS(5117), + [sym_primitive_type] = ACTIONS(5117), + [anon_sym_COLON] = ACTIONS(5119), + [anon_sym_QMARK] = ACTIONS(5119), + [anon_sym_LT_EQ_GT] = ACTIONS(5119), + [anon_sym_or] = ACTIONS(5117), + [anon_sym_and] = ACTIONS(5117), + [anon_sym_bitor] = ACTIONS(5117), + [anon_sym_xor] = ACTIONS(5117), + [anon_sym_bitand] = ACTIONS(5117), + [anon_sym_not_eq] = ACTIONS(5117), + [anon_sym_DASH_DASH] = ACTIONS(5119), + [anon_sym_PLUS_PLUS] = ACTIONS(5119), + [anon_sym_DOT] = ACTIONS(5117), + [anon_sym_DOT_STAR] = ACTIONS(5119), + [anon_sym_DASH_GT] = ACTIONS(5119), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5119), + [sym_auto] = ACTIONS(5117), + [anon_sym_decltype] = ACTIONS(5117), + [anon_sym_final] = ACTIONS(5117), + [anon_sym_override] = ACTIONS(5117), + [anon_sym_requires] = ACTIONS(5117), + }, + [1782] = { + [sym__identifier] = ACTIONS(5121), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5123), + [anon_sym_COMMA] = ACTIONS(5123), + [anon_sym_RPAREN] = ACTIONS(5123), + [anon_sym_LPAREN2] = ACTIONS(5123), + [anon_sym_DASH] = ACTIONS(5121), + [anon_sym_PLUS] = ACTIONS(5121), + [anon_sym_STAR] = ACTIONS(5123), + [anon_sym_SLASH] = ACTIONS(5121), + [anon_sym_PERCENT] = ACTIONS(5123), + [anon_sym_PIPE_PIPE] = ACTIONS(5123), + [anon_sym_AMP_AMP] = ACTIONS(5123), + [anon_sym_PIPE] = ACTIONS(5121), + [anon_sym_CARET] = ACTIONS(5123), + [anon_sym_AMP] = ACTIONS(5121), + [anon_sym_EQ_EQ] = ACTIONS(5123), + [anon_sym_BANG_EQ] = ACTIONS(5123), + [anon_sym_GT] = ACTIONS(5121), + [anon_sym_GT_EQ] = ACTIONS(5123), + [anon_sym_LT_EQ] = ACTIONS(5121), + [anon_sym_LT] = ACTIONS(5121), + [anon_sym_LT_LT] = ACTIONS(5123), + [anon_sym_GT_GT] = ACTIONS(5123), + [anon_sym_SEMI] = ACTIONS(5123), + [anon_sym___extension__] = ACTIONS(5121), + [anon_sym___attribute__] = ACTIONS(5121), + [anon_sym___based] = ACTIONS(5121), + [anon_sym_LBRACE] = ACTIONS(5123), + [anon_sym_RBRACE] = ACTIONS(5123), + [anon_sym_signed] = ACTIONS(5121), + [anon_sym_unsigned] = ACTIONS(5121), + [anon_sym_long] = ACTIONS(5121), + [anon_sym_short] = ACTIONS(5121), + [anon_sym_LBRACK] = ACTIONS(5123), + [anon_sym_RBRACK] = ACTIONS(5123), + [anon_sym_const] = ACTIONS(5121), + [anon_sym_constexpr] = ACTIONS(5121), + [anon_sym_volatile] = ACTIONS(5121), + [anon_sym_restrict] = ACTIONS(5121), + [anon_sym___restrict__] = ACTIONS(5121), + [anon_sym__Atomic] = ACTIONS(5121), + [anon_sym__Noreturn] = ACTIONS(5121), + [anon_sym_noreturn] = ACTIONS(5121), + [anon_sym_mutable] = ACTIONS(5121), + [anon_sym_constinit] = ACTIONS(5121), + [anon_sym_consteval] = ACTIONS(5121), + [anon_sym_alignas] = ACTIONS(5121), + [anon_sym__Alignas] = ACTIONS(5121), + [sym_primitive_type] = ACTIONS(5121), + [anon_sym_COLON] = ACTIONS(5123), + [anon_sym_QMARK] = ACTIONS(5123), + [anon_sym_LT_EQ_GT] = ACTIONS(5123), + [anon_sym_or] = ACTIONS(5121), + [anon_sym_and] = ACTIONS(5121), + [anon_sym_bitor] = ACTIONS(5121), + [anon_sym_xor] = ACTIONS(5121), + [anon_sym_bitand] = ACTIONS(5121), + [anon_sym_not_eq] = ACTIONS(5121), + [anon_sym_DASH_DASH] = ACTIONS(5123), + [anon_sym_PLUS_PLUS] = ACTIONS(5123), + [anon_sym_DOT] = ACTIONS(5121), + [anon_sym_DOT_STAR] = ACTIONS(5123), + [anon_sym_DASH_GT] = ACTIONS(5123), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5123), + [sym_auto] = ACTIONS(5121), + [anon_sym_decltype] = ACTIONS(5121), + [anon_sym_final] = ACTIONS(5121), + [anon_sym_override] = ACTIONS(5121), + [anon_sym_requires] = ACTIONS(5121), + }, + [1783] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token2] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [aux_sym_preproc_else_token1] = ACTIONS(3130), + [aux_sym_preproc_elif_token1] = ACTIONS(3130), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_friend] = ACTIONS(3130), + [anon_sym_public] = ACTIONS(3130), + [anon_sym_private] = ACTIONS(3130), + [anon_sym_protected] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + }, + [1784] = { + [sym__identifier] = ACTIONS(5125), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5127), + [anon_sym_COMMA] = ACTIONS(5127), + [anon_sym_RPAREN] = ACTIONS(5127), + [anon_sym_LPAREN2] = ACTIONS(5127), + [anon_sym_DASH] = ACTIONS(5125), + [anon_sym_PLUS] = ACTIONS(5125), + [anon_sym_STAR] = ACTIONS(5127), + [anon_sym_SLASH] = ACTIONS(5125), + [anon_sym_PERCENT] = ACTIONS(5127), + [anon_sym_PIPE_PIPE] = ACTIONS(5127), + [anon_sym_AMP_AMP] = ACTIONS(5127), + [anon_sym_PIPE] = ACTIONS(5125), + [anon_sym_CARET] = ACTIONS(5127), + [anon_sym_AMP] = ACTIONS(5125), + [anon_sym_EQ_EQ] = ACTIONS(5127), + [anon_sym_BANG_EQ] = ACTIONS(5127), + [anon_sym_GT] = ACTIONS(5125), + [anon_sym_GT_EQ] = ACTIONS(5127), + [anon_sym_LT_EQ] = ACTIONS(5125), + [anon_sym_LT] = ACTIONS(5125), + [anon_sym_LT_LT] = ACTIONS(5127), + [anon_sym_GT_GT] = ACTIONS(5127), + [anon_sym_SEMI] = ACTIONS(5127), + [anon_sym___extension__] = ACTIONS(5125), + [anon_sym___attribute__] = ACTIONS(5125), + [anon_sym___based] = ACTIONS(5125), + [anon_sym_LBRACE] = ACTIONS(5127), + [anon_sym_RBRACE] = ACTIONS(5127), + [anon_sym_signed] = ACTIONS(5125), + [anon_sym_unsigned] = ACTIONS(5125), + [anon_sym_long] = ACTIONS(5125), + [anon_sym_short] = ACTIONS(5125), + [anon_sym_LBRACK] = ACTIONS(5127), + [anon_sym_RBRACK] = ACTIONS(5127), + [anon_sym_const] = ACTIONS(5125), + [anon_sym_constexpr] = ACTIONS(5125), + [anon_sym_volatile] = ACTIONS(5125), + [anon_sym_restrict] = ACTIONS(5125), + [anon_sym___restrict__] = ACTIONS(5125), + [anon_sym__Atomic] = ACTIONS(5125), + [anon_sym__Noreturn] = ACTIONS(5125), + [anon_sym_noreturn] = ACTIONS(5125), + [anon_sym_mutable] = ACTIONS(5125), + [anon_sym_constinit] = ACTIONS(5125), + [anon_sym_consteval] = ACTIONS(5125), + [anon_sym_alignas] = ACTIONS(5125), + [anon_sym__Alignas] = ACTIONS(5125), + [sym_primitive_type] = ACTIONS(5125), + [anon_sym_COLON] = ACTIONS(5127), + [anon_sym_QMARK] = ACTIONS(5127), + [anon_sym_LT_EQ_GT] = ACTIONS(5127), + [anon_sym_or] = ACTIONS(5125), + [anon_sym_and] = ACTIONS(5125), + [anon_sym_bitor] = ACTIONS(5125), + [anon_sym_xor] = ACTIONS(5125), + [anon_sym_bitand] = ACTIONS(5125), + [anon_sym_not_eq] = ACTIONS(5125), + [anon_sym_DASH_DASH] = ACTIONS(5127), + [anon_sym_PLUS_PLUS] = ACTIONS(5127), + [anon_sym_DOT] = ACTIONS(5125), + [anon_sym_DOT_STAR] = ACTIONS(5127), + [anon_sym_DASH_GT] = ACTIONS(5127), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5127), + [sym_auto] = ACTIONS(5125), + [anon_sym_decltype] = ACTIONS(5125), + [anon_sym_final] = ACTIONS(5125), + [anon_sym_override] = ACTIONS(5125), + [anon_sym_requires] = ACTIONS(5125), + }, + [1785] = { + [sym__identifier] = ACTIONS(5129), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5131), + [anon_sym_COMMA] = ACTIONS(5131), + [anon_sym_RPAREN] = ACTIONS(5131), + [anon_sym_LPAREN2] = ACTIONS(5131), + [anon_sym_DASH] = ACTIONS(5129), + [anon_sym_PLUS] = ACTIONS(5129), + [anon_sym_STAR] = ACTIONS(5131), + [anon_sym_SLASH] = ACTIONS(5129), + [anon_sym_PERCENT] = ACTIONS(5131), + [anon_sym_PIPE_PIPE] = ACTIONS(5131), + [anon_sym_AMP_AMP] = ACTIONS(5131), + [anon_sym_PIPE] = ACTIONS(5129), + [anon_sym_CARET] = ACTIONS(5131), + [anon_sym_AMP] = ACTIONS(5129), + [anon_sym_EQ_EQ] = ACTIONS(5131), + [anon_sym_BANG_EQ] = ACTIONS(5131), + [anon_sym_GT] = ACTIONS(5129), + [anon_sym_GT_EQ] = ACTIONS(5131), + [anon_sym_LT_EQ] = ACTIONS(5129), + [anon_sym_LT] = ACTIONS(5129), + [anon_sym_LT_LT] = ACTIONS(5131), + [anon_sym_GT_GT] = ACTIONS(5131), + [anon_sym_SEMI] = ACTIONS(5131), + [anon_sym___extension__] = ACTIONS(5129), + [anon_sym___attribute__] = ACTIONS(5129), + [anon_sym___based] = ACTIONS(5129), + [anon_sym_LBRACE] = ACTIONS(5131), + [anon_sym_RBRACE] = ACTIONS(5131), + [anon_sym_signed] = ACTIONS(5129), + [anon_sym_unsigned] = ACTIONS(5129), + [anon_sym_long] = ACTIONS(5129), + [anon_sym_short] = ACTIONS(5129), + [anon_sym_LBRACK] = ACTIONS(5131), + [anon_sym_RBRACK] = ACTIONS(5131), + [anon_sym_const] = ACTIONS(5129), + [anon_sym_constexpr] = ACTIONS(5129), + [anon_sym_volatile] = ACTIONS(5129), + [anon_sym_restrict] = ACTIONS(5129), + [anon_sym___restrict__] = ACTIONS(5129), + [anon_sym__Atomic] = ACTIONS(5129), + [anon_sym__Noreturn] = ACTIONS(5129), + [anon_sym_noreturn] = ACTIONS(5129), + [anon_sym_mutable] = ACTIONS(5129), + [anon_sym_constinit] = ACTIONS(5129), + [anon_sym_consteval] = ACTIONS(5129), + [anon_sym_alignas] = ACTIONS(5129), + [anon_sym__Alignas] = ACTIONS(5129), + [sym_primitive_type] = ACTIONS(5129), + [anon_sym_COLON] = ACTIONS(5131), + [anon_sym_QMARK] = ACTIONS(5131), + [anon_sym_LT_EQ_GT] = ACTIONS(5131), + [anon_sym_or] = ACTIONS(5129), + [anon_sym_and] = ACTIONS(5129), + [anon_sym_bitor] = ACTIONS(5129), + [anon_sym_xor] = ACTIONS(5129), + [anon_sym_bitand] = ACTIONS(5129), + [anon_sym_not_eq] = ACTIONS(5129), + [anon_sym_DASH_DASH] = ACTIONS(5131), + [anon_sym_PLUS_PLUS] = ACTIONS(5131), + [anon_sym_DOT] = ACTIONS(5129), + [anon_sym_DOT_STAR] = ACTIONS(5131), + [anon_sym_DASH_GT] = ACTIONS(5131), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5131), + [sym_auto] = ACTIONS(5129), + [anon_sym_decltype] = ACTIONS(5129), + [anon_sym_final] = ACTIONS(5129), + [anon_sym_override] = ACTIONS(5129), + [anon_sym_requires] = ACTIONS(5129), + }, + [1786] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token2] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [aux_sym_preproc_else_token1] = ACTIONS(3122), + [aux_sym_preproc_elif_token1] = ACTIONS(3122), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_friend] = ACTIONS(3122), + [anon_sym_public] = ACTIONS(3122), + [anon_sym_private] = ACTIONS(3122), + [anon_sym_protected] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + }, + [1787] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token2] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [aux_sym_preproc_else_token1] = ACTIONS(2759), + [aux_sym_preproc_elif_token1] = ACTIONS(2759), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_friend] = ACTIONS(2759), + [anon_sym_public] = ACTIONS(2759), + [anon_sym_private] = ACTIONS(2759), + [anon_sym_protected] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + }, + [1788] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [aux_sym_preproc_else_token1] = ACTIONS(2777), + [aux_sym_preproc_elif_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [1789] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [aux_sym_preproc_else_token1] = ACTIONS(2777), + [aux_sym_preproc_elif_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [1790] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token2] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [aux_sym_preproc_else_token1] = ACTIONS(2967), + [aux_sym_preproc_elif_token1] = ACTIONS(2967), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_friend] = ACTIONS(2967), + [anon_sym_public] = ACTIONS(2967), + [anon_sym_private] = ACTIONS(2967), + [anon_sym_protected] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + }, + [1791] = { + [sym_argument_list] = STATE(2416), + [sym_initializer_list] = STATE(2416), + [sym_decltype_auto] = STATE(2136), + [sym_new_declarator] = STATE(2056), + [sym__identifier] = ACTIONS(5133), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5135), + [anon_sym_COMMA] = ACTIONS(5135), + [anon_sym_RPAREN] = ACTIONS(5135), + [aux_sym_preproc_if_token2] = ACTIONS(5135), + [aux_sym_preproc_else_token1] = ACTIONS(5135), + [aux_sym_preproc_elif_token1] = ACTIONS(5133), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5135), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5135), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5133), + [anon_sym_PLUS] = ACTIONS(5133), + [anon_sym_STAR] = ACTIONS(5133), + [anon_sym_SLASH] = ACTIONS(5133), + [anon_sym_PERCENT] = ACTIONS(5133), + [anon_sym_PIPE_PIPE] = ACTIONS(5135), + [anon_sym_AMP_AMP] = ACTIONS(5135), + [anon_sym_PIPE] = ACTIONS(5133), + [anon_sym_CARET] = ACTIONS(5133), + [anon_sym_AMP] = ACTIONS(5133), + [anon_sym_EQ_EQ] = ACTIONS(5135), + [anon_sym_BANG_EQ] = ACTIONS(5135), + [anon_sym_GT] = ACTIONS(5133), + [anon_sym_GT_EQ] = ACTIONS(5135), + [anon_sym_LT_EQ] = ACTIONS(5133), + [anon_sym_LT] = ACTIONS(5133), + [anon_sym_LT_LT] = ACTIONS(5133), + [anon_sym_GT_GT] = ACTIONS(5133), + [anon_sym_SEMI] = ACTIONS(5135), + [anon_sym___attribute__] = ACTIONS(5133), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5135), + [anon_sym_LBRACK] = ACTIONS(5054), + [anon_sym_RBRACK] = ACTIONS(5135), + [anon_sym_EQ] = ACTIONS(5133), + [anon_sym_COLON] = ACTIONS(5135), + [anon_sym_QMARK] = ACTIONS(5135), + [anon_sym_STAR_EQ] = ACTIONS(5135), + [anon_sym_SLASH_EQ] = ACTIONS(5135), + [anon_sym_PERCENT_EQ] = ACTIONS(5135), + [anon_sym_PLUS_EQ] = ACTIONS(5135), + [anon_sym_DASH_EQ] = ACTIONS(5135), + [anon_sym_LT_LT_EQ] = ACTIONS(5135), + [anon_sym_GT_GT_EQ] = ACTIONS(5135), + [anon_sym_AMP_EQ] = ACTIONS(5135), + [anon_sym_CARET_EQ] = ACTIONS(5135), + [anon_sym_PIPE_EQ] = ACTIONS(5135), + [anon_sym_and_eq] = ACTIONS(5133), + [anon_sym_or_eq] = ACTIONS(5133), + [anon_sym_xor_eq] = ACTIONS(5133), + [anon_sym_LT_EQ_GT] = ACTIONS(5135), + [anon_sym_or] = ACTIONS(5133), + [anon_sym_and] = ACTIONS(5133), + [anon_sym_bitor] = ACTIONS(5133), + [anon_sym_xor] = ACTIONS(5133), + [anon_sym_bitand] = ACTIONS(5133), + [anon_sym_not_eq] = ACTIONS(5133), + [anon_sym_DASH_DASH] = ACTIONS(5135), + [anon_sym_PLUS_PLUS] = ACTIONS(5135), + [anon_sym_DOT] = ACTIONS(5133), + [anon_sym_DOT_STAR] = ACTIONS(5135), + [anon_sym_DASH_GT] = ACTIONS(5135), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5135), + [sym_auto] = ACTIONS(5056), + [anon_sym_decltype] = ACTIONS(5058), + }, + [1792] = { + [sym__identifier] = ACTIONS(5137), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5139), + [anon_sym_COMMA] = ACTIONS(5139), + [anon_sym_RPAREN] = ACTIONS(5139), + [anon_sym_LPAREN2] = ACTIONS(5139), + [anon_sym_DASH] = ACTIONS(5137), + [anon_sym_PLUS] = ACTIONS(5137), + [anon_sym_STAR] = ACTIONS(5139), + [anon_sym_SLASH] = ACTIONS(5137), + [anon_sym_PERCENT] = ACTIONS(5139), + [anon_sym_PIPE_PIPE] = ACTIONS(5139), + [anon_sym_AMP_AMP] = ACTIONS(5139), + [anon_sym_PIPE] = ACTIONS(5137), + [anon_sym_CARET] = ACTIONS(5139), + [anon_sym_AMP] = ACTIONS(5137), + [anon_sym_EQ_EQ] = ACTIONS(5139), + [anon_sym_BANG_EQ] = ACTIONS(5139), + [anon_sym_GT] = ACTIONS(5137), + [anon_sym_GT_EQ] = ACTIONS(5139), + [anon_sym_LT_EQ] = ACTIONS(5137), + [anon_sym_LT] = ACTIONS(5137), + [anon_sym_LT_LT] = ACTIONS(5139), + [anon_sym_GT_GT] = ACTIONS(5139), + [anon_sym_SEMI] = ACTIONS(5139), + [anon_sym___extension__] = ACTIONS(5137), + [anon_sym___attribute__] = ACTIONS(5137), + [anon_sym___based] = ACTIONS(5137), + [anon_sym_LBRACE] = ACTIONS(5139), + [anon_sym_RBRACE] = ACTIONS(5139), + [anon_sym_signed] = ACTIONS(5137), + [anon_sym_unsigned] = ACTIONS(5137), + [anon_sym_long] = ACTIONS(5137), + [anon_sym_short] = ACTIONS(5137), + [anon_sym_LBRACK] = ACTIONS(5139), + [anon_sym_RBRACK] = ACTIONS(5139), + [anon_sym_const] = ACTIONS(5137), + [anon_sym_constexpr] = ACTIONS(5137), + [anon_sym_volatile] = ACTIONS(5137), + [anon_sym_restrict] = ACTIONS(5137), + [anon_sym___restrict__] = ACTIONS(5137), + [anon_sym__Atomic] = ACTIONS(5137), + [anon_sym__Noreturn] = ACTIONS(5137), + [anon_sym_noreturn] = ACTIONS(5137), + [anon_sym_mutable] = ACTIONS(5137), + [anon_sym_constinit] = ACTIONS(5137), + [anon_sym_consteval] = ACTIONS(5137), + [anon_sym_alignas] = ACTIONS(5137), + [anon_sym__Alignas] = ACTIONS(5137), + [sym_primitive_type] = ACTIONS(5137), + [anon_sym_COLON] = ACTIONS(5139), + [anon_sym_QMARK] = ACTIONS(5139), + [anon_sym_LT_EQ_GT] = ACTIONS(5139), + [anon_sym_or] = ACTIONS(5137), + [anon_sym_and] = ACTIONS(5137), + [anon_sym_bitor] = ACTIONS(5137), + [anon_sym_xor] = ACTIONS(5137), + [anon_sym_bitand] = ACTIONS(5137), + [anon_sym_not_eq] = ACTIONS(5137), + [anon_sym_DASH_DASH] = ACTIONS(5139), + [anon_sym_PLUS_PLUS] = ACTIONS(5139), + [anon_sym_DOT] = ACTIONS(5137), + [anon_sym_DOT_STAR] = ACTIONS(5139), + [anon_sym_DASH_GT] = ACTIONS(5139), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5139), + [sym_auto] = ACTIONS(5137), + [anon_sym_decltype] = ACTIONS(5137), + [anon_sym_final] = ACTIONS(5137), + [anon_sym_override] = ACTIONS(5137), + [anon_sym_requires] = ACTIONS(5137), + }, + [1793] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token2] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [aux_sym_preproc_else_token1] = ACTIONS(2989), + [aux_sym_preproc_elif_token1] = ACTIONS(2989), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_friend] = ACTIONS(2989), + [anon_sym_public] = ACTIONS(2989), + [anon_sym_private] = ACTIONS(2989), + [anon_sym_protected] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + }, + [1794] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token2] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [aux_sym_preproc_else_token1] = ACTIONS(2985), + [aux_sym_preproc_elif_token1] = ACTIONS(2985), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_friend] = ACTIONS(2985), + [anon_sym_public] = ACTIONS(2985), + [anon_sym_private] = ACTIONS(2985), + [anon_sym_protected] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + }, + [1795] = { + [sym__identifier] = ACTIONS(4002), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [aux_sym_preproc_if_token2] = ACTIONS(3996), + [aux_sym_preproc_else_token1] = ACTIONS(3996), + [aux_sym_preproc_elif_token1] = ACTIONS(4002), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3996), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3996), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1796] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token2] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [aux_sym_preproc_else_token1] = ACTIONS(2940), + [aux_sym_preproc_elif_token1] = ACTIONS(2940), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_friend] = ACTIONS(2940), + [anon_sym_public] = ACTIONS(2940), + [anon_sym_private] = ACTIONS(2940), + [anon_sym_protected] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + }, + [1797] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [aux_sym_preproc_else_token1] = ACTIONS(2971), + [aux_sym_preproc_elif_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [1798] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token2] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [aux_sym_preproc_else_token1] = ACTIONS(2919), + [aux_sym_preproc_elif_token1] = ACTIONS(2919), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_friend] = ACTIONS(2919), + [anon_sym_public] = ACTIONS(2919), + [anon_sym_private] = ACTIONS(2919), + [anon_sym_protected] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + }, + [1799] = { + [sym__identifier] = ACTIONS(4002), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [aux_sym_preproc_if_token2] = ACTIONS(3996), + [aux_sym_preproc_else_token1] = ACTIONS(3996), + [aux_sym_preproc_elif_token1] = ACTIONS(4002), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3996), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3996), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1800] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token2] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [aux_sym_preproc_else_token1] = ACTIONS(2952), + [aux_sym_preproc_elif_token1] = ACTIONS(2952), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_friend] = ACTIONS(2952), + [anon_sym_public] = ACTIONS(2952), + [anon_sym_private] = ACTIONS(2952), + [anon_sym_protected] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + }, + [1801] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token2] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [aux_sym_preproc_else_token1] = ACTIONS(2781), + [aux_sym_preproc_elif_token1] = ACTIONS(2781), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_friend] = ACTIONS(2781), + [anon_sym_public] = ACTIONS(2781), + [anon_sym_private] = ACTIONS(2781), + [anon_sym_protected] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + }, + [1802] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token2] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [aux_sym_preproc_else_token1] = ACTIONS(3021), + [aux_sym_preproc_elif_token1] = ACTIONS(3021), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_friend] = ACTIONS(3021), + [anon_sym_public] = ACTIONS(3021), + [anon_sym_private] = ACTIONS(3021), + [anon_sym_protected] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + }, + [1803] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token2] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [aux_sym_preproc_else_token1] = ACTIONS(3046), + [aux_sym_preproc_elif_token1] = ACTIONS(3046), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_friend] = ACTIONS(3046), + [anon_sym_public] = ACTIONS(3046), + [anon_sym_private] = ACTIONS(3046), + [anon_sym_protected] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + }, + [1804] = { + [sym_argument_list] = STATE(2476), + [sym_initializer_list] = STATE(2476), + [sym_decltype_auto] = STATE(2136), + [sym_new_declarator] = STATE(2095), + [sym__identifier] = ACTIONS(5141), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5143), + [anon_sym_COMMA] = ACTIONS(5143), + [anon_sym_RPAREN] = ACTIONS(5143), + [aux_sym_preproc_if_token2] = ACTIONS(5143), + [aux_sym_preproc_else_token1] = ACTIONS(5143), + [aux_sym_preproc_elif_token1] = ACTIONS(5141), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5143), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5143), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5141), + [anon_sym_PLUS] = ACTIONS(5141), + [anon_sym_STAR] = ACTIONS(5141), + [anon_sym_SLASH] = ACTIONS(5141), + [anon_sym_PERCENT] = ACTIONS(5141), + [anon_sym_PIPE_PIPE] = ACTIONS(5143), + [anon_sym_AMP_AMP] = ACTIONS(5143), + [anon_sym_PIPE] = ACTIONS(5141), + [anon_sym_CARET] = ACTIONS(5141), + [anon_sym_AMP] = ACTIONS(5141), + [anon_sym_EQ_EQ] = ACTIONS(5143), + [anon_sym_BANG_EQ] = ACTIONS(5143), + [anon_sym_GT] = ACTIONS(5141), + [anon_sym_GT_EQ] = ACTIONS(5143), + [anon_sym_LT_EQ] = ACTIONS(5141), + [anon_sym_LT] = ACTIONS(5141), + [anon_sym_LT_LT] = ACTIONS(5141), + [anon_sym_GT_GT] = ACTIONS(5141), + [anon_sym_SEMI] = ACTIONS(5143), + [anon_sym___attribute__] = ACTIONS(5141), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5143), + [anon_sym_LBRACK] = ACTIONS(5054), + [anon_sym_RBRACK] = ACTIONS(5143), + [anon_sym_EQ] = ACTIONS(5141), + [anon_sym_COLON] = ACTIONS(5143), + [anon_sym_QMARK] = ACTIONS(5143), + [anon_sym_STAR_EQ] = ACTIONS(5143), + [anon_sym_SLASH_EQ] = ACTIONS(5143), + [anon_sym_PERCENT_EQ] = ACTIONS(5143), + [anon_sym_PLUS_EQ] = ACTIONS(5143), + [anon_sym_DASH_EQ] = ACTIONS(5143), + [anon_sym_LT_LT_EQ] = ACTIONS(5143), + [anon_sym_GT_GT_EQ] = ACTIONS(5143), + [anon_sym_AMP_EQ] = ACTIONS(5143), + [anon_sym_CARET_EQ] = ACTIONS(5143), + [anon_sym_PIPE_EQ] = ACTIONS(5143), + [anon_sym_and_eq] = ACTIONS(5141), + [anon_sym_or_eq] = ACTIONS(5141), + [anon_sym_xor_eq] = ACTIONS(5141), + [anon_sym_LT_EQ_GT] = ACTIONS(5143), + [anon_sym_or] = ACTIONS(5141), + [anon_sym_and] = ACTIONS(5141), + [anon_sym_bitor] = ACTIONS(5141), + [anon_sym_xor] = ACTIONS(5141), + [anon_sym_bitand] = ACTIONS(5141), + [anon_sym_not_eq] = ACTIONS(5141), + [anon_sym_DASH_DASH] = ACTIONS(5143), + [anon_sym_PLUS_PLUS] = ACTIONS(5143), + [anon_sym_DOT] = ACTIONS(5141), + [anon_sym_DOT_STAR] = ACTIONS(5143), + [anon_sym_DASH_GT] = ACTIONS(5143), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5143), + [sym_auto] = ACTIONS(5056), + [anon_sym_decltype] = ACTIONS(5058), + }, + [1805] = { + [sym_string_literal] = STATE(1805), + [sym__string_literal] = STATE(2298), + [sym_identifier] = STATE(1805), + [sym_raw_string_literal] = STATE(1805), + [aux_sym_concatenated_string_repeat1] = STATE(1805), + [sym__identifier] = ACTIONS(5145), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4773), + [anon_sym_COMMA] = ACTIONS(4773), + [anon_sym_RPAREN] = ACTIONS(4773), + [anon_sym_LPAREN2] = ACTIONS(4773), + [anon_sym_DASH] = ACTIONS(4775), + [anon_sym_PLUS] = ACTIONS(4775), + [anon_sym_STAR] = ACTIONS(4775), + [anon_sym_SLASH] = ACTIONS(4775), + [anon_sym_PERCENT] = ACTIONS(4775), + [anon_sym_PIPE_PIPE] = ACTIONS(4773), + [anon_sym_AMP_AMP] = ACTIONS(4773), + [anon_sym_PIPE] = ACTIONS(4775), + [anon_sym_CARET] = ACTIONS(4775), + [anon_sym_AMP] = ACTIONS(4775), + [anon_sym_EQ_EQ] = ACTIONS(4773), + [anon_sym_BANG_EQ] = ACTIONS(4773), + [anon_sym_GT] = ACTIONS(4775), + [anon_sym_GT_EQ] = ACTIONS(4773), + [anon_sym_LT_EQ] = ACTIONS(4775), + [anon_sym_LT] = ACTIONS(4775), + [anon_sym_LT_LT] = ACTIONS(4775), + [anon_sym_GT_GT] = ACTIONS(4775), + [anon_sym_LBRACK] = ACTIONS(4773), + [anon_sym_EQ] = ACTIONS(4775), + [anon_sym_QMARK] = ACTIONS(4773), + [anon_sym_STAR_EQ] = ACTIONS(4773), + [anon_sym_SLASH_EQ] = ACTIONS(4773), + [anon_sym_PERCENT_EQ] = ACTIONS(4773), + [anon_sym_PLUS_EQ] = ACTIONS(4773), + [anon_sym_DASH_EQ] = ACTIONS(4773), + [anon_sym_LT_LT_EQ] = ACTIONS(4773), + [anon_sym_GT_GT_EQ] = ACTIONS(4773), + [anon_sym_AMP_EQ] = ACTIONS(4773), + [anon_sym_CARET_EQ] = ACTIONS(4773), + [anon_sym_PIPE_EQ] = ACTIONS(4773), + [anon_sym_and_eq] = ACTIONS(4775), + [anon_sym_or_eq] = ACTIONS(4775), + [anon_sym_xor_eq] = ACTIONS(4775), + [anon_sym_LT_EQ_GT] = ACTIONS(4773), + [anon_sym_or] = ACTIONS(4775), + [anon_sym_and] = ACTIONS(4775), + [anon_sym_bitor] = ACTIONS(4775), + [anon_sym_xor] = ACTIONS(4775), + [anon_sym_bitand] = ACTIONS(4775), + [anon_sym_not_eq] = ACTIONS(4775), + [anon_sym_DASH_DASH] = ACTIONS(4773), + [anon_sym_PLUS_PLUS] = ACTIONS(4773), + [anon_sym_DOT] = ACTIONS(4775), + [anon_sym_DOT_STAR] = ACTIONS(4773), + [anon_sym_DASH_GT] = ACTIONS(4775), + [anon_sym_L_DQUOTE] = ACTIONS(5148), + [anon_sym_u_DQUOTE] = ACTIONS(5148), + [anon_sym_U_DQUOTE] = ACTIONS(5148), + [anon_sym_u8_DQUOTE] = ACTIONS(5148), + [anon_sym_DQUOTE] = ACTIONS(5148), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5151), + [anon_sym_R_DQUOTE] = ACTIONS(5154), + [anon_sym_LR_DQUOTE] = ACTIONS(5154), + [anon_sym_uR_DQUOTE] = ACTIONS(5154), + [anon_sym_UR_DQUOTE] = ACTIONS(5154), + [anon_sym_u8R_DQUOTE] = ACTIONS(5154), + [anon_sym_DASH_GT_STAR] = ACTIONS(4773), + [sym_literal_suffix] = ACTIONS(4775), + }, + [1806] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(5157), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1807] = { + [sym_template_argument_list] = STATE(1916), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4614), + [anon_sym_COMMA] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4619), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(5159), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4617), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4614), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4617), + [anon_sym_volatile] = ACTIONS(4617), + [anon_sym_restrict] = ACTIONS(4617), + [anon_sym___restrict__] = ACTIONS(4617), + [anon_sym__Atomic] = ACTIONS(4617), + [anon_sym__Noreturn] = ACTIONS(4617), + [anon_sym_noreturn] = ACTIONS(4617), + [anon_sym_mutable] = ACTIONS(4617), + [anon_sym_constinit] = ACTIONS(4617), + [anon_sym_consteval] = ACTIONS(4617), + [anon_sym_alignas] = ACTIONS(4617), + [anon_sym__Alignas] = ACTIONS(4617), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4619), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4612), + [anon_sym_or_eq] = ACTIONS(4612), + [anon_sym_xor_eq] = ACTIONS(4612), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4612), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4612), + [anon_sym_not_eq] = ACTIONS(4612), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4617), + [anon_sym_decltype] = ACTIONS(4617), + [anon_sym_GT2] = ACTIONS(4614), + }, + [1808] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token2] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [aux_sym_preproc_else_token1] = ACTIONS(3096), + [aux_sym_preproc_elif_token1] = ACTIONS(3096), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_friend] = ACTIONS(3096), + [anon_sym_public] = ACTIONS(3096), + [anon_sym_private] = ACTIONS(3096), + [anon_sym_protected] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + }, + [1809] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token2] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [aux_sym_preproc_else_token1] = ACTIONS(3005), + [aux_sym_preproc_elif_token1] = ACTIONS(3005), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_friend] = ACTIONS(3005), + [anon_sym_public] = ACTIONS(3005), + [anon_sym_private] = ACTIONS(3005), + [anon_sym_protected] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + }, + [1810] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token2] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [aux_sym_preproc_else_token1] = ACTIONS(3092), + [aux_sym_preproc_elif_token1] = ACTIONS(3092), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_friend] = ACTIONS(3092), + [anon_sym_public] = ACTIONS(3092), + [anon_sym_private] = ACTIONS(3092), + [anon_sym_protected] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + }, + [1811] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token2] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [aux_sym_preproc_else_token1] = ACTIONS(3138), + [aux_sym_preproc_elif_token1] = ACTIONS(3138), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_friend] = ACTIONS(3138), + [anon_sym_public] = ACTIONS(3138), + [anon_sym_private] = ACTIONS(3138), + [anon_sym_protected] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + }, + [1812] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [aux_sym_preproc_else_token1] = ACTIONS(2971), + [aux_sym_preproc_elif_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [1813] = { + [sym__identifier] = ACTIONS(2677), + [anon_sym_LPAREN2] = ACTIONS(2679), + [anon_sym_BANG] = ACTIONS(2679), + [anon_sym_TILDE] = ACTIONS(2679), + [anon_sym_DASH] = ACTIONS(2677), + [anon_sym_PLUS] = ACTIONS(2677), + [anon_sym_STAR] = ACTIONS(2679), + [anon_sym_AMP] = ACTIONS(2679), + [anon_sym___extension__] = ACTIONS(2677), + [anon_sym_COLON_COLON] = ACTIONS(2679), + [anon_sym_LBRACK] = ACTIONS(2679), + [anon_sym_static] = ACTIONS(2677), + [anon_sym_RBRACK] = ACTIONS(2679), + [anon_sym_const] = ACTIONS(2677), + [anon_sym_constexpr] = ACTIONS(2677), + [anon_sym_volatile] = ACTIONS(2677), + [anon_sym_restrict] = ACTIONS(2677), + [anon_sym___restrict__] = ACTIONS(2677), + [anon_sym__Atomic] = ACTIONS(2677), + [anon_sym__Noreturn] = ACTIONS(2677), + [anon_sym_noreturn] = ACTIONS(2677), + [anon_sym_mutable] = ACTIONS(2677), + [anon_sym_constinit] = ACTIONS(2677), + [anon_sym_consteval] = ACTIONS(2677), + [anon_sym_alignas] = ACTIONS(2677), + [anon_sym__Alignas] = ACTIONS(2677), + [sym_primitive_type] = ACTIONS(2677), + [anon_sym_not] = ACTIONS(2677), + [anon_sym_compl] = ACTIONS(2677), + [anon_sym_DASH_DASH] = ACTIONS(2679), + [anon_sym_PLUS_PLUS] = ACTIONS(2679), + [anon_sym_sizeof] = ACTIONS(2677), + [anon_sym___alignof__] = ACTIONS(2677), + [anon_sym___alignof] = ACTIONS(2677), + [anon_sym__alignof] = ACTIONS(2677), + [anon_sym_alignof] = ACTIONS(2677), + [anon_sym__Alignof] = ACTIONS(2677), + [anon_sym_offsetof] = ACTIONS(2677), + [anon_sym__Generic] = ACTIONS(2677), + [anon_sym_asm] = ACTIONS(2677), + [anon_sym___asm__] = ACTIONS(2677), + [sym__number_literal] = ACTIONS(2679), + [anon_sym_L_SQUOTE] = ACTIONS(2679), + [anon_sym_u_SQUOTE] = ACTIONS(2679), + [anon_sym_U_SQUOTE] = ACTIONS(2679), + [anon_sym_u8_SQUOTE] = ACTIONS(2679), + [anon_sym_SQUOTE] = ACTIONS(2679), + [anon_sym_L_DQUOTE] = ACTIONS(2679), + [anon_sym_u_DQUOTE] = ACTIONS(2679), + [anon_sym_U_DQUOTE] = ACTIONS(2679), + [anon_sym_u8_DQUOTE] = ACTIONS(2679), + [anon_sym_DQUOTE] = ACTIONS(2679), + [sym_true] = ACTIONS(2677), + [sym_false] = ACTIONS(2677), + [anon_sym_NULL] = ACTIONS(2677), + [anon_sym_nullptr] = ACTIONS(2677), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2679), + [anon_sym_decltype] = ACTIONS(2677), + [anon_sym_template] = ACTIONS(2677), + [anon_sym_delete] = ACTIONS(2677), + [anon_sym_R_DQUOTE] = ACTIONS(2679), + [anon_sym_LR_DQUOTE] = ACTIONS(2679), + [anon_sym_uR_DQUOTE] = ACTIONS(2679), + [anon_sym_UR_DQUOTE] = ACTIONS(2679), + [anon_sym_u8R_DQUOTE] = ACTIONS(2679), + [anon_sym_co_await] = ACTIONS(2677), + [anon_sym_new] = ACTIONS(2677), + [anon_sym_requires] = ACTIONS(2677), + [sym_this] = ACTIONS(2677), + }, + [1814] = { + [sym__identifier] = ACTIONS(5162), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5164), + [anon_sym_COMMA] = ACTIONS(5164), + [anon_sym_RPAREN] = ACTIONS(5164), + [anon_sym_LPAREN2] = ACTIONS(5164), + [anon_sym_DASH] = ACTIONS(5162), + [anon_sym_PLUS] = ACTIONS(5162), + [anon_sym_STAR] = ACTIONS(5164), + [anon_sym_SLASH] = ACTIONS(5162), + [anon_sym_PERCENT] = ACTIONS(5164), + [anon_sym_PIPE_PIPE] = ACTIONS(5164), + [anon_sym_AMP_AMP] = ACTIONS(5164), + [anon_sym_PIPE] = ACTIONS(5162), + [anon_sym_CARET] = ACTIONS(5164), + [anon_sym_AMP] = ACTIONS(5162), + [anon_sym_EQ_EQ] = ACTIONS(5164), + [anon_sym_BANG_EQ] = ACTIONS(5164), + [anon_sym_GT] = ACTIONS(5162), + [anon_sym_GT_EQ] = ACTIONS(5164), + [anon_sym_LT_EQ] = ACTIONS(5162), + [anon_sym_LT] = ACTIONS(5162), + [anon_sym_LT_LT] = ACTIONS(5164), + [anon_sym_GT_GT] = ACTIONS(5164), + [anon_sym_SEMI] = ACTIONS(5164), + [anon_sym___extension__] = ACTIONS(5162), + [anon_sym___attribute__] = ACTIONS(5162), + [anon_sym___based] = ACTIONS(5162), + [anon_sym_LBRACE] = ACTIONS(5164), + [anon_sym_RBRACE] = ACTIONS(5164), + [anon_sym_signed] = ACTIONS(5162), + [anon_sym_unsigned] = ACTIONS(5162), + [anon_sym_long] = ACTIONS(5162), + [anon_sym_short] = ACTIONS(5162), + [anon_sym_LBRACK] = ACTIONS(5164), + [anon_sym_RBRACK] = ACTIONS(5164), + [anon_sym_const] = ACTIONS(5162), + [anon_sym_constexpr] = ACTIONS(5162), + [anon_sym_volatile] = ACTIONS(5162), + [anon_sym_restrict] = ACTIONS(5162), + [anon_sym___restrict__] = ACTIONS(5162), + [anon_sym__Atomic] = ACTIONS(5162), + [anon_sym__Noreturn] = ACTIONS(5162), + [anon_sym_noreturn] = ACTIONS(5162), + [anon_sym_mutable] = ACTIONS(5162), + [anon_sym_constinit] = ACTIONS(5162), + [anon_sym_consteval] = ACTIONS(5162), + [anon_sym_alignas] = ACTIONS(5162), + [anon_sym__Alignas] = ACTIONS(5162), + [sym_primitive_type] = ACTIONS(5162), + [anon_sym_COLON] = ACTIONS(5164), + [anon_sym_QMARK] = ACTIONS(5164), + [anon_sym_LT_EQ_GT] = ACTIONS(5164), + [anon_sym_or] = ACTIONS(5162), + [anon_sym_and] = ACTIONS(5162), + [anon_sym_bitor] = ACTIONS(5162), + [anon_sym_xor] = ACTIONS(5162), + [anon_sym_bitand] = ACTIONS(5162), + [anon_sym_not_eq] = ACTIONS(5162), + [anon_sym_DASH_DASH] = ACTIONS(5164), + [anon_sym_PLUS_PLUS] = ACTIONS(5164), + [anon_sym_DOT] = ACTIONS(5162), + [anon_sym_DOT_STAR] = ACTIONS(5164), + [anon_sym_DASH_GT] = ACTIONS(5164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5164), + [sym_auto] = ACTIONS(5162), + [anon_sym_decltype] = ACTIONS(5162), + [anon_sym_final] = ACTIONS(5162), + [anon_sym_override] = ACTIONS(5162), + [anon_sym_requires] = ACTIONS(5162), + }, + [1815] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token2] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [aux_sym_preproc_else_token1] = ACTIONS(2767), + [aux_sym_preproc_elif_token1] = ACTIONS(2767), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_friend] = ACTIONS(2767), + [anon_sym_public] = ACTIONS(2767), + [anon_sym_private] = ACTIONS(2767), + [anon_sym_protected] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + }, + [1816] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token2] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [aux_sym_preproc_else_token1] = ACTIONS(2755), + [aux_sym_preproc_elif_token1] = ACTIONS(2755), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_friend] = ACTIONS(2755), + [anon_sym_public] = ACTIONS(2755), + [anon_sym_private] = ACTIONS(2755), + [anon_sym_protected] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + }, + [1817] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_template_argument_list] = STATE(2331), + [sym_raw_string_literal] = STATE(1634), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(5064), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4892), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5064), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(5066), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4973), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + }, + [1818] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token2] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [aux_sym_preproc_else_token1] = ACTIONS(3104), + [aux_sym_preproc_elif_token1] = ACTIONS(3104), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_friend] = ACTIONS(3104), + [anon_sym_public] = ACTIONS(3104), + [anon_sym_private] = ACTIONS(3104), + [anon_sym_protected] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + }, + [1819] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_raw_string_literal] = STATE(1634), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3773), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_RBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_COLON] = ACTIONS(3765), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4973), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1820] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token2] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [aux_sym_preproc_else_token1] = ACTIONS(3114), + [aux_sym_preproc_elif_token1] = ACTIONS(3114), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_friend] = ACTIONS(3114), + [anon_sym_public] = ACTIONS(3114), + [anon_sym_private] = ACTIONS(3114), + [anon_sym_protected] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + }, + [1821] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token2] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [aux_sym_preproc_else_token1] = ACTIONS(2751), + [aux_sym_preproc_elif_token1] = ACTIONS(2751), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_friend] = ACTIONS(2751), + [anon_sym_public] = ACTIONS(2751), + [anon_sym_private] = ACTIONS(2751), + [anon_sym_protected] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + }, + [1822] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_raw_string_literal] = STATE(1634), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4994), + [anon_sym_COMMA] = ACTIONS(4994), + [anon_sym_RPAREN] = ACTIONS(4994), + [anon_sym_LPAREN2] = ACTIONS(4994), + [anon_sym_DASH] = ACTIONS(4992), + [anon_sym_PLUS] = ACTIONS(4992), + [anon_sym_STAR] = ACTIONS(4992), + [anon_sym_SLASH] = ACTIONS(4992), + [anon_sym_PERCENT] = ACTIONS(4992), + [anon_sym_PIPE_PIPE] = ACTIONS(4994), + [anon_sym_AMP_AMP] = ACTIONS(4994), + [anon_sym_PIPE] = ACTIONS(4992), + [anon_sym_CARET] = ACTIONS(4992), + [anon_sym_AMP] = ACTIONS(4992), + [anon_sym_EQ_EQ] = ACTIONS(4994), + [anon_sym_BANG_EQ] = ACTIONS(4994), + [anon_sym_GT] = ACTIONS(4992), + [anon_sym_GT_EQ] = ACTIONS(4994), + [anon_sym_LT_EQ] = ACTIONS(4992), + [anon_sym_LT] = ACTIONS(4992), + [anon_sym_LT_LT] = ACTIONS(4992), + [anon_sym_GT_GT] = ACTIONS(4992), + [anon_sym_SEMI] = ACTIONS(4994), + [anon_sym_RBRACE] = ACTIONS(4994), + [anon_sym_LBRACK] = ACTIONS(4994), + [anon_sym_RBRACK] = ACTIONS(4994), + [anon_sym_EQ] = ACTIONS(4992), + [anon_sym_COLON] = ACTIONS(4994), + [anon_sym_QMARK] = ACTIONS(4994), + [anon_sym_STAR_EQ] = ACTIONS(4994), + [anon_sym_SLASH_EQ] = ACTIONS(4994), + [anon_sym_PERCENT_EQ] = ACTIONS(4994), + [anon_sym_PLUS_EQ] = ACTIONS(4994), + [anon_sym_DASH_EQ] = ACTIONS(4994), + [anon_sym_LT_LT_EQ] = ACTIONS(4994), + [anon_sym_GT_GT_EQ] = ACTIONS(4994), + [anon_sym_AMP_EQ] = ACTIONS(4994), + [anon_sym_CARET_EQ] = ACTIONS(4994), + [anon_sym_PIPE_EQ] = ACTIONS(4994), + [anon_sym_and_eq] = ACTIONS(4992), + [anon_sym_or_eq] = ACTIONS(4992), + [anon_sym_xor_eq] = ACTIONS(4992), + [anon_sym_LT_EQ_GT] = ACTIONS(4994), + [anon_sym_or] = ACTIONS(4992), + [anon_sym_and] = ACTIONS(4992), + [anon_sym_bitor] = ACTIONS(4992), + [anon_sym_xor] = ACTIONS(4992), + [anon_sym_bitand] = ACTIONS(4992), + [anon_sym_not_eq] = ACTIONS(4992), + [anon_sym_DASH_DASH] = ACTIONS(4994), + [anon_sym_PLUS_PLUS] = ACTIONS(4994), + [anon_sym_DOT] = ACTIONS(4992), + [anon_sym_DOT_STAR] = ACTIONS(4994), + [anon_sym_DASH_GT] = ACTIONS(4994), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4973), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1823] = { + [sym_string_literal] = STATE(1634), + [sym__string_literal] = STATE(1684), + [sym_template_argument_list] = STATE(2864), + [sym_raw_string_literal] = STATE(1634), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(5076), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(5166), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4676), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(5079), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(1897), + [anon_sym_u_DQUOTE] = ACTIONS(1897), + [anon_sym_U_DQUOTE] = ACTIONS(1897), + [anon_sym_u8_DQUOTE] = ACTIONS(1897), + [anon_sym_DQUOTE] = ACTIONS(1897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4973), + [anon_sym_R_DQUOTE] = ACTIONS(1907), + [anon_sym_LR_DQUOTE] = ACTIONS(1907), + [anon_sym_uR_DQUOTE] = ACTIONS(1907), + [anon_sym_UR_DQUOTE] = ACTIONS(1907), + [anon_sym_u8R_DQUOTE] = ACTIONS(1907), + }, + [1824] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token2] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [aux_sym_preproc_else_token1] = ACTIONS(2936), + [aux_sym_preproc_elif_token1] = ACTIONS(2936), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_friend] = ACTIONS(2936), + [anon_sym_public] = ACTIONS(2936), + [anon_sym_private] = ACTIONS(2936), + [anon_sym_protected] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + }, + [1825] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5171), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5171), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5171), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5171), + [anon_sym_GT_GT] = ACTIONS(5171), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___extension__] = ACTIONS(5169), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym___based] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_signed] = ACTIONS(5169), + [anon_sym_unsigned] = ACTIONS(5169), + [anon_sym_long] = ACTIONS(5169), + [anon_sym_short] = ACTIONS(5169), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_const] = ACTIONS(5169), + [anon_sym_constexpr] = ACTIONS(5169), + [anon_sym_volatile] = ACTIONS(5169), + [anon_sym_restrict] = ACTIONS(5169), + [anon_sym___restrict__] = ACTIONS(5169), + [anon_sym__Atomic] = ACTIONS(5169), + [anon_sym__Noreturn] = ACTIONS(5169), + [anon_sym_noreturn] = ACTIONS(5169), + [anon_sym_mutable] = ACTIONS(5169), + [anon_sym_constinit] = ACTIONS(5169), + [anon_sym_consteval] = ACTIONS(5169), + [anon_sym_alignas] = ACTIONS(5169), + [anon_sym__Alignas] = ACTIONS(5169), + [sym_primitive_type] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + [anon_sym_final] = ACTIONS(5169), + [anon_sym_override] = ACTIONS(5169), + [anon_sym_requires] = ACTIONS(5169), + }, + [1826] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token2] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [aux_sym_preproc_else_token1] = ACTIONS(5173), + [aux_sym_preproc_elif_token1] = ACTIONS(5173), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [1827] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token2] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [aux_sym_preproc_else_token1] = ACTIONS(2695), + [aux_sym_preproc_elif_token1] = ACTIONS(2695), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_friend] = ACTIONS(2695), + [anon_sym_public] = ACTIONS(2695), + [anon_sym_private] = ACTIONS(2695), + [anon_sym_protected] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + }, + [1828] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token2] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [aux_sym_preproc_else_token1] = ACTIONS(5173), + [aux_sym_preproc_elif_token1] = ACTIONS(5173), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [1829] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5171), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5171), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5171), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5171), + [anon_sym_GT_GT] = ACTIONS(5171), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___extension__] = ACTIONS(5169), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym___based] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_signed] = ACTIONS(5169), + [anon_sym_unsigned] = ACTIONS(5169), + [anon_sym_long] = ACTIONS(5169), + [anon_sym_short] = ACTIONS(5169), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_const] = ACTIONS(5169), + [anon_sym_constexpr] = ACTIONS(5169), + [anon_sym_volatile] = ACTIONS(5169), + [anon_sym_restrict] = ACTIONS(5169), + [anon_sym___restrict__] = ACTIONS(5169), + [anon_sym__Atomic] = ACTIONS(5169), + [anon_sym__Noreturn] = ACTIONS(5169), + [anon_sym_noreturn] = ACTIONS(5169), + [anon_sym_mutable] = ACTIONS(5169), + [anon_sym_constinit] = ACTIONS(5169), + [anon_sym_consteval] = ACTIONS(5169), + [anon_sym_alignas] = ACTIONS(5169), + [anon_sym__Alignas] = ACTIONS(5169), + [sym_primitive_type] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + [anon_sym_final] = ACTIONS(5169), + [anon_sym_override] = ACTIONS(5169), + [anon_sym_requires] = ACTIONS(5169), + }, + [1830] = { + [sym__identifier] = ACTIONS(5177), + [aux_sym_preproc_def_token1] = ACTIONS(5177), + [aux_sym_preproc_if_token1] = ACTIONS(5177), + [aux_sym_preproc_if_token2] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5177), + [aux_sym_preproc_else_token1] = ACTIONS(5177), + [aux_sym_preproc_elif_token1] = ACTIONS(5177), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5177), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5177), + [sym_preproc_directive] = ACTIONS(5177), + [anon_sym_LPAREN2] = ACTIONS(5179), + [anon_sym_TILDE] = ACTIONS(5179), + [anon_sym_STAR] = ACTIONS(5179), + [anon_sym_AMP_AMP] = ACTIONS(5179), + [anon_sym_AMP] = ACTIONS(5177), + [anon_sym___extension__] = ACTIONS(5177), + [anon_sym_typedef] = ACTIONS(5177), + [anon_sym_extern] = ACTIONS(5177), + [anon_sym___attribute__] = ACTIONS(5177), + [anon_sym_COLON_COLON] = ACTIONS(5179), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5179), + [anon_sym___declspec] = ACTIONS(5177), + [anon_sym___based] = ACTIONS(5177), + [anon_sym_signed] = ACTIONS(5177), + [anon_sym_unsigned] = ACTIONS(5177), + [anon_sym_long] = ACTIONS(5177), + [anon_sym_short] = ACTIONS(5177), + [anon_sym_LBRACK] = ACTIONS(5177), + [anon_sym_static] = ACTIONS(5177), + [anon_sym_register] = ACTIONS(5177), + [anon_sym_inline] = ACTIONS(5177), + [anon_sym___inline] = ACTIONS(5177), + [anon_sym___inline__] = ACTIONS(5177), + [anon_sym___forceinline] = ACTIONS(5177), + [anon_sym_thread_local] = ACTIONS(5177), + [anon_sym___thread] = ACTIONS(5177), + [anon_sym_const] = ACTIONS(5177), + [anon_sym_constexpr] = ACTIONS(5177), + [anon_sym_volatile] = ACTIONS(5177), + [anon_sym_restrict] = ACTIONS(5177), + [anon_sym___restrict__] = ACTIONS(5177), + [anon_sym__Atomic] = ACTIONS(5177), + [anon_sym__Noreturn] = ACTIONS(5177), + [anon_sym_noreturn] = ACTIONS(5177), + [anon_sym_mutable] = ACTIONS(5177), + [anon_sym_constinit] = ACTIONS(5177), + [anon_sym_consteval] = ACTIONS(5177), + [anon_sym_alignas] = ACTIONS(5177), + [anon_sym__Alignas] = ACTIONS(5177), + [sym_primitive_type] = ACTIONS(5177), + [anon_sym_enum] = ACTIONS(5177), + [anon_sym_class] = ACTIONS(5177), + [anon_sym_struct] = ACTIONS(5177), + [anon_sym_union] = ACTIONS(5177), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5179), + [sym_auto] = ACTIONS(5177), + [anon_sym_decltype] = ACTIONS(5177), + [sym_virtual] = ACTIONS(5177), + [anon_sym_explicit] = ACTIONS(5177), + [anon_sym_typename] = ACTIONS(5177), + [anon_sym_template] = ACTIONS(5177), + [anon_sym_operator] = ACTIONS(5177), + [anon_sym_friend] = ACTIONS(5177), + [anon_sym_public] = ACTIONS(5177), + [anon_sym_private] = ACTIONS(5177), + [anon_sym_protected] = ACTIONS(5177), + [anon_sym_using] = ACTIONS(5177), + [anon_sym_static_assert] = ACTIONS(5177), + }, + [1831] = { + [sym__identifier] = ACTIONS(5181), + [aux_sym_preproc_def_token1] = ACTIONS(5181), + [aux_sym_preproc_if_token1] = ACTIONS(5181), + [aux_sym_preproc_if_token2] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5181), + [aux_sym_preproc_else_token1] = ACTIONS(5181), + [aux_sym_preproc_elif_token1] = ACTIONS(5181), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5181), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5181), + [sym_preproc_directive] = ACTIONS(5181), + [anon_sym_LPAREN2] = ACTIONS(5183), + [anon_sym_TILDE] = ACTIONS(5183), + [anon_sym_STAR] = ACTIONS(5183), + [anon_sym_AMP_AMP] = ACTIONS(5183), + [anon_sym_AMP] = ACTIONS(5181), + [anon_sym___extension__] = ACTIONS(5181), + [anon_sym_typedef] = ACTIONS(5181), + [anon_sym_extern] = ACTIONS(5181), + [anon_sym___attribute__] = ACTIONS(5181), + [anon_sym_COLON_COLON] = ACTIONS(5183), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5183), + [anon_sym___declspec] = ACTIONS(5181), + [anon_sym___based] = ACTIONS(5181), + [anon_sym_signed] = ACTIONS(5181), + [anon_sym_unsigned] = ACTIONS(5181), + [anon_sym_long] = ACTIONS(5181), + [anon_sym_short] = ACTIONS(5181), + [anon_sym_LBRACK] = ACTIONS(5181), + [anon_sym_static] = ACTIONS(5181), + [anon_sym_register] = ACTIONS(5181), + [anon_sym_inline] = ACTIONS(5181), + [anon_sym___inline] = ACTIONS(5181), + [anon_sym___inline__] = ACTIONS(5181), + [anon_sym___forceinline] = ACTIONS(5181), + [anon_sym_thread_local] = ACTIONS(5181), + [anon_sym___thread] = ACTIONS(5181), + [anon_sym_const] = ACTIONS(5181), + [anon_sym_constexpr] = ACTIONS(5181), + [anon_sym_volatile] = ACTIONS(5181), + [anon_sym_restrict] = ACTIONS(5181), + [anon_sym___restrict__] = ACTIONS(5181), + [anon_sym__Atomic] = ACTIONS(5181), + [anon_sym__Noreturn] = ACTIONS(5181), + [anon_sym_noreturn] = ACTIONS(5181), + [anon_sym_mutable] = ACTIONS(5181), + [anon_sym_constinit] = ACTIONS(5181), + [anon_sym_consteval] = ACTIONS(5181), + [anon_sym_alignas] = ACTIONS(5181), + [anon_sym__Alignas] = ACTIONS(5181), + [sym_primitive_type] = ACTIONS(5181), + [anon_sym_enum] = ACTIONS(5181), + [anon_sym_class] = ACTIONS(5181), + [anon_sym_struct] = ACTIONS(5181), + [anon_sym_union] = ACTIONS(5181), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5183), + [sym_auto] = ACTIONS(5181), + [anon_sym_decltype] = ACTIONS(5181), + [sym_virtual] = ACTIONS(5181), + [anon_sym_explicit] = ACTIONS(5181), + [anon_sym_typename] = ACTIONS(5181), + [anon_sym_template] = ACTIONS(5181), + [anon_sym_operator] = ACTIONS(5181), + [anon_sym_friend] = ACTIONS(5181), + [anon_sym_public] = ACTIONS(5181), + [anon_sym_private] = ACTIONS(5181), + [anon_sym_protected] = ACTIONS(5181), + [anon_sym_using] = ACTIONS(5181), + [anon_sym_static_assert] = ACTIONS(5181), + }, + [1832] = { + [sym_string_literal] = STATE(1753), + [sym__string_literal] = STATE(2298), + [sym_identifier] = STATE(1753), + [sym_raw_string_literal] = STATE(1753), + [aux_sym_concatenated_string_repeat1] = STATE(1753), + [sym__identifier] = ACTIONS(5060), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4764), + [anon_sym_COMMA] = ACTIONS(4764), + [anon_sym_RPAREN] = ACTIONS(4764), + [anon_sym_LPAREN2] = ACTIONS(4764), + [anon_sym_DASH] = ACTIONS(4766), + [anon_sym_PLUS] = ACTIONS(4766), + [anon_sym_STAR] = ACTIONS(4766), + [anon_sym_SLASH] = ACTIONS(4766), + [anon_sym_PERCENT] = ACTIONS(4766), + [anon_sym_PIPE_PIPE] = ACTIONS(4764), + [anon_sym_AMP_AMP] = ACTIONS(4764), + [anon_sym_PIPE] = ACTIONS(4766), + [anon_sym_CARET] = ACTIONS(4766), + [anon_sym_AMP] = ACTIONS(4766), + [anon_sym_EQ_EQ] = ACTIONS(4764), + [anon_sym_BANG_EQ] = ACTIONS(4764), + [anon_sym_GT] = ACTIONS(4766), + [anon_sym_GT_EQ] = ACTIONS(4764), + [anon_sym_LT_EQ] = ACTIONS(4766), + [anon_sym_LT] = ACTIONS(4766), + [anon_sym_LT_LT] = ACTIONS(4766), + [anon_sym_GT_GT] = ACTIONS(4766), + [anon_sym_LBRACK] = ACTIONS(4764), + [anon_sym_EQ] = ACTIONS(4766), + [anon_sym_QMARK] = ACTIONS(4764), + [anon_sym_STAR_EQ] = ACTIONS(4764), + [anon_sym_SLASH_EQ] = ACTIONS(4764), + [anon_sym_PERCENT_EQ] = ACTIONS(4764), + [anon_sym_PLUS_EQ] = ACTIONS(4764), + [anon_sym_DASH_EQ] = ACTIONS(4764), + [anon_sym_LT_LT_EQ] = ACTIONS(4764), + [anon_sym_GT_GT_EQ] = ACTIONS(4764), + [anon_sym_AMP_EQ] = ACTIONS(4764), + [anon_sym_CARET_EQ] = ACTIONS(4764), + [anon_sym_PIPE_EQ] = ACTIONS(4764), + [anon_sym_and_eq] = ACTIONS(4766), + [anon_sym_or_eq] = ACTIONS(4766), + [anon_sym_xor_eq] = ACTIONS(4766), + [anon_sym_LT_EQ_GT] = ACTIONS(4764), + [anon_sym_or] = ACTIONS(4766), + [anon_sym_and] = ACTIONS(4766), + [anon_sym_bitor] = ACTIONS(4766), + [anon_sym_xor] = ACTIONS(4766), + [anon_sym_bitand] = ACTIONS(4766), + [anon_sym_not_eq] = ACTIONS(4766), + [anon_sym_DASH_DASH] = ACTIONS(4764), + [anon_sym_PLUS_PLUS] = ACTIONS(4764), + [anon_sym_DOT] = ACTIONS(4766), + [anon_sym_DOT_STAR] = ACTIONS(4764), + [anon_sym_DASH_GT] = ACTIONS(4766), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5062), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(4764), + [sym_literal_suffix] = ACTIONS(4766), + }, + [1833] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token2] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [aux_sym_preproc_else_token1] = ACTIONS(5185), + [aux_sym_preproc_elif_token1] = ACTIONS(5185), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [1834] = { + [sym__identifier] = ACTIONS(5189), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5191), + [anon_sym_COMMA] = ACTIONS(5191), + [anon_sym_RPAREN] = ACTIONS(5191), + [anon_sym_LPAREN2] = ACTIONS(5191), + [anon_sym_DASH] = ACTIONS(5189), + [anon_sym_PLUS] = ACTIONS(5189), + [anon_sym_STAR] = ACTIONS(5191), + [anon_sym_SLASH] = ACTIONS(5189), + [anon_sym_PERCENT] = ACTIONS(5191), + [anon_sym_PIPE_PIPE] = ACTIONS(5191), + [anon_sym_AMP_AMP] = ACTIONS(5191), + [anon_sym_PIPE] = ACTIONS(5189), + [anon_sym_CARET] = ACTIONS(5191), + [anon_sym_AMP] = ACTIONS(5189), + [anon_sym_EQ_EQ] = ACTIONS(5191), + [anon_sym_BANG_EQ] = ACTIONS(5191), + [anon_sym_GT] = ACTIONS(5189), + [anon_sym_GT_EQ] = ACTIONS(5191), + [anon_sym_LT_EQ] = ACTIONS(5189), + [anon_sym_LT] = ACTIONS(5189), + [anon_sym_LT_LT] = ACTIONS(5191), + [anon_sym_GT_GT] = ACTIONS(5191), + [anon_sym_SEMI] = ACTIONS(5191), + [anon_sym___extension__] = ACTIONS(5189), + [anon_sym___attribute__] = ACTIONS(5189), + [anon_sym___based] = ACTIONS(5189), + [anon_sym_LBRACE] = ACTIONS(5191), + [anon_sym_RBRACE] = ACTIONS(5191), + [anon_sym_signed] = ACTIONS(5189), + [anon_sym_unsigned] = ACTIONS(5189), + [anon_sym_long] = ACTIONS(5189), + [anon_sym_short] = ACTIONS(5189), + [anon_sym_LBRACK] = ACTIONS(5191), + [anon_sym_RBRACK] = ACTIONS(5191), + [anon_sym_const] = ACTIONS(5189), + [anon_sym_constexpr] = ACTIONS(5189), + [anon_sym_volatile] = ACTIONS(5189), + [anon_sym_restrict] = ACTIONS(5189), + [anon_sym___restrict__] = ACTIONS(5189), + [anon_sym__Atomic] = ACTIONS(5189), + [anon_sym__Noreturn] = ACTIONS(5189), + [anon_sym_noreturn] = ACTIONS(5189), + [anon_sym_mutable] = ACTIONS(5189), + [anon_sym_constinit] = ACTIONS(5189), + [anon_sym_consteval] = ACTIONS(5189), + [anon_sym_alignas] = ACTIONS(5189), + [anon_sym__Alignas] = ACTIONS(5189), + [sym_primitive_type] = ACTIONS(5189), + [anon_sym_COLON] = ACTIONS(5191), + [anon_sym_QMARK] = ACTIONS(5191), + [anon_sym_LT_EQ_GT] = ACTIONS(5191), + [anon_sym_or] = ACTIONS(5189), + [anon_sym_and] = ACTIONS(5189), + [anon_sym_bitor] = ACTIONS(5189), + [anon_sym_xor] = ACTIONS(5189), + [anon_sym_bitand] = ACTIONS(5189), + [anon_sym_not_eq] = ACTIONS(5189), + [anon_sym_DASH_DASH] = ACTIONS(5191), + [anon_sym_PLUS_PLUS] = ACTIONS(5191), + [anon_sym_DOT] = ACTIONS(5189), + [anon_sym_DOT_STAR] = ACTIONS(5191), + [anon_sym_DASH_GT] = ACTIONS(5191), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5191), + [sym_auto] = ACTIONS(5189), + [anon_sym_decltype] = ACTIONS(5189), + [anon_sym_final] = ACTIONS(5189), + [anon_sym_override] = ACTIONS(5189), + [anon_sym_requires] = ACTIONS(5189), + }, + [1835] = { + [sym__identifier] = ACTIONS(5193), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5195), + [anon_sym_COMMA] = ACTIONS(5195), + [anon_sym_RPAREN] = ACTIONS(5195), + [anon_sym_LPAREN2] = ACTIONS(5195), + [anon_sym_DASH] = ACTIONS(5193), + [anon_sym_PLUS] = ACTIONS(5193), + [anon_sym_STAR] = ACTIONS(5195), + [anon_sym_SLASH] = ACTIONS(5193), + [anon_sym_PERCENT] = ACTIONS(5195), + [anon_sym_PIPE_PIPE] = ACTIONS(5195), + [anon_sym_AMP_AMP] = ACTIONS(5195), + [anon_sym_PIPE] = ACTIONS(5193), + [anon_sym_CARET] = ACTIONS(5195), + [anon_sym_AMP] = ACTIONS(5193), + [anon_sym_EQ_EQ] = ACTIONS(5195), + [anon_sym_BANG_EQ] = ACTIONS(5195), + [anon_sym_GT] = ACTIONS(5193), + [anon_sym_GT_EQ] = ACTIONS(5195), + [anon_sym_LT_EQ] = ACTIONS(5193), + [anon_sym_LT] = ACTIONS(5193), + [anon_sym_LT_LT] = ACTIONS(5195), + [anon_sym_GT_GT] = ACTIONS(5195), + [anon_sym_SEMI] = ACTIONS(5195), + [anon_sym___extension__] = ACTIONS(5193), + [anon_sym___attribute__] = ACTIONS(5193), + [anon_sym___based] = ACTIONS(5193), + [anon_sym_LBRACE] = ACTIONS(5195), + [anon_sym_RBRACE] = ACTIONS(5195), + [anon_sym_signed] = ACTIONS(5193), + [anon_sym_unsigned] = ACTIONS(5193), + [anon_sym_long] = ACTIONS(5193), + [anon_sym_short] = ACTIONS(5193), + [anon_sym_LBRACK] = ACTIONS(5195), + [anon_sym_RBRACK] = ACTIONS(5195), + [anon_sym_const] = ACTIONS(5193), + [anon_sym_constexpr] = ACTIONS(5193), + [anon_sym_volatile] = ACTIONS(5193), + [anon_sym_restrict] = ACTIONS(5193), + [anon_sym___restrict__] = ACTIONS(5193), + [anon_sym__Atomic] = ACTIONS(5193), + [anon_sym__Noreturn] = ACTIONS(5193), + [anon_sym_noreturn] = ACTIONS(5193), + [anon_sym_mutable] = ACTIONS(5193), + [anon_sym_constinit] = ACTIONS(5193), + [anon_sym_consteval] = ACTIONS(5193), + [anon_sym_alignas] = ACTIONS(5193), + [anon_sym__Alignas] = ACTIONS(5193), + [sym_primitive_type] = ACTIONS(5193), + [anon_sym_COLON] = ACTIONS(5195), + [anon_sym_QMARK] = ACTIONS(5195), + [anon_sym_LT_EQ_GT] = ACTIONS(5195), + [anon_sym_or] = ACTIONS(5193), + [anon_sym_and] = ACTIONS(5193), + [anon_sym_bitor] = ACTIONS(5193), + [anon_sym_xor] = ACTIONS(5193), + [anon_sym_bitand] = ACTIONS(5193), + [anon_sym_not_eq] = ACTIONS(5193), + [anon_sym_DASH_DASH] = ACTIONS(5195), + [anon_sym_PLUS_PLUS] = ACTIONS(5195), + [anon_sym_DOT] = ACTIONS(5193), + [anon_sym_DOT_STAR] = ACTIONS(5195), + [anon_sym_DASH_GT] = ACTIONS(5195), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5195), + [sym_auto] = ACTIONS(5193), + [anon_sym_decltype] = ACTIONS(5193), + [anon_sym_final] = ACTIONS(5193), + [anon_sym_override] = ACTIONS(5193), + [anon_sym_requires] = ACTIONS(5193), + }, + [1836] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token2] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [aux_sym_preproc_else_token1] = ACTIONS(5197), + [aux_sym_preproc_elif_token1] = ACTIONS(5197), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [1837] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token2] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [aux_sym_preproc_else_token1] = ACTIONS(5185), + [aux_sym_preproc_elif_token1] = ACTIONS(5185), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [1838] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token2] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [aux_sym_preproc_else_token1] = ACTIONS(5197), + [aux_sym_preproc_elif_token1] = ACTIONS(5197), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [1839] = { + [sym__identifier] = ACTIONS(5201), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5203), + [anon_sym_COMMA] = ACTIONS(5203), + [anon_sym_RPAREN] = ACTIONS(5203), + [anon_sym_LPAREN2] = ACTIONS(5203), + [anon_sym_DASH] = ACTIONS(5201), + [anon_sym_PLUS] = ACTIONS(5201), + [anon_sym_STAR] = ACTIONS(5203), + [anon_sym_SLASH] = ACTIONS(5201), + [anon_sym_PERCENT] = ACTIONS(5203), + [anon_sym_PIPE_PIPE] = ACTIONS(5203), + [anon_sym_AMP_AMP] = ACTIONS(5203), + [anon_sym_PIPE] = ACTIONS(5201), + [anon_sym_CARET] = ACTIONS(5203), + [anon_sym_AMP] = ACTIONS(5201), + [anon_sym_EQ_EQ] = ACTIONS(5203), + [anon_sym_BANG_EQ] = ACTIONS(5203), + [anon_sym_GT] = ACTIONS(5201), + [anon_sym_GT_EQ] = ACTIONS(5203), + [anon_sym_LT_EQ] = ACTIONS(5201), + [anon_sym_LT] = ACTIONS(5201), + [anon_sym_LT_LT] = ACTIONS(5203), + [anon_sym_GT_GT] = ACTIONS(5203), + [anon_sym_SEMI] = ACTIONS(5203), + [anon_sym___extension__] = ACTIONS(5201), + [anon_sym___attribute__] = ACTIONS(5201), + [anon_sym___based] = ACTIONS(5201), + [anon_sym_LBRACE] = ACTIONS(5203), + [anon_sym_RBRACE] = ACTIONS(5203), + [anon_sym_signed] = ACTIONS(5201), + [anon_sym_unsigned] = ACTIONS(5201), + [anon_sym_long] = ACTIONS(5201), + [anon_sym_short] = ACTIONS(5201), + [anon_sym_LBRACK] = ACTIONS(5203), + [anon_sym_RBRACK] = ACTIONS(5203), + [anon_sym_const] = ACTIONS(5201), + [anon_sym_constexpr] = ACTIONS(5201), + [anon_sym_volatile] = ACTIONS(5201), + [anon_sym_restrict] = ACTIONS(5201), + [anon_sym___restrict__] = ACTIONS(5201), + [anon_sym__Atomic] = ACTIONS(5201), + [anon_sym__Noreturn] = ACTIONS(5201), + [anon_sym_noreturn] = ACTIONS(5201), + [anon_sym_mutable] = ACTIONS(5201), + [anon_sym_constinit] = ACTIONS(5201), + [anon_sym_consteval] = ACTIONS(5201), + [anon_sym_alignas] = ACTIONS(5201), + [anon_sym__Alignas] = ACTIONS(5201), + [sym_primitive_type] = ACTIONS(5201), + [anon_sym_COLON] = ACTIONS(5203), + [anon_sym_QMARK] = ACTIONS(5203), + [anon_sym_LT_EQ_GT] = ACTIONS(5203), + [anon_sym_or] = ACTIONS(5201), + [anon_sym_and] = ACTIONS(5201), + [anon_sym_bitor] = ACTIONS(5201), + [anon_sym_xor] = ACTIONS(5201), + [anon_sym_bitand] = ACTIONS(5201), + [anon_sym_not_eq] = ACTIONS(5201), + [anon_sym_DASH_DASH] = ACTIONS(5203), + [anon_sym_PLUS_PLUS] = ACTIONS(5203), + [anon_sym_DOT] = ACTIONS(5201), + [anon_sym_DOT_STAR] = ACTIONS(5203), + [anon_sym_DASH_GT] = ACTIONS(5203), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5203), + [sym_auto] = ACTIONS(5201), + [anon_sym_decltype] = ACTIONS(5201), + [anon_sym_final] = ACTIONS(5201), + [anon_sym_override] = ACTIONS(5201), + [anon_sym_requires] = ACTIONS(5201), + }, + [1840] = { + [sym__identifier] = ACTIONS(5205), + [aux_sym_preproc_def_token1] = ACTIONS(5205), + [aux_sym_preproc_if_token1] = ACTIONS(5205), + [aux_sym_preproc_if_token2] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5205), + [aux_sym_preproc_else_token1] = ACTIONS(5205), + [aux_sym_preproc_elif_token1] = ACTIONS(5205), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5205), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5205), + [sym_preproc_directive] = ACTIONS(5205), + [anon_sym_LPAREN2] = ACTIONS(5207), + [anon_sym_TILDE] = ACTIONS(5207), + [anon_sym_STAR] = ACTIONS(5207), + [anon_sym_AMP_AMP] = ACTIONS(5207), + [anon_sym_AMP] = ACTIONS(5205), + [anon_sym___extension__] = ACTIONS(5205), + [anon_sym_typedef] = ACTIONS(5205), + [anon_sym_extern] = ACTIONS(5205), + [anon_sym___attribute__] = ACTIONS(5205), + [anon_sym_COLON_COLON] = ACTIONS(5207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5207), + [anon_sym___declspec] = ACTIONS(5205), + [anon_sym___based] = ACTIONS(5205), + [anon_sym_signed] = ACTIONS(5205), + [anon_sym_unsigned] = ACTIONS(5205), + [anon_sym_long] = ACTIONS(5205), + [anon_sym_short] = ACTIONS(5205), + [anon_sym_LBRACK] = ACTIONS(5205), + [anon_sym_static] = ACTIONS(5205), + [anon_sym_register] = ACTIONS(5205), + [anon_sym_inline] = ACTIONS(5205), + [anon_sym___inline] = ACTIONS(5205), + [anon_sym___inline__] = ACTIONS(5205), + [anon_sym___forceinline] = ACTIONS(5205), + [anon_sym_thread_local] = ACTIONS(5205), + [anon_sym___thread] = ACTIONS(5205), + [anon_sym_const] = ACTIONS(5205), + [anon_sym_constexpr] = ACTIONS(5205), + [anon_sym_volatile] = ACTIONS(5205), + [anon_sym_restrict] = ACTIONS(5205), + [anon_sym___restrict__] = ACTIONS(5205), + [anon_sym__Atomic] = ACTIONS(5205), + [anon_sym__Noreturn] = ACTIONS(5205), + [anon_sym_noreturn] = ACTIONS(5205), + [anon_sym_mutable] = ACTIONS(5205), + [anon_sym_constinit] = ACTIONS(5205), + [anon_sym_consteval] = ACTIONS(5205), + [anon_sym_alignas] = ACTIONS(5205), + [anon_sym__Alignas] = ACTIONS(5205), + [sym_primitive_type] = ACTIONS(5205), + [anon_sym_enum] = ACTIONS(5205), + [anon_sym_class] = ACTIONS(5205), + [anon_sym_struct] = ACTIONS(5205), + [anon_sym_union] = ACTIONS(5205), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5207), + [sym_auto] = ACTIONS(5205), + [anon_sym_decltype] = ACTIONS(5205), + [sym_virtual] = ACTIONS(5205), + [anon_sym_explicit] = ACTIONS(5205), + [anon_sym_typename] = ACTIONS(5205), + [anon_sym_template] = ACTIONS(5205), + [anon_sym_operator] = ACTIONS(5205), + [anon_sym_friend] = ACTIONS(5205), + [anon_sym_public] = ACTIONS(5205), + [anon_sym_private] = ACTIONS(5205), + [anon_sym_protected] = ACTIONS(5205), + [anon_sym_using] = ACTIONS(5205), + [anon_sym_static_assert] = ACTIONS(5205), + }, + [1841] = { + [sym__identifier] = ACTIONS(5209), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5211), + [anon_sym_COMMA] = ACTIONS(5211), + [anon_sym_RPAREN] = ACTIONS(5211), + [anon_sym_LPAREN2] = ACTIONS(5211), + [anon_sym_DASH] = ACTIONS(5209), + [anon_sym_PLUS] = ACTIONS(5209), + [anon_sym_STAR] = ACTIONS(5211), + [anon_sym_SLASH] = ACTIONS(5209), + [anon_sym_PERCENT] = ACTIONS(5211), + [anon_sym_PIPE_PIPE] = ACTIONS(5211), + [anon_sym_AMP_AMP] = ACTIONS(5211), + [anon_sym_PIPE] = ACTIONS(5209), + [anon_sym_CARET] = ACTIONS(5211), + [anon_sym_AMP] = ACTIONS(5209), + [anon_sym_EQ_EQ] = ACTIONS(5211), + [anon_sym_BANG_EQ] = ACTIONS(5211), + [anon_sym_GT] = ACTIONS(5209), + [anon_sym_GT_EQ] = ACTIONS(5211), + [anon_sym_LT_EQ] = ACTIONS(5209), + [anon_sym_LT] = ACTIONS(5209), + [anon_sym_LT_LT] = ACTIONS(5211), + [anon_sym_GT_GT] = ACTIONS(5211), + [anon_sym_SEMI] = ACTIONS(5211), + [anon_sym___extension__] = ACTIONS(5209), + [anon_sym___attribute__] = ACTIONS(5209), + [anon_sym___based] = ACTIONS(5209), + [anon_sym_LBRACE] = ACTIONS(5211), + [anon_sym_RBRACE] = ACTIONS(5211), + [anon_sym_signed] = ACTIONS(5209), + [anon_sym_unsigned] = ACTIONS(5209), + [anon_sym_long] = ACTIONS(5209), + [anon_sym_short] = ACTIONS(5209), + [anon_sym_LBRACK] = ACTIONS(5211), + [anon_sym_RBRACK] = ACTIONS(5211), + [anon_sym_const] = ACTIONS(5209), + [anon_sym_constexpr] = ACTIONS(5209), + [anon_sym_volatile] = ACTIONS(5209), + [anon_sym_restrict] = ACTIONS(5209), + [anon_sym___restrict__] = ACTIONS(5209), + [anon_sym__Atomic] = ACTIONS(5209), + [anon_sym__Noreturn] = ACTIONS(5209), + [anon_sym_noreturn] = ACTIONS(5209), + [anon_sym_mutable] = ACTIONS(5209), + [anon_sym_constinit] = ACTIONS(5209), + [anon_sym_consteval] = ACTIONS(5209), + [anon_sym_alignas] = ACTIONS(5209), + [anon_sym__Alignas] = ACTIONS(5209), + [sym_primitive_type] = ACTIONS(5209), + [anon_sym_COLON] = ACTIONS(5211), + [anon_sym_QMARK] = ACTIONS(5211), + [anon_sym_LT_EQ_GT] = ACTIONS(5211), + [anon_sym_or] = ACTIONS(5209), + [anon_sym_and] = ACTIONS(5209), + [anon_sym_bitor] = ACTIONS(5209), + [anon_sym_xor] = ACTIONS(5209), + [anon_sym_bitand] = ACTIONS(5209), + [anon_sym_not_eq] = ACTIONS(5209), + [anon_sym_DASH_DASH] = ACTIONS(5211), + [anon_sym_PLUS_PLUS] = ACTIONS(5211), + [anon_sym_DOT] = ACTIONS(5209), + [anon_sym_DOT_STAR] = ACTIONS(5211), + [anon_sym_DASH_GT] = ACTIONS(5211), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5211), + [sym_auto] = ACTIONS(5209), + [anon_sym_decltype] = ACTIONS(5209), + [anon_sym_final] = ACTIONS(5209), + [anon_sym_override] = ACTIONS(5209), + [anon_sym_requires] = ACTIONS(5209), + }, + [1842] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5171), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5171), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5171), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5171), + [anon_sym_GT_GT] = ACTIONS(5171), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___extension__] = ACTIONS(5169), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym___based] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_signed] = ACTIONS(5169), + [anon_sym_unsigned] = ACTIONS(5169), + [anon_sym_long] = ACTIONS(5169), + [anon_sym_short] = ACTIONS(5169), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_const] = ACTIONS(5169), + [anon_sym_constexpr] = ACTIONS(5169), + [anon_sym_volatile] = ACTIONS(5169), + [anon_sym_restrict] = ACTIONS(5169), + [anon_sym___restrict__] = ACTIONS(5169), + [anon_sym__Atomic] = ACTIONS(5169), + [anon_sym__Noreturn] = ACTIONS(5169), + [anon_sym_noreturn] = ACTIONS(5169), + [anon_sym_mutable] = ACTIONS(5169), + [anon_sym_constinit] = ACTIONS(5169), + [anon_sym_consteval] = ACTIONS(5169), + [anon_sym_alignas] = ACTIONS(5169), + [anon_sym__Alignas] = ACTIONS(5169), + [sym_primitive_type] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + [anon_sym_final] = ACTIONS(5169), + [anon_sym_override] = ACTIONS(5169), + [anon_sym_requires] = ACTIONS(5169), + }, + [1843] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token2] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [aux_sym_preproc_else_token1] = ACTIONS(2915), + [aux_sym_preproc_elif_token1] = ACTIONS(2915), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_friend] = ACTIONS(2915), + [anon_sym_public] = ACTIONS(2915), + [anon_sym_private] = ACTIONS(2915), + [anon_sym_protected] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + }, + [1844] = { + [sym__identifier] = ACTIONS(5213), + [aux_sym_preproc_def_token1] = ACTIONS(5213), + [aux_sym_preproc_if_token1] = ACTIONS(5213), + [aux_sym_preproc_if_token2] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5213), + [aux_sym_preproc_else_token1] = ACTIONS(5213), + [aux_sym_preproc_elif_token1] = ACTIONS(5213), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5213), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5213), + [sym_preproc_directive] = ACTIONS(5213), + [anon_sym_LPAREN2] = ACTIONS(5215), + [anon_sym_TILDE] = ACTIONS(5215), + [anon_sym_STAR] = ACTIONS(5215), + [anon_sym_AMP_AMP] = ACTIONS(5215), + [anon_sym_AMP] = ACTIONS(5213), + [anon_sym___extension__] = ACTIONS(5213), + [anon_sym_typedef] = ACTIONS(5213), + [anon_sym_extern] = ACTIONS(5213), + [anon_sym___attribute__] = ACTIONS(5213), + [anon_sym_COLON_COLON] = ACTIONS(5215), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5215), + [anon_sym___declspec] = ACTIONS(5213), + [anon_sym___based] = ACTIONS(5213), + [anon_sym_signed] = ACTIONS(5213), + [anon_sym_unsigned] = ACTIONS(5213), + [anon_sym_long] = ACTIONS(5213), + [anon_sym_short] = ACTIONS(5213), + [anon_sym_LBRACK] = ACTIONS(5213), + [anon_sym_static] = ACTIONS(5213), + [anon_sym_register] = ACTIONS(5213), + [anon_sym_inline] = ACTIONS(5213), + [anon_sym___inline] = ACTIONS(5213), + [anon_sym___inline__] = ACTIONS(5213), + [anon_sym___forceinline] = ACTIONS(5213), + [anon_sym_thread_local] = ACTIONS(5213), + [anon_sym___thread] = ACTIONS(5213), + [anon_sym_const] = ACTIONS(5213), + [anon_sym_constexpr] = ACTIONS(5213), + [anon_sym_volatile] = ACTIONS(5213), + [anon_sym_restrict] = ACTIONS(5213), + [anon_sym___restrict__] = ACTIONS(5213), + [anon_sym__Atomic] = ACTIONS(5213), + [anon_sym__Noreturn] = ACTIONS(5213), + [anon_sym_noreturn] = ACTIONS(5213), + [anon_sym_mutable] = ACTIONS(5213), + [anon_sym_constinit] = ACTIONS(5213), + [anon_sym_consteval] = ACTIONS(5213), + [anon_sym_alignas] = ACTIONS(5213), + [anon_sym__Alignas] = ACTIONS(5213), + [sym_primitive_type] = ACTIONS(5213), + [anon_sym_enum] = ACTIONS(5213), + [anon_sym_class] = ACTIONS(5213), + [anon_sym_struct] = ACTIONS(5213), + [anon_sym_union] = ACTIONS(5213), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5215), + [sym_auto] = ACTIONS(5213), + [anon_sym_decltype] = ACTIONS(5213), + [sym_virtual] = ACTIONS(5213), + [anon_sym_explicit] = ACTIONS(5213), + [anon_sym_typename] = ACTIONS(5213), + [anon_sym_template] = ACTIONS(5213), + [anon_sym_operator] = ACTIONS(5213), + [anon_sym_friend] = ACTIONS(5213), + [anon_sym_public] = ACTIONS(5213), + [anon_sym_private] = ACTIONS(5213), + [anon_sym_protected] = ACTIONS(5213), + [anon_sym_using] = ACTIONS(5213), + [anon_sym_static_assert] = ACTIONS(5213), + }, + [1845] = { + [sym__identifier] = ACTIONS(5217), + [anon_sym_LPAREN2] = ACTIONS(5219), + [anon_sym_BANG] = ACTIONS(5219), + [anon_sym_TILDE] = ACTIONS(5219), + [anon_sym_DASH] = ACTIONS(5217), + [anon_sym_PLUS] = ACTIONS(5217), + [anon_sym_STAR] = ACTIONS(5219), + [anon_sym_AMP] = ACTIONS(5219), + [anon_sym___extension__] = ACTIONS(5217), + [anon_sym_COLON_COLON] = ACTIONS(5219), + [anon_sym_LBRACK] = ACTIONS(5219), + [anon_sym_static] = ACTIONS(5217), + [anon_sym_RBRACK] = ACTIONS(5219), + [anon_sym_const] = ACTIONS(5217), + [anon_sym_constexpr] = ACTIONS(5217), + [anon_sym_volatile] = ACTIONS(5217), + [anon_sym_restrict] = ACTIONS(5217), + [anon_sym___restrict__] = ACTIONS(5217), + [anon_sym__Atomic] = ACTIONS(5217), + [anon_sym__Noreturn] = ACTIONS(5217), + [anon_sym_noreturn] = ACTIONS(5217), + [anon_sym_mutable] = ACTIONS(5217), + [anon_sym_constinit] = ACTIONS(5217), + [anon_sym_consteval] = ACTIONS(5217), + [anon_sym_alignas] = ACTIONS(5217), + [anon_sym__Alignas] = ACTIONS(5217), + [sym_primitive_type] = ACTIONS(5217), + [anon_sym_not] = ACTIONS(5217), + [anon_sym_compl] = ACTIONS(5217), + [anon_sym_DASH_DASH] = ACTIONS(5219), + [anon_sym_PLUS_PLUS] = ACTIONS(5219), + [anon_sym_sizeof] = ACTIONS(5217), + [anon_sym___alignof__] = ACTIONS(5217), + [anon_sym___alignof] = ACTIONS(5217), + [anon_sym__alignof] = ACTIONS(5217), + [anon_sym_alignof] = ACTIONS(5217), + [anon_sym__Alignof] = ACTIONS(5217), + [anon_sym_offsetof] = ACTIONS(5217), + [anon_sym__Generic] = ACTIONS(5217), + [anon_sym_asm] = ACTIONS(5217), + [anon_sym___asm__] = ACTIONS(5217), + [sym__number_literal] = ACTIONS(5219), + [anon_sym_L_SQUOTE] = ACTIONS(5219), + [anon_sym_u_SQUOTE] = ACTIONS(5219), + [anon_sym_U_SQUOTE] = ACTIONS(5219), + [anon_sym_u8_SQUOTE] = ACTIONS(5219), + [anon_sym_SQUOTE] = ACTIONS(5219), + [anon_sym_L_DQUOTE] = ACTIONS(5219), + [anon_sym_u_DQUOTE] = ACTIONS(5219), + [anon_sym_U_DQUOTE] = ACTIONS(5219), + [anon_sym_u8_DQUOTE] = ACTIONS(5219), + [anon_sym_DQUOTE] = ACTIONS(5219), + [sym_true] = ACTIONS(5217), + [sym_false] = ACTIONS(5217), + [anon_sym_NULL] = ACTIONS(5217), + [anon_sym_nullptr] = ACTIONS(5217), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5219), + [anon_sym_decltype] = ACTIONS(5217), + [anon_sym_template] = ACTIONS(5217), + [anon_sym_delete] = ACTIONS(5217), + [anon_sym_R_DQUOTE] = ACTIONS(5219), + [anon_sym_LR_DQUOTE] = ACTIONS(5219), + [anon_sym_uR_DQUOTE] = ACTIONS(5219), + [anon_sym_UR_DQUOTE] = ACTIONS(5219), + [anon_sym_u8R_DQUOTE] = ACTIONS(5219), + [anon_sym_co_await] = ACTIONS(5217), + [anon_sym_new] = ACTIONS(5217), + [anon_sym_requires] = ACTIONS(5217), + [sym_this] = ACTIONS(5217), + }, + [1846] = { + [sym__identifier] = ACTIONS(5221), + [aux_sym_preproc_def_token1] = ACTIONS(5221), + [aux_sym_preproc_if_token1] = ACTIONS(5221), + [aux_sym_preproc_if_token2] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5221), + [aux_sym_preproc_else_token1] = ACTIONS(5221), + [aux_sym_preproc_elif_token1] = ACTIONS(5221), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5221), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5221), + [sym_preproc_directive] = ACTIONS(5221), + [anon_sym_LPAREN2] = ACTIONS(5223), + [anon_sym_TILDE] = ACTIONS(5223), + [anon_sym_STAR] = ACTIONS(5223), + [anon_sym_AMP_AMP] = ACTIONS(5223), + [anon_sym_AMP] = ACTIONS(5221), + [anon_sym___extension__] = ACTIONS(5221), + [anon_sym_typedef] = ACTIONS(5221), + [anon_sym_extern] = ACTIONS(5221), + [anon_sym___attribute__] = ACTIONS(5221), + [anon_sym_COLON_COLON] = ACTIONS(5223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5223), + [anon_sym___declspec] = ACTIONS(5221), + [anon_sym___based] = ACTIONS(5221), + [anon_sym_signed] = ACTIONS(5221), + [anon_sym_unsigned] = ACTIONS(5221), + [anon_sym_long] = ACTIONS(5221), + [anon_sym_short] = ACTIONS(5221), + [anon_sym_LBRACK] = ACTIONS(5221), + [anon_sym_static] = ACTIONS(5221), + [anon_sym_register] = ACTIONS(5221), + [anon_sym_inline] = ACTIONS(5221), + [anon_sym___inline] = ACTIONS(5221), + [anon_sym___inline__] = ACTIONS(5221), + [anon_sym___forceinline] = ACTIONS(5221), + [anon_sym_thread_local] = ACTIONS(5221), + [anon_sym___thread] = ACTIONS(5221), + [anon_sym_const] = ACTIONS(5221), + [anon_sym_constexpr] = ACTIONS(5221), + [anon_sym_volatile] = ACTIONS(5221), + [anon_sym_restrict] = ACTIONS(5221), + [anon_sym___restrict__] = ACTIONS(5221), + [anon_sym__Atomic] = ACTIONS(5221), + [anon_sym__Noreturn] = ACTIONS(5221), + [anon_sym_noreturn] = ACTIONS(5221), + [anon_sym_mutable] = ACTIONS(5221), + [anon_sym_constinit] = ACTIONS(5221), + [anon_sym_consteval] = ACTIONS(5221), + [anon_sym_alignas] = ACTIONS(5221), + [anon_sym__Alignas] = ACTIONS(5221), + [sym_primitive_type] = ACTIONS(5221), + [anon_sym_enum] = ACTIONS(5221), + [anon_sym_class] = ACTIONS(5221), + [anon_sym_struct] = ACTIONS(5221), + [anon_sym_union] = ACTIONS(5221), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5223), + [sym_auto] = ACTIONS(5221), + [anon_sym_decltype] = ACTIONS(5221), + [sym_virtual] = ACTIONS(5221), + [anon_sym_explicit] = ACTIONS(5221), + [anon_sym_typename] = ACTIONS(5221), + [anon_sym_template] = ACTIONS(5221), + [anon_sym_operator] = ACTIONS(5221), + [anon_sym_friend] = ACTIONS(5221), + [anon_sym_public] = ACTIONS(5221), + [anon_sym_private] = ACTIONS(5221), + [anon_sym_protected] = ACTIONS(5221), + [anon_sym_using] = ACTIONS(5221), + [anon_sym_static_assert] = ACTIONS(5221), + }, + [1847] = { + [sym__identifier] = ACTIONS(5225), + [aux_sym_preproc_def_token1] = ACTIONS(5225), + [aux_sym_preproc_if_token1] = ACTIONS(5225), + [aux_sym_preproc_if_token2] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5225), + [aux_sym_preproc_else_token1] = ACTIONS(5225), + [aux_sym_preproc_elif_token1] = ACTIONS(5225), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5225), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5225), + [sym_preproc_directive] = ACTIONS(5225), + [anon_sym_LPAREN2] = ACTIONS(5227), + [anon_sym_TILDE] = ACTIONS(5227), + [anon_sym_STAR] = ACTIONS(5227), + [anon_sym_AMP_AMP] = ACTIONS(5227), + [anon_sym_AMP] = ACTIONS(5225), + [anon_sym___extension__] = ACTIONS(5225), + [anon_sym_typedef] = ACTIONS(5225), + [anon_sym_extern] = ACTIONS(5225), + [anon_sym___attribute__] = ACTIONS(5225), + [anon_sym_COLON_COLON] = ACTIONS(5227), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5227), + [anon_sym___declspec] = ACTIONS(5225), + [anon_sym___based] = ACTIONS(5225), + [anon_sym_signed] = ACTIONS(5225), + [anon_sym_unsigned] = ACTIONS(5225), + [anon_sym_long] = ACTIONS(5225), + [anon_sym_short] = ACTIONS(5225), + [anon_sym_LBRACK] = ACTIONS(5225), + [anon_sym_static] = ACTIONS(5225), + [anon_sym_register] = ACTIONS(5225), + [anon_sym_inline] = ACTIONS(5225), + [anon_sym___inline] = ACTIONS(5225), + [anon_sym___inline__] = ACTIONS(5225), + [anon_sym___forceinline] = ACTIONS(5225), + [anon_sym_thread_local] = ACTIONS(5225), + [anon_sym___thread] = ACTIONS(5225), + [anon_sym_const] = ACTIONS(5225), + [anon_sym_constexpr] = ACTIONS(5225), + [anon_sym_volatile] = ACTIONS(5225), + [anon_sym_restrict] = ACTIONS(5225), + [anon_sym___restrict__] = ACTIONS(5225), + [anon_sym__Atomic] = ACTIONS(5225), + [anon_sym__Noreturn] = ACTIONS(5225), + [anon_sym_noreturn] = ACTIONS(5225), + [anon_sym_mutable] = ACTIONS(5225), + [anon_sym_constinit] = ACTIONS(5225), + [anon_sym_consteval] = ACTIONS(5225), + [anon_sym_alignas] = ACTIONS(5225), + [anon_sym__Alignas] = ACTIONS(5225), + [sym_primitive_type] = ACTIONS(5225), + [anon_sym_enum] = ACTIONS(5225), + [anon_sym_class] = ACTIONS(5225), + [anon_sym_struct] = ACTIONS(5225), + [anon_sym_union] = ACTIONS(5225), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5227), + [sym_auto] = ACTIONS(5225), + [anon_sym_decltype] = ACTIONS(5225), + [sym_virtual] = ACTIONS(5225), + [anon_sym_explicit] = ACTIONS(5225), + [anon_sym_typename] = ACTIONS(5225), + [anon_sym_template] = ACTIONS(5225), + [anon_sym_operator] = ACTIONS(5225), + [anon_sym_friend] = ACTIONS(5225), + [anon_sym_public] = ACTIONS(5225), + [anon_sym_private] = ACTIONS(5225), + [anon_sym_protected] = ACTIONS(5225), + [anon_sym_using] = ACTIONS(5225), + [anon_sym_static_assert] = ACTIONS(5225), + }, + [1848] = { + [sym__identifier] = ACTIONS(5229), + [aux_sym_preproc_def_token1] = ACTIONS(5229), + [aux_sym_preproc_if_token1] = ACTIONS(5229), + [aux_sym_preproc_if_token2] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5229), + [aux_sym_preproc_else_token1] = ACTIONS(5229), + [aux_sym_preproc_elif_token1] = ACTIONS(5229), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5229), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5229), + [sym_preproc_directive] = ACTIONS(5229), + [anon_sym_LPAREN2] = ACTIONS(5231), + [anon_sym_TILDE] = ACTIONS(5231), + [anon_sym_STAR] = ACTIONS(5231), + [anon_sym_AMP_AMP] = ACTIONS(5231), + [anon_sym_AMP] = ACTIONS(5229), + [anon_sym___extension__] = ACTIONS(5229), + [anon_sym_typedef] = ACTIONS(5229), + [anon_sym_extern] = ACTIONS(5229), + [anon_sym___attribute__] = ACTIONS(5229), + [anon_sym_COLON_COLON] = ACTIONS(5231), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5231), + [anon_sym___declspec] = ACTIONS(5229), + [anon_sym___based] = ACTIONS(5229), + [anon_sym_signed] = ACTIONS(5229), + [anon_sym_unsigned] = ACTIONS(5229), + [anon_sym_long] = ACTIONS(5229), + [anon_sym_short] = ACTIONS(5229), + [anon_sym_LBRACK] = ACTIONS(5229), + [anon_sym_static] = ACTIONS(5229), + [anon_sym_register] = ACTIONS(5229), + [anon_sym_inline] = ACTIONS(5229), + [anon_sym___inline] = ACTIONS(5229), + [anon_sym___inline__] = ACTIONS(5229), + [anon_sym___forceinline] = ACTIONS(5229), + [anon_sym_thread_local] = ACTIONS(5229), + [anon_sym___thread] = ACTIONS(5229), + [anon_sym_const] = ACTIONS(5229), + [anon_sym_constexpr] = ACTIONS(5229), + [anon_sym_volatile] = ACTIONS(5229), + [anon_sym_restrict] = ACTIONS(5229), + [anon_sym___restrict__] = ACTIONS(5229), + [anon_sym__Atomic] = ACTIONS(5229), + [anon_sym__Noreturn] = ACTIONS(5229), + [anon_sym_noreturn] = ACTIONS(5229), + [anon_sym_mutable] = ACTIONS(5229), + [anon_sym_constinit] = ACTIONS(5229), + [anon_sym_consteval] = ACTIONS(5229), + [anon_sym_alignas] = ACTIONS(5229), + [anon_sym__Alignas] = ACTIONS(5229), + [sym_primitive_type] = ACTIONS(5229), + [anon_sym_enum] = ACTIONS(5229), + [anon_sym_class] = ACTIONS(5229), + [anon_sym_struct] = ACTIONS(5229), + [anon_sym_union] = ACTIONS(5229), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5231), + [sym_auto] = ACTIONS(5229), + [anon_sym_decltype] = ACTIONS(5229), + [sym_virtual] = ACTIONS(5229), + [anon_sym_explicit] = ACTIONS(5229), + [anon_sym_typename] = ACTIONS(5229), + [anon_sym_template] = ACTIONS(5229), + [anon_sym_operator] = ACTIONS(5229), + [anon_sym_friend] = ACTIONS(5229), + [anon_sym_public] = ACTIONS(5229), + [anon_sym_private] = ACTIONS(5229), + [anon_sym_protected] = ACTIONS(5229), + [anon_sym_using] = ACTIONS(5229), + [anon_sym_static_assert] = ACTIONS(5229), + }, + [1849] = { + [sym__identifier] = ACTIONS(5233), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5235), + [anon_sym_COMMA] = ACTIONS(5235), + [anon_sym_RPAREN] = ACTIONS(5235), + [anon_sym_LPAREN2] = ACTIONS(5235), + [anon_sym_DASH] = ACTIONS(5233), + [anon_sym_PLUS] = ACTIONS(5233), + [anon_sym_STAR] = ACTIONS(5235), + [anon_sym_SLASH] = ACTIONS(5233), + [anon_sym_PERCENT] = ACTIONS(5235), + [anon_sym_PIPE_PIPE] = ACTIONS(5235), + [anon_sym_AMP_AMP] = ACTIONS(5235), + [anon_sym_PIPE] = ACTIONS(5233), + [anon_sym_CARET] = ACTIONS(5235), + [anon_sym_AMP] = ACTIONS(5233), + [anon_sym_EQ_EQ] = ACTIONS(5235), + [anon_sym_BANG_EQ] = ACTIONS(5235), + [anon_sym_GT] = ACTIONS(5233), + [anon_sym_GT_EQ] = ACTIONS(5235), + [anon_sym_LT_EQ] = ACTIONS(5233), + [anon_sym_LT] = ACTIONS(5233), + [anon_sym_LT_LT] = ACTIONS(5235), + [anon_sym_GT_GT] = ACTIONS(5235), + [anon_sym_SEMI] = ACTIONS(5235), + [anon_sym___extension__] = ACTIONS(5233), + [anon_sym___attribute__] = ACTIONS(5233), + [anon_sym___based] = ACTIONS(5233), + [anon_sym_LBRACE] = ACTIONS(5235), + [anon_sym_RBRACE] = ACTIONS(5235), + [anon_sym_signed] = ACTIONS(5233), + [anon_sym_unsigned] = ACTIONS(5233), + [anon_sym_long] = ACTIONS(5233), + [anon_sym_short] = ACTIONS(5233), + [anon_sym_LBRACK] = ACTIONS(5235), + [anon_sym_RBRACK] = ACTIONS(5235), + [anon_sym_const] = ACTIONS(5233), + [anon_sym_constexpr] = ACTIONS(5233), + [anon_sym_volatile] = ACTIONS(5233), + [anon_sym_restrict] = ACTIONS(5233), + [anon_sym___restrict__] = ACTIONS(5233), + [anon_sym__Atomic] = ACTIONS(5233), + [anon_sym__Noreturn] = ACTIONS(5233), + [anon_sym_noreturn] = ACTIONS(5233), + [anon_sym_mutable] = ACTIONS(5233), + [anon_sym_constinit] = ACTIONS(5233), + [anon_sym_consteval] = ACTIONS(5233), + [anon_sym_alignas] = ACTIONS(5233), + [anon_sym__Alignas] = ACTIONS(5233), + [sym_primitive_type] = ACTIONS(5233), + [anon_sym_COLON] = ACTIONS(5235), + [anon_sym_QMARK] = ACTIONS(5235), + [anon_sym_LT_EQ_GT] = ACTIONS(5235), + [anon_sym_or] = ACTIONS(5233), + [anon_sym_and] = ACTIONS(5233), + [anon_sym_bitor] = ACTIONS(5233), + [anon_sym_xor] = ACTIONS(5233), + [anon_sym_bitand] = ACTIONS(5233), + [anon_sym_not_eq] = ACTIONS(5233), + [anon_sym_DASH_DASH] = ACTIONS(5235), + [anon_sym_PLUS_PLUS] = ACTIONS(5235), + [anon_sym_DOT] = ACTIONS(5233), + [anon_sym_DOT_STAR] = ACTIONS(5235), + [anon_sym_DASH_GT] = ACTIONS(5235), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5235), + [sym_auto] = ACTIONS(5233), + [anon_sym_decltype] = ACTIONS(5233), + [anon_sym_final] = ACTIONS(5233), + [anon_sym_override] = ACTIONS(5233), + [anon_sym_requires] = ACTIONS(5233), + }, + [1850] = { + [sym__identifier] = ACTIONS(5237), + [aux_sym_preproc_def_token1] = ACTIONS(5237), + [aux_sym_preproc_if_token1] = ACTIONS(5237), + [aux_sym_preproc_if_token2] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5237), + [aux_sym_preproc_else_token1] = ACTIONS(5237), + [aux_sym_preproc_elif_token1] = ACTIONS(5237), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5237), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5237), + [sym_preproc_directive] = ACTIONS(5237), + [anon_sym_LPAREN2] = ACTIONS(5239), + [anon_sym_TILDE] = ACTIONS(5239), + [anon_sym_STAR] = ACTIONS(5239), + [anon_sym_AMP_AMP] = ACTIONS(5239), + [anon_sym_AMP] = ACTIONS(5237), + [anon_sym___extension__] = ACTIONS(5237), + [anon_sym_typedef] = ACTIONS(5237), + [anon_sym_extern] = ACTIONS(5237), + [anon_sym___attribute__] = ACTIONS(5237), + [anon_sym_COLON_COLON] = ACTIONS(5239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5239), + [anon_sym___declspec] = ACTIONS(5237), + [anon_sym___based] = ACTIONS(5237), + [anon_sym_signed] = ACTIONS(5237), + [anon_sym_unsigned] = ACTIONS(5237), + [anon_sym_long] = ACTIONS(5237), + [anon_sym_short] = ACTIONS(5237), + [anon_sym_LBRACK] = ACTIONS(5237), + [anon_sym_static] = ACTIONS(5237), + [anon_sym_register] = ACTIONS(5237), + [anon_sym_inline] = ACTIONS(5237), + [anon_sym___inline] = ACTIONS(5237), + [anon_sym___inline__] = ACTIONS(5237), + [anon_sym___forceinline] = ACTIONS(5237), + [anon_sym_thread_local] = ACTIONS(5237), + [anon_sym___thread] = ACTIONS(5237), + [anon_sym_const] = ACTIONS(5237), + [anon_sym_constexpr] = ACTIONS(5237), + [anon_sym_volatile] = ACTIONS(5237), + [anon_sym_restrict] = ACTIONS(5237), + [anon_sym___restrict__] = ACTIONS(5237), + [anon_sym__Atomic] = ACTIONS(5237), + [anon_sym__Noreturn] = ACTIONS(5237), + [anon_sym_noreturn] = ACTIONS(5237), + [anon_sym_mutable] = ACTIONS(5237), + [anon_sym_constinit] = ACTIONS(5237), + [anon_sym_consteval] = ACTIONS(5237), + [anon_sym_alignas] = ACTIONS(5237), + [anon_sym__Alignas] = ACTIONS(5237), + [sym_primitive_type] = ACTIONS(5237), + [anon_sym_enum] = ACTIONS(5237), + [anon_sym_class] = ACTIONS(5237), + [anon_sym_struct] = ACTIONS(5237), + [anon_sym_union] = ACTIONS(5237), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5239), + [sym_auto] = ACTIONS(5237), + [anon_sym_decltype] = ACTIONS(5237), + [sym_virtual] = ACTIONS(5237), + [anon_sym_explicit] = ACTIONS(5237), + [anon_sym_typename] = ACTIONS(5237), + [anon_sym_template] = ACTIONS(5237), + [anon_sym_operator] = ACTIONS(5237), + [anon_sym_friend] = ACTIONS(5237), + [anon_sym_public] = ACTIONS(5237), + [anon_sym_private] = ACTIONS(5237), + [anon_sym_protected] = ACTIONS(5237), + [anon_sym_using] = ACTIONS(5237), + [anon_sym_static_assert] = ACTIONS(5237), + }, + [1851] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token2] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [aux_sym_preproc_else_token1] = ACTIONS(5241), + [aux_sym_preproc_elif_token1] = ACTIONS(5241), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [1852] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token2] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [aux_sym_preproc_else_token1] = ACTIONS(5241), + [aux_sym_preproc_elif_token1] = ACTIONS(5241), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [1853] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4979), + [anon_sym_GT_GT] = ACTIONS(4979), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4979), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [1854] = { + [sym__identifier] = ACTIONS(5245), + [aux_sym_preproc_def_token1] = ACTIONS(5245), + [aux_sym_preproc_if_token1] = ACTIONS(5245), + [aux_sym_preproc_if_token2] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5245), + [aux_sym_preproc_else_token1] = ACTIONS(5245), + [aux_sym_preproc_elif_token1] = ACTIONS(5245), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5245), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5245), + [sym_preproc_directive] = ACTIONS(5245), + [anon_sym_LPAREN2] = ACTIONS(5247), + [anon_sym_TILDE] = ACTIONS(5247), + [anon_sym_STAR] = ACTIONS(5247), + [anon_sym_AMP_AMP] = ACTIONS(5247), + [anon_sym_AMP] = ACTIONS(5245), + [anon_sym___extension__] = ACTIONS(5245), + [anon_sym_typedef] = ACTIONS(5245), + [anon_sym_extern] = ACTIONS(5245), + [anon_sym___attribute__] = ACTIONS(5245), + [anon_sym_COLON_COLON] = ACTIONS(5247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5247), + [anon_sym___declspec] = ACTIONS(5245), + [anon_sym___based] = ACTIONS(5245), + [anon_sym_signed] = ACTIONS(5245), + [anon_sym_unsigned] = ACTIONS(5245), + [anon_sym_long] = ACTIONS(5245), + [anon_sym_short] = ACTIONS(5245), + [anon_sym_LBRACK] = ACTIONS(5245), + [anon_sym_static] = ACTIONS(5245), + [anon_sym_register] = ACTIONS(5245), + [anon_sym_inline] = ACTIONS(5245), + [anon_sym___inline] = ACTIONS(5245), + [anon_sym___inline__] = ACTIONS(5245), + [anon_sym___forceinline] = ACTIONS(5245), + [anon_sym_thread_local] = ACTIONS(5245), + [anon_sym___thread] = ACTIONS(5245), + [anon_sym_const] = ACTIONS(5245), + [anon_sym_constexpr] = ACTIONS(5245), + [anon_sym_volatile] = ACTIONS(5245), + [anon_sym_restrict] = ACTIONS(5245), + [anon_sym___restrict__] = ACTIONS(5245), + [anon_sym__Atomic] = ACTIONS(5245), + [anon_sym__Noreturn] = ACTIONS(5245), + [anon_sym_noreturn] = ACTIONS(5245), + [anon_sym_mutable] = ACTIONS(5245), + [anon_sym_constinit] = ACTIONS(5245), + [anon_sym_consteval] = ACTIONS(5245), + [anon_sym_alignas] = ACTIONS(5245), + [anon_sym__Alignas] = ACTIONS(5245), + [sym_primitive_type] = ACTIONS(5245), + [anon_sym_enum] = ACTIONS(5245), + [anon_sym_class] = ACTIONS(5245), + [anon_sym_struct] = ACTIONS(5245), + [anon_sym_union] = ACTIONS(5245), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5247), + [sym_auto] = ACTIONS(5245), + [anon_sym_decltype] = ACTIONS(5245), + [sym_virtual] = ACTIONS(5245), + [anon_sym_explicit] = ACTIONS(5245), + [anon_sym_typename] = ACTIONS(5245), + [anon_sym_template] = ACTIONS(5245), + [anon_sym_operator] = ACTIONS(5245), + [anon_sym_friend] = ACTIONS(5245), + [anon_sym_public] = ACTIONS(5245), + [anon_sym_private] = ACTIONS(5245), + [anon_sym_protected] = ACTIONS(5245), + [anon_sym_using] = ACTIONS(5245), + [anon_sym_static_assert] = ACTIONS(5245), + }, + [1855] = { + [sym__identifier] = ACTIONS(5249), + [aux_sym_preproc_def_token1] = ACTIONS(5249), + [aux_sym_preproc_if_token1] = ACTIONS(5249), + [aux_sym_preproc_if_token2] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5249), + [aux_sym_preproc_else_token1] = ACTIONS(5249), + [aux_sym_preproc_elif_token1] = ACTIONS(5249), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5249), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5249), + [sym_preproc_directive] = ACTIONS(5249), + [anon_sym_LPAREN2] = ACTIONS(5251), + [anon_sym_TILDE] = ACTIONS(5251), + [anon_sym_STAR] = ACTIONS(5251), + [anon_sym_AMP_AMP] = ACTIONS(5251), + [anon_sym_AMP] = ACTIONS(5249), + [anon_sym___extension__] = ACTIONS(5249), + [anon_sym_typedef] = ACTIONS(5249), + [anon_sym_extern] = ACTIONS(5249), + [anon_sym___attribute__] = ACTIONS(5249), + [anon_sym_COLON_COLON] = ACTIONS(5251), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5251), + [anon_sym___declspec] = ACTIONS(5249), + [anon_sym___based] = ACTIONS(5249), + [anon_sym_signed] = ACTIONS(5249), + [anon_sym_unsigned] = ACTIONS(5249), + [anon_sym_long] = ACTIONS(5249), + [anon_sym_short] = ACTIONS(5249), + [anon_sym_LBRACK] = ACTIONS(5249), + [anon_sym_static] = ACTIONS(5249), + [anon_sym_register] = ACTIONS(5249), + [anon_sym_inline] = ACTIONS(5249), + [anon_sym___inline] = ACTIONS(5249), + [anon_sym___inline__] = ACTIONS(5249), + [anon_sym___forceinline] = ACTIONS(5249), + [anon_sym_thread_local] = ACTIONS(5249), + [anon_sym___thread] = ACTIONS(5249), + [anon_sym_const] = ACTIONS(5249), + [anon_sym_constexpr] = ACTIONS(5249), + [anon_sym_volatile] = ACTIONS(5249), + [anon_sym_restrict] = ACTIONS(5249), + [anon_sym___restrict__] = ACTIONS(5249), + [anon_sym__Atomic] = ACTIONS(5249), + [anon_sym__Noreturn] = ACTIONS(5249), + [anon_sym_noreturn] = ACTIONS(5249), + [anon_sym_mutable] = ACTIONS(5249), + [anon_sym_constinit] = ACTIONS(5249), + [anon_sym_consteval] = ACTIONS(5249), + [anon_sym_alignas] = ACTIONS(5249), + [anon_sym__Alignas] = ACTIONS(5249), + [sym_primitive_type] = ACTIONS(5249), + [anon_sym_enum] = ACTIONS(5249), + [anon_sym_class] = ACTIONS(5249), + [anon_sym_struct] = ACTIONS(5249), + [anon_sym_union] = ACTIONS(5249), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5251), + [sym_auto] = ACTIONS(5249), + [anon_sym_decltype] = ACTIONS(5249), + [sym_virtual] = ACTIONS(5249), + [anon_sym_explicit] = ACTIONS(5249), + [anon_sym_typename] = ACTIONS(5249), + [anon_sym_template] = ACTIONS(5249), + [anon_sym_operator] = ACTIONS(5249), + [anon_sym_friend] = ACTIONS(5249), + [anon_sym_public] = ACTIONS(5249), + [anon_sym_private] = ACTIONS(5249), + [anon_sym_protected] = ACTIONS(5249), + [anon_sym_using] = ACTIONS(5249), + [anon_sym_static_assert] = ACTIONS(5249), + }, + [1856] = { + [sym__identifier] = ACTIONS(5253), + [aux_sym_preproc_def_token1] = ACTIONS(5253), + [aux_sym_preproc_if_token1] = ACTIONS(5253), + [aux_sym_preproc_if_token2] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5253), + [aux_sym_preproc_else_token1] = ACTIONS(5253), + [aux_sym_preproc_elif_token1] = ACTIONS(5253), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5253), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5253), + [sym_preproc_directive] = ACTIONS(5253), + [anon_sym_LPAREN2] = ACTIONS(5255), + [anon_sym_TILDE] = ACTIONS(5255), + [anon_sym_STAR] = ACTIONS(5255), + [anon_sym_AMP_AMP] = ACTIONS(5255), + [anon_sym_AMP] = ACTIONS(5253), + [anon_sym___extension__] = ACTIONS(5253), + [anon_sym_typedef] = ACTIONS(5253), + [anon_sym_extern] = ACTIONS(5253), + [anon_sym___attribute__] = ACTIONS(5253), + [anon_sym_COLON_COLON] = ACTIONS(5255), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5255), + [anon_sym___declspec] = ACTIONS(5253), + [anon_sym___based] = ACTIONS(5253), + [anon_sym_signed] = ACTIONS(5253), + [anon_sym_unsigned] = ACTIONS(5253), + [anon_sym_long] = ACTIONS(5253), + [anon_sym_short] = ACTIONS(5253), + [anon_sym_LBRACK] = ACTIONS(5253), + [anon_sym_static] = ACTIONS(5253), + [anon_sym_register] = ACTIONS(5253), + [anon_sym_inline] = ACTIONS(5253), + [anon_sym___inline] = ACTIONS(5253), + [anon_sym___inline__] = ACTIONS(5253), + [anon_sym___forceinline] = ACTIONS(5253), + [anon_sym_thread_local] = ACTIONS(5253), + [anon_sym___thread] = ACTIONS(5253), + [anon_sym_const] = ACTIONS(5253), + [anon_sym_constexpr] = ACTIONS(5253), + [anon_sym_volatile] = ACTIONS(5253), + [anon_sym_restrict] = ACTIONS(5253), + [anon_sym___restrict__] = ACTIONS(5253), + [anon_sym__Atomic] = ACTIONS(5253), + [anon_sym__Noreturn] = ACTIONS(5253), + [anon_sym_noreturn] = ACTIONS(5253), + [anon_sym_mutable] = ACTIONS(5253), + [anon_sym_constinit] = ACTIONS(5253), + [anon_sym_consteval] = ACTIONS(5253), + [anon_sym_alignas] = ACTIONS(5253), + [anon_sym__Alignas] = ACTIONS(5253), + [sym_primitive_type] = ACTIONS(5253), + [anon_sym_enum] = ACTIONS(5253), + [anon_sym_class] = ACTIONS(5253), + [anon_sym_struct] = ACTIONS(5253), + [anon_sym_union] = ACTIONS(5253), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5255), + [sym_auto] = ACTIONS(5253), + [anon_sym_decltype] = ACTIONS(5253), + [sym_virtual] = ACTIONS(5253), + [anon_sym_explicit] = ACTIONS(5253), + [anon_sym_typename] = ACTIONS(5253), + [anon_sym_template] = ACTIONS(5253), + [anon_sym_operator] = ACTIONS(5253), + [anon_sym_friend] = ACTIONS(5253), + [anon_sym_public] = ACTIONS(5253), + [anon_sym_private] = ACTIONS(5253), + [anon_sym_protected] = ACTIONS(5253), + [anon_sym_using] = ACTIONS(5253), + [anon_sym_static_assert] = ACTIONS(5253), + }, + [1857] = { + [sym__identifier] = ACTIONS(5257), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5259), + [anon_sym_COMMA] = ACTIONS(5259), + [anon_sym_RPAREN] = ACTIONS(5259), + [anon_sym_LPAREN2] = ACTIONS(5259), + [anon_sym_DASH] = ACTIONS(5257), + [anon_sym_PLUS] = ACTIONS(5257), + [anon_sym_STAR] = ACTIONS(5259), + [anon_sym_SLASH] = ACTIONS(5257), + [anon_sym_PERCENT] = ACTIONS(5259), + [anon_sym_PIPE_PIPE] = ACTIONS(5259), + [anon_sym_AMP_AMP] = ACTIONS(5259), + [anon_sym_PIPE] = ACTIONS(5257), + [anon_sym_CARET] = ACTIONS(5259), + [anon_sym_AMP] = ACTIONS(5257), + [anon_sym_EQ_EQ] = ACTIONS(5259), + [anon_sym_BANG_EQ] = ACTIONS(5259), + [anon_sym_GT] = ACTIONS(5257), + [anon_sym_GT_EQ] = ACTIONS(5259), + [anon_sym_LT_EQ] = ACTIONS(5257), + [anon_sym_LT] = ACTIONS(5257), + [anon_sym_LT_LT] = ACTIONS(5259), + [anon_sym_GT_GT] = ACTIONS(5259), + [anon_sym_SEMI] = ACTIONS(5259), + [anon_sym___extension__] = ACTIONS(5257), + [anon_sym___attribute__] = ACTIONS(5257), + [anon_sym___based] = ACTIONS(5257), + [anon_sym_LBRACE] = ACTIONS(5259), + [anon_sym_RBRACE] = ACTIONS(5259), + [anon_sym_signed] = ACTIONS(5257), + [anon_sym_unsigned] = ACTIONS(5257), + [anon_sym_long] = ACTIONS(5257), + [anon_sym_short] = ACTIONS(5257), + [anon_sym_LBRACK] = ACTIONS(5259), + [anon_sym_RBRACK] = ACTIONS(5259), + [anon_sym_const] = ACTIONS(5257), + [anon_sym_constexpr] = ACTIONS(5257), + [anon_sym_volatile] = ACTIONS(5257), + [anon_sym_restrict] = ACTIONS(5257), + [anon_sym___restrict__] = ACTIONS(5257), + [anon_sym__Atomic] = ACTIONS(5257), + [anon_sym__Noreturn] = ACTIONS(5257), + [anon_sym_noreturn] = ACTIONS(5257), + [anon_sym_mutable] = ACTIONS(5257), + [anon_sym_constinit] = ACTIONS(5257), + [anon_sym_consteval] = ACTIONS(5257), + [anon_sym_alignas] = ACTIONS(5257), + [anon_sym__Alignas] = ACTIONS(5257), + [sym_primitive_type] = ACTIONS(5257), + [anon_sym_COLON] = ACTIONS(5259), + [anon_sym_QMARK] = ACTIONS(5259), + [anon_sym_LT_EQ_GT] = ACTIONS(5259), + [anon_sym_or] = ACTIONS(5257), + [anon_sym_and] = ACTIONS(5257), + [anon_sym_bitor] = ACTIONS(5257), + [anon_sym_xor] = ACTIONS(5257), + [anon_sym_bitand] = ACTIONS(5257), + [anon_sym_not_eq] = ACTIONS(5257), + [anon_sym_DASH_DASH] = ACTIONS(5259), + [anon_sym_PLUS_PLUS] = ACTIONS(5259), + [anon_sym_DOT] = ACTIONS(5257), + [anon_sym_DOT_STAR] = ACTIONS(5259), + [anon_sym_DASH_GT] = ACTIONS(5259), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5259), + [sym_auto] = ACTIONS(5257), + [anon_sym_decltype] = ACTIONS(5257), + [anon_sym_final] = ACTIONS(5257), + [anon_sym_override] = ACTIONS(5257), + [anon_sym_requires] = ACTIONS(5257), + }, + [1858] = { + [sym__identifier] = ACTIONS(5261), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5263), + [anon_sym_COMMA] = ACTIONS(5263), + [anon_sym_RPAREN] = ACTIONS(5263), + [anon_sym_LPAREN2] = ACTIONS(5263), + [anon_sym_DASH] = ACTIONS(5261), + [anon_sym_PLUS] = ACTIONS(5261), + [anon_sym_STAR] = ACTIONS(5263), + [anon_sym_SLASH] = ACTIONS(5261), + [anon_sym_PERCENT] = ACTIONS(5263), + [anon_sym_PIPE_PIPE] = ACTIONS(5263), + [anon_sym_AMP_AMP] = ACTIONS(5263), + [anon_sym_PIPE] = ACTIONS(5261), + [anon_sym_CARET] = ACTIONS(5263), + [anon_sym_AMP] = ACTIONS(5261), + [anon_sym_EQ_EQ] = ACTIONS(5263), + [anon_sym_BANG_EQ] = ACTIONS(5263), + [anon_sym_GT] = ACTIONS(5261), + [anon_sym_GT_EQ] = ACTIONS(5263), + [anon_sym_LT_EQ] = ACTIONS(5261), + [anon_sym_LT] = ACTIONS(5261), + [anon_sym_LT_LT] = ACTIONS(5263), + [anon_sym_GT_GT] = ACTIONS(5263), + [anon_sym_SEMI] = ACTIONS(5263), + [anon_sym___extension__] = ACTIONS(5261), + [anon_sym___attribute__] = ACTIONS(5261), + [anon_sym___based] = ACTIONS(5261), + [anon_sym_LBRACE] = ACTIONS(5263), + [anon_sym_RBRACE] = ACTIONS(5263), + [anon_sym_signed] = ACTIONS(5261), + [anon_sym_unsigned] = ACTIONS(5261), + [anon_sym_long] = ACTIONS(5261), + [anon_sym_short] = ACTIONS(5261), + [anon_sym_LBRACK] = ACTIONS(5263), + [anon_sym_RBRACK] = ACTIONS(5263), + [anon_sym_const] = ACTIONS(5261), + [anon_sym_constexpr] = ACTIONS(5261), + [anon_sym_volatile] = ACTIONS(5261), + [anon_sym_restrict] = ACTIONS(5261), + [anon_sym___restrict__] = ACTIONS(5261), + [anon_sym__Atomic] = ACTIONS(5261), + [anon_sym__Noreturn] = ACTIONS(5261), + [anon_sym_noreturn] = ACTIONS(5261), + [anon_sym_mutable] = ACTIONS(5261), + [anon_sym_constinit] = ACTIONS(5261), + [anon_sym_consteval] = ACTIONS(5261), + [anon_sym_alignas] = ACTIONS(5261), + [anon_sym__Alignas] = ACTIONS(5261), + [sym_primitive_type] = ACTIONS(5261), + [anon_sym_COLON] = ACTIONS(5263), + [anon_sym_QMARK] = ACTIONS(5263), + [anon_sym_LT_EQ_GT] = ACTIONS(5263), + [anon_sym_or] = ACTIONS(5261), + [anon_sym_and] = ACTIONS(5261), + [anon_sym_bitor] = ACTIONS(5261), + [anon_sym_xor] = ACTIONS(5261), + [anon_sym_bitand] = ACTIONS(5261), + [anon_sym_not_eq] = ACTIONS(5261), + [anon_sym_DASH_DASH] = ACTIONS(5263), + [anon_sym_PLUS_PLUS] = ACTIONS(5263), + [anon_sym_DOT] = ACTIONS(5261), + [anon_sym_DOT_STAR] = ACTIONS(5263), + [anon_sym_DASH_GT] = ACTIONS(5263), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5263), + [sym_auto] = ACTIONS(5261), + [anon_sym_decltype] = ACTIONS(5261), + [anon_sym_final] = ACTIONS(5261), + [anon_sym_override] = ACTIONS(5261), + [anon_sym_requires] = ACTIONS(5261), + }, + [1859] = { + [sym__identifier] = ACTIONS(5265), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5267), + [anon_sym_COMMA] = ACTIONS(5267), + [anon_sym_RPAREN] = ACTIONS(5267), + [anon_sym_LPAREN2] = ACTIONS(5267), + [anon_sym_DASH] = ACTIONS(5265), + [anon_sym_PLUS] = ACTIONS(5265), + [anon_sym_STAR] = ACTIONS(5267), + [anon_sym_SLASH] = ACTIONS(5265), + [anon_sym_PERCENT] = ACTIONS(5267), + [anon_sym_PIPE_PIPE] = ACTIONS(5267), + [anon_sym_AMP_AMP] = ACTIONS(5267), + [anon_sym_PIPE] = ACTIONS(5265), + [anon_sym_CARET] = ACTIONS(5267), + [anon_sym_AMP] = ACTIONS(5265), + [anon_sym_EQ_EQ] = ACTIONS(5267), + [anon_sym_BANG_EQ] = ACTIONS(5267), + [anon_sym_GT] = ACTIONS(5265), + [anon_sym_GT_EQ] = ACTIONS(5267), + [anon_sym_LT_EQ] = ACTIONS(5265), + [anon_sym_LT] = ACTIONS(5265), + [anon_sym_LT_LT] = ACTIONS(5267), + [anon_sym_GT_GT] = ACTIONS(5267), + [anon_sym_SEMI] = ACTIONS(5267), + [anon_sym___extension__] = ACTIONS(5265), + [anon_sym___attribute__] = ACTIONS(5265), + [anon_sym___based] = ACTIONS(5265), + [anon_sym_LBRACE] = ACTIONS(5267), + [anon_sym_RBRACE] = ACTIONS(5267), + [anon_sym_signed] = ACTIONS(5265), + [anon_sym_unsigned] = ACTIONS(5265), + [anon_sym_long] = ACTIONS(5265), + [anon_sym_short] = ACTIONS(5265), + [anon_sym_LBRACK] = ACTIONS(5267), + [anon_sym_RBRACK] = ACTIONS(5267), + [anon_sym_const] = ACTIONS(5265), + [anon_sym_constexpr] = ACTIONS(5265), + [anon_sym_volatile] = ACTIONS(5265), + [anon_sym_restrict] = ACTIONS(5265), + [anon_sym___restrict__] = ACTIONS(5265), + [anon_sym__Atomic] = ACTIONS(5265), + [anon_sym__Noreturn] = ACTIONS(5265), + [anon_sym_noreturn] = ACTIONS(5265), + [anon_sym_mutable] = ACTIONS(5265), + [anon_sym_constinit] = ACTIONS(5265), + [anon_sym_consteval] = ACTIONS(5265), + [anon_sym_alignas] = ACTIONS(5265), + [anon_sym__Alignas] = ACTIONS(5265), + [sym_primitive_type] = ACTIONS(5265), + [anon_sym_COLON] = ACTIONS(5267), + [anon_sym_QMARK] = ACTIONS(5267), + [anon_sym_LT_EQ_GT] = ACTIONS(5267), + [anon_sym_or] = ACTIONS(5265), + [anon_sym_and] = ACTIONS(5265), + [anon_sym_bitor] = ACTIONS(5265), + [anon_sym_xor] = ACTIONS(5265), + [anon_sym_bitand] = ACTIONS(5265), + [anon_sym_not_eq] = ACTIONS(5265), + [anon_sym_DASH_DASH] = ACTIONS(5267), + [anon_sym_PLUS_PLUS] = ACTIONS(5267), + [anon_sym_DOT] = ACTIONS(5265), + [anon_sym_DOT_STAR] = ACTIONS(5267), + [anon_sym_DASH_GT] = ACTIONS(5267), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5267), + [sym_auto] = ACTIONS(5265), + [anon_sym_decltype] = ACTIONS(5265), + [anon_sym_final] = ACTIONS(5265), + [anon_sym_override] = ACTIONS(5265), + [anon_sym_requires] = ACTIONS(5265), + }, + [1860] = { + [sym__identifier] = ACTIONS(5269), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5271), + [anon_sym_COMMA] = ACTIONS(5271), + [anon_sym_RPAREN] = ACTIONS(5271), + [anon_sym_LPAREN2] = ACTIONS(5271), + [anon_sym_DASH] = ACTIONS(5269), + [anon_sym_PLUS] = ACTIONS(5269), + [anon_sym_STAR] = ACTIONS(5271), + [anon_sym_SLASH] = ACTIONS(5269), + [anon_sym_PERCENT] = ACTIONS(5271), + [anon_sym_PIPE_PIPE] = ACTIONS(5271), + [anon_sym_AMP_AMP] = ACTIONS(5271), + [anon_sym_PIPE] = ACTIONS(5269), + [anon_sym_CARET] = ACTIONS(5271), + [anon_sym_AMP] = ACTIONS(5269), + [anon_sym_EQ_EQ] = ACTIONS(5271), + [anon_sym_BANG_EQ] = ACTIONS(5271), + [anon_sym_GT] = ACTIONS(5269), + [anon_sym_GT_EQ] = ACTIONS(5271), + [anon_sym_LT_EQ] = ACTIONS(5269), + [anon_sym_LT] = ACTIONS(5269), + [anon_sym_LT_LT] = ACTIONS(5271), + [anon_sym_GT_GT] = ACTIONS(5271), + [anon_sym_SEMI] = ACTIONS(5271), + [anon_sym___extension__] = ACTIONS(5269), + [anon_sym___attribute__] = ACTIONS(5269), + [anon_sym___based] = ACTIONS(5269), + [anon_sym_LBRACE] = ACTIONS(5271), + [anon_sym_RBRACE] = ACTIONS(5271), + [anon_sym_signed] = ACTIONS(5269), + [anon_sym_unsigned] = ACTIONS(5269), + [anon_sym_long] = ACTIONS(5269), + [anon_sym_short] = ACTIONS(5269), + [anon_sym_LBRACK] = ACTIONS(5271), + [anon_sym_RBRACK] = ACTIONS(5271), + [anon_sym_const] = ACTIONS(5269), + [anon_sym_constexpr] = ACTIONS(5269), + [anon_sym_volatile] = ACTIONS(5269), + [anon_sym_restrict] = ACTIONS(5269), + [anon_sym___restrict__] = ACTIONS(5269), + [anon_sym__Atomic] = ACTIONS(5269), + [anon_sym__Noreturn] = ACTIONS(5269), + [anon_sym_noreturn] = ACTIONS(5269), + [anon_sym_mutable] = ACTIONS(5269), + [anon_sym_constinit] = ACTIONS(5269), + [anon_sym_consteval] = ACTIONS(5269), + [anon_sym_alignas] = ACTIONS(5269), + [anon_sym__Alignas] = ACTIONS(5269), + [sym_primitive_type] = ACTIONS(5269), + [anon_sym_COLON] = ACTIONS(5271), + [anon_sym_QMARK] = ACTIONS(5271), + [anon_sym_LT_EQ_GT] = ACTIONS(5271), + [anon_sym_or] = ACTIONS(5269), + [anon_sym_and] = ACTIONS(5269), + [anon_sym_bitor] = ACTIONS(5269), + [anon_sym_xor] = ACTIONS(5269), + [anon_sym_bitand] = ACTIONS(5269), + [anon_sym_not_eq] = ACTIONS(5269), + [anon_sym_DASH_DASH] = ACTIONS(5271), + [anon_sym_PLUS_PLUS] = ACTIONS(5271), + [anon_sym_DOT] = ACTIONS(5269), + [anon_sym_DOT_STAR] = ACTIONS(5271), + [anon_sym_DASH_GT] = ACTIONS(5271), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5271), + [sym_auto] = ACTIONS(5269), + [anon_sym_decltype] = ACTIONS(5269), + [anon_sym_final] = ACTIONS(5269), + [anon_sym_override] = ACTIONS(5269), + [anon_sym_requires] = ACTIONS(5269), + }, + [1861] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5273), + [anon_sym_COMMA] = ACTIONS(5273), + [anon_sym_RPAREN] = ACTIONS(5273), + [anon_sym_LPAREN2] = ACTIONS(5273), + [anon_sym_DASH] = ACTIONS(5276), + [anon_sym_PLUS] = ACTIONS(5276), + [anon_sym_STAR] = ACTIONS(5273), + [anon_sym_SLASH] = ACTIONS(5276), + [anon_sym_PERCENT] = ACTIONS(5273), + [anon_sym_PIPE_PIPE] = ACTIONS(5273), + [anon_sym_AMP_AMP] = ACTIONS(5273), + [anon_sym_PIPE] = ACTIONS(5276), + [anon_sym_CARET] = ACTIONS(5273), + [anon_sym_AMP] = ACTIONS(5276), + [anon_sym_EQ_EQ] = ACTIONS(5273), + [anon_sym_BANG_EQ] = ACTIONS(5273), + [anon_sym_GT] = ACTIONS(5276), + [anon_sym_GT_EQ] = ACTIONS(5273), + [anon_sym_LT_EQ] = ACTIONS(5276), + [anon_sym_LT] = ACTIONS(5276), + [anon_sym_LT_LT] = ACTIONS(5273), + [anon_sym_GT_GT] = ACTIONS(5273), + [anon_sym_SEMI] = ACTIONS(5273), + [anon_sym___extension__] = ACTIONS(5276), + [anon_sym___attribute__] = ACTIONS(5276), + [anon_sym_LBRACE] = ACTIONS(5273), + [anon_sym_RBRACE] = ACTIONS(5273), + [anon_sym_signed] = ACTIONS(4856), + [anon_sym_unsigned] = ACTIONS(4856), + [anon_sym_long] = ACTIONS(4856), + [anon_sym_short] = ACTIONS(4856), + [anon_sym_LBRACK] = ACTIONS(5273), + [anon_sym_RBRACK] = ACTIONS(5273), + [anon_sym_const] = ACTIONS(5276), + [anon_sym_constexpr] = ACTIONS(5276), + [anon_sym_volatile] = ACTIONS(5276), + [anon_sym_restrict] = ACTIONS(5276), + [anon_sym___restrict__] = ACTIONS(5276), + [anon_sym__Atomic] = ACTIONS(5276), + [anon_sym__Noreturn] = ACTIONS(5276), + [anon_sym_noreturn] = ACTIONS(5276), + [anon_sym_mutable] = ACTIONS(5276), + [anon_sym_constinit] = ACTIONS(5276), + [anon_sym_consteval] = ACTIONS(5276), + [anon_sym_alignas] = ACTIONS(5276), + [anon_sym__Alignas] = ACTIONS(5276), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_COLON] = ACTIONS(5273), + [anon_sym_QMARK] = ACTIONS(5273), + [anon_sym_LT_EQ_GT] = ACTIONS(5273), + [anon_sym_or] = ACTIONS(5276), + [anon_sym_and] = ACTIONS(5276), + [anon_sym_bitor] = ACTIONS(5276), + [anon_sym_xor] = ACTIONS(5276), + [anon_sym_bitand] = ACTIONS(5276), + [anon_sym_not_eq] = ACTIONS(5276), + [anon_sym_DASH_DASH] = ACTIONS(5273), + [anon_sym_PLUS_PLUS] = ACTIONS(5273), + [anon_sym_DOT] = ACTIONS(5276), + [anon_sym_DOT_STAR] = ACTIONS(5273), + [anon_sym_DASH_GT] = ACTIONS(5273), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(5276), + [anon_sym_decltype] = ACTIONS(5276), + [anon_sym_final] = ACTIONS(5276), + [anon_sym_override] = ACTIONS(5276), + [anon_sym_requires] = ACTIONS(5276), + }, + [1862] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_STAR] = ACTIONS(1867), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [sym_primitive_type] = ACTIONS(1865), + [anon_sym_enum] = ACTIONS(1865), + [anon_sym_class] = ACTIONS(1865), + [anon_sym_struct] = ACTIONS(1865), + [anon_sym_union] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_explicit] = ACTIONS(1865), + [anon_sym_typename] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_operator] = ACTIONS(1865), + [anon_sym_friend] = ACTIONS(1865), + [anon_sym_using] = ACTIONS(1865), + [anon_sym_concept] = ACTIONS(1865), + }, + [1863] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token2] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [aux_sym_preproc_else_token1] = ACTIONS(2897), + [aux_sym_preproc_elif_token1] = ACTIONS(2897), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_friend] = ACTIONS(2897), + [anon_sym_public] = ACTIONS(2897), + [anon_sym_private] = ACTIONS(2897), + [anon_sym_protected] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + }, + [1864] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token2] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [aux_sym_preproc_else_token1] = ACTIONS(2997), + [aux_sym_preproc_elif_token1] = ACTIONS(2997), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_friend] = ACTIONS(2997), + [anon_sym_public] = ACTIONS(2997), + [anon_sym_private] = ACTIONS(2997), + [anon_sym_protected] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + }, + [1865] = { + [sym__identifier] = ACTIONS(5279), + [aux_sym_preproc_def_token1] = ACTIONS(5279), + [aux_sym_preproc_if_token1] = ACTIONS(5279), + [aux_sym_preproc_if_token2] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5279), + [aux_sym_preproc_else_token1] = ACTIONS(5279), + [aux_sym_preproc_elif_token1] = ACTIONS(5279), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5279), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5279), + [sym_preproc_directive] = ACTIONS(5279), + [anon_sym_LPAREN2] = ACTIONS(5281), + [anon_sym_TILDE] = ACTIONS(5281), + [anon_sym_STAR] = ACTIONS(5281), + [anon_sym_AMP_AMP] = ACTIONS(5281), + [anon_sym_AMP] = ACTIONS(5279), + [anon_sym___extension__] = ACTIONS(5279), + [anon_sym_typedef] = ACTIONS(5279), + [anon_sym_extern] = ACTIONS(5279), + [anon_sym___attribute__] = ACTIONS(5279), + [anon_sym_COLON_COLON] = ACTIONS(5281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5281), + [anon_sym___declspec] = ACTIONS(5279), + [anon_sym___based] = ACTIONS(5279), + [anon_sym_signed] = ACTIONS(5279), + [anon_sym_unsigned] = ACTIONS(5279), + [anon_sym_long] = ACTIONS(5279), + [anon_sym_short] = ACTIONS(5279), + [anon_sym_LBRACK] = ACTIONS(5279), + [anon_sym_static] = ACTIONS(5279), + [anon_sym_register] = ACTIONS(5279), + [anon_sym_inline] = ACTIONS(5279), + [anon_sym___inline] = ACTIONS(5279), + [anon_sym___inline__] = ACTIONS(5279), + [anon_sym___forceinline] = ACTIONS(5279), + [anon_sym_thread_local] = ACTIONS(5279), + [anon_sym___thread] = ACTIONS(5279), + [anon_sym_const] = ACTIONS(5279), + [anon_sym_constexpr] = ACTIONS(5279), + [anon_sym_volatile] = ACTIONS(5279), + [anon_sym_restrict] = ACTIONS(5279), + [anon_sym___restrict__] = ACTIONS(5279), + [anon_sym__Atomic] = ACTIONS(5279), + [anon_sym__Noreturn] = ACTIONS(5279), + [anon_sym_noreturn] = ACTIONS(5279), + [anon_sym_mutable] = ACTIONS(5279), + [anon_sym_constinit] = ACTIONS(5279), + [anon_sym_consteval] = ACTIONS(5279), + [anon_sym_alignas] = ACTIONS(5279), + [anon_sym__Alignas] = ACTIONS(5279), + [sym_primitive_type] = ACTIONS(5279), + [anon_sym_enum] = ACTIONS(5279), + [anon_sym_class] = ACTIONS(5279), + [anon_sym_struct] = ACTIONS(5279), + [anon_sym_union] = ACTIONS(5279), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5281), + [sym_auto] = ACTIONS(5279), + [anon_sym_decltype] = ACTIONS(5279), + [sym_virtual] = ACTIONS(5279), + [anon_sym_explicit] = ACTIONS(5279), + [anon_sym_typename] = ACTIONS(5279), + [anon_sym_template] = ACTIONS(5279), + [anon_sym_operator] = ACTIONS(5279), + [anon_sym_friend] = ACTIONS(5279), + [anon_sym_public] = ACTIONS(5279), + [anon_sym_private] = ACTIONS(5279), + [anon_sym_protected] = ACTIONS(5279), + [anon_sym_using] = ACTIONS(5279), + [anon_sym_static_assert] = ACTIONS(5279), + }, + [1866] = { + [sym__identifier] = ACTIONS(5283), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5285), + [anon_sym_COMMA] = ACTIONS(5285), + [anon_sym_RPAREN] = ACTIONS(5285), + [anon_sym_LPAREN2] = ACTIONS(5285), + [anon_sym_DASH] = ACTIONS(5283), + [anon_sym_PLUS] = ACTIONS(5283), + [anon_sym_STAR] = ACTIONS(5285), + [anon_sym_SLASH] = ACTIONS(5283), + [anon_sym_PERCENT] = ACTIONS(5285), + [anon_sym_PIPE_PIPE] = ACTIONS(5285), + [anon_sym_AMP_AMP] = ACTIONS(5285), + [anon_sym_PIPE] = ACTIONS(5283), + [anon_sym_CARET] = ACTIONS(5285), + [anon_sym_AMP] = ACTIONS(5283), + [anon_sym_EQ_EQ] = ACTIONS(5285), + [anon_sym_BANG_EQ] = ACTIONS(5285), + [anon_sym_GT] = ACTIONS(5283), + [anon_sym_GT_EQ] = ACTIONS(5285), + [anon_sym_LT_EQ] = ACTIONS(5283), + [anon_sym_LT] = ACTIONS(5283), + [anon_sym_LT_LT] = ACTIONS(5285), + [anon_sym_GT_GT] = ACTIONS(5285), + [anon_sym_SEMI] = ACTIONS(5285), + [anon_sym___extension__] = ACTIONS(5283), + [anon_sym___attribute__] = ACTIONS(5283), + [anon_sym___based] = ACTIONS(5283), + [anon_sym_LBRACE] = ACTIONS(5285), + [anon_sym_RBRACE] = ACTIONS(5285), + [anon_sym_signed] = ACTIONS(5283), + [anon_sym_unsigned] = ACTIONS(5283), + [anon_sym_long] = ACTIONS(5283), + [anon_sym_short] = ACTIONS(5283), + [anon_sym_LBRACK] = ACTIONS(5285), + [anon_sym_RBRACK] = ACTIONS(5285), + [anon_sym_const] = ACTIONS(5283), + [anon_sym_constexpr] = ACTIONS(5283), + [anon_sym_volatile] = ACTIONS(5283), + [anon_sym_restrict] = ACTIONS(5283), + [anon_sym___restrict__] = ACTIONS(5283), + [anon_sym__Atomic] = ACTIONS(5283), + [anon_sym__Noreturn] = ACTIONS(5283), + [anon_sym_noreturn] = ACTIONS(5283), + [anon_sym_mutable] = ACTIONS(5283), + [anon_sym_constinit] = ACTIONS(5283), + [anon_sym_consteval] = ACTIONS(5283), + [anon_sym_alignas] = ACTIONS(5283), + [anon_sym__Alignas] = ACTIONS(5283), + [sym_primitive_type] = ACTIONS(5283), + [anon_sym_COLON] = ACTIONS(5285), + [anon_sym_QMARK] = ACTIONS(5285), + [anon_sym_LT_EQ_GT] = ACTIONS(5285), + [anon_sym_or] = ACTIONS(5283), + [anon_sym_and] = ACTIONS(5283), + [anon_sym_bitor] = ACTIONS(5283), + [anon_sym_xor] = ACTIONS(5283), + [anon_sym_bitand] = ACTIONS(5283), + [anon_sym_not_eq] = ACTIONS(5283), + [anon_sym_DASH_DASH] = ACTIONS(5285), + [anon_sym_PLUS_PLUS] = ACTIONS(5285), + [anon_sym_DOT] = ACTIONS(5283), + [anon_sym_DOT_STAR] = ACTIONS(5285), + [anon_sym_DASH_GT] = ACTIONS(5285), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5285), + [sym_auto] = ACTIONS(5283), + [anon_sym_decltype] = ACTIONS(5283), + [anon_sym_final] = ACTIONS(5283), + [anon_sym_override] = ACTIONS(5283), + [anon_sym_requires] = ACTIONS(5283), + }, + [1867] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(5064), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5064), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(5066), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1868] = { + [sym__identifier] = ACTIONS(5287), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5289), + [anon_sym_COMMA] = ACTIONS(5289), + [anon_sym_RPAREN] = ACTIONS(5289), + [anon_sym_LPAREN2] = ACTIONS(5289), + [anon_sym_DASH] = ACTIONS(5287), + [anon_sym_PLUS] = ACTIONS(5287), + [anon_sym_STAR] = ACTIONS(5289), + [anon_sym_SLASH] = ACTIONS(5287), + [anon_sym_PERCENT] = ACTIONS(5289), + [anon_sym_PIPE_PIPE] = ACTIONS(5289), + [anon_sym_AMP_AMP] = ACTIONS(5289), + [anon_sym_PIPE] = ACTIONS(5287), + [anon_sym_CARET] = ACTIONS(5289), + [anon_sym_AMP] = ACTIONS(5287), + [anon_sym_EQ_EQ] = ACTIONS(5289), + [anon_sym_BANG_EQ] = ACTIONS(5289), + [anon_sym_GT] = ACTIONS(5287), + [anon_sym_GT_EQ] = ACTIONS(5289), + [anon_sym_LT_EQ] = ACTIONS(5287), + [anon_sym_LT] = ACTIONS(5287), + [anon_sym_LT_LT] = ACTIONS(5289), + [anon_sym_GT_GT] = ACTIONS(5289), + [anon_sym_SEMI] = ACTIONS(5289), + [anon_sym___extension__] = ACTIONS(5287), + [anon_sym___attribute__] = ACTIONS(5287), + [anon_sym___based] = ACTIONS(5287), + [anon_sym_LBRACE] = ACTIONS(5289), + [anon_sym_RBRACE] = ACTIONS(5289), + [anon_sym_signed] = ACTIONS(5287), + [anon_sym_unsigned] = ACTIONS(5287), + [anon_sym_long] = ACTIONS(5287), + [anon_sym_short] = ACTIONS(5287), + [anon_sym_LBRACK] = ACTIONS(5289), + [anon_sym_RBRACK] = ACTIONS(5289), + [anon_sym_const] = ACTIONS(5287), + [anon_sym_constexpr] = ACTIONS(5287), + [anon_sym_volatile] = ACTIONS(5287), + [anon_sym_restrict] = ACTIONS(5287), + [anon_sym___restrict__] = ACTIONS(5287), + [anon_sym__Atomic] = ACTIONS(5287), + [anon_sym__Noreturn] = ACTIONS(5287), + [anon_sym_noreturn] = ACTIONS(5287), + [anon_sym_mutable] = ACTIONS(5287), + [anon_sym_constinit] = ACTIONS(5287), + [anon_sym_consteval] = ACTIONS(5287), + [anon_sym_alignas] = ACTIONS(5287), + [anon_sym__Alignas] = ACTIONS(5287), + [sym_primitive_type] = ACTIONS(5287), + [anon_sym_COLON] = ACTIONS(5289), + [anon_sym_QMARK] = ACTIONS(5289), + [anon_sym_LT_EQ_GT] = ACTIONS(5289), + [anon_sym_or] = ACTIONS(5287), + [anon_sym_and] = ACTIONS(5287), + [anon_sym_bitor] = ACTIONS(5287), + [anon_sym_xor] = ACTIONS(5287), + [anon_sym_bitand] = ACTIONS(5287), + [anon_sym_not_eq] = ACTIONS(5287), + [anon_sym_DASH_DASH] = ACTIONS(5289), + [anon_sym_PLUS_PLUS] = ACTIONS(5289), + [anon_sym_DOT] = ACTIONS(5287), + [anon_sym_DOT_STAR] = ACTIONS(5289), + [anon_sym_DASH_GT] = ACTIONS(5289), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5289), + [sym_auto] = ACTIONS(5287), + [anon_sym_decltype] = ACTIONS(5287), + [anon_sym_final] = ACTIONS(5287), + [anon_sym_override] = ACTIONS(5287), + [anon_sym_requires] = ACTIONS(5287), + }, + [1869] = { + [sym__identifier] = ACTIONS(5291), + [aux_sym_preproc_def_token1] = ACTIONS(5291), + [aux_sym_preproc_if_token1] = ACTIONS(5291), + [aux_sym_preproc_if_token2] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5291), + [aux_sym_preproc_else_token1] = ACTIONS(5291), + [aux_sym_preproc_elif_token1] = ACTIONS(5291), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5291), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5291), + [sym_preproc_directive] = ACTIONS(5291), + [anon_sym_LPAREN2] = ACTIONS(5293), + [anon_sym_TILDE] = ACTIONS(5293), + [anon_sym_STAR] = ACTIONS(5293), + [anon_sym_AMP_AMP] = ACTIONS(5293), + [anon_sym_AMP] = ACTIONS(5291), + [anon_sym___extension__] = ACTIONS(5291), + [anon_sym_typedef] = ACTIONS(5291), + [anon_sym_extern] = ACTIONS(5291), + [anon_sym___attribute__] = ACTIONS(5291), + [anon_sym_COLON_COLON] = ACTIONS(5293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5293), + [anon_sym___declspec] = ACTIONS(5291), + [anon_sym___based] = ACTIONS(5291), + [anon_sym_signed] = ACTIONS(5291), + [anon_sym_unsigned] = ACTIONS(5291), + [anon_sym_long] = ACTIONS(5291), + [anon_sym_short] = ACTIONS(5291), + [anon_sym_LBRACK] = ACTIONS(5291), + [anon_sym_static] = ACTIONS(5291), + [anon_sym_register] = ACTIONS(5291), + [anon_sym_inline] = ACTIONS(5291), + [anon_sym___inline] = ACTIONS(5291), + [anon_sym___inline__] = ACTIONS(5291), + [anon_sym___forceinline] = ACTIONS(5291), + [anon_sym_thread_local] = ACTIONS(5291), + [anon_sym___thread] = ACTIONS(5291), + [anon_sym_const] = ACTIONS(5291), + [anon_sym_constexpr] = ACTIONS(5291), + [anon_sym_volatile] = ACTIONS(5291), + [anon_sym_restrict] = ACTIONS(5291), + [anon_sym___restrict__] = ACTIONS(5291), + [anon_sym__Atomic] = ACTIONS(5291), + [anon_sym__Noreturn] = ACTIONS(5291), + [anon_sym_noreturn] = ACTIONS(5291), + [anon_sym_mutable] = ACTIONS(5291), + [anon_sym_constinit] = ACTIONS(5291), + [anon_sym_consteval] = ACTIONS(5291), + [anon_sym_alignas] = ACTIONS(5291), + [anon_sym__Alignas] = ACTIONS(5291), + [sym_primitive_type] = ACTIONS(5291), + [anon_sym_enum] = ACTIONS(5291), + [anon_sym_class] = ACTIONS(5291), + [anon_sym_struct] = ACTIONS(5291), + [anon_sym_union] = ACTIONS(5291), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5293), + [sym_auto] = ACTIONS(5291), + [anon_sym_decltype] = ACTIONS(5291), + [sym_virtual] = ACTIONS(5291), + [anon_sym_explicit] = ACTIONS(5291), + [anon_sym_typename] = ACTIONS(5291), + [anon_sym_template] = ACTIONS(5291), + [anon_sym_operator] = ACTIONS(5291), + [anon_sym_friend] = ACTIONS(5291), + [anon_sym_public] = ACTIONS(5291), + [anon_sym_private] = ACTIONS(5291), + [anon_sym_protected] = ACTIONS(5291), + [anon_sym_using] = ACTIONS(5291), + [anon_sym_static_assert] = ACTIONS(5291), + }, + [1870] = { + [sym__identifier] = ACTIONS(5295), + [aux_sym_preproc_def_token1] = ACTIONS(5295), + [aux_sym_preproc_if_token1] = ACTIONS(5295), + [aux_sym_preproc_if_token2] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5295), + [aux_sym_preproc_else_token1] = ACTIONS(5295), + [aux_sym_preproc_elif_token1] = ACTIONS(5295), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5295), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5295), + [sym_preproc_directive] = ACTIONS(5295), + [anon_sym_LPAREN2] = ACTIONS(5297), + [anon_sym_TILDE] = ACTIONS(5297), + [anon_sym_STAR] = ACTIONS(5297), + [anon_sym_AMP_AMP] = ACTIONS(5297), + [anon_sym_AMP] = ACTIONS(5295), + [anon_sym___extension__] = ACTIONS(5295), + [anon_sym_typedef] = ACTIONS(5295), + [anon_sym_extern] = ACTIONS(5295), + [anon_sym___attribute__] = ACTIONS(5295), + [anon_sym_COLON_COLON] = ACTIONS(5297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5297), + [anon_sym___declspec] = ACTIONS(5295), + [anon_sym___based] = ACTIONS(5295), + [anon_sym_signed] = ACTIONS(5295), + [anon_sym_unsigned] = ACTIONS(5295), + [anon_sym_long] = ACTIONS(5295), + [anon_sym_short] = ACTIONS(5295), + [anon_sym_LBRACK] = ACTIONS(5295), + [anon_sym_static] = ACTIONS(5295), + [anon_sym_register] = ACTIONS(5295), + [anon_sym_inline] = ACTIONS(5295), + [anon_sym___inline] = ACTIONS(5295), + [anon_sym___inline__] = ACTIONS(5295), + [anon_sym___forceinline] = ACTIONS(5295), + [anon_sym_thread_local] = ACTIONS(5295), + [anon_sym___thread] = ACTIONS(5295), + [anon_sym_const] = ACTIONS(5295), + [anon_sym_constexpr] = ACTIONS(5295), + [anon_sym_volatile] = ACTIONS(5295), + [anon_sym_restrict] = ACTIONS(5295), + [anon_sym___restrict__] = ACTIONS(5295), + [anon_sym__Atomic] = ACTIONS(5295), + [anon_sym__Noreturn] = ACTIONS(5295), + [anon_sym_noreturn] = ACTIONS(5295), + [anon_sym_mutable] = ACTIONS(5295), + [anon_sym_constinit] = ACTIONS(5295), + [anon_sym_consteval] = ACTIONS(5295), + [anon_sym_alignas] = ACTIONS(5295), + [anon_sym__Alignas] = ACTIONS(5295), + [sym_primitive_type] = ACTIONS(5295), + [anon_sym_enum] = ACTIONS(5295), + [anon_sym_class] = ACTIONS(5295), + [anon_sym_struct] = ACTIONS(5295), + [anon_sym_union] = ACTIONS(5295), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5297), + [sym_auto] = ACTIONS(5295), + [anon_sym_decltype] = ACTIONS(5295), + [sym_virtual] = ACTIONS(5295), + [anon_sym_explicit] = ACTIONS(5295), + [anon_sym_typename] = ACTIONS(5295), + [anon_sym_template] = ACTIONS(5295), + [anon_sym_operator] = ACTIONS(5295), + [anon_sym_friend] = ACTIONS(5295), + [anon_sym_public] = ACTIONS(5295), + [anon_sym_private] = ACTIONS(5295), + [anon_sym_protected] = ACTIONS(5295), + [anon_sym_using] = ACTIONS(5295), + [anon_sym_static_assert] = ACTIONS(5295), + }, + [1871] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4650), + [anon_sym_COMMA] = ACTIONS(4650), + [anon_sym_RPAREN] = ACTIONS(4650), + [aux_sym_preproc_if_token2] = ACTIONS(4650), + [aux_sym_preproc_else_token1] = ACTIONS(4650), + [aux_sym_preproc_elif_token1] = ACTIONS(4643), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4650), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4650), + [anon_sym_LPAREN2] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4643), + [anon_sym_PLUS] = ACTIONS(4643), + [anon_sym_STAR] = ACTIONS(4650), + [anon_sym_SLASH] = ACTIONS(4643), + [anon_sym_PERCENT] = ACTIONS(4650), + [anon_sym_PIPE_PIPE] = ACTIONS(4650), + [anon_sym_AMP_AMP] = ACTIONS(4650), + [anon_sym_PIPE] = ACTIONS(4643), + [anon_sym_CARET] = ACTIONS(4650), + [anon_sym_AMP] = ACTIONS(4643), + [anon_sym_EQ_EQ] = ACTIONS(4650), + [anon_sym_BANG_EQ] = ACTIONS(4650), + [anon_sym_GT] = ACTIONS(4643), + [anon_sym_GT_EQ] = ACTIONS(4650), + [anon_sym_LT_EQ] = ACTIONS(4643), + [anon_sym_LT] = ACTIONS(4643), + [anon_sym_LT_LT] = ACTIONS(4650), + [anon_sym_GT_GT] = ACTIONS(4650), + [anon_sym_SEMI] = ACTIONS(4650), + [anon_sym___extension__] = ACTIONS(4643), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_RBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4650), + [anon_sym_RBRACK] = ACTIONS(4650), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4643), + [anon_sym_volatile] = ACTIONS(4643), + [anon_sym_restrict] = ACTIONS(4643), + [anon_sym___restrict__] = ACTIONS(4643), + [anon_sym__Atomic] = ACTIONS(4643), + [anon_sym__Noreturn] = ACTIONS(4643), + [anon_sym_noreturn] = ACTIONS(4643), + [anon_sym_mutable] = ACTIONS(4643), + [anon_sym_constinit] = ACTIONS(4643), + [anon_sym_consteval] = ACTIONS(4643), + [anon_sym_alignas] = ACTIONS(4643), + [anon_sym__Alignas] = ACTIONS(4643), + [anon_sym_COLON] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4650), + [anon_sym_LT_EQ_GT] = ACTIONS(4650), + [anon_sym_or] = ACTIONS(4643), + [anon_sym_and] = ACTIONS(4643), + [anon_sym_bitor] = ACTIONS(4643), + [anon_sym_xor] = ACTIONS(4643), + [anon_sym_bitand] = ACTIONS(4643), + [anon_sym_not_eq] = ACTIONS(4643), + [anon_sym_DASH_DASH] = ACTIONS(4650), + [anon_sym_PLUS_PLUS] = ACTIONS(4650), + [anon_sym_DOT] = ACTIONS(4643), + [anon_sym_DOT_STAR] = ACTIONS(4650), + [anon_sym_DASH_GT] = ACTIONS(4650), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [anon_sym_final] = ACTIONS(4643), + [anon_sym_override] = ACTIONS(4643), + [anon_sym_requires] = ACTIONS(4643), + }, + [1872] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token2] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [aux_sym_preproc_else_token1] = ACTIONS(5299), + [aux_sym_preproc_elif_token1] = ACTIONS(5299), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [1873] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token2] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [aux_sym_preproc_else_token1] = ACTIONS(5299), + [aux_sym_preproc_elif_token1] = ACTIONS(5299), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [1874] = { + [sym__identifier] = ACTIONS(5303), + [aux_sym_preproc_def_token1] = ACTIONS(5303), + [aux_sym_preproc_if_token1] = ACTIONS(5303), + [aux_sym_preproc_if_token2] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5303), + [aux_sym_preproc_else_token1] = ACTIONS(5303), + [aux_sym_preproc_elif_token1] = ACTIONS(5303), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5303), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5303), + [sym_preproc_directive] = ACTIONS(5303), + [anon_sym_LPAREN2] = ACTIONS(5305), + [anon_sym_TILDE] = ACTIONS(5305), + [anon_sym_STAR] = ACTIONS(5305), + [anon_sym_AMP_AMP] = ACTIONS(5305), + [anon_sym_AMP] = ACTIONS(5303), + [anon_sym___extension__] = ACTIONS(5303), + [anon_sym_typedef] = ACTIONS(5303), + [anon_sym_extern] = ACTIONS(5303), + [anon_sym___attribute__] = ACTIONS(5303), + [anon_sym_COLON_COLON] = ACTIONS(5305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5305), + [anon_sym___declspec] = ACTIONS(5303), + [anon_sym___based] = ACTIONS(5303), + [anon_sym_signed] = ACTIONS(5303), + [anon_sym_unsigned] = ACTIONS(5303), + [anon_sym_long] = ACTIONS(5303), + [anon_sym_short] = ACTIONS(5303), + [anon_sym_LBRACK] = ACTIONS(5303), + [anon_sym_static] = ACTIONS(5303), + [anon_sym_register] = ACTIONS(5303), + [anon_sym_inline] = ACTIONS(5303), + [anon_sym___inline] = ACTIONS(5303), + [anon_sym___inline__] = ACTIONS(5303), + [anon_sym___forceinline] = ACTIONS(5303), + [anon_sym_thread_local] = ACTIONS(5303), + [anon_sym___thread] = ACTIONS(5303), + [anon_sym_const] = ACTIONS(5303), + [anon_sym_constexpr] = ACTIONS(5303), + [anon_sym_volatile] = ACTIONS(5303), + [anon_sym_restrict] = ACTIONS(5303), + [anon_sym___restrict__] = ACTIONS(5303), + [anon_sym__Atomic] = ACTIONS(5303), + [anon_sym__Noreturn] = ACTIONS(5303), + [anon_sym_noreturn] = ACTIONS(5303), + [anon_sym_mutable] = ACTIONS(5303), + [anon_sym_constinit] = ACTIONS(5303), + [anon_sym_consteval] = ACTIONS(5303), + [anon_sym_alignas] = ACTIONS(5303), + [anon_sym__Alignas] = ACTIONS(5303), + [sym_primitive_type] = ACTIONS(5303), + [anon_sym_enum] = ACTIONS(5303), + [anon_sym_class] = ACTIONS(5303), + [anon_sym_struct] = ACTIONS(5303), + [anon_sym_union] = ACTIONS(5303), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5305), + [sym_auto] = ACTIONS(5303), + [anon_sym_decltype] = ACTIONS(5303), + [sym_virtual] = ACTIONS(5303), + [anon_sym_explicit] = ACTIONS(5303), + [anon_sym_typename] = ACTIONS(5303), + [anon_sym_template] = ACTIONS(5303), + [anon_sym_operator] = ACTIONS(5303), + [anon_sym_friend] = ACTIONS(5303), + [anon_sym_public] = ACTIONS(5303), + [anon_sym_private] = ACTIONS(5303), + [anon_sym_protected] = ACTIONS(5303), + [anon_sym_using] = ACTIONS(5303), + [anon_sym_static_assert] = ACTIONS(5303), + }, + [1875] = { + [sym__identifier] = ACTIONS(5307), + [aux_sym_preproc_def_token1] = ACTIONS(5307), + [aux_sym_preproc_if_token1] = ACTIONS(5307), + [aux_sym_preproc_if_token2] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5307), + [aux_sym_preproc_else_token1] = ACTIONS(5307), + [aux_sym_preproc_elif_token1] = ACTIONS(5307), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5307), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5307), + [sym_preproc_directive] = ACTIONS(5307), + [anon_sym_LPAREN2] = ACTIONS(5309), + [anon_sym_TILDE] = ACTIONS(5309), + [anon_sym_STAR] = ACTIONS(5309), + [anon_sym_AMP_AMP] = ACTIONS(5309), + [anon_sym_AMP] = ACTIONS(5307), + [anon_sym___extension__] = ACTIONS(5307), + [anon_sym_typedef] = ACTIONS(5307), + [anon_sym_extern] = ACTIONS(5307), + [anon_sym___attribute__] = ACTIONS(5307), + [anon_sym_COLON_COLON] = ACTIONS(5309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5309), + [anon_sym___declspec] = ACTIONS(5307), + [anon_sym___based] = ACTIONS(5307), + [anon_sym_signed] = ACTIONS(5307), + [anon_sym_unsigned] = ACTIONS(5307), + [anon_sym_long] = ACTIONS(5307), + [anon_sym_short] = ACTIONS(5307), + [anon_sym_LBRACK] = ACTIONS(5307), + [anon_sym_static] = ACTIONS(5307), + [anon_sym_register] = ACTIONS(5307), + [anon_sym_inline] = ACTIONS(5307), + [anon_sym___inline] = ACTIONS(5307), + [anon_sym___inline__] = ACTIONS(5307), + [anon_sym___forceinline] = ACTIONS(5307), + [anon_sym_thread_local] = ACTIONS(5307), + [anon_sym___thread] = ACTIONS(5307), + [anon_sym_const] = ACTIONS(5307), + [anon_sym_constexpr] = ACTIONS(5307), + [anon_sym_volatile] = ACTIONS(5307), + [anon_sym_restrict] = ACTIONS(5307), + [anon_sym___restrict__] = ACTIONS(5307), + [anon_sym__Atomic] = ACTIONS(5307), + [anon_sym__Noreturn] = ACTIONS(5307), + [anon_sym_noreturn] = ACTIONS(5307), + [anon_sym_mutable] = ACTIONS(5307), + [anon_sym_constinit] = ACTIONS(5307), + [anon_sym_consteval] = ACTIONS(5307), + [anon_sym_alignas] = ACTIONS(5307), + [anon_sym__Alignas] = ACTIONS(5307), + [sym_primitive_type] = ACTIONS(5307), + [anon_sym_enum] = ACTIONS(5307), + [anon_sym_class] = ACTIONS(5307), + [anon_sym_struct] = ACTIONS(5307), + [anon_sym_union] = ACTIONS(5307), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5309), + [sym_auto] = ACTIONS(5307), + [anon_sym_decltype] = ACTIONS(5307), + [sym_virtual] = ACTIONS(5307), + [anon_sym_explicit] = ACTIONS(5307), + [anon_sym_typename] = ACTIONS(5307), + [anon_sym_template] = ACTIONS(5307), + [anon_sym_operator] = ACTIONS(5307), + [anon_sym_friend] = ACTIONS(5307), + [anon_sym_public] = ACTIONS(5307), + [anon_sym_private] = ACTIONS(5307), + [anon_sym_protected] = ACTIONS(5307), + [anon_sym_using] = ACTIONS(5307), + [anon_sym_static_assert] = ACTIONS(5307), + }, + [1876] = { + [sym__identifier] = ACTIONS(5311), + [aux_sym_preproc_def_token1] = ACTIONS(5311), + [aux_sym_preproc_if_token1] = ACTIONS(5311), + [aux_sym_preproc_if_token2] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5311), + [aux_sym_preproc_else_token1] = ACTIONS(5311), + [aux_sym_preproc_elif_token1] = ACTIONS(5311), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5311), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5311), + [sym_preproc_directive] = ACTIONS(5311), + [anon_sym_LPAREN2] = ACTIONS(5313), + [anon_sym_TILDE] = ACTIONS(5313), + [anon_sym_STAR] = ACTIONS(5313), + [anon_sym_AMP_AMP] = ACTIONS(5313), + [anon_sym_AMP] = ACTIONS(5311), + [anon_sym___extension__] = ACTIONS(5311), + [anon_sym_typedef] = ACTIONS(5311), + [anon_sym_extern] = ACTIONS(5311), + [anon_sym___attribute__] = ACTIONS(5311), + [anon_sym_COLON_COLON] = ACTIONS(5313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5313), + [anon_sym___declspec] = ACTIONS(5311), + [anon_sym___based] = ACTIONS(5311), + [anon_sym_signed] = ACTIONS(5311), + [anon_sym_unsigned] = ACTIONS(5311), + [anon_sym_long] = ACTIONS(5311), + [anon_sym_short] = ACTIONS(5311), + [anon_sym_LBRACK] = ACTIONS(5311), + [anon_sym_static] = ACTIONS(5311), + [anon_sym_register] = ACTIONS(5311), + [anon_sym_inline] = ACTIONS(5311), + [anon_sym___inline] = ACTIONS(5311), + [anon_sym___inline__] = ACTIONS(5311), + [anon_sym___forceinline] = ACTIONS(5311), + [anon_sym_thread_local] = ACTIONS(5311), + [anon_sym___thread] = ACTIONS(5311), + [anon_sym_const] = ACTIONS(5311), + [anon_sym_constexpr] = ACTIONS(5311), + [anon_sym_volatile] = ACTIONS(5311), + [anon_sym_restrict] = ACTIONS(5311), + [anon_sym___restrict__] = ACTIONS(5311), + [anon_sym__Atomic] = ACTIONS(5311), + [anon_sym__Noreturn] = ACTIONS(5311), + [anon_sym_noreturn] = ACTIONS(5311), + [anon_sym_mutable] = ACTIONS(5311), + [anon_sym_constinit] = ACTIONS(5311), + [anon_sym_consteval] = ACTIONS(5311), + [anon_sym_alignas] = ACTIONS(5311), + [anon_sym__Alignas] = ACTIONS(5311), + [sym_primitive_type] = ACTIONS(5311), + [anon_sym_enum] = ACTIONS(5311), + [anon_sym_class] = ACTIONS(5311), + [anon_sym_struct] = ACTIONS(5311), + [anon_sym_union] = ACTIONS(5311), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5313), + [sym_auto] = ACTIONS(5311), + [anon_sym_decltype] = ACTIONS(5311), + [sym_virtual] = ACTIONS(5311), + [anon_sym_explicit] = ACTIONS(5311), + [anon_sym_typename] = ACTIONS(5311), + [anon_sym_template] = ACTIONS(5311), + [anon_sym_operator] = ACTIONS(5311), + [anon_sym_friend] = ACTIONS(5311), + [anon_sym_public] = ACTIONS(5311), + [anon_sym_private] = ACTIONS(5311), + [anon_sym_protected] = ACTIONS(5311), + [anon_sym_using] = ACTIONS(5311), + [anon_sym_static_assert] = ACTIONS(5311), + }, + [1877] = { + [sym__identifier] = ACTIONS(5315), + [aux_sym_preproc_def_token1] = ACTIONS(5315), + [aux_sym_preproc_if_token1] = ACTIONS(5315), + [aux_sym_preproc_if_token2] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5315), + [aux_sym_preproc_else_token1] = ACTIONS(5315), + [aux_sym_preproc_elif_token1] = ACTIONS(5315), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5315), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5315), + [sym_preproc_directive] = ACTIONS(5315), + [anon_sym_LPAREN2] = ACTIONS(5317), + [anon_sym_TILDE] = ACTIONS(5317), + [anon_sym_STAR] = ACTIONS(5317), + [anon_sym_AMP_AMP] = ACTIONS(5317), + [anon_sym_AMP] = ACTIONS(5315), + [anon_sym___extension__] = ACTIONS(5315), + [anon_sym_typedef] = ACTIONS(5315), + [anon_sym_extern] = ACTIONS(5315), + [anon_sym___attribute__] = ACTIONS(5315), + [anon_sym_COLON_COLON] = ACTIONS(5317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5317), + [anon_sym___declspec] = ACTIONS(5315), + [anon_sym___based] = ACTIONS(5315), + [anon_sym_signed] = ACTIONS(5315), + [anon_sym_unsigned] = ACTIONS(5315), + [anon_sym_long] = ACTIONS(5315), + [anon_sym_short] = ACTIONS(5315), + [anon_sym_LBRACK] = ACTIONS(5315), + [anon_sym_static] = ACTIONS(5315), + [anon_sym_register] = ACTIONS(5315), + [anon_sym_inline] = ACTIONS(5315), + [anon_sym___inline] = ACTIONS(5315), + [anon_sym___inline__] = ACTIONS(5315), + [anon_sym___forceinline] = ACTIONS(5315), + [anon_sym_thread_local] = ACTIONS(5315), + [anon_sym___thread] = ACTIONS(5315), + [anon_sym_const] = ACTIONS(5315), + [anon_sym_constexpr] = ACTIONS(5315), + [anon_sym_volatile] = ACTIONS(5315), + [anon_sym_restrict] = ACTIONS(5315), + [anon_sym___restrict__] = ACTIONS(5315), + [anon_sym__Atomic] = ACTIONS(5315), + [anon_sym__Noreturn] = ACTIONS(5315), + [anon_sym_noreturn] = ACTIONS(5315), + [anon_sym_mutable] = ACTIONS(5315), + [anon_sym_constinit] = ACTIONS(5315), + [anon_sym_consteval] = ACTIONS(5315), + [anon_sym_alignas] = ACTIONS(5315), + [anon_sym__Alignas] = ACTIONS(5315), + [sym_primitive_type] = ACTIONS(5315), + [anon_sym_enum] = ACTIONS(5315), + [anon_sym_class] = ACTIONS(5315), + [anon_sym_struct] = ACTIONS(5315), + [anon_sym_union] = ACTIONS(5315), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5317), + [sym_auto] = ACTIONS(5315), + [anon_sym_decltype] = ACTIONS(5315), + [sym_virtual] = ACTIONS(5315), + [anon_sym_explicit] = ACTIONS(5315), + [anon_sym_typename] = ACTIONS(5315), + [anon_sym_template] = ACTIONS(5315), + [anon_sym_operator] = ACTIONS(5315), + [anon_sym_friend] = ACTIONS(5315), + [anon_sym_public] = ACTIONS(5315), + [anon_sym_private] = ACTIONS(5315), + [anon_sym_protected] = ACTIONS(5315), + [anon_sym_using] = ACTIONS(5315), + [anon_sym_static_assert] = ACTIONS(5315), + }, + [1878] = { + [sym__identifier] = ACTIONS(5319), + [aux_sym_preproc_def_token1] = ACTIONS(5319), + [aux_sym_preproc_if_token1] = ACTIONS(5319), + [aux_sym_preproc_if_token2] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5319), + [aux_sym_preproc_else_token1] = ACTIONS(5319), + [aux_sym_preproc_elif_token1] = ACTIONS(5319), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5319), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5319), + [sym_preproc_directive] = ACTIONS(5319), + [anon_sym_LPAREN2] = ACTIONS(5321), + [anon_sym_TILDE] = ACTIONS(5321), + [anon_sym_STAR] = ACTIONS(5321), + [anon_sym_AMP_AMP] = ACTIONS(5321), + [anon_sym_AMP] = ACTIONS(5319), + [anon_sym___extension__] = ACTIONS(5319), + [anon_sym_typedef] = ACTIONS(5319), + [anon_sym_extern] = ACTIONS(5319), + [anon_sym___attribute__] = ACTIONS(5319), + [anon_sym_COLON_COLON] = ACTIONS(5321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5321), + [anon_sym___declspec] = ACTIONS(5319), + [anon_sym___based] = ACTIONS(5319), + [anon_sym_signed] = ACTIONS(5319), + [anon_sym_unsigned] = ACTIONS(5319), + [anon_sym_long] = ACTIONS(5319), + [anon_sym_short] = ACTIONS(5319), + [anon_sym_LBRACK] = ACTIONS(5319), + [anon_sym_static] = ACTIONS(5319), + [anon_sym_register] = ACTIONS(5319), + [anon_sym_inline] = ACTIONS(5319), + [anon_sym___inline] = ACTIONS(5319), + [anon_sym___inline__] = ACTIONS(5319), + [anon_sym___forceinline] = ACTIONS(5319), + [anon_sym_thread_local] = ACTIONS(5319), + [anon_sym___thread] = ACTIONS(5319), + [anon_sym_const] = ACTIONS(5319), + [anon_sym_constexpr] = ACTIONS(5319), + [anon_sym_volatile] = ACTIONS(5319), + [anon_sym_restrict] = ACTIONS(5319), + [anon_sym___restrict__] = ACTIONS(5319), + [anon_sym__Atomic] = ACTIONS(5319), + [anon_sym__Noreturn] = ACTIONS(5319), + [anon_sym_noreturn] = ACTIONS(5319), + [anon_sym_mutable] = ACTIONS(5319), + [anon_sym_constinit] = ACTIONS(5319), + [anon_sym_consteval] = ACTIONS(5319), + [anon_sym_alignas] = ACTIONS(5319), + [anon_sym__Alignas] = ACTIONS(5319), + [sym_primitive_type] = ACTIONS(5319), + [anon_sym_enum] = ACTIONS(5319), + [anon_sym_class] = ACTIONS(5319), + [anon_sym_struct] = ACTIONS(5319), + [anon_sym_union] = ACTIONS(5319), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5321), + [sym_auto] = ACTIONS(5319), + [anon_sym_decltype] = ACTIONS(5319), + [sym_virtual] = ACTIONS(5319), + [anon_sym_explicit] = ACTIONS(5319), + [anon_sym_typename] = ACTIONS(5319), + [anon_sym_template] = ACTIONS(5319), + [anon_sym_operator] = ACTIONS(5319), + [anon_sym_friend] = ACTIONS(5319), + [anon_sym_public] = ACTIONS(5319), + [anon_sym_private] = ACTIONS(5319), + [anon_sym_protected] = ACTIONS(5319), + [anon_sym_using] = ACTIONS(5319), + [anon_sym_static_assert] = ACTIONS(5319), + }, + [1879] = { + [sym__identifier] = ACTIONS(5323), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5325), + [anon_sym_COMMA] = ACTIONS(5325), + [anon_sym_RPAREN] = ACTIONS(5325), + [anon_sym_LPAREN2] = ACTIONS(5325), + [anon_sym_DASH] = ACTIONS(5323), + [anon_sym_PLUS] = ACTIONS(5323), + [anon_sym_STAR] = ACTIONS(5325), + [anon_sym_SLASH] = ACTIONS(5323), + [anon_sym_PERCENT] = ACTIONS(5325), + [anon_sym_PIPE_PIPE] = ACTIONS(5325), + [anon_sym_AMP_AMP] = ACTIONS(5325), + [anon_sym_PIPE] = ACTIONS(5323), + [anon_sym_CARET] = ACTIONS(5325), + [anon_sym_AMP] = ACTIONS(5323), + [anon_sym_EQ_EQ] = ACTIONS(5325), + [anon_sym_BANG_EQ] = ACTIONS(5325), + [anon_sym_GT] = ACTIONS(5323), + [anon_sym_GT_EQ] = ACTIONS(5325), + [anon_sym_LT_EQ] = ACTIONS(5323), + [anon_sym_LT] = ACTIONS(5323), + [anon_sym_LT_LT] = ACTIONS(5325), + [anon_sym_GT_GT] = ACTIONS(5325), + [anon_sym_SEMI] = ACTIONS(5325), + [anon_sym___extension__] = ACTIONS(5323), + [anon_sym___attribute__] = ACTIONS(5323), + [anon_sym___based] = ACTIONS(5323), + [anon_sym_LBRACE] = ACTIONS(5325), + [anon_sym_RBRACE] = ACTIONS(5325), + [anon_sym_signed] = ACTIONS(5323), + [anon_sym_unsigned] = ACTIONS(5323), + [anon_sym_long] = ACTIONS(5323), + [anon_sym_short] = ACTIONS(5323), + [anon_sym_LBRACK] = ACTIONS(5325), + [anon_sym_RBRACK] = ACTIONS(5325), + [anon_sym_const] = ACTIONS(5323), + [anon_sym_constexpr] = ACTIONS(5323), + [anon_sym_volatile] = ACTIONS(5323), + [anon_sym_restrict] = ACTIONS(5323), + [anon_sym___restrict__] = ACTIONS(5323), + [anon_sym__Atomic] = ACTIONS(5323), + [anon_sym__Noreturn] = ACTIONS(5323), + [anon_sym_noreturn] = ACTIONS(5323), + [anon_sym_mutable] = ACTIONS(5323), + [anon_sym_constinit] = ACTIONS(5323), + [anon_sym_consteval] = ACTIONS(5323), + [anon_sym_alignas] = ACTIONS(5323), + [anon_sym__Alignas] = ACTIONS(5323), + [sym_primitive_type] = ACTIONS(5323), + [anon_sym_COLON] = ACTIONS(5325), + [anon_sym_QMARK] = ACTIONS(5325), + [anon_sym_LT_EQ_GT] = ACTIONS(5325), + [anon_sym_or] = ACTIONS(5323), + [anon_sym_and] = ACTIONS(5323), + [anon_sym_bitor] = ACTIONS(5323), + [anon_sym_xor] = ACTIONS(5323), + [anon_sym_bitand] = ACTIONS(5323), + [anon_sym_not_eq] = ACTIONS(5323), + [anon_sym_DASH_DASH] = ACTIONS(5325), + [anon_sym_PLUS_PLUS] = ACTIONS(5325), + [anon_sym_DOT] = ACTIONS(5323), + [anon_sym_DOT_STAR] = ACTIONS(5325), + [anon_sym_DASH_GT] = ACTIONS(5325), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5325), + [sym_auto] = ACTIONS(5323), + [anon_sym_decltype] = ACTIONS(5323), + [anon_sym_final] = ACTIONS(5323), + [anon_sym_override] = ACTIONS(5323), + [anon_sym_requires] = ACTIONS(5323), + }, + [1880] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token2] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [aux_sym_preproc_else_token1] = ACTIONS(5327), + [aux_sym_preproc_elif_token1] = ACTIONS(5327), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [1881] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [aux_sym_preproc_else_token1] = ACTIONS(5331), + [aux_sym_preproc_elif_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [1882] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [aux_sym_preproc_else_token1] = ACTIONS(5331), + [aux_sym_preproc_elif_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [1883] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [aux_sym_preproc_else_token1] = ACTIONS(5331), + [aux_sym_preproc_elif_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [1884] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token2] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [aux_sym_preproc_else_token1] = ACTIONS(5327), + [aux_sym_preproc_elif_token1] = ACTIONS(5327), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [1885] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(3809), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1886] = { + [sym__identifier] = ACTIONS(5335), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5337), + [anon_sym_COMMA] = ACTIONS(5337), + [anon_sym_RPAREN] = ACTIONS(5337), + [anon_sym_LPAREN2] = ACTIONS(5337), + [anon_sym_DASH] = ACTIONS(5335), + [anon_sym_PLUS] = ACTIONS(5335), + [anon_sym_STAR] = ACTIONS(5337), + [anon_sym_SLASH] = ACTIONS(5335), + [anon_sym_PERCENT] = ACTIONS(5337), + [anon_sym_PIPE_PIPE] = ACTIONS(5337), + [anon_sym_AMP_AMP] = ACTIONS(5337), + [anon_sym_PIPE] = ACTIONS(5335), + [anon_sym_CARET] = ACTIONS(5337), + [anon_sym_AMP] = ACTIONS(5335), + [anon_sym_EQ_EQ] = ACTIONS(5337), + [anon_sym_BANG_EQ] = ACTIONS(5337), + [anon_sym_GT] = ACTIONS(5335), + [anon_sym_GT_EQ] = ACTIONS(5337), + [anon_sym_LT_EQ] = ACTIONS(5335), + [anon_sym_LT] = ACTIONS(5335), + [anon_sym_LT_LT] = ACTIONS(5337), + [anon_sym_GT_GT] = ACTIONS(5337), + [anon_sym_SEMI] = ACTIONS(5337), + [anon_sym___extension__] = ACTIONS(5335), + [anon_sym___attribute__] = ACTIONS(5335), + [anon_sym___based] = ACTIONS(5335), + [anon_sym_LBRACE] = ACTIONS(5337), + [anon_sym_RBRACE] = ACTIONS(5337), + [anon_sym_signed] = ACTIONS(5335), + [anon_sym_unsigned] = ACTIONS(5335), + [anon_sym_long] = ACTIONS(5335), + [anon_sym_short] = ACTIONS(5335), + [anon_sym_LBRACK] = ACTIONS(5337), + [anon_sym_RBRACK] = ACTIONS(5337), + [anon_sym_const] = ACTIONS(5335), + [anon_sym_constexpr] = ACTIONS(5335), + [anon_sym_volatile] = ACTIONS(5335), + [anon_sym_restrict] = ACTIONS(5335), + [anon_sym___restrict__] = ACTIONS(5335), + [anon_sym__Atomic] = ACTIONS(5335), + [anon_sym__Noreturn] = ACTIONS(5335), + [anon_sym_noreturn] = ACTIONS(5335), + [anon_sym_mutable] = ACTIONS(5335), + [anon_sym_constinit] = ACTIONS(5335), + [anon_sym_consteval] = ACTIONS(5335), + [anon_sym_alignas] = ACTIONS(5335), + [anon_sym__Alignas] = ACTIONS(5335), + [sym_primitive_type] = ACTIONS(5335), + [anon_sym_COLON] = ACTIONS(5337), + [anon_sym_QMARK] = ACTIONS(5337), + [anon_sym_LT_EQ_GT] = ACTIONS(5337), + [anon_sym_or] = ACTIONS(5335), + [anon_sym_and] = ACTIONS(5335), + [anon_sym_bitor] = ACTIONS(5335), + [anon_sym_xor] = ACTIONS(5335), + [anon_sym_bitand] = ACTIONS(5335), + [anon_sym_not_eq] = ACTIONS(5335), + [anon_sym_DASH_DASH] = ACTIONS(5337), + [anon_sym_PLUS_PLUS] = ACTIONS(5337), + [anon_sym_DOT] = ACTIONS(5335), + [anon_sym_DOT_STAR] = ACTIONS(5337), + [anon_sym_DASH_GT] = ACTIONS(5337), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5337), + [sym_auto] = ACTIONS(5335), + [anon_sym_decltype] = ACTIONS(5335), + [anon_sym_final] = ACTIONS(5335), + [anon_sym_override] = ACTIONS(5335), + [anon_sym_requires] = ACTIONS(5335), + }, + [1887] = { + [sym__identifier] = ACTIONS(5339), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5341), + [anon_sym_COMMA] = ACTIONS(5341), + [anon_sym_RPAREN] = ACTIONS(5341), + [anon_sym_LPAREN2] = ACTIONS(5341), + [anon_sym_DASH] = ACTIONS(5339), + [anon_sym_PLUS] = ACTIONS(5339), + [anon_sym_STAR] = ACTIONS(5341), + [anon_sym_SLASH] = ACTIONS(5339), + [anon_sym_PERCENT] = ACTIONS(5341), + [anon_sym_PIPE_PIPE] = ACTIONS(5341), + [anon_sym_AMP_AMP] = ACTIONS(5341), + [anon_sym_PIPE] = ACTIONS(5339), + [anon_sym_CARET] = ACTIONS(5341), + [anon_sym_AMP] = ACTIONS(5339), + [anon_sym_EQ_EQ] = ACTIONS(5341), + [anon_sym_BANG_EQ] = ACTIONS(5341), + [anon_sym_GT] = ACTIONS(5339), + [anon_sym_GT_EQ] = ACTIONS(5341), + [anon_sym_LT_EQ] = ACTIONS(5339), + [anon_sym_LT] = ACTIONS(5339), + [anon_sym_LT_LT] = ACTIONS(5341), + [anon_sym_GT_GT] = ACTIONS(5341), + [anon_sym_SEMI] = ACTIONS(5341), + [anon_sym___extension__] = ACTIONS(5339), + [anon_sym___attribute__] = ACTIONS(5339), + [anon_sym___based] = ACTIONS(5339), + [anon_sym_LBRACE] = ACTIONS(5341), + [anon_sym_RBRACE] = ACTIONS(5341), + [anon_sym_signed] = ACTIONS(5339), + [anon_sym_unsigned] = ACTIONS(5339), + [anon_sym_long] = ACTIONS(5339), + [anon_sym_short] = ACTIONS(5339), + [anon_sym_LBRACK] = ACTIONS(5341), + [anon_sym_RBRACK] = ACTIONS(5341), + [anon_sym_const] = ACTIONS(5339), + [anon_sym_constexpr] = ACTIONS(5339), + [anon_sym_volatile] = ACTIONS(5339), + [anon_sym_restrict] = ACTIONS(5339), + [anon_sym___restrict__] = ACTIONS(5339), + [anon_sym__Atomic] = ACTIONS(5339), + [anon_sym__Noreturn] = ACTIONS(5339), + [anon_sym_noreturn] = ACTIONS(5339), + [anon_sym_mutable] = ACTIONS(5339), + [anon_sym_constinit] = ACTIONS(5339), + [anon_sym_consteval] = ACTIONS(5339), + [anon_sym_alignas] = ACTIONS(5339), + [anon_sym__Alignas] = ACTIONS(5339), + [sym_primitive_type] = ACTIONS(5339), + [anon_sym_COLON] = ACTIONS(5341), + [anon_sym_QMARK] = ACTIONS(5341), + [anon_sym_LT_EQ_GT] = ACTIONS(5341), + [anon_sym_or] = ACTIONS(5339), + [anon_sym_and] = ACTIONS(5339), + [anon_sym_bitor] = ACTIONS(5339), + [anon_sym_xor] = ACTIONS(5339), + [anon_sym_bitand] = ACTIONS(5339), + [anon_sym_not_eq] = ACTIONS(5339), + [anon_sym_DASH_DASH] = ACTIONS(5341), + [anon_sym_PLUS_PLUS] = ACTIONS(5341), + [anon_sym_DOT] = ACTIONS(5339), + [anon_sym_DOT_STAR] = ACTIONS(5341), + [anon_sym_DASH_GT] = ACTIONS(5341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5341), + [sym_auto] = ACTIONS(5339), + [anon_sym_decltype] = ACTIONS(5339), + [anon_sym_final] = ACTIONS(5339), + [anon_sym_override] = ACTIONS(5339), + [anon_sym_requires] = ACTIONS(5339), + }, + [1888] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token2] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [aux_sym_preproc_else_token1] = ACTIONS(2948), + [aux_sym_preproc_elif_token1] = ACTIONS(2948), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_friend] = ACTIONS(2948), + [anon_sym_public] = ACTIONS(2948), + [anon_sym_private] = ACTIONS(2948), + [anon_sym_protected] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + }, + [1889] = { + [sym__identifier] = ACTIONS(5343), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5345), + [anon_sym_COMMA] = ACTIONS(5345), + [anon_sym_RPAREN] = ACTIONS(5345), + [anon_sym_LPAREN2] = ACTIONS(5345), + [anon_sym_DASH] = ACTIONS(5343), + [anon_sym_PLUS] = ACTIONS(5343), + [anon_sym_STAR] = ACTIONS(5345), + [anon_sym_SLASH] = ACTIONS(5343), + [anon_sym_PERCENT] = ACTIONS(5345), + [anon_sym_PIPE_PIPE] = ACTIONS(5345), + [anon_sym_AMP_AMP] = ACTIONS(5345), + [anon_sym_PIPE] = ACTIONS(5343), + [anon_sym_CARET] = ACTIONS(5345), + [anon_sym_AMP] = ACTIONS(5343), + [anon_sym_EQ_EQ] = ACTIONS(5345), + [anon_sym_BANG_EQ] = ACTIONS(5345), + [anon_sym_GT] = ACTIONS(5343), + [anon_sym_GT_EQ] = ACTIONS(5345), + [anon_sym_LT_EQ] = ACTIONS(5343), + [anon_sym_LT] = ACTIONS(5343), + [anon_sym_LT_LT] = ACTIONS(5345), + [anon_sym_GT_GT] = ACTIONS(5345), + [anon_sym_SEMI] = ACTIONS(5345), + [anon_sym___extension__] = ACTIONS(5343), + [anon_sym___attribute__] = ACTIONS(5343), + [anon_sym___based] = ACTIONS(5343), + [anon_sym_LBRACE] = ACTIONS(5345), + [anon_sym_RBRACE] = ACTIONS(5345), + [anon_sym_signed] = ACTIONS(5343), + [anon_sym_unsigned] = ACTIONS(5343), + [anon_sym_long] = ACTIONS(5343), + [anon_sym_short] = ACTIONS(5343), + [anon_sym_LBRACK] = ACTIONS(5345), + [anon_sym_RBRACK] = ACTIONS(5345), + [anon_sym_const] = ACTIONS(5343), + [anon_sym_constexpr] = ACTIONS(5343), + [anon_sym_volatile] = ACTIONS(5343), + [anon_sym_restrict] = ACTIONS(5343), + [anon_sym___restrict__] = ACTIONS(5343), + [anon_sym__Atomic] = ACTIONS(5343), + [anon_sym__Noreturn] = ACTIONS(5343), + [anon_sym_noreturn] = ACTIONS(5343), + [anon_sym_mutable] = ACTIONS(5343), + [anon_sym_constinit] = ACTIONS(5343), + [anon_sym_consteval] = ACTIONS(5343), + [anon_sym_alignas] = ACTIONS(5343), + [anon_sym__Alignas] = ACTIONS(5343), + [sym_primitive_type] = ACTIONS(5343), + [anon_sym_COLON] = ACTIONS(5345), + [anon_sym_QMARK] = ACTIONS(5345), + [anon_sym_LT_EQ_GT] = ACTIONS(5345), + [anon_sym_or] = ACTIONS(5343), + [anon_sym_and] = ACTIONS(5343), + [anon_sym_bitor] = ACTIONS(5343), + [anon_sym_xor] = ACTIONS(5343), + [anon_sym_bitand] = ACTIONS(5343), + [anon_sym_not_eq] = ACTIONS(5343), + [anon_sym_DASH_DASH] = ACTIONS(5345), + [anon_sym_PLUS_PLUS] = ACTIONS(5345), + [anon_sym_DOT] = ACTIONS(5343), + [anon_sym_DOT_STAR] = ACTIONS(5345), + [anon_sym_DASH_GT] = ACTIONS(5345), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5345), + [sym_auto] = ACTIONS(5343), + [anon_sym_decltype] = ACTIONS(5343), + [anon_sym_final] = ACTIONS(5343), + [anon_sym_override] = ACTIONS(5343), + [anon_sym_requires] = ACTIONS(5343), + }, + [1890] = { + [sym_string_literal] = STATE(1890), + [sym__string_literal] = STATE(2315), + [sym_identifier] = STATE(1890), + [sym_raw_string_literal] = STATE(1890), + [aux_sym_concatenated_string_repeat1] = STATE(1890), + [sym__identifier] = ACTIONS(5347), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4773), + [anon_sym_COMMA] = ACTIONS(4773), + [anon_sym_LPAREN2] = ACTIONS(4773), + [anon_sym_DASH] = ACTIONS(4775), + [anon_sym_PLUS] = ACTIONS(4775), + [anon_sym_STAR] = ACTIONS(4775), + [anon_sym_SLASH] = ACTIONS(4775), + [anon_sym_PERCENT] = ACTIONS(4775), + [anon_sym_PIPE_PIPE] = ACTIONS(4773), + [anon_sym_AMP_AMP] = ACTIONS(4773), + [anon_sym_PIPE] = ACTIONS(4775), + [anon_sym_CARET] = ACTIONS(4775), + [anon_sym_AMP] = ACTIONS(4775), + [anon_sym_EQ_EQ] = ACTIONS(4773), + [anon_sym_BANG_EQ] = ACTIONS(4773), + [anon_sym_GT] = ACTIONS(4775), + [anon_sym_GT_EQ] = ACTIONS(4773), + [anon_sym_LT_EQ] = ACTIONS(4775), + [anon_sym_LT] = ACTIONS(4775), + [anon_sym_LT_LT] = ACTIONS(4775), + [anon_sym_GT_GT] = ACTIONS(4775), + [anon_sym_SEMI] = ACTIONS(4773), + [anon_sym___attribute__] = ACTIONS(4775), + [anon_sym_LBRACK] = ACTIONS(4773), + [anon_sym_EQ] = ACTIONS(4775), + [anon_sym_QMARK] = ACTIONS(4773), + [anon_sym_STAR_EQ] = ACTIONS(4773), + [anon_sym_SLASH_EQ] = ACTIONS(4773), + [anon_sym_PERCENT_EQ] = ACTIONS(4773), + [anon_sym_PLUS_EQ] = ACTIONS(4773), + [anon_sym_DASH_EQ] = ACTIONS(4773), + [anon_sym_LT_LT_EQ] = ACTIONS(4773), + [anon_sym_GT_GT_EQ] = ACTIONS(4773), + [anon_sym_AMP_EQ] = ACTIONS(4773), + [anon_sym_CARET_EQ] = ACTIONS(4773), + [anon_sym_PIPE_EQ] = ACTIONS(4773), + [anon_sym_and_eq] = ACTIONS(4775), + [anon_sym_or_eq] = ACTIONS(4775), + [anon_sym_xor_eq] = ACTIONS(4775), + [anon_sym_LT_EQ_GT] = ACTIONS(4773), + [anon_sym_or] = ACTIONS(4775), + [anon_sym_and] = ACTIONS(4775), + [anon_sym_bitor] = ACTIONS(4775), + [anon_sym_xor] = ACTIONS(4775), + [anon_sym_bitand] = ACTIONS(4775), + [anon_sym_not_eq] = ACTIONS(4775), + [anon_sym_DASH_DASH] = ACTIONS(4773), + [anon_sym_PLUS_PLUS] = ACTIONS(4773), + [anon_sym_DOT] = ACTIONS(4775), + [anon_sym_DOT_STAR] = ACTIONS(4773), + [anon_sym_DASH_GT] = ACTIONS(4773), + [anon_sym_L_DQUOTE] = ACTIONS(5350), + [anon_sym_u_DQUOTE] = ACTIONS(5350), + [anon_sym_U_DQUOTE] = ACTIONS(5350), + [anon_sym_u8_DQUOTE] = ACTIONS(5350), + [anon_sym_DQUOTE] = ACTIONS(5350), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5353), + [anon_sym_R_DQUOTE] = ACTIONS(5356), + [anon_sym_LR_DQUOTE] = ACTIONS(5356), + [anon_sym_uR_DQUOTE] = ACTIONS(5356), + [anon_sym_UR_DQUOTE] = ACTIONS(5356), + [anon_sym_u8R_DQUOTE] = ACTIONS(5356), + [sym_literal_suffix] = ACTIONS(4775), + }, + [1891] = { + [sym_string_literal] = STATE(1890), + [sym__string_literal] = STATE(2315), + [sym_identifier] = STATE(1890), + [sym_raw_string_literal] = STATE(1890), + [aux_sym_concatenated_string_repeat1] = STATE(1890), + [sym__identifier] = ACTIONS(5359), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4786), + [anon_sym_COMMA] = ACTIONS(4786), + [anon_sym_LPAREN2] = ACTIONS(4786), + [anon_sym_DASH] = ACTIONS(4788), + [anon_sym_PLUS] = ACTIONS(4788), + [anon_sym_STAR] = ACTIONS(4788), + [anon_sym_SLASH] = ACTIONS(4788), + [anon_sym_PERCENT] = ACTIONS(4788), + [anon_sym_PIPE_PIPE] = ACTIONS(4786), + [anon_sym_AMP_AMP] = ACTIONS(4786), + [anon_sym_PIPE] = ACTIONS(4788), + [anon_sym_CARET] = ACTIONS(4788), + [anon_sym_AMP] = ACTIONS(4788), + [anon_sym_EQ_EQ] = ACTIONS(4786), + [anon_sym_BANG_EQ] = ACTIONS(4786), + [anon_sym_GT] = ACTIONS(4788), + [anon_sym_GT_EQ] = ACTIONS(4786), + [anon_sym_LT_EQ] = ACTIONS(4788), + [anon_sym_LT] = ACTIONS(4788), + [anon_sym_LT_LT] = ACTIONS(4788), + [anon_sym_GT_GT] = ACTIONS(4788), + [anon_sym_SEMI] = ACTIONS(4786), + [anon_sym___attribute__] = ACTIONS(4788), + [anon_sym_LBRACK] = ACTIONS(4786), + [anon_sym_EQ] = ACTIONS(4788), + [anon_sym_QMARK] = ACTIONS(4786), + [anon_sym_STAR_EQ] = ACTIONS(4786), + [anon_sym_SLASH_EQ] = ACTIONS(4786), + [anon_sym_PERCENT_EQ] = ACTIONS(4786), + [anon_sym_PLUS_EQ] = ACTIONS(4786), + [anon_sym_DASH_EQ] = ACTIONS(4786), + [anon_sym_LT_LT_EQ] = ACTIONS(4786), + [anon_sym_GT_GT_EQ] = ACTIONS(4786), + [anon_sym_AMP_EQ] = ACTIONS(4786), + [anon_sym_CARET_EQ] = ACTIONS(4786), + [anon_sym_PIPE_EQ] = ACTIONS(4786), + [anon_sym_and_eq] = ACTIONS(4788), + [anon_sym_or_eq] = ACTIONS(4788), + [anon_sym_xor_eq] = ACTIONS(4788), + [anon_sym_LT_EQ_GT] = ACTIONS(4786), + [anon_sym_or] = ACTIONS(4788), + [anon_sym_and] = ACTIONS(4788), + [anon_sym_bitor] = ACTIONS(4788), + [anon_sym_xor] = ACTIONS(4788), + [anon_sym_bitand] = ACTIONS(4788), + [anon_sym_not_eq] = ACTIONS(4788), + [anon_sym_DASH_DASH] = ACTIONS(4786), + [anon_sym_PLUS_PLUS] = ACTIONS(4786), + [anon_sym_DOT] = ACTIONS(4788), + [anon_sym_DOT_STAR] = ACTIONS(4786), + [anon_sym_DASH_GT] = ACTIONS(4786), + [anon_sym_L_DQUOTE] = ACTIONS(5361), + [anon_sym_u_DQUOTE] = ACTIONS(5361), + [anon_sym_U_DQUOTE] = ACTIONS(5361), + [anon_sym_u8_DQUOTE] = ACTIONS(5361), + [anon_sym_DQUOTE] = ACTIONS(5361), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5363), + [anon_sym_R_DQUOTE] = ACTIONS(5365), + [anon_sym_LR_DQUOTE] = ACTIONS(5365), + [anon_sym_uR_DQUOTE] = ACTIONS(5365), + [anon_sym_UR_DQUOTE] = ACTIONS(5365), + [anon_sym_u8R_DQUOTE] = ACTIONS(5365), + [sym_literal_suffix] = ACTIONS(4788), + }, + [1892] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4650), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4647), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4650), + [anon_sym_volatile] = ACTIONS(4650), + [anon_sym_restrict] = ACTIONS(4650), + [anon_sym___restrict__] = ACTIONS(4650), + [anon_sym__Atomic] = ACTIONS(4650), + [anon_sym__Noreturn] = ACTIONS(4650), + [anon_sym_noreturn] = ACTIONS(4650), + [anon_sym_mutable] = ACTIONS(4650), + [anon_sym_constinit] = ACTIONS(4650), + [anon_sym_consteval] = ACTIONS(4650), + [anon_sym_alignas] = ACTIONS(4650), + [anon_sym__Alignas] = ACTIONS(4650), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4645), + [anon_sym_or_eq] = ACTIONS(4645), + [anon_sym_xor_eq] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4645), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4645), + [anon_sym_not_eq] = ACTIONS(4645), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4652), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4650), + [anon_sym_decltype] = ACTIONS(4650), + [anon_sym_DASH_GT_STAR] = ACTIONS(4645), + }, + [1893] = { + [sym_string_literal] = STATE(1891), + [sym__string_literal] = STATE(2315), + [sym_identifier] = STATE(1891), + [sym_raw_string_literal] = STATE(1891), + [aux_sym_concatenated_string_repeat1] = STATE(1891), + [sym__identifier] = ACTIONS(5359), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4764), + [anon_sym_COMMA] = ACTIONS(4764), + [anon_sym_LPAREN2] = ACTIONS(4764), + [anon_sym_DASH] = ACTIONS(4766), + [anon_sym_PLUS] = ACTIONS(4766), + [anon_sym_STAR] = ACTIONS(4766), + [anon_sym_SLASH] = ACTIONS(4766), + [anon_sym_PERCENT] = ACTIONS(4766), + [anon_sym_PIPE_PIPE] = ACTIONS(4764), + [anon_sym_AMP_AMP] = ACTIONS(4764), + [anon_sym_PIPE] = ACTIONS(4766), + [anon_sym_CARET] = ACTIONS(4766), + [anon_sym_AMP] = ACTIONS(4766), + [anon_sym_EQ_EQ] = ACTIONS(4764), + [anon_sym_BANG_EQ] = ACTIONS(4764), + [anon_sym_GT] = ACTIONS(4766), + [anon_sym_GT_EQ] = ACTIONS(4764), + [anon_sym_LT_EQ] = ACTIONS(4766), + [anon_sym_LT] = ACTIONS(4766), + [anon_sym_LT_LT] = ACTIONS(4766), + [anon_sym_GT_GT] = ACTIONS(4766), + [anon_sym_SEMI] = ACTIONS(4764), + [anon_sym___attribute__] = ACTIONS(4766), + [anon_sym_LBRACK] = ACTIONS(4764), + [anon_sym_EQ] = ACTIONS(4766), + [anon_sym_QMARK] = ACTIONS(4764), + [anon_sym_STAR_EQ] = ACTIONS(4764), + [anon_sym_SLASH_EQ] = ACTIONS(4764), + [anon_sym_PERCENT_EQ] = ACTIONS(4764), + [anon_sym_PLUS_EQ] = ACTIONS(4764), + [anon_sym_DASH_EQ] = ACTIONS(4764), + [anon_sym_LT_LT_EQ] = ACTIONS(4764), + [anon_sym_GT_GT_EQ] = ACTIONS(4764), + [anon_sym_AMP_EQ] = ACTIONS(4764), + [anon_sym_CARET_EQ] = ACTIONS(4764), + [anon_sym_PIPE_EQ] = ACTIONS(4764), + [anon_sym_and_eq] = ACTIONS(4766), + [anon_sym_or_eq] = ACTIONS(4766), + [anon_sym_xor_eq] = ACTIONS(4766), + [anon_sym_LT_EQ_GT] = ACTIONS(4764), + [anon_sym_or] = ACTIONS(4766), + [anon_sym_and] = ACTIONS(4766), + [anon_sym_bitor] = ACTIONS(4766), + [anon_sym_xor] = ACTIONS(4766), + [anon_sym_bitand] = ACTIONS(4766), + [anon_sym_not_eq] = ACTIONS(4766), + [anon_sym_DASH_DASH] = ACTIONS(4764), + [anon_sym_PLUS_PLUS] = ACTIONS(4764), + [anon_sym_DOT] = ACTIONS(4766), + [anon_sym_DOT_STAR] = ACTIONS(4764), + [anon_sym_DASH_GT] = ACTIONS(4764), + [anon_sym_L_DQUOTE] = ACTIONS(5361), + [anon_sym_u_DQUOTE] = ACTIONS(5361), + [anon_sym_U_DQUOTE] = ACTIONS(5361), + [anon_sym_u8_DQUOTE] = ACTIONS(5361), + [anon_sym_DQUOTE] = ACTIONS(5361), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5363), + [anon_sym_R_DQUOTE] = ACTIONS(5365), + [anon_sym_LR_DQUOTE] = ACTIONS(5365), + [anon_sym_uR_DQUOTE] = ACTIONS(5365), + [anon_sym_UR_DQUOTE] = ACTIONS(5365), + [anon_sym_u8R_DQUOTE] = ACTIONS(5365), + [sym_literal_suffix] = ACTIONS(4766), + }, + [1894] = { + [sym_string_literal] = STATE(1928), + [sym__string_literal] = STATE(2359), + [sym_identifier] = STATE(1928), + [sym_raw_string_literal] = STATE(1928), + [aux_sym_concatenated_string_repeat1] = STATE(1928), + [sym__identifier] = ACTIONS(5367), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4786), + [anon_sym_COMMA] = ACTIONS(4786), + [anon_sym_LPAREN2] = ACTIONS(4786), + [anon_sym_DASH] = ACTIONS(4788), + [anon_sym_PLUS] = ACTIONS(4788), + [anon_sym_STAR] = ACTIONS(4788), + [anon_sym_SLASH] = ACTIONS(4788), + [anon_sym_PERCENT] = ACTIONS(4788), + [anon_sym_PIPE_PIPE] = ACTIONS(4786), + [anon_sym_AMP_AMP] = ACTIONS(4786), + [anon_sym_PIPE] = ACTIONS(4788), + [anon_sym_CARET] = ACTIONS(4788), + [anon_sym_AMP] = ACTIONS(4788), + [anon_sym_EQ_EQ] = ACTIONS(4786), + [anon_sym_BANG_EQ] = ACTIONS(4786), + [anon_sym_GT] = ACTIONS(4788), + [anon_sym_GT_EQ] = ACTIONS(4788), + [anon_sym_LT_EQ] = ACTIONS(4788), + [anon_sym_LT] = ACTIONS(4788), + [anon_sym_LT_LT] = ACTIONS(4788), + [anon_sym_GT_GT] = ACTIONS(4788), + [anon_sym_LBRACK] = ACTIONS(4786), + [anon_sym_EQ] = ACTIONS(4788), + [anon_sym_QMARK] = ACTIONS(4786), + [anon_sym_STAR_EQ] = ACTIONS(4786), + [anon_sym_SLASH_EQ] = ACTIONS(4786), + [anon_sym_PERCENT_EQ] = ACTIONS(4786), + [anon_sym_PLUS_EQ] = ACTIONS(4786), + [anon_sym_DASH_EQ] = ACTIONS(4786), + [anon_sym_LT_LT_EQ] = ACTIONS(4786), + [anon_sym_GT_GT_EQ] = ACTIONS(4788), + [anon_sym_AMP_EQ] = ACTIONS(4786), + [anon_sym_CARET_EQ] = ACTIONS(4786), + [anon_sym_PIPE_EQ] = ACTIONS(4786), + [anon_sym_and_eq] = ACTIONS(4788), + [anon_sym_or_eq] = ACTIONS(4788), + [anon_sym_xor_eq] = ACTIONS(4788), + [anon_sym_LT_EQ_GT] = ACTIONS(4786), + [anon_sym_or] = ACTIONS(4788), + [anon_sym_and] = ACTIONS(4788), + [anon_sym_bitor] = ACTIONS(4788), + [anon_sym_xor] = ACTIONS(4788), + [anon_sym_bitand] = ACTIONS(4788), + [anon_sym_not_eq] = ACTIONS(4788), + [anon_sym_DASH_DASH] = ACTIONS(4786), + [anon_sym_PLUS_PLUS] = ACTIONS(4786), + [anon_sym_DOT] = ACTIONS(4788), + [anon_sym_DOT_STAR] = ACTIONS(4786), + [anon_sym_DASH_GT] = ACTIONS(4786), + [anon_sym_L_DQUOTE] = ACTIONS(5369), + [anon_sym_u_DQUOTE] = ACTIONS(5369), + [anon_sym_U_DQUOTE] = ACTIONS(5369), + [anon_sym_u8_DQUOTE] = ACTIONS(5369), + [anon_sym_DQUOTE] = ACTIONS(5369), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5371), + [anon_sym_GT2] = ACTIONS(4786), + [anon_sym_R_DQUOTE] = ACTIONS(5373), + [anon_sym_LR_DQUOTE] = ACTIONS(5373), + [anon_sym_uR_DQUOTE] = ACTIONS(5373), + [anon_sym_UR_DQUOTE] = ACTIONS(5373), + [anon_sym_u8R_DQUOTE] = ACTIONS(5373), + [sym_literal_suffix] = ACTIONS(4788), + }, + [1895] = { + [sym_catch_clause] = STATE(1938), + [aux_sym_constructor_try_statement_repeat1] = STATE(1938), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token2] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_friend] = ACTIONS(2566), + [anon_sym_public] = ACTIONS(2566), + [anon_sym_private] = ACTIONS(2566), + [anon_sym_protected] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(5375), + }, + [1896] = { + [sym_catch_clause] = STATE(1935), + [aux_sym_constructor_try_statement_repeat1] = STATE(1935), + [sym__identifier] = ACTIONS(2566), + [aux_sym_preproc_def_token1] = ACTIONS(2566), + [aux_sym_preproc_if_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2566), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2566), + [sym_preproc_directive] = ACTIONS(2566), + [anon_sym_LPAREN2] = ACTIONS(2568), + [anon_sym_TILDE] = ACTIONS(2568), + [anon_sym_STAR] = ACTIONS(2568), + [anon_sym_AMP_AMP] = ACTIONS(2568), + [anon_sym_AMP] = ACTIONS(2566), + [anon_sym___extension__] = ACTIONS(2566), + [anon_sym_typedef] = ACTIONS(2566), + [anon_sym_extern] = ACTIONS(2566), + [anon_sym___attribute__] = ACTIONS(2566), + [anon_sym_COLON_COLON] = ACTIONS(2568), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2568), + [anon_sym___declspec] = ACTIONS(2566), + [anon_sym___based] = ACTIONS(2566), + [anon_sym_RBRACE] = ACTIONS(2568), + [anon_sym_signed] = ACTIONS(2566), + [anon_sym_unsigned] = ACTIONS(2566), + [anon_sym_long] = ACTIONS(2566), + [anon_sym_short] = ACTIONS(2566), + [anon_sym_LBRACK] = ACTIONS(2566), + [anon_sym_static] = ACTIONS(2566), + [anon_sym_register] = ACTIONS(2566), + [anon_sym_inline] = ACTIONS(2566), + [anon_sym___inline] = ACTIONS(2566), + [anon_sym___inline__] = ACTIONS(2566), + [anon_sym___forceinline] = ACTIONS(2566), + [anon_sym_thread_local] = ACTIONS(2566), + [anon_sym___thread] = ACTIONS(2566), + [anon_sym_const] = ACTIONS(2566), + [anon_sym_constexpr] = ACTIONS(2566), + [anon_sym_volatile] = ACTIONS(2566), + [anon_sym_restrict] = ACTIONS(2566), + [anon_sym___restrict__] = ACTIONS(2566), + [anon_sym__Atomic] = ACTIONS(2566), + [anon_sym__Noreturn] = ACTIONS(2566), + [anon_sym_noreturn] = ACTIONS(2566), + [anon_sym_mutable] = ACTIONS(2566), + [anon_sym_constinit] = ACTIONS(2566), + [anon_sym_consteval] = ACTIONS(2566), + [anon_sym_alignas] = ACTIONS(2566), + [anon_sym__Alignas] = ACTIONS(2566), + [sym_primitive_type] = ACTIONS(2566), + [anon_sym_enum] = ACTIONS(2566), + [anon_sym_class] = ACTIONS(2566), + [anon_sym_struct] = ACTIONS(2566), + [anon_sym_union] = ACTIONS(2566), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2568), + [sym_auto] = ACTIONS(2566), + [anon_sym_decltype] = ACTIONS(2566), + [sym_virtual] = ACTIONS(2566), + [anon_sym_explicit] = ACTIONS(2566), + [anon_sym_typename] = ACTIONS(2566), + [anon_sym_template] = ACTIONS(2566), + [anon_sym_operator] = ACTIONS(2566), + [anon_sym_friend] = ACTIONS(2566), + [anon_sym_public] = ACTIONS(2566), + [anon_sym_private] = ACTIONS(2566), + [anon_sym_protected] = ACTIONS(2566), + [anon_sym_using] = ACTIONS(2566), + [anon_sym_static_assert] = ACTIONS(2566), + [anon_sym_catch] = ACTIONS(5377), + }, + [1897] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_structured_binding_declarator_repeat1] = STATE(7205), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(5379), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_RBRACK] = ACTIONS(5382), + [anon_sym_EQ] = ACTIONS(5385), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(5387), + [anon_sym_SLASH_EQ] = ACTIONS(5387), + [anon_sym_PERCENT_EQ] = ACTIONS(5387), + [anon_sym_PLUS_EQ] = ACTIONS(5387), + [anon_sym_DASH_EQ] = ACTIONS(5387), + [anon_sym_LT_LT_EQ] = ACTIONS(5387), + [anon_sym_GT_GT_EQ] = ACTIONS(5387), + [anon_sym_AMP_EQ] = ACTIONS(5387), + [anon_sym_CARET_EQ] = ACTIONS(5387), + [anon_sym_PIPE_EQ] = ACTIONS(5387), + [anon_sym_and_eq] = ACTIONS(5387), + [anon_sym_or_eq] = ACTIONS(5387), + [anon_sym_xor_eq] = ACTIONS(5387), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1898] = { + [sym_catch_clause] = STATE(1938), + [aux_sym_constructor_try_statement_repeat1] = STATE(1938), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token2] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_friend] = ACTIONS(2667), + [anon_sym_public] = ACTIONS(2667), + [anon_sym_private] = ACTIONS(2667), + [anon_sym_protected] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(5375), + }, + [1899] = { + [sym__identifier] = ACTIONS(5389), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5391), + [anon_sym_COMMA] = ACTIONS(5391), + [anon_sym_RPAREN] = ACTIONS(5391), + [aux_sym_preproc_if_token2] = ACTIONS(5391), + [aux_sym_preproc_else_token1] = ACTIONS(5391), + [aux_sym_preproc_elif_token1] = ACTIONS(5389), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5391), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5391), + [anon_sym_LPAREN2] = ACTIONS(5391), + [anon_sym_DASH] = ACTIONS(5389), + [anon_sym_PLUS] = ACTIONS(5389), + [anon_sym_STAR] = ACTIONS(5391), + [anon_sym_SLASH] = ACTIONS(5389), + [anon_sym_PERCENT] = ACTIONS(5391), + [anon_sym_PIPE_PIPE] = ACTIONS(5391), + [anon_sym_AMP_AMP] = ACTIONS(5391), + [anon_sym_PIPE] = ACTIONS(5389), + [anon_sym_CARET] = ACTIONS(5391), + [anon_sym_AMP] = ACTIONS(5389), + [anon_sym_EQ_EQ] = ACTIONS(5391), + [anon_sym_BANG_EQ] = ACTIONS(5391), + [anon_sym_GT] = ACTIONS(5389), + [anon_sym_GT_EQ] = ACTIONS(5391), + [anon_sym_LT_EQ] = ACTIONS(5389), + [anon_sym_LT] = ACTIONS(5389), + [anon_sym_LT_LT] = ACTIONS(5391), + [anon_sym_GT_GT] = ACTIONS(5391), + [anon_sym_SEMI] = ACTIONS(5391), + [anon_sym___extension__] = ACTIONS(5389), + [anon_sym___attribute__] = ACTIONS(5389), + [anon_sym_LBRACE] = ACTIONS(5391), + [anon_sym_RBRACE] = ACTIONS(5391), + [anon_sym_LBRACK] = ACTIONS(5391), + [anon_sym_RBRACK] = ACTIONS(5391), + [anon_sym_const] = ACTIONS(5389), + [anon_sym_constexpr] = ACTIONS(5389), + [anon_sym_volatile] = ACTIONS(5389), + [anon_sym_restrict] = ACTIONS(5389), + [anon_sym___restrict__] = ACTIONS(5389), + [anon_sym__Atomic] = ACTIONS(5389), + [anon_sym__Noreturn] = ACTIONS(5389), + [anon_sym_noreturn] = ACTIONS(5389), + [anon_sym_mutable] = ACTIONS(5389), + [anon_sym_constinit] = ACTIONS(5389), + [anon_sym_consteval] = ACTIONS(5389), + [anon_sym_alignas] = ACTIONS(5389), + [anon_sym__Alignas] = ACTIONS(5389), + [anon_sym_COLON] = ACTIONS(5391), + [anon_sym_QMARK] = ACTIONS(5391), + [anon_sym_LT_EQ_GT] = ACTIONS(5391), + [anon_sym_or] = ACTIONS(5389), + [anon_sym_and] = ACTIONS(5389), + [anon_sym_bitor] = ACTIONS(5389), + [anon_sym_xor] = ACTIONS(5389), + [anon_sym_bitand] = ACTIONS(5389), + [anon_sym_not_eq] = ACTIONS(5389), + [anon_sym_DASH_DASH] = ACTIONS(5391), + [anon_sym_PLUS_PLUS] = ACTIONS(5391), + [anon_sym_DOT] = ACTIONS(5389), + [anon_sym_DOT_STAR] = ACTIONS(5391), + [anon_sym_DASH_GT] = ACTIONS(5391), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5391), + [sym_auto] = ACTIONS(5389), + [anon_sym_decltype] = ACTIONS(5389), + [anon_sym_final] = ACTIONS(5389), + [anon_sym_override] = ACTIONS(5389), + [anon_sym_requires] = ACTIONS(5389), + }, + [1900] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [aux_sym_preproc_if_token2] = ACTIONS(4979), + [aux_sym_preproc_else_token1] = ACTIONS(4979), + [aux_sym_preproc_elif_token1] = ACTIONS(4977), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4979), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4977), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4977), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4977), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4977), + [anon_sym_GT_GT] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_EQ] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_STAR_EQ] = ACTIONS(4979), + [anon_sym_SLASH_EQ] = ACTIONS(4979), + [anon_sym_PERCENT_EQ] = ACTIONS(4979), + [anon_sym_PLUS_EQ] = ACTIONS(4979), + [anon_sym_DASH_EQ] = ACTIONS(4979), + [anon_sym_LT_LT_EQ] = ACTIONS(4979), + [anon_sym_GT_GT_EQ] = ACTIONS(4979), + [anon_sym_AMP_EQ] = ACTIONS(4979), + [anon_sym_CARET_EQ] = ACTIONS(4979), + [anon_sym_PIPE_EQ] = ACTIONS(4979), + [anon_sym_and_eq] = ACTIONS(4977), + [anon_sym_or_eq] = ACTIONS(4977), + [anon_sym_xor_eq] = ACTIONS(4977), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + }, + [1901] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [aux_sym_preproc_if_token2] = ACTIONS(5014), + [aux_sym_preproc_else_token1] = ACTIONS(5014), + [aux_sym_preproc_elif_token1] = ACTIONS(5012), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5014), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5014), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5014), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5014), + [anon_sym_GT_GT] = ACTIONS(5014), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___extension__] = ACTIONS(5012), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_const] = ACTIONS(5012), + [anon_sym_constexpr] = ACTIONS(5012), + [anon_sym_volatile] = ACTIONS(5012), + [anon_sym_restrict] = ACTIONS(5012), + [anon_sym___restrict__] = ACTIONS(5012), + [anon_sym__Atomic] = ACTIONS(5012), + [anon_sym__Noreturn] = ACTIONS(5012), + [anon_sym_noreturn] = ACTIONS(5012), + [anon_sym_mutable] = ACTIONS(5012), + [anon_sym_constinit] = ACTIONS(5012), + [anon_sym_consteval] = ACTIONS(5012), + [anon_sym_alignas] = ACTIONS(5012), + [anon_sym__Alignas] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5014), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + [anon_sym_final] = ACTIONS(5012), + [anon_sym_override] = ACTIONS(5012), + [anon_sym_requires] = ACTIONS(5012), + }, + [1902] = { + [sym_catch_clause] = STATE(1935), + [aux_sym_constructor_try_statement_repeat1] = STATE(1935), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym_RBRACE] = ACTIONS(2665), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_friend] = ACTIONS(2663), + [anon_sym_public] = ACTIONS(2663), + [anon_sym_private] = ACTIONS(2663), + [anon_sym_protected] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(5377), + }, + [1903] = { + [sym__identifier] = ACTIONS(4643), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4650), + [anon_sym_COMMA] = ACTIONS(4650), + [anon_sym_RPAREN] = ACTIONS(4650), + [aux_sym_preproc_if_token2] = ACTIONS(4650), + [aux_sym_preproc_else_token1] = ACTIONS(4650), + [aux_sym_preproc_elif_token1] = ACTIONS(4643), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4650), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4650), + [anon_sym_LPAREN2] = ACTIONS(4650), + [anon_sym_DASH] = ACTIONS(4643), + [anon_sym_PLUS] = ACTIONS(4643), + [anon_sym_STAR] = ACTIONS(4643), + [anon_sym_SLASH] = ACTIONS(4643), + [anon_sym_PERCENT] = ACTIONS(4643), + [anon_sym_PIPE_PIPE] = ACTIONS(4650), + [anon_sym_AMP_AMP] = ACTIONS(4650), + [anon_sym_PIPE] = ACTIONS(4643), + [anon_sym_CARET] = ACTIONS(4643), + [anon_sym_AMP] = ACTIONS(4643), + [anon_sym_EQ_EQ] = ACTIONS(4650), + [anon_sym_BANG_EQ] = ACTIONS(4650), + [anon_sym_GT] = ACTIONS(4643), + [anon_sym_GT_EQ] = ACTIONS(4650), + [anon_sym_LT_EQ] = ACTIONS(4643), + [anon_sym_LT] = ACTIONS(4643), + [anon_sym_LT_LT] = ACTIONS(4643), + [anon_sym_GT_GT] = ACTIONS(4643), + [anon_sym_SEMI] = ACTIONS(4650), + [anon_sym___attribute__] = ACTIONS(4643), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_RBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4650), + [anon_sym_RBRACK] = ACTIONS(4650), + [anon_sym_EQ] = ACTIONS(4643), + [anon_sym_COLON] = ACTIONS(4643), + [anon_sym_QMARK] = ACTIONS(4650), + [anon_sym_STAR_EQ] = ACTIONS(4650), + [anon_sym_SLASH_EQ] = ACTIONS(4650), + [anon_sym_PERCENT_EQ] = ACTIONS(4650), + [anon_sym_PLUS_EQ] = ACTIONS(4650), + [anon_sym_DASH_EQ] = ACTIONS(4650), + [anon_sym_LT_LT_EQ] = ACTIONS(4650), + [anon_sym_GT_GT_EQ] = ACTIONS(4650), + [anon_sym_AMP_EQ] = ACTIONS(4650), + [anon_sym_CARET_EQ] = ACTIONS(4650), + [anon_sym_PIPE_EQ] = ACTIONS(4650), + [anon_sym_and_eq] = ACTIONS(4643), + [anon_sym_or_eq] = ACTIONS(4643), + [anon_sym_xor_eq] = ACTIONS(4643), + [anon_sym_LT_EQ_GT] = ACTIONS(4650), + [anon_sym_or] = ACTIONS(4643), + [anon_sym_and] = ACTIONS(4643), + [anon_sym_bitor] = ACTIONS(4643), + [anon_sym_xor] = ACTIONS(4643), + [anon_sym_bitand] = ACTIONS(4643), + [anon_sym_not_eq] = ACTIONS(4643), + [anon_sym_DASH_DASH] = ACTIONS(4650), + [anon_sym_PLUS_PLUS] = ACTIONS(4650), + [anon_sym_DOT] = ACTIONS(4643), + [anon_sym_DOT_STAR] = ACTIONS(4650), + [anon_sym_DASH_GT] = ACTIONS(4650), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4650), + [sym_auto] = ACTIONS(4643), + [anon_sym_decltype] = ACTIONS(4643), + [anon_sym_final] = ACTIONS(4643), + [anon_sym_override] = ACTIONS(4643), + }, + [1904] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4513), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1905] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_RBRACE] = ACTIONS(3765), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1906] = { + [sym__identifier] = ACTIONS(5217), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5219), + [anon_sym_COMMA] = ACTIONS(5219), + [anon_sym_RPAREN] = ACTIONS(5219), + [anon_sym_LPAREN2] = ACTIONS(5219), + [anon_sym_TILDE] = ACTIONS(5219), + [anon_sym_STAR] = ACTIONS(5219), + [anon_sym_AMP_AMP] = ACTIONS(5219), + [anon_sym_AMP] = ACTIONS(5217), + [anon_sym_SEMI] = ACTIONS(5219), + [anon_sym___extension__] = ACTIONS(5217), + [anon_sym_extern] = ACTIONS(5217), + [anon_sym___attribute__] = ACTIONS(5217), + [anon_sym_COLON_COLON] = ACTIONS(5219), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5219), + [anon_sym___declspec] = ACTIONS(5217), + [anon_sym___based] = ACTIONS(5217), + [anon_sym_LBRACE] = ACTIONS(5219), + [anon_sym_signed] = ACTIONS(5217), + [anon_sym_unsigned] = ACTIONS(5217), + [anon_sym_long] = ACTIONS(5217), + [anon_sym_short] = ACTIONS(5217), + [anon_sym_LBRACK] = ACTIONS(5217), + [anon_sym_static] = ACTIONS(5217), + [anon_sym_EQ] = ACTIONS(5219), + [anon_sym_register] = ACTIONS(5217), + [anon_sym_inline] = ACTIONS(5217), + [anon_sym___inline] = ACTIONS(5217), + [anon_sym___inline__] = ACTIONS(5217), + [anon_sym___forceinline] = ACTIONS(5217), + [anon_sym_thread_local] = ACTIONS(5217), + [anon_sym___thread] = ACTIONS(5217), + [anon_sym_const] = ACTIONS(5217), + [anon_sym_constexpr] = ACTIONS(5217), + [anon_sym_volatile] = ACTIONS(5217), + [anon_sym_restrict] = ACTIONS(5217), + [anon_sym___restrict__] = ACTIONS(5217), + [anon_sym__Atomic] = ACTIONS(5217), + [anon_sym__Noreturn] = ACTIONS(5217), + [anon_sym_noreturn] = ACTIONS(5217), + [anon_sym_mutable] = ACTIONS(5217), + [anon_sym_constinit] = ACTIONS(5217), + [anon_sym_consteval] = ACTIONS(5217), + [anon_sym_alignas] = ACTIONS(5217), + [anon_sym__Alignas] = ACTIONS(5217), + [sym_primitive_type] = ACTIONS(5217), + [anon_sym_enum] = ACTIONS(5217), + [anon_sym_class] = ACTIONS(5217), + [anon_sym_struct] = ACTIONS(5217), + [anon_sym_union] = ACTIONS(5217), + [anon_sym_asm] = ACTIONS(5217), + [anon_sym___asm__] = ACTIONS(5217), + [anon_sym_DASH_GT] = ACTIONS(5219), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5219), + [sym_auto] = ACTIONS(5217), + [anon_sym_decltype] = ACTIONS(5217), + [anon_sym_final] = ACTIONS(5217), + [anon_sym_override] = ACTIONS(5217), + [sym_virtual] = ACTIONS(5217), + [anon_sym_explicit] = ACTIONS(5217), + [anon_sym_typename] = ACTIONS(5217), + [anon_sym_template] = ACTIONS(5217), + [anon_sym_GT2] = ACTIONS(5219), + [anon_sym_operator] = ACTIONS(5217), + [anon_sym_try] = ACTIONS(5217), + [anon_sym_noexcept] = ACTIONS(5217), + [anon_sym_throw] = ACTIONS(5217), + [anon_sym_requires] = ACTIONS(5217), + }, + [1907] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4412), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1908] = { + [sym__identifier] = ACTIONS(5389), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5391), + [anon_sym_COMMA] = ACTIONS(5391), + [anon_sym_RPAREN] = ACTIONS(5391), + [anon_sym_LPAREN2] = ACTIONS(5391), + [anon_sym_TILDE] = ACTIONS(5391), + [anon_sym_STAR] = ACTIONS(5391), + [anon_sym_AMP_AMP] = ACTIONS(5391), + [anon_sym_AMP] = ACTIONS(5389), + [anon_sym_SEMI] = ACTIONS(5391), + [anon_sym___extension__] = ACTIONS(5389), + [anon_sym_extern] = ACTIONS(5389), + [anon_sym___attribute__] = ACTIONS(5389), + [anon_sym_COLON_COLON] = ACTIONS(5391), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5391), + [anon_sym___declspec] = ACTIONS(5389), + [anon_sym___based] = ACTIONS(5389), + [anon_sym_LBRACE] = ACTIONS(5391), + [anon_sym_signed] = ACTIONS(5389), + [anon_sym_unsigned] = ACTIONS(5389), + [anon_sym_long] = ACTIONS(5389), + [anon_sym_short] = ACTIONS(5389), + [anon_sym_LBRACK] = ACTIONS(5389), + [anon_sym_static] = ACTIONS(5389), + [anon_sym_EQ] = ACTIONS(5391), + [anon_sym_register] = ACTIONS(5389), + [anon_sym_inline] = ACTIONS(5389), + [anon_sym___inline] = ACTIONS(5389), + [anon_sym___inline__] = ACTIONS(5389), + [anon_sym___forceinline] = ACTIONS(5389), + [anon_sym_thread_local] = ACTIONS(5389), + [anon_sym___thread] = ACTIONS(5389), + [anon_sym_const] = ACTIONS(5389), + [anon_sym_constexpr] = ACTIONS(5389), + [anon_sym_volatile] = ACTIONS(5389), + [anon_sym_restrict] = ACTIONS(5389), + [anon_sym___restrict__] = ACTIONS(5389), + [anon_sym__Atomic] = ACTIONS(5389), + [anon_sym__Noreturn] = ACTIONS(5389), + [anon_sym_noreturn] = ACTIONS(5389), + [anon_sym_mutable] = ACTIONS(5389), + [anon_sym_constinit] = ACTIONS(5389), + [anon_sym_consteval] = ACTIONS(5389), + [anon_sym_alignas] = ACTIONS(5389), + [anon_sym__Alignas] = ACTIONS(5389), + [sym_primitive_type] = ACTIONS(5389), + [anon_sym_enum] = ACTIONS(5389), + [anon_sym_class] = ACTIONS(5389), + [anon_sym_struct] = ACTIONS(5389), + [anon_sym_union] = ACTIONS(5389), + [anon_sym_asm] = ACTIONS(5389), + [anon_sym___asm__] = ACTIONS(5389), + [anon_sym_DASH_GT] = ACTIONS(5391), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5391), + [sym_auto] = ACTIONS(5389), + [anon_sym_decltype] = ACTIONS(5389), + [anon_sym_final] = ACTIONS(5389), + [anon_sym_override] = ACTIONS(5389), + [sym_virtual] = ACTIONS(5389), + [anon_sym_explicit] = ACTIONS(5389), + [anon_sym_typename] = ACTIONS(5389), + [anon_sym_template] = ACTIONS(5389), + [anon_sym_GT2] = ACTIONS(5391), + [anon_sym_operator] = ACTIONS(5389), + [anon_sym_try] = ACTIONS(5389), + [anon_sym_noexcept] = ACTIONS(5389), + [anon_sym_throw] = ACTIONS(5389), + [anon_sym_requires] = ACTIONS(5389), + }, + [1909] = { + [sym_catch_clause] = STATE(1935), + [aux_sym_constructor_try_statement_repeat1] = STATE(1935), + [sym__identifier] = ACTIONS(2667), + [aux_sym_preproc_def_token1] = ACTIONS(2667), + [aux_sym_preproc_if_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2667), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2667), + [sym_preproc_directive] = ACTIONS(2667), + [anon_sym_LPAREN2] = ACTIONS(2669), + [anon_sym_TILDE] = ACTIONS(2669), + [anon_sym_STAR] = ACTIONS(2669), + [anon_sym_AMP_AMP] = ACTIONS(2669), + [anon_sym_AMP] = ACTIONS(2667), + [anon_sym___extension__] = ACTIONS(2667), + [anon_sym_typedef] = ACTIONS(2667), + [anon_sym_extern] = ACTIONS(2667), + [anon_sym___attribute__] = ACTIONS(2667), + [anon_sym_COLON_COLON] = ACTIONS(2669), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2669), + [anon_sym___declspec] = ACTIONS(2667), + [anon_sym___based] = ACTIONS(2667), + [anon_sym_RBRACE] = ACTIONS(2669), + [anon_sym_signed] = ACTIONS(2667), + [anon_sym_unsigned] = ACTIONS(2667), + [anon_sym_long] = ACTIONS(2667), + [anon_sym_short] = ACTIONS(2667), + [anon_sym_LBRACK] = ACTIONS(2667), + [anon_sym_static] = ACTIONS(2667), + [anon_sym_register] = ACTIONS(2667), + [anon_sym_inline] = ACTIONS(2667), + [anon_sym___inline] = ACTIONS(2667), + [anon_sym___inline__] = ACTIONS(2667), + [anon_sym___forceinline] = ACTIONS(2667), + [anon_sym_thread_local] = ACTIONS(2667), + [anon_sym___thread] = ACTIONS(2667), + [anon_sym_const] = ACTIONS(2667), + [anon_sym_constexpr] = ACTIONS(2667), + [anon_sym_volatile] = ACTIONS(2667), + [anon_sym_restrict] = ACTIONS(2667), + [anon_sym___restrict__] = ACTIONS(2667), + [anon_sym__Atomic] = ACTIONS(2667), + [anon_sym__Noreturn] = ACTIONS(2667), + [anon_sym_noreturn] = ACTIONS(2667), + [anon_sym_mutable] = ACTIONS(2667), + [anon_sym_constinit] = ACTIONS(2667), + [anon_sym_consteval] = ACTIONS(2667), + [anon_sym_alignas] = ACTIONS(2667), + [anon_sym__Alignas] = ACTIONS(2667), + [sym_primitive_type] = ACTIONS(2667), + [anon_sym_enum] = ACTIONS(2667), + [anon_sym_class] = ACTIONS(2667), + [anon_sym_struct] = ACTIONS(2667), + [anon_sym_union] = ACTIONS(2667), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2669), + [sym_auto] = ACTIONS(2667), + [anon_sym_decltype] = ACTIONS(2667), + [sym_virtual] = ACTIONS(2667), + [anon_sym_explicit] = ACTIONS(2667), + [anon_sym_typename] = ACTIONS(2667), + [anon_sym_template] = ACTIONS(2667), + [anon_sym_operator] = ACTIONS(2667), + [anon_sym_friend] = ACTIONS(2667), + [anon_sym_public] = ACTIONS(2667), + [anon_sym_private] = ACTIONS(2667), + [anon_sym_protected] = ACTIONS(2667), + [anon_sym_using] = ACTIONS(2667), + [anon_sym_static_assert] = ACTIONS(2667), + [anon_sym_catch] = ACTIONS(5377), + }, + [1910] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(5393), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1911] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(1921), + [sym__declarator] = STATE(6337), + [sym__abstract_declarator] = STATE(6452), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2528), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(2970), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2528), + [aux_sym_pointer_declarator_repeat1] = STATE(1921), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5395), + [anon_sym_RPAREN] = ACTIONS(5395), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5399), + [anon_sym_AMP_AMP] = ACTIONS(5401), + [anon_sym_AMP] = ACTIONS(5403), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_EQ] = ACTIONS(5395), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(5395), + [anon_sym_operator] = ACTIONS(5409), + }, + [1912] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4425), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1913] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [aux_sym_preproc_if_token2] = ACTIONS(4979), + [aux_sym_preproc_else_token1] = ACTIONS(4979), + [aux_sym_preproc_elif_token1] = ACTIONS(4977), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4979), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4977), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4977), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4977), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4977), + [anon_sym_GT_GT] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_EQ] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_STAR_EQ] = ACTIONS(4979), + [anon_sym_SLASH_EQ] = ACTIONS(4979), + [anon_sym_PERCENT_EQ] = ACTIONS(4979), + [anon_sym_PLUS_EQ] = ACTIONS(4979), + [anon_sym_DASH_EQ] = ACTIONS(4979), + [anon_sym_LT_LT_EQ] = ACTIONS(4979), + [anon_sym_GT_GT_EQ] = ACTIONS(4979), + [anon_sym_AMP_EQ] = ACTIONS(4979), + [anon_sym_CARET_EQ] = ACTIONS(4979), + [anon_sym_PIPE_EQ] = ACTIONS(4979), + [anon_sym_and_eq] = ACTIONS(4977), + [anon_sym_or_eq] = ACTIONS(4977), + [anon_sym_xor_eq] = ACTIONS(4977), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + }, + [1914] = { + [sym_string_literal] = STATE(1894), + [sym__string_literal] = STATE(2359), + [sym_identifier] = STATE(1894), + [sym_raw_string_literal] = STATE(1894), + [aux_sym_concatenated_string_repeat1] = STATE(1894), + [sym__identifier] = ACTIONS(5367), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4764), + [anon_sym_COMMA] = ACTIONS(4764), + [anon_sym_LPAREN2] = ACTIONS(4764), + [anon_sym_DASH] = ACTIONS(4766), + [anon_sym_PLUS] = ACTIONS(4766), + [anon_sym_STAR] = ACTIONS(4766), + [anon_sym_SLASH] = ACTIONS(4766), + [anon_sym_PERCENT] = ACTIONS(4766), + [anon_sym_PIPE_PIPE] = ACTIONS(4764), + [anon_sym_AMP_AMP] = ACTIONS(4764), + [anon_sym_PIPE] = ACTIONS(4766), + [anon_sym_CARET] = ACTIONS(4766), + [anon_sym_AMP] = ACTIONS(4766), + [anon_sym_EQ_EQ] = ACTIONS(4764), + [anon_sym_BANG_EQ] = ACTIONS(4764), + [anon_sym_GT] = ACTIONS(4766), + [anon_sym_GT_EQ] = ACTIONS(4766), + [anon_sym_LT_EQ] = ACTIONS(4766), + [anon_sym_LT] = ACTIONS(4766), + [anon_sym_LT_LT] = ACTIONS(4766), + [anon_sym_GT_GT] = ACTIONS(4766), + [anon_sym_LBRACK] = ACTIONS(4764), + [anon_sym_EQ] = ACTIONS(4766), + [anon_sym_QMARK] = ACTIONS(4764), + [anon_sym_STAR_EQ] = ACTIONS(4764), + [anon_sym_SLASH_EQ] = ACTIONS(4764), + [anon_sym_PERCENT_EQ] = ACTIONS(4764), + [anon_sym_PLUS_EQ] = ACTIONS(4764), + [anon_sym_DASH_EQ] = ACTIONS(4764), + [anon_sym_LT_LT_EQ] = ACTIONS(4764), + [anon_sym_GT_GT_EQ] = ACTIONS(4766), + [anon_sym_AMP_EQ] = ACTIONS(4764), + [anon_sym_CARET_EQ] = ACTIONS(4764), + [anon_sym_PIPE_EQ] = ACTIONS(4764), + [anon_sym_and_eq] = ACTIONS(4766), + [anon_sym_or_eq] = ACTIONS(4766), + [anon_sym_xor_eq] = ACTIONS(4766), + [anon_sym_LT_EQ_GT] = ACTIONS(4764), + [anon_sym_or] = ACTIONS(4766), + [anon_sym_and] = ACTIONS(4766), + [anon_sym_bitor] = ACTIONS(4766), + [anon_sym_xor] = ACTIONS(4766), + [anon_sym_bitand] = ACTIONS(4766), + [anon_sym_not_eq] = ACTIONS(4766), + [anon_sym_DASH_DASH] = ACTIONS(4764), + [anon_sym_PLUS_PLUS] = ACTIONS(4764), + [anon_sym_DOT] = ACTIONS(4766), + [anon_sym_DOT_STAR] = ACTIONS(4764), + [anon_sym_DASH_GT] = ACTIONS(4764), + [anon_sym_L_DQUOTE] = ACTIONS(5369), + [anon_sym_u_DQUOTE] = ACTIONS(5369), + [anon_sym_U_DQUOTE] = ACTIONS(5369), + [anon_sym_u8_DQUOTE] = ACTIONS(5369), + [anon_sym_DQUOTE] = ACTIONS(5369), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5371), + [anon_sym_GT2] = ACTIONS(4764), + [anon_sym_R_DQUOTE] = ACTIONS(5373), + [anon_sym_LR_DQUOTE] = ACTIONS(5373), + [anon_sym_uR_DQUOTE] = ACTIONS(5373), + [anon_sym_UR_DQUOTE] = ACTIONS(5373), + [anon_sym_u8R_DQUOTE] = ACTIONS(5373), + [sym_literal_suffix] = ACTIONS(4766), + }, + [1915] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4585), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1916] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4647), + [anon_sym_COMMA] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4652), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4650), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4647), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4650), + [anon_sym_volatile] = ACTIONS(4650), + [anon_sym_restrict] = ACTIONS(4650), + [anon_sym___restrict__] = ACTIONS(4650), + [anon_sym__Atomic] = ACTIONS(4650), + [anon_sym__Noreturn] = ACTIONS(4650), + [anon_sym_noreturn] = ACTIONS(4650), + [anon_sym_mutable] = ACTIONS(4650), + [anon_sym_constinit] = ACTIONS(4650), + [anon_sym_consteval] = ACTIONS(4650), + [anon_sym_alignas] = ACTIONS(4650), + [anon_sym__Alignas] = ACTIONS(4650), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4652), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4645), + [anon_sym_or_eq] = ACTIONS(4645), + [anon_sym_xor_eq] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4645), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4645), + [anon_sym_not_eq] = ACTIONS(4645), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4650), + [anon_sym_decltype] = ACTIONS(4650), + [anon_sym_GT2] = ACTIONS(4647), + }, + [1917] = { + [sym_catch_clause] = STATE(1938), + [aux_sym_constructor_try_statement_repeat1] = STATE(1938), + [sym__identifier] = ACTIONS(2663), + [aux_sym_preproc_def_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token1] = ACTIONS(2663), + [aux_sym_preproc_if_token2] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2663), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2663), + [sym_preproc_directive] = ACTIONS(2663), + [anon_sym_LPAREN2] = ACTIONS(2665), + [anon_sym_TILDE] = ACTIONS(2665), + [anon_sym_STAR] = ACTIONS(2665), + [anon_sym_AMP_AMP] = ACTIONS(2665), + [anon_sym_AMP] = ACTIONS(2663), + [anon_sym___extension__] = ACTIONS(2663), + [anon_sym_typedef] = ACTIONS(2663), + [anon_sym_extern] = ACTIONS(2663), + [anon_sym___attribute__] = ACTIONS(2663), + [anon_sym_COLON_COLON] = ACTIONS(2665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2665), + [anon_sym___declspec] = ACTIONS(2663), + [anon_sym___based] = ACTIONS(2663), + [anon_sym_signed] = ACTIONS(2663), + [anon_sym_unsigned] = ACTIONS(2663), + [anon_sym_long] = ACTIONS(2663), + [anon_sym_short] = ACTIONS(2663), + [anon_sym_LBRACK] = ACTIONS(2663), + [anon_sym_static] = ACTIONS(2663), + [anon_sym_register] = ACTIONS(2663), + [anon_sym_inline] = ACTIONS(2663), + [anon_sym___inline] = ACTIONS(2663), + [anon_sym___inline__] = ACTIONS(2663), + [anon_sym___forceinline] = ACTIONS(2663), + [anon_sym_thread_local] = ACTIONS(2663), + [anon_sym___thread] = ACTIONS(2663), + [anon_sym_const] = ACTIONS(2663), + [anon_sym_constexpr] = ACTIONS(2663), + [anon_sym_volatile] = ACTIONS(2663), + [anon_sym_restrict] = ACTIONS(2663), + [anon_sym___restrict__] = ACTIONS(2663), + [anon_sym__Atomic] = ACTIONS(2663), + [anon_sym__Noreturn] = ACTIONS(2663), + [anon_sym_noreturn] = ACTIONS(2663), + [anon_sym_mutable] = ACTIONS(2663), + [anon_sym_constinit] = ACTIONS(2663), + [anon_sym_consteval] = ACTIONS(2663), + [anon_sym_alignas] = ACTIONS(2663), + [anon_sym__Alignas] = ACTIONS(2663), + [sym_primitive_type] = ACTIONS(2663), + [anon_sym_enum] = ACTIONS(2663), + [anon_sym_class] = ACTIONS(2663), + [anon_sym_struct] = ACTIONS(2663), + [anon_sym_union] = ACTIONS(2663), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2665), + [sym_auto] = ACTIONS(2663), + [anon_sym_decltype] = ACTIONS(2663), + [sym_virtual] = ACTIONS(2663), + [anon_sym_explicit] = ACTIONS(2663), + [anon_sym_typename] = ACTIONS(2663), + [anon_sym_template] = ACTIONS(2663), + [anon_sym_operator] = ACTIONS(2663), + [anon_sym_friend] = ACTIONS(2663), + [anon_sym_public] = ACTIONS(2663), + [anon_sym_private] = ACTIONS(2663), + [anon_sym_protected] = ACTIONS(2663), + [anon_sym_using] = ACTIONS(2663), + [anon_sym_static_assert] = ACTIONS(2663), + [anon_sym_catch] = ACTIONS(5375), + }, + [1918] = { + [sym_string_literal] = STATE(1893), + [sym__string_literal] = STATE(2315), + [sym_template_argument_list] = STATE(2331), + [sym_raw_string_literal] = STATE(1893), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4892), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___attribute__] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(5361), + [anon_sym_u_DQUOTE] = ACTIONS(5361), + [anon_sym_U_DQUOTE] = ACTIONS(5361), + [anon_sym_u8_DQUOTE] = ACTIONS(5361), + [anon_sym_DQUOTE] = ACTIONS(5361), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5411), + [anon_sym_R_DQUOTE] = ACTIONS(5365), + [anon_sym_LR_DQUOTE] = ACTIONS(5365), + [anon_sym_uR_DQUOTE] = ACTIONS(5365), + [anon_sym_UR_DQUOTE] = ACTIONS(5365), + [anon_sym_u8R_DQUOTE] = ACTIONS(5365), + }, + [1919] = { + [sym_template_argument_list] = STATE(1956), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_RPAREN] = ACTIONS(4614), + [anon_sym_LPAREN2] = ACTIONS(4614), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4621), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4614), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4621), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(5413), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym___extension__] = ACTIONS(4617), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_LBRACK] = ACTIONS(4614), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4617), + [anon_sym_volatile] = ACTIONS(4617), + [anon_sym_restrict] = ACTIONS(4617), + [anon_sym___restrict__] = ACTIONS(4617), + [anon_sym__Atomic] = ACTIONS(4617), + [anon_sym__Noreturn] = ACTIONS(4617), + [anon_sym_noreturn] = ACTIONS(4617), + [anon_sym_mutable] = ACTIONS(4617), + [anon_sym_constinit] = ACTIONS(4617), + [anon_sym_consteval] = ACTIONS(4617), + [anon_sym_alignas] = ACTIONS(4617), + [anon_sym__Alignas] = ACTIONS(4617), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4612), + [anon_sym_or_eq] = ACTIONS(4612), + [anon_sym_xor_eq] = ACTIONS(4612), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4612), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4612), + [anon_sym_not_eq] = ACTIONS(4612), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4617), + [anon_sym_decltype] = ACTIONS(4617), + }, + [1920] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_RBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_COLON] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1921] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(4031), + [sym__declarator] = STATE(6343), + [sym__abstract_declarator] = STATE(6458), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2562), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(2970), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2562), + [aux_sym_pointer_declarator_repeat1] = STATE(4031), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5416), + [anon_sym_RPAREN] = ACTIONS(5416), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5399), + [anon_sym_AMP_AMP] = ACTIONS(5401), + [anon_sym_AMP] = ACTIONS(5403), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_EQ] = ACTIONS(5416), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(5416), + [anon_sym_operator] = ACTIONS(5409), + }, + [1922] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_template_argument_list] = STATE(3160), + [sym_raw_string_literal] = STATE(1832), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4689), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1923] = { + [sym__identifier] = ACTIONS(5008), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5010), + [anon_sym_COMMA] = ACTIONS(5010), + [anon_sym_RPAREN] = ACTIONS(5010), + [aux_sym_preproc_if_token2] = ACTIONS(5010), + [aux_sym_preproc_else_token1] = ACTIONS(5010), + [aux_sym_preproc_elif_token1] = ACTIONS(5008), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5010), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5010), + [anon_sym_LPAREN2] = ACTIONS(5010), + [anon_sym_DASH] = ACTIONS(5008), + [anon_sym_PLUS] = ACTIONS(5008), + [anon_sym_STAR] = ACTIONS(5008), + [anon_sym_SLASH] = ACTIONS(5008), + [anon_sym_PERCENT] = ACTIONS(5008), + [anon_sym_PIPE_PIPE] = ACTIONS(5010), + [anon_sym_AMP_AMP] = ACTIONS(5010), + [anon_sym_PIPE] = ACTIONS(5008), + [anon_sym_CARET] = ACTIONS(5008), + [anon_sym_AMP] = ACTIONS(5008), + [anon_sym_EQ_EQ] = ACTIONS(5010), + [anon_sym_BANG_EQ] = ACTIONS(5010), + [anon_sym_GT] = ACTIONS(5008), + [anon_sym_GT_EQ] = ACTIONS(5010), + [anon_sym_LT_EQ] = ACTIONS(5008), + [anon_sym_LT] = ACTIONS(5008), + [anon_sym_LT_LT] = ACTIONS(5008), + [anon_sym_GT_GT] = ACTIONS(5008), + [anon_sym_SEMI] = ACTIONS(5010), + [anon_sym___attribute__] = ACTIONS(5008), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACE] = ACTIONS(5010), + [anon_sym_RBRACE] = ACTIONS(5010), + [anon_sym_LBRACK] = ACTIONS(5010), + [anon_sym_RBRACK] = ACTIONS(5010), + [anon_sym_EQ] = ACTIONS(5008), + [anon_sym_COLON] = ACTIONS(5008), + [anon_sym_QMARK] = ACTIONS(5010), + [anon_sym_STAR_EQ] = ACTIONS(5010), + [anon_sym_SLASH_EQ] = ACTIONS(5010), + [anon_sym_PERCENT_EQ] = ACTIONS(5010), + [anon_sym_PLUS_EQ] = ACTIONS(5010), + [anon_sym_DASH_EQ] = ACTIONS(5010), + [anon_sym_LT_LT_EQ] = ACTIONS(5010), + [anon_sym_GT_GT_EQ] = ACTIONS(5010), + [anon_sym_AMP_EQ] = ACTIONS(5010), + [anon_sym_CARET_EQ] = ACTIONS(5010), + [anon_sym_PIPE_EQ] = ACTIONS(5010), + [anon_sym_and_eq] = ACTIONS(5008), + [anon_sym_or_eq] = ACTIONS(5008), + [anon_sym_xor_eq] = ACTIONS(5008), + [anon_sym_LT_EQ_GT] = ACTIONS(5010), + [anon_sym_or] = ACTIONS(5008), + [anon_sym_and] = ACTIONS(5008), + [anon_sym_bitor] = ACTIONS(5008), + [anon_sym_xor] = ACTIONS(5008), + [anon_sym_bitand] = ACTIONS(5008), + [anon_sym_not_eq] = ACTIONS(5008), + [anon_sym_DASH_DASH] = ACTIONS(5010), + [anon_sym_PLUS_PLUS] = ACTIONS(5010), + [anon_sym_DOT] = ACTIONS(5008), + [anon_sym_DOT_STAR] = ACTIONS(5010), + [anon_sym_DASH_GT] = ACTIONS(5010), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5010), + [sym_auto] = ACTIONS(5008), + [anon_sym_decltype] = ACTIONS(5008), + [anon_sym_final] = ACTIONS(5008), + [anon_sym_override] = ACTIONS(5008), + }, + [1924] = { + [sym_string_literal] = STATE(2001), + [sym__string_literal] = STATE(2501), + [sym_template_argument_list] = STATE(3752), + [sym_raw_string_literal] = STATE(2001), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(5418), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(5421), + [anon_sym_or_eq] = ACTIONS(5421), + [anon_sym_xor_eq] = ACTIONS(5421), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4066), + [anon_sym_u_DQUOTE] = ACTIONS(4066), + [anon_sym_U_DQUOTE] = ACTIONS(4066), + [anon_sym_u8_DQUOTE] = ACTIONS(4066), + [anon_sym_DQUOTE] = ACTIONS(4066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4068), + [anon_sym_R_DQUOTE] = ACTIONS(4070), + [anon_sym_LR_DQUOTE] = ACTIONS(4070), + [anon_sym_uR_DQUOTE] = ACTIONS(4070), + [anon_sym_UR_DQUOTE] = ACTIONS(4070), + [anon_sym_u8R_DQUOTE] = ACTIONS(4070), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + }, + [1925] = { + [sym_string_literal] = STATE(2846), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2846), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(4057), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4059), + [anon_sym_SLASH_EQ] = ACTIONS(4059), + [anon_sym_PERCENT_EQ] = ACTIONS(4059), + [anon_sym_PLUS_EQ] = ACTIONS(4059), + [anon_sym_DASH_EQ] = ACTIONS(4059), + [anon_sym_LT_LT_EQ] = ACTIONS(4059), + [anon_sym_GT_GT_EQ] = ACTIONS(4059), + [anon_sym_AMP_EQ] = ACTIONS(4059), + [anon_sym_CARET_EQ] = ACTIONS(4059), + [anon_sym_PIPE_EQ] = ACTIONS(4059), + [anon_sym_and_eq] = ACTIONS(4059), + [anon_sym_or_eq] = ACTIONS(4059), + [anon_sym_xor_eq] = ACTIONS(4059), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1926] = { + [sym__identifier] = ACTIONS(4983), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4985), + [anon_sym_COMMA] = ACTIONS(4985), + [anon_sym_RPAREN] = ACTIONS(4985), + [aux_sym_preproc_if_token2] = ACTIONS(4985), + [aux_sym_preproc_else_token1] = ACTIONS(4985), + [aux_sym_preproc_elif_token1] = ACTIONS(4983), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4985), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4985), + [anon_sym_LPAREN2] = ACTIONS(4985), + [anon_sym_DASH] = ACTIONS(4983), + [anon_sym_PLUS] = ACTIONS(4983), + [anon_sym_STAR] = ACTIONS(4983), + [anon_sym_SLASH] = ACTIONS(4983), + [anon_sym_PERCENT] = ACTIONS(4983), + [anon_sym_PIPE_PIPE] = ACTIONS(4985), + [anon_sym_AMP_AMP] = ACTIONS(4985), + [anon_sym_PIPE] = ACTIONS(4983), + [anon_sym_CARET] = ACTIONS(4983), + [anon_sym_AMP] = ACTIONS(4983), + [anon_sym_EQ_EQ] = ACTIONS(4985), + [anon_sym_BANG_EQ] = ACTIONS(4985), + [anon_sym_GT] = ACTIONS(4983), + [anon_sym_GT_EQ] = ACTIONS(4985), + [anon_sym_LT_EQ] = ACTIONS(4983), + [anon_sym_LT] = ACTIONS(4983), + [anon_sym_LT_LT] = ACTIONS(4983), + [anon_sym_GT_GT] = ACTIONS(4983), + [anon_sym_SEMI] = ACTIONS(4985), + [anon_sym___attribute__] = ACTIONS(4983), + [anon_sym_COLON_COLON] = ACTIONS(4985), + [anon_sym_LBRACE] = ACTIONS(4985), + [anon_sym_RBRACE] = ACTIONS(4985), + [anon_sym_LBRACK] = ACTIONS(4985), + [anon_sym_RBRACK] = ACTIONS(4985), + [anon_sym_EQ] = ACTIONS(4983), + [anon_sym_COLON] = ACTIONS(4983), + [anon_sym_QMARK] = ACTIONS(4985), + [anon_sym_STAR_EQ] = ACTIONS(4985), + [anon_sym_SLASH_EQ] = ACTIONS(4985), + [anon_sym_PERCENT_EQ] = ACTIONS(4985), + [anon_sym_PLUS_EQ] = ACTIONS(4985), + [anon_sym_DASH_EQ] = ACTIONS(4985), + [anon_sym_LT_LT_EQ] = ACTIONS(4985), + [anon_sym_GT_GT_EQ] = ACTIONS(4985), + [anon_sym_AMP_EQ] = ACTIONS(4985), + [anon_sym_CARET_EQ] = ACTIONS(4985), + [anon_sym_PIPE_EQ] = ACTIONS(4985), + [anon_sym_and_eq] = ACTIONS(4983), + [anon_sym_or_eq] = ACTIONS(4983), + [anon_sym_xor_eq] = ACTIONS(4983), + [anon_sym_LT_EQ_GT] = ACTIONS(4985), + [anon_sym_or] = ACTIONS(4983), + [anon_sym_and] = ACTIONS(4983), + [anon_sym_bitor] = ACTIONS(4983), + [anon_sym_xor] = ACTIONS(4983), + [anon_sym_bitand] = ACTIONS(4983), + [anon_sym_not_eq] = ACTIONS(4983), + [anon_sym_DASH_DASH] = ACTIONS(4985), + [anon_sym_PLUS_PLUS] = ACTIONS(4985), + [anon_sym_DOT] = ACTIONS(4983), + [anon_sym_DOT_STAR] = ACTIONS(4985), + [anon_sym_DASH_GT] = ACTIONS(4985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4985), + [sym_auto] = ACTIONS(4983), + [anon_sym_decltype] = ACTIONS(4983), + [anon_sym_final] = ACTIONS(4983), + [anon_sym_override] = ACTIONS(4983), + }, + [1927] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(3807), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1928] = { + [sym_string_literal] = STATE(1928), + [sym__string_literal] = STATE(2359), + [sym_identifier] = STATE(1928), + [sym_raw_string_literal] = STATE(1928), + [aux_sym_concatenated_string_repeat1] = STATE(1928), + [sym__identifier] = ACTIONS(5423), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4773), + [anon_sym_COMMA] = ACTIONS(4773), + [anon_sym_LPAREN2] = ACTIONS(4773), + [anon_sym_DASH] = ACTIONS(4775), + [anon_sym_PLUS] = ACTIONS(4775), + [anon_sym_STAR] = ACTIONS(4775), + [anon_sym_SLASH] = ACTIONS(4775), + [anon_sym_PERCENT] = ACTIONS(4775), + [anon_sym_PIPE_PIPE] = ACTIONS(4773), + [anon_sym_AMP_AMP] = ACTIONS(4773), + [anon_sym_PIPE] = ACTIONS(4775), + [anon_sym_CARET] = ACTIONS(4775), + [anon_sym_AMP] = ACTIONS(4775), + [anon_sym_EQ_EQ] = ACTIONS(4773), + [anon_sym_BANG_EQ] = ACTIONS(4773), + [anon_sym_GT] = ACTIONS(4775), + [anon_sym_GT_EQ] = ACTIONS(4775), + [anon_sym_LT_EQ] = ACTIONS(4775), + [anon_sym_LT] = ACTIONS(4775), + [anon_sym_LT_LT] = ACTIONS(4775), + [anon_sym_GT_GT] = ACTIONS(4775), + [anon_sym_LBRACK] = ACTIONS(4773), + [anon_sym_EQ] = ACTIONS(4775), + [anon_sym_QMARK] = ACTIONS(4773), + [anon_sym_STAR_EQ] = ACTIONS(4773), + [anon_sym_SLASH_EQ] = ACTIONS(4773), + [anon_sym_PERCENT_EQ] = ACTIONS(4773), + [anon_sym_PLUS_EQ] = ACTIONS(4773), + [anon_sym_DASH_EQ] = ACTIONS(4773), + [anon_sym_LT_LT_EQ] = ACTIONS(4773), + [anon_sym_GT_GT_EQ] = ACTIONS(4775), + [anon_sym_AMP_EQ] = ACTIONS(4773), + [anon_sym_CARET_EQ] = ACTIONS(4773), + [anon_sym_PIPE_EQ] = ACTIONS(4773), + [anon_sym_and_eq] = ACTIONS(4775), + [anon_sym_or_eq] = ACTIONS(4775), + [anon_sym_xor_eq] = ACTIONS(4775), + [anon_sym_LT_EQ_GT] = ACTIONS(4773), + [anon_sym_or] = ACTIONS(4775), + [anon_sym_and] = ACTIONS(4775), + [anon_sym_bitor] = ACTIONS(4775), + [anon_sym_xor] = ACTIONS(4775), + [anon_sym_bitand] = ACTIONS(4775), + [anon_sym_not_eq] = ACTIONS(4775), + [anon_sym_DASH_DASH] = ACTIONS(4773), + [anon_sym_PLUS_PLUS] = ACTIONS(4773), + [anon_sym_DOT] = ACTIONS(4775), + [anon_sym_DOT_STAR] = ACTIONS(4773), + [anon_sym_DASH_GT] = ACTIONS(4773), + [anon_sym_L_DQUOTE] = ACTIONS(5426), + [anon_sym_u_DQUOTE] = ACTIONS(5426), + [anon_sym_U_DQUOTE] = ACTIONS(5426), + [anon_sym_u8_DQUOTE] = ACTIONS(5426), + [anon_sym_DQUOTE] = ACTIONS(5426), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5429), + [anon_sym_GT2] = ACTIONS(4773), + [anon_sym_R_DQUOTE] = ACTIONS(5432), + [anon_sym_LR_DQUOTE] = ACTIONS(5432), + [anon_sym_uR_DQUOTE] = ACTIONS(5432), + [anon_sym_UR_DQUOTE] = ACTIONS(5432), + [anon_sym_u8R_DQUOTE] = ACTIONS(5432), + [sym_literal_suffix] = ACTIONS(4775), + }, + [1929] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4557), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1930] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_RBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_COLON] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1931] = { + [sym__identifier] = ACTIONS(2677), + [anon_sym_DOT_DOT_DOT] = ACTIONS(2679), + [anon_sym_COMMA] = ACTIONS(2679), + [anon_sym_RPAREN] = ACTIONS(2679), + [anon_sym_LPAREN2] = ACTIONS(2679), + [anon_sym_TILDE] = ACTIONS(2679), + [anon_sym_STAR] = ACTIONS(2679), + [anon_sym_AMP_AMP] = ACTIONS(2679), + [anon_sym_AMP] = ACTIONS(2677), + [anon_sym_SEMI] = ACTIONS(2679), + [anon_sym___extension__] = ACTIONS(2677), + [anon_sym_extern] = ACTIONS(2677), + [anon_sym___attribute__] = ACTIONS(2677), + [anon_sym_COLON_COLON] = ACTIONS(2679), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2679), + [anon_sym___declspec] = ACTIONS(2677), + [anon_sym___based] = ACTIONS(2677), + [anon_sym_LBRACE] = ACTIONS(2679), + [anon_sym_signed] = ACTIONS(2677), + [anon_sym_unsigned] = ACTIONS(2677), + [anon_sym_long] = ACTIONS(2677), + [anon_sym_short] = ACTIONS(2677), + [anon_sym_LBRACK] = ACTIONS(2677), + [anon_sym_static] = ACTIONS(2677), + [anon_sym_EQ] = ACTIONS(2679), + [anon_sym_register] = ACTIONS(2677), + [anon_sym_inline] = ACTIONS(2677), + [anon_sym___inline] = ACTIONS(2677), + [anon_sym___inline__] = ACTIONS(2677), + [anon_sym___forceinline] = ACTIONS(2677), + [anon_sym_thread_local] = ACTIONS(2677), + [anon_sym___thread] = ACTIONS(2677), + [anon_sym_const] = ACTIONS(2677), + [anon_sym_constexpr] = ACTIONS(2677), + [anon_sym_volatile] = ACTIONS(2677), + [anon_sym_restrict] = ACTIONS(2677), + [anon_sym___restrict__] = ACTIONS(2677), + [anon_sym__Atomic] = ACTIONS(2677), + [anon_sym__Noreturn] = ACTIONS(2677), + [anon_sym_noreturn] = ACTIONS(2677), + [anon_sym_mutable] = ACTIONS(2677), + [anon_sym_constinit] = ACTIONS(2677), + [anon_sym_consteval] = ACTIONS(2677), + [anon_sym_alignas] = ACTIONS(2677), + [anon_sym__Alignas] = ACTIONS(2677), + [sym_primitive_type] = ACTIONS(2677), + [anon_sym_enum] = ACTIONS(2677), + [anon_sym_class] = ACTIONS(2677), + [anon_sym_struct] = ACTIONS(2677), + [anon_sym_union] = ACTIONS(2677), + [anon_sym_asm] = ACTIONS(2677), + [anon_sym___asm__] = ACTIONS(2677), + [anon_sym_DASH_GT] = ACTIONS(2679), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2679), + [sym_auto] = ACTIONS(2677), + [anon_sym_decltype] = ACTIONS(2677), + [anon_sym_final] = ACTIONS(2677), + [anon_sym_override] = ACTIONS(2677), + [sym_virtual] = ACTIONS(2677), + [anon_sym_explicit] = ACTIONS(2677), + [anon_sym_typename] = ACTIONS(2677), + [anon_sym_template] = ACTIONS(2677), + [anon_sym_GT2] = ACTIONS(2679), + [anon_sym_operator] = ACTIONS(2677), + [anon_sym_try] = ACTIONS(2677), + [anon_sym_noexcept] = ACTIONS(2677), + [anon_sym_throw] = ACTIONS(2677), + [anon_sym_requires] = ACTIONS(2677), + }, + [1932] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + }, + [1933] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(3805), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1934] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4561), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1935] = { + [sym_catch_clause] = STATE(1935), + [aux_sym_constructor_try_statement_repeat1] = STATE(1935), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym_RBRACE] = ACTIONS(2574), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_friend] = ACTIONS(2572), + [anon_sym_public] = ACTIONS(2572), + [anon_sym_private] = ACTIONS(2572), + [anon_sym_protected] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(5435), + }, + [1936] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [aux_sym_structured_binding_declarator_repeat1] = STATE(7205), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(5438), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_RBRACK] = ACTIONS(5382), + [anon_sym_EQ] = ACTIONS(5385), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(5387), + [anon_sym_SLASH_EQ] = ACTIONS(5387), + [anon_sym_PERCENT_EQ] = ACTIONS(5387), + [anon_sym_PLUS_EQ] = ACTIONS(5387), + [anon_sym_DASH_EQ] = ACTIONS(5387), + [anon_sym_LT_LT_EQ] = ACTIONS(5387), + [anon_sym_GT_GT_EQ] = ACTIONS(5387), + [anon_sym_AMP_EQ] = ACTIONS(5387), + [anon_sym_CARET_EQ] = ACTIONS(5387), + [anon_sym_PIPE_EQ] = ACTIONS(5387), + [anon_sym_and_eq] = ACTIONS(5387), + [anon_sym_or_eq] = ACTIONS(5387), + [anon_sym_xor_eq] = ACTIONS(5387), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1937] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(3827), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1938] = { + [sym_catch_clause] = STATE(1938), + [aux_sym_constructor_try_statement_repeat1] = STATE(1938), + [sym__identifier] = ACTIONS(2572), + [aux_sym_preproc_def_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token1] = ACTIONS(2572), + [aux_sym_preproc_if_token2] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2572), + [sym_preproc_directive] = ACTIONS(2572), + [anon_sym_LPAREN2] = ACTIONS(2574), + [anon_sym_TILDE] = ACTIONS(2574), + [anon_sym_STAR] = ACTIONS(2574), + [anon_sym_AMP_AMP] = ACTIONS(2574), + [anon_sym_AMP] = ACTIONS(2572), + [anon_sym___extension__] = ACTIONS(2572), + [anon_sym_typedef] = ACTIONS(2572), + [anon_sym_extern] = ACTIONS(2572), + [anon_sym___attribute__] = ACTIONS(2572), + [anon_sym_COLON_COLON] = ACTIONS(2574), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2574), + [anon_sym___declspec] = ACTIONS(2572), + [anon_sym___based] = ACTIONS(2572), + [anon_sym_signed] = ACTIONS(2572), + [anon_sym_unsigned] = ACTIONS(2572), + [anon_sym_long] = ACTIONS(2572), + [anon_sym_short] = ACTIONS(2572), + [anon_sym_LBRACK] = ACTIONS(2572), + [anon_sym_static] = ACTIONS(2572), + [anon_sym_register] = ACTIONS(2572), + [anon_sym_inline] = ACTIONS(2572), + [anon_sym___inline] = ACTIONS(2572), + [anon_sym___inline__] = ACTIONS(2572), + [anon_sym___forceinline] = ACTIONS(2572), + [anon_sym_thread_local] = ACTIONS(2572), + [anon_sym___thread] = ACTIONS(2572), + [anon_sym_const] = ACTIONS(2572), + [anon_sym_constexpr] = ACTIONS(2572), + [anon_sym_volatile] = ACTIONS(2572), + [anon_sym_restrict] = ACTIONS(2572), + [anon_sym___restrict__] = ACTIONS(2572), + [anon_sym__Atomic] = ACTIONS(2572), + [anon_sym__Noreturn] = ACTIONS(2572), + [anon_sym_noreturn] = ACTIONS(2572), + [anon_sym_mutable] = ACTIONS(2572), + [anon_sym_constinit] = ACTIONS(2572), + [anon_sym_consteval] = ACTIONS(2572), + [anon_sym_alignas] = ACTIONS(2572), + [anon_sym__Alignas] = ACTIONS(2572), + [sym_primitive_type] = ACTIONS(2572), + [anon_sym_enum] = ACTIONS(2572), + [anon_sym_class] = ACTIONS(2572), + [anon_sym_struct] = ACTIONS(2572), + [anon_sym_union] = ACTIONS(2572), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2574), + [sym_auto] = ACTIONS(2572), + [anon_sym_decltype] = ACTIONS(2572), + [sym_virtual] = ACTIONS(2572), + [anon_sym_explicit] = ACTIONS(2572), + [anon_sym_typename] = ACTIONS(2572), + [anon_sym_template] = ACTIONS(2572), + [anon_sym_operator] = ACTIONS(2572), + [anon_sym_friend] = ACTIONS(2572), + [anon_sym_public] = ACTIONS(2572), + [anon_sym_private] = ACTIONS(2572), + [anon_sym_protected] = ACTIONS(2572), + [anon_sym_using] = ACTIONS(2572), + [anon_sym_static_assert] = ACTIONS(2572), + [anon_sym_catch] = ACTIONS(5440), + }, + [1939] = { + [sym_string_literal] = STATE(2899), + [sym__string_literal] = STATE(3744), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2899), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___attribute__] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(5443), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(5445), + [anon_sym_SLASH_EQ] = ACTIONS(5445), + [anon_sym_PERCENT_EQ] = ACTIONS(5445), + [anon_sym_PLUS_EQ] = ACTIONS(5445), + [anon_sym_DASH_EQ] = ACTIONS(5445), + [anon_sym_LT_LT_EQ] = ACTIONS(5445), + [anon_sym_GT_GT_EQ] = ACTIONS(5445), + [anon_sym_AMP_EQ] = ACTIONS(5445), + [anon_sym_CARET_EQ] = ACTIONS(5445), + [anon_sym_PIPE_EQ] = ACTIONS(5445), + [anon_sym_and_eq] = ACTIONS(5445), + [anon_sym_or_eq] = ACTIONS(5445), + [anon_sym_xor_eq] = ACTIONS(5445), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(5447), + [anon_sym_u_DQUOTE] = ACTIONS(5447), + [anon_sym_U_DQUOTE] = ACTIONS(5447), + [anon_sym_u8_DQUOTE] = ACTIONS(5447), + [anon_sym_DQUOTE] = ACTIONS(5447), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5449), + [anon_sym_R_DQUOTE] = ACTIONS(5451), + [anon_sym_LR_DQUOTE] = ACTIONS(5451), + [anon_sym_uR_DQUOTE] = ACTIONS(5451), + [anon_sym_UR_DQUOTE] = ACTIONS(5451), + [anon_sym_u8R_DQUOTE] = ACTIONS(5451), + }, + [1940] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3797), + [anon_sym_COLON] = ACTIONS(4072), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3801), + [anon_sym_SLASH_EQ] = ACTIONS(3801), + [anon_sym_PERCENT_EQ] = ACTIONS(3801), + [anon_sym_PLUS_EQ] = ACTIONS(3801), + [anon_sym_DASH_EQ] = ACTIONS(3801), + [anon_sym_LT_LT_EQ] = ACTIONS(3801), + [anon_sym_GT_GT_EQ] = ACTIONS(3801), + [anon_sym_AMP_EQ] = ACTIONS(3801), + [anon_sym_CARET_EQ] = ACTIONS(3801), + [anon_sym_PIPE_EQ] = ACTIONS(3801), + [anon_sym_and_eq] = ACTIONS(3801), + [anon_sym_or_eq] = ACTIONS(3801), + [anon_sym_xor_eq] = ACTIONS(3801), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1941] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(5130), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1942] = { + [sym__declaration_modifiers] = STATE(1958), + [sym__declaration_specifiers] = STATE(4524), + [sym_attribute_specifier] = STATE(1958), + [sym_attribute_declaration] = STATE(1958), + [sym_ms_declspec_modifier] = STATE(1958), + [sym_storage_class_specifier] = STATE(1958), + [sym_type_qualifier] = STATE(1958), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2399), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1958), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(1405), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1943] = { + [sym_attribute_specifier] = STATE(2112), + [sym_enumerator_list] = STATE(1964), + [sym__identifier] = ACTIONS(5453), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5455), + [anon_sym_COMMA] = ACTIONS(5455), + [anon_sym_RPAREN] = ACTIONS(5455), + [aux_sym_preproc_if_token2] = ACTIONS(5455), + [aux_sym_preproc_else_token1] = ACTIONS(5455), + [aux_sym_preproc_elif_token1] = ACTIONS(5453), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5455), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5455), + [anon_sym_LPAREN2] = ACTIONS(5455), + [anon_sym_DASH] = ACTIONS(5453), + [anon_sym_PLUS] = ACTIONS(5453), + [anon_sym_STAR] = ACTIONS(5453), + [anon_sym_SLASH] = ACTIONS(5453), + [anon_sym_PERCENT] = ACTIONS(5453), + [anon_sym_PIPE_PIPE] = ACTIONS(5455), + [anon_sym_AMP_AMP] = ACTIONS(5455), + [anon_sym_PIPE] = ACTIONS(5453), + [anon_sym_CARET] = ACTIONS(5453), + [anon_sym_AMP] = ACTIONS(5453), + [anon_sym_EQ_EQ] = ACTIONS(5455), + [anon_sym_BANG_EQ] = ACTIONS(5455), + [anon_sym_GT] = ACTIONS(5453), + [anon_sym_GT_EQ] = ACTIONS(5455), + [anon_sym_LT_EQ] = ACTIONS(5453), + [anon_sym_LT] = ACTIONS(5453), + [anon_sym_LT_LT] = ACTIONS(5453), + [anon_sym_GT_GT] = ACTIONS(5453), + [anon_sym_SEMI] = ACTIONS(5455), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5457), + [anon_sym_RBRACE] = ACTIONS(5455), + [anon_sym_LBRACK] = ACTIONS(5455), + [anon_sym_RBRACK] = ACTIONS(5455), + [anon_sym_EQ] = ACTIONS(5453), + [anon_sym_COLON] = ACTIONS(5455), + [anon_sym_QMARK] = ACTIONS(5455), + [anon_sym_STAR_EQ] = ACTIONS(5455), + [anon_sym_SLASH_EQ] = ACTIONS(5455), + [anon_sym_PERCENT_EQ] = ACTIONS(5455), + [anon_sym_PLUS_EQ] = ACTIONS(5455), + [anon_sym_DASH_EQ] = ACTIONS(5455), + [anon_sym_LT_LT_EQ] = ACTIONS(5455), + [anon_sym_GT_GT_EQ] = ACTIONS(5455), + [anon_sym_AMP_EQ] = ACTIONS(5455), + [anon_sym_CARET_EQ] = ACTIONS(5455), + [anon_sym_PIPE_EQ] = ACTIONS(5455), + [anon_sym_and_eq] = ACTIONS(5453), + [anon_sym_or_eq] = ACTIONS(5453), + [anon_sym_xor_eq] = ACTIONS(5453), + [anon_sym_LT_EQ_GT] = ACTIONS(5455), + [anon_sym_or] = ACTIONS(5453), + [anon_sym_and] = ACTIONS(5453), + [anon_sym_bitor] = ACTIONS(5453), + [anon_sym_xor] = ACTIONS(5453), + [anon_sym_bitand] = ACTIONS(5453), + [anon_sym_not_eq] = ACTIONS(5453), + [anon_sym_DASH_DASH] = ACTIONS(5455), + [anon_sym_PLUS_PLUS] = ACTIONS(5455), + [anon_sym_DOT] = ACTIONS(5453), + [anon_sym_DOT_STAR] = ACTIONS(5455), + [anon_sym_DASH_GT] = ACTIONS(5455), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5455), + [sym_auto] = ACTIONS(5453), + [anon_sym_decltype] = ACTIONS(5453), + }, + [1944] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(4975), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1945] = { + [sym_template_argument_list] = STATE(1626), + [aux_sym_sized_type_specifier_repeat1] = STATE(2283), + [sym__identifier] = ACTIONS(5459), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5461), + [anon_sym_COMMA] = ACTIONS(5461), + [aux_sym_preproc_if_token2] = ACTIONS(5461), + [aux_sym_preproc_else_token1] = ACTIONS(5461), + [aux_sym_preproc_elif_token1] = ACTIONS(5459), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5461), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5461), + [anon_sym_LPAREN2] = ACTIONS(5461), + [anon_sym_DASH] = ACTIONS(5459), + [anon_sym_PLUS] = ACTIONS(5459), + [anon_sym_STAR] = ACTIONS(5459), + [anon_sym_SLASH] = ACTIONS(5459), + [anon_sym_PERCENT] = ACTIONS(5459), + [anon_sym_PIPE_PIPE] = ACTIONS(5461), + [anon_sym_AMP_AMP] = ACTIONS(5461), + [anon_sym_PIPE] = ACTIONS(5459), + [anon_sym_CARET] = ACTIONS(5459), + [anon_sym_AMP] = ACTIONS(5459), + [anon_sym_EQ_EQ] = ACTIONS(5461), + [anon_sym_BANG_EQ] = ACTIONS(5461), + [anon_sym_GT] = ACTIONS(5459), + [anon_sym_GT_EQ] = ACTIONS(5461), + [anon_sym_LT_EQ] = ACTIONS(5459), + [anon_sym_LT] = ACTIONS(5459), + [anon_sym_LT_LT] = ACTIONS(5459), + [anon_sym_GT_GT] = ACTIONS(5459), + [anon_sym___attribute__] = ACTIONS(5459), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(5461), + [anon_sym_signed] = ACTIONS(5463), + [anon_sym_unsigned] = ACTIONS(5463), + [anon_sym_long] = ACTIONS(5463), + [anon_sym_short] = ACTIONS(5463), + [anon_sym_LBRACK] = ACTIONS(5461), + [anon_sym_EQ] = ACTIONS(5459), + [anon_sym_QMARK] = ACTIONS(5461), + [anon_sym_STAR_EQ] = ACTIONS(5461), + [anon_sym_SLASH_EQ] = ACTIONS(5461), + [anon_sym_PERCENT_EQ] = ACTIONS(5461), + [anon_sym_PLUS_EQ] = ACTIONS(5461), + [anon_sym_DASH_EQ] = ACTIONS(5461), + [anon_sym_LT_LT_EQ] = ACTIONS(5461), + [anon_sym_GT_GT_EQ] = ACTIONS(5461), + [anon_sym_AMP_EQ] = ACTIONS(5461), + [anon_sym_CARET_EQ] = ACTIONS(5461), + [anon_sym_PIPE_EQ] = ACTIONS(5461), + [anon_sym_and_eq] = ACTIONS(5459), + [anon_sym_or_eq] = ACTIONS(5459), + [anon_sym_xor_eq] = ACTIONS(5459), + [anon_sym_LT_EQ_GT] = ACTIONS(5461), + [anon_sym_or] = ACTIONS(5459), + [anon_sym_and] = ACTIONS(5459), + [anon_sym_bitor] = ACTIONS(5459), + [anon_sym_xor] = ACTIONS(5459), + [anon_sym_bitand] = ACTIONS(5459), + [anon_sym_not_eq] = ACTIONS(5459), + [anon_sym_DASH_DASH] = ACTIONS(5461), + [anon_sym_PLUS_PLUS] = ACTIONS(5461), + [anon_sym_DOT] = ACTIONS(5459), + [anon_sym_DOT_STAR] = ACTIONS(5461), + [anon_sym_DASH_GT] = ACTIONS(5461), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5461), + [sym_auto] = ACTIONS(5459), + [anon_sym_decltype] = ACTIONS(5459), + }, + [1946] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(4975), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_RBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1947] = { + [sym__declaration_modifiers] = STATE(3364), + [sym_attribute_specifier] = STATE(3364), + [sym_attribute_declaration] = STATE(3364), + [sym_ms_declspec_modifier] = STATE(3364), + [sym_storage_class_specifier] = STATE(3364), + [sym_type_qualifier] = STATE(3364), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(4150), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3812), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6410), + [sym_qualified_type_identifier] = STATE(2885), + [aux_sym__declaration_specifiers_repeat1] = STATE(3364), + [aux_sym_sized_type_specifier_repeat1] = STATE(4086), + [sym__identifier] = ACTIONS(3569), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(3575), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(3577), + [anon_sym_unsigned] = ACTIONS(3577), + [anon_sym_long] = ACTIONS(3577), + [anon_sym_short] = ACTIONS(3577), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(3579), + [anon_sym_enum] = ACTIONS(3581), + [anon_sym_class] = ACTIONS(3583), + [anon_sym_struct] = ACTIONS(3585), + [anon_sym_union] = ACTIONS(3587), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3589), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(5465), + [anon_sym_typename] = ACTIONS(3593), + [anon_sym_template] = ACTIONS(1407), + }, + [1948] = { + [sym_string_literal] = STATE(1914), + [sym__string_literal] = STATE(2359), + [sym_template_argument_list] = STATE(3257), + [sym_raw_string_literal] = STATE(1914), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3773), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(5467), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3773), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3765), + [anon_sym_or_eq] = ACTIONS(3765), + [anon_sym_xor_eq] = ACTIONS(3765), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(5369), + [anon_sym_u_DQUOTE] = ACTIONS(5369), + [anon_sym_U_DQUOTE] = ACTIONS(5369), + [anon_sym_u8_DQUOTE] = ACTIONS(5369), + [anon_sym_DQUOTE] = ACTIONS(5369), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5470), + [anon_sym_GT2] = ACTIONS(3765), + [anon_sym_R_DQUOTE] = ACTIONS(5373), + [anon_sym_LR_DQUOTE] = ACTIONS(5373), + [anon_sym_uR_DQUOTE] = ACTIONS(5373), + [anon_sym_UR_DQUOTE] = ACTIONS(5373), + [anon_sym_u8R_DQUOTE] = ACTIONS(5373), + }, + [1949] = { + [sym__declaration_modifiers] = STATE(3364), + [sym_attribute_specifier] = STATE(3364), + [sym_attribute_declaration] = STATE(3364), + [sym_ms_declspec_modifier] = STATE(3364), + [sym_storage_class_specifier] = STATE(3364), + [sym_type_qualifier] = STATE(3364), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2488), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(3077), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6413), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(3364), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4665), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(1811), + [anon_sym_class] = ACTIONS(1813), + [anon_sym_struct] = ACTIONS(1815), + [anon_sym_union] = ACTIONS(1817), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(5465), + [anon_sym_typename] = ACTIONS(1845), + [anon_sym_template] = ACTIONS(1407), + }, + [1950] = { + [sym_string_literal] = STATE(2846), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2846), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(5472), + [anon_sym_COLON] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(5474), + [anon_sym_SLASH_EQ] = ACTIONS(5474), + [anon_sym_PERCENT_EQ] = ACTIONS(5474), + [anon_sym_PLUS_EQ] = ACTIONS(5474), + [anon_sym_DASH_EQ] = ACTIONS(5474), + [anon_sym_LT_LT_EQ] = ACTIONS(5474), + [anon_sym_GT_GT_EQ] = ACTIONS(5474), + [anon_sym_AMP_EQ] = ACTIONS(5474), + [anon_sym_CARET_EQ] = ACTIONS(5474), + [anon_sym_PIPE_EQ] = ACTIONS(5474), + [anon_sym_and_eq] = ACTIONS(5474), + [anon_sym_or_eq] = ACTIONS(5474), + [anon_sym_xor_eq] = ACTIONS(5474), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1951] = { + [sym_attribute_specifier] = STATE(2209), + [sym_enumerator_list] = STATE(1989), + [sym__identifier] = ACTIONS(5476), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5478), + [anon_sym_COMMA] = ACTIONS(5478), + [anon_sym_RPAREN] = ACTIONS(5478), + [aux_sym_preproc_if_token2] = ACTIONS(5478), + [aux_sym_preproc_else_token1] = ACTIONS(5478), + [aux_sym_preproc_elif_token1] = ACTIONS(5476), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5478), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5478), + [anon_sym_LPAREN2] = ACTIONS(5478), + [anon_sym_DASH] = ACTIONS(5476), + [anon_sym_PLUS] = ACTIONS(5476), + [anon_sym_STAR] = ACTIONS(5476), + [anon_sym_SLASH] = ACTIONS(5476), + [anon_sym_PERCENT] = ACTIONS(5476), + [anon_sym_PIPE_PIPE] = ACTIONS(5478), + [anon_sym_AMP_AMP] = ACTIONS(5478), + [anon_sym_PIPE] = ACTIONS(5476), + [anon_sym_CARET] = ACTIONS(5476), + [anon_sym_AMP] = ACTIONS(5476), + [anon_sym_EQ_EQ] = ACTIONS(5478), + [anon_sym_BANG_EQ] = ACTIONS(5478), + [anon_sym_GT] = ACTIONS(5476), + [anon_sym_GT_EQ] = ACTIONS(5478), + [anon_sym_LT_EQ] = ACTIONS(5476), + [anon_sym_LT] = ACTIONS(5476), + [anon_sym_LT_LT] = ACTIONS(5476), + [anon_sym_GT_GT] = ACTIONS(5476), + [anon_sym_SEMI] = ACTIONS(5478), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5457), + [anon_sym_RBRACE] = ACTIONS(5478), + [anon_sym_LBRACK] = ACTIONS(5478), + [anon_sym_RBRACK] = ACTIONS(5478), + [anon_sym_EQ] = ACTIONS(5476), + [anon_sym_COLON] = ACTIONS(5478), + [anon_sym_QMARK] = ACTIONS(5478), + [anon_sym_STAR_EQ] = ACTIONS(5478), + [anon_sym_SLASH_EQ] = ACTIONS(5478), + [anon_sym_PERCENT_EQ] = ACTIONS(5478), + [anon_sym_PLUS_EQ] = ACTIONS(5478), + [anon_sym_DASH_EQ] = ACTIONS(5478), + [anon_sym_LT_LT_EQ] = ACTIONS(5478), + [anon_sym_GT_GT_EQ] = ACTIONS(5478), + [anon_sym_AMP_EQ] = ACTIONS(5478), + [anon_sym_CARET_EQ] = ACTIONS(5478), + [anon_sym_PIPE_EQ] = ACTIONS(5478), + [anon_sym_and_eq] = ACTIONS(5476), + [anon_sym_or_eq] = ACTIONS(5476), + [anon_sym_xor_eq] = ACTIONS(5476), + [anon_sym_LT_EQ_GT] = ACTIONS(5478), + [anon_sym_or] = ACTIONS(5476), + [anon_sym_and] = ACTIONS(5476), + [anon_sym_bitor] = ACTIONS(5476), + [anon_sym_xor] = ACTIONS(5476), + [anon_sym_bitand] = ACTIONS(5476), + [anon_sym_not_eq] = ACTIONS(5476), + [anon_sym_DASH_DASH] = ACTIONS(5478), + [anon_sym_PLUS_PLUS] = ACTIONS(5478), + [anon_sym_DOT] = ACTIONS(5476), + [anon_sym_DOT_STAR] = ACTIONS(5478), + [anon_sym_DASH_GT] = ACTIONS(5478), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5478), + [sym_auto] = ACTIONS(5476), + [anon_sym_decltype] = ACTIONS(5476), + }, + [1952] = { + [sym_string_literal] = STATE(2971), + [sym__string_literal] = STATE(3772), + [sym_template_argument_list] = STATE(4526), + [sym_raw_string_literal] = STATE(2971), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3773), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4692), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(4697), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(4699), + [anon_sym_SLASH_EQ] = ACTIONS(4699), + [anon_sym_PERCENT_EQ] = ACTIONS(4699), + [anon_sym_PLUS_EQ] = ACTIONS(4699), + [anon_sym_DASH_EQ] = ACTIONS(4699), + [anon_sym_LT_LT_EQ] = ACTIONS(4699), + [anon_sym_GT_GT_EQ] = ACTIONS(4697), + [anon_sym_AMP_EQ] = ACTIONS(4699), + [anon_sym_CARET_EQ] = ACTIONS(4699), + [anon_sym_PIPE_EQ] = ACTIONS(4699), + [anon_sym_and_eq] = ACTIONS(4699), + [anon_sym_or_eq] = ACTIONS(4699), + [anon_sym_xor_eq] = ACTIONS(4699), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(4701), + [anon_sym_u_DQUOTE] = ACTIONS(4701), + [anon_sym_U_DQUOTE] = ACTIONS(4701), + [anon_sym_u8_DQUOTE] = ACTIONS(4701), + [anon_sym_DQUOTE] = ACTIONS(4701), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4703), + [anon_sym_GT2] = ACTIONS(3765), + [anon_sym_R_DQUOTE] = ACTIONS(4705), + [anon_sym_LR_DQUOTE] = ACTIONS(4705), + [anon_sym_uR_DQUOTE] = ACTIONS(4705), + [anon_sym_UR_DQUOTE] = ACTIONS(4705), + [anon_sym_u8R_DQUOTE] = ACTIONS(4705), + }, + [1953] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [aux_sym_preproc_if_token2] = ACTIONS(4979), + [aux_sym_preproc_else_token1] = ACTIONS(4979), + [aux_sym_preproc_elif_token1] = ACTIONS(4977), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4979), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_DASH] = ACTIONS(4977), + [anon_sym_PLUS] = ACTIONS(4977), + [anon_sym_STAR] = ACTIONS(4977), + [anon_sym_SLASH] = ACTIONS(4977), + [anon_sym_PERCENT] = ACTIONS(4977), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_PIPE] = ACTIONS(4977), + [anon_sym_CARET] = ACTIONS(4977), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_EQ_EQ] = ACTIONS(4979), + [anon_sym_BANG_EQ] = ACTIONS(4979), + [anon_sym_GT] = ACTIONS(4977), + [anon_sym_GT_EQ] = ACTIONS(4979), + [anon_sym_LT_EQ] = ACTIONS(4977), + [anon_sym_LT] = ACTIONS(4977), + [anon_sym_LT_LT] = ACTIONS(4977), + [anon_sym_GT_GT] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_RBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4979), + [anon_sym_RBRACK] = ACTIONS(4979), + [anon_sym_EQ] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4979), + [anon_sym_QMARK] = ACTIONS(4979), + [anon_sym_STAR_EQ] = ACTIONS(4979), + [anon_sym_SLASH_EQ] = ACTIONS(4979), + [anon_sym_PERCENT_EQ] = ACTIONS(4979), + [anon_sym_PLUS_EQ] = ACTIONS(4979), + [anon_sym_DASH_EQ] = ACTIONS(4979), + [anon_sym_LT_LT_EQ] = ACTIONS(4979), + [anon_sym_GT_GT_EQ] = ACTIONS(4979), + [anon_sym_AMP_EQ] = ACTIONS(4979), + [anon_sym_CARET_EQ] = ACTIONS(4979), + [anon_sym_PIPE_EQ] = ACTIONS(4979), + [anon_sym_and_eq] = ACTIONS(4977), + [anon_sym_or_eq] = ACTIONS(4977), + [anon_sym_xor_eq] = ACTIONS(4977), + [anon_sym_LT_EQ_GT] = ACTIONS(4979), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_bitor] = ACTIONS(4977), + [anon_sym_xor] = ACTIONS(4977), + [anon_sym_bitand] = ACTIONS(4977), + [anon_sym_not_eq] = ACTIONS(4977), + [anon_sym_DASH_DASH] = ACTIONS(4979), + [anon_sym_PLUS_PLUS] = ACTIONS(4979), + [anon_sym_DOT] = ACTIONS(4977), + [anon_sym_DOT_STAR] = ACTIONS(4979), + [anon_sym_DASH_GT] = ACTIONS(4979), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + }, + [1954] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_RBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1955] = { + [sym_identifier] = STATE(2270), + [aux_sym_sized_type_specifier_repeat1] = STATE(1999), + [sym__identifier] = ACTIONS(5480), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [aux_sym_preproc_if_token2] = ACTIONS(5038), + [aux_sym_preproc_else_token1] = ACTIONS(5038), + [aux_sym_preproc_elif_token1] = ACTIONS(5040), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5038), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5040), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5040), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5040), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5038), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5040), + [anon_sym_GT_GT] = ACTIONS(5040), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5483), + [anon_sym_unsigned] = ACTIONS(5483), + [anon_sym_long] = ACTIONS(5483), + [anon_sym_short] = ACTIONS(5483), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_EQ] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5485), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_STAR_EQ] = ACTIONS(5038), + [anon_sym_SLASH_EQ] = ACTIONS(5038), + [anon_sym_PERCENT_EQ] = ACTIONS(5038), + [anon_sym_PLUS_EQ] = ACTIONS(5038), + [anon_sym_DASH_EQ] = ACTIONS(5038), + [anon_sym_LT_LT_EQ] = ACTIONS(5038), + [anon_sym_GT_GT_EQ] = ACTIONS(5038), + [anon_sym_AMP_EQ] = ACTIONS(5038), + [anon_sym_CARET_EQ] = ACTIONS(5038), + [anon_sym_PIPE_EQ] = ACTIONS(5038), + [anon_sym_and_eq] = ACTIONS(5040), + [anon_sym_or_eq] = ACTIONS(5040), + [anon_sym_xor_eq] = ACTIONS(5040), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5038), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5487), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + }, + [1956] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4647), + [anon_sym_LPAREN2] = ACTIONS(4647), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4654), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4647), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4654), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym___extension__] = ACTIONS(4650), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_LBRACK] = ACTIONS(4647), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_const] = ACTIONS(4643), + [anon_sym_constexpr] = ACTIONS(4650), + [anon_sym_volatile] = ACTIONS(4650), + [anon_sym_restrict] = ACTIONS(4650), + [anon_sym___restrict__] = ACTIONS(4650), + [anon_sym__Atomic] = ACTIONS(4650), + [anon_sym__Noreturn] = ACTIONS(4650), + [anon_sym_noreturn] = ACTIONS(4650), + [anon_sym_mutable] = ACTIONS(4650), + [anon_sym_constinit] = ACTIONS(4650), + [anon_sym_consteval] = ACTIONS(4650), + [anon_sym_alignas] = ACTIONS(4650), + [anon_sym__Alignas] = ACTIONS(4650), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4645), + [anon_sym_or_eq] = ACTIONS(4645), + [anon_sym_xor_eq] = ACTIONS(4645), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4645), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4645), + [anon_sym_not_eq] = ACTIONS(4645), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4650), + [anon_sym_decltype] = ACTIONS(4650), + }, + [1957] = { + [sym_string_literal] = STATE(2509), + [sym__string_literal] = STATE(2648), + [sym_template_argument_list] = STATE(3655), + [sym_raw_string_literal] = STATE(2509), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(4707), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3789), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_RBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(5385), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(5387), + [anon_sym_SLASH_EQ] = ACTIONS(5387), + [anon_sym_PERCENT_EQ] = ACTIONS(5387), + [anon_sym_PLUS_EQ] = ACTIONS(5387), + [anon_sym_DASH_EQ] = ACTIONS(5387), + [anon_sym_LT_LT_EQ] = ACTIONS(5387), + [anon_sym_GT_GT_EQ] = ACTIONS(5387), + [anon_sym_AMP_EQ] = ACTIONS(5387), + [anon_sym_CARET_EQ] = ACTIONS(5387), + [anon_sym_PIPE_EQ] = ACTIONS(5387), + [anon_sym_and_eq] = ACTIONS(5387), + [anon_sym_or_eq] = ACTIONS(5387), + [anon_sym_xor_eq] = ACTIONS(5387), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3765), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3765), + [anon_sym_not_eq] = ACTIONS(3765), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(3208), + [anon_sym_u_DQUOTE] = ACTIONS(3208), + [anon_sym_U_DQUOTE] = ACTIONS(3208), + [anon_sym_u8_DQUOTE] = ACTIONS(3208), + [anon_sym_DQUOTE] = ACTIONS(3208), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3803), + [anon_sym_R_DQUOTE] = ACTIONS(3212), + [anon_sym_LR_DQUOTE] = ACTIONS(3212), + [anon_sym_uR_DQUOTE] = ACTIONS(3212), + [anon_sym_UR_DQUOTE] = ACTIONS(3212), + [anon_sym_u8R_DQUOTE] = ACTIONS(3212), + }, + [1958] = { + [sym__declaration_modifiers] = STATE(3364), + [sym_attribute_specifier] = STATE(3364), + [sym_attribute_declaration] = STATE(3364), + [sym_ms_declspec_modifier] = STATE(3364), + [sym_storage_class_specifier] = STATE(3364), + [sym_type_qualifier] = STATE(3364), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2488), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(3364), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(67), + [anon_sym_class] = ACTIONS(69), + [anon_sym_struct] = ACTIONS(71), + [anon_sym_union] = ACTIONS(73), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(5465), + [anon_sym_typename] = ACTIONS(129), + [anon_sym_template] = ACTIONS(1407), + }, + [1959] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [anon_sym_COMMA] = ACTIONS(2771), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym_SEMI] = ACTIONS(2771), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + }, + [1960] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_TILDE] = ACTIONS(1867), + [anon_sym_STAR] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1867), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___extension__] = ACTIONS(1865), + [anon_sym_extern] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym___declspec] = ACTIONS(1865), + [anon_sym___based] = ACTIONS(1865), + [anon_sym___cdecl] = ACTIONS(1865), + [anon_sym___clrcall] = ACTIONS(1865), + [anon_sym___stdcall] = ACTIONS(1865), + [anon_sym___fastcall] = ACTIONS(1865), + [anon_sym___thiscall] = ACTIONS(1865), + [anon_sym___vectorcall] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1865), + [anon_sym_static] = ACTIONS(1865), + [anon_sym_EQ] = ACTIONS(1867), + [anon_sym_register] = ACTIONS(1865), + [anon_sym_inline] = ACTIONS(1865), + [anon_sym___inline] = ACTIONS(1865), + [anon_sym___inline__] = ACTIONS(1865), + [anon_sym___forceinline] = ACTIONS(1865), + [anon_sym_thread_local] = ACTIONS(1865), + [anon_sym___thread] = ACTIONS(1865), + [anon_sym_const] = ACTIONS(1865), + [anon_sym_constexpr] = ACTIONS(1865), + [anon_sym_volatile] = ACTIONS(1865), + [anon_sym_restrict] = ACTIONS(1865), + [anon_sym___restrict__] = ACTIONS(1865), + [anon_sym__Atomic] = ACTIONS(1865), + [anon_sym__Noreturn] = ACTIONS(1865), + [anon_sym_noreturn] = ACTIONS(1865), + [anon_sym_mutable] = ACTIONS(1865), + [anon_sym_constinit] = ACTIONS(1865), + [anon_sym_consteval] = ACTIONS(1865), + [anon_sym_alignas] = ACTIONS(1865), + [anon_sym__Alignas] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1865), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + [anon_sym_final] = ACTIONS(1865), + [anon_sym_override] = ACTIONS(1865), + [sym_virtual] = ACTIONS(1865), + [anon_sym_template] = ACTIONS(1865), + [anon_sym_GT2] = ACTIONS(1867), + [anon_sym_operator] = ACTIONS(1865), + }, + [1961] = { + [sym__declaration_modifiers] = STATE(3364), + [sym_attribute_specifier] = STATE(3364), + [sym_attribute_declaration] = STATE(3364), + [sym_ms_declspec_modifier] = STATE(3364), + [sym_storage_class_specifier] = STATE(3364), + [sym_type_qualifier] = STATE(3364), + [sym_alignas_qualifier] = STATE(1931), + [sym_type_specifier] = STATE(2488), + [sym_sized_type_specifier] = STATE(2523), + [sym_enum_specifier] = STATE(2523), + [sym_struct_specifier] = STATE(2523), + [sym_union_specifier] = STATE(2523), + [sym_identifier] = STATE(2928), + [sym_placeholder_type_specifier] = STATE(2523), + [sym_decltype_auto] = STATE(2520), + [sym_decltype] = STATE(2494), + [sym_class_specifier] = STATE(2523), + [sym_dependent_type] = STATE(2523), + [sym_template_type] = STATE(2494), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(6363), + [sym_qualified_type_identifier] = STATE(3126), + [aux_sym__declaration_specifiers_repeat1] = STATE(3364), + [aux_sym_sized_type_specifier_repeat1] = STATE(2498), + [sym__identifier] = ACTIONS(2833), + [anon_sym___extension__] = ACTIONS(61), + [anon_sym_extern] = ACTIONS(57), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(4710), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1699), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(53), + [anon_sym_unsigned] = ACTIONS(53), + [anon_sym_long] = ACTIONS(53), + [anon_sym_short] = ACTIONS(53), + [anon_sym_static] = ACTIONS(57), + [anon_sym_register] = ACTIONS(57), + [anon_sym_inline] = ACTIONS(57), + [anon_sym___inline] = ACTIONS(57), + [anon_sym___inline__] = ACTIONS(57), + [anon_sym___forceinline] = ACTIONS(57), + [anon_sym_thread_local] = ACTIONS(57), + [anon_sym___thread] = ACTIONS(57), + [anon_sym_const] = ACTIONS(61), + [anon_sym_constexpr] = ACTIONS(61), + [anon_sym_volatile] = ACTIONS(61), + [anon_sym_restrict] = ACTIONS(61), + [anon_sym___restrict__] = ACTIONS(61), + [anon_sym__Atomic] = ACTIONS(61), + [anon_sym__Noreturn] = ACTIONS(61), + [anon_sym_noreturn] = ACTIONS(61), + [anon_sym_mutable] = ACTIONS(61), + [anon_sym_constinit] = ACTIONS(61), + [anon_sym_consteval] = ACTIONS(61), + [anon_sym_alignas] = ACTIONS(63), + [anon_sym__Alignas] = ACTIONS(63), + [sym_primitive_type] = ACTIONS(2867), + [anon_sym_enum] = ACTIONS(2869), + [anon_sym_class] = ACTIONS(2871), + [anon_sym_struct] = ACTIONS(2873), + [anon_sym_union] = ACTIONS(2875), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2877), + [sym_auto] = ACTIONS(121), + [anon_sym_decltype] = ACTIONS(123), + [sym_virtual] = ACTIONS(5465), + [anon_sym_typename] = ACTIONS(2879), + [anon_sym_template] = ACTIONS(1407), + }, + [1962] = { + [sym_string_literal] = STATE(1993), + [sym__string_literal] = STATE(2501), + [sym_identifier] = STATE(1993), + [sym_raw_string_literal] = STATE(1993), + [aux_sym_concatenated_string_repeat1] = STATE(1993), + [sym__identifier] = ACTIONS(5490), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4786), + [anon_sym_COMMA] = ACTIONS(4786), + [anon_sym_RPAREN] = ACTIONS(4786), + [anon_sym_LPAREN2] = ACTIONS(4786), + [anon_sym_DASH] = ACTIONS(4788), + [anon_sym_PLUS] = ACTIONS(4788), + [anon_sym_STAR] = ACTIONS(4788), + [anon_sym_SLASH] = ACTIONS(4788), + [anon_sym_PERCENT] = ACTIONS(4788), + [anon_sym_PIPE_PIPE] = ACTIONS(4786), + [anon_sym_AMP_AMP] = ACTIONS(4786), + [anon_sym_PIPE] = ACTIONS(4788), + [anon_sym_CARET] = ACTIONS(4788), + [anon_sym_AMP] = ACTIONS(4788), + [anon_sym_EQ_EQ] = ACTIONS(4786), + [anon_sym_BANG_EQ] = ACTIONS(4786), + [anon_sym_GT] = ACTIONS(4788), + [anon_sym_GT_EQ] = ACTIONS(4786), + [anon_sym_LT_EQ] = ACTIONS(4788), + [anon_sym_LT] = ACTIONS(4788), + [anon_sym_LT_LT] = ACTIONS(4788), + [anon_sym_GT_GT] = ACTIONS(4788), + [anon_sym_LBRACK] = ACTIONS(4786), + [anon_sym_EQ] = ACTIONS(4788), + [anon_sym_QMARK] = ACTIONS(4786), + [anon_sym_STAR_EQ] = ACTIONS(4786), + [anon_sym_SLASH_EQ] = ACTIONS(4786), + [anon_sym_PERCENT_EQ] = ACTIONS(4786), + [anon_sym_PLUS_EQ] = ACTIONS(4786), + [anon_sym_DASH_EQ] = ACTIONS(4786), + [anon_sym_LT_LT_EQ] = ACTIONS(4786), + [anon_sym_GT_GT_EQ] = ACTIONS(4786), + [anon_sym_AMP_EQ] = ACTIONS(4786), + [anon_sym_CARET_EQ] = ACTIONS(4786), + [anon_sym_PIPE_EQ] = ACTIONS(4786), + [anon_sym_LT_EQ_GT] = ACTIONS(4786), + [anon_sym_or] = ACTIONS(4788), + [anon_sym_and] = ACTIONS(4788), + [anon_sym_bitor] = ACTIONS(4788), + [anon_sym_xor] = ACTIONS(4788), + [anon_sym_bitand] = ACTIONS(4788), + [anon_sym_not_eq] = ACTIONS(4788), + [anon_sym_DASH_DASH] = ACTIONS(4786), + [anon_sym_PLUS_PLUS] = ACTIONS(4786), + [anon_sym_DOT] = ACTIONS(4788), + [anon_sym_DOT_STAR] = ACTIONS(4786), + [anon_sym_DASH_GT] = ACTIONS(4788), + [anon_sym_L_DQUOTE] = ACTIONS(4066), + [anon_sym_u_DQUOTE] = ACTIONS(4066), + [anon_sym_U_DQUOTE] = ACTIONS(4066), + [anon_sym_u8_DQUOTE] = ACTIONS(4066), + [anon_sym_DQUOTE] = ACTIONS(4066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5492), + [anon_sym_R_DQUOTE] = ACTIONS(4070), + [anon_sym_LR_DQUOTE] = ACTIONS(4070), + [anon_sym_uR_DQUOTE] = ACTIONS(4070), + [anon_sym_UR_DQUOTE] = ACTIONS(4070), + [anon_sym_u8R_DQUOTE] = ACTIONS(4070), + [anon_sym_DASH_GT_STAR] = ACTIONS(4786), + [sym_literal_suffix] = ACTIONS(4788), + }, + [1963] = { + [sym_template_argument_list] = STATE(1626), + [sym__identifier] = ACTIONS(4610), + [anon_sym_LPAREN2] = ACTIONS(4617), + [anon_sym_TILDE] = ACTIONS(4617), + [anon_sym_STAR] = ACTIONS(4617), + [anon_sym_PIPE_PIPE] = ACTIONS(4617), + [anon_sym_AMP_AMP] = ACTIONS(4617), + [anon_sym_AMP] = ACTIONS(4610), + [anon_sym_LT] = ACTIONS(5494), + [anon_sym___extension__] = ACTIONS(4610), + [anon_sym_extern] = ACTIONS(4610), + [anon_sym___attribute__] = ACTIONS(4610), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4617), + [anon_sym___declspec] = ACTIONS(4610), + [anon_sym___based] = ACTIONS(4610), + [anon_sym___cdecl] = ACTIONS(4610), + [anon_sym___clrcall] = ACTIONS(4610), + [anon_sym___stdcall] = ACTIONS(4610), + [anon_sym___fastcall] = ACTIONS(4610), + [anon_sym___thiscall] = ACTIONS(4610), + [anon_sym___vectorcall] = ACTIONS(4610), + [anon_sym_signed] = ACTIONS(4610), + [anon_sym_unsigned] = ACTIONS(4610), + [anon_sym_long] = ACTIONS(4610), + [anon_sym_short] = ACTIONS(4610), + [anon_sym_LBRACK] = ACTIONS(4610), + [anon_sym_static] = ACTIONS(4610), + [anon_sym_register] = ACTIONS(4610), + [anon_sym_inline] = ACTIONS(4610), + [anon_sym___inline] = ACTIONS(4610), + [anon_sym___inline__] = ACTIONS(4610), + [anon_sym___forceinline] = ACTIONS(4610), + [anon_sym_thread_local] = ACTIONS(4610), + [anon_sym___thread] = ACTIONS(4610), + [anon_sym_const] = ACTIONS(4610), + [anon_sym_constexpr] = ACTIONS(4610), + [anon_sym_volatile] = ACTIONS(4610), + [anon_sym_restrict] = ACTIONS(4610), + [anon_sym___restrict__] = ACTIONS(4610), + [anon_sym__Atomic] = ACTIONS(4610), + [anon_sym__Noreturn] = ACTIONS(4610), + [anon_sym_noreturn] = ACTIONS(4610), + [anon_sym_mutable] = ACTIONS(4610), + [anon_sym_constinit] = ACTIONS(4610), + [anon_sym_consteval] = ACTIONS(4610), + [anon_sym_alignas] = ACTIONS(4610), + [anon_sym__Alignas] = ACTIONS(4610), + [sym_primitive_type] = ACTIONS(4610), + [anon_sym_enum] = ACTIONS(4610), + [anon_sym_class] = ACTIONS(4610), + [anon_sym_struct] = ACTIONS(4610), + [anon_sym_union] = ACTIONS(4610), + [anon_sym_or] = ACTIONS(4610), + [anon_sym_and] = ACTIONS(4610), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4617), + [sym_auto] = ACTIONS(4610), + [anon_sym_decltype] = ACTIONS(4610), + [sym_virtual] = ACTIONS(4610), + [anon_sym_explicit] = ACTIONS(4610), + [anon_sym_typename] = ACTIONS(4610), + [anon_sym_template] = ACTIONS(4610), + [anon_sym_operator] = ACTIONS(4610), + [anon_sym_friend] = ACTIONS(4610), + [anon_sym_using] = ACTIONS(4610), + [anon_sym_concept] = ACTIONS(4610), + }, + [1964] = { + [sym_attribute_specifier] = STATE(2106), + [sym__identifier] = ACTIONS(5496), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5498), + [anon_sym_COMMA] = ACTIONS(5498), + [anon_sym_RPAREN] = ACTIONS(5498), + [aux_sym_preproc_if_token2] = ACTIONS(5498), + [aux_sym_preproc_else_token1] = ACTIONS(5498), + [aux_sym_preproc_elif_token1] = ACTIONS(5496), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5498), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5498), + [anon_sym_LPAREN2] = ACTIONS(5498), + [anon_sym_DASH] = ACTIONS(5496), + [anon_sym_PLUS] = ACTIONS(5496), + [anon_sym_STAR] = ACTIONS(5496), + [anon_sym_SLASH] = ACTIONS(5496), + [anon_sym_PERCENT] = ACTIONS(5496), + [anon_sym_PIPE_PIPE] = ACTIONS(5498), + [anon_sym_AMP_AMP] = ACTIONS(5498), + [anon_sym_PIPE] = ACTIONS(5496), + [anon_sym_CARET] = ACTIONS(5496), + [anon_sym_AMP] = ACTIONS(5496), + [anon_sym_EQ_EQ] = ACTIONS(5498), + [anon_sym_BANG_EQ] = ACTIONS(5498), + [anon_sym_GT] = ACTIONS(5496), + [anon_sym_GT_EQ] = ACTIONS(5498), + [anon_sym_LT_EQ] = ACTIONS(5496), + [anon_sym_LT] = ACTIONS(5496), + [anon_sym_LT_LT] = ACTIONS(5496), + [anon_sym_GT_GT] = ACTIONS(5496), + [anon_sym_SEMI] = ACTIONS(5498), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5498), + [anon_sym_RBRACE] = ACTIONS(5498), + [anon_sym_LBRACK] = ACTIONS(5498), + [anon_sym_RBRACK] = ACTIONS(5498), + [anon_sym_EQ] = ACTIONS(5496), + [anon_sym_COLON] = ACTIONS(5498), + [anon_sym_QMARK] = ACTIONS(5498), + [anon_sym_STAR_EQ] = ACTIONS(5498), + [anon_sym_SLASH_EQ] = ACTIONS(5498), + [anon_sym_PERCENT_EQ] = ACTIONS(5498), + [anon_sym_PLUS_EQ] = ACTIONS(5498), + [anon_sym_DASH_EQ] = ACTIONS(5498), + [anon_sym_LT_LT_EQ] = ACTIONS(5498), + [anon_sym_GT_GT_EQ] = ACTIONS(5498), + [anon_sym_AMP_EQ] = ACTIONS(5498), + [anon_sym_CARET_EQ] = ACTIONS(5498), + [anon_sym_PIPE_EQ] = ACTIONS(5498), + [anon_sym_and_eq] = ACTIONS(5496), + [anon_sym_or_eq] = ACTIONS(5496), + [anon_sym_xor_eq] = ACTIONS(5496), + [anon_sym_LT_EQ_GT] = ACTIONS(5498), + [anon_sym_or] = ACTIONS(5496), + [anon_sym_and] = ACTIONS(5496), + [anon_sym_bitor] = ACTIONS(5496), + [anon_sym_xor] = ACTIONS(5496), + [anon_sym_bitand] = ACTIONS(5496), + [anon_sym_not_eq] = ACTIONS(5496), + [anon_sym_DASH_DASH] = ACTIONS(5498), + [anon_sym_PLUS_PLUS] = ACTIONS(5498), + [anon_sym_DOT] = ACTIONS(5496), + [anon_sym_DOT_STAR] = ACTIONS(5498), + [anon_sym_DASH_GT] = ACTIONS(5498), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5498), + [sym_auto] = ACTIONS(5496), + [anon_sym_decltype] = ACTIONS(5496), + }, + [1965] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_COLON] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1966] = { + [sym_identifier] = STATE(2339), + [aux_sym_sized_type_specifier_repeat1] = STATE(1973), + [sym__identifier] = ACTIONS(1915), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [anon_sym_RPAREN] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5040), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5040), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5040), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5038), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5040), + [anon_sym_GT_GT] = ACTIONS(5040), + [anon_sym_SEMI] = ACTIONS(5038), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_RBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5500), + [anon_sym_unsigned] = ACTIONS(5500), + [anon_sym_long] = ACTIONS(5500), + [anon_sym_short] = ACTIONS(5500), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_RBRACK] = ACTIONS(5038), + [anon_sym_EQ] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5502), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_STAR_EQ] = ACTIONS(5038), + [anon_sym_SLASH_EQ] = ACTIONS(5038), + [anon_sym_PERCENT_EQ] = ACTIONS(5038), + [anon_sym_PLUS_EQ] = ACTIONS(5038), + [anon_sym_DASH_EQ] = ACTIONS(5038), + [anon_sym_LT_LT_EQ] = ACTIONS(5038), + [anon_sym_GT_GT_EQ] = ACTIONS(5038), + [anon_sym_AMP_EQ] = ACTIONS(5038), + [anon_sym_CARET_EQ] = ACTIONS(5038), + [anon_sym_PIPE_EQ] = ACTIONS(5038), + [anon_sym_and_eq] = ACTIONS(5040), + [anon_sym_or_eq] = ACTIONS(5040), + [anon_sym_xor_eq] = ACTIONS(5040), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5038), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5504), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + }, + [1967] = { + [sym_attribute_declaration] = STATE(2075), + [sym_parameter_list] = STATE(2057), + [aux_sym_attributed_declarator_repeat1] = STATE(2075), + [sym__identifier] = ACTIONS(5506), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5508), + [anon_sym_COMMA] = ACTIONS(5508), + [anon_sym_RPAREN] = ACTIONS(5508), + [aux_sym_preproc_if_token2] = ACTIONS(5508), + [aux_sym_preproc_else_token1] = ACTIONS(5508), + [aux_sym_preproc_elif_token1] = ACTIONS(5506), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5508), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5508), + [anon_sym_LPAREN2] = ACTIONS(5510), + [anon_sym_DASH] = ACTIONS(5506), + [anon_sym_PLUS] = ACTIONS(5506), + [anon_sym_STAR] = ACTIONS(5506), + [anon_sym_SLASH] = ACTIONS(5506), + [anon_sym_PERCENT] = ACTIONS(5506), + [anon_sym_PIPE_PIPE] = ACTIONS(5508), + [anon_sym_AMP_AMP] = ACTIONS(5508), + [anon_sym_PIPE] = ACTIONS(5506), + [anon_sym_CARET] = ACTIONS(5506), + [anon_sym_AMP] = ACTIONS(5506), + [anon_sym_EQ_EQ] = ACTIONS(5508), + [anon_sym_BANG_EQ] = ACTIONS(5508), + [anon_sym_GT] = ACTIONS(5506), + [anon_sym_GT_EQ] = ACTIONS(5508), + [anon_sym_LT_EQ] = ACTIONS(5506), + [anon_sym_LT] = ACTIONS(5506), + [anon_sym_LT_LT] = ACTIONS(5506), + [anon_sym_GT_GT] = ACTIONS(5506), + [anon_sym_SEMI] = ACTIONS(5508), + [anon_sym___attribute__] = ACTIONS(5506), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5508), + [anon_sym_LBRACK] = ACTIONS(5514), + [anon_sym_RBRACK] = ACTIONS(5508), + [anon_sym_EQ] = ACTIONS(5506), + [anon_sym_COLON] = ACTIONS(5508), + [anon_sym_QMARK] = ACTIONS(5508), + [anon_sym_STAR_EQ] = ACTIONS(5508), + [anon_sym_SLASH_EQ] = ACTIONS(5508), + [anon_sym_PERCENT_EQ] = ACTIONS(5508), + [anon_sym_PLUS_EQ] = ACTIONS(5508), + [anon_sym_DASH_EQ] = ACTIONS(5508), + [anon_sym_LT_LT_EQ] = ACTIONS(5508), + [anon_sym_GT_GT_EQ] = ACTIONS(5508), + [anon_sym_AMP_EQ] = ACTIONS(5508), + [anon_sym_CARET_EQ] = ACTIONS(5508), + [anon_sym_PIPE_EQ] = ACTIONS(5508), + [anon_sym_and_eq] = ACTIONS(5506), + [anon_sym_or_eq] = ACTIONS(5506), + [anon_sym_xor_eq] = ACTIONS(5506), + [anon_sym_LT_EQ_GT] = ACTIONS(5508), + [anon_sym_or] = ACTIONS(5506), + [anon_sym_and] = ACTIONS(5506), + [anon_sym_bitor] = ACTIONS(5506), + [anon_sym_xor] = ACTIONS(5506), + [anon_sym_bitand] = ACTIONS(5506), + [anon_sym_not_eq] = ACTIONS(5506), + [anon_sym_DASH_DASH] = ACTIONS(5508), + [anon_sym_PLUS_PLUS] = ACTIONS(5508), + [anon_sym_DOT] = ACTIONS(5506), + [anon_sym_DOT_STAR] = ACTIONS(5508), + [anon_sym_DASH_GT] = ACTIONS(5508), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5508), + }, + [1968] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4922), + [anon_sym_COMMA] = ACTIONS(4922), + [anon_sym_RPAREN] = ACTIONS(4922), + [anon_sym_LPAREN2] = ACTIONS(4922), + [anon_sym_DASH] = ACTIONS(4920), + [anon_sym_PLUS] = ACTIONS(4920), + [anon_sym_STAR] = ACTIONS(4920), + [anon_sym_SLASH] = ACTIONS(4920), + [anon_sym_PERCENT] = ACTIONS(4920), + [anon_sym_PIPE_PIPE] = ACTIONS(4922), + [anon_sym_AMP_AMP] = ACTIONS(4922), + [anon_sym_PIPE] = ACTIONS(4920), + [anon_sym_CARET] = ACTIONS(4920), + [anon_sym_AMP] = ACTIONS(4920), + [anon_sym_EQ_EQ] = ACTIONS(4922), + [anon_sym_BANG_EQ] = ACTIONS(4922), + [anon_sym_GT] = ACTIONS(4920), + [anon_sym_GT_EQ] = ACTIONS(4922), + [anon_sym_LT_EQ] = ACTIONS(4920), + [anon_sym_LT] = ACTIONS(4920), + [anon_sym_LT_LT] = ACTIONS(4920), + [anon_sym_GT_GT] = ACTIONS(4920), + [anon_sym_SEMI] = ACTIONS(4922), + [anon_sym_RBRACE] = ACTIONS(4922), + [anon_sym_LBRACK] = ACTIONS(4922), + [anon_sym_RBRACK] = ACTIONS(4922), + [anon_sym_EQ] = ACTIONS(4920), + [anon_sym_COLON] = ACTIONS(4922), + [anon_sym_QMARK] = ACTIONS(4922), + [anon_sym_STAR_EQ] = ACTIONS(4922), + [anon_sym_SLASH_EQ] = ACTIONS(4922), + [anon_sym_PERCENT_EQ] = ACTIONS(4922), + [anon_sym_PLUS_EQ] = ACTIONS(4922), + [anon_sym_DASH_EQ] = ACTIONS(4922), + [anon_sym_LT_LT_EQ] = ACTIONS(4922), + [anon_sym_GT_GT_EQ] = ACTIONS(4922), + [anon_sym_AMP_EQ] = ACTIONS(4922), + [anon_sym_CARET_EQ] = ACTIONS(4922), + [anon_sym_PIPE_EQ] = ACTIONS(4922), + [anon_sym_and_eq] = ACTIONS(4920), + [anon_sym_or_eq] = ACTIONS(4920), + [anon_sym_xor_eq] = ACTIONS(4920), + [anon_sym_LT_EQ_GT] = ACTIONS(4922), + [anon_sym_or] = ACTIONS(4920), + [anon_sym_and] = ACTIONS(4920), + [anon_sym_bitor] = ACTIONS(4920), + [anon_sym_xor] = ACTIONS(4920), + [anon_sym_bitand] = ACTIONS(4920), + [anon_sym_not_eq] = ACTIONS(4920), + [anon_sym_DASH_DASH] = ACTIONS(4922), + [anon_sym_PLUS_PLUS] = ACTIONS(4922), + [anon_sym_DOT] = ACTIONS(4920), + [anon_sym_DOT_STAR] = ACTIONS(4922), + [anon_sym_DASH_GT] = ACTIONS(4922), + [anon_sym_L_DQUOTE] = ACTIONS(4922), + [anon_sym_u_DQUOTE] = ACTIONS(4922), + [anon_sym_U_DQUOTE] = ACTIONS(4922), + [anon_sym_u8_DQUOTE] = ACTIONS(4922), + [anon_sym_DQUOTE] = ACTIONS(4922), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4922), + [anon_sym_R_DQUOTE] = ACTIONS(4922), + [anon_sym_LR_DQUOTE] = ACTIONS(4922), + [anon_sym_uR_DQUOTE] = ACTIONS(4922), + [anon_sym_UR_DQUOTE] = ACTIONS(4922), + [anon_sym_u8R_DQUOTE] = ACTIONS(4922), + [sym_literal_suffix] = ACTIONS(4920), + }, + [1969] = { + [sym_identifier] = STATE(2443), + [aux_sym_sized_type_specifier_repeat1] = STATE(2269), + [sym__identifier] = ACTIONS(5516), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5038), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5038), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5038), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5040), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5038), + [anon_sym_GT_GT] = ACTIONS(5040), + [anon_sym___extension__] = ACTIONS(5040), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5518), + [anon_sym_unsigned] = ACTIONS(5518), + [anon_sym_long] = ACTIONS(5518), + [anon_sym_short] = ACTIONS(5518), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_const] = ACTIONS(5040), + [anon_sym_constexpr] = ACTIONS(5040), + [anon_sym_volatile] = ACTIONS(5040), + [anon_sym_restrict] = ACTIONS(5040), + [anon_sym___restrict__] = ACTIONS(5040), + [anon_sym__Atomic] = ACTIONS(5040), + [anon_sym__Noreturn] = ACTIONS(5040), + [anon_sym_noreturn] = ACTIONS(5040), + [anon_sym_mutable] = ACTIONS(5040), + [anon_sym_constinit] = ACTIONS(5040), + [anon_sym_consteval] = ACTIONS(5040), + [anon_sym_alignas] = ACTIONS(5040), + [anon_sym__Alignas] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5520), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5038), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5522), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + [anon_sym_final] = ACTIONS(5040), + [anon_sym_override] = ACTIONS(5040), + [anon_sym_GT2] = ACTIONS(5038), + [anon_sym_requires] = ACTIONS(5040), + }, + [1970] = { + [sym_string_literal] = STATE(1893), + [sym__string_literal] = STATE(2315), + [sym_raw_string_literal] = STATE(1893), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4994), + [anon_sym_COMMA] = ACTIONS(4994), + [anon_sym_LPAREN2] = ACTIONS(4994), + [anon_sym_DASH] = ACTIONS(4992), + [anon_sym_PLUS] = ACTIONS(4992), + [anon_sym_STAR] = ACTIONS(4992), + [anon_sym_SLASH] = ACTIONS(4992), + [anon_sym_PERCENT] = ACTIONS(4992), + [anon_sym_PIPE_PIPE] = ACTIONS(4994), + [anon_sym_AMP_AMP] = ACTIONS(4994), + [anon_sym_PIPE] = ACTIONS(4992), + [anon_sym_CARET] = ACTIONS(4992), + [anon_sym_AMP] = ACTIONS(4992), + [anon_sym_EQ_EQ] = ACTIONS(4994), + [anon_sym_BANG_EQ] = ACTIONS(4994), + [anon_sym_GT] = ACTIONS(4992), + [anon_sym_GT_EQ] = ACTIONS(4994), + [anon_sym_LT_EQ] = ACTIONS(4992), + [anon_sym_LT] = ACTIONS(4992), + [anon_sym_LT_LT] = ACTIONS(4992), + [anon_sym_GT_GT] = ACTIONS(4992), + [anon_sym_SEMI] = ACTIONS(4994), + [anon_sym___attribute__] = ACTIONS(4992), + [anon_sym_LBRACK] = ACTIONS(4994), + [anon_sym_EQ] = ACTIONS(4992), + [anon_sym_QMARK] = ACTIONS(4994), + [anon_sym_STAR_EQ] = ACTIONS(4994), + [anon_sym_SLASH_EQ] = ACTIONS(4994), + [anon_sym_PERCENT_EQ] = ACTIONS(4994), + [anon_sym_PLUS_EQ] = ACTIONS(4994), + [anon_sym_DASH_EQ] = ACTIONS(4994), + [anon_sym_LT_LT_EQ] = ACTIONS(4994), + [anon_sym_GT_GT_EQ] = ACTIONS(4994), + [anon_sym_AMP_EQ] = ACTIONS(4994), + [anon_sym_CARET_EQ] = ACTIONS(4994), + [anon_sym_PIPE_EQ] = ACTIONS(4994), + [anon_sym_and_eq] = ACTIONS(4992), + [anon_sym_or_eq] = ACTIONS(4992), + [anon_sym_xor_eq] = ACTIONS(4992), + [anon_sym_LT_EQ_GT] = ACTIONS(4994), + [anon_sym_or] = ACTIONS(4992), + [anon_sym_and] = ACTIONS(4992), + [anon_sym_bitor] = ACTIONS(4992), + [anon_sym_xor] = ACTIONS(4992), + [anon_sym_bitand] = ACTIONS(4992), + [anon_sym_not_eq] = ACTIONS(4992), + [anon_sym_DASH_DASH] = ACTIONS(4994), + [anon_sym_PLUS_PLUS] = ACTIONS(4994), + [anon_sym_DOT] = ACTIONS(4992), + [anon_sym_DOT_STAR] = ACTIONS(4994), + [anon_sym_DASH_GT] = ACTIONS(4994), + [anon_sym_L_DQUOTE] = ACTIONS(5361), + [anon_sym_u_DQUOTE] = ACTIONS(5361), + [anon_sym_U_DQUOTE] = ACTIONS(5361), + [anon_sym_u8_DQUOTE] = ACTIONS(5361), + [anon_sym_DQUOTE] = ACTIONS(5361), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5411), + [anon_sym_R_DQUOTE] = ACTIONS(5365), + [anon_sym_LR_DQUOTE] = ACTIONS(5365), + [anon_sym_uR_DQUOTE] = ACTIONS(5365), + [anon_sym_UR_DQUOTE] = ACTIONS(5365), + [anon_sym_u8R_DQUOTE] = ACTIONS(5365), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1971] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token2] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_friend] = ACTIONS(2452), + [anon_sym_public] = ACTIONS(2452), + [anon_sym_private] = ACTIONS(2452), + [anon_sym_protected] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + }, + [1972] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token2] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + }, + [1973] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1697), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5273), + [anon_sym_COMMA] = ACTIONS(5273), + [anon_sym_RPAREN] = ACTIONS(5273), + [anon_sym_LPAREN2] = ACTIONS(5273), + [anon_sym_DASH] = ACTIONS(5276), + [anon_sym_PLUS] = ACTIONS(5276), + [anon_sym_STAR] = ACTIONS(5276), + [anon_sym_SLASH] = ACTIONS(5276), + [anon_sym_PERCENT] = ACTIONS(5276), + [anon_sym_PIPE_PIPE] = ACTIONS(5273), + [anon_sym_AMP_AMP] = ACTIONS(5273), + [anon_sym_PIPE] = ACTIONS(5276), + [anon_sym_CARET] = ACTIONS(5276), + [anon_sym_AMP] = ACTIONS(5276), + [anon_sym_EQ_EQ] = ACTIONS(5273), + [anon_sym_BANG_EQ] = ACTIONS(5273), + [anon_sym_GT] = ACTIONS(5276), + [anon_sym_GT_EQ] = ACTIONS(5273), + [anon_sym_LT_EQ] = ACTIONS(5276), + [anon_sym_LT] = ACTIONS(5276), + [anon_sym_LT_LT] = ACTIONS(5276), + [anon_sym_GT_GT] = ACTIONS(5276), + [anon_sym_SEMI] = ACTIONS(5273), + [anon_sym___attribute__] = ACTIONS(5276), + [anon_sym_LBRACE] = ACTIONS(5273), + [anon_sym_RBRACE] = ACTIONS(5273), + [anon_sym_signed] = ACTIONS(4938), + [anon_sym_unsigned] = ACTIONS(4938), + [anon_sym_long] = ACTIONS(4938), + [anon_sym_short] = ACTIONS(4938), + [anon_sym_LBRACK] = ACTIONS(5273), + [anon_sym_RBRACK] = ACTIONS(5273), + [anon_sym_EQ] = ACTIONS(5276), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_COLON] = ACTIONS(5273), + [anon_sym_QMARK] = ACTIONS(5273), + [anon_sym_STAR_EQ] = ACTIONS(5273), + [anon_sym_SLASH_EQ] = ACTIONS(5273), + [anon_sym_PERCENT_EQ] = ACTIONS(5273), + [anon_sym_PLUS_EQ] = ACTIONS(5273), + [anon_sym_DASH_EQ] = ACTIONS(5273), + [anon_sym_LT_LT_EQ] = ACTIONS(5273), + [anon_sym_GT_GT_EQ] = ACTIONS(5273), + [anon_sym_AMP_EQ] = ACTIONS(5273), + [anon_sym_CARET_EQ] = ACTIONS(5273), + [anon_sym_PIPE_EQ] = ACTIONS(5273), + [anon_sym_and_eq] = ACTIONS(5276), + [anon_sym_or_eq] = ACTIONS(5276), + [anon_sym_xor_eq] = ACTIONS(5276), + [anon_sym_LT_EQ_GT] = ACTIONS(5273), + [anon_sym_or] = ACTIONS(5276), + [anon_sym_and] = ACTIONS(5276), + [anon_sym_bitor] = ACTIONS(5276), + [anon_sym_xor] = ACTIONS(5276), + [anon_sym_bitand] = ACTIONS(5276), + [anon_sym_not_eq] = ACTIONS(5276), + [anon_sym_DASH_DASH] = ACTIONS(5273), + [anon_sym_PLUS_PLUS] = ACTIONS(5273), + [anon_sym_DOT] = ACTIONS(5276), + [anon_sym_DOT_STAR] = ACTIONS(5273), + [anon_sym_DASH_GT] = ACTIONS(5273), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(5276), + [anon_sym_decltype] = ACTIONS(5276), + }, + [1974] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(4031), + [sym__declarator] = STATE(6343), + [sym__abstract_declarator] = STATE(6586), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2667), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3754), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2667), + [aux_sym_pointer_declarator_repeat1] = STATE(4031), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5416), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5524), + [anon_sym_AMP_AMP] = ACTIONS(5526), + [anon_sym_AMP] = ACTIONS(5528), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(5416), + [anon_sym_operator] = ACTIONS(5409), + }, + [1975] = { + [sym_string_literal] = STATE(1893), + [sym__string_literal] = STATE(2315), + [sym_raw_string_literal] = STATE(1893), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3773), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_SEMI] = ACTIONS(3765), + [anon_sym___attribute__] = ACTIONS(3773), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(5361), + [anon_sym_u_DQUOTE] = ACTIONS(5361), + [anon_sym_U_DQUOTE] = ACTIONS(5361), + [anon_sym_u8_DQUOTE] = ACTIONS(5361), + [anon_sym_DQUOTE] = ACTIONS(5361), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5411), + [anon_sym_R_DQUOTE] = ACTIONS(5365), + [anon_sym_LR_DQUOTE] = ACTIONS(5365), + [anon_sym_uR_DQUOTE] = ACTIONS(5365), + [anon_sym_UR_DQUOTE] = ACTIONS(5365), + [anon_sym_u8R_DQUOTE] = ACTIONS(5365), + [sym_literal_suffix] = ACTIONS(4987), + }, + [1976] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4936), + [anon_sym_COMMA] = ACTIONS(4936), + [anon_sym_RPAREN] = ACTIONS(4936), + [anon_sym_LPAREN2] = ACTIONS(4936), + [anon_sym_DASH] = ACTIONS(4934), + [anon_sym_PLUS] = ACTIONS(4934), + [anon_sym_STAR] = ACTIONS(4934), + [anon_sym_SLASH] = ACTIONS(4934), + [anon_sym_PERCENT] = ACTIONS(4934), + [anon_sym_PIPE_PIPE] = ACTIONS(4936), + [anon_sym_AMP_AMP] = ACTIONS(4936), + [anon_sym_PIPE] = ACTIONS(4934), + [anon_sym_CARET] = ACTIONS(4934), + [anon_sym_AMP] = ACTIONS(4934), + [anon_sym_EQ_EQ] = ACTIONS(4936), + [anon_sym_BANG_EQ] = ACTIONS(4936), + [anon_sym_GT] = ACTIONS(4934), + [anon_sym_GT_EQ] = ACTIONS(4936), + [anon_sym_LT_EQ] = ACTIONS(4934), + [anon_sym_LT] = ACTIONS(4934), + [anon_sym_LT_LT] = ACTIONS(4934), + [anon_sym_GT_GT] = ACTIONS(4934), + [anon_sym_SEMI] = ACTIONS(4936), + [anon_sym_RBRACE] = ACTIONS(4936), + [anon_sym_LBRACK] = ACTIONS(4936), + [anon_sym_RBRACK] = ACTIONS(4936), + [anon_sym_EQ] = ACTIONS(4934), + [anon_sym_COLON] = ACTIONS(4936), + [anon_sym_QMARK] = ACTIONS(4936), + [anon_sym_STAR_EQ] = ACTIONS(4936), + [anon_sym_SLASH_EQ] = ACTIONS(4936), + [anon_sym_PERCENT_EQ] = ACTIONS(4936), + [anon_sym_PLUS_EQ] = ACTIONS(4936), + [anon_sym_DASH_EQ] = ACTIONS(4936), + [anon_sym_LT_LT_EQ] = ACTIONS(4936), + [anon_sym_GT_GT_EQ] = ACTIONS(4936), + [anon_sym_AMP_EQ] = ACTIONS(4936), + [anon_sym_CARET_EQ] = ACTIONS(4936), + [anon_sym_PIPE_EQ] = ACTIONS(4936), + [anon_sym_and_eq] = ACTIONS(4934), + [anon_sym_or_eq] = ACTIONS(4934), + [anon_sym_xor_eq] = ACTIONS(4934), + [anon_sym_LT_EQ_GT] = ACTIONS(4936), + [anon_sym_or] = ACTIONS(4934), + [anon_sym_and] = ACTIONS(4934), + [anon_sym_bitor] = ACTIONS(4934), + [anon_sym_xor] = ACTIONS(4934), + [anon_sym_bitand] = ACTIONS(4934), + [anon_sym_not_eq] = ACTIONS(4934), + [anon_sym_DASH_DASH] = ACTIONS(4936), + [anon_sym_PLUS_PLUS] = ACTIONS(4936), + [anon_sym_DOT] = ACTIONS(4934), + [anon_sym_DOT_STAR] = ACTIONS(4936), + [anon_sym_DASH_GT] = ACTIONS(4936), + [anon_sym_L_DQUOTE] = ACTIONS(4936), + [anon_sym_u_DQUOTE] = ACTIONS(4936), + [anon_sym_U_DQUOTE] = ACTIONS(4936), + [anon_sym_u8_DQUOTE] = ACTIONS(4936), + [anon_sym_DQUOTE] = ACTIONS(4936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4936), + [anon_sym_R_DQUOTE] = ACTIONS(4936), + [anon_sym_LR_DQUOTE] = ACTIONS(4936), + [anon_sym_uR_DQUOTE] = ACTIONS(4936), + [anon_sym_UR_DQUOTE] = ACTIONS(4936), + [anon_sym_u8R_DQUOTE] = ACTIONS(4936), + [sym_literal_suffix] = ACTIONS(4934), + }, + [1977] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token2] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_friend] = ACTIONS(2683), + [anon_sym_public] = ACTIONS(2683), + [anon_sym_private] = ACTIONS(2683), + [anon_sym_protected] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + }, + [1978] = { + [sym_attribute_specifier] = STATE(2111), + [sym__identifier] = ACTIONS(5530), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5532), + [anon_sym_COMMA] = ACTIONS(5532), + [anon_sym_RPAREN] = ACTIONS(5532), + [aux_sym_preproc_if_token2] = ACTIONS(5532), + [aux_sym_preproc_else_token1] = ACTIONS(5532), + [aux_sym_preproc_elif_token1] = ACTIONS(5530), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5532), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5532), + [anon_sym_LPAREN2] = ACTIONS(5532), + [anon_sym_DASH] = ACTIONS(5530), + [anon_sym_PLUS] = ACTIONS(5530), + [anon_sym_STAR] = ACTIONS(5530), + [anon_sym_SLASH] = ACTIONS(5530), + [anon_sym_PERCENT] = ACTIONS(5530), + [anon_sym_PIPE_PIPE] = ACTIONS(5532), + [anon_sym_AMP_AMP] = ACTIONS(5532), + [anon_sym_PIPE] = ACTIONS(5530), + [anon_sym_CARET] = ACTIONS(5530), + [anon_sym_AMP] = ACTIONS(5530), + [anon_sym_EQ_EQ] = ACTIONS(5532), + [anon_sym_BANG_EQ] = ACTIONS(5532), + [anon_sym_GT] = ACTIONS(5530), + [anon_sym_GT_EQ] = ACTIONS(5532), + [anon_sym_LT_EQ] = ACTIONS(5530), + [anon_sym_LT] = ACTIONS(5530), + [anon_sym_LT_LT] = ACTIONS(5530), + [anon_sym_GT_GT] = ACTIONS(5530), + [anon_sym_SEMI] = ACTIONS(5532), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5532), + [anon_sym_RBRACE] = ACTIONS(5532), + [anon_sym_LBRACK] = ACTIONS(5532), + [anon_sym_RBRACK] = ACTIONS(5532), + [anon_sym_EQ] = ACTIONS(5530), + [anon_sym_COLON] = ACTIONS(5532), + [anon_sym_QMARK] = ACTIONS(5532), + [anon_sym_STAR_EQ] = ACTIONS(5532), + [anon_sym_SLASH_EQ] = ACTIONS(5532), + [anon_sym_PERCENT_EQ] = ACTIONS(5532), + [anon_sym_PLUS_EQ] = ACTIONS(5532), + [anon_sym_DASH_EQ] = ACTIONS(5532), + [anon_sym_LT_LT_EQ] = ACTIONS(5532), + [anon_sym_GT_GT_EQ] = ACTIONS(5532), + [anon_sym_AMP_EQ] = ACTIONS(5532), + [anon_sym_CARET_EQ] = ACTIONS(5532), + [anon_sym_PIPE_EQ] = ACTIONS(5532), + [anon_sym_and_eq] = ACTIONS(5530), + [anon_sym_or_eq] = ACTIONS(5530), + [anon_sym_xor_eq] = ACTIONS(5530), + [anon_sym_LT_EQ_GT] = ACTIONS(5532), + [anon_sym_or] = ACTIONS(5530), + [anon_sym_and] = ACTIONS(5530), + [anon_sym_bitor] = ACTIONS(5530), + [anon_sym_xor] = ACTIONS(5530), + [anon_sym_bitand] = ACTIONS(5530), + [anon_sym_not_eq] = ACTIONS(5530), + [anon_sym_DASH_DASH] = ACTIONS(5532), + [anon_sym_PLUS_PLUS] = ACTIONS(5532), + [anon_sym_DOT] = ACTIONS(5530), + [anon_sym_DOT_STAR] = ACTIONS(5532), + [anon_sym_DASH_GT] = ACTIONS(5532), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5532), + [sym_auto] = ACTIONS(5530), + [anon_sym_decltype] = ACTIONS(5530), + }, + [1979] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1980] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5534), + [anon_sym_COMMA] = ACTIONS(5534), + [anon_sym_RPAREN] = ACTIONS(5534), + [anon_sym_LPAREN2] = ACTIONS(5534), + [anon_sym_DASH] = ACTIONS(5536), + [anon_sym_PLUS] = ACTIONS(5536), + [anon_sym_STAR] = ACTIONS(5534), + [anon_sym_SLASH] = ACTIONS(5536), + [anon_sym_PERCENT] = ACTIONS(5534), + [anon_sym_PIPE_PIPE] = ACTIONS(5534), + [anon_sym_AMP_AMP] = ACTIONS(5534), + [anon_sym_PIPE] = ACTIONS(5536), + [anon_sym_CARET] = ACTIONS(5534), + [anon_sym_AMP] = ACTIONS(5536), + [anon_sym_EQ_EQ] = ACTIONS(5534), + [anon_sym_BANG_EQ] = ACTIONS(5534), + [anon_sym_GT] = ACTIONS(5536), + [anon_sym_GT_EQ] = ACTIONS(5534), + [anon_sym_LT_EQ] = ACTIONS(5536), + [anon_sym_LT] = ACTIONS(5536), + [anon_sym_LT_LT] = ACTIONS(5534), + [anon_sym_GT_GT] = ACTIONS(5534), + [anon_sym_SEMI] = ACTIONS(5534), + [anon_sym___extension__] = ACTIONS(5534), + [anon_sym___attribute__] = ACTIONS(5534), + [anon_sym_LBRACE] = ACTIONS(5534), + [anon_sym_RBRACE] = ACTIONS(5534), + [anon_sym_signed] = ACTIONS(5538), + [anon_sym_unsigned] = ACTIONS(5538), + [anon_sym_long] = ACTIONS(5538), + [anon_sym_short] = ACTIONS(5538), + [anon_sym_LBRACK] = ACTIONS(5534), + [anon_sym_RBRACK] = ACTIONS(5534), + [anon_sym_const] = ACTIONS(5536), + [anon_sym_constexpr] = ACTIONS(5534), + [anon_sym_volatile] = ACTIONS(5534), + [anon_sym_restrict] = ACTIONS(5534), + [anon_sym___restrict__] = ACTIONS(5534), + [anon_sym__Atomic] = ACTIONS(5534), + [anon_sym__Noreturn] = ACTIONS(5534), + [anon_sym_noreturn] = ACTIONS(5534), + [anon_sym_mutable] = ACTIONS(5534), + [anon_sym_constinit] = ACTIONS(5534), + [anon_sym_consteval] = ACTIONS(5534), + [anon_sym_alignas] = ACTIONS(5534), + [anon_sym__Alignas] = ACTIONS(5534), + [anon_sym_COLON] = ACTIONS(5534), + [anon_sym_QMARK] = ACTIONS(5534), + [anon_sym_LT_EQ_GT] = ACTIONS(5534), + [anon_sym_or] = ACTIONS(5534), + [anon_sym_and] = ACTIONS(5534), + [anon_sym_bitor] = ACTIONS(5534), + [anon_sym_xor] = ACTIONS(5534), + [anon_sym_bitand] = ACTIONS(5534), + [anon_sym_not_eq] = ACTIONS(5534), + [anon_sym_DASH_DASH] = ACTIONS(5534), + [anon_sym_PLUS_PLUS] = ACTIONS(5534), + [anon_sym_DOT] = ACTIONS(5536), + [anon_sym_DOT_STAR] = ACTIONS(5534), + [anon_sym_DASH_GT] = ACTIONS(5534), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5534), + [anon_sym_decltype] = ACTIONS(5534), + [anon_sym_final] = ACTIONS(5534), + [anon_sym_override] = ACTIONS(5534), + [anon_sym_requires] = ACTIONS(5534), + }, + [1981] = { + [sym_attribute_specifier] = STATE(2098), + [sym__identifier] = ACTIONS(5540), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5542), + [anon_sym_COMMA] = ACTIONS(5542), + [anon_sym_RPAREN] = ACTIONS(5542), + [aux_sym_preproc_if_token2] = ACTIONS(5542), + [aux_sym_preproc_else_token1] = ACTIONS(5542), + [aux_sym_preproc_elif_token1] = ACTIONS(5540), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5542), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5542), + [anon_sym_LPAREN2] = ACTIONS(5542), + [anon_sym_DASH] = ACTIONS(5540), + [anon_sym_PLUS] = ACTIONS(5540), + [anon_sym_STAR] = ACTIONS(5540), + [anon_sym_SLASH] = ACTIONS(5540), + [anon_sym_PERCENT] = ACTIONS(5540), + [anon_sym_PIPE_PIPE] = ACTIONS(5542), + [anon_sym_AMP_AMP] = ACTIONS(5542), + [anon_sym_PIPE] = ACTIONS(5540), + [anon_sym_CARET] = ACTIONS(5540), + [anon_sym_AMP] = ACTIONS(5540), + [anon_sym_EQ_EQ] = ACTIONS(5542), + [anon_sym_BANG_EQ] = ACTIONS(5542), + [anon_sym_GT] = ACTIONS(5540), + [anon_sym_GT_EQ] = ACTIONS(5542), + [anon_sym_LT_EQ] = ACTIONS(5540), + [anon_sym_LT] = ACTIONS(5540), + [anon_sym_LT_LT] = ACTIONS(5540), + [anon_sym_GT_GT] = ACTIONS(5540), + [anon_sym_SEMI] = ACTIONS(5542), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5542), + [anon_sym_RBRACE] = ACTIONS(5542), + [anon_sym_LBRACK] = ACTIONS(5542), + [anon_sym_RBRACK] = ACTIONS(5542), + [anon_sym_EQ] = ACTIONS(5540), + [anon_sym_COLON] = ACTIONS(5542), + [anon_sym_QMARK] = ACTIONS(5542), + [anon_sym_STAR_EQ] = ACTIONS(5542), + [anon_sym_SLASH_EQ] = ACTIONS(5542), + [anon_sym_PERCENT_EQ] = ACTIONS(5542), + [anon_sym_PLUS_EQ] = ACTIONS(5542), + [anon_sym_DASH_EQ] = ACTIONS(5542), + [anon_sym_LT_LT_EQ] = ACTIONS(5542), + [anon_sym_GT_GT_EQ] = ACTIONS(5542), + [anon_sym_AMP_EQ] = ACTIONS(5542), + [anon_sym_CARET_EQ] = ACTIONS(5542), + [anon_sym_PIPE_EQ] = ACTIONS(5542), + [anon_sym_and_eq] = ACTIONS(5540), + [anon_sym_or_eq] = ACTIONS(5540), + [anon_sym_xor_eq] = ACTIONS(5540), + [anon_sym_LT_EQ_GT] = ACTIONS(5542), + [anon_sym_or] = ACTIONS(5540), + [anon_sym_and] = ACTIONS(5540), + [anon_sym_bitor] = ACTIONS(5540), + [anon_sym_xor] = ACTIONS(5540), + [anon_sym_bitand] = ACTIONS(5540), + [anon_sym_not_eq] = ACTIONS(5540), + [anon_sym_DASH_DASH] = ACTIONS(5542), + [anon_sym_PLUS_PLUS] = ACTIONS(5542), + [anon_sym_DOT] = ACTIONS(5540), + [anon_sym_DOT_STAR] = ACTIONS(5542), + [anon_sym_DASH_GT] = ACTIONS(5542), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5542), + [sym_auto] = ACTIONS(5540), + [anon_sym_decltype] = ACTIONS(5540), + }, + [1982] = { + [sym_decltype_auto] = STATE(2136), + [sym__identifier] = ACTIONS(5000), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5002), + [anon_sym_COMMA] = ACTIONS(5002), + [anon_sym_RPAREN] = ACTIONS(5002), + [aux_sym_preproc_if_token2] = ACTIONS(5002), + [aux_sym_preproc_else_token1] = ACTIONS(5002), + [aux_sym_preproc_elif_token1] = ACTIONS(5000), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5002), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5002), + [anon_sym_LPAREN2] = ACTIONS(5002), + [anon_sym_DASH] = ACTIONS(5000), + [anon_sym_PLUS] = ACTIONS(5000), + [anon_sym_STAR] = ACTIONS(5000), + [anon_sym_SLASH] = ACTIONS(5000), + [anon_sym_PERCENT] = ACTIONS(5000), + [anon_sym_PIPE_PIPE] = ACTIONS(5002), + [anon_sym_AMP_AMP] = ACTIONS(5002), + [anon_sym_PIPE] = ACTIONS(5000), + [anon_sym_CARET] = ACTIONS(5000), + [anon_sym_AMP] = ACTIONS(5000), + [anon_sym_EQ_EQ] = ACTIONS(5002), + [anon_sym_BANG_EQ] = ACTIONS(5002), + [anon_sym_GT] = ACTIONS(5000), + [anon_sym_GT_EQ] = ACTIONS(5002), + [anon_sym_LT_EQ] = ACTIONS(5000), + [anon_sym_LT] = ACTIONS(5000), + [anon_sym_LT_LT] = ACTIONS(5000), + [anon_sym_GT_GT] = ACTIONS(5000), + [anon_sym_SEMI] = ACTIONS(5002), + [anon_sym___attribute__] = ACTIONS(5000), + [anon_sym_LBRACE] = ACTIONS(5002), + [anon_sym_RBRACE] = ACTIONS(5002), + [anon_sym_LBRACK] = ACTIONS(5002), + [anon_sym_RBRACK] = ACTIONS(5002), + [anon_sym_EQ] = ACTIONS(5000), + [anon_sym_COLON] = ACTIONS(5002), + [anon_sym_QMARK] = ACTIONS(5002), + [anon_sym_STAR_EQ] = ACTIONS(5002), + [anon_sym_SLASH_EQ] = ACTIONS(5002), + [anon_sym_PERCENT_EQ] = ACTIONS(5002), + [anon_sym_PLUS_EQ] = ACTIONS(5002), + [anon_sym_DASH_EQ] = ACTIONS(5002), + [anon_sym_LT_LT_EQ] = ACTIONS(5002), + [anon_sym_GT_GT_EQ] = ACTIONS(5002), + [anon_sym_AMP_EQ] = ACTIONS(5002), + [anon_sym_CARET_EQ] = ACTIONS(5002), + [anon_sym_PIPE_EQ] = ACTIONS(5002), + [anon_sym_and_eq] = ACTIONS(5000), + [anon_sym_or_eq] = ACTIONS(5000), + [anon_sym_xor_eq] = ACTIONS(5000), + [anon_sym_LT_EQ_GT] = ACTIONS(5002), + [anon_sym_or] = ACTIONS(5000), + [anon_sym_and] = ACTIONS(5000), + [anon_sym_bitor] = ACTIONS(5000), + [anon_sym_xor] = ACTIONS(5000), + [anon_sym_bitand] = ACTIONS(5000), + [anon_sym_not_eq] = ACTIONS(5000), + [anon_sym_DASH_DASH] = ACTIONS(5002), + [anon_sym_PLUS_PLUS] = ACTIONS(5002), + [anon_sym_DOT] = ACTIONS(5000), + [anon_sym_DOT_STAR] = ACTIONS(5002), + [anon_sym_DASH_GT] = ACTIONS(5002), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5002), + [sym_auto] = ACTIONS(5056), + [anon_sym_decltype] = ACTIONS(5058), + }, + [1983] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4914), + [anon_sym_COMMA] = ACTIONS(4914), + [anon_sym_RPAREN] = ACTIONS(4914), + [anon_sym_LPAREN2] = ACTIONS(4914), + [anon_sym_DASH] = ACTIONS(4912), + [anon_sym_PLUS] = ACTIONS(4912), + [anon_sym_STAR] = ACTIONS(4912), + [anon_sym_SLASH] = ACTIONS(4912), + [anon_sym_PERCENT] = ACTIONS(4912), + [anon_sym_PIPE_PIPE] = ACTIONS(4914), + [anon_sym_AMP_AMP] = ACTIONS(4914), + [anon_sym_PIPE] = ACTIONS(4912), + [anon_sym_CARET] = ACTIONS(4912), + [anon_sym_AMP] = ACTIONS(4912), + [anon_sym_EQ_EQ] = ACTIONS(4914), + [anon_sym_BANG_EQ] = ACTIONS(4914), + [anon_sym_GT] = ACTIONS(4912), + [anon_sym_GT_EQ] = ACTIONS(4914), + [anon_sym_LT_EQ] = ACTIONS(4912), + [anon_sym_LT] = ACTIONS(4912), + [anon_sym_LT_LT] = ACTIONS(4912), + [anon_sym_GT_GT] = ACTIONS(4912), + [anon_sym_SEMI] = ACTIONS(4914), + [anon_sym_RBRACE] = ACTIONS(4914), + [anon_sym_LBRACK] = ACTIONS(4914), + [anon_sym_RBRACK] = ACTIONS(4914), + [anon_sym_EQ] = ACTIONS(4912), + [anon_sym_COLON] = ACTIONS(4914), + [anon_sym_QMARK] = ACTIONS(4914), + [anon_sym_STAR_EQ] = ACTIONS(4914), + [anon_sym_SLASH_EQ] = ACTIONS(4914), + [anon_sym_PERCENT_EQ] = ACTIONS(4914), + [anon_sym_PLUS_EQ] = ACTIONS(4914), + [anon_sym_DASH_EQ] = ACTIONS(4914), + [anon_sym_LT_LT_EQ] = ACTIONS(4914), + [anon_sym_GT_GT_EQ] = ACTIONS(4914), + [anon_sym_AMP_EQ] = ACTIONS(4914), + [anon_sym_CARET_EQ] = ACTIONS(4914), + [anon_sym_PIPE_EQ] = ACTIONS(4914), + [anon_sym_and_eq] = ACTIONS(4912), + [anon_sym_or_eq] = ACTIONS(4912), + [anon_sym_xor_eq] = ACTIONS(4912), + [anon_sym_LT_EQ_GT] = ACTIONS(4914), + [anon_sym_or] = ACTIONS(4912), + [anon_sym_and] = ACTIONS(4912), + [anon_sym_bitor] = ACTIONS(4912), + [anon_sym_xor] = ACTIONS(4912), + [anon_sym_bitand] = ACTIONS(4912), + [anon_sym_not_eq] = ACTIONS(4912), + [anon_sym_DASH_DASH] = ACTIONS(4914), + [anon_sym_PLUS_PLUS] = ACTIONS(4914), + [anon_sym_DOT] = ACTIONS(4912), + [anon_sym_DOT_STAR] = ACTIONS(4914), + [anon_sym_DASH_GT] = ACTIONS(4914), + [anon_sym_L_DQUOTE] = ACTIONS(4914), + [anon_sym_u_DQUOTE] = ACTIONS(4914), + [anon_sym_U_DQUOTE] = ACTIONS(4914), + [anon_sym_u8_DQUOTE] = ACTIONS(4914), + [anon_sym_DQUOTE] = ACTIONS(4914), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4914), + [anon_sym_R_DQUOTE] = ACTIONS(4914), + [anon_sym_LR_DQUOTE] = ACTIONS(4914), + [anon_sym_uR_DQUOTE] = ACTIONS(4914), + [anon_sym_UR_DQUOTE] = ACTIONS(4914), + [anon_sym_u8R_DQUOTE] = ACTIONS(4914), + [sym_literal_suffix] = ACTIONS(4912), + }, + [1984] = { + [sym_attribute_declaration] = STATE(2075), + [sym_parameter_list] = STATE(2057), + [aux_sym_attributed_declarator_repeat1] = STATE(2075), + [sym__identifier] = ACTIONS(5544), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5546), + [anon_sym_COMMA] = ACTIONS(5546), + [anon_sym_RPAREN] = ACTIONS(5546), + [aux_sym_preproc_if_token2] = ACTIONS(5546), + [aux_sym_preproc_else_token1] = ACTIONS(5546), + [aux_sym_preproc_elif_token1] = ACTIONS(5544), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5546), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5546), + [anon_sym_LPAREN2] = ACTIONS(5510), + [anon_sym_DASH] = ACTIONS(5544), + [anon_sym_PLUS] = ACTIONS(5544), + [anon_sym_STAR] = ACTIONS(5544), + [anon_sym_SLASH] = ACTIONS(5544), + [anon_sym_PERCENT] = ACTIONS(5544), + [anon_sym_PIPE_PIPE] = ACTIONS(5546), + [anon_sym_AMP_AMP] = ACTIONS(5546), + [anon_sym_PIPE] = ACTIONS(5544), + [anon_sym_CARET] = ACTIONS(5544), + [anon_sym_AMP] = ACTIONS(5544), + [anon_sym_EQ_EQ] = ACTIONS(5546), + [anon_sym_BANG_EQ] = ACTIONS(5546), + [anon_sym_GT] = ACTIONS(5544), + [anon_sym_GT_EQ] = ACTIONS(5546), + [anon_sym_LT_EQ] = ACTIONS(5544), + [anon_sym_LT] = ACTIONS(5544), + [anon_sym_LT_LT] = ACTIONS(5544), + [anon_sym_GT_GT] = ACTIONS(5544), + [anon_sym_SEMI] = ACTIONS(5546), + [anon_sym___attribute__] = ACTIONS(5544), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5546), + [anon_sym_LBRACK] = ACTIONS(5514), + [anon_sym_RBRACK] = ACTIONS(5546), + [anon_sym_EQ] = ACTIONS(5544), + [anon_sym_COLON] = ACTIONS(5546), + [anon_sym_QMARK] = ACTIONS(5546), + [anon_sym_STAR_EQ] = ACTIONS(5546), + [anon_sym_SLASH_EQ] = ACTIONS(5546), + [anon_sym_PERCENT_EQ] = ACTIONS(5546), + [anon_sym_PLUS_EQ] = ACTIONS(5546), + [anon_sym_DASH_EQ] = ACTIONS(5546), + [anon_sym_LT_LT_EQ] = ACTIONS(5546), + [anon_sym_GT_GT_EQ] = ACTIONS(5546), + [anon_sym_AMP_EQ] = ACTIONS(5546), + [anon_sym_CARET_EQ] = ACTIONS(5546), + [anon_sym_PIPE_EQ] = ACTIONS(5546), + [anon_sym_and_eq] = ACTIONS(5544), + [anon_sym_or_eq] = ACTIONS(5544), + [anon_sym_xor_eq] = ACTIONS(5544), + [anon_sym_LT_EQ_GT] = ACTIONS(5546), + [anon_sym_or] = ACTIONS(5544), + [anon_sym_and] = ACTIONS(5544), + [anon_sym_bitor] = ACTIONS(5544), + [anon_sym_xor] = ACTIONS(5544), + [anon_sym_bitand] = ACTIONS(5544), + [anon_sym_not_eq] = ACTIONS(5544), + [anon_sym_DASH_DASH] = ACTIONS(5546), + [anon_sym_PLUS_PLUS] = ACTIONS(5546), + [anon_sym_DOT] = ACTIONS(5544), + [anon_sym_DOT_STAR] = ACTIONS(5546), + [anon_sym_DASH_GT] = ACTIONS(5546), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5546), + }, + [1985] = { + [sym_template_argument_list] = STATE(1626), + [sym__identifier] = ACTIONS(5032), + [anon_sym_LPAREN2] = ACTIONS(3789), + [anon_sym_TILDE] = ACTIONS(3789), + [anon_sym_STAR] = ACTIONS(3789), + [anon_sym_PIPE_PIPE] = ACTIONS(3789), + [anon_sym_AMP_AMP] = ACTIONS(3789), + [anon_sym_AMP] = ACTIONS(5032), + [anon_sym_LT] = ACTIONS(5494), + [anon_sym___extension__] = ACTIONS(5032), + [anon_sym_extern] = ACTIONS(5032), + [anon_sym___attribute__] = ACTIONS(5032), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3789), + [anon_sym___declspec] = ACTIONS(5032), + [anon_sym___based] = ACTIONS(5032), + [anon_sym___cdecl] = ACTIONS(5032), + [anon_sym___clrcall] = ACTIONS(5032), + [anon_sym___stdcall] = ACTIONS(5032), + [anon_sym___fastcall] = ACTIONS(5032), + [anon_sym___thiscall] = ACTIONS(5032), + [anon_sym___vectorcall] = ACTIONS(5032), + [anon_sym_signed] = ACTIONS(5032), + [anon_sym_unsigned] = ACTIONS(5032), + [anon_sym_long] = ACTIONS(5032), + [anon_sym_short] = ACTIONS(5032), + [anon_sym_LBRACK] = ACTIONS(5032), + [anon_sym_static] = ACTIONS(5032), + [anon_sym_register] = ACTIONS(5032), + [anon_sym_inline] = ACTIONS(5032), + [anon_sym___inline] = ACTIONS(5032), + [anon_sym___inline__] = ACTIONS(5032), + [anon_sym___forceinline] = ACTIONS(5032), + [anon_sym_thread_local] = ACTIONS(5032), + [anon_sym___thread] = ACTIONS(5032), + [anon_sym_const] = ACTIONS(5032), + [anon_sym_constexpr] = ACTIONS(5032), + [anon_sym_volatile] = ACTIONS(5032), + [anon_sym_restrict] = ACTIONS(5032), + [anon_sym___restrict__] = ACTIONS(5032), + [anon_sym__Atomic] = ACTIONS(5032), + [anon_sym__Noreturn] = ACTIONS(5032), + [anon_sym_noreturn] = ACTIONS(5032), + [anon_sym_mutable] = ACTIONS(5032), + [anon_sym_constinit] = ACTIONS(5032), + [anon_sym_consteval] = ACTIONS(5032), + [anon_sym_alignas] = ACTIONS(5032), + [anon_sym__Alignas] = ACTIONS(5032), + [sym_primitive_type] = ACTIONS(5032), + [anon_sym_enum] = ACTIONS(5032), + [anon_sym_class] = ACTIONS(5032), + [anon_sym_struct] = ACTIONS(5032), + [anon_sym_union] = ACTIONS(5032), + [anon_sym_or] = ACTIONS(5032), + [anon_sym_and] = ACTIONS(5032), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3789), + [sym_auto] = ACTIONS(5032), + [anon_sym_decltype] = ACTIONS(5032), + [sym_virtual] = ACTIONS(5032), + [anon_sym_explicit] = ACTIONS(5032), + [anon_sym_typename] = ACTIONS(5032), + [anon_sym_template] = ACTIONS(5032), + [anon_sym_operator] = ACTIONS(5032), + [anon_sym_friend] = ACTIONS(5032), + [anon_sym_using] = ACTIONS(5032), + [anon_sym_concept] = ACTIONS(5032), + }, + [1986] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4918), + [anon_sym_COMMA] = ACTIONS(4918), + [anon_sym_RPAREN] = ACTIONS(4918), + [anon_sym_LPAREN2] = ACTIONS(4918), + [anon_sym_DASH] = ACTIONS(4916), + [anon_sym_PLUS] = ACTIONS(4916), + [anon_sym_STAR] = ACTIONS(4916), + [anon_sym_SLASH] = ACTIONS(4916), + [anon_sym_PERCENT] = ACTIONS(4916), + [anon_sym_PIPE_PIPE] = ACTIONS(4918), + [anon_sym_AMP_AMP] = ACTIONS(4918), + [anon_sym_PIPE] = ACTIONS(4916), + [anon_sym_CARET] = ACTIONS(4916), + [anon_sym_AMP] = ACTIONS(4916), + [anon_sym_EQ_EQ] = ACTIONS(4918), + [anon_sym_BANG_EQ] = ACTIONS(4918), + [anon_sym_GT] = ACTIONS(4916), + [anon_sym_GT_EQ] = ACTIONS(4918), + [anon_sym_LT_EQ] = ACTIONS(4916), + [anon_sym_LT] = ACTIONS(4916), + [anon_sym_LT_LT] = ACTIONS(4916), + [anon_sym_GT_GT] = ACTIONS(4916), + [anon_sym_SEMI] = ACTIONS(4918), + [anon_sym_RBRACE] = ACTIONS(4918), + [anon_sym_LBRACK] = ACTIONS(4918), + [anon_sym_RBRACK] = ACTIONS(4918), + [anon_sym_EQ] = ACTIONS(4916), + [anon_sym_COLON] = ACTIONS(4918), + [anon_sym_QMARK] = ACTIONS(4918), + [anon_sym_STAR_EQ] = ACTIONS(4918), + [anon_sym_SLASH_EQ] = ACTIONS(4918), + [anon_sym_PERCENT_EQ] = ACTIONS(4918), + [anon_sym_PLUS_EQ] = ACTIONS(4918), + [anon_sym_DASH_EQ] = ACTIONS(4918), + [anon_sym_LT_LT_EQ] = ACTIONS(4918), + [anon_sym_GT_GT_EQ] = ACTIONS(4918), + [anon_sym_AMP_EQ] = ACTIONS(4918), + [anon_sym_CARET_EQ] = ACTIONS(4918), + [anon_sym_PIPE_EQ] = ACTIONS(4918), + [anon_sym_and_eq] = ACTIONS(4916), + [anon_sym_or_eq] = ACTIONS(4916), + [anon_sym_xor_eq] = ACTIONS(4916), + [anon_sym_LT_EQ_GT] = ACTIONS(4918), + [anon_sym_or] = ACTIONS(4916), + [anon_sym_and] = ACTIONS(4916), + [anon_sym_bitor] = ACTIONS(4916), + [anon_sym_xor] = ACTIONS(4916), + [anon_sym_bitand] = ACTIONS(4916), + [anon_sym_not_eq] = ACTIONS(4916), + [anon_sym_DASH_DASH] = ACTIONS(4918), + [anon_sym_PLUS_PLUS] = ACTIONS(4918), + [anon_sym_DOT] = ACTIONS(4916), + [anon_sym_DOT_STAR] = ACTIONS(4918), + [anon_sym_DASH_GT] = ACTIONS(4918), + [anon_sym_L_DQUOTE] = ACTIONS(4918), + [anon_sym_u_DQUOTE] = ACTIONS(4918), + [anon_sym_U_DQUOTE] = ACTIONS(4918), + [anon_sym_u8_DQUOTE] = ACTIONS(4918), + [anon_sym_DQUOTE] = ACTIONS(4918), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4918), + [anon_sym_R_DQUOTE] = ACTIONS(4918), + [anon_sym_LR_DQUOTE] = ACTIONS(4918), + [anon_sym_uR_DQUOTE] = ACTIONS(4918), + [anon_sym_UR_DQUOTE] = ACTIONS(4918), + [anon_sym_u8R_DQUOTE] = ACTIONS(4918), + [sym_literal_suffix] = ACTIONS(4916), + }, + [1987] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(4910), + [anon_sym_COMMA] = ACTIONS(4910), + [anon_sym_RPAREN] = ACTIONS(4910), + [anon_sym_LPAREN2] = ACTIONS(4910), + [anon_sym_DASH] = ACTIONS(4908), + [anon_sym_PLUS] = ACTIONS(4908), + [anon_sym_STAR] = ACTIONS(4908), + [anon_sym_SLASH] = ACTIONS(4908), + [anon_sym_PERCENT] = ACTIONS(4908), + [anon_sym_PIPE_PIPE] = ACTIONS(4910), + [anon_sym_AMP_AMP] = ACTIONS(4910), + [anon_sym_PIPE] = ACTIONS(4908), + [anon_sym_CARET] = ACTIONS(4908), + [anon_sym_AMP] = ACTIONS(4908), + [anon_sym_EQ_EQ] = ACTIONS(4910), + [anon_sym_BANG_EQ] = ACTIONS(4910), + [anon_sym_GT] = ACTIONS(4908), + [anon_sym_GT_EQ] = ACTIONS(4910), + [anon_sym_LT_EQ] = ACTIONS(4908), + [anon_sym_LT] = ACTIONS(4908), + [anon_sym_LT_LT] = ACTIONS(4908), + [anon_sym_GT_GT] = ACTIONS(4908), + [anon_sym_SEMI] = ACTIONS(4910), + [anon_sym_RBRACE] = ACTIONS(4910), + [anon_sym_LBRACK] = ACTIONS(4910), + [anon_sym_RBRACK] = ACTIONS(4910), + [anon_sym_EQ] = ACTIONS(4908), + [anon_sym_COLON] = ACTIONS(4910), + [anon_sym_QMARK] = ACTIONS(4910), + [anon_sym_STAR_EQ] = ACTIONS(4910), + [anon_sym_SLASH_EQ] = ACTIONS(4910), + [anon_sym_PERCENT_EQ] = ACTIONS(4910), + [anon_sym_PLUS_EQ] = ACTIONS(4910), + [anon_sym_DASH_EQ] = ACTIONS(4910), + [anon_sym_LT_LT_EQ] = ACTIONS(4910), + [anon_sym_GT_GT_EQ] = ACTIONS(4910), + [anon_sym_AMP_EQ] = ACTIONS(4910), + [anon_sym_CARET_EQ] = ACTIONS(4910), + [anon_sym_PIPE_EQ] = ACTIONS(4910), + [anon_sym_and_eq] = ACTIONS(4908), + [anon_sym_or_eq] = ACTIONS(4908), + [anon_sym_xor_eq] = ACTIONS(4908), + [anon_sym_LT_EQ_GT] = ACTIONS(4910), + [anon_sym_or] = ACTIONS(4908), + [anon_sym_and] = ACTIONS(4908), + [anon_sym_bitor] = ACTIONS(4908), + [anon_sym_xor] = ACTIONS(4908), + [anon_sym_bitand] = ACTIONS(4908), + [anon_sym_not_eq] = ACTIONS(4908), + [anon_sym_DASH_DASH] = ACTIONS(4910), + [anon_sym_PLUS_PLUS] = ACTIONS(4910), + [anon_sym_DOT] = ACTIONS(4908), + [anon_sym_DOT_STAR] = ACTIONS(4910), + [anon_sym_DASH_GT] = ACTIONS(4910), + [anon_sym_L_DQUOTE] = ACTIONS(4910), + [anon_sym_u_DQUOTE] = ACTIONS(4910), + [anon_sym_U_DQUOTE] = ACTIONS(4910), + [anon_sym_u8_DQUOTE] = ACTIONS(4910), + [anon_sym_DQUOTE] = ACTIONS(4910), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4910), + [anon_sym_R_DQUOTE] = ACTIONS(4910), + [anon_sym_LR_DQUOTE] = ACTIONS(4910), + [anon_sym_uR_DQUOTE] = ACTIONS(4910), + [anon_sym_UR_DQUOTE] = ACTIONS(4910), + [anon_sym_u8R_DQUOTE] = ACTIONS(4910), + [sym_literal_suffix] = ACTIONS(4908), + }, + [1988] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [aux_sym_preproc_if_token2] = ACTIONS(5014), + [aux_sym_preproc_else_token1] = ACTIONS(5014), + [aux_sym_preproc_elif_token1] = ACTIONS(5012), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5012), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5012), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5012), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5012), + [anon_sym_GT_GT] = ACTIONS(5012), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_EQ] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5012), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_STAR_EQ] = ACTIONS(5014), + [anon_sym_SLASH_EQ] = ACTIONS(5014), + [anon_sym_PERCENT_EQ] = ACTIONS(5014), + [anon_sym_PLUS_EQ] = ACTIONS(5014), + [anon_sym_DASH_EQ] = ACTIONS(5014), + [anon_sym_LT_LT_EQ] = ACTIONS(5014), + [anon_sym_GT_GT_EQ] = ACTIONS(5014), + [anon_sym_AMP_EQ] = ACTIONS(5014), + [anon_sym_CARET_EQ] = ACTIONS(5014), + [anon_sym_PIPE_EQ] = ACTIONS(5014), + [anon_sym_and_eq] = ACTIONS(5012), + [anon_sym_or_eq] = ACTIONS(5012), + [anon_sym_xor_eq] = ACTIONS(5012), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + }, + [1989] = { + [sym_attribute_specifier] = STATE(2135), + [sym__identifier] = ACTIONS(5548), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5550), + [anon_sym_COMMA] = ACTIONS(5550), + [anon_sym_RPAREN] = ACTIONS(5550), + [aux_sym_preproc_if_token2] = ACTIONS(5550), + [aux_sym_preproc_else_token1] = ACTIONS(5550), + [aux_sym_preproc_elif_token1] = ACTIONS(5548), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5550), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5550), + [anon_sym_LPAREN2] = ACTIONS(5550), + [anon_sym_DASH] = ACTIONS(5548), + [anon_sym_PLUS] = ACTIONS(5548), + [anon_sym_STAR] = ACTIONS(5548), + [anon_sym_SLASH] = ACTIONS(5548), + [anon_sym_PERCENT] = ACTIONS(5548), + [anon_sym_PIPE_PIPE] = ACTIONS(5550), + [anon_sym_AMP_AMP] = ACTIONS(5550), + [anon_sym_PIPE] = ACTIONS(5548), + [anon_sym_CARET] = ACTIONS(5548), + [anon_sym_AMP] = ACTIONS(5548), + [anon_sym_EQ_EQ] = ACTIONS(5550), + [anon_sym_BANG_EQ] = ACTIONS(5550), + [anon_sym_GT] = ACTIONS(5548), + [anon_sym_GT_EQ] = ACTIONS(5550), + [anon_sym_LT_EQ] = ACTIONS(5548), + [anon_sym_LT] = ACTIONS(5548), + [anon_sym_LT_LT] = ACTIONS(5548), + [anon_sym_GT_GT] = ACTIONS(5548), + [anon_sym_SEMI] = ACTIONS(5550), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5550), + [anon_sym_RBRACE] = ACTIONS(5550), + [anon_sym_LBRACK] = ACTIONS(5550), + [anon_sym_RBRACK] = ACTIONS(5550), + [anon_sym_EQ] = ACTIONS(5548), + [anon_sym_COLON] = ACTIONS(5550), + [anon_sym_QMARK] = ACTIONS(5550), + [anon_sym_STAR_EQ] = ACTIONS(5550), + [anon_sym_SLASH_EQ] = ACTIONS(5550), + [anon_sym_PERCENT_EQ] = ACTIONS(5550), + [anon_sym_PLUS_EQ] = ACTIONS(5550), + [anon_sym_DASH_EQ] = ACTIONS(5550), + [anon_sym_LT_LT_EQ] = ACTIONS(5550), + [anon_sym_GT_GT_EQ] = ACTIONS(5550), + [anon_sym_AMP_EQ] = ACTIONS(5550), + [anon_sym_CARET_EQ] = ACTIONS(5550), + [anon_sym_PIPE_EQ] = ACTIONS(5550), + [anon_sym_and_eq] = ACTIONS(5548), + [anon_sym_or_eq] = ACTIONS(5548), + [anon_sym_xor_eq] = ACTIONS(5548), + [anon_sym_LT_EQ_GT] = ACTIONS(5550), + [anon_sym_or] = ACTIONS(5548), + [anon_sym_and] = ACTIONS(5548), + [anon_sym_bitor] = ACTIONS(5548), + [anon_sym_xor] = ACTIONS(5548), + [anon_sym_bitand] = ACTIONS(5548), + [anon_sym_not_eq] = ACTIONS(5548), + [anon_sym_DASH_DASH] = ACTIONS(5550), + [anon_sym_PLUS_PLUS] = ACTIONS(5550), + [anon_sym_DOT] = ACTIONS(5548), + [anon_sym_DOT_STAR] = ACTIONS(5550), + [anon_sym_DASH_GT] = ACTIONS(5550), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5550), + [sym_auto] = ACTIONS(5548), + [anon_sym_decltype] = ACTIONS(5548), + }, + [1990] = { + [sym_attribute_declaration] = STATE(2075), + [sym_parameter_list] = STATE(2057), + [aux_sym_attributed_declarator_repeat1] = STATE(2075), + [sym__identifier] = ACTIONS(5552), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5554), + [anon_sym_COMMA] = ACTIONS(5554), + [anon_sym_RPAREN] = ACTIONS(5554), + [aux_sym_preproc_if_token2] = ACTIONS(5554), + [aux_sym_preproc_else_token1] = ACTIONS(5554), + [aux_sym_preproc_elif_token1] = ACTIONS(5552), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5554), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5554), + [anon_sym_LPAREN2] = ACTIONS(5510), + [anon_sym_DASH] = ACTIONS(5552), + [anon_sym_PLUS] = ACTIONS(5552), + [anon_sym_STAR] = ACTIONS(5552), + [anon_sym_SLASH] = ACTIONS(5552), + [anon_sym_PERCENT] = ACTIONS(5552), + [anon_sym_PIPE_PIPE] = ACTIONS(5554), + [anon_sym_AMP_AMP] = ACTIONS(5554), + [anon_sym_PIPE] = ACTIONS(5552), + [anon_sym_CARET] = ACTIONS(5552), + [anon_sym_AMP] = ACTIONS(5552), + [anon_sym_EQ_EQ] = ACTIONS(5554), + [anon_sym_BANG_EQ] = ACTIONS(5554), + [anon_sym_GT] = ACTIONS(5552), + [anon_sym_GT_EQ] = ACTIONS(5554), + [anon_sym_LT_EQ] = ACTIONS(5552), + [anon_sym_LT] = ACTIONS(5552), + [anon_sym_LT_LT] = ACTIONS(5552), + [anon_sym_GT_GT] = ACTIONS(5552), + [anon_sym_SEMI] = ACTIONS(5554), + [anon_sym___attribute__] = ACTIONS(5552), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5554), + [anon_sym_LBRACK] = ACTIONS(5514), + [anon_sym_RBRACK] = ACTIONS(5554), + [anon_sym_EQ] = ACTIONS(5552), + [anon_sym_COLON] = ACTIONS(5554), + [anon_sym_QMARK] = ACTIONS(5554), + [anon_sym_STAR_EQ] = ACTIONS(5554), + [anon_sym_SLASH_EQ] = ACTIONS(5554), + [anon_sym_PERCENT_EQ] = ACTIONS(5554), + [anon_sym_PLUS_EQ] = ACTIONS(5554), + [anon_sym_DASH_EQ] = ACTIONS(5554), + [anon_sym_LT_LT_EQ] = ACTIONS(5554), + [anon_sym_GT_GT_EQ] = ACTIONS(5554), + [anon_sym_AMP_EQ] = ACTIONS(5554), + [anon_sym_CARET_EQ] = ACTIONS(5554), + [anon_sym_PIPE_EQ] = ACTIONS(5554), + [anon_sym_and_eq] = ACTIONS(5552), + [anon_sym_or_eq] = ACTIONS(5552), + [anon_sym_xor_eq] = ACTIONS(5552), + [anon_sym_LT_EQ_GT] = ACTIONS(5554), + [anon_sym_or] = ACTIONS(5552), + [anon_sym_and] = ACTIONS(5552), + [anon_sym_bitor] = ACTIONS(5552), + [anon_sym_xor] = ACTIONS(5552), + [anon_sym_bitand] = ACTIONS(5552), + [anon_sym_not_eq] = ACTIONS(5552), + [anon_sym_DASH_DASH] = ACTIONS(5554), + [anon_sym_PLUS_PLUS] = ACTIONS(5554), + [anon_sym_DOT] = ACTIONS(5552), + [anon_sym_DOT_STAR] = ACTIONS(5554), + [anon_sym_DASH_GT] = ACTIONS(5554), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5554), + }, + [1991] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(1992), + [sym__declarator] = STATE(6337), + [sym__abstract_declarator] = STATE(6620), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2688), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3393), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2688), + [aux_sym_pointer_declarator_repeat1] = STATE(1992), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5395), + [anon_sym_RPAREN] = ACTIONS(5395), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5556), + [anon_sym_AMP_AMP] = ACTIONS(5558), + [anon_sym_AMP] = ACTIONS(5560), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(5409), + }, + [1992] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(4031), + [sym__declarator] = STATE(6343), + [sym__abstract_declarator] = STATE(6583), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2689), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3393), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2689), + [aux_sym_pointer_declarator_repeat1] = STATE(4031), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5416), + [anon_sym_RPAREN] = ACTIONS(5416), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5556), + [anon_sym_AMP_AMP] = ACTIONS(5558), + [anon_sym_AMP] = ACTIONS(5560), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(5409), + }, + [1993] = { + [sym_string_literal] = STATE(1993), + [sym__string_literal] = STATE(2501), + [sym_identifier] = STATE(1993), + [sym_raw_string_literal] = STATE(1993), + [aux_sym_concatenated_string_repeat1] = STATE(1993), + [sym__identifier] = ACTIONS(5562), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4773), + [anon_sym_COMMA] = ACTIONS(4773), + [anon_sym_RPAREN] = ACTIONS(4773), + [anon_sym_LPAREN2] = ACTIONS(4773), + [anon_sym_DASH] = ACTIONS(4775), + [anon_sym_PLUS] = ACTIONS(4775), + [anon_sym_STAR] = ACTIONS(4775), + [anon_sym_SLASH] = ACTIONS(4775), + [anon_sym_PERCENT] = ACTIONS(4775), + [anon_sym_PIPE_PIPE] = ACTIONS(4773), + [anon_sym_AMP_AMP] = ACTIONS(4773), + [anon_sym_PIPE] = ACTIONS(4775), + [anon_sym_CARET] = ACTIONS(4775), + [anon_sym_AMP] = ACTIONS(4775), + [anon_sym_EQ_EQ] = ACTIONS(4773), + [anon_sym_BANG_EQ] = ACTIONS(4773), + [anon_sym_GT] = ACTIONS(4775), + [anon_sym_GT_EQ] = ACTIONS(4773), + [anon_sym_LT_EQ] = ACTIONS(4775), + [anon_sym_LT] = ACTIONS(4775), + [anon_sym_LT_LT] = ACTIONS(4775), + [anon_sym_GT_GT] = ACTIONS(4775), + [anon_sym_LBRACK] = ACTIONS(4773), + [anon_sym_EQ] = ACTIONS(4775), + [anon_sym_QMARK] = ACTIONS(4773), + [anon_sym_STAR_EQ] = ACTIONS(4773), + [anon_sym_SLASH_EQ] = ACTIONS(4773), + [anon_sym_PERCENT_EQ] = ACTIONS(4773), + [anon_sym_PLUS_EQ] = ACTIONS(4773), + [anon_sym_DASH_EQ] = ACTIONS(4773), + [anon_sym_LT_LT_EQ] = ACTIONS(4773), + [anon_sym_GT_GT_EQ] = ACTIONS(4773), + [anon_sym_AMP_EQ] = ACTIONS(4773), + [anon_sym_CARET_EQ] = ACTIONS(4773), + [anon_sym_PIPE_EQ] = ACTIONS(4773), + [anon_sym_LT_EQ_GT] = ACTIONS(4773), + [anon_sym_or] = ACTIONS(4775), + [anon_sym_and] = ACTIONS(4775), + [anon_sym_bitor] = ACTIONS(4775), + [anon_sym_xor] = ACTIONS(4775), + [anon_sym_bitand] = ACTIONS(4775), + [anon_sym_not_eq] = ACTIONS(4775), + [anon_sym_DASH_DASH] = ACTIONS(4773), + [anon_sym_PLUS_PLUS] = ACTIONS(4773), + [anon_sym_DOT] = ACTIONS(4775), + [anon_sym_DOT_STAR] = ACTIONS(4773), + [anon_sym_DASH_GT] = ACTIONS(4775), + [anon_sym_L_DQUOTE] = ACTIONS(5565), + [anon_sym_u_DQUOTE] = ACTIONS(5565), + [anon_sym_U_DQUOTE] = ACTIONS(5565), + [anon_sym_u8_DQUOTE] = ACTIONS(5565), + [anon_sym_DQUOTE] = ACTIONS(5565), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5568), + [anon_sym_R_DQUOTE] = ACTIONS(5571), + [anon_sym_LR_DQUOTE] = ACTIONS(5571), + [anon_sym_uR_DQUOTE] = ACTIONS(5571), + [anon_sym_UR_DQUOTE] = ACTIONS(5571), + [anon_sym_u8R_DQUOTE] = ACTIONS(5571), + [anon_sym_DASH_GT_STAR] = ACTIONS(4773), + [sym_literal_suffix] = ACTIONS(4775), + }, + [1994] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5574), + [anon_sym_COMMA] = ACTIONS(5574), + [anon_sym_RPAREN] = ACTIONS(5574), + [anon_sym_LPAREN2] = ACTIONS(5574), + [anon_sym_DASH] = ACTIONS(5576), + [anon_sym_PLUS] = ACTIONS(5576), + [anon_sym_STAR] = ACTIONS(5574), + [anon_sym_SLASH] = ACTIONS(5576), + [anon_sym_PERCENT] = ACTIONS(5574), + [anon_sym_PIPE_PIPE] = ACTIONS(5574), + [anon_sym_AMP_AMP] = ACTIONS(5574), + [anon_sym_PIPE] = ACTIONS(5576), + [anon_sym_CARET] = ACTIONS(5574), + [anon_sym_AMP] = ACTIONS(5576), + [anon_sym_EQ_EQ] = ACTIONS(5574), + [anon_sym_BANG_EQ] = ACTIONS(5574), + [anon_sym_GT] = ACTIONS(5576), + [anon_sym_GT_EQ] = ACTIONS(5574), + [anon_sym_LT_EQ] = ACTIONS(5576), + [anon_sym_LT] = ACTIONS(5576), + [anon_sym_LT_LT] = ACTIONS(5574), + [anon_sym_GT_GT] = ACTIONS(5574), + [anon_sym_SEMI] = ACTIONS(5574), + [anon_sym___extension__] = ACTIONS(5574), + [anon_sym___attribute__] = ACTIONS(5574), + [anon_sym_LBRACE] = ACTIONS(5574), + [anon_sym_RBRACE] = ACTIONS(5574), + [anon_sym_signed] = ACTIONS(5538), + [anon_sym_unsigned] = ACTIONS(5538), + [anon_sym_long] = ACTIONS(5538), + [anon_sym_short] = ACTIONS(5538), + [anon_sym_LBRACK] = ACTIONS(5574), + [anon_sym_RBRACK] = ACTIONS(5574), + [anon_sym_const] = ACTIONS(5576), + [anon_sym_constexpr] = ACTIONS(5574), + [anon_sym_volatile] = ACTIONS(5574), + [anon_sym_restrict] = ACTIONS(5574), + [anon_sym___restrict__] = ACTIONS(5574), + [anon_sym__Atomic] = ACTIONS(5574), + [anon_sym__Noreturn] = ACTIONS(5574), + [anon_sym_noreturn] = ACTIONS(5574), + [anon_sym_mutable] = ACTIONS(5574), + [anon_sym_constinit] = ACTIONS(5574), + [anon_sym_consteval] = ACTIONS(5574), + [anon_sym_alignas] = ACTIONS(5574), + [anon_sym__Alignas] = ACTIONS(5574), + [anon_sym_COLON] = ACTIONS(5574), + [anon_sym_QMARK] = ACTIONS(5574), + [anon_sym_LT_EQ_GT] = ACTIONS(5574), + [anon_sym_or] = ACTIONS(5574), + [anon_sym_and] = ACTIONS(5574), + [anon_sym_bitor] = ACTIONS(5574), + [anon_sym_xor] = ACTIONS(5574), + [anon_sym_bitand] = ACTIONS(5574), + [anon_sym_not_eq] = ACTIONS(5574), + [anon_sym_DASH_DASH] = ACTIONS(5574), + [anon_sym_PLUS_PLUS] = ACTIONS(5574), + [anon_sym_DOT] = ACTIONS(5576), + [anon_sym_DOT_STAR] = ACTIONS(5574), + [anon_sym_DASH_GT] = ACTIONS(5574), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5574), + [anon_sym_decltype] = ACTIONS(5574), + [anon_sym_final] = ACTIONS(5574), + [anon_sym_override] = ACTIONS(5574), + [anon_sym_requires] = ACTIONS(5574), + }, + [1995] = { + [sym_identifier] = STATE(2009), + [aux_sym_sized_type_specifier_repeat1] = STATE(1861), + [sym__identifier] = ACTIONS(5578), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5038), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5038), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5038), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5038), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5038), + [anon_sym_GT_GT] = ACTIONS(5038), + [anon_sym___extension__] = ACTIONS(5040), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5042), + [anon_sym_unsigned] = ACTIONS(5042), + [anon_sym_long] = ACTIONS(5042), + [anon_sym_short] = ACTIONS(5042), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_const] = ACTIONS(5040), + [anon_sym_constexpr] = ACTIONS(5040), + [anon_sym_volatile] = ACTIONS(5040), + [anon_sym_restrict] = ACTIONS(5040), + [anon_sym___restrict__] = ACTIONS(5040), + [anon_sym__Atomic] = ACTIONS(5040), + [anon_sym__Noreturn] = ACTIONS(5040), + [anon_sym_noreturn] = ACTIONS(5040), + [anon_sym_mutable] = ACTIONS(5040), + [anon_sym_constinit] = ACTIONS(5040), + [anon_sym_consteval] = ACTIONS(5040), + [anon_sym_alignas] = ACTIONS(5040), + [anon_sym__Alignas] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5044), + [anon_sym_COLON] = ACTIONS(5038), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5038), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5580), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + [anon_sym_final] = ACTIONS(5040), + [anon_sym_override] = ACTIONS(5040), + [anon_sym_requires] = ACTIONS(5040), + }, + [1996] = { + [sym_attribute_specifier] = STATE(2268), + [sym__identifier] = ACTIONS(5582), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5584), + [anon_sym_COMMA] = ACTIONS(5584), + [anon_sym_RPAREN] = ACTIONS(5584), + [aux_sym_preproc_if_token2] = ACTIONS(5584), + [aux_sym_preproc_else_token1] = ACTIONS(5584), + [aux_sym_preproc_elif_token1] = ACTIONS(5582), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5584), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5584), + [anon_sym_LPAREN2] = ACTIONS(5584), + [anon_sym_DASH] = ACTIONS(5582), + [anon_sym_PLUS] = ACTIONS(5582), + [anon_sym_STAR] = ACTIONS(5582), + [anon_sym_SLASH] = ACTIONS(5582), + [anon_sym_PERCENT] = ACTIONS(5582), + [anon_sym_PIPE_PIPE] = ACTIONS(5584), + [anon_sym_AMP_AMP] = ACTIONS(5584), + [anon_sym_PIPE] = ACTIONS(5582), + [anon_sym_CARET] = ACTIONS(5582), + [anon_sym_AMP] = ACTIONS(5582), + [anon_sym_EQ_EQ] = ACTIONS(5584), + [anon_sym_BANG_EQ] = ACTIONS(5584), + [anon_sym_GT] = ACTIONS(5582), + [anon_sym_GT_EQ] = ACTIONS(5584), + [anon_sym_LT_EQ] = ACTIONS(5582), + [anon_sym_LT] = ACTIONS(5582), + [anon_sym_LT_LT] = ACTIONS(5582), + [anon_sym_GT_GT] = ACTIONS(5582), + [anon_sym_SEMI] = ACTIONS(5584), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5584), + [anon_sym_RBRACE] = ACTIONS(5584), + [anon_sym_LBRACK] = ACTIONS(5584), + [anon_sym_RBRACK] = ACTIONS(5584), + [anon_sym_EQ] = ACTIONS(5582), + [anon_sym_COLON] = ACTIONS(5584), + [anon_sym_QMARK] = ACTIONS(5584), + [anon_sym_STAR_EQ] = ACTIONS(5584), + [anon_sym_SLASH_EQ] = ACTIONS(5584), + [anon_sym_PERCENT_EQ] = ACTIONS(5584), + [anon_sym_PLUS_EQ] = ACTIONS(5584), + [anon_sym_DASH_EQ] = ACTIONS(5584), + [anon_sym_LT_LT_EQ] = ACTIONS(5584), + [anon_sym_GT_GT_EQ] = ACTIONS(5584), + [anon_sym_AMP_EQ] = ACTIONS(5584), + [anon_sym_CARET_EQ] = ACTIONS(5584), + [anon_sym_PIPE_EQ] = ACTIONS(5584), + [anon_sym_and_eq] = ACTIONS(5582), + [anon_sym_or_eq] = ACTIONS(5582), + [anon_sym_xor_eq] = ACTIONS(5582), + [anon_sym_LT_EQ_GT] = ACTIONS(5584), + [anon_sym_or] = ACTIONS(5582), + [anon_sym_and] = ACTIONS(5582), + [anon_sym_bitor] = ACTIONS(5582), + [anon_sym_xor] = ACTIONS(5582), + [anon_sym_bitand] = ACTIONS(5582), + [anon_sym_not_eq] = ACTIONS(5582), + [anon_sym_DASH_DASH] = ACTIONS(5584), + [anon_sym_PLUS_PLUS] = ACTIONS(5584), + [anon_sym_DOT] = ACTIONS(5582), + [anon_sym_DOT_STAR] = ACTIONS(5584), + [anon_sym_DASH_GT] = ACTIONS(5584), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5584), + [sym_auto] = ACTIONS(5582), + [anon_sym_decltype] = ACTIONS(5582), + }, + [1997] = { + [sym_attribute_specifier] = STATE(2265), + [sym__identifier] = ACTIONS(5586), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5588), + [anon_sym_COMMA] = ACTIONS(5588), + [anon_sym_RPAREN] = ACTIONS(5588), + [aux_sym_preproc_if_token2] = ACTIONS(5588), + [aux_sym_preproc_else_token1] = ACTIONS(5588), + [aux_sym_preproc_elif_token1] = ACTIONS(5586), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5588), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5588), + [anon_sym_LPAREN2] = ACTIONS(5588), + [anon_sym_DASH] = ACTIONS(5586), + [anon_sym_PLUS] = ACTIONS(5586), + [anon_sym_STAR] = ACTIONS(5586), + [anon_sym_SLASH] = ACTIONS(5586), + [anon_sym_PERCENT] = ACTIONS(5586), + [anon_sym_PIPE_PIPE] = ACTIONS(5588), + [anon_sym_AMP_AMP] = ACTIONS(5588), + [anon_sym_PIPE] = ACTIONS(5586), + [anon_sym_CARET] = ACTIONS(5586), + [anon_sym_AMP] = ACTIONS(5586), + [anon_sym_EQ_EQ] = ACTIONS(5588), + [anon_sym_BANG_EQ] = ACTIONS(5588), + [anon_sym_GT] = ACTIONS(5586), + [anon_sym_GT_EQ] = ACTIONS(5588), + [anon_sym_LT_EQ] = ACTIONS(5586), + [anon_sym_LT] = ACTIONS(5586), + [anon_sym_LT_LT] = ACTIONS(5586), + [anon_sym_GT_GT] = ACTIONS(5586), + [anon_sym_SEMI] = ACTIONS(5588), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5588), + [anon_sym_RBRACE] = ACTIONS(5588), + [anon_sym_LBRACK] = ACTIONS(5588), + [anon_sym_RBRACK] = ACTIONS(5588), + [anon_sym_EQ] = ACTIONS(5586), + [anon_sym_COLON] = ACTIONS(5588), + [anon_sym_QMARK] = ACTIONS(5588), + [anon_sym_STAR_EQ] = ACTIONS(5588), + [anon_sym_SLASH_EQ] = ACTIONS(5588), + [anon_sym_PERCENT_EQ] = ACTIONS(5588), + [anon_sym_PLUS_EQ] = ACTIONS(5588), + [anon_sym_DASH_EQ] = ACTIONS(5588), + [anon_sym_LT_LT_EQ] = ACTIONS(5588), + [anon_sym_GT_GT_EQ] = ACTIONS(5588), + [anon_sym_AMP_EQ] = ACTIONS(5588), + [anon_sym_CARET_EQ] = ACTIONS(5588), + [anon_sym_PIPE_EQ] = ACTIONS(5588), + [anon_sym_and_eq] = ACTIONS(5586), + [anon_sym_or_eq] = ACTIONS(5586), + [anon_sym_xor_eq] = ACTIONS(5586), + [anon_sym_LT_EQ_GT] = ACTIONS(5588), + [anon_sym_or] = ACTIONS(5586), + [anon_sym_and] = ACTIONS(5586), + [anon_sym_bitor] = ACTIONS(5586), + [anon_sym_xor] = ACTIONS(5586), + [anon_sym_bitand] = ACTIONS(5586), + [anon_sym_not_eq] = ACTIONS(5586), + [anon_sym_DASH_DASH] = ACTIONS(5588), + [anon_sym_PLUS_PLUS] = ACTIONS(5588), + [anon_sym_DOT] = ACTIONS(5586), + [anon_sym_DOT_STAR] = ACTIONS(5588), + [anon_sym_DASH_GT] = ACTIONS(5588), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5588), + [sym_auto] = ACTIONS(5586), + [anon_sym_decltype] = ACTIONS(5586), + }, + [1998] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_RBRACE] = ACTIONS(3996), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [1999] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1697), + [sym__identifier] = ACTIONS(5276), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5273), + [anon_sym_COMMA] = ACTIONS(5273), + [aux_sym_preproc_if_token2] = ACTIONS(5273), + [aux_sym_preproc_else_token1] = ACTIONS(5273), + [aux_sym_preproc_elif_token1] = ACTIONS(5276), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5273), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5273), + [anon_sym_LPAREN2] = ACTIONS(5273), + [anon_sym_DASH] = ACTIONS(5276), + [anon_sym_PLUS] = ACTIONS(5276), + [anon_sym_STAR] = ACTIONS(5276), + [anon_sym_SLASH] = ACTIONS(5276), + [anon_sym_PERCENT] = ACTIONS(5276), + [anon_sym_PIPE_PIPE] = ACTIONS(5273), + [anon_sym_AMP_AMP] = ACTIONS(5273), + [anon_sym_PIPE] = ACTIONS(5276), + [anon_sym_CARET] = ACTIONS(5276), + [anon_sym_AMP] = ACTIONS(5276), + [anon_sym_EQ_EQ] = ACTIONS(5273), + [anon_sym_BANG_EQ] = ACTIONS(5273), + [anon_sym_GT] = ACTIONS(5276), + [anon_sym_GT_EQ] = ACTIONS(5273), + [anon_sym_LT_EQ] = ACTIONS(5276), + [anon_sym_LT] = ACTIONS(5276), + [anon_sym_LT_LT] = ACTIONS(5276), + [anon_sym_GT_GT] = ACTIONS(5276), + [anon_sym___attribute__] = ACTIONS(5276), + [anon_sym_LBRACE] = ACTIONS(5273), + [anon_sym_signed] = ACTIONS(4938), + [anon_sym_unsigned] = ACTIONS(4938), + [anon_sym_long] = ACTIONS(4938), + [anon_sym_short] = ACTIONS(4938), + [anon_sym_LBRACK] = ACTIONS(5273), + [anon_sym_EQ] = ACTIONS(5276), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_QMARK] = ACTIONS(5273), + [anon_sym_STAR_EQ] = ACTIONS(5273), + [anon_sym_SLASH_EQ] = ACTIONS(5273), + [anon_sym_PERCENT_EQ] = ACTIONS(5273), + [anon_sym_PLUS_EQ] = ACTIONS(5273), + [anon_sym_DASH_EQ] = ACTIONS(5273), + [anon_sym_LT_LT_EQ] = ACTIONS(5273), + [anon_sym_GT_GT_EQ] = ACTIONS(5273), + [anon_sym_AMP_EQ] = ACTIONS(5273), + [anon_sym_CARET_EQ] = ACTIONS(5273), + [anon_sym_PIPE_EQ] = ACTIONS(5273), + [anon_sym_and_eq] = ACTIONS(5276), + [anon_sym_or_eq] = ACTIONS(5276), + [anon_sym_xor_eq] = ACTIONS(5276), + [anon_sym_LT_EQ_GT] = ACTIONS(5273), + [anon_sym_or] = ACTIONS(5276), + [anon_sym_and] = ACTIONS(5276), + [anon_sym_bitor] = ACTIONS(5276), + [anon_sym_xor] = ACTIONS(5276), + [anon_sym_bitand] = ACTIONS(5276), + [anon_sym_not_eq] = ACTIONS(5276), + [anon_sym_DASH_DASH] = ACTIONS(5273), + [anon_sym_PLUS_PLUS] = ACTIONS(5273), + [anon_sym_DOT] = ACTIONS(5276), + [anon_sym_DOT_STAR] = ACTIONS(5273), + [anon_sym_DASH_GT] = ACTIONS(5273), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5273), + [sym_auto] = ACTIONS(5276), + [anon_sym_decltype] = ACTIONS(5276), + }, + [2000] = { + [sym_attribute_specifier] = STATE(2211), + [sym__identifier] = ACTIONS(5590), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5592), + [anon_sym_COMMA] = ACTIONS(5592), + [anon_sym_RPAREN] = ACTIONS(5592), + [aux_sym_preproc_if_token2] = ACTIONS(5592), + [aux_sym_preproc_else_token1] = ACTIONS(5592), + [aux_sym_preproc_elif_token1] = ACTIONS(5590), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5592), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5592), + [anon_sym_LPAREN2] = ACTIONS(5592), + [anon_sym_DASH] = ACTIONS(5590), + [anon_sym_PLUS] = ACTIONS(5590), + [anon_sym_STAR] = ACTIONS(5590), + [anon_sym_SLASH] = ACTIONS(5590), + [anon_sym_PERCENT] = ACTIONS(5590), + [anon_sym_PIPE_PIPE] = ACTIONS(5592), + [anon_sym_AMP_AMP] = ACTIONS(5592), + [anon_sym_PIPE] = ACTIONS(5590), + [anon_sym_CARET] = ACTIONS(5590), + [anon_sym_AMP] = ACTIONS(5590), + [anon_sym_EQ_EQ] = ACTIONS(5592), + [anon_sym_BANG_EQ] = ACTIONS(5592), + [anon_sym_GT] = ACTIONS(5590), + [anon_sym_GT_EQ] = ACTIONS(5592), + [anon_sym_LT_EQ] = ACTIONS(5590), + [anon_sym_LT] = ACTIONS(5590), + [anon_sym_LT_LT] = ACTIONS(5590), + [anon_sym_GT_GT] = ACTIONS(5590), + [anon_sym_SEMI] = ACTIONS(5592), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5592), + [anon_sym_RBRACE] = ACTIONS(5592), + [anon_sym_LBRACK] = ACTIONS(5592), + [anon_sym_RBRACK] = ACTIONS(5592), + [anon_sym_EQ] = ACTIONS(5590), + [anon_sym_COLON] = ACTIONS(5592), + [anon_sym_QMARK] = ACTIONS(5592), + [anon_sym_STAR_EQ] = ACTIONS(5592), + [anon_sym_SLASH_EQ] = ACTIONS(5592), + [anon_sym_PERCENT_EQ] = ACTIONS(5592), + [anon_sym_PLUS_EQ] = ACTIONS(5592), + [anon_sym_DASH_EQ] = ACTIONS(5592), + [anon_sym_LT_LT_EQ] = ACTIONS(5592), + [anon_sym_GT_GT_EQ] = ACTIONS(5592), + [anon_sym_AMP_EQ] = ACTIONS(5592), + [anon_sym_CARET_EQ] = ACTIONS(5592), + [anon_sym_PIPE_EQ] = ACTIONS(5592), + [anon_sym_and_eq] = ACTIONS(5590), + [anon_sym_or_eq] = ACTIONS(5590), + [anon_sym_xor_eq] = ACTIONS(5590), + [anon_sym_LT_EQ_GT] = ACTIONS(5592), + [anon_sym_or] = ACTIONS(5590), + [anon_sym_and] = ACTIONS(5590), + [anon_sym_bitor] = ACTIONS(5590), + [anon_sym_xor] = ACTIONS(5590), + [anon_sym_bitand] = ACTIONS(5590), + [anon_sym_not_eq] = ACTIONS(5590), + [anon_sym_DASH_DASH] = ACTIONS(5592), + [anon_sym_PLUS_PLUS] = ACTIONS(5592), + [anon_sym_DOT] = ACTIONS(5590), + [anon_sym_DOT_STAR] = ACTIONS(5592), + [anon_sym_DASH_GT] = ACTIONS(5592), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5592), + [sym_auto] = ACTIONS(5590), + [anon_sym_decltype] = ACTIONS(5590), + }, + [2001] = { + [sym_string_literal] = STATE(1962), + [sym__string_literal] = STATE(2501), + [sym_identifier] = STATE(1962), + [sym_raw_string_literal] = STATE(1962), + [aux_sym_concatenated_string_repeat1] = STATE(1962), + [sym__identifier] = ACTIONS(5490), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4764), + [anon_sym_COMMA] = ACTIONS(4764), + [anon_sym_RPAREN] = ACTIONS(4764), + [anon_sym_LPAREN2] = ACTIONS(4764), + [anon_sym_DASH] = ACTIONS(4766), + [anon_sym_PLUS] = ACTIONS(4766), + [anon_sym_STAR] = ACTIONS(4766), + [anon_sym_SLASH] = ACTIONS(4766), + [anon_sym_PERCENT] = ACTIONS(4766), + [anon_sym_PIPE_PIPE] = ACTIONS(4764), + [anon_sym_AMP_AMP] = ACTIONS(4764), + [anon_sym_PIPE] = ACTIONS(4766), + [anon_sym_CARET] = ACTIONS(4766), + [anon_sym_AMP] = ACTIONS(4766), + [anon_sym_EQ_EQ] = ACTIONS(4764), + [anon_sym_BANG_EQ] = ACTIONS(4764), + [anon_sym_GT] = ACTIONS(4766), + [anon_sym_GT_EQ] = ACTIONS(4764), + [anon_sym_LT_EQ] = ACTIONS(4766), + [anon_sym_LT] = ACTIONS(4766), + [anon_sym_LT_LT] = ACTIONS(4766), + [anon_sym_GT_GT] = ACTIONS(4766), + [anon_sym_LBRACK] = ACTIONS(4764), + [anon_sym_EQ] = ACTIONS(4766), + [anon_sym_QMARK] = ACTIONS(4764), + [anon_sym_STAR_EQ] = ACTIONS(4764), + [anon_sym_SLASH_EQ] = ACTIONS(4764), + [anon_sym_PERCENT_EQ] = ACTIONS(4764), + [anon_sym_PLUS_EQ] = ACTIONS(4764), + [anon_sym_DASH_EQ] = ACTIONS(4764), + [anon_sym_LT_LT_EQ] = ACTIONS(4764), + [anon_sym_GT_GT_EQ] = ACTIONS(4764), + [anon_sym_AMP_EQ] = ACTIONS(4764), + [anon_sym_CARET_EQ] = ACTIONS(4764), + [anon_sym_PIPE_EQ] = ACTIONS(4764), + [anon_sym_LT_EQ_GT] = ACTIONS(4764), + [anon_sym_or] = ACTIONS(4766), + [anon_sym_and] = ACTIONS(4766), + [anon_sym_bitor] = ACTIONS(4766), + [anon_sym_xor] = ACTIONS(4766), + [anon_sym_bitand] = ACTIONS(4766), + [anon_sym_not_eq] = ACTIONS(4766), + [anon_sym_DASH_DASH] = ACTIONS(4764), + [anon_sym_PLUS_PLUS] = ACTIONS(4764), + [anon_sym_DOT] = ACTIONS(4766), + [anon_sym_DOT_STAR] = ACTIONS(4764), + [anon_sym_DASH_GT] = ACTIONS(4766), + [anon_sym_L_DQUOTE] = ACTIONS(4066), + [anon_sym_u_DQUOTE] = ACTIONS(4066), + [anon_sym_U_DQUOTE] = ACTIONS(4066), + [anon_sym_u8_DQUOTE] = ACTIONS(4066), + [anon_sym_DQUOTE] = ACTIONS(4066), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5492), + [anon_sym_R_DQUOTE] = ACTIONS(4070), + [anon_sym_LR_DQUOTE] = ACTIONS(4070), + [anon_sym_uR_DQUOTE] = ACTIONS(4070), + [anon_sym_UR_DQUOTE] = ACTIONS(4070), + [anon_sym_u8R_DQUOTE] = ACTIONS(4070), + [anon_sym_DASH_GT_STAR] = ACTIONS(4764), + [sym_literal_suffix] = ACTIONS(4766), + }, + [2002] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5594), + [anon_sym_COMMA] = ACTIONS(5594), + [anon_sym_RPAREN] = ACTIONS(5594), + [anon_sym_LPAREN2] = ACTIONS(5594), + [anon_sym_DASH] = ACTIONS(5596), + [anon_sym_PLUS] = ACTIONS(5596), + [anon_sym_STAR] = ACTIONS(5594), + [anon_sym_SLASH] = ACTIONS(5596), + [anon_sym_PERCENT] = ACTIONS(5594), + [anon_sym_PIPE_PIPE] = ACTIONS(5594), + [anon_sym_AMP_AMP] = ACTIONS(5594), + [anon_sym_PIPE] = ACTIONS(5596), + [anon_sym_CARET] = ACTIONS(5594), + [anon_sym_AMP] = ACTIONS(5596), + [anon_sym_EQ_EQ] = ACTIONS(5594), + [anon_sym_BANG_EQ] = ACTIONS(5594), + [anon_sym_GT] = ACTIONS(5596), + [anon_sym_GT_EQ] = ACTIONS(5594), + [anon_sym_LT_EQ] = ACTIONS(5596), + [anon_sym_LT] = ACTIONS(5596), + [anon_sym_LT_LT] = ACTIONS(5594), + [anon_sym_GT_GT] = ACTIONS(5594), + [anon_sym_SEMI] = ACTIONS(5594), + [anon_sym___extension__] = ACTIONS(5594), + [anon_sym___attribute__] = ACTIONS(5594), + [anon_sym_LBRACE] = ACTIONS(5594), + [anon_sym_RBRACE] = ACTIONS(5594), + [anon_sym_signed] = ACTIONS(5538), + [anon_sym_unsigned] = ACTIONS(5538), + [anon_sym_long] = ACTIONS(5538), + [anon_sym_short] = ACTIONS(5538), + [anon_sym_LBRACK] = ACTIONS(5594), + [anon_sym_RBRACK] = ACTIONS(5594), + [anon_sym_const] = ACTIONS(5596), + [anon_sym_constexpr] = ACTIONS(5594), + [anon_sym_volatile] = ACTIONS(5594), + [anon_sym_restrict] = ACTIONS(5594), + [anon_sym___restrict__] = ACTIONS(5594), + [anon_sym__Atomic] = ACTIONS(5594), + [anon_sym__Noreturn] = ACTIONS(5594), + [anon_sym_noreturn] = ACTIONS(5594), + [anon_sym_mutable] = ACTIONS(5594), + [anon_sym_constinit] = ACTIONS(5594), + [anon_sym_consteval] = ACTIONS(5594), + [anon_sym_alignas] = ACTIONS(5594), + [anon_sym__Alignas] = ACTIONS(5594), + [anon_sym_COLON] = ACTIONS(5594), + [anon_sym_QMARK] = ACTIONS(5594), + [anon_sym_LT_EQ_GT] = ACTIONS(5594), + [anon_sym_or] = ACTIONS(5594), + [anon_sym_and] = ACTIONS(5594), + [anon_sym_bitor] = ACTIONS(5594), + [anon_sym_xor] = ACTIONS(5594), + [anon_sym_bitand] = ACTIONS(5594), + [anon_sym_not_eq] = ACTIONS(5594), + [anon_sym_DASH_DASH] = ACTIONS(5594), + [anon_sym_PLUS_PLUS] = ACTIONS(5594), + [anon_sym_DOT] = ACTIONS(5596), + [anon_sym_DOT_STAR] = ACTIONS(5594), + [anon_sym_DASH_GT] = ACTIONS(5594), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5594), + [anon_sym_decltype] = ACTIONS(5594), + [anon_sym_final] = ACTIONS(5594), + [anon_sym_override] = ACTIONS(5594), + [anon_sym_requires] = ACTIONS(5594), + }, + [2003] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1655), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5598), + [anon_sym_COMMA] = ACTIONS(5598), + [anon_sym_RPAREN] = ACTIONS(5598), + [anon_sym_LPAREN2] = ACTIONS(5598), + [anon_sym_DASH] = ACTIONS(5600), + [anon_sym_PLUS] = ACTIONS(5600), + [anon_sym_STAR] = ACTIONS(5598), + [anon_sym_SLASH] = ACTIONS(5600), + [anon_sym_PERCENT] = ACTIONS(5598), + [anon_sym_PIPE_PIPE] = ACTIONS(5598), + [anon_sym_AMP_AMP] = ACTIONS(5598), + [anon_sym_PIPE] = ACTIONS(5600), + [anon_sym_CARET] = ACTIONS(5598), + [anon_sym_AMP] = ACTIONS(5600), + [anon_sym_EQ_EQ] = ACTIONS(5598), + [anon_sym_BANG_EQ] = ACTIONS(5598), + [anon_sym_GT] = ACTIONS(5600), + [anon_sym_GT_EQ] = ACTIONS(5598), + [anon_sym_LT_EQ] = ACTIONS(5600), + [anon_sym_LT] = ACTIONS(5600), + [anon_sym_LT_LT] = ACTIONS(5598), + [anon_sym_GT_GT] = ACTIONS(5598), + [anon_sym_SEMI] = ACTIONS(5598), + [anon_sym___extension__] = ACTIONS(5598), + [anon_sym___attribute__] = ACTIONS(5598), + [anon_sym_LBRACE] = ACTIONS(5598), + [anon_sym_RBRACE] = ACTIONS(5598), + [anon_sym_signed] = ACTIONS(5538), + [anon_sym_unsigned] = ACTIONS(5538), + [anon_sym_long] = ACTIONS(5538), + [anon_sym_short] = ACTIONS(5538), + [anon_sym_LBRACK] = ACTIONS(5598), + [anon_sym_RBRACK] = ACTIONS(5598), + [anon_sym_const] = ACTIONS(5600), + [anon_sym_constexpr] = ACTIONS(5598), + [anon_sym_volatile] = ACTIONS(5598), + [anon_sym_restrict] = ACTIONS(5598), + [anon_sym___restrict__] = ACTIONS(5598), + [anon_sym__Atomic] = ACTIONS(5598), + [anon_sym__Noreturn] = ACTIONS(5598), + [anon_sym_noreturn] = ACTIONS(5598), + [anon_sym_mutable] = ACTIONS(5598), + [anon_sym_constinit] = ACTIONS(5598), + [anon_sym_consteval] = ACTIONS(5598), + [anon_sym_alignas] = ACTIONS(5598), + [anon_sym__Alignas] = ACTIONS(5598), + [anon_sym_COLON] = ACTIONS(5598), + [anon_sym_QMARK] = ACTIONS(5598), + [anon_sym_LT_EQ_GT] = ACTIONS(5598), + [anon_sym_or] = ACTIONS(5598), + [anon_sym_and] = ACTIONS(5598), + [anon_sym_bitor] = ACTIONS(5598), + [anon_sym_xor] = ACTIONS(5598), + [anon_sym_bitand] = ACTIONS(5598), + [anon_sym_not_eq] = ACTIONS(5598), + [anon_sym_DASH_DASH] = ACTIONS(5598), + [anon_sym_PLUS_PLUS] = ACTIONS(5598), + [anon_sym_DOT] = ACTIONS(5600), + [anon_sym_DOT_STAR] = ACTIONS(5598), + [anon_sym_DASH_GT] = ACTIONS(5598), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5598), + [anon_sym_decltype] = ACTIONS(5598), + [anon_sym_final] = ACTIONS(5598), + [anon_sym_override] = ACTIONS(5598), + [anon_sym_requires] = ACTIONS(5598), + }, + [2004] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1980), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5014), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5014), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5014), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5014), + [anon_sym_GT_GT] = ACTIONS(5014), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___extension__] = ACTIONS(5014), + [anon_sym___attribute__] = ACTIONS(5014), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_signed] = ACTIONS(5602), + [anon_sym_unsigned] = ACTIONS(5602), + [anon_sym_long] = ACTIONS(5602), + [anon_sym_short] = ACTIONS(5602), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_const] = ACTIONS(5012), + [anon_sym_constexpr] = ACTIONS(5014), + [anon_sym_volatile] = ACTIONS(5014), + [anon_sym_restrict] = ACTIONS(5014), + [anon_sym___restrict__] = ACTIONS(5014), + [anon_sym__Atomic] = ACTIONS(5014), + [anon_sym__Noreturn] = ACTIONS(5014), + [anon_sym_noreturn] = ACTIONS(5014), + [anon_sym_mutable] = ACTIONS(5014), + [anon_sym_constinit] = ACTIONS(5014), + [anon_sym_consteval] = ACTIONS(5014), + [anon_sym_alignas] = ACTIONS(5014), + [anon_sym__Alignas] = ACTIONS(5014), + [anon_sym_COLON] = ACTIONS(5014), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5014), + [anon_sym_and] = ACTIONS(5014), + [anon_sym_bitor] = ACTIONS(5014), + [anon_sym_xor] = ACTIONS(5014), + [anon_sym_bitand] = ACTIONS(5014), + [anon_sym_not_eq] = ACTIONS(5014), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5014), + [anon_sym_decltype] = ACTIONS(5014), + [anon_sym_final] = ACTIONS(5014), + [anon_sym_override] = ACTIONS(5014), + [anon_sym_requires] = ACTIONS(5014), + }, + [2005] = { + [sym_attribute_declaration] = STATE(2075), + [sym_parameter_list] = STATE(2057), + [aux_sym_attributed_declarator_repeat1] = STATE(2075), + [sym__identifier] = ACTIONS(5604), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5606), + [anon_sym_COMMA] = ACTIONS(5606), + [anon_sym_RPAREN] = ACTIONS(5606), + [aux_sym_preproc_if_token2] = ACTIONS(5606), + [aux_sym_preproc_else_token1] = ACTIONS(5606), + [aux_sym_preproc_elif_token1] = ACTIONS(5604), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5606), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5606), + [anon_sym_LPAREN2] = ACTIONS(5510), + [anon_sym_DASH] = ACTIONS(5604), + [anon_sym_PLUS] = ACTIONS(5604), + [anon_sym_STAR] = ACTIONS(5604), + [anon_sym_SLASH] = ACTIONS(5604), + [anon_sym_PERCENT] = ACTIONS(5604), + [anon_sym_PIPE_PIPE] = ACTIONS(5606), + [anon_sym_AMP_AMP] = ACTIONS(5606), + [anon_sym_PIPE] = ACTIONS(5604), + [anon_sym_CARET] = ACTIONS(5604), + [anon_sym_AMP] = ACTIONS(5604), + [anon_sym_EQ_EQ] = ACTIONS(5606), + [anon_sym_BANG_EQ] = ACTIONS(5606), + [anon_sym_GT] = ACTIONS(5604), + [anon_sym_GT_EQ] = ACTIONS(5606), + [anon_sym_LT_EQ] = ACTIONS(5604), + [anon_sym_LT] = ACTIONS(5604), + [anon_sym_LT_LT] = ACTIONS(5604), + [anon_sym_GT_GT] = ACTIONS(5604), + [anon_sym_SEMI] = ACTIONS(5606), + [anon_sym___attribute__] = ACTIONS(5604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5606), + [anon_sym_LBRACK] = ACTIONS(5514), + [anon_sym_RBRACK] = ACTIONS(5606), + [anon_sym_EQ] = ACTIONS(5604), + [anon_sym_COLON] = ACTIONS(5606), + [anon_sym_QMARK] = ACTIONS(5606), + [anon_sym_STAR_EQ] = ACTIONS(5606), + [anon_sym_SLASH_EQ] = ACTIONS(5606), + [anon_sym_PERCENT_EQ] = ACTIONS(5606), + [anon_sym_PLUS_EQ] = ACTIONS(5606), + [anon_sym_DASH_EQ] = ACTIONS(5606), + [anon_sym_LT_LT_EQ] = ACTIONS(5606), + [anon_sym_GT_GT_EQ] = ACTIONS(5606), + [anon_sym_AMP_EQ] = ACTIONS(5606), + [anon_sym_CARET_EQ] = ACTIONS(5606), + [anon_sym_PIPE_EQ] = ACTIONS(5606), + [anon_sym_and_eq] = ACTIONS(5604), + [anon_sym_or_eq] = ACTIONS(5604), + [anon_sym_xor_eq] = ACTIONS(5604), + [anon_sym_LT_EQ_GT] = ACTIONS(5606), + [anon_sym_or] = ACTIONS(5604), + [anon_sym_and] = ACTIONS(5604), + [anon_sym_bitor] = ACTIONS(5604), + [anon_sym_xor] = ACTIONS(5604), + [anon_sym_bitand] = ACTIONS(5604), + [anon_sym_not_eq] = ACTIONS(5604), + [anon_sym_DASH_DASH] = ACTIONS(5606), + [anon_sym_PLUS_PLUS] = ACTIONS(5606), + [anon_sym_DOT] = ACTIONS(5604), + [anon_sym_DOT_STAR] = ACTIONS(5606), + [anon_sym_DASH_GT] = ACTIONS(5606), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5606), + }, + [2006] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2002), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5608), + [anon_sym_COMMA] = ACTIONS(5608), + [anon_sym_RPAREN] = ACTIONS(5608), + [anon_sym_LPAREN2] = ACTIONS(5608), + [anon_sym_DASH] = ACTIONS(5610), + [anon_sym_PLUS] = ACTIONS(5610), + [anon_sym_STAR] = ACTIONS(5608), + [anon_sym_SLASH] = ACTIONS(5610), + [anon_sym_PERCENT] = ACTIONS(5608), + [anon_sym_PIPE_PIPE] = ACTIONS(5608), + [anon_sym_AMP_AMP] = ACTIONS(5608), + [anon_sym_PIPE] = ACTIONS(5610), + [anon_sym_CARET] = ACTIONS(5608), + [anon_sym_AMP] = ACTIONS(5610), + [anon_sym_EQ_EQ] = ACTIONS(5608), + [anon_sym_BANG_EQ] = ACTIONS(5608), + [anon_sym_GT] = ACTIONS(5610), + [anon_sym_GT_EQ] = ACTIONS(5608), + [anon_sym_LT_EQ] = ACTIONS(5610), + [anon_sym_LT] = ACTIONS(5610), + [anon_sym_LT_LT] = ACTIONS(5608), + [anon_sym_GT_GT] = ACTIONS(5608), + [anon_sym_SEMI] = ACTIONS(5608), + [anon_sym___extension__] = ACTIONS(5608), + [anon_sym___attribute__] = ACTIONS(5608), + [anon_sym_LBRACE] = ACTIONS(5608), + [anon_sym_RBRACE] = ACTIONS(5608), + [anon_sym_signed] = ACTIONS(5612), + [anon_sym_unsigned] = ACTIONS(5612), + [anon_sym_long] = ACTIONS(5612), + [anon_sym_short] = ACTIONS(5612), + [anon_sym_LBRACK] = ACTIONS(5608), + [anon_sym_RBRACK] = ACTIONS(5608), + [anon_sym_const] = ACTIONS(5610), + [anon_sym_constexpr] = ACTIONS(5608), + [anon_sym_volatile] = ACTIONS(5608), + [anon_sym_restrict] = ACTIONS(5608), + [anon_sym___restrict__] = ACTIONS(5608), + [anon_sym__Atomic] = ACTIONS(5608), + [anon_sym__Noreturn] = ACTIONS(5608), + [anon_sym_noreturn] = ACTIONS(5608), + [anon_sym_mutable] = ACTIONS(5608), + [anon_sym_constinit] = ACTIONS(5608), + [anon_sym_consteval] = ACTIONS(5608), + [anon_sym_alignas] = ACTIONS(5608), + [anon_sym__Alignas] = ACTIONS(5608), + [anon_sym_COLON] = ACTIONS(5608), + [anon_sym_QMARK] = ACTIONS(5608), + [anon_sym_LT_EQ_GT] = ACTIONS(5608), + [anon_sym_or] = ACTIONS(5608), + [anon_sym_and] = ACTIONS(5608), + [anon_sym_bitor] = ACTIONS(5608), + [anon_sym_xor] = ACTIONS(5608), + [anon_sym_bitand] = ACTIONS(5608), + [anon_sym_not_eq] = ACTIONS(5608), + [anon_sym_DASH_DASH] = ACTIONS(5608), + [anon_sym_PLUS_PLUS] = ACTIONS(5608), + [anon_sym_DOT] = ACTIONS(5610), + [anon_sym_DOT_STAR] = ACTIONS(5608), + [anon_sym_DASH_GT] = ACTIONS(5608), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5608), + [anon_sym_decltype] = ACTIONS(5608), + [anon_sym_final] = ACTIONS(5608), + [anon_sym_override] = ACTIONS(5608), + [anon_sym_requires] = ACTIONS(5608), + }, + [2007] = { + [sym_attribute_specifier] = STATE(2234), + [sym__identifier] = ACTIONS(5614), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5616), + [anon_sym_COMMA] = ACTIONS(5616), + [anon_sym_RPAREN] = ACTIONS(5616), + [aux_sym_preproc_if_token2] = ACTIONS(5616), + [aux_sym_preproc_else_token1] = ACTIONS(5616), + [aux_sym_preproc_elif_token1] = ACTIONS(5614), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5616), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5616), + [anon_sym_LPAREN2] = ACTIONS(5616), + [anon_sym_DASH] = ACTIONS(5614), + [anon_sym_PLUS] = ACTIONS(5614), + [anon_sym_STAR] = ACTIONS(5614), + [anon_sym_SLASH] = ACTIONS(5614), + [anon_sym_PERCENT] = ACTIONS(5614), + [anon_sym_PIPE_PIPE] = ACTIONS(5616), + [anon_sym_AMP_AMP] = ACTIONS(5616), + [anon_sym_PIPE] = ACTIONS(5614), + [anon_sym_CARET] = ACTIONS(5614), + [anon_sym_AMP] = ACTIONS(5614), + [anon_sym_EQ_EQ] = ACTIONS(5616), + [anon_sym_BANG_EQ] = ACTIONS(5616), + [anon_sym_GT] = ACTIONS(5614), + [anon_sym_GT_EQ] = ACTIONS(5616), + [anon_sym_LT_EQ] = ACTIONS(5614), + [anon_sym_LT] = ACTIONS(5614), + [anon_sym_LT_LT] = ACTIONS(5614), + [anon_sym_GT_GT] = ACTIONS(5614), + [anon_sym_SEMI] = ACTIONS(5616), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5616), + [anon_sym_RBRACE] = ACTIONS(5616), + [anon_sym_LBRACK] = ACTIONS(5616), + [anon_sym_RBRACK] = ACTIONS(5616), + [anon_sym_EQ] = ACTIONS(5614), + [anon_sym_COLON] = ACTIONS(5616), + [anon_sym_QMARK] = ACTIONS(5616), + [anon_sym_STAR_EQ] = ACTIONS(5616), + [anon_sym_SLASH_EQ] = ACTIONS(5616), + [anon_sym_PERCENT_EQ] = ACTIONS(5616), + [anon_sym_PLUS_EQ] = ACTIONS(5616), + [anon_sym_DASH_EQ] = ACTIONS(5616), + [anon_sym_LT_LT_EQ] = ACTIONS(5616), + [anon_sym_GT_GT_EQ] = ACTIONS(5616), + [anon_sym_AMP_EQ] = ACTIONS(5616), + [anon_sym_CARET_EQ] = ACTIONS(5616), + [anon_sym_PIPE_EQ] = ACTIONS(5616), + [anon_sym_and_eq] = ACTIONS(5614), + [anon_sym_or_eq] = ACTIONS(5614), + [anon_sym_xor_eq] = ACTIONS(5614), + [anon_sym_LT_EQ_GT] = ACTIONS(5616), + [anon_sym_or] = ACTIONS(5614), + [anon_sym_and] = ACTIONS(5614), + [anon_sym_bitor] = ACTIONS(5614), + [anon_sym_xor] = ACTIONS(5614), + [anon_sym_bitand] = ACTIONS(5614), + [anon_sym_not_eq] = ACTIONS(5614), + [anon_sym_DASH_DASH] = ACTIONS(5616), + [anon_sym_PLUS_PLUS] = ACTIONS(5616), + [anon_sym_DOT] = ACTIONS(5614), + [anon_sym_DOT_STAR] = ACTIONS(5616), + [anon_sym_DASH_GT] = ACTIONS(5616), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5616), + [sym_auto] = ACTIONS(5614), + [anon_sym_decltype] = ACTIONS(5614), + }, + [2008] = { + [sym__identifier] = ACTIONS(2452), + [aux_sym_preproc_def_token1] = ACTIONS(2452), + [aux_sym_preproc_if_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2452), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2452), + [sym_preproc_directive] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_typedef] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym_RBRACE] = ACTIONS(2450), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_friend] = ACTIONS(2452), + [anon_sym_public] = ACTIONS(2452), + [anon_sym_private] = ACTIONS(2452), + [anon_sym_protected] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_static_assert] = ACTIONS(2452), + [anon_sym_catch] = ACTIONS(2452), + }, + [2009] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2003), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5618), + [anon_sym_COMMA] = ACTIONS(5618), + [anon_sym_RPAREN] = ACTIONS(5618), + [anon_sym_LPAREN2] = ACTIONS(5618), + [anon_sym_DASH] = ACTIONS(5620), + [anon_sym_PLUS] = ACTIONS(5620), + [anon_sym_STAR] = ACTIONS(5618), + [anon_sym_SLASH] = ACTIONS(5620), + [anon_sym_PERCENT] = ACTIONS(5618), + [anon_sym_PIPE_PIPE] = ACTIONS(5618), + [anon_sym_AMP_AMP] = ACTIONS(5618), + [anon_sym_PIPE] = ACTIONS(5620), + [anon_sym_CARET] = ACTIONS(5618), + [anon_sym_AMP] = ACTIONS(5620), + [anon_sym_EQ_EQ] = ACTIONS(5618), + [anon_sym_BANG_EQ] = ACTIONS(5618), + [anon_sym_GT] = ACTIONS(5620), + [anon_sym_GT_EQ] = ACTIONS(5618), + [anon_sym_LT_EQ] = ACTIONS(5620), + [anon_sym_LT] = ACTIONS(5620), + [anon_sym_LT_LT] = ACTIONS(5618), + [anon_sym_GT_GT] = ACTIONS(5618), + [anon_sym_SEMI] = ACTIONS(5618), + [anon_sym___extension__] = ACTIONS(5618), + [anon_sym___attribute__] = ACTIONS(5618), + [anon_sym_LBRACE] = ACTIONS(5618), + [anon_sym_RBRACE] = ACTIONS(5618), + [anon_sym_signed] = ACTIONS(5622), + [anon_sym_unsigned] = ACTIONS(5622), + [anon_sym_long] = ACTIONS(5622), + [anon_sym_short] = ACTIONS(5622), + [anon_sym_LBRACK] = ACTIONS(5618), + [anon_sym_RBRACK] = ACTIONS(5618), + [anon_sym_const] = ACTIONS(5620), + [anon_sym_constexpr] = ACTIONS(5618), + [anon_sym_volatile] = ACTIONS(5618), + [anon_sym_restrict] = ACTIONS(5618), + [anon_sym___restrict__] = ACTIONS(5618), + [anon_sym__Atomic] = ACTIONS(5618), + [anon_sym__Noreturn] = ACTIONS(5618), + [anon_sym_noreturn] = ACTIONS(5618), + [anon_sym_mutable] = ACTIONS(5618), + [anon_sym_constinit] = ACTIONS(5618), + [anon_sym_consteval] = ACTIONS(5618), + [anon_sym_alignas] = ACTIONS(5618), + [anon_sym__Alignas] = ACTIONS(5618), + [anon_sym_COLON] = ACTIONS(5618), + [anon_sym_QMARK] = ACTIONS(5618), + [anon_sym_LT_EQ_GT] = ACTIONS(5618), + [anon_sym_or] = ACTIONS(5618), + [anon_sym_and] = ACTIONS(5618), + [anon_sym_bitor] = ACTIONS(5618), + [anon_sym_xor] = ACTIONS(5618), + [anon_sym_bitand] = ACTIONS(5618), + [anon_sym_not_eq] = ACTIONS(5618), + [anon_sym_DASH_DASH] = ACTIONS(5618), + [anon_sym_PLUS_PLUS] = ACTIONS(5618), + [anon_sym_DOT] = ACTIONS(5620), + [anon_sym_DOT_STAR] = ACTIONS(5618), + [anon_sym_DASH_GT] = ACTIONS(5618), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5618), + [anon_sym_decltype] = ACTIONS(5618), + [anon_sym_final] = ACTIONS(5618), + [anon_sym_override] = ACTIONS(5618), + [anon_sym_requires] = ACTIONS(5618), + }, + [2010] = { + [sym_template_argument_list] = STATE(1903), + [aux_sym_sized_type_specifier_repeat1] = STATE(2283), + [sym__identifier] = ACTIONS(3763), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3771), + [anon_sym_COMMA] = ACTIONS(3771), + [aux_sym_preproc_if_token2] = ACTIONS(3771), + [aux_sym_preproc_else_token1] = ACTIONS(3771), + [aux_sym_preproc_elif_token1] = ACTIONS(3763), + [aux_sym_preproc_elifdef_token1] = ACTIONS(3771), + [aux_sym_preproc_elifdef_token2] = ACTIONS(3771), + [anon_sym_LPAREN2] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3763), + [anon_sym_PLUS] = ACTIONS(3763), + [anon_sym_STAR] = ACTIONS(3763), + [anon_sym_SLASH] = ACTIONS(3763), + [anon_sym_PERCENT] = ACTIONS(3763), + [anon_sym_PIPE_PIPE] = ACTIONS(3771), + [anon_sym_AMP_AMP] = ACTIONS(3771), + [anon_sym_PIPE] = ACTIONS(3763), + [anon_sym_CARET] = ACTIONS(3763), + [anon_sym_AMP] = ACTIONS(3763), + [anon_sym_EQ_EQ] = ACTIONS(3771), + [anon_sym_BANG_EQ] = ACTIONS(3771), + [anon_sym_GT] = ACTIONS(3763), + [anon_sym_GT_EQ] = ACTIONS(3771), + [anon_sym_LT_EQ] = ACTIONS(3763), + [anon_sym_LT] = ACTIONS(5034), + [anon_sym_LT_LT] = ACTIONS(3763), + [anon_sym_GT_GT] = ACTIONS(3763), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3771), + [anon_sym_signed] = ACTIONS(5463), + [anon_sym_unsigned] = ACTIONS(5463), + [anon_sym_long] = ACTIONS(5463), + [anon_sym_short] = ACTIONS(5463), + [anon_sym_LBRACK] = ACTIONS(3771), + [anon_sym_EQ] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3771), + [anon_sym_STAR_EQ] = ACTIONS(3771), + [anon_sym_SLASH_EQ] = ACTIONS(3771), + [anon_sym_PERCENT_EQ] = ACTIONS(3771), + [anon_sym_PLUS_EQ] = ACTIONS(3771), + [anon_sym_DASH_EQ] = ACTIONS(3771), + [anon_sym_LT_LT_EQ] = ACTIONS(3771), + [anon_sym_GT_GT_EQ] = ACTIONS(3771), + [anon_sym_AMP_EQ] = ACTIONS(3771), + [anon_sym_CARET_EQ] = ACTIONS(3771), + [anon_sym_PIPE_EQ] = ACTIONS(3771), + [anon_sym_and_eq] = ACTIONS(3763), + [anon_sym_or_eq] = ACTIONS(3763), + [anon_sym_xor_eq] = ACTIONS(3763), + [anon_sym_LT_EQ_GT] = ACTIONS(3771), + [anon_sym_or] = ACTIONS(3763), + [anon_sym_and] = ACTIONS(3763), + [anon_sym_bitor] = ACTIONS(3763), + [anon_sym_xor] = ACTIONS(3763), + [anon_sym_bitand] = ACTIONS(3763), + [anon_sym_not_eq] = ACTIONS(3763), + [anon_sym_DASH_DASH] = ACTIONS(3771), + [anon_sym_PLUS_PLUS] = ACTIONS(3771), + [anon_sym_DOT] = ACTIONS(3763), + [anon_sym_DOT_STAR] = ACTIONS(3771), + [anon_sym_DASH_GT] = ACTIONS(3771), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3771), + [sym_auto] = ACTIONS(3763), + [anon_sym_decltype] = ACTIONS(3763), + }, + [2011] = { + [sym_attribute_declaration] = STATE(2075), + [sym_parameter_list] = STATE(2057), + [aux_sym_attributed_declarator_repeat1] = STATE(2075), + [sym__identifier] = ACTIONS(5624), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5626), + [anon_sym_COMMA] = ACTIONS(5626), + [anon_sym_RPAREN] = ACTIONS(5626), + [aux_sym_preproc_if_token2] = ACTIONS(5626), + [aux_sym_preproc_else_token1] = ACTIONS(5626), + [aux_sym_preproc_elif_token1] = ACTIONS(5624), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5626), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5626), + [anon_sym_LPAREN2] = ACTIONS(5510), + [anon_sym_DASH] = ACTIONS(5624), + [anon_sym_PLUS] = ACTIONS(5624), + [anon_sym_STAR] = ACTIONS(5624), + [anon_sym_SLASH] = ACTIONS(5624), + [anon_sym_PERCENT] = ACTIONS(5624), + [anon_sym_PIPE_PIPE] = ACTIONS(5626), + [anon_sym_AMP_AMP] = ACTIONS(5626), + [anon_sym_PIPE] = ACTIONS(5624), + [anon_sym_CARET] = ACTIONS(5624), + [anon_sym_AMP] = ACTIONS(5624), + [anon_sym_EQ_EQ] = ACTIONS(5626), + [anon_sym_BANG_EQ] = ACTIONS(5626), + [anon_sym_GT] = ACTIONS(5624), + [anon_sym_GT_EQ] = ACTIONS(5626), + [anon_sym_LT_EQ] = ACTIONS(5624), + [anon_sym_LT] = ACTIONS(5624), + [anon_sym_LT_LT] = ACTIONS(5624), + [anon_sym_GT_GT] = ACTIONS(5624), + [anon_sym_SEMI] = ACTIONS(5626), + [anon_sym___attribute__] = ACTIONS(5624), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5626), + [anon_sym_LBRACK] = ACTIONS(5514), + [anon_sym_RBRACK] = ACTIONS(5626), + [anon_sym_EQ] = ACTIONS(5624), + [anon_sym_COLON] = ACTIONS(5626), + [anon_sym_QMARK] = ACTIONS(5626), + [anon_sym_STAR_EQ] = ACTIONS(5626), + [anon_sym_SLASH_EQ] = ACTIONS(5626), + [anon_sym_PERCENT_EQ] = ACTIONS(5626), + [anon_sym_PLUS_EQ] = ACTIONS(5626), + [anon_sym_DASH_EQ] = ACTIONS(5626), + [anon_sym_LT_LT_EQ] = ACTIONS(5626), + [anon_sym_GT_GT_EQ] = ACTIONS(5626), + [anon_sym_AMP_EQ] = ACTIONS(5626), + [anon_sym_CARET_EQ] = ACTIONS(5626), + [anon_sym_PIPE_EQ] = ACTIONS(5626), + [anon_sym_and_eq] = ACTIONS(5624), + [anon_sym_or_eq] = ACTIONS(5624), + [anon_sym_xor_eq] = ACTIONS(5624), + [anon_sym_LT_EQ_GT] = ACTIONS(5626), + [anon_sym_or] = ACTIONS(5624), + [anon_sym_and] = ACTIONS(5624), + [anon_sym_bitor] = ACTIONS(5624), + [anon_sym_xor] = ACTIONS(5624), + [anon_sym_bitand] = ACTIONS(5624), + [anon_sym_not_eq] = ACTIONS(5624), + [anon_sym_DASH_DASH] = ACTIONS(5626), + [anon_sym_PLUS_PLUS] = ACTIONS(5626), + [anon_sym_DOT] = ACTIONS(5624), + [anon_sym_DOT_STAR] = ACTIONS(5626), + [anon_sym_DASH_GT] = ACTIONS(5626), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5626), + }, + [2012] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2012), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4854), + [anon_sym_COMMA] = ACTIONS(4854), + [anon_sym_RPAREN] = ACTIONS(4854), + [anon_sym_LPAREN2] = ACTIONS(4854), + [anon_sym_TILDE] = ACTIONS(4854), + [anon_sym_STAR] = ACTIONS(4854), + [anon_sym_AMP_AMP] = ACTIONS(4854), + [anon_sym_AMP] = ACTIONS(4852), + [anon_sym_SEMI] = ACTIONS(4854), + [anon_sym___extension__] = ACTIONS(4852), + [anon_sym_extern] = ACTIONS(4852), + [anon_sym___attribute__] = ACTIONS(4852), + [anon_sym_COLON_COLON] = ACTIONS(4854), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4854), + [anon_sym___declspec] = ACTIONS(4852), + [anon_sym___based] = ACTIONS(4852), + [anon_sym___cdecl] = ACTIONS(4852), + [anon_sym___clrcall] = ACTIONS(4852), + [anon_sym___stdcall] = ACTIONS(4852), + [anon_sym___fastcall] = ACTIONS(4852), + [anon_sym___thiscall] = ACTIONS(4852), + [anon_sym___vectorcall] = ACTIONS(4852), + [anon_sym_LBRACE] = ACTIONS(4854), + [anon_sym_signed] = ACTIONS(5628), + [anon_sym_unsigned] = ACTIONS(5628), + [anon_sym_long] = ACTIONS(5628), + [anon_sym_short] = ACTIONS(5628), + [anon_sym_LBRACK] = ACTIONS(4852), + [anon_sym_static] = ACTIONS(4852), + [anon_sym_EQ] = ACTIONS(4854), + [anon_sym_register] = ACTIONS(4852), + [anon_sym_inline] = ACTIONS(4852), + [anon_sym___inline] = ACTIONS(4852), + [anon_sym___inline__] = ACTIONS(4852), + [anon_sym___forceinline] = ACTIONS(4852), + [anon_sym_thread_local] = ACTIONS(4852), + [anon_sym___thread] = ACTIONS(4852), + [anon_sym_const] = ACTIONS(4852), + [anon_sym_constexpr] = ACTIONS(4852), + [anon_sym_volatile] = ACTIONS(4852), + [anon_sym_restrict] = ACTIONS(4852), + [anon_sym___restrict__] = ACTIONS(4852), + [anon_sym__Atomic] = ACTIONS(4852), + [anon_sym__Noreturn] = ACTIONS(4852), + [anon_sym_noreturn] = ACTIONS(4852), + [anon_sym_mutable] = ACTIONS(4852), + [anon_sym_constinit] = ACTIONS(4852), + [anon_sym_consteval] = ACTIONS(4852), + [anon_sym_alignas] = ACTIONS(4852), + [anon_sym__Alignas] = ACTIONS(4852), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_asm] = ACTIONS(4852), + [anon_sym___asm__] = ACTIONS(4852), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(4852), + [anon_sym_decltype] = ACTIONS(4852), + [anon_sym_final] = ACTIONS(4852), + [anon_sym_override] = ACTIONS(4852), + [sym_virtual] = ACTIONS(4852), + [anon_sym_template] = ACTIONS(4852), + [anon_sym_GT2] = ACTIONS(4854), + [anon_sym_operator] = ACTIONS(4852), + [anon_sym_try] = ACTIONS(4852), + [anon_sym_requires] = ACTIONS(4852), + }, + [2013] = { + [sym_ms_based_modifier] = STATE(8273), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(1974), + [sym__declarator] = STATE(6337), + [sym__abstract_declarator] = STATE(6582), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2633), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3754), + [sym_identifier] = STATE(5947), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5610), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2633), + [aux_sym_pointer_declarator_repeat1] = STATE(1974), + [sym__identifier] = ACTIONS(4953), + [anon_sym_COMMA] = ACTIONS(5395), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(5397), + [anon_sym_STAR] = ACTIONS(5524), + [anon_sym_AMP_AMP] = ACTIONS(5526), + [anon_sym_AMP] = ACTIONS(5528), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5405), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_GT2] = ACTIONS(5395), + [anon_sym_operator] = ACTIONS(5409), + }, + [2014] = { + [sym_attribute_specifier] = STATE(2161), + [sym__identifier] = ACTIONS(5631), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5633), + [anon_sym_COMMA] = ACTIONS(5633), + [anon_sym_RPAREN] = ACTIONS(5633), + [aux_sym_preproc_if_token2] = ACTIONS(5633), + [aux_sym_preproc_else_token1] = ACTIONS(5633), + [aux_sym_preproc_elif_token1] = ACTIONS(5631), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5633), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5633), + [anon_sym_LPAREN2] = ACTIONS(5633), + [anon_sym_DASH] = ACTIONS(5631), + [anon_sym_PLUS] = ACTIONS(5631), + [anon_sym_STAR] = ACTIONS(5631), + [anon_sym_SLASH] = ACTIONS(5631), + [anon_sym_PERCENT] = ACTIONS(5631), + [anon_sym_PIPE_PIPE] = ACTIONS(5633), + [anon_sym_AMP_AMP] = ACTIONS(5633), + [anon_sym_PIPE] = ACTIONS(5631), + [anon_sym_CARET] = ACTIONS(5631), + [anon_sym_AMP] = ACTIONS(5631), + [anon_sym_EQ_EQ] = ACTIONS(5633), + [anon_sym_BANG_EQ] = ACTIONS(5633), + [anon_sym_GT] = ACTIONS(5631), + [anon_sym_GT_EQ] = ACTIONS(5633), + [anon_sym_LT_EQ] = ACTIONS(5631), + [anon_sym_LT] = ACTIONS(5631), + [anon_sym_LT_LT] = ACTIONS(5631), + [anon_sym_GT_GT] = ACTIONS(5631), + [anon_sym_SEMI] = ACTIONS(5633), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5633), + [anon_sym_RBRACE] = ACTIONS(5633), + [anon_sym_LBRACK] = ACTIONS(5633), + [anon_sym_RBRACK] = ACTIONS(5633), + [anon_sym_EQ] = ACTIONS(5631), + [anon_sym_COLON] = ACTIONS(5633), + [anon_sym_QMARK] = ACTIONS(5633), + [anon_sym_STAR_EQ] = ACTIONS(5633), + [anon_sym_SLASH_EQ] = ACTIONS(5633), + [anon_sym_PERCENT_EQ] = ACTIONS(5633), + [anon_sym_PLUS_EQ] = ACTIONS(5633), + [anon_sym_DASH_EQ] = ACTIONS(5633), + [anon_sym_LT_LT_EQ] = ACTIONS(5633), + [anon_sym_GT_GT_EQ] = ACTIONS(5633), + [anon_sym_AMP_EQ] = ACTIONS(5633), + [anon_sym_CARET_EQ] = ACTIONS(5633), + [anon_sym_PIPE_EQ] = ACTIONS(5633), + [anon_sym_and_eq] = ACTIONS(5631), + [anon_sym_or_eq] = ACTIONS(5631), + [anon_sym_xor_eq] = ACTIONS(5631), + [anon_sym_LT_EQ_GT] = ACTIONS(5633), + [anon_sym_or] = ACTIONS(5631), + [anon_sym_and] = ACTIONS(5631), + [anon_sym_bitor] = ACTIONS(5631), + [anon_sym_xor] = ACTIONS(5631), + [anon_sym_bitand] = ACTIONS(5631), + [anon_sym_not_eq] = ACTIONS(5631), + [anon_sym_DASH_DASH] = ACTIONS(5633), + [anon_sym_PLUS_PLUS] = ACTIONS(5633), + [anon_sym_DOT] = ACTIONS(5631), + [anon_sym_DOT_STAR] = ACTIONS(5633), + [anon_sym_DASH_GT] = ACTIONS(5633), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5633), + [sym_auto] = ACTIONS(5631), + [anon_sym_decltype] = ACTIONS(5631), + }, + [2015] = { + [sym_attribute_specifier] = STATE(2154), + [sym__identifier] = ACTIONS(5635), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5637), + [anon_sym_COMMA] = ACTIONS(5637), + [anon_sym_RPAREN] = ACTIONS(5637), + [aux_sym_preproc_if_token2] = ACTIONS(5637), + [aux_sym_preproc_else_token1] = ACTIONS(5637), + [aux_sym_preproc_elif_token1] = ACTIONS(5635), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5637), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5637), + [anon_sym_LPAREN2] = ACTIONS(5637), + [anon_sym_DASH] = ACTIONS(5635), + [anon_sym_PLUS] = ACTIONS(5635), + [anon_sym_STAR] = ACTIONS(5635), + [anon_sym_SLASH] = ACTIONS(5635), + [anon_sym_PERCENT] = ACTIONS(5635), + [anon_sym_PIPE_PIPE] = ACTIONS(5637), + [anon_sym_AMP_AMP] = ACTIONS(5637), + [anon_sym_PIPE] = ACTIONS(5635), + [anon_sym_CARET] = ACTIONS(5635), + [anon_sym_AMP] = ACTIONS(5635), + [anon_sym_EQ_EQ] = ACTIONS(5637), + [anon_sym_BANG_EQ] = ACTIONS(5637), + [anon_sym_GT] = ACTIONS(5635), + [anon_sym_GT_EQ] = ACTIONS(5637), + [anon_sym_LT_EQ] = ACTIONS(5635), + [anon_sym_LT] = ACTIONS(5635), + [anon_sym_LT_LT] = ACTIONS(5635), + [anon_sym_GT_GT] = ACTIONS(5635), + [anon_sym_SEMI] = ACTIONS(5637), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5637), + [anon_sym_RBRACE] = ACTIONS(5637), + [anon_sym_LBRACK] = ACTIONS(5637), + [anon_sym_RBRACK] = ACTIONS(5637), + [anon_sym_EQ] = ACTIONS(5635), + [anon_sym_COLON] = ACTIONS(5637), + [anon_sym_QMARK] = ACTIONS(5637), + [anon_sym_STAR_EQ] = ACTIONS(5637), + [anon_sym_SLASH_EQ] = ACTIONS(5637), + [anon_sym_PERCENT_EQ] = ACTIONS(5637), + [anon_sym_PLUS_EQ] = ACTIONS(5637), + [anon_sym_DASH_EQ] = ACTIONS(5637), + [anon_sym_LT_LT_EQ] = ACTIONS(5637), + [anon_sym_GT_GT_EQ] = ACTIONS(5637), + [anon_sym_AMP_EQ] = ACTIONS(5637), + [anon_sym_CARET_EQ] = ACTIONS(5637), + [anon_sym_PIPE_EQ] = ACTIONS(5637), + [anon_sym_and_eq] = ACTIONS(5635), + [anon_sym_or_eq] = ACTIONS(5635), + [anon_sym_xor_eq] = ACTIONS(5635), + [anon_sym_LT_EQ_GT] = ACTIONS(5637), + [anon_sym_or] = ACTIONS(5635), + [anon_sym_and] = ACTIONS(5635), + [anon_sym_bitor] = ACTIONS(5635), + [anon_sym_xor] = ACTIONS(5635), + [anon_sym_bitand] = ACTIONS(5635), + [anon_sym_not_eq] = ACTIONS(5635), + [anon_sym_DASH_DASH] = ACTIONS(5637), + [anon_sym_PLUS_PLUS] = ACTIONS(5637), + [anon_sym_DOT] = ACTIONS(5635), + [anon_sym_DOT_STAR] = ACTIONS(5637), + [anon_sym_DASH_GT] = ACTIONS(5637), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5637), + [sym_auto] = ACTIONS(5635), + [anon_sym_decltype] = ACTIONS(5635), + }, + [2016] = { + [sym__identifier] = ACTIONS(2683), + [aux_sym_preproc_def_token1] = ACTIONS(2683), + [aux_sym_preproc_if_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2683), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2683), + [sym_preproc_directive] = ACTIONS(2683), + [anon_sym_LPAREN2] = ACTIONS(2685), + [anon_sym_TILDE] = ACTIONS(2685), + [anon_sym_STAR] = ACTIONS(2685), + [anon_sym_AMP_AMP] = ACTIONS(2685), + [anon_sym_AMP] = ACTIONS(2683), + [anon_sym___extension__] = ACTIONS(2683), + [anon_sym_typedef] = ACTIONS(2683), + [anon_sym_extern] = ACTIONS(2683), + [anon_sym___attribute__] = ACTIONS(2683), + [anon_sym_COLON_COLON] = ACTIONS(2685), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2685), + [anon_sym___declspec] = ACTIONS(2683), + [anon_sym___based] = ACTIONS(2683), + [anon_sym_RBRACE] = ACTIONS(2685), + [anon_sym_signed] = ACTIONS(2683), + [anon_sym_unsigned] = ACTIONS(2683), + [anon_sym_long] = ACTIONS(2683), + [anon_sym_short] = ACTIONS(2683), + [anon_sym_LBRACK] = ACTIONS(2683), + [anon_sym_static] = ACTIONS(2683), + [anon_sym_register] = ACTIONS(2683), + [anon_sym_inline] = ACTIONS(2683), + [anon_sym___inline] = ACTIONS(2683), + [anon_sym___inline__] = ACTIONS(2683), + [anon_sym___forceinline] = ACTIONS(2683), + [anon_sym_thread_local] = ACTIONS(2683), + [anon_sym___thread] = ACTIONS(2683), + [anon_sym_const] = ACTIONS(2683), + [anon_sym_constexpr] = ACTIONS(2683), + [anon_sym_volatile] = ACTIONS(2683), + [anon_sym_restrict] = ACTIONS(2683), + [anon_sym___restrict__] = ACTIONS(2683), + [anon_sym__Atomic] = ACTIONS(2683), + [anon_sym__Noreturn] = ACTIONS(2683), + [anon_sym_noreturn] = ACTIONS(2683), + [anon_sym_mutable] = ACTIONS(2683), + [anon_sym_constinit] = ACTIONS(2683), + [anon_sym_consteval] = ACTIONS(2683), + [anon_sym_alignas] = ACTIONS(2683), + [anon_sym__Alignas] = ACTIONS(2683), + [sym_primitive_type] = ACTIONS(2683), + [anon_sym_enum] = ACTIONS(2683), + [anon_sym_class] = ACTIONS(2683), + [anon_sym_struct] = ACTIONS(2683), + [anon_sym_union] = ACTIONS(2683), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2685), + [sym_auto] = ACTIONS(2683), + [anon_sym_decltype] = ACTIONS(2683), + [sym_virtual] = ACTIONS(2683), + [anon_sym_explicit] = ACTIONS(2683), + [anon_sym_typename] = ACTIONS(2683), + [anon_sym_template] = ACTIONS(2683), + [anon_sym_operator] = ACTIONS(2683), + [anon_sym_friend] = ACTIONS(2683), + [anon_sym_public] = ACTIONS(2683), + [anon_sym_private] = ACTIONS(2683), + [anon_sym_protected] = ACTIONS(2683), + [anon_sym_using] = ACTIONS(2683), + [anon_sym_static_assert] = ACTIONS(2683), + [anon_sym_catch] = ACTIONS(2683), + }, + [2017] = { + [sym_attribute_specifier] = STATE(2054), + [sym__identifier] = ACTIONS(5639), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5641), + [anon_sym_COMMA] = ACTIONS(5641), + [anon_sym_RPAREN] = ACTIONS(5641), + [aux_sym_preproc_if_token2] = ACTIONS(5641), + [aux_sym_preproc_else_token1] = ACTIONS(5641), + [aux_sym_preproc_elif_token1] = ACTIONS(5639), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5641), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5641), + [anon_sym_LPAREN2] = ACTIONS(5641), + [anon_sym_DASH] = ACTIONS(5639), + [anon_sym_PLUS] = ACTIONS(5639), + [anon_sym_STAR] = ACTIONS(5639), + [anon_sym_SLASH] = ACTIONS(5639), + [anon_sym_PERCENT] = ACTIONS(5639), + [anon_sym_PIPE_PIPE] = ACTIONS(5641), + [anon_sym_AMP_AMP] = ACTIONS(5641), + [anon_sym_PIPE] = ACTIONS(5639), + [anon_sym_CARET] = ACTIONS(5639), + [anon_sym_AMP] = ACTIONS(5639), + [anon_sym_EQ_EQ] = ACTIONS(5641), + [anon_sym_BANG_EQ] = ACTIONS(5641), + [anon_sym_GT] = ACTIONS(5639), + [anon_sym_GT_EQ] = ACTIONS(5641), + [anon_sym_LT_EQ] = ACTIONS(5639), + [anon_sym_LT] = ACTIONS(5639), + [anon_sym_LT_LT] = ACTIONS(5639), + [anon_sym_GT_GT] = ACTIONS(5639), + [anon_sym_SEMI] = ACTIONS(5641), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5641), + [anon_sym_RBRACE] = ACTIONS(5641), + [anon_sym_LBRACK] = ACTIONS(5641), + [anon_sym_RBRACK] = ACTIONS(5641), + [anon_sym_EQ] = ACTIONS(5639), + [anon_sym_COLON] = ACTIONS(5641), + [anon_sym_QMARK] = ACTIONS(5641), + [anon_sym_STAR_EQ] = ACTIONS(5641), + [anon_sym_SLASH_EQ] = ACTIONS(5641), + [anon_sym_PERCENT_EQ] = ACTIONS(5641), + [anon_sym_PLUS_EQ] = ACTIONS(5641), + [anon_sym_DASH_EQ] = ACTIONS(5641), + [anon_sym_LT_LT_EQ] = ACTIONS(5641), + [anon_sym_GT_GT_EQ] = ACTIONS(5641), + [anon_sym_AMP_EQ] = ACTIONS(5641), + [anon_sym_CARET_EQ] = ACTIONS(5641), + [anon_sym_PIPE_EQ] = ACTIONS(5641), + [anon_sym_and_eq] = ACTIONS(5639), + [anon_sym_or_eq] = ACTIONS(5639), + [anon_sym_xor_eq] = ACTIONS(5639), + [anon_sym_LT_EQ_GT] = ACTIONS(5641), + [anon_sym_or] = ACTIONS(5639), + [anon_sym_and] = ACTIONS(5639), + [anon_sym_bitor] = ACTIONS(5639), + [anon_sym_xor] = ACTIONS(5639), + [anon_sym_bitand] = ACTIONS(5639), + [anon_sym_not_eq] = ACTIONS(5639), + [anon_sym_DASH_DASH] = ACTIONS(5641), + [anon_sym_PLUS_PLUS] = ACTIONS(5641), + [anon_sym_DOT] = ACTIONS(5639), + [anon_sym_DOT_STAR] = ACTIONS(5641), + [anon_sym_DASH_GT] = ACTIONS(5641), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5641), + [sym_auto] = ACTIONS(5639), + [anon_sym_decltype] = ACTIONS(5639), + }, + [2018] = { + [sym__identifier] = ACTIONS(2404), + [aux_sym_preproc_def_token1] = ACTIONS(2404), + [aux_sym_preproc_if_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2404), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2404), + [sym_preproc_directive] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_typedef] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym_RBRACE] = ACTIONS(2402), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_public] = ACTIONS(2404), + [anon_sym_private] = ACTIONS(2404), + [anon_sym_protected] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_static_assert] = ACTIONS(2404), + [anon_sym_catch] = ACTIONS(2404), + }, + [2019] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_raw_string_literal] = STATE(1832), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_RPAREN] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3765), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3773), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3765), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3773), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(3765), + [sym_literal_suffix] = ACTIONS(5643), + }, + [2020] = { + [sym_string_literal] = STATE(1832), + [sym__string_literal] = STATE(2298), + [sym_raw_string_literal] = STATE(1832), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4994), + [anon_sym_COMMA] = ACTIONS(4994), + [anon_sym_RPAREN] = ACTIONS(4994), + [anon_sym_LPAREN2] = ACTIONS(4994), + [anon_sym_DASH] = ACTIONS(4992), + [anon_sym_PLUS] = ACTIONS(4992), + [anon_sym_STAR] = ACTIONS(4992), + [anon_sym_SLASH] = ACTIONS(4992), + [anon_sym_PERCENT] = ACTIONS(4992), + [anon_sym_PIPE_PIPE] = ACTIONS(4994), + [anon_sym_AMP_AMP] = ACTIONS(4994), + [anon_sym_PIPE] = ACTIONS(4992), + [anon_sym_CARET] = ACTIONS(4992), + [anon_sym_AMP] = ACTIONS(4992), + [anon_sym_EQ_EQ] = ACTIONS(4994), + [anon_sym_BANG_EQ] = ACTIONS(4994), + [anon_sym_GT] = ACTIONS(4992), + [anon_sym_GT_EQ] = ACTIONS(4994), + [anon_sym_LT_EQ] = ACTIONS(4992), + [anon_sym_LT] = ACTIONS(4992), + [anon_sym_LT_LT] = ACTIONS(4992), + [anon_sym_GT_GT] = ACTIONS(4992), + [anon_sym_LBRACK] = ACTIONS(4994), + [anon_sym_EQ] = ACTIONS(4992), + [anon_sym_QMARK] = ACTIONS(4994), + [anon_sym_STAR_EQ] = ACTIONS(4994), + [anon_sym_SLASH_EQ] = ACTIONS(4994), + [anon_sym_PERCENT_EQ] = ACTIONS(4994), + [anon_sym_PLUS_EQ] = ACTIONS(4994), + [anon_sym_DASH_EQ] = ACTIONS(4994), + [anon_sym_LT_LT_EQ] = ACTIONS(4994), + [anon_sym_GT_GT_EQ] = ACTIONS(4994), + [anon_sym_AMP_EQ] = ACTIONS(4994), + [anon_sym_CARET_EQ] = ACTIONS(4994), + [anon_sym_PIPE_EQ] = ACTIONS(4994), + [anon_sym_and_eq] = ACTIONS(4992), + [anon_sym_or_eq] = ACTIONS(4992), + [anon_sym_xor_eq] = ACTIONS(4992), + [anon_sym_LT_EQ_GT] = ACTIONS(4994), + [anon_sym_or] = ACTIONS(4992), + [anon_sym_and] = ACTIONS(4992), + [anon_sym_bitor] = ACTIONS(4992), + [anon_sym_xor] = ACTIONS(4992), + [anon_sym_bitand] = ACTIONS(4992), + [anon_sym_not_eq] = ACTIONS(4992), + [anon_sym_DASH_DASH] = ACTIONS(4994), + [anon_sym_PLUS_PLUS] = ACTIONS(4994), + [anon_sym_DOT] = ACTIONS(4992), + [anon_sym_DOT_STAR] = ACTIONS(4994), + [anon_sym_DASH_GT] = ACTIONS(4992), + [anon_sym_L_DQUOTE] = ACTIONS(4680), + [anon_sym_u_DQUOTE] = ACTIONS(4680), + [anon_sym_U_DQUOTE] = ACTIONS(4680), + [anon_sym_u8_DQUOTE] = ACTIONS(4680), + [anon_sym_DQUOTE] = ACTIONS(4680), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4682), + [anon_sym_R_DQUOTE] = ACTIONS(4684), + [anon_sym_LR_DQUOTE] = ACTIONS(4684), + [anon_sym_uR_DQUOTE] = ACTIONS(4684), + [anon_sym_UR_DQUOTE] = ACTIONS(4684), + [anon_sym_u8R_DQUOTE] = ACTIONS(4684), + [anon_sym_DASH_GT_STAR] = ACTIONS(4994), + [sym_literal_suffix] = ACTIONS(5643), + }, + [2021] = { + [sym_attribute_specifier] = STATE(2062), + [sym__identifier] = ACTIONS(5645), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5647), + [anon_sym_COMMA] = ACTIONS(5647), + [anon_sym_RPAREN] = ACTIONS(5647), + [aux_sym_preproc_if_token2] = ACTIONS(5647), + [aux_sym_preproc_else_token1] = ACTIONS(5647), + [aux_sym_preproc_elif_token1] = ACTIONS(5645), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5647), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5647), + [anon_sym_LPAREN2] = ACTIONS(5647), + [anon_sym_DASH] = ACTIONS(5645), + [anon_sym_PLUS] = ACTIONS(5645), + [anon_sym_STAR] = ACTIONS(5645), + [anon_sym_SLASH] = ACTIONS(5645), + [anon_sym_PERCENT] = ACTIONS(5645), + [anon_sym_PIPE_PIPE] = ACTIONS(5647), + [anon_sym_AMP_AMP] = ACTIONS(5647), + [anon_sym_PIPE] = ACTIONS(5645), + [anon_sym_CARET] = ACTIONS(5645), + [anon_sym_AMP] = ACTIONS(5645), + [anon_sym_EQ_EQ] = ACTIONS(5647), + [anon_sym_BANG_EQ] = ACTIONS(5647), + [anon_sym_GT] = ACTIONS(5645), + [anon_sym_GT_EQ] = ACTIONS(5647), + [anon_sym_LT_EQ] = ACTIONS(5645), + [anon_sym_LT] = ACTIONS(5645), + [anon_sym_LT_LT] = ACTIONS(5645), + [anon_sym_GT_GT] = ACTIONS(5645), + [anon_sym_SEMI] = ACTIONS(5647), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5647), + [anon_sym_RBRACE] = ACTIONS(5647), + [anon_sym_LBRACK] = ACTIONS(5647), + [anon_sym_RBRACK] = ACTIONS(5647), + [anon_sym_EQ] = ACTIONS(5645), + [anon_sym_COLON] = ACTIONS(5647), + [anon_sym_QMARK] = ACTIONS(5647), + [anon_sym_STAR_EQ] = ACTIONS(5647), + [anon_sym_SLASH_EQ] = ACTIONS(5647), + [anon_sym_PERCENT_EQ] = ACTIONS(5647), + [anon_sym_PLUS_EQ] = ACTIONS(5647), + [anon_sym_DASH_EQ] = ACTIONS(5647), + [anon_sym_LT_LT_EQ] = ACTIONS(5647), + [anon_sym_GT_GT_EQ] = ACTIONS(5647), + [anon_sym_AMP_EQ] = ACTIONS(5647), + [anon_sym_CARET_EQ] = ACTIONS(5647), + [anon_sym_PIPE_EQ] = ACTIONS(5647), + [anon_sym_and_eq] = ACTIONS(5645), + [anon_sym_or_eq] = ACTIONS(5645), + [anon_sym_xor_eq] = ACTIONS(5645), + [anon_sym_LT_EQ_GT] = ACTIONS(5647), + [anon_sym_or] = ACTIONS(5645), + [anon_sym_and] = ACTIONS(5645), + [anon_sym_bitor] = ACTIONS(5645), + [anon_sym_xor] = ACTIONS(5645), + [anon_sym_bitand] = ACTIONS(5645), + [anon_sym_not_eq] = ACTIONS(5645), + [anon_sym_DASH_DASH] = ACTIONS(5647), + [anon_sym_PLUS_PLUS] = ACTIONS(5647), + [anon_sym_DOT] = ACTIONS(5645), + [anon_sym_DOT_STAR] = ACTIONS(5647), + [anon_sym_DASH_GT] = ACTIONS(5647), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5647), + [sym_auto] = ACTIONS(5645), + [anon_sym_decltype] = ACTIONS(5645), + }, + [2022] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(4002), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2023] = { + [sym__identifier] = ACTIONS(4996), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4998), + [anon_sym_COMMA] = ACTIONS(4998), + [anon_sym_RPAREN] = ACTIONS(4998), + [aux_sym_preproc_if_token2] = ACTIONS(4998), + [aux_sym_preproc_else_token1] = ACTIONS(4998), + [aux_sym_preproc_elif_token1] = ACTIONS(4996), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4998), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4998), + [anon_sym_LPAREN2] = ACTIONS(4998), + [anon_sym_DASH] = ACTIONS(4996), + [anon_sym_PLUS] = ACTIONS(4996), + [anon_sym_STAR] = ACTIONS(4996), + [anon_sym_SLASH] = ACTIONS(4996), + [anon_sym_PERCENT] = ACTIONS(4996), + [anon_sym_PIPE_PIPE] = ACTIONS(4998), + [anon_sym_AMP_AMP] = ACTIONS(4998), + [anon_sym_PIPE] = ACTIONS(4996), + [anon_sym_CARET] = ACTIONS(4996), + [anon_sym_AMP] = ACTIONS(4996), + [anon_sym_EQ_EQ] = ACTIONS(4998), + [anon_sym_BANG_EQ] = ACTIONS(4998), + [anon_sym_GT] = ACTIONS(4996), + [anon_sym_GT_EQ] = ACTIONS(4998), + [anon_sym_LT_EQ] = ACTIONS(4996), + [anon_sym_LT] = ACTIONS(4996), + [anon_sym_LT_LT] = ACTIONS(4996), + [anon_sym_GT_GT] = ACTIONS(4996), + [anon_sym_SEMI] = ACTIONS(4998), + [anon_sym___attribute__] = ACTIONS(4996), + [anon_sym_COLON_COLON] = ACTIONS(4998), + [anon_sym_LBRACE] = ACTIONS(4998), + [anon_sym_RBRACE] = ACTIONS(4998), + [anon_sym_LBRACK] = ACTIONS(4998), + [anon_sym_RBRACK] = ACTIONS(4998), + [anon_sym_EQ] = ACTIONS(4996), + [anon_sym_COLON] = ACTIONS(4996), + [anon_sym_QMARK] = ACTIONS(4998), + [anon_sym_STAR_EQ] = ACTIONS(4998), + [anon_sym_SLASH_EQ] = ACTIONS(4998), + [anon_sym_PERCENT_EQ] = ACTIONS(4998), + [anon_sym_PLUS_EQ] = ACTIONS(4998), + [anon_sym_DASH_EQ] = ACTIONS(4998), + [anon_sym_LT_LT_EQ] = ACTIONS(4998), + [anon_sym_GT_GT_EQ] = ACTIONS(4998), + [anon_sym_AMP_EQ] = ACTIONS(4998), + [anon_sym_CARET_EQ] = ACTIONS(4998), + [anon_sym_PIPE_EQ] = ACTIONS(4998), + [anon_sym_and_eq] = ACTIONS(4996), + [anon_sym_or_eq] = ACTIONS(4996), + [anon_sym_xor_eq] = ACTIONS(4996), + [anon_sym_LT_EQ_GT] = ACTIONS(4998), + [anon_sym_or] = ACTIONS(4996), + [anon_sym_and] = ACTIONS(4996), + [anon_sym_bitor] = ACTIONS(4996), + [anon_sym_xor] = ACTIONS(4996), + [anon_sym_bitand] = ACTIONS(4996), + [anon_sym_not_eq] = ACTIONS(4996), + [anon_sym_DASH_DASH] = ACTIONS(4998), + [anon_sym_PLUS_PLUS] = ACTIONS(4998), + [anon_sym_DOT] = ACTIONS(4996), + [anon_sym_DOT_STAR] = ACTIONS(4998), + [anon_sym_DASH_GT] = ACTIONS(4998), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4998), + [sym_auto] = ACTIONS(4996), + [anon_sym_decltype] = ACTIONS(4996), + }, + [2024] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(1980), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5325), + [anon_sym_COMMA] = ACTIONS(5325), + [anon_sym_RPAREN] = ACTIONS(5325), + [anon_sym_LPAREN2] = ACTIONS(5325), + [anon_sym_DASH] = ACTIONS(5323), + [anon_sym_PLUS] = ACTIONS(5323), + [anon_sym_STAR] = ACTIONS(5325), + [anon_sym_SLASH] = ACTIONS(5323), + [anon_sym_PERCENT] = ACTIONS(5325), + [anon_sym_PIPE_PIPE] = ACTIONS(5325), + [anon_sym_AMP_AMP] = ACTIONS(5325), + [anon_sym_PIPE] = ACTIONS(5323), + [anon_sym_CARET] = ACTIONS(5325), + [anon_sym_AMP] = ACTIONS(5323), + [anon_sym_EQ_EQ] = ACTIONS(5325), + [anon_sym_BANG_EQ] = ACTIONS(5325), + [anon_sym_GT] = ACTIONS(5323), + [anon_sym_GT_EQ] = ACTIONS(5325), + [anon_sym_LT_EQ] = ACTIONS(5323), + [anon_sym_LT] = ACTIONS(5323), + [anon_sym_LT_LT] = ACTIONS(5325), + [anon_sym_GT_GT] = ACTIONS(5325), + [anon_sym_SEMI] = ACTIONS(5325), + [anon_sym___extension__] = ACTIONS(5325), + [anon_sym___attribute__] = ACTIONS(5325), + [anon_sym_LBRACE] = ACTIONS(5325), + [anon_sym_RBRACE] = ACTIONS(5325), + [anon_sym_signed] = ACTIONS(5602), + [anon_sym_unsigned] = ACTIONS(5602), + [anon_sym_long] = ACTIONS(5602), + [anon_sym_short] = ACTIONS(5602), + [anon_sym_LBRACK] = ACTIONS(5325), + [anon_sym_RBRACK] = ACTIONS(5325), + [anon_sym_const] = ACTIONS(5323), + [anon_sym_constexpr] = ACTIONS(5325), + [anon_sym_volatile] = ACTIONS(5325), + [anon_sym_restrict] = ACTIONS(5325), + [anon_sym___restrict__] = ACTIONS(5325), + [anon_sym__Atomic] = ACTIONS(5325), + [anon_sym__Noreturn] = ACTIONS(5325), + [anon_sym_noreturn] = ACTIONS(5325), + [anon_sym_mutable] = ACTIONS(5325), + [anon_sym_constinit] = ACTIONS(5325), + [anon_sym_consteval] = ACTIONS(5325), + [anon_sym_alignas] = ACTIONS(5325), + [anon_sym__Alignas] = ACTIONS(5325), + [anon_sym_COLON] = ACTIONS(5325), + [anon_sym_QMARK] = ACTIONS(5325), + [anon_sym_LT_EQ_GT] = ACTIONS(5325), + [anon_sym_or] = ACTIONS(5325), + [anon_sym_and] = ACTIONS(5325), + [anon_sym_bitor] = ACTIONS(5325), + [anon_sym_xor] = ACTIONS(5325), + [anon_sym_bitand] = ACTIONS(5325), + [anon_sym_not_eq] = ACTIONS(5325), + [anon_sym_DASH_DASH] = ACTIONS(5325), + [anon_sym_PLUS_PLUS] = ACTIONS(5325), + [anon_sym_DOT] = ACTIONS(5323), + [anon_sym_DOT_STAR] = ACTIONS(5325), + [anon_sym_DASH_GT] = ACTIONS(5325), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5325), + [anon_sym_decltype] = ACTIONS(5325), + [anon_sym_final] = ACTIONS(5325), + [anon_sym_override] = ACTIONS(5325), + [anon_sym_requires] = ACTIONS(5325), + }, + [2025] = { + [sym__identifier] = ACTIONS(5649), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5651), + [anon_sym_COMMA] = ACTIONS(5651), + [anon_sym_RPAREN] = ACTIONS(5651), + [aux_sym_preproc_if_token2] = ACTIONS(5651), + [aux_sym_preproc_else_token1] = ACTIONS(5651), + [aux_sym_preproc_elif_token1] = ACTIONS(5649), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5651), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5651), + [anon_sym_LPAREN2] = ACTIONS(5651), + [anon_sym_DASH] = ACTIONS(5649), + [anon_sym_PLUS] = ACTIONS(5649), + [anon_sym_STAR] = ACTIONS(5649), + [anon_sym_SLASH] = ACTIONS(5649), + [anon_sym_PERCENT] = ACTIONS(5649), + [anon_sym_PIPE_PIPE] = ACTIONS(5651), + [anon_sym_AMP_AMP] = ACTIONS(5651), + [anon_sym_PIPE] = ACTIONS(5649), + [anon_sym_CARET] = ACTIONS(5649), + [anon_sym_AMP] = ACTIONS(5649), + [anon_sym_EQ_EQ] = ACTIONS(5651), + [anon_sym_BANG_EQ] = ACTIONS(5651), + [anon_sym_GT] = ACTIONS(5649), + [anon_sym_GT_EQ] = ACTIONS(5651), + [anon_sym_LT_EQ] = ACTIONS(5649), + [anon_sym_LT] = ACTIONS(5649), + [anon_sym_LT_LT] = ACTIONS(5649), + [anon_sym_GT_GT] = ACTIONS(5649), + [anon_sym_SEMI] = ACTIONS(5651), + [anon_sym___attribute__] = ACTIONS(5649), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5651), + [anon_sym_LBRACE] = ACTIONS(5651), + [anon_sym_RBRACE] = ACTIONS(5651), + [anon_sym_LBRACK] = ACTIONS(5649), + [anon_sym_RBRACK] = ACTIONS(5651), + [anon_sym_EQ] = ACTIONS(5649), + [anon_sym_COLON] = ACTIONS(5651), + [anon_sym_QMARK] = ACTIONS(5651), + [anon_sym_STAR_EQ] = ACTIONS(5651), + [anon_sym_SLASH_EQ] = ACTIONS(5651), + [anon_sym_PERCENT_EQ] = ACTIONS(5651), + [anon_sym_PLUS_EQ] = ACTIONS(5651), + [anon_sym_DASH_EQ] = ACTIONS(5651), + [anon_sym_LT_LT_EQ] = ACTIONS(5651), + [anon_sym_GT_GT_EQ] = ACTIONS(5651), + [anon_sym_AMP_EQ] = ACTIONS(5651), + [anon_sym_CARET_EQ] = ACTIONS(5651), + [anon_sym_PIPE_EQ] = ACTIONS(5651), + [anon_sym_and_eq] = ACTIONS(5649), + [anon_sym_or_eq] = ACTIONS(5649), + [anon_sym_xor_eq] = ACTIONS(5649), + [anon_sym_LT_EQ_GT] = ACTIONS(5651), + [anon_sym_or] = ACTIONS(5649), + [anon_sym_and] = ACTIONS(5649), + [anon_sym_bitor] = ACTIONS(5649), + [anon_sym_xor] = ACTIONS(5649), + [anon_sym_bitand] = ACTIONS(5649), + [anon_sym_not_eq] = ACTIONS(5649), + [anon_sym_DASH_DASH] = ACTIONS(5651), + [anon_sym_PLUS_PLUS] = ACTIONS(5651), + [anon_sym_DOT] = ACTIONS(5649), + [anon_sym_DOT_STAR] = ACTIONS(5651), + [anon_sym_DASH_GT] = ACTIONS(5651), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5651), + [anon_sym_try] = ACTIONS(5649), + }, + [2026] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token2] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_friend] = ACTIONS(2985), + [anon_sym_public] = ACTIONS(2985), + [anon_sym_private] = ACTIONS(2985), + [anon_sym_protected] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + }, + [2027] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token2] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_friend] = ACTIONS(3092), + [anon_sym_public] = ACTIONS(3092), + [anon_sym_private] = ACTIONS(3092), + [anon_sym_protected] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + }, + [2028] = { + [sym__identifier] = ACTIONS(5233), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5235), + [anon_sym_COMMA] = ACTIONS(5235), + [anon_sym_RPAREN] = ACTIONS(5235), + [aux_sym_preproc_if_token2] = ACTIONS(5235), + [aux_sym_preproc_else_token1] = ACTIONS(5235), + [aux_sym_preproc_elif_token1] = ACTIONS(5233), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5235), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5235), + [anon_sym_LPAREN2] = ACTIONS(5235), + [anon_sym_DASH] = ACTIONS(5233), + [anon_sym_PLUS] = ACTIONS(5233), + [anon_sym_STAR] = ACTIONS(5233), + [anon_sym_SLASH] = ACTIONS(5233), + [anon_sym_PERCENT] = ACTIONS(5233), + [anon_sym_PIPE_PIPE] = ACTIONS(5235), + [anon_sym_AMP_AMP] = ACTIONS(5235), + [anon_sym_PIPE] = ACTIONS(5233), + [anon_sym_CARET] = ACTIONS(5233), + [anon_sym_AMP] = ACTIONS(5233), + [anon_sym_EQ_EQ] = ACTIONS(5235), + [anon_sym_BANG_EQ] = ACTIONS(5235), + [anon_sym_GT] = ACTIONS(5233), + [anon_sym_GT_EQ] = ACTIONS(5235), + [anon_sym_LT_EQ] = ACTIONS(5233), + [anon_sym_LT] = ACTIONS(5233), + [anon_sym_LT_LT] = ACTIONS(5233), + [anon_sym_GT_GT] = ACTIONS(5233), + [anon_sym_SEMI] = ACTIONS(5235), + [anon_sym___attribute__] = ACTIONS(5233), + [anon_sym_LBRACE] = ACTIONS(5235), + [anon_sym_RBRACE] = ACTIONS(5235), + [anon_sym_LBRACK] = ACTIONS(5235), + [anon_sym_RBRACK] = ACTIONS(5235), + [anon_sym_EQ] = ACTIONS(5233), + [anon_sym_COLON] = ACTIONS(5235), + [anon_sym_QMARK] = ACTIONS(5235), + [anon_sym_STAR_EQ] = ACTIONS(5235), + [anon_sym_SLASH_EQ] = ACTIONS(5235), + [anon_sym_PERCENT_EQ] = ACTIONS(5235), + [anon_sym_PLUS_EQ] = ACTIONS(5235), + [anon_sym_DASH_EQ] = ACTIONS(5235), + [anon_sym_LT_LT_EQ] = ACTIONS(5235), + [anon_sym_GT_GT_EQ] = ACTIONS(5235), + [anon_sym_AMP_EQ] = ACTIONS(5235), + [anon_sym_CARET_EQ] = ACTIONS(5235), + [anon_sym_PIPE_EQ] = ACTIONS(5235), + [anon_sym_and_eq] = ACTIONS(5233), + [anon_sym_or_eq] = ACTIONS(5233), + [anon_sym_xor_eq] = ACTIONS(5233), + [anon_sym_LT_EQ_GT] = ACTIONS(5235), + [anon_sym_or] = ACTIONS(5233), + [anon_sym_and] = ACTIONS(5233), + [anon_sym_bitor] = ACTIONS(5233), + [anon_sym_xor] = ACTIONS(5233), + [anon_sym_bitand] = ACTIONS(5233), + [anon_sym_not_eq] = ACTIONS(5233), + [anon_sym_DASH_DASH] = ACTIONS(5235), + [anon_sym_PLUS_PLUS] = ACTIONS(5235), + [anon_sym_DOT] = ACTIONS(5233), + [anon_sym_DOT_STAR] = ACTIONS(5235), + [anon_sym_DASH_GT] = ACTIONS(5235), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5235), + [sym_auto] = ACTIONS(5233), + [anon_sym_decltype] = ACTIONS(5233), + }, + [2029] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [aux_sym_preproc_if_token2] = ACTIONS(5171), + [aux_sym_preproc_else_token1] = ACTIONS(5171), + [aux_sym_preproc_elif_token1] = ACTIONS(5169), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5171), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5169), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5169), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5169), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5169), + [anon_sym_GT_GT] = ACTIONS(5169), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_EQ] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_STAR_EQ] = ACTIONS(5171), + [anon_sym_SLASH_EQ] = ACTIONS(5171), + [anon_sym_PERCENT_EQ] = ACTIONS(5171), + [anon_sym_PLUS_EQ] = ACTIONS(5171), + [anon_sym_DASH_EQ] = ACTIONS(5171), + [anon_sym_LT_LT_EQ] = ACTIONS(5171), + [anon_sym_GT_GT_EQ] = ACTIONS(5171), + [anon_sym_AMP_EQ] = ACTIONS(5171), + [anon_sym_CARET_EQ] = ACTIONS(5171), + [anon_sym_PIPE_EQ] = ACTIONS(5171), + [anon_sym_and_eq] = ACTIONS(5169), + [anon_sym_or_eq] = ACTIONS(5169), + [anon_sym_xor_eq] = ACTIONS(5169), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + }, + [2030] = { + [sym__identifier] = ACTIONS(5086), + [aux_sym_preproc_def_token1] = ACTIONS(5086), + [aux_sym_preproc_if_token1] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5086), + [sym_preproc_directive] = ACTIONS(5086), + [anon_sym_LPAREN2] = ACTIONS(5088), + [anon_sym_TILDE] = ACTIONS(5088), + [anon_sym_STAR] = ACTIONS(5088), + [anon_sym_AMP_AMP] = ACTIONS(5088), + [anon_sym_AMP] = ACTIONS(5086), + [anon_sym___extension__] = ACTIONS(5086), + [anon_sym_typedef] = ACTIONS(5086), + [anon_sym_extern] = ACTIONS(5086), + [anon_sym___attribute__] = ACTIONS(5086), + [anon_sym_COLON_COLON] = ACTIONS(5088), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5088), + [anon_sym___declspec] = ACTIONS(5086), + [anon_sym___based] = ACTIONS(5086), + [anon_sym_RBRACE] = ACTIONS(5088), + [anon_sym_signed] = ACTIONS(5086), + [anon_sym_unsigned] = ACTIONS(5086), + [anon_sym_long] = ACTIONS(5086), + [anon_sym_short] = ACTIONS(5086), + [anon_sym_LBRACK] = ACTIONS(5086), + [anon_sym_static] = ACTIONS(5086), + [anon_sym_register] = ACTIONS(5086), + [anon_sym_inline] = ACTIONS(5086), + [anon_sym___inline] = ACTIONS(5086), + [anon_sym___inline__] = ACTIONS(5086), + [anon_sym___forceinline] = ACTIONS(5086), + [anon_sym_thread_local] = ACTIONS(5086), + [anon_sym___thread] = ACTIONS(5086), + [anon_sym_const] = ACTIONS(5086), + [anon_sym_constexpr] = ACTIONS(5086), + [anon_sym_volatile] = ACTIONS(5086), + [anon_sym_restrict] = ACTIONS(5086), + [anon_sym___restrict__] = ACTIONS(5086), + [anon_sym__Atomic] = ACTIONS(5086), + [anon_sym__Noreturn] = ACTIONS(5086), + [anon_sym_noreturn] = ACTIONS(5086), + [anon_sym_mutable] = ACTIONS(5086), + [anon_sym_constinit] = ACTIONS(5086), + [anon_sym_consteval] = ACTIONS(5086), + [anon_sym_alignas] = ACTIONS(5086), + [anon_sym__Alignas] = ACTIONS(5086), + [sym_primitive_type] = ACTIONS(5086), + [anon_sym_enum] = ACTIONS(5086), + [anon_sym_class] = ACTIONS(5086), + [anon_sym_struct] = ACTIONS(5086), + [anon_sym_union] = ACTIONS(5086), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5088), + [sym_auto] = ACTIONS(5086), + [anon_sym_decltype] = ACTIONS(5086), + [sym_virtual] = ACTIONS(5086), + [anon_sym_explicit] = ACTIONS(5086), + [anon_sym_typename] = ACTIONS(5086), + [anon_sym_template] = ACTIONS(5086), + [anon_sym_operator] = ACTIONS(5086), + [anon_sym_friend] = ACTIONS(5086), + [anon_sym_public] = ACTIONS(5086), + [anon_sym_private] = ACTIONS(5086), + [anon_sym_protected] = ACTIONS(5086), + [anon_sym_using] = ACTIONS(5086), + [anon_sym_static_assert] = ACTIONS(5086), + }, + [2031] = { + [sym_argument_list] = STATE(2467), + [sym_initializer_list] = STATE(2467), + [sym__identifier] = ACTIONS(5653), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5655), + [anon_sym_COMMA] = ACTIONS(5655), + [anon_sym_RPAREN] = ACTIONS(5655), + [aux_sym_preproc_if_token2] = ACTIONS(5655), + [aux_sym_preproc_else_token1] = ACTIONS(5655), + [aux_sym_preproc_elif_token1] = ACTIONS(5653), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5655), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5655), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5653), + [anon_sym_PLUS] = ACTIONS(5653), + [anon_sym_STAR] = ACTIONS(5653), + [anon_sym_SLASH] = ACTIONS(5653), + [anon_sym_PERCENT] = ACTIONS(5653), + [anon_sym_PIPE_PIPE] = ACTIONS(5655), + [anon_sym_AMP_AMP] = ACTIONS(5655), + [anon_sym_PIPE] = ACTIONS(5653), + [anon_sym_CARET] = ACTIONS(5653), + [anon_sym_AMP] = ACTIONS(5653), + [anon_sym_EQ_EQ] = ACTIONS(5655), + [anon_sym_BANG_EQ] = ACTIONS(5655), + [anon_sym_GT] = ACTIONS(5653), + [anon_sym_GT_EQ] = ACTIONS(5655), + [anon_sym_LT_EQ] = ACTIONS(5653), + [anon_sym_LT] = ACTIONS(5653), + [anon_sym_LT_LT] = ACTIONS(5653), + [anon_sym_GT_GT] = ACTIONS(5653), + [anon_sym_SEMI] = ACTIONS(5655), + [anon_sym___attribute__] = ACTIONS(5653), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5655), + [anon_sym_LBRACK] = ACTIONS(5655), + [anon_sym_RBRACK] = ACTIONS(5655), + [anon_sym_EQ] = ACTIONS(5653), + [anon_sym_COLON] = ACTIONS(5655), + [anon_sym_QMARK] = ACTIONS(5655), + [anon_sym_STAR_EQ] = ACTIONS(5655), + [anon_sym_SLASH_EQ] = ACTIONS(5655), + [anon_sym_PERCENT_EQ] = ACTIONS(5655), + [anon_sym_PLUS_EQ] = ACTIONS(5655), + [anon_sym_DASH_EQ] = ACTIONS(5655), + [anon_sym_LT_LT_EQ] = ACTIONS(5655), + [anon_sym_GT_GT_EQ] = ACTIONS(5655), + [anon_sym_AMP_EQ] = ACTIONS(5655), + [anon_sym_CARET_EQ] = ACTIONS(5655), + [anon_sym_PIPE_EQ] = ACTIONS(5655), + [anon_sym_and_eq] = ACTIONS(5653), + [anon_sym_or_eq] = ACTIONS(5653), + [anon_sym_xor_eq] = ACTIONS(5653), + [anon_sym_LT_EQ_GT] = ACTIONS(5655), + [anon_sym_or] = ACTIONS(5653), + [anon_sym_and] = ACTIONS(5653), + [anon_sym_bitor] = ACTIONS(5653), + [anon_sym_xor] = ACTIONS(5653), + [anon_sym_bitand] = ACTIONS(5653), + [anon_sym_not_eq] = ACTIONS(5653), + [anon_sym_DASH_DASH] = ACTIONS(5655), + [anon_sym_PLUS_PLUS] = ACTIONS(5655), + [anon_sym_DOT] = ACTIONS(5653), + [anon_sym_DOT_STAR] = ACTIONS(5655), + [anon_sym_DASH_GT] = ACTIONS(5655), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5655), + }, + [2032] = { + [sym__identifier] = ACTIONS(5657), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5659), + [anon_sym_COMMA] = ACTIONS(5659), + [anon_sym_RPAREN] = ACTIONS(5659), + [aux_sym_preproc_if_token2] = ACTIONS(5659), + [aux_sym_preproc_else_token1] = ACTIONS(5659), + [aux_sym_preproc_elif_token1] = ACTIONS(5657), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5659), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5659), + [anon_sym_LPAREN2] = ACTIONS(5659), + [anon_sym_DASH] = ACTIONS(5657), + [anon_sym_PLUS] = ACTIONS(5657), + [anon_sym_STAR] = ACTIONS(5657), + [anon_sym_SLASH] = ACTIONS(5657), + [anon_sym_PERCENT] = ACTIONS(5657), + [anon_sym_PIPE_PIPE] = ACTIONS(5659), + [anon_sym_AMP_AMP] = ACTIONS(5659), + [anon_sym_PIPE] = ACTIONS(5657), + [anon_sym_CARET] = ACTIONS(5657), + [anon_sym_AMP] = ACTIONS(5657), + [anon_sym_EQ_EQ] = ACTIONS(5659), + [anon_sym_BANG_EQ] = ACTIONS(5659), + [anon_sym_GT] = ACTIONS(5657), + [anon_sym_GT_EQ] = ACTIONS(5659), + [anon_sym_LT_EQ] = ACTIONS(5657), + [anon_sym_LT] = ACTIONS(5657), + [anon_sym_LT_LT] = ACTIONS(5657), + [anon_sym_GT_GT] = ACTIONS(5657), + [anon_sym_SEMI] = ACTIONS(5659), + [anon_sym___attribute__] = ACTIONS(5657), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5659), + [anon_sym_LBRACE] = ACTIONS(5659), + [anon_sym_RBRACE] = ACTIONS(5659), + [anon_sym_LBRACK] = ACTIONS(5657), + [anon_sym_RBRACK] = ACTIONS(5659), + [anon_sym_EQ] = ACTIONS(5657), + [anon_sym_COLON] = ACTIONS(5659), + [anon_sym_QMARK] = ACTIONS(5659), + [anon_sym_STAR_EQ] = ACTIONS(5659), + [anon_sym_SLASH_EQ] = ACTIONS(5659), + [anon_sym_PERCENT_EQ] = ACTIONS(5659), + [anon_sym_PLUS_EQ] = ACTIONS(5659), + [anon_sym_DASH_EQ] = ACTIONS(5659), + [anon_sym_LT_LT_EQ] = ACTIONS(5659), + [anon_sym_GT_GT_EQ] = ACTIONS(5659), + [anon_sym_AMP_EQ] = ACTIONS(5659), + [anon_sym_CARET_EQ] = ACTIONS(5659), + [anon_sym_PIPE_EQ] = ACTIONS(5659), + [anon_sym_and_eq] = ACTIONS(5657), + [anon_sym_or_eq] = ACTIONS(5657), + [anon_sym_xor_eq] = ACTIONS(5657), + [anon_sym_LT_EQ_GT] = ACTIONS(5659), + [anon_sym_or] = ACTIONS(5657), + [anon_sym_and] = ACTIONS(5657), + [anon_sym_bitor] = ACTIONS(5657), + [anon_sym_xor] = ACTIONS(5657), + [anon_sym_bitand] = ACTIONS(5657), + [anon_sym_not_eq] = ACTIONS(5657), + [anon_sym_DASH_DASH] = ACTIONS(5659), + [anon_sym_PLUS_PLUS] = ACTIONS(5659), + [anon_sym_DOT] = ACTIONS(5657), + [anon_sym_DOT_STAR] = ACTIONS(5659), + [anon_sym_DASH_GT] = ACTIONS(5659), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5659), + [anon_sym_try] = ACTIONS(5657), + }, + [2033] = { + [sym__identifier] = ACTIONS(5283), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5285), + [anon_sym_COMMA] = ACTIONS(5285), + [anon_sym_RPAREN] = ACTIONS(5285), + [aux_sym_preproc_if_token2] = ACTIONS(5285), + [aux_sym_preproc_else_token1] = ACTIONS(5285), + [aux_sym_preproc_elif_token1] = ACTIONS(5283), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5285), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5285), + [anon_sym_LPAREN2] = ACTIONS(5285), + [anon_sym_DASH] = ACTIONS(5283), + [anon_sym_PLUS] = ACTIONS(5283), + [anon_sym_STAR] = ACTIONS(5283), + [anon_sym_SLASH] = ACTIONS(5283), + [anon_sym_PERCENT] = ACTIONS(5283), + [anon_sym_PIPE_PIPE] = ACTIONS(5285), + [anon_sym_AMP_AMP] = ACTIONS(5285), + [anon_sym_PIPE] = ACTIONS(5283), + [anon_sym_CARET] = ACTIONS(5283), + [anon_sym_AMP] = ACTIONS(5283), + [anon_sym_EQ_EQ] = ACTIONS(5285), + [anon_sym_BANG_EQ] = ACTIONS(5285), + [anon_sym_GT] = ACTIONS(5283), + [anon_sym_GT_EQ] = ACTIONS(5285), + [anon_sym_LT_EQ] = ACTIONS(5283), + [anon_sym_LT] = ACTIONS(5283), + [anon_sym_LT_LT] = ACTIONS(5283), + [anon_sym_GT_GT] = ACTIONS(5283), + [anon_sym_SEMI] = ACTIONS(5285), + [anon_sym___attribute__] = ACTIONS(5283), + [anon_sym_LBRACE] = ACTIONS(5285), + [anon_sym_RBRACE] = ACTIONS(5285), + [anon_sym_LBRACK] = ACTIONS(5285), + [anon_sym_RBRACK] = ACTIONS(5285), + [anon_sym_EQ] = ACTIONS(5283), + [anon_sym_COLON] = ACTIONS(5285), + [anon_sym_QMARK] = ACTIONS(5285), + [anon_sym_STAR_EQ] = ACTIONS(5285), + [anon_sym_SLASH_EQ] = ACTIONS(5285), + [anon_sym_PERCENT_EQ] = ACTIONS(5285), + [anon_sym_PLUS_EQ] = ACTIONS(5285), + [anon_sym_DASH_EQ] = ACTIONS(5285), + [anon_sym_LT_LT_EQ] = ACTIONS(5285), + [anon_sym_GT_GT_EQ] = ACTIONS(5285), + [anon_sym_AMP_EQ] = ACTIONS(5285), + [anon_sym_CARET_EQ] = ACTIONS(5285), + [anon_sym_PIPE_EQ] = ACTIONS(5285), + [anon_sym_and_eq] = ACTIONS(5283), + [anon_sym_or_eq] = ACTIONS(5283), + [anon_sym_xor_eq] = ACTIONS(5283), + [anon_sym_LT_EQ_GT] = ACTIONS(5285), + [anon_sym_or] = ACTIONS(5283), + [anon_sym_and] = ACTIONS(5283), + [anon_sym_bitor] = ACTIONS(5283), + [anon_sym_xor] = ACTIONS(5283), + [anon_sym_bitand] = ACTIONS(5283), + [anon_sym_not_eq] = ACTIONS(5283), + [anon_sym_DASH_DASH] = ACTIONS(5285), + [anon_sym_PLUS_PLUS] = ACTIONS(5285), + [anon_sym_DOT] = ACTIONS(5283), + [anon_sym_DOT_STAR] = ACTIONS(5285), + [anon_sym_DASH_GT] = ACTIONS(5285), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5285), + [sym_auto] = ACTIONS(5283), + [anon_sym_decltype] = ACTIONS(5283), + }, + [2034] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym_RBRACE] = ACTIONS(3140), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_friend] = ACTIONS(3138), + [anon_sym_public] = ACTIONS(3138), + [anon_sym_private] = ACTIONS(3138), + [anon_sym_protected] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + }, + [2035] = { + [sym__identifier] = ACTIONS(5090), + [aux_sym_preproc_def_token1] = ACTIONS(5090), + [aux_sym_preproc_if_token1] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5090), + [sym_preproc_directive] = ACTIONS(5090), + [anon_sym_LPAREN2] = ACTIONS(5092), + [anon_sym_TILDE] = ACTIONS(5092), + [anon_sym_STAR] = ACTIONS(5092), + [anon_sym_AMP_AMP] = ACTIONS(5092), + [anon_sym_AMP] = ACTIONS(5090), + [anon_sym___extension__] = ACTIONS(5090), + [anon_sym_typedef] = ACTIONS(5090), + [anon_sym_extern] = ACTIONS(5090), + [anon_sym___attribute__] = ACTIONS(5090), + [anon_sym_COLON_COLON] = ACTIONS(5092), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5092), + [anon_sym___declspec] = ACTIONS(5090), + [anon_sym___based] = ACTIONS(5090), + [anon_sym_RBRACE] = ACTIONS(5092), + [anon_sym_signed] = ACTIONS(5090), + [anon_sym_unsigned] = ACTIONS(5090), + [anon_sym_long] = ACTIONS(5090), + [anon_sym_short] = ACTIONS(5090), + [anon_sym_LBRACK] = ACTIONS(5090), + [anon_sym_static] = ACTIONS(5090), + [anon_sym_register] = ACTIONS(5090), + [anon_sym_inline] = ACTIONS(5090), + [anon_sym___inline] = ACTIONS(5090), + [anon_sym___inline__] = ACTIONS(5090), + [anon_sym___forceinline] = ACTIONS(5090), + [anon_sym_thread_local] = ACTIONS(5090), + [anon_sym___thread] = ACTIONS(5090), + [anon_sym_const] = ACTIONS(5090), + [anon_sym_constexpr] = ACTIONS(5090), + [anon_sym_volatile] = ACTIONS(5090), + [anon_sym_restrict] = ACTIONS(5090), + [anon_sym___restrict__] = ACTIONS(5090), + [anon_sym__Atomic] = ACTIONS(5090), + [anon_sym__Noreturn] = ACTIONS(5090), + [anon_sym_noreturn] = ACTIONS(5090), + [anon_sym_mutable] = ACTIONS(5090), + [anon_sym_constinit] = ACTIONS(5090), + [anon_sym_consteval] = ACTIONS(5090), + [anon_sym_alignas] = ACTIONS(5090), + [anon_sym__Alignas] = ACTIONS(5090), + [sym_primitive_type] = ACTIONS(5090), + [anon_sym_enum] = ACTIONS(5090), + [anon_sym_class] = ACTIONS(5090), + [anon_sym_struct] = ACTIONS(5090), + [anon_sym_union] = ACTIONS(5090), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5092), + [sym_auto] = ACTIONS(5090), + [anon_sym_decltype] = ACTIONS(5090), + [sym_virtual] = ACTIONS(5090), + [anon_sym_explicit] = ACTIONS(5090), + [anon_sym_typename] = ACTIONS(5090), + [anon_sym_template] = ACTIONS(5090), + [anon_sym_operator] = ACTIONS(5090), + [anon_sym_friend] = ACTIONS(5090), + [anon_sym_public] = ACTIONS(5090), + [anon_sym_private] = ACTIONS(5090), + [anon_sym_protected] = ACTIONS(5090), + [anon_sym_using] = ACTIONS(5090), + [anon_sym_static_assert] = ACTIONS(5090), + }, + [2036] = { + [sym__identifier] = ACTIONS(3092), + [aux_sym_preproc_def_token1] = ACTIONS(3092), + [aux_sym_preproc_if_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3092), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3092), + [sym_preproc_directive] = ACTIONS(3092), + [anon_sym_LPAREN2] = ACTIONS(3094), + [anon_sym_TILDE] = ACTIONS(3094), + [anon_sym_STAR] = ACTIONS(3094), + [anon_sym_AMP_AMP] = ACTIONS(3094), + [anon_sym_AMP] = ACTIONS(3092), + [anon_sym___extension__] = ACTIONS(3092), + [anon_sym_typedef] = ACTIONS(3092), + [anon_sym_extern] = ACTIONS(3092), + [anon_sym___attribute__] = ACTIONS(3092), + [anon_sym_COLON_COLON] = ACTIONS(3094), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3094), + [anon_sym___declspec] = ACTIONS(3092), + [anon_sym___based] = ACTIONS(3092), + [anon_sym_RBRACE] = ACTIONS(3094), + [anon_sym_signed] = ACTIONS(3092), + [anon_sym_unsigned] = ACTIONS(3092), + [anon_sym_long] = ACTIONS(3092), + [anon_sym_short] = ACTIONS(3092), + [anon_sym_LBRACK] = ACTIONS(3092), + [anon_sym_static] = ACTIONS(3092), + [anon_sym_register] = ACTIONS(3092), + [anon_sym_inline] = ACTIONS(3092), + [anon_sym___inline] = ACTIONS(3092), + [anon_sym___inline__] = ACTIONS(3092), + [anon_sym___forceinline] = ACTIONS(3092), + [anon_sym_thread_local] = ACTIONS(3092), + [anon_sym___thread] = ACTIONS(3092), + [anon_sym_const] = ACTIONS(3092), + [anon_sym_constexpr] = ACTIONS(3092), + [anon_sym_volatile] = ACTIONS(3092), + [anon_sym_restrict] = ACTIONS(3092), + [anon_sym___restrict__] = ACTIONS(3092), + [anon_sym__Atomic] = ACTIONS(3092), + [anon_sym__Noreturn] = ACTIONS(3092), + [anon_sym_noreturn] = ACTIONS(3092), + [anon_sym_mutable] = ACTIONS(3092), + [anon_sym_constinit] = ACTIONS(3092), + [anon_sym_consteval] = ACTIONS(3092), + [anon_sym_alignas] = ACTIONS(3092), + [anon_sym__Alignas] = ACTIONS(3092), + [sym_primitive_type] = ACTIONS(3092), + [anon_sym_enum] = ACTIONS(3092), + [anon_sym_class] = ACTIONS(3092), + [anon_sym_struct] = ACTIONS(3092), + [anon_sym_union] = ACTIONS(3092), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3094), + [sym_auto] = ACTIONS(3092), + [anon_sym_decltype] = ACTIONS(3092), + [sym_virtual] = ACTIONS(3092), + [anon_sym_explicit] = ACTIONS(3092), + [anon_sym_typename] = ACTIONS(3092), + [anon_sym_template] = ACTIONS(3092), + [anon_sym_operator] = ACTIONS(3092), + [anon_sym_friend] = ACTIONS(3092), + [anon_sym_public] = ACTIONS(3092), + [anon_sym_private] = ACTIONS(3092), + [anon_sym_protected] = ACTIONS(3092), + [anon_sym_using] = ACTIONS(3092), + [anon_sym_static_assert] = ACTIONS(3092), + }, + [2037] = { + [sym_template_argument_list] = STATE(1626), + [aux_sym_sized_type_specifier_repeat1] = STATE(2343), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5461), + [anon_sym_COMMA] = ACTIONS(5461), + [anon_sym_RPAREN] = ACTIONS(5461), + [anon_sym_LPAREN2] = ACTIONS(5461), + [anon_sym_DASH] = ACTIONS(5459), + [anon_sym_PLUS] = ACTIONS(5459), + [anon_sym_STAR] = ACTIONS(5459), + [anon_sym_SLASH] = ACTIONS(5459), + [anon_sym_PERCENT] = ACTIONS(5459), + [anon_sym_PIPE_PIPE] = ACTIONS(5461), + [anon_sym_AMP_AMP] = ACTIONS(5461), + [anon_sym_PIPE] = ACTIONS(5459), + [anon_sym_CARET] = ACTIONS(5459), + [anon_sym_AMP] = ACTIONS(5459), + [anon_sym_EQ_EQ] = ACTIONS(5461), + [anon_sym_BANG_EQ] = ACTIONS(5461), + [anon_sym_GT] = ACTIONS(5459), + [anon_sym_GT_EQ] = ACTIONS(5461), + [anon_sym_LT_EQ] = ACTIONS(5459), + [anon_sym_LT] = ACTIONS(5459), + [anon_sym_LT_LT] = ACTIONS(5459), + [anon_sym_GT_GT] = ACTIONS(5459), + [anon_sym_SEMI] = ACTIONS(5461), + [anon_sym___attribute__] = ACTIONS(5461), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(5461), + [anon_sym_RBRACE] = ACTIONS(5461), + [anon_sym_signed] = ACTIONS(5661), + [anon_sym_unsigned] = ACTIONS(5661), + [anon_sym_long] = ACTIONS(5661), + [anon_sym_short] = ACTIONS(5661), + [anon_sym_LBRACK] = ACTIONS(5461), + [anon_sym_RBRACK] = ACTIONS(5461), + [anon_sym_EQ] = ACTIONS(5459), + [anon_sym_COLON] = ACTIONS(5459), + [anon_sym_QMARK] = ACTIONS(5461), + [anon_sym_STAR_EQ] = ACTIONS(5461), + [anon_sym_SLASH_EQ] = ACTIONS(5461), + [anon_sym_PERCENT_EQ] = ACTIONS(5461), + [anon_sym_PLUS_EQ] = ACTIONS(5461), + [anon_sym_DASH_EQ] = ACTIONS(5461), + [anon_sym_LT_LT_EQ] = ACTIONS(5461), + [anon_sym_GT_GT_EQ] = ACTIONS(5461), + [anon_sym_AMP_EQ] = ACTIONS(5461), + [anon_sym_CARET_EQ] = ACTIONS(5461), + [anon_sym_PIPE_EQ] = ACTIONS(5461), + [anon_sym_and_eq] = ACTIONS(5461), + [anon_sym_or_eq] = ACTIONS(5461), + [anon_sym_xor_eq] = ACTIONS(5461), + [anon_sym_LT_EQ_GT] = ACTIONS(5461), + [anon_sym_or] = ACTIONS(5459), + [anon_sym_and] = ACTIONS(5459), + [anon_sym_bitor] = ACTIONS(5461), + [anon_sym_xor] = ACTIONS(5459), + [anon_sym_bitand] = ACTIONS(5461), + [anon_sym_not_eq] = ACTIONS(5461), + [anon_sym_DASH_DASH] = ACTIONS(5461), + [anon_sym_PLUS_PLUS] = ACTIONS(5461), + [anon_sym_DOT] = ACTIONS(5459), + [anon_sym_DOT_STAR] = ACTIONS(5461), + [anon_sym_DASH_GT] = ACTIONS(5461), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(5461), + [anon_sym_decltype] = ACTIONS(5461), + }, + [2038] = { + [sym__identifier] = ACTIONS(5090), + [aux_sym_preproc_def_token1] = ACTIONS(5090), + [aux_sym_preproc_if_token1] = ACTIONS(5090), + [aux_sym_preproc_if_token2] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5090), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5090), + [sym_preproc_directive] = ACTIONS(5090), + [anon_sym_LPAREN2] = ACTIONS(5092), + [anon_sym_TILDE] = ACTIONS(5092), + [anon_sym_STAR] = ACTIONS(5092), + [anon_sym_AMP_AMP] = ACTIONS(5092), + [anon_sym_AMP] = ACTIONS(5090), + [anon_sym___extension__] = ACTIONS(5090), + [anon_sym_typedef] = ACTIONS(5090), + [anon_sym_extern] = ACTIONS(5090), + [anon_sym___attribute__] = ACTIONS(5090), + [anon_sym_COLON_COLON] = ACTIONS(5092), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5092), + [anon_sym___declspec] = ACTIONS(5090), + [anon_sym___based] = ACTIONS(5090), + [anon_sym_signed] = ACTIONS(5090), + [anon_sym_unsigned] = ACTIONS(5090), + [anon_sym_long] = ACTIONS(5090), + [anon_sym_short] = ACTIONS(5090), + [anon_sym_LBRACK] = ACTIONS(5090), + [anon_sym_static] = ACTIONS(5090), + [anon_sym_register] = ACTIONS(5090), + [anon_sym_inline] = ACTIONS(5090), + [anon_sym___inline] = ACTIONS(5090), + [anon_sym___inline__] = ACTIONS(5090), + [anon_sym___forceinline] = ACTIONS(5090), + [anon_sym_thread_local] = ACTIONS(5090), + [anon_sym___thread] = ACTIONS(5090), + [anon_sym_const] = ACTIONS(5090), + [anon_sym_constexpr] = ACTIONS(5090), + [anon_sym_volatile] = ACTIONS(5090), + [anon_sym_restrict] = ACTIONS(5090), + [anon_sym___restrict__] = ACTIONS(5090), + [anon_sym__Atomic] = ACTIONS(5090), + [anon_sym__Noreturn] = ACTIONS(5090), + [anon_sym_noreturn] = ACTIONS(5090), + [anon_sym_mutable] = ACTIONS(5090), + [anon_sym_constinit] = ACTIONS(5090), + [anon_sym_consteval] = ACTIONS(5090), + [anon_sym_alignas] = ACTIONS(5090), + [anon_sym__Alignas] = ACTIONS(5090), + [sym_primitive_type] = ACTIONS(5090), + [anon_sym_enum] = ACTIONS(5090), + [anon_sym_class] = ACTIONS(5090), + [anon_sym_struct] = ACTIONS(5090), + [anon_sym_union] = ACTIONS(5090), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5092), + [sym_auto] = ACTIONS(5090), + [anon_sym_decltype] = ACTIONS(5090), + [sym_virtual] = ACTIONS(5090), + [anon_sym_explicit] = ACTIONS(5090), + [anon_sym_typename] = ACTIONS(5090), + [anon_sym_template] = ACTIONS(5090), + [anon_sym_operator] = ACTIONS(5090), + [anon_sym_friend] = ACTIONS(5090), + [anon_sym_public] = ACTIONS(5090), + [anon_sym_private] = ACTIONS(5090), + [anon_sym_protected] = ACTIONS(5090), + [anon_sym_using] = ACTIONS(5090), + [anon_sym_static_assert] = ACTIONS(5090), + }, + [2039] = { + [sym__identifier] = ACTIONS(5265), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5267), + [anon_sym_COMMA] = ACTIONS(5267), + [anon_sym_RPAREN] = ACTIONS(5267), + [aux_sym_preproc_if_token2] = ACTIONS(5267), + [aux_sym_preproc_else_token1] = ACTIONS(5267), + [aux_sym_preproc_elif_token1] = ACTIONS(5265), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5267), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5267), + [anon_sym_LPAREN2] = ACTIONS(5267), + [anon_sym_DASH] = ACTIONS(5265), + [anon_sym_PLUS] = ACTIONS(5265), + [anon_sym_STAR] = ACTIONS(5265), + [anon_sym_SLASH] = ACTIONS(5265), + [anon_sym_PERCENT] = ACTIONS(5265), + [anon_sym_PIPE_PIPE] = ACTIONS(5267), + [anon_sym_AMP_AMP] = ACTIONS(5267), + [anon_sym_PIPE] = ACTIONS(5265), + [anon_sym_CARET] = ACTIONS(5265), + [anon_sym_AMP] = ACTIONS(5265), + [anon_sym_EQ_EQ] = ACTIONS(5267), + [anon_sym_BANG_EQ] = ACTIONS(5267), + [anon_sym_GT] = ACTIONS(5265), + [anon_sym_GT_EQ] = ACTIONS(5267), + [anon_sym_LT_EQ] = ACTIONS(5265), + [anon_sym_LT] = ACTIONS(5265), + [anon_sym_LT_LT] = ACTIONS(5265), + [anon_sym_GT_GT] = ACTIONS(5265), + [anon_sym_SEMI] = ACTIONS(5267), + [anon_sym___attribute__] = ACTIONS(5265), + [anon_sym_LBRACE] = ACTIONS(5267), + [anon_sym_RBRACE] = ACTIONS(5267), + [anon_sym_LBRACK] = ACTIONS(5267), + [anon_sym_RBRACK] = ACTIONS(5267), + [anon_sym_EQ] = ACTIONS(5265), + [anon_sym_COLON] = ACTIONS(5267), + [anon_sym_QMARK] = ACTIONS(5267), + [anon_sym_STAR_EQ] = ACTIONS(5267), + [anon_sym_SLASH_EQ] = ACTIONS(5267), + [anon_sym_PERCENT_EQ] = ACTIONS(5267), + [anon_sym_PLUS_EQ] = ACTIONS(5267), + [anon_sym_DASH_EQ] = ACTIONS(5267), + [anon_sym_LT_LT_EQ] = ACTIONS(5267), + [anon_sym_GT_GT_EQ] = ACTIONS(5267), + [anon_sym_AMP_EQ] = ACTIONS(5267), + [anon_sym_CARET_EQ] = ACTIONS(5267), + [anon_sym_PIPE_EQ] = ACTIONS(5267), + [anon_sym_and_eq] = ACTIONS(5265), + [anon_sym_or_eq] = ACTIONS(5265), + [anon_sym_xor_eq] = ACTIONS(5265), + [anon_sym_LT_EQ_GT] = ACTIONS(5267), + [anon_sym_or] = ACTIONS(5265), + [anon_sym_and] = ACTIONS(5265), + [anon_sym_bitor] = ACTIONS(5265), + [anon_sym_xor] = ACTIONS(5265), + [anon_sym_bitand] = ACTIONS(5265), + [anon_sym_not_eq] = ACTIONS(5265), + [anon_sym_DASH_DASH] = ACTIONS(5267), + [anon_sym_PLUS_PLUS] = ACTIONS(5267), + [anon_sym_DOT] = ACTIONS(5265), + [anon_sym_DOT_STAR] = ACTIONS(5267), + [anon_sym_DASH_GT] = ACTIONS(5267), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5267), + [sym_auto] = ACTIONS(5265), + [anon_sym_decltype] = ACTIONS(5265), + }, + [2040] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_RBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [2041] = { + [sym__identifier] = ACTIONS(5389), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5391), + [anon_sym_COMMA] = ACTIONS(5391), + [anon_sym_RPAREN] = ACTIONS(5391), + [aux_sym_preproc_if_token2] = ACTIONS(5391), + [aux_sym_preproc_else_token1] = ACTIONS(5391), + [aux_sym_preproc_elif_token1] = ACTIONS(5389), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5391), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5391), + [anon_sym_LPAREN2] = ACTIONS(5391), + [anon_sym_DASH] = ACTIONS(5389), + [anon_sym_PLUS] = ACTIONS(5389), + [anon_sym_STAR] = ACTIONS(5389), + [anon_sym_SLASH] = ACTIONS(5389), + [anon_sym_PERCENT] = ACTIONS(5389), + [anon_sym_PIPE_PIPE] = ACTIONS(5391), + [anon_sym_AMP_AMP] = ACTIONS(5391), + [anon_sym_PIPE] = ACTIONS(5389), + [anon_sym_CARET] = ACTIONS(5389), + [anon_sym_AMP] = ACTIONS(5389), + [anon_sym_EQ_EQ] = ACTIONS(5391), + [anon_sym_BANG_EQ] = ACTIONS(5391), + [anon_sym_GT] = ACTIONS(5389), + [anon_sym_GT_EQ] = ACTIONS(5391), + [anon_sym_LT_EQ] = ACTIONS(5389), + [anon_sym_LT] = ACTIONS(5389), + [anon_sym_LT_LT] = ACTIONS(5389), + [anon_sym_GT_GT] = ACTIONS(5389), + [anon_sym_SEMI] = ACTIONS(5391), + [anon_sym___attribute__] = ACTIONS(5389), + [anon_sym_LBRACE] = ACTIONS(5391), + [anon_sym_RBRACE] = ACTIONS(5391), + [anon_sym_LBRACK] = ACTIONS(5391), + [anon_sym_RBRACK] = ACTIONS(5391), + [anon_sym_EQ] = ACTIONS(5389), + [anon_sym_COLON] = ACTIONS(5391), + [anon_sym_QMARK] = ACTIONS(5391), + [anon_sym_STAR_EQ] = ACTIONS(5391), + [anon_sym_SLASH_EQ] = ACTIONS(5391), + [anon_sym_PERCENT_EQ] = ACTIONS(5391), + [anon_sym_PLUS_EQ] = ACTIONS(5391), + [anon_sym_DASH_EQ] = ACTIONS(5391), + [anon_sym_LT_LT_EQ] = ACTIONS(5391), + [anon_sym_GT_GT_EQ] = ACTIONS(5391), + [anon_sym_AMP_EQ] = ACTIONS(5391), + [anon_sym_CARET_EQ] = ACTIONS(5391), + [anon_sym_PIPE_EQ] = ACTIONS(5391), + [anon_sym_and_eq] = ACTIONS(5389), + [anon_sym_or_eq] = ACTIONS(5389), + [anon_sym_xor_eq] = ACTIONS(5389), + [anon_sym_LT_EQ_GT] = ACTIONS(5391), + [anon_sym_or] = ACTIONS(5389), + [anon_sym_and] = ACTIONS(5389), + [anon_sym_bitor] = ACTIONS(5389), + [anon_sym_xor] = ACTIONS(5389), + [anon_sym_bitand] = ACTIONS(5389), + [anon_sym_not_eq] = ACTIONS(5389), + [anon_sym_DASH_DASH] = ACTIONS(5391), + [anon_sym_PLUS_PLUS] = ACTIONS(5391), + [anon_sym_DOT] = ACTIONS(5389), + [anon_sym_DOT_STAR] = ACTIONS(5391), + [anon_sym_DASH_GT] = ACTIONS(5391), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5391), + [sym_auto] = ACTIONS(5389), + [anon_sym_decltype] = ACTIONS(5389), + }, + [2042] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [aux_sym_preproc_if_token2] = ACTIONS(5171), + [aux_sym_preproc_else_token1] = ACTIONS(5171), + [aux_sym_preproc_elif_token1] = ACTIONS(5169), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5171), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5169), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5169), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5169), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5169), + [anon_sym_GT_GT] = ACTIONS(5169), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_EQ] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_STAR_EQ] = ACTIONS(5171), + [anon_sym_SLASH_EQ] = ACTIONS(5171), + [anon_sym_PERCENT_EQ] = ACTIONS(5171), + [anon_sym_PLUS_EQ] = ACTIONS(5171), + [anon_sym_DASH_EQ] = ACTIONS(5171), + [anon_sym_LT_LT_EQ] = ACTIONS(5171), + [anon_sym_GT_GT_EQ] = ACTIONS(5171), + [anon_sym_AMP_EQ] = ACTIONS(5171), + [anon_sym_CARET_EQ] = ACTIONS(5171), + [anon_sym_PIPE_EQ] = ACTIONS(5171), + [anon_sym_and_eq] = ACTIONS(5169), + [anon_sym_or_eq] = ACTIONS(5169), + [anon_sym_xor_eq] = ACTIONS(5169), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + }, + [2043] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_RBRACE] = ACTIONS(2787), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [2044] = { + [sym__identifier] = ACTIONS(5086), + [aux_sym_preproc_def_token1] = ACTIONS(5086), + [aux_sym_preproc_if_token1] = ACTIONS(5086), + [aux_sym_preproc_if_token2] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5086), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5086), + [sym_preproc_directive] = ACTIONS(5086), + [anon_sym_LPAREN2] = ACTIONS(5088), + [anon_sym_TILDE] = ACTIONS(5088), + [anon_sym_STAR] = ACTIONS(5088), + [anon_sym_AMP_AMP] = ACTIONS(5088), + [anon_sym_AMP] = ACTIONS(5086), + [anon_sym___extension__] = ACTIONS(5086), + [anon_sym_typedef] = ACTIONS(5086), + [anon_sym_extern] = ACTIONS(5086), + [anon_sym___attribute__] = ACTIONS(5086), + [anon_sym_COLON_COLON] = ACTIONS(5088), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5088), + [anon_sym___declspec] = ACTIONS(5086), + [anon_sym___based] = ACTIONS(5086), + [anon_sym_signed] = ACTIONS(5086), + [anon_sym_unsigned] = ACTIONS(5086), + [anon_sym_long] = ACTIONS(5086), + [anon_sym_short] = ACTIONS(5086), + [anon_sym_LBRACK] = ACTIONS(5086), + [anon_sym_static] = ACTIONS(5086), + [anon_sym_register] = ACTIONS(5086), + [anon_sym_inline] = ACTIONS(5086), + [anon_sym___inline] = ACTIONS(5086), + [anon_sym___inline__] = ACTIONS(5086), + [anon_sym___forceinline] = ACTIONS(5086), + [anon_sym_thread_local] = ACTIONS(5086), + [anon_sym___thread] = ACTIONS(5086), + [anon_sym_const] = ACTIONS(5086), + [anon_sym_constexpr] = ACTIONS(5086), + [anon_sym_volatile] = ACTIONS(5086), + [anon_sym_restrict] = ACTIONS(5086), + [anon_sym___restrict__] = ACTIONS(5086), + [anon_sym__Atomic] = ACTIONS(5086), + [anon_sym__Noreturn] = ACTIONS(5086), + [anon_sym_noreturn] = ACTIONS(5086), + [anon_sym_mutable] = ACTIONS(5086), + [anon_sym_constinit] = ACTIONS(5086), + [anon_sym_consteval] = ACTIONS(5086), + [anon_sym_alignas] = ACTIONS(5086), + [anon_sym__Alignas] = ACTIONS(5086), + [sym_primitive_type] = ACTIONS(5086), + [anon_sym_enum] = ACTIONS(5086), + [anon_sym_class] = ACTIONS(5086), + [anon_sym_struct] = ACTIONS(5086), + [anon_sym_union] = ACTIONS(5086), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5088), + [sym_auto] = ACTIONS(5086), + [anon_sym_decltype] = ACTIONS(5086), + [sym_virtual] = ACTIONS(5086), + [anon_sym_explicit] = ACTIONS(5086), + [anon_sym_typename] = ACTIONS(5086), + [anon_sym_template] = ACTIONS(5086), + [anon_sym_operator] = ACTIONS(5086), + [anon_sym_friend] = ACTIONS(5086), + [anon_sym_public] = ACTIONS(5086), + [anon_sym_private] = ACTIONS(5086), + [anon_sym_protected] = ACTIONS(5086), + [anon_sym_using] = ACTIONS(5086), + [anon_sym_static_assert] = ACTIONS(5086), + }, + [2045] = { + [sym__identifier] = ACTIONS(5105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5107), + [anon_sym_COMMA] = ACTIONS(5107), + [anon_sym_RPAREN] = ACTIONS(5107), + [aux_sym_preproc_if_token2] = ACTIONS(5107), + [aux_sym_preproc_else_token1] = ACTIONS(5107), + [aux_sym_preproc_elif_token1] = ACTIONS(5105), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5107), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5107), + [anon_sym_LPAREN2] = ACTIONS(5107), + [anon_sym_DASH] = ACTIONS(5105), + [anon_sym_PLUS] = ACTIONS(5105), + [anon_sym_STAR] = ACTIONS(5105), + [anon_sym_SLASH] = ACTIONS(5105), + [anon_sym_PERCENT] = ACTIONS(5105), + [anon_sym_PIPE_PIPE] = ACTIONS(5107), + [anon_sym_AMP_AMP] = ACTIONS(5107), + [anon_sym_PIPE] = ACTIONS(5105), + [anon_sym_CARET] = ACTIONS(5105), + [anon_sym_AMP] = ACTIONS(5105), + [anon_sym_EQ_EQ] = ACTIONS(5107), + [anon_sym_BANG_EQ] = ACTIONS(5107), + [anon_sym_GT] = ACTIONS(5105), + [anon_sym_GT_EQ] = ACTIONS(5107), + [anon_sym_LT_EQ] = ACTIONS(5105), + [anon_sym_LT] = ACTIONS(5105), + [anon_sym_LT_LT] = ACTIONS(5105), + [anon_sym_GT_GT] = ACTIONS(5105), + [anon_sym_SEMI] = ACTIONS(5107), + [anon_sym___attribute__] = ACTIONS(5105), + [anon_sym_LBRACE] = ACTIONS(5107), + [anon_sym_RBRACE] = ACTIONS(5107), + [anon_sym_LBRACK] = ACTIONS(5107), + [anon_sym_RBRACK] = ACTIONS(5107), + [anon_sym_EQ] = ACTIONS(5105), + [anon_sym_COLON] = ACTIONS(5107), + [anon_sym_QMARK] = ACTIONS(5107), + [anon_sym_STAR_EQ] = ACTIONS(5107), + [anon_sym_SLASH_EQ] = ACTIONS(5107), + [anon_sym_PERCENT_EQ] = ACTIONS(5107), + [anon_sym_PLUS_EQ] = ACTIONS(5107), + [anon_sym_DASH_EQ] = ACTIONS(5107), + [anon_sym_LT_LT_EQ] = ACTIONS(5107), + [anon_sym_GT_GT_EQ] = ACTIONS(5107), + [anon_sym_AMP_EQ] = ACTIONS(5107), + [anon_sym_CARET_EQ] = ACTIONS(5107), + [anon_sym_PIPE_EQ] = ACTIONS(5107), + [anon_sym_and_eq] = ACTIONS(5105), + [anon_sym_or_eq] = ACTIONS(5105), + [anon_sym_xor_eq] = ACTIONS(5105), + [anon_sym_LT_EQ_GT] = ACTIONS(5107), + [anon_sym_or] = ACTIONS(5105), + [anon_sym_and] = ACTIONS(5105), + [anon_sym_bitor] = ACTIONS(5105), + [anon_sym_xor] = ACTIONS(5105), + [anon_sym_bitand] = ACTIONS(5105), + [anon_sym_not_eq] = ACTIONS(5105), + [anon_sym_DASH_DASH] = ACTIONS(5107), + [anon_sym_PLUS_PLUS] = ACTIONS(5107), + [anon_sym_DOT] = ACTIONS(5105), + [anon_sym_DOT_STAR] = ACTIONS(5107), + [anon_sym_DASH_GT] = ACTIONS(5107), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5107), + [sym_auto] = ACTIONS(5105), + [anon_sym_decltype] = ACTIONS(5105), + }, + [2046] = { + [sym__identifier] = ACTIONS(5101), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5103), + [anon_sym_COMMA] = ACTIONS(5103), + [anon_sym_RPAREN] = ACTIONS(5103), + [aux_sym_preproc_if_token2] = ACTIONS(5103), + [aux_sym_preproc_else_token1] = ACTIONS(5103), + [aux_sym_preproc_elif_token1] = ACTIONS(5101), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5103), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5103), + [anon_sym_LPAREN2] = ACTIONS(5103), + [anon_sym_DASH] = ACTIONS(5101), + [anon_sym_PLUS] = ACTIONS(5101), + [anon_sym_STAR] = ACTIONS(5101), + [anon_sym_SLASH] = ACTIONS(5101), + [anon_sym_PERCENT] = ACTIONS(5101), + [anon_sym_PIPE_PIPE] = ACTIONS(5103), + [anon_sym_AMP_AMP] = ACTIONS(5103), + [anon_sym_PIPE] = ACTIONS(5101), + [anon_sym_CARET] = ACTIONS(5101), + [anon_sym_AMP] = ACTIONS(5101), + [anon_sym_EQ_EQ] = ACTIONS(5103), + [anon_sym_BANG_EQ] = ACTIONS(5103), + [anon_sym_GT] = ACTIONS(5101), + [anon_sym_GT_EQ] = ACTIONS(5103), + [anon_sym_LT_EQ] = ACTIONS(5101), + [anon_sym_LT] = ACTIONS(5101), + [anon_sym_LT_LT] = ACTIONS(5101), + [anon_sym_GT_GT] = ACTIONS(5101), + [anon_sym_SEMI] = ACTIONS(5103), + [anon_sym___attribute__] = ACTIONS(5101), + [anon_sym_LBRACE] = ACTIONS(5103), + [anon_sym_RBRACE] = ACTIONS(5103), + [anon_sym_LBRACK] = ACTIONS(5103), + [anon_sym_RBRACK] = ACTIONS(5103), + [anon_sym_EQ] = ACTIONS(5101), + [anon_sym_COLON] = ACTIONS(5103), + [anon_sym_QMARK] = ACTIONS(5103), + [anon_sym_STAR_EQ] = ACTIONS(5103), + [anon_sym_SLASH_EQ] = ACTIONS(5103), + [anon_sym_PERCENT_EQ] = ACTIONS(5103), + [anon_sym_PLUS_EQ] = ACTIONS(5103), + [anon_sym_DASH_EQ] = ACTIONS(5103), + [anon_sym_LT_LT_EQ] = ACTIONS(5103), + [anon_sym_GT_GT_EQ] = ACTIONS(5103), + [anon_sym_AMP_EQ] = ACTIONS(5103), + [anon_sym_CARET_EQ] = ACTIONS(5103), + [anon_sym_PIPE_EQ] = ACTIONS(5103), + [anon_sym_and_eq] = ACTIONS(5101), + [anon_sym_or_eq] = ACTIONS(5101), + [anon_sym_xor_eq] = ACTIONS(5101), + [anon_sym_LT_EQ_GT] = ACTIONS(5103), + [anon_sym_or] = ACTIONS(5101), + [anon_sym_and] = ACTIONS(5101), + [anon_sym_bitor] = ACTIONS(5101), + [anon_sym_xor] = ACTIONS(5101), + [anon_sym_bitand] = ACTIONS(5101), + [anon_sym_not_eq] = ACTIONS(5101), + [anon_sym_DASH_DASH] = ACTIONS(5103), + [anon_sym_PLUS_PLUS] = ACTIONS(5103), + [anon_sym_DOT] = ACTIONS(5101), + [anon_sym_DOT_STAR] = ACTIONS(5103), + [anon_sym_DASH_GT] = ACTIONS(5103), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5103), + [sym_auto] = ACTIONS(5101), + [anon_sym_decltype] = ACTIONS(5101), + }, + [2047] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym_RBRACE] = ACTIONS(2761), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_friend] = ACTIONS(2759), + [anon_sym_public] = ACTIONS(2759), + [anon_sym_private] = ACTIONS(2759), + [anon_sym_protected] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + }, + [2048] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym_RBRACE] = ACTIONS(2753), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_friend] = ACTIONS(2751), + [anon_sym_public] = ACTIONS(2751), + [anon_sym_private] = ACTIONS(2751), + [anon_sym_protected] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + }, + [2049] = { + [sym__identifier] = ACTIONS(5201), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5203), + [anon_sym_COMMA] = ACTIONS(5203), + [anon_sym_RPAREN] = ACTIONS(5203), + [aux_sym_preproc_if_token2] = ACTIONS(5203), + [aux_sym_preproc_else_token1] = ACTIONS(5203), + [aux_sym_preproc_elif_token1] = ACTIONS(5201), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5203), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5203), + [anon_sym_LPAREN2] = ACTIONS(5203), + [anon_sym_DASH] = ACTIONS(5201), + [anon_sym_PLUS] = ACTIONS(5201), + [anon_sym_STAR] = ACTIONS(5201), + [anon_sym_SLASH] = ACTIONS(5201), + [anon_sym_PERCENT] = ACTIONS(5201), + [anon_sym_PIPE_PIPE] = ACTIONS(5203), + [anon_sym_AMP_AMP] = ACTIONS(5203), + [anon_sym_PIPE] = ACTIONS(5201), + [anon_sym_CARET] = ACTIONS(5201), + [anon_sym_AMP] = ACTIONS(5201), + [anon_sym_EQ_EQ] = ACTIONS(5203), + [anon_sym_BANG_EQ] = ACTIONS(5203), + [anon_sym_GT] = ACTIONS(5201), + [anon_sym_GT_EQ] = ACTIONS(5203), + [anon_sym_LT_EQ] = ACTIONS(5201), + [anon_sym_LT] = ACTIONS(5201), + [anon_sym_LT_LT] = ACTIONS(5201), + [anon_sym_GT_GT] = ACTIONS(5201), + [anon_sym_SEMI] = ACTIONS(5203), + [anon_sym___attribute__] = ACTIONS(5201), + [anon_sym_LBRACE] = ACTIONS(5203), + [anon_sym_RBRACE] = ACTIONS(5203), + [anon_sym_LBRACK] = ACTIONS(5203), + [anon_sym_RBRACK] = ACTIONS(5203), + [anon_sym_EQ] = ACTIONS(5201), + [anon_sym_COLON] = ACTIONS(5203), + [anon_sym_QMARK] = ACTIONS(5203), + [anon_sym_STAR_EQ] = ACTIONS(5203), + [anon_sym_SLASH_EQ] = ACTIONS(5203), + [anon_sym_PERCENT_EQ] = ACTIONS(5203), + [anon_sym_PLUS_EQ] = ACTIONS(5203), + [anon_sym_DASH_EQ] = ACTIONS(5203), + [anon_sym_LT_LT_EQ] = ACTIONS(5203), + [anon_sym_GT_GT_EQ] = ACTIONS(5203), + [anon_sym_AMP_EQ] = ACTIONS(5203), + [anon_sym_CARET_EQ] = ACTIONS(5203), + [anon_sym_PIPE_EQ] = ACTIONS(5203), + [anon_sym_and_eq] = ACTIONS(5201), + [anon_sym_or_eq] = ACTIONS(5201), + [anon_sym_xor_eq] = ACTIONS(5201), + [anon_sym_LT_EQ_GT] = ACTIONS(5203), + [anon_sym_or] = ACTIONS(5201), + [anon_sym_and] = ACTIONS(5201), + [anon_sym_bitor] = ACTIONS(5201), + [anon_sym_xor] = ACTIONS(5201), + [anon_sym_bitand] = ACTIONS(5201), + [anon_sym_not_eq] = ACTIONS(5201), + [anon_sym_DASH_DASH] = ACTIONS(5203), + [anon_sym_PLUS_PLUS] = ACTIONS(5203), + [anon_sym_DOT] = ACTIONS(5201), + [anon_sym_DOT_STAR] = ACTIONS(5203), + [anon_sym_DASH_GT] = ACTIONS(5203), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5203), + [sym_auto] = ACTIONS(5201), + [anon_sym_decltype] = ACTIONS(5201), + }, + [2050] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym_RBRACE] = ACTIONS(3184), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_friend] = ACTIONS(3182), + [anon_sym_public] = ACTIONS(3182), + [anon_sym_private] = ACTIONS(3182), + [anon_sym_protected] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + }, + [2051] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym_RBRACE] = ACTIONS(3176), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_friend] = ACTIONS(3174), + [anon_sym_public] = ACTIONS(3174), + [anon_sym_private] = ACTIONS(3174), + [anon_sym_protected] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + }, + [2052] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym_RBRACE] = ACTIONS(3152), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_friend] = ACTIONS(3150), + [anon_sym_public] = ACTIONS(3150), + [anon_sym_private] = ACTIONS(3150), + [anon_sym_protected] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + }, + [2053] = { + [sym__identifier] = ACTIONS(3755), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3757), + [anon_sym_COMMA] = ACTIONS(3757), + [anon_sym_RPAREN] = ACTIONS(3757), + [anon_sym_LPAREN2] = ACTIONS(3757), + [anon_sym_TILDE] = ACTIONS(3757), + [anon_sym_STAR] = ACTIONS(3757), + [anon_sym_AMP_AMP] = ACTIONS(3757), + [anon_sym_AMP] = ACTIONS(3755), + [anon_sym_SEMI] = ACTIONS(3757), + [anon_sym___extension__] = ACTIONS(3755), + [anon_sym_extern] = ACTIONS(3755), + [anon_sym___attribute__] = ACTIONS(3755), + [anon_sym_COLON_COLON] = ACTIONS(3757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3757), + [anon_sym___declspec] = ACTIONS(3755), + [anon_sym___based] = ACTIONS(3755), + [anon_sym___cdecl] = ACTIONS(3755), + [anon_sym___clrcall] = ACTIONS(3755), + [anon_sym___stdcall] = ACTIONS(3755), + [anon_sym___fastcall] = ACTIONS(3755), + [anon_sym___thiscall] = ACTIONS(3755), + [anon_sym___vectorcall] = ACTIONS(3755), + [anon_sym_LBRACE] = ACTIONS(3757), + [anon_sym_LBRACK] = ACTIONS(3755), + [anon_sym_static] = ACTIONS(3755), + [anon_sym_EQ] = ACTIONS(3757), + [anon_sym_register] = ACTIONS(3755), + [anon_sym_inline] = ACTIONS(3755), + [anon_sym___inline] = ACTIONS(3755), + [anon_sym___inline__] = ACTIONS(3755), + [anon_sym___forceinline] = ACTIONS(3755), + [anon_sym_thread_local] = ACTIONS(3755), + [anon_sym___thread] = ACTIONS(3755), + [anon_sym_const] = ACTIONS(3755), + [anon_sym_constexpr] = ACTIONS(3755), + [anon_sym_volatile] = ACTIONS(3755), + [anon_sym_restrict] = ACTIONS(3755), + [anon_sym___restrict__] = ACTIONS(3755), + [anon_sym__Atomic] = ACTIONS(3755), + [anon_sym__Noreturn] = ACTIONS(3755), + [anon_sym_noreturn] = ACTIONS(3755), + [anon_sym_mutable] = ACTIONS(3755), + [anon_sym_constinit] = ACTIONS(3755), + [anon_sym_consteval] = ACTIONS(3755), + [anon_sym_alignas] = ACTIONS(3755), + [anon_sym__Alignas] = ACTIONS(3755), + [anon_sym_COLON] = ACTIONS(3755), + [anon_sym_asm] = ACTIONS(3755), + [anon_sym___asm__] = ACTIONS(3755), + [anon_sym_DASH_GT] = ACTIONS(3757), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3757), + [anon_sym_decltype] = ACTIONS(3755), + [anon_sym_final] = ACTIONS(3755), + [anon_sym_override] = ACTIONS(3755), + [sym_virtual] = ACTIONS(3755), + [anon_sym_explicit] = ACTIONS(3755), + [anon_sym_template] = ACTIONS(3755), + [anon_sym_GT2] = ACTIONS(3757), + [anon_sym_operator] = ACTIONS(3755), + [anon_sym_try] = ACTIONS(3755), + [anon_sym_public] = ACTIONS(3755), + [anon_sym_private] = ACTIONS(3755), + [anon_sym_protected] = ACTIONS(3755), + [anon_sym_requires] = ACTIONS(3755), + }, + [2054] = { + [sym__identifier] = ACTIONS(5269), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5271), + [anon_sym_COMMA] = ACTIONS(5271), + [anon_sym_RPAREN] = ACTIONS(5271), + [aux_sym_preproc_if_token2] = ACTIONS(5271), + [aux_sym_preproc_else_token1] = ACTIONS(5271), + [aux_sym_preproc_elif_token1] = ACTIONS(5269), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5271), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5271), + [anon_sym_LPAREN2] = ACTIONS(5271), + [anon_sym_DASH] = ACTIONS(5269), + [anon_sym_PLUS] = ACTIONS(5269), + [anon_sym_STAR] = ACTIONS(5269), + [anon_sym_SLASH] = ACTIONS(5269), + [anon_sym_PERCENT] = ACTIONS(5269), + [anon_sym_PIPE_PIPE] = ACTIONS(5271), + [anon_sym_AMP_AMP] = ACTIONS(5271), + [anon_sym_PIPE] = ACTIONS(5269), + [anon_sym_CARET] = ACTIONS(5269), + [anon_sym_AMP] = ACTIONS(5269), + [anon_sym_EQ_EQ] = ACTIONS(5271), + [anon_sym_BANG_EQ] = ACTIONS(5271), + [anon_sym_GT] = ACTIONS(5269), + [anon_sym_GT_EQ] = ACTIONS(5271), + [anon_sym_LT_EQ] = ACTIONS(5269), + [anon_sym_LT] = ACTIONS(5269), + [anon_sym_LT_LT] = ACTIONS(5269), + [anon_sym_GT_GT] = ACTIONS(5269), + [anon_sym_SEMI] = ACTIONS(5271), + [anon_sym___attribute__] = ACTIONS(5269), + [anon_sym_LBRACE] = ACTIONS(5271), + [anon_sym_RBRACE] = ACTIONS(5271), + [anon_sym_LBRACK] = ACTIONS(5271), + [anon_sym_RBRACK] = ACTIONS(5271), + [anon_sym_EQ] = ACTIONS(5269), + [anon_sym_COLON] = ACTIONS(5271), + [anon_sym_QMARK] = ACTIONS(5271), + [anon_sym_STAR_EQ] = ACTIONS(5271), + [anon_sym_SLASH_EQ] = ACTIONS(5271), + [anon_sym_PERCENT_EQ] = ACTIONS(5271), + [anon_sym_PLUS_EQ] = ACTIONS(5271), + [anon_sym_DASH_EQ] = ACTIONS(5271), + [anon_sym_LT_LT_EQ] = ACTIONS(5271), + [anon_sym_GT_GT_EQ] = ACTIONS(5271), + [anon_sym_AMP_EQ] = ACTIONS(5271), + [anon_sym_CARET_EQ] = ACTIONS(5271), + [anon_sym_PIPE_EQ] = ACTIONS(5271), + [anon_sym_and_eq] = ACTIONS(5269), + [anon_sym_or_eq] = ACTIONS(5269), + [anon_sym_xor_eq] = ACTIONS(5269), + [anon_sym_LT_EQ_GT] = ACTIONS(5271), + [anon_sym_or] = ACTIONS(5269), + [anon_sym_and] = ACTIONS(5269), + [anon_sym_bitor] = ACTIONS(5269), + [anon_sym_xor] = ACTIONS(5269), + [anon_sym_bitand] = ACTIONS(5269), + [anon_sym_not_eq] = ACTIONS(5269), + [anon_sym_DASH_DASH] = ACTIONS(5271), + [anon_sym_PLUS_PLUS] = ACTIONS(5271), + [anon_sym_DOT] = ACTIONS(5269), + [anon_sym_DOT_STAR] = ACTIONS(5271), + [anon_sym_DASH_GT] = ACTIONS(5271), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5271), + [sym_auto] = ACTIONS(5269), + [anon_sym_decltype] = ACTIONS(5269), + }, + [2055] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token2] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_friend] = ACTIONS(3170), + [anon_sym_public] = ACTIONS(3170), + [anon_sym_private] = ACTIONS(3170), + [anon_sym_protected] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + }, + [2056] = { + [sym_argument_list] = STATE(2437), + [sym_initializer_list] = STATE(2437), + [sym__identifier] = ACTIONS(5663), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5665), + [anon_sym_COMMA] = ACTIONS(5665), + [anon_sym_RPAREN] = ACTIONS(5665), + [aux_sym_preproc_if_token2] = ACTIONS(5665), + [aux_sym_preproc_else_token1] = ACTIONS(5665), + [aux_sym_preproc_elif_token1] = ACTIONS(5663), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5665), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5665), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5663), + [anon_sym_PLUS] = ACTIONS(5663), + [anon_sym_STAR] = ACTIONS(5663), + [anon_sym_SLASH] = ACTIONS(5663), + [anon_sym_PERCENT] = ACTIONS(5663), + [anon_sym_PIPE_PIPE] = ACTIONS(5665), + [anon_sym_AMP_AMP] = ACTIONS(5665), + [anon_sym_PIPE] = ACTIONS(5663), + [anon_sym_CARET] = ACTIONS(5663), + [anon_sym_AMP] = ACTIONS(5663), + [anon_sym_EQ_EQ] = ACTIONS(5665), + [anon_sym_BANG_EQ] = ACTIONS(5665), + [anon_sym_GT] = ACTIONS(5663), + [anon_sym_GT_EQ] = ACTIONS(5665), + [anon_sym_LT_EQ] = ACTIONS(5663), + [anon_sym_LT] = ACTIONS(5663), + [anon_sym_LT_LT] = ACTIONS(5663), + [anon_sym_GT_GT] = ACTIONS(5663), + [anon_sym_SEMI] = ACTIONS(5665), + [anon_sym___attribute__] = ACTIONS(5663), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5665), + [anon_sym_LBRACK] = ACTIONS(5665), + [anon_sym_RBRACK] = ACTIONS(5665), + [anon_sym_EQ] = ACTIONS(5663), + [anon_sym_COLON] = ACTIONS(5665), + [anon_sym_QMARK] = ACTIONS(5665), + [anon_sym_STAR_EQ] = ACTIONS(5665), + [anon_sym_SLASH_EQ] = ACTIONS(5665), + [anon_sym_PERCENT_EQ] = ACTIONS(5665), + [anon_sym_PLUS_EQ] = ACTIONS(5665), + [anon_sym_DASH_EQ] = ACTIONS(5665), + [anon_sym_LT_LT_EQ] = ACTIONS(5665), + [anon_sym_GT_GT_EQ] = ACTIONS(5665), + [anon_sym_AMP_EQ] = ACTIONS(5665), + [anon_sym_CARET_EQ] = ACTIONS(5665), + [anon_sym_PIPE_EQ] = ACTIONS(5665), + [anon_sym_and_eq] = ACTIONS(5663), + [anon_sym_or_eq] = ACTIONS(5663), + [anon_sym_xor_eq] = ACTIONS(5663), + [anon_sym_LT_EQ_GT] = ACTIONS(5665), + [anon_sym_or] = ACTIONS(5663), + [anon_sym_and] = ACTIONS(5663), + [anon_sym_bitor] = ACTIONS(5663), + [anon_sym_xor] = ACTIONS(5663), + [anon_sym_bitand] = ACTIONS(5663), + [anon_sym_not_eq] = ACTIONS(5663), + [anon_sym_DASH_DASH] = ACTIONS(5665), + [anon_sym_PLUS_PLUS] = ACTIONS(5665), + [anon_sym_DOT] = ACTIONS(5663), + [anon_sym_DOT_STAR] = ACTIONS(5665), + [anon_sym_DASH_GT] = ACTIONS(5665), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5665), + }, + [2057] = { + [sym__identifier] = ACTIONS(5667), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5669), + [anon_sym_COMMA] = ACTIONS(5669), + [anon_sym_RPAREN] = ACTIONS(5669), + [aux_sym_preproc_if_token2] = ACTIONS(5669), + [aux_sym_preproc_else_token1] = ACTIONS(5669), + [aux_sym_preproc_elif_token1] = ACTIONS(5667), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5669), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5669), + [anon_sym_LPAREN2] = ACTIONS(5669), + [anon_sym_DASH] = ACTIONS(5667), + [anon_sym_PLUS] = ACTIONS(5667), + [anon_sym_STAR] = ACTIONS(5667), + [anon_sym_SLASH] = ACTIONS(5667), + [anon_sym_PERCENT] = ACTIONS(5667), + [anon_sym_PIPE_PIPE] = ACTIONS(5669), + [anon_sym_AMP_AMP] = ACTIONS(5669), + [anon_sym_PIPE] = ACTIONS(5667), + [anon_sym_CARET] = ACTIONS(5667), + [anon_sym_AMP] = ACTIONS(5667), + [anon_sym_EQ_EQ] = ACTIONS(5669), + [anon_sym_BANG_EQ] = ACTIONS(5669), + [anon_sym_GT] = ACTIONS(5667), + [anon_sym_GT_EQ] = ACTIONS(5669), + [anon_sym_LT_EQ] = ACTIONS(5667), + [anon_sym_LT] = ACTIONS(5667), + [anon_sym_LT_LT] = ACTIONS(5667), + [anon_sym_GT_GT] = ACTIONS(5667), + [anon_sym_SEMI] = ACTIONS(5669), + [anon_sym___attribute__] = ACTIONS(5667), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5669), + [anon_sym_LBRACE] = ACTIONS(5669), + [anon_sym_RBRACE] = ACTIONS(5669), + [anon_sym_LBRACK] = ACTIONS(5667), + [anon_sym_RBRACK] = ACTIONS(5669), + [anon_sym_EQ] = ACTIONS(5667), + [anon_sym_COLON] = ACTIONS(5669), + [anon_sym_QMARK] = ACTIONS(5669), + [anon_sym_STAR_EQ] = ACTIONS(5669), + [anon_sym_SLASH_EQ] = ACTIONS(5669), + [anon_sym_PERCENT_EQ] = ACTIONS(5669), + [anon_sym_PLUS_EQ] = ACTIONS(5669), + [anon_sym_DASH_EQ] = ACTIONS(5669), + [anon_sym_LT_LT_EQ] = ACTIONS(5669), + [anon_sym_GT_GT_EQ] = ACTIONS(5669), + [anon_sym_AMP_EQ] = ACTIONS(5669), + [anon_sym_CARET_EQ] = ACTIONS(5669), + [anon_sym_PIPE_EQ] = ACTIONS(5669), + [anon_sym_and_eq] = ACTIONS(5667), + [anon_sym_or_eq] = ACTIONS(5667), + [anon_sym_xor_eq] = ACTIONS(5667), + [anon_sym_LT_EQ_GT] = ACTIONS(5669), + [anon_sym_or] = ACTIONS(5667), + [anon_sym_and] = ACTIONS(5667), + [anon_sym_bitor] = ACTIONS(5667), + [anon_sym_xor] = ACTIONS(5667), + [anon_sym_bitand] = ACTIONS(5667), + [anon_sym_not_eq] = ACTIONS(5667), + [anon_sym_DASH_DASH] = ACTIONS(5669), + [anon_sym_PLUS_PLUS] = ACTIONS(5669), + [anon_sym_DOT] = ACTIONS(5667), + [anon_sym_DOT_STAR] = ACTIONS(5669), + [anon_sym_DASH_GT] = ACTIONS(5669), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5669), + [anon_sym_try] = ACTIONS(5667), + }, + [2058] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym_RBRACE] = ACTIONS(3098), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_friend] = ACTIONS(3096), + [anon_sym_public] = ACTIONS(3096), + [anon_sym_private] = ACTIONS(3096), + [anon_sym_protected] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + }, + [2059] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token2] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_friend] = ACTIONS(2932), + [anon_sym_public] = ACTIONS(2932), + [anon_sym_private] = ACTIONS(2932), + [anon_sym_protected] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + }, + [2060] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym_RBRACE] = ACTIONS(3136), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_friend] = ACTIONS(3134), + [anon_sym_public] = ACTIONS(3134), + [anon_sym_private] = ACTIONS(3134), + [anon_sym_protected] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + }, + [2061] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token2] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_friend] = ACTIONS(2901), + [anon_sym_public] = ACTIONS(2901), + [anon_sym_private] = ACTIONS(2901), + [anon_sym_protected] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + }, + [2062] = { + [sym__identifier] = ACTIONS(5209), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5211), + [anon_sym_COMMA] = ACTIONS(5211), + [anon_sym_RPAREN] = ACTIONS(5211), + [aux_sym_preproc_if_token2] = ACTIONS(5211), + [aux_sym_preproc_else_token1] = ACTIONS(5211), + [aux_sym_preproc_elif_token1] = ACTIONS(5209), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5211), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5211), + [anon_sym_LPAREN2] = ACTIONS(5211), + [anon_sym_DASH] = ACTIONS(5209), + [anon_sym_PLUS] = ACTIONS(5209), + [anon_sym_STAR] = ACTIONS(5209), + [anon_sym_SLASH] = ACTIONS(5209), + [anon_sym_PERCENT] = ACTIONS(5209), + [anon_sym_PIPE_PIPE] = ACTIONS(5211), + [anon_sym_AMP_AMP] = ACTIONS(5211), + [anon_sym_PIPE] = ACTIONS(5209), + [anon_sym_CARET] = ACTIONS(5209), + [anon_sym_AMP] = ACTIONS(5209), + [anon_sym_EQ_EQ] = ACTIONS(5211), + [anon_sym_BANG_EQ] = ACTIONS(5211), + [anon_sym_GT] = ACTIONS(5209), + [anon_sym_GT_EQ] = ACTIONS(5211), + [anon_sym_LT_EQ] = ACTIONS(5209), + [anon_sym_LT] = ACTIONS(5209), + [anon_sym_LT_LT] = ACTIONS(5209), + [anon_sym_GT_GT] = ACTIONS(5209), + [anon_sym_SEMI] = ACTIONS(5211), + [anon_sym___attribute__] = ACTIONS(5209), + [anon_sym_LBRACE] = ACTIONS(5211), + [anon_sym_RBRACE] = ACTIONS(5211), + [anon_sym_LBRACK] = ACTIONS(5211), + [anon_sym_RBRACK] = ACTIONS(5211), + [anon_sym_EQ] = ACTIONS(5209), + [anon_sym_COLON] = ACTIONS(5211), + [anon_sym_QMARK] = ACTIONS(5211), + [anon_sym_STAR_EQ] = ACTIONS(5211), + [anon_sym_SLASH_EQ] = ACTIONS(5211), + [anon_sym_PERCENT_EQ] = ACTIONS(5211), + [anon_sym_PLUS_EQ] = ACTIONS(5211), + [anon_sym_DASH_EQ] = ACTIONS(5211), + [anon_sym_LT_LT_EQ] = ACTIONS(5211), + [anon_sym_GT_GT_EQ] = ACTIONS(5211), + [anon_sym_AMP_EQ] = ACTIONS(5211), + [anon_sym_CARET_EQ] = ACTIONS(5211), + [anon_sym_PIPE_EQ] = ACTIONS(5211), + [anon_sym_and_eq] = ACTIONS(5209), + [anon_sym_or_eq] = ACTIONS(5209), + [anon_sym_xor_eq] = ACTIONS(5209), + [anon_sym_LT_EQ_GT] = ACTIONS(5211), + [anon_sym_or] = ACTIONS(5209), + [anon_sym_and] = ACTIONS(5209), + [anon_sym_bitor] = ACTIONS(5209), + [anon_sym_xor] = ACTIONS(5209), + [anon_sym_bitand] = ACTIONS(5209), + [anon_sym_not_eq] = ACTIONS(5209), + [anon_sym_DASH_DASH] = ACTIONS(5211), + [anon_sym_PLUS_PLUS] = ACTIONS(5211), + [anon_sym_DOT] = ACTIONS(5209), + [anon_sym_DOT_STAR] = ACTIONS(5211), + [anon_sym_DASH_GT] = ACTIONS(5211), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5211), + [sym_auto] = ACTIONS(5209), + [anon_sym_decltype] = ACTIONS(5209), + }, + [2063] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token2] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_friend] = ACTIONS(3070), + [anon_sym_public] = ACTIONS(3070), + [anon_sym_private] = ACTIONS(3070), + [anon_sym_protected] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + }, + [2064] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token2] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_friend] = ACTIONS(2829), + [anon_sym_public] = ACTIONS(2829), + [anon_sym_private] = ACTIONS(2829), + [anon_sym_protected] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + }, + [2065] = { + [sym_argument_list] = STATE(2487), + [sym_initializer_list] = STATE(2487), + [sym__identifier] = ACTIONS(5671), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5673), + [anon_sym_COMMA] = ACTIONS(5673), + [anon_sym_RPAREN] = ACTIONS(5673), + [aux_sym_preproc_if_token2] = ACTIONS(5673), + [aux_sym_preproc_else_token1] = ACTIONS(5673), + [aux_sym_preproc_elif_token1] = ACTIONS(5671), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5673), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5673), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5671), + [anon_sym_PLUS] = ACTIONS(5671), + [anon_sym_STAR] = ACTIONS(5671), + [anon_sym_SLASH] = ACTIONS(5671), + [anon_sym_PERCENT] = ACTIONS(5671), + [anon_sym_PIPE_PIPE] = ACTIONS(5673), + [anon_sym_AMP_AMP] = ACTIONS(5673), + [anon_sym_PIPE] = ACTIONS(5671), + [anon_sym_CARET] = ACTIONS(5671), + [anon_sym_AMP] = ACTIONS(5671), + [anon_sym_EQ_EQ] = ACTIONS(5673), + [anon_sym_BANG_EQ] = ACTIONS(5673), + [anon_sym_GT] = ACTIONS(5671), + [anon_sym_GT_EQ] = ACTIONS(5673), + [anon_sym_LT_EQ] = ACTIONS(5671), + [anon_sym_LT] = ACTIONS(5671), + [anon_sym_LT_LT] = ACTIONS(5671), + [anon_sym_GT_GT] = ACTIONS(5671), + [anon_sym_SEMI] = ACTIONS(5673), + [anon_sym___attribute__] = ACTIONS(5671), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5673), + [anon_sym_LBRACK] = ACTIONS(5673), + [anon_sym_RBRACK] = ACTIONS(5673), + [anon_sym_EQ] = ACTIONS(5671), + [anon_sym_COLON] = ACTIONS(5673), + [anon_sym_QMARK] = ACTIONS(5673), + [anon_sym_STAR_EQ] = ACTIONS(5673), + [anon_sym_SLASH_EQ] = ACTIONS(5673), + [anon_sym_PERCENT_EQ] = ACTIONS(5673), + [anon_sym_PLUS_EQ] = ACTIONS(5673), + [anon_sym_DASH_EQ] = ACTIONS(5673), + [anon_sym_LT_LT_EQ] = ACTIONS(5673), + [anon_sym_GT_GT_EQ] = ACTIONS(5673), + [anon_sym_AMP_EQ] = ACTIONS(5673), + [anon_sym_CARET_EQ] = ACTIONS(5673), + [anon_sym_PIPE_EQ] = ACTIONS(5673), + [anon_sym_and_eq] = ACTIONS(5671), + [anon_sym_or_eq] = ACTIONS(5671), + [anon_sym_xor_eq] = ACTIONS(5671), + [anon_sym_LT_EQ_GT] = ACTIONS(5673), + [anon_sym_or] = ACTIONS(5671), + [anon_sym_and] = ACTIONS(5671), + [anon_sym_bitor] = ACTIONS(5671), + [anon_sym_xor] = ACTIONS(5671), + [anon_sym_bitand] = ACTIONS(5671), + [anon_sym_not_eq] = ACTIONS(5671), + [anon_sym_DASH_DASH] = ACTIONS(5673), + [anon_sym_PLUS_PLUS] = ACTIONS(5673), + [anon_sym_DOT] = ACTIONS(5671), + [anon_sym_DOT_STAR] = ACTIONS(5673), + [anon_sym_DASH_GT] = ACTIONS(5673), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5673), + }, + [2066] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token2] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_friend] = ACTIONS(3162), + [anon_sym_public] = ACTIONS(3162), + [anon_sym_private] = ACTIONS(3162), + [anon_sym_protected] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + }, + [2067] = { + [sym__identifier] = ACTIONS(5279), + [aux_sym_preproc_def_token1] = ACTIONS(5279), + [aux_sym_preproc_if_token1] = ACTIONS(5279), + [aux_sym_preproc_if_token2] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5279), + [sym_preproc_directive] = ACTIONS(5279), + [anon_sym_LPAREN2] = ACTIONS(5281), + [anon_sym_TILDE] = ACTIONS(5281), + [anon_sym_STAR] = ACTIONS(5281), + [anon_sym_AMP_AMP] = ACTIONS(5281), + [anon_sym_AMP] = ACTIONS(5279), + [anon_sym___extension__] = ACTIONS(5279), + [anon_sym_typedef] = ACTIONS(5279), + [anon_sym_extern] = ACTIONS(5279), + [anon_sym___attribute__] = ACTIONS(5279), + [anon_sym_COLON_COLON] = ACTIONS(5281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5281), + [anon_sym___declspec] = ACTIONS(5279), + [anon_sym___based] = ACTIONS(5279), + [anon_sym_signed] = ACTIONS(5279), + [anon_sym_unsigned] = ACTIONS(5279), + [anon_sym_long] = ACTIONS(5279), + [anon_sym_short] = ACTIONS(5279), + [anon_sym_LBRACK] = ACTIONS(5279), + [anon_sym_static] = ACTIONS(5279), + [anon_sym_register] = ACTIONS(5279), + [anon_sym_inline] = ACTIONS(5279), + [anon_sym___inline] = ACTIONS(5279), + [anon_sym___inline__] = ACTIONS(5279), + [anon_sym___forceinline] = ACTIONS(5279), + [anon_sym_thread_local] = ACTIONS(5279), + [anon_sym___thread] = ACTIONS(5279), + [anon_sym_const] = ACTIONS(5279), + [anon_sym_constexpr] = ACTIONS(5279), + [anon_sym_volatile] = ACTIONS(5279), + [anon_sym_restrict] = ACTIONS(5279), + [anon_sym___restrict__] = ACTIONS(5279), + [anon_sym__Atomic] = ACTIONS(5279), + [anon_sym__Noreturn] = ACTIONS(5279), + [anon_sym_noreturn] = ACTIONS(5279), + [anon_sym_mutable] = ACTIONS(5279), + [anon_sym_constinit] = ACTIONS(5279), + [anon_sym_consteval] = ACTIONS(5279), + [anon_sym_alignas] = ACTIONS(5279), + [anon_sym__Alignas] = ACTIONS(5279), + [sym_primitive_type] = ACTIONS(5279), + [anon_sym_enum] = ACTIONS(5279), + [anon_sym_class] = ACTIONS(5279), + [anon_sym_struct] = ACTIONS(5279), + [anon_sym_union] = ACTIONS(5279), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5281), + [sym_auto] = ACTIONS(5279), + [anon_sym_decltype] = ACTIONS(5279), + [sym_virtual] = ACTIONS(5279), + [anon_sym_explicit] = ACTIONS(5279), + [anon_sym_typename] = ACTIONS(5279), + [anon_sym_template] = ACTIONS(5279), + [anon_sym_operator] = ACTIONS(5279), + [anon_sym_friend] = ACTIONS(5279), + [anon_sym_public] = ACTIONS(5279), + [anon_sym_private] = ACTIONS(5279), + [anon_sym_protected] = ACTIONS(5279), + [anon_sym_using] = ACTIONS(5279), + [anon_sym_static_assert] = ACTIONS(5279), + }, + [2068] = { + [sym__identifier] = ACTIONS(5303), + [aux_sym_preproc_def_token1] = ACTIONS(5303), + [aux_sym_preproc_if_token1] = ACTIONS(5303), + [aux_sym_preproc_if_token2] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5303), + [sym_preproc_directive] = ACTIONS(5303), + [anon_sym_LPAREN2] = ACTIONS(5305), + [anon_sym_TILDE] = ACTIONS(5305), + [anon_sym_STAR] = ACTIONS(5305), + [anon_sym_AMP_AMP] = ACTIONS(5305), + [anon_sym_AMP] = ACTIONS(5303), + [anon_sym___extension__] = ACTIONS(5303), + [anon_sym_typedef] = ACTIONS(5303), + [anon_sym_extern] = ACTIONS(5303), + [anon_sym___attribute__] = ACTIONS(5303), + [anon_sym_COLON_COLON] = ACTIONS(5305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5305), + [anon_sym___declspec] = ACTIONS(5303), + [anon_sym___based] = ACTIONS(5303), + [anon_sym_signed] = ACTIONS(5303), + [anon_sym_unsigned] = ACTIONS(5303), + [anon_sym_long] = ACTIONS(5303), + [anon_sym_short] = ACTIONS(5303), + [anon_sym_LBRACK] = ACTIONS(5303), + [anon_sym_static] = ACTIONS(5303), + [anon_sym_register] = ACTIONS(5303), + [anon_sym_inline] = ACTIONS(5303), + [anon_sym___inline] = ACTIONS(5303), + [anon_sym___inline__] = ACTIONS(5303), + [anon_sym___forceinline] = ACTIONS(5303), + [anon_sym_thread_local] = ACTIONS(5303), + [anon_sym___thread] = ACTIONS(5303), + [anon_sym_const] = ACTIONS(5303), + [anon_sym_constexpr] = ACTIONS(5303), + [anon_sym_volatile] = ACTIONS(5303), + [anon_sym_restrict] = ACTIONS(5303), + [anon_sym___restrict__] = ACTIONS(5303), + [anon_sym__Atomic] = ACTIONS(5303), + [anon_sym__Noreturn] = ACTIONS(5303), + [anon_sym_noreturn] = ACTIONS(5303), + [anon_sym_mutable] = ACTIONS(5303), + [anon_sym_constinit] = ACTIONS(5303), + [anon_sym_consteval] = ACTIONS(5303), + [anon_sym_alignas] = ACTIONS(5303), + [anon_sym__Alignas] = ACTIONS(5303), + [sym_primitive_type] = ACTIONS(5303), + [anon_sym_enum] = ACTIONS(5303), + [anon_sym_class] = ACTIONS(5303), + [anon_sym_struct] = ACTIONS(5303), + [anon_sym_union] = ACTIONS(5303), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5305), + [sym_auto] = ACTIONS(5303), + [anon_sym_decltype] = ACTIONS(5303), + [sym_virtual] = ACTIONS(5303), + [anon_sym_explicit] = ACTIONS(5303), + [anon_sym_typename] = ACTIONS(5303), + [anon_sym_template] = ACTIONS(5303), + [anon_sym_operator] = ACTIONS(5303), + [anon_sym_friend] = ACTIONS(5303), + [anon_sym_public] = ACTIONS(5303), + [anon_sym_private] = ACTIONS(5303), + [anon_sym_protected] = ACTIONS(5303), + [anon_sym_using] = ACTIONS(5303), + [anon_sym_static_assert] = ACTIONS(5303), + }, + [2069] = { + [sym__identifier] = ACTIONS(5311), + [aux_sym_preproc_def_token1] = ACTIONS(5311), + [aux_sym_preproc_if_token1] = ACTIONS(5311), + [aux_sym_preproc_if_token2] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5311), + [sym_preproc_directive] = ACTIONS(5311), + [anon_sym_LPAREN2] = ACTIONS(5313), + [anon_sym_TILDE] = ACTIONS(5313), + [anon_sym_STAR] = ACTIONS(5313), + [anon_sym_AMP_AMP] = ACTIONS(5313), + [anon_sym_AMP] = ACTIONS(5311), + [anon_sym___extension__] = ACTIONS(5311), + [anon_sym_typedef] = ACTIONS(5311), + [anon_sym_extern] = ACTIONS(5311), + [anon_sym___attribute__] = ACTIONS(5311), + [anon_sym_COLON_COLON] = ACTIONS(5313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5313), + [anon_sym___declspec] = ACTIONS(5311), + [anon_sym___based] = ACTIONS(5311), + [anon_sym_signed] = ACTIONS(5311), + [anon_sym_unsigned] = ACTIONS(5311), + [anon_sym_long] = ACTIONS(5311), + [anon_sym_short] = ACTIONS(5311), + [anon_sym_LBRACK] = ACTIONS(5311), + [anon_sym_static] = ACTIONS(5311), + [anon_sym_register] = ACTIONS(5311), + [anon_sym_inline] = ACTIONS(5311), + [anon_sym___inline] = ACTIONS(5311), + [anon_sym___inline__] = ACTIONS(5311), + [anon_sym___forceinline] = ACTIONS(5311), + [anon_sym_thread_local] = ACTIONS(5311), + [anon_sym___thread] = ACTIONS(5311), + [anon_sym_const] = ACTIONS(5311), + [anon_sym_constexpr] = ACTIONS(5311), + [anon_sym_volatile] = ACTIONS(5311), + [anon_sym_restrict] = ACTIONS(5311), + [anon_sym___restrict__] = ACTIONS(5311), + [anon_sym__Atomic] = ACTIONS(5311), + [anon_sym__Noreturn] = ACTIONS(5311), + [anon_sym_noreturn] = ACTIONS(5311), + [anon_sym_mutable] = ACTIONS(5311), + [anon_sym_constinit] = ACTIONS(5311), + [anon_sym_consteval] = ACTIONS(5311), + [anon_sym_alignas] = ACTIONS(5311), + [anon_sym__Alignas] = ACTIONS(5311), + [sym_primitive_type] = ACTIONS(5311), + [anon_sym_enum] = ACTIONS(5311), + [anon_sym_class] = ACTIONS(5311), + [anon_sym_struct] = ACTIONS(5311), + [anon_sym_union] = ACTIONS(5311), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5313), + [sym_auto] = ACTIONS(5311), + [anon_sym_decltype] = ACTIONS(5311), + [sym_virtual] = ACTIONS(5311), + [anon_sym_explicit] = ACTIONS(5311), + [anon_sym_typename] = ACTIONS(5311), + [anon_sym_template] = ACTIONS(5311), + [anon_sym_operator] = ACTIONS(5311), + [anon_sym_friend] = ACTIONS(5311), + [anon_sym_public] = ACTIONS(5311), + [anon_sym_private] = ACTIONS(5311), + [anon_sym_protected] = ACTIONS(5311), + [anon_sym_using] = ACTIONS(5311), + [anon_sym_static_assert] = ACTIONS(5311), + }, + [2070] = { + [sym__identifier] = ACTIONS(5169), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5171), + [anon_sym_COMMA] = ACTIONS(5171), + [anon_sym_RPAREN] = ACTIONS(5171), + [aux_sym_preproc_if_token2] = ACTIONS(5171), + [aux_sym_preproc_else_token1] = ACTIONS(5171), + [aux_sym_preproc_elif_token1] = ACTIONS(5169), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5171), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5171), + [anon_sym_LPAREN2] = ACTIONS(5171), + [anon_sym_DASH] = ACTIONS(5169), + [anon_sym_PLUS] = ACTIONS(5169), + [anon_sym_STAR] = ACTIONS(5169), + [anon_sym_SLASH] = ACTIONS(5169), + [anon_sym_PERCENT] = ACTIONS(5169), + [anon_sym_PIPE_PIPE] = ACTIONS(5171), + [anon_sym_AMP_AMP] = ACTIONS(5171), + [anon_sym_PIPE] = ACTIONS(5169), + [anon_sym_CARET] = ACTIONS(5169), + [anon_sym_AMP] = ACTIONS(5169), + [anon_sym_EQ_EQ] = ACTIONS(5171), + [anon_sym_BANG_EQ] = ACTIONS(5171), + [anon_sym_GT] = ACTIONS(5169), + [anon_sym_GT_EQ] = ACTIONS(5171), + [anon_sym_LT_EQ] = ACTIONS(5169), + [anon_sym_LT] = ACTIONS(5169), + [anon_sym_LT_LT] = ACTIONS(5169), + [anon_sym_GT_GT] = ACTIONS(5169), + [anon_sym_SEMI] = ACTIONS(5171), + [anon_sym___attribute__] = ACTIONS(5169), + [anon_sym_LBRACE] = ACTIONS(5171), + [anon_sym_RBRACE] = ACTIONS(5171), + [anon_sym_LBRACK] = ACTIONS(5171), + [anon_sym_RBRACK] = ACTIONS(5171), + [anon_sym_EQ] = ACTIONS(5169), + [anon_sym_COLON] = ACTIONS(5171), + [anon_sym_QMARK] = ACTIONS(5171), + [anon_sym_STAR_EQ] = ACTIONS(5171), + [anon_sym_SLASH_EQ] = ACTIONS(5171), + [anon_sym_PERCENT_EQ] = ACTIONS(5171), + [anon_sym_PLUS_EQ] = ACTIONS(5171), + [anon_sym_DASH_EQ] = ACTIONS(5171), + [anon_sym_LT_LT_EQ] = ACTIONS(5171), + [anon_sym_GT_GT_EQ] = ACTIONS(5171), + [anon_sym_AMP_EQ] = ACTIONS(5171), + [anon_sym_CARET_EQ] = ACTIONS(5171), + [anon_sym_PIPE_EQ] = ACTIONS(5171), + [anon_sym_and_eq] = ACTIONS(5169), + [anon_sym_or_eq] = ACTIONS(5169), + [anon_sym_xor_eq] = ACTIONS(5169), + [anon_sym_LT_EQ_GT] = ACTIONS(5171), + [anon_sym_or] = ACTIONS(5169), + [anon_sym_and] = ACTIONS(5169), + [anon_sym_bitor] = ACTIONS(5169), + [anon_sym_xor] = ACTIONS(5169), + [anon_sym_bitand] = ACTIONS(5169), + [anon_sym_not_eq] = ACTIONS(5169), + [anon_sym_DASH_DASH] = ACTIONS(5171), + [anon_sym_PLUS_PLUS] = ACTIONS(5171), + [anon_sym_DOT] = ACTIONS(5169), + [anon_sym_DOT_STAR] = ACTIONS(5171), + [anon_sym_DASH_GT] = ACTIONS(5171), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5171), + [sym_auto] = ACTIONS(5169), + [anon_sym_decltype] = ACTIONS(5169), + }, + [2071] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym_RBRACE] = ACTIONS(2942), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_friend] = ACTIONS(2940), + [anon_sym_public] = ACTIONS(2940), + [anon_sym_private] = ACTIONS(2940), + [anon_sym_protected] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + }, + [2072] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym_RBRACE] = ACTIONS(2969), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_friend] = ACTIONS(2967), + [anon_sym_public] = ACTIONS(2967), + [anon_sym_private] = ACTIONS(2967), + [anon_sym_protected] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + }, + [2073] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_RBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [2074] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token2] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [2075] = { + [sym_attribute_declaration] = STATE(2117), + [aux_sym_attributed_declarator_repeat1] = STATE(2117), + [sym__identifier] = ACTIONS(5675), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5677), + [anon_sym_COMMA] = ACTIONS(5677), + [anon_sym_RPAREN] = ACTIONS(5677), + [aux_sym_preproc_if_token2] = ACTIONS(5677), + [aux_sym_preproc_else_token1] = ACTIONS(5677), + [aux_sym_preproc_elif_token1] = ACTIONS(5675), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5677), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5677), + [anon_sym_LPAREN2] = ACTIONS(5677), + [anon_sym_DASH] = ACTIONS(5675), + [anon_sym_PLUS] = ACTIONS(5675), + [anon_sym_STAR] = ACTIONS(5675), + [anon_sym_SLASH] = ACTIONS(5675), + [anon_sym_PERCENT] = ACTIONS(5675), + [anon_sym_PIPE_PIPE] = ACTIONS(5677), + [anon_sym_AMP_AMP] = ACTIONS(5677), + [anon_sym_PIPE] = ACTIONS(5675), + [anon_sym_CARET] = ACTIONS(5675), + [anon_sym_AMP] = ACTIONS(5675), + [anon_sym_EQ_EQ] = ACTIONS(5677), + [anon_sym_BANG_EQ] = ACTIONS(5677), + [anon_sym_GT] = ACTIONS(5675), + [anon_sym_GT_EQ] = ACTIONS(5677), + [anon_sym_LT_EQ] = ACTIONS(5675), + [anon_sym_LT] = ACTIONS(5675), + [anon_sym_LT_LT] = ACTIONS(5675), + [anon_sym_GT_GT] = ACTIONS(5675), + [anon_sym_SEMI] = ACTIONS(5677), + [anon_sym___attribute__] = ACTIONS(5675), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5512), + [anon_sym_RBRACE] = ACTIONS(5677), + [anon_sym_LBRACK] = ACTIONS(5675), + [anon_sym_RBRACK] = ACTIONS(5677), + [anon_sym_EQ] = ACTIONS(5675), + [anon_sym_COLON] = ACTIONS(5677), + [anon_sym_QMARK] = ACTIONS(5677), + [anon_sym_STAR_EQ] = ACTIONS(5677), + [anon_sym_SLASH_EQ] = ACTIONS(5677), + [anon_sym_PERCENT_EQ] = ACTIONS(5677), + [anon_sym_PLUS_EQ] = ACTIONS(5677), + [anon_sym_DASH_EQ] = ACTIONS(5677), + [anon_sym_LT_LT_EQ] = ACTIONS(5677), + [anon_sym_GT_GT_EQ] = ACTIONS(5677), + [anon_sym_AMP_EQ] = ACTIONS(5677), + [anon_sym_CARET_EQ] = ACTIONS(5677), + [anon_sym_PIPE_EQ] = ACTIONS(5677), + [anon_sym_and_eq] = ACTIONS(5675), + [anon_sym_or_eq] = ACTIONS(5675), + [anon_sym_xor_eq] = ACTIONS(5675), + [anon_sym_LT_EQ_GT] = ACTIONS(5677), + [anon_sym_or] = ACTIONS(5675), + [anon_sym_and] = ACTIONS(5675), + [anon_sym_bitor] = ACTIONS(5675), + [anon_sym_xor] = ACTIONS(5675), + [anon_sym_bitand] = ACTIONS(5675), + [anon_sym_not_eq] = ACTIONS(5675), + [anon_sym_DASH_DASH] = ACTIONS(5677), + [anon_sym_PLUS_PLUS] = ACTIONS(5677), + [anon_sym_DOT] = ACTIONS(5675), + [anon_sym_DOT_STAR] = ACTIONS(5677), + [anon_sym_DASH_GT] = ACTIONS(5677), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5677), + }, + [2076] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_RBRACE] = ACTIONS(2779), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [2077] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2078] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2079] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token2] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2080] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym_RBRACE] = ACTIONS(2954), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_friend] = ACTIONS(2952), + [anon_sym_public] = ACTIONS(2952), + [anon_sym_private] = ACTIONS(2952), + [anon_sym_protected] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + }, + [2081] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token2] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [2082] = { + [sym__identifier] = ACTIONS(5253), + [aux_sym_preproc_def_token1] = ACTIONS(5253), + [aux_sym_preproc_if_token1] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5253), + [sym_preproc_directive] = ACTIONS(5253), + [anon_sym_LPAREN2] = ACTIONS(5255), + [anon_sym_TILDE] = ACTIONS(5255), + [anon_sym_STAR] = ACTIONS(5255), + [anon_sym_AMP_AMP] = ACTIONS(5255), + [anon_sym_AMP] = ACTIONS(5253), + [anon_sym___extension__] = ACTIONS(5253), + [anon_sym_typedef] = ACTIONS(5253), + [anon_sym_extern] = ACTIONS(5253), + [anon_sym___attribute__] = ACTIONS(5253), + [anon_sym_COLON_COLON] = ACTIONS(5255), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5255), + [anon_sym___declspec] = ACTIONS(5253), + [anon_sym___based] = ACTIONS(5253), + [anon_sym_RBRACE] = ACTIONS(5255), + [anon_sym_signed] = ACTIONS(5253), + [anon_sym_unsigned] = ACTIONS(5253), + [anon_sym_long] = ACTIONS(5253), + [anon_sym_short] = ACTIONS(5253), + [anon_sym_LBRACK] = ACTIONS(5253), + [anon_sym_static] = ACTIONS(5253), + [anon_sym_register] = ACTIONS(5253), + [anon_sym_inline] = ACTIONS(5253), + [anon_sym___inline] = ACTIONS(5253), + [anon_sym___inline__] = ACTIONS(5253), + [anon_sym___forceinline] = ACTIONS(5253), + [anon_sym_thread_local] = ACTIONS(5253), + [anon_sym___thread] = ACTIONS(5253), + [anon_sym_const] = ACTIONS(5253), + [anon_sym_constexpr] = ACTIONS(5253), + [anon_sym_volatile] = ACTIONS(5253), + [anon_sym_restrict] = ACTIONS(5253), + [anon_sym___restrict__] = ACTIONS(5253), + [anon_sym__Atomic] = ACTIONS(5253), + [anon_sym__Noreturn] = ACTIONS(5253), + [anon_sym_noreturn] = ACTIONS(5253), + [anon_sym_mutable] = ACTIONS(5253), + [anon_sym_constinit] = ACTIONS(5253), + [anon_sym_consteval] = ACTIONS(5253), + [anon_sym_alignas] = ACTIONS(5253), + [anon_sym__Alignas] = ACTIONS(5253), + [sym_primitive_type] = ACTIONS(5253), + [anon_sym_enum] = ACTIONS(5253), + [anon_sym_class] = ACTIONS(5253), + [anon_sym_struct] = ACTIONS(5253), + [anon_sym_union] = ACTIONS(5253), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5255), + [sym_auto] = ACTIONS(5253), + [anon_sym_decltype] = ACTIONS(5253), + [sym_virtual] = ACTIONS(5253), + [anon_sym_explicit] = ACTIONS(5253), + [anon_sym_typename] = ACTIONS(5253), + [anon_sym_template] = ACTIONS(5253), + [anon_sym_operator] = ACTIONS(5253), + [anon_sym_friend] = ACTIONS(5253), + [anon_sym_public] = ACTIONS(5253), + [anon_sym_private] = ACTIONS(5253), + [anon_sym_protected] = ACTIONS(5253), + [anon_sym_using] = ACTIONS(5253), + [anon_sym_static_assert] = ACTIONS(5253), + }, + [2083] = { + [sym__identifier] = ACTIONS(3170), + [aux_sym_preproc_def_token1] = ACTIONS(3170), + [aux_sym_preproc_if_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3170), + [sym_preproc_directive] = ACTIONS(3170), + [anon_sym_LPAREN2] = ACTIONS(3172), + [anon_sym_TILDE] = ACTIONS(3172), + [anon_sym_STAR] = ACTIONS(3172), + [anon_sym_AMP_AMP] = ACTIONS(3172), + [anon_sym_AMP] = ACTIONS(3170), + [anon_sym___extension__] = ACTIONS(3170), + [anon_sym_typedef] = ACTIONS(3170), + [anon_sym_extern] = ACTIONS(3170), + [anon_sym___attribute__] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(3172), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3172), + [anon_sym___declspec] = ACTIONS(3170), + [anon_sym___based] = ACTIONS(3170), + [anon_sym_RBRACE] = ACTIONS(3172), + [anon_sym_signed] = ACTIONS(3170), + [anon_sym_unsigned] = ACTIONS(3170), + [anon_sym_long] = ACTIONS(3170), + [anon_sym_short] = ACTIONS(3170), + [anon_sym_LBRACK] = ACTIONS(3170), + [anon_sym_static] = ACTIONS(3170), + [anon_sym_register] = ACTIONS(3170), + [anon_sym_inline] = ACTIONS(3170), + [anon_sym___inline] = ACTIONS(3170), + [anon_sym___inline__] = ACTIONS(3170), + [anon_sym___forceinline] = ACTIONS(3170), + [anon_sym_thread_local] = ACTIONS(3170), + [anon_sym___thread] = ACTIONS(3170), + [anon_sym_const] = ACTIONS(3170), + [anon_sym_constexpr] = ACTIONS(3170), + [anon_sym_volatile] = ACTIONS(3170), + [anon_sym_restrict] = ACTIONS(3170), + [anon_sym___restrict__] = ACTIONS(3170), + [anon_sym__Atomic] = ACTIONS(3170), + [anon_sym__Noreturn] = ACTIONS(3170), + [anon_sym_noreturn] = ACTIONS(3170), + [anon_sym_mutable] = ACTIONS(3170), + [anon_sym_constinit] = ACTIONS(3170), + [anon_sym_consteval] = ACTIONS(3170), + [anon_sym_alignas] = ACTIONS(3170), + [anon_sym__Alignas] = ACTIONS(3170), + [sym_primitive_type] = ACTIONS(3170), + [anon_sym_enum] = ACTIONS(3170), + [anon_sym_class] = ACTIONS(3170), + [anon_sym_struct] = ACTIONS(3170), + [anon_sym_union] = ACTIONS(3170), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3172), + [sym_auto] = ACTIONS(3170), + [anon_sym_decltype] = ACTIONS(3170), + [sym_virtual] = ACTIONS(3170), + [anon_sym_explicit] = ACTIONS(3170), + [anon_sym_typename] = ACTIONS(3170), + [anon_sym_template] = ACTIONS(3170), + [anon_sym_operator] = ACTIONS(3170), + [anon_sym_friend] = ACTIONS(3170), + [anon_sym_public] = ACTIONS(3170), + [anon_sym_private] = ACTIONS(3170), + [anon_sym_protected] = ACTIONS(3170), + [anon_sym_using] = ACTIONS(3170), + [anon_sym_static_assert] = ACTIONS(3170), + }, + [2084] = { + [sym__identifier] = ACTIONS(5249), + [aux_sym_preproc_def_token1] = ACTIONS(5249), + [aux_sym_preproc_if_token1] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5249), + [sym_preproc_directive] = ACTIONS(5249), + [anon_sym_LPAREN2] = ACTIONS(5251), + [anon_sym_TILDE] = ACTIONS(5251), + [anon_sym_STAR] = ACTIONS(5251), + [anon_sym_AMP_AMP] = ACTIONS(5251), + [anon_sym_AMP] = ACTIONS(5249), + [anon_sym___extension__] = ACTIONS(5249), + [anon_sym_typedef] = ACTIONS(5249), + [anon_sym_extern] = ACTIONS(5249), + [anon_sym___attribute__] = ACTIONS(5249), + [anon_sym_COLON_COLON] = ACTIONS(5251), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5251), + [anon_sym___declspec] = ACTIONS(5249), + [anon_sym___based] = ACTIONS(5249), + [anon_sym_RBRACE] = ACTIONS(5251), + [anon_sym_signed] = ACTIONS(5249), + [anon_sym_unsigned] = ACTIONS(5249), + [anon_sym_long] = ACTIONS(5249), + [anon_sym_short] = ACTIONS(5249), + [anon_sym_LBRACK] = ACTIONS(5249), + [anon_sym_static] = ACTIONS(5249), + [anon_sym_register] = ACTIONS(5249), + [anon_sym_inline] = ACTIONS(5249), + [anon_sym___inline] = ACTIONS(5249), + [anon_sym___inline__] = ACTIONS(5249), + [anon_sym___forceinline] = ACTIONS(5249), + [anon_sym_thread_local] = ACTIONS(5249), + [anon_sym___thread] = ACTIONS(5249), + [anon_sym_const] = ACTIONS(5249), + [anon_sym_constexpr] = ACTIONS(5249), + [anon_sym_volatile] = ACTIONS(5249), + [anon_sym_restrict] = ACTIONS(5249), + [anon_sym___restrict__] = ACTIONS(5249), + [anon_sym__Atomic] = ACTIONS(5249), + [anon_sym__Noreturn] = ACTIONS(5249), + [anon_sym_noreturn] = ACTIONS(5249), + [anon_sym_mutable] = ACTIONS(5249), + [anon_sym_constinit] = ACTIONS(5249), + [anon_sym_consteval] = ACTIONS(5249), + [anon_sym_alignas] = ACTIONS(5249), + [anon_sym__Alignas] = ACTIONS(5249), + [sym_primitive_type] = ACTIONS(5249), + [anon_sym_enum] = ACTIONS(5249), + [anon_sym_class] = ACTIONS(5249), + [anon_sym_struct] = ACTIONS(5249), + [anon_sym_union] = ACTIONS(5249), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5251), + [sym_auto] = ACTIONS(5249), + [anon_sym_decltype] = ACTIONS(5249), + [sym_virtual] = ACTIONS(5249), + [anon_sym_explicit] = ACTIONS(5249), + [anon_sym_typename] = ACTIONS(5249), + [anon_sym_template] = ACTIONS(5249), + [anon_sym_operator] = ACTIONS(5249), + [anon_sym_friend] = ACTIONS(5249), + [anon_sym_public] = ACTIONS(5249), + [anon_sym_private] = ACTIONS(5249), + [anon_sym_protected] = ACTIONS(5249), + [anon_sym_using] = ACTIONS(5249), + [anon_sym_static_assert] = ACTIONS(5249), + }, + [2085] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token2] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_friend] = ACTIONS(2975), + [anon_sym_public] = ACTIONS(2975), + [anon_sym_private] = ACTIONS(2975), + [anon_sym_protected] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + }, + [2086] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token2] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_friend] = ACTIONS(3050), + [anon_sym_public] = ACTIONS(3050), + [anon_sym_private] = ACTIONS(3050), + [anon_sym_protected] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + }, + [2087] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [2088] = { + [sym__identifier] = ACTIONS(2751), + [aux_sym_preproc_def_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token1] = ACTIONS(2751), + [aux_sym_preproc_if_token2] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2751), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2751), + [sym_preproc_directive] = ACTIONS(2751), + [anon_sym_LPAREN2] = ACTIONS(2753), + [anon_sym_TILDE] = ACTIONS(2753), + [anon_sym_STAR] = ACTIONS(2753), + [anon_sym_AMP_AMP] = ACTIONS(2753), + [anon_sym_AMP] = ACTIONS(2751), + [anon_sym___extension__] = ACTIONS(2751), + [anon_sym_typedef] = ACTIONS(2751), + [anon_sym_extern] = ACTIONS(2751), + [anon_sym___attribute__] = ACTIONS(2751), + [anon_sym_COLON_COLON] = ACTIONS(2753), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2753), + [anon_sym___declspec] = ACTIONS(2751), + [anon_sym___based] = ACTIONS(2751), + [anon_sym_signed] = ACTIONS(2751), + [anon_sym_unsigned] = ACTIONS(2751), + [anon_sym_long] = ACTIONS(2751), + [anon_sym_short] = ACTIONS(2751), + [anon_sym_LBRACK] = ACTIONS(2751), + [anon_sym_static] = ACTIONS(2751), + [anon_sym_register] = ACTIONS(2751), + [anon_sym_inline] = ACTIONS(2751), + [anon_sym___inline] = ACTIONS(2751), + [anon_sym___inline__] = ACTIONS(2751), + [anon_sym___forceinline] = ACTIONS(2751), + [anon_sym_thread_local] = ACTIONS(2751), + [anon_sym___thread] = ACTIONS(2751), + [anon_sym_const] = ACTIONS(2751), + [anon_sym_constexpr] = ACTIONS(2751), + [anon_sym_volatile] = ACTIONS(2751), + [anon_sym_restrict] = ACTIONS(2751), + [anon_sym___restrict__] = ACTIONS(2751), + [anon_sym__Atomic] = ACTIONS(2751), + [anon_sym__Noreturn] = ACTIONS(2751), + [anon_sym_noreturn] = ACTIONS(2751), + [anon_sym_mutable] = ACTIONS(2751), + [anon_sym_constinit] = ACTIONS(2751), + [anon_sym_consteval] = ACTIONS(2751), + [anon_sym_alignas] = ACTIONS(2751), + [anon_sym__Alignas] = ACTIONS(2751), + [sym_primitive_type] = ACTIONS(2751), + [anon_sym_enum] = ACTIONS(2751), + [anon_sym_class] = ACTIONS(2751), + [anon_sym_struct] = ACTIONS(2751), + [anon_sym_union] = ACTIONS(2751), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2753), + [sym_auto] = ACTIONS(2751), + [anon_sym_decltype] = ACTIONS(2751), + [sym_virtual] = ACTIONS(2751), + [anon_sym_explicit] = ACTIONS(2751), + [anon_sym_typename] = ACTIONS(2751), + [anon_sym_template] = ACTIONS(2751), + [anon_sym_operator] = ACTIONS(2751), + [anon_sym_friend] = ACTIONS(2751), + [anon_sym_public] = ACTIONS(2751), + [anon_sym_private] = ACTIONS(2751), + [anon_sym_protected] = ACTIONS(2751), + [anon_sym_using] = ACTIONS(2751), + [anon_sym_static_assert] = ACTIONS(2751), + }, + [2089] = { + [sym__identifier] = ACTIONS(5679), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5681), + [anon_sym_COMMA] = ACTIONS(5681), + [anon_sym_RPAREN] = ACTIONS(5681), + [aux_sym_preproc_if_token2] = ACTIONS(5681), + [aux_sym_preproc_else_token1] = ACTIONS(5681), + [aux_sym_preproc_elif_token1] = ACTIONS(5679), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5681), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5681), + [anon_sym_LPAREN2] = ACTIONS(5681), + [anon_sym_DASH] = ACTIONS(5679), + [anon_sym_PLUS] = ACTIONS(5679), + [anon_sym_STAR] = ACTIONS(5679), + [anon_sym_SLASH] = ACTIONS(5679), + [anon_sym_PERCENT] = ACTIONS(5679), + [anon_sym_PIPE_PIPE] = ACTIONS(5681), + [anon_sym_AMP_AMP] = ACTIONS(5681), + [anon_sym_PIPE] = ACTIONS(5679), + [anon_sym_CARET] = ACTIONS(5679), + [anon_sym_AMP] = ACTIONS(5679), + [anon_sym_EQ_EQ] = ACTIONS(5681), + [anon_sym_BANG_EQ] = ACTIONS(5681), + [anon_sym_GT] = ACTIONS(5679), + [anon_sym_GT_EQ] = ACTIONS(5681), + [anon_sym_LT_EQ] = ACTIONS(5679), + [anon_sym_LT] = ACTIONS(5679), + [anon_sym_LT_LT] = ACTIONS(5679), + [anon_sym_GT_GT] = ACTIONS(5679), + [anon_sym_SEMI] = ACTIONS(5681), + [anon_sym___attribute__] = ACTIONS(5679), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5681), + [anon_sym_LBRACE] = ACTIONS(5681), + [anon_sym_RBRACE] = ACTIONS(5681), + [anon_sym_LBRACK] = ACTIONS(5679), + [anon_sym_RBRACK] = ACTIONS(5681), + [anon_sym_EQ] = ACTIONS(5679), + [anon_sym_COLON] = ACTIONS(5681), + [anon_sym_QMARK] = ACTIONS(5681), + [anon_sym_STAR_EQ] = ACTIONS(5681), + [anon_sym_SLASH_EQ] = ACTIONS(5681), + [anon_sym_PERCENT_EQ] = ACTIONS(5681), + [anon_sym_PLUS_EQ] = ACTIONS(5681), + [anon_sym_DASH_EQ] = ACTIONS(5681), + [anon_sym_LT_LT_EQ] = ACTIONS(5681), + [anon_sym_GT_GT_EQ] = ACTIONS(5681), + [anon_sym_AMP_EQ] = ACTIONS(5681), + [anon_sym_CARET_EQ] = ACTIONS(5681), + [anon_sym_PIPE_EQ] = ACTIONS(5681), + [anon_sym_and_eq] = ACTIONS(5679), + [anon_sym_or_eq] = ACTIONS(5679), + [anon_sym_xor_eq] = ACTIONS(5679), + [anon_sym_LT_EQ_GT] = ACTIONS(5681), + [anon_sym_or] = ACTIONS(5679), + [anon_sym_and] = ACTIONS(5679), + [anon_sym_bitor] = ACTIONS(5679), + [anon_sym_xor] = ACTIONS(5679), + [anon_sym_bitand] = ACTIONS(5679), + [anon_sym_not_eq] = ACTIONS(5679), + [anon_sym_DASH_DASH] = ACTIONS(5681), + [anon_sym_PLUS_PLUS] = ACTIONS(5681), + [anon_sym_DOT] = ACTIONS(5679), + [anon_sym_DOT_STAR] = ACTIONS(5681), + [anon_sym_DASH_GT] = ACTIONS(5681), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5681), + [anon_sym_try] = ACTIONS(5679), + }, + [2090] = { + [sym__identifier] = ACTIONS(5245), + [aux_sym_preproc_def_token1] = ACTIONS(5245), + [aux_sym_preproc_if_token1] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5245), + [sym_preproc_directive] = ACTIONS(5245), + [anon_sym_LPAREN2] = ACTIONS(5247), + [anon_sym_TILDE] = ACTIONS(5247), + [anon_sym_STAR] = ACTIONS(5247), + [anon_sym_AMP_AMP] = ACTIONS(5247), + [anon_sym_AMP] = ACTIONS(5245), + [anon_sym___extension__] = ACTIONS(5245), + [anon_sym_typedef] = ACTIONS(5245), + [anon_sym_extern] = ACTIONS(5245), + [anon_sym___attribute__] = ACTIONS(5245), + [anon_sym_COLON_COLON] = ACTIONS(5247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5247), + [anon_sym___declspec] = ACTIONS(5245), + [anon_sym___based] = ACTIONS(5245), + [anon_sym_RBRACE] = ACTIONS(5247), + [anon_sym_signed] = ACTIONS(5245), + [anon_sym_unsigned] = ACTIONS(5245), + [anon_sym_long] = ACTIONS(5245), + [anon_sym_short] = ACTIONS(5245), + [anon_sym_LBRACK] = ACTIONS(5245), + [anon_sym_static] = ACTIONS(5245), + [anon_sym_register] = ACTIONS(5245), + [anon_sym_inline] = ACTIONS(5245), + [anon_sym___inline] = ACTIONS(5245), + [anon_sym___inline__] = ACTIONS(5245), + [anon_sym___forceinline] = ACTIONS(5245), + [anon_sym_thread_local] = ACTIONS(5245), + [anon_sym___thread] = ACTIONS(5245), + [anon_sym_const] = ACTIONS(5245), + [anon_sym_constexpr] = ACTIONS(5245), + [anon_sym_volatile] = ACTIONS(5245), + [anon_sym_restrict] = ACTIONS(5245), + [anon_sym___restrict__] = ACTIONS(5245), + [anon_sym__Atomic] = ACTIONS(5245), + [anon_sym__Noreturn] = ACTIONS(5245), + [anon_sym_noreturn] = ACTIONS(5245), + [anon_sym_mutable] = ACTIONS(5245), + [anon_sym_constinit] = ACTIONS(5245), + [anon_sym_consteval] = ACTIONS(5245), + [anon_sym_alignas] = ACTIONS(5245), + [anon_sym__Alignas] = ACTIONS(5245), + [sym_primitive_type] = ACTIONS(5245), + [anon_sym_enum] = ACTIONS(5245), + [anon_sym_class] = ACTIONS(5245), + [anon_sym_struct] = ACTIONS(5245), + [anon_sym_union] = ACTIONS(5245), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5247), + [sym_auto] = ACTIONS(5245), + [anon_sym_decltype] = ACTIONS(5245), + [sym_virtual] = ACTIONS(5245), + [anon_sym_explicit] = ACTIONS(5245), + [anon_sym_typename] = ACTIONS(5245), + [anon_sym_template] = ACTIONS(5245), + [anon_sym_operator] = ACTIONS(5245), + [anon_sym_friend] = ACTIONS(5245), + [anon_sym_public] = ACTIONS(5245), + [anon_sym_private] = ACTIONS(5245), + [anon_sym_protected] = ACTIONS(5245), + [anon_sym_using] = ACTIONS(5245), + [anon_sym_static_assert] = ACTIONS(5245), + }, + [2091] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym_RBRACE] = ACTIONS(3132), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_friend] = ACTIONS(3130), + [anon_sym_public] = ACTIONS(3130), + [anon_sym_private] = ACTIONS(3130), + [anon_sym_protected] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + }, + [2092] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym_RBRACE] = ACTIONS(3124), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_friend] = ACTIONS(3122), + [anon_sym_public] = ACTIONS(3122), + [anon_sym_private] = ACTIONS(3122), + [anon_sym_protected] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + }, + [2093] = { + [sym__identifier] = ACTIONS(5683), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5685), + [anon_sym_COMMA] = ACTIONS(5685), + [anon_sym_RPAREN] = ACTIONS(5685), + [aux_sym_preproc_if_token2] = ACTIONS(5685), + [aux_sym_preproc_else_token1] = ACTIONS(5685), + [aux_sym_preproc_elif_token1] = ACTIONS(5683), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5685), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5685), + [anon_sym_LPAREN2] = ACTIONS(5685), + [anon_sym_DASH] = ACTIONS(5683), + [anon_sym_PLUS] = ACTIONS(5683), + [anon_sym_STAR] = ACTIONS(5683), + [anon_sym_SLASH] = ACTIONS(5683), + [anon_sym_PERCENT] = ACTIONS(5683), + [anon_sym_PIPE_PIPE] = ACTIONS(5685), + [anon_sym_AMP_AMP] = ACTIONS(5685), + [anon_sym_PIPE] = ACTIONS(5683), + [anon_sym_CARET] = ACTIONS(5683), + [anon_sym_AMP] = ACTIONS(5683), + [anon_sym_EQ_EQ] = ACTIONS(5685), + [anon_sym_BANG_EQ] = ACTIONS(5685), + [anon_sym_GT] = ACTIONS(5683), + [anon_sym_GT_EQ] = ACTIONS(5685), + [anon_sym_LT_EQ] = ACTIONS(5683), + [anon_sym_LT] = ACTIONS(5683), + [anon_sym_LT_LT] = ACTIONS(5683), + [anon_sym_GT_GT] = ACTIONS(5683), + [anon_sym_SEMI] = ACTIONS(5685), + [anon_sym___attribute__] = ACTIONS(5683), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5685), + [anon_sym_LBRACE] = ACTIONS(5685), + [anon_sym_RBRACE] = ACTIONS(5685), + [anon_sym_LBRACK] = ACTIONS(5683), + [anon_sym_RBRACK] = ACTIONS(5685), + [anon_sym_EQ] = ACTIONS(5683), + [anon_sym_COLON] = ACTIONS(5685), + [anon_sym_QMARK] = ACTIONS(5685), + [anon_sym_STAR_EQ] = ACTIONS(5685), + [anon_sym_SLASH_EQ] = ACTIONS(5685), + [anon_sym_PERCENT_EQ] = ACTIONS(5685), + [anon_sym_PLUS_EQ] = ACTIONS(5685), + [anon_sym_DASH_EQ] = ACTIONS(5685), + [anon_sym_LT_LT_EQ] = ACTIONS(5685), + [anon_sym_GT_GT_EQ] = ACTIONS(5685), + [anon_sym_AMP_EQ] = ACTIONS(5685), + [anon_sym_CARET_EQ] = ACTIONS(5685), + [anon_sym_PIPE_EQ] = ACTIONS(5685), + [anon_sym_and_eq] = ACTIONS(5683), + [anon_sym_or_eq] = ACTIONS(5683), + [anon_sym_xor_eq] = ACTIONS(5683), + [anon_sym_LT_EQ_GT] = ACTIONS(5685), + [anon_sym_or] = ACTIONS(5683), + [anon_sym_and] = ACTIONS(5683), + [anon_sym_bitor] = ACTIONS(5683), + [anon_sym_xor] = ACTIONS(5683), + [anon_sym_bitand] = ACTIONS(5683), + [anon_sym_not_eq] = ACTIONS(5683), + [anon_sym_DASH_DASH] = ACTIONS(5685), + [anon_sym_PLUS_PLUS] = ACTIONS(5685), + [anon_sym_DOT] = ACTIONS(5683), + [anon_sym_DOT_STAR] = ACTIONS(5685), + [anon_sym_DASH_GT] = ACTIONS(5685), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5685), + [anon_sym_try] = ACTIONS(5683), + }, + [2094] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token2] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_friend] = ACTIONS(3054), + [anon_sym_public] = ACTIONS(3054), + [anon_sym_private] = ACTIONS(3054), + [anon_sym_protected] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + }, + [2095] = { + [sym_argument_list] = STATE(2389), + [sym_initializer_list] = STATE(2389), + [sym__identifier] = ACTIONS(5687), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5689), + [anon_sym_COMMA] = ACTIONS(5689), + [anon_sym_RPAREN] = ACTIONS(5689), + [aux_sym_preproc_if_token2] = ACTIONS(5689), + [aux_sym_preproc_else_token1] = ACTIONS(5689), + [aux_sym_preproc_elif_token1] = ACTIONS(5687), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5689), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5689), + [anon_sym_LPAREN2] = ACTIONS(5052), + [anon_sym_DASH] = ACTIONS(5687), + [anon_sym_PLUS] = ACTIONS(5687), + [anon_sym_STAR] = ACTIONS(5687), + [anon_sym_SLASH] = ACTIONS(5687), + [anon_sym_PERCENT] = ACTIONS(5687), + [anon_sym_PIPE_PIPE] = ACTIONS(5689), + [anon_sym_AMP_AMP] = ACTIONS(5689), + [anon_sym_PIPE] = ACTIONS(5687), + [anon_sym_CARET] = ACTIONS(5687), + [anon_sym_AMP] = ACTIONS(5687), + [anon_sym_EQ_EQ] = ACTIONS(5689), + [anon_sym_BANG_EQ] = ACTIONS(5689), + [anon_sym_GT] = ACTIONS(5687), + [anon_sym_GT_EQ] = ACTIONS(5689), + [anon_sym_LT_EQ] = ACTIONS(5687), + [anon_sym_LT] = ACTIONS(5687), + [anon_sym_LT_LT] = ACTIONS(5687), + [anon_sym_GT_GT] = ACTIONS(5687), + [anon_sym_SEMI] = ACTIONS(5689), + [anon_sym___attribute__] = ACTIONS(5687), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(5689), + [anon_sym_LBRACK] = ACTIONS(5689), + [anon_sym_RBRACK] = ACTIONS(5689), + [anon_sym_EQ] = ACTIONS(5687), + [anon_sym_COLON] = ACTIONS(5689), + [anon_sym_QMARK] = ACTIONS(5689), + [anon_sym_STAR_EQ] = ACTIONS(5689), + [anon_sym_SLASH_EQ] = ACTIONS(5689), + [anon_sym_PERCENT_EQ] = ACTIONS(5689), + [anon_sym_PLUS_EQ] = ACTIONS(5689), + [anon_sym_DASH_EQ] = ACTIONS(5689), + [anon_sym_LT_LT_EQ] = ACTIONS(5689), + [anon_sym_GT_GT_EQ] = ACTIONS(5689), + [anon_sym_AMP_EQ] = ACTIONS(5689), + [anon_sym_CARET_EQ] = ACTIONS(5689), + [anon_sym_PIPE_EQ] = ACTIONS(5689), + [anon_sym_and_eq] = ACTIONS(5687), + [anon_sym_or_eq] = ACTIONS(5687), + [anon_sym_xor_eq] = ACTIONS(5687), + [anon_sym_LT_EQ_GT] = ACTIONS(5689), + [anon_sym_or] = ACTIONS(5687), + [anon_sym_and] = ACTIONS(5687), + [anon_sym_bitor] = ACTIONS(5687), + [anon_sym_xor] = ACTIONS(5687), + [anon_sym_bitand] = ACTIONS(5687), + [anon_sym_not_eq] = ACTIONS(5687), + [anon_sym_DASH_DASH] = ACTIONS(5689), + [anon_sym_PLUS_PLUS] = ACTIONS(5689), + [anon_sym_DOT] = ACTIONS(5687), + [anon_sym_DOT_STAR] = ACTIONS(5689), + [anon_sym_DASH_GT] = ACTIONS(5689), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5689), + }, + [2096] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym_RBRACE] = ACTIONS(2999), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_friend] = ACTIONS(2997), + [anon_sym_public] = ACTIONS(2997), + [anon_sym_private] = ACTIONS(2997), + [anon_sym_protected] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + }, + [2097] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym_RBRACE] = ACTIONS(2921), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_friend] = ACTIONS(2919), + [anon_sym_public] = ACTIONS(2919), + [anon_sym_private] = ACTIONS(2919), + [anon_sym_protected] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + }, + [2098] = { + [sym__identifier] = ACTIONS(5287), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5289), + [anon_sym_COMMA] = ACTIONS(5289), + [anon_sym_RPAREN] = ACTIONS(5289), + [aux_sym_preproc_if_token2] = ACTIONS(5289), + [aux_sym_preproc_else_token1] = ACTIONS(5289), + [aux_sym_preproc_elif_token1] = ACTIONS(5287), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5289), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5289), + [anon_sym_LPAREN2] = ACTIONS(5289), + [anon_sym_DASH] = ACTIONS(5287), + [anon_sym_PLUS] = ACTIONS(5287), + [anon_sym_STAR] = ACTIONS(5287), + [anon_sym_SLASH] = ACTIONS(5287), + [anon_sym_PERCENT] = ACTIONS(5287), + [anon_sym_PIPE_PIPE] = ACTIONS(5289), + [anon_sym_AMP_AMP] = ACTIONS(5289), + [anon_sym_PIPE] = ACTIONS(5287), + [anon_sym_CARET] = ACTIONS(5287), + [anon_sym_AMP] = ACTIONS(5287), + [anon_sym_EQ_EQ] = ACTIONS(5289), + [anon_sym_BANG_EQ] = ACTIONS(5289), + [anon_sym_GT] = ACTIONS(5287), + [anon_sym_GT_EQ] = ACTIONS(5289), + [anon_sym_LT_EQ] = ACTIONS(5287), + [anon_sym_LT] = ACTIONS(5287), + [anon_sym_LT_LT] = ACTIONS(5287), + [anon_sym_GT_GT] = ACTIONS(5287), + [anon_sym_SEMI] = ACTIONS(5289), + [anon_sym___attribute__] = ACTIONS(5287), + [anon_sym_LBRACE] = ACTIONS(5289), + [anon_sym_RBRACE] = ACTIONS(5289), + [anon_sym_LBRACK] = ACTIONS(5289), + [anon_sym_RBRACK] = ACTIONS(5289), + [anon_sym_EQ] = ACTIONS(5287), + [anon_sym_COLON] = ACTIONS(5289), + [anon_sym_QMARK] = ACTIONS(5289), + [anon_sym_STAR_EQ] = ACTIONS(5289), + [anon_sym_SLASH_EQ] = ACTIONS(5289), + [anon_sym_PERCENT_EQ] = ACTIONS(5289), + [anon_sym_PLUS_EQ] = ACTIONS(5289), + [anon_sym_DASH_EQ] = ACTIONS(5289), + [anon_sym_LT_LT_EQ] = ACTIONS(5289), + [anon_sym_GT_GT_EQ] = ACTIONS(5289), + [anon_sym_AMP_EQ] = ACTIONS(5289), + [anon_sym_CARET_EQ] = ACTIONS(5289), + [anon_sym_PIPE_EQ] = ACTIONS(5289), + [anon_sym_and_eq] = ACTIONS(5287), + [anon_sym_or_eq] = ACTIONS(5287), + [anon_sym_xor_eq] = ACTIONS(5287), + [anon_sym_LT_EQ_GT] = ACTIONS(5289), + [anon_sym_or] = ACTIONS(5287), + [anon_sym_and] = ACTIONS(5287), + [anon_sym_bitor] = ACTIONS(5287), + [anon_sym_xor] = ACTIONS(5287), + [anon_sym_bitand] = ACTIONS(5287), + [anon_sym_not_eq] = ACTIONS(5287), + [anon_sym_DASH_DASH] = ACTIONS(5289), + [anon_sym_PLUS_PLUS] = ACTIONS(5289), + [anon_sym_DOT] = ACTIONS(5287), + [anon_sym_DOT_STAR] = ACTIONS(5289), + [anon_sym_DASH_GT] = ACTIONS(5289), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5289), + [sym_auto] = ACTIONS(5287), + [anon_sym_decltype] = ACTIONS(5287), + }, + [2099] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym_RBRACE] = ACTIONS(2757), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_friend] = ACTIONS(2755), + [anon_sym_public] = ACTIONS(2755), + [anon_sym_private] = ACTIONS(2755), + [anon_sym_protected] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + }, + [2100] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2100), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4854), + [anon_sym_COMMA] = ACTIONS(4854), + [anon_sym_LPAREN2] = ACTIONS(4854), + [anon_sym_DASH] = ACTIONS(4852), + [anon_sym_PLUS] = ACTIONS(4852), + [anon_sym_STAR] = ACTIONS(4854), + [anon_sym_SLASH] = ACTIONS(4852), + [anon_sym_PERCENT] = ACTIONS(4854), + [anon_sym_PIPE_PIPE] = ACTIONS(4854), + [anon_sym_AMP_AMP] = ACTIONS(4854), + [anon_sym_PIPE] = ACTIONS(4852), + [anon_sym_CARET] = ACTIONS(4854), + [anon_sym_AMP] = ACTIONS(4852), + [anon_sym_EQ_EQ] = ACTIONS(4854), + [anon_sym_BANG_EQ] = ACTIONS(4854), + [anon_sym_GT] = ACTIONS(4852), + [anon_sym_GT_EQ] = ACTIONS(4852), + [anon_sym_LT_EQ] = ACTIONS(4852), + [anon_sym_LT] = ACTIONS(4852), + [anon_sym_LT_LT] = ACTIONS(4854), + [anon_sym_GT_GT] = ACTIONS(4852), + [anon_sym___extension__] = ACTIONS(4852), + [anon_sym___attribute__] = ACTIONS(4852), + [anon_sym_LBRACE] = ACTIONS(4854), + [anon_sym_signed] = ACTIONS(5691), + [anon_sym_unsigned] = ACTIONS(5691), + [anon_sym_long] = ACTIONS(5691), + [anon_sym_short] = ACTIONS(5691), + [anon_sym_LBRACK] = ACTIONS(4854), + [anon_sym_const] = ACTIONS(4852), + [anon_sym_constexpr] = ACTIONS(4852), + [anon_sym_volatile] = ACTIONS(4852), + [anon_sym_restrict] = ACTIONS(4852), + [anon_sym___restrict__] = ACTIONS(4852), + [anon_sym__Atomic] = ACTIONS(4852), + [anon_sym__Noreturn] = ACTIONS(4852), + [anon_sym_noreturn] = ACTIONS(4852), + [anon_sym_mutable] = ACTIONS(4852), + [anon_sym_constinit] = ACTIONS(4852), + [anon_sym_consteval] = ACTIONS(4852), + [anon_sym_alignas] = ACTIONS(4852), + [anon_sym__Alignas] = ACTIONS(4852), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_QMARK] = ACTIONS(4854), + [anon_sym_LT_EQ_GT] = ACTIONS(4854), + [anon_sym_or] = ACTIONS(4852), + [anon_sym_and] = ACTIONS(4852), + [anon_sym_bitor] = ACTIONS(4852), + [anon_sym_xor] = ACTIONS(4852), + [anon_sym_bitand] = ACTIONS(4852), + [anon_sym_not_eq] = ACTIONS(4852), + [anon_sym_DASH_DASH] = ACTIONS(4854), + [anon_sym_PLUS_PLUS] = ACTIONS(4854), + [anon_sym_DOT] = ACTIONS(4852), + [anon_sym_DOT_STAR] = ACTIONS(4854), + [anon_sym_DASH_GT] = ACTIONS(4854), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(4852), + [anon_sym_decltype] = ACTIONS(4852), + [anon_sym_final] = ACTIONS(4852), + [anon_sym_override] = ACTIONS(4852), + [anon_sym_GT2] = ACTIONS(4854), + [anon_sym_requires] = ACTIONS(4852), + }, + [2101] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(2216), + [sym__declarator] = STATE(6412), + [sym__abstract_declarator] = STATE(6620), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2736), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3393), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5595), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2736), + [aux_sym_pointer_declarator_repeat1] = STATE(2216), + [sym__identifier] = ACTIONS(4953), + [anon_sym_RPAREN] = ACTIONS(5395), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(4031), + [anon_sym_AMP_AMP] = ACTIONS(4033), + [anon_sym_AMP] = ACTIONS(4035), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5694), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [2102] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [2103] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token2] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [2104] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym_RBRACE] = ACTIONS(2769), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_friend] = ACTIONS(2767), + [anon_sym_public] = ACTIONS(2767), + [anon_sym_private] = ACTIONS(2767), + [anon_sym_protected] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + }, + [2105] = { + [sym__identifier] = ACTIONS(3138), + [aux_sym_preproc_def_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token1] = ACTIONS(3138), + [aux_sym_preproc_if_token2] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3138), + [sym_preproc_directive] = ACTIONS(3138), + [anon_sym_LPAREN2] = ACTIONS(3140), + [anon_sym_TILDE] = ACTIONS(3140), + [anon_sym_STAR] = ACTIONS(3140), + [anon_sym_AMP_AMP] = ACTIONS(3140), + [anon_sym_AMP] = ACTIONS(3138), + [anon_sym___extension__] = ACTIONS(3138), + [anon_sym_typedef] = ACTIONS(3138), + [anon_sym_extern] = ACTIONS(3138), + [anon_sym___attribute__] = ACTIONS(3138), + [anon_sym_COLON_COLON] = ACTIONS(3140), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3140), + [anon_sym___declspec] = ACTIONS(3138), + [anon_sym___based] = ACTIONS(3138), + [anon_sym_signed] = ACTIONS(3138), + [anon_sym_unsigned] = ACTIONS(3138), + [anon_sym_long] = ACTIONS(3138), + [anon_sym_short] = ACTIONS(3138), + [anon_sym_LBRACK] = ACTIONS(3138), + [anon_sym_static] = ACTIONS(3138), + [anon_sym_register] = ACTIONS(3138), + [anon_sym_inline] = ACTIONS(3138), + [anon_sym___inline] = ACTIONS(3138), + [anon_sym___inline__] = ACTIONS(3138), + [anon_sym___forceinline] = ACTIONS(3138), + [anon_sym_thread_local] = ACTIONS(3138), + [anon_sym___thread] = ACTIONS(3138), + [anon_sym_const] = ACTIONS(3138), + [anon_sym_constexpr] = ACTIONS(3138), + [anon_sym_volatile] = ACTIONS(3138), + [anon_sym_restrict] = ACTIONS(3138), + [anon_sym___restrict__] = ACTIONS(3138), + [anon_sym__Atomic] = ACTIONS(3138), + [anon_sym__Noreturn] = ACTIONS(3138), + [anon_sym_noreturn] = ACTIONS(3138), + [anon_sym_mutable] = ACTIONS(3138), + [anon_sym_constinit] = ACTIONS(3138), + [anon_sym_consteval] = ACTIONS(3138), + [anon_sym_alignas] = ACTIONS(3138), + [anon_sym__Alignas] = ACTIONS(3138), + [sym_primitive_type] = ACTIONS(3138), + [anon_sym_enum] = ACTIONS(3138), + [anon_sym_class] = ACTIONS(3138), + [anon_sym_struct] = ACTIONS(3138), + [anon_sym_union] = ACTIONS(3138), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3140), + [sym_auto] = ACTIONS(3138), + [anon_sym_decltype] = ACTIONS(3138), + [sym_virtual] = ACTIONS(3138), + [anon_sym_explicit] = ACTIONS(3138), + [anon_sym_typename] = ACTIONS(3138), + [anon_sym_template] = ACTIONS(3138), + [anon_sym_operator] = ACTIONS(3138), + [anon_sym_friend] = ACTIONS(3138), + [anon_sym_public] = ACTIONS(3138), + [anon_sym_private] = ACTIONS(3138), + [anon_sym_protected] = ACTIONS(3138), + [anon_sym_using] = ACTIONS(3138), + [anon_sym_static_assert] = ACTIONS(3138), + }, + [2106] = { + [sym__identifier] = ACTIONS(5016), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5018), + [anon_sym_COMMA] = ACTIONS(5018), + [anon_sym_RPAREN] = ACTIONS(5018), + [aux_sym_preproc_if_token2] = ACTIONS(5018), + [aux_sym_preproc_else_token1] = ACTIONS(5018), + [aux_sym_preproc_elif_token1] = ACTIONS(5016), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5018), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5018), + [anon_sym_LPAREN2] = ACTIONS(5018), + [anon_sym_DASH] = ACTIONS(5016), + [anon_sym_PLUS] = ACTIONS(5016), + [anon_sym_STAR] = ACTIONS(5016), + [anon_sym_SLASH] = ACTIONS(5016), + [anon_sym_PERCENT] = ACTIONS(5016), + [anon_sym_PIPE_PIPE] = ACTIONS(5018), + [anon_sym_AMP_AMP] = ACTIONS(5018), + [anon_sym_PIPE] = ACTIONS(5016), + [anon_sym_CARET] = ACTIONS(5016), + [anon_sym_AMP] = ACTIONS(5016), + [anon_sym_EQ_EQ] = ACTIONS(5018), + [anon_sym_BANG_EQ] = ACTIONS(5018), + [anon_sym_GT] = ACTIONS(5016), + [anon_sym_GT_EQ] = ACTIONS(5018), + [anon_sym_LT_EQ] = ACTIONS(5016), + [anon_sym_LT] = ACTIONS(5016), + [anon_sym_LT_LT] = ACTIONS(5016), + [anon_sym_GT_GT] = ACTIONS(5016), + [anon_sym_SEMI] = ACTIONS(5018), + [anon_sym___attribute__] = ACTIONS(5016), + [anon_sym_LBRACE] = ACTIONS(5018), + [anon_sym_RBRACE] = ACTIONS(5018), + [anon_sym_LBRACK] = ACTIONS(5018), + [anon_sym_RBRACK] = ACTIONS(5018), + [anon_sym_EQ] = ACTIONS(5016), + [anon_sym_COLON] = ACTIONS(5018), + [anon_sym_QMARK] = ACTIONS(5018), + [anon_sym_STAR_EQ] = ACTIONS(5018), + [anon_sym_SLASH_EQ] = ACTIONS(5018), + [anon_sym_PERCENT_EQ] = ACTIONS(5018), + [anon_sym_PLUS_EQ] = ACTIONS(5018), + [anon_sym_DASH_EQ] = ACTIONS(5018), + [anon_sym_LT_LT_EQ] = ACTIONS(5018), + [anon_sym_GT_GT_EQ] = ACTIONS(5018), + [anon_sym_AMP_EQ] = ACTIONS(5018), + [anon_sym_CARET_EQ] = ACTIONS(5018), + [anon_sym_PIPE_EQ] = ACTIONS(5018), + [anon_sym_and_eq] = ACTIONS(5016), + [anon_sym_or_eq] = ACTIONS(5016), + [anon_sym_xor_eq] = ACTIONS(5016), + [anon_sym_LT_EQ_GT] = ACTIONS(5018), + [anon_sym_or] = ACTIONS(5016), + [anon_sym_and] = ACTIONS(5016), + [anon_sym_bitor] = ACTIONS(5016), + [anon_sym_xor] = ACTIONS(5016), + [anon_sym_bitand] = ACTIONS(5016), + [anon_sym_not_eq] = ACTIONS(5016), + [anon_sym_DASH_DASH] = ACTIONS(5018), + [anon_sym_PLUS_PLUS] = ACTIONS(5018), + [anon_sym_DOT] = ACTIONS(5016), + [anon_sym_DOT_STAR] = ACTIONS(5018), + [anon_sym_DASH_GT] = ACTIONS(5018), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5018), + [sym_auto] = ACTIONS(5016), + [anon_sym_decltype] = ACTIONS(5016), + }, + [2107] = { + [sym__identifier] = ACTIONS(5189), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5191), + [anon_sym_COMMA] = ACTIONS(5191), + [anon_sym_RPAREN] = ACTIONS(5191), + [aux_sym_preproc_if_token2] = ACTIONS(5191), + [aux_sym_preproc_else_token1] = ACTIONS(5191), + [aux_sym_preproc_elif_token1] = ACTIONS(5189), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5191), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5191), + [anon_sym_LPAREN2] = ACTIONS(5191), + [anon_sym_DASH] = ACTIONS(5189), + [anon_sym_PLUS] = ACTIONS(5189), + [anon_sym_STAR] = ACTIONS(5189), + [anon_sym_SLASH] = ACTIONS(5189), + [anon_sym_PERCENT] = ACTIONS(5189), + [anon_sym_PIPE_PIPE] = ACTIONS(5191), + [anon_sym_AMP_AMP] = ACTIONS(5191), + [anon_sym_PIPE] = ACTIONS(5189), + [anon_sym_CARET] = ACTIONS(5189), + [anon_sym_AMP] = ACTIONS(5189), + [anon_sym_EQ_EQ] = ACTIONS(5191), + [anon_sym_BANG_EQ] = ACTIONS(5191), + [anon_sym_GT] = ACTIONS(5189), + [anon_sym_GT_EQ] = ACTIONS(5191), + [anon_sym_LT_EQ] = ACTIONS(5189), + [anon_sym_LT] = ACTIONS(5189), + [anon_sym_LT_LT] = ACTIONS(5189), + [anon_sym_GT_GT] = ACTIONS(5189), + [anon_sym_SEMI] = ACTIONS(5191), + [anon_sym___attribute__] = ACTIONS(5189), + [anon_sym_LBRACE] = ACTIONS(5191), + [anon_sym_RBRACE] = ACTIONS(5191), + [anon_sym_LBRACK] = ACTIONS(5191), + [anon_sym_RBRACK] = ACTIONS(5191), + [anon_sym_EQ] = ACTIONS(5189), + [anon_sym_COLON] = ACTIONS(5191), + [anon_sym_QMARK] = ACTIONS(5191), + [anon_sym_STAR_EQ] = ACTIONS(5191), + [anon_sym_SLASH_EQ] = ACTIONS(5191), + [anon_sym_PERCENT_EQ] = ACTIONS(5191), + [anon_sym_PLUS_EQ] = ACTIONS(5191), + [anon_sym_DASH_EQ] = ACTIONS(5191), + [anon_sym_LT_LT_EQ] = ACTIONS(5191), + [anon_sym_GT_GT_EQ] = ACTIONS(5191), + [anon_sym_AMP_EQ] = ACTIONS(5191), + [anon_sym_CARET_EQ] = ACTIONS(5191), + [anon_sym_PIPE_EQ] = ACTIONS(5191), + [anon_sym_and_eq] = ACTIONS(5189), + [anon_sym_or_eq] = ACTIONS(5189), + [anon_sym_xor_eq] = ACTIONS(5189), + [anon_sym_LT_EQ_GT] = ACTIONS(5191), + [anon_sym_or] = ACTIONS(5189), + [anon_sym_and] = ACTIONS(5189), + [anon_sym_bitor] = ACTIONS(5189), + [anon_sym_xor] = ACTIONS(5189), + [anon_sym_bitand] = ACTIONS(5189), + [anon_sym_not_eq] = ACTIONS(5189), + [anon_sym_DASH_DASH] = ACTIONS(5191), + [anon_sym_PLUS_PLUS] = ACTIONS(5191), + [anon_sym_DOT] = ACTIONS(5189), + [anon_sym_DOT_STAR] = ACTIONS(5191), + [anon_sym_DASH_GT] = ACTIONS(5191), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5191), + [sym_auto] = ACTIONS(5189), + [anon_sym_decltype] = ACTIONS(5189), + }, + [2108] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym_RBRACE] = ACTIONS(2783), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_friend] = ACTIONS(2781), + [anon_sym_public] = ACTIONS(2781), + [anon_sym_private] = ACTIONS(2781), + [anon_sym_protected] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + }, + [2109] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym_RBRACE] = ACTIONS(3023), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_friend] = ACTIONS(3021), + [anon_sym_public] = ACTIONS(3021), + [anon_sym_private] = ACTIONS(3021), + [anon_sym_protected] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + }, + [2110] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym_RBRACE] = ACTIONS(3048), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_friend] = ACTIONS(3046), + [anon_sym_public] = ACTIONS(3046), + [anon_sym_private] = ACTIONS(3046), + [anon_sym_protected] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + }, + [2111] = { + [sym__identifier] = ACTIONS(5193), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5195), + [anon_sym_COMMA] = ACTIONS(5195), + [anon_sym_RPAREN] = ACTIONS(5195), + [aux_sym_preproc_if_token2] = ACTIONS(5195), + [aux_sym_preproc_else_token1] = ACTIONS(5195), + [aux_sym_preproc_elif_token1] = ACTIONS(5193), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5195), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5195), + [anon_sym_LPAREN2] = ACTIONS(5195), + [anon_sym_DASH] = ACTIONS(5193), + [anon_sym_PLUS] = ACTIONS(5193), + [anon_sym_STAR] = ACTIONS(5193), + [anon_sym_SLASH] = ACTIONS(5193), + [anon_sym_PERCENT] = ACTIONS(5193), + [anon_sym_PIPE_PIPE] = ACTIONS(5195), + [anon_sym_AMP_AMP] = ACTIONS(5195), + [anon_sym_PIPE] = ACTIONS(5193), + [anon_sym_CARET] = ACTIONS(5193), + [anon_sym_AMP] = ACTIONS(5193), + [anon_sym_EQ_EQ] = ACTIONS(5195), + [anon_sym_BANG_EQ] = ACTIONS(5195), + [anon_sym_GT] = ACTIONS(5193), + [anon_sym_GT_EQ] = ACTIONS(5195), + [anon_sym_LT_EQ] = ACTIONS(5193), + [anon_sym_LT] = ACTIONS(5193), + [anon_sym_LT_LT] = ACTIONS(5193), + [anon_sym_GT_GT] = ACTIONS(5193), + [anon_sym_SEMI] = ACTIONS(5195), + [anon_sym___attribute__] = ACTIONS(5193), + [anon_sym_LBRACE] = ACTIONS(5195), + [anon_sym_RBRACE] = ACTIONS(5195), + [anon_sym_LBRACK] = ACTIONS(5195), + [anon_sym_RBRACK] = ACTIONS(5195), + [anon_sym_EQ] = ACTIONS(5193), + [anon_sym_COLON] = ACTIONS(5195), + [anon_sym_QMARK] = ACTIONS(5195), + [anon_sym_STAR_EQ] = ACTIONS(5195), + [anon_sym_SLASH_EQ] = ACTIONS(5195), + [anon_sym_PERCENT_EQ] = ACTIONS(5195), + [anon_sym_PLUS_EQ] = ACTIONS(5195), + [anon_sym_DASH_EQ] = ACTIONS(5195), + [anon_sym_LT_LT_EQ] = ACTIONS(5195), + [anon_sym_GT_GT_EQ] = ACTIONS(5195), + [anon_sym_AMP_EQ] = ACTIONS(5195), + [anon_sym_CARET_EQ] = ACTIONS(5195), + [anon_sym_PIPE_EQ] = ACTIONS(5195), + [anon_sym_and_eq] = ACTIONS(5193), + [anon_sym_or_eq] = ACTIONS(5193), + [anon_sym_xor_eq] = ACTIONS(5193), + [anon_sym_LT_EQ_GT] = ACTIONS(5195), + [anon_sym_or] = ACTIONS(5193), + [anon_sym_and] = ACTIONS(5193), + [anon_sym_bitor] = ACTIONS(5193), + [anon_sym_xor] = ACTIONS(5193), + [anon_sym_bitand] = ACTIONS(5193), + [anon_sym_not_eq] = ACTIONS(5193), + [anon_sym_DASH_DASH] = ACTIONS(5195), + [anon_sym_PLUS_PLUS] = ACTIONS(5195), + [anon_sym_DOT] = ACTIONS(5193), + [anon_sym_DOT_STAR] = ACTIONS(5195), + [anon_sym_DASH_GT] = ACTIONS(5195), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5195), + [sym_auto] = ACTIONS(5193), + [anon_sym_decltype] = ACTIONS(5193), + }, + [2112] = { + [sym__identifier] = ACTIONS(5257), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5259), + [anon_sym_COMMA] = ACTIONS(5259), + [anon_sym_RPAREN] = ACTIONS(5259), + [aux_sym_preproc_if_token2] = ACTIONS(5259), + [aux_sym_preproc_else_token1] = ACTIONS(5259), + [aux_sym_preproc_elif_token1] = ACTIONS(5257), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5259), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5259), + [anon_sym_LPAREN2] = ACTIONS(5259), + [anon_sym_DASH] = ACTIONS(5257), + [anon_sym_PLUS] = ACTIONS(5257), + [anon_sym_STAR] = ACTIONS(5257), + [anon_sym_SLASH] = ACTIONS(5257), + [anon_sym_PERCENT] = ACTIONS(5257), + [anon_sym_PIPE_PIPE] = ACTIONS(5259), + [anon_sym_AMP_AMP] = ACTIONS(5259), + [anon_sym_PIPE] = ACTIONS(5257), + [anon_sym_CARET] = ACTIONS(5257), + [anon_sym_AMP] = ACTIONS(5257), + [anon_sym_EQ_EQ] = ACTIONS(5259), + [anon_sym_BANG_EQ] = ACTIONS(5259), + [anon_sym_GT] = ACTIONS(5257), + [anon_sym_GT_EQ] = ACTIONS(5259), + [anon_sym_LT_EQ] = ACTIONS(5257), + [anon_sym_LT] = ACTIONS(5257), + [anon_sym_LT_LT] = ACTIONS(5257), + [anon_sym_GT_GT] = ACTIONS(5257), + [anon_sym_SEMI] = ACTIONS(5259), + [anon_sym___attribute__] = ACTIONS(5257), + [anon_sym_LBRACE] = ACTIONS(5259), + [anon_sym_RBRACE] = ACTIONS(5259), + [anon_sym_LBRACK] = ACTIONS(5259), + [anon_sym_RBRACK] = ACTIONS(5259), + [anon_sym_EQ] = ACTIONS(5257), + [anon_sym_COLON] = ACTIONS(5259), + [anon_sym_QMARK] = ACTIONS(5259), + [anon_sym_STAR_EQ] = ACTIONS(5259), + [anon_sym_SLASH_EQ] = ACTIONS(5259), + [anon_sym_PERCENT_EQ] = ACTIONS(5259), + [anon_sym_PLUS_EQ] = ACTIONS(5259), + [anon_sym_DASH_EQ] = ACTIONS(5259), + [anon_sym_LT_LT_EQ] = ACTIONS(5259), + [anon_sym_GT_GT_EQ] = ACTIONS(5259), + [anon_sym_AMP_EQ] = ACTIONS(5259), + [anon_sym_CARET_EQ] = ACTIONS(5259), + [anon_sym_PIPE_EQ] = ACTIONS(5259), + [anon_sym_and_eq] = ACTIONS(5257), + [anon_sym_or_eq] = ACTIONS(5257), + [anon_sym_xor_eq] = ACTIONS(5257), + [anon_sym_LT_EQ_GT] = ACTIONS(5259), + [anon_sym_or] = ACTIONS(5257), + [anon_sym_and] = ACTIONS(5257), + [anon_sym_bitor] = ACTIONS(5257), + [anon_sym_xor] = ACTIONS(5257), + [anon_sym_bitand] = ACTIONS(5257), + [anon_sym_not_eq] = ACTIONS(5257), + [anon_sym_DASH_DASH] = ACTIONS(5259), + [anon_sym_PLUS_PLUS] = ACTIONS(5259), + [anon_sym_DOT] = ACTIONS(5257), + [anon_sym_DOT_STAR] = ACTIONS(5259), + [anon_sym_DASH_GT] = ACTIONS(5259), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5259), + [sym_auto] = ACTIONS(5257), + [anon_sym_decltype] = ACTIONS(5257), + }, + [2113] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym_RBRACE] = ACTIONS(2917), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_friend] = ACTIONS(2915), + [anon_sym_public] = ACTIONS(2915), + [anon_sym_private] = ACTIONS(2915), + [anon_sym_protected] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + }, + [2114] = { + [sym__identifier] = ACTIONS(5137), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5139), + [anon_sym_COMMA] = ACTIONS(5139), + [anon_sym_RPAREN] = ACTIONS(5139), + [aux_sym_preproc_if_token2] = ACTIONS(5139), + [aux_sym_preproc_else_token1] = ACTIONS(5139), + [aux_sym_preproc_elif_token1] = ACTIONS(5137), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5139), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5139), + [anon_sym_LPAREN2] = ACTIONS(5139), + [anon_sym_DASH] = ACTIONS(5137), + [anon_sym_PLUS] = ACTIONS(5137), + [anon_sym_STAR] = ACTIONS(5137), + [anon_sym_SLASH] = ACTIONS(5137), + [anon_sym_PERCENT] = ACTIONS(5137), + [anon_sym_PIPE_PIPE] = ACTIONS(5139), + [anon_sym_AMP_AMP] = ACTIONS(5139), + [anon_sym_PIPE] = ACTIONS(5137), + [anon_sym_CARET] = ACTIONS(5137), + [anon_sym_AMP] = ACTIONS(5137), + [anon_sym_EQ_EQ] = ACTIONS(5139), + [anon_sym_BANG_EQ] = ACTIONS(5139), + [anon_sym_GT] = ACTIONS(5137), + [anon_sym_GT_EQ] = ACTIONS(5139), + [anon_sym_LT_EQ] = ACTIONS(5137), + [anon_sym_LT] = ACTIONS(5137), + [anon_sym_LT_LT] = ACTIONS(5137), + [anon_sym_GT_GT] = ACTIONS(5137), + [anon_sym_SEMI] = ACTIONS(5139), + [anon_sym___attribute__] = ACTIONS(5137), + [anon_sym_LBRACE] = ACTIONS(5139), + [anon_sym_RBRACE] = ACTIONS(5139), + [anon_sym_LBRACK] = ACTIONS(5139), + [anon_sym_RBRACK] = ACTIONS(5139), + [anon_sym_EQ] = ACTIONS(5137), + [anon_sym_COLON] = ACTIONS(5139), + [anon_sym_QMARK] = ACTIONS(5139), + [anon_sym_STAR_EQ] = ACTIONS(5139), + [anon_sym_SLASH_EQ] = ACTIONS(5139), + [anon_sym_PERCENT_EQ] = ACTIONS(5139), + [anon_sym_PLUS_EQ] = ACTIONS(5139), + [anon_sym_DASH_EQ] = ACTIONS(5139), + [anon_sym_LT_LT_EQ] = ACTIONS(5139), + [anon_sym_GT_GT_EQ] = ACTIONS(5139), + [anon_sym_AMP_EQ] = ACTIONS(5139), + [anon_sym_CARET_EQ] = ACTIONS(5139), + [anon_sym_PIPE_EQ] = ACTIONS(5139), + [anon_sym_and_eq] = ACTIONS(5137), + [anon_sym_or_eq] = ACTIONS(5137), + [anon_sym_xor_eq] = ACTIONS(5137), + [anon_sym_LT_EQ_GT] = ACTIONS(5139), + [anon_sym_or] = ACTIONS(5137), + [anon_sym_and] = ACTIONS(5137), + [anon_sym_bitor] = ACTIONS(5137), + [anon_sym_xor] = ACTIONS(5137), + [anon_sym_bitand] = ACTIONS(5137), + [anon_sym_not_eq] = ACTIONS(5137), + [anon_sym_DASH_DASH] = ACTIONS(5139), + [anon_sym_PLUS_PLUS] = ACTIONS(5139), + [anon_sym_DOT] = ACTIONS(5137), + [anon_sym_DOT_STAR] = ACTIONS(5139), + [anon_sym_DASH_GT] = ACTIONS(5139), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5139), + [sym_auto] = ACTIONS(5137), + [anon_sym_decltype] = ACTIONS(5137), + }, + [2115] = { + [sym__identifier] = ACTIONS(5279), + [aux_sym_preproc_def_token1] = ACTIONS(5279), + [aux_sym_preproc_if_token1] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5279), + [sym_preproc_directive] = ACTIONS(5279), + [anon_sym_LPAREN2] = ACTIONS(5281), + [anon_sym_TILDE] = ACTIONS(5281), + [anon_sym_STAR] = ACTIONS(5281), + [anon_sym_AMP_AMP] = ACTIONS(5281), + [anon_sym_AMP] = ACTIONS(5279), + [anon_sym___extension__] = ACTIONS(5279), + [anon_sym_typedef] = ACTIONS(5279), + [anon_sym_extern] = ACTIONS(5279), + [anon_sym___attribute__] = ACTIONS(5279), + [anon_sym_COLON_COLON] = ACTIONS(5281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5281), + [anon_sym___declspec] = ACTIONS(5279), + [anon_sym___based] = ACTIONS(5279), + [anon_sym_RBRACE] = ACTIONS(5281), + [anon_sym_signed] = ACTIONS(5279), + [anon_sym_unsigned] = ACTIONS(5279), + [anon_sym_long] = ACTIONS(5279), + [anon_sym_short] = ACTIONS(5279), + [anon_sym_LBRACK] = ACTIONS(5279), + [anon_sym_static] = ACTIONS(5279), + [anon_sym_register] = ACTIONS(5279), + [anon_sym_inline] = ACTIONS(5279), + [anon_sym___inline] = ACTIONS(5279), + [anon_sym___inline__] = ACTIONS(5279), + [anon_sym___forceinline] = ACTIONS(5279), + [anon_sym_thread_local] = ACTIONS(5279), + [anon_sym___thread] = ACTIONS(5279), + [anon_sym_const] = ACTIONS(5279), + [anon_sym_constexpr] = ACTIONS(5279), + [anon_sym_volatile] = ACTIONS(5279), + [anon_sym_restrict] = ACTIONS(5279), + [anon_sym___restrict__] = ACTIONS(5279), + [anon_sym__Atomic] = ACTIONS(5279), + [anon_sym__Noreturn] = ACTIONS(5279), + [anon_sym_noreturn] = ACTIONS(5279), + [anon_sym_mutable] = ACTIONS(5279), + [anon_sym_constinit] = ACTIONS(5279), + [anon_sym_consteval] = ACTIONS(5279), + [anon_sym_alignas] = ACTIONS(5279), + [anon_sym__Alignas] = ACTIONS(5279), + [sym_primitive_type] = ACTIONS(5279), + [anon_sym_enum] = ACTIONS(5279), + [anon_sym_class] = ACTIONS(5279), + [anon_sym_struct] = ACTIONS(5279), + [anon_sym_union] = ACTIONS(5279), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5281), + [sym_auto] = ACTIONS(5279), + [anon_sym_decltype] = ACTIONS(5279), + [sym_virtual] = ACTIONS(5279), + [anon_sym_explicit] = ACTIONS(5279), + [anon_sym_typename] = ACTIONS(5279), + [anon_sym_template] = ACTIONS(5279), + [anon_sym_operator] = ACTIONS(5279), + [anon_sym_friend] = ACTIONS(5279), + [anon_sym_public] = ACTIONS(5279), + [anon_sym_private] = ACTIONS(5279), + [anon_sym_protected] = ACTIONS(5279), + [anon_sym_using] = ACTIONS(5279), + [anon_sym_static_assert] = ACTIONS(5279), + }, + [2116] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym_RBRACE] = ACTIONS(2899), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_friend] = ACTIONS(2897), + [anon_sym_public] = ACTIONS(2897), + [anon_sym_private] = ACTIONS(2897), + [anon_sym_protected] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + }, + [2117] = { + [sym_attribute_declaration] = STATE(2117), + [aux_sym_attributed_declarator_repeat1] = STATE(2117), + [sym__identifier] = ACTIONS(5696), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5698), + [anon_sym_COMMA] = ACTIONS(5698), + [anon_sym_RPAREN] = ACTIONS(5698), + [aux_sym_preproc_if_token2] = ACTIONS(5698), + [aux_sym_preproc_else_token1] = ACTIONS(5698), + [aux_sym_preproc_elif_token1] = ACTIONS(5696), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5698), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5698), + [anon_sym_LPAREN2] = ACTIONS(5698), + [anon_sym_DASH] = ACTIONS(5696), + [anon_sym_PLUS] = ACTIONS(5696), + [anon_sym_STAR] = ACTIONS(5696), + [anon_sym_SLASH] = ACTIONS(5696), + [anon_sym_PERCENT] = ACTIONS(5696), + [anon_sym_PIPE_PIPE] = ACTIONS(5698), + [anon_sym_AMP_AMP] = ACTIONS(5698), + [anon_sym_PIPE] = ACTIONS(5696), + [anon_sym_CARET] = ACTIONS(5696), + [anon_sym_AMP] = ACTIONS(5696), + [anon_sym_EQ_EQ] = ACTIONS(5698), + [anon_sym_BANG_EQ] = ACTIONS(5698), + [anon_sym_GT] = ACTIONS(5696), + [anon_sym_GT_EQ] = ACTIONS(5698), + [anon_sym_LT_EQ] = ACTIONS(5696), + [anon_sym_LT] = ACTIONS(5696), + [anon_sym_LT_LT] = ACTIONS(5696), + [anon_sym_GT_GT] = ACTIONS(5696), + [anon_sym_SEMI] = ACTIONS(5698), + [anon_sym___attribute__] = ACTIONS(5696), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5700), + [anon_sym_RBRACE] = ACTIONS(5698), + [anon_sym_LBRACK] = ACTIONS(5696), + [anon_sym_RBRACK] = ACTIONS(5698), + [anon_sym_EQ] = ACTIONS(5696), + [anon_sym_COLON] = ACTIONS(5698), + [anon_sym_QMARK] = ACTIONS(5698), + [anon_sym_STAR_EQ] = ACTIONS(5698), + [anon_sym_SLASH_EQ] = ACTIONS(5698), + [anon_sym_PERCENT_EQ] = ACTIONS(5698), + [anon_sym_PLUS_EQ] = ACTIONS(5698), + [anon_sym_DASH_EQ] = ACTIONS(5698), + [anon_sym_LT_LT_EQ] = ACTIONS(5698), + [anon_sym_GT_GT_EQ] = ACTIONS(5698), + [anon_sym_AMP_EQ] = ACTIONS(5698), + [anon_sym_CARET_EQ] = ACTIONS(5698), + [anon_sym_PIPE_EQ] = ACTIONS(5698), + [anon_sym_and_eq] = ACTIONS(5696), + [anon_sym_or_eq] = ACTIONS(5696), + [anon_sym_xor_eq] = ACTIONS(5696), + [anon_sym_LT_EQ_GT] = ACTIONS(5698), + [anon_sym_or] = ACTIONS(5696), + [anon_sym_and] = ACTIONS(5696), + [anon_sym_bitor] = ACTIONS(5696), + [anon_sym_xor] = ACTIONS(5696), + [anon_sym_bitand] = ACTIONS(5696), + [anon_sym_not_eq] = ACTIONS(5696), + [anon_sym_DASH_DASH] = ACTIONS(5698), + [anon_sym_PLUS_PLUS] = ACTIONS(5698), + [anon_sym_DOT] = ACTIONS(5696), + [anon_sym_DOT_STAR] = ACTIONS(5698), + [anon_sym_DASH_GT] = ACTIONS(5698), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5698), + }, + [2118] = { + [sym__identifier] = ACTIONS(5319), + [aux_sym_preproc_def_token1] = ACTIONS(5319), + [aux_sym_preproc_if_token1] = ACTIONS(5319), + [aux_sym_preproc_if_token2] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5319), + [sym_preproc_directive] = ACTIONS(5319), + [anon_sym_LPAREN2] = ACTIONS(5321), + [anon_sym_TILDE] = ACTIONS(5321), + [anon_sym_STAR] = ACTIONS(5321), + [anon_sym_AMP_AMP] = ACTIONS(5321), + [anon_sym_AMP] = ACTIONS(5319), + [anon_sym___extension__] = ACTIONS(5319), + [anon_sym_typedef] = ACTIONS(5319), + [anon_sym_extern] = ACTIONS(5319), + [anon_sym___attribute__] = ACTIONS(5319), + [anon_sym_COLON_COLON] = ACTIONS(5321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5321), + [anon_sym___declspec] = ACTIONS(5319), + [anon_sym___based] = ACTIONS(5319), + [anon_sym_signed] = ACTIONS(5319), + [anon_sym_unsigned] = ACTIONS(5319), + [anon_sym_long] = ACTIONS(5319), + [anon_sym_short] = ACTIONS(5319), + [anon_sym_LBRACK] = ACTIONS(5319), + [anon_sym_static] = ACTIONS(5319), + [anon_sym_register] = ACTIONS(5319), + [anon_sym_inline] = ACTIONS(5319), + [anon_sym___inline] = ACTIONS(5319), + [anon_sym___inline__] = ACTIONS(5319), + [anon_sym___forceinline] = ACTIONS(5319), + [anon_sym_thread_local] = ACTIONS(5319), + [anon_sym___thread] = ACTIONS(5319), + [anon_sym_const] = ACTIONS(5319), + [anon_sym_constexpr] = ACTIONS(5319), + [anon_sym_volatile] = ACTIONS(5319), + [anon_sym_restrict] = ACTIONS(5319), + [anon_sym___restrict__] = ACTIONS(5319), + [anon_sym__Atomic] = ACTIONS(5319), + [anon_sym__Noreturn] = ACTIONS(5319), + [anon_sym_noreturn] = ACTIONS(5319), + [anon_sym_mutable] = ACTIONS(5319), + [anon_sym_constinit] = ACTIONS(5319), + [anon_sym_consteval] = ACTIONS(5319), + [anon_sym_alignas] = ACTIONS(5319), + [anon_sym__Alignas] = ACTIONS(5319), + [sym_primitive_type] = ACTIONS(5319), + [anon_sym_enum] = ACTIONS(5319), + [anon_sym_class] = ACTIONS(5319), + [anon_sym_struct] = ACTIONS(5319), + [anon_sym_union] = ACTIONS(5319), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5321), + [sym_auto] = ACTIONS(5319), + [anon_sym_decltype] = ACTIONS(5319), + [sym_virtual] = ACTIONS(5319), + [anon_sym_explicit] = ACTIONS(5319), + [anon_sym_typename] = ACTIONS(5319), + [anon_sym_template] = ACTIONS(5319), + [anon_sym_operator] = ACTIONS(5319), + [anon_sym_friend] = ACTIONS(5319), + [anon_sym_public] = ACTIONS(5319), + [anon_sym_private] = ACTIONS(5319), + [anon_sym_protected] = ACTIONS(5319), + [anon_sym_using] = ACTIONS(5319), + [anon_sym_static_assert] = ACTIONS(5319), + }, + [2119] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_RBRACE] = ACTIONS(5243), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [2120] = { + [sym__identifier] = ACTIONS(5315), + [aux_sym_preproc_def_token1] = ACTIONS(5315), + [aux_sym_preproc_if_token1] = ACTIONS(5315), + [aux_sym_preproc_if_token2] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5315), + [sym_preproc_directive] = ACTIONS(5315), + [anon_sym_LPAREN2] = ACTIONS(5317), + [anon_sym_TILDE] = ACTIONS(5317), + [anon_sym_STAR] = ACTIONS(5317), + [anon_sym_AMP_AMP] = ACTIONS(5317), + [anon_sym_AMP] = ACTIONS(5315), + [anon_sym___extension__] = ACTIONS(5315), + [anon_sym_typedef] = ACTIONS(5315), + [anon_sym_extern] = ACTIONS(5315), + [anon_sym___attribute__] = ACTIONS(5315), + [anon_sym_COLON_COLON] = ACTIONS(5317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5317), + [anon_sym___declspec] = ACTIONS(5315), + [anon_sym___based] = ACTIONS(5315), + [anon_sym_signed] = ACTIONS(5315), + [anon_sym_unsigned] = ACTIONS(5315), + [anon_sym_long] = ACTIONS(5315), + [anon_sym_short] = ACTIONS(5315), + [anon_sym_LBRACK] = ACTIONS(5315), + [anon_sym_static] = ACTIONS(5315), + [anon_sym_register] = ACTIONS(5315), + [anon_sym_inline] = ACTIONS(5315), + [anon_sym___inline] = ACTIONS(5315), + [anon_sym___inline__] = ACTIONS(5315), + [anon_sym___forceinline] = ACTIONS(5315), + [anon_sym_thread_local] = ACTIONS(5315), + [anon_sym___thread] = ACTIONS(5315), + [anon_sym_const] = ACTIONS(5315), + [anon_sym_constexpr] = ACTIONS(5315), + [anon_sym_volatile] = ACTIONS(5315), + [anon_sym_restrict] = ACTIONS(5315), + [anon_sym___restrict__] = ACTIONS(5315), + [anon_sym__Atomic] = ACTIONS(5315), + [anon_sym__Noreturn] = ACTIONS(5315), + [anon_sym_noreturn] = ACTIONS(5315), + [anon_sym_mutable] = ACTIONS(5315), + [anon_sym_constinit] = ACTIONS(5315), + [anon_sym_consteval] = ACTIONS(5315), + [anon_sym_alignas] = ACTIONS(5315), + [anon_sym__Alignas] = ACTIONS(5315), + [sym_primitive_type] = ACTIONS(5315), + [anon_sym_enum] = ACTIONS(5315), + [anon_sym_class] = ACTIONS(5315), + [anon_sym_struct] = ACTIONS(5315), + [anon_sym_union] = ACTIONS(5315), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5317), + [sym_auto] = ACTIONS(5315), + [anon_sym_decltype] = ACTIONS(5315), + [sym_virtual] = ACTIONS(5315), + [anon_sym_explicit] = ACTIONS(5315), + [anon_sym_typename] = ACTIONS(5315), + [anon_sym_template] = ACTIONS(5315), + [anon_sym_operator] = ACTIONS(5315), + [anon_sym_friend] = ACTIONS(5315), + [anon_sym_public] = ACTIONS(5315), + [anon_sym_private] = ACTIONS(5315), + [anon_sym_protected] = ACTIONS(5315), + [anon_sym_using] = ACTIONS(5315), + [anon_sym_static_assert] = ACTIONS(5315), + }, + [2121] = { + [sym__identifier] = ACTIONS(5307), + [aux_sym_preproc_def_token1] = ACTIONS(5307), + [aux_sym_preproc_if_token1] = ACTIONS(5307), + [aux_sym_preproc_if_token2] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5307), + [sym_preproc_directive] = ACTIONS(5307), + [anon_sym_LPAREN2] = ACTIONS(5309), + [anon_sym_TILDE] = ACTIONS(5309), + [anon_sym_STAR] = ACTIONS(5309), + [anon_sym_AMP_AMP] = ACTIONS(5309), + [anon_sym_AMP] = ACTIONS(5307), + [anon_sym___extension__] = ACTIONS(5307), + [anon_sym_typedef] = ACTIONS(5307), + [anon_sym_extern] = ACTIONS(5307), + [anon_sym___attribute__] = ACTIONS(5307), + [anon_sym_COLON_COLON] = ACTIONS(5309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5309), + [anon_sym___declspec] = ACTIONS(5307), + [anon_sym___based] = ACTIONS(5307), + [anon_sym_signed] = ACTIONS(5307), + [anon_sym_unsigned] = ACTIONS(5307), + [anon_sym_long] = ACTIONS(5307), + [anon_sym_short] = ACTIONS(5307), + [anon_sym_LBRACK] = ACTIONS(5307), + [anon_sym_static] = ACTIONS(5307), + [anon_sym_register] = ACTIONS(5307), + [anon_sym_inline] = ACTIONS(5307), + [anon_sym___inline] = ACTIONS(5307), + [anon_sym___inline__] = ACTIONS(5307), + [anon_sym___forceinline] = ACTIONS(5307), + [anon_sym_thread_local] = ACTIONS(5307), + [anon_sym___thread] = ACTIONS(5307), + [anon_sym_const] = ACTIONS(5307), + [anon_sym_constexpr] = ACTIONS(5307), + [anon_sym_volatile] = ACTIONS(5307), + [anon_sym_restrict] = ACTIONS(5307), + [anon_sym___restrict__] = ACTIONS(5307), + [anon_sym__Atomic] = ACTIONS(5307), + [anon_sym__Noreturn] = ACTIONS(5307), + [anon_sym_noreturn] = ACTIONS(5307), + [anon_sym_mutable] = ACTIONS(5307), + [anon_sym_constinit] = ACTIONS(5307), + [anon_sym_consteval] = ACTIONS(5307), + [anon_sym_alignas] = ACTIONS(5307), + [anon_sym__Alignas] = ACTIONS(5307), + [sym_primitive_type] = ACTIONS(5307), + [anon_sym_enum] = ACTIONS(5307), + [anon_sym_class] = ACTIONS(5307), + [anon_sym_struct] = ACTIONS(5307), + [anon_sym_union] = ACTIONS(5307), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5309), + [sym_auto] = ACTIONS(5307), + [anon_sym_decltype] = ACTIONS(5307), + [sym_virtual] = ACTIONS(5307), + [anon_sym_explicit] = ACTIONS(5307), + [anon_sym_typename] = ACTIONS(5307), + [anon_sym_template] = ACTIONS(5307), + [anon_sym_operator] = ACTIONS(5307), + [anon_sym_friend] = ACTIONS(5307), + [anon_sym_public] = ACTIONS(5307), + [anon_sym_private] = ACTIONS(5307), + [anon_sym_protected] = ACTIONS(5307), + [anon_sym_using] = ACTIONS(5307), + [anon_sym_static_assert] = ACTIONS(5307), + }, + [2122] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token2] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [2123] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token2] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [2124] = { + [sym__identifier] = ACTIONS(5295), + [aux_sym_preproc_def_token1] = ACTIONS(5295), + [aux_sym_preproc_if_token1] = ACTIONS(5295), + [aux_sym_preproc_if_token2] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5295), + [sym_preproc_directive] = ACTIONS(5295), + [anon_sym_LPAREN2] = ACTIONS(5297), + [anon_sym_TILDE] = ACTIONS(5297), + [anon_sym_STAR] = ACTIONS(5297), + [anon_sym_AMP_AMP] = ACTIONS(5297), + [anon_sym_AMP] = ACTIONS(5295), + [anon_sym___extension__] = ACTIONS(5295), + [anon_sym_typedef] = ACTIONS(5295), + [anon_sym_extern] = ACTIONS(5295), + [anon_sym___attribute__] = ACTIONS(5295), + [anon_sym_COLON_COLON] = ACTIONS(5297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5297), + [anon_sym___declspec] = ACTIONS(5295), + [anon_sym___based] = ACTIONS(5295), + [anon_sym_signed] = ACTIONS(5295), + [anon_sym_unsigned] = ACTIONS(5295), + [anon_sym_long] = ACTIONS(5295), + [anon_sym_short] = ACTIONS(5295), + [anon_sym_LBRACK] = ACTIONS(5295), + [anon_sym_static] = ACTIONS(5295), + [anon_sym_register] = ACTIONS(5295), + [anon_sym_inline] = ACTIONS(5295), + [anon_sym___inline] = ACTIONS(5295), + [anon_sym___inline__] = ACTIONS(5295), + [anon_sym___forceinline] = ACTIONS(5295), + [anon_sym_thread_local] = ACTIONS(5295), + [anon_sym___thread] = ACTIONS(5295), + [anon_sym_const] = ACTIONS(5295), + [anon_sym_constexpr] = ACTIONS(5295), + [anon_sym_volatile] = ACTIONS(5295), + [anon_sym_restrict] = ACTIONS(5295), + [anon_sym___restrict__] = ACTIONS(5295), + [anon_sym__Atomic] = ACTIONS(5295), + [anon_sym__Noreturn] = ACTIONS(5295), + [anon_sym_noreturn] = ACTIONS(5295), + [anon_sym_mutable] = ACTIONS(5295), + [anon_sym_constinit] = ACTIONS(5295), + [anon_sym_consteval] = ACTIONS(5295), + [anon_sym_alignas] = ACTIONS(5295), + [anon_sym__Alignas] = ACTIONS(5295), + [sym_primitive_type] = ACTIONS(5295), + [anon_sym_enum] = ACTIONS(5295), + [anon_sym_class] = ACTIONS(5295), + [anon_sym_struct] = ACTIONS(5295), + [anon_sym_union] = ACTIONS(5295), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5297), + [sym_auto] = ACTIONS(5295), + [anon_sym_decltype] = ACTIONS(5295), + [sym_virtual] = ACTIONS(5295), + [anon_sym_explicit] = ACTIONS(5295), + [anon_sym_typename] = ACTIONS(5295), + [anon_sym_template] = ACTIONS(5295), + [anon_sym_operator] = ACTIONS(5295), + [anon_sym_friend] = ACTIONS(5295), + [anon_sym_public] = ACTIONS(5295), + [anon_sym_private] = ACTIONS(5295), + [anon_sym_protected] = ACTIONS(5295), + [anon_sym_using] = ACTIONS(5295), + [anon_sym_static_assert] = ACTIONS(5295), + }, + [2125] = { + [sym__identifier] = ACTIONS(2755), + [aux_sym_preproc_def_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token1] = ACTIONS(2755), + [aux_sym_preproc_if_token2] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2755), + [sym_preproc_directive] = ACTIONS(2755), + [anon_sym_LPAREN2] = ACTIONS(2757), + [anon_sym_TILDE] = ACTIONS(2757), + [anon_sym_STAR] = ACTIONS(2757), + [anon_sym_AMP_AMP] = ACTIONS(2757), + [anon_sym_AMP] = ACTIONS(2755), + [anon_sym___extension__] = ACTIONS(2755), + [anon_sym_typedef] = ACTIONS(2755), + [anon_sym_extern] = ACTIONS(2755), + [anon_sym___attribute__] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2757), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2757), + [anon_sym___declspec] = ACTIONS(2755), + [anon_sym___based] = ACTIONS(2755), + [anon_sym_signed] = ACTIONS(2755), + [anon_sym_unsigned] = ACTIONS(2755), + [anon_sym_long] = ACTIONS(2755), + [anon_sym_short] = ACTIONS(2755), + [anon_sym_LBRACK] = ACTIONS(2755), + [anon_sym_static] = ACTIONS(2755), + [anon_sym_register] = ACTIONS(2755), + [anon_sym_inline] = ACTIONS(2755), + [anon_sym___inline] = ACTIONS(2755), + [anon_sym___inline__] = ACTIONS(2755), + [anon_sym___forceinline] = ACTIONS(2755), + [anon_sym_thread_local] = ACTIONS(2755), + [anon_sym___thread] = ACTIONS(2755), + [anon_sym_const] = ACTIONS(2755), + [anon_sym_constexpr] = ACTIONS(2755), + [anon_sym_volatile] = ACTIONS(2755), + [anon_sym_restrict] = ACTIONS(2755), + [anon_sym___restrict__] = ACTIONS(2755), + [anon_sym__Atomic] = ACTIONS(2755), + [anon_sym__Noreturn] = ACTIONS(2755), + [anon_sym_noreturn] = ACTIONS(2755), + [anon_sym_mutable] = ACTIONS(2755), + [anon_sym_constinit] = ACTIONS(2755), + [anon_sym_consteval] = ACTIONS(2755), + [anon_sym_alignas] = ACTIONS(2755), + [anon_sym__Alignas] = ACTIONS(2755), + [sym_primitive_type] = ACTIONS(2755), + [anon_sym_enum] = ACTIONS(2755), + [anon_sym_class] = ACTIONS(2755), + [anon_sym_struct] = ACTIONS(2755), + [anon_sym_union] = ACTIONS(2755), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2757), + [sym_auto] = ACTIONS(2755), + [anon_sym_decltype] = ACTIONS(2755), + [sym_virtual] = ACTIONS(2755), + [anon_sym_explicit] = ACTIONS(2755), + [anon_sym_typename] = ACTIONS(2755), + [anon_sym_template] = ACTIONS(2755), + [anon_sym_operator] = ACTIONS(2755), + [anon_sym_friend] = ACTIONS(2755), + [anon_sym_public] = ACTIONS(2755), + [anon_sym_private] = ACTIONS(2755), + [anon_sym_protected] = ACTIONS(2755), + [anon_sym_using] = ACTIONS(2755), + [anon_sym_static_assert] = ACTIONS(2755), + }, + [2126] = { + [sym__identifier] = ACTIONS(5291), + [aux_sym_preproc_def_token1] = ACTIONS(5291), + [aux_sym_preproc_if_token1] = ACTIONS(5291), + [aux_sym_preproc_if_token2] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5291), + [sym_preproc_directive] = ACTIONS(5291), + [anon_sym_LPAREN2] = ACTIONS(5293), + [anon_sym_TILDE] = ACTIONS(5293), + [anon_sym_STAR] = ACTIONS(5293), + [anon_sym_AMP_AMP] = ACTIONS(5293), + [anon_sym_AMP] = ACTIONS(5291), + [anon_sym___extension__] = ACTIONS(5291), + [anon_sym_typedef] = ACTIONS(5291), + [anon_sym_extern] = ACTIONS(5291), + [anon_sym___attribute__] = ACTIONS(5291), + [anon_sym_COLON_COLON] = ACTIONS(5293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5293), + [anon_sym___declspec] = ACTIONS(5291), + [anon_sym___based] = ACTIONS(5291), + [anon_sym_signed] = ACTIONS(5291), + [anon_sym_unsigned] = ACTIONS(5291), + [anon_sym_long] = ACTIONS(5291), + [anon_sym_short] = ACTIONS(5291), + [anon_sym_LBRACK] = ACTIONS(5291), + [anon_sym_static] = ACTIONS(5291), + [anon_sym_register] = ACTIONS(5291), + [anon_sym_inline] = ACTIONS(5291), + [anon_sym___inline] = ACTIONS(5291), + [anon_sym___inline__] = ACTIONS(5291), + [anon_sym___forceinline] = ACTIONS(5291), + [anon_sym_thread_local] = ACTIONS(5291), + [anon_sym___thread] = ACTIONS(5291), + [anon_sym_const] = ACTIONS(5291), + [anon_sym_constexpr] = ACTIONS(5291), + [anon_sym_volatile] = ACTIONS(5291), + [anon_sym_restrict] = ACTIONS(5291), + [anon_sym___restrict__] = ACTIONS(5291), + [anon_sym__Atomic] = ACTIONS(5291), + [anon_sym__Noreturn] = ACTIONS(5291), + [anon_sym_noreturn] = ACTIONS(5291), + [anon_sym_mutable] = ACTIONS(5291), + [anon_sym_constinit] = ACTIONS(5291), + [anon_sym_consteval] = ACTIONS(5291), + [anon_sym_alignas] = ACTIONS(5291), + [anon_sym__Alignas] = ACTIONS(5291), + [sym_primitive_type] = ACTIONS(5291), + [anon_sym_enum] = ACTIONS(5291), + [anon_sym_class] = ACTIONS(5291), + [anon_sym_struct] = ACTIONS(5291), + [anon_sym_union] = ACTIONS(5291), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5293), + [sym_auto] = ACTIONS(5291), + [anon_sym_decltype] = ACTIONS(5291), + [sym_virtual] = ACTIONS(5291), + [anon_sym_explicit] = ACTIONS(5291), + [anon_sym_typename] = ACTIONS(5291), + [anon_sym_template] = ACTIONS(5291), + [anon_sym_operator] = ACTIONS(5291), + [anon_sym_friend] = ACTIONS(5291), + [anon_sym_public] = ACTIONS(5291), + [anon_sym_private] = ACTIONS(5291), + [anon_sym_protected] = ACTIONS(5291), + [anon_sym_using] = ACTIONS(5291), + [anon_sym_static_assert] = ACTIONS(5291), + }, + [2127] = { + [sym__identifier] = ACTIONS(2767), + [aux_sym_preproc_def_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token1] = ACTIONS(2767), + [aux_sym_preproc_if_token2] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2767), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2767), + [sym_preproc_directive] = ACTIONS(2767), + [anon_sym_LPAREN2] = ACTIONS(2769), + [anon_sym_TILDE] = ACTIONS(2769), + [anon_sym_STAR] = ACTIONS(2769), + [anon_sym_AMP_AMP] = ACTIONS(2769), + [anon_sym_AMP] = ACTIONS(2767), + [anon_sym___extension__] = ACTIONS(2767), + [anon_sym_typedef] = ACTIONS(2767), + [anon_sym_extern] = ACTIONS(2767), + [anon_sym___attribute__] = ACTIONS(2767), + [anon_sym_COLON_COLON] = ACTIONS(2769), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2769), + [anon_sym___declspec] = ACTIONS(2767), + [anon_sym___based] = ACTIONS(2767), + [anon_sym_signed] = ACTIONS(2767), + [anon_sym_unsigned] = ACTIONS(2767), + [anon_sym_long] = ACTIONS(2767), + [anon_sym_short] = ACTIONS(2767), + [anon_sym_LBRACK] = ACTIONS(2767), + [anon_sym_static] = ACTIONS(2767), + [anon_sym_register] = ACTIONS(2767), + [anon_sym_inline] = ACTIONS(2767), + [anon_sym___inline] = ACTIONS(2767), + [anon_sym___inline__] = ACTIONS(2767), + [anon_sym___forceinline] = ACTIONS(2767), + [anon_sym_thread_local] = ACTIONS(2767), + [anon_sym___thread] = ACTIONS(2767), + [anon_sym_const] = ACTIONS(2767), + [anon_sym_constexpr] = ACTIONS(2767), + [anon_sym_volatile] = ACTIONS(2767), + [anon_sym_restrict] = ACTIONS(2767), + [anon_sym___restrict__] = ACTIONS(2767), + [anon_sym__Atomic] = ACTIONS(2767), + [anon_sym__Noreturn] = ACTIONS(2767), + [anon_sym_noreturn] = ACTIONS(2767), + [anon_sym_mutable] = ACTIONS(2767), + [anon_sym_constinit] = ACTIONS(2767), + [anon_sym_consteval] = ACTIONS(2767), + [anon_sym_alignas] = ACTIONS(2767), + [anon_sym__Alignas] = ACTIONS(2767), + [sym_primitive_type] = ACTIONS(2767), + [anon_sym_enum] = ACTIONS(2767), + [anon_sym_class] = ACTIONS(2767), + [anon_sym_struct] = ACTIONS(2767), + [anon_sym_union] = ACTIONS(2767), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2769), + [sym_auto] = ACTIONS(2767), + [anon_sym_decltype] = ACTIONS(2767), + [sym_virtual] = ACTIONS(2767), + [anon_sym_explicit] = ACTIONS(2767), + [anon_sym_typename] = ACTIONS(2767), + [anon_sym_template] = ACTIONS(2767), + [anon_sym_operator] = ACTIONS(2767), + [anon_sym_friend] = ACTIONS(2767), + [anon_sym_public] = ACTIONS(2767), + [anon_sym_private] = ACTIONS(2767), + [anon_sym_protected] = ACTIONS(2767), + [anon_sym_using] = ACTIONS(2767), + [anon_sym_static_assert] = ACTIONS(2767), + }, + [2128] = { + [sym_attribute_specifier] = STATE(1839), + [sym_field_declaration_list] = STATE(2420), + [sym_virtual_specifier] = STATE(6857), + [sym_base_class_clause] = STATE(7716), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4943), + [anon_sym_COMMA] = ACTIONS(4943), + [anon_sym_RPAREN] = ACTIONS(4943), + [anon_sym_LPAREN2] = ACTIONS(4943), + [anon_sym_DASH] = ACTIONS(4941), + [anon_sym_PLUS] = ACTIONS(4941), + [anon_sym_STAR] = ACTIONS(4943), + [anon_sym_SLASH] = ACTIONS(4941), + [anon_sym_PERCENT] = ACTIONS(4943), + [anon_sym_PIPE_PIPE] = ACTIONS(4943), + [anon_sym_AMP_AMP] = ACTIONS(4943), + [anon_sym_PIPE] = ACTIONS(4941), + [anon_sym_CARET] = ACTIONS(4943), + [anon_sym_AMP] = ACTIONS(4941), + [anon_sym_EQ_EQ] = ACTIONS(4943), + [anon_sym_BANG_EQ] = ACTIONS(4943), + [anon_sym_GT] = ACTIONS(4941), + [anon_sym_GT_EQ] = ACTIONS(4943), + [anon_sym_LT_EQ] = ACTIONS(4941), + [anon_sym_LT] = ACTIONS(4941), + [anon_sym_LT_LT] = ACTIONS(4943), + [anon_sym_GT_GT] = ACTIONS(4943), + [anon_sym_SEMI] = ACTIONS(4943), + [anon_sym___extension__] = ACTIONS(4943), + [anon_sym___attribute__] = ACTIONS(5703), + [anon_sym_LBRACE] = ACTIONS(5705), + [anon_sym_RBRACE] = ACTIONS(4943), + [anon_sym_LBRACK] = ACTIONS(4943), + [anon_sym_RBRACK] = ACTIONS(4943), + [anon_sym_const] = ACTIONS(4941), + [anon_sym_constexpr] = ACTIONS(4943), + [anon_sym_volatile] = ACTIONS(4943), + [anon_sym_restrict] = ACTIONS(4943), + [anon_sym___restrict__] = ACTIONS(4943), + [anon_sym__Atomic] = ACTIONS(4943), + [anon_sym__Noreturn] = ACTIONS(4943), + [anon_sym_noreturn] = ACTIONS(4943), + [anon_sym_mutable] = ACTIONS(4943), + [anon_sym_constinit] = ACTIONS(4943), + [anon_sym_consteval] = ACTIONS(4943), + [anon_sym_alignas] = ACTIONS(4943), + [anon_sym__Alignas] = ACTIONS(4943), + [anon_sym_COLON] = ACTIONS(4949), + [anon_sym_QMARK] = ACTIONS(4943), + [anon_sym_LT_EQ_GT] = ACTIONS(4943), + [anon_sym_or] = ACTIONS(4943), + [anon_sym_and] = ACTIONS(4943), + [anon_sym_bitor] = ACTIONS(4943), + [anon_sym_xor] = ACTIONS(4943), + [anon_sym_bitand] = ACTIONS(4943), + [anon_sym_not_eq] = ACTIONS(4943), + [anon_sym_DASH_DASH] = ACTIONS(4943), + [anon_sym_PLUS_PLUS] = ACTIONS(4943), + [anon_sym_DOT] = ACTIONS(4941), + [anon_sym_DOT_STAR] = ACTIONS(4943), + [anon_sym_DASH_GT] = ACTIONS(4943), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(4943), + [anon_sym_decltype] = ACTIONS(4943), + [anon_sym_final] = ACTIONS(5707), + [anon_sym_override] = ACTIONS(5707), + [anon_sym_requires] = ACTIONS(4943), + }, + [2129] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym_RBRACE] = ACTIONS(2697), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_friend] = ACTIONS(2695), + [anon_sym_public] = ACTIONS(2695), + [anon_sym_private] = ACTIONS(2695), + [anon_sym_protected] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + }, + [2130] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token2] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [2131] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_RBRACE] = ACTIONS(5243), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [2132] = { + [sym__identifier] = ACTIONS(5303), + [aux_sym_preproc_def_token1] = ACTIONS(5303), + [aux_sym_preproc_if_token1] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5303), + [sym_preproc_directive] = ACTIONS(5303), + [anon_sym_LPAREN2] = ACTIONS(5305), + [anon_sym_TILDE] = ACTIONS(5305), + [anon_sym_STAR] = ACTIONS(5305), + [anon_sym_AMP_AMP] = ACTIONS(5305), + [anon_sym_AMP] = ACTIONS(5303), + [anon_sym___extension__] = ACTIONS(5303), + [anon_sym_typedef] = ACTIONS(5303), + [anon_sym_extern] = ACTIONS(5303), + [anon_sym___attribute__] = ACTIONS(5303), + [anon_sym_COLON_COLON] = ACTIONS(5305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5305), + [anon_sym___declspec] = ACTIONS(5303), + [anon_sym___based] = ACTIONS(5303), + [anon_sym_RBRACE] = ACTIONS(5305), + [anon_sym_signed] = ACTIONS(5303), + [anon_sym_unsigned] = ACTIONS(5303), + [anon_sym_long] = ACTIONS(5303), + [anon_sym_short] = ACTIONS(5303), + [anon_sym_LBRACK] = ACTIONS(5303), + [anon_sym_static] = ACTIONS(5303), + [anon_sym_register] = ACTIONS(5303), + [anon_sym_inline] = ACTIONS(5303), + [anon_sym___inline] = ACTIONS(5303), + [anon_sym___inline__] = ACTIONS(5303), + [anon_sym___forceinline] = ACTIONS(5303), + [anon_sym_thread_local] = ACTIONS(5303), + [anon_sym___thread] = ACTIONS(5303), + [anon_sym_const] = ACTIONS(5303), + [anon_sym_constexpr] = ACTIONS(5303), + [anon_sym_volatile] = ACTIONS(5303), + [anon_sym_restrict] = ACTIONS(5303), + [anon_sym___restrict__] = ACTIONS(5303), + [anon_sym__Atomic] = ACTIONS(5303), + [anon_sym__Noreturn] = ACTIONS(5303), + [anon_sym_noreturn] = ACTIONS(5303), + [anon_sym_mutable] = ACTIONS(5303), + [anon_sym_constinit] = ACTIONS(5303), + [anon_sym_consteval] = ACTIONS(5303), + [anon_sym_alignas] = ACTIONS(5303), + [anon_sym__Alignas] = ACTIONS(5303), + [sym_primitive_type] = ACTIONS(5303), + [anon_sym_enum] = ACTIONS(5303), + [anon_sym_class] = ACTIONS(5303), + [anon_sym_struct] = ACTIONS(5303), + [anon_sym_union] = ACTIONS(5303), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5305), + [sym_auto] = ACTIONS(5303), + [anon_sym_decltype] = ACTIONS(5303), + [sym_virtual] = ACTIONS(5303), + [anon_sym_explicit] = ACTIONS(5303), + [anon_sym_typename] = ACTIONS(5303), + [anon_sym_template] = ACTIONS(5303), + [anon_sym_operator] = ACTIONS(5303), + [anon_sym_friend] = ACTIONS(5303), + [anon_sym_public] = ACTIONS(5303), + [anon_sym_private] = ACTIONS(5303), + [anon_sym_protected] = ACTIONS(5303), + [anon_sym_using] = ACTIONS(5303), + [anon_sym_static_assert] = ACTIONS(5303), + }, + [2133] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [2134] = { + [sym__identifier] = ACTIONS(5311), + [aux_sym_preproc_def_token1] = ACTIONS(5311), + [aux_sym_preproc_if_token1] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5311), + [sym_preproc_directive] = ACTIONS(5311), + [anon_sym_LPAREN2] = ACTIONS(5313), + [anon_sym_TILDE] = ACTIONS(5313), + [anon_sym_STAR] = ACTIONS(5313), + [anon_sym_AMP_AMP] = ACTIONS(5313), + [anon_sym_AMP] = ACTIONS(5311), + [anon_sym___extension__] = ACTIONS(5311), + [anon_sym_typedef] = ACTIONS(5311), + [anon_sym_extern] = ACTIONS(5311), + [anon_sym___attribute__] = ACTIONS(5311), + [anon_sym_COLON_COLON] = ACTIONS(5313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5313), + [anon_sym___declspec] = ACTIONS(5311), + [anon_sym___based] = ACTIONS(5311), + [anon_sym_RBRACE] = ACTIONS(5313), + [anon_sym_signed] = ACTIONS(5311), + [anon_sym_unsigned] = ACTIONS(5311), + [anon_sym_long] = ACTIONS(5311), + [anon_sym_short] = ACTIONS(5311), + [anon_sym_LBRACK] = ACTIONS(5311), + [anon_sym_static] = ACTIONS(5311), + [anon_sym_register] = ACTIONS(5311), + [anon_sym_inline] = ACTIONS(5311), + [anon_sym___inline] = ACTIONS(5311), + [anon_sym___inline__] = ACTIONS(5311), + [anon_sym___forceinline] = ACTIONS(5311), + [anon_sym_thread_local] = ACTIONS(5311), + [anon_sym___thread] = ACTIONS(5311), + [anon_sym_const] = ACTIONS(5311), + [anon_sym_constexpr] = ACTIONS(5311), + [anon_sym_volatile] = ACTIONS(5311), + [anon_sym_restrict] = ACTIONS(5311), + [anon_sym___restrict__] = ACTIONS(5311), + [anon_sym__Atomic] = ACTIONS(5311), + [anon_sym__Noreturn] = ACTIONS(5311), + [anon_sym_noreturn] = ACTIONS(5311), + [anon_sym_mutable] = ACTIONS(5311), + [anon_sym_constinit] = ACTIONS(5311), + [anon_sym_consteval] = ACTIONS(5311), + [anon_sym_alignas] = ACTIONS(5311), + [anon_sym__Alignas] = ACTIONS(5311), + [sym_primitive_type] = ACTIONS(5311), + [anon_sym_enum] = ACTIONS(5311), + [anon_sym_class] = ACTIONS(5311), + [anon_sym_struct] = ACTIONS(5311), + [anon_sym_union] = ACTIONS(5311), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5313), + [sym_auto] = ACTIONS(5311), + [anon_sym_decltype] = ACTIONS(5311), + [sym_virtual] = ACTIONS(5311), + [anon_sym_explicit] = ACTIONS(5311), + [anon_sym_typename] = ACTIONS(5311), + [anon_sym_template] = ACTIONS(5311), + [anon_sym_operator] = ACTIONS(5311), + [anon_sym_friend] = ACTIONS(5311), + [anon_sym_public] = ACTIONS(5311), + [anon_sym_private] = ACTIONS(5311), + [anon_sym_protected] = ACTIONS(5311), + [anon_sym_using] = ACTIONS(5311), + [anon_sym_static_assert] = ACTIONS(5311), + }, + [2135] = { + [sym__identifier] = ACTIONS(5261), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5263), + [anon_sym_COMMA] = ACTIONS(5263), + [anon_sym_RPAREN] = ACTIONS(5263), + [aux_sym_preproc_if_token2] = ACTIONS(5263), + [aux_sym_preproc_else_token1] = ACTIONS(5263), + [aux_sym_preproc_elif_token1] = ACTIONS(5261), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5263), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5263), + [anon_sym_LPAREN2] = ACTIONS(5263), + [anon_sym_DASH] = ACTIONS(5261), + [anon_sym_PLUS] = ACTIONS(5261), + [anon_sym_STAR] = ACTIONS(5261), + [anon_sym_SLASH] = ACTIONS(5261), + [anon_sym_PERCENT] = ACTIONS(5261), + [anon_sym_PIPE_PIPE] = ACTIONS(5263), + [anon_sym_AMP_AMP] = ACTIONS(5263), + [anon_sym_PIPE] = ACTIONS(5261), + [anon_sym_CARET] = ACTIONS(5261), + [anon_sym_AMP] = ACTIONS(5261), + [anon_sym_EQ_EQ] = ACTIONS(5263), + [anon_sym_BANG_EQ] = ACTIONS(5263), + [anon_sym_GT] = ACTIONS(5261), + [anon_sym_GT_EQ] = ACTIONS(5263), + [anon_sym_LT_EQ] = ACTIONS(5261), + [anon_sym_LT] = ACTIONS(5261), + [anon_sym_LT_LT] = ACTIONS(5261), + [anon_sym_GT_GT] = ACTIONS(5261), + [anon_sym_SEMI] = ACTIONS(5263), + [anon_sym___attribute__] = ACTIONS(5261), + [anon_sym_LBRACE] = ACTIONS(5263), + [anon_sym_RBRACE] = ACTIONS(5263), + [anon_sym_LBRACK] = ACTIONS(5263), + [anon_sym_RBRACK] = ACTIONS(5263), + [anon_sym_EQ] = ACTIONS(5261), + [anon_sym_COLON] = ACTIONS(5263), + [anon_sym_QMARK] = ACTIONS(5263), + [anon_sym_STAR_EQ] = ACTIONS(5263), + [anon_sym_SLASH_EQ] = ACTIONS(5263), + [anon_sym_PERCENT_EQ] = ACTIONS(5263), + [anon_sym_PLUS_EQ] = ACTIONS(5263), + [anon_sym_DASH_EQ] = ACTIONS(5263), + [anon_sym_LT_LT_EQ] = ACTIONS(5263), + [anon_sym_GT_GT_EQ] = ACTIONS(5263), + [anon_sym_AMP_EQ] = ACTIONS(5263), + [anon_sym_CARET_EQ] = ACTIONS(5263), + [anon_sym_PIPE_EQ] = ACTIONS(5263), + [anon_sym_and_eq] = ACTIONS(5261), + [anon_sym_or_eq] = ACTIONS(5261), + [anon_sym_xor_eq] = ACTIONS(5261), + [anon_sym_LT_EQ_GT] = ACTIONS(5263), + [anon_sym_or] = ACTIONS(5261), + [anon_sym_and] = ACTIONS(5261), + [anon_sym_bitor] = ACTIONS(5261), + [anon_sym_xor] = ACTIONS(5261), + [anon_sym_bitand] = ACTIONS(5261), + [anon_sym_not_eq] = ACTIONS(5261), + [anon_sym_DASH_DASH] = ACTIONS(5263), + [anon_sym_PLUS_PLUS] = ACTIONS(5263), + [anon_sym_DOT] = ACTIONS(5261), + [anon_sym_DOT_STAR] = ACTIONS(5263), + [anon_sym_DASH_GT] = ACTIONS(5263), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5263), + [sym_auto] = ACTIONS(5261), + [anon_sym_decltype] = ACTIONS(5261), + }, + [2136] = { + [sym__identifier] = ACTIONS(5162), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5164), + [anon_sym_COMMA] = ACTIONS(5164), + [anon_sym_RPAREN] = ACTIONS(5164), + [aux_sym_preproc_if_token2] = ACTIONS(5164), + [aux_sym_preproc_else_token1] = ACTIONS(5164), + [aux_sym_preproc_elif_token1] = ACTIONS(5162), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5164), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5164), + [anon_sym_LPAREN2] = ACTIONS(5164), + [anon_sym_DASH] = ACTIONS(5162), + [anon_sym_PLUS] = ACTIONS(5162), + [anon_sym_STAR] = ACTIONS(5162), + [anon_sym_SLASH] = ACTIONS(5162), + [anon_sym_PERCENT] = ACTIONS(5162), + [anon_sym_PIPE_PIPE] = ACTIONS(5164), + [anon_sym_AMP_AMP] = ACTIONS(5164), + [anon_sym_PIPE] = ACTIONS(5162), + [anon_sym_CARET] = ACTIONS(5162), + [anon_sym_AMP] = ACTIONS(5162), + [anon_sym_EQ_EQ] = ACTIONS(5164), + [anon_sym_BANG_EQ] = ACTIONS(5164), + [anon_sym_GT] = ACTIONS(5162), + [anon_sym_GT_EQ] = ACTIONS(5164), + [anon_sym_LT_EQ] = ACTIONS(5162), + [anon_sym_LT] = ACTIONS(5162), + [anon_sym_LT_LT] = ACTIONS(5162), + [anon_sym_GT_GT] = ACTIONS(5162), + [anon_sym_SEMI] = ACTIONS(5164), + [anon_sym___attribute__] = ACTIONS(5162), + [anon_sym_LBRACE] = ACTIONS(5164), + [anon_sym_RBRACE] = ACTIONS(5164), + [anon_sym_LBRACK] = ACTIONS(5164), + [anon_sym_RBRACK] = ACTIONS(5164), + [anon_sym_EQ] = ACTIONS(5162), + [anon_sym_COLON] = ACTIONS(5164), + [anon_sym_QMARK] = ACTIONS(5164), + [anon_sym_STAR_EQ] = ACTIONS(5164), + [anon_sym_SLASH_EQ] = ACTIONS(5164), + [anon_sym_PERCENT_EQ] = ACTIONS(5164), + [anon_sym_PLUS_EQ] = ACTIONS(5164), + [anon_sym_DASH_EQ] = ACTIONS(5164), + [anon_sym_LT_LT_EQ] = ACTIONS(5164), + [anon_sym_GT_GT_EQ] = ACTIONS(5164), + [anon_sym_AMP_EQ] = ACTIONS(5164), + [anon_sym_CARET_EQ] = ACTIONS(5164), + [anon_sym_PIPE_EQ] = ACTIONS(5164), + [anon_sym_and_eq] = ACTIONS(5162), + [anon_sym_or_eq] = ACTIONS(5162), + [anon_sym_xor_eq] = ACTIONS(5162), + [anon_sym_LT_EQ_GT] = ACTIONS(5164), + [anon_sym_or] = ACTIONS(5162), + [anon_sym_and] = ACTIONS(5162), + [anon_sym_bitor] = ACTIONS(5162), + [anon_sym_xor] = ACTIONS(5162), + [anon_sym_bitand] = ACTIONS(5162), + [anon_sym_not_eq] = ACTIONS(5162), + [anon_sym_DASH_DASH] = ACTIONS(5164), + [anon_sym_PLUS_PLUS] = ACTIONS(5164), + [anon_sym_DOT] = ACTIONS(5162), + [anon_sym_DOT_STAR] = ACTIONS(5164), + [anon_sym_DASH_GT] = ACTIONS(5164), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5164), + [sym_auto] = ACTIONS(5162), + [anon_sym_decltype] = ACTIONS(5162), + }, + [2137] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_RBRACE] = ACTIONS(5329), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [2138] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym_RBRACE] = ACTIONS(3106), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_friend] = ACTIONS(3104), + [anon_sym_public] = ACTIONS(3104), + [anon_sym_private] = ACTIONS(3104), + [anon_sym_protected] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + }, + [2139] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token2] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [2140] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym_RBRACE] = ACTIONS(3116), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_friend] = ACTIONS(3114), + [anon_sym_public] = ACTIONS(3114), + [anon_sym_private] = ACTIONS(3114), + [anon_sym_protected] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + }, + [2141] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_RBRACE] = ACTIONS(5333), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2142] = { + [sym__identifier] = ACTIONS(5709), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5711), + [anon_sym_COMMA] = ACTIONS(5711), + [anon_sym_RPAREN] = ACTIONS(5711), + [aux_sym_preproc_if_token2] = ACTIONS(5711), + [aux_sym_preproc_else_token1] = ACTIONS(5711), + [aux_sym_preproc_elif_token1] = ACTIONS(5709), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5711), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5711), + [anon_sym_LPAREN2] = ACTIONS(5711), + [anon_sym_DASH] = ACTIONS(5709), + [anon_sym_PLUS] = ACTIONS(5709), + [anon_sym_STAR] = ACTIONS(5709), + [anon_sym_SLASH] = ACTIONS(5709), + [anon_sym_PERCENT] = ACTIONS(5709), + [anon_sym_PIPE_PIPE] = ACTIONS(5711), + [anon_sym_AMP_AMP] = ACTIONS(5711), + [anon_sym_PIPE] = ACTIONS(5709), + [anon_sym_CARET] = ACTIONS(5709), + [anon_sym_AMP] = ACTIONS(5709), + [anon_sym_EQ_EQ] = ACTIONS(5711), + [anon_sym_BANG_EQ] = ACTIONS(5711), + [anon_sym_GT] = ACTIONS(5709), + [anon_sym_GT_EQ] = ACTIONS(5711), + [anon_sym_LT_EQ] = ACTIONS(5709), + [anon_sym_LT] = ACTIONS(5709), + [anon_sym_LT_LT] = ACTIONS(5709), + [anon_sym_GT_GT] = ACTIONS(5709), + [anon_sym_SEMI] = ACTIONS(5711), + [anon_sym___attribute__] = ACTIONS(5709), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5711), + [anon_sym_LBRACE] = ACTIONS(5711), + [anon_sym_RBRACE] = ACTIONS(5711), + [anon_sym_LBRACK] = ACTIONS(5709), + [anon_sym_RBRACK] = ACTIONS(5711), + [anon_sym_EQ] = ACTIONS(5709), + [anon_sym_COLON] = ACTIONS(5711), + [anon_sym_QMARK] = ACTIONS(5711), + [anon_sym_STAR_EQ] = ACTIONS(5711), + [anon_sym_SLASH_EQ] = ACTIONS(5711), + [anon_sym_PERCENT_EQ] = ACTIONS(5711), + [anon_sym_PLUS_EQ] = ACTIONS(5711), + [anon_sym_DASH_EQ] = ACTIONS(5711), + [anon_sym_LT_LT_EQ] = ACTIONS(5711), + [anon_sym_GT_GT_EQ] = ACTIONS(5711), + [anon_sym_AMP_EQ] = ACTIONS(5711), + [anon_sym_CARET_EQ] = ACTIONS(5711), + [anon_sym_PIPE_EQ] = ACTIONS(5711), + [anon_sym_and_eq] = ACTIONS(5709), + [anon_sym_or_eq] = ACTIONS(5709), + [anon_sym_xor_eq] = ACTIONS(5709), + [anon_sym_LT_EQ_GT] = ACTIONS(5711), + [anon_sym_or] = ACTIONS(5709), + [anon_sym_and] = ACTIONS(5709), + [anon_sym_bitor] = ACTIONS(5709), + [anon_sym_xor] = ACTIONS(5709), + [anon_sym_bitand] = ACTIONS(5709), + [anon_sym_not_eq] = ACTIONS(5709), + [anon_sym_DASH_DASH] = ACTIONS(5711), + [anon_sym_PLUS_PLUS] = ACTIONS(5711), + [anon_sym_DOT] = ACTIONS(5709), + [anon_sym_DOT_STAR] = ACTIONS(5711), + [anon_sym_DASH_GT] = ACTIONS(5711), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5711), + [anon_sym_try] = ACTIONS(5709), + }, + [2143] = { + [sym__identifier] = ACTIONS(5237), + [aux_sym_preproc_def_token1] = ACTIONS(5237), + [aux_sym_preproc_if_token1] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5237), + [sym_preproc_directive] = ACTIONS(5237), + [anon_sym_LPAREN2] = ACTIONS(5239), + [anon_sym_TILDE] = ACTIONS(5239), + [anon_sym_STAR] = ACTIONS(5239), + [anon_sym_AMP_AMP] = ACTIONS(5239), + [anon_sym_AMP] = ACTIONS(5237), + [anon_sym___extension__] = ACTIONS(5237), + [anon_sym_typedef] = ACTIONS(5237), + [anon_sym_extern] = ACTIONS(5237), + [anon_sym___attribute__] = ACTIONS(5237), + [anon_sym_COLON_COLON] = ACTIONS(5239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5239), + [anon_sym___declspec] = ACTIONS(5237), + [anon_sym___based] = ACTIONS(5237), + [anon_sym_RBRACE] = ACTIONS(5239), + [anon_sym_signed] = ACTIONS(5237), + [anon_sym_unsigned] = ACTIONS(5237), + [anon_sym_long] = ACTIONS(5237), + [anon_sym_short] = ACTIONS(5237), + [anon_sym_LBRACK] = ACTIONS(5237), + [anon_sym_static] = ACTIONS(5237), + [anon_sym_register] = ACTIONS(5237), + [anon_sym_inline] = ACTIONS(5237), + [anon_sym___inline] = ACTIONS(5237), + [anon_sym___inline__] = ACTIONS(5237), + [anon_sym___forceinline] = ACTIONS(5237), + [anon_sym_thread_local] = ACTIONS(5237), + [anon_sym___thread] = ACTIONS(5237), + [anon_sym_const] = ACTIONS(5237), + [anon_sym_constexpr] = ACTIONS(5237), + [anon_sym_volatile] = ACTIONS(5237), + [anon_sym_restrict] = ACTIONS(5237), + [anon_sym___restrict__] = ACTIONS(5237), + [anon_sym__Atomic] = ACTIONS(5237), + [anon_sym__Noreturn] = ACTIONS(5237), + [anon_sym_noreturn] = ACTIONS(5237), + [anon_sym_mutable] = ACTIONS(5237), + [anon_sym_constinit] = ACTIONS(5237), + [anon_sym_consteval] = ACTIONS(5237), + [anon_sym_alignas] = ACTIONS(5237), + [anon_sym__Alignas] = ACTIONS(5237), + [sym_primitive_type] = ACTIONS(5237), + [anon_sym_enum] = ACTIONS(5237), + [anon_sym_class] = ACTIONS(5237), + [anon_sym_struct] = ACTIONS(5237), + [anon_sym_union] = ACTIONS(5237), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5239), + [sym_auto] = ACTIONS(5237), + [anon_sym_decltype] = ACTIONS(5237), + [sym_virtual] = ACTIONS(5237), + [anon_sym_explicit] = ACTIONS(5237), + [anon_sym_typename] = ACTIONS(5237), + [anon_sym_template] = ACTIONS(5237), + [anon_sym_operator] = ACTIONS(5237), + [anon_sym_friend] = ACTIONS(5237), + [anon_sym_public] = ACTIONS(5237), + [anon_sym_private] = ACTIONS(5237), + [anon_sym_protected] = ACTIONS(5237), + [anon_sym_using] = ACTIONS(5237), + [anon_sym_static_assert] = ACTIONS(5237), + }, + [2144] = { + [sym__identifier] = ACTIONS(5229), + [aux_sym_preproc_def_token1] = ACTIONS(5229), + [aux_sym_preproc_if_token1] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5229), + [sym_preproc_directive] = ACTIONS(5229), + [anon_sym_LPAREN2] = ACTIONS(5231), + [anon_sym_TILDE] = ACTIONS(5231), + [anon_sym_STAR] = ACTIONS(5231), + [anon_sym_AMP_AMP] = ACTIONS(5231), + [anon_sym_AMP] = ACTIONS(5229), + [anon_sym___extension__] = ACTIONS(5229), + [anon_sym_typedef] = ACTIONS(5229), + [anon_sym_extern] = ACTIONS(5229), + [anon_sym___attribute__] = ACTIONS(5229), + [anon_sym_COLON_COLON] = ACTIONS(5231), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5231), + [anon_sym___declspec] = ACTIONS(5229), + [anon_sym___based] = ACTIONS(5229), + [anon_sym_RBRACE] = ACTIONS(5231), + [anon_sym_signed] = ACTIONS(5229), + [anon_sym_unsigned] = ACTIONS(5229), + [anon_sym_long] = ACTIONS(5229), + [anon_sym_short] = ACTIONS(5229), + [anon_sym_LBRACK] = ACTIONS(5229), + [anon_sym_static] = ACTIONS(5229), + [anon_sym_register] = ACTIONS(5229), + [anon_sym_inline] = ACTIONS(5229), + [anon_sym___inline] = ACTIONS(5229), + [anon_sym___inline__] = ACTIONS(5229), + [anon_sym___forceinline] = ACTIONS(5229), + [anon_sym_thread_local] = ACTIONS(5229), + [anon_sym___thread] = ACTIONS(5229), + [anon_sym_const] = ACTIONS(5229), + [anon_sym_constexpr] = ACTIONS(5229), + [anon_sym_volatile] = ACTIONS(5229), + [anon_sym_restrict] = ACTIONS(5229), + [anon_sym___restrict__] = ACTIONS(5229), + [anon_sym__Atomic] = ACTIONS(5229), + [anon_sym__Noreturn] = ACTIONS(5229), + [anon_sym_noreturn] = ACTIONS(5229), + [anon_sym_mutable] = ACTIONS(5229), + [anon_sym_constinit] = ACTIONS(5229), + [anon_sym_consteval] = ACTIONS(5229), + [anon_sym_alignas] = ACTIONS(5229), + [anon_sym__Alignas] = ACTIONS(5229), + [sym_primitive_type] = ACTIONS(5229), + [anon_sym_enum] = ACTIONS(5229), + [anon_sym_class] = ACTIONS(5229), + [anon_sym_struct] = ACTIONS(5229), + [anon_sym_union] = ACTIONS(5229), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5231), + [sym_auto] = ACTIONS(5229), + [anon_sym_decltype] = ACTIONS(5229), + [sym_virtual] = ACTIONS(5229), + [anon_sym_explicit] = ACTIONS(5229), + [anon_sym_typename] = ACTIONS(5229), + [anon_sym_template] = ACTIONS(5229), + [anon_sym_operator] = ACTIONS(5229), + [anon_sym_friend] = ACTIONS(5229), + [anon_sym_public] = ACTIONS(5229), + [anon_sym_private] = ACTIONS(5229), + [anon_sym_protected] = ACTIONS(5229), + [anon_sym_using] = ACTIONS(5229), + [anon_sym_static_assert] = ACTIONS(5229), + }, + [2145] = { + [sym__identifier] = ACTIONS(5225), + [aux_sym_preproc_def_token1] = ACTIONS(5225), + [aux_sym_preproc_if_token1] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5225), + [sym_preproc_directive] = ACTIONS(5225), + [anon_sym_LPAREN2] = ACTIONS(5227), + [anon_sym_TILDE] = ACTIONS(5227), + [anon_sym_STAR] = ACTIONS(5227), + [anon_sym_AMP_AMP] = ACTIONS(5227), + [anon_sym_AMP] = ACTIONS(5225), + [anon_sym___extension__] = ACTIONS(5225), + [anon_sym_typedef] = ACTIONS(5225), + [anon_sym_extern] = ACTIONS(5225), + [anon_sym___attribute__] = ACTIONS(5225), + [anon_sym_COLON_COLON] = ACTIONS(5227), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5227), + [anon_sym___declspec] = ACTIONS(5225), + [anon_sym___based] = ACTIONS(5225), + [anon_sym_RBRACE] = ACTIONS(5227), + [anon_sym_signed] = ACTIONS(5225), + [anon_sym_unsigned] = ACTIONS(5225), + [anon_sym_long] = ACTIONS(5225), + [anon_sym_short] = ACTIONS(5225), + [anon_sym_LBRACK] = ACTIONS(5225), + [anon_sym_static] = ACTIONS(5225), + [anon_sym_register] = ACTIONS(5225), + [anon_sym_inline] = ACTIONS(5225), + [anon_sym___inline] = ACTIONS(5225), + [anon_sym___inline__] = ACTIONS(5225), + [anon_sym___forceinline] = ACTIONS(5225), + [anon_sym_thread_local] = ACTIONS(5225), + [anon_sym___thread] = ACTIONS(5225), + [anon_sym_const] = ACTIONS(5225), + [anon_sym_constexpr] = ACTIONS(5225), + [anon_sym_volatile] = ACTIONS(5225), + [anon_sym_restrict] = ACTIONS(5225), + [anon_sym___restrict__] = ACTIONS(5225), + [anon_sym__Atomic] = ACTIONS(5225), + [anon_sym__Noreturn] = ACTIONS(5225), + [anon_sym_noreturn] = ACTIONS(5225), + [anon_sym_mutable] = ACTIONS(5225), + [anon_sym_constinit] = ACTIONS(5225), + [anon_sym_consteval] = ACTIONS(5225), + [anon_sym_alignas] = ACTIONS(5225), + [anon_sym__Alignas] = ACTIONS(5225), + [sym_primitive_type] = ACTIONS(5225), + [anon_sym_enum] = ACTIONS(5225), + [anon_sym_class] = ACTIONS(5225), + [anon_sym_struct] = ACTIONS(5225), + [anon_sym_union] = ACTIONS(5225), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5227), + [sym_auto] = ACTIONS(5225), + [anon_sym_decltype] = ACTIONS(5225), + [sym_virtual] = ACTIONS(5225), + [anon_sym_explicit] = ACTIONS(5225), + [anon_sym_typename] = ACTIONS(5225), + [anon_sym_template] = ACTIONS(5225), + [anon_sym_operator] = ACTIONS(5225), + [anon_sym_friend] = ACTIONS(5225), + [anon_sym_public] = ACTIONS(5225), + [anon_sym_private] = ACTIONS(5225), + [anon_sym_protected] = ACTIONS(5225), + [anon_sym_using] = ACTIONS(5225), + [anon_sym_static_assert] = ACTIONS(5225), + }, + [2146] = { + [sym__identifier] = ACTIONS(5221), + [aux_sym_preproc_def_token1] = ACTIONS(5221), + [aux_sym_preproc_if_token1] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5221), + [sym_preproc_directive] = ACTIONS(5221), + [anon_sym_LPAREN2] = ACTIONS(5223), + [anon_sym_TILDE] = ACTIONS(5223), + [anon_sym_STAR] = ACTIONS(5223), + [anon_sym_AMP_AMP] = ACTIONS(5223), + [anon_sym_AMP] = ACTIONS(5221), + [anon_sym___extension__] = ACTIONS(5221), + [anon_sym_typedef] = ACTIONS(5221), + [anon_sym_extern] = ACTIONS(5221), + [anon_sym___attribute__] = ACTIONS(5221), + [anon_sym_COLON_COLON] = ACTIONS(5223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5223), + [anon_sym___declspec] = ACTIONS(5221), + [anon_sym___based] = ACTIONS(5221), + [anon_sym_RBRACE] = ACTIONS(5223), + [anon_sym_signed] = ACTIONS(5221), + [anon_sym_unsigned] = ACTIONS(5221), + [anon_sym_long] = ACTIONS(5221), + [anon_sym_short] = ACTIONS(5221), + [anon_sym_LBRACK] = ACTIONS(5221), + [anon_sym_static] = ACTIONS(5221), + [anon_sym_register] = ACTIONS(5221), + [anon_sym_inline] = ACTIONS(5221), + [anon_sym___inline] = ACTIONS(5221), + [anon_sym___inline__] = ACTIONS(5221), + [anon_sym___forceinline] = ACTIONS(5221), + [anon_sym_thread_local] = ACTIONS(5221), + [anon_sym___thread] = ACTIONS(5221), + [anon_sym_const] = ACTIONS(5221), + [anon_sym_constexpr] = ACTIONS(5221), + [anon_sym_volatile] = ACTIONS(5221), + [anon_sym_restrict] = ACTIONS(5221), + [anon_sym___restrict__] = ACTIONS(5221), + [anon_sym__Atomic] = ACTIONS(5221), + [anon_sym__Noreturn] = ACTIONS(5221), + [anon_sym_noreturn] = ACTIONS(5221), + [anon_sym_mutable] = ACTIONS(5221), + [anon_sym_constinit] = ACTIONS(5221), + [anon_sym_consteval] = ACTIONS(5221), + [anon_sym_alignas] = ACTIONS(5221), + [anon_sym__Alignas] = ACTIONS(5221), + [sym_primitive_type] = ACTIONS(5221), + [anon_sym_enum] = ACTIONS(5221), + [anon_sym_class] = ACTIONS(5221), + [anon_sym_struct] = ACTIONS(5221), + [anon_sym_union] = ACTIONS(5221), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5223), + [sym_auto] = ACTIONS(5221), + [anon_sym_decltype] = ACTIONS(5221), + [sym_virtual] = ACTIONS(5221), + [anon_sym_explicit] = ACTIONS(5221), + [anon_sym_typename] = ACTIONS(5221), + [anon_sym_template] = ACTIONS(5221), + [anon_sym_operator] = ACTIONS(5221), + [anon_sym_friend] = ACTIONS(5221), + [anon_sym_public] = ACTIONS(5221), + [anon_sym_private] = ACTIONS(5221), + [anon_sym_protected] = ACTIONS(5221), + [anon_sym_using] = ACTIONS(5221), + [anon_sym_static_assert] = ACTIONS(5221), + }, + [2147] = { + [sym__identifier] = ACTIONS(5291), + [aux_sym_preproc_def_token1] = ACTIONS(5291), + [aux_sym_preproc_if_token1] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5291), + [sym_preproc_directive] = ACTIONS(5291), + [anon_sym_LPAREN2] = ACTIONS(5293), + [anon_sym_TILDE] = ACTIONS(5293), + [anon_sym_STAR] = ACTIONS(5293), + [anon_sym_AMP_AMP] = ACTIONS(5293), + [anon_sym_AMP] = ACTIONS(5291), + [anon_sym___extension__] = ACTIONS(5291), + [anon_sym_typedef] = ACTIONS(5291), + [anon_sym_extern] = ACTIONS(5291), + [anon_sym___attribute__] = ACTIONS(5291), + [anon_sym_COLON_COLON] = ACTIONS(5293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5293), + [anon_sym___declspec] = ACTIONS(5291), + [anon_sym___based] = ACTIONS(5291), + [anon_sym_RBRACE] = ACTIONS(5293), + [anon_sym_signed] = ACTIONS(5291), + [anon_sym_unsigned] = ACTIONS(5291), + [anon_sym_long] = ACTIONS(5291), + [anon_sym_short] = ACTIONS(5291), + [anon_sym_LBRACK] = ACTIONS(5291), + [anon_sym_static] = ACTIONS(5291), + [anon_sym_register] = ACTIONS(5291), + [anon_sym_inline] = ACTIONS(5291), + [anon_sym___inline] = ACTIONS(5291), + [anon_sym___inline__] = ACTIONS(5291), + [anon_sym___forceinline] = ACTIONS(5291), + [anon_sym_thread_local] = ACTIONS(5291), + [anon_sym___thread] = ACTIONS(5291), + [anon_sym_const] = ACTIONS(5291), + [anon_sym_constexpr] = ACTIONS(5291), + [anon_sym_volatile] = ACTIONS(5291), + [anon_sym_restrict] = ACTIONS(5291), + [anon_sym___restrict__] = ACTIONS(5291), + [anon_sym__Atomic] = ACTIONS(5291), + [anon_sym__Noreturn] = ACTIONS(5291), + [anon_sym_noreturn] = ACTIONS(5291), + [anon_sym_mutable] = ACTIONS(5291), + [anon_sym_constinit] = ACTIONS(5291), + [anon_sym_consteval] = ACTIONS(5291), + [anon_sym_alignas] = ACTIONS(5291), + [anon_sym__Alignas] = ACTIONS(5291), + [sym_primitive_type] = ACTIONS(5291), + [anon_sym_enum] = ACTIONS(5291), + [anon_sym_class] = ACTIONS(5291), + [anon_sym_struct] = ACTIONS(5291), + [anon_sym_union] = ACTIONS(5291), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5293), + [sym_auto] = ACTIONS(5291), + [anon_sym_decltype] = ACTIONS(5291), + [sym_virtual] = ACTIONS(5291), + [anon_sym_explicit] = ACTIONS(5291), + [anon_sym_typename] = ACTIONS(5291), + [anon_sym_template] = ACTIONS(5291), + [anon_sym_operator] = ACTIONS(5291), + [anon_sym_friend] = ACTIONS(5291), + [anon_sym_public] = ACTIONS(5291), + [anon_sym_private] = ACTIONS(5291), + [anon_sym_protected] = ACTIONS(5291), + [anon_sym_using] = ACTIONS(5291), + [anon_sym_static_assert] = ACTIONS(5291), + }, + [2148] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token2] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_friend] = ACTIONS(3082), + [anon_sym_public] = ACTIONS(3082), + [anon_sym_private] = ACTIONS(3082), + [anon_sym_protected] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + }, + [2149] = { + [sym__identifier] = ACTIONS(5213), + [aux_sym_preproc_def_token1] = ACTIONS(5213), + [aux_sym_preproc_if_token1] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5213), + [sym_preproc_directive] = ACTIONS(5213), + [anon_sym_LPAREN2] = ACTIONS(5215), + [anon_sym_TILDE] = ACTIONS(5215), + [anon_sym_STAR] = ACTIONS(5215), + [anon_sym_AMP_AMP] = ACTIONS(5215), + [anon_sym_AMP] = ACTIONS(5213), + [anon_sym___extension__] = ACTIONS(5213), + [anon_sym_typedef] = ACTIONS(5213), + [anon_sym_extern] = ACTIONS(5213), + [anon_sym___attribute__] = ACTIONS(5213), + [anon_sym_COLON_COLON] = ACTIONS(5215), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5215), + [anon_sym___declspec] = ACTIONS(5213), + [anon_sym___based] = ACTIONS(5213), + [anon_sym_RBRACE] = ACTIONS(5215), + [anon_sym_signed] = ACTIONS(5213), + [anon_sym_unsigned] = ACTIONS(5213), + [anon_sym_long] = ACTIONS(5213), + [anon_sym_short] = ACTIONS(5213), + [anon_sym_LBRACK] = ACTIONS(5213), + [anon_sym_static] = ACTIONS(5213), + [anon_sym_register] = ACTIONS(5213), + [anon_sym_inline] = ACTIONS(5213), + [anon_sym___inline] = ACTIONS(5213), + [anon_sym___inline__] = ACTIONS(5213), + [anon_sym___forceinline] = ACTIONS(5213), + [anon_sym_thread_local] = ACTIONS(5213), + [anon_sym___thread] = ACTIONS(5213), + [anon_sym_const] = ACTIONS(5213), + [anon_sym_constexpr] = ACTIONS(5213), + [anon_sym_volatile] = ACTIONS(5213), + [anon_sym_restrict] = ACTIONS(5213), + [anon_sym___restrict__] = ACTIONS(5213), + [anon_sym__Atomic] = ACTIONS(5213), + [anon_sym__Noreturn] = ACTIONS(5213), + [anon_sym_noreturn] = ACTIONS(5213), + [anon_sym_mutable] = ACTIONS(5213), + [anon_sym_constinit] = ACTIONS(5213), + [anon_sym_consteval] = ACTIONS(5213), + [anon_sym_alignas] = ACTIONS(5213), + [anon_sym__Alignas] = ACTIONS(5213), + [sym_primitive_type] = ACTIONS(5213), + [anon_sym_enum] = ACTIONS(5213), + [anon_sym_class] = ACTIONS(5213), + [anon_sym_struct] = ACTIONS(5213), + [anon_sym_union] = ACTIONS(5213), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5215), + [sym_auto] = ACTIONS(5213), + [anon_sym_decltype] = ACTIONS(5213), + [sym_virtual] = ACTIONS(5213), + [anon_sym_explicit] = ACTIONS(5213), + [anon_sym_typename] = ACTIONS(5213), + [anon_sym_template] = ACTIONS(5213), + [anon_sym_operator] = ACTIONS(5213), + [anon_sym_friend] = ACTIONS(5213), + [anon_sym_public] = ACTIONS(5213), + [anon_sym_private] = ACTIONS(5213), + [anon_sym_protected] = ACTIONS(5213), + [anon_sym_using] = ACTIONS(5213), + [anon_sym_static_assert] = ACTIONS(5213), + }, + [2150] = { + [sym__identifier] = ACTIONS(3182), + [aux_sym_preproc_def_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token1] = ACTIONS(3182), + [aux_sym_preproc_if_token2] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3182), + [sym_preproc_directive] = ACTIONS(3182), + [anon_sym_LPAREN2] = ACTIONS(3184), + [anon_sym_TILDE] = ACTIONS(3184), + [anon_sym_STAR] = ACTIONS(3184), + [anon_sym_AMP_AMP] = ACTIONS(3184), + [anon_sym_AMP] = ACTIONS(3182), + [anon_sym___extension__] = ACTIONS(3182), + [anon_sym_typedef] = ACTIONS(3182), + [anon_sym_extern] = ACTIONS(3182), + [anon_sym___attribute__] = ACTIONS(3182), + [anon_sym_COLON_COLON] = ACTIONS(3184), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3184), + [anon_sym___declspec] = ACTIONS(3182), + [anon_sym___based] = ACTIONS(3182), + [anon_sym_signed] = ACTIONS(3182), + [anon_sym_unsigned] = ACTIONS(3182), + [anon_sym_long] = ACTIONS(3182), + [anon_sym_short] = ACTIONS(3182), + [anon_sym_LBRACK] = ACTIONS(3182), + [anon_sym_static] = ACTIONS(3182), + [anon_sym_register] = ACTIONS(3182), + [anon_sym_inline] = ACTIONS(3182), + [anon_sym___inline] = ACTIONS(3182), + [anon_sym___inline__] = ACTIONS(3182), + [anon_sym___forceinline] = ACTIONS(3182), + [anon_sym_thread_local] = ACTIONS(3182), + [anon_sym___thread] = ACTIONS(3182), + [anon_sym_const] = ACTIONS(3182), + [anon_sym_constexpr] = ACTIONS(3182), + [anon_sym_volatile] = ACTIONS(3182), + [anon_sym_restrict] = ACTIONS(3182), + [anon_sym___restrict__] = ACTIONS(3182), + [anon_sym__Atomic] = ACTIONS(3182), + [anon_sym__Noreturn] = ACTIONS(3182), + [anon_sym_noreturn] = ACTIONS(3182), + [anon_sym_mutable] = ACTIONS(3182), + [anon_sym_constinit] = ACTIONS(3182), + [anon_sym_consteval] = ACTIONS(3182), + [anon_sym_alignas] = ACTIONS(3182), + [anon_sym__Alignas] = ACTIONS(3182), + [sym_primitive_type] = ACTIONS(3182), + [anon_sym_enum] = ACTIONS(3182), + [anon_sym_class] = ACTIONS(3182), + [anon_sym_struct] = ACTIONS(3182), + [anon_sym_union] = ACTIONS(3182), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3184), + [sym_auto] = ACTIONS(3182), + [anon_sym_decltype] = ACTIONS(3182), + [sym_virtual] = ACTIONS(3182), + [anon_sym_explicit] = ACTIONS(3182), + [anon_sym_typename] = ACTIONS(3182), + [anon_sym_template] = ACTIONS(3182), + [anon_sym_operator] = ACTIONS(3182), + [anon_sym_friend] = ACTIONS(3182), + [anon_sym_public] = ACTIONS(3182), + [anon_sym_private] = ACTIONS(3182), + [anon_sym_protected] = ACTIONS(3182), + [anon_sym_using] = ACTIONS(3182), + [anon_sym_static_assert] = ACTIONS(3182), + }, + [2151] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_RBRACE] = ACTIONS(5333), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2152] = { + [sym__identifier] = ACTIONS(5295), + [aux_sym_preproc_def_token1] = ACTIONS(5295), + [aux_sym_preproc_if_token1] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5295), + [sym_preproc_directive] = ACTIONS(5295), + [anon_sym_LPAREN2] = ACTIONS(5297), + [anon_sym_TILDE] = ACTIONS(5297), + [anon_sym_STAR] = ACTIONS(5297), + [anon_sym_AMP_AMP] = ACTIONS(5297), + [anon_sym_AMP] = ACTIONS(5295), + [anon_sym___extension__] = ACTIONS(5295), + [anon_sym_typedef] = ACTIONS(5295), + [anon_sym_extern] = ACTIONS(5295), + [anon_sym___attribute__] = ACTIONS(5295), + [anon_sym_COLON_COLON] = ACTIONS(5297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5297), + [anon_sym___declspec] = ACTIONS(5295), + [anon_sym___based] = ACTIONS(5295), + [anon_sym_RBRACE] = ACTIONS(5297), + [anon_sym_signed] = ACTIONS(5295), + [anon_sym_unsigned] = ACTIONS(5295), + [anon_sym_long] = ACTIONS(5295), + [anon_sym_short] = ACTIONS(5295), + [anon_sym_LBRACK] = ACTIONS(5295), + [anon_sym_static] = ACTIONS(5295), + [anon_sym_register] = ACTIONS(5295), + [anon_sym_inline] = ACTIONS(5295), + [anon_sym___inline] = ACTIONS(5295), + [anon_sym___inline__] = ACTIONS(5295), + [anon_sym___forceinline] = ACTIONS(5295), + [anon_sym_thread_local] = ACTIONS(5295), + [anon_sym___thread] = ACTIONS(5295), + [anon_sym_const] = ACTIONS(5295), + [anon_sym_constexpr] = ACTIONS(5295), + [anon_sym_volatile] = ACTIONS(5295), + [anon_sym_restrict] = ACTIONS(5295), + [anon_sym___restrict__] = ACTIONS(5295), + [anon_sym__Atomic] = ACTIONS(5295), + [anon_sym__Noreturn] = ACTIONS(5295), + [anon_sym_noreturn] = ACTIONS(5295), + [anon_sym_mutable] = ACTIONS(5295), + [anon_sym_constinit] = ACTIONS(5295), + [anon_sym_consteval] = ACTIONS(5295), + [anon_sym_alignas] = ACTIONS(5295), + [anon_sym__Alignas] = ACTIONS(5295), + [sym_primitive_type] = ACTIONS(5295), + [anon_sym_enum] = ACTIONS(5295), + [anon_sym_class] = ACTIONS(5295), + [anon_sym_struct] = ACTIONS(5295), + [anon_sym_union] = ACTIONS(5295), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5297), + [sym_auto] = ACTIONS(5295), + [anon_sym_decltype] = ACTIONS(5295), + [sym_virtual] = ACTIONS(5295), + [anon_sym_explicit] = ACTIONS(5295), + [anon_sym_typename] = ACTIONS(5295), + [anon_sym_template] = ACTIONS(5295), + [anon_sym_operator] = ACTIONS(5295), + [anon_sym_friend] = ACTIONS(5295), + [anon_sym_public] = ACTIONS(5295), + [anon_sym_private] = ACTIONS(5295), + [anon_sym_protected] = ACTIONS(5295), + [anon_sym_using] = ACTIONS(5295), + [anon_sym_static_assert] = ACTIONS(5295), + }, + [2153] = { + [sym__identifier] = ACTIONS(5713), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5715), + [anon_sym_COMMA] = ACTIONS(5715), + [anon_sym_RPAREN] = ACTIONS(5715), + [aux_sym_preproc_if_token2] = ACTIONS(5715), + [aux_sym_preproc_else_token1] = ACTIONS(5715), + [aux_sym_preproc_elif_token1] = ACTIONS(5713), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5715), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5715), + [anon_sym_LPAREN2] = ACTIONS(5715), + [anon_sym_DASH] = ACTIONS(5713), + [anon_sym_PLUS] = ACTIONS(5713), + [anon_sym_STAR] = ACTIONS(5713), + [anon_sym_SLASH] = ACTIONS(5713), + [anon_sym_PERCENT] = ACTIONS(5713), + [anon_sym_PIPE_PIPE] = ACTIONS(5715), + [anon_sym_AMP_AMP] = ACTIONS(5715), + [anon_sym_PIPE] = ACTIONS(5713), + [anon_sym_CARET] = ACTIONS(5713), + [anon_sym_AMP] = ACTIONS(5713), + [anon_sym_EQ_EQ] = ACTIONS(5715), + [anon_sym_BANG_EQ] = ACTIONS(5715), + [anon_sym_GT] = ACTIONS(5713), + [anon_sym_GT_EQ] = ACTIONS(5715), + [anon_sym_LT_EQ] = ACTIONS(5713), + [anon_sym_LT] = ACTIONS(5713), + [anon_sym_LT_LT] = ACTIONS(5713), + [anon_sym_GT_GT] = ACTIONS(5713), + [anon_sym_SEMI] = ACTIONS(5715), + [anon_sym___attribute__] = ACTIONS(5713), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5715), + [anon_sym_LBRACE] = ACTIONS(5715), + [anon_sym_RBRACE] = ACTIONS(5715), + [anon_sym_LBRACK] = ACTIONS(5713), + [anon_sym_RBRACK] = ACTIONS(5715), + [anon_sym_EQ] = ACTIONS(5713), + [anon_sym_COLON] = ACTIONS(5715), + [anon_sym_QMARK] = ACTIONS(5715), + [anon_sym_STAR_EQ] = ACTIONS(5715), + [anon_sym_SLASH_EQ] = ACTIONS(5715), + [anon_sym_PERCENT_EQ] = ACTIONS(5715), + [anon_sym_PLUS_EQ] = ACTIONS(5715), + [anon_sym_DASH_EQ] = ACTIONS(5715), + [anon_sym_LT_LT_EQ] = ACTIONS(5715), + [anon_sym_GT_GT_EQ] = ACTIONS(5715), + [anon_sym_AMP_EQ] = ACTIONS(5715), + [anon_sym_CARET_EQ] = ACTIONS(5715), + [anon_sym_PIPE_EQ] = ACTIONS(5715), + [anon_sym_and_eq] = ACTIONS(5713), + [anon_sym_or_eq] = ACTIONS(5713), + [anon_sym_xor_eq] = ACTIONS(5713), + [anon_sym_LT_EQ_GT] = ACTIONS(5715), + [anon_sym_or] = ACTIONS(5713), + [anon_sym_and] = ACTIONS(5713), + [anon_sym_bitor] = ACTIONS(5713), + [anon_sym_xor] = ACTIONS(5713), + [anon_sym_bitand] = ACTIONS(5713), + [anon_sym_not_eq] = ACTIONS(5713), + [anon_sym_DASH_DASH] = ACTIONS(5715), + [anon_sym_PLUS_PLUS] = ACTIONS(5715), + [anon_sym_DOT] = ACTIONS(5713), + [anon_sym_DOT_STAR] = ACTIONS(5715), + [anon_sym_DASH_GT] = ACTIONS(5715), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5715), + [anon_sym_try] = ACTIONS(5713), + }, + [2154] = { + [sym__identifier] = ACTIONS(5335), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5337), + [anon_sym_COMMA] = ACTIONS(5337), + [anon_sym_RPAREN] = ACTIONS(5337), + [aux_sym_preproc_if_token2] = ACTIONS(5337), + [aux_sym_preproc_else_token1] = ACTIONS(5337), + [aux_sym_preproc_elif_token1] = ACTIONS(5335), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5337), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5337), + [anon_sym_LPAREN2] = ACTIONS(5337), + [anon_sym_DASH] = ACTIONS(5335), + [anon_sym_PLUS] = ACTIONS(5335), + [anon_sym_STAR] = ACTIONS(5335), + [anon_sym_SLASH] = ACTIONS(5335), + [anon_sym_PERCENT] = ACTIONS(5335), + [anon_sym_PIPE_PIPE] = ACTIONS(5337), + [anon_sym_AMP_AMP] = ACTIONS(5337), + [anon_sym_PIPE] = ACTIONS(5335), + [anon_sym_CARET] = ACTIONS(5335), + [anon_sym_AMP] = ACTIONS(5335), + [anon_sym_EQ_EQ] = ACTIONS(5337), + [anon_sym_BANG_EQ] = ACTIONS(5337), + [anon_sym_GT] = ACTIONS(5335), + [anon_sym_GT_EQ] = ACTIONS(5337), + [anon_sym_LT_EQ] = ACTIONS(5335), + [anon_sym_LT] = ACTIONS(5335), + [anon_sym_LT_LT] = ACTIONS(5335), + [anon_sym_GT_GT] = ACTIONS(5335), + [anon_sym_SEMI] = ACTIONS(5337), + [anon_sym___attribute__] = ACTIONS(5335), + [anon_sym_LBRACE] = ACTIONS(5337), + [anon_sym_RBRACE] = ACTIONS(5337), + [anon_sym_LBRACK] = ACTIONS(5337), + [anon_sym_RBRACK] = ACTIONS(5337), + [anon_sym_EQ] = ACTIONS(5335), + [anon_sym_COLON] = ACTIONS(5337), + [anon_sym_QMARK] = ACTIONS(5337), + [anon_sym_STAR_EQ] = ACTIONS(5337), + [anon_sym_SLASH_EQ] = ACTIONS(5337), + [anon_sym_PERCENT_EQ] = ACTIONS(5337), + [anon_sym_PLUS_EQ] = ACTIONS(5337), + [anon_sym_DASH_EQ] = ACTIONS(5337), + [anon_sym_LT_LT_EQ] = ACTIONS(5337), + [anon_sym_GT_GT_EQ] = ACTIONS(5337), + [anon_sym_AMP_EQ] = ACTIONS(5337), + [anon_sym_CARET_EQ] = ACTIONS(5337), + [anon_sym_PIPE_EQ] = ACTIONS(5337), + [anon_sym_and_eq] = ACTIONS(5335), + [anon_sym_or_eq] = ACTIONS(5335), + [anon_sym_xor_eq] = ACTIONS(5335), + [anon_sym_LT_EQ_GT] = ACTIONS(5337), + [anon_sym_or] = ACTIONS(5335), + [anon_sym_and] = ACTIONS(5335), + [anon_sym_bitor] = ACTIONS(5335), + [anon_sym_xor] = ACTIONS(5335), + [anon_sym_bitand] = ACTIONS(5335), + [anon_sym_not_eq] = ACTIONS(5335), + [anon_sym_DASH_DASH] = ACTIONS(5337), + [anon_sym_PLUS_PLUS] = ACTIONS(5337), + [anon_sym_DOT] = ACTIONS(5335), + [anon_sym_DOT_STAR] = ACTIONS(5337), + [anon_sym_DASH_GT] = ACTIONS(5337), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5337), + [sym_auto] = ACTIONS(5335), + [anon_sym_decltype] = ACTIONS(5335), + }, + [2155] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token2] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_friend] = ACTIONS(3005), + [anon_sym_public] = ACTIONS(3005), + [anon_sym_private] = ACTIONS(3005), + [anon_sym_protected] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + }, + [2156] = { + [sym__identifier] = ACTIONS(2695), + [aux_sym_preproc_def_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token1] = ACTIONS(2695), + [aux_sym_preproc_if_token2] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2695), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2695), + [sym_preproc_directive] = ACTIONS(2695), + [anon_sym_LPAREN2] = ACTIONS(2697), + [anon_sym_TILDE] = ACTIONS(2697), + [anon_sym_STAR] = ACTIONS(2697), + [anon_sym_AMP_AMP] = ACTIONS(2697), + [anon_sym_AMP] = ACTIONS(2695), + [anon_sym___extension__] = ACTIONS(2695), + [anon_sym_typedef] = ACTIONS(2695), + [anon_sym_extern] = ACTIONS(2695), + [anon_sym___attribute__] = ACTIONS(2695), + [anon_sym_COLON_COLON] = ACTIONS(2697), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2697), + [anon_sym___declspec] = ACTIONS(2695), + [anon_sym___based] = ACTIONS(2695), + [anon_sym_signed] = ACTIONS(2695), + [anon_sym_unsigned] = ACTIONS(2695), + [anon_sym_long] = ACTIONS(2695), + [anon_sym_short] = ACTIONS(2695), + [anon_sym_LBRACK] = ACTIONS(2695), + [anon_sym_static] = ACTIONS(2695), + [anon_sym_register] = ACTIONS(2695), + [anon_sym_inline] = ACTIONS(2695), + [anon_sym___inline] = ACTIONS(2695), + [anon_sym___inline__] = ACTIONS(2695), + [anon_sym___forceinline] = ACTIONS(2695), + [anon_sym_thread_local] = ACTIONS(2695), + [anon_sym___thread] = ACTIONS(2695), + [anon_sym_const] = ACTIONS(2695), + [anon_sym_constexpr] = ACTIONS(2695), + [anon_sym_volatile] = ACTIONS(2695), + [anon_sym_restrict] = ACTIONS(2695), + [anon_sym___restrict__] = ACTIONS(2695), + [anon_sym__Atomic] = ACTIONS(2695), + [anon_sym__Noreturn] = ACTIONS(2695), + [anon_sym_noreturn] = ACTIONS(2695), + [anon_sym_mutable] = ACTIONS(2695), + [anon_sym_constinit] = ACTIONS(2695), + [anon_sym_consteval] = ACTIONS(2695), + [anon_sym_alignas] = ACTIONS(2695), + [anon_sym__Alignas] = ACTIONS(2695), + [sym_primitive_type] = ACTIONS(2695), + [anon_sym_enum] = ACTIONS(2695), + [anon_sym_class] = ACTIONS(2695), + [anon_sym_struct] = ACTIONS(2695), + [anon_sym_union] = ACTIONS(2695), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2697), + [sym_auto] = ACTIONS(2695), + [anon_sym_decltype] = ACTIONS(2695), + [sym_virtual] = ACTIONS(2695), + [anon_sym_explicit] = ACTIONS(2695), + [anon_sym_typename] = ACTIONS(2695), + [anon_sym_template] = ACTIONS(2695), + [anon_sym_operator] = ACTIONS(2695), + [anon_sym_friend] = ACTIONS(2695), + [anon_sym_public] = ACTIONS(2695), + [anon_sym_private] = ACTIONS(2695), + [anon_sym_protected] = ACTIONS(2695), + [anon_sym_using] = ACTIONS(2695), + [anon_sym_static_assert] = ACTIONS(2695), + }, + [2157] = { + [sym__identifier] = ACTIONS(5331), + [aux_sym_preproc_def_token1] = ACTIONS(5331), + [aux_sym_preproc_if_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5331), + [sym_preproc_directive] = ACTIONS(5331), + [anon_sym_LPAREN2] = ACTIONS(5333), + [anon_sym_TILDE] = ACTIONS(5333), + [anon_sym_STAR] = ACTIONS(5333), + [anon_sym_AMP_AMP] = ACTIONS(5333), + [anon_sym_AMP] = ACTIONS(5331), + [anon_sym___extension__] = ACTIONS(5331), + [anon_sym_typedef] = ACTIONS(5331), + [anon_sym_extern] = ACTIONS(5331), + [anon_sym___attribute__] = ACTIONS(5331), + [anon_sym_COLON_COLON] = ACTIONS(5333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5333), + [anon_sym___declspec] = ACTIONS(5331), + [anon_sym___based] = ACTIONS(5331), + [anon_sym_RBRACE] = ACTIONS(5333), + [anon_sym_signed] = ACTIONS(5331), + [anon_sym_unsigned] = ACTIONS(5331), + [anon_sym_long] = ACTIONS(5331), + [anon_sym_short] = ACTIONS(5331), + [anon_sym_LBRACK] = ACTIONS(5331), + [anon_sym_static] = ACTIONS(5331), + [anon_sym_register] = ACTIONS(5331), + [anon_sym_inline] = ACTIONS(5331), + [anon_sym___inline] = ACTIONS(5331), + [anon_sym___inline__] = ACTIONS(5331), + [anon_sym___forceinline] = ACTIONS(5331), + [anon_sym_thread_local] = ACTIONS(5331), + [anon_sym___thread] = ACTIONS(5331), + [anon_sym_const] = ACTIONS(5331), + [anon_sym_constexpr] = ACTIONS(5331), + [anon_sym_volatile] = ACTIONS(5331), + [anon_sym_restrict] = ACTIONS(5331), + [anon_sym___restrict__] = ACTIONS(5331), + [anon_sym__Atomic] = ACTIONS(5331), + [anon_sym__Noreturn] = ACTIONS(5331), + [anon_sym_noreturn] = ACTIONS(5331), + [anon_sym_mutable] = ACTIONS(5331), + [anon_sym_constinit] = ACTIONS(5331), + [anon_sym_consteval] = ACTIONS(5331), + [anon_sym_alignas] = ACTIONS(5331), + [anon_sym__Alignas] = ACTIONS(5331), + [sym_primitive_type] = ACTIONS(5331), + [anon_sym_enum] = ACTIONS(5331), + [anon_sym_class] = ACTIONS(5331), + [anon_sym_struct] = ACTIONS(5331), + [anon_sym_union] = ACTIONS(5331), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5333), + [sym_auto] = ACTIONS(5331), + [anon_sym_decltype] = ACTIONS(5331), + [sym_virtual] = ACTIONS(5331), + [anon_sym_explicit] = ACTIONS(5331), + [anon_sym_typename] = ACTIONS(5331), + [anon_sym_template] = ACTIONS(5331), + [anon_sym_operator] = ACTIONS(5331), + [anon_sym_friend] = ACTIONS(5331), + [anon_sym_public] = ACTIONS(5331), + [anon_sym_private] = ACTIONS(5331), + [anon_sym_protected] = ACTIONS(5331), + [anon_sym_using] = ACTIONS(5331), + [anon_sym_static_assert] = ACTIONS(5331), + }, + [2158] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [2159] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_RBRACE] = ACTIONS(5301), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [2160] = { + [sym__identifier] = ACTIONS(2777), + [aux_sym_preproc_def_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token1] = ACTIONS(2777), + [aux_sym_preproc_if_token2] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2777), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2777), + [sym_preproc_directive] = ACTIONS(2777), + [anon_sym_LPAREN2] = ACTIONS(2779), + [anon_sym_TILDE] = ACTIONS(2779), + [anon_sym_STAR] = ACTIONS(2779), + [anon_sym_AMP_AMP] = ACTIONS(2779), + [anon_sym_AMP] = ACTIONS(2777), + [anon_sym___extension__] = ACTIONS(2777), + [anon_sym_typedef] = ACTIONS(2777), + [anon_sym_extern] = ACTIONS(2777), + [anon_sym___attribute__] = ACTIONS(2777), + [anon_sym_COLON_COLON] = ACTIONS(2779), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2779), + [anon_sym___declspec] = ACTIONS(2777), + [anon_sym___based] = ACTIONS(2777), + [anon_sym_signed] = ACTIONS(2777), + [anon_sym_unsigned] = ACTIONS(2777), + [anon_sym_long] = ACTIONS(2777), + [anon_sym_short] = ACTIONS(2777), + [anon_sym_LBRACK] = ACTIONS(2777), + [anon_sym_static] = ACTIONS(2777), + [anon_sym_register] = ACTIONS(2777), + [anon_sym_inline] = ACTIONS(2777), + [anon_sym___inline] = ACTIONS(2777), + [anon_sym___inline__] = ACTIONS(2777), + [anon_sym___forceinline] = ACTIONS(2777), + [anon_sym_thread_local] = ACTIONS(2777), + [anon_sym___thread] = ACTIONS(2777), + [anon_sym_const] = ACTIONS(2777), + [anon_sym_constexpr] = ACTIONS(2777), + [anon_sym_volatile] = ACTIONS(2777), + [anon_sym_restrict] = ACTIONS(2777), + [anon_sym___restrict__] = ACTIONS(2777), + [anon_sym__Atomic] = ACTIONS(2777), + [anon_sym__Noreturn] = ACTIONS(2777), + [anon_sym_noreturn] = ACTIONS(2777), + [anon_sym_mutable] = ACTIONS(2777), + [anon_sym_constinit] = ACTIONS(2777), + [anon_sym_consteval] = ACTIONS(2777), + [anon_sym_alignas] = ACTIONS(2777), + [anon_sym__Alignas] = ACTIONS(2777), + [sym_primitive_type] = ACTIONS(2777), + [anon_sym_enum] = ACTIONS(2777), + [anon_sym_class] = ACTIONS(2777), + [anon_sym_struct] = ACTIONS(2777), + [anon_sym_union] = ACTIONS(2777), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2779), + [sym_auto] = ACTIONS(2777), + [anon_sym_decltype] = ACTIONS(2777), + [sym_virtual] = ACTIONS(2777), + [anon_sym_explicit] = ACTIONS(2777), + [anon_sym_typename] = ACTIONS(2777), + [anon_sym_template] = ACTIONS(2777), + [anon_sym_operator] = ACTIONS(2777), + [anon_sym_friend] = ACTIONS(2777), + [anon_sym_public] = ACTIONS(2777), + [anon_sym_private] = ACTIONS(2777), + [anon_sym_protected] = ACTIONS(2777), + [anon_sym_using] = ACTIONS(2777), + [anon_sym_static_assert] = ACTIONS(2777), + }, + [2161] = { + [sym__identifier] = ACTIONS(5339), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5341), + [anon_sym_COMMA] = ACTIONS(5341), + [anon_sym_RPAREN] = ACTIONS(5341), + [aux_sym_preproc_if_token2] = ACTIONS(5341), + [aux_sym_preproc_else_token1] = ACTIONS(5341), + [aux_sym_preproc_elif_token1] = ACTIONS(5339), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5341), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5341), + [anon_sym_LPAREN2] = ACTIONS(5341), + [anon_sym_DASH] = ACTIONS(5339), + [anon_sym_PLUS] = ACTIONS(5339), + [anon_sym_STAR] = ACTIONS(5339), + [anon_sym_SLASH] = ACTIONS(5339), + [anon_sym_PERCENT] = ACTIONS(5339), + [anon_sym_PIPE_PIPE] = ACTIONS(5341), + [anon_sym_AMP_AMP] = ACTIONS(5341), + [anon_sym_PIPE] = ACTIONS(5339), + [anon_sym_CARET] = ACTIONS(5339), + [anon_sym_AMP] = ACTIONS(5339), + [anon_sym_EQ_EQ] = ACTIONS(5341), + [anon_sym_BANG_EQ] = ACTIONS(5341), + [anon_sym_GT] = ACTIONS(5339), + [anon_sym_GT_EQ] = ACTIONS(5341), + [anon_sym_LT_EQ] = ACTIONS(5339), + [anon_sym_LT] = ACTIONS(5339), + [anon_sym_LT_LT] = ACTIONS(5339), + [anon_sym_GT_GT] = ACTIONS(5339), + [anon_sym_SEMI] = ACTIONS(5341), + [anon_sym___attribute__] = ACTIONS(5339), + [anon_sym_LBRACE] = ACTIONS(5341), + [anon_sym_RBRACE] = ACTIONS(5341), + [anon_sym_LBRACK] = ACTIONS(5341), + [anon_sym_RBRACK] = ACTIONS(5341), + [anon_sym_EQ] = ACTIONS(5339), + [anon_sym_COLON] = ACTIONS(5341), + [anon_sym_QMARK] = ACTIONS(5341), + [anon_sym_STAR_EQ] = ACTIONS(5341), + [anon_sym_SLASH_EQ] = ACTIONS(5341), + [anon_sym_PERCENT_EQ] = ACTIONS(5341), + [anon_sym_PLUS_EQ] = ACTIONS(5341), + [anon_sym_DASH_EQ] = ACTIONS(5341), + [anon_sym_LT_LT_EQ] = ACTIONS(5341), + [anon_sym_GT_GT_EQ] = ACTIONS(5341), + [anon_sym_AMP_EQ] = ACTIONS(5341), + [anon_sym_CARET_EQ] = ACTIONS(5341), + [anon_sym_PIPE_EQ] = ACTIONS(5341), + [anon_sym_and_eq] = ACTIONS(5339), + [anon_sym_or_eq] = ACTIONS(5339), + [anon_sym_xor_eq] = ACTIONS(5339), + [anon_sym_LT_EQ_GT] = ACTIONS(5341), + [anon_sym_or] = ACTIONS(5339), + [anon_sym_and] = ACTIONS(5339), + [anon_sym_bitor] = ACTIONS(5339), + [anon_sym_xor] = ACTIONS(5339), + [anon_sym_bitand] = ACTIONS(5339), + [anon_sym_not_eq] = ACTIONS(5339), + [anon_sym_DASH_DASH] = ACTIONS(5341), + [anon_sym_PLUS_PLUS] = ACTIONS(5341), + [anon_sym_DOT] = ACTIONS(5339), + [anon_sym_DOT_STAR] = ACTIONS(5341), + [anon_sym_DASH_GT] = ACTIONS(5341), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5341), + [sym_auto] = ACTIONS(5339), + [anon_sym_decltype] = ACTIONS(5339), + }, + [2162] = { + [sym__identifier] = ACTIONS(2759), + [aux_sym_preproc_def_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token1] = ACTIONS(2759), + [aux_sym_preproc_if_token2] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2759), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2759), + [sym_preproc_directive] = ACTIONS(2759), + [anon_sym_LPAREN2] = ACTIONS(2761), + [anon_sym_TILDE] = ACTIONS(2761), + [anon_sym_STAR] = ACTIONS(2761), + [anon_sym_AMP_AMP] = ACTIONS(2761), + [anon_sym_AMP] = ACTIONS(2759), + [anon_sym___extension__] = ACTIONS(2759), + [anon_sym_typedef] = ACTIONS(2759), + [anon_sym_extern] = ACTIONS(2759), + [anon_sym___attribute__] = ACTIONS(2759), + [anon_sym_COLON_COLON] = ACTIONS(2761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2761), + [anon_sym___declspec] = ACTIONS(2759), + [anon_sym___based] = ACTIONS(2759), + [anon_sym_signed] = ACTIONS(2759), + [anon_sym_unsigned] = ACTIONS(2759), + [anon_sym_long] = ACTIONS(2759), + [anon_sym_short] = ACTIONS(2759), + [anon_sym_LBRACK] = ACTIONS(2759), + [anon_sym_static] = ACTIONS(2759), + [anon_sym_register] = ACTIONS(2759), + [anon_sym_inline] = ACTIONS(2759), + [anon_sym___inline] = ACTIONS(2759), + [anon_sym___inline__] = ACTIONS(2759), + [anon_sym___forceinline] = ACTIONS(2759), + [anon_sym_thread_local] = ACTIONS(2759), + [anon_sym___thread] = ACTIONS(2759), + [anon_sym_const] = ACTIONS(2759), + [anon_sym_constexpr] = ACTIONS(2759), + [anon_sym_volatile] = ACTIONS(2759), + [anon_sym_restrict] = ACTIONS(2759), + [anon_sym___restrict__] = ACTIONS(2759), + [anon_sym__Atomic] = ACTIONS(2759), + [anon_sym__Noreturn] = ACTIONS(2759), + [anon_sym_noreturn] = ACTIONS(2759), + [anon_sym_mutable] = ACTIONS(2759), + [anon_sym_constinit] = ACTIONS(2759), + [anon_sym_consteval] = ACTIONS(2759), + [anon_sym_alignas] = ACTIONS(2759), + [anon_sym__Alignas] = ACTIONS(2759), + [sym_primitive_type] = ACTIONS(2759), + [anon_sym_enum] = ACTIONS(2759), + [anon_sym_class] = ACTIONS(2759), + [anon_sym_struct] = ACTIONS(2759), + [anon_sym_union] = ACTIONS(2759), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2761), + [sym_auto] = ACTIONS(2759), + [anon_sym_decltype] = ACTIONS(2759), + [sym_virtual] = ACTIONS(2759), + [anon_sym_explicit] = ACTIONS(2759), + [anon_sym_typename] = ACTIONS(2759), + [anon_sym_template] = ACTIONS(2759), + [anon_sym_operator] = ACTIONS(2759), + [anon_sym_friend] = ACTIONS(2759), + [anon_sym_public] = ACTIONS(2759), + [anon_sym_private] = ACTIONS(2759), + [anon_sym_protected] = ACTIONS(2759), + [anon_sym_using] = ACTIONS(2759), + [anon_sym_static_assert] = ACTIONS(2759), + }, + [2163] = { + [sym__identifier] = ACTIONS(5327), + [aux_sym_preproc_def_token1] = ACTIONS(5327), + [aux_sym_preproc_if_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5327), + [sym_preproc_directive] = ACTIONS(5327), + [anon_sym_LPAREN2] = ACTIONS(5329), + [anon_sym_TILDE] = ACTIONS(5329), + [anon_sym_STAR] = ACTIONS(5329), + [anon_sym_AMP_AMP] = ACTIONS(5329), + [anon_sym_AMP] = ACTIONS(5327), + [anon_sym___extension__] = ACTIONS(5327), + [anon_sym_typedef] = ACTIONS(5327), + [anon_sym_extern] = ACTIONS(5327), + [anon_sym___attribute__] = ACTIONS(5327), + [anon_sym_COLON_COLON] = ACTIONS(5329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5329), + [anon_sym___declspec] = ACTIONS(5327), + [anon_sym___based] = ACTIONS(5327), + [anon_sym_RBRACE] = ACTIONS(5329), + [anon_sym_signed] = ACTIONS(5327), + [anon_sym_unsigned] = ACTIONS(5327), + [anon_sym_long] = ACTIONS(5327), + [anon_sym_short] = ACTIONS(5327), + [anon_sym_LBRACK] = ACTIONS(5327), + [anon_sym_static] = ACTIONS(5327), + [anon_sym_register] = ACTIONS(5327), + [anon_sym_inline] = ACTIONS(5327), + [anon_sym___inline] = ACTIONS(5327), + [anon_sym___inline__] = ACTIONS(5327), + [anon_sym___forceinline] = ACTIONS(5327), + [anon_sym_thread_local] = ACTIONS(5327), + [anon_sym___thread] = ACTIONS(5327), + [anon_sym_const] = ACTIONS(5327), + [anon_sym_constexpr] = ACTIONS(5327), + [anon_sym_volatile] = ACTIONS(5327), + [anon_sym_restrict] = ACTIONS(5327), + [anon_sym___restrict__] = ACTIONS(5327), + [anon_sym__Atomic] = ACTIONS(5327), + [anon_sym__Noreturn] = ACTIONS(5327), + [anon_sym_noreturn] = ACTIONS(5327), + [anon_sym_mutable] = ACTIONS(5327), + [anon_sym_constinit] = ACTIONS(5327), + [anon_sym_consteval] = ACTIONS(5327), + [anon_sym_alignas] = ACTIONS(5327), + [anon_sym__Alignas] = ACTIONS(5327), + [sym_primitive_type] = ACTIONS(5327), + [anon_sym_enum] = ACTIONS(5327), + [anon_sym_class] = ACTIONS(5327), + [anon_sym_struct] = ACTIONS(5327), + [anon_sym_union] = ACTIONS(5327), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5329), + [sym_auto] = ACTIONS(5327), + [anon_sym_decltype] = ACTIONS(5327), + [sym_virtual] = ACTIONS(5327), + [anon_sym_explicit] = ACTIONS(5327), + [anon_sym_typename] = ACTIONS(5327), + [anon_sym_template] = ACTIONS(5327), + [anon_sym_operator] = ACTIONS(5327), + [anon_sym_friend] = ACTIONS(5327), + [anon_sym_public] = ACTIONS(5327), + [anon_sym_private] = ACTIONS(5327), + [anon_sym_protected] = ACTIONS(5327), + [anon_sym_using] = ACTIONS(5327), + [anon_sym_static_assert] = ACTIONS(5327), + }, + [2164] = { + [sym__identifier] = ACTIONS(3174), + [aux_sym_preproc_def_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token1] = ACTIONS(3174), + [aux_sym_preproc_if_token2] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3174), + [sym_preproc_directive] = ACTIONS(3174), + [anon_sym_LPAREN2] = ACTIONS(3176), + [anon_sym_TILDE] = ACTIONS(3176), + [anon_sym_STAR] = ACTIONS(3176), + [anon_sym_AMP_AMP] = ACTIONS(3176), + [anon_sym_AMP] = ACTIONS(3174), + [anon_sym___extension__] = ACTIONS(3174), + [anon_sym_typedef] = ACTIONS(3174), + [anon_sym_extern] = ACTIONS(3174), + [anon_sym___attribute__] = ACTIONS(3174), + [anon_sym_COLON_COLON] = ACTIONS(3176), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3176), + [anon_sym___declspec] = ACTIONS(3174), + [anon_sym___based] = ACTIONS(3174), + [anon_sym_signed] = ACTIONS(3174), + [anon_sym_unsigned] = ACTIONS(3174), + [anon_sym_long] = ACTIONS(3174), + [anon_sym_short] = ACTIONS(3174), + [anon_sym_LBRACK] = ACTIONS(3174), + [anon_sym_static] = ACTIONS(3174), + [anon_sym_register] = ACTIONS(3174), + [anon_sym_inline] = ACTIONS(3174), + [anon_sym___inline] = ACTIONS(3174), + [anon_sym___inline__] = ACTIONS(3174), + [anon_sym___forceinline] = ACTIONS(3174), + [anon_sym_thread_local] = ACTIONS(3174), + [anon_sym___thread] = ACTIONS(3174), + [anon_sym_const] = ACTIONS(3174), + [anon_sym_constexpr] = ACTIONS(3174), + [anon_sym_volatile] = ACTIONS(3174), + [anon_sym_restrict] = ACTIONS(3174), + [anon_sym___restrict__] = ACTIONS(3174), + [anon_sym__Atomic] = ACTIONS(3174), + [anon_sym__Noreturn] = ACTIONS(3174), + [anon_sym_noreturn] = ACTIONS(3174), + [anon_sym_mutable] = ACTIONS(3174), + [anon_sym_constinit] = ACTIONS(3174), + [anon_sym_consteval] = ACTIONS(3174), + [anon_sym_alignas] = ACTIONS(3174), + [anon_sym__Alignas] = ACTIONS(3174), + [sym_primitive_type] = ACTIONS(3174), + [anon_sym_enum] = ACTIONS(3174), + [anon_sym_class] = ACTIONS(3174), + [anon_sym_struct] = ACTIONS(3174), + [anon_sym_union] = ACTIONS(3174), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3176), + [sym_auto] = ACTIONS(3174), + [anon_sym_decltype] = ACTIONS(3174), + [sym_virtual] = ACTIONS(3174), + [anon_sym_explicit] = ACTIONS(3174), + [anon_sym_typename] = ACTIONS(3174), + [anon_sym_template] = ACTIONS(3174), + [anon_sym_operator] = ACTIONS(3174), + [anon_sym_friend] = ACTIONS(3174), + [anon_sym_public] = ACTIONS(3174), + [anon_sym_private] = ACTIONS(3174), + [anon_sym_protected] = ACTIONS(3174), + [anon_sym_using] = ACTIONS(3174), + [anon_sym_static_assert] = ACTIONS(3174), + }, + [2165] = { + [sym__identifier] = ACTIONS(5299), + [aux_sym_preproc_def_token1] = ACTIONS(5299), + [aux_sym_preproc_if_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5299), + [sym_preproc_directive] = ACTIONS(5299), + [anon_sym_LPAREN2] = ACTIONS(5301), + [anon_sym_TILDE] = ACTIONS(5301), + [anon_sym_STAR] = ACTIONS(5301), + [anon_sym_AMP_AMP] = ACTIONS(5301), + [anon_sym_AMP] = ACTIONS(5299), + [anon_sym___extension__] = ACTIONS(5299), + [anon_sym_typedef] = ACTIONS(5299), + [anon_sym_extern] = ACTIONS(5299), + [anon_sym___attribute__] = ACTIONS(5299), + [anon_sym_COLON_COLON] = ACTIONS(5301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5301), + [anon_sym___declspec] = ACTIONS(5299), + [anon_sym___based] = ACTIONS(5299), + [anon_sym_RBRACE] = ACTIONS(5301), + [anon_sym_signed] = ACTIONS(5299), + [anon_sym_unsigned] = ACTIONS(5299), + [anon_sym_long] = ACTIONS(5299), + [anon_sym_short] = ACTIONS(5299), + [anon_sym_LBRACK] = ACTIONS(5299), + [anon_sym_static] = ACTIONS(5299), + [anon_sym_register] = ACTIONS(5299), + [anon_sym_inline] = ACTIONS(5299), + [anon_sym___inline] = ACTIONS(5299), + [anon_sym___inline__] = ACTIONS(5299), + [anon_sym___forceinline] = ACTIONS(5299), + [anon_sym_thread_local] = ACTIONS(5299), + [anon_sym___thread] = ACTIONS(5299), + [anon_sym_const] = ACTIONS(5299), + [anon_sym_constexpr] = ACTIONS(5299), + [anon_sym_volatile] = ACTIONS(5299), + [anon_sym_restrict] = ACTIONS(5299), + [anon_sym___restrict__] = ACTIONS(5299), + [anon_sym__Atomic] = ACTIONS(5299), + [anon_sym__Noreturn] = ACTIONS(5299), + [anon_sym_noreturn] = ACTIONS(5299), + [anon_sym_mutable] = ACTIONS(5299), + [anon_sym_constinit] = ACTIONS(5299), + [anon_sym_consteval] = ACTIONS(5299), + [anon_sym_alignas] = ACTIONS(5299), + [anon_sym__Alignas] = ACTIONS(5299), + [sym_primitive_type] = ACTIONS(5299), + [anon_sym_enum] = ACTIONS(5299), + [anon_sym_class] = ACTIONS(5299), + [anon_sym_struct] = ACTIONS(5299), + [anon_sym_union] = ACTIONS(5299), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5301), + [sym_auto] = ACTIONS(5299), + [anon_sym_decltype] = ACTIONS(5299), + [sym_virtual] = ACTIONS(5299), + [anon_sym_explicit] = ACTIONS(5299), + [anon_sym_typename] = ACTIONS(5299), + [anon_sym_template] = ACTIONS(5299), + [anon_sym_operator] = ACTIONS(5299), + [anon_sym_friend] = ACTIONS(5299), + [anon_sym_public] = ACTIONS(5299), + [anon_sym_private] = ACTIONS(5299), + [anon_sym_protected] = ACTIONS(5299), + [anon_sym_using] = ACTIONS(5299), + [anon_sym_static_assert] = ACTIONS(5299), + }, + [2166] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym_RBRACE] = ACTIONS(3180), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_friend] = ACTIONS(3178), + [anon_sym_public] = ACTIONS(3178), + [anon_sym_private] = ACTIONS(3178), + [anon_sym_protected] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + }, + [2167] = { + [sym__identifier] = ACTIONS(3150), + [aux_sym_preproc_def_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token1] = ACTIONS(3150), + [aux_sym_preproc_if_token2] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3150), + [sym_preproc_directive] = ACTIONS(3150), + [anon_sym_LPAREN2] = ACTIONS(3152), + [anon_sym_TILDE] = ACTIONS(3152), + [anon_sym_STAR] = ACTIONS(3152), + [anon_sym_AMP_AMP] = ACTIONS(3152), + [anon_sym_AMP] = ACTIONS(3150), + [anon_sym___extension__] = ACTIONS(3150), + [anon_sym_typedef] = ACTIONS(3150), + [anon_sym_extern] = ACTIONS(3150), + [anon_sym___attribute__] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(3152), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3152), + [anon_sym___declspec] = ACTIONS(3150), + [anon_sym___based] = ACTIONS(3150), + [anon_sym_signed] = ACTIONS(3150), + [anon_sym_unsigned] = ACTIONS(3150), + [anon_sym_long] = ACTIONS(3150), + [anon_sym_short] = ACTIONS(3150), + [anon_sym_LBRACK] = ACTIONS(3150), + [anon_sym_static] = ACTIONS(3150), + [anon_sym_register] = ACTIONS(3150), + [anon_sym_inline] = ACTIONS(3150), + [anon_sym___inline] = ACTIONS(3150), + [anon_sym___inline__] = ACTIONS(3150), + [anon_sym___forceinline] = ACTIONS(3150), + [anon_sym_thread_local] = ACTIONS(3150), + [anon_sym___thread] = ACTIONS(3150), + [anon_sym_const] = ACTIONS(3150), + [anon_sym_constexpr] = ACTIONS(3150), + [anon_sym_volatile] = ACTIONS(3150), + [anon_sym_restrict] = ACTIONS(3150), + [anon_sym___restrict__] = ACTIONS(3150), + [anon_sym__Atomic] = ACTIONS(3150), + [anon_sym__Noreturn] = ACTIONS(3150), + [anon_sym_noreturn] = ACTIONS(3150), + [anon_sym_mutable] = ACTIONS(3150), + [anon_sym_constinit] = ACTIONS(3150), + [anon_sym_consteval] = ACTIONS(3150), + [anon_sym_alignas] = ACTIONS(3150), + [anon_sym__Alignas] = ACTIONS(3150), + [sym_primitive_type] = ACTIONS(3150), + [anon_sym_enum] = ACTIONS(3150), + [anon_sym_class] = ACTIONS(3150), + [anon_sym_struct] = ACTIONS(3150), + [anon_sym_union] = ACTIONS(3150), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3152), + [sym_auto] = ACTIONS(3150), + [anon_sym_decltype] = ACTIONS(3150), + [sym_virtual] = ACTIONS(3150), + [anon_sym_explicit] = ACTIONS(3150), + [anon_sym_typename] = ACTIONS(3150), + [anon_sym_template] = ACTIONS(3150), + [anon_sym_operator] = ACTIONS(3150), + [anon_sym_friend] = ACTIONS(3150), + [anon_sym_public] = ACTIONS(3150), + [anon_sym_private] = ACTIONS(3150), + [anon_sym_protected] = ACTIONS(3150), + [anon_sym_using] = ACTIONS(3150), + [anon_sym_static_assert] = ACTIONS(3150), + }, + [2168] = { + [sym__identifier] = ACTIONS(2967), + [aux_sym_preproc_def_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token1] = ACTIONS(2967), + [aux_sym_preproc_if_token2] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2967), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2967), + [sym_preproc_directive] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(2969), + [anon_sym_TILDE] = ACTIONS(2969), + [anon_sym_STAR] = ACTIONS(2969), + [anon_sym_AMP_AMP] = ACTIONS(2969), + [anon_sym_AMP] = ACTIONS(2967), + [anon_sym___extension__] = ACTIONS(2967), + [anon_sym_typedef] = ACTIONS(2967), + [anon_sym_extern] = ACTIONS(2967), + [anon_sym___attribute__] = ACTIONS(2967), + [anon_sym_COLON_COLON] = ACTIONS(2969), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2969), + [anon_sym___declspec] = ACTIONS(2967), + [anon_sym___based] = ACTIONS(2967), + [anon_sym_signed] = ACTIONS(2967), + [anon_sym_unsigned] = ACTIONS(2967), + [anon_sym_long] = ACTIONS(2967), + [anon_sym_short] = ACTIONS(2967), + [anon_sym_LBRACK] = ACTIONS(2967), + [anon_sym_static] = ACTIONS(2967), + [anon_sym_register] = ACTIONS(2967), + [anon_sym_inline] = ACTIONS(2967), + [anon_sym___inline] = ACTIONS(2967), + [anon_sym___inline__] = ACTIONS(2967), + [anon_sym___forceinline] = ACTIONS(2967), + [anon_sym_thread_local] = ACTIONS(2967), + [anon_sym___thread] = ACTIONS(2967), + [anon_sym_const] = ACTIONS(2967), + [anon_sym_constexpr] = ACTIONS(2967), + [anon_sym_volatile] = ACTIONS(2967), + [anon_sym_restrict] = ACTIONS(2967), + [anon_sym___restrict__] = ACTIONS(2967), + [anon_sym__Atomic] = ACTIONS(2967), + [anon_sym__Noreturn] = ACTIONS(2967), + [anon_sym_noreturn] = ACTIONS(2967), + [anon_sym_mutable] = ACTIONS(2967), + [anon_sym_constinit] = ACTIONS(2967), + [anon_sym_consteval] = ACTIONS(2967), + [anon_sym_alignas] = ACTIONS(2967), + [anon_sym__Alignas] = ACTIONS(2967), + [sym_primitive_type] = ACTIONS(2967), + [anon_sym_enum] = ACTIONS(2967), + [anon_sym_class] = ACTIONS(2967), + [anon_sym_struct] = ACTIONS(2967), + [anon_sym_union] = ACTIONS(2967), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2969), + [sym_auto] = ACTIONS(2967), + [anon_sym_decltype] = ACTIONS(2967), + [sym_virtual] = ACTIONS(2967), + [anon_sym_explicit] = ACTIONS(2967), + [anon_sym_typename] = ACTIONS(2967), + [anon_sym_template] = ACTIONS(2967), + [anon_sym_operator] = ACTIONS(2967), + [anon_sym_friend] = ACTIONS(2967), + [anon_sym_public] = ACTIONS(2967), + [anon_sym_private] = ACTIONS(2967), + [anon_sym_protected] = ACTIONS(2967), + [anon_sym_using] = ACTIONS(2967), + [anon_sym_static_assert] = ACTIONS(2967), + }, + [2169] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [aux_sym_preproc_if_token2] = ACTIONS(1867), + [aux_sym_preproc_else_token1] = ACTIONS(1867), + [aux_sym_preproc_elif_token1] = ACTIONS(1865), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1867), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_signed] = ACTIONS(1865), + [anon_sym_unsigned] = ACTIONS(1865), + [anon_sym_long] = ACTIONS(1865), + [anon_sym_short] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_COLON] = ACTIONS(1867), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [sym_auto] = ACTIONS(1865), + [anon_sym_decltype] = ACTIONS(1865), + }, + [2170] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_RBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [2171] = { + [sym__identifier] = ACTIONS(2781), + [aux_sym_preproc_def_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token1] = ACTIONS(2781), + [aux_sym_preproc_if_token2] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2781), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2781), + [sym_preproc_directive] = ACTIONS(2781), + [anon_sym_LPAREN2] = ACTIONS(2783), + [anon_sym_TILDE] = ACTIONS(2783), + [anon_sym_STAR] = ACTIONS(2783), + [anon_sym_AMP_AMP] = ACTIONS(2783), + [anon_sym_AMP] = ACTIONS(2781), + [anon_sym___extension__] = ACTIONS(2781), + [anon_sym_typedef] = ACTIONS(2781), + [anon_sym_extern] = ACTIONS(2781), + [anon_sym___attribute__] = ACTIONS(2781), + [anon_sym_COLON_COLON] = ACTIONS(2783), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2783), + [anon_sym___declspec] = ACTIONS(2781), + [anon_sym___based] = ACTIONS(2781), + [anon_sym_signed] = ACTIONS(2781), + [anon_sym_unsigned] = ACTIONS(2781), + [anon_sym_long] = ACTIONS(2781), + [anon_sym_short] = ACTIONS(2781), + [anon_sym_LBRACK] = ACTIONS(2781), + [anon_sym_static] = ACTIONS(2781), + [anon_sym_register] = ACTIONS(2781), + [anon_sym_inline] = ACTIONS(2781), + [anon_sym___inline] = ACTIONS(2781), + [anon_sym___inline__] = ACTIONS(2781), + [anon_sym___forceinline] = ACTIONS(2781), + [anon_sym_thread_local] = ACTIONS(2781), + [anon_sym___thread] = ACTIONS(2781), + [anon_sym_const] = ACTIONS(2781), + [anon_sym_constexpr] = ACTIONS(2781), + [anon_sym_volatile] = ACTIONS(2781), + [anon_sym_restrict] = ACTIONS(2781), + [anon_sym___restrict__] = ACTIONS(2781), + [anon_sym__Atomic] = ACTIONS(2781), + [anon_sym__Noreturn] = ACTIONS(2781), + [anon_sym_noreturn] = ACTIONS(2781), + [anon_sym_mutable] = ACTIONS(2781), + [anon_sym_constinit] = ACTIONS(2781), + [anon_sym_consteval] = ACTIONS(2781), + [anon_sym_alignas] = ACTIONS(2781), + [anon_sym__Alignas] = ACTIONS(2781), + [sym_primitive_type] = ACTIONS(2781), + [anon_sym_enum] = ACTIONS(2781), + [anon_sym_class] = ACTIONS(2781), + [anon_sym_struct] = ACTIONS(2781), + [anon_sym_union] = ACTIONS(2781), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2783), + [sym_auto] = ACTIONS(2781), + [anon_sym_decltype] = ACTIONS(2781), + [sym_virtual] = ACTIONS(2781), + [anon_sym_explicit] = ACTIONS(2781), + [anon_sym_typename] = ACTIONS(2781), + [anon_sym_template] = ACTIONS(2781), + [anon_sym_operator] = ACTIONS(2781), + [anon_sym_friend] = ACTIONS(2781), + [anon_sym_public] = ACTIONS(2781), + [anon_sym_private] = ACTIONS(2781), + [anon_sym_protected] = ACTIONS(2781), + [anon_sym_using] = ACTIONS(2781), + [anon_sym_static_assert] = ACTIONS(2781), + }, + [2172] = { + [sym__identifier] = ACTIONS(3186), + [aux_sym_preproc_def_token1] = ACTIONS(3186), + [aux_sym_preproc_if_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3186), + [sym_preproc_directive] = ACTIONS(3186), + [anon_sym_LPAREN2] = ACTIONS(3188), + [anon_sym_TILDE] = ACTIONS(3188), + [anon_sym_STAR] = ACTIONS(3188), + [anon_sym_AMP_AMP] = ACTIONS(3188), + [anon_sym_AMP] = ACTIONS(3186), + [anon_sym___extension__] = ACTIONS(3186), + [anon_sym_typedef] = ACTIONS(3186), + [anon_sym_extern] = ACTIONS(3186), + [anon_sym___attribute__] = ACTIONS(3186), + [anon_sym_COLON_COLON] = ACTIONS(3188), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3188), + [anon_sym___declspec] = ACTIONS(3186), + [anon_sym___based] = ACTIONS(3186), + [anon_sym_RBRACE] = ACTIONS(3188), + [anon_sym_signed] = ACTIONS(3186), + [anon_sym_unsigned] = ACTIONS(3186), + [anon_sym_long] = ACTIONS(3186), + [anon_sym_short] = ACTIONS(3186), + [anon_sym_LBRACK] = ACTIONS(3186), + [anon_sym_static] = ACTIONS(3186), + [anon_sym_register] = ACTIONS(3186), + [anon_sym_inline] = ACTIONS(3186), + [anon_sym___inline] = ACTIONS(3186), + [anon_sym___inline__] = ACTIONS(3186), + [anon_sym___forceinline] = ACTIONS(3186), + [anon_sym_thread_local] = ACTIONS(3186), + [anon_sym___thread] = ACTIONS(3186), + [anon_sym_const] = ACTIONS(3186), + [anon_sym_constexpr] = ACTIONS(3186), + [anon_sym_volatile] = ACTIONS(3186), + [anon_sym_restrict] = ACTIONS(3186), + [anon_sym___restrict__] = ACTIONS(3186), + [anon_sym__Atomic] = ACTIONS(3186), + [anon_sym__Noreturn] = ACTIONS(3186), + [anon_sym_noreturn] = ACTIONS(3186), + [anon_sym_mutable] = ACTIONS(3186), + [anon_sym_constinit] = ACTIONS(3186), + [anon_sym_consteval] = ACTIONS(3186), + [anon_sym_alignas] = ACTIONS(3186), + [anon_sym__Alignas] = ACTIONS(3186), + [sym_primitive_type] = ACTIONS(3186), + [anon_sym_enum] = ACTIONS(3186), + [anon_sym_class] = ACTIONS(3186), + [anon_sym_struct] = ACTIONS(3186), + [anon_sym_union] = ACTIONS(3186), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3188), + [sym_auto] = ACTIONS(3186), + [anon_sym_decltype] = ACTIONS(3186), + [sym_virtual] = ACTIONS(3186), + [anon_sym_explicit] = ACTIONS(3186), + [anon_sym_typename] = ACTIONS(3186), + [anon_sym_template] = ACTIONS(3186), + [anon_sym_operator] = ACTIONS(3186), + [anon_sym_friend] = ACTIONS(3186), + [anon_sym_public] = ACTIONS(3186), + [anon_sym_private] = ACTIONS(3186), + [anon_sym_protected] = ACTIONS(3186), + [anon_sym_using] = ACTIONS(3186), + [anon_sym_static_assert] = ACTIONS(3186), + }, + [2173] = { + [sym__identifier] = ACTIONS(5343), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5345), + [anon_sym_COMMA] = ACTIONS(5345), + [anon_sym_RPAREN] = ACTIONS(5345), + [aux_sym_preproc_if_token2] = ACTIONS(5345), + [aux_sym_preproc_else_token1] = ACTIONS(5345), + [aux_sym_preproc_elif_token1] = ACTIONS(5343), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5345), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5345), + [anon_sym_LPAREN2] = ACTIONS(5345), + [anon_sym_DASH] = ACTIONS(5343), + [anon_sym_PLUS] = ACTIONS(5343), + [anon_sym_STAR] = ACTIONS(5343), + [anon_sym_SLASH] = ACTIONS(5343), + [anon_sym_PERCENT] = ACTIONS(5343), + [anon_sym_PIPE_PIPE] = ACTIONS(5345), + [anon_sym_AMP_AMP] = ACTIONS(5345), + [anon_sym_PIPE] = ACTIONS(5343), + [anon_sym_CARET] = ACTIONS(5343), + [anon_sym_AMP] = ACTIONS(5343), + [anon_sym_EQ_EQ] = ACTIONS(5345), + [anon_sym_BANG_EQ] = ACTIONS(5345), + [anon_sym_GT] = ACTIONS(5343), + [anon_sym_GT_EQ] = ACTIONS(5345), + [anon_sym_LT_EQ] = ACTIONS(5343), + [anon_sym_LT] = ACTIONS(5343), + [anon_sym_LT_LT] = ACTIONS(5343), + [anon_sym_GT_GT] = ACTIONS(5343), + [anon_sym_SEMI] = ACTIONS(5345), + [anon_sym___attribute__] = ACTIONS(5343), + [anon_sym_LBRACE] = ACTIONS(5345), + [anon_sym_RBRACE] = ACTIONS(5345), + [anon_sym_LBRACK] = ACTIONS(5345), + [anon_sym_RBRACK] = ACTIONS(5345), + [anon_sym_EQ] = ACTIONS(5343), + [anon_sym_COLON] = ACTIONS(5345), + [anon_sym_QMARK] = ACTIONS(5345), + [anon_sym_STAR_EQ] = ACTIONS(5345), + [anon_sym_SLASH_EQ] = ACTIONS(5345), + [anon_sym_PERCENT_EQ] = ACTIONS(5345), + [anon_sym_PLUS_EQ] = ACTIONS(5345), + [anon_sym_DASH_EQ] = ACTIONS(5345), + [anon_sym_LT_LT_EQ] = ACTIONS(5345), + [anon_sym_GT_GT_EQ] = ACTIONS(5345), + [anon_sym_AMP_EQ] = ACTIONS(5345), + [anon_sym_CARET_EQ] = ACTIONS(5345), + [anon_sym_PIPE_EQ] = ACTIONS(5345), + [anon_sym_and_eq] = ACTIONS(5343), + [anon_sym_or_eq] = ACTIONS(5343), + [anon_sym_xor_eq] = ACTIONS(5343), + [anon_sym_LT_EQ_GT] = ACTIONS(5345), + [anon_sym_or] = ACTIONS(5343), + [anon_sym_and] = ACTIONS(5343), + [anon_sym_bitor] = ACTIONS(5343), + [anon_sym_xor] = ACTIONS(5343), + [anon_sym_bitand] = ACTIONS(5343), + [anon_sym_not_eq] = ACTIONS(5343), + [anon_sym_DASH_DASH] = ACTIONS(5345), + [anon_sym_PLUS_PLUS] = ACTIONS(5345), + [anon_sym_DOT] = ACTIONS(5343), + [anon_sym_DOT_STAR] = ACTIONS(5345), + [anon_sym_DASH_GT] = ACTIONS(5345), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5345), + [sym_auto] = ACTIONS(5343), + [anon_sym_decltype] = ACTIONS(5343), + }, + [2174] = { + [sym__identifier] = ACTIONS(2919), + [aux_sym_preproc_def_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token1] = ACTIONS(2919), + [aux_sym_preproc_if_token2] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2919), + [sym_preproc_directive] = ACTIONS(2919), + [anon_sym_LPAREN2] = ACTIONS(2921), + [anon_sym_TILDE] = ACTIONS(2921), + [anon_sym_STAR] = ACTIONS(2921), + [anon_sym_AMP_AMP] = ACTIONS(2921), + [anon_sym_AMP] = ACTIONS(2919), + [anon_sym___extension__] = ACTIONS(2919), + [anon_sym_typedef] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(2919), + [anon_sym___attribute__] = ACTIONS(2919), + [anon_sym_COLON_COLON] = ACTIONS(2921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2921), + [anon_sym___declspec] = ACTIONS(2919), + [anon_sym___based] = ACTIONS(2919), + [anon_sym_signed] = ACTIONS(2919), + [anon_sym_unsigned] = ACTIONS(2919), + [anon_sym_long] = ACTIONS(2919), + [anon_sym_short] = ACTIONS(2919), + [anon_sym_LBRACK] = ACTIONS(2919), + [anon_sym_static] = ACTIONS(2919), + [anon_sym_register] = ACTIONS(2919), + [anon_sym_inline] = ACTIONS(2919), + [anon_sym___inline] = ACTIONS(2919), + [anon_sym___inline__] = ACTIONS(2919), + [anon_sym___forceinline] = ACTIONS(2919), + [anon_sym_thread_local] = ACTIONS(2919), + [anon_sym___thread] = ACTIONS(2919), + [anon_sym_const] = ACTIONS(2919), + [anon_sym_constexpr] = ACTIONS(2919), + [anon_sym_volatile] = ACTIONS(2919), + [anon_sym_restrict] = ACTIONS(2919), + [anon_sym___restrict__] = ACTIONS(2919), + [anon_sym__Atomic] = ACTIONS(2919), + [anon_sym__Noreturn] = ACTIONS(2919), + [anon_sym_noreturn] = ACTIONS(2919), + [anon_sym_mutable] = ACTIONS(2919), + [anon_sym_constinit] = ACTIONS(2919), + [anon_sym_consteval] = ACTIONS(2919), + [anon_sym_alignas] = ACTIONS(2919), + [anon_sym__Alignas] = ACTIONS(2919), + [sym_primitive_type] = ACTIONS(2919), + [anon_sym_enum] = ACTIONS(2919), + [anon_sym_class] = ACTIONS(2919), + [anon_sym_struct] = ACTIONS(2919), + [anon_sym_union] = ACTIONS(2919), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2921), + [sym_auto] = ACTIONS(2919), + [anon_sym_decltype] = ACTIONS(2919), + [sym_virtual] = ACTIONS(2919), + [anon_sym_explicit] = ACTIONS(2919), + [anon_sym_typename] = ACTIONS(2919), + [anon_sym_template] = ACTIONS(2919), + [anon_sym_operator] = ACTIONS(2919), + [anon_sym_friend] = ACTIONS(2919), + [anon_sym_public] = ACTIONS(2919), + [anon_sym_private] = ACTIONS(2919), + [anon_sym_protected] = ACTIONS(2919), + [anon_sym_using] = ACTIONS(2919), + [anon_sym_static_assert] = ACTIONS(2919), + }, + [2175] = { + [sym__identifier] = ACTIONS(5717), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5719), + [anon_sym_COMMA] = ACTIONS(5719), + [anon_sym_RPAREN] = ACTIONS(5719), + [aux_sym_preproc_if_token2] = ACTIONS(5719), + [aux_sym_preproc_else_token1] = ACTIONS(5719), + [aux_sym_preproc_elif_token1] = ACTIONS(5717), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5719), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5719), + [anon_sym_LPAREN2] = ACTIONS(5719), + [anon_sym_DASH] = ACTIONS(5717), + [anon_sym_PLUS] = ACTIONS(5717), + [anon_sym_STAR] = ACTIONS(5717), + [anon_sym_SLASH] = ACTIONS(5717), + [anon_sym_PERCENT] = ACTIONS(5717), + [anon_sym_PIPE_PIPE] = ACTIONS(5719), + [anon_sym_AMP_AMP] = ACTIONS(5719), + [anon_sym_PIPE] = ACTIONS(5717), + [anon_sym_CARET] = ACTIONS(5717), + [anon_sym_AMP] = ACTIONS(5717), + [anon_sym_EQ_EQ] = ACTIONS(5719), + [anon_sym_BANG_EQ] = ACTIONS(5719), + [anon_sym_GT] = ACTIONS(5717), + [anon_sym_GT_EQ] = ACTIONS(5719), + [anon_sym_LT_EQ] = ACTIONS(5717), + [anon_sym_LT] = ACTIONS(5717), + [anon_sym_LT_LT] = ACTIONS(5717), + [anon_sym_GT_GT] = ACTIONS(5717), + [anon_sym_SEMI] = ACTIONS(5719), + [anon_sym___attribute__] = ACTIONS(5717), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5719), + [anon_sym_LBRACE] = ACTIONS(5719), + [anon_sym_RBRACE] = ACTIONS(5719), + [anon_sym_LBRACK] = ACTIONS(5717), + [anon_sym_RBRACK] = ACTIONS(5719), + [anon_sym_EQ] = ACTIONS(5717), + [anon_sym_COLON] = ACTIONS(5719), + [anon_sym_QMARK] = ACTIONS(5719), + [anon_sym_STAR_EQ] = ACTIONS(5719), + [anon_sym_SLASH_EQ] = ACTIONS(5719), + [anon_sym_PERCENT_EQ] = ACTIONS(5719), + [anon_sym_PLUS_EQ] = ACTIONS(5719), + [anon_sym_DASH_EQ] = ACTIONS(5719), + [anon_sym_LT_LT_EQ] = ACTIONS(5719), + [anon_sym_GT_GT_EQ] = ACTIONS(5719), + [anon_sym_AMP_EQ] = ACTIONS(5719), + [anon_sym_CARET_EQ] = ACTIONS(5719), + [anon_sym_PIPE_EQ] = ACTIONS(5719), + [anon_sym_and_eq] = ACTIONS(5717), + [anon_sym_or_eq] = ACTIONS(5717), + [anon_sym_xor_eq] = ACTIONS(5717), + [anon_sym_LT_EQ_GT] = ACTIONS(5719), + [anon_sym_or] = ACTIONS(5717), + [anon_sym_and] = ACTIONS(5717), + [anon_sym_bitor] = ACTIONS(5717), + [anon_sym_xor] = ACTIONS(5717), + [anon_sym_bitand] = ACTIONS(5717), + [anon_sym_not_eq] = ACTIONS(5717), + [anon_sym_DASH_DASH] = ACTIONS(5719), + [anon_sym_PLUS_PLUS] = ACTIONS(5719), + [anon_sym_DOT] = ACTIONS(5717), + [anon_sym_DOT_STAR] = ACTIONS(5719), + [anon_sym_DASH_GT] = ACTIONS(5719), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5719), + [anon_sym_try] = ACTIONS(5717), + }, + [2176] = { + [sym_template_argument_list] = STATE(1903), + [aux_sym_sized_type_specifier_repeat1] = STATE(2343), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3771), + [anon_sym_COMMA] = ACTIONS(3771), + [anon_sym_RPAREN] = ACTIONS(3771), + [anon_sym_LPAREN2] = ACTIONS(3771), + [anon_sym_DASH] = ACTIONS(3763), + [anon_sym_PLUS] = ACTIONS(3763), + [anon_sym_STAR] = ACTIONS(3763), + [anon_sym_SLASH] = ACTIONS(3763), + [anon_sym_PERCENT] = ACTIONS(3763), + [anon_sym_PIPE_PIPE] = ACTIONS(3771), + [anon_sym_AMP_AMP] = ACTIONS(3771), + [anon_sym_PIPE] = ACTIONS(3763), + [anon_sym_CARET] = ACTIONS(3763), + [anon_sym_AMP] = ACTIONS(3763), + [anon_sym_EQ_EQ] = ACTIONS(3771), + [anon_sym_BANG_EQ] = ACTIONS(3771), + [anon_sym_GT] = ACTIONS(3763), + [anon_sym_GT_EQ] = ACTIONS(3771), + [anon_sym_LT_EQ] = ACTIONS(3763), + [anon_sym_LT] = ACTIONS(5034), + [anon_sym_LT_LT] = ACTIONS(3763), + [anon_sym_GT_GT] = ACTIONS(3763), + [anon_sym_SEMI] = ACTIONS(3771), + [anon_sym___attribute__] = ACTIONS(3771), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(3771), + [anon_sym_RBRACE] = ACTIONS(3771), + [anon_sym_signed] = ACTIONS(5661), + [anon_sym_unsigned] = ACTIONS(5661), + [anon_sym_long] = ACTIONS(5661), + [anon_sym_short] = ACTIONS(5661), + [anon_sym_LBRACK] = ACTIONS(3771), + [anon_sym_RBRACK] = ACTIONS(3771), + [anon_sym_EQ] = ACTIONS(3763), + [anon_sym_COLON] = ACTIONS(3763), + [anon_sym_QMARK] = ACTIONS(3771), + [anon_sym_STAR_EQ] = ACTIONS(3771), + [anon_sym_SLASH_EQ] = ACTIONS(3771), + [anon_sym_PERCENT_EQ] = ACTIONS(3771), + [anon_sym_PLUS_EQ] = ACTIONS(3771), + [anon_sym_DASH_EQ] = ACTIONS(3771), + [anon_sym_LT_LT_EQ] = ACTIONS(3771), + [anon_sym_GT_GT_EQ] = ACTIONS(3771), + [anon_sym_AMP_EQ] = ACTIONS(3771), + [anon_sym_CARET_EQ] = ACTIONS(3771), + [anon_sym_PIPE_EQ] = ACTIONS(3771), + [anon_sym_and_eq] = ACTIONS(3771), + [anon_sym_or_eq] = ACTIONS(3771), + [anon_sym_xor_eq] = ACTIONS(3771), + [anon_sym_LT_EQ_GT] = ACTIONS(3771), + [anon_sym_or] = ACTIONS(3763), + [anon_sym_and] = ACTIONS(3763), + [anon_sym_bitor] = ACTIONS(3771), + [anon_sym_xor] = ACTIONS(3763), + [anon_sym_bitand] = ACTIONS(3771), + [anon_sym_not_eq] = ACTIONS(3771), + [anon_sym_DASH_DASH] = ACTIONS(3771), + [anon_sym_PLUS_PLUS] = ACTIONS(3771), + [anon_sym_DOT] = ACTIONS(3763), + [anon_sym_DOT_STAR] = ACTIONS(3771), + [anon_sym_DASH_GT] = ACTIONS(3771), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3771), + [anon_sym_decltype] = ACTIONS(3771), + }, + [2177] = { + [sym__identifier] = ACTIONS(5253), + [aux_sym_preproc_def_token1] = ACTIONS(5253), + [aux_sym_preproc_if_token1] = ACTIONS(5253), + [aux_sym_preproc_if_token2] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5253), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5253), + [sym_preproc_directive] = ACTIONS(5253), + [anon_sym_LPAREN2] = ACTIONS(5255), + [anon_sym_TILDE] = ACTIONS(5255), + [anon_sym_STAR] = ACTIONS(5255), + [anon_sym_AMP_AMP] = ACTIONS(5255), + [anon_sym_AMP] = ACTIONS(5253), + [anon_sym___extension__] = ACTIONS(5253), + [anon_sym_typedef] = ACTIONS(5253), + [anon_sym_extern] = ACTIONS(5253), + [anon_sym___attribute__] = ACTIONS(5253), + [anon_sym_COLON_COLON] = ACTIONS(5255), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5255), + [anon_sym___declspec] = ACTIONS(5253), + [anon_sym___based] = ACTIONS(5253), + [anon_sym_signed] = ACTIONS(5253), + [anon_sym_unsigned] = ACTIONS(5253), + [anon_sym_long] = ACTIONS(5253), + [anon_sym_short] = ACTIONS(5253), + [anon_sym_LBRACK] = ACTIONS(5253), + [anon_sym_static] = ACTIONS(5253), + [anon_sym_register] = ACTIONS(5253), + [anon_sym_inline] = ACTIONS(5253), + [anon_sym___inline] = ACTIONS(5253), + [anon_sym___inline__] = ACTIONS(5253), + [anon_sym___forceinline] = ACTIONS(5253), + [anon_sym_thread_local] = ACTIONS(5253), + [anon_sym___thread] = ACTIONS(5253), + [anon_sym_const] = ACTIONS(5253), + [anon_sym_constexpr] = ACTIONS(5253), + [anon_sym_volatile] = ACTIONS(5253), + [anon_sym_restrict] = ACTIONS(5253), + [anon_sym___restrict__] = ACTIONS(5253), + [anon_sym__Atomic] = ACTIONS(5253), + [anon_sym__Noreturn] = ACTIONS(5253), + [anon_sym_noreturn] = ACTIONS(5253), + [anon_sym_mutable] = ACTIONS(5253), + [anon_sym_constinit] = ACTIONS(5253), + [anon_sym_consteval] = ACTIONS(5253), + [anon_sym_alignas] = ACTIONS(5253), + [anon_sym__Alignas] = ACTIONS(5253), + [sym_primitive_type] = ACTIONS(5253), + [anon_sym_enum] = ACTIONS(5253), + [anon_sym_class] = ACTIONS(5253), + [anon_sym_struct] = ACTIONS(5253), + [anon_sym_union] = ACTIONS(5253), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5255), + [sym_auto] = ACTIONS(5253), + [anon_sym_decltype] = ACTIONS(5253), + [sym_virtual] = ACTIONS(5253), + [anon_sym_explicit] = ACTIONS(5253), + [anon_sym_typename] = ACTIONS(5253), + [anon_sym_template] = ACTIONS(5253), + [anon_sym_operator] = ACTIONS(5253), + [anon_sym_friend] = ACTIONS(5253), + [anon_sym_public] = ACTIONS(5253), + [anon_sym_private] = ACTIONS(5253), + [anon_sym_protected] = ACTIONS(5253), + [anon_sym_using] = ACTIONS(5253), + [anon_sym_static_assert] = ACTIONS(5253), + }, + [2178] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym___attribute__] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2179] = { + [sym__identifier] = ACTIONS(3082), + [aux_sym_preproc_def_token1] = ACTIONS(3082), + [aux_sym_preproc_if_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3082), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3082), + [sym_preproc_directive] = ACTIONS(3082), + [anon_sym_LPAREN2] = ACTIONS(3084), + [anon_sym_TILDE] = ACTIONS(3084), + [anon_sym_STAR] = ACTIONS(3084), + [anon_sym_AMP_AMP] = ACTIONS(3084), + [anon_sym_AMP] = ACTIONS(3082), + [anon_sym___extension__] = ACTIONS(3082), + [anon_sym_typedef] = ACTIONS(3082), + [anon_sym_extern] = ACTIONS(3082), + [anon_sym___attribute__] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(3084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3084), + [anon_sym___declspec] = ACTIONS(3082), + [anon_sym___based] = ACTIONS(3082), + [anon_sym_RBRACE] = ACTIONS(3084), + [anon_sym_signed] = ACTIONS(3082), + [anon_sym_unsigned] = ACTIONS(3082), + [anon_sym_long] = ACTIONS(3082), + [anon_sym_short] = ACTIONS(3082), + [anon_sym_LBRACK] = ACTIONS(3082), + [anon_sym_static] = ACTIONS(3082), + [anon_sym_register] = ACTIONS(3082), + [anon_sym_inline] = ACTIONS(3082), + [anon_sym___inline] = ACTIONS(3082), + [anon_sym___inline__] = ACTIONS(3082), + [anon_sym___forceinline] = ACTIONS(3082), + [anon_sym_thread_local] = ACTIONS(3082), + [anon_sym___thread] = ACTIONS(3082), + [anon_sym_const] = ACTIONS(3082), + [anon_sym_constexpr] = ACTIONS(3082), + [anon_sym_volatile] = ACTIONS(3082), + [anon_sym_restrict] = ACTIONS(3082), + [anon_sym___restrict__] = ACTIONS(3082), + [anon_sym__Atomic] = ACTIONS(3082), + [anon_sym__Noreturn] = ACTIONS(3082), + [anon_sym_noreturn] = ACTIONS(3082), + [anon_sym_mutable] = ACTIONS(3082), + [anon_sym_constinit] = ACTIONS(3082), + [anon_sym_consteval] = ACTIONS(3082), + [anon_sym_alignas] = ACTIONS(3082), + [anon_sym__Alignas] = ACTIONS(3082), + [sym_primitive_type] = ACTIONS(3082), + [anon_sym_enum] = ACTIONS(3082), + [anon_sym_class] = ACTIONS(3082), + [anon_sym_struct] = ACTIONS(3082), + [anon_sym_union] = ACTIONS(3082), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3084), + [sym_auto] = ACTIONS(3082), + [anon_sym_decltype] = ACTIONS(3082), + [sym_virtual] = ACTIONS(3082), + [anon_sym_explicit] = ACTIONS(3082), + [anon_sym_typename] = ACTIONS(3082), + [anon_sym_template] = ACTIONS(3082), + [anon_sym_operator] = ACTIONS(3082), + [anon_sym_friend] = ACTIONS(3082), + [anon_sym_public] = ACTIONS(3082), + [anon_sym_private] = ACTIONS(3082), + [anon_sym_protected] = ACTIONS(3082), + [anon_sym_using] = ACTIONS(3082), + [anon_sym_static_assert] = ACTIONS(3082), + }, + [2180] = { + [sym__identifier] = ACTIONS(5721), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5723), + [anon_sym_COMMA] = ACTIONS(5723), + [anon_sym_RPAREN] = ACTIONS(5723), + [aux_sym_preproc_if_token2] = ACTIONS(5723), + [aux_sym_preproc_else_token1] = ACTIONS(5723), + [aux_sym_preproc_elif_token1] = ACTIONS(5721), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5723), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5723), + [anon_sym_LPAREN2] = ACTIONS(5723), + [anon_sym_DASH] = ACTIONS(5721), + [anon_sym_PLUS] = ACTIONS(5721), + [anon_sym_STAR] = ACTIONS(5721), + [anon_sym_SLASH] = ACTIONS(5721), + [anon_sym_PERCENT] = ACTIONS(5721), + [anon_sym_PIPE_PIPE] = ACTIONS(5723), + [anon_sym_AMP_AMP] = ACTIONS(5723), + [anon_sym_PIPE] = ACTIONS(5721), + [anon_sym_CARET] = ACTIONS(5721), + [anon_sym_AMP] = ACTIONS(5721), + [anon_sym_EQ_EQ] = ACTIONS(5723), + [anon_sym_BANG_EQ] = ACTIONS(5723), + [anon_sym_GT] = ACTIONS(5721), + [anon_sym_GT_EQ] = ACTIONS(5723), + [anon_sym_LT_EQ] = ACTIONS(5721), + [anon_sym_LT] = ACTIONS(5721), + [anon_sym_LT_LT] = ACTIONS(5721), + [anon_sym_GT_GT] = ACTIONS(5721), + [anon_sym_SEMI] = ACTIONS(5723), + [anon_sym___attribute__] = ACTIONS(5721), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5723), + [anon_sym_LBRACE] = ACTIONS(5723), + [anon_sym_RBRACE] = ACTIONS(5723), + [anon_sym_LBRACK] = ACTIONS(5721), + [anon_sym_RBRACK] = ACTIONS(5723), + [anon_sym_EQ] = ACTIONS(5721), + [anon_sym_COLON] = ACTIONS(5723), + [anon_sym_QMARK] = ACTIONS(5723), + [anon_sym_STAR_EQ] = ACTIONS(5723), + [anon_sym_SLASH_EQ] = ACTIONS(5723), + [anon_sym_PERCENT_EQ] = ACTIONS(5723), + [anon_sym_PLUS_EQ] = ACTIONS(5723), + [anon_sym_DASH_EQ] = ACTIONS(5723), + [anon_sym_LT_LT_EQ] = ACTIONS(5723), + [anon_sym_GT_GT_EQ] = ACTIONS(5723), + [anon_sym_AMP_EQ] = ACTIONS(5723), + [anon_sym_CARET_EQ] = ACTIONS(5723), + [anon_sym_PIPE_EQ] = ACTIONS(5723), + [anon_sym_and_eq] = ACTIONS(5721), + [anon_sym_or_eq] = ACTIONS(5721), + [anon_sym_xor_eq] = ACTIONS(5721), + [anon_sym_LT_EQ_GT] = ACTIONS(5723), + [anon_sym_or] = ACTIONS(5721), + [anon_sym_and] = ACTIONS(5721), + [anon_sym_bitor] = ACTIONS(5721), + [anon_sym_xor] = ACTIONS(5721), + [anon_sym_bitand] = ACTIONS(5721), + [anon_sym_not_eq] = ACTIONS(5721), + [anon_sym_DASH_DASH] = ACTIONS(5723), + [anon_sym_PLUS_PLUS] = ACTIONS(5723), + [anon_sym_DOT] = ACTIONS(5721), + [anon_sym_DOT_STAR] = ACTIONS(5723), + [anon_sym_DASH_GT] = ACTIONS(5723), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5723), + [anon_sym_try] = ACTIONS(5721), + }, + [2181] = { + [sym__identifier] = ACTIONS(5249), + [aux_sym_preproc_def_token1] = ACTIONS(5249), + [aux_sym_preproc_if_token1] = ACTIONS(5249), + [aux_sym_preproc_if_token2] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5249), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5249), + [sym_preproc_directive] = ACTIONS(5249), + [anon_sym_LPAREN2] = ACTIONS(5251), + [anon_sym_TILDE] = ACTIONS(5251), + [anon_sym_STAR] = ACTIONS(5251), + [anon_sym_AMP_AMP] = ACTIONS(5251), + [anon_sym_AMP] = ACTIONS(5249), + [anon_sym___extension__] = ACTIONS(5249), + [anon_sym_typedef] = ACTIONS(5249), + [anon_sym_extern] = ACTIONS(5249), + [anon_sym___attribute__] = ACTIONS(5249), + [anon_sym_COLON_COLON] = ACTIONS(5251), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5251), + [anon_sym___declspec] = ACTIONS(5249), + [anon_sym___based] = ACTIONS(5249), + [anon_sym_signed] = ACTIONS(5249), + [anon_sym_unsigned] = ACTIONS(5249), + [anon_sym_long] = ACTIONS(5249), + [anon_sym_short] = ACTIONS(5249), + [anon_sym_LBRACK] = ACTIONS(5249), + [anon_sym_static] = ACTIONS(5249), + [anon_sym_register] = ACTIONS(5249), + [anon_sym_inline] = ACTIONS(5249), + [anon_sym___inline] = ACTIONS(5249), + [anon_sym___inline__] = ACTIONS(5249), + [anon_sym___forceinline] = ACTIONS(5249), + [anon_sym_thread_local] = ACTIONS(5249), + [anon_sym___thread] = ACTIONS(5249), + [anon_sym_const] = ACTIONS(5249), + [anon_sym_constexpr] = ACTIONS(5249), + [anon_sym_volatile] = ACTIONS(5249), + [anon_sym_restrict] = ACTIONS(5249), + [anon_sym___restrict__] = ACTIONS(5249), + [anon_sym__Atomic] = ACTIONS(5249), + [anon_sym__Noreturn] = ACTIONS(5249), + [anon_sym_noreturn] = ACTIONS(5249), + [anon_sym_mutable] = ACTIONS(5249), + [anon_sym_constinit] = ACTIONS(5249), + [anon_sym_consteval] = ACTIONS(5249), + [anon_sym_alignas] = ACTIONS(5249), + [anon_sym__Alignas] = ACTIONS(5249), + [sym_primitive_type] = ACTIONS(5249), + [anon_sym_enum] = ACTIONS(5249), + [anon_sym_class] = ACTIONS(5249), + [anon_sym_struct] = ACTIONS(5249), + [anon_sym_union] = ACTIONS(5249), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5251), + [sym_auto] = ACTIONS(5249), + [anon_sym_decltype] = ACTIONS(5249), + [sym_virtual] = ACTIONS(5249), + [anon_sym_explicit] = ACTIONS(5249), + [anon_sym_typename] = ACTIONS(5249), + [anon_sym_template] = ACTIONS(5249), + [anon_sym_operator] = ACTIONS(5249), + [anon_sym_friend] = ACTIONS(5249), + [anon_sym_public] = ACTIONS(5249), + [anon_sym_private] = ACTIONS(5249), + [anon_sym_protected] = ACTIONS(5249), + [anon_sym_using] = ACTIONS(5249), + [anon_sym_static_assert] = ACTIONS(5249), + }, + [2182] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym_RBRACE] = ACTIONS(2950), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_friend] = ACTIONS(2948), + [anon_sym_public] = ACTIONS(2948), + [anon_sym_private] = ACTIONS(2948), + [anon_sym_protected] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + }, + [2183] = { + [sym_template_argument_list] = STATE(2331), + [sym__identifier] = ACTIONS(4619), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4612), + [anon_sym_COMMA] = ACTIONS(4612), + [anon_sym_RPAREN] = ACTIONS(4612), + [aux_sym_preproc_if_token2] = ACTIONS(4612), + [aux_sym_preproc_else_token1] = ACTIONS(4612), + [aux_sym_preproc_elif_token1] = ACTIONS(4619), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4612), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4612), + [anon_sym_LPAREN2] = ACTIONS(4612), + [anon_sym_DASH] = ACTIONS(4619), + [anon_sym_PLUS] = ACTIONS(4619), + [anon_sym_STAR] = ACTIONS(4619), + [anon_sym_SLASH] = ACTIONS(4619), + [anon_sym_PERCENT] = ACTIONS(4619), + [anon_sym_PIPE_PIPE] = ACTIONS(4612), + [anon_sym_AMP_AMP] = ACTIONS(4612), + [anon_sym_PIPE] = ACTIONS(4619), + [anon_sym_CARET] = ACTIONS(4619), + [anon_sym_AMP] = ACTIONS(4619), + [anon_sym_EQ_EQ] = ACTIONS(4612), + [anon_sym_BANG_EQ] = ACTIONS(4612), + [anon_sym_GT] = ACTIONS(4619), + [anon_sym_GT_EQ] = ACTIONS(4612), + [anon_sym_LT_EQ] = ACTIONS(4619), + [anon_sym_LT] = ACTIONS(5413), + [anon_sym_LT_LT] = ACTIONS(4619), + [anon_sym_GT_GT] = ACTIONS(4619), + [anon_sym_SEMI] = ACTIONS(4612), + [anon_sym___attribute__] = ACTIONS(4619), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_LBRACE] = ACTIONS(4617), + [anon_sym_RBRACE] = ACTIONS(4612), + [anon_sym_LBRACK] = ACTIONS(4612), + [anon_sym_RBRACK] = ACTIONS(4612), + [anon_sym_EQ] = ACTIONS(4619), + [anon_sym_COLON] = ACTIONS(4619), + [anon_sym_QMARK] = ACTIONS(4612), + [anon_sym_STAR_EQ] = ACTIONS(4612), + [anon_sym_SLASH_EQ] = ACTIONS(4612), + [anon_sym_PERCENT_EQ] = ACTIONS(4612), + [anon_sym_PLUS_EQ] = ACTIONS(4612), + [anon_sym_DASH_EQ] = ACTIONS(4612), + [anon_sym_LT_LT_EQ] = ACTIONS(4612), + [anon_sym_GT_GT_EQ] = ACTIONS(4612), + [anon_sym_AMP_EQ] = ACTIONS(4612), + [anon_sym_CARET_EQ] = ACTIONS(4612), + [anon_sym_PIPE_EQ] = ACTIONS(4612), + [anon_sym_and_eq] = ACTIONS(4619), + [anon_sym_or_eq] = ACTIONS(4619), + [anon_sym_xor_eq] = ACTIONS(4619), + [anon_sym_LT_EQ_GT] = ACTIONS(4612), + [anon_sym_or] = ACTIONS(4619), + [anon_sym_and] = ACTIONS(4619), + [anon_sym_bitor] = ACTIONS(4619), + [anon_sym_xor] = ACTIONS(4619), + [anon_sym_bitand] = ACTIONS(4619), + [anon_sym_not_eq] = ACTIONS(4619), + [anon_sym_DASH_DASH] = ACTIONS(4612), + [anon_sym_PLUS_PLUS] = ACTIONS(4612), + [anon_sym_DOT] = ACTIONS(4619), + [anon_sym_DOT_STAR] = ACTIONS(4612), + [anon_sym_DASH_GT] = ACTIONS(4612), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4612), + }, + [2184] = { + [sym__identifier] = ACTIONS(5307), + [aux_sym_preproc_def_token1] = ACTIONS(5307), + [aux_sym_preproc_if_token1] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5307), + [sym_preproc_directive] = ACTIONS(5307), + [anon_sym_LPAREN2] = ACTIONS(5309), + [anon_sym_TILDE] = ACTIONS(5309), + [anon_sym_STAR] = ACTIONS(5309), + [anon_sym_AMP_AMP] = ACTIONS(5309), + [anon_sym_AMP] = ACTIONS(5307), + [anon_sym___extension__] = ACTIONS(5307), + [anon_sym_typedef] = ACTIONS(5307), + [anon_sym_extern] = ACTIONS(5307), + [anon_sym___attribute__] = ACTIONS(5307), + [anon_sym_COLON_COLON] = ACTIONS(5309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5309), + [anon_sym___declspec] = ACTIONS(5307), + [anon_sym___based] = ACTIONS(5307), + [anon_sym_RBRACE] = ACTIONS(5309), + [anon_sym_signed] = ACTIONS(5307), + [anon_sym_unsigned] = ACTIONS(5307), + [anon_sym_long] = ACTIONS(5307), + [anon_sym_short] = ACTIONS(5307), + [anon_sym_LBRACK] = ACTIONS(5307), + [anon_sym_static] = ACTIONS(5307), + [anon_sym_register] = ACTIONS(5307), + [anon_sym_inline] = ACTIONS(5307), + [anon_sym___inline] = ACTIONS(5307), + [anon_sym___inline__] = ACTIONS(5307), + [anon_sym___forceinline] = ACTIONS(5307), + [anon_sym_thread_local] = ACTIONS(5307), + [anon_sym___thread] = ACTIONS(5307), + [anon_sym_const] = ACTIONS(5307), + [anon_sym_constexpr] = ACTIONS(5307), + [anon_sym_volatile] = ACTIONS(5307), + [anon_sym_restrict] = ACTIONS(5307), + [anon_sym___restrict__] = ACTIONS(5307), + [anon_sym__Atomic] = ACTIONS(5307), + [anon_sym__Noreturn] = ACTIONS(5307), + [anon_sym_noreturn] = ACTIONS(5307), + [anon_sym_mutable] = ACTIONS(5307), + [anon_sym_constinit] = ACTIONS(5307), + [anon_sym_consteval] = ACTIONS(5307), + [anon_sym_alignas] = ACTIONS(5307), + [anon_sym__Alignas] = ACTIONS(5307), + [sym_primitive_type] = ACTIONS(5307), + [anon_sym_enum] = ACTIONS(5307), + [anon_sym_class] = ACTIONS(5307), + [anon_sym_struct] = ACTIONS(5307), + [anon_sym_union] = ACTIONS(5307), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5309), + [sym_auto] = ACTIONS(5307), + [anon_sym_decltype] = ACTIONS(5307), + [sym_virtual] = ACTIONS(5307), + [anon_sym_explicit] = ACTIONS(5307), + [anon_sym_typename] = ACTIONS(5307), + [anon_sym_template] = ACTIONS(5307), + [anon_sym_operator] = ACTIONS(5307), + [anon_sym_friend] = ACTIONS(5307), + [anon_sym_public] = ACTIONS(5307), + [anon_sym_private] = ACTIONS(5307), + [anon_sym_protected] = ACTIONS(5307), + [anon_sym_using] = ACTIONS(5307), + [anon_sym_static_assert] = ACTIONS(5307), + }, + [2185] = { + [sym_string_literal] = STATE(1914), + [sym__string_literal] = STATE(2359), + [sym_raw_string_literal] = STATE(1914), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3765), + [anon_sym_COMMA] = ACTIONS(3765), + [anon_sym_LPAREN2] = ACTIONS(3765), + [anon_sym_DASH] = ACTIONS(3773), + [anon_sym_PLUS] = ACTIONS(3773), + [anon_sym_STAR] = ACTIONS(3773), + [anon_sym_SLASH] = ACTIONS(3773), + [anon_sym_PERCENT] = ACTIONS(3773), + [anon_sym_PIPE_PIPE] = ACTIONS(3765), + [anon_sym_AMP_AMP] = ACTIONS(3765), + [anon_sym_PIPE] = ACTIONS(3773), + [anon_sym_CARET] = ACTIONS(3773), + [anon_sym_AMP] = ACTIONS(3773), + [anon_sym_EQ_EQ] = ACTIONS(3765), + [anon_sym_BANG_EQ] = ACTIONS(3765), + [anon_sym_GT] = ACTIONS(3773), + [anon_sym_GT_EQ] = ACTIONS(3773), + [anon_sym_LT_EQ] = ACTIONS(3773), + [anon_sym_LT] = ACTIONS(3773), + [anon_sym_LT_LT] = ACTIONS(3773), + [anon_sym_GT_GT] = ACTIONS(3773), + [anon_sym_LBRACK] = ACTIONS(3765), + [anon_sym_EQ] = ACTIONS(3773), + [anon_sym_QMARK] = ACTIONS(3765), + [anon_sym_STAR_EQ] = ACTIONS(3765), + [anon_sym_SLASH_EQ] = ACTIONS(3765), + [anon_sym_PERCENT_EQ] = ACTIONS(3765), + [anon_sym_PLUS_EQ] = ACTIONS(3765), + [anon_sym_DASH_EQ] = ACTIONS(3765), + [anon_sym_LT_LT_EQ] = ACTIONS(3765), + [anon_sym_GT_GT_EQ] = ACTIONS(3773), + [anon_sym_AMP_EQ] = ACTIONS(3765), + [anon_sym_CARET_EQ] = ACTIONS(3765), + [anon_sym_PIPE_EQ] = ACTIONS(3765), + [anon_sym_and_eq] = ACTIONS(3773), + [anon_sym_or_eq] = ACTIONS(3773), + [anon_sym_xor_eq] = ACTIONS(3773), + [anon_sym_LT_EQ_GT] = ACTIONS(3765), + [anon_sym_or] = ACTIONS(3773), + [anon_sym_and] = ACTIONS(3773), + [anon_sym_bitor] = ACTIONS(3773), + [anon_sym_xor] = ACTIONS(3773), + [anon_sym_bitand] = ACTIONS(3773), + [anon_sym_not_eq] = ACTIONS(3773), + [anon_sym_DASH_DASH] = ACTIONS(3765), + [anon_sym_PLUS_PLUS] = ACTIONS(3765), + [anon_sym_DOT] = ACTIONS(3773), + [anon_sym_DOT_STAR] = ACTIONS(3765), + [anon_sym_DASH_GT] = ACTIONS(3765), + [anon_sym_L_DQUOTE] = ACTIONS(5369), + [anon_sym_u_DQUOTE] = ACTIONS(5369), + [anon_sym_U_DQUOTE] = ACTIONS(5369), + [anon_sym_u8_DQUOTE] = ACTIONS(5369), + [anon_sym_DQUOTE] = ACTIONS(5369), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5470), + [anon_sym_GT2] = ACTIONS(3765), + [anon_sym_R_DQUOTE] = ACTIONS(5373), + [anon_sym_LR_DQUOTE] = ACTIONS(5373), + [anon_sym_uR_DQUOTE] = ACTIONS(5373), + [anon_sym_UR_DQUOTE] = ACTIONS(5373), + [anon_sym_u8R_DQUOTE] = ACTIONS(5373), + [sym_literal_suffix] = ACTIONS(5725), + }, + [2186] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [2187] = { + [sym__identifier] = ACTIONS(2785), + [aux_sym_preproc_def_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token1] = ACTIONS(2785), + [aux_sym_preproc_if_token2] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2785), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2785), + [sym_preproc_directive] = ACTIONS(2785), + [anon_sym_LPAREN2] = ACTIONS(2787), + [anon_sym_TILDE] = ACTIONS(2787), + [anon_sym_STAR] = ACTIONS(2787), + [anon_sym_AMP_AMP] = ACTIONS(2787), + [anon_sym_AMP] = ACTIONS(2785), + [anon_sym___extension__] = ACTIONS(2785), + [anon_sym_typedef] = ACTIONS(2785), + [anon_sym_extern] = ACTIONS(2785), + [anon_sym___attribute__] = ACTIONS(2785), + [anon_sym_COLON_COLON] = ACTIONS(2787), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2787), + [anon_sym___declspec] = ACTIONS(2785), + [anon_sym___based] = ACTIONS(2785), + [anon_sym_signed] = ACTIONS(2785), + [anon_sym_unsigned] = ACTIONS(2785), + [anon_sym_long] = ACTIONS(2785), + [anon_sym_short] = ACTIONS(2785), + [anon_sym_LBRACK] = ACTIONS(2785), + [anon_sym_static] = ACTIONS(2785), + [anon_sym_register] = ACTIONS(2785), + [anon_sym_inline] = ACTIONS(2785), + [anon_sym___inline] = ACTIONS(2785), + [anon_sym___inline__] = ACTIONS(2785), + [anon_sym___forceinline] = ACTIONS(2785), + [anon_sym_thread_local] = ACTIONS(2785), + [anon_sym___thread] = ACTIONS(2785), + [anon_sym_const] = ACTIONS(2785), + [anon_sym_constexpr] = ACTIONS(2785), + [anon_sym_volatile] = ACTIONS(2785), + [anon_sym_restrict] = ACTIONS(2785), + [anon_sym___restrict__] = ACTIONS(2785), + [anon_sym__Atomic] = ACTIONS(2785), + [anon_sym__Noreturn] = ACTIONS(2785), + [anon_sym_noreturn] = ACTIONS(2785), + [anon_sym_mutable] = ACTIONS(2785), + [anon_sym_constinit] = ACTIONS(2785), + [anon_sym_consteval] = ACTIONS(2785), + [anon_sym_alignas] = ACTIONS(2785), + [anon_sym__Alignas] = ACTIONS(2785), + [sym_primitive_type] = ACTIONS(2785), + [anon_sym_enum] = ACTIONS(2785), + [anon_sym_class] = ACTIONS(2785), + [anon_sym_struct] = ACTIONS(2785), + [anon_sym_union] = ACTIONS(2785), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2787), + [sym_auto] = ACTIONS(2785), + [anon_sym_decltype] = ACTIONS(2785), + [sym_virtual] = ACTIONS(2785), + [anon_sym_explicit] = ACTIONS(2785), + [anon_sym_typename] = ACTIONS(2785), + [anon_sym_template] = ACTIONS(2785), + [anon_sym_operator] = ACTIONS(2785), + [anon_sym_friend] = ACTIONS(2785), + [anon_sym_public] = ACTIONS(2785), + [anon_sym_private] = ACTIONS(2785), + [anon_sym_protected] = ACTIONS(2785), + [anon_sym_using] = ACTIONS(2785), + [anon_sym_static_assert] = ACTIONS(2785), + }, + [2188] = { + [sym__identifier] = ACTIONS(5245), + [aux_sym_preproc_def_token1] = ACTIONS(5245), + [aux_sym_preproc_if_token1] = ACTIONS(5245), + [aux_sym_preproc_if_token2] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5245), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5245), + [sym_preproc_directive] = ACTIONS(5245), + [anon_sym_LPAREN2] = ACTIONS(5247), + [anon_sym_TILDE] = ACTIONS(5247), + [anon_sym_STAR] = ACTIONS(5247), + [anon_sym_AMP_AMP] = ACTIONS(5247), + [anon_sym_AMP] = ACTIONS(5245), + [anon_sym___extension__] = ACTIONS(5245), + [anon_sym_typedef] = ACTIONS(5245), + [anon_sym_extern] = ACTIONS(5245), + [anon_sym___attribute__] = ACTIONS(5245), + [anon_sym_COLON_COLON] = ACTIONS(5247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5247), + [anon_sym___declspec] = ACTIONS(5245), + [anon_sym___based] = ACTIONS(5245), + [anon_sym_signed] = ACTIONS(5245), + [anon_sym_unsigned] = ACTIONS(5245), + [anon_sym_long] = ACTIONS(5245), + [anon_sym_short] = ACTIONS(5245), + [anon_sym_LBRACK] = ACTIONS(5245), + [anon_sym_static] = ACTIONS(5245), + [anon_sym_register] = ACTIONS(5245), + [anon_sym_inline] = ACTIONS(5245), + [anon_sym___inline] = ACTIONS(5245), + [anon_sym___inline__] = ACTIONS(5245), + [anon_sym___forceinline] = ACTIONS(5245), + [anon_sym_thread_local] = ACTIONS(5245), + [anon_sym___thread] = ACTIONS(5245), + [anon_sym_const] = ACTIONS(5245), + [anon_sym_constexpr] = ACTIONS(5245), + [anon_sym_volatile] = ACTIONS(5245), + [anon_sym_restrict] = ACTIONS(5245), + [anon_sym___restrict__] = ACTIONS(5245), + [anon_sym__Atomic] = ACTIONS(5245), + [anon_sym__Noreturn] = ACTIONS(5245), + [anon_sym_noreturn] = ACTIONS(5245), + [anon_sym_mutable] = ACTIONS(5245), + [anon_sym_constinit] = ACTIONS(5245), + [anon_sym_consteval] = ACTIONS(5245), + [anon_sym_alignas] = ACTIONS(5245), + [anon_sym__Alignas] = ACTIONS(5245), + [sym_primitive_type] = ACTIONS(5245), + [anon_sym_enum] = ACTIONS(5245), + [anon_sym_class] = ACTIONS(5245), + [anon_sym_struct] = ACTIONS(5245), + [anon_sym_union] = ACTIONS(5245), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5247), + [sym_auto] = ACTIONS(5245), + [anon_sym_decltype] = ACTIONS(5245), + [sym_virtual] = ACTIONS(5245), + [anon_sym_explicit] = ACTIONS(5245), + [anon_sym_typename] = ACTIONS(5245), + [anon_sym_template] = ACTIONS(5245), + [anon_sym_operator] = ACTIONS(5245), + [anon_sym_friend] = ACTIONS(5245), + [anon_sym_public] = ACTIONS(5245), + [anon_sym_private] = ACTIONS(5245), + [anon_sym_protected] = ACTIONS(5245), + [anon_sym_using] = ACTIONS(5245), + [anon_sym_static_assert] = ACTIONS(5245), + }, + [2189] = { + [sym__identifier] = ACTIONS(2932), + [aux_sym_preproc_def_token1] = ACTIONS(2932), + [aux_sym_preproc_if_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2932), + [sym_preproc_directive] = ACTIONS(2932), + [anon_sym_LPAREN2] = ACTIONS(2934), + [anon_sym_TILDE] = ACTIONS(2934), + [anon_sym_STAR] = ACTIONS(2934), + [anon_sym_AMP_AMP] = ACTIONS(2934), + [anon_sym_AMP] = ACTIONS(2932), + [anon_sym___extension__] = ACTIONS(2932), + [anon_sym_typedef] = ACTIONS(2932), + [anon_sym_extern] = ACTIONS(2932), + [anon_sym___attribute__] = ACTIONS(2932), + [anon_sym_COLON_COLON] = ACTIONS(2934), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2934), + [anon_sym___declspec] = ACTIONS(2932), + [anon_sym___based] = ACTIONS(2932), + [anon_sym_RBRACE] = ACTIONS(2934), + [anon_sym_signed] = ACTIONS(2932), + [anon_sym_unsigned] = ACTIONS(2932), + [anon_sym_long] = ACTIONS(2932), + [anon_sym_short] = ACTIONS(2932), + [anon_sym_LBRACK] = ACTIONS(2932), + [anon_sym_static] = ACTIONS(2932), + [anon_sym_register] = ACTIONS(2932), + [anon_sym_inline] = ACTIONS(2932), + [anon_sym___inline] = ACTIONS(2932), + [anon_sym___inline__] = ACTIONS(2932), + [anon_sym___forceinline] = ACTIONS(2932), + [anon_sym_thread_local] = ACTIONS(2932), + [anon_sym___thread] = ACTIONS(2932), + [anon_sym_const] = ACTIONS(2932), + [anon_sym_constexpr] = ACTIONS(2932), + [anon_sym_volatile] = ACTIONS(2932), + [anon_sym_restrict] = ACTIONS(2932), + [anon_sym___restrict__] = ACTIONS(2932), + [anon_sym__Atomic] = ACTIONS(2932), + [anon_sym__Noreturn] = ACTIONS(2932), + [anon_sym_noreturn] = ACTIONS(2932), + [anon_sym_mutable] = ACTIONS(2932), + [anon_sym_constinit] = ACTIONS(2932), + [anon_sym_consteval] = ACTIONS(2932), + [anon_sym_alignas] = ACTIONS(2932), + [anon_sym__Alignas] = ACTIONS(2932), + [sym_primitive_type] = ACTIONS(2932), + [anon_sym_enum] = ACTIONS(2932), + [anon_sym_class] = ACTIONS(2932), + [anon_sym_struct] = ACTIONS(2932), + [anon_sym_union] = ACTIONS(2932), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2934), + [sym_auto] = ACTIONS(2932), + [anon_sym_decltype] = ACTIONS(2932), + [sym_virtual] = ACTIONS(2932), + [anon_sym_explicit] = ACTIONS(2932), + [anon_sym_typename] = ACTIONS(2932), + [anon_sym_template] = ACTIONS(2932), + [anon_sym_operator] = ACTIONS(2932), + [anon_sym_friend] = ACTIONS(2932), + [anon_sym_public] = ACTIONS(2932), + [anon_sym_private] = ACTIONS(2932), + [anon_sym_protected] = ACTIONS(2932), + [anon_sym_using] = ACTIONS(2932), + [anon_sym_static_assert] = ACTIONS(2932), + }, + [2190] = { + [sym__identifier] = ACTIONS(2901), + [aux_sym_preproc_def_token1] = ACTIONS(2901), + [aux_sym_preproc_if_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2901), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2901), + [sym_preproc_directive] = ACTIONS(2901), + [anon_sym_LPAREN2] = ACTIONS(2903), + [anon_sym_TILDE] = ACTIONS(2903), + [anon_sym_STAR] = ACTIONS(2903), + [anon_sym_AMP_AMP] = ACTIONS(2903), + [anon_sym_AMP] = ACTIONS(2901), + [anon_sym___extension__] = ACTIONS(2901), + [anon_sym_typedef] = ACTIONS(2901), + [anon_sym_extern] = ACTIONS(2901), + [anon_sym___attribute__] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(2903), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2903), + [anon_sym___declspec] = ACTIONS(2901), + [anon_sym___based] = ACTIONS(2901), + [anon_sym_RBRACE] = ACTIONS(2903), + [anon_sym_signed] = ACTIONS(2901), + [anon_sym_unsigned] = ACTIONS(2901), + [anon_sym_long] = ACTIONS(2901), + [anon_sym_short] = ACTIONS(2901), + [anon_sym_LBRACK] = ACTIONS(2901), + [anon_sym_static] = ACTIONS(2901), + [anon_sym_register] = ACTIONS(2901), + [anon_sym_inline] = ACTIONS(2901), + [anon_sym___inline] = ACTIONS(2901), + [anon_sym___inline__] = ACTIONS(2901), + [anon_sym___forceinline] = ACTIONS(2901), + [anon_sym_thread_local] = ACTIONS(2901), + [anon_sym___thread] = ACTIONS(2901), + [anon_sym_const] = ACTIONS(2901), + [anon_sym_constexpr] = ACTIONS(2901), + [anon_sym_volatile] = ACTIONS(2901), + [anon_sym_restrict] = ACTIONS(2901), + [anon_sym___restrict__] = ACTIONS(2901), + [anon_sym__Atomic] = ACTIONS(2901), + [anon_sym__Noreturn] = ACTIONS(2901), + [anon_sym_noreturn] = ACTIONS(2901), + [anon_sym_mutable] = ACTIONS(2901), + [anon_sym_constinit] = ACTIONS(2901), + [anon_sym_consteval] = ACTIONS(2901), + [anon_sym_alignas] = ACTIONS(2901), + [anon_sym__Alignas] = ACTIONS(2901), + [sym_primitive_type] = ACTIONS(2901), + [anon_sym_enum] = ACTIONS(2901), + [anon_sym_class] = ACTIONS(2901), + [anon_sym_struct] = ACTIONS(2901), + [anon_sym_union] = ACTIONS(2901), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2903), + [sym_auto] = ACTIONS(2901), + [anon_sym_decltype] = ACTIONS(2901), + [sym_virtual] = ACTIONS(2901), + [anon_sym_explicit] = ACTIONS(2901), + [anon_sym_typename] = ACTIONS(2901), + [anon_sym_template] = ACTIONS(2901), + [anon_sym_operator] = ACTIONS(2901), + [anon_sym_friend] = ACTIONS(2901), + [anon_sym_public] = ACTIONS(2901), + [anon_sym_private] = ACTIONS(2901), + [anon_sym_protected] = ACTIONS(2901), + [anon_sym_using] = ACTIONS(2901), + [anon_sym_static_assert] = ACTIONS(2901), + }, + [2191] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token2] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [2192] = { + [sym__identifier] = ACTIONS(3134), + [aux_sym_preproc_def_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token1] = ACTIONS(3134), + [aux_sym_preproc_if_token2] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3134), + [sym_preproc_directive] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(3136), + [anon_sym_TILDE] = ACTIONS(3136), + [anon_sym_STAR] = ACTIONS(3136), + [anon_sym_AMP_AMP] = ACTIONS(3136), + [anon_sym_AMP] = ACTIONS(3134), + [anon_sym___extension__] = ACTIONS(3134), + [anon_sym_typedef] = ACTIONS(3134), + [anon_sym_extern] = ACTIONS(3134), + [anon_sym___attribute__] = ACTIONS(3134), + [anon_sym_COLON_COLON] = ACTIONS(3136), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3136), + [anon_sym___declspec] = ACTIONS(3134), + [anon_sym___based] = ACTIONS(3134), + [anon_sym_signed] = ACTIONS(3134), + [anon_sym_unsigned] = ACTIONS(3134), + [anon_sym_long] = ACTIONS(3134), + [anon_sym_short] = ACTIONS(3134), + [anon_sym_LBRACK] = ACTIONS(3134), + [anon_sym_static] = ACTIONS(3134), + [anon_sym_register] = ACTIONS(3134), + [anon_sym_inline] = ACTIONS(3134), + [anon_sym___inline] = ACTIONS(3134), + [anon_sym___inline__] = ACTIONS(3134), + [anon_sym___forceinline] = ACTIONS(3134), + [anon_sym_thread_local] = ACTIONS(3134), + [anon_sym___thread] = ACTIONS(3134), + [anon_sym_const] = ACTIONS(3134), + [anon_sym_constexpr] = ACTIONS(3134), + [anon_sym_volatile] = ACTIONS(3134), + [anon_sym_restrict] = ACTIONS(3134), + [anon_sym___restrict__] = ACTIONS(3134), + [anon_sym__Atomic] = ACTIONS(3134), + [anon_sym__Noreturn] = ACTIONS(3134), + [anon_sym_noreturn] = ACTIONS(3134), + [anon_sym_mutable] = ACTIONS(3134), + [anon_sym_constinit] = ACTIONS(3134), + [anon_sym_consteval] = ACTIONS(3134), + [anon_sym_alignas] = ACTIONS(3134), + [anon_sym__Alignas] = ACTIONS(3134), + [sym_primitive_type] = ACTIONS(3134), + [anon_sym_enum] = ACTIONS(3134), + [anon_sym_class] = ACTIONS(3134), + [anon_sym_struct] = ACTIONS(3134), + [anon_sym_union] = ACTIONS(3134), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3136), + [sym_auto] = ACTIONS(3134), + [anon_sym_decltype] = ACTIONS(3134), + [sym_virtual] = ACTIONS(3134), + [anon_sym_explicit] = ACTIONS(3134), + [anon_sym_typename] = ACTIONS(3134), + [anon_sym_template] = ACTIONS(3134), + [anon_sym_operator] = ACTIONS(3134), + [anon_sym_friend] = ACTIONS(3134), + [anon_sym_public] = ACTIONS(3134), + [anon_sym_private] = ACTIONS(3134), + [anon_sym_protected] = ACTIONS(3134), + [anon_sym_using] = ACTIONS(3134), + [anon_sym_static_assert] = ACTIONS(3134), + }, + [2193] = { + [sym__identifier] = ACTIONS(5315), + [aux_sym_preproc_def_token1] = ACTIONS(5315), + [aux_sym_preproc_if_token1] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5315), + [sym_preproc_directive] = ACTIONS(5315), + [anon_sym_LPAREN2] = ACTIONS(5317), + [anon_sym_TILDE] = ACTIONS(5317), + [anon_sym_STAR] = ACTIONS(5317), + [anon_sym_AMP_AMP] = ACTIONS(5317), + [anon_sym_AMP] = ACTIONS(5315), + [anon_sym___extension__] = ACTIONS(5315), + [anon_sym_typedef] = ACTIONS(5315), + [anon_sym_extern] = ACTIONS(5315), + [anon_sym___attribute__] = ACTIONS(5315), + [anon_sym_COLON_COLON] = ACTIONS(5317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5317), + [anon_sym___declspec] = ACTIONS(5315), + [anon_sym___based] = ACTIONS(5315), + [anon_sym_RBRACE] = ACTIONS(5317), + [anon_sym_signed] = ACTIONS(5315), + [anon_sym_unsigned] = ACTIONS(5315), + [anon_sym_long] = ACTIONS(5315), + [anon_sym_short] = ACTIONS(5315), + [anon_sym_LBRACK] = ACTIONS(5315), + [anon_sym_static] = ACTIONS(5315), + [anon_sym_register] = ACTIONS(5315), + [anon_sym_inline] = ACTIONS(5315), + [anon_sym___inline] = ACTIONS(5315), + [anon_sym___inline__] = ACTIONS(5315), + [anon_sym___forceinline] = ACTIONS(5315), + [anon_sym_thread_local] = ACTIONS(5315), + [anon_sym___thread] = ACTIONS(5315), + [anon_sym_const] = ACTIONS(5315), + [anon_sym_constexpr] = ACTIONS(5315), + [anon_sym_volatile] = ACTIONS(5315), + [anon_sym_restrict] = ACTIONS(5315), + [anon_sym___restrict__] = ACTIONS(5315), + [anon_sym__Atomic] = ACTIONS(5315), + [anon_sym__Noreturn] = ACTIONS(5315), + [anon_sym_noreturn] = ACTIONS(5315), + [anon_sym_mutable] = ACTIONS(5315), + [anon_sym_constinit] = ACTIONS(5315), + [anon_sym_consteval] = ACTIONS(5315), + [anon_sym_alignas] = ACTIONS(5315), + [anon_sym__Alignas] = ACTIONS(5315), + [sym_primitive_type] = ACTIONS(5315), + [anon_sym_enum] = ACTIONS(5315), + [anon_sym_class] = ACTIONS(5315), + [anon_sym_struct] = ACTIONS(5315), + [anon_sym_union] = ACTIONS(5315), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5317), + [sym_auto] = ACTIONS(5315), + [anon_sym_decltype] = ACTIONS(5315), + [sym_virtual] = ACTIONS(5315), + [anon_sym_explicit] = ACTIONS(5315), + [anon_sym_typename] = ACTIONS(5315), + [anon_sym_template] = ACTIONS(5315), + [anon_sym_operator] = ACTIONS(5315), + [anon_sym_friend] = ACTIONS(5315), + [anon_sym_public] = ACTIONS(5315), + [anon_sym_private] = ACTIONS(5315), + [anon_sym_protected] = ACTIONS(5315), + [anon_sym_using] = ACTIONS(5315), + [anon_sym_static_assert] = ACTIONS(5315), + }, + [2194] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_SEMI] = ACTIONS(3996), + [anon_sym___attribute__] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2195] = { + [sym__identifier] = ACTIONS(5241), + [aux_sym_preproc_def_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token1] = ACTIONS(5241), + [aux_sym_preproc_if_token2] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5241), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5241), + [sym_preproc_directive] = ACTIONS(5241), + [anon_sym_LPAREN2] = ACTIONS(5243), + [anon_sym_TILDE] = ACTIONS(5243), + [anon_sym_STAR] = ACTIONS(5243), + [anon_sym_AMP_AMP] = ACTIONS(5243), + [anon_sym_AMP] = ACTIONS(5241), + [anon_sym___extension__] = ACTIONS(5241), + [anon_sym_typedef] = ACTIONS(5241), + [anon_sym_extern] = ACTIONS(5241), + [anon_sym___attribute__] = ACTIONS(5241), + [anon_sym_COLON_COLON] = ACTIONS(5243), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5243), + [anon_sym___declspec] = ACTIONS(5241), + [anon_sym___based] = ACTIONS(5241), + [anon_sym_signed] = ACTIONS(5241), + [anon_sym_unsigned] = ACTIONS(5241), + [anon_sym_long] = ACTIONS(5241), + [anon_sym_short] = ACTIONS(5241), + [anon_sym_LBRACK] = ACTIONS(5241), + [anon_sym_static] = ACTIONS(5241), + [anon_sym_register] = ACTIONS(5241), + [anon_sym_inline] = ACTIONS(5241), + [anon_sym___inline] = ACTIONS(5241), + [anon_sym___inline__] = ACTIONS(5241), + [anon_sym___forceinline] = ACTIONS(5241), + [anon_sym_thread_local] = ACTIONS(5241), + [anon_sym___thread] = ACTIONS(5241), + [anon_sym_const] = ACTIONS(5241), + [anon_sym_constexpr] = ACTIONS(5241), + [anon_sym_volatile] = ACTIONS(5241), + [anon_sym_restrict] = ACTIONS(5241), + [anon_sym___restrict__] = ACTIONS(5241), + [anon_sym__Atomic] = ACTIONS(5241), + [anon_sym__Noreturn] = ACTIONS(5241), + [anon_sym_noreturn] = ACTIONS(5241), + [anon_sym_mutable] = ACTIONS(5241), + [anon_sym_constinit] = ACTIONS(5241), + [anon_sym_consteval] = ACTIONS(5241), + [anon_sym_alignas] = ACTIONS(5241), + [anon_sym__Alignas] = ACTIONS(5241), + [sym_primitive_type] = ACTIONS(5241), + [anon_sym_enum] = ACTIONS(5241), + [anon_sym_class] = ACTIONS(5241), + [anon_sym_struct] = ACTIONS(5241), + [anon_sym_union] = ACTIONS(5241), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5243), + [sym_auto] = ACTIONS(5241), + [anon_sym_decltype] = ACTIONS(5241), + [sym_virtual] = ACTIONS(5241), + [anon_sym_explicit] = ACTIONS(5241), + [anon_sym_typename] = ACTIONS(5241), + [anon_sym_template] = ACTIONS(5241), + [anon_sym_operator] = ACTIONS(5241), + [anon_sym_friend] = ACTIONS(5241), + [anon_sym_public] = ACTIONS(5241), + [anon_sym_private] = ACTIONS(5241), + [anon_sym_protected] = ACTIONS(5241), + [anon_sym_using] = ACTIONS(5241), + [anon_sym_static_assert] = ACTIONS(5241), + }, + [2196] = { + [sym__identifier] = ACTIONS(5237), + [aux_sym_preproc_def_token1] = ACTIONS(5237), + [aux_sym_preproc_if_token1] = ACTIONS(5237), + [aux_sym_preproc_if_token2] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5237), + [sym_preproc_directive] = ACTIONS(5237), + [anon_sym_LPAREN2] = ACTIONS(5239), + [anon_sym_TILDE] = ACTIONS(5239), + [anon_sym_STAR] = ACTIONS(5239), + [anon_sym_AMP_AMP] = ACTIONS(5239), + [anon_sym_AMP] = ACTIONS(5237), + [anon_sym___extension__] = ACTIONS(5237), + [anon_sym_typedef] = ACTIONS(5237), + [anon_sym_extern] = ACTIONS(5237), + [anon_sym___attribute__] = ACTIONS(5237), + [anon_sym_COLON_COLON] = ACTIONS(5239), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5239), + [anon_sym___declspec] = ACTIONS(5237), + [anon_sym___based] = ACTIONS(5237), + [anon_sym_signed] = ACTIONS(5237), + [anon_sym_unsigned] = ACTIONS(5237), + [anon_sym_long] = ACTIONS(5237), + [anon_sym_short] = ACTIONS(5237), + [anon_sym_LBRACK] = ACTIONS(5237), + [anon_sym_static] = ACTIONS(5237), + [anon_sym_register] = ACTIONS(5237), + [anon_sym_inline] = ACTIONS(5237), + [anon_sym___inline] = ACTIONS(5237), + [anon_sym___inline__] = ACTIONS(5237), + [anon_sym___forceinline] = ACTIONS(5237), + [anon_sym_thread_local] = ACTIONS(5237), + [anon_sym___thread] = ACTIONS(5237), + [anon_sym_const] = ACTIONS(5237), + [anon_sym_constexpr] = ACTIONS(5237), + [anon_sym_volatile] = ACTIONS(5237), + [anon_sym_restrict] = ACTIONS(5237), + [anon_sym___restrict__] = ACTIONS(5237), + [anon_sym__Atomic] = ACTIONS(5237), + [anon_sym__Noreturn] = ACTIONS(5237), + [anon_sym_noreturn] = ACTIONS(5237), + [anon_sym_mutable] = ACTIONS(5237), + [anon_sym_constinit] = ACTIONS(5237), + [anon_sym_consteval] = ACTIONS(5237), + [anon_sym_alignas] = ACTIONS(5237), + [anon_sym__Alignas] = ACTIONS(5237), + [sym_primitive_type] = ACTIONS(5237), + [anon_sym_enum] = ACTIONS(5237), + [anon_sym_class] = ACTIONS(5237), + [anon_sym_struct] = ACTIONS(5237), + [anon_sym_union] = ACTIONS(5237), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5239), + [sym_auto] = ACTIONS(5237), + [anon_sym_decltype] = ACTIONS(5237), + [sym_virtual] = ACTIONS(5237), + [anon_sym_explicit] = ACTIONS(5237), + [anon_sym_typename] = ACTIONS(5237), + [anon_sym_template] = ACTIONS(5237), + [anon_sym_operator] = ACTIONS(5237), + [anon_sym_friend] = ACTIONS(5237), + [anon_sym_public] = ACTIONS(5237), + [anon_sym_private] = ACTIONS(5237), + [anon_sym_protected] = ACTIONS(5237), + [anon_sym_using] = ACTIONS(5237), + [anon_sym_static_assert] = ACTIONS(5237), + }, + [2197] = { + [sym__identifier] = ACTIONS(5229), + [aux_sym_preproc_def_token1] = ACTIONS(5229), + [aux_sym_preproc_if_token1] = ACTIONS(5229), + [aux_sym_preproc_if_token2] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5229), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5229), + [sym_preproc_directive] = ACTIONS(5229), + [anon_sym_LPAREN2] = ACTIONS(5231), + [anon_sym_TILDE] = ACTIONS(5231), + [anon_sym_STAR] = ACTIONS(5231), + [anon_sym_AMP_AMP] = ACTIONS(5231), + [anon_sym_AMP] = ACTIONS(5229), + [anon_sym___extension__] = ACTIONS(5229), + [anon_sym_typedef] = ACTIONS(5229), + [anon_sym_extern] = ACTIONS(5229), + [anon_sym___attribute__] = ACTIONS(5229), + [anon_sym_COLON_COLON] = ACTIONS(5231), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5231), + [anon_sym___declspec] = ACTIONS(5229), + [anon_sym___based] = ACTIONS(5229), + [anon_sym_signed] = ACTIONS(5229), + [anon_sym_unsigned] = ACTIONS(5229), + [anon_sym_long] = ACTIONS(5229), + [anon_sym_short] = ACTIONS(5229), + [anon_sym_LBRACK] = ACTIONS(5229), + [anon_sym_static] = ACTIONS(5229), + [anon_sym_register] = ACTIONS(5229), + [anon_sym_inline] = ACTIONS(5229), + [anon_sym___inline] = ACTIONS(5229), + [anon_sym___inline__] = ACTIONS(5229), + [anon_sym___forceinline] = ACTIONS(5229), + [anon_sym_thread_local] = ACTIONS(5229), + [anon_sym___thread] = ACTIONS(5229), + [anon_sym_const] = ACTIONS(5229), + [anon_sym_constexpr] = ACTIONS(5229), + [anon_sym_volatile] = ACTIONS(5229), + [anon_sym_restrict] = ACTIONS(5229), + [anon_sym___restrict__] = ACTIONS(5229), + [anon_sym__Atomic] = ACTIONS(5229), + [anon_sym__Noreturn] = ACTIONS(5229), + [anon_sym_noreturn] = ACTIONS(5229), + [anon_sym_mutable] = ACTIONS(5229), + [anon_sym_constinit] = ACTIONS(5229), + [anon_sym_consteval] = ACTIONS(5229), + [anon_sym_alignas] = ACTIONS(5229), + [anon_sym__Alignas] = ACTIONS(5229), + [sym_primitive_type] = ACTIONS(5229), + [anon_sym_enum] = ACTIONS(5229), + [anon_sym_class] = ACTIONS(5229), + [anon_sym_struct] = ACTIONS(5229), + [anon_sym_union] = ACTIONS(5229), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5231), + [sym_auto] = ACTIONS(5229), + [anon_sym_decltype] = ACTIONS(5229), + [sym_virtual] = ACTIONS(5229), + [anon_sym_explicit] = ACTIONS(5229), + [anon_sym_typename] = ACTIONS(5229), + [anon_sym_template] = ACTIONS(5229), + [anon_sym_operator] = ACTIONS(5229), + [anon_sym_friend] = ACTIONS(5229), + [anon_sym_public] = ACTIONS(5229), + [anon_sym_private] = ACTIONS(5229), + [anon_sym_protected] = ACTIONS(5229), + [anon_sym_using] = ACTIONS(5229), + [anon_sym_static_assert] = ACTIONS(5229), + }, + [2198] = { + [sym__identifier] = ACTIONS(3070), + [aux_sym_preproc_def_token1] = ACTIONS(3070), + [aux_sym_preproc_if_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3070), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3070), + [sym_preproc_directive] = ACTIONS(3070), + [anon_sym_LPAREN2] = ACTIONS(3072), + [anon_sym_TILDE] = ACTIONS(3072), + [anon_sym_STAR] = ACTIONS(3072), + [anon_sym_AMP_AMP] = ACTIONS(3072), + [anon_sym_AMP] = ACTIONS(3070), + [anon_sym___extension__] = ACTIONS(3070), + [anon_sym_typedef] = ACTIONS(3070), + [anon_sym_extern] = ACTIONS(3070), + [anon_sym___attribute__] = ACTIONS(3070), + [anon_sym_COLON_COLON] = ACTIONS(3072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3072), + [anon_sym___declspec] = ACTIONS(3070), + [anon_sym___based] = ACTIONS(3070), + [anon_sym_RBRACE] = ACTIONS(3072), + [anon_sym_signed] = ACTIONS(3070), + [anon_sym_unsigned] = ACTIONS(3070), + [anon_sym_long] = ACTIONS(3070), + [anon_sym_short] = ACTIONS(3070), + [anon_sym_LBRACK] = ACTIONS(3070), + [anon_sym_static] = ACTIONS(3070), + [anon_sym_register] = ACTIONS(3070), + [anon_sym_inline] = ACTIONS(3070), + [anon_sym___inline] = ACTIONS(3070), + [anon_sym___inline__] = ACTIONS(3070), + [anon_sym___forceinline] = ACTIONS(3070), + [anon_sym_thread_local] = ACTIONS(3070), + [anon_sym___thread] = ACTIONS(3070), + [anon_sym_const] = ACTIONS(3070), + [anon_sym_constexpr] = ACTIONS(3070), + [anon_sym_volatile] = ACTIONS(3070), + [anon_sym_restrict] = ACTIONS(3070), + [anon_sym___restrict__] = ACTIONS(3070), + [anon_sym__Atomic] = ACTIONS(3070), + [anon_sym__Noreturn] = ACTIONS(3070), + [anon_sym_noreturn] = ACTIONS(3070), + [anon_sym_mutable] = ACTIONS(3070), + [anon_sym_constinit] = ACTIONS(3070), + [anon_sym_consteval] = ACTIONS(3070), + [anon_sym_alignas] = ACTIONS(3070), + [anon_sym__Alignas] = ACTIONS(3070), + [sym_primitive_type] = ACTIONS(3070), + [anon_sym_enum] = ACTIONS(3070), + [anon_sym_class] = ACTIONS(3070), + [anon_sym_struct] = ACTIONS(3070), + [anon_sym_union] = ACTIONS(3070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3072), + [sym_auto] = ACTIONS(3070), + [anon_sym_decltype] = ACTIONS(3070), + [sym_virtual] = ACTIONS(3070), + [anon_sym_explicit] = ACTIONS(3070), + [anon_sym_typename] = ACTIONS(3070), + [anon_sym_template] = ACTIONS(3070), + [anon_sym_operator] = ACTIONS(3070), + [anon_sym_friend] = ACTIONS(3070), + [anon_sym_public] = ACTIONS(3070), + [anon_sym_private] = ACTIONS(3070), + [anon_sym_protected] = ACTIONS(3070), + [anon_sym_using] = ACTIONS(3070), + [anon_sym_static_assert] = ACTIONS(3070), + }, + [2199] = { + [sym__identifier] = ACTIONS(5225), + [aux_sym_preproc_def_token1] = ACTIONS(5225), + [aux_sym_preproc_if_token1] = ACTIONS(5225), + [aux_sym_preproc_if_token2] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5225), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5225), + [sym_preproc_directive] = ACTIONS(5225), + [anon_sym_LPAREN2] = ACTIONS(5227), + [anon_sym_TILDE] = ACTIONS(5227), + [anon_sym_STAR] = ACTIONS(5227), + [anon_sym_AMP_AMP] = ACTIONS(5227), + [anon_sym_AMP] = ACTIONS(5225), + [anon_sym___extension__] = ACTIONS(5225), + [anon_sym_typedef] = ACTIONS(5225), + [anon_sym_extern] = ACTIONS(5225), + [anon_sym___attribute__] = ACTIONS(5225), + [anon_sym_COLON_COLON] = ACTIONS(5227), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5227), + [anon_sym___declspec] = ACTIONS(5225), + [anon_sym___based] = ACTIONS(5225), + [anon_sym_signed] = ACTIONS(5225), + [anon_sym_unsigned] = ACTIONS(5225), + [anon_sym_long] = ACTIONS(5225), + [anon_sym_short] = ACTIONS(5225), + [anon_sym_LBRACK] = ACTIONS(5225), + [anon_sym_static] = ACTIONS(5225), + [anon_sym_register] = ACTIONS(5225), + [anon_sym_inline] = ACTIONS(5225), + [anon_sym___inline] = ACTIONS(5225), + [anon_sym___inline__] = ACTIONS(5225), + [anon_sym___forceinline] = ACTIONS(5225), + [anon_sym_thread_local] = ACTIONS(5225), + [anon_sym___thread] = ACTIONS(5225), + [anon_sym_const] = ACTIONS(5225), + [anon_sym_constexpr] = ACTIONS(5225), + [anon_sym_volatile] = ACTIONS(5225), + [anon_sym_restrict] = ACTIONS(5225), + [anon_sym___restrict__] = ACTIONS(5225), + [anon_sym__Atomic] = ACTIONS(5225), + [anon_sym__Noreturn] = ACTIONS(5225), + [anon_sym_noreturn] = ACTIONS(5225), + [anon_sym_mutable] = ACTIONS(5225), + [anon_sym_constinit] = ACTIONS(5225), + [anon_sym_consteval] = ACTIONS(5225), + [anon_sym_alignas] = ACTIONS(5225), + [anon_sym__Alignas] = ACTIONS(5225), + [sym_primitive_type] = ACTIONS(5225), + [anon_sym_enum] = ACTIONS(5225), + [anon_sym_class] = ACTIONS(5225), + [anon_sym_struct] = ACTIONS(5225), + [anon_sym_union] = ACTIONS(5225), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5227), + [sym_auto] = ACTIONS(5225), + [anon_sym_decltype] = ACTIONS(5225), + [sym_virtual] = ACTIONS(5225), + [anon_sym_explicit] = ACTIONS(5225), + [anon_sym_typename] = ACTIONS(5225), + [anon_sym_template] = ACTIONS(5225), + [anon_sym_operator] = ACTIONS(5225), + [anon_sym_friend] = ACTIONS(5225), + [anon_sym_public] = ACTIONS(5225), + [anon_sym_private] = ACTIONS(5225), + [anon_sym_protected] = ACTIONS(5225), + [anon_sym_using] = ACTIONS(5225), + [anon_sym_static_assert] = ACTIONS(5225), + }, + [2200] = { + [sym__identifier] = ACTIONS(3759), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3761), + [anon_sym_COMMA] = ACTIONS(3761), + [anon_sym_RPAREN] = ACTIONS(3761), + [anon_sym_LPAREN2] = ACTIONS(3761), + [anon_sym_TILDE] = ACTIONS(3761), + [anon_sym_STAR] = ACTIONS(3761), + [anon_sym_AMP_AMP] = ACTIONS(3761), + [anon_sym_AMP] = ACTIONS(3759), + [anon_sym_SEMI] = ACTIONS(3761), + [anon_sym___extension__] = ACTIONS(3759), + [anon_sym_extern] = ACTIONS(3759), + [anon_sym___attribute__] = ACTIONS(3759), + [anon_sym_COLON_COLON] = ACTIONS(3761), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3761), + [anon_sym___declspec] = ACTIONS(3759), + [anon_sym___based] = ACTIONS(3759), + [anon_sym___cdecl] = ACTIONS(3759), + [anon_sym___clrcall] = ACTIONS(3759), + [anon_sym___stdcall] = ACTIONS(3759), + [anon_sym___fastcall] = ACTIONS(3759), + [anon_sym___thiscall] = ACTIONS(3759), + [anon_sym___vectorcall] = ACTIONS(3759), + [anon_sym_LBRACE] = ACTIONS(3761), + [anon_sym_LBRACK] = ACTIONS(3759), + [anon_sym_static] = ACTIONS(3759), + [anon_sym_EQ] = ACTIONS(3761), + [anon_sym_register] = ACTIONS(3759), + [anon_sym_inline] = ACTIONS(3759), + [anon_sym___inline] = ACTIONS(3759), + [anon_sym___inline__] = ACTIONS(3759), + [anon_sym___forceinline] = ACTIONS(3759), + [anon_sym_thread_local] = ACTIONS(3759), + [anon_sym___thread] = ACTIONS(3759), + [anon_sym_const] = ACTIONS(3759), + [anon_sym_constexpr] = ACTIONS(3759), + [anon_sym_volatile] = ACTIONS(3759), + [anon_sym_restrict] = ACTIONS(3759), + [anon_sym___restrict__] = ACTIONS(3759), + [anon_sym__Atomic] = ACTIONS(3759), + [anon_sym__Noreturn] = ACTIONS(3759), + [anon_sym_noreturn] = ACTIONS(3759), + [anon_sym_mutable] = ACTIONS(3759), + [anon_sym_constinit] = ACTIONS(3759), + [anon_sym_consteval] = ACTIONS(3759), + [anon_sym_alignas] = ACTIONS(3759), + [anon_sym__Alignas] = ACTIONS(3759), + [anon_sym_COLON] = ACTIONS(3759), + [anon_sym_asm] = ACTIONS(3759), + [anon_sym___asm__] = ACTIONS(3759), + [anon_sym_DASH_GT] = ACTIONS(3761), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3761), + [anon_sym_decltype] = ACTIONS(3759), + [anon_sym_final] = ACTIONS(3759), + [anon_sym_override] = ACTIONS(3759), + [sym_virtual] = ACTIONS(3759), + [anon_sym_explicit] = ACTIONS(3759), + [anon_sym_template] = ACTIONS(3759), + [anon_sym_GT2] = ACTIONS(3761), + [anon_sym_operator] = ACTIONS(3759), + [anon_sym_try] = ACTIONS(3759), + [anon_sym_public] = ACTIONS(3759), + [anon_sym_private] = ACTIONS(3759), + [anon_sym_protected] = ACTIONS(3759), + [anon_sym_requires] = ACTIONS(3759), + }, + [2201] = { + [sym__identifier] = ACTIONS(3050), + [aux_sym_preproc_def_token1] = ACTIONS(3050), + [aux_sym_preproc_if_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3050), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3050), + [sym_preproc_directive] = ACTIONS(3050), + [anon_sym_LPAREN2] = ACTIONS(3052), + [anon_sym_TILDE] = ACTIONS(3052), + [anon_sym_STAR] = ACTIONS(3052), + [anon_sym_AMP_AMP] = ACTIONS(3052), + [anon_sym_AMP] = ACTIONS(3050), + [anon_sym___extension__] = ACTIONS(3050), + [anon_sym_typedef] = ACTIONS(3050), + [anon_sym_extern] = ACTIONS(3050), + [anon_sym___attribute__] = ACTIONS(3050), + [anon_sym_COLON_COLON] = ACTIONS(3052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3052), + [anon_sym___declspec] = ACTIONS(3050), + [anon_sym___based] = ACTIONS(3050), + [anon_sym_RBRACE] = ACTIONS(3052), + [anon_sym_signed] = ACTIONS(3050), + [anon_sym_unsigned] = ACTIONS(3050), + [anon_sym_long] = ACTIONS(3050), + [anon_sym_short] = ACTIONS(3050), + [anon_sym_LBRACK] = ACTIONS(3050), + [anon_sym_static] = ACTIONS(3050), + [anon_sym_register] = ACTIONS(3050), + [anon_sym_inline] = ACTIONS(3050), + [anon_sym___inline] = ACTIONS(3050), + [anon_sym___inline__] = ACTIONS(3050), + [anon_sym___forceinline] = ACTIONS(3050), + [anon_sym_thread_local] = ACTIONS(3050), + [anon_sym___thread] = ACTIONS(3050), + [anon_sym_const] = ACTIONS(3050), + [anon_sym_constexpr] = ACTIONS(3050), + [anon_sym_volatile] = ACTIONS(3050), + [anon_sym_restrict] = ACTIONS(3050), + [anon_sym___restrict__] = ACTIONS(3050), + [anon_sym__Atomic] = ACTIONS(3050), + [anon_sym__Noreturn] = ACTIONS(3050), + [anon_sym_noreturn] = ACTIONS(3050), + [anon_sym_mutable] = ACTIONS(3050), + [anon_sym_constinit] = ACTIONS(3050), + [anon_sym_consteval] = ACTIONS(3050), + [anon_sym_alignas] = ACTIONS(3050), + [anon_sym__Alignas] = ACTIONS(3050), + [sym_primitive_type] = ACTIONS(3050), + [anon_sym_enum] = ACTIONS(3050), + [anon_sym_class] = ACTIONS(3050), + [anon_sym_struct] = ACTIONS(3050), + [anon_sym_union] = ACTIONS(3050), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3052), + [sym_auto] = ACTIONS(3050), + [anon_sym_decltype] = ACTIONS(3050), + [sym_virtual] = ACTIONS(3050), + [anon_sym_explicit] = ACTIONS(3050), + [anon_sym_typename] = ACTIONS(3050), + [anon_sym_template] = ACTIONS(3050), + [anon_sym_operator] = ACTIONS(3050), + [anon_sym_friend] = ACTIONS(3050), + [anon_sym_public] = ACTIONS(3050), + [anon_sym_private] = ACTIONS(3050), + [anon_sym_protected] = ACTIONS(3050), + [anon_sym_using] = ACTIONS(3050), + [anon_sym_static_assert] = ACTIONS(3050), + }, + [2202] = { + [sym__identifier] = ACTIONS(2829), + [aux_sym_preproc_def_token1] = ACTIONS(2829), + [aux_sym_preproc_if_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2829), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2829), + [sym_preproc_directive] = ACTIONS(2829), + [anon_sym_LPAREN2] = ACTIONS(2831), + [anon_sym_TILDE] = ACTIONS(2831), + [anon_sym_STAR] = ACTIONS(2831), + [anon_sym_AMP_AMP] = ACTIONS(2831), + [anon_sym_AMP] = ACTIONS(2829), + [anon_sym___extension__] = ACTIONS(2829), + [anon_sym_typedef] = ACTIONS(2829), + [anon_sym_extern] = ACTIONS(2829), + [anon_sym___attribute__] = ACTIONS(2829), + [anon_sym_COLON_COLON] = ACTIONS(2831), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2831), + [anon_sym___declspec] = ACTIONS(2829), + [anon_sym___based] = ACTIONS(2829), + [anon_sym_RBRACE] = ACTIONS(2831), + [anon_sym_signed] = ACTIONS(2829), + [anon_sym_unsigned] = ACTIONS(2829), + [anon_sym_long] = ACTIONS(2829), + [anon_sym_short] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(2829), + [anon_sym_static] = ACTIONS(2829), + [anon_sym_register] = ACTIONS(2829), + [anon_sym_inline] = ACTIONS(2829), + [anon_sym___inline] = ACTIONS(2829), + [anon_sym___inline__] = ACTIONS(2829), + [anon_sym___forceinline] = ACTIONS(2829), + [anon_sym_thread_local] = ACTIONS(2829), + [anon_sym___thread] = ACTIONS(2829), + [anon_sym_const] = ACTIONS(2829), + [anon_sym_constexpr] = ACTIONS(2829), + [anon_sym_volatile] = ACTIONS(2829), + [anon_sym_restrict] = ACTIONS(2829), + [anon_sym___restrict__] = ACTIONS(2829), + [anon_sym__Atomic] = ACTIONS(2829), + [anon_sym__Noreturn] = ACTIONS(2829), + [anon_sym_noreturn] = ACTIONS(2829), + [anon_sym_mutable] = ACTIONS(2829), + [anon_sym_constinit] = ACTIONS(2829), + [anon_sym_consteval] = ACTIONS(2829), + [anon_sym_alignas] = ACTIONS(2829), + [anon_sym__Alignas] = ACTIONS(2829), + [sym_primitive_type] = ACTIONS(2829), + [anon_sym_enum] = ACTIONS(2829), + [anon_sym_class] = ACTIONS(2829), + [anon_sym_struct] = ACTIONS(2829), + [anon_sym_union] = ACTIONS(2829), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2831), + [sym_auto] = ACTIONS(2829), + [anon_sym_decltype] = ACTIONS(2829), + [sym_virtual] = ACTIONS(2829), + [anon_sym_explicit] = ACTIONS(2829), + [anon_sym_typename] = ACTIONS(2829), + [anon_sym_template] = ACTIONS(2829), + [anon_sym_operator] = ACTIONS(2829), + [anon_sym_friend] = ACTIONS(2829), + [anon_sym_public] = ACTIONS(2829), + [anon_sym_private] = ACTIONS(2829), + [anon_sym_protected] = ACTIONS(2829), + [anon_sym_using] = ACTIONS(2829), + [anon_sym_static_assert] = ACTIONS(2829), + }, + [2203] = { + [sym__identifier] = ACTIONS(5221), + [aux_sym_preproc_def_token1] = ACTIONS(5221), + [aux_sym_preproc_if_token1] = ACTIONS(5221), + [aux_sym_preproc_if_token2] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5221), + [sym_preproc_directive] = ACTIONS(5221), + [anon_sym_LPAREN2] = ACTIONS(5223), + [anon_sym_TILDE] = ACTIONS(5223), + [anon_sym_STAR] = ACTIONS(5223), + [anon_sym_AMP_AMP] = ACTIONS(5223), + [anon_sym_AMP] = ACTIONS(5221), + [anon_sym___extension__] = ACTIONS(5221), + [anon_sym_typedef] = ACTIONS(5221), + [anon_sym_extern] = ACTIONS(5221), + [anon_sym___attribute__] = ACTIONS(5221), + [anon_sym_COLON_COLON] = ACTIONS(5223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5223), + [anon_sym___declspec] = ACTIONS(5221), + [anon_sym___based] = ACTIONS(5221), + [anon_sym_signed] = ACTIONS(5221), + [anon_sym_unsigned] = ACTIONS(5221), + [anon_sym_long] = ACTIONS(5221), + [anon_sym_short] = ACTIONS(5221), + [anon_sym_LBRACK] = ACTIONS(5221), + [anon_sym_static] = ACTIONS(5221), + [anon_sym_register] = ACTIONS(5221), + [anon_sym_inline] = ACTIONS(5221), + [anon_sym___inline] = ACTIONS(5221), + [anon_sym___inline__] = ACTIONS(5221), + [anon_sym___forceinline] = ACTIONS(5221), + [anon_sym_thread_local] = ACTIONS(5221), + [anon_sym___thread] = ACTIONS(5221), + [anon_sym_const] = ACTIONS(5221), + [anon_sym_constexpr] = ACTIONS(5221), + [anon_sym_volatile] = ACTIONS(5221), + [anon_sym_restrict] = ACTIONS(5221), + [anon_sym___restrict__] = ACTIONS(5221), + [anon_sym__Atomic] = ACTIONS(5221), + [anon_sym__Noreturn] = ACTIONS(5221), + [anon_sym_noreturn] = ACTIONS(5221), + [anon_sym_mutable] = ACTIONS(5221), + [anon_sym_constinit] = ACTIONS(5221), + [anon_sym_consteval] = ACTIONS(5221), + [anon_sym_alignas] = ACTIONS(5221), + [anon_sym__Alignas] = ACTIONS(5221), + [sym_primitive_type] = ACTIONS(5221), + [anon_sym_enum] = ACTIONS(5221), + [anon_sym_class] = ACTIONS(5221), + [anon_sym_struct] = ACTIONS(5221), + [anon_sym_union] = ACTIONS(5221), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5223), + [sym_auto] = ACTIONS(5221), + [anon_sym_decltype] = ACTIONS(5221), + [sym_virtual] = ACTIONS(5221), + [anon_sym_explicit] = ACTIONS(5221), + [anon_sym_typename] = ACTIONS(5221), + [anon_sym_template] = ACTIONS(5221), + [anon_sym_operator] = ACTIONS(5221), + [anon_sym_friend] = ACTIONS(5221), + [anon_sym_public] = ACTIONS(5221), + [anon_sym_private] = ACTIONS(5221), + [anon_sym_protected] = ACTIONS(5221), + [anon_sym_using] = ACTIONS(5221), + [anon_sym_static_assert] = ACTIONS(5221), + }, + [2204] = { + [sym__identifier] = ACTIONS(5213), + [aux_sym_preproc_def_token1] = ACTIONS(5213), + [aux_sym_preproc_if_token1] = ACTIONS(5213), + [aux_sym_preproc_if_token2] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5213), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5213), + [sym_preproc_directive] = ACTIONS(5213), + [anon_sym_LPAREN2] = ACTIONS(5215), + [anon_sym_TILDE] = ACTIONS(5215), + [anon_sym_STAR] = ACTIONS(5215), + [anon_sym_AMP_AMP] = ACTIONS(5215), + [anon_sym_AMP] = ACTIONS(5213), + [anon_sym___extension__] = ACTIONS(5213), + [anon_sym_typedef] = ACTIONS(5213), + [anon_sym_extern] = ACTIONS(5213), + [anon_sym___attribute__] = ACTIONS(5213), + [anon_sym_COLON_COLON] = ACTIONS(5215), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5215), + [anon_sym___declspec] = ACTIONS(5213), + [anon_sym___based] = ACTIONS(5213), + [anon_sym_signed] = ACTIONS(5213), + [anon_sym_unsigned] = ACTIONS(5213), + [anon_sym_long] = ACTIONS(5213), + [anon_sym_short] = ACTIONS(5213), + [anon_sym_LBRACK] = ACTIONS(5213), + [anon_sym_static] = ACTIONS(5213), + [anon_sym_register] = ACTIONS(5213), + [anon_sym_inline] = ACTIONS(5213), + [anon_sym___inline] = ACTIONS(5213), + [anon_sym___inline__] = ACTIONS(5213), + [anon_sym___forceinline] = ACTIONS(5213), + [anon_sym_thread_local] = ACTIONS(5213), + [anon_sym___thread] = ACTIONS(5213), + [anon_sym_const] = ACTIONS(5213), + [anon_sym_constexpr] = ACTIONS(5213), + [anon_sym_volatile] = ACTIONS(5213), + [anon_sym_restrict] = ACTIONS(5213), + [anon_sym___restrict__] = ACTIONS(5213), + [anon_sym__Atomic] = ACTIONS(5213), + [anon_sym__Noreturn] = ACTIONS(5213), + [anon_sym_noreturn] = ACTIONS(5213), + [anon_sym_mutable] = ACTIONS(5213), + [anon_sym_constinit] = ACTIONS(5213), + [anon_sym_consteval] = ACTIONS(5213), + [anon_sym_alignas] = ACTIONS(5213), + [anon_sym__Alignas] = ACTIONS(5213), + [sym_primitive_type] = ACTIONS(5213), + [anon_sym_enum] = ACTIONS(5213), + [anon_sym_class] = ACTIONS(5213), + [anon_sym_struct] = ACTIONS(5213), + [anon_sym_union] = ACTIONS(5213), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5215), + [sym_auto] = ACTIONS(5213), + [anon_sym_decltype] = ACTIONS(5213), + [sym_virtual] = ACTIONS(5213), + [anon_sym_explicit] = ACTIONS(5213), + [anon_sym_typename] = ACTIONS(5213), + [anon_sym_template] = ACTIONS(5213), + [anon_sym_operator] = ACTIONS(5213), + [anon_sym_friend] = ACTIONS(5213), + [anon_sym_public] = ACTIONS(5213), + [anon_sym_private] = ACTIONS(5213), + [anon_sym_protected] = ACTIONS(5213), + [anon_sym_using] = ACTIONS(5213), + [anon_sym_static_assert] = ACTIONS(5213), + }, + [2205] = { + [sym__identifier] = ACTIONS(2975), + [aux_sym_preproc_def_token1] = ACTIONS(2975), + [aux_sym_preproc_if_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2975), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2975), + [sym_preproc_directive] = ACTIONS(2975), + [anon_sym_LPAREN2] = ACTIONS(2977), + [anon_sym_TILDE] = ACTIONS(2977), + [anon_sym_STAR] = ACTIONS(2977), + [anon_sym_AMP_AMP] = ACTIONS(2977), + [anon_sym_AMP] = ACTIONS(2975), + [anon_sym___extension__] = ACTIONS(2975), + [anon_sym_typedef] = ACTIONS(2975), + [anon_sym_extern] = ACTIONS(2975), + [anon_sym___attribute__] = ACTIONS(2975), + [anon_sym_COLON_COLON] = ACTIONS(2977), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2977), + [anon_sym___declspec] = ACTIONS(2975), + [anon_sym___based] = ACTIONS(2975), + [anon_sym_RBRACE] = ACTIONS(2977), + [anon_sym_signed] = ACTIONS(2975), + [anon_sym_unsigned] = ACTIONS(2975), + [anon_sym_long] = ACTIONS(2975), + [anon_sym_short] = ACTIONS(2975), + [anon_sym_LBRACK] = ACTIONS(2975), + [anon_sym_static] = ACTIONS(2975), + [anon_sym_register] = ACTIONS(2975), + [anon_sym_inline] = ACTIONS(2975), + [anon_sym___inline] = ACTIONS(2975), + [anon_sym___inline__] = ACTIONS(2975), + [anon_sym___forceinline] = ACTIONS(2975), + [anon_sym_thread_local] = ACTIONS(2975), + [anon_sym___thread] = ACTIONS(2975), + [anon_sym_const] = ACTIONS(2975), + [anon_sym_constexpr] = ACTIONS(2975), + [anon_sym_volatile] = ACTIONS(2975), + [anon_sym_restrict] = ACTIONS(2975), + [anon_sym___restrict__] = ACTIONS(2975), + [anon_sym__Atomic] = ACTIONS(2975), + [anon_sym__Noreturn] = ACTIONS(2975), + [anon_sym_noreturn] = ACTIONS(2975), + [anon_sym_mutable] = ACTIONS(2975), + [anon_sym_constinit] = ACTIONS(2975), + [anon_sym_consteval] = ACTIONS(2975), + [anon_sym_alignas] = ACTIONS(2975), + [anon_sym__Alignas] = ACTIONS(2975), + [sym_primitive_type] = ACTIONS(2975), + [anon_sym_enum] = ACTIONS(2975), + [anon_sym_class] = ACTIONS(2975), + [anon_sym_struct] = ACTIONS(2975), + [anon_sym_union] = ACTIONS(2975), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2977), + [sym_auto] = ACTIONS(2975), + [anon_sym_decltype] = ACTIONS(2975), + [sym_virtual] = ACTIONS(2975), + [anon_sym_explicit] = ACTIONS(2975), + [anon_sym_typename] = ACTIONS(2975), + [anon_sym_template] = ACTIONS(2975), + [anon_sym_operator] = ACTIONS(2975), + [anon_sym_friend] = ACTIONS(2975), + [anon_sym_public] = ACTIONS(2975), + [anon_sym_private] = ACTIONS(2975), + [anon_sym_protected] = ACTIONS(2975), + [anon_sym_using] = ACTIONS(2975), + [anon_sym_static_assert] = ACTIONS(2975), + }, + [2206] = { + [sym__identifier] = ACTIONS(5319), + [aux_sym_preproc_def_token1] = ACTIONS(5319), + [aux_sym_preproc_if_token1] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5319), + [sym_preproc_directive] = ACTIONS(5319), + [anon_sym_LPAREN2] = ACTIONS(5321), + [anon_sym_TILDE] = ACTIONS(5321), + [anon_sym_STAR] = ACTIONS(5321), + [anon_sym_AMP_AMP] = ACTIONS(5321), + [anon_sym_AMP] = ACTIONS(5319), + [anon_sym___extension__] = ACTIONS(5319), + [anon_sym_typedef] = ACTIONS(5319), + [anon_sym_extern] = ACTIONS(5319), + [anon_sym___attribute__] = ACTIONS(5319), + [anon_sym_COLON_COLON] = ACTIONS(5321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5321), + [anon_sym___declspec] = ACTIONS(5319), + [anon_sym___based] = ACTIONS(5319), + [anon_sym_RBRACE] = ACTIONS(5321), + [anon_sym_signed] = ACTIONS(5319), + [anon_sym_unsigned] = ACTIONS(5319), + [anon_sym_long] = ACTIONS(5319), + [anon_sym_short] = ACTIONS(5319), + [anon_sym_LBRACK] = ACTIONS(5319), + [anon_sym_static] = ACTIONS(5319), + [anon_sym_register] = ACTIONS(5319), + [anon_sym_inline] = ACTIONS(5319), + [anon_sym___inline] = ACTIONS(5319), + [anon_sym___inline__] = ACTIONS(5319), + [anon_sym___forceinline] = ACTIONS(5319), + [anon_sym_thread_local] = ACTIONS(5319), + [anon_sym___thread] = ACTIONS(5319), + [anon_sym_const] = ACTIONS(5319), + [anon_sym_constexpr] = ACTIONS(5319), + [anon_sym_volatile] = ACTIONS(5319), + [anon_sym_restrict] = ACTIONS(5319), + [anon_sym___restrict__] = ACTIONS(5319), + [anon_sym__Atomic] = ACTIONS(5319), + [anon_sym__Noreturn] = ACTIONS(5319), + [anon_sym_noreturn] = ACTIONS(5319), + [anon_sym_mutable] = ACTIONS(5319), + [anon_sym_constinit] = ACTIONS(5319), + [anon_sym_consteval] = ACTIONS(5319), + [anon_sym_alignas] = ACTIONS(5319), + [anon_sym__Alignas] = ACTIONS(5319), + [sym_primitive_type] = ACTIONS(5319), + [anon_sym_enum] = ACTIONS(5319), + [anon_sym_class] = ACTIONS(5319), + [anon_sym_struct] = ACTIONS(5319), + [anon_sym_union] = ACTIONS(5319), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5321), + [sym_auto] = ACTIONS(5319), + [anon_sym_decltype] = ACTIONS(5319), + [sym_virtual] = ACTIONS(5319), + [anon_sym_explicit] = ACTIONS(5319), + [anon_sym_typename] = ACTIONS(5319), + [anon_sym_template] = ACTIONS(5319), + [anon_sym_operator] = ACTIONS(5319), + [anon_sym_friend] = ACTIONS(5319), + [anon_sym_public] = ACTIONS(5319), + [anon_sym_private] = ACTIONS(5319), + [anon_sym_protected] = ACTIONS(5319), + [anon_sym_using] = ACTIONS(5319), + [anon_sym_static_assert] = ACTIONS(5319), + }, + [2207] = { + [sym__identifier] = ACTIONS(3162), + [aux_sym_preproc_def_token1] = ACTIONS(3162), + [aux_sym_preproc_if_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3162), + [sym_preproc_directive] = ACTIONS(3162), + [anon_sym_LPAREN2] = ACTIONS(3164), + [anon_sym_TILDE] = ACTIONS(3164), + [anon_sym_STAR] = ACTIONS(3164), + [anon_sym_AMP_AMP] = ACTIONS(3164), + [anon_sym_AMP] = ACTIONS(3162), + [anon_sym___extension__] = ACTIONS(3162), + [anon_sym_typedef] = ACTIONS(3162), + [anon_sym_extern] = ACTIONS(3162), + [anon_sym___attribute__] = ACTIONS(3162), + [anon_sym_COLON_COLON] = ACTIONS(3164), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3164), + [anon_sym___declspec] = ACTIONS(3162), + [anon_sym___based] = ACTIONS(3162), + [anon_sym_RBRACE] = ACTIONS(3164), + [anon_sym_signed] = ACTIONS(3162), + [anon_sym_unsigned] = ACTIONS(3162), + [anon_sym_long] = ACTIONS(3162), + [anon_sym_short] = ACTIONS(3162), + [anon_sym_LBRACK] = ACTIONS(3162), + [anon_sym_static] = ACTIONS(3162), + [anon_sym_register] = ACTIONS(3162), + [anon_sym_inline] = ACTIONS(3162), + [anon_sym___inline] = ACTIONS(3162), + [anon_sym___inline__] = ACTIONS(3162), + [anon_sym___forceinline] = ACTIONS(3162), + [anon_sym_thread_local] = ACTIONS(3162), + [anon_sym___thread] = ACTIONS(3162), + [anon_sym_const] = ACTIONS(3162), + [anon_sym_constexpr] = ACTIONS(3162), + [anon_sym_volatile] = ACTIONS(3162), + [anon_sym_restrict] = ACTIONS(3162), + [anon_sym___restrict__] = ACTIONS(3162), + [anon_sym__Atomic] = ACTIONS(3162), + [anon_sym__Noreturn] = ACTIONS(3162), + [anon_sym_noreturn] = ACTIONS(3162), + [anon_sym_mutable] = ACTIONS(3162), + [anon_sym_constinit] = ACTIONS(3162), + [anon_sym_consteval] = ACTIONS(3162), + [anon_sym_alignas] = ACTIONS(3162), + [anon_sym__Alignas] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(3162), + [anon_sym_enum] = ACTIONS(3162), + [anon_sym_class] = ACTIONS(3162), + [anon_sym_struct] = ACTIONS(3162), + [anon_sym_union] = ACTIONS(3162), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3164), + [sym_auto] = ACTIONS(3162), + [anon_sym_decltype] = ACTIONS(3162), + [sym_virtual] = ACTIONS(3162), + [anon_sym_explicit] = ACTIONS(3162), + [anon_sym_typename] = ACTIONS(3162), + [anon_sym_template] = ACTIONS(3162), + [anon_sym_operator] = ACTIONS(3162), + [anon_sym_friend] = ACTIONS(3162), + [anon_sym_public] = ACTIONS(3162), + [anon_sym_private] = ACTIONS(3162), + [anon_sym_protected] = ACTIONS(3162), + [anon_sym_using] = ACTIONS(3162), + [anon_sym_static_assert] = ACTIONS(3162), + }, + [2208] = { + [sym__identifier] = ACTIONS(5129), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5131), + [anon_sym_COMMA] = ACTIONS(5131), + [anon_sym_RPAREN] = ACTIONS(5131), + [aux_sym_preproc_if_token2] = ACTIONS(5131), + [aux_sym_preproc_else_token1] = ACTIONS(5131), + [aux_sym_preproc_elif_token1] = ACTIONS(5129), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5131), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5131), + [anon_sym_LPAREN2] = ACTIONS(5131), + [anon_sym_DASH] = ACTIONS(5129), + [anon_sym_PLUS] = ACTIONS(5129), + [anon_sym_STAR] = ACTIONS(5129), + [anon_sym_SLASH] = ACTIONS(5129), + [anon_sym_PERCENT] = ACTIONS(5129), + [anon_sym_PIPE_PIPE] = ACTIONS(5131), + [anon_sym_AMP_AMP] = ACTIONS(5131), + [anon_sym_PIPE] = ACTIONS(5129), + [anon_sym_CARET] = ACTIONS(5129), + [anon_sym_AMP] = ACTIONS(5129), + [anon_sym_EQ_EQ] = ACTIONS(5131), + [anon_sym_BANG_EQ] = ACTIONS(5131), + [anon_sym_GT] = ACTIONS(5129), + [anon_sym_GT_EQ] = ACTIONS(5131), + [anon_sym_LT_EQ] = ACTIONS(5129), + [anon_sym_LT] = ACTIONS(5129), + [anon_sym_LT_LT] = ACTIONS(5129), + [anon_sym_GT_GT] = ACTIONS(5129), + [anon_sym_SEMI] = ACTIONS(5131), + [anon_sym___attribute__] = ACTIONS(5129), + [anon_sym_LBRACE] = ACTIONS(5131), + [anon_sym_RBRACE] = ACTIONS(5131), + [anon_sym_LBRACK] = ACTIONS(5131), + [anon_sym_RBRACK] = ACTIONS(5131), + [anon_sym_EQ] = ACTIONS(5129), + [anon_sym_COLON] = ACTIONS(5131), + [anon_sym_QMARK] = ACTIONS(5131), + [anon_sym_STAR_EQ] = ACTIONS(5131), + [anon_sym_SLASH_EQ] = ACTIONS(5131), + [anon_sym_PERCENT_EQ] = ACTIONS(5131), + [anon_sym_PLUS_EQ] = ACTIONS(5131), + [anon_sym_DASH_EQ] = ACTIONS(5131), + [anon_sym_LT_LT_EQ] = ACTIONS(5131), + [anon_sym_GT_GT_EQ] = ACTIONS(5131), + [anon_sym_AMP_EQ] = ACTIONS(5131), + [anon_sym_CARET_EQ] = ACTIONS(5131), + [anon_sym_PIPE_EQ] = ACTIONS(5131), + [anon_sym_and_eq] = ACTIONS(5129), + [anon_sym_or_eq] = ACTIONS(5129), + [anon_sym_xor_eq] = ACTIONS(5129), + [anon_sym_LT_EQ_GT] = ACTIONS(5131), + [anon_sym_or] = ACTIONS(5129), + [anon_sym_and] = ACTIONS(5129), + [anon_sym_bitor] = ACTIONS(5129), + [anon_sym_xor] = ACTIONS(5129), + [anon_sym_bitand] = ACTIONS(5129), + [anon_sym_not_eq] = ACTIONS(5129), + [anon_sym_DASH_DASH] = ACTIONS(5131), + [anon_sym_PLUS_PLUS] = ACTIONS(5131), + [anon_sym_DOT] = ACTIONS(5129), + [anon_sym_DOT_STAR] = ACTIONS(5131), + [anon_sym_DASH_GT] = ACTIONS(5131), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5131), + [sym_auto] = ACTIONS(5129), + [anon_sym_decltype] = ACTIONS(5129), + }, + [2209] = { + [sym__identifier] = ACTIONS(5072), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5074), + [anon_sym_COMMA] = ACTIONS(5074), + [anon_sym_RPAREN] = ACTIONS(5074), + [aux_sym_preproc_if_token2] = ACTIONS(5074), + [aux_sym_preproc_else_token1] = ACTIONS(5074), + [aux_sym_preproc_elif_token1] = ACTIONS(5072), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5074), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5074), + [anon_sym_LPAREN2] = ACTIONS(5074), + [anon_sym_DASH] = ACTIONS(5072), + [anon_sym_PLUS] = ACTIONS(5072), + [anon_sym_STAR] = ACTIONS(5072), + [anon_sym_SLASH] = ACTIONS(5072), + [anon_sym_PERCENT] = ACTIONS(5072), + [anon_sym_PIPE_PIPE] = ACTIONS(5074), + [anon_sym_AMP_AMP] = ACTIONS(5074), + [anon_sym_PIPE] = ACTIONS(5072), + [anon_sym_CARET] = ACTIONS(5072), + [anon_sym_AMP] = ACTIONS(5072), + [anon_sym_EQ_EQ] = ACTIONS(5074), + [anon_sym_BANG_EQ] = ACTIONS(5074), + [anon_sym_GT] = ACTIONS(5072), + [anon_sym_GT_EQ] = ACTIONS(5074), + [anon_sym_LT_EQ] = ACTIONS(5072), + [anon_sym_LT] = ACTIONS(5072), + [anon_sym_LT_LT] = ACTIONS(5072), + [anon_sym_GT_GT] = ACTIONS(5072), + [anon_sym_SEMI] = ACTIONS(5074), + [anon_sym___attribute__] = ACTIONS(5072), + [anon_sym_LBRACE] = ACTIONS(5074), + [anon_sym_RBRACE] = ACTIONS(5074), + [anon_sym_LBRACK] = ACTIONS(5074), + [anon_sym_RBRACK] = ACTIONS(5074), + [anon_sym_EQ] = ACTIONS(5072), + [anon_sym_COLON] = ACTIONS(5074), + [anon_sym_QMARK] = ACTIONS(5074), + [anon_sym_STAR_EQ] = ACTIONS(5074), + [anon_sym_SLASH_EQ] = ACTIONS(5074), + [anon_sym_PERCENT_EQ] = ACTIONS(5074), + [anon_sym_PLUS_EQ] = ACTIONS(5074), + [anon_sym_DASH_EQ] = ACTIONS(5074), + [anon_sym_LT_LT_EQ] = ACTIONS(5074), + [anon_sym_GT_GT_EQ] = ACTIONS(5074), + [anon_sym_AMP_EQ] = ACTIONS(5074), + [anon_sym_CARET_EQ] = ACTIONS(5074), + [anon_sym_PIPE_EQ] = ACTIONS(5074), + [anon_sym_and_eq] = ACTIONS(5072), + [anon_sym_or_eq] = ACTIONS(5072), + [anon_sym_xor_eq] = ACTIONS(5072), + [anon_sym_LT_EQ_GT] = ACTIONS(5074), + [anon_sym_or] = ACTIONS(5072), + [anon_sym_and] = ACTIONS(5072), + [anon_sym_bitor] = ACTIONS(5072), + [anon_sym_xor] = ACTIONS(5072), + [anon_sym_bitand] = ACTIONS(5072), + [anon_sym_not_eq] = ACTIONS(5072), + [anon_sym_DASH_DASH] = ACTIONS(5074), + [anon_sym_PLUS_PLUS] = ACTIONS(5074), + [anon_sym_DOT] = ACTIONS(5072), + [anon_sym_DOT_STAR] = ACTIONS(5074), + [anon_sym_DASH_GT] = ACTIONS(5074), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5074), + [sym_auto] = ACTIONS(5072), + [anon_sym_decltype] = ACTIONS(5072), + }, + [2210] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2211] = { + [sym__identifier] = ACTIONS(5068), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5070), + [anon_sym_COMMA] = ACTIONS(5070), + [anon_sym_RPAREN] = ACTIONS(5070), + [aux_sym_preproc_if_token2] = ACTIONS(5070), + [aux_sym_preproc_else_token1] = ACTIONS(5070), + [aux_sym_preproc_elif_token1] = ACTIONS(5068), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5070), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5070), + [anon_sym_LPAREN2] = ACTIONS(5070), + [anon_sym_DASH] = ACTIONS(5068), + [anon_sym_PLUS] = ACTIONS(5068), + [anon_sym_STAR] = ACTIONS(5068), + [anon_sym_SLASH] = ACTIONS(5068), + [anon_sym_PERCENT] = ACTIONS(5068), + [anon_sym_PIPE_PIPE] = ACTIONS(5070), + [anon_sym_AMP_AMP] = ACTIONS(5070), + [anon_sym_PIPE] = ACTIONS(5068), + [anon_sym_CARET] = ACTIONS(5068), + [anon_sym_AMP] = ACTIONS(5068), + [anon_sym_EQ_EQ] = ACTIONS(5070), + [anon_sym_BANG_EQ] = ACTIONS(5070), + [anon_sym_GT] = ACTIONS(5068), + [anon_sym_GT_EQ] = ACTIONS(5070), + [anon_sym_LT_EQ] = ACTIONS(5068), + [anon_sym_LT] = ACTIONS(5068), + [anon_sym_LT_LT] = ACTIONS(5068), + [anon_sym_GT_GT] = ACTIONS(5068), + [anon_sym_SEMI] = ACTIONS(5070), + [anon_sym___attribute__] = ACTIONS(5068), + [anon_sym_LBRACE] = ACTIONS(5070), + [anon_sym_RBRACE] = ACTIONS(5070), + [anon_sym_LBRACK] = ACTIONS(5070), + [anon_sym_RBRACK] = ACTIONS(5070), + [anon_sym_EQ] = ACTIONS(5068), + [anon_sym_COLON] = ACTIONS(5070), + [anon_sym_QMARK] = ACTIONS(5070), + [anon_sym_STAR_EQ] = ACTIONS(5070), + [anon_sym_SLASH_EQ] = ACTIONS(5070), + [anon_sym_PERCENT_EQ] = ACTIONS(5070), + [anon_sym_PLUS_EQ] = ACTIONS(5070), + [anon_sym_DASH_EQ] = ACTIONS(5070), + [anon_sym_LT_LT_EQ] = ACTIONS(5070), + [anon_sym_GT_GT_EQ] = ACTIONS(5070), + [anon_sym_AMP_EQ] = ACTIONS(5070), + [anon_sym_CARET_EQ] = ACTIONS(5070), + [anon_sym_PIPE_EQ] = ACTIONS(5070), + [anon_sym_and_eq] = ACTIONS(5068), + [anon_sym_or_eq] = ACTIONS(5068), + [anon_sym_xor_eq] = ACTIONS(5068), + [anon_sym_LT_EQ_GT] = ACTIONS(5070), + [anon_sym_or] = ACTIONS(5068), + [anon_sym_and] = ACTIONS(5068), + [anon_sym_bitor] = ACTIONS(5068), + [anon_sym_xor] = ACTIONS(5068), + [anon_sym_bitand] = ACTIONS(5068), + [anon_sym_not_eq] = ACTIONS(5068), + [anon_sym_DASH_DASH] = ACTIONS(5070), + [anon_sym_PLUS_PLUS] = ACTIONS(5070), + [anon_sym_DOT] = ACTIONS(5068), + [anon_sym_DOT_STAR] = ACTIONS(5070), + [anon_sym_DASH_GT] = ACTIONS(5070), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5070), + [sym_auto] = ACTIONS(5068), + [anon_sym_decltype] = ACTIONS(5068), + }, + [2212] = { + [sym__identifier] = ACTIONS(5125), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5127), + [anon_sym_COMMA] = ACTIONS(5127), + [anon_sym_RPAREN] = ACTIONS(5127), + [aux_sym_preproc_if_token2] = ACTIONS(5127), + [aux_sym_preproc_else_token1] = ACTIONS(5127), + [aux_sym_preproc_elif_token1] = ACTIONS(5125), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5127), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5127), + [anon_sym_LPAREN2] = ACTIONS(5127), + [anon_sym_DASH] = ACTIONS(5125), + [anon_sym_PLUS] = ACTIONS(5125), + [anon_sym_STAR] = ACTIONS(5125), + [anon_sym_SLASH] = ACTIONS(5125), + [anon_sym_PERCENT] = ACTIONS(5125), + [anon_sym_PIPE_PIPE] = ACTIONS(5127), + [anon_sym_AMP_AMP] = ACTIONS(5127), + [anon_sym_PIPE] = ACTIONS(5125), + [anon_sym_CARET] = ACTIONS(5125), + [anon_sym_AMP] = ACTIONS(5125), + [anon_sym_EQ_EQ] = ACTIONS(5127), + [anon_sym_BANG_EQ] = ACTIONS(5127), + [anon_sym_GT] = ACTIONS(5125), + [anon_sym_GT_EQ] = ACTIONS(5127), + [anon_sym_LT_EQ] = ACTIONS(5125), + [anon_sym_LT] = ACTIONS(5125), + [anon_sym_LT_LT] = ACTIONS(5125), + [anon_sym_GT_GT] = ACTIONS(5125), + [anon_sym_SEMI] = ACTIONS(5127), + [anon_sym___attribute__] = ACTIONS(5125), + [anon_sym_LBRACE] = ACTIONS(5127), + [anon_sym_RBRACE] = ACTIONS(5127), + [anon_sym_LBRACK] = ACTIONS(5127), + [anon_sym_RBRACK] = ACTIONS(5127), + [anon_sym_EQ] = ACTIONS(5125), + [anon_sym_COLON] = ACTIONS(5127), + [anon_sym_QMARK] = ACTIONS(5127), + [anon_sym_STAR_EQ] = ACTIONS(5127), + [anon_sym_SLASH_EQ] = ACTIONS(5127), + [anon_sym_PERCENT_EQ] = ACTIONS(5127), + [anon_sym_PLUS_EQ] = ACTIONS(5127), + [anon_sym_DASH_EQ] = ACTIONS(5127), + [anon_sym_LT_LT_EQ] = ACTIONS(5127), + [anon_sym_GT_GT_EQ] = ACTIONS(5127), + [anon_sym_AMP_EQ] = ACTIONS(5127), + [anon_sym_CARET_EQ] = ACTIONS(5127), + [anon_sym_PIPE_EQ] = ACTIONS(5127), + [anon_sym_and_eq] = ACTIONS(5125), + [anon_sym_or_eq] = ACTIONS(5125), + [anon_sym_xor_eq] = ACTIONS(5125), + [anon_sym_LT_EQ_GT] = ACTIONS(5127), + [anon_sym_or] = ACTIONS(5125), + [anon_sym_and] = ACTIONS(5125), + [anon_sym_bitor] = ACTIONS(5125), + [anon_sym_xor] = ACTIONS(5125), + [anon_sym_bitand] = ACTIONS(5125), + [anon_sym_not_eq] = ACTIONS(5125), + [anon_sym_DASH_DASH] = ACTIONS(5127), + [anon_sym_PLUS_PLUS] = ACTIONS(5127), + [anon_sym_DOT] = ACTIONS(5125), + [anon_sym_DOT_STAR] = ACTIONS(5127), + [anon_sym_DASH_GT] = ACTIONS(5127), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5127), + [sym_auto] = ACTIONS(5125), + [anon_sym_decltype] = ACTIONS(5125), + }, + [2213] = { + [sym__identifier] = ACTIONS(5205), + [aux_sym_preproc_def_token1] = ACTIONS(5205), + [aux_sym_preproc_if_token1] = ACTIONS(5205), + [aux_sym_preproc_if_token2] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5205), + [sym_preproc_directive] = ACTIONS(5205), + [anon_sym_LPAREN2] = ACTIONS(5207), + [anon_sym_TILDE] = ACTIONS(5207), + [anon_sym_STAR] = ACTIONS(5207), + [anon_sym_AMP_AMP] = ACTIONS(5207), + [anon_sym_AMP] = ACTIONS(5205), + [anon_sym___extension__] = ACTIONS(5205), + [anon_sym_typedef] = ACTIONS(5205), + [anon_sym_extern] = ACTIONS(5205), + [anon_sym___attribute__] = ACTIONS(5205), + [anon_sym_COLON_COLON] = ACTIONS(5207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5207), + [anon_sym___declspec] = ACTIONS(5205), + [anon_sym___based] = ACTIONS(5205), + [anon_sym_signed] = ACTIONS(5205), + [anon_sym_unsigned] = ACTIONS(5205), + [anon_sym_long] = ACTIONS(5205), + [anon_sym_short] = ACTIONS(5205), + [anon_sym_LBRACK] = ACTIONS(5205), + [anon_sym_static] = ACTIONS(5205), + [anon_sym_register] = ACTIONS(5205), + [anon_sym_inline] = ACTIONS(5205), + [anon_sym___inline] = ACTIONS(5205), + [anon_sym___inline__] = ACTIONS(5205), + [anon_sym___forceinline] = ACTIONS(5205), + [anon_sym_thread_local] = ACTIONS(5205), + [anon_sym___thread] = ACTIONS(5205), + [anon_sym_const] = ACTIONS(5205), + [anon_sym_constexpr] = ACTIONS(5205), + [anon_sym_volatile] = ACTIONS(5205), + [anon_sym_restrict] = ACTIONS(5205), + [anon_sym___restrict__] = ACTIONS(5205), + [anon_sym__Atomic] = ACTIONS(5205), + [anon_sym__Noreturn] = ACTIONS(5205), + [anon_sym_noreturn] = ACTIONS(5205), + [anon_sym_mutable] = ACTIONS(5205), + [anon_sym_constinit] = ACTIONS(5205), + [anon_sym_consteval] = ACTIONS(5205), + [anon_sym_alignas] = ACTIONS(5205), + [anon_sym__Alignas] = ACTIONS(5205), + [sym_primitive_type] = ACTIONS(5205), + [anon_sym_enum] = ACTIONS(5205), + [anon_sym_class] = ACTIONS(5205), + [anon_sym_struct] = ACTIONS(5205), + [anon_sym_union] = ACTIONS(5205), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5207), + [sym_auto] = ACTIONS(5205), + [anon_sym_decltype] = ACTIONS(5205), + [sym_virtual] = ACTIONS(5205), + [anon_sym_explicit] = ACTIONS(5205), + [anon_sym_typename] = ACTIONS(5205), + [anon_sym_template] = ACTIONS(5205), + [anon_sym_operator] = ACTIONS(5205), + [anon_sym_friend] = ACTIONS(5205), + [anon_sym_public] = ACTIONS(5205), + [anon_sym_private] = ACTIONS(5205), + [anon_sym_protected] = ACTIONS(5205), + [anon_sym_using] = ACTIONS(5205), + [anon_sym_static_assert] = ACTIONS(5205), + }, + [2214] = { + [sym_string_literal] = STATE(1914), + [sym__string_literal] = STATE(2359), + [sym_raw_string_literal] = STATE(1914), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4994), + [anon_sym_COMMA] = ACTIONS(4994), + [anon_sym_LPAREN2] = ACTIONS(4994), + [anon_sym_DASH] = ACTIONS(4992), + [anon_sym_PLUS] = ACTIONS(4992), + [anon_sym_STAR] = ACTIONS(4992), + [anon_sym_SLASH] = ACTIONS(4992), + [anon_sym_PERCENT] = ACTIONS(4992), + [anon_sym_PIPE_PIPE] = ACTIONS(4994), + [anon_sym_AMP_AMP] = ACTIONS(4994), + [anon_sym_PIPE] = ACTIONS(4992), + [anon_sym_CARET] = ACTIONS(4992), + [anon_sym_AMP] = ACTIONS(4992), + [anon_sym_EQ_EQ] = ACTIONS(4994), + [anon_sym_BANG_EQ] = ACTIONS(4994), + [anon_sym_GT] = ACTIONS(4992), + [anon_sym_GT_EQ] = ACTIONS(4992), + [anon_sym_LT_EQ] = ACTIONS(4992), + [anon_sym_LT] = ACTIONS(4992), + [anon_sym_LT_LT] = ACTIONS(4992), + [anon_sym_GT_GT] = ACTIONS(4992), + [anon_sym_LBRACK] = ACTIONS(4994), + [anon_sym_EQ] = ACTIONS(4992), + [anon_sym_QMARK] = ACTIONS(4994), + [anon_sym_STAR_EQ] = ACTIONS(4994), + [anon_sym_SLASH_EQ] = ACTIONS(4994), + [anon_sym_PERCENT_EQ] = ACTIONS(4994), + [anon_sym_PLUS_EQ] = ACTIONS(4994), + [anon_sym_DASH_EQ] = ACTIONS(4994), + [anon_sym_LT_LT_EQ] = ACTIONS(4994), + [anon_sym_GT_GT_EQ] = ACTIONS(4992), + [anon_sym_AMP_EQ] = ACTIONS(4994), + [anon_sym_CARET_EQ] = ACTIONS(4994), + [anon_sym_PIPE_EQ] = ACTIONS(4994), + [anon_sym_and_eq] = ACTIONS(4992), + [anon_sym_or_eq] = ACTIONS(4992), + [anon_sym_xor_eq] = ACTIONS(4992), + [anon_sym_LT_EQ_GT] = ACTIONS(4994), + [anon_sym_or] = ACTIONS(4992), + [anon_sym_and] = ACTIONS(4992), + [anon_sym_bitor] = ACTIONS(4992), + [anon_sym_xor] = ACTIONS(4992), + [anon_sym_bitand] = ACTIONS(4992), + [anon_sym_not_eq] = ACTIONS(4992), + [anon_sym_DASH_DASH] = ACTIONS(4994), + [anon_sym_PLUS_PLUS] = ACTIONS(4994), + [anon_sym_DOT] = ACTIONS(4992), + [anon_sym_DOT_STAR] = ACTIONS(4994), + [anon_sym_DASH_GT] = ACTIONS(4994), + [anon_sym_L_DQUOTE] = ACTIONS(5369), + [anon_sym_u_DQUOTE] = ACTIONS(5369), + [anon_sym_U_DQUOTE] = ACTIONS(5369), + [anon_sym_u8_DQUOTE] = ACTIONS(5369), + [anon_sym_DQUOTE] = ACTIONS(5369), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5470), + [anon_sym_GT2] = ACTIONS(4994), + [anon_sym_R_DQUOTE] = ACTIONS(5373), + [anon_sym_LR_DQUOTE] = ACTIONS(5373), + [anon_sym_uR_DQUOTE] = ACTIONS(5373), + [anon_sym_UR_DQUOTE] = ACTIONS(5373), + [anon_sym_u8R_DQUOTE] = ACTIONS(5373), + [sym_literal_suffix] = ACTIONS(5725), + }, + [2215] = { + [sym__identifier] = ACTIONS(5121), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5123), + [anon_sym_COMMA] = ACTIONS(5123), + [anon_sym_RPAREN] = ACTIONS(5123), + [aux_sym_preproc_if_token2] = ACTIONS(5123), + [aux_sym_preproc_else_token1] = ACTIONS(5123), + [aux_sym_preproc_elif_token1] = ACTIONS(5121), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5123), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5123), + [anon_sym_LPAREN2] = ACTIONS(5123), + [anon_sym_DASH] = ACTIONS(5121), + [anon_sym_PLUS] = ACTIONS(5121), + [anon_sym_STAR] = ACTIONS(5121), + [anon_sym_SLASH] = ACTIONS(5121), + [anon_sym_PERCENT] = ACTIONS(5121), + [anon_sym_PIPE_PIPE] = ACTIONS(5123), + [anon_sym_AMP_AMP] = ACTIONS(5123), + [anon_sym_PIPE] = ACTIONS(5121), + [anon_sym_CARET] = ACTIONS(5121), + [anon_sym_AMP] = ACTIONS(5121), + [anon_sym_EQ_EQ] = ACTIONS(5123), + [anon_sym_BANG_EQ] = ACTIONS(5123), + [anon_sym_GT] = ACTIONS(5121), + [anon_sym_GT_EQ] = ACTIONS(5123), + [anon_sym_LT_EQ] = ACTIONS(5121), + [anon_sym_LT] = ACTIONS(5121), + [anon_sym_LT_LT] = ACTIONS(5121), + [anon_sym_GT_GT] = ACTIONS(5121), + [anon_sym_SEMI] = ACTIONS(5123), + [anon_sym___attribute__] = ACTIONS(5121), + [anon_sym_LBRACE] = ACTIONS(5123), + [anon_sym_RBRACE] = ACTIONS(5123), + [anon_sym_LBRACK] = ACTIONS(5123), + [anon_sym_RBRACK] = ACTIONS(5123), + [anon_sym_EQ] = ACTIONS(5121), + [anon_sym_COLON] = ACTIONS(5123), + [anon_sym_QMARK] = ACTIONS(5123), + [anon_sym_STAR_EQ] = ACTIONS(5123), + [anon_sym_SLASH_EQ] = ACTIONS(5123), + [anon_sym_PERCENT_EQ] = ACTIONS(5123), + [anon_sym_PLUS_EQ] = ACTIONS(5123), + [anon_sym_DASH_EQ] = ACTIONS(5123), + [anon_sym_LT_LT_EQ] = ACTIONS(5123), + [anon_sym_GT_GT_EQ] = ACTIONS(5123), + [anon_sym_AMP_EQ] = ACTIONS(5123), + [anon_sym_CARET_EQ] = ACTIONS(5123), + [anon_sym_PIPE_EQ] = ACTIONS(5123), + [anon_sym_and_eq] = ACTIONS(5121), + [anon_sym_or_eq] = ACTIONS(5121), + [anon_sym_xor_eq] = ACTIONS(5121), + [anon_sym_LT_EQ_GT] = ACTIONS(5123), + [anon_sym_or] = ACTIONS(5121), + [anon_sym_and] = ACTIONS(5121), + [anon_sym_bitor] = ACTIONS(5121), + [anon_sym_xor] = ACTIONS(5121), + [anon_sym_bitand] = ACTIONS(5121), + [anon_sym_not_eq] = ACTIONS(5121), + [anon_sym_DASH_DASH] = ACTIONS(5123), + [anon_sym_PLUS_PLUS] = ACTIONS(5123), + [anon_sym_DOT] = ACTIONS(5121), + [anon_sym_DOT_STAR] = ACTIONS(5123), + [anon_sym_DASH_GT] = ACTIONS(5123), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5123), + [sym_auto] = ACTIONS(5121), + [anon_sym_decltype] = ACTIONS(5121), + }, + [2216] = { + [sym_ms_based_modifier] = STATE(8140), + [sym_ms_unaligned_ptr_modifier] = STATE(4158), + [sym_ms_pointer_modifier] = STATE(4031), + [sym__declarator] = STATE(6409), + [sym__abstract_declarator] = STATE(6583), + [sym_parenthesized_declarator] = STATE(6299), + [sym_abstract_parenthesized_declarator] = STATE(6175), + [sym_attributed_declarator] = STATE(6299), + [sym_pointer_declarator] = STATE(6299), + [sym_abstract_pointer_declarator] = STATE(6175), + [sym_function_declarator] = STATE(6299), + [sym_abstract_function_declarator] = STATE(6175), + [sym_array_declarator] = STATE(6299), + [sym_abstract_array_declarator] = STATE(6175), + [sym_type_qualifier] = STATE(2745), + [sym_alignas_qualifier] = STATE(4460), + [sym_parameter_list] = STATE(3393), + [sym_identifier] = STATE(6493), + [sym_decltype] = STATE(8052), + [sym_reference_declarator] = STATE(6299), + [sym_abstract_reference_declarator] = STATE(6175), + [sym_structured_binding_declarator] = STATE(6299), + [sym__function_declarator_seq] = STATE(6186), + [sym_template_type] = STATE(8052), + [sym_template_function] = STATE(6299), + [sym_destructor_name] = STATE(6299), + [sym_dependent_type_identifier] = STATE(8052), + [sym__scope_resolution] = STATE(5595), + [sym_qualified_identifier] = STATE(6299), + [sym_operator_name] = STATE(6299), + [aux_sym__type_definition_type_repeat1] = STATE(2745), + [aux_sym_pointer_declarator_repeat1] = STATE(4031), + [sym__identifier] = ACTIONS(4953), + [anon_sym_RPAREN] = ACTIONS(5416), + [anon_sym_LPAREN2] = ACTIONS(4029), + [anon_sym_TILDE] = ACTIONS(2853), + [anon_sym_STAR] = ACTIONS(4031), + [anon_sym_AMP_AMP] = ACTIONS(4033), + [anon_sym_AMP] = ACTIONS(4035), + [anon_sym___extension__] = ACTIONS(2556), + [anon_sym_COLON_COLON] = ACTIONS(5694), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2558), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2558), + [sym_ms_signed_ptr_modifier] = ACTIONS(2558), + [anon_sym__unaligned] = ACTIONS(2560), + [anon_sym___unaligned] = ACTIONS(2560), + [anon_sym_LBRACK] = ACTIONS(5407), + [anon_sym_const] = ACTIONS(2556), + [anon_sym_constexpr] = ACTIONS(2556), + [anon_sym_volatile] = ACTIONS(2556), + [anon_sym_restrict] = ACTIONS(2556), + [anon_sym___restrict__] = ACTIONS(2556), + [anon_sym__Atomic] = ACTIONS(2556), + [anon_sym__Noreturn] = ACTIONS(2556), + [anon_sym_noreturn] = ACTIONS(2556), + [anon_sym_mutable] = ACTIONS(2556), + [anon_sym_constinit] = ACTIONS(2556), + [anon_sym_consteval] = ACTIONS(2556), + [anon_sym_alignas] = ACTIONS(2562), + [anon_sym__Alignas] = ACTIONS(2562), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4969), + [anon_sym_decltype] = ACTIONS(1903), + [anon_sym_template] = ACTIONS(1407), + [anon_sym_operator] = ACTIONS(1785), + }, + [2217] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token2] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [2218] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token2] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [2219] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token2] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [2220] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token2] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [2221] = { + [sym__identifier] = ACTIONS(5181), + [aux_sym_preproc_def_token1] = ACTIONS(5181), + [aux_sym_preproc_if_token1] = ACTIONS(5181), + [aux_sym_preproc_if_token2] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5181), + [sym_preproc_directive] = ACTIONS(5181), + [anon_sym_LPAREN2] = ACTIONS(5183), + [anon_sym_TILDE] = ACTIONS(5183), + [anon_sym_STAR] = ACTIONS(5183), + [anon_sym_AMP_AMP] = ACTIONS(5183), + [anon_sym_AMP] = ACTIONS(5181), + [anon_sym___extension__] = ACTIONS(5181), + [anon_sym_typedef] = ACTIONS(5181), + [anon_sym_extern] = ACTIONS(5181), + [anon_sym___attribute__] = ACTIONS(5181), + [anon_sym_COLON_COLON] = ACTIONS(5183), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5183), + [anon_sym___declspec] = ACTIONS(5181), + [anon_sym___based] = ACTIONS(5181), + [anon_sym_signed] = ACTIONS(5181), + [anon_sym_unsigned] = ACTIONS(5181), + [anon_sym_long] = ACTIONS(5181), + [anon_sym_short] = ACTIONS(5181), + [anon_sym_LBRACK] = ACTIONS(5181), + [anon_sym_static] = ACTIONS(5181), + [anon_sym_register] = ACTIONS(5181), + [anon_sym_inline] = ACTIONS(5181), + [anon_sym___inline] = ACTIONS(5181), + [anon_sym___inline__] = ACTIONS(5181), + [anon_sym___forceinline] = ACTIONS(5181), + [anon_sym_thread_local] = ACTIONS(5181), + [anon_sym___thread] = ACTIONS(5181), + [anon_sym_const] = ACTIONS(5181), + [anon_sym_constexpr] = ACTIONS(5181), + [anon_sym_volatile] = ACTIONS(5181), + [anon_sym_restrict] = ACTIONS(5181), + [anon_sym___restrict__] = ACTIONS(5181), + [anon_sym__Atomic] = ACTIONS(5181), + [anon_sym__Noreturn] = ACTIONS(5181), + [anon_sym_noreturn] = ACTIONS(5181), + [anon_sym_mutable] = ACTIONS(5181), + [anon_sym_constinit] = ACTIONS(5181), + [anon_sym_consteval] = ACTIONS(5181), + [anon_sym_alignas] = ACTIONS(5181), + [anon_sym__Alignas] = ACTIONS(5181), + [sym_primitive_type] = ACTIONS(5181), + [anon_sym_enum] = ACTIONS(5181), + [anon_sym_class] = ACTIONS(5181), + [anon_sym_struct] = ACTIONS(5181), + [anon_sym_union] = ACTIONS(5181), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5183), + [sym_auto] = ACTIONS(5181), + [anon_sym_decltype] = ACTIONS(5181), + [sym_virtual] = ACTIONS(5181), + [anon_sym_explicit] = ACTIONS(5181), + [anon_sym_typename] = ACTIONS(5181), + [anon_sym_template] = ACTIONS(5181), + [anon_sym_operator] = ACTIONS(5181), + [anon_sym_friend] = ACTIONS(5181), + [anon_sym_public] = ACTIONS(5181), + [anon_sym_private] = ACTIONS(5181), + [anon_sym_protected] = ACTIONS(5181), + [anon_sym_using] = ACTIONS(5181), + [anon_sym_static_assert] = ACTIONS(5181), + }, + [2222] = { + [sym__identifier] = ACTIONS(5177), + [aux_sym_preproc_def_token1] = ACTIONS(5177), + [aux_sym_preproc_if_token1] = ACTIONS(5177), + [aux_sym_preproc_if_token2] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5177), + [sym_preproc_directive] = ACTIONS(5177), + [anon_sym_LPAREN2] = ACTIONS(5179), + [anon_sym_TILDE] = ACTIONS(5179), + [anon_sym_STAR] = ACTIONS(5179), + [anon_sym_AMP_AMP] = ACTIONS(5179), + [anon_sym_AMP] = ACTIONS(5177), + [anon_sym___extension__] = ACTIONS(5177), + [anon_sym_typedef] = ACTIONS(5177), + [anon_sym_extern] = ACTIONS(5177), + [anon_sym___attribute__] = ACTIONS(5177), + [anon_sym_COLON_COLON] = ACTIONS(5179), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5179), + [anon_sym___declspec] = ACTIONS(5177), + [anon_sym___based] = ACTIONS(5177), + [anon_sym_signed] = ACTIONS(5177), + [anon_sym_unsigned] = ACTIONS(5177), + [anon_sym_long] = ACTIONS(5177), + [anon_sym_short] = ACTIONS(5177), + [anon_sym_LBRACK] = ACTIONS(5177), + [anon_sym_static] = ACTIONS(5177), + [anon_sym_register] = ACTIONS(5177), + [anon_sym_inline] = ACTIONS(5177), + [anon_sym___inline] = ACTIONS(5177), + [anon_sym___inline__] = ACTIONS(5177), + [anon_sym___forceinline] = ACTIONS(5177), + [anon_sym_thread_local] = ACTIONS(5177), + [anon_sym___thread] = ACTIONS(5177), + [anon_sym_const] = ACTIONS(5177), + [anon_sym_constexpr] = ACTIONS(5177), + [anon_sym_volatile] = ACTIONS(5177), + [anon_sym_restrict] = ACTIONS(5177), + [anon_sym___restrict__] = ACTIONS(5177), + [anon_sym__Atomic] = ACTIONS(5177), + [anon_sym__Noreturn] = ACTIONS(5177), + [anon_sym_noreturn] = ACTIONS(5177), + [anon_sym_mutable] = ACTIONS(5177), + [anon_sym_constinit] = ACTIONS(5177), + [anon_sym_consteval] = ACTIONS(5177), + [anon_sym_alignas] = ACTIONS(5177), + [anon_sym__Alignas] = ACTIONS(5177), + [sym_primitive_type] = ACTIONS(5177), + [anon_sym_enum] = ACTIONS(5177), + [anon_sym_class] = ACTIONS(5177), + [anon_sym_struct] = ACTIONS(5177), + [anon_sym_union] = ACTIONS(5177), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5179), + [sym_auto] = ACTIONS(5177), + [anon_sym_decltype] = ACTIONS(5177), + [sym_virtual] = ACTIONS(5177), + [anon_sym_explicit] = ACTIONS(5177), + [anon_sym_typename] = ACTIONS(5177), + [anon_sym_template] = ACTIONS(5177), + [anon_sym_operator] = ACTIONS(5177), + [anon_sym_friend] = ACTIONS(5177), + [anon_sym_public] = ACTIONS(5177), + [anon_sym_private] = ACTIONS(5177), + [anon_sym_protected] = ACTIONS(5177), + [anon_sym_using] = ACTIONS(5177), + [anon_sym_static_assert] = ACTIONS(5177), + }, + [2223] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token2] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [2224] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token2] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [2225] = { + [sym__identifier] = ACTIONS(3130), + [aux_sym_preproc_def_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token1] = ACTIONS(3130), + [aux_sym_preproc_if_token2] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3130), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3130), + [sym_preproc_directive] = ACTIONS(3130), + [anon_sym_LPAREN2] = ACTIONS(3132), + [anon_sym_TILDE] = ACTIONS(3132), + [anon_sym_STAR] = ACTIONS(3132), + [anon_sym_AMP_AMP] = ACTIONS(3132), + [anon_sym_AMP] = ACTIONS(3130), + [anon_sym___extension__] = ACTIONS(3130), + [anon_sym_typedef] = ACTIONS(3130), + [anon_sym_extern] = ACTIONS(3130), + [anon_sym___attribute__] = ACTIONS(3130), + [anon_sym_COLON_COLON] = ACTIONS(3132), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3132), + [anon_sym___declspec] = ACTIONS(3130), + [anon_sym___based] = ACTIONS(3130), + [anon_sym_signed] = ACTIONS(3130), + [anon_sym_unsigned] = ACTIONS(3130), + [anon_sym_long] = ACTIONS(3130), + [anon_sym_short] = ACTIONS(3130), + [anon_sym_LBRACK] = ACTIONS(3130), + [anon_sym_static] = ACTIONS(3130), + [anon_sym_register] = ACTIONS(3130), + [anon_sym_inline] = ACTIONS(3130), + [anon_sym___inline] = ACTIONS(3130), + [anon_sym___inline__] = ACTIONS(3130), + [anon_sym___forceinline] = ACTIONS(3130), + [anon_sym_thread_local] = ACTIONS(3130), + [anon_sym___thread] = ACTIONS(3130), + [anon_sym_const] = ACTIONS(3130), + [anon_sym_constexpr] = ACTIONS(3130), + [anon_sym_volatile] = ACTIONS(3130), + [anon_sym_restrict] = ACTIONS(3130), + [anon_sym___restrict__] = ACTIONS(3130), + [anon_sym__Atomic] = ACTIONS(3130), + [anon_sym__Noreturn] = ACTIONS(3130), + [anon_sym_noreturn] = ACTIONS(3130), + [anon_sym_mutable] = ACTIONS(3130), + [anon_sym_constinit] = ACTIONS(3130), + [anon_sym_consteval] = ACTIONS(3130), + [anon_sym_alignas] = ACTIONS(3130), + [anon_sym__Alignas] = ACTIONS(3130), + [sym_primitive_type] = ACTIONS(3130), + [anon_sym_enum] = ACTIONS(3130), + [anon_sym_class] = ACTIONS(3130), + [anon_sym_struct] = ACTIONS(3130), + [anon_sym_union] = ACTIONS(3130), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3132), + [sym_auto] = ACTIONS(3130), + [anon_sym_decltype] = ACTIONS(3130), + [sym_virtual] = ACTIONS(3130), + [anon_sym_explicit] = ACTIONS(3130), + [anon_sym_typename] = ACTIONS(3130), + [anon_sym_template] = ACTIONS(3130), + [anon_sym_operator] = ACTIONS(3130), + [anon_sym_friend] = ACTIONS(3130), + [anon_sym_public] = ACTIONS(3130), + [anon_sym_private] = ACTIONS(3130), + [anon_sym_protected] = ACTIONS(3130), + [anon_sym_using] = ACTIONS(3130), + [anon_sym_static_assert] = ACTIONS(3130), + }, + [2226] = { + [sym__identifier] = ACTIONS(3122), + [aux_sym_preproc_def_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token1] = ACTIONS(3122), + [aux_sym_preproc_if_token2] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3122), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3122), + [sym_preproc_directive] = ACTIONS(3122), + [anon_sym_LPAREN2] = ACTIONS(3124), + [anon_sym_TILDE] = ACTIONS(3124), + [anon_sym_STAR] = ACTIONS(3124), + [anon_sym_AMP_AMP] = ACTIONS(3124), + [anon_sym_AMP] = ACTIONS(3122), + [anon_sym___extension__] = ACTIONS(3122), + [anon_sym_typedef] = ACTIONS(3122), + [anon_sym_extern] = ACTIONS(3122), + [anon_sym___attribute__] = ACTIONS(3122), + [anon_sym_COLON_COLON] = ACTIONS(3124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3124), + [anon_sym___declspec] = ACTIONS(3122), + [anon_sym___based] = ACTIONS(3122), + [anon_sym_signed] = ACTIONS(3122), + [anon_sym_unsigned] = ACTIONS(3122), + [anon_sym_long] = ACTIONS(3122), + [anon_sym_short] = ACTIONS(3122), + [anon_sym_LBRACK] = ACTIONS(3122), + [anon_sym_static] = ACTIONS(3122), + [anon_sym_register] = ACTIONS(3122), + [anon_sym_inline] = ACTIONS(3122), + [anon_sym___inline] = ACTIONS(3122), + [anon_sym___inline__] = ACTIONS(3122), + [anon_sym___forceinline] = ACTIONS(3122), + [anon_sym_thread_local] = ACTIONS(3122), + [anon_sym___thread] = ACTIONS(3122), + [anon_sym_const] = ACTIONS(3122), + [anon_sym_constexpr] = ACTIONS(3122), + [anon_sym_volatile] = ACTIONS(3122), + [anon_sym_restrict] = ACTIONS(3122), + [anon_sym___restrict__] = ACTIONS(3122), + [anon_sym__Atomic] = ACTIONS(3122), + [anon_sym__Noreturn] = ACTIONS(3122), + [anon_sym_noreturn] = ACTIONS(3122), + [anon_sym_mutable] = ACTIONS(3122), + [anon_sym_constinit] = ACTIONS(3122), + [anon_sym_consteval] = ACTIONS(3122), + [anon_sym_alignas] = ACTIONS(3122), + [anon_sym__Alignas] = ACTIONS(3122), + [sym_primitive_type] = ACTIONS(3122), + [anon_sym_enum] = ACTIONS(3122), + [anon_sym_class] = ACTIONS(3122), + [anon_sym_struct] = ACTIONS(3122), + [anon_sym_union] = ACTIONS(3122), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3124), + [sym_auto] = ACTIONS(3122), + [anon_sym_decltype] = ACTIONS(3122), + [sym_virtual] = ACTIONS(3122), + [anon_sym_explicit] = ACTIONS(3122), + [anon_sym_typename] = ACTIONS(3122), + [anon_sym_template] = ACTIONS(3122), + [anon_sym_operator] = ACTIONS(3122), + [anon_sym_friend] = ACTIONS(3122), + [anon_sym_public] = ACTIONS(3122), + [anon_sym_private] = ACTIONS(3122), + [anon_sym_protected] = ACTIONS(3122), + [anon_sym_using] = ACTIONS(3122), + [anon_sym_static_assert] = ACTIONS(3122), + }, + [2227] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_RBRACE] = ACTIONS(5175), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [2228] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_RPAREN] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(3996), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(4002), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(3996), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2229] = { + [sym__identifier] = ACTIONS(5173), + [aux_sym_preproc_def_token1] = ACTIONS(5173), + [aux_sym_preproc_if_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5173), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5173), + [sym_preproc_directive] = ACTIONS(5173), + [anon_sym_LPAREN2] = ACTIONS(5175), + [anon_sym_TILDE] = ACTIONS(5175), + [anon_sym_STAR] = ACTIONS(5175), + [anon_sym_AMP_AMP] = ACTIONS(5175), + [anon_sym_AMP] = ACTIONS(5173), + [anon_sym___extension__] = ACTIONS(5173), + [anon_sym_typedef] = ACTIONS(5173), + [anon_sym_extern] = ACTIONS(5173), + [anon_sym___attribute__] = ACTIONS(5173), + [anon_sym_COLON_COLON] = ACTIONS(5175), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5175), + [anon_sym___declspec] = ACTIONS(5173), + [anon_sym___based] = ACTIONS(5173), + [anon_sym_RBRACE] = ACTIONS(5175), + [anon_sym_signed] = ACTIONS(5173), + [anon_sym_unsigned] = ACTIONS(5173), + [anon_sym_long] = ACTIONS(5173), + [anon_sym_short] = ACTIONS(5173), + [anon_sym_LBRACK] = ACTIONS(5173), + [anon_sym_static] = ACTIONS(5173), + [anon_sym_register] = ACTIONS(5173), + [anon_sym_inline] = ACTIONS(5173), + [anon_sym___inline] = ACTIONS(5173), + [anon_sym___inline__] = ACTIONS(5173), + [anon_sym___forceinline] = ACTIONS(5173), + [anon_sym_thread_local] = ACTIONS(5173), + [anon_sym___thread] = ACTIONS(5173), + [anon_sym_const] = ACTIONS(5173), + [anon_sym_constexpr] = ACTIONS(5173), + [anon_sym_volatile] = ACTIONS(5173), + [anon_sym_restrict] = ACTIONS(5173), + [anon_sym___restrict__] = ACTIONS(5173), + [anon_sym__Atomic] = ACTIONS(5173), + [anon_sym__Noreturn] = ACTIONS(5173), + [anon_sym_noreturn] = ACTIONS(5173), + [anon_sym_mutable] = ACTIONS(5173), + [anon_sym_constinit] = ACTIONS(5173), + [anon_sym_consteval] = ACTIONS(5173), + [anon_sym_alignas] = ACTIONS(5173), + [anon_sym__Alignas] = ACTIONS(5173), + [sym_primitive_type] = ACTIONS(5173), + [anon_sym_enum] = ACTIONS(5173), + [anon_sym_class] = ACTIONS(5173), + [anon_sym_struct] = ACTIONS(5173), + [anon_sym_union] = ACTIONS(5173), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5175), + [sym_auto] = ACTIONS(5173), + [anon_sym_decltype] = ACTIONS(5173), + [sym_virtual] = ACTIONS(5173), + [anon_sym_explicit] = ACTIONS(5173), + [anon_sym_typename] = ACTIONS(5173), + [anon_sym_template] = ACTIONS(5173), + [anon_sym_operator] = ACTIONS(5173), + [anon_sym_friend] = ACTIONS(5173), + [anon_sym_public] = ACTIONS(5173), + [anon_sym_private] = ACTIONS(5173), + [anon_sym_protected] = ACTIONS(5173), + [anon_sym_using] = ACTIONS(5173), + [anon_sym_static_assert] = ACTIONS(5173), + }, + [2230] = { + [sym__identifier] = ACTIONS(5020), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5022), + [anon_sym_COMMA] = ACTIONS(5022), + [anon_sym_RPAREN] = ACTIONS(5022), + [aux_sym_preproc_if_token2] = ACTIONS(5022), + [aux_sym_preproc_else_token1] = ACTIONS(5022), + [aux_sym_preproc_elif_token1] = ACTIONS(5020), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5022), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5022), + [anon_sym_LPAREN2] = ACTIONS(5022), + [anon_sym_DASH] = ACTIONS(5020), + [anon_sym_PLUS] = ACTIONS(5020), + [anon_sym_STAR] = ACTIONS(5020), + [anon_sym_SLASH] = ACTIONS(5020), + [anon_sym_PERCENT] = ACTIONS(5020), + [anon_sym_PIPE_PIPE] = ACTIONS(5022), + [anon_sym_AMP_AMP] = ACTIONS(5022), + [anon_sym_PIPE] = ACTIONS(5020), + [anon_sym_CARET] = ACTIONS(5020), + [anon_sym_AMP] = ACTIONS(5020), + [anon_sym_EQ_EQ] = ACTIONS(5022), + [anon_sym_BANG_EQ] = ACTIONS(5022), + [anon_sym_GT] = ACTIONS(5020), + [anon_sym_GT_EQ] = ACTIONS(5022), + [anon_sym_LT_EQ] = ACTIONS(5020), + [anon_sym_LT] = ACTIONS(5020), + [anon_sym_LT_LT] = ACTIONS(5020), + [anon_sym_GT_GT] = ACTIONS(5020), + [anon_sym_SEMI] = ACTIONS(5022), + [anon_sym___attribute__] = ACTIONS(5020), + [anon_sym_LBRACE] = ACTIONS(5022), + [anon_sym_RBRACE] = ACTIONS(5022), + [anon_sym_LBRACK] = ACTIONS(5022), + [anon_sym_RBRACK] = ACTIONS(5022), + [anon_sym_EQ] = ACTIONS(5020), + [anon_sym_COLON] = ACTIONS(5022), + [anon_sym_QMARK] = ACTIONS(5022), + [anon_sym_STAR_EQ] = ACTIONS(5022), + [anon_sym_SLASH_EQ] = ACTIONS(5022), + [anon_sym_PERCENT_EQ] = ACTIONS(5022), + [anon_sym_PLUS_EQ] = ACTIONS(5022), + [anon_sym_DASH_EQ] = ACTIONS(5022), + [anon_sym_LT_LT_EQ] = ACTIONS(5022), + [anon_sym_GT_GT_EQ] = ACTIONS(5022), + [anon_sym_AMP_EQ] = ACTIONS(5022), + [anon_sym_CARET_EQ] = ACTIONS(5022), + [anon_sym_PIPE_EQ] = ACTIONS(5022), + [anon_sym_and_eq] = ACTIONS(5020), + [anon_sym_or_eq] = ACTIONS(5020), + [anon_sym_xor_eq] = ACTIONS(5020), + [anon_sym_LT_EQ_GT] = ACTIONS(5022), + [anon_sym_or] = ACTIONS(5020), + [anon_sym_and] = ACTIONS(5020), + [anon_sym_bitor] = ACTIONS(5020), + [anon_sym_xor] = ACTIONS(5020), + [anon_sym_bitand] = ACTIONS(5020), + [anon_sym_not_eq] = ACTIONS(5020), + [anon_sym_DASH_DASH] = ACTIONS(5022), + [anon_sym_PLUS_PLUS] = ACTIONS(5022), + [anon_sym_DOT] = ACTIONS(5020), + [anon_sym_DOT_STAR] = ACTIONS(5022), + [anon_sym_DASH_GT] = ACTIONS(5022), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5022), + [sym_auto] = ACTIONS(5020), + [anon_sym_decltype] = ACTIONS(5020), + }, + [2231] = { + [sym__identifier] = ACTIONS(2897), + [aux_sym_preproc_def_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token1] = ACTIONS(2897), + [aux_sym_preproc_if_token2] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2897), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2897), + [sym_preproc_directive] = ACTIONS(2897), + [anon_sym_LPAREN2] = ACTIONS(2899), + [anon_sym_TILDE] = ACTIONS(2899), + [anon_sym_STAR] = ACTIONS(2899), + [anon_sym_AMP_AMP] = ACTIONS(2899), + [anon_sym_AMP] = ACTIONS(2897), + [anon_sym___extension__] = ACTIONS(2897), + [anon_sym_typedef] = ACTIONS(2897), + [anon_sym_extern] = ACTIONS(2897), + [anon_sym___attribute__] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(2899), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2899), + [anon_sym___declspec] = ACTIONS(2897), + [anon_sym___based] = ACTIONS(2897), + [anon_sym_signed] = ACTIONS(2897), + [anon_sym_unsigned] = ACTIONS(2897), + [anon_sym_long] = ACTIONS(2897), + [anon_sym_short] = ACTIONS(2897), + [anon_sym_LBRACK] = ACTIONS(2897), + [anon_sym_static] = ACTIONS(2897), + [anon_sym_register] = ACTIONS(2897), + [anon_sym_inline] = ACTIONS(2897), + [anon_sym___inline] = ACTIONS(2897), + [anon_sym___inline__] = ACTIONS(2897), + [anon_sym___forceinline] = ACTIONS(2897), + [anon_sym_thread_local] = ACTIONS(2897), + [anon_sym___thread] = ACTIONS(2897), + [anon_sym_const] = ACTIONS(2897), + [anon_sym_constexpr] = ACTIONS(2897), + [anon_sym_volatile] = ACTIONS(2897), + [anon_sym_restrict] = ACTIONS(2897), + [anon_sym___restrict__] = ACTIONS(2897), + [anon_sym__Atomic] = ACTIONS(2897), + [anon_sym__Noreturn] = ACTIONS(2897), + [anon_sym_noreturn] = ACTIONS(2897), + [anon_sym_mutable] = ACTIONS(2897), + [anon_sym_constinit] = ACTIONS(2897), + [anon_sym_consteval] = ACTIONS(2897), + [anon_sym_alignas] = ACTIONS(2897), + [anon_sym__Alignas] = ACTIONS(2897), + [sym_primitive_type] = ACTIONS(2897), + [anon_sym_enum] = ACTIONS(2897), + [anon_sym_class] = ACTIONS(2897), + [anon_sym_struct] = ACTIONS(2897), + [anon_sym_union] = ACTIONS(2897), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2899), + [sym_auto] = ACTIONS(2897), + [anon_sym_decltype] = ACTIONS(2897), + [sym_virtual] = ACTIONS(2897), + [anon_sym_explicit] = ACTIONS(2897), + [anon_sym_typename] = ACTIONS(2897), + [anon_sym_template] = ACTIONS(2897), + [anon_sym_operator] = ACTIONS(2897), + [anon_sym_friend] = ACTIONS(2897), + [anon_sym_public] = ACTIONS(2897), + [anon_sym_private] = ACTIONS(2897), + [anon_sym_protected] = ACTIONS(2897), + [anon_sym_using] = ACTIONS(2897), + [anon_sym_static_assert] = ACTIONS(2897), + }, + [2232] = { + [sym__identifier] = ACTIONS(3178), + [aux_sym_preproc_def_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token1] = ACTIONS(3178), + [aux_sym_preproc_if_token2] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3178), + [sym_preproc_directive] = ACTIONS(3178), + [anon_sym_LPAREN2] = ACTIONS(3180), + [anon_sym_TILDE] = ACTIONS(3180), + [anon_sym_STAR] = ACTIONS(3180), + [anon_sym_AMP_AMP] = ACTIONS(3180), + [anon_sym_AMP] = ACTIONS(3178), + [anon_sym___extension__] = ACTIONS(3178), + [anon_sym_typedef] = ACTIONS(3178), + [anon_sym_extern] = ACTIONS(3178), + [anon_sym___attribute__] = ACTIONS(3178), + [anon_sym_COLON_COLON] = ACTIONS(3180), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3180), + [anon_sym___declspec] = ACTIONS(3178), + [anon_sym___based] = ACTIONS(3178), + [anon_sym_signed] = ACTIONS(3178), + [anon_sym_unsigned] = ACTIONS(3178), + [anon_sym_long] = ACTIONS(3178), + [anon_sym_short] = ACTIONS(3178), + [anon_sym_LBRACK] = ACTIONS(3178), + [anon_sym_static] = ACTIONS(3178), + [anon_sym_register] = ACTIONS(3178), + [anon_sym_inline] = ACTIONS(3178), + [anon_sym___inline] = ACTIONS(3178), + [anon_sym___inline__] = ACTIONS(3178), + [anon_sym___forceinline] = ACTIONS(3178), + [anon_sym_thread_local] = ACTIONS(3178), + [anon_sym___thread] = ACTIONS(3178), + [anon_sym_const] = ACTIONS(3178), + [anon_sym_constexpr] = ACTIONS(3178), + [anon_sym_volatile] = ACTIONS(3178), + [anon_sym_restrict] = ACTIONS(3178), + [anon_sym___restrict__] = ACTIONS(3178), + [anon_sym__Atomic] = ACTIONS(3178), + [anon_sym__Noreturn] = ACTIONS(3178), + [anon_sym_noreturn] = ACTIONS(3178), + [anon_sym_mutable] = ACTIONS(3178), + [anon_sym_constinit] = ACTIONS(3178), + [anon_sym_consteval] = ACTIONS(3178), + [anon_sym_alignas] = ACTIONS(3178), + [anon_sym__Alignas] = ACTIONS(3178), + [sym_primitive_type] = ACTIONS(3178), + [anon_sym_enum] = ACTIONS(3178), + [anon_sym_class] = ACTIONS(3178), + [anon_sym_struct] = ACTIONS(3178), + [anon_sym_union] = ACTIONS(3178), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3180), + [sym_auto] = ACTIONS(3178), + [anon_sym_decltype] = ACTIONS(3178), + [sym_virtual] = ACTIONS(3178), + [anon_sym_explicit] = ACTIONS(3178), + [anon_sym_typename] = ACTIONS(3178), + [anon_sym_template] = ACTIONS(3178), + [anon_sym_operator] = ACTIONS(3178), + [anon_sym_friend] = ACTIONS(3178), + [anon_sym_public] = ACTIONS(3178), + [anon_sym_private] = ACTIONS(3178), + [anon_sym_protected] = ACTIONS(3178), + [anon_sym_using] = ACTIONS(3178), + [anon_sym_static_assert] = ACTIONS(3178), + }, + [2233] = { + [sym__identifier] = ACTIONS(5082), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5084), + [anon_sym_COMMA] = ACTIONS(5084), + [anon_sym_RPAREN] = ACTIONS(5084), + [aux_sym_preproc_if_token2] = ACTIONS(5084), + [aux_sym_preproc_else_token1] = ACTIONS(5084), + [aux_sym_preproc_elif_token1] = ACTIONS(5082), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5084), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5084), + [anon_sym_LPAREN2] = ACTIONS(5084), + [anon_sym_DASH] = ACTIONS(5082), + [anon_sym_PLUS] = ACTIONS(5082), + [anon_sym_STAR] = ACTIONS(5082), + [anon_sym_SLASH] = ACTIONS(5082), + [anon_sym_PERCENT] = ACTIONS(5082), + [anon_sym_PIPE_PIPE] = ACTIONS(5084), + [anon_sym_AMP_AMP] = ACTIONS(5084), + [anon_sym_PIPE] = ACTIONS(5082), + [anon_sym_CARET] = ACTIONS(5082), + [anon_sym_AMP] = ACTIONS(5082), + [anon_sym_EQ_EQ] = ACTIONS(5084), + [anon_sym_BANG_EQ] = ACTIONS(5084), + [anon_sym_GT] = ACTIONS(5082), + [anon_sym_GT_EQ] = ACTIONS(5084), + [anon_sym_LT_EQ] = ACTIONS(5082), + [anon_sym_LT] = ACTIONS(5082), + [anon_sym_LT_LT] = ACTIONS(5082), + [anon_sym_GT_GT] = ACTIONS(5082), + [anon_sym_SEMI] = ACTIONS(5084), + [anon_sym___attribute__] = ACTIONS(5082), + [anon_sym_LBRACE] = ACTIONS(5084), + [anon_sym_RBRACE] = ACTIONS(5084), + [anon_sym_LBRACK] = ACTIONS(5084), + [anon_sym_RBRACK] = ACTIONS(5084), + [anon_sym_EQ] = ACTIONS(5082), + [anon_sym_COLON] = ACTIONS(5084), + [anon_sym_QMARK] = ACTIONS(5084), + [anon_sym_STAR_EQ] = ACTIONS(5084), + [anon_sym_SLASH_EQ] = ACTIONS(5084), + [anon_sym_PERCENT_EQ] = ACTIONS(5084), + [anon_sym_PLUS_EQ] = ACTIONS(5084), + [anon_sym_DASH_EQ] = ACTIONS(5084), + [anon_sym_LT_LT_EQ] = ACTIONS(5084), + [anon_sym_GT_GT_EQ] = ACTIONS(5084), + [anon_sym_AMP_EQ] = ACTIONS(5084), + [anon_sym_CARET_EQ] = ACTIONS(5084), + [anon_sym_PIPE_EQ] = ACTIONS(5084), + [anon_sym_and_eq] = ACTIONS(5082), + [anon_sym_or_eq] = ACTIONS(5082), + [anon_sym_xor_eq] = ACTIONS(5082), + [anon_sym_LT_EQ_GT] = ACTIONS(5084), + [anon_sym_or] = ACTIONS(5082), + [anon_sym_and] = ACTIONS(5082), + [anon_sym_bitor] = ACTIONS(5082), + [anon_sym_xor] = ACTIONS(5082), + [anon_sym_bitand] = ACTIONS(5082), + [anon_sym_not_eq] = ACTIONS(5082), + [anon_sym_DASH_DASH] = ACTIONS(5084), + [anon_sym_PLUS_PLUS] = ACTIONS(5084), + [anon_sym_DOT] = ACTIONS(5082), + [anon_sym_DOT_STAR] = ACTIONS(5084), + [anon_sym_DASH_GT] = ACTIONS(5084), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5084), + [sym_auto] = ACTIONS(5082), + [anon_sym_decltype] = ACTIONS(5082), + }, + [2234] = { + [sym__identifier] = ACTIONS(5024), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5026), + [anon_sym_COMMA] = ACTIONS(5026), + [anon_sym_RPAREN] = ACTIONS(5026), + [aux_sym_preproc_if_token2] = ACTIONS(5026), + [aux_sym_preproc_else_token1] = ACTIONS(5026), + [aux_sym_preproc_elif_token1] = ACTIONS(5024), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5026), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5026), + [anon_sym_LPAREN2] = ACTIONS(5026), + [anon_sym_DASH] = ACTIONS(5024), + [anon_sym_PLUS] = ACTIONS(5024), + [anon_sym_STAR] = ACTIONS(5024), + [anon_sym_SLASH] = ACTIONS(5024), + [anon_sym_PERCENT] = ACTIONS(5024), + [anon_sym_PIPE_PIPE] = ACTIONS(5026), + [anon_sym_AMP_AMP] = ACTIONS(5026), + [anon_sym_PIPE] = ACTIONS(5024), + [anon_sym_CARET] = ACTIONS(5024), + [anon_sym_AMP] = ACTIONS(5024), + [anon_sym_EQ_EQ] = ACTIONS(5026), + [anon_sym_BANG_EQ] = ACTIONS(5026), + [anon_sym_GT] = ACTIONS(5024), + [anon_sym_GT_EQ] = ACTIONS(5026), + [anon_sym_LT_EQ] = ACTIONS(5024), + [anon_sym_LT] = ACTIONS(5024), + [anon_sym_LT_LT] = ACTIONS(5024), + [anon_sym_GT_GT] = ACTIONS(5024), + [anon_sym_SEMI] = ACTIONS(5026), + [anon_sym___attribute__] = ACTIONS(5024), + [anon_sym_LBRACE] = ACTIONS(5026), + [anon_sym_RBRACE] = ACTIONS(5026), + [anon_sym_LBRACK] = ACTIONS(5026), + [anon_sym_RBRACK] = ACTIONS(5026), + [anon_sym_EQ] = ACTIONS(5024), + [anon_sym_COLON] = ACTIONS(5026), + [anon_sym_QMARK] = ACTIONS(5026), + [anon_sym_STAR_EQ] = ACTIONS(5026), + [anon_sym_SLASH_EQ] = ACTIONS(5026), + [anon_sym_PERCENT_EQ] = ACTIONS(5026), + [anon_sym_PLUS_EQ] = ACTIONS(5026), + [anon_sym_DASH_EQ] = ACTIONS(5026), + [anon_sym_LT_LT_EQ] = ACTIONS(5026), + [anon_sym_GT_GT_EQ] = ACTIONS(5026), + [anon_sym_AMP_EQ] = ACTIONS(5026), + [anon_sym_CARET_EQ] = ACTIONS(5026), + [anon_sym_PIPE_EQ] = ACTIONS(5026), + [anon_sym_and_eq] = ACTIONS(5024), + [anon_sym_or_eq] = ACTIONS(5024), + [anon_sym_xor_eq] = ACTIONS(5024), + [anon_sym_LT_EQ_GT] = ACTIONS(5026), + [anon_sym_or] = ACTIONS(5024), + [anon_sym_and] = ACTIONS(5024), + [anon_sym_bitor] = ACTIONS(5024), + [anon_sym_xor] = ACTIONS(5024), + [anon_sym_bitand] = ACTIONS(5024), + [anon_sym_not_eq] = ACTIONS(5024), + [anon_sym_DASH_DASH] = ACTIONS(5026), + [anon_sym_PLUS_PLUS] = ACTIONS(5026), + [anon_sym_DOT] = ACTIONS(5024), + [anon_sym_DOT_STAR] = ACTIONS(5026), + [anon_sym_DASH_GT] = ACTIONS(5026), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5026), + [sym_auto] = ACTIONS(5024), + [anon_sym_decltype] = ACTIONS(5024), + }, + [2235] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token2] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_friend] = ACTIONS(2936), + [anon_sym_public] = ACTIONS(2936), + [anon_sym_private] = ACTIONS(2936), + [anon_sym_protected] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + }, + [2236] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [aux_sym_preproc_if_token2] = ACTIONS(5014), + [aux_sym_preproc_else_token1] = ACTIONS(5014), + [aux_sym_preproc_elif_token1] = ACTIONS(5012), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5012), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5012), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5012), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5012), + [anon_sym_GT_GT] = ACTIONS(5012), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_EQ] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5014), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_STAR_EQ] = ACTIONS(5014), + [anon_sym_SLASH_EQ] = ACTIONS(5014), + [anon_sym_PERCENT_EQ] = ACTIONS(5014), + [anon_sym_PLUS_EQ] = ACTIONS(5014), + [anon_sym_DASH_EQ] = ACTIONS(5014), + [anon_sym_LT_LT_EQ] = ACTIONS(5014), + [anon_sym_GT_GT_EQ] = ACTIONS(5014), + [anon_sym_AMP_EQ] = ACTIONS(5014), + [anon_sym_CARET_EQ] = ACTIONS(5014), + [anon_sym_PIPE_EQ] = ACTIONS(5014), + [anon_sym_and_eq] = ACTIONS(5012), + [anon_sym_or_eq] = ACTIONS(5012), + [anon_sym_xor_eq] = ACTIONS(5012), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + }, + [2237] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_RBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [2238] = { + [sym__identifier] = ACTIONS(3100), + [aux_sym_preproc_def_token1] = ACTIONS(3100), + [aux_sym_preproc_if_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3100), + [sym_preproc_directive] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(3102), + [anon_sym_TILDE] = ACTIONS(3102), + [anon_sym_STAR] = ACTIONS(3102), + [anon_sym_AMP_AMP] = ACTIONS(3102), + [anon_sym_AMP] = ACTIONS(3100), + [anon_sym___extension__] = ACTIONS(3100), + [anon_sym_typedef] = ACTIONS(3100), + [anon_sym_extern] = ACTIONS(3100), + [anon_sym___attribute__] = ACTIONS(3100), + [anon_sym_COLON_COLON] = ACTIONS(3102), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3102), + [anon_sym___declspec] = ACTIONS(3100), + [anon_sym___based] = ACTIONS(3100), + [anon_sym_RBRACE] = ACTIONS(3102), + [anon_sym_signed] = ACTIONS(3100), + [anon_sym_unsigned] = ACTIONS(3100), + [anon_sym_long] = ACTIONS(3100), + [anon_sym_short] = ACTIONS(3100), + [anon_sym_LBRACK] = ACTIONS(3100), + [anon_sym_static] = ACTIONS(3100), + [anon_sym_register] = ACTIONS(3100), + [anon_sym_inline] = ACTIONS(3100), + [anon_sym___inline] = ACTIONS(3100), + [anon_sym___inline__] = ACTIONS(3100), + [anon_sym___forceinline] = ACTIONS(3100), + [anon_sym_thread_local] = ACTIONS(3100), + [anon_sym___thread] = ACTIONS(3100), + [anon_sym_const] = ACTIONS(3100), + [anon_sym_constexpr] = ACTIONS(3100), + [anon_sym_volatile] = ACTIONS(3100), + [anon_sym_restrict] = ACTIONS(3100), + [anon_sym___restrict__] = ACTIONS(3100), + [anon_sym__Atomic] = ACTIONS(3100), + [anon_sym__Noreturn] = ACTIONS(3100), + [anon_sym_noreturn] = ACTIONS(3100), + [anon_sym_mutable] = ACTIONS(3100), + [anon_sym_constinit] = ACTIONS(3100), + [anon_sym_consteval] = ACTIONS(3100), + [anon_sym_alignas] = ACTIONS(3100), + [anon_sym__Alignas] = ACTIONS(3100), + [sym_primitive_type] = ACTIONS(3100), + [anon_sym_enum] = ACTIONS(3100), + [anon_sym_class] = ACTIONS(3100), + [anon_sym_struct] = ACTIONS(3100), + [anon_sym_union] = ACTIONS(3100), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3102), + [sym_auto] = ACTIONS(3100), + [anon_sym_decltype] = ACTIONS(3100), + [sym_virtual] = ACTIONS(3100), + [anon_sym_explicit] = ACTIONS(3100), + [anon_sym_typename] = ACTIONS(3100), + [anon_sym_template] = ACTIONS(3100), + [anon_sym_operator] = ACTIONS(3100), + [anon_sym_friend] = ACTIONS(3100), + [anon_sym_public] = ACTIONS(3100), + [anon_sym_private] = ACTIONS(3100), + [anon_sym_protected] = ACTIONS(3100), + [anon_sym_using] = ACTIONS(3100), + [anon_sym_static_assert] = ACTIONS(3100), + }, + [2239] = { + [sym__identifier] = ACTIONS(5028), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5030), + [anon_sym_COMMA] = ACTIONS(5030), + [anon_sym_RPAREN] = ACTIONS(5030), + [aux_sym_preproc_if_token2] = ACTIONS(5030), + [aux_sym_preproc_else_token1] = ACTIONS(5030), + [aux_sym_preproc_elif_token1] = ACTIONS(5028), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5030), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5030), + [anon_sym_LPAREN2] = ACTIONS(5030), + [anon_sym_DASH] = ACTIONS(5028), + [anon_sym_PLUS] = ACTIONS(5028), + [anon_sym_STAR] = ACTIONS(5028), + [anon_sym_SLASH] = ACTIONS(5028), + [anon_sym_PERCENT] = ACTIONS(5028), + [anon_sym_PIPE_PIPE] = ACTIONS(5030), + [anon_sym_AMP_AMP] = ACTIONS(5030), + [anon_sym_PIPE] = ACTIONS(5028), + [anon_sym_CARET] = ACTIONS(5028), + [anon_sym_AMP] = ACTIONS(5028), + [anon_sym_EQ_EQ] = ACTIONS(5030), + [anon_sym_BANG_EQ] = ACTIONS(5030), + [anon_sym_GT] = ACTIONS(5028), + [anon_sym_GT_EQ] = ACTIONS(5030), + [anon_sym_LT_EQ] = ACTIONS(5028), + [anon_sym_LT] = ACTIONS(5028), + [anon_sym_LT_LT] = ACTIONS(5028), + [anon_sym_GT_GT] = ACTIONS(5028), + [anon_sym_SEMI] = ACTIONS(5030), + [anon_sym___attribute__] = ACTIONS(5028), + [anon_sym_LBRACE] = ACTIONS(5030), + [anon_sym_RBRACE] = ACTIONS(5030), + [anon_sym_LBRACK] = ACTIONS(5030), + [anon_sym_RBRACK] = ACTIONS(5030), + [anon_sym_EQ] = ACTIONS(5028), + [anon_sym_COLON] = ACTIONS(5030), + [anon_sym_QMARK] = ACTIONS(5030), + [anon_sym_STAR_EQ] = ACTIONS(5030), + [anon_sym_SLASH_EQ] = ACTIONS(5030), + [anon_sym_PERCENT_EQ] = ACTIONS(5030), + [anon_sym_PLUS_EQ] = ACTIONS(5030), + [anon_sym_DASH_EQ] = ACTIONS(5030), + [anon_sym_LT_LT_EQ] = ACTIONS(5030), + [anon_sym_GT_GT_EQ] = ACTIONS(5030), + [anon_sym_AMP_EQ] = ACTIONS(5030), + [anon_sym_CARET_EQ] = ACTIONS(5030), + [anon_sym_PIPE_EQ] = ACTIONS(5030), + [anon_sym_and_eq] = ACTIONS(5028), + [anon_sym_or_eq] = ACTIONS(5028), + [anon_sym_xor_eq] = ACTIONS(5028), + [anon_sym_LT_EQ_GT] = ACTIONS(5030), + [anon_sym_or] = ACTIONS(5028), + [anon_sym_and] = ACTIONS(5028), + [anon_sym_bitor] = ACTIONS(5028), + [anon_sym_xor] = ACTIONS(5028), + [anon_sym_bitand] = ACTIONS(5028), + [anon_sym_not_eq] = ACTIONS(5028), + [anon_sym_DASH_DASH] = ACTIONS(5030), + [anon_sym_PLUS_PLUS] = ACTIONS(5030), + [anon_sym_DOT] = ACTIONS(5028), + [anon_sym_DOT_STAR] = ACTIONS(5030), + [anon_sym_DASH_GT] = ACTIONS(5030), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5030), + [sym_auto] = ACTIONS(5028), + [anon_sym_decltype] = ACTIONS(5028), + }, + [2240] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym_RBRACE] = ACTIONS(2991), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_friend] = ACTIONS(2989), + [anon_sym_public] = ACTIONS(2989), + [anon_sym_private] = ACTIONS(2989), + [anon_sym_protected] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + }, + [2241] = { + [sym__identifier] = ACTIONS(5117), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5119), + [anon_sym_COMMA] = ACTIONS(5119), + [anon_sym_RPAREN] = ACTIONS(5119), + [aux_sym_preproc_if_token2] = ACTIONS(5119), + [aux_sym_preproc_else_token1] = ACTIONS(5119), + [aux_sym_preproc_elif_token1] = ACTIONS(5117), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5119), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5119), + [anon_sym_LPAREN2] = ACTIONS(5119), + [anon_sym_DASH] = ACTIONS(5117), + [anon_sym_PLUS] = ACTIONS(5117), + [anon_sym_STAR] = ACTIONS(5117), + [anon_sym_SLASH] = ACTIONS(5117), + [anon_sym_PERCENT] = ACTIONS(5117), + [anon_sym_PIPE_PIPE] = ACTIONS(5119), + [anon_sym_AMP_AMP] = ACTIONS(5119), + [anon_sym_PIPE] = ACTIONS(5117), + [anon_sym_CARET] = ACTIONS(5117), + [anon_sym_AMP] = ACTIONS(5117), + [anon_sym_EQ_EQ] = ACTIONS(5119), + [anon_sym_BANG_EQ] = ACTIONS(5119), + [anon_sym_GT] = ACTIONS(5117), + [anon_sym_GT_EQ] = ACTIONS(5119), + [anon_sym_LT_EQ] = ACTIONS(5117), + [anon_sym_LT] = ACTIONS(5117), + [anon_sym_LT_LT] = ACTIONS(5117), + [anon_sym_GT_GT] = ACTIONS(5117), + [anon_sym_SEMI] = ACTIONS(5119), + [anon_sym___attribute__] = ACTIONS(5117), + [anon_sym_LBRACE] = ACTIONS(5119), + [anon_sym_RBRACE] = ACTIONS(5119), + [anon_sym_LBRACK] = ACTIONS(5119), + [anon_sym_RBRACK] = ACTIONS(5119), + [anon_sym_EQ] = ACTIONS(5117), + [anon_sym_COLON] = ACTIONS(5119), + [anon_sym_QMARK] = ACTIONS(5119), + [anon_sym_STAR_EQ] = ACTIONS(5119), + [anon_sym_SLASH_EQ] = ACTIONS(5119), + [anon_sym_PERCENT_EQ] = ACTIONS(5119), + [anon_sym_PLUS_EQ] = ACTIONS(5119), + [anon_sym_DASH_EQ] = ACTIONS(5119), + [anon_sym_LT_LT_EQ] = ACTIONS(5119), + [anon_sym_GT_GT_EQ] = ACTIONS(5119), + [anon_sym_AMP_EQ] = ACTIONS(5119), + [anon_sym_CARET_EQ] = ACTIONS(5119), + [anon_sym_PIPE_EQ] = ACTIONS(5119), + [anon_sym_and_eq] = ACTIONS(5117), + [anon_sym_or_eq] = ACTIONS(5117), + [anon_sym_xor_eq] = ACTIONS(5117), + [anon_sym_LT_EQ_GT] = ACTIONS(5119), + [anon_sym_or] = ACTIONS(5117), + [anon_sym_and] = ACTIONS(5117), + [anon_sym_bitor] = ACTIONS(5117), + [anon_sym_xor] = ACTIONS(5117), + [anon_sym_bitand] = ACTIONS(5117), + [anon_sym_not_eq] = ACTIONS(5117), + [anon_sym_DASH_DASH] = ACTIONS(5119), + [anon_sym_PLUS_PLUS] = ACTIONS(5119), + [anon_sym_DOT] = ACTIONS(5117), + [anon_sym_DOT_STAR] = ACTIONS(5119), + [anon_sym_DASH_GT] = ACTIONS(5119), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5119), + [sym_auto] = ACTIONS(5117), + [anon_sym_decltype] = ACTIONS(5117), + }, + [2242] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2242), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4854), + [anon_sym_COMMA] = ACTIONS(4854), + [aux_sym_preproc_if_token2] = ACTIONS(4854), + [aux_sym_preproc_else_token1] = ACTIONS(4854), + [aux_sym_preproc_elif_token1] = ACTIONS(4852), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4854), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4854), + [anon_sym_LPAREN2] = ACTIONS(4854), + [anon_sym_DASH] = ACTIONS(4852), + [anon_sym_PLUS] = ACTIONS(4852), + [anon_sym_STAR] = ACTIONS(4852), + [anon_sym_SLASH] = ACTIONS(4852), + [anon_sym_PERCENT] = ACTIONS(4852), + [anon_sym_PIPE_PIPE] = ACTIONS(4854), + [anon_sym_AMP_AMP] = ACTIONS(4854), + [anon_sym_PIPE] = ACTIONS(4852), + [anon_sym_CARET] = ACTIONS(4852), + [anon_sym_AMP] = ACTIONS(4852), + [anon_sym_EQ_EQ] = ACTIONS(4854), + [anon_sym_BANG_EQ] = ACTIONS(4854), + [anon_sym_GT] = ACTIONS(4852), + [anon_sym_GT_EQ] = ACTIONS(4854), + [anon_sym_LT_EQ] = ACTIONS(4852), + [anon_sym_LT] = ACTIONS(4852), + [anon_sym_LT_LT] = ACTIONS(4852), + [anon_sym_GT_GT] = ACTIONS(4852), + [anon_sym___attribute__] = ACTIONS(4852), + [anon_sym_LBRACE] = ACTIONS(4854), + [anon_sym_signed] = ACTIONS(5727), + [anon_sym_unsigned] = ACTIONS(5727), + [anon_sym_long] = ACTIONS(5727), + [anon_sym_short] = ACTIONS(5727), + [anon_sym_LBRACK] = ACTIONS(4854), + [anon_sym_EQ] = ACTIONS(4852), + [anon_sym_QMARK] = ACTIONS(4854), + [anon_sym_STAR_EQ] = ACTIONS(4854), + [anon_sym_SLASH_EQ] = ACTIONS(4854), + [anon_sym_PERCENT_EQ] = ACTIONS(4854), + [anon_sym_PLUS_EQ] = ACTIONS(4854), + [anon_sym_DASH_EQ] = ACTIONS(4854), + [anon_sym_LT_LT_EQ] = ACTIONS(4854), + [anon_sym_GT_GT_EQ] = ACTIONS(4854), + [anon_sym_AMP_EQ] = ACTIONS(4854), + [anon_sym_CARET_EQ] = ACTIONS(4854), + [anon_sym_PIPE_EQ] = ACTIONS(4854), + [anon_sym_and_eq] = ACTIONS(4852), + [anon_sym_or_eq] = ACTIONS(4852), + [anon_sym_xor_eq] = ACTIONS(4852), + [anon_sym_LT_EQ_GT] = ACTIONS(4854), + [anon_sym_or] = ACTIONS(4852), + [anon_sym_and] = ACTIONS(4852), + [anon_sym_bitor] = ACTIONS(4852), + [anon_sym_xor] = ACTIONS(4852), + [anon_sym_bitand] = ACTIONS(4852), + [anon_sym_not_eq] = ACTIONS(4852), + [anon_sym_DASH_DASH] = ACTIONS(4854), + [anon_sym_PLUS_PLUS] = ACTIONS(4854), + [anon_sym_DOT] = ACTIONS(4852), + [anon_sym_DOT_STAR] = ACTIONS(4854), + [anon_sym_DASH_GT] = ACTIONS(4854), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(4852), + [anon_sym_decltype] = ACTIONS(4852), + }, + [2243] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_RBRACE] = ACTIONS(5199), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [2244] = { + [sym__identifier] = ACTIONS(2989), + [aux_sym_preproc_def_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token1] = ACTIONS(2989), + [aux_sym_preproc_if_token2] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2989), + [sym_preproc_directive] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(2991), + [anon_sym_TILDE] = ACTIONS(2991), + [anon_sym_STAR] = ACTIONS(2991), + [anon_sym_AMP_AMP] = ACTIONS(2991), + [anon_sym_AMP] = ACTIONS(2989), + [anon_sym___extension__] = ACTIONS(2989), + [anon_sym_typedef] = ACTIONS(2989), + [anon_sym_extern] = ACTIONS(2989), + [anon_sym___attribute__] = ACTIONS(2989), + [anon_sym_COLON_COLON] = ACTIONS(2991), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2991), + [anon_sym___declspec] = ACTIONS(2989), + [anon_sym___based] = ACTIONS(2989), + [anon_sym_signed] = ACTIONS(2989), + [anon_sym_unsigned] = ACTIONS(2989), + [anon_sym_long] = ACTIONS(2989), + [anon_sym_short] = ACTIONS(2989), + [anon_sym_LBRACK] = ACTIONS(2989), + [anon_sym_static] = ACTIONS(2989), + [anon_sym_register] = ACTIONS(2989), + [anon_sym_inline] = ACTIONS(2989), + [anon_sym___inline] = ACTIONS(2989), + [anon_sym___inline__] = ACTIONS(2989), + [anon_sym___forceinline] = ACTIONS(2989), + [anon_sym_thread_local] = ACTIONS(2989), + [anon_sym___thread] = ACTIONS(2989), + [anon_sym_const] = ACTIONS(2989), + [anon_sym_constexpr] = ACTIONS(2989), + [anon_sym_volatile] = ACTIONS(2989), + [anon_sym_restrict] = ACTIONS(2989), + [anon_sym___restrict__] = ACTIONS(2989), + [anon_sym__Atomic] = ACTIONS(2989), + [anon_sym__Noreturn] = ACTIONS(2989), + [anon_sym_noreturn] = ACTIONS(2989), + [anon_sym_mutable] = ACTIONS(2989), + [anon_sym_constinit] = ACTIONS(2989), + [anon_sym_consteval] = ACTIONS(2989), + [anon_sym_alignas] = ACTIONS(2989), + [anon_sym__Alignas] = ACTIONS(2989), + [sym_primitive_type] = ACTIONS(2989), + [anon_sym_enum] = ACTIONS(2989), + [anon_sym_class] = ACTIONS(2989), + [anon_sym_struct] = ACTIONS(2989), + [anon_sym_union] = ACTIONS(2989), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2991), + [sym_auto] = ACTIONS(2989), + [anon_sym_decltype] = ACTIONS(2989), + [sym_virtual] = ACTIONS(2989), + [anon_sym_explicit] = ACTIONS(2989), + [anon_sym_typename] = ACTIONS(2989), + [anon_sym_template] = ACTIONS(2989), + [anon_sym_operator] = ACTIONS(2989), + [anon_sym_friend] = ACTIONS(2989), + [anon_sym_public] = ACTIONS(2989), + [anon_sym_private] = ACTIONS(2989), + [anon_sym_protected] = ACTIONS(2989), + [anon_sym_using] = ACTIONS(2989), + [anon_sym_static_assert] = ACTIONS(2989), + }, + [2245] = { + [sym__identifier] = ACTIONS(3005), + [aux_sym_preproc_def_token1] = ACTIONS(3005), + [aux_sym_preproc_if_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3005), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3005), + [sym_preproc_directive] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(3007), + [anon_sym_TILDE] = ACTIONS(3007), + [anon_sym_STAR] = ACTIONS(3007), + [anon_sym_AMP_AMP] = ACTIONS(3007), + [anon_sym_AMP] = ACTIONS(3005), + [anon_sym___extension__] = ACTIONS(3005), + [anon_sym_typedef] = ACTIONS(3005), + [anon_sym_extern] = ACTIONS(3005), + [anon_sym___attribute__] = ACTIONS(3005), + [anon_sym_COLON_COLON] = ACTIONS(3007), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3007), + [anon_sym___declspec] = ACTIONS(3005), + [anon_sym___based] = ACTIONS(3005), + [anon_sym_RBRACE] = ACTIONS(3007), + [anon_sym_signed] = ACTIONS(3005), + [anon_sym_unsigned] = ACTIONS(3005), + [anon_sym_long] = ACTIONS(3005), + [anon_sym_short] = ACTIONS(3005), + [anon_sym_LBRACK] = ACTIONS(3005), + [anon_sym_static] = ACTIONS(3005), + [anon_sym_register] = ACTIONS(3005), + [anon_sym_inline] = ACTIONS(3005), + [anon_sym___inline] = ACTIONS(3005), + [anon_sym___inline__] = ACTIONS(3005), + [anon_sym___forceinline] = ACTIONS(3005), + [anon_sym_thread_local] = ACTIONS(3005), + [anon_sym___thread] = ACTIONS(3005), + [anon_sym_const] = ACTIONS(3005), + [anon_sym_constexpr] = ACTIONS(3005), + [anon_sym_volatile] = ACTIONS(3005), + [anon_sym_restrict] = ACTIONS(3005), + [anon_sym___restrict__] = ACTIONS(3005), + [anon_sym__Atomic] = ACTIONS(3005), + [anon_sym__Noreturn] = ACTIONS(3005), + [anon_sym_noreturn] = ACTIONS(3005), + [anon_sym_mutable] = ACTIONS(3005), + [anon_sym_constinit] = ACTIONS(3005), + [anon_sym_consteval] = ACTIONS(3005), + [anon_sym_alignas] = ACTIONS(3005), + [anon_sym__Alignas] = ACTIONS(3005), + [sym_primitive_type] = ACTIONS(3005), + [anon_sym_enum] = ACTIONS(3005), + [anon_sym_class] = ACTIONS(3005), + [anon_sym_struct] = ACTIONS(3005), + [anon_sym_union] = ACTIONS(3005), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3007), + [sym_auto] = ACTIONS(3005), + [anon_sym_decltype] = ACTIONS(3005), + [sym_virtual] = ACTIONS(3005), + [anon_sym_explicit] = ACTIONS(3005), + [anon_sym_typename] = ACTIONS(3005), + [anon_sym_template] = ACTIONS(3005), + [anon_sym_operator] = ACTIONS(3005), + [anon_sym_friend] = ACTIONS(3005), + [anon_sym_public] = ACTIONS(3005), + [anon_sym_private] = ACTIONS(3005), + [anon_sym_protected] = ACTIONS(3005), + [anon_sym_using] = ACTIONS(3005), + [anon_sym_static_assert] = ACTIONS(3005), + }, + [2246] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2279), + [sym__identifier] = ACTIONS(5323), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5325), + [anon_sym_COMMA] = ACTIONS(5325), + [aux_sym_preproc_if_token2] = ACTIONS(5325), + [aux_sym_preproc_else_token1] = ACTIONS(5325), + [aux_sym_preproc_elif_token1] = ACTIONS(5323), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5325), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5325), + [anon_sym_LPAREN2] = ACTIONS(5325), + [anon_sym_DASH] = ACTIONS(5323), + [anon_sym_PLUS] = ACTIONS(5323), + [anon_sym_STAR] = ACTIONS(5323), + [anon_sym_SLASH] = ACTIONS(5323), + [anon_sym_PERCENT] = ACTIONS(5323), + [anon_sym_PIPE_PIPE] = ACTIONS(5325), + [anon_sym_AMP_AMP] = ACTIONS(5325), + [anon_sym_PIPE] = ACTIONS(5323), + [anon_sym_CARET] = ACTIONS(5323), + [anon_sym_AMP] = ACTIONS(5323), + [anon_sym_EQ_EQ] = ACTIONS(5325), + [anon_sym_BANG_EQ] = ACTIONS(5325), + [anon_sym_GT] = ACTIONS(5323), + [anon_sym_GT_EQ] = ACTIONS(5325), + [anon_sym_LT_EQ] = ACTIONS(5323), + [anon_sym_LT] = ACTIONS(5323), + [anon_sym_LT_LT] = ACTIONS(5323), + [anon_sym_GT_GT] = ACTIONS(5323), + [anon_sym___attribute__] = ACTIONS(5323), + [anon_sym_LBRACE] = ACTIONS(5325), + [anon_sym_signed] = ACTIONS(5730), + [anon_sym_unsigned] = ACTIONS(5730), + [anon_sym_long] = ACTIONS(5730), + [anon_sym_short] = ACTIONS(5730), + [anon_sym_LBRACK] = ACTIONS(5325), + [anon_sym_EQ] = ACTIONS(5323), + [anon_sym_QMARK] = ACTIONS(5325), + [anon_sym_STAR_EQ] = ACTIONS(5325), + [anon_sym_SLASH_EQ] = ACTIONS(5325), + [anon_sym_PERCENT_EQ] = ACTIONS(5325), + [anon_sym_PLUS_EQ] = ACTIONS(5325), + [anon_sym_DASH_EQ] = ACTIONS(5325), + [anon_sym_LT_LT_EQ] = ACTIONS(5325), + [anon_sym_GT_GT_EQ] = ACTIONS(5325), + [anon_sym_AMP_EQ] = ACTIONS(5325), + [anon_sym_CARET_EQ] = ACTIONS(5325), + [anon_sym_PIPE_EQ] = ACTIONS(5325), + [anon_sym_and_eq] = ACTIONS(5323), + [anon_sym_or_eq] = ACTIONS(5323), + [anon_sym_xor_eq] = ACTIONS(5323), + [anon_sym_LT_EQ_GT] = ACTIONS(5325), + [anon_sym_or] = ACTIONS(5323), + [anon_sym_and] = ACTIONS(5323), + [anon_sym_bitor] = ACTIONS(5323), + [anon_sym_xor] = ACTIONS(5323), + [anon_sym_bitand] = ACTIONS(5323), + [anon_sym_not_eq] = ACTIONS(5323), + [anon_sym_DASH_DASH] = ACTIONS(5325), + [anon_sym_PLUS_PLUS] = ACTIONS(5325), + [anon_sym_DOT] = ACTIONS(5323), + [anon_sym_DOT_STAR] = ACTIONS(5325), + [anon_sym_DASH_GT] = ACTIONS(5325), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5325), + [sym_auto] = ACTIONS(5323), + [anon_sym_decltype] = ACTIONS(5323), + }, + [2247] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_RBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [2248] = { + [sym__identifier] = ACTIONS(3154), + [aux_sym_preproc_def_token1] = ACTIONS(3154), + [aux_sym_preproc_if_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3154), + [sym_preproc_directive] = ACTIONS(3154), + [anon_sym_LPAREN2] = ACTIONS(3156), + [anon_sym_TILDE] = ACTIONS(3156), + [anon_sym_STAR] = ACTIONS(3156), + [anon_sym_AMP_AMP] = ACTIONS(3156), + [anon_sym_AMP] = ACTIONS(3154), + [anon_sym___extension__] = ACTIONS(3154), + [anon_sym_typedef] = ACTIONS(3154), + [anon_sym_extern] = ACTIONS(3154), + [anon_sym___attribute__] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(3156), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3156), + [anon_sym___declspec] = ACTIONS(3154), + [anon_sym___based] = ACTIONS(3154), + [anon_sym_RBRACE] = ACTIONS(3156), + [anon_sym_signed] = ACTIONS(3154), + [anon_sym_unsigned] = ACTIONS(3154), + [anon_sym_long] = ACTIONS(3154), + [anon_sym_short] = ACTIONS(3154), + [anon_sym_LBRACK] = ACTIONS(3154), + [anon_sym_static] = ACTIONS(3154), + [anon_sym_register] = ACTIONS(3154), + [anon_sym_inline] = ACTIONS(3154), + [anon_sym___inline] = ACTIONS(3154), + [anon_sym___inline__] = ACTIONS(3154), + [anon_sym___forceinline] = ACTIONS(3154), + [anon_sym_thread_local] = ACTIONS(3154), + [anon_sym___thread] = ACTIONS(3154), + [anon_sym_const] = ACTIONS(3154), + [anon_sym_constexpr] = ACTIONS(3154), + [anon_sym_volatile] = ACTIONS(3154), + [anon_sym_restrict] = ACTIONS(3154), + [anon_sym___restrict__] = ACTIONS(3154), + [anon_sym__Atomic] = ACTIONS(3154), + [anon_sym__Noreturn] = ACTIONS(3154), + [anon_sym_noreturn] = ACTIONS(3154), + [anon_sym_mutable] = ACTIONS(3154), + [anon_sym_constinit] = ACTIONS(3154), + [anon_sym_consteval] = ACTIONS(3154), + [anon_sym_alignas] = ACTIONS(3154), + [anon_sym__Alignas] = ACTIONS(3154), + [sym_primitive_type] = ACTIONS(3154), + [anon_sym_enum] = ACTIONS(3154), + [anon_sym_class] = ACTIONS(3154), + [anon_sym_struct] = ACTIONS(3154), + [anon_sym_union] = ACTIONS(3154), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3156), + [sym_auto] = ACTIONS(3154), + [anon_sym_decltype] = ACTIONS(3154), + [sym_virtual] = ACTIONS(3154), + [anon_sym_explicit] = ACTIONS(3154), + [anon_sym_typename] = ACTIONS(3154), + [anon_sym_template] = ACTIONS(3154), + [anon_sym_operator] = ACTIONS(3154), + [anon_sym_friend] = ACTIONS(3154), + [anon_sym_public] = ACTIONS(3154), + [anon_sym_private] = ACTIONS(3154), + [anon_sym_protected] = ACTIONS(3154), + [anon_sym_using] = ACTIONS(3154), + [anon_sym_static_assert] = ACTIONS(3154), + }, + [2249] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_RBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [2250] = { + [sym__identifier] = ACTIONS(3054), + [aux_sym_preproc_def_token1] = ACTIONS(3054), + [aux_sym_preproc_if_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3054), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3054), + [sym_preproc_directive] = ACTIONS(3054), + [anon_sym_LPAREN2] = ACTIONS(3056), + [anon_sym_TILDE] = ACTIONS(3056), + [anon_sym_STAR] = ACTIONS(3056), + [anon_sym_AMP_AMP] = ACTIONS(3056), + [anon_sym_AMP] = ACTIONS(3054), + [anon_sym___extension__] = ACTIONS(3054), + [anon_sym_typedef] = ACTIONS(3054), + [anon_sym_extern] = ACTIONS(3054), + [anon_sym___attribute__] = ACTIONS(3054), + [anon_sym_COLON_COLON] = ACTIONS(3056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3056), + [anon_sym___declspec] = ACTIONS(3054), + [anon_sym___based] = ACTIONS(3054), + [anon_sym_RBRACE] = ACTIONS(3056), + [anon_sym_signed] = ACTIONS(3054), + [anon_sym_unsigned] = ACTIONS(3054), + [anon_sym_long] = ACTIONS(3054), + [anon_sym_short] = ACTIONS(3054), + [anon_sym_LBRACK] = ACTIONS(3054), + [anon_sym_static] = ACTIONS(3054), + [anon_sym_register] = ACTIONS(3054), + [anon_sym_inline] = ACTIONS(3054), + [anon_sym___inline] = ACTIONS(3054), + [anon_sym___inline__] = ACTIONS(3054), + [anon_sym___forceinline] = ACTIONS(3054), + [anon_sym_thread_local] = ACTIONS(3054), + [anon_sym___thread] = ACTIONS(3054), + [anon_sym_const] = ACTIONS(3054), + [anon_sym_constexpr] = ACTIONS(3054), + [anon_sym_volatile] = ACTIONS(3054), + [anon_sym_restrict] = ACTIONS(3054), + [anon_sym___restrict__] = ACTIONS(3054), + [anon_sym__Atomic] = ACTIONS(3054), + [anon_sym__Noreturn] = ACTIONS(3054), + [anon_sym_noreturn] = ACTIONS(3054), + [anon_sym_mutable] = ACTIONS(3054), + [anon_sym_constinit] = ACTIONS(3054), + [anon_sym_consteval] = ACTIONS(3054), + [anon_sym_alignas] = ACTIONS(3054), + [anon_sym__Alignas] = ACTIONS(3054), + [sym_primitive_type] = ACTIONS(3054), + [anon_sym_enum] = ACTIONS(3054), + [anon_sym_class] = ACTIONS(3054), + [anon_sym_struct] = ACTIONS(3054), + [anon_sym_union] = ACTIONS(3054), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3056), + [sym_auto] = ACTIONS(3054), + [anon_sym_decltype] = ACTIONS(3054), + [sym_virtual] = ACTIONS(3054), + [anon_sym_explicit] = ACTIONS(3054), + [anon_sym_typename] = ACTIONS(3054), + [anon_sym_template] = ACTIONS(3054), + [anon_sym_operator] = ACTIONS(3054), + [anon_sym_friend] = ACTIONS(3054), + [anon_sym_public] = ACTIONS(3054), + [anon_sym_private] = ACTIONS(3054), + [anon_sym_protected] = ACTIONS(3054), + [anon_sym_using] = ACTIONS(3054), + [anon_sym_static_assert] = ACTIONS(3054), + }, + [2251] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_RBRACE] = ACTIONS(2973), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [2252] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2242), + [sym__identifier] = ACTIONS(5600), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5598), + [anon_sym_COMMA] = ACTIONS(5598), + [aux_sym_preproc_if_token2] = ACTIONS(5598), + [aux_sym_preproc_else_token1] = ACTIONS(5598), + [aux_sym_preproc_elif_token1] = ACTIONS(5600), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5598), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5598), + [anon_sym_LPAREN2] = ACTIONS(5598), + [anon_sym_DASH] = ACTIONS(5600), + [anon_sym_PLUS] = ACTIONS(5600), + [anon_sym_STAR] = ACTIONS(5600), + [anon_sym_SLASH] = ACTIONS(5600), + [anon_sym_PERCENT] = ACTIONS(5600), + [anon_sym_PIPE_PIPE] = ACTIONS(5598), + [anon_sym_AMP_AMP] = ACTIONS(5598), + [anon_sym_PIPE] = ACTIONS(5600), + [anon_sym_CARET] = ACTIONS(5600), + [anon_sym_AMP] = ACTIONS(5600), + [anon_sym_EQ_EQ] = ACTIONS(5598), + [anon_sym_BANG_EQ] = ACTIONS(5598), + [anon_sym_GT] = ACTIONS(5600), + [anon_sym_GT_EQ] = ACTIONS(5598), + [anon_sym_LT_EQ] = ACTIONS(5600), + [anon_sym_LT] = ACTIONS(5600), + [anon_sym_LT_LT] = ACTIONS(5600), + [anon_sym_GT_GT] = ACTIONS(5600), + [anon_sym___attribute__] = ACTIONS(5600), + [anon_sym_LBRACE] = ACTIONS(5598), + [anon_sym_signed] = ACTIONS(5732), + [anon_sym_unsigned] = ACTIONS(5732), + [anon_sym_long] = ACTIONS(5732), + [anon_sym_short] = ACTIONS(5732), + [anon_sym_LBRACK] = ACTIONS(5598), + [anon_sym_EQ] = ACTIONS(5600), + [anon_sym_QMARK] = ACTIONS(5598), + [anon_sym_STAR_EQ] = ACTIONS(5598), + [anon_sym_SLASH_EQ] = ACTIONS(5598), + [anon_sym_PERCENT_EQ] = ACTIONS(5598), + [anon_sym_PLUS_EQ] = ACTIONS(5598), + [anon_sym_DASH_EQ] = ACTIONS(5598), + [anon_sym_LT_LT_EQ] = ACTIONS(5598), + [anon_sym_GT_GT_EQ] = ACTIONS(5598), + [anon_sym_AMP_EQ] = ACTIONS(5598), + [anon_sym_CARET_EQ] = ACTIONS(5598), + [anon_sym_PIPE_EQ] = ACTIONS(5598), + [anon_sym_and_eq] = ACTIONS(5600), + [anon_sym_or_eq] = ACTIONS(5600), + [anon_sym_xor_eq] = ACTIONS(5600), + [anon_sym_LT_EQ_GT] = ACTIONS(5598), + [anon_sym_or] = ACTIONS(5600), + [anon_sym_and] = ACTIONS(5600), + [anon_sym_bitor] = ACTIONS(5600), + [anon_sym_xor] = ACTIONS(5600), + [anon_sym_bitand] = ACTIONS(5600), + [anon_sym_not_eq] = ACTIONS(5600), + [anon_sym_DASH_DASH] = ACTIONS(5598), + [anon_sym_PLUS_PLUS] = ACTIONS(5598), + [anon_sym_DOT] = ACTIONS(5600), + [anon_sym_DOT_STAR] = ACTIONS(5598), + [anon_sym_DASH_GT] = ACTIONS(5598), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5598), + [sym_auto] = ACTIONS(5600), + [anon_sym_decltype] = ACTIONS(5600), + }, + [2253] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2242), + [sym__identifier] = ACTIONS(5596), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5594), + [anon_sym_COMMA] = ACTIONS(5594), + [aux_sym_preproc_if_token2] = ACTIONS(5594), + [aux_sym_preproc_else_token1] = ACTIONS(5594), + [aux_sym_preproc_elif_token1] = ACTIONS(5596), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5594), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5594), + [anon_sym_LPAREN2] = ACTIONS(5594), + [anon_sym_DASH] = ACTIONS(5596), + [anon_sym_PLUS] = ACTIONS(5596), + [anon_sym_STAR] = ACTIONS(5596), + [anon_sym_SLASH] = ACTIONS(5596), + [anon_sym_PERCENT] = ACTIONS(5596), + [anon_sym_PIPE_PIPE] = ACTIONS(5594), + [anon_sym_AMP_AMP] = ACTIONS(5594), + [anon_sym_PIPE] = ACTIONS(5596), + [anon_sym_CARET] = ACTIONS(5596), + [anon_sym_AMP] = ACTIONS(5596), + [anon_sym_EQ_EQ] = ACTIONS(5594), + [anon_sym_BANG_EQ] = ACTIONS(5594), + [anon_sym_GT] = ACTIONS(5596), + [anon_sym_GT_EQ] = ACTIONS(5594), + [anon_sym_LT_EQ] = ACTIONS(5596), + [anon_sym_LT] = ACTIONS(5596), + [anon_sym_LT_LT] = ACTIONS(5596), + [anon_sym_GT_GT] = ACTIONS(5596), + [anon_sym___attribute__] = ACTIONS(5596), + [anon_sym_LBRACE] = ACTIONS(5594), + [anon_sym_signed] = ACTIONS(5732), + [anon_sym_unsigned] = ACTIONS(5732), + [anon_sym_long] = ACTIONS(5732), + [anon_sym_short] = ACTIONS(5732), + [anon_sym_LBRACK] = ACTIONS(5594), + [anon_sym_EQ] = ACTIONS(5596), + [anon_sym_QMARK] = ACTIONS(5594), + [anon_sym_STAR_EQ] = ACTIONS(5594), + [anon_sym_SLASH_EQ] = ACTIONS(5594), + [anon_sym_PERCENT_EQ] = ACTIONS(5594), + [anon_sym_PLUS_EQ] = ACTIONS(5594), + [anon_sym_DASH_EQ] = ACTIONS(5594), + [anon_sym_LT_LT_EQ] = ACTIONS(5594), + [anon_sym_GT_GT_EQ] = ACTIONS(5594), + [anon_sym_AMP_EQ] = ACTIONS(5594), + [anon_sym_CARET_EQ] = ACTIONS(5594), + [anon_sym_PIPE_EQ] = ACTIONS(5594), + [anon_sym_and_eq] = ACTIONS(5596), + [anon_sym_or_eq] = ACTIONS(5596), + [anon_sym_xor_eq] = ACTIONS(5596), + [anon_sym_LT_EQ_GT] = ACTIONS(5594), + [anon_sym_or] = ACTIONS(5596), + [anon_sym_and] = ACTIONS(5596), + [anon_sym_bitor] = ACTIONS(5596), + [anon_sym_xor] = ACTIONS(5596), + [anon_sym_bitand] = ACTIONS(5596), + [anon_sym_not_eq] = ACTIONS(5596), + [anon_sym_DASH_DASH] = ACTIONS(5594), + [anon_sym_PLUS_PLUS] = ACTIONS(5594), + [anon_sym_DOT] = ACTIONS(5596), + [anon_sym_DOT_STAR] = ACTIONS(5594), + [anon_sym_DASH_GT] = ACTIONS(5594), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5594), + [sym_auto] = ACTIONS(5596), + [anon_sym_decltype] = ACTIONS(5596), + }, + [2254] = { + [sym__identifier] = ACTIONS(2936), + [aux_sym_preproc_def_token1] = ACTIONS(2936), + [aux_sym_preproc_if_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2936), + [sym_preproc_directive] = ACTIONS(2936), + [anon_sym_LPAREN2] = ACTIONS(2938), + [anon_sym_TILDE] = ACTIONS(2938), + [anon_sym_STAR] = ACTIONS(2938), + [anon_sym_AMP_AMP] = ACTIONS(2938), + [anon_sym_AMP] = ACTIONS(2936), + [anon_sym___extension__] = ACTIONS(2936), + [anon_sym_typedef] = ACTIONS(2936), + [anon_sym_extern] = ACTIONS(2936), + [anon_sym___attribute__] = ACTIONS(2936), + [anon_sym_COLON_COLON] = ACTIONS(2938), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2938), + [anon_sym___declspec] = ACTIONS(2936), + [anon_sym___based] = ACTIONS(2936), + [anon_sym_RBRACE] = ACTIONS(2938), + [anon_sym_signed] = ACTIONS(2936), + [anon_sym_unsigned] = ACTIONS(2936), + [anon_sym_long] = ACTIONS(2936), + [anon_sym_short] = ACTIONS(2936), + [anon_sym_LBRACK] = ACTIONS(2936), + [anon_sym_static] = ACTIONS(2936), + [anon_sym_register] = ACTIONS(2936), + [anon_sym_inline] = ACTIONS(2936), + [anon_sym___inline] = ACTIONS(2936), + [anon_sym___inline__] = ACTIONS(2936), + [anon_sym___forceinline] = ACTIONS(2936), + [anon_sym_thread_local] = ACTIONS(2936), + [anon_sym___thread] = ACTIONS(2936), + [anon_sym_const] = ACTIONS(2936), + [anon_sym_constexpr] = ACTIONS(2936), + [anon_sym_volatile] = ACTIONS(2936), + [anon_sym_restrict] = ACTIONS(2936), + [anon_sym___restrict__] = ACTIONS(2936), + [anon_sym__Atomic] = ACTIONS(2936), + [anon_sym__Noreturn] = ACTIONS(2936), + [anon_sym_noreturn] = ACTIONS(2936), + [anon_sym_mutable] = ACTIONS(2936), + [anon_sym_constinit] = ACTIONS(2936), + [anon_sym_consteval] = ACTIONS(2936), + [anon_sym_alignas] = ACTIONS(2936), + [anon_sym__Alignas] = ACTIONS(2936), + [sym_primitive_type] = ACTIONS(2936), + [anon_sym_enum] = ACTIONS(2936), + [anon_sym_class] = ACTIONS(2936), + [anon_sym_struct] = ACTIONS(2936), + [anon_sym_union] = ACTIONS(2936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2938), + [sym_auto] = ACTIONS(2936), + [anon_sym_decltype] = ACTIONS(2936), + [sym_virtual] = ACTIONS(2936), + [anon_sym_explicit] = ACTIONS(2936), + [anon_sym_typename] = ACTIONS(2936), + [anon_sym_template] = ACTIONS(2936), + [anon_sym_operator] = ACTIONS(2936), + [anon_sym_friend] = ACTIONS(2936), + [anon_sym_public] = ACTIONS(2936), + [anon_sym_private] = ACTIONS(2936), + [anon_sym_protected] = ACTIONS(2936), + [anon_sym_using] = ACTIONS(2936), + [anon_sym_static_assert] = ACTIONS(2936), + }, + [2255] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [2256] = { + [sym__identifier] = ACTIONS(5105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5107), + [anon_sym_COMMA] = ACTIONS(5107), + [anon_sym_RPAREN] = ACTIONS(5107), + [aux_sym_preproc_if_token2] = ACTIONS(5107), + [aux_sym_preproc_else_token1] = ACTIONS(5107), + [aux_sym_preproc_elif_token1] = ACTIONS(5105), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5107), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5107), + [anon_sym_LPAREN2] = ACTIONS(5107), + [anon_sym_DASH] = ACTIONS(5105), + [anon_sym_PLUS] = ACTIONS(5105), + [anon_sym_STAR] = ACTIONS(5105), + [anon_sym_SLASH] = ACTIONS(5105), + [anon_sym_PERCENT] = ACTIONS(5105), + [anon_sym_PIPE_PIPE] = ACTIONS(5107), + [anon_sym_AMP_AMP] = ACTIONS(5107), + [anon_sym_PIPE] = ACTIONS(5105), + [anon_sym_CARET] = ACTIONS(5105), + [anon_sym_AMP] = ACTIONS(5105), + [anon_sym_EQ_EQ] = ACTIONS(5107), + [anon_sym_BANG_EQ] = ACTIONS(5107), + [anon_sym_GT] = ACTIONS(5105), + [anon_sym_GT_EQ] = ACTIONS(5107), + [anon_sym_LT_EQ] = ACTIONS(5105), + [anon_sym_LT] = ACTIONS(5105), + [anon_sym_LT_LT] = ACTIONS(5105), + [anon_sym_GT_GT] = ACTIONS(5105), + [anon_sym_SEMI] = ACTIONS(5107), + [anon_sym___attribute__] = ACTIONS(5105), + [anon_sym_LBRACE] = ACTIONS(5107), + [anon_sym_RBRACE] = ACTIONS(5107), + [anon_sym_LBRACK] = ACTIONS(5107), + [anon_sym_RBRACK] = ACTIONS(5107), + [anon_sym_EQ] = ACTIONS(5105), + [anon_sym_COLON] = ACTIONS(5107), + [anon_sym_QMARK] = ACTIONS(5107), + [anon_sym_STAR_EQ] = ACTIONS(5107), + [anon_sym_SLASH_EQ] = ACTIONS(5107), + [anon_sym_PERCENT_EQ] = ACTIONS(5107), + [anon_sym_PLUS_EQ] = ACTIONS(5107), + [anon_sym_DASH_EQ] = ACTIONS(5107), + [anon_sym_LT_LT_EQ] = ACTIONS(5107), + [anon_sym_GT_GT_EQ] = ACTIONS(5107), + [anon_sym_AMP_EQ] = ACTIONS(5107), + [anon_sym_CARET_EQ] = ACTIONS(5107), + [anon_sym_PIPE_EQ] = ACTIONS(5107), + [anon_sym_and_eq] = ACTIONS(5105), + [anon_sym_or_eq] = ACTIONS(5105), + [anon_sym_xor_eq] = ACTIONS(5105), + [anon_sym_LT_EQ_GT] = ACTIONS(5107), + [anon_sym_or] = ACTIONS(5105), + [anon_sym_and] = ACTIONS(5105), + [anon_sym_bitor] = ACTIONS(5105), + [anon_sym_xor] = ACTIONS(5105), + [anon_sym_bitand] = ACTIONS(5105), + [anon_sym_not_eq] = ACTIONS(5105), + [anon_sym_DASH_DASH] = ACTIONS(5107), + [anon_sym_PLUS_PLUS] = ACTIONS(5107), + [anon_sym_DOT] = ACTIONS(5105), + [anon_sym_DOT_STAR] = ACTIONS(5107), + [anon_sym_DASH_GT] = ACTIONS(5107), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5107), + [sym_auto] = ACTIONS(5105), + [anon_sym_decltype] = ACTIONS(5105), + }, + [2257] = { + [sym__identifier] = ACTIONS(2985), + [aux_sym_preproc_def_token1] = ACTIONS(2985), + [aux_sym_preproc_if_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2985), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2985), + [sym_preproc_directive] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(2987), + [anon_sym_TILDE] = ACTIONS(2987), + [anon_sym_STAR] = ACTIONS(2987), + [anon_sym_AMP_AMP] = ACTIONS(2987), + [anon_sym_AMP] = ACTIONS(2985), + [anon_sym___extension__] = ACTIONS(2985), + [anon_sym_typedef] = ACTIONS(2985), + [anon_sym_extern] = ACTIONS(2985), + [anon_sym___attribute__] = ACTIONS(2985), + [anon_sym_COLON_COLON] = ACTIONS(2987), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2987), + [anon_sym___declspec] = ACTIONS(2985), + [anon_sym___based] = ACTIONS(2985), + [anon_sym_RBRACE] = ACTIONS(2987), + [anon_sym_signed] = ACTIONS(2985), + [anon_sym_unsigned] = ACTIONS(2985), + [anon_sym_long] = ACTIONS(2985), + [anon_sym_short] = ACTIONS(2985), + [anon_sym_LBRACK] = ACTIONS(2985), + [anon_sym_static] = ACTIONS(2985), + [anon_sym_register] = ACTIONS(2985), + [anon_sym_inline] = ACTIONS(2985), + [anon_sym___inline] = ACTIONS(2985), + [anon_sym___inline__] = ACTIONS(2985), + [anon_sym___forceinline] = ACTIONS(2985), + [anon_sym_thread_local] = ACTIONS(2985), + [anon_sym___thread] = ACTIONS(2985), + [anon_sym_const] = ACTIONS(2985), + [anon_sym_constexpr] = ACTIONS(2985), + [anon_sym_volatile] = ACTIONS(2985), + [anon_sym_restrict] = ACTIONS(2985), + [anon_sym___restrict__] = ACTIONS(2985), + [anon_sym__Atomic] = ACTIONS(2985), + [anon_sym__Noreturn] = ACTIONS(2985), + [anon_sym_noreturn] = ACTIONS(2985), + [anon_sym_mutable] = ACTIONS(2985), + [anon_sym_constinit] = ACTIONS(2985), + [anon_sym_consteval] = ACTIONS(2985), + [anon_sym_alignas] = ACTIONS(2985), + [anon_sym__Alignas] = ACTIONS(2985), + [sym_primitive_type] = ACTIONS(2985), + [anon_sym_enum] = ACTIONS(2985), + [anon_sym_class] = ACTIONS(2985), + [anon_sym_struct] = ACTIONS(2985), + [anon_sym_union] = ACTIONS(2985), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2987), + [sym_auto] = ACTIONS(2985), + [anon_sym_decltype] = ACTIONS(2985), + [sym_virtual] = ACTIONS(2985), + [anon_sym_explicit] = ACTIONS(2985), + [anon_sym_typename] = ACTIONS(2985), + [anon_sym_template] = ACTIONS(2985), + [anon_sym_operator] = ACTIONS(2985), + [anon_sym_friend] = ACTIONS(2985), + [anon_sym_public] = ACTIONS(2985), + [anon_sym_private] = ACTIONS(2985), + [anon_sym_protected] = ACTIONS(2985), + [anon_sym_using] = ACTIONS(2985), + [anon_sym_static_assert] = ACTIONS(2985), + }, + [2258] = { + [sym__identifier] = ACTIONS(2971), + [aux_sym_preproc_def_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token1] = ACTIONS(2971), + [aux_sym_preproc_if_token2] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2971), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2971), + [sym_preproc_directive] = ACTIONS(2971), + [anon_sym_LPAREN2] = ACTIONS(2973), + [anon_sym_TILDE] = ACTIONS(2973), + [anon_sym_STAR] = ACTIONS(2973), + [anon_sym_AMP_AMP] = ACTIONS(2973), + [anon_sym_AMP] = ACTIONS(2971), + [anon_sym___extension__] = ACTIONS(2971), + [anon_sym_typedef] = ACTIONS(2971), + [anon_sym_extern] = ACTIONS(2971), + [anon_sym___attribute__] = ACTIONS(2971), + [anon_sym_COLON_COLON] = ACTIONS(2973), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2973), + [anon_sym___declspec] = ACTIONS(2971), + [anon_sym___based] = ACTIONS(2971), + [anon_sym_signed] = ACTIONS(2971), + [anon_sym_unsigned] = ACTIONS(2971), + [anon_sym_long] = ACTIONS(2971), + [anon_sym_short] = ACTIONS(2971), + [anon_sym_LBRACK] = ACTIONS(2971), + [anon_sym_static] = ACTIONS(2971), + [anon_sym_register] = ACTIONS(2971), + [anon_sym_inline] = ACTIONS(2971), + [anon_sym___inline] = ACTIONS(2971), + [anon_sym___inline__] = ACTIONS(2971), + [anon_sym___forceinline] = ACTIONS(2971), + [anon_sym_thread_local] = ACTIONS(2971), + [anon_sym___thread] = ACTIONS(2971), + [anon_sym_const] = ACTIONS(2971), + [anon_sym_constexpr] = ACTIONS(2971), + [anon_sym_volatile] = ACTIONS(2971), + [anon_sym_restrict] = ACTIONS(2971), + [anon_sym___restrict__] = ACTIONS(2971), + [anon_sym__Atomic] = ACTIONS(2971), + [anon_sym__Noreturn] = ACTIONS(2971), + [anon_sym_noreturn] = ACTIONS(2971), + [anon_sym_mutable] = ACTIONS(2971), + [anon_sym_constinit] = ACTIONS(2971), + [anon_sym_consteval] = ACTIONS(2971), + [anon_sym_alignas] = ACTIONS(2971), + [anon_sym__Alignas] = ACTIONS(2971), + [sym_primitive_type] = ACTIONS(2971), + [anon_sym_enum] = ACTIONS(2971), + [anon_sym_class] = ACTIONS(2971), + [anon_sym_struct] = ACTIONS(2971), + [anon_sym_union] = ACTIONS(2971), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2973), + [sym_auto] = ACTIONS(2971), + [anon_sym_decltype] = ACTIONS(2971), + [sym_virtual] = ACTIONS(2971), + [anon_sym_explicit] = ACTIONS(2971), + [anon_sym_typename] = ACTIONS(2971), + [anon_sym_template] = ACTIONS(2971), + [anon_sym_operator] = ACTIONS(2971), + [anon_sym_friend] = ACTIONS(2971), + [anon_sym_public] = ACTIONS(2971), + [anon_sym_private] = ACTIONS(2971), + [anon_sym_protected] = ACTIONS(2971), + [anon_sym_using] = ACTIONS(2971), + [anon_sym_static_assert] = ACTIONS(2971), + }, + [2259] = { + [sym__identifier] = ACTIONS(5734), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5736), + [anon_sym_COMMA] = ACTIONS(5736), + [anon_sym_RPAREN] = ACTIONS(5736), + [aux_sym_preproc_if_token2] = ACTIONS(5736), + [aux_sym_preproc_else_token1] = ACTIONS(5736), + [aux_sym_preproc_elif_token1] = ACTIONS(5734), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5736), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5736), + [anon_sym_LPAREN2] = ACTIONS(5736), + [anon_sym_DASH] = ACTIONS(5734), + [anon_sym_PLUS] = ACTIONS(5734), + [anon_sym_STAR] = ACTIONS(5734), + [anon_sym_SLASH] = ACTIONS(5734), + [anon_sym_PERCENT] = ACTIONS(5734), + [anon_sym_PIPE_PIPE] = ACTIONS(5736), + [anon_sym_AMP_AMP] = ACTIONS(5736), + [anon_sym_PIPE] = ACTIONS(5734), + [anon_sym_CARET] = ACTIONS(5734), + [anon_sym_AMP] = ACTIONS(5734), + [anon_sym_EQ_EQ] = ACTIONS(5736), + [anon_sym_BANG_EQ] = ACTIONS(5736), + [anon_sym_GT] = ACTIONS(5734), + [anon_sym_GT_EQ] = ACTIONS(5736), + [anon_sym_LT_EQ] = ACTIONS(5734), + [anon_sym_LT] = ACTIONS(5734), + [anon_sym_LT_LT] = ACTIONS(5734), + [anon_sym_GT_GT] = ACTIONS(5734), + [anon_sym_SEMI] = ACTIONS(5736), + [anon_sym___attribute__] = ACTIONS(5734), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5736), + [anon_sym_LBRACE] = ACTIONS(5736), + [anon_sym_RBRACE] = ACTIONS(5736), + [anon_sym_LBRACK] = ACTIONS(5734), + [anon_sym_RBRACK] = ACTIONS(5736), + [anon_sym_EQ] = ACTIONS(5734), + [anon_sym_COLON] = ACTIONS(5736), + [anon_sym_QMARK] = ACTIONS(5736), + [anon_sym_STAR_EQ] = ACTIONS(5736), + [anon_sym_SLASH_EQ] = ACTIONS(5736), + [anon_sym_PERCENT_EQ] = ACTIONS(5736), + [anon_sym_PLUS_EQ] = ACTIONS(5736), + [anon_sym_DASH_EQ] = ACTIONS(5736), + [anon_sym_LT_LT_EQ] = ACTIONS(5736), + [anon_sym_GT_GT_EQ] = ACTIONS(5736), + [anon_sym_AMP_EQ] = ACTIONS(5736), + [anon_sym_CARET_EQ] = ACTIONS(5736), + [anon_sym_PIPE_EQ] = ACTIONS(5736), + [anon_sym_and_eq] = ACTIONS(5734), + [anon_sym_or_eq] = ACTIONS(5734), + [anon_sym_xor_eq] = ACTIONS(5734), + [anon_sym_LT_EQ_GT] = ACTIONS(5736), + [anon_sym_or] = ACTIONS(5734), + [anon_sym_and] = ACTIONS(5734), + [anon_sym_bitor] = ACTIONS(5734), + [anon_sym_xor] = ACTIONS(5734), + [anon_sym_bitand] = ACTIONS(5734), + [anon_sym_not_eq] = ACTIONS(5734), + [anon_sym_DASH_DASH] = ACTIONS(5736), + [anon_sym_PLUS_PLUS] = ACTIONS(5736), + [anon_sym_DOT] = ACTIONS(5734), + [anon_sym_DOT_STAR] = ACTIONS(5736), + [anon_sym_DASH_GT] = ACTIONS(5736), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5736), + [anon_sym_try] = ACTIONS(5734), + }, + [2260] = { + [sym__identifier] = ACTIONS(2915), + [aux_sym_preproc_def_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token1] = ACTIONS(2915), + [aux_sym_preproc_if_token2] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2915), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2915), + [sym_preproc_directive] = ACTIONS(2915), + [anon_sym_LPAREN2] = ACTIONS(2917), + [anon_sym_TILDE] = ACTIONS(2917), + [anon_sym_STAR] = ACTIONS(2917), + [anon_sym_AMP_AMP] = ACTIONS(2917), + [anon_sym_AMP] = ACTIONS(2915), + [anon_sym___extension__] = ACTIONS(2915), + [anon_sym_typedef] = ACTIONS(2915), + [anon_sym_extern] = ACTIONS(2915), + [anon_sym___attribute__] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2917), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2917), + [anon_sym___declspec] = ACTIONS(2915), + [anon_sym___based] = ACTIONS(2915), + [anon_sym_signed] = ACTIONS(2915), + [anon_sym_unsigned] = ACTIONS(2915), + [anon_sym_long] = ACTIONS(2915), + [anon_sym_short] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [anon_sym_static] = ACTIONS(2915), + [anon_sym_register] = ACTIONS(2915), + [anon_sym_inline] = ACTIONS(2915), + [anon_sym___inline] = ACTIONS(2915), + [anon_sym___inline__] = ACTIONS(2915), + [anon_sym___forceinline] = ACTIONS(2915), + [anon_sym_thread_local] = ACTIONS(2915), + [anon_sym___thread] = ACTIONS(2915), + [anon_sym_const] = ACTIONS(2915), + [anon_sym_constexpr] = ACTIONS(2915), + [anon_sym_volatile] = ACTIONS(2915), + [anon_sym_restrict] = ACTIONS(2915), + [anon_sym___restrict__] = ACTIONS(2915), + [anon_sym__Atomic] = ACTIONS(2915), + [anon_sym__Noreturn] = ACTIONS(2915), + [anon_sym_noreturn] = ACTIONS(2915), + [anon_sym_mutable] = ACTIONS(2915), + [anon_sym_constinit] = ACTIONS(2915), + [anon_sym_consteval] = ACTIONS(2915), + [anon_sym_alignas] = ACTIONS(2915), + [anon_sym__Alignas] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2915), + [anon_sym_enum] = ACTIONS(2915), + [anon_sym_class] = ACTIONS(2915), + [anon_sym_struct] = ACTIONS(2915), + [anon_sym_union] = ACTIONS(2915), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2917), + [sym_auto] = ACTIONS(2915), + [anon_sym_decltype] = ACTIONS(2915), + [sym_virtual] = ACTIONS(2915), + [anon_sym_explicit] = ACTIONS(2915), + [anon_sym_typename] = ACTIONS(2915), + [anon_sym_template] = ACTIONS(2915), + [anon_sym_operator] = ACTIONS(2915), + [anon_sym_friend] = ACTIONS(2915), + [anon_sym_public] = ACTIONS(2915), + [anon_sym_private] = ACTIONS(2915), + [anon_sym_protected] = ACTIONS(2915), + [anon_sym_using] = ACTIONS(2915), + [anon_sym_static_assert] = ACTIONS(2915), + }, + [2261] = { + [sym__identifier] = ACTIONS(5738), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5740), + [anon_sym_COMMA] = ACTIONS(5740), + [anon_sym_RPAREN] = ACTIONS(5740), + [aux_sym_preproc_if_token2] = ACTIONS(5740), + [aux_sym_preproc_else_token1] = ACTIONS(5740), + [aux_sym_preproc_elif_token1] = ACTIONS(5738), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5740), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5740), + [anon_sym_LPAREN2] = ACTIONS(5740), + [anon_sym_DASH] = ACTIONS(5738), + [anon_sym_PLUS] = ACTIONS(5738), + [anon_sym_STAR] = ACTIONS(5738), + [anon_sym_SLASH] = ACTIONS(5738), + [anon_sym_PERCENT] = ACTIONS(5738), + [anon_sym_PIPE_PIPE] = ACTIONS(5740), + [anon_sym_AMP_AMP] = ACTIONS(5740), + [anon_sym_PIPE] = ACTIONS(5738), + [anon_sym_CARET] = ACTIONS(5738), + [anon_sym_AMP] = ACTIONS(5738), + [anon_sym_EQ_EQ] = ACTIONS(5740), + [anon_sym_BANG_EQ] = ACTIONS(5740), + [anon_sym_GT] = ACTIONS(5738), + [anon_sym_GT_EQ] = ACTIONS(5740), + [anon_sym_LT_EQ] = ACTIONS(5738), + [anon_sym_LT] = ACTIONS(5738), + [anon_sym_LT_LT] = ACTIONS(5738), + [anon_sym_GT_GT] = ACTIONS(5738), + [anon_sym_SEMI] = ACTIONS(5740), + [anon_sym___attribute__] = ACTIONS(5738), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5740), + [anon_sym_LBRACE] = ACTIONS(5740), + [anon_sym_RBRACE] = ACTIONS(5740), + [anon_sym_LBRACK] = ACTIONS(5738), + [anon_sym_RBRACK] = ACTIONS(5740), + [anon_sym_EQ] = ACTIONS(5738), + [anon_sym_COLON] = ACTIONS(5740), + [anon_sym_QMARK] = ACTIONS(5740), + [anon_sym_STAR_EQ] = ACTIONS(5740), + [anon_sym_SLASH_EQ] = ACTIONS(5740), + [anon_sym_PERCENT_EQ] = ACTIONS(5740), + [anon_sym_PLUS_EQ] = ACTIONS(5740), + [anon_sym_DASH_EQ] = ACTIONS(5740), + [anon_sym_LT_LT_EQ] = ACTIONS(5740), + [anon_sym_GT_GT_EQ] = ACTIONS(5740), + [anon_sym_AMP_EQ] = ACTIONS(5740), + [anon_sym_CARET_EQ] = ACTIONS(5740), + [anon_sym_PIPE_EQ] = ACTIONS(5740), + [anon_sym_and_eq] = ACTIONS(5738), + [anon_sym_or_eq] = ACTIONS(5738), + [anon_sym_xor_eq] = ACTIONS(5738), + [anon_sym_LT_EQ_GT] = ACTIONS(5740), + [anon_sym_or] = ACTIONS(5738), + [anon_sym_and] = ACTIONS(5738), + [anon_sym_bitor] = ACTIONS(5738), + [anon_sym_xor] = ACTIONS(5738), + [anon_sym_bitand] = ACTIONS(5738), + [anon_sym_not_eq] = ACTIONS(5738), + [anon_sym_DASH_DASH] = ACTIONS(5740), + [anon_sym_PLUS_PLUS] = ACTIONS(5740), + [anon_sym_DOT] = ACTIONS(5738), + [anon_sym_DOT_STAR] = ACTIONS(5740), + [anon_sym_DASH_GT] = ACTIONS(5740), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5740), + [anon_sym_try] = ACTIONS(5738), + }, + [2262] = { + [sym__identifier] = ACTIONS(2948), + [aux_sym_preproc_def_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token1] = ACTIONS(2948), + [aux_sym_preproc_if_token2] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2948), + [sym_preproc_directive] = ACTIONS(2948), + [anon_sym_LPAREN2] = ACTIONS(2950), + [anon_sym_TILDE] = ACTIONS(2950), + [anon_sym_STAR] = ACTIONS(2950), + [anon_sym_AMP_AMP] = ACTIONS(2950), + [anon_sym_AMP] = ACTIONS(2948), + [anon_sym___extension__] = ACTIONS(2948), + [anon_sym_typedef] = ACTIONS(2948), + [anon_sym_extern] = ACTIONS(2948), + [anon_sym___attribute__] = ACTIONS(2948), + [anon_sym_COLON_COLON] = ACTIONS(2950), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2950), + [anon_sym___declspec] = ACTIONS(2948), + [anon_sym___based] = ACTIONS(2948), + [anon_sym_signed] = ACTIONS(2948), + [anon_sym_unsigned] = ACTIONS(2948), + [anon_sym_long] = ACTIONS(2948), + [anon_sym_short] = ACTIONS(2948), + [anon_sym_LBRACK] = ACTIONS(2948), + [anon_sym_static] = ACTIONS(2948), + [anon_sym_register] = ACTIONS(2948), + [anon_sym_inline] = ACTIONS(2948), + [anon_sym___inline] = ACTIONS(2948), + [anon_sym___inline__] = ACTIONS(2948), + [anon_sym___forceinline] = ACTIONS(2948), + [anon_sym_thread_local] = ACTIONS(2948), + [anon_sym___thread] = ACTIONS(2948), + [anon_sym_const] = ACTIONS(2948), + [anon_sym_constexpr] = ACTIONS(2948), + [anon_sym_volatile] = ACTIONS(2948), + [anon_sym_restrict] = ACTIONS(2948), + [anon_sym___restrict__] = ACTIONS(2948), + [anon_sym__Atomic] = ACTIONS(2948), + [anon_sym__Noreturn] = ACTIONS(2948), + [anon_sym_noreturn] = ACTIONS(2948), + [anon_sym_mutable] = ACTIONS(2948), + [anon_sym_constinit] = ACTIONS(2948), + [anon_sym_consteval] = ACTIONS(2948), + [anon_sym_alignas] = ACTIONS(2948), + [anon_sym__Alignas] = ACTIONS(2948), + [sym_primitive_type] = ACTIONS(2948), + [anon_sym_enum] = ACTIONS(2948), + [anon_sym_class] = ACTIONS(2948), + [anon_sym_struct] = ACTIONS(2948), + [anon_sym_union] = ACTIONS(2948), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2950), + [sym_auto] = ACTIONS(2948), + [anon_sym_decltype] = ACTIONS(2948), + [sym_virtual] = ACTIONS(2948), + [anon_sym_explicit] = ACTIONS(2948), + [anon_sym_typename] = ACTIONS(2948), + [anon_sym_template] = ACTIONS(2948), + [anon_sym_operator] = ACTIONS(2948), + [anon_sym_friend] = ACTIONS(2948), + [anon_sym_public] = ACTIONS(2948), + [anon_sym_private] = ACTIONS(2948), + [anon_sym_protected] = ACTIONS(2948), + [anon_sym_using] = ACTIONS(2948), + [anon_sym_static_assert] = ACTIONS(2948), + }, + [2263] = { + [sym__identifier] = ACTIONS(2997), + [aux_sym_preproc_def_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token1] = ACTIONS(2997), + [aux_sym_preproc_if_token2] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2997), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2997), + [sym_preproc_directive] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(2999), + [anon_sym_TILDE] = ACTIONS(2999), + [anon_sym_STAR] = ACTIONS(2999), + [anon_sym_AMP_AMP] = ACTIONS(2999), + [anon_sym_AMP] = ACTIONS(2997), + [anon_sym___extension__] = ACTIONS(2997), + [anon_sym_typedef] = ACTIONS(2997), + [anon_sym_extern] = ACTIONS(2997), + [anon_sym___attribute__] = ACTIONS(2997), + [anon_sym_COLON_COLON] = ACTIONS(2999), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2999), + [anon_sym___declspec] = ACTIONS(2997), + [anon_sym___based] = ACTIONS(2997), + [anon_sym_signed] = ACTIONS(2997), + [anon_sym_unsigned] = ACTIONS(2997), + [anon_sym_long] = ACTIONS(2997), + [anon_sym_short] = ACTIONS(2997), + [anon_sym_LBRACK] = ACTIONS(2997), + [anon_sym_static] = ACTIONS(2997), + [anon_sym_register] = ACTIONS(2997), + [anon_sym_inline] = ACTIONS(2997), + [anon_sym___inline] = ACTIONS(2997), + [anon_sym___inline__] = ACTIONS(2997), + [anon_sym___forceinline] = ACTIONS(2997), + [anon_sym_thread_local] = ACTIONS(2997), + [anon_sym___thread] = ACTIONS(2997), + [anon_sym_const] = ACTIONS(2997), + [anon_sym_constexpr] = ACTIONS(2997), + [anon_sym_volatile] = ACTIONS(2997), + [anon_sym_restrict] = ACTIONS(2997), + [anon_sym___restrict__] = ACTIONS(2997), + [anon_sym__Atomic] = ACTIONS(2997), + [anon_sym__Noreturn] = ACTIONS(2997), + [anon_sym_noreturn] = ACTIONS(2997), + [anon_sym_mutable] = ACTIONS(2997), + [anon_sym_constinit] = ACTIONS(2997), + [anon_sym_consteval] = ACTIONS(2997), + [anon_sym_alignas] = ACTIONS(2997), + [anon_sym__Alignas] = ACTIONS(2997), + [sym_primitive_type] = ACTIONS(2997), + [anon_sym_enum] = ACTIONS(2997), + [anon_sym_class] = ACTIONS(2997), + [anon_sym_struct] = ACTIONS(2997), + [anon_sym_union] = ACTIONS(2997), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2999), + [sym_auto] = ACTIONS(2997), + [anon_sym_decltype] = ACTIONS(2997), + [sym_virtual] = ACTIONS(2997), + [anon_sym_explicit] = ACTIONS(2997), + [anon_sym_typename] = ACTIONS(2997), + [anon_sym_template] = ACTIONS(2997), + [anon_sym_operator] = ACTIONS(2997), + [anon_sym_friend] = ACTIONS(2997), + [anon_sym_public] = ACTIONS(2997), + [anon_sym_private] = ACTIONS(2997), + [anon_sym_protected] = ACTIONS(2997), + [anon_sym_using] = ACTIONS(2997), + [anon_sym_static_assert] = ACTIONS(2997), + }, + [2264] = { + [sym__identifier] = ACTIONS(5205), + [aux_sym_preproc_def_token1] = ACTIONS(5205), + [aux_sym_preproc_if_token1] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5205), + [sym_preproc_directive] = ACTIONS(5205), + [anon_sym_LPAREN2] = ACTIONS(5207), + [anon_sym_TILDE] = ACTIONS(5207), + [anon_sym_STAR] = ACTIONS(5207), + [anon_sym_AMP_AMP] = ACTIONS(5207), + [anon_sym_AMP] = ACTIONS(5205), + [anon_sym___extension__] = ACTIONS(5205), + [anon_sym_typedef] = ACTIONS(5205), + [anon_sym_extern] = ACTIONS(5205), + [anon_sym___attribute__] = ACTIONS(5205), + [anon_sym_COLON_COLON] = ACTIONS(5207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5207), + [anon_sym___declspec] = ACTIONS(5205), + [anon_sym___based] = ACTIONS(5205), + [anon_sym_RBRACE] = ACTIONS(5207), + [anon_sym_signed] = ACTIONS(5205), + [anon_sym_unsigned] = ACTIONS(5205), + [anon_sym_long] = ACTIONS(5205), + [anon_sym_short] = ACTIONS(5205), + [anon_sym_LBRACK] = ACTIONS(5205), + [anon_sym_static] = ACTIONS(5205), + [anon_sym_register] = ACTIONS(5205), + [anon_sym_inline] = ACTIONS(5205), + [anon_sym___inline] = ACTIONS(5205), + [anon_sym___inline__] = ACTIONS(5205), + [anon_sym___forceinline] = ACTIONS(5205), + [anon_sym_thread_local] = ACTIONS(5205), + [anon_sym___thread] = ACTIONS(5205), + [anon_sym_const] = ACTIONS(5205), + [anon_sym_constexpr] = ACTIONS(5205), + [anon_sym_volatile] = ACTIONS(5205), + [anon_sym_restrict] = ACTIONS(5205), + [anon_sym___restrict__] = ACTIONS(5205), + [anon_sym__Atomic] = ACTIONS(5205), + [anon_sym__Noreturn] = ACTIONS(5205), + [anon_sym_noreturn] = ACTIONS(5205), + [anon_sym_mutable] = ACTIONS(5205), + [anon_sym_constinit] = ACTIONS(5205), + [anon_sym_consteval] = ACTIONS(5205), + [anon_sym_alignas] = ACTIONS(5205), + [anon_sym__Alignas] = ACTIONS(5205), + [sym_primitive_type] = ACTIONS(5205), + [anon_sym_enum] = ACTIONS(5205), + [anon_sym_class] = ACTIONS(5205), + [anon_sym_struct] = ACTIONS(5205), + [anon_sym_union] = ACTIONS(5205), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5207), + [sym_auto] = ACTIONS(5205), + [anon_sym_decltype] = ACTIONS(5205), + [sym_virtual] = ACTIONS(5205), + [anon_sym_explicit] = ACTIONS(5205), + [anon_sym_typename] = ACTIONS(5205), + [anon_sym_template] = ACTIONS(5205), + [anon_sym_operator] = ACTIONS(5205), + [anon_sym_friend] = ACTIONS(5205), + [anon_sym_public] = ACTIONS(5205), + [anon_sym_private] = ACTIONS(5205), + [anon_sym_protected] = ACTIONS(5205), + [anon_sym_using] = ACTIONS(5205), + [anon_sym_static_assert] = ACTIONS(5205), + }, + [2265] = { + [sym__identifier] = ACTIONS(5109), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5111), + [anon_sym_COMMA] = ACTIONS(5111), + [anon_sym_RPAREN] = ACTIONS(5111), + [aux_sym_preproc_if_token2] = ACTIONS(5111), + [aux_sym_preproc_else_token1] = ACTIONS(5111), + [aux_sym_preproc_elif_token1] = ACTIONS(5109), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5111), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5111), + [anon_sym_LPAREN2] = ACTIONS(5111), + [anon_sym_DASH] = ACTIONS(5109), + [anon_sym_PLUS] = ACTIONS(5109), + [anon_sym_STAR] = ACTIONS(5109), + [anon_sym_SLASH] = ACTIONS(5109), + [anon_sym_PERCENT] = ACTIONS(5109), + [anon_sym_PIPE_PIPE] = ACTIONS(5111), + [anon_sym_AMP_AMP] = ACTIONS(5111), + [anon_sym_PIPE] = ACTIONS(5109), + [anon_sym_CARET] = ACTIONS(5109), + [anon_sym_AMP] = ACTIONS(5109), + [anon_sym_EQ_EQ] = ACTIONS(5111), + [anon_sym_BANG_EQ] = ACTIONS(5111), + [anon_sym_GT] = ACTIONS(5109), + [anon_sym_GT_EQ] = ACTIONS(5111), + [anon_sym_LT_EQ] = ACTIONS(5109), + [anon_sym_LT] = ACTIONS(5109), + [anon_sym_LT_LT] = ACTIONS(5109), + [anon_sym_GT_GT] = ACTIONS(5109), + [anon_sym_SEMI] = ACTIONS(5111), + [anon_sym___attribute__] = ACTIONS(5109), + [anon_sym_LBRACE] = ACTIONS(5111), + [anon_sym_RBRACE] = ACTIONS(5111), + [anon_sym_LBRACK] = ACTIONS(5111), + [anon_sym_RBRACK] = ACTIONS(5111), + [anon_sym_EQ] = ACTIONS(5109), + [anon_sym_COLON] = ACTIONS(5111), + [anon_sym_QMARK] = ACTIONS(5111), + [anon_sym_STAR_EQ] = ACTIONS(5111), + [anon_sym_SLASH_EQ] = ACTIONS(5111), + [anon_sym_PERCENT_EQ] = ACTIONS(5111), + [anon_sym_PLUS_EQ] = ACTIONS(5111), + [anon_sym_DASH_EQ] = ACTIONS(5111), + [anon_sym_LT_LT_EQ] = ACTIONS(5111), + [anon_sym_GT_GT_EQ] = ACTIONS(5111), + [anon_sym_AMP_EQ] = ACTIONS(5111), + [anon_sym_CARET_EQ] = ACTIONS(5111), + [anon_sym_PIPE_EQ] = ACTIONS(5111), + [anon_sym_and_eq] = ACTIONS(5109), + [anon_sym_or_eq] = ACTIONS(5109), + [anon_sym_xor_eq] = ACTIONS(5109), + [anon_sym_LT_EQ_GT] = ACTIONS(5111), + [anon_sym_or] = ACTIONS(5109), + [anon_sym_and] = ACTIONS(5109), + [anon_sym_bitor] = ACTIONS(5109), + [anon_sym_xor] = ACTIONS(5109), + [anon_sym_bitand] = ACTIONS(5109), + [anon_sym_not_eq] = ACTIONS(5109), + [anon_sym_DASH_DASH] = ACTIONS(5111), + [anon_sym_PLUS_PLUS] = ACTIONS(5111), + [anon_sym_DOT] = ACTIONS(5109), + [anon_sym_DOT_STAR] = ACTIONS(5111), + [anon_sym_DASH_GT] = ACTIONS(5111), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5111), + [sym_auto] = ACTIONS(5109), + [anon_sym_decltype] = ACTIONS(5109), + }, + [2266] = { + [sym__identifier] = ACTIONS(2940), + [aux_sym_preproc_def_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token1] = ACTIONS(2940), + [aux_sym_preproc_if_token2] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2940), + [sym_preproc_directive] = ACTIONS(2940), + [anon_sym_LPAREN2] = ACTIONS(2942), + [anon_sym_TILDE] = ACTIONS(2942), + [anon_sym_STAR] = ACTIONS(2942), + [anon_sym_AMP_AMP] = ACTIONS(2942), + [anon_sym_AMP] = ACTIONS(2940), + [anon_sym___extension__] = ACTIONS(2940), + [anon_sym_typedef] = ACTIONS(2940), + [anon_sym_extern] = ACTIONS(2940), + [anon_sym___attribute__] = ACTIONS(2940), + [anon_sym_COLON_COLON] = ACTIONS(2942), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2942), + [anon_sym___declspec] = ACTIONS(2940), + [anon_sym___based] = ACTIONS(2940), + [anon_sym_signed] = ACTIONS(2940), + [anon_sym_unsigned] = ACTIONS(2940), + [anon_sym_long] = ACTIONS(2940), + [anon_sym_short] = ACTIONS(2940), + [anon_sym_LBRACK] = ACTIONS(2940), + [anon_sym_static] = ACTIONS(2940), + [anon_sym_register] = ACTIONS(2940), + [anon_sym_inline] = ACTIONS(2940), + [anon_sym___inline] = ACTIONS(2940), + [anon_sym___inline__] = ACTIONS(2940), + [anon_sym___forceinline] = ACTIONS(2940), + [anon_sym_thread_local] = ACTIONS(2940), + [anon_sym___thread] = ACTIONS(2940), + [anon_sym_const] = ACTIONS(2940), + [anon_sym_constexpr] = ACTIONS(2940), + [anon_sym_volatile] = ACTIONS(2940), + [anon_sym_restrict] = ACTIONS(2940), + [anon_sym___restrict__] = ACTIONS(2940), + [anon_sym__Atomic] = ACTIONS(2940), + [anon_sym__Noreturn] = ACTIONS(2940), + [anon_sym_noreturn] = ACTIONS(2940), + [anon_sym_mutable] = ACTIONS(2940), + [anon_sym_constinit] = ACTIONS(2940), + [anon_sym_consteval] = ACTIONS(2940), + [anon_sym_alignas] = ACTIONS(2940), + [anon_sym__Alignas] = ACTIONS(2940), + [sym_primitive_type] = ACTIONS(2940), + [anon_sym_enum] = ACTIONS(2940), + [anon_sym_class] = ACTIONS(2940), + [anon_sym_struct] = ACTIONS(2940), + [anon_sym_union] = ACTIONS(2940), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2942), + [sym_auto] = ACTIONS(2940), + [anon_sym_decltype] = ACTIONS(2940), + [sym_virtual] = ACTIONS(2940), + [anon_sym_explicit] = ACTIONS(2940), + [anon_sym_typename] = ACTIONS(2940), + [anon_sym_template] = ACTIONS(2940), + [anon_sym_operator] = ACTIONS(2940), + [anon_sym_friend] = ACTIONS(2940), + [anon_sym_public] = ACTIONS(2940), + [anon_sym_private] = ACTIONS(2940), + [anon_sym_protected] = ACTIONS(2940), + [anon_sym_using] = ACTIONS(2940), + [anon_sym_static_assert] = ACTIONS(2940), + }, + [2267] = { + [sym__identifier] = ACTIONS(2952), + [aux_sym_preproc_def_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token1] = ACTIONS(2952), + [aux_sym_preproc_if_token2] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2952), + [sym_preproc_directive] = ACTIONS(2952), + [anon_sym_LPAREN2] = ACTIONS(2954), + [anon_sym_TILDE] = ACTIONS(2954), + [anon_sym_STAR] = ACTIONS(2954), + [anon_sym_AMP_AMP] = ACTIONS(2954), + [anon_sym_AMP] = ACTIONS(2952), + [anon_sym___extension__] = ACTIONS(2952), + [anon_sym_typedef] = ACTIONS(2952), + [anon_sym_extern] = ACTIONS(2952), + [anon_sym___attribute__] = ACTIONS(2952), + [anon_sym_COLON_COLON] = ACTIONS(2954), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2954), + [anon_sym___declspec] = ACTIONS(2952), + [anon_sym___based] = ACTIONS(2952), + [anon_sym_signed] = ACTIONS(2952), + [anon_sym_unsigned] = ACTIONS(2952), + [anon_sym_long] = ACTIONS(2952), + [anon_sym_short] = ACTIONS(2952), + [anon_sym_LBRACK] = ACTIONS(2952), + [anon_sym_static] = ACTIONS(2952), + [anon_sym_register] = ACTIONS(2952), + [anon_sym_inline] = ACTIONS(2952), + [anon_sym___inline] = ACTIONS(2952), + [anon_sym___inline__] = ACTIONS(2952), + [anon_sym___forceinline] = ACTIONS(2952), + [anon_sym_thread_local] = ACTIONS(2952), + [anon_sym___thread] = ACTIONS(2952), + [anon_sym_const] = ACTIONS(2952), + [anon_sym_constexpr] = ACTIONS(2952), + [anon_sym_volatile] = ACTIONS(2952), + [anon_sym_restrict] = ACTIONS(2952), + [anon_sym___restrict__] = ACTIONS(2952), + [anon_sym__Atomic] = ACTIONS(2952), + [anon_sym__Noreturn] = ACTIONS(2952), + [anon_sym_noreturn] = ACTIONS(2952), + [anon_sym_mutable] = ACTIONS(2952), + [anon_sym_constinit] = ACTIONS(2952), + [anon_sym_consteval] = ACTIONS(2952), + [anon_sym_alignas] = ACTIONS(2952), + [anon_sym__Alignas] = ACTIONS(2952), + [sym_primitive_type] = ACTIONS(2952), + [anon_sym_enum] = ACTIONS(2952), + [anon_sym_class] = ACTIONS(2952), + [anon_sym_struct] = ACTIONS(2952), + [anon_sym_union] = ACTIONS(2952), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2954), + [sym_auto] = ACTIONS(2952), + [anon_sym_decltype] = ACTIONS(2952), + [sym_virtual] = ACTIONS(2952), + [anon_sym_explicit] = ACTIONS(2952), + [anon_sym_typename] = ACTIONS(2952), + [anon_sym_template] = ACTIONS(2952), + [anon_sym_operator] = ACTIONS(2952), + [anon_sym_friend] = ACTIONS(2952), + [anon_sym_public] = ACTIONS(2952), + [anon_sym_private] = ACTIONS(2952), + [anon_sym_protected] = ACTIONS(2952), + [anon_sym_using] = ACTIONS(2952), + [anon_sym_static_assert] = ACTIONS(2952), + }, + [2268] = { + [sym__identifier] = ACTIONS(5113), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5115), + [anon_sym_COMMA] = ACTIONS(5115), + [anon_sym_RPAREN] = ACTIONS(5115), + [aux_sym_preproc_if_token2] = ACTIONS(5115), + [aux_sym_preproc_else_token1] = ACTIONS(5115), + [aux_sym_preproc_elif_token1] = ACTIONS(5113), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5115), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5115), + [anon_sym_LPAREN2] = ACTIONS(5115), + [anon_sym_DASH] = ACTIONS(5113), + [anon_sym_PLUS] = ACTIONS(5113), + [anon_sym_STAR] = ACTIONS(5113), + [anon_sym_SLASH] = ACTIONS(5113), + [anon_sym_PERCENT] = ACTIONS(5113), + [anon_sym_PIPE_PIPE] = ACTIONS(5115), + [anon_sym_AMP_AMP] = ACTIONS(5115), + [anon_sym_PIPE] = ACTIONS(5113), + [anon_sym_CARET] = ACTIONS(5113), + [anon_sym_AMP] = ACTIONS(5113), + [anon_sym_EQ_EQ] = ACTIONS(5115), + [anon_sym_BANG_EQ] = ACTIONS(5115), + [anon_sym_GT] = ACTIONS(5113), + [anon_sym_GT_EQ] = ACTIONS(5115), + [anon_sym_LT_EQ] = ACTIONS(5113), + [anon_sym_LT] = ACTIONS(5113), + [anon_sym_LT_LT] = ACTIONS(5113), + [anon_sym_GT_GT] = ACTIONS(5113), + [anon_sym_SEMI] = ACTIONS(5115), + [anon_sym___attribute__] = ACTIONS(5113), + [anon_sym_LBRACE] = ACTIONS(5115), + [anon_sym_RBRACE] = ACTIONS(5115), + [anon_sym_LBRACK] = ACTIONS(5115), + [anon_sym_RBRACK] = ACTIONS(5115), + [anon_sym_EQ] = ACTIONS(5113), + [anon_sym_COLON] = ACTIONS(5115), + [anon_sym_QMARK] = ACTIONS(5115), + [anon_sym_STAR_EQ] = ACTIONS(5115), + [anon_sym_SLASH_EQ] = ACTIONS(5115), + [anon_sym_PERCENT_EQ] = ACTIONS(5115), + [anon_sym_PLUS_EQ] = ACTIONS(5115), + [anon_sym_DASH_EQ] = ACTIONS(5115), + [anon_sym_LT_LT_EQ] = ACTIONS(5115), + [anon_sym_GT_GT_EQ] = ACTIONS(5115), + [anon_sym_AMP_EQ] = ACTIONS(5115), + [anon_sym_CARET_EQ] = ACTIONS(5115), + [anon_sym_PIPE_EQ] = ACTIONS(5115), + [anon_sym_and_eq] = ACTIONS(5113), + [anon_sym_or_eq] = ACTIONS(5113), + [anon_sym_xor_eq] = ACTIONS(5113), + [anon_sym_LT_EQ_GT] = ACTIONS(5115), + [anon_sym_or] = ACTIONS(5113), + [anon_sym_and] = ACTIONS(5113), + [anon_sym_bitor] = ACTIONS(5113), + [anon_sym_xor] = ACTIONS(5113), + [anon_sym_bitand] = ACTIONS(5113), + [anon_sym_not_eq] = ACTIONS(5113), + [anon_sym_DASH_DASH] = ACTIONS(5115), + [anon_sym_PLUS_PLUS] = ACTIONS(5115), + [anon_sym_DOT] = ACTIONS(5113), + [anon_sym_DOT_STAR] = ACTIONS(5115), + [anon_sym_DASH_GT] = ACTIONS(5115), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5115), + [sym_auto] = ACTIONS(5113), + [anon_sym_decltype] = ACTIONS(5113), + }, + [2269] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2100), + [sym__identifier] = ACTIONS(4852), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5273), + [anon_sym_COMMA] = ACTIONS(5273), + [anon_sym_LPAREN2] = ACTIONS(5273), + [anon_sym_DASH] = ACTIONS(5276), + [anon_sym_PLUS] = ACTIONS(5276), + [anon_sym_STAR] = ACTIONS(5273), + [anon_sym_SLASH] = ACTIONS(5276), + [anon_sym_PERCENT] = ACTIONS(5273), + [anon_sym_PIPE_PIPE] = ACTIONS(5273), + [anon_sym_AMP_AMP] = ACTIONS(5273), + [anon_sym_PIPE] = ACTIONS(5276), + [anon_sym_CARET] = ACTIONS(5273), + [anon_sym_AMP] = ACTIONS(5276), + [anon_sym_EQ_EQ] = ACTIONS(5273), + [anon_sym_BANG_EQ] = ACTIONS(5273), + [anon_sym_GT] = ACTIONS(5276), + [anon_sym_GT_EQ] = ACTIONS(5276), + [anon_sym_LT_EQ] = ACTIONS(5276), + [anon_sym_LT] = ACTIONS(5276), + [anon_sym_LT_LT] = ACTIONS(5273), + [anon_sym_GT_GT] = ACTIONS(5276), + [anon_sym___extension__] = ACTIONS(5276), + [anon_sym___attribute__] = ACTIONS(5276), + [anon_sym_LBRACE] = ACTIONS(5273), + [anon_sym_signed] = ACTIONS(5691), + [anon_sym_unsigned] = ACTIONS(5691), + [anon_sym_long] = ACTIONS(5691), + [anon_sym_short] = ACTIONS(5691), + [anon_sym_LBRACK] = ACTIONS(5273), + [anon_sym_const] = ACTIONS(5276), + [anon_sym_constexpr] = ACTIONS(5276), + [anon_sym_volatile] = ACTIONS(5276), + [anon_sym_restrict] = ACTIONS(5276), + [anon_sym___restrict__] = ACTIONS(5276), + [anon_sym__Atomic] = ACTIONS(5276), + [anon_sym__Noreturn] = ACTIONS(5276), + [anon_sym_noreturn] = ACTIONS(5276), + [anon_sym_mutable] = ACTIONS(5276), + [anon_sym_constinit] = ACTIONS(5276), + [anon_sym_consteval] = ACTIONS(5276), + [anon_sym_alignas] = ACTIONS(5276), + [anon_sym__Alignas] = ACTIONS(5276), + [sym_primitive_type] = ACTIONS(4852), + [anon_sym_QMARK] = ACTIONS(5273), + [anon_sym_LT_EQ_GT] = ACTIONS(5273), + [anon_sym_or] = ACTIONS(5276), + [anon_sym_and] = ACTIONS(5276), + [anon_sym_bitor] = ACTIONS(5276), + [anon_sym_xor] = ACTIONS(5276), + [anon_sym_bitand] = ACTIONS(5276), + [anon_sym_not_eq] = ACTIONS(5276), + [anon_sym_DASH_DASH] = ACTIONS(5273), + [anon_sym_PLUS_PLUS] = ACTIONS(5273), + [anon_sym_DOT] = ACTIONS(5276), + [anon_sym_DOT_STAR] = ACTIONS(5273), + [anon_sym_DASH_GT] = ACTIONS(5273), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4854), + [sym_auto] = ACTIONS(5276), + [anon_sym_decltype] = ACTIONS(5276), + [anon_sym_final] = ACTIONS(5276), + [anon_sym_override] = ACTIONS(5276), + [anon_sym_GT2] = ACTIONS(5273), + [anon_sym_requires] = ACTIONS(5276), + }, + [2270] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2252), + [sym__identifier] = ACTIONS(5620), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5618), + [anon_sym_COMMA] = ACTIONS(5618), + [aux_sym_preproc_if_token2] = ACTIONS(5618), + [aux_sym_preproc_else_token1] = ACTIONS(5618), + [aux_sym_preproc_elif_token1] = ACTIONS(5620), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5618), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5618), + [anon_sym_LPAREN2] = ACTIONS(5618), + [anon_sym_DASH] = ACTIONS(5620), + [anon_sym_PLUS] = ACTIONS(5620), + [anon_sym_STAR] = ACTIONS(5620), + [anon_sym_SLASH] = ACTIONS(5620), + [anon_sym_PERCENT] = ACTIONS(5620), + [anon_sym_PIPE_PIPE] = ACTIONS(5618), + [anon_sym_AMP_AMP] = ACTIONS(5618), + [anon_sym_PIPE] = ACTIONS(5620), + [anon_sym_CARET] = ACTIONS(5620), + [anon_sym_AMP] = ACTIONS(5620), + [anon_sym_EQ_EQ] = ACTIONS(5618), + [anon_sym_BANG_EQ] = ACTIONS(5618), + [anon_sym_GT] = ACTIONS(5620), + [anon_sym_GT_EQ] = ACTIONS(5618), + [anon_sym_LT_EQ] = ACTIONS(5620), + [anon_sym_LT] = ACTIONS(5620), + [anon_sym_LT_LT] = ACTIONS(5620), + [anon_sym_GT_GT] = ACTIONS(5620), + [anon_sym___attribute__] = ACTIONS(5620), + [anon_sym_LBRACE] = ACTIONS(5618), + [anon_sym_signed] = ACTIONS(5742), + [anon_sym_unsigned] = ACTIONS(5742), + [anon_sym_long] = ACTIONS(5742), + [anon_sym_short] = ACTIONS(5742), + [anon_sym_LBRACK] = ACTIONS(5618), + [anon_sym_EQ] = ACTIONS(5620), + [anon_sym_QMARK] = ACTIONS(5618), + [anon_sym_STAR_EQ] = ACTIONS(5618), + [anon_sym_SLASH_EQ] = ACTIONS(5618), + [anon_sym_PERCENT_EQ] = ACTIONS(5618), + [anon_sym_PLUS_EQ] = ACTIONS(5618), + [anon_sym_DASH_EQ] = ACTIONS(5618), + [anon_sym_LT_LT_EQ] = ACTIONS(5618), + [anon_sym_GT_GT_EQ] = ACTIONS(5618), + [anon_sym_AMP_EQ] = ACTIONS(5618), + [anon_sym_CARET_EQ] = ACTIONS(5618), + [anon_sym_PIPE_EQ] = ACTIONS(5618), + [anon_sym_and_eq] = ACTIONS(5620), + [anon_sym_or_eq] = ACTIONS(5620), + [anon_sym_xor_eq] = ACTIONS(5620), + [anon_sym_LT_EQ_GT] = ACTIONS(5618), + [anon_sym_or] = ACTIONS(5620), + [anon_sym_and] = ACTIONS(5620), + [anon_sym_bitor] = ACTIONS(5620), + [anon_sym_xor] = ACTIONS(5620), + [anon_sym_bitand] = ACTIONS(5620), + [anon_sym_not_eq] = ACTIONS(5620), + [anon_sym_DASH_DASH] = ACTIONS(5618), + [anon_sym_PLUS_PLUS] = ACTIONS(5618), + [anon_sym_DOT] = ACTIONS(5620), + [anon_sym_DOT_STAR] = ACTIONS(5618), + [anon_sym_DASH_GT] = ACTIONS(5618), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5618), + [sym_auto] = ACTIONS(5620), + [anon_sym_decltype] = ACTIONS(5620), + }, + [2271] = { + [sym__identifier] = ACTIONS(3114), + [aux_sym_preproc_def_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token1] = ACTIONS(3114), + [aux_sym_preproc_if_token2] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3114), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3114), + [sym_preproc_directive] = ACTIONS(3114), + [anon_sym_LPAREN2] = ACTIONS(3116), + [anon_sym_TILDE] = ACTIONS(3116), + [anon_sym_STAR] = ACTIONS(3116), + [anon_sym_AMP_AMP] = ACTIONS(3116), + [anon_sym_AMP] = ACTIONS(3114), + [anon_sym___extension__] = ACTIONS(3114), + [anon_sym_typedef] = ACTIONS(3114), + [anon_sym_extern] = ACTIONS(3114), + [anon_sym___attribute__] = ACTIONS(3114), + [anon_sym_COLON_COLON] = ACTIONS(3116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3116), + [anon_sym___declspec] = ACTIONS(3114), + [anon_sym___based] = ACTIONS(3114), + [anon_sym_signed] = ACTIONS(3114), + [anon_sym_unsigned] = ACTIONS(3114), + [anon_sym_long] = ACTIONS(3114), + [anon_sym_short] = ACTIONS(3114), + [anon_sym_LBRACK] = ACTIONS(3114), + [anon_sym_static] = ACTIONS(3114), + [anon_sym_register] = ACTIONS(3114), + [anon_sym_inline] = ACTIONS(3114), + [anon_sym___inline] = ACTIONS(3114), + [anon_sym___inline__] = ACTIONS(3114), + [anon_sym___forceinline] = ACTIONS(3114), + [anon_sym_thread_local] = ACTIONS(3114), + [anon_sym___thread] = ACTIONS(3114), + [anon_sym_const] = ACTIONS(3114), + [anon_sym_constexpr] = ACTIONS(3114), + [anon_sym_volatile] = ACTIONS(3114), + [anon_sym_restrict] = ACTIONS(3114), + [anon_sym___restrict__] = ACTIONS(3114), + [anon_sym__Atomic] = ACTIONS(3114), + [anon_sym__Noreturn] = ACTIONS(3114), + [anon_sym_noreturn] = ACTIONS(3114), + [anon_sym_mutable] = ACTIONS(3114), + [anon_sym_constinit] = ACTIONS(3114), + [anon_sym_consteval] = ACTIONS(3114), + [anon_sym_alignas] = ACTIONS(3114), + [anon_sym__Alignas] = ACTIONS(3114), + [sym_primitive_type] = ACTIONS(3114), + [anon_sym_enum] = ACTIONS(3114), + [anon_sym_class] = ACTIONS(3114), + [anon_sym_struct] = ACTIONS(3114), + [anon_sym_union] = ACTIONS(3114), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3116), + [sym_auto] = ACTIONS(3114), + [anon_sym_decltype] = ACTIONS(3114), + [sym_virtual] = ACTIONS(3114), + [anon_sym_explicit] = ACTIONS(3114), + [anon_sym_typename] = ACTIONS(3114), + [anon_sym_template] = ACTIONS(3114), + [anon_sym_operator] = ACTIONS(3114), + [anon_sym_friend] = ACTIONS(3114), + [anon_sym_public] = ACTIONS(3114), + [anon_sym_private] = ACTIONS(3114), + [anon_sym_protected] = ACTIONS(3114), + [anon_sym_using] = ACTIONS(3114), + [anon_sym_static_assert] = ACTIONS(3114), + }, + [2272] = { + [sym__identifier] = ACTIONS(3104), + [aux_sym_preproc_def_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token1] = ACTIONS(3104), + [aux_sym_preproc_if_token2] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3104), + [sym_preproc_directive] = ACTIONS(3104), + [anon_sym_LPAREN2] = ACTIONS(3106), + [anon_sym_TILDE] = ACTIONS(3106), + [anon_sym_STAR] = ACTIONS(3106), + [anon_sym_AMP_AMP] = ACTIONS(3106), + [anon_sym_AMP] = ACTIONS(3104), + [anon_sym___extension__] = ACTIONS(3104), + [anon_sym_typedef] = ACTIONS(3104), + [anon_sym_extern] = ACTIONS(3104), + [anon_sym___attribute__] = ACTIONS(3104), + [anon_sym_COLON_COLON] = ACTIONS(3106), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3106), + [anon_sym___declspec] = ACTIONS(3104), + [anon_sym___based] = ACTIONS(3104), + [anon_sym_signed] = ACTIONS(3104), + [anon_sym_unsigned] = ACTIONS(3104), + [anon_sym_long] = ACTIONS(3104), + [anon_sym_short] = ACTIONS(3104), + [anon_sym_LBRACK] = ACTIONS(3104), + [anon_sym_static] = ACTIONS(3104), + [anon_sym_register] = ACTIONS(3104), + [anon_sym_inline] = ACTIONS(3104), + [anon_sym___inline] = ACTIONS(3104), + [anon_sym___inline__] = ACTIONS(3104), + [anon_sym___forceinline] = ACTIONS(3104), + [anon_sym_thread_local] = ACTIONS(3104), + [anon_sym___thread] = ACTIONS(3104), + [anon_sym_const] = ACTIONS(3104), + [anon_sym_constexpr] = ACTIONS(3104), + [anon_sym_volatile] = ACTIONS(3104), + [anon_sym_restrict] = ACTIONS(3104), + [anon_sym___restrict__] = ACTIONS(3104), + [anon_sym__Atomic] = ACTIONS(3104), + [anon_sym__Noreturn] = ACTIONS(3104), + [anon_sym_noreturn] = ACTIONS(3104), + [anon_sym_mutable] = ACTIONS(3104), + [anon_sym_constinit] = ACTIONS(3104), + [anon_sym_consteval] = ACTIONS(3104), + [anon_sym_alignas] = ACTIONS(3104), + [anon_sym__Alignas] = ACTIONS(3104), + [sym_primitive_type] = ACTIONS(3104), + [anon_sym_enum] = ACTIONS(3104), + [anon_sym_class] = ACTIONS(3104), + [anon_sym_struct] = ACTIONS(3104), + [anon_sym_union] = ACTIONS(3104), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3106), + [sym_auto] = ACTIONS(3104), + [anon_sym_decltype] = ACTIONS(3104), + [sym_virtual] = ACTIONS(3104), + [anon_sym_explicit] = ACTIONS(3104), + [anon_sym_typename] = ACTIONS(3104), + [anon_sym_template] = ACTIONS(3104), + [anon_sym_operator] = ACTIONS(3104), + [anon_sym_friend] = ACTIONS(3104), + [anon_sym_public] = ACTIONS(3104), + [anon_sym_private] = ACTIONS(3104), + [anon_sym_protected] = ACTIONS(3104), + [anon_sym_using] = ACTIONS(3104), + [anon_sym_static_assert] = ACTIONS(3104), + }, + [2273] = { + [sym__identifier] = ACTIONS(5177), + [aux_sym_preproc_def_token1] = ACTIONS(5177), + [aux_sym_preproc_if_token1] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5177), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5177), + [sym_preproc_directive] = ACTIONS(5177), + [anon_sym_LPAREN2] = ACTIONS(5179), + [anon_sym_TILDE] = ACTIONS(5179), + [anon_sym_STAR] = ACTIONS(5179), + [anon_sym_AMP_AMP] = ACTIONS(5179), + [anon_sym_AMP] = ACTIONS(5177), + [anon_sym___extension__] = ACTIONS(5177), + [anon_sym_typedef] = ACTIONS(5177), + [anon_sym_extern] = ACTIONS(5177), + [anon_sym___attribute__] = ACTIONS(5177), + [anon_sym_COLON_COLON] = ACTIONS(5179), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5179), + [anon_sym___declspec] = ACTIONS(5177), + [anon_sym___based] = ACTIONS(5177), + [anon_sym_RBRACE] = ACTIONS(5179), + [anon_sym_signed] = ACTIONS(5177), + [anon_sym_unsigned] = ACTIONS(5177), + [anon_sym_long] = ACTIONS(5177), + [anon_sym_short] = ACTIONS(5177), + [anon_sym_LBRACK] = ACTIONS(5177), + [anon_sym_static] = ACTIONS(5177), + [anon_sym_register] = ACTIONS(5177), + [anon_sym_inline] = ACTIONS(5177), + [anon_sym___inline] = ACTIONS(5177), + [anon_sym___inline__] = ACTIONS(5177), + [anon_sym___forceinline] = ACTIONS(5177), + [anon_sym_thread_local] = ACTIONS(5177), + [anon_sym___thread] = ACTIONS(5177), + [anon_sym_const] = ACTIONS(5177), + [anon_sym_constexpr] = ACTIONS(5177), + [anon_sym_volatile] = ACTIONS(5177), + [anon_sym_restrict] = ACTIONS(5177), + [anon_sym___restrict__] = ACTIONS(5177), + [anon_sym__Atomic] = ACTIONS(5177), + [anon_sym__Noreturn] = ACTIONS(5177), + [anon_sym_noreturn] = ACTIONS(5177), + [anon_sym_mutable] = ACTIONS(5177), + [anon_sym_constinit] = ACTIONS(5177), + [anon_sym_consteval] = ACTIONS(5177), + [anon_sym_alignas] = ACTIONS(5177), + [anon_sym__Alignas] = ACTIONS(5177), + [sym_primitive_type] = ACTIONS(5177), + [anon_sym_enum] = ACTIONS(5177), + [anon_sym_class] = ACTIONS(5177), + [anon_sym_struct] = ACTIONS(5177), + [anon_sym_union] = ACTIONS(5177), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5179), + [sym_auto] = ACTIONS(5177), + [anon_sym_decltype] = ACTIONS(5177), + [sym_virtual] = ACTIONS(5177), + [anon_sym_explicit] = ACTIONS(5177), + [anon_sym_typename] = ACTIONS(5177), + [anon_sym_template] = ACTIONS(5177), + [anon_sym_operator] = ACTIONS(5177), + [anon_sym_friend] = ACTIONS(5177), + [anon_sym_public] = ACTIONS(5177), + [anon_sym_private] = ACTIONS(5177), + [anon_sym_protected] = ACTIONS(5177), + [anon_sym_using] = ACTIONS(5177), + [anon_sym_static_assert] = ACTIONS(5177), + }, + [2274] = { + [sym__identifier] = ACTIONS(3096), + [aux_sym_preproc_def_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token1] = ACTIONS(3096), + [aux_sym_preproc_if_token2] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3096), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3096), + [sym_preproc_directive] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_TILDE] = ACTIONS(3098), + [anon_sym_STAR] = ACTIONS(3098), + [anon_sym_AMP_AMP] = ACTIONS(3098), + [anon_sym_AMP] = ACTIONS(3096), + [anon_sym___extension__] = ACTIONS(3096), + [anon_sym_typedef] = ACTIONS(3096), + [anon_sym_extern] = ACTIONS(3096), + [anon_sym___attribute__] = ACTIONS(3096), + [anon_sym_COLON_COLON] = ACTIONS(3098), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3098), + [anon_sym___declspec] = ACTIONS(3096), + [anon_sym___based] = ACTIONS(3096), + [anon_sym_signed] = ACTIONS(3096), + [anon_sym_unsigned] = ACTIONS(3096), + [anon_sym_long] = ACTIONS(3096), + [anon_sym_short] = ACTIONS(3096), + [anon_sym_LBRACK] = ACTIONS(3096), + [anon_sym_static] = ACTIONS(3096), + [anon_sym_register] = ACTIONS(3096), + [anon_sym_inline] = ACTIONS(3096), + [anon_sym___inline] = ACTIONS(3096), + [anon_sym___inline__] = ACTIONS(3096), + [anon_sym___forceinline] = ACTIONS(3096), + [anon_sym_thread_local] = ACTIONS(3096), + [anon_sym___thread] = ACTIONS(3096), + [anon_sym_const] = ACTIONS(3096), + [anon_sym_constexpr] = ACTIONS(3096), + [anon_sym_volatile] = ACTIONS(3096), + [anon_sym_restrict] = ACTIONS(3096), + [anon_sym___restrict__] = ACTIONS(3096), + [anon_sym__Atomic] = ACTIONS(3096), + [anon_sym__Noreturn] = ACTIONS(3096), + [anon_sym_noreturn] = ACTIONS(3096), + [anon_sym_mutable] = ACTIONS(3096), + [anon_sym_constinit] = ACTIONS(3096), + [anon_sym_consteval] = ACTIONS(3096), + [anon_sym_alignas] = ACTIONS(3096), + [anon_sym__Alignas] = ACTIONS(3096), + [sym_primitive_type] = ACTIONS(3096), + [anon_sym_enum] = ACTIONS(3096), + [anon_sym_class] = ACTIONS(3096), + [anon_sym_struct] = ACTIONS(3096), + [anon_sym_union] = ACTIONS(3096), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3098), + [sym_auto] = ACTIONS(3096), + [anon_sym_decltype] = ACTIONS(3096), + [sym_virtual] = ACTIONS(3096), + [anon_sym_explicit] = ACTIONS(3096), + [anon_sym_typename] = ACTIONS(3096), + [anon_sym_template] = ACTIONS(3096), + [anon_sym_operator] = ACTIONS(3096), + [anon_sym_friend] = ACTIONS(3096), + [anon_sym_public] = ACTIONS(3096), + [anon_sym_private] = ACTIONS(3096), + [anon_sym_protected] = ACTIONS(3096), + [anon_sym_using] = ACTIONS(3096), + [anon_sym_static_assert] = ACTIONS(3096), + }, + [2275] = { + [sym__identifier] = ACTIONS(5181), + [aux_sym_preproc_def_token1] = ACTIONS(5181), + [aux_sym_preproc_if_token1] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5181), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5181), + [sym_preproc_directive] = ACTIONS(5181), + [anon_sym_LPAREN2] = ACTIONS(5183), + [anon_sym_TILDE] = ACTIONS(5183), + [anon_sym_STAR] = ACTIONS(5183), + [anon_sym_AMP_AMP] = ACTIONS(5183), + [anon_sym_AMP] = ACTIONS(5181), + [anon_sym___extension__] = ACTIONS(5181), + [anon_sym_typedef] = ACTIONS(5181), + [anon_sym_extern] = ACTIONS(5181), + [anon_sym___attribute__] = ACTIONS(5181), + [anon_sym_COLON_COLON] = ACTIONS(5183), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5183), + [anon_sym___declspec] = ACTIONS(5181), + [anon_sym___based] = ACTIONS(5181), + [anon_sym_RBRACE] = ACTIONS(5183), + [anon_sym_signed] = ACTIONS(5181), + [anon_sym_unsigned] = ACTIONS(5181), + [anon_sym_long] = ACTIONS(5181), + [anon_sym_short] = ACTIONS(5181), + [anon_sym_LBRACK] = ACTIONS(5181), + [anon_sym_static] = ACTIONS(5181), + [anon_sym_register] = ACTIONS(5181), + [anon_sym_inline] = ACTIONS(5181), + [anon_sym___inline] = ACTIONS(5181), + [anon_sym___inline__] = ACTIONS(5181), + [anon_sym___forceinline] = ACTIONS(5181), + [anon_sym_thread_local] = ACTIONS(5181), + [anon_sym___thread] = ACTIONS(5181), + [anon_sym_const] = ACTIONS(5181), + [anon_sym_constexpr] = ACTIONS(5181), + [anon_sym_volatile] = ACTIONS(5181), + [anon_sym_restrict] = ACTIONS(5181), + [anon_sym___restrict__] = ACTIONS(5181), + [anon_sym__Atomic] = ACTIONS(5181), + [anon_sym__Noreturn] = ACTIONS(5181), + [anon_sym_noreturn] = ACTIONS(5181), + [anon_sym_mutable] = ACTIONS(5181), + [anon_sym_constinit] = ACTIONS(5181), + [anon_sym_consteval] = ACTIONS(5181), + [anon_sym_alignas] = ACTIONS(5181), + [anon_sym__Alignas] = ACTIONS(5181), + [sym_primitive_type] = ACTIONS(5181), + [anon_sym_enum] = ACTIONS(5181), + [anon_sym_class] = ACTIONS(5181), + [anon_sym_struct] = ACTIONS(5181), + [anon_sym_union] = ACTIONS(5181), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5183), + [sym_auto] = ACTIONS(5181), + [anon_sym_decltype] = ACTIONS(5181), + [sym_virtual] = ACTIONS(5181), + [anon_sym_explicit] = ACTIONS(5181), + [anon_sym_typename] = ACTIONS(5181), + [anon_sym_template] = ACTIONS(5181), + [anon_sym_operator] = ACTIONS(5181), + [anon_sym_friend] = ACTIONS(5181), + [anon_sym_public] = ACTIONS(5181), + [anon_sym_private] = ACTIONS(5181), + [anon_sym_protected] = ACTIONS(5181), + [anon_sym_using] = ACTIONS(5181), + [anon_sym_static_assert] = ACTIONS(5181), + }, + [2276] = { + [sym__identifier] = ACTIONS(3021), + [aux_sym_preproc_def_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token1] = ACTIONS(3021), + [aux_sym_preproc_if_token2] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3021), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3021), + [sym_preproc_directive] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(3023), + [anon_sym_TILDE] = ACTIONS(3023), + [anon_sym_STAR] = ACTIONS(3023), + [anon_sym_AMP_AMP] = ACTIONS(3023), + [anon_sym_AMP] = ACTIONS(3021), + [anon_sym___extension__] = ACTIONS(3021), + [anon_sym_typedef] = ACTIONS(3021), + [anon_sym_extern] = ACTIONS(3021), + [anon_sym___attribute__] = ACTIONS(3021), + [anon_sym_COLON_COLON] = ACTIONS(3023), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3023), + [anon_sym___declspec] = ACTIONS(3021), + [anon_sym___based] = ACTIONS(3021), + [anon_sym_signed] = ACTIONS(3021), + [anon_sym_unsigned] = ACTIONS(3021), + [anon_sym_long] = ACTIONS(3021), + [anon_sym_short] = ACTIONS(3021), + [anon_sym_LBRACK] = ACTIONS(3021), + [anon_sym_static] = ACTIONS(3021), + [anon_sym_register] = ACTIONS(3021), + [anon_sym_inline] = ACTIONS(3021), + [anon_sym___inline] = ACTIONS(3021), + [anon_sym___inline__] = ACTIONS(3021), + [anon_sym___forceinline] = ACTIONS(3021), + [anon_sym_thread_local] = ACTIONS(3021), + [anon_sym___thread] = ACTIONS(3021), + [anon_sym_const] = ACTIONS(3021), + [anon_sym_constexpr] = ACTIONS(3021), + [anon_sym_volatile] = ACTIONS(3021), + [anon_sym_restrict] = ACTIONS(3021), + [anon_sym___restrict__] = ACTIONS(3021), + [anon_sym__Atomic] = ACTIONS(3021), + [anon_sym__Noreturn] = ACTIONS(3021), + [anon_sym_noreturn] = ACTIONS(3021), + [anon_sym_mutable] = ACTIONS(3021), + [anon_sym_constinit] = ACTIONS(3021), + [anon_sym_consteval] = ACTIONS(3021), + [anon_sym_alignas] = ACTIONS(3021), + [anon_sym__Alignas] = ACTIONS(3021), + [sym_primitive_type] = ACTIONS(3021), + [anon_sym_enum] = ACTIONS(3021), + [anon_sym_class] = ACTIONS(3021), + [anon_sym_struct] = ACTIONS(3021), + [anon_sym_union] = ACTIONS(3021), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3023), + [sym_auto] = ACTIONS(3021), + [anon_sym_decltype] = ACTIONS(3021), + [sym_virtual] = ACTIONS(3021), + [anon_sym_explicit] = ACTIONS(3021), + [anon_sym_typename] = ACTIONS(3021), + [anon_sym_template] = ACTIONS(3021), + [anon_sym_operator] = ACTIONS(3021), + [anon_sym_friend] = ACTIONS(3021), + [anon_sym_public] = ACTIONS(3021), + [anon_sym_private] = ACTIONS(3021), + [anon_sym_protected] = ACTIONS(3021), + [anon_sym_using] = ACTIONS(3021), + [anon_sym_static_assert] = ACTIONS(3021), + }, + [2277] = { + [sym__identifier] = ACTIONS(3046), + [aux_sym_preproc_def_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token1] = ACTIONS(3046), + [aux_sym_preproc_if_token2] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token1] = ACTIONS(3046), + [aux_sym_preproc_ifdef_token2] = ACTIONS(3046), + [sym_preproc_directive] = ACTIONS(3046), + [anon_sym_LPAREN2] = ACTIONS(3048), + [anon_sym_TILDE] = ACTIONS(3048), + [anon_sym_STAR] = ACTIONS(3048), + [anon_sym_AMP_AMP] = ACTIONS(3048), + [anon_sym_AMP] = ACTIONS(3046), + [anon_sym___extension__] = ACTIONS(3046), + [anon_sym_typedef] = ACTIONS(3046), + [anon_sym_extern] = ACTIONS(3046), + [anon_sym___attribute__] = ACTIONS(3046), + [anon_sym_COLON_COLON] = ACTIONS(3048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3048), + [anon_sym___declspec] = ACTIONS(3046), + [anon_sym___based] = ACTIONS(3046), + [anon_sym_signed] = ACTIONS(3046), + [anon_sym_unsigned] = ACTIONS(3046), + [anon_sym_long] = ACTIONS(3046), + [anon_sym_short] = ACTIONS(3046), + [anon_sym_LBRACK] = ACTIONS(3046), + [anon_sym_static] = ACTIONS(3046), + [anon_sym_register] = ACTIONS(3046), + [anon_sym_inline] = ACTIONS(3046), + [anon_sym___inline] = ACTIONS(3046), + [anon_sym___inline__] = ACTIONS(3046), + [anon_sym___forceinline] = ACTIONS(3046), + [anon_sym_thread_local] = ACTIONS(3046), + [anon_sym___thread] = ACTIONS(3046), + [anon_sym_const] = ACTIONS(3046), + [anon_sym_constexpr] = ACTIONS(3046), + [anon_sym_volatile] = ACTIONS(3046), + [anon_sym_restrict] = ACTIONS(3046), + [anon_sym___restrict__] = ACTIONS(3046), + [anon_sym__Atomic] = ACTIONS(3046), + [anon_sym__Noreturn] = ACTIONS(3046), + [anon_sym_noreturn] = ACTIONS(3046), + [anon_sym_mutable] = ACTIONS(3046), + [anon_sym_constinit] = ACTIONS(3046), + [anon_sym_consteval] = ACTIONS(3046), + [anon_sym_alignas] = ACTIONS(3046), + [anon_sym__Alignas] = ACTIONS(3046), + [sym_primitive_type] = ACTIONS(3046), + [anon_sym_enum] = ACTIONS(3046), + [anon_sym_class] = ACTIONS(3046), + [anon_sym_struct] = ACTIONS(3046), + [anon_sym_union] = ACTIONS(3046), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(3048), + [sym_auto] = ACTIONS(3046), + [anon_sym_decltype] = ACTIONS(3046), + [sym_virtual] = ACTIONS(3046), + [anon_sym_explicit] = ACTIONS(3046), + [anon_sym_typename] = ACTIONS(3046), + [anon_sym_template] = ACTIONS(3046), + [anon_sym_operator] = ACTIONS(3046), + [anon_sym_friend] = ACTIONS(3046), + [anon_sym_public] = ACTIONS(3046), + [anon_sym_private] = ACTIONS(3046), + [anon_sym_protected] = ACTIONS(3046), + [anon_sym_using] = ACTIONS(3046), + [anon_sym_static_assert] = ACTIONS(3046), + }, + [2278] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_RBRACE] = ACTIONS(5187), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [2279] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2242), + [sym__identifier] = ACTIONS(5536), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5534), + [anon_sym_COMMA] = ACTIONS(5534), + [aux_sym_preproc_if_token2] = ACTIONS(5534), + [aux_sym_preproc_else_token1] = ACTIONS(5534), + [aux_sym_preproc_elif_token1] = ACTIONS(5536), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5534), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5534), + [anon_sym_LPAREN2] = ACTIONS(5534), + [anon_sym_DASH] = ACTIONS(5536), + [anon_sym_PLUS] = ACTIONS(5536), + [anon_sym_STAR] = ACTIONS(5536), + [anon_sym_SLASH] = ACTIONS(5536), + [anon_sym_PERCENT] = ACTIONS(5536), + [anon_sym_PIPE_PIPE] = ACTIONS(5534), + [anon_sym_AMP_AMP] = ACTIONS(5534), + [anon_sym_PIPE] = ACTIONS(5536), + [anon_sym_CARET] = ACTIONS(5536), + [anon_sym_AMP] = ACTIONS(5536), + [anon_sym_EQ_EQ] = ACTIONS(5534), + [anon_sym_BANG_EQ] = ACTIONS(5534), + [anon_sym_GT] = ACTIONS(5536), + [anon_sym_GT_EQ] = ACTIONS(5534), + [anon_sym_LT_EQ] = ACTIONS(5536), + [anon_sym_LT] = ACTIONS(5536), + [anon_sym_LT_LT] = ACTIONS(5536), + [anon_sym_GT_GT] = ACTIONS(5536), + [anon_sym___attribute__] = ACTIONS(5536), + [anon_sym_LBRACE] = ACTIONS(5534), + [anon_sym_signed] = ACTIONS(5732), + [anon_sym_unsigned] = ACTIONS(5732), + [anon_sym_long] = ACTIONS(5732), + [anon_sym_short] = ACTIONS(5732), + [anon_sym_LBRACK] = ACTIONS(5534), + [anon_sym_EQ] = ACTIONS(5536), + [anon_sym_QMARK] = ACTIONS(5534), + [anon_sym_STAR_EQ] = ACTIONS(5534), + [anon_sym_SLASH_EQ] = ACTIONS(5534), + [anon_sym_PERCENT_EQ] = ACTIONS(5534), + [anon_sym_PLUS_EQ] = ACTIONS(5534), + [anon_sym_DASH_EQ] = ACTIONS(5534), + [anon_sym_LT_LT_EQ] = ACTIONS(5534), + [anon_sym_GT_GT_EQ] = ACTIONS(5534), + [anon_sym_AMP_EQ] = ACTIONS(5534), + [anon_sym_CARET_EQ] = ACTIONS(5534), + [anon_sym_PIPE_EQ] = ACTIONS(5534), + [anon_sym_and_eq] = ACTIONS(5536), + [anon_sym_or_eq] = ACTIONS(5536), + [anon_sym_xor_eq] = ACTIONS(5536), + [anon_sym_LT_EQ_GT] = ACTIONS(5534), + [anon_sym_or] = ACTIONS(5536), + [anon_sym_and] = ACTIONS(5536), + [anon_sym_bitor] = ACTIONS(5536), + [anon_sym_xor] = ACTIONS(5536), + [anon_sym_bitand] = ACTIONS(5536), + [anon_sym_not_eq] = ACTIONS(5536), + [anon_sym_DASH_DASH] = ACTIONS(5534), + [anon_sym_PLUS_PLUS] = ACTIONS(5534), + [anon_sym_DOT] = ACTIONS(5536), + [anon_sym_DOT_STAR] = ACTIONS(5534), + [anon_sym_DASH_GT] = ACTIONS(5534), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5534), + [sym_auto] = ACTIONS(5536), + [anon_sym_decltype] = ACTIONS(5536), + }, + [2280] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2253), + [sym__identifier] = ACTIONS(5610), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5608), + [anon_sym_COMMA] = ACTIONS(5608), + [aux_sym_preproc_if_token2] = ACTIONS(5608), + [aux_sym_preproc_else_token1] = ACTIONS(5608), + [aux_sym_preproc_elif_token1] = ACTIONS(5610), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5608), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5608), + [anon_sym_LPAREN2] = ACTIONS(5608), + [anon_sym_DASH] = ACTIONS(5610), + [anon_sym_PLUS] = ACTIONS(5610), + [anon_sym_STAR] = ACTIONS(5610), + [anon_sym_SLASH] = ACTIONS(5610), + [anon_sym_PERCENT] = ACTIONS(5610), + [anon_sym_PIPE_PIPE] = ACTIONS(5608), + [anon_sym_AMP_AMP] = ACTIONS(5608), + [anon_sym_PIPE] = ACTIONS(5610), + [anon_sym_CARET] = ACTIONS(5610), + [anon_sym_AMP] = ACTIONS(5610), + [anon_sym_EQ_EQ] = ACTIONS(5608), + [anon_sym_BANG_EQ] = ACTIONS(5608), + [anon_sym_GT] = ACTIONS(5610), + [anon_sym_GT_EQ] = ACTIONS(5608), + [anon_sym_LT_EQ] = ACTIONS(5610), + [anon_sym_LT] = ACTIONS(5610), + [anon_sym_LT_LT] = ACTIONS(5610), + [anon_sym_GT_GT] = ACTIONS(5610), + [anon_sym___attribute__] = ACTIONS(5610), + [anon_sym_LBRACE] = ACTIONS(5608), + [anon_sym_signed] = ACTIONS(5744), + [anon_sym_unsigned] = ACTIONS(5744), + [anon_sym_long] = ACTIONS(5744), + [anon_sym_short] = ACTIONS(5744), + [anon_sym_LBRACK] = ACTIONS(5608), + [anon_sym_EQ] = ACTIONS(5610), + [anon_sym_QMARK] = ACTIONS(5608), + [anon_sym_STAR_EQ] = ACTIONS(5608), + [anon_sym_SLASH_EQ] = ACTIONS(5608), + [anon_sym_PERCENT_EQ] = ACTIONS(5608), + [anon_sym_PLUS_EQ] = ACTIONS(5608), + [anon_sym_DASH_EQ] = ACTIONS(5608), + [anon_sym_LT_LT_EQ] = ACTIONS(5608), + [anon_sym_GT_GT_EQ] = ACTIONS(5608), + [anon_sym_AMP_EQ] = ACTIONS(5608), + [anon_sym_CARET_EQ] = ACTIONS(5608), + [anon_sym_PIPE_EQ] = ACTIONS(5608), + [anon_sym_and_eq] = ACTIONS(5610), + [anon_sym_or_eq] = ACTIONS(5610), + [anon_sym_xor_eq] = ACTIONS(5610), + [anon_sym_LT_EQ_GT] = ACTIONS(5608), + [anon_sym_or] = ACTIONS(5610), + [anon_sym_and] = ACTIONS(5610), + [anon_sym_bitor] = ACTIONS(5610), + [anon_sym_xor] = ACTIONS(5610), + [anon_sym_bitand] = ACTIONS(5610), + [anon_sym_not_eq] = ACTIONS(5610), + [anon_sym_DASH_DASH] = ACTIONS(5608), + [anon_sym_PLUS_PLUS] = ACTIONS(5608), + [anon_sym_DOT] = ACTIONS(5610), + [anon_sym_DOT_STAR] = ACTIONS(5608), + [anon_sym_DASH_GT] = ACTIONS(5608), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5608), + [sym_auto] = ACTIONS(5610), + [anon_sym_decltype] = ACTIONS(5610), + }, + [2281] = { + [sym__identifier] = ACTIONS(5323), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5325), + [anon_sym_COMMA] = ACTIONS(5325), + [anon_sym_RPAREN] = ACTIONS(5325), + [aux_sym_preproc_if_token2] = ACTIONS(5325), + [aux_sym_preproc_else_token1] = ACTIONS(5325), + [aux_sym_preproc_elif_token1] = ACTIONS(5323), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5325), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5325), + [anon_sym_LPAREN2] = ACTIONS(5325), + [anon_sym_DASH] = ACTIONS(5323), + [anon_sym_PLUS] = ACTIONS(5323), + [anon_sym_STAR] = ACTIONS(5323), + [anon_sym_SLASH] = ACTIONS(5323), + [anon_sym_PERCENT] = ACTIONS(5323), + [anon_sym_PIPE_PIPE] = ACTIONS(5325), + [anon_sym_AMP_AMP] = ACTIONS(5325), + [anon_sym_PIPE] = ACTIONS(5323), + [anon_sym_CARET] = ACTIONS(5323), + [anon_sym_AMP] = ACTIONS(5323), + [anon_sym_EQ_EQ] = ACTIONS(5325), + [anon_sym_BANG_EQ] = ACTIONS(5325), + [anon_sym_GT] = ACTIONS(5323), + [anon_sym_GT_EQ] = ACTIONS(5325), + [anon_sym_LT_EQ] = ACTIONS(5323), + [anon_sym_LT] = ACTIONS(5323), + [anon_sym_LT_LT] = ACTIONS(5323), + [anon_sym_GT_GT] = ACTIONS(5323), + [anon_sym_SEMI] = ACTIONS(5325), + [anon_sym___attribute__] = ACTIONS(5323), + [anon_sym_LBRACE] = ACTIONS(5325), + [anon_sym_RBRACE] = ACTIONS(5325), + [anon_sym_LBRACK] = ACTIONS(5325), + [anon_sym_RBRACK] = ACTIONS(5325), + [anon_sym_EQ] = ACTIONS(5323), + [anon_sym_COLON] = ACTIONS(5325), + [anon_sym_QMARK] = ACTIONS(5325), + [anon_sym_STAR_EQ] = ACTIONS(5325), + [anon_sym_SLASH_EQ] = ACTIONS(5325), + [anon_sym_PERCENT_EQ] = ACTIONS(5325), + [anon_sym_PLUS_EQ] = ACTIONS(5325), + [anon_sym_DASH_EQ] = ACTIONS(5325), + [anon_sym_LT_LT_EQ] = ACTIONS(5325), + [anon_sym_GT_GT_EQ] = ACTIONS(5325), + [anon_sym_AMP_EQ] = ACTIONS(5325), + [anon_sym_CARET_EQ] = ACTIONS(5325), + [anon_sym_PIPE_EQ] = ACTIONS(5325), + [anon_sym_and_eq] = ACTIONS(5323), + [anon_sym_or_eq] = ACTIONS(5323), + [anon_sym_xor_eq] = ACTIONS(5323), + [anon_sym_LT_EQ_GT] = ACTIONS(5325), + [anon_sym_or] = ACTIONS(5323), + [anon_sym_and] = ACTIONS(5323), + [anon_sym_bitor] = ACTIONS(5323), + [anon_sym_xor] = ACTIONS(5323), + [anon_sym_bitand] = ACTIONS(5323), + [anon_sym_not_eq] = ACTIONS(5323), + [anon_sym_DASH_DASH] = ACTIONS(5325), + [anon_sym_PLUS_PLUS] = ACTIONS(5325), + [anon_sym_DOT] = ACTIONS(5323), + [anon_sym_DOT_STAR] = ACTIONS(5325), + [anon_sym_DASH_GT] = ACTIONS(5325), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5325), + [sym_auto] = ACTIONS(5323), + [anon_sym_decltype] = ACTIONS(5323), + }, + [2282] = { + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [anon_sym_RPAREN] = ACTIONS(5014), + [aux_sym_preproc_if_token2] = ACTIONS(5014), + [aux_sym_preproc_else_token1] = ACTIONS(5014), + [aux_sym_preproc_elif_token1] = ACTIONS(5012), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5012), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5012), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5012), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5012), + [anon_sym_GT_GT] = ACTIONS(5012), + [anon_sym_SEMI] = ACTIONS(5014), + [anon_sym___attribute__] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_RBRACE] = ACTIONS(5014), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_RBRACK] = ACTIONS(5014), + [anon_sym_EQ] = ACTIONS(5012), + [anon_sym_COLON] = ACTIONS(5014), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_STAR_EQ] = ACTIONS(5014), + [anon_sym_SLASH_EQ] = ACTIONS(5014), + [anon_sym_PERCENT_EQ] = ACTIONS(5014), + [anon_sym_PLUS_EQ] = ACTIONS(5014), + [anon_sym_DASH_EQ] = ACTIONS(5014), + [anon_sym_LT_LT_EQ] = ACTIONS(5014), + [anon_sym_GT_GT_EQ] = ACTIONS(5014), + [anon_sym_AMP_EQ] = ACTIONS(5014), + [anon_sym_CARET_EQ] = ACTIONS(5014), + [anon_sym_PIPE_EQ] = ACTIONS(5014), + [anon_sym_and_eq] = ACTIONS(5012), + [anon_sym_or_eq] = ACTIONS(5012), + [anon_sym_xor_eq] = ACTIONS(5012), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + }, + [2283] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2242), + [sym__identifier] = ACTIONS(5576), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5574), + [anon_sym_COMMA] = ACTIONS(5574), + [aux_sym_preproc_if_token2] = ACTIONS(5574), + [aux_sym_preproc_else_token1] = ACTIONS(5574), + [aux_sym_preproc_elif_token1] = ACTIONS(5576), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5574), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5574), + [anon_sym_LPAREN2] = ACTIONS(5574), + [anon_sym_DASH] = ACTIONS(5576), + [anon_sym_PLUS] = ACTIONS(5576), + [anon_sym_STAR] = ACTIONS(5576), + [anon_sym_SLASH] = ACTIONS(5576), + [anon_sym_PERCENT] = ACTIONS(5576), + [anon_sym_PIPE_PIPE] = ACTIONS(5574), + [anon_sym_AMP_AMP] = ACTIONS(5574), + [anon_sym_PIPE] = ACTIONS(5576), + [anon_sym_CARET] = ACTIONS(5576), + [anon_sym_AMP] = ACTIONS(5576), + [anon_sym_EQ_EQ] = ACTIONS(5574), + [anon_sym_BANG_EQ] = ACTIONS(5574), + [anon_sym_GT] = ACTIONS(5576), + [anon_sym_GT_EQ] = ACTIONS(5574), + [anon_sym_LT_EQ] = ACTIONS(5576), + [anon_sym_LT] = ACTIONS(5576), + [anon_sym_LT_LT] = ACTIONS(5576), + [anon_sym_GT_GT] = ACTIONS(5576), + [anon_sym___attribute__] = ACTIONS(5576), + [anon_sym_LBRACE] = ACTIONS(5574), + [anon_sym_signed] = ACTIONS(5732), + [anon_sym_unsigned] = ACTIONS(5732), + [anon_sym_long] = ACTIONS(5732), + [anon_sym_short] = ACTIONS(5732), + [anon_sym_LBRACK] = ACTIONS(5574), + [anon_sym_EQ] = ACTIONS(5576), + [anon_sym_QMARK] = ACTIONS(5574), + [anon_sym_STAR_EQ] = ACTIONS(5574), + [anon_sym_SLASH_EQ] = ACTIONS(5574), + [anon_sym_PERCENT_EQ] = ACTIONS(5574), + [anon_sym_PLUS_EQ] = ACTIONS(5574), + [anon_sym_DASH_EQ] = ACTIONS(5574), + [anon_sym_LT_LT_EQ] = ACTIONS(5574), + [anon_sym_GT_GT_EQ] = ACTIONS(5574), + [anon_sym_AMP_EQ] = ACTIONS(5574), + [anon_sym_CARET_EQ] = ACTIONS(5574), + [anon_sym_PIPE_EQ] = ACTIONS(5574), + [anon_sym_and_eq] = ACTIONS(5576), + [anon_sym_or_eq] = ACTIONS(5576), + [anon_sym_xor_eq] = ACTIONS(5576), + [anon_sym_LT_EQ_GT] = ACTIONS(5574), + [anon_sym_or] = ACTIONS(5576), + [anon_sym_and] = ACTIONS(5576), + [anon_sym_bitor] = ACTIONS(5576), + [anon_sym_xor] = ACTIONS(5576), + [anon_sym_bitand] = ACTIONS(5576), + [anon_sym_not_eq] = ACTIONS(5576), + [anon_sym_DASH_DASH] = ACTIONS(5574), + [anon_sym_PLUS_PLUS] = ACTIONS(5574), + [anon_sym_DOT] = ACTIONS(5576), + [anon_sym_DOT_STAR] = ACTIONS(5574), + [anon_sym_DASH_GT] = ACTIONS(5574), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5574), + [sym_auto] = ACTIONS(5576), + [anon_sym_decltype] = ACTIONS(5576), + }, + [2284] = { + [sym__identifier] = ACTIONS(5185), + [aux_sym_preproc_def_token1] = ACTIONS(5185), + [aux_sym_preproc_if_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5185), + [sym_preproc_directive] = ACTIONS(5185), + [anon_sym_LPAREN2] = ACTIONS(5187), + [anon_sym_TILDE] = ACTIONS(5187), + [anon_sym_STAR] = ACTIONS(5187), + [anon_sym_AMP_AMP] = ACTIONS(5187), + [anon_sym_AMP] = ACTIONS(5185), + [anon_sym___extension__] = ACTIONS(5185), + [anon_sym_typedef] = ACTIONS(5185), + [anon_sym_extern] = ACTIONS(5185), + [anon_sym___attribute__] = ACTIONS(5185), + [anon_sym_COLON_COLON] = ACTIONS(5187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5187), + [anon_sym___declspec] = ACTIONS(5185), + [anon_sym___based] = ACTIONS(5185), + [anon_sym_RBRACE] = ACTIONS(5187), + [anon_sym_signed] = ACTIONS(5185), + [anon_sym_unsigned] = ACTIONS(5185), + [anon_sym_long] = ACTIONS(5185), + [anon_sym_short] = ACTIONS(5185), + [anon_sym_LBRACK] = ACTIONS(5185), + [anon_sym_static] = ACTIONS(5185), + [anon_sym_register] = ACTIONS(5185), + [anon_sym_inline] = ACTIONS(5185), + [anon_sym___inline] = ACTIONS(5185), + [anon_sym___inline__] = ACTIONS(5185), + [anon_sym___forceinline] = ACTIONS(5185), + [anon_sym_thread_local] = ACTIONS(5185), + [anon_sym___thread] = ACTIONS(5185), + [anon_sym_const] = ACTIONS(5185), + [anon_sym_constexpr] = ACTIONS(5185), + [anon_sym_volatile] = ACTIONS(5185), + [anon_sym_restrict] = ACTIONS(5185), + [anon_sym___restrict__] = ACTIONS(5185), + [anon_sym__Atomic] = ACTIONS(5185), + [anon_sym__Noreturn] = ACTIONS(5185), + [anon_sym_noreturn] = ACTIONS(5185), + [anon_sym_mutable] = ACTIONS(5185), + [anon_sym_constinit] = ACTIONS(5185), + [anon_sym_consteval] = ACTIONS(5185), + [anon_sym_alignas] = ACTIONS(5185), + [anon_sym__Alignas] = ACTIONS(5185), + [sym_primitive_type] = ACTIONS(5185), + [anon_sym_enum] = ACTIONS(5185), + [anon_sym_class] = ACTIONS(5185), + [anon_sym_struct] = ACTIONS(5185), + [anon_sym_union] = ACTIONS(5185), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5187), + [sym_auto] = ACTIONS(5185), + [anon_sym_decltype] = ACTIONS(5185), + [sym_virtual] = ACTIONS(5185), + [anon_sym_explicit] = ACTIONS(5185), + [anon_sym_typename] = ACTIONS(5185), + [anon_sym_template] = ACTIONS(5185), + [anon_sym_operator] = ACTIONS(5185), + [anon_sym_friend] = ACTIONS(5185), + [anon_sym_public] = ACTIONS(5185), + [anon_sym_private] = ACTIONS(5185), + [anon_sym_protected] = ACTIONS(5185), + [anon_sym_using] = ACTIONS(5185), + [anon_sym_static_assert] = ACTIONS(5185), + }, + [2285] = { + [sym__identifier] = ACTIONS(5197), + [aux_sym_preproc_def_token1] = ACTIONS(5197), + [aux_sym_preproc_if_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(5197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(5197), + [sym_preproc_directive] = ACTIONS(5197), + [anon_sym_LPAREN2] = ACTIONS(5199), + [anon_sym_TILDE] = ACTIONS(5199), + [anon_sym_STAR] = ACTIONS(5199), + [anon_sym_AMP_AMP] = ACTIONS(5199), + [anon_sym_AMP] = ACTIONS(5197), + [anon_sym___extension__] = ACTIONS(5197), + [anon_sym_typedef] = ACTIONS(5197), + [anon_sym_extern] = ACTIONS(5197), + [anon_sym___attribute__] = ACTIONS(5197), + [anon_sym_COLON_COLON] = ACTIONS(5199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5199), + [anon_sym___declspec] = ACTIONS(5197), + [anon_sym___based] = ACTIONS(5197), + [anon_sym_RBRACE] = ACTIONS(5199), + [anon_sym_signed] = ACTIONS(5197), + [anon_sym_unsigned] = ACTIONS(5197), + [anon_sym_long] = ACTIONS(5197), + [anon_sym_short] = ACTIONS(5197), + [anon_sym_LBRACK] = ACTIONS(5197), + [anon_sym_static] = ACTIONS(5197), + [anon_sym_register] = ACTIONS(5197), + [anon_sym_inline] = ACTIONS(5197), + [anon_sym___inline] = ACTIONS(5197), + [anon_sym___inline__] = ACTIONS(5197), + [anon_sym___forceinline] = ACTIONS(5197), + [anon_sym_thread_local] = ACTIONS(5197), + [anon_sym___thread] = ACTIONS(5197), + [anon_sym_const] = ACTIONS(5197), + [anon_sym_constexpr] = ACTIONS(5197), + [anon_sym_volatile] = ACTIONS(5197), + [anon_sym_restrict] = ACTIONS(5197), + [anon_sym___restrict__] = ACTIONS(5197), + [anon_sym__Atomic] = ACTIONS(5197), + [anon_sym__Noreturn] = ACTIONS(5197), + [anon_sym_noreturn] = ACTIONS(5197), + [anon_sym_mutable] = ACTIONS(5197), + [anon_sym_constinit] = ACTIONS(5197), + [anon_sym_consteval] = ACTIONS(5197), + [anon_sym_alignas] = ACTIONS(5197), + [anon_sym__Alignas] = ACTIONS(5197), + [sym_primitive_type] = ACTIONS(5197), + [anon_sym_enum] = ACTIONS(5197), + [anon_sym_class] = ACTIONS(5197), + [anon_sym_struct] = ACTIONS(5197), + [anon_sym_union] = ACTIONS(5197), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5199), + [sym_auto] = ACTIONS(5197), + [anon_sym_decltype] = ACTIONS(5197), + [sym_virtual] = ACTIONS(5197), + [anon_sym_explicit] = ACTIONS(5197), + [anon_sym_typename] = ACTIONS(5197), + [anon_sym_template] = ACTIONS(5197), + [anon_sym_operator] = ACTIONS(5197), + [anon_sym_friend] = ACTIONS(5197), + [anon_sym_public] = ACTIONS(5197), + [anon_sym_private] = ACTIONS(5197), + [anon_sym_protected] = ACTIONS(5197), + [anon_sym_using] = ACTIONS(5197), + [anon_sym_static_assert] = ACTIONS(5197), + }, + [2286] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4979), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_enum] = ACTIONS(4977), + [anon_sym_class] = ACTIONS(4977), + [anon_sym_struct] = ACTIONS(4977), + [anon_sym_union] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_explicit] = ACTIONS(4977), + [anon_sym_typename] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_friend] = ACTIONS(4977), + [anon_sym_using] = ACTIONS(4977), + [anon_sym_concept] = ACTIONS(4977), + }, + [2287] = { + [sym__identifier] = ACTIONS(2404), + [anon_sym_LPAREN2] = ACTIONS(2402), + [anon_sym_TILDE] = ACTIONS(2402), + [anon_sym_STAR] = ACTIONS(2402), + [anon_sym_PIPE_PIPE] = ACTIONS(2402), + [anon_sym_AMP_AMP] = ACTIONS(2402), + [anon_sym_AMP] = ACTIONS(2404), + [anon_sym___extension__] = ACTIONS(2404), + [anon_sym_extern] = ACTIONS(2404), + [anon_sym___attribute__] = ACTIONS(2404), + [anon_sym_COLON_COLON] = ACTIONS(2402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2402), + [anon_sym___declspec] = ACTIONS(2404), + [anon_sym___based] = ACTIONS(2404), + [anon_sym___cdecl] = ACTIONS(2404), + [anon_sym___clrcall] = ACTIONS(2404), + [anon_sym___stdcall] = ACTIONS(2404), + [anon_sym___fastcall] = ACTIONS(2404), + [anon_sym___thiscall] = ACTIONS(2404), + [anon_sym___vectorcall] = ACTIONS(2404), + [anon_sym_signed] = ACTIONS(2404), + [anon_sym_unsigned] = ACTIONS(2404), + [anon_sym_long] = ACTIONS(2404), + [anon_sym_short] = ACTIONS(2404), + [anon_sym_LBRACK] = ACTIONS(2404), + [anon_sym_static] = ACTIONS(2404), + [anon_sym_register] = ACTIONS(2404), + [anon_sym_inline] = ACTIONS(2404), + [anon_sym___inline] = ACTIONS(2404), + [anon_sym___inline__] = ACTIONS(2404), + [anon_sym___forceinline] = ACTIONS(2404), + [anon_sym_thread_local] = ACTIONS(2404), + [anon_sym___thread] = ACTIONS(2404), + [anon_sym_const] = ACTIONS(2404), + [anon_sym_constexpr] = ACTIONS(2404), + [anon_sym_volatile] = ACTIONS(2404), + [anon_sym_restrict] = ACTIONS(2404), + [anon_sym___restrict__] = ACTIONS(2404), + [anon_sym__Atomic] = ACTIONS(2404), + [anon_sym__Noreturn] = ACTIONS(2404), + [anon_sym_noreturn] = ACTIONS(2404), + [anon_sym_mutable] = ACTIONS(2404), + [anon_sym_constinit] = ACTIONS(2404), + [anon_sym_consteval] = ACTIONS(2404), + [anon_sym_alignas] = ACTIONS(2404), + [anon_sym__Alignas] = ACTIONS(2404), + [sym_primitive_type] = ACTIONS(2404), + [anon_sym_enum] = ACTIONS(2404), + [anon_sym_class] = ACTIONS(2404), + [anon_sym_struct] = ACTIONS(2404), + [anon_sym_union] = ACTIONS(2404), + [anon_sym_or] = ACTIONS(2404), + [anon_sym_and] = ACTIONS(2404), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2402), + [sym_auto] = ACTIONS(2404), + [anon_sym_decltype] = ACTIONS(2404), + [sym_virtual] = ACTIONS(2404), + [anon_sym_explicit] = ACTIONS(2404), + [anon_sym_typename] = ACTIONS(2404), + [anon_sym_template] = ACTIONS(2404), + [anon_sym_operator] = ACTIONS(2404), + [anon_sym_friend] = ACTIONS(2404), + [anon_sym_using] = ACTIONS(2404), + [anon_sym_concept] = ACTIONS(2404), + }, + [2288] = { + [sym__identifier] = ACTIONS(4598), + [anon_sym_LPAREN2] = ACTIONS(4600), + [anon_sym_TILDE] = ACTIONS(4600), + [anon_sym_STAR] = ACTIONS(4600), + [anon_sym_PIPE_PIPE] = ACTIONS(4600), + [anon_sym_AMP_AMP] = ACTIONS(4600), + [anon_sym_AMP] = ACTIONS(4598), + [anon_sym___extension__] = ACTIONS(4598), + [anon_sym_extern] = ACTIONS(4598), + [anon_sym___attribute__] = ACTIONS(4598), + [anon_sym_COLON_COLON] = ACTIONS(4600), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4600), + [anon_sym___declspec] = ACTIONS(4598), + [anon_sym___based] = ACTIONS(4598), + [anon_sym___cdecl] = ACTIONS(4598), + [anon_sym___clrcall] = ACTIONS(4598), + [anon_sym___stdcall] = ACTIONS(4598), + [anon_sym___fastcall] = ACTIONS(4598), + [anon_sym___thiscall] = ACTIONS(4598), + [anon_sym___vectorcall] = ACTIONS(4598), + [anon_sym_signed] = ACTIONS(4598), + [anon_sym_unsigned] = ACTIONS(4598), + [anon_sym_long] = ACTIONS(4598), + [anon_sym_short] = ACTIONS(4598), + [anon_sym_LBRACK] = ACTIONS(4598), + [anon_sym_static] = ACTIONS(4598), + [anon_sym_register] = ACTIONS(4598), + [anon_sym_inline] = ACTIONS(4598), + [anon_sym___inline] = ACTIONS(4598), + [anon_sym___inline__] = ACTIONS(4598), + [anon_sym___forceinline] = ACTIONS(4598), + [anon_sym_thread_local] = ACTIONS(4598), + [anon_sym___thread] = ACTIONS(4598), + [anon_sym_const] = ACTIONS(4598), + [anon_sym_constexpr] = ACTIONS(4598), + [anon_sym_volatile] = ACTIONS(4598), + [anon_sym_restrict] = ACTIONS(4598), + [anon_sym___restrict__] = ACTIONS(4598), + [anon_sym__Atomic] = ACTIONS(4598), + [anon_sym__Noreturn] = ACTIONS(4598), + [anon_sym_noreturn] = ACTIONS(4598), + [anon_sym_mutable] = ACTIONS(4598), + [anon_sym_constinit] = ACTIONS(4598), + [anon_sym_consteval] = ACTIONS(4598), + [anon_sym_alignas] = ACTIONS(4598), + [anon_sym__Alignas] = ACTIONS(4598), + [sym_primitive_type] = ACTIONS(4598), + [anon_sym_enum] = ACTIONS(4598), + [anon_sym_class] = ACTIONS(4598), + [anon_sym_struct] = ACTIONS(4598), + [anon_sym_union] = ACTIONS(4598), + [anon_sym_or] = ACTIONS(4598), + [anon_sym_and] = ACTIONS(4598), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4600), + [sym_auto] = ACTIONS(4598), + [anon_sym_decltype] = ACTIONS(4598), + [sym_virtual] = ACTIONS(4598), + [anon_sym_explicit] = ACTIONS(4598), + [anon_sym_typename] = ACTIONS(4598), + [anon_sym_template] = ACTIONS(4598), + [anon_sym_operator] = ACTIONS(4598), + [anon_sym_friend] = ACTIONS(4598), + [anon_sym_using] = ACTIONS(4598), + [anon_sym_concept] = ACTIONS(4598), + }, + [2289] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(4002), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4002), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(3996), + [anon_sym_SLASH_EQ] = ACTIONS(3996), + [anon_sym_PERCENT_EQ] = ACTIONS(3996), + [anon_sym_PLUS_EQ] = ACTIONS(3996), + [anon_sym_DASH_EQ] = ACTIONS(3996), + [anon_sym_LT_LT_EQ] = ACTIONS(3996), + [anon_sym_GT_GT_EQ] = ACTIONS(4002), + [anon_sym_AMP_EQ] = ACTIONS(3996), + [anon_sym_CARET_EQ] = ACTIONS(3996), + [anon_sym_PIPE_EQ] = ACTIONS(3996), + [anon_sym_and_eq] = ACTIONS(4002), + [anon_sym_or_eq] = ACTIONS(4002), + [anon_sym_xor_eq] = ACTIONS(4002), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_GT2] = ACTIONS(3996), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2290] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_RPAREN] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1865), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [anon_sym_DASH_GT_STAR] = ACTIONS(1867), + [sym_literal_suffix] = ACTIONS(1865), + }, + [2291] = { + [sym__identifier] = ACTIONS(4627), + [anon_sym_LPAREN2] = ACTIONS(4629), + [anon_sym_TILDE] = ACTIONS(4629), + [anon_sym_STAR] = ACTIONS(4629), + [anon_sym_PIPE_PIPE] = ACTIONS(4629), + [anon_sym_AMP_AMP] = ACTIONS(4629), + [anon_sym_AMP] = ACTIONS(4627), + [anon_sym___extension__] = ACTIONS(4627), + [anon_sym_extern] = ACTIONS(4627), + [anon_sym___attribute__] = ACTIONS(4627), + [anon_sym_COLON_COLON] = ACTIONS(4629), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4629), + [anon_sym___declspec] = ACTIONS(4627), + [anon_sym___based] = ACTIONS(4627), + [anon_sym___cdecl] = ACTIONS(4627), + [anon_sym___clrcall] = ACTIONS(4627), + [anon_sym___stdcall] = ACTIONS(4627), + [anon_sym___fastcall] = ACTIONS(4627), + [anon_sym___thiscall] = ACTIONS(4627), + [anon_sym___vectorcall] = ACTIONS(4627), + [anon_sym_signed] = ACTIONS(4627), + [anon_sym_unsigned] = ACTIONS(4627), + [anon_sym_long] = ACTIONS(4627), + [anon_sym_short] = ACTIONS(4627), + [anon_sym_LBRACK] = ACTIONS(4627), + [anon_sym_static] = ACTIONS(4627), + [anon_sym_register] = ACTIONS(4627), + [anon_sym_inline] = ACTIONS(4627), + [anon_sym___inline] = ACTIONS(4627), + [anon_sym___inline__] = ACTIONS(4627), + [anon_sym___forceinline] = ACTIONS(4627), + [anon_sym_thread_local] = ACTIONS(4627), + [anon_sym___thread] = ACTIONS(4627), + [anon_sym_const] = ACTIONS(4627), + [anon_sym_constexpr] = ACTIONS(4627), + [anon_sym_volatile] = ACTIONS(4627), + [anon_sym_restrict] = ACTIONS(4627), + [anon_sym___restrict__] = ACTIONS(4627), + [anon_sym__Atomic] = ACTIONS(4627), + [anon_sym__Noreturn] = ACTIONS(4627), + [anon_sym_noreturn] = ACTIONS(4627), + [anon_sym_mutable] = ACTIONS(4627), + [anon_sym_constinit] = ACTIONS(4627), + [anon_sym_consteval] = ACTIONS(4627), + [anon_sym_alignas] = ACTIONS(4627), + [anon_sym__Alignas] = ACTIONS(4627), + [sym_primitive_type] = ACTIONS(4627), + [anon_sym_enum] = ACTIONS(4627), + [anon_sym_class] = ACTIONS(4627), + [anon_sym_struct] = ACTIONS(4627), + [anon_sym_union] = ACTIONS(4627), + [anon_sym_or] = ACTIONS(4627), + [anon_sym_and] = ACTIONS(4627), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4629), + [sym_auto] = ACTIONS(4627), + [anon_sym_decltype] = ACTIONS(4627), + [sym_virtual] = ACTIONS(4627), + [anon_sym_explicit] = ACTIONS(4627), + [anon_sym_typename] = ACTIONS(4627), + [anon_sym_template] = ACTIONS(4627), + [anon_sym_operator] = ACTIONS(4627), + [anon_sym_friend] = ACTIONS(4627), + [anon_sym_using] = ACTIONS(4627), + [anon_sym_concept] = ACTIONS(4627), + }, + [2292] = { + [sym__identifier] = ACTIONS(5008), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5010), + [anon_sym_COMMA] = ACTIONS(5010), + [anon_sym_RPAREN] = ACTIONS(5010), + [anon_sym_LPAREN2] = ACTIONS(5010), + [anon_sym_TILDE] = ACTIONS(5010), + [anon_sym_STAR] = ACTIONS(5010), + [anon_sym_PIPE_PIPE] = ACTIONS(5010), + [anon_sym_AMP_AMP] = ACTIONS(5010), + [anon_sym_AMP] = ACTIONS(5008), + [anon_sym_SEMI] = ACTIONS(5010), + [anon_sym___extension__] = ACTIONS(5008), + [anon_sym_extern] = ACTIONS(5008), + [anon_sym___attribute__] = ACTIONS(5008), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5010), + [anon_sym___declspec] = ACTIONS(5008), + [anon_sym___based] = ACTIONS(5008), + [anon_sym___cdecl] = ACTIONS(5008), + [anon_sym___clrcall] = ACTIONS(5008), + [anon_sym___stdcall] = ACTIONS(5008), + [anon_sym___fastcall] = ACTIONS(5008), + [anon_sym___thiscall] = ACTIONS(5008), + [anon_sym___vectorcall] = ACTIONS(5008), + [anon_sym_LBRACE] = ACTIONS(5010), + [anon_sym_LBRACK] = ACTIONS(5008), + [anon_sym_static] = ACTIONS(5008), + [anon_sym_EQ] = ACTIONS(5010), + [anon_sym_register] = ACTIONS(5008), + [anon_sym_inline] = ACTIONS(5008), + [anon_sym___inline] = ACTIONS(5008), + [anon_sym___inline__] = ACTIONS(5008), + [anon_sym___forceinline] = ACTIONS(5008), + [anon_sym_thread_local] = ACTIONS(5008), + [anon_sym___thread] = ACTIONS(5008), + [anon_sym_const] = ACTIONS(5008), + [anon_sym_constexpr] = ACTIONS(5008), + [anon_sym_volatile] = ACTIONS(5008), + [anon_sym_restrict] = ACTIONS(5008), + [anon_sym___restrict__] = ACTIONS(5008), + [anon_sym__Atomic] = ACTIONS(5008), + [anon_sym__Noreturn] = ACTIONS(5008), + [anon_sym_noreturn] = ACTIONS(5008), + [anon_sym_mutable] = ACTIONS(5008), + [anon_sym_constinit] = ACTIONS(5008), + [anon_sym_consteval] = ACTIONS(5008), + [anon_sym_alignas] = ACTIONS(5008), + [anon_sym__Alignas] = ACTIONS(5008), + [anon_sym_COLON] = ACTIONS(5008), + [anon_sym_or] = ACTIONS(5008), + [anon_sym_and] = ACTIONS(5008), + [anon_sym_asm] = ACTIONS(5008), + [anon_sym___asm__] = ACTIONS(5008), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5010), + [sym_auto] = ACTIONS(5008), + [anon_sym_decltype] = ACTIONS(5008), + [anon_sym_final] = ACTIONS(5008), + [anon_sym_override] = ACTIONS(5008), + [sym_virtual] = ACTIONS(5008), + [anon_sym_template] = ACTIONS(5008), + [anon_sym_GT2] = ACTIONS(5010), + [anon_sym_operator] = ACTIONS(5008), + [anon_sym_try] = ACTIONS(5008), + [anon_sym_requires] = ACTIONS(5008), + }, + [2293] = { + [sym__identifier] = ACTIONS(4916), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4918), + [anon_sym_COMMA] = ACTIONS(4918), + [anon_sym_LPAREN2] = ACTIONS(4918), + [anon_sym_DASH] = ACTIONS(4916), + [anon_sym_PLUS] = ACTIONS(4916), + [anon_sym_STAR] = ACTIONS(4916), + [anon_sym_SLASH] = ACTIONS(4916), + [anon_sym_PERCENT] = ACTIONS(4916), + [anon_sym_PIPE_PIPE] = ACTIONS(4918), + [anon_sym_AMP_AMP] = ACTIONS(4918), + [anon_sym_PIPE] = ACTIONS(4916), + [anon_sym_CARET] = ACTIONS(4916), + [anon_sym_AMP] = ACTIONS(4916), + [anon_sym_EQ_EQ] = ACTIONS(4918), + [anon_sym_BANG_EQ] = ACTIONS(4918), + [anon_sym_GT] = ACTIONS(4916), + [anon_sym_GT_EQ] = ACTIONS(4918), + [anon_sym_LT_EQ] = ACTIONS(4916), + [anon_sym_LT] = ACTIONS(4916), + [anon_sym_LT_LT] = ACTIONS(4916), + [anon_sym_GT_GT] = ACTIONS(4916), + [anon_sym_SEMI] = ACTIONS(4918), + [anon_sym___attribute__] = ACTIONS(4916), + [anon_sym_LBRACK] = ACTIONS(4918), + [anon_sym_EQ] = ACTIONS(4916), + [anon_sym_QMARK] = ACTIONS(4918), + [anon_sym_STAR_EQ] = ACTIONS(4918), + [anon_sym_SLASH_EQ] = ACTIONS(4918), + [anon_sym_PERCENT_EQ] = ACTIONS(4918), + [anon_sym_PLUS_EQ] = ACTIONS(4918), + [anon_sym_DASH_EQ] = ACTIONS(4918), + [anon_sym_LT_LT_EQ] = ACTIONS(4918), + [anon_sym_GT_GT_EQ] = ACTIONS(4918), + [anon_sym_AMP_EQ] = ACTIONS(4918), + [anon_sym_CARET_EQ] = ACTIONS(4918), + [anon_sym_PIPE_EQ] = ACTIONS(4918), + [anon_sym_and_eq] = ACTIONS(4916), + [anon_sym_or_eq] = ACTIONS(4916), + [anon_sym_xor_eq] = ACTIONS(4916), + [anon_sym_LT_EQ_GT] = ACTIONS(4918), + [anon_sym_or] = ACTIONS(4916), + [anon_sym_and] = ACTIONS(4916), + [anon_sym_bitor] = ACTIONS(4916), + [anon_sym_xor] = ACTIONS(4916), + [anon_sym_bitand] = ACTIONS(4916), + [anon_sym_not_eq] = ACTIONS(4916), + [anon_sym_DASH_DASH] = ACTIONS(4918), + [anon_sym_PLUS_PLUS] = ACTIONS(4918), + [anon_sym_DOT] = ACTIONS(4916), + [anon_sym_DOT_STAR] = ACTIONS(4918), + [anon_sym_DASH_GT] = ACTIONS(4918), + [anon_sym_L_DQUOTE] = ACTIONS(4918), + [anon_sym_u_DQUOTE] = ACTIONS(4918), + [anon_sym_U_DQUOTE] = ACTIONS(4918), + [anon_sym_u8_DQUOTE] = ACTIONS(4918), + [anon_sym_DQUOTE] = ACTIONS(4918), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4918), + [anon_sym_R_DQUOTE] = ACTIONS(4918), + [anon_sym_LR_DQUOTE] = ACTIONS(4918), + [anon_sym_uR_DQUOTE] = ACTIONS(4918), + [anon_sym_UR_DQUOTE] = ACTIONS(4918), + [anon_sym_u8R_DQUOTE] = ACTIONS(4918), + [sym_literal_suffix] = ACTIONS(4916), + }, + [2294] = { + [sym__identifier] = ACTIONS(5008), + [anon_sym_LPAREN2] = ACTIONS(5010), + [anon_sym_TILDE] = ACTIONS(5010), + [anon_sym_STAR] = ACTIONS(5010), + [anon_sym_PIPE_PIPE] = ACTIONS(5010), + [anon_sym_AMP_AMP] = ACTIONS(5010), + [anon_sym_AMP] = ACTIONS(5008), + [anon_sym___extension__] = ACTIONS(5008), + [anon_sym_extern] = ACTIONS(5008), + [anon_sym___attribute__] = ACTIONS(5008), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5010), + [anon_sym___declspec] = ACTIONS(5008), + [anon_sym___based] = ACTIONS(5008), + [anon_sym___cdecl] = ACTIONS(5008), + [anon_sym___clrcall] = ACTIONS(5008), + [anon_sym___stdcall] = ACTIONS(5008), + [anon_sym___fastcall] = ACTIONS(5008), + [anon_sym___thiscall] = ACTIONS(5008), + [anon_sym___vectorcall] = ACTIONS(5008), + [anon_sym_signed] = ACTIONS(5008), + [anon_sym_unsigned] = ACTIONS(5008), + [anon_sym_long] = ACTIONS(5008), + [anon_sym_short] = ACTIONS(5008), + [anon_sym_LBRACK] = ACTIONS(5008), + [anon_sym_static] = ACTIONS(5008), + [anon_sym_register] = ACTIONS(5008), + [anon_sym_inline] = ACTIONS(5008), + [anon_sym___inline] = ACTIONS(5008), + [anon_sym___inline__] = ACTIONS(5008), + [anon_sym___forceinline] = ACTIONS(5008), + [anon_sym_thread_local] = ACTIONS(5008), + [anon_sym___thread] = ACTIONS(5008), + [anon_sym_const] = ACTIONS(5008), + [anon_sym_constexpr] = ACTIONS(5008), + [anon_sym_volatile] = ACTIONS(5008), + [anon_sym_restrict] = ACTIONS(5008), + [anon_sym___restrict__] = ACTIONS(5008), + [anon_sym__Atomic] = ACTIONS(5008), + [anon_sym__Noreturn] = ACTIONS(5008), + [anon_sym_noreturn] = ACTIONS(5008), + [anon_sym_mutable] = ACTIONS(5008), + [anon_sym_constinit] = ACTIONS(5008), + [anon_sym_consteval] = ACTIONS(5008), + [anon_sym_alignas] = ACTIONS(5008), + [anon_sym__Alignas] = ACTIONS(5008), + [sym_primitive_type] = ACTIONS(5008), + [anon_sym_enum] = ACTIONS(5008), + [anon_sym_class] = ACTIONS(5008), + [anon_sym_struct] = ACTIONS(5008), + [anon_sym_union] = ACTIONS(5008), + [anon_sym_or] = ACTIONS(5008), + [anon_sym_and] = ACTIONS(5008), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5010), + [sym_auto] = ACTIONS(5008), + [anon_sym_decltype] = ACTIONS(5008), + [sym_virtual] = ACTIONS(5008), + [anon_sym_explicit] = ACTIONS(5008), + [anon_sym_typename] = ACTIONS(5008), + [anon_sym_template] = ACTIONS(5008), + [anon_sym_operator] = ACTIONS(5008), + [anon_sym_friend] = ACTIONS(5008), + [anon_sym_using] = ACTIONS(5008), + [anon_sym_concept] = ACTIONS(5008), + }, + [2295] = { + [aux_sym_sized_type_specifier_repeat1] = STATE(2279), + [sym__identifier] = ACTIONS(5012), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5014), + [anon_sym_COMMA] = ACTIONS(5014), + [aux_sym_preproc_if_token2] = ACTIONS(5014), + [aux_sym_preproc_else_token1] = ACTIONS(5014), + [aux_sym_preproc_elif_token1] = ACTIONS(5012), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5014), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5014), + [anon_sym_LPAREN2] = ACTIONS(5014), + [anon_sym_DASH] = ACTIONS(5012), + [anon_sym_PLUS] = ACTIONS(5012), + [anon_sym_STAR] = ACTIONS(5012), + [anon_sym_SLASH] = ACTIONS(5012), + [anon_sym_PERCENT] = ACTIONS(5012), + [anon_sym_PIPE_PIPE] = ACTIONS(5014), + [anon_sym_AMP_AMP] = ACTIONS(5014), + [anon_sym_PIPE] = ACTIONS(5012), + [anon_sym_CARET] = ACTIONS(5012), + [anon_sym_AMP] = ACTIONS(5012), + [anon_sym_EQ_EQ] = ACTIONS(5014), + [anon_sym_BANG_EQ] = ACTIONS(5014), + [anon_sym_GT] = ACTIONS(5012), + [anon_sym_GT_EQ] = ACTIONS(5014), + [anon_sym_LT_EQ] = ACTIONS(5012), + [anon_sym_LT] = ACTIONS(5012), + [anon_sym_LT_LT] = ACTIONS(5012), + [anon_sym_GT_GT] = ACTIONS(5012), + [anon_sym_LBRACE] = ACTIONS(5014), + [anon_sym_signed] = ACTIONS(5730), + [anon_sym_unsigned] = ACTIONS(5730), + [anon_sym_long] = ACTIONS(5730), + [anon_sym_short] = ACTIONS(5730), + [anon_sym_LBRACK] = ACTIONS(5014), + [anon_sym_EQ] = ACTIONS(5012), + [anon_sym_QMARK] = ACTIONS(5014), + [anon_sym_STAR_EQ] = ACTIONS(5014), + [anon_sym_SLASH_EQ] = ACTIONS(5014), + [anon_sym_PERCENT_EQ] = ACTIONS(5014), + [anon_sym_PLUS_EQ] = ACTIONS(5014), + [anon_sym_DASH_EQ] = ACTIONS(5014), + [anon_sym_LT_LT_EQ] = ACTIONS(5014), + [anon_sym_GT_GT_EQ] = ACTIONS(5014), + [anon_sym_AMP_EQ] = ACTIONS(5014), + [anon_sym_CARET_EQ] = ACTIONS(5014), + [anon_sym_PIPE_EQ] = ACTIONS(5014), + [anon_sym_and_eq] = ACTIONS(5012), + [anon_sym_or_eq] = ACTIONS(5012), + [anon_sym_xor_eq] = ACTIONS(5012), + [anon_sym_LT_EQ_GT] = ACTIONS(5014), + [anon_sym_or] = ACTIONS(5012), + [anon_sym_and] = ACTIONS(5012), + [anon_sym_bitor] = ACTIONS(5012), + [anon_sym_xor] = ACTIONS(5012), + [anon_sym_bitand] = ACTIONS(5012), + [anon_sym_not_eq] = ACTIONS(5012), + [anon_sym_DASH_DASH] = ACTIONS(5014), + [anon_sym_PLUS_PLUS] = ACTIONS(5014), + [anon_sym_DOT] = ACTIONS(5012), + [anon_sym_DOT_STAR] = ACTIONS(5014), + [anon_sym_DASH_GT] = ACTIONS(5014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5014), + [sym_auto] = ACTIONS(5012), + [anon_sym_decltype] = ACTIONS(5012), + }, + [2296] = { + [sym_identifier] = STATE(2550), + [aux_sym_sized_type_specifier_repeat1] = STATE(2367), + [sym__identifier] = ACTIONS(2236), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5038), + [anon_sym_COMMA] = ACTIONS(5038), + [anon_sym_RPAREN] = ACTIONS(5038), + [anon_sym_LPAREN2] = ACTIONS(5038), + [anon_sym_DASH] = ACTIONS(5040), + [anon_sym_PLUS] = ACTIONS(5040), + [anon_sym_STAR] = ACTIONS(5040), + [anon_sym_SLASH] = ACTIONS(5040), + [anon_sym_PERCENT] = ACTIONS(5040), + [anon_sym_PIPE_PIPE] = ACTIONS(5038), + [anon_sym_AMP_AMP] = ACTIONS(5038), + [anon_sym_PIPE] = ACTIONS(5040), + [anon_sym_CARET] = ACTIONS(5040), + [anon_sym_AMP] = ACTIONS(5040), + [anon_sym_EQ_EQ] = ACTIONS(5038), + [anon_sym_BANG_EQ] = ACTIONS(5038), + [anon_sym_GT] = ACTIONS(5040), + [anon_sym_GT_EQ] = ACTIONS(5038), + [anon_sym_LT_EQ] = ACTIONS(5040), + [anon_sym_LT] = ACTIONS(5040), + [anon_sym_LT_LT] = ACTIONS(5040), + [anon_sym_GT_GT] = ACTIONS(5040), + [anon_sym___attribute__] = ACTIONS(5040), + [anon_sym_LBRACE] = ACTIONS(5038), + [anon_sym_signed] = ACTIONS(5746), + [anon_sym_unsigned] = ACTIONS(5746), + [anon_sym_long] = ACTIONS(5746), + [anon_sym_short] = ACTIONS(5746), + [anon_sym_LBRACK] = ACTIONS(5038), + [anon_sym_EQ] = ACTIONS(5040), + [sym_primitive_type] = ACTIONS(5748), + [anon_sym_QMARK] = ACTIONS(5038), + [anon_sym_STAR_EQ] = ACTIONS(5038), + [anon_sym_SLASH_EQ] = ACTIONS(5038), + [anon_sym_PERCENT_EQ] = ACTIONS(5038), + [anon_sym_PLUS_EQ] = ACTIONS(5038), + [anon_sym_DASH_EQ] = ACTIONS(5038), + [anon_sym_LT_LT_EQ] = ACTIONS(5038), + [anon_sym_GT_GT_EQ] = ACTIONS(5038), + [anon_sym_AMP_EQ] = ACTIONS(5038), + [anon_sym_CARET_EQ] = ACTIONS(5038), + [anon_sym_PIPE_EQ] = ACTIONS(5038), + [anon_sym_and_eq] = ACTIONS(5040), + [anon_sym_or_eq] = ACTIONS(5040), + [anon_sym_xor_eq] = ACTIONS(5040), + [anon_sym_LT_EQ_GT] = ACTIONS(5038), + [anon_sym_or] = ACTIONS(5040), + [anon_sym_and] = ACTIONS(5040), + [anon_sym_bitor] = ACTIONS(5040), + [anon_sym_xor] = ACTIONS(5040), + [anon_sym_bitand] = ACTIONS(5040), + [anon_sym_not_eq] = ACTIONS(5040), + [anon_sym_DASH_DASH] = ACTIONS(5038), + [anon_sym_PLUS_PLUS] = ACTIONS(5038), + [anon_sym_DOT] = ACTIONS(5040), + [anon_sym_DOT_STAR] = ACTIONS(5038), + [anon_sym_DASH_GT] = ACTIONS(5040), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5750), + [sym_auto] = ACTIONS(5040), + [anon_sym_decltype] = ACTIONS(5040), + [anon_sym_DASH_GT_STAR] = ACTIONS(5038), + }, + [2297] = { + [sym__identifier] = ACTIONS(4916), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4918), + [anon_sym_COMMA] = ACTIONS(4918), + [anon_sym_RPAREN] = ACTIONS(4918), + [anon_sym_LPAREN2] = ACTIONS(4918), + [anon_sym_DASH] = ACTIONS(4916), + [anon_sym_PLUS] = ACTIONS(4916), + [anon_sym_STAR] = ACTIONS(4916), + [anon_sym_SLASH] = ACTIONS(4916), + [anon_sym_PERCENT] = ACTIONS(4916), + [anon_sym_PIPE_PIPE] = ACTIONS(4918), + [anon_sym_AMP_AMP] = ACTIONS(4918), + [anon_sym_PIPE] = ACTIONS(4916), + [anon_sym_CARET] = ACTIONS(4916), + [anon_sym_AMP] = ACTIONS(4916), + [anon_sym_EQ_EQ] = ACTIONS(4918), + [anon_sym_BANG_EQ] = ACTIONS(4918), + [anon_sym_GT] = ACTIONS(4916), + [anon_sym_GT_EQ] = ACTIONS(4918), + [anon_sym_LT_EQ] = ACTIONS(4916), + [anon_sym_LT] = ACTIONS(4916), + [anon_sym_LT_LT] = ACTIONS(4916), + [anon_sym_GT_GT] = ACTIONS(4916), + [anon_sym_LBRACK] = ACTIONS(4918), + [anon_sym_EQ] = ACTIONS(4916), + [anon_sym_QMARK] = ACTIONS(4918), + [anon_sym_STAR_EQ] = ACTIONS(4918), + [anon_sym_SLASH_EQ] = ACTIONS(4918), + [anon_sym_PERCENT_EQ] = ACTIONS(4918), + [anon_sym_PLUS_EQ] = ACTIONS(4918), + [anon_sym_DASH_EQ] = ACTIONS(4918), + [anon_sym_LT_LT_EQ] = ACTIONS(4918), + [anon_sym_GT_GT_EQ] = ACTIONS(4918), + [anon_sym_AMP_EQ] = ACTIONS(4918), + [anon_sym_CARET_EQ] = ACTIONS(4918), + [anon_sym_PIPE_EQ] = ACTIONS(4918), + [anon_sym_and_eq] = ACTIONS(4916), + [anon_sym_or_eq] = ACTIONS(4916), + [anon_sym_xor_eq] = ACTIONS(4916), + [anon_sym_LT_EQ_GT] = ACTIONS(4918), + [anon_sym_or] = ACTIONS(4916), + [anon_sym_and] = ACTIONS(4916), + [anon_sym_bitor] = ACTIONS(4916), + [anon_sym_xor] = ACTIONS(4916), + [anon_sym_bitand] = ACTIONS(4916), + [anon_sym_not_eq] = ACTIONS(4916), + [anon_sym_DASH_DASH] = ACTIONS(4918), + [anon_sym_PLUS_PLUS] = ACTIONS(4918), + [anon_sym_DOT] = ACTIONS(4916), + [anon_sym_DOT_STAR] = ACTIONS(4918), + [anon_sym_DASH_GT] = ACTIONS(4916), + [anon_sym_L_DQUOTE] = ACTIONS(4918), + [anon_sym_u_DQUOTE] = ACTIONS(4918), + [anon_sym_U_DQUOTE] = ACTIONS(4918), + [anon_sym_u8_DQUOTE] = ACTIONS(4918), + [anon_sym_DQUOTE] = ACTIONS(4918), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4918), + [anon_sym_R_DQUOTE] = ACTIONS(4918), + [anon_sym_LR_DQUOTE] = ACTIONS(4918), + [anon_sym_uR_DQUOTE] = ACTIONS(4918), + [anon_sym_UR_DQUOTE] = ACTIONS(4918), + [anon_sym_u8R_DQUOTE] = ACTIONS(4918), + [anon_sym_DASH_GT_STAR] = ACTIONS(4918), + [sym_literal_suffix] = ACTIONS(4916), + }, + [2298] = { + [sym__identifier] = ACTIONS(4908), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4910), + [anon_sym_COMMA] = ACTIONS(4910), + [anon_sym_RPAREN] = ACTIONS(4910), + [anon_sym_LPAREN2] = ACTIONS(4910), + [anon_sym_DASH] = ACTIONS(4908), + [anon_sym_PLUS] = ACTIONS(4908), + [anon_sym_STAR] = ACTIONS(4908), + [anon_sym_SLASH] = ACTIONS(4908), + [anon_sym_PERCENT] = ACTIONS(4908), + [anon_sym_PIPE_PIPE] = ACTIONS(4910), + [anon_sym_AMP_AMP] = ACTIONS(4910), + [anon_sym_PIPE] = ACTIONS(4908), + [anon_sym_CARET] = ACTIONS(4908), + [anon_sym_AMP] = ACTIONS(4908), + [anon_sym_EQ_EQ] = ACTIONS(4910), + [anon_sym_BANG_EQ] = ACTIONS(4910), + [anon_sym_GT] = ACTIONS(4908), + [anon_sym_GT_EQ] = ACTIONS(4910), + [anon_sym_LT_EQ] = ACTIONS(4908), + [anon_sym_LT] = ACTIONS(4908), + [anon_sym_LT_LT] = ACTIONS(4908), + [anon_sym_GT_GT] = ACTIONS(4908), + [anon_sym_LBRACK] = ACTIONS(4910), + [anon_sym_EQ] = ACTIONS(4908), + [anon_sym_QMARK] = ACTIONS(4910), + [anon_sym_STAR_EQ] = ACTIONS(4910), + [anon_sym_SLASH_EQ] = ACTIONS(4910), + [anon_sym_PERCENT_EQ] = ACTIONS(4910), + [anon_sym_PLUS_EQ] = ACTIONS(4910), + [anon_sym_DASH_EQ] = ACTIONS(4910), + [anon_sym_LT_LT_EQ] = ACTIONS(4910), + [anon_sym_GT_GT_EQ] = ACTIONS(4910), + [anon_sym_AMP_EQ] = ACTIONS(4910), + [anon_sym_CARET_EQ] = ACTIONS(4910), + [anon_sym_PIPE_EQ] = ACTIONS(4910), + [anon_sym_and_eq] = ACTIONS(4908), + [anon_sym_or_eq] = ACTIONS(4908), + [anon_sym_xor_eq] = ACTIONS(4908), + [anon_sym_LT_EQ_GT] = ACTIONS(4910), + [anon_sym_or] = ACTIONS(4908), + [anon_sym_and] = ACTIONS(4908), + [anon_sym_bitor] = ACTIONS(4908), + [anon_sym_xor] = ACTIONS(4908), + [anon_sym_bitand] = ACTIONS(4908), + [anon_sym_not_eq] = ACTIONS(4908), + [anon_sym_DASH_DASH] = ACTIONS(4910), + [anon_sym_PLUS_PLUS] = ACTIONS(4910), + [anon_sym_DOT] = ACTIONS(4908), + [anon_sym_DOT_STAR] = ACTIONS(4910), + [anon_sym_DASH_GT] = ACTIONS(4908), + [anon_sym_L_DQUOTE] = ACTIONS(4910), + [anon_sym_u_DQUOTE] = ACTIONS(4910), + [anon_sym_U_DQUOTE] = ACTIONS(4910), + [anon_sym_u8_DQUOTE] = ACTIONS(4910), + [anon_sym_DQUOTE] = ACTIONS(4910), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4910), + [anon_sym_R_DQUOTE] = ACTIONS(4910), + [anon_sym_LR_DQUOTE] = ACTIONS(4910), + [anon_sym_uR_DQUOTE] = ACTIONS(4910), + [anon_sym_UR_DQUOTE] = ACTIONS(4910), + [anon_sym_u8R_DQUOTE] = ACTIONS(4910), + [anon_sym_DASH_GT_STAR] = ACTIONS(4910), + [sym_literal_suffix] = ACTIONS(4908), + }, + [2299] = { + [sym__identifier] = ACTIONS(2452), + [anon_sym_LPAREN2] = ACTIONS(2450), + [anon_sym_TILDE] = ACTIONS(2450), + [anon_sym_STAR] = ACTIONS(2450), + [anon_sym_PIPE_PIPE] = ACTIONS(2450), + [anon_sym_AMP_AMP] = ACTIONS(2450), + [anon_sym_AMP] = ACTIONS(2452), + [anon_sym___extension__] = ACTIONS(2452), + [anon_sym_extern] = ACTIONS(2452), + [anon_sym___attribute__] = ACTIONS(2452), + [anon_sym_COLON_COLON] = ACTIONS(2450), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2450), + [anon_sym___declspec] = ACTIONS(2452), + [anon_sym___based] = ACTIONS(2452), + [anon_sym___cdecl] = ACTIONS(2452), + [anon_sym___clrcall] = ACTIONS(2452), + [anon_sym___stdcall] = ACTIONS(2452), + [anon_sym___fastcall] = ACTIONS(2452), + [anon_sym___thiscall] = ACTIONS(2452), + [anon_sym___vectorcall] = ACTIONS(2452), + [anon_sym_signed] = ACTIONS(2452), + [anon_sym_unsigned] = ACTIONS(2452), + [anon_sym_long] = ACTIONS(2452), + [anon_sym_short] = ACTIONS(2452), + [anon_sym_LBRACK] = ACTIONS(2452), + [anon_sym_static] = ACTIONS(2452), + [anon_sym_register] = ACTIONS(2452), + [anon_sym_inline] = ACTIONS(2452), + [anon_sym___inline] = ACTIONS(2452), + [anon_sym___inline__] = ACTIONS(2452), + [anon_sym___forceinline] = ACTIONS(2452), + [anon_sym_thread_local] = ACTIONS(2452), + [anon_sym___thread] = ACTIONS(2452), + [anon_sym_const] = ACTIONS(2452), + [anon_sym_constexpr] = ACTIONS(2452), + [anon_sym_volatile] = ACTIONS(2452), + [anon_sym_restrict] = ACTIONS(2452), + [anon_sym___restrict__] = ACTIONS(2452), + [anon_sym__Atomic] = ACTIONS(2452), + [anon_sym__Noreturn] = ACTIONS(2452), + [anon_sym_noreturn] = ACTIONS(2452), + [anon_sym_mutable] = ACTIONS(2452), + [anon_sym_constinit] = ACTIONS(2452), + [anon_sym_consteval] = ACTIONS(2452), + [anon_sym_alignas] = ACTIONS(2452), + [anon_sym__Alignas] = ACTIONS(2452), + [sym_primitive_type] = ACTIONS(2452), + [anon_sym_enum] = ACTIONS(2452), + [anon_sym_class] = ACTIONS(2452), + [anon_sym_struct] = ACTIONS(2452), + [anon_sym_union] = ACTIONS(2452), + [anon_sym_or] = ACTIONS(2452), + [anon_sym_and] = ACTIONS(2452), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(2450), + [sym_auto] = ACTIONS(2452), + [anon_sym_decltype] = ACTIONS(2452), + [sym_virtual] = ACTIONS(2452), + [anon_sym_explicit] = ACTIONS(2452), + [anon_sym_typename] = ACTIONS(2452), + [anon_sym_template] = ACTIONS(2452), + [anon_sym_operator] = ACTIONS(2452), + [anon_sym_friend] = ACTIONS(2452), + [anon_sym_using] = ACTIONS(2452), + [anon_sym_concept] = ACTIONS(2452), + }, + [2300] = { + [sym__identifier] = ACTIONS(4635), + [anon_sym_LPAREN2] = ACTIONS(4637), + [anon_sym_TILDE] = ACTIONS(4637), + [anon_sym_STAR] = ACTIONS(4637), + [anon_sym_PIPE_PIPE] = ACTIONS(4637), + [anon_sym_AMP_AMP] = ACTIONS(4637), + [anon_sym_AMP] = ACTIONS(4635), + [anon_sym___extension__] = ACTIONS(4635), + [anon_sym_extern] = ACTIONS(4635), + [anon_sym___attribute__] = ACTIONS(4635), + [anon_sym_COLON_COLON] = ACTIONS(4637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4637), + [anon_sym___declspec] = ACTIONS(4635), + [anon_sym___based] = ACTIONS(4635), + [anon_sym___cdecl] = ACTIONS(4635), + [anon_sym___clrcall] = ACTIONS(4635), + [anon_sym___stdcall] = ACTIONS(4635), + [anon_sym___fastcall] = ACTIONS(4635), + [anon_sym___thiscall] = ACTIONS(4635), + [anon_sym___vectorcall] = ACTIONS(4635), + [anon_sym_signed] = ACTIONS(4635), + [anon_sym_unsigned] = ACTIONS(4635), + [anon_sym_long] = ACTIONS(4635), + [anon_sym_short] = ACTIONS(4635), + [anon_sym_LBRACK] = ACTIONS(4635), + [anon_sym_static] = ACTIONS(4635), + [anon_sym_register] = ACTIONS(4635), + [anon_sym_inline] = ACTIONS(4635), + [anon_sym___inline] = ACTIONS(4635), + [anon_sym___inline__] = ACTIONS(4635), + [anon_sym___forceinline] = ACTIONS(4635), + [anon_sym_thread_local] = ACTIONS(4635), + [anon_sym___thread] = ACTIONS(4635), + [anon_sym_const] = ACTIONS(4635), + [anon_sym_constexpr] = ACTIONS(4635), + [anon_sym_volatile] = ACTIONS(4635), + [anon_sym_restrict] = ACTIONS(4635), + [anon_sym___restrict__] = ACTIONS(4635), + [anon_sym__Atomic] = ACTIONS(4635), + [anon_sym__Noreturn] = ACTIONS(4635), + [anon_sym_noreturn] = ACTIONS(4635), + [anon_sym_mutable] = ACTIONS(4635), + [anon_sym_constinit] = ACTIONS(4635), + [anon_sym_consteval] = ACTIONS(4635), + [anon_sym_alignas] = ACTIONS(4635), + [anon_sym__Alignas] = ACTIONS(4635), + [sym_primitive_type] = ACTIONS(4635), + [anon_sym_enum] = ACTIONS(4635), + [anon_sym_class] = ACTIONS(4635), + [anon_sym_struct] = ACTIONS(4635), + [anon_sym_union] = ACTIONS(4635), + [anon_sym_or] = ACTIONS(4635), + [anon_sym_and] = ACTIONS(4635), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4637), + [sym_auto] = ACTIONS(4635), + [anon_sym_decltype] = ACTIONS(4635), + [sym_virtual] = ACTIONS(4635), + [anon_sym_explicit] = ACTIONS(4635), + [anon_sym_typename] = ACTIONS(4635), + [anon_sym_template] = ACTIONS(4635), + [anon_sym_operator] = ACTIONS(4635), + [anon_sym_friend] = ACTIONS(4635), + [anon_sym_using] = ACTIONS(4635), + [anon_sym_concept] = ACTIONS(4635), + }, + [2301] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_enum] = ACTIONS(4977), + [anon_sym_class] = ACTIONS(4977), + [anon_sym_struct] = ACTIONS(4977), + [anon_sym_union] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_explicit] = ACTIONS(4977), + [anon_sym_typename] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_friend] = ACTIONS(4977), + [anon_sym_using] = ACTIONS(4977), + [anon_sym_concept] = ACTIONS(4977), + }, + [2302] = { + [sym__identifier] = ACTIONS(5752), + [anon_sym_LPAREN2] = ACTIONS(5754), + [anon_sym_TILDE] = ACTIONS(5754), + [anon_sym_STAR] = ACTIONS(5754), + [anon_sym_PIPE_PIPE] = ACTIONS(5754), + [anon_sym_AMP_AMP] = ACTIONS(5756), + [anon_sym_AMP] = ACTIONS(5752), + [anon_sym___extension__] = ACTIONS(5752), + [anon_sym_extern] = ACTIONS(5752), + [anon_sym___attribute__] = ACTIONS(5752), + [anon_sym_COLON_COLON] = ACTIONS(5754), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5754), + [anon_sym___declspec] = ACTIONS(5752), + [anon_sym___based] = ACTIONS(5752), + [anon_sym___cdecl] = ACTIONS(5752), + [anon_sym___clrcall] = ACTIONS(5752), + [anon_sym___stdcall] = ACTIONS(5752), + [anon_sym___fastcall] = ACTIONS(5752), + [anon_sym___thiscall] = ACTIONS(5752), + [anon_sym___vectorcall] = ACTIONS(5752), + [anon_sym_signed] = ACTIONS(5752), + [anon_sym_unsigned] = ACTIONS(5752), + [anon_sym_long] = ACTIONS(5752), + [anon_sym_short] = ACTIONS(5752), + [anon_sym_LBRACK] = ACTIONS(5752), + [anon_sym_static] = ACTIONS(5752), + [anon_sym_register] = ACTIONS(5752), + [anon_sym_inline] = ACTIONS(5752), + [anon_sym___inline] = ACTIONS(5752), + [anon_sym___inline__] = ACTIONS(5752), + [anon_sym___forceinline] = ACTIONS(5752), + [anon_sym_thread_local] = ACTIONS(5752), + [anon_sym___thread] = ACTIONS(5752), + [anon_sym_const] = ACTIONS(5752), + [anon_sym_constexpr] = ACTIONS(5752), + [anon_sym_volatile] = ACTIONS(5752), + [anon_sym_restrict] = ACTIONS(5752), + [anon_sym___restrict__] = ACTIONS(5752), + [anon_sym__Atomic] = ACTIONS(5752), + [anon_sym__Noreturn] = ACTIONS(5752), + [anon_sym_noreturn] = ACTIONS(5752), + [anon_sym_mutable] = ACTIONS(5752), + [anon_sym_constinit] = ACTIONS(5752), + [anon_sym_consteval] = ACTIONS(5752), + [anon_sym_alignas] = ACTIONS(5752), + [anon_sym__Alignas] = ACTIONS(5752), + [sym_primitive_type] = ACTIONS(5752), + [anon_sym_enum] = ACTIONS(5752), + [anon_sym_class] = ACTIONS(5752), + [anon_sym_struct] = ACTIONS(5752), + [anon_sym_union] = ACTIONS(5752), + [anon_sym_or] = ACTIONS(5752), + [anon_sym_and] = ACTIONS(5758), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5754), + [sym_auto] = ACTIONS(5752), + [anon_sym_decltype] = ACTIONS(5752), + [sym_virtual] = ACTIONS(5752), + [anon_sym_explicit] = ACTIONS(5752), + [anon_sym_typename] = ACTIONS(5752), + [anon_sym_template] = ACTIONS(5752), + [anon_sym_operator] = ACTIONS(5752), + [anon_sym_friend] = ACTIONS(5752), + [anon_sym_using] = ACTIONS(5752), + [anon_sym_concept] = ACTIONS(5752), + }, + [2303] = { + [sym__identifier] = ACTIONS(4606), + [anon_sym_LPAREN2] = ACTIONS(4608), + [anon_sym_TILDE] = ACTIONS(4608), + [anon_sym_STAR] = ACTIONS(4608), + [anon_sym_PIPE_PIPE] = ACTIONS(4608), + [anon_sym_AMP_AMP] = ACTIONS(4608), + [anon_sym_AMP] = ACTIONS(4606), + [anon_sym___extension__] = ACTIONS(4606), + [anon_sym_extern] = ACTIONS(4606), + [anon_sym___attribute__] = ACTIONS(4606), + [anon_sym_COLON_COLON] = ACTIONS(4608), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4608), + [anon_sym___declspec] = ACTIONS(4606), + [anon_sym___based] = ACTIONS(4606), + [anon_sym___cdecl] = ACTIONS(4606), + [anon_sym___clrcall] = ACTIONS(4606), + [anon_sym___stdcall] = ACTIONS(4606), + [anon_sym___fastcall] = ACTIONS(4606), + [anon_sym___thiscall] = ACTIONS(4606), + [anon_sym___vectorcall] = ACTIONS(4606), + [anon_sym_signed] = ACTIONS(4606), + [anon_sym_unsigned] = ACTIONS(4606), + [anon_sym_long] = ACTIONS(4606), + [anon_sym_short] = ACTIONS(4606), + [anon_sym_LBRACK] = ACTIONS(4606), + [anon_sym_static] = ACTIONS(4606), + [anon_sym_register] = ACTIONS(4606), + [anon_sym_inline] = ACTIONS(4606), + [anon_sym___inline] = ACTIONS(4606), + [anon_sym___inline__] = ACTIONS(4606), + [anon_sym___forceinline] = ACTIONS(4606), + [anon_sym_thread_local] = ACTIONS(4606), + [anon_sym___thread] = ACTIONS(4606), + [anon_sym_const] = ACTIONS(4606), + [anon_sym_constexpr] = ACTIONS(4606), + [anon_sym_volatile] = ACTIONS(4606), + [anon_sym_restrict] = ACTIONS(4606), + [anon_sym___restrict__] = ACTIONS(4606), + [anon_sym__Atomic] = ACTIONS(4606), + [anon_sym__Noreturn] = ACTIONS(4606), + [anon_sym_noreturn] = ACTIONS(4606), + [anon_sym_mutable] = ACTIONS(4606), + [anon_sym_constinit] = ACTIONS(4606), + [anon_sym_consteval] = ACTIONS(4606), + [anon_sym_alignas] = ACTIONS(4606), + [anon_sym__Alignas] = ACTIONS(4606), + [sym_primitive_type] = ACTIONS(4606), + [anon_sym_enum] = ACTIONS(4606), + [anon_sym_class] = ACTIONS(4606), + [anon_sym_struct] = ACTIONS(4606), + [anon_sym_union] = ACTIONS(4606), + [anon_sym_or] = ACTIONS(4606), + [anon_sym_and] = ACTIONS(4606), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4608), + [sym_auto] = ACTIONS(4606), + [anon_sym_decltype] = ACTIONS(4606), + [sym_virtual] = ACTIONS(4606), + [anon_sym_explicit] = ACTIONS(4606), + [anon_sym_typename] = ACTIONS(4606), + [anon_sym_template] = ACTIONS(4606), + [anon_sym_operator] = ACTIONS(4606), + [anon_sym_friend] = ACTIONS(4606), + [anon_sym_using] = ACTIONS(4606), + [anon_sym_concept] = ACTIONS(4606), + }, + [2304] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_signed] = ACTIONS(4977), + [anon_sym_unsigned] = ACTIONS(4977), + [anon_sym_long] = ACTIONS(4977), + [anon_sym_short] = ACTIONS(4977), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [sym_primitive_type] = ACTIONS(4977), + [anon_sym_enum] = ACTIONS(4977), + [anon_sym_class] = ACTIONS(4977), + [anon_sym_struct] = ACTIONS(4977), + [anon_sym_union] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_explicit] = ACTIONS(4977), + [anon_sym_typename] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_friend] = ACTIONS(4977), + [anon_sym_using] = ACTIONS(4977), + [anon_sym_concept] = ACTIONS(4977), + }, + [2305] = { + [sym__identifier] = ACTIONS(5760), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5762), + [anon_sym_COMMA] = ACTIONS(5762), + [anon_sym_RPAREN] = ACTIONS(5762), + [aux_sym_preproc_if_token2] = ACTIONS(5762), + [aux_sym_preproc_else_token1] = ACTIONS(5762), + [aux_sym_preproc_elif_token1] = ACTIONS(5760), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5762), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5762), + [anon_sym_LPAREN2] = ACTIONS(5762), + [anon_sym_DASH] = ACTIONS(5760), + [anon_sym_PLUS] = ACTIONS(5760), + [anon_sym_STAR] = ACTIONS(5760), + [anon_sym_SLASH] = ACTIONS(5760), + [anon_sym_PERCENT] = ACTIONS(5760), + [anon_sym_PIPE_PIPE] = ACTIONS(5762), + [anon_sym_AMP_AMP] = ACTIONS(5762), + [anon_sym_PIPE] = ACTIONS(5760), + [anon_sym_CARET] = ACTIONS(5760), + [anon_sym_AMP] = ACTIONS(5760), + [anon_sym_EQ_EQ] = ACTIONS(5762), + [anon_sym_BANG_EQ] = ACTIONS(5762), + [anon_sym_GT] = ACTIONS(5760), + [anon_sym_GT_EQ] = ACTIONS(5762), + [anon_sym_LT_EQ] = ACTIONS(5760), + [anon_sym_LT] = ACTIONS(5760), + [anon_sym_LT_LT] = ACTIONS(5760), + [anon_sym_GT_GT] = ACTIONS(5760), + [anon_sym_SEMI] = ACTIONS(5762), + [anon_sym___attribute__] = ACTIONS(5760), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(5762), + [anon_sym_RBRACE] = ACTIONS(5762), + [anon_sym_LBRACK] = ACTIONS(5762), + [anon_sym_RBRACK] = ACTIONS(5762), + [anon_sym_EQ] = ACTIONS(5760), + [anon_sym_COLON] = ACTIONS(5760), + [anon_sym_QMARK] = ACTIONS(5762), + [anon_sym_STAR_EQ] = ACTIONS(5762), + [anon_sym_SLASH_EQ] = ACTIONS(5762), + [anon_sym_PERCENT_EQ] = ACTIONS(5762), + [anon_sym_PLUS_EQ] = ACTIONS(5762), + [anon_sym_DASH_EQ] = ACTIONS(5762), + [anon_sym_LT_LT_EQ] = ACTIONS(5762), + [anon_sym_GT_GT_EQ] = ACTIONS(5762), + [anon_sym_AMP_EQ] = ACTIONS(5762), + [anon_sym_CARET_EQ] = ACTIONS(5762), + [anon_sym_PIPE_EQ] = ACTIONS(5762), + [anon_sym_and_eq] = ACTIONS(5760), + [anon_sym_or_eq] = ACTIONS(5760), + [anon_sym_xor_eq] = ACTIONS(5760), + [anon_sym_LT_EQ_GT] = ACTIONS(5762), + [anon_sym_or] = ACTIONS(5760), + [anon_sym_and] = ACTIONS(5760), + [anon_sym_bitor] = ACTIONS(5760), + [anon_sym_xor] = ACTIONS(5760), + [anon_sym_bitand] = ACTIONS(5760), + [anon_sym_not_eq] = ACTIONS(5760), + [anon_sym_DASH_DASH] = ACTIONS(5762), + [anon_sym_PLUS_PLUS] = ACTIONS(5762), + [anon_sym_DOT] = ACTIONS(5760), + [anon_sym_DOT_STAR] = ACTIONS(5762), + [anon_sym_DASH_GT] = ACTIONS(5762), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5762), + }, + [2306] = { + [sym__identifier] = ACTIONS(4602), + [anon_sym_LPAREN2] = ACTIONS(4604), + [anon_sym_TILDE] = ACTIONS(4604), + [anon_sym_STAR] = ACTIONS(4604), + [anon_sym_PIPE_PIPE] = ACTIONS(4604), + [anon_sym_AMP_AMP] = ACTIONS(4604), + [anon_sym_AMP] = ACTIONS(4602), + [anon_sym___extension__] = ACTIONS(4602), + [anon_sym_extern] = ACTIONS(4602), + [anon_sym___attribute__] = ACTIONS(4602), + [anon_sym_COLON_COLON] = ACTIONS(4604), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4604), + [anon_sym___declspec] = ACTIONS(4602), + [anon_sym___based] = ACTIONS(4602), + [anon_sym___cdecl] = ACTIONS(4602), + [anon_sym___clrcall] = ACTIONS(4602), + [anon_sym___stdcall] = ACTIONS(4602), + [anon_sym___fastcall] = ACTIONS(4602), + [anon_sym___thiscall] = ACTIONS(4602), + [anon_sym___vectorcall] = ACTIONS(4602), + [anon_sym_signed] = ACTIONS(4602), + [anon_sym_unsigned] = ACTIONS(4602), + [anon_sym_long] = ACTIONS(4602), + [anon_sym_short] = ACTIONS(4602), + [anon_sym_LBRACK] = ACTIONS(4602), + [anon_sym_static] = ACTIONS(4602), + [anon_sym_register] = ACTIONS(4602), + [anon_sym_inline] = ACTIONS(4602), + [anon_sym___inline] = ACTIONS(4602), + [anon_sym___inline__] = ACTIONS(4602), + [anon_sym___forceinline] = ACTIONS(4602), + [anon_sym_thread_local] = ACTIONS(4602), + [anon_sym___thread] = ACTIONS(4602), + [anon_sym_const] = ACTIONS(4602), + [anon_sym_constexpr] = ACTIONS(4602), + [anon_sym_volatile] = ACTIONS(4602), + [anon_sym_restrict] = ACTIONS(4602), + [anon_sym___restrict__] = ACTIONS(4602), + [anon_sym__Atomic] = ACTIONS(4602), + [anon_sym__Noreturn] = ACTIONS(4602), + [anon_sym_noreturn] = ACTIONS(4602), + [anon_sym_mutable] = ACTIONS(4602), + [anon_sym_constinit] = ACTIONS(4602), + [anon_sym_consteval] = ACTIONS(4602), + [anon_sym_alignas] = ACTIONS(4602), + [anon_sym__Alignas] = ACTIONS(4602), + [sym_primitive_type] = ACTIONS(4602), + [anon_sym_enum] = ACTIONS(4602), + [anon_sym_class] = ACTIONS(4602), + [anon_sym_struct] = ACTIONS(4602), + [anon_sym_union] = ACTIONS(4602), + [anon_sym_or] = ACTIONS(4602), + [anon_sym_and] = ACTIONS(4602), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4604), + [sym_auto] = ACTIONS(4602), + [anon_sym_decltype] = ACTIONS(4602), + [sym_virtual] = ACTIONS(4602), + [anon_sym_explicit] = ACTIONS(4602), + [anon_sym_typename] = ACTIONS(4602), + [anon_sym_template] = ACTIONS(4602), + [anon_sym_operator] = ACTIONS(4602), + [anon_sym_friend] = ACTIONS(4602), + [anon_sym_using] = ACTIONS(4602), + [anon_sym_concept] = ACTIONS(4602), + }, + [2307] = { + [sym__identifier] = ACTIONS(4639), + [anon_sym_LPAREN2] = ACTIONS(4641), + [anon_sym_TILDE] = ACTIONS(4641), + [anon_sym_STAR] = ACTIONS(4641), + [anon_sym_PIPE_PIPE] = ACTIONS(4641), + [anon_sym_AMP_AMP] = ACTIONS(4641), + [anon_sym_AMP] = ACTIONS(4639), + [anon_sym___extension__] = ACTIONS(4639), + [anon_sym_extern] = ACTIONS(4639), + [anon_sym___attribute__] = ACTIONS(4639), + [anon_sym_COLON_COLON] = ACTIONS(4641), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4641), + [anon_sym___declspec] = ACTIONS(4639), + [anon_sym___based] = ACTIONS(4639), + [anon_sym___cdecl] = ACTIONS(4639), + [anon_sym___clrcall] = ACTIONS(4639), + [anon_sym___stdcall] = ACTIONS(4639), + [anon_sym___fastcall] = ACTIONS(4639), + [anon_sym___thiscall] = ACTIONS(4639), + [anon_sym___vectorcall] = ACTIONS(4639), + [anon_sym_signed] = ACTIONS(4639), + [anon_sym_unsigned] = ACTIONS(4639), + [anon_sym_long] = ACTIONS(4639), + [anon_sym_short] = ACTIONS(4639), + [anon_sym_LBRACK] = ACTIONS(4639), + [anon_sym_static] = ACTIONS(4639), + [anon_sym_register] = ACTIONS(4639), + [anon_sym_inline] = ACTIONS(4639), + [anon_sym___inline] = ACTIONS(4639), + [anon_sym___inline__] = ACTIONS(4639), + [anon_sym___forceinline] = ACTIONS(4639), + [anon_sym_thread_local] = ACTIONS(4639), + [anon_sym___thread] = ACTIONS(4639), + [anon_sym_const] = ACTIONS(4639), + [anon_sym_constexpr] = ACTIONS(4639), + [anon_sym_volatile] = ACTIONS(4639), + [anon_sym_restrict] = ACTIONS(4639), + [anon_sym___restrict__] = ACTIONS(4639), + [anon_sym__Atomic] = ACTIONS(4639), + [anon_sym__Noreturn] = ACTIONS(4639), + [anon_sym_noreturn] = ACTIONS(4639), + [anon_sym_mutable] = ACTIONS(4639), + [anon_sym_constinit] = ACTIONS(4639), + [anon_sym_consteval] = ACTIONS(4639), + [anon_sym_alignas] = ACTIONS(4639), + [anon_sym__Alignas] = ACTIONS(4639), + [sym_primitive_type] = ACTIONS(4639), + [anon_sym_enum] = ACTIONS(4639), + [anon_sym_class] = ACTIONS(4639), + [anon_sym_struct] = ACTIONS(4639), + [anon_sym_union] = ACTIONS(4639), + [anon_sym_or] = ACTIONS(4639), + [anon_sym_and] = ACTIONS(4639), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4641), + [sym_auto] = ACTIONS(4639), + [anon_sym_decltype] = ACTIONS(4639), + [sym_virtual] = ACTIONS(4639), + [anon_sym_explicit] = ACTIONS(4639), + [anon_sym_typename] = ACTIONS(4639), + [anon_sym_template] = ACTIONS(4639), + [anon_sym_operator] = ACTIONS(4639), + [anon_sym_friend] = ACTIONS(4639), + [anon_sym_using] = ACTIONS(4639), + [anon_sym_concept] = ACTIONS(4639), + }, + [2308] = { + [sym_new_declarator] = STATE(2342), + [sym__identifier] = ACTIONS(5764), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5766), + [anon_sym_COMMA] = ACTIONS(5766), + [anon_sym_RPAREN] = ACTIONS(5766), + [aux_sym_preproc_if_token2] = ACTIONS(5766), + [aux_sym_preproc_else_token1] = ACTIONS(5766), + [aux_sym_preproc_elif_token1] = ACTIONS(5764), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5766), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5766), + [anon_sym_LPAREN2] = ACTIONS(5766), + [anon_sym_DASH] = ACTIONS(5764), + [anon_sym_PLUS] = ACTIONS(5764), + [anon_sym_STAR] = ACTIONS(5764), + [anon_sym_SLASH] = ACTIONS(5764), + [anon_sym_PERCENT] = ACTIONS(5764), + [anon_sym_PIPE_PIPE] = ACTIONS(5766), + [anon_sym_AMP_AMP] = ACTIONS(5766), + [anon_sym_PIPE] = ACTIONS(5764), + [anon_sym_CARET] = ACTIONS(5764), + [anon_sym_AMP] = ACTIONS(5764), + [anon_sym_EQ_EQ] = ACTIONS(5766), + [anon_sym_BANG_EQ] = ACTIONS(5766), + [anon_sym_GT] = ACTIONS(5764), + [anon_sym_GT_EQ] = ACTIONS(5766), + [anon_sym_LT_EQ] = ACTIONS(5764), + [anon_sym_LT] = ACTIONS(5764), + [anon_sym_LT_LT] = ACTIONS(5764), + [anon_sym_GT_GT] = ACTIONS(5764), + [anon_sym_SEMI] = ACTIONS(5766), + [anon_sym___attribute__] = ACTIONS(5764), + [anon_sym_LBRACE] = ACTIONS(5766), + [anon_sym_RBRACE] = ACTIONS(5766), + [anon_sym_LBRACK] = ACTIONS(5054), + [anon_sym_RBRACK] = ACTIONS(5766), + [anon_sym_EQ] = ACTIONS(5764), + [anon_sym_COLON] = ACTIONS(5766), + [anon_sym_QMARK] = ACTIONS(5766), + [anon_sym_STAR_EQ] = ACTIONS(5766), + [anon_sym_SLASH_EQ] = ACTIONS(5766), + [anon_sym_PERCENT_EQ] = ACTIONS(5766), + [anon_sym_PLUS_EQ] = ACTIONS(5766), + [anon_sym_DASH_EQ] = ACTIONS(5766), + [anon_sym_LT_LT_EQ] = ACTIONS(5766), + [anon_sym_GT_GT_EQ] = ACTIONS(5766), + [anon_sym_AMP_EQ] = ACTIONS(5766), + [anon_sym_CARET_EQ] = ACTIONS(5766), + [anon_sym_PIPE_EQ] = ACTIONS(5766), + [anon_sym_and_eq] = ACTIONS(5764), + [anon_sym_or_eq] = ACTIONS(5764), + [anon_sym_xor_eq] = ACTIONS(5764), + [anon_sym_LT_EQ_GT] = ACTIONS(5766), + [anon_sym_or] = ACTIONS(5764), + [anon_sym_and] = ACTIONS(5764), + [anon_sym_bitor] = ACTIONS(5764), + [anon_sym_xor] = ACTIONS(5764), + [anon_sym_bitand] = ACTIONS(5764), + [anon_sym_not_eq] = ACTIONS(5764), + [anon_sym_DASH_DASH] = ACTIONS(5766), + [anon_sym_PLUS_PLUS] = ACTIONS(5766), + [anon_sym_DOT] = ACTIONS(5764), + [anon_sym_DOT_STAR] = ACTIONS(5766), + [anon_sym_DASH_GT] = ACTIONS(5766), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5766), + }, + [2309] = { + [sym__identifier] = ACTIONS(4912), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4914), + [anon_sym_COMMA] = ACTIONS(4914), + [anon_sym_RPAREN] = ACTIONS(4914), + [anon_sym_LPAREN2] = ACTIONS(4914), + [anon_sym_DASH] = ACTIONS(4912), + [anon_sym_PLUS] = ACTIONS(4912), + [anon_sym_STAR] = ACTIONS(4912), + [anon_sym_SLASH] = ACTIONS(4912), + [anon_sym_PERCENT] = ACTIONS(4912), + [anon_sym_PIPE_PIPE] = ACTIONS(4914), + [anon_sym_AMP_AMP] = ACTIONS(4914), + [anon_sym_PIPE] = ACTIONS(4912), + [anon_sym_CARET] = ACTIONS(4912), + [anon_sym_AMP] = ACTIONS(4912), + [anon_sym_EQ_EQ] = ACTIONS(4914), + [anon_sym_BANG_EQ] = ACTIONS(4914), + [anon_sym_GT] = ACTIONS(4912), + [anon_sym_GT_EQ] = ACTIONS(4914), + [anon_sym_LT_EQ] = ACTIONS(4912), + [anon_sym_LT] = ACTIONS(4912), + [anon_sym_LT_LT] = ACTIONS(4912), + [anon_sym_GT_GT] = ACTIONS(4912), + [anon_sym_LBRACK] = ACTIONS(4914), + [anon_sym_EQ] = ACTIONS(4912), + [anon_sym_QMARK] = ACTIONS(4914), + [anon_sym_STAR_EQ] = ACTIONS(4914), + [anon_sym_SLASH_EQ] = ACTIONS(4914), + [anon_sym_PERCENT_EQ] = ACTIONS(4914), + [anon_sym_PLUS_EQ] = ACTIONS(4914), + [anon_sym_DASH_EQ] = ACTIONS(4914), + [anon_sym_LT_LT_EQ] = ACTIONS(4914), + [anon_sym_GT_GT_EQ] = ACTIONS(4914), + [anon_sym_AMP_EQ] = ACTIONS(4914), + [anon_sym_CARET_EQ] = ACTIONS(4914), + [anon_sym_PIPE_EQ] = ACTIONS(4914), + [anon_sym_and_eq] = ACTIONS(4912), + [anon_sym_or_eq] = ACTIONS(4912), + [anon_sym_xor_eq] = ACTIONS(4912), + [anon_sym_LT_EQ_GT] = ACTIONS(4914), + [anon_sym_or] = ACTIONS(4912), + [anon_sym_and] = ACTIONS(4912), + [anon_sym_bitor] = ACTIONS(4912), + [anon_sym_xor] = ACTIONS(4912), + [anon_sym_bitand] = ACTIONS(4912), + [anon_sym_not_eq] = ACTIONS(4912), + [anon_sym_DASH_DASH] = ACTIONS(4914), + [anon_sym_PLUS_PLUS] = ACTIONS(4914), + [anon_sym_DOT] = ACTIONS(4912), + [anon_sym_DOT_STAR] = ACTIONS(4914), + [anon_sym_DASH_GT] = ACTIONS(4912), + [anon_sym_L_DQUOTE] = ACTIONS(4914), + [anon_sym_u_DQUOTE] = ACTIONS(4914), + [anon_sym_U_DQUOTE] = ACTIONS(4914), + [anon_sym_u8_DQUOTE] = ACTIONS(4914), + [anon_sym_DQUOTE] = ACTIONS(4914), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4914), + [anon_sym_R_DQUOTE] = ACTIONS(4914), + [anon_sym_LR_DQUOTE] = ACTIONS(4914), + [anon_sym_uR_DQUOTE] = ACTIONS(4914), + [anon_sym_UR_DQUOTE] = ACTIONS(4914), + [anon_sym_u8R_DQUOTE] = ACTIONS(4914), + [anon_sym_DASH_GT_STAR] = ACTIONS(4914), + [sym_literal_suffix] = ACTIONS(4912), + }, + [2310] = { + [sym__identifier] = ACTIONS(4912), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4914), + [anon_sym_COMMA] = ACTIONS(4914), + [anon_sym_LPAREN2] = ACTIONS(4914), + [anon_sym_DASH] = ACTIONS(4912), + [anon_sym_PLUS] = ACTIONS(4912), + [anon_sym_STAR] = ACTIONS(4912), + [anon_sym_SLASH] = ACTIONS(4912), + [anon_sym_PERCENT] = ACTIONS(4912), + [anon_sym_PIPE_PIPE] = ACTIONS(4914), + [anon_sym_AMP_AMP] = ACTIONS(4914), + [anon_sym_PIPE] = ACTIONS(4912), + [anon_sym_CARET] = ACTIONS(4912), + [anon_sym_AMP] = ACTIONS(4912), + [anon_sym_EQ_EQ] = ACTIONS(4914), + [anon_sym_BANG_EQ] = ACTIONS(4914), + [anon_sym_GT] = ACTIONS(4912), + [anon_sym_GT_EQ] = ACTIONS(4914), + [anon_sym_LT_EQ] = ACTIONS(4912), + [anon_sym_LT] = ACTIONS(4912), + [anon_sym_LT_LT] = ACTIONS(4912), + [anon_sym_GT_GT] = ACTIONS(4912), + [anon_sym_SEMI] = ACTIONS(4914), + [anon_sym___attribute__] = ACTIONS(4912), + [anon_sym_LBRACK] = ACTIONS(4914), + [anon_sym_EQ] = ACTIONS(4912), + [anon_sym_QMARK] = ACTIONS(4914), + [anon_sym_STAR_EQ] = ACTIONS(4914), + [anon_sym_SLASH_EQ] = ACTIONS(4914), + [anon_sym_PERCENT_EQ] = ACTIONS(4914), + [anon_sym_PLUS_EQ] = ACTIONS(4914), + [anon_sym_DASH_EQ] = ACTIONS(4914), + [anon_sym_LT_LT_EQ] = ACTIONS(4914), + [anon_sym_GT_GT_EQ] = ACTIONS(4914), + [anon_sym_AMP_EQ] = ACTIONS(4914), + [anon_sym_CARET_EQ] = ACTIONS(4914), + [anon_sym_PIPE_EQ] = ACTIONS(4914), + [anon_sym_and_eq] = ACTIONS(4912), + [anon_sym_or_eq] = ACTIONS(4912), + [anon_sym_xor_eq] = ACTIONS(4912), + [anon_sym_LT_EQ_GT] = ACTIONS(4914), + [anon_sym_or] = ACTIONS(4912), + [anon_sym_and] = ACTIONS(4912), + [anon_sym_bitor] = ACTIONS(4912), + [anon_sym_xor] = ACTIONS(4912), + [anon_sym_bitand] = ACTIONS(4912), + [anon_sym_not_eq] = ACTIONS(4912), + [anon_sym_DASH_DASH] = ACTIONS(4914), + [anon_sym_PLUS_PLUS] = ACTIONS(4914), + [anon_sym_DOT] = ACTIONS(4912), + [anon_sym_DOT_STAR] = ACTIONS(4914), + [anon_sym_DASH_GT] = ACTIONS(4914), + [anon_sym_L_DQUOTE] = ACTIONS(4914), + [anon_sym_u_DQUOTE] = ACTIONS(4914), + [anon_sym_U_DQUOTE] = ACTIONS(4914), + [anon_sym_u8_DQUOTE] = ACTIONS(4914), + [anon_sym_DQUOTE] = ACTIONS(4914), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4914), + [anon_sym_R_DQUOTE] = ACTIONS(4914), + [anon_sym_LR_DQUOTE] = ACTIONS(4914), + [anon_sym_uR_DQUOTE] = ACTIONS(4914), + [anon_sym_UR_DQUOTE] = ACTIONS(4914), + [anon_sym_u8R_DQUOTE] = ACTIONS(4914), + [sym_literal_suffix] = ACTIONS(4912), + }, + [2311] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(3996), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(4002), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4008), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_GT2] = ACTIONS(3996), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2312] = { + [sym__identifier] = ACTIONS(4983), + [anon_sym_LPAREN2] = ACTIONS(4985), + [anon_sym_TILDE] = ACTIONS(4985), + [anon_sym_STAR] = ACTIONS(4985), + [anon_sym_PIPE_PIPE] = ACTIONS(4985), + [anon_sym_AMP_AMP] = ACTIONS(4985), + [anon_sym_AMP] = ACTIONS(4983), + [anon_sym___extension__] = ACTIONS(4983), + [anon_sym_extern] = ACTIONS(4983), + [anon_sym___attribute__] = ACTIONS(4983), + [anon_sym_COLON_COLON] = ACTIONS(4985), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4985), + [anon_sym___declspec] = ACTIONS(4983), + [anon_sym___based] = ACTIONS(4983), + [anon_sym___cdecl] = ACTIONS(4983), + [anon_sym___clrcall] = ACTIONS(4983), + [anon_sym___stdcall] = ACTIONS(4983), + [anon_sym___fastcall] = ACTIONS(4983), + [anon_sym___thiscall] = ACTIONS(4983), + [anon_sym___vectorcall] = ACTIONS(4983), + [anon_sym_signed] = ACTIONS(4983), + [anon_sym_unsigned] = ACTIONS(4983), + [anon_sym_long] = ACTIONS(4983), + [anon_sym_short] = ACTIONS(4983), + [anon_sym_LBRACK] = ACTIONS(4983), + [anon_sym_static] = ACTIONS(4983), + [anon_sym_register] = ACTIONS(4983), + [anon_sym_inline] = ACTIONS(4983), + [anon_sym___inline] = ACTIONS(4983), + [anon_sym___inline__] = ACTIONS(4983), + [anon_sym___forceinline] = ACTIONS(4983), + [anon_sym_thread_local] = ACTIONS(4983), + [anon_sym___thread] = ACTIONS(4983), + [anon_sym_const] = ACTIONS(4983), + [anon_sym_constexpr] = ACTIONS(4983), + [anon_sym_volatile] = ACTIONS(4983), + [anon_sym_restrict] = ACTIONS(4983), + [anon_sym___restrict__] = ACTIONS(4983), + [anon_sym__Atomic] = ACTIONS(4983), + [anon_sym__Noreturn] = ACTIONS(4983), + [anon_sym_noreturn] = ACTIONS(4983), + [anon_sym_mutable] = ACTIONS(4983), + [anon_sym_constinit] = ACTIONS(4983), + [anon_sym_consteval] = ACTIONS(4983), + [anon_sym_alignas] = ACTIONS(4983), + [anon_sym__Alignas] = ACTIONS(4983), + [sym_primitive_type] = ACTIONS(4983), + [anon_sym_enum] = ACTIONS(4983), + [anon_sym_class] = ACTIONS(4983), + [anon_sym_struct] = ACTIONS(4983), + [anon_sym_union] = ACTIONS(4983), + [anon_sym_or] = ACTIONS(4983), + [anon_sym_and] = ACTIONS(4983), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4985), + [sym_auto] = ACTIONS(4983), + [anon_sym_decltype] = ACTIONS(4983), + [sym_virtual] = ACTIONS(4983), + [anon_sym_explicit] = ACTIONS(4983), + [anon_sym_typename] = ACTIONS(4983), + [anon_sym_template] = ACTIONS(4983), + [anon_sym_operator] = ACTIONS(4983), + [anon_sym_friend] = ACTIONS(4983), + [anon_sym_using] = ACTIONS(4983), + [anon_sym_concept] = ACTIONS(4983), + }, + [2313] = { + [sym__identifier] = ACTIONS(4631), + [anon_sym_LPAREN2] = ACTIONS(4633), + [anon_sym_TILDE] = ACTIONS(4633), + [anon_sym_STAR] = ACTIONS(4633), + [anon_sym_PIPE_PIPE] = ACTIONS(4633), + [anon_sym_AMP_AMP] = ACTIONS(4633), + [anon_sym_AMP] = ACTIONS(4631), + [anon_sym___extension__] = ACTIONS(4631), + [anon_sym_extern] = ACTIONS(4631), + [anon_sym___attribute__] = ACTIONS(4631), + [anon_sym_COLON_COLON] = ACTIONS(4633), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4633), + [anon_sym___declspec] = ACTIONS(4631), + [anon_sym___based] = ACTIONS(4631), + [anon_sym___cdecl] = ACTIONS(4631), + [anon_sym___clrcall] = ACTIONS(4631), + [anon_sym___stdcall] = ACTIONS(4631), + [anon_sym___fastcall] = ACTIONS(4631), + [anon_sym___thiscall] = ACTIONS(4631), + [anon_sym___vectorcall] = ACTIONS(4631), + [anon_sym_signed] = ACTIONS(4631), + [anon_sym_unsigned] = ACTIONS(4631), + [anon_sym_long] = ACTIONS(4631), + [anon_sym_short] = ACTIONS(4631), + [anon_sym_LBRACK] = ACTIONS(4631), + [anon_sym_static] = ACTIONS(4631), + [anon_sym_register] = ACTIONS(4631), + [anon_sym_inline] = ACTIONS(4631), + [anon_sym___inline] = ACTIONS(4631), + [anon_sym___inline__] = ACTIONS(4631), + [anon_sym___forceinline] = ACTIONS(4631), + [anon_sym_thread_local] = ACTIONS(4631), + [anon_sym___thread] = ACTIONS(4631), + [anon_sym_const] = ACTIONS(4631), + [anon_sym_constexpr] = ACTIONS(4631), + [anon_sym_volatile] = ACTIONS(4631), + [anon_sym_restrict] = ACTIONS(4631), + [anon_sym___restrict__] = ACTIONS(4631), + [anon_sym__Atomic] = ACTIONS(4631), + [anon_sym__Noreturn] = ACTIONS(4631), + [anon_sym_noreturn] = ACTIONS(4631), + [anon_sym_mutable] = ACTIONS(4631), + [anon_sym_constinit] = ACTIONS(4631), + [anon_sym_consteval] = ACTIONS(4631), + [anon_sym_alignas] = ACTIONS(4631), + [anon_sym__Alignas] = ACTIONS(4631), + [sym_primitive_type] = ACTIONS(4631), + [anon_sym_enum] = ACTIONS(4631), + [anon_sym_class] = ACTIONS(4631), + [anon_sym_struct] = ACTIONS(4631), + [anon_sym_union] = ACTIONS(4631), + [anon_sym_or] = ACTIONS(4631), + [anon_sym_and] = ACTIONS(4631), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4633), + [sym_auto] = ACTIONS(4631), + [anon_sym_decltype] = ACTIONS(4631), + [sym_virtual] = ACTIONS(4631), + [anon_sym_explicit] = ACTIONS(4631), + [anon_sym_typename] = ACTIONS(4631), + [anon_sym_template] = ACTIONS(4631), + [anon_sym_operator] = ACTIONS(4631), + [anon_sym_friend] = ACTIONS(4631), + [anon_sym_using] = ACTIONS(4631), + [anon_sym_concept] = ACTIONS(4631), + }, + [2314] = { + [sym__identifier] = ACTIONS(4934), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4936), + [anon_sym_COMMA] = ACTIONS(4936), + [anon_sym_LPAREN2] = ACTIONS(4936), + [anon_sym_DASH] = ACTIONS(4934), + [anon_sym_PLUS] = ACTIONS(4934), + [anon_sym_STAR] = ACTIONS(4934), + [anon_sym_SLASH] = ACTIONS(4934), + [anon_sym_PERCENT] = ACTIONS(4934), + [anon_sym_PIPE_PIPE] = ACTIONS(4936), + [anon_sym_AMP_AMP] = ACTIONS(4936), + [anon_sym_PIPE] = ACTIONS(4934), + [anon_sym_CARET] = ACTIONS(4934), + [anon_sym_AMP] = ACTIONS(4934), + [anon_sym_EQ_EQ] = ACTIONS(4936), + [anon_sym_BANG_EQ] = ACTIONS(4936), + [anon_sym_GT] = ACTIONS(4934), + [anon_sym_GT_EQ] = ACTIONS(4936), + [anon_sym_LT_EQ] = ACTIONS(4934), + [anon_sym_LT] = ACTIONS(4934), + [anon_sym_LT_LT] = ACTIONS(4934), + [anon_sym_GT_GT] = ACTIONS(4934), + [anon_sym_SEMI] = ACTIONS(4936), + [anon_sym___attribute__] = ACTIONS(4934), + [anon_sym_LBRACK] = ACTIONS(4936), + [anon_sym_EQ] = ACTIONS(4934), + [anon_sym_QMARK] = ACTIONS(4936), + [anon_sym_STAR_EQ] = ACTIONS(4936), + [anon_sym_SLASH_EQ] = ACTIONS(4936), + [anon_sym_PERCENT_EQ] = ACTIONS(4936), + [anon_sym_PLUS_EQ] = ACTIONS(4936), + [anon_sym_DASH_EQ] = ACTIONS(4936), + [anon_sym_LT_LT_EQ] = ACTIONS(4936), + [anon_sym_GT_GT_EQ] = ACTIONS(4936), + [anon_sym_AMP_EQ] = ACTIONS(4936), + [anon_sym_CARET_EQ] = ACTIONS(4936), + [anon_sym_PIPE_EQ] = ACTIONS(4936), + [anon_sym_and_eq] = ACTIONS(4934), + [anon_sym_or_eq] = ACTIONS(4934), + [anon_sym_xor_eq] = ACTIONS(4934), + [anon_sym_LT_EQ_GT] = ACTIONS(4936), + [anon_sym_or] = ACTIONS(4934), + [anon_sym_and] = ACTIONS(4934), + [anon_sym_bitor] = ACTIONS(4934), + [anon_sym_xor] = ACTIONS(4934), + [anon_sym_bitand] = ACTIONS(4934), + [anon_sym_not_eq] = ACTIONS(4934), + [anon_sym_DASH_DASH] = ACTIONS(4936), + [anon_sym_PLUS_PLUS] = ACTIONS(4936), + [anon_sym_DOT] = ACTIONS(4934), + [anon_sym_DOT_STAR] = ACTIONS(4936), + [anon_sym_DASH_GT] = ACTIONS(4936), + [anon_sym_L_DQUOTE] = ACTIONS(4936), + [anon_sym_u_DQUOTE] = ACTIONS(4936), + [anon_sym_U_DQUOTE] = ACTIONS(4936), + [anon_sym_u8_DQUOTE] = ACTIONS(4936), + [anon_sym_DQUOTE] = ACTIONS(4936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4936), + [anon_sym_R_DQUOTE] = ACTIONS(4936), + [anon_sym_LR_DQUOTE] = ACTIONS(4936), + [anon_sym_uR_DQUOTE] = ACTIONS(4936), + [anon_sym_UR_DQUOTE] = ACTIONS(4936), + [anon_sym_u8R_DQUOTE] = ACTIONS(4936), + [sym_literal_suffix] = ACTIONS(4934), + }, + [2315] = { + [sym__identifier] = ACTIONS(4908), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4910), + [anon_sym_COMMA] = ACTIONS(4910), + [anon_sym_LPAREN2] = ACTIONS(4910), + [anon_sym_DASH] = ACTIONS(4908), + [anon_sym_PLUS] = ACTIONS(4908), + [anon_sym_STAR] = ACTIONS(4908), + [anon_sym_SLASH] = ACTIONS(4908), + [anon_sym_PERCENT] = ACTIONS(4908), + [anon_sym_PIPE_PIPE] = ACTIONS(4910), + [anon_sym_AMP_AMP] = ACTIONS(4910), + [anon_sym_PIPE] = ACTIONS(4908), + [anon_sym_CARET] = ACTIONS(4908), + [anon_sym_AMP] = ACTIONS(4908), + [anon_sym_EQ_EQ] = ACTIONS(4910), + [anon_sym_BANG_EQ] = ACTIONS(4910), + [anon_sym_GT] = ACTIONS(4908), + [anon_sym_GT_EQ] = ACTIONS(4910), + [anon_sym_LT_EQ] = ACTIONS(4908), + [anon_sym_LT] = ACTIONS(4908), + [anon_sym_LT_LT] = ACTIONS(4908), + [anon_sym_GT_GT] = ACTIONS(4908), + [anon_sym_SEMI] = ACTIONS(4910), + [anon_sym___attribute__] = ACTIONS(4908), + [anon_sym_LBRACK] = ACTIONS(4910), + [anon_sym_EQ] = ACTIONS(4908), + [anon_sym_QMARK] = ACTIONS(4910), + [anon_sym_STAR_EQ] = ACTIONS(4910), + [anon_sym_SLASH_EQ] = ACTIONS(4910), + [anon_sym_PERCENT_EQ] = ACTIONS(4910), + [anon_sym_PLUS_EQ] = ACTIONS(4910), + [anon_sym_DASH_EQ] = ACTIONS(4910), + [anon_sym_LT_LT_EQ] = ACTIONS(4910), + [anon_sym_GT_GT_EQ] = ACTIONS(4910), + [anon_sym_AMP_EQ] = ACTIONS(4910), + [anon_sym_CARET_EQ] = ACTIONS(4910), + [anon_sym_PIPE_EQ] = ACTIONS(4910), + [anon_sym_and_eq] = ACTIONS(4908), + [anon_sym_or_eq] = ACTIONS(4908), + [anon_sym_xor_eq] = ACTIONS(4908), + [anon_sym_LT_EQ_GT] = ACTIONS(4910), + [anon_sym_or] = ACTIONS(4908), + [anon_sym_and] = ACTIONS(4908), + [anon_sym_bitor] = ACTIONS(4908), + [anon_sym_xor] = ACTIONS(4908), + [anon_sym_bitand] = ACTIONS(4908), + [anon_sym_not_eq] = ACTIONS(4908), + [anon_sym_DASH_DASH] = ACTIONS(4910), + [anon_sym_PLUS_PLUS] = ACTIONS(4910), + [anon_sym_DOT] = ACTIONS(4908), + [anon_sym_DOT_STAR] = ACTIONS(4910), + [anon_sym_DASH_GT] = ACTIONS(4910), + [anon_sym_L_DQUOTE] = ACTIONS(4910), + [anon_sym_u_DQUOTE] = ACTIONS(4910), + [anon_sym_U_DQUOTE] = ACTIONS(4910), + [anon_sym_u8_DQUOTE] = ACTIONS(4910), + [anon_sym_DQUOTE] = ACTIONS(4910), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4910), + [anon_sym_R_DQUOTE] = ACTIONS(4910), + [anon_sym_LR_DQUOTE] = ACTIONS(4910), + [anon_sym_uR_DQUOTE] = ACTIONS(4910), + [anon_sym_UR_DQUOTE] = ACTIONS(4910), + [anon_sym_u8R_DQUOTE] = ACTIONS(4910), + [sym_literal_suffix] = ACTIONS(4908), + }, + [2316] = { + [sym_template_argument_list] = STATE(2305), + [sym__identifier] = ACTIONS(5768), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5770), + [anon_sym_COMMA] = ACTIONS(5770), + [anon_sym_RPAREN] = ACTIONS(5770), + [aux_sym_preproc_if_token2] = ACTIONS(5770), + [aux_sym_preproc_else_token1] = ACTIONS(5770), + [aux_sym_preproc_elif_token1] = ACTIONS(5768), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5770), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5770), + [anon_sym_LPAREN2] = ACTIONS(5770), + [anon_sym_DASH] = ACTIONS(5768), + [anon_sym_PLUS] = ACTIONS(5768), + [anon_sym_STAR] = ACTIONS(5768), + [anon_sym_SLASH] = ACTIONS(5768), + [anon_sym_PERCENT] = ACTIONS(5768), + [anon_sym_PIPE_PIPE] = ACTIONS(5770), + [anon_sym_AMP_AMP] = ACTIONS(5770), + [anon_sym_PIPE] = ACTIONS(5768), + [anon_sym_CARET] = ACTIONS(5768), + [anon_sym_AMP] = ACTIONS(5768), + [anon_sym_EQ_EQ] = ACTIONS(5770), + [anon_sym_BANG_EQ] = ACTIONS(5770), + [anon_sym_GT] = ACTIONS(5768), + [anon_sym_GT_EQ] = ACTIONS(5770), + [anon_sym_LT_EQ] = ACTIONS(5768), + [anon_sym_LT] = ACTIONS(5034), + [anon_sym_LT_LT] = ACTIONS(5768), + [anon_sym_GT_GT] = ACTIONS(5768), + [anon_sym_SEMI] = ACTIONS(5770), + [anon_sym___attribute__] = ACTIONS(5768), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_RBRACE] = ACTIONS(5770), + [anon_sym_LBRACK] = ACTIONS(5770), + [anon_sym_RBRACK] = ACTIONS(5770), + [anon_sym_EQ] = ACTIONS(5768), + [anon_sym_COLON] = ACTIONS(5768), + [anon_sym_QMARK] = ACTIONS(5770), + [anon_sym_STAR_EQ] = ACTIONS(5770), + [anon_sym_SLASH_EQ] = ACTIONS(5770), + [anon_sym_PERCENT_EQ] = ACTIONS(5770), + [anon_sym_PLUS_EQ] = ACTIONS(5770), + [anon_sym_DASH_EQ] = ACTIONS(5770), + [anon_sym_LT_LT_EQ] = ACTIONS(5770), + [anon_sym_GT_GT_EQ] = ACTIONS(5770), + [anon_sym_AMP_EQ] = ACTIONS(5770), + [anon_sym_CARET_EQ] = ACTIONS(5770), + [anon_sym_PIPE_EQ] = ACTIONS(5770), + [anon_sym_and_eq] = ACTIONS(5768), + [anon_sym_or_eq] = ACTIONS(5768), + [anon_sym_xor_eq] = ACTIONS(5768), + [anon_sym_LT_EQ_GT] = ACTIONS(5770), + [anon_sym_or] = ACTIONS(5768), + [anon_sym_and] = ACTIONS(5768), + [anon_sym_bitor] = ACTIONS(5768), + [anon_sym_xor] = ACTIONS(5768), + [anon_sym_bitand] = ACTIONS(5768), + [anon_sym_not_eq] = ACTIONS(5768), + [anon_sym_DASH_DASH] = ACTIONS(5770), + [anon_sym_PLUS_PLUS] = ACTIONS(5770), + [anon_sym_DOT] = ACTIONS(5768), + [anon_sym_DOT_STAR] = ACTIONS(5770), + [anon_sym_DASH_GT] = ACTIONS(5770), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5770), + }, + [2317] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_EQ] = ACTIONS(4979), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_asm] = ACTIONS(4977), + [anon_sym___asm__] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_GT2] = ACTIONS(4979), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_try] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [2318] = { + [sym__identifier] = ACTIONS(4920), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4922), + [anon_sym_COMMA] = ACTIONS(4922), + [anon_sym_RPAREN] = ACTIONS(4922), + [anon_sym_LPAREN2] = ACTIONS(4922), + [anon_sym_DASH] = ACTIONS(4920), + [anon_sym_PLUS] = ACTIONS(4920), + [anon_sym_STAR] = ACTIONS(4920), + [anon_sym_SLASH] = ACTIONS(4920), + [anon_sym_PERCENT] = ACTIONS(4920), + [anon_sym_PIPE_PIPE] = ACTIONS(4922), + [anon_sym_AMP_AMP] = ACTIONS(4922), + [anon_sym_PIPE] = ACTIONS(4920), + [anon_sym_CARET] = ACTIONS(4920), + [anon_sym_AMP] = ACTIONS(4920), + [anon_sym_EQ_EQ] = ACTIONS(4922), + [anon_sym_BANG_EQ] = ACTIONS(4922), + [anon_sym_GT] = ACTIONS(4920), + [anon_sym_GT_EQ] = ACTIONS(4922), + [anon_sym_LT_EQ] = ACTIONS(4920), + [anon_sym_LT] = ACTIONS(4920), + [anon_sym_LT_LT] = ACTIONS(4920), + [anon_sym_GT_GT] = ACTIONS(4920), + [anon_sym_LBRACK] = ACTIONS(4922), + [anon_sym_EQ] = ACTIONS(4920), + [anon_sym_QMARK] = ACTIONS(4922), + [anon_sym_STAR_EQ] = ACTIONS(4922), + [anon_sym_SLASH_EQ] = ACTIONS(4922), + [anon_sym_PERCENT_EQ] = ACTIONS(4922), + [anon_sym_PLUS_EQ] = ACTIONS(4922), + [anon_sym_DASH_EQ] = ACTIONS(4922), + [anon_sym_LT_LT_EQ] = ACTIONS(4922), + [anon_sym_GT_GT_EQ] = ACTIONS(4922), + [anon_sym_AMP_EQ] = ACTIONS(4922), + [anon_sym_CARET_EQ] = ACTIONS(4922), + [anon_sym_PIPE_EQ] = ACTIONS(4922), + [anon_sym_and_eq] = ACTIONS(4920), + [anon_sym_or_eq] = ACTIONS(4920), + [anon_sym_xor_eq] = ACTIONS(4920), + [anon_sym_LT_EQ_GT] = ACTIONS(4922), + [anon_sym_or] = ACTIONS(4920), + [anon_sym_and] = ACTIONS(4920), + [anon_sym_bitor] = ACTIONS(4920), + [anon_sym_xor] = ACTIONS(4920), + [anon_sym_bitand] = ACTIONS(4920), + [anon_sym_not_eq] = ACTIONS(4920), + [anon_sym_DASH_DASH] = ACTIONS(4922), + [anon_sym_PLUS_PLUS] = ACTIONS(4922), + [anon_sym_DOT] = ACTIONS(4920), + [anon_sym_DOT_STAR] = ACTIONS(4922), + [anon_sym_DASH_GT] = ACTIONS(4920), + [anon_sym_L_DQUOTE] = ACTIONS(4922), + [anon_sym_u_DQUOTE] = ACTIONS(4922), + [anon_sym_U_DQUOTE] = ACTIONS(4922), + [anon_sym_u8_DQUOTE] = ACTIONS(4922), + [anon_sym_DQUOTE] = ACTIONS(4922), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4922), + [anon_sym_R_DQUOTE] = ACTIONS(4922), + [anon_sym_LR_DQUOTE] = ACTIONS(4922), + [anon_sym_uR_DQUOTE] = ACTIONS(4922), + [anon_sym_UR_DQUOTE] = ACTIONS(4922), + [anon_sym_u8R_DQUOTE] = ACTIONS(4922), + [anon_sym_DASH_GT_STAR] = ACTIONS(4922), + [sym_literal_suffix] = ACTIONS(4920), + }, + [2319] = { + [sym__identifier] = ACTIONS(4920), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4922), + [anon_sym_COMMA] = ACTIONS(4922), + [anon_sym_LPAREN2] = ACTIONS(4922), + [anon_sym_DASH] = ACTIONS(4920), + [anon_sym_PLUS] = ACTIONS(4920), + [anon_sym_STAR] = ACTIONS(4920), + [anon_sym_SLASH] = ACTIONS(4920), + [anon_sym_PERCENT] = ACTIONS(4920), + [anon_sym_PIPE_PIPE] = ACTIONS(4922), + [anon_sym_AMP_AMP] = ACTIONS(4922), + [anon_sym_PIPE] = ACTIONS(4920), + [anon_sym_CARET] = ACTIONS(4920), + [anon_sym_AMP] = ACTIONS(4920), + [anon_sym_EQ_EQ] = ACTIONS(4922), + [anon_sym_BANG_EQ] = ACTIONS(4922), + [anon_sym_GT] = ACTIONS(4920), + [anon_sym_GT_EQ] = ACTIONS(4922), + [anon_sym_LT_EQ] = ACTIONS(4920), + [anon_sym_LT] = ACTIONS(4920), + [anon_sym_LT_LT] = ACTIONS(4920), + [anon_sym_GT_GT] = ACTIONS(4920), + [anon_sym_SEMI] = ACTIONS(4922), + [anon_sym___attribute__] = ACTIONS(4920), + [anon_sym_LBRACK] = ACTIONS(4922), + [anon_sym_EQ] = ACTIONS(4920), + [anon_sym_QMARK] = ACTIONS(4922), + [anon_sym_STAR_EQ] = ACTIONS(4922), + [anon_sym_SLASH_EQ] = ACTIONS(4922), + [anon_sym_PERCENT_EQ] = ACTIONS(4922), + [anon_sym_PLUS_EQ] = ACTIONS(4922), + [anon_sym_DASH_EQ] = ACTIONS(4922), + [anon_sym_LT_LT_EQ] = ACTIONS(4922), + [anon_sym_GT_GT_EQ] = ACTIONS(4922), + [anon_sym_AMP_EQ] = ACTIONS(4922), + [anon_sym_CARET_EQ] = ACTIONS(4922), + [anon_sym_PIPE_EQ] = ACTIONS(4922), + [anon_sym_and_eq] = ACTIONS(4920), + [anon_sym_or_eq] = ACTIONS(4920), + [anon_sym_xor_eq] = ACTIONS(4920), + [anon_sym_LT_EQ_GT] = ACTIONS(4922), + [anon_sym_or] = ACTIONS(4920), + [anon_sym_and] = ACTIONS(4920), + [anon_sym_bitor] = ACTIONS(4920), + [anon_sym_xor] = ACTIONS(4920), + [anon_sym_bitand] = ACTIONS(4920), + [anon_sym_not_eq] = ACTIONS(4920), + [anon_sym_DASH_DASH] = ACTIONS(4922), + [anon_sym_PLUS_PLUS] = ACTIONS(4922), + [anon_sym_DOT] = ACTIONS(4920), + [anon_sym_DOT_STAR] = ACTIONS(4922), + [anon_sym_DASH_GT] = ACTIONS(4922), + [anon_sym_L_DQUOTE] = ACTIONS(4922), + [anon_sym_u_DQUOTE] = ACTIONS(4922), + [anon_sym_U_DQUOTE] = ACTIONS(4922), + [anon_sym_u8_DQUOTE] = ACTIONS(4922), + [anon_sym_DQUOTE] = ACTIONS(4922), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4922), + [anon_sym_R_DQUOTE] = ACTIONS(4922), + [anon_sym_LR_DQUOTE] = ACTIONS(4922), + [anon_sym_uR_DQUOTE] = ACTIONS(4922), + [anon_sym_UR_DQUOTE] = ACTIONS(4922), + [anon_sym_u8R_DQUOTE] = ACTIONS(4922), + [sym_literal_suffix] = ACTIONS(4920), + }, + [2320] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4981), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_EQ] = ACTIONS(4979), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_asm] = ACTIONS(4977), + [anon_sym___asm__] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_GT2] = ACTIONS(4979), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_try] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [2321] = { + [anon_sym_DOT_DOT_DOT] = ACTIONS(3996), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(3996), + [anon_sym_DASH] = ACTIONS(4002), + [anon_sym_PLUS] = ACTIONS(4002), + [anon_sym_STAR] = ACTIONS(4002), + [anon_sym_SLASH] = ACTIONS(4002), + [anon_sym_PERCENT] = ACTIONS(4002), + [anon_sym_PIPE_PIPE] = ACTIONS(3996), + [anon_sym_AMP_AMP] = ACTIONS(3996), + [anon_sym_PIPE] = ACTIONS(4002), + [anon_sym_CARET] = ACTIONS(4002), + [anon_sym_AMP] = ACTIONS(4002), + [anon_sym_EQ_EQ] = ACTIONS(3996), + [anon_sym_BANG_EQ] = ACTIONS(3996), + [anon_sym_GT] = ACTIONS(4002), + [anon_sym_GT_EQ] = ACTIONS(3996), + [anon_sym_LT_EQ] = ACTIONS(4002), + [anon_sym_LT] = ACTIONS(4002), + [anon_sym_LT_LT] = ACTIONS(4002), + [anon_sym_GT_GT] = ACTIONS(4002), + [anon_sym_COLON_COLON] = ACTIONS(1867), + [anon_sym_LBRACE] = ACTIONS(1867), + [anon_sym_LBRACK] = ACTIONS(3996), + [anon_sym_RBRACK] = ACTIONS(3996), + [anon_sym_EQ] = ACTIONS(4008), + [anon_sym_QMARK] = ACTIONS(3996), + [anon_sym_STAR_EQ] = ACTIONS(4011), + [anon_sym_SLASH_EQ] = ACTIONS(4011), + [anon_sym_PERCENT_EQ] = ACTIONS(4011), + [anon_sym_PLUS_EQ] = ACTIONS(4011), + [anon_sym_DASH_EQ] = ACTIONS(4011), + [anon_sym_LT_LT_EQ] = ACTIONS(4011), + [anon_sym_GT_GT_EQ] = ACTIONS(4011), + [anon_sym_AMP_EQ] = ACTIONS(4011), + [anon_sym_CARET_EQ] = ACTIONS(4011), + [anon_sym_PIPE_EQ] = ACTIONS(4011), + [anon_sym_and_eq] = ACTIONS(4008), + [anon_sym_or_eq] = ACTIONS(4008), + [anon_sym_xor_eq] = ACTIONS(4008), + [anon_sym_LT_EQ_GT] = ACTIONS(3996), + [anon_sym_or] = ACTIONS(4002), + [anon_sym_and] = ACTIONS(4002), + [anon_sym_bitor] = ACTIONS(4002), + [anon_sym_xor] = ACTIONS(4002), + [anon_sym_bitand] = ACTIONS(4002), + [anon_sym_not_eq] = ACTIONS(4002), + [anon_sym_DASH_DASH] = ACTIONS(3996), + [anon_sym_PLUS_PLUS] = ACTIONS(3996), + [anon_sym_DOT] = ACTIONS(4002), + [anon_sym_DOT_STAR] = ACTIONS(3996), + [anon_sym_DASH_GT] = ACTIONS(3996), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4017), + }, + [2322] = { + [sym_attribute_specifier] = STATE(2230), + [sym_enumerator_list] = STATE(1978), + [sym__enum_base_clause] = STATE(1943), + [sym__identifier] = ACTIONS(5772), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5774), + [anon_sym_COMMA] = ACTIONS(5774), + [aux_sym_preproc_if_token2] = ACTIONS(5774), + [aux_sym_preproc_else_token1] = ACTIONS(5774), + [aux_sym_preproc_elif_token1] = ACTIONS(5772), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5774), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5774), + [anon_sym_LPAREN2] = ACTIONS(5774), + [anon_sym_DASH] = ACTIONS(5772), + [anon_sym_PLUS] = ACTIONS(5772), + [anon_sym_STAR] = ACTIONS(5772), + [anon_sym_SLASH] = ACTIONS(5772), + [anon_sym_PERCENT] = ACTIONS(5772), + [anon_sym_PIPE_PIPE] = ACTIONS(5774), + [anon_sym_AMP_AMP] = ACTIONS(5774), + [anon_sym_PIPE] = ACTIONS(5772), + [anon_sym_CARET] = ACTIONS(5772), + [anon_sym_AMP] = ACTIONS(5772), + [anon_sym_EQ_EQ] = ACTIONS(5774), + [anon_sym_BANG_EQ] = ACTIONS(5774), + [anon_sym_GT] = ACTIONS(5772), + [anon_sym_GT_EQ] = ACTIONS(5774), + [anon_sym_LT_EQ] = ACTIONS(5772), + [anon_sym_LT] = ACTIONS(5772), + [anon_sym_LT_LT] = ACTIONS(5772), + [anon_sym_GT_GT] = ACTIONS(5772), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5457), + [anon_sym_LBRACK] = ACTIONS(5774), + [anon_sym_EQ] = ACTIONS(5772), + [anon_sym_COLON] = ACTIONS(5776), + [anon_sym_QMARK] = ACTIONS(5774), + [anon_sym_STAR_EQ] = ACTIONS(5774), + [anon_sym_SLASH_EQ] = ACTIONS(5774), + [anon_sym_PERCENT_EQ] = ACTIONS(5774), + [anon_sym_PLUS_EQ] = ACTIONS(5774), + [anon_sym_DASH_EQ] = ACTIONS(5774), + [anon_sym_LT_LT_EQ] = ACTIONS(5774), + [anon_sym_GT_GT_EQ] = ACTIONS(5774), + [anon_sym_AMP_EQ] = ACTIONS(5774), + [anon_sym_CARET_EQ] = ACTIONS(5774), + [anon_sym_PIPE_EQ] = ACTIONS(5774), + [anon_sym_and_eq] = ACTIONS(5772), + [anon_sym_or_eq] = ACTIONS(5772), + [anon_sym_xor_eq] = ACTIONS(5772), + [anon_sym_LT_EQ_GT] = ACTIONS(5774), + [anon_sym_or] = ACTIONS(5772), + [anon_sym_and] = ACTIONS(5772), + [anon_sym_bitor] = ACTIONS(5772), + [anon_sym_xor] = ACTIONS(5772), + [anon_sym_bitand] = ACTIONS(5772), + [anon_sym_not_eq] = ACTIONS(5772), + [anon_sym_DASH_DASH] = ACTIONS(5774), + [anon_sym_PLUS_PLUS] = ACTIONS(5774), + [anon_sym_DOT] = ACTIONS(5772), + [anon_sym_DOT_STAR] = ACTIONS(5774), + [anon_sym_DASH_GT] = ACTIONS(5774), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5774), + [sym_auto] = ACTIONS(5772), + [anon_sym_decltype] = ACTIONS(5772), + }, + [2323] = { + [sym__identifier] = ACTIONS(4977), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4979), + [anon_sym_COMMA] = ACTIONS(4979), + [anon_sym_RPAREN] = ACTIONS(4979), + [anon_sym_LPAREN2] = ACTIONS(4979), + [anon_sym_TILDE] = ACTIONS(4979), + [anon_sym_STAR] = ACTIONS(4979), + [anon_sym_PIPE_PIPE] = ACTIONS(4979), + [anon_sym_AMP_AMP] = ACTIONS(4979), + [anon_sym_AMP] = ACTIONS(4977), + [anon_sym_SEMI] = ACTIONS(4979), + [anon_sym___extension__] = ACTIONS(4977), + [anon_sym_extern] = ACTIONS(4977), + [anon_sym___attribute__] = ACTIONS(4977), + [anon_sym_COLON_COLON] = ACTIONS(4979), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4979), + [anon_sym___declspec] = ACTIONS(4977), + [anon_sym___based] = ACTIONS(4977), + [anon_sym___cdecl] = ACTIONS(4977), + [anon_sym___clrcall] = ACTIONS(4977), + [anon_sym___stdcall] = ACTIONS(4977), + [anon_sym___fastcall] = ACTIONS(4977), + [anon_sym___thiscall] = ACTIONS(4977), + [anon_sym___vectorcall] = ACTIONS(4977), + [anon_sym_LBRACE] = ACTIONS(4979), + [anon_sym_LBRACK] = ACTIONS(4977), + [anon_sym_static] = ACTIONS(4977), + [anon_sym_EQ] = ACTIONS(4979), + [anon_sym_register] = ACTIONS(4977), + [anon_sym_inline] = ACTIONS(4977), + [anon_sym___inline] = ACTIONS(4977), + [anon_sym___inline__] = ACTIONS(4977), + [anon_sym___forceinline] = ACTIONS(4977), + [anon_sym_thread_local] = ACTIONS(4977), + [anon_sym___thread] = ACTIONS(4977), + [anon_sym_const] = ACTIONS(4977), + [anon_sym_constexpr] = ACTIONS(4977), + [anon_sym_volatile] = ACTIONS(4977), + [anon_sym_restrict] = ACTIONS(4977), + [anon_sym___restrict__] = ACTIONS(4977), + [anon_sym__Atomic] = ACTIONS(4977), + [anon_sym__Noreturn] = ACTIONS(4977), + [anon_sym_noreturn] = ACTIONS(4977), + [anon_sym_mutable] = ACTIONS(4977), + [anon_sym_constinit] = ACTIONS(4977), + [anon_sym_consteval] = ACTIONS(4977), + [anon_sym_alignas] = ACTIONS(4977), + [anon_sym__Alignas] = ACTIONS(4977), + [anon_sym_COLON] = ACTIONS(4977), + [anon_sym_or] = ACTIONS(4977), + [anon_sym_and] = ACTIONS(4977), + [anon_sym_asm] = ACTIONS(4977), + [anon_sym___asm__] = ACTIONS(4977), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4979), + [sym_auto] = ACTIONS(4977), + [anon_sym_decltype] = ACTIONS(4977), + [anon_sym_final] = ACTIONS(4977), + [anon_sym_override] = ACTIONS(4977), + [sym_virtual] = ACTIONS(4977), + [anon_sym_template] = ACTIONS(4977), + [anon_sym_GT2] = ACTIONS(4979), + [anon_sym_operator] = ACTIONS(4977), + [anon_sym_try] = ACTIONS(4977), + [anon_sym_requires] = ACTIONS(4977), + }, + [2324] = { + [sym__identifier] = ACTIONS(5778), + [anon_sym_LPAREN2] = ACTIONS(5780), + [anon_sym_TILDE] = ACTIONS(5780), + [anon_sym_STAR] = ACTIONS(5780), + [anon_sym_PIPE_PIPE] = ACTIONS(5782), + [anon_sym_AMP_AMP] = ACTIONS(5756), + [anon_sym_AMP] = ACTIONS(5778), + [anon_sym___extension__] = ACTIONS(5778), + [anon_sym_extern] = ACTIONS(5778), + [anon_sym___attribute__] = ACTIONS(5778), + [anon_sym_COLON_COLON] = ACTIONS(5780), + [anon_sym_LBRACK_LBRACK] = ACTIONS(5780), + [anon_sym___declspec] = ACTIONS(5778), + [anon_sym___based] = ACTIONS(5778), + [anon_sym___cdecl] = ACTIONS(5778), + [anon_sym___clrcall] = ACTIONS(5778), + [anon_sym___stdcall] = ACTIONS(5778), + [anon_sym___fastcall] = ACTIONS(5778), + [anon_sym___thiscall] = ACTIONS(5778), + [anon_sym___vectorcall] = ACTIONS(5778), + [anon_sym_signed] = ACTIONS(5778), + [anon_sym_unsigned] = ACTIONS(5778), + [anon_sym_long] = ACTIONS(5778), + [anon_sym_short] = ACTIONS(5778), + [anon_sym_LBRACK] = ACTIONS(5778), + [anon_sym_static] = ACTIONS(5778), + [anon_sym_register] = ACTIONS(5778), + [anon_sym_inline] = ACTIONS(5778), + [anon_sym___inline] = ACTIONS(5778), + [anon_sym___inline__] = ACTIONS(5778), + [anon_sym___forceinline] = ACTIONS(5778), + [anon_sym_thread_local] = ACTIONS(5778), + [anon_sym___thread] = ACTIONS(5778), + [anon_sym_const] = ACTIONS(5778), + [anon_sym_constexpr] = ACTIONS(5778), + [anon_sym_volatile] = ACTIONS(5778), + [anon_sym_restrict] = ACTIONS(5778), + [anon_sym___restrict__] = ACTIONS(5778), + [anon_sym__Atomic] = ACTIONS(5778), + [anon_sym__Noreturn] = ACTIONS(5778), + [anon_sym_noreturn] = ACTIONS(5778), + [anon_sym_mutable] = ACTIONS(5778), + [anon_sym_constinit] = ACTIONS(5778), + [anon_sym_consteval] = ACTIONS(5778), + [anon_sym_alignas] = ACTIONS(5778), + [anon_sym__Alignas] = ACTIONS(5778), + [sym_primitive_type] = ACTIONS(5778), + [anon_sym_enum] = ACTIONS(5778), + [anon_sym_class] = ACTIONS(5778), + [anon_sym_struct] = ACTIONS(5778), + [anon_sym_union] = ACTIONS(5778), + [anon_sym_or] = ACTIONS(5784), + [anon_sym_and] = ACTIONS(5758), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5780), + [sym_auto] = ACTIONS(5778), + [anon_sym_decltype] = ACTIONS(5778), + [sym_virtual] = ACTIONS(5778), + [anon_sym_explicit] = ACTIONS(5778), + [anon_sym_typename] = ACTIONS(5778), + [anon_sym_template] = ACTIONS(5778), + [anon_sym_operator] = ACTIONS(5778), + [anon_sym_friend] = ACTIONS(5778), + [anon_sym_using] = ACTIONS(5778), + [anon_sym_concept] = ACTIONS(5778), + }, + [2325] = { + [sym__identifier] = ACTIONS(4983), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4985), + [anon_sym_COMMA] = ACTIONS(4985), + [anon_sym_RPAREN] = ACTIONS(4985), + [anon_sym_LPAREN2] = ACTIONS(4985), + [anon_sym_TILDE] = ACTIONS(4985), + [anon_sym_STAR] = ACTIONS(4985), + [anon_sym_PIPE_PIPE] = ACTIONS(4985), + [anon_sym_AMP_AMP] = ACTIONS(4985), + [anon_sym_AMP] = ACTIONS(4983), + [anon_sym_SEMI] = ACTIONS(4985), + [anon_sym___extension__] = ACTIONS(4983), + [anon_sym_extern] = ACTIONS(4983), + [anon_sym___attribute__] = ACTIONS(4983), + [anon_sym_COLON_COLON] = ACTIONS(4985), + [anon_sym_LBRACK_LBRACK] = ACTIONS(4985), + [anon_sym___declspec] = ACTIONS(4983), + [anon_sym___based] = ACTIONS(4983), + [anon_sym___cdecl] = ACTIONS(4983), + [anon_sym___clrcall] = ACTIONS(4983), + [anon_sym___stdcall] = ACTIONS(4983), + [anon_sym___fastcall] = ACTIONS(4983), + [anon_sym___thiscall] = ACTIONS(4983), + [anon_sym___vectorcall] = ACTIONS(4983), + [anon_sym_LBRACE] = ACTIONS(4985), + [anon_sym_LBRACK] = ACTIONS(4983), + [anon_sym_static] = ACTIONS(4983), + [anon_sym_EQ] = ACTIONS(4985), + [anon_sym_register] = ACTIONS(4983), + [anon_sym_inline] = ACTIONS(4983), + [anon_sym___inline] = ACTIONS(4983), + [anon_sym___inline__] = ACTIONS(4983), + [anon_sym___forceinline] = ACTIONS(4983), + [anon_sym_thread_local] = ACTIONS(4983), + [anon_sym___thread] = ACTIONS(4983), + [anon_sym_const] = ACTIONS(4983), + [anon_sym_constexpr] = ACTIONS(4983), + [anon_sym_volatile] = ACTIONS(4983), + [anon_sym_restrict] = ACTIONS(4983), + [anon_sym___restrict__] = ACTIONS(4983), + [anon_sym__Atomic] = ACTIONS(4983), + [anon_sym__Noreturn] = ACTIONS(4983), + [anon_sym_noreturn] = ACTIONS(4983), + [anon_sym_mutable] = ACTIONS(4983), + [anon_sym_constinit] = ACTIONS(4983), + [anon_sym_consteval] = ACTIONS(4983), + [anon_sym_alignas] = ACTIONS(4983), + [anon_sym__Alignas] = ACTIONS(4983), + [anon_sym_COLON] = ACTIONS(4983), + [anon_sym_or] = ACTIONS(4983), + [anon_sym_and] = ACTIONS(4983), + [anon_sym_asm] = ACTIONS(4983), + [anon_sym___asm__] = ACTIONS(4983), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4985), + [sym_auto] = ACTIONS(4983), + [anon_sym_decltype] = ACTIONS(4983), + [anon_sym_final] = ACTIONS(4983), + [anon_sym_override] = ACTIONS(4983), + [sym_virtual] = ACTIONS(4983), + [anon_sym_template] = ACTIONS(4983), + [anon_sym_GT2] = ACTIONS(4985), + [anon_sym_operator] = ACTIONS(4983), + [anon_sym_try] = ACTIONS(4983), + [anon_sym_requires] = ACTIONS(4983), + }, + [2326] = { + [sym__identifier] = ACTIONS(1865), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1867), + [anon_sym_COMMA] = ACTIONS(1867), + [anon_sym_LPAREN2] = ACTIONS(1867), + [anon_sym_DASH] = ACTIONS(1865), + [anon_sym_PLUS] = ACTIONS(1865), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_SLASH] = ACTIONS(1865), + [anon_sym_PERCENT] = ACTIONS(1865), + [anon_sym_PIPE_PIPE] = ACTIONS(1867), + [anon_sym_AMP_AMP] = ACTIONS(1867), + [anon_sym_PIPE] = ACTIONS(1865), + [anon_sym_CARET] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1865), + [anon_sym_EQ_EQ] = ACTIONS(1867), + [anon_sym_BANG_EQ] = ACTIONS(1867), + [anon_sym_GT] = ACTIONS(1865), + [anon_sym_GT_EQ] = ACTIONS(1867), + [anon_sym_LT_EQ] = ACTIONS(1865), + [anon_sym_LT] = ACTIONS(1865), + [anon_sym_LT_LT] = ACTIONS(1865), + [anon_sym_GT_GT] = ACTIONS(1865), + [anon_sym_SEMI] = ACTIONS(1867), + [anon_sym___attribute__] = ACTIONS(1865), + [anon_sym_LBRACK] = ACTIONS(1867), + [anon_sym_EQ] = ACTIONS(1865), + [anon_sym_QMARK] = ACTIONS(1867), + [anon_sym_STAR_EQ] = ACTIONS(1867), + [anon_sym_SLASH_EQ] = ACTIONS(1867), + [anon_sym_PERCENT_EQ] = ACTIONS(1867), + [anon_sym_PLUS_EQ] = ACTIONS(1867), + [anon_sym_DASH_EQ] = ACTIONS(1867), + [anon_sym_LT_LT_EQ] = ACTIONS(1867), + [anon_sym_GT_GT_EQ] = ACTIONS(1867), + [anon_sym_AMP_EQ] = ACTIONS(1867), + [anon_sym_CARET_EQ] = ACTIONS(1867), + [anon_sym_PIPE_EQ] = ACTIONS(1867), + [anon_sym_and_eq] = ACTIONS(1865), + [anon_sym_or_eq] = ACTIONS(1865), + [anon_sym_xor_eq] = ACTIONS(1865), + [anon_sym_LT_EQ_GT] = ACTIONS(1867), + [anon_sym_or] = ACTIONS(1865), + [anon_sym_and] = ACTIONS(1865), + [anon_sym_bitor] = ACTIONS(1865), + [anon_sym_xor] = ACTIONS(1865), + [anon_sym_bitand] = ACTIONS(1865), + [anon_sym_not_eq] = ACTIONS(1865), + [anon_sym_DASH_DASH] = ACTIONS(1867), + [anon_sym_PLUS_PLUS] = ACTIONS(1867), + [anon_sym_DOT] = ACTIONS(1865), + [anon_sym_DOT_STAR] = ACTIONS(1867), + [anon_sym_DASH_GT] = ACTIONS(1867), + [anon_sym_L_DQUOTE] = ACTIONS(1867), + [anon_sym_u_DQUOTE] = ACTIONS(1867), + [anon_sym_U_DQUOTE] = ACTIONS(1867), + [anon_sym_u8_DQUOTE] = ACTIONS(1867), + [anon_sym_DQUOTE] = ACTIONS(1867), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(1867), + [anon_sym_R_DQUOTE] = ACTIONS(1867), + [anon_sym_LR_DQUOTE] = ACTIONS(1867), + [anon_sym_uR_DQUOTE] = ACTIONS(1867), + [anon_sym_UR_DQUOTE] = ACTIONS(1867), + [anon_sym_u8R_DQUOTE] = ACTIONS(1867), + [sym_literal_suffix] = ACTIONS(1865), + }, + [2327] = { + [sym_template_argument_list] = STATE(2305), + [sym__identifier] = ACTIONS(5786), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5788), + [anon_sym_COMMA] = ACTIONS(5788), + [anon_sym_RPAREN] = ACTIONS(5788), + [aux_sym_preproc_if_token2] = ACTIONS(5788), + [aux_sym_preproc_else_token1] = ACTIONS(5788), + [aux_sym_preproc_elif_token1] = ACTIONS(5786), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5788), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5788), + [anon_sym_LPAREN2] = ACTIONS(5788), + [anon_sym_DASH] = ACTIONS(5786), + [anon_sym_PLUS] = ACTIONS(5786), + [anon_sym_STAR] = ACTIONS(5786), + [anon_sym_SLASH] = ACTIONS(5786), + [anon_sym_PERCENT] = ACTIONS(5786), + [anon_sym_PIPE_PIPE] = ACTIONS(5788), + [anon_sym_AMP_AMP] = ACTIONS(5788), + [anon_sym_PIPE] = ACTIONS(5786), + [anon_sym_CARET] = ACTIONS(5786), + [anon_sym_AMP] = ACTIONS(5786), + [anon_sym_EQ_EQ] = ACTIONS(5788), + [anon_sym_BANG_EQ] = ACTIONS(5788), + [anon_sym_GT] = ACTIONS(5786), + [anon_sym_GT_EQ] = ACTIONS(5788), + [anon_sym_LT_EQ] = ACTIONS(5786), + [anon_sym_LT] = ACTIONS(5034), + [anon_sym_LT_LT] = ACTIONS(5786), + [anon_sym_GT_GT] = ACTIONS(5786), + [anon_sym_SEMI] = ACTIONS(5788), + [anon_sym___attribute__] = ACTIONS(5786), + [anon_sym_COLON_COLON] = ACTIONS(3784), + [anon_sym_RBRACE] = ACTIONS(5788), + [anon_sym_LBRACK] = ACTIONS(5788), + [anon_sym_RBRACK] = ACTIONS(5788), + [anon_sym_EQ] = ACTIONS(5786), + [anon_sym_COLON] = ACTIONS(5786), + [anon_sym_QMARK] = ACTIONS(5788), + [anon_sym_STAR_EQ] = ACTIONS(5788), + [anon_sym_SLASH_EQ] = ACTIONS(5788), + [anon_sym_PERCENT_EQ] = ACTIONS(5788), + [anon_sym_PLUS_EQ] = ACTIONS(5788), + [anon_sym_DASH_EQ] = ACTIONS(5788), + [anon_sym_LT_LT_EQ] = ACTIONS(5788), + [anon_sym_GT_GT_EQ] = ACTIONS(5788), + [anon_sym_AMP_EQ] = ACTIONS(5788), + [anon_sym_CARET_EQ] = ACTIONS(5788), + [anon_sym_PIPE_EQ] = ACTIONS(5788), + [anon_sym_and_eq] = ACTIONS(5786), + [anon_sym_or_eq] = ACTIONS(5786), + [anon_sym_xor_eq] = ACTIONS(5786), + [anon_sym_LT_EQ_GT] = ACTIONS(5788), + [anon_sym_or] = ACTIONS(5786), + [anon_sym_and] = ACTIONS(5786), + [anon_sym_bitor] = ACTIONS(5786), + [anon_sym_xor] = ACTIONS(5786), + [anon_sym_bitand] = ACTIONS(5786), + [anon_sym_not_eq] = ACTIONS(5786), + [anon_sym_DASH_DASH] = ACTIONS(5788), + [anon_sym_PLUS_PLUS] = ACTIONS(5788), + [anon_sym_DOT] = ACTIONS(5786), + [anon_sym_DOT_STAR] = ACTIONS(5788), + [anon_sym_DASH_GT] = ACTIONS(5788), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5788), + }, + [2328] = { + [sym__identifier] = ACTIONS(4898), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4014), + [anon_sym_COMMA] = ACTIONS(4014), + [anon_sym_RPAREN] = ACTIONS(4014), + [anon_sym_LPAREN2] = ACTIONS(4014), + [anon_sym_DASH] = ACTIONS(4898), + [anon_sym_PLUS] = ACTIONS(4898), + [anon_sym_STAR] = ACTIONS(4898), + [anon_sym_SLASH] = ACTIONS(4898), + [anon_sym_PERCENT] = ACTIONS(4898), + [anon_sym_PIPE_PIPE] = ACTIONS(4014), + [anon_sym_AMP_AMP] = ACTIONS(4014), + [anon_sym_PIPE] = ACTIONS(4898), + [anon_sym_CARET] = ACTIONS(4898), + [anon_sym_AMP] = ACTIONS(4898), + [anon_sym_EQ_EQ] = ACTIONS(4014), + [anon_sym_BANG_EQ] = ACTIONS(4014), + [anon_sym_GT] = ACTIONS(4898), + [anon_sym_GT_EQ] = ACTIONS(4014), + [anon_sym_LT_EQ] = ACTIONS(4898), + [anon_sym_LT] = ACTIONS(4898), + [anon_sym_LT_LT] = ACTIONS(4898), + [anon_sym_GT_GT] = ACTIONS(4898), + [anon_sym_LBRACK] = ACTIONS(4014), + [anon_sym_EQ] = ACTIONS(4898), + [anon_sym_QMARK] = ACTIONS(4014), + [anon_sym_STAR_EQ] = ACTIONS(4014), + [anon_sym_SLASH_EQ] = ACTIONS(4014), + [anon_sym_PERCENT_EQ] = ACTIONS(4014), + [anon_sym_PLUS_EQ] = ACTIONS(4014), + [anon_sym_DASH_EQ] = ACTIONS(4014), + [anon_sym_LT_LT_EQ] = ACTIONS(4014), + [anon_sym_GT_GT_EQ] = ACTIONS(4014), + [anon_sym_AMP_EQ] = ACTIONS(4014), + [anon_sym_CARET_EQ] = ACTIONS(4014), + [anon_sym_PIPE_EQ] = ACTIONS(4014), + [anon_sym_and_eq] = ACTIONS(4898), + [anon_sym_or_eq] = ACTIONS(4898), + [anon_sym_xor_eq] = ACTIONS(4898), + [anon_sym_LT_EQ_GT] = ACTIONS(4014), + [anon_sym_or] = ACTIONS(4898), + [anon_sym_and] = ACTIONS(4898), + [anon_sym_bitor] = ACTIONS(4898), + [anon_sym_xor] = ACTIONS(4898), + [anon_sym_bitand] = ACTIONS(4898), + [anon_sym_not_eq] = ACTIONS(4898), + [anon_sym_DASH_DASH] = ACTIONS(4014), + [anon_sym_PLUS_PLUS] = ACTIONS(4014), + [anon_sym_DOT] = ACTIONS(4898), + [anon_sym_DOT_STAR] = ACTIONS(4014), + [anon_sym_DASH_GT] = ACTIONS(4898), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [anon_sym_DASH_GT_STAR] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4898), + }, + [2329] = { + [sym_attribute_specifier] = STATE(2039), + [sym_enumerator_list] = STATE(2000), + [sym__enum_base_clause] = STATE(1951), + [sym__identifier] = ACTIONS(5790), + [anon_sym_DOT_DOT_DOT] = ACTIONS(5792), + [anon_sym_COMMA] = ACTIONS(5792), + [aux_sym_preproc_if_token2] = ACTIONS(5792), + [aux_sym_preproc_else_token1] = ACTIONS(5792), + [aux_sym_preproc_elif_token1] = ACTIONS(5790), + [aux_sym_preproc_elifdef_token1] = ACTIONS(5792), + [aux_sym_preproc_elifdef_token2] = ACTIONS(5792), + [anon_sym_LPAREN2] = ACTIONS(5792), + [anon_sym_DASH] = ACTIONS(5790), + [anon_sym_PLUS] = ACTIONS(5790), + [anon_sym_STAR] = ACTIONS(5790), + [anon_sym_SLASH] = ACTIONS(5790), + [anon_sym_PERCENT] = ACTIONS(5790), + [anon_sym_PIPE_PIPE] = ACTIONS(5792), + [anon_sym_AMP_AMP] = ACTIONS(5792), + [anon_sym_PIPE] = ACTIONS(5790), + [anon_sym_CARET] = ACTIONS(5790), + [anon_sym_AMP] = ACTIONS(5790), + [anon_sym_EQ_EQ] = ACTIONS(5792), + [anon_sym_BANG_EQ] = ACTIONS(5792), + [anon_sym_GT] = ACTIONS(5790), + [anon_sym_GT_EQ] = ACTIONS(5792), + [anon_sym_LT_EQ] = ACTIONS(5790), + [anon_sym_LT] = ACTIONS(5790), + [anon_sym_LT_LT] = ACTIONS(5790), + [anon_sym_GT_GT] = ACTIONS(5790), + [anon_sym___attribute__] = ACTIONS(4945), + [anon_sym_LBRACE] = ACTIONS(5457), + [anon_sym_LBRACK] = ACTIONS(5792), + [anon_sym_EQ] = ACTIONS(5790), + [anon_sym_COLON] = ACTIONS(5776), + [anon_sym_QMARK] = ACTIONS(5792), + [anon_sym_STAR_EQ] = ACTIONS(5792), + [anon_sym_SLASH_EQ] = ACTIONS(5792), + [anon_sym_PERCENT_EQ] = ACTIONS(5792), + [anon_sym_PLUS_EQ] = ACTIONS(5792), + [anon_sym_DASH_EQ] = ACTIONS(5792), + [anon_sym_LT_LT_EQ] = ACTIONS(5792), + [anon_sym_GT_GT_EQ] = ACTIONS(5792), + [anon_sym_AMP_EQ] = ACTIONS(5792), + [anon_sym_CARET_EQ] = ACTIONS(5792), + [anon_sym_PIPE_EQ] = ACTIONS(5792), + [anon_sym_and_eq] = ACTIONS(5790), + [anon_sym_or_eq] = ACTIONS(5790), + [anon_sym_xor_eq] = ACTIONS(5790), + [anon_sym_LT_EQ_GT] = ACTIONS(5792), + [anon_sym_or] = ACTIONS(5790), + [anon_sym_and] = ACTIONS(5790), + [anon_sym_bitor] = ACTIONS(5790), + [anon_sym_xor] = ACTIONS(5790), + [anon_sym_bitand] = ACTIONS(5790), + [anon_sym_not_eq] = ACTIONS(5790), + [anon_sym_DASH_DASH] = ACTIONS(5792), + [anon_sym_PLUS_PLUS] = ACTIONS(5792), + [anon_sym_DOT] = ACTIONS(5790), + [anon_sym_DOT_STAR] = ACTIONS(5792), + [anon_sym_DASH_GT] = ACTIONS(5792), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(5792), + [sym_auto] = ACTIONS(5790), + [anon_sym_decltype] = ACTIONS(5790), + }, + [2330] = { + [sym__identifier] = ACTIONS(4934), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4936), + [anon_sym_COMMA] = ACTIONS(4936), + [anon_sym_RPAREN] = ACTIONS(4936), + [anon_sym_LPAREN2] = ACTIONS(4936), + [anon_sym_DASH] = ACTIONS(4934), + [anon_sym_PLUS] = ACTIONS(4934), + [anon_sym_STAR] = ACTIONS(4934), + [anon_sym_SLASH] = ACTIONS(4934), + [anon_sym_PERCENT] = ACTIONS(4934), + [anon_sym_PIPE_PIPE] = ACTIONS(4936), + [anon_sym_AMP_AMP] = ACTIONS(4936), + [anon_sym_PIPE] = ACTIONS(4934), + [anon_sym_CARET] = ACTIONS(4934), + [anon_sym_AMP] = ACTIONS(4934), + [anon_sym_EQ_EQ] = ACTIONS(4936), + [anon_sym_BANG_EQ] = ACTIONS(4936), + [anon_sym_GT] = ACTIONS(4934), + [anon_sym_GT_EQ] = ACTIONS(4936), + [anon_sym_LT_EQ] = ACTIONS(4934), + [anon_sym_LT] = ACTIONS(4934), + [anon_sym_LT_LT] = ACTIONS(4934), + [anon_sym_GT_GT] = ACTIONS(4934), + [anon_sym_LBRACK] = ACTIONS(4936), + [anon_sym_EQ] = ACTIONS(4934), + [anon_sym_QMARK] = ACTIONS(4936), + [anon_sym_STAR_EQ] = ACTIONS(4936), + [anon_sym_SLASH_EQ] = ACTIONS(4936), + [anon_sym_PERCENT_EQ] = ACTIONS(4936), + [anon_sym_PLUS_EQ] = ACTIONS(4936), + [anon_sym_DASH_EQ] = ACTIONS(4936), + [anon_sym_LT_LT_EQ] = ACTIONS(4936), + [anon_sym_GT_GT_EQ] = ACTIONS(4936), + [anon_sym_AMP_EQ] = ACTIONS(4936), + [anon_sym_CARET_EQ] = ACTIONS(4936), + [anon_sym_PIPE_EQ] = ACTIONS(4936), + [anon_sym_and_eq] = ACTIONS(4934), + [anon_sym_or_eq] = ACTIONS(4934), + [anon_sym_xor_eq] = ACTIONS(4934), + [anon_sym_LT_EQ_GT] = ACTIONS(4936), + [anon_sym_or] = ACTIONS(4934), + [anon_sym_and] = ACTIONS(4934), + [anon_sym_bitor] = ACTIONS(4934), + [anon_sym_xor] = ACTIONS(4934), + [anon_sym_bitand] = ACTIONS(4934), + [anon_sym_not_eq] = ACTIONS(4934), + [anon_sym_DASH_DASH] = ACTIONS(4936), + [anon_sym_PLUS_PLUS] = ACTIONS(4936), + [anon_sym_DOT] = ACTIONS(4934), + [anon_sym_DOT_STAR] = ACTIONS(4936), + [anon_sym_DASH_GT] = ACTIONS(4934), + [anon_sym_L_DQUOTE] = ACTIONS(4936), + [anon_sym_u_DQUOTE] = ACTIONS(4936), + [anon_sym_U_DQUOTE] = ACTIONS(4936), + [anon_sym_u8_DQUOTE] = ACTIONS(4936), + [anon_sym_DQUOTE] = ACTIONS(4936), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4936), + [anon_sym_R_DQUOTE] = ACTIONS(4936), + [anon_sym_LR_DQUOTE] = ACTIONS(4936), + [anon_sym_uR_DQUOTE] = ACTIONS(4936), + [anon_sym_UR_DQUOTE] = ACTIONS(4936), + [anon_sym_u8R_DQUOTE] = ACTIONS(4936), + [anon_sym_DASH_GT_STAR] = ACTIONS(4936), + [sym_literal_suffix] = ACTIONS(4934), + }, + [2331] = { + [sym__identifier] = ACTIONS(4652), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4645), + [anon_sym_COMMA] = ACTIONS(4645), + [anon_sym_RPAREN] = ACTIONS(4645), + [aux_sym_preproc_if_token2] = ACTIONS(4645), + [aux_sym_preproc_else_token1] = ACTIONS(4645), + [aux_sym_preproc_elif_token1] = ACTIONS(4652), + [aux_sym_preproc_elifdef_token1] = ACTIONS(4645), + [aux_sym_preproc_elifdef_token2] = ACTIONS(4645), + [anon_sym_LPAREN2] = ACTIONS(4645), + [anon_sym_DASH] = ACTIONS(4652), + [anon_sym_PLUS] = ACTIONS(4652), + [anon_sym_STAR] = ACTIONS(4652), + [anon_sym_SLASH] = ACTIONS(4652), + [anon_sym_PERCENT] = ACTIONS(4652), + [anon_sym_PIPE_PIPE] = ACTIONS(4645), + [anon_sym_AMP_AMP] = ACTIONS(4645), + [anon_sym_PIPE] = ACTIONS(4652), + [anon_sym_CARET] = ACTIONS(4652), + [anon_sym_AMP] = ACTIONS(4652), + [anon_sym_EQ_EQ] = ACTIONS(4645), + [anon_sym_BANG_EQ] = ACTIONS(4645), + [anon_sym_GT] = ACTIONS(4652), + [anon_sym_GT_EQ] = ACTIONS(4645), + [anon_sym_LT_EQ] = ACTIONS(4652), + [anon_sym_LT] = ACTIONS(4652), + [anon_sym_LT_LT] = ACTIONS(4652), + [anon_sym_GT_GT] = ACTIONS(4652), + [anon_sym_SEMI] = ACTIONS(4645), + [anon_sym___attribute__] = ACTIONS(4652), + [anon_sym_COLON_COLON] = ACTIONS(4650), + [anon_sym_LBRACE] = ACTIONS(4650), + [anon_sym_RBRACE] = ACTIONS(4645), + [anon_sym_LBRACK] = ACTIONS(4645), + [anon_sym_RBRACK] = ACTIONS(4645), + [anon_sym_EQ] = ACTIONS(4652), + [anon_sym_COLON] = ACTIONS(4652), + [anon_sym_QMARK] = ACTIONS(4645), + [anon_sym_STAR_EQ] = ACTIONS(4645), + [anon_sym_SLASH_EQ] = ACTIONS(4645), + [anon_sym_PERCENT_EQ] = ACTIONS(4645), + [anon_sym_PLUS_EQ] = ACTIONS(4645), + [anon_sym_DASH_EQ] = ACTIONS(4645), + [anon_sym_LT_LT_EQ] = ACTIONS(4645), + [anon_sym_GT_GT_EQ] = ACTIONS(4645), + [anon_sym_AMP_EQ] = ACTIONS(4645), + [anon_sym_CARET_EQ] = ACTIONS(4645), + [anon_sym_PIPE_EQ] = ACTIONS(4645), + [anon_sym_and_eq] = ACTIONS(4652), + [anon_sym_or_eq] = ACTIONS(4652), + [anon_sym_xor_eq] = ACTIONS(4652), + [anon_sym_LT_EQ_GT] = ACTIONS(4645), + [anon_sym_or] = ACTIONS(4652), + [anon_sym_and] = ACTIONS(4652), + [anon_sym_bitor] = ACTIONS(4652), + [anon_sym_xor] = ACTIONS(4652), + [anon_sym_bitand] = ACTIONS(4652), + [anon_sym_not_eq] = ACTIONS(4652), + [anon_sym_DASH_DASH] = ACTIONS(4645), + [anon_sym_PLUS_PLUS] = ACTIONS(4645), + [anon_sym_DOT] = ACTIONS(4652), + [anon_sym_DOT_STAR] = ACTIONS(4645), + [anon_sym_DASH_GT] = ACTIONS(4645), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4645), + }, + [2332] = { + [sym__identifier] = ACTIONS(4898), + [anon_sym_DOT_DOT_DOT] = ACTIONS(4014), + [anon_sym_COMMA] = ACTIONS(4014), + [anon_sym_LPAREN2] = ACTIONS(4014), + [anon_sym_DASH] = ACTIONS(4898), + [anon_sym_PLUS] = ACTIONS(4898), + [anon_sym_STAR] = ACTIONS(4898), + [anon_sym_SLASH] = ACTIONS(4898), + [anon_sym_PERCENT] = ACTIONS(4898), + [anon_sym_PIPE_PIPE] = ACTIONS(4014), + [anon_sym_AMP_AMP] = ACTIONS(4014), + [anon_sym_PIPE] = ACTIONS(4898), + [anon_sym_CARET] = ACTIONS(4898), + [anon_sym_AMP] = ACTIONS(4898), + [anon_sym_EQ_EQ] = ACTIONS(4014), + [anon_sym_BANG_EQ] = ACTIONS(4014), + [anon_sym_GT] = ACTIONS(4898), + [anon_sym_GT_EQ] = ACTIONS(4014), + [anon_sym_LT_EQ] = ACTIONS(4898), + [anon_sym_LT] = ACTIONS(4898), + [anon_sym_LT_LT] = ACTIONS(4898), + [anon_sym_GT_GT] = ACTIONS(4898), + [anon_sym_SEMI] = ACTIONS(4014), + [anon_sym___attribute__] = ACTIONS(4898), + [anon_sym_LBRACK] = ACTIONS(4014), + [anon_sym_EQ] = ACTIONS(4898), + [anon_sym_QMARK] = ACTIONS(4014), + [anon_sym_STAR_EQ] = ACTIONS(4014), + [anon_sym_SLASH_EQ] = ACTIONS(4014), + [anon_sym_PERCENT_EQ] = ACTIONS(4014), + [anon_sym_PLUS_EQ] = ACTIONS(4014), + [anon_sym_DASH_EQ] = ACTIONS(4014), + [anon_sym_LT_LT_EQ] = ACTIONS(4014), + [anon_sym_GT_GT_EQ] = ACTIONS(4014), + [anon_sym_AMP_EQ] = ACTIONS(4014), + [anon_sym_CARET_EQ] = ACTIONS(4014), + [anon_sym_PIPE_EQ] = ACTIONS(4014), + [anon_sym_and_eq] = ACTIONS(4898), + [anon_sym_or_eq] = ACTIONS(4898), + [anon_sym_xor_eq] = ACTIONS(4898), + [anon_sym_LT_EQ_GT] = ACTIONS(4014), + [anon_sym_or] = ACTIONS(4898), + [anon_sym_and] = ACTIONS(4898), + [anon_sym_bitor] = ACTIONS(4898), + [anon_sym_xor] = ACTIONS(4898), + [anon_sym_bitand] = ACTIONS(4898), + [anon_sym_not_eq] = ACTIONS(4898), + [anon_sym_DASH_DASH] = ACTIONS(4014), + [anon_sym_PLUS_PLUS] = ACTIONS(4014), + [anon_sym_DOT] = ACTIONS(4898), + [anon_sym_DOT_STAR] = ACTIONS(4014), + [anon_sym_DASH_GT] = ACTIONS(4014), + [anon_sym_L_DQUOTE] = ACTIONS(4014), + [anon_sym_u_DQUOTE] = ACTIONS(4014), + [anon_sym_U_DQUOTE] = ACTIONS(4014), + [anon_sym_u8_DQUOTE] = ACTIONS(4014), + [anon_sym_DQUOTE] = ACTIONS(4014), + [sym_comment] = ACTIONS(3), + [sym_grit_metavariable] = ACTIONS(4014), + [anon_sym_R_DQUOTE] = ACTIONS(4014), + [anon_sym_LR_DQUOTE] = ACTIONS(4014), + [anon_sym_uR_DQUOTE] = ACTIONS(4014), + [anon_sym_UR_DQUOTE] = ACTIONS(4014), + [anon_sym_u8R_DQUOTE] = ACTIONS(4014), + [sym_literal_suffix] = ACTIONS(4898), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4068), 1, + sym_grit_metavariable, + ACTIONS(5643), 1, + sym_literal_suffix, + STATE(2501), 1, + sym__string_literal, + STATE(2001), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(4066), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4070), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5796), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [154] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(1867), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [225] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2347), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5798), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5325), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [300] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5800), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5802), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4910), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [442] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2379), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5618), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [517] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4068), 1, + sym_grit_metavariable, + ACTIONS(5643), 1, + sym_literal_suffix, + STATE(2501), 1, + sym__string_literal, + STATE(2001), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(4066), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4070), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4994), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5806), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5808), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [671] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5812), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [742] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1697), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5814), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5574), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [817] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5816), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5818), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [888] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(1867), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5820), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5822), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1030] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1697), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5814), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5534), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [1105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3759), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3761), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4922), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [1247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5824), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5826), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1318] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2347), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5798), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5014), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [1393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4914), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [1464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [1535] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5832), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5828), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5830), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1608] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5836), 1, + sym_primitive_type, + ACTIONS(5838), 1, + sym_grit_metavariable, + STATE(2433), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2602), 1, + sym_identifier, + ACTIONS(5834), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(5040), 29, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + [1691] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5840), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5842), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5844), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5846), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [1833] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2378), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5848), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5608), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [1908] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4910), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [1979] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4914), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4918), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2121] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + STATE(1759), 1, + sym_attribute_specifier, + STATE(2450), 1, + sym_enumerator_list, + ACTIONS(5476), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5478), 49, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [2200] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4918), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2271] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5796), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [2342] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4922), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5796), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [2484] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(5852), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + ACTIONS(5276), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [2563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4914), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2634] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5859), 1, + anon_sym_LT, + STATE(2331), 1, + sym_template_argument_list, + ACTIONS(5855), 26, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5857), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [2709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4936), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [2780] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4922), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [2851] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + STATE(1857), 1, + sym_attribute_specifier, + STATE(2414), 1, + sym_enumerator_list, + ACTIONS(5453), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5455), 49, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [2930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4936), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [3001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 28, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4936), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [3072] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5502), 1, + sym_primitive_type, + ACTIONS(5862), 1, + sym__identifier, + ACTIONS(5864), 1, + sym_grit_metavariable, + STATE(1973), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2339), 1, + sym_identifier, + ACTIONS(5500), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(5040), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + [3155] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5852), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4854), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_grit_metavariable, + anon_sym_DASH_GT_STAR, + ACTIONS(4852), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym_primitive_type, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_auto, + anon_sym_decltype, + [3230] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3755), 28, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3757), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [3301] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1697), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5814), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5594), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [3376] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1697), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5814), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5598), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [3451] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4918), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [3522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4910), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [3593] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5866), 1, + anon_sym___attribute__, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2789), 1, + sym_field_declaration_list, + STATE(2992), 1, + sym_attribute_specifier, + STATE(6854), 1, + sym_virtual_specifier, + STATE(7713), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4943), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [3679] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5872), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [3749] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5876), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [3819] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5880), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [3889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5884), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [3959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5888), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5892), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4099] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5896), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4169] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1841), 1, + sym_attribute_specifier, + ACTIONS(5645), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5647), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [4243] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5900), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5904), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5064), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4453] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2100), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5906), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5574), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [4527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4816), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4846), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4824), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [4737] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2675), 1, + sym_field_declaration_list, + STATE(2798), 1, + sym_attribute_specifier, + STATE(6771), 1, + sym_virtual_specifier, + STATE(7536), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4943), 41, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [4823] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(5914), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + [4917] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2449), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5922), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5325), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [4991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5926), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5061] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5930), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5932), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5934), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5201] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1868), 1, + sym_attribute_specifier, + ACTIONS(5540), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5542), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [5275] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5938), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5936), 55, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [5345] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5942), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5946), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5485] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5950), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5948), 55, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [5555] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4842), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5954), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3501), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [5765] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1737), 1, + sym_attribute_specifier, + ACTIONS(5614), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5616), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [5839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1758), 1, + sym_attribute_specifier, + ACTIONS(5590), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5592), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [5913] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1735), 1, + sym_attribute_specifier, + ACTIONS(5496), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5498), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [5987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5958), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6057] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5962), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6127] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5966), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6197] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5968), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5970), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4792), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6337] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1775), 1, + sym_attribute_specifier, + ACTIONS(5586), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5588), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [6411] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4850), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6481] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1776), 1, + sym_attribute_specifier, + ACTIONS(5582), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5584), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [6555] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5974), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5976), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5978), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6905] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [6975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5982), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7115] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5986), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4612), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7255] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(5988), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(5276), 29, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + [7333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5830), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7403] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4838), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7473] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2452), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5991), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5608), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [7547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5995), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5999), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6003), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7757] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6007), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [7827] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2100), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5906), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5598), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [7901] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1835), 1, + sym_attribute_specifier, + ACTIONS(5530), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5532), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [7975] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2441), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6009), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5618), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [8049] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5988), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4854), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4852), 31, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym_primitive_type, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + [8123] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6013), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4796), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8263] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4796), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4796), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8403] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2100), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5906), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5534), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [8477] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1858), 1, + sym_attribute_specifier, + ACTIONS(5548), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5550), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [8551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(2402), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8621] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2100), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5906), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5594), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [8695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4800), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4812), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4922), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [8905] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6017), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [8975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6021), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9045] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1886), 1, + sym_attribute_specifier, + ACTIONS(5635), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5637), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [9119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4918), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [9189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6025), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6029), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6033), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6037), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9469] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4910), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [9539] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1887), 1, + sym_attribute_specifier, + ACTIONS(5631), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5633), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [9613] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6041), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9753] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6043), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6045), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9823] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6047), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6049), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9893] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4808), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [9963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4936), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [10033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(2771), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4820), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10173] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6051), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6053), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10243] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6057), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6061), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10453] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(2566), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6063), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5461), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [10531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6067), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10601] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6071), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10671] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4914), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [10741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6073), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6075), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10811] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + STATE(1860), 1, + sym_attribute_specifier, + ACTIONS(5639), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5641), 50, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [10885] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(2450), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [10955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6079), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6077), 55, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [11025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4804), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [11095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6083), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [11165] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(6089), 1, + sym_virtual, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2539), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6085), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(6087), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + [11259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5966), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [11329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6093), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [11399] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(6095), 1, + anon_sym___attribute__, + ACTIONS(6097), 1, + anon_sym_COLON, + STATE(1943), 1, + sym__enum_base_clause, + STATE(1978), 1, + sym_enumerator_list, + STATE(2230), 1, + sym_attribute_specifier, + ACTIONS(5772), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5774), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [11480] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6099), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2510), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4788), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4786), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [11561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4918), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [11630] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5014), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5012), 47, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [11701] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + STATE(2573), 1, + sym_decltype_auto, + ACTIONS(5002), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5000), 44, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [11776] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5459), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [11855] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(6095), 1, + anon_sym___attribute__, + ACTIONS(6097), 1, + anon_sym_COLON, + STATE(1951), 1, + sym__enum_base_clause, + STATE(2000), 1, + sym_enumerator_list, + STATE(2039), 1, + sym_attribute_specifier, + ACTIONS(5790), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5792), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [11936] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6105), 1, + sym__identifier, + ACTIONS(6110), 1, + sym_primitive_type, + ACTIONS(6112), 1, + sym_grit_metavariable, + STATE(2557), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2621), 1, + sym_identifier, + ACTIONS(6108), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5040), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [12017] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6115), 1, + anon_sym_LT, + STATE(2566), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2604), 1, + sym_template_argument_list, + ACTIONS(6063), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3771), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [12096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4998), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4996), 47, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [12165] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4910), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [12234] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(1867), 51, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [12303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [12372] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6117), 1, + anon_sym___attribute__, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2920), 1, + sym_field_declaration_list, + STATE(3118), 1, + sym_attribute_specifier, + STATE(6936), 1, + sym_virtual_specifier, + STATE(7688), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4943), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [12457] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6125), 1, + sym_primitive_type, + ACTIONS(6127), 1, + sym_grit_metavariable, + STATE(2571), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2733), 1, + sym_identifier, + ACTIONS(6123), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5040), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + ACTIONS(5038), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [12538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(1867), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [12607] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4936), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [12676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4922), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [12745] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6099), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2492), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4766), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4764), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [12826] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6129), 1, + sym__identifier, + ACTIONS(6135), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2510), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(6132), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6138), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4775), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4773), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [12907] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1867), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(1865), 31, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [12976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4914), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [13045] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [13130] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2449), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5922), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5014), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [13203] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(2623), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6145), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5461), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [13280] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6147), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4852), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + sym_primitive_type, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(4854), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_grit_metavariable, + anon_sym_DASH_GT_STAR, + [13352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5018), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5016), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13420] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6115), 1, + anon_sym_LT, + STATE(2604), 1, + sym_template_argument_list, + ACTIONS(5032), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3789), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [13494] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5289), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5287), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5084), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5082), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13630] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4910), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [13698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5267), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5265), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13766] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5014), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5012), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13834] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5107), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5105), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5111), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5109), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [13970] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5211), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5209), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4936), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [14106] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5399), 1, + anon_sym_STAR, + ACTIONS(5401), 1, + anon_sym_AMP_AMP, + ACTIONS(5403), 1, + anon_sym_AMP, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2970), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6343), 1, + sym__declarator, + STATE(6458), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(5416), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [14226] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5171), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5169), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5127), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5125), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5203), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5201), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5074), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5072), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5285), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5283), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5235), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5233), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14634] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5131), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5129), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14702] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5070), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5068), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14770] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6150), 1, + anon_sym_LT, + STATE(2623), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2632), 1, + sym_template_argument_list, + ACTIONS(6145), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3771), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [14848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5113), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [14916] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6156), 1, + sym_virtual, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2541), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6154), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(6152), 13, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [15002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5263), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5261), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15070] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6168), 1, + anon_sym___attribute__, + ACTIONS(6171), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6174), 1, + anon_sym___declspec, + ACTIONS(6180), 1, + sym_virtual, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(6177), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2541), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(6165), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(6160), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(6162), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6158), 13, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [15156] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5271), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5269), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15224] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5119), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5117), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5123), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5121), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5325), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5323), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15428] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 29, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DOT, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(1867), 31, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [15496] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5022), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5020), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15564] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(6183), 1, + anon_sym_LPAREN2, + STATE(2489), 1, + sym_argument_list, + STATE(2617), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3938), 1, + sym_initializer_list, + ACTIONS(6186), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [15644] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4922), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [15712] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2574), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6188), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5618), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [15784] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2577), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6190), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5608), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [15856] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5171), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5169), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5107), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5105), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [15992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1867), 43, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [16060] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5259), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5257), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [16128] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5030), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5028), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [16196] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4852), 1, + sym_primitive_type, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5628), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5276), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [16270] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5195), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5193), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [16338] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2560), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6192), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5325), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [16410] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6194), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5534), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [16482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4914), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [16550] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5399), 1, + anon_sym_STAR, + ACTIONS(5401), 1, + anon_sym_AMP_AMP, + ACTIONS(5403), 1, + anon_sym_AMP, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2970), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6346), 1, + sym__declarator, + STATE(6430), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(6196), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [16670] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5139), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5137), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [16738] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5337), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5335), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [16806] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6198), 1, + anon_sym_LT, + STATE(2604), 1, + sym_template_argument_list, + ACTIONS(4610), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4617), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [16880] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6194), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5574), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [16952] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(4918), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + anon_sym_DASH_GT_STAR, + [17020] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5341), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5339), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17088] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5345), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5343), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17156] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5191), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5189), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17224] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(6147), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5276), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + ACTIONS(5273), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [17300] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5103), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5101), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17368] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5164), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5162), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17436] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6194), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5598), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [17508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5171), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5169), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5026), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5024), 46, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [17644] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2376), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6194), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5594), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [17716] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6156), 1, + sym_virtual, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2541), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6203), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(6201), 13, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [17802] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(5010), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [17871] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + STATE(2658), 1, + sym_enumerator_list, + STATE(2833), 1, + sym_attribute_specifier, + ACTIONS(5476), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5478), 43, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [17946] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [18015] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + ACTIONS(6207), 1, + anon_sym_LBRACE, + ACTIONS(6209), 1, + anon_sym_COLON, + STATE(2726), 1, + sym__enum_base_clause, + STATE(2848), 1, + sym_enumerator_list, + STATE(2974), 1, + sym_attribute_specifier, + ACTIONS(5772), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5774), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [18094] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2595), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6211), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5608), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [18165] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4985), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [18232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4650), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [18299] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2560), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6192), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [18370] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6213), 1, + anon_sym_LT, + STATE(2632), 1, + sym_template_argument_list, + ACTIONS(4610), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4617), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [18443] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + ACTIONS(6207), 1, + anon_sym_LBRACE, + ACTIONS(6209), 1, + anon_sym_COLON, + STATE(2764), 1, + sym__enum_base_clause, + STATE(2772), 1, + sym_enumerator_list, + STATE(3033), 1, + sym_attribute_specifier, + ACTIONS(5790), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5792), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [18522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4985), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [18589] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6222), 1, + sym_grit_metavariable, + STATE(1625), 1, + sym_string_literal, + STATE(3551), 1, + sym__string_literal, + ACTIONS(6220), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6218), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [18664] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2617), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6186), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5325), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5323), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [18735] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6222), 1, + sym_grit_metavariable, + STATE(1624), 1, + sym_string_literal, + STATE(3551), 1, + sym__string_literal, + ACTIONS(6220), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6218), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [18810] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4633), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [18877] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(2740), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6225), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5461), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [18952] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6227), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5594), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [19023] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2616), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6229), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5594), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5596), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [19094] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4637), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [19161] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4608), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [19228] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5010), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [19297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4641), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [19364] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [19433] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2607), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6231), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5618), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [19504] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2616), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6229), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5574), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5576), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [19575] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4650), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [19642] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2616), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6229), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5598), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5600), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [19713] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6222), 1, + sym_grit_metavariable, + STATE(1622), 1, + sym_string_literal, + STATE(3551), 1, + sym__string_literal, + ACTIONS(6220), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6218), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [19788] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6227), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5598), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [19859] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2612), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6233), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5325), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [19930] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6235), 1, + anon_sym_LT, + STATE(2719), 1, + sym_template_argument_list, + ACTIONS(4610), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4617), 28, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [20003] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6237), 1, + anon_sym___attribute__, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3111), 1, + sym_field_declaration_list, + STATE(3375), 1, + sym_attribute_specifier, + STATE(7023), 1, + sym_virtual_specifier, + STATE(7757), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4943), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [20086] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4604), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [20153] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6227), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5534), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [20224] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2596), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6241), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5608), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5610), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [20295] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6235), 1, + anon_sym_LT, + STATE(2719), 1, + sym_template_argument_list, + ACTIONS(3789), 28, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(5032), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + [20368] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6222), 1, + sym_grit_metavariable, + STATE(1623), 1, + sym_string_literal, + STATE(3551), 1, + sym__string_literal, + ACTIONS(6220), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6218), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [20443] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2616), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6243), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4854), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4852), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [20514] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2616), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6229), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5534), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5536), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [20585] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + STATE(2687), 1, + sym_enumerator_list, + STATE(2871), 1, + sym_attribute_specifier, + ACTIONS(5453), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5455), 43, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [20660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4600), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [20727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4629), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [20794] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2605), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6246), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5618), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5620), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [20865] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6150), 1, + anon_sym_LT, + STATE(2632), 1, + sym_template_argument_list, + ACTIONS(5032), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3789), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [20938] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2444), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6227), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5574), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [21009] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4979), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [21078] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4979), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [21147] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2882), 1, + sym_attribute_specifier, + ACTIONS(5582), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5584), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [21217] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + ACTIONS(6248), 1, + anon_sym_LBRACE, + ACTIONS(6250), 1, + anon_sym_COLON, + STATE(2768), 1, + sym__enum_base_clause, + STATE(2932), 1, + sym_enumerator_list, + STATE(3131), 1, + sym_attribute_specifier, + ACTIONS(5772), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5774), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [21295] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4910), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(4898), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [21363] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2617), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6186), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [21433] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6254), 1, + anon_sym_LBRACK, + ACTIONS(6256), 1, + sym_auto, + ACTIONS(6258), 1, + anon_sym_decltype, + STATE(2968), 1, + sym_new_declarator, + STATE(3027), 1, + sym_decltype_auto, + STATE(3386), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5143), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [21515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4604), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4602), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [21581] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4650), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [21647] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5524), 1, + anon_sym_STAR, + ACTIONS(5526), 1, + anon_sym_AMP_AMP, + ACTIONS(5528), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6343), 1, + sym__declarator, + STATE(6586), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5416), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [21765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(1867), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [21831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4914), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [21897] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4608), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4606), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [21963] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6260), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + STATE(2740), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6225), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3771), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [22039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4629), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4627), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [22105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4600), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4598), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [22171] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4641), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4639), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [22237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4637), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4635), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [22303] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4979), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [22371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4633), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4631), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [22437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4979), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [22505] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4979), 46, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [22571] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6254), 1, + anon_sym_LBRACK, + ACTIONS(6256), 1, + sym_auto, + ACTIONS(6258), 1, + anon_sym_decltype, + STATE(2935), 1, + sym_new_declarator, + STATE(3027), 1, + sym_decltype_auto, + STATE(3520), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5135), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [22653] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4936), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [22719] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4910), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [22785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4985), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [22851] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + ACTIONS(6262), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + [22931] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4650), 41, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + anon_sym_DASH_GT_STAR, + [22997] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2612), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6233), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5014), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [23067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4918), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [23133] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2855), 1, + sym_attribute_specifier, + ACTIONS(5540), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5542), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23203] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6276), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + ACTIONS(6274), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + [23283] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2862), 1, + sym_attribute_specifier, + ACTIONS(5631), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5633), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23353] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2865), 1, + sym_attribute_specifier, + ACTIONS(5635), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5637), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23423] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2866), 1, + sym_attribute_specifier, + ACTIONS(5548), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5550), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23493] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6254), 1, + anon_sym_LBRACK, + ACTIONS(6256), 1, + sym_auto, + ACTIONS(6258), 1, + anon_sym_decltype, + STATE(2964), 1, + sym_new_declarator, + STATE(3027), 1, + sym_decltype_auto, + STATE(3475), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5099), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23575] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5010), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [23643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4922), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [23709] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2766), 1, + sym_attribute_specifier, + ACTIONS(5639), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5641), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23779] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + ACTIONS(6248), 1, + anon_sym_LBRACE, + ACTIONS(6250), 1, + anon_sym_COLON, + STATE(2786), 1, + sym__enum_base_clause, + STATE(2917), 1, + sym_enumerator_list, + STATE(3115), 1, + sym_attribute_specifier, + ACTIONS(5790), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5792), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [23857] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2795), 1, + sym_attribute_specifier, + ACTIONS(5645), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5647), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23927] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2872), 1, + sym_attribute_specifier, + ACTIONS(5530), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5532), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [23997] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6280), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + ACTIONS(6278), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + [24077] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5524), 1, + anon_sym_STAR, + ACTIONS(5526), 1, + anon_sym_AMP_AMP, + ACTIONS(5528), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6346), 1, + sym__declarator, + STATE(6589), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6196), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [24195] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6282), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6284), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24305] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6316), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6318), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24415] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6322), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_grit_metavariable, + [24493] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6326), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + ACTIONS(6324), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + [24573] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6330), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + ACTIONS(6328), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + [24653] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [24735] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + sym__identifier, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [24841] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2767), 1, + sym_attribute_specifier, + ACTIONS(5586), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5588), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [24911] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 8, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + sym__identifier, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25013] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 10, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + sym__identifier, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25113] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 12, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + sym__identifier, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25211] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 14, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + sym__identifier, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25307] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 15, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25399] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 18, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25487] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 20, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [25571] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 18, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [25657] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6334), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6015), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6017), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [25771] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6338), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_grit_metavariable, + [25849] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6254), 1, + anon_sym_LBRACK, + ACTIONS(6256), 1, + sym_auto, + ACTIONS(6258), 1, + anon_sym_decltype, + STATE(2975), 1, + sym_new_declarator, + STATE(3027), 1, + sym_decltype_auto, + STATE(3530), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5050), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [25931] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2856), 1, + sym_attribute_specifier, + ACTIONS(5496), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5498), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [26001] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5556), 1, + anon_sym_STAR, + ACTIONS(5558), 1, + anon_sym_AMP_AMP, + ACTIONS(5560), 1, + anon_sym_AMP, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6343), 1, + sym__declarator, + STATE(6583), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5416), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [26119] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5556), 1, + anon_sym_STAR, + ACTIONS(5558), 1, + anon_sym_AMP_AMP, + ACTIONS(5560), 1, + anon_sym_AMP, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6346), 1, + sym__declarator, + STATE(6626), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6196), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [26237] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6340), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6342), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [26347] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6334), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6344), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6346), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [26461] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6348), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6350), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [26571] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(6290), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6292), 1, + anon_sym_AMP_AMP, + ACTIONS(6304), 1, + anon_sym_GT_EQ, + ACTIONS(6308), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6310), 1, + anon_sym_or, + ACTIONS(6312), 1, + anon_sym_and, + ACTIONS(6314), 1, + anon_sym_not_eq, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6334), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6286), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6294), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(6296), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6298), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(6300), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6306), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6288), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6302), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6352), 6, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + sym__identifier, + ACTIONS(6354), 16, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_grit_metavariable, + [26685] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2811), 1, + sym_attribute_specifier, + ACTIONS(5614), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5616), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [26755] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [26821] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + STATE(2829), 1, + sym_attribute_specifier, + ACTIONS(5590), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5592), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [26891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5391), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5389), 44, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [26957] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(6095), 1, + anon_sym___attribute__, + ACTIONS(6356), 1, + anon_sym_COLON, + STATE(1943), 1, + sym__enum_base_clause, + STATE(1978), 1, + sym_enumerator_list, + STATE(2230), 1, + sym_attribute_specifier, + ACTIONS(5772), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5774), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [27034] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(6095), 1, + anon_sym___attribute__, + ACTIONS(6356), 1, + anon_sym_COLON, + STATE(1951), 1, + sym__enum_base_clause, + STATE(2000), 1, + sym_enumerator_list, + STATE(2039), 1, + sym_attribute_specifier, + ACTIONS(5790), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5792), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [27111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6358), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(6360), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [27176] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6362), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [27267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5285), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [27332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4979), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [27397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5235), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [27462] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6366), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(6364), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [27527] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6370), 1, + anon_sym_LBRACK, + ACTIONS(6372), 1, + sym_auto, + ACTIONS(6374), 1, + anon_sym_decltype, + STATE(3099), 1, + sym_new_declarator, + STATE(3108), 1, + sym_decltype_auto, + STATE(3614), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5050), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [27608] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6376), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(6378), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [27673] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6370), 1, + anon_sym_LBRACK, + ACTIONS(6372), 1, + sym_auto, + ACTIONS(6374), 1, + anon_sym_decltype, + STATE(3081), 1, + sym_new_declarator, + STATE(3108), 1, + sym_decltype_auto, + STATE(3756), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5099), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [27754] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + STATE(2770), 1, + sym_decltype_auto, + ACTIONS(5000), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5002), 42, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [27825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5030), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [27890] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5014), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [27957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5219), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5217), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [28022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5325), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [28087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4998), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [28152] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5103), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [28217] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6370), 1, + anon_sym_LBRACK, + ACTIONS(6372), 1, + sym_auto, + ACTIONS(6374), 1, + anon_sym_decltype, + STATE(3079), 1, + sym_new_declarator, + STATE(3108), 1, + sym_decltype_auto, + STATE(3726), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5135), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [28298] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6384), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(6386), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [28363] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6388), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + ACTIONS(4610), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4617), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [28434] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4650), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [28499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2584), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(2589), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [28564] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5954), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + ACTIONS(5952), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [28629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5191), 45, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [28694] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2742), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6391), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5325), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [28763] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6393), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5598), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [28832] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6370), 1, + anon_sym_LBRACK, + ACTIONS(6372), 1, + sym_auto, + ACTIONS(6374), 1, + anon_sym_decltype, + STATE(3070), 1, + sym_new_declarator, + STATE(3108), 1, + sym_decltype_auto, + STATE(3688), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5143), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [28913] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + ACTIONS(6207), 1, + anon_sym_LBRACE, + STATE(2779), 1, + sym_enumerator_list, + STATE(2934), 1, + sym_attribute_specifier, + ACTIONS(5453), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5455), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [28986] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 26, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4994), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [29053] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 26, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [29120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5946), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + ACTIONS(5944), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [29185] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6395), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [29276] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6393), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5594), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [29345] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6397), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(6399), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [29410] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2724), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6401), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5618), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [29479] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2731), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6403), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5608), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [29548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2632), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(2637), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [29613] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4031), 1, + anon_sym_STAR, + ACTIONS(4033), 1, + anon_sym_AMP_AMP, + ACTIONS(4035), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5416), 1, + anon_sym_RPAREN, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6409), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(6583), 1, + sym__abstract_declarator, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [29730] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4979), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [29795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5986), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + ACTIONS(5984), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [29860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4643), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [29925] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6393), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5574), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [29994] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6405), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [30085] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2516), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6393), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5534), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [30154] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6021), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + ACTIONS(6019), 30, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [30219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6409), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [30284] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4031), 1, + anon_sym_STAR, + ACTIONS(4033), 1, + anon_sym_AMP_AMP, + ACTIONS(4035), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6196), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6406), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(6626), 1, + sym__abstract_declarator, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [30401] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(5010), 28, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [30468] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6411), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [30559] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6260), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + ACTIONS(5032), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3789), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [30630] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6413), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [30721] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6417), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [30786] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6419), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [30877] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4979), 28, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [30944] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4604), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31009] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4608), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31074] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4629), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4600), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4641), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4637), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31334] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4633), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31399] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4979), 28, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31466] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 27, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6423), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [31531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(4985), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31596] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5916), 1, + sym_auto, + ACTIONS(5918), 1, + anon_sym_decltype, + ACTIONS(5920), 1, + sym_virtual, + ACTIONS(6425), 1, + anon_sym_SEMI, + STATE(2573), 1, + sym_decltype_auto, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + STATE(2578), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4957), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(4955), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5912), 12, + anon_sym_AMP, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + sym__identifier, + anon_sym_template, + anon_sym_operator, + [31687] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + ACTIONS(6207), 1, + anon_sym_LBRACE, + STATE(2836), 1, + sym_enumerator_list, + STATE(2980), 1, + sym_attribute_specifier, + ACTIONS(5476), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5478), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [31760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6427), 28, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + ACTIONS(6429), 29, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [31825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5271), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [31889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5111), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [31953] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + ACTIONS(6248), 1, + anon_sym_LBRACE, + STATE(2915), 1, + sym_enumerator_list, + STATE(3145), 1, + sym_attribute_specifier, + ACTIONS(5453), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5455), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [32025] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6278), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6280), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [32103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5164), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [32167] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6168), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2860), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3835), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [32281] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2979), 1, + sym_attribute_specifier, + ACTIONS(5590), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5592), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [32349] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6171), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3823), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [32463] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6160), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2773), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3869), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [32577] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6173), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2782), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3883), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [32691] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6455), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [32773] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(3008), 1, + sym_attribute_specifier, + ACTIONS(5614), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5616), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [32841] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5267), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [32905] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(3011), 1, + sym_attribute_specifier, + ACTIONS(5496), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5498), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [32973] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4927), 4, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(4929), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3765), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + ACTIONS(3773), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + [33041] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6457), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [33123] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6160), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3869), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [33237] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6459), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [33319] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6324), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6326), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [33397] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6322), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [33473] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + ACTIONS(6248), 1, + anon_sym_LBRACE, + STATE(2925), 1, + sym_enumerator_list, + STATE(3135), 1, + sym_attribute_specifier, + ACTIONS(5476), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5478), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [33545] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6129), 1, + sym__identifier, + ACTIONS(6461), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2787), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(6132), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6138), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4775), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4773), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [33621] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5171), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [33685] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2990), 1, + sym_attribute_specifier, + ACTIONS(5586), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5588), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [33753] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6328), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6330), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [33831] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2995), 1, + sym_attribute_specifier, + ACTIONS(5582), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5584), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [33899] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2830), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3910), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [34013] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6132), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2867), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3893), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [34127] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + ACTIONS(6464), 1, + anon_sym_LBRACE, + ACTIONS(6466), 1, + anon_sym_COLON, + STATE(3012), 1, + sym__enum_base_clause, + STATE(3076), 1, + sym_enumerator_list, + STATE(3427), 1, + sym_attribute_specifier, + ACTIONS(5772), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5774), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [34203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5211), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34267] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6468), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6470), 1, + anon_sym_AMP_AMP, + ACTIONS(6472), 1, + anon_sym_or, + ACTIONS(6474), 1, + anon_sym_and, + ACTIONS(5778), 24, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5780), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [34339] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2955), 1, + sym_attribute_specifier, + ACTIONS(5645), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5647), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [34407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5203), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34471] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(3032), 1, + sym_attribute_specifier, + ACTIONS(5639), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5641), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [34539] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6099), 1, + sym__identifier, + ACTIONS(6476), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2787), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4788), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4786), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [34615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5014), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34679] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5171), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34743] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6478), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [34825] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2954), 1, + sym_attribute_specifier, + ACTIONS(5631), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5633), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [34893] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5119), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34957] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2509), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4994), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [35031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5391), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [35095] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(3036), 1, + sym_attribute_specifier, + ACTIONS(5540), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5542), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [35163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5127), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [35227] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6338), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [35303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5026), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [35367] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + ACTIONS(6464), 1, + anon_sym_LBRACE, + ACTIONS(6466), 1, + anon_sym_COLON, + STATE(3002), 1, + sym__enum_base_clause, + STATE(3112), 1, + sym_enumerator_list, + STATE(3383), 1, + sym_attribute_specifier, + ACTIONS(5790), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5792), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [35443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5022), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [35507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4633), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [35571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4637), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [35635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4641), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [35699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [35763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5123), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [35827] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6346), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [35941] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [36005] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4600), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [36069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4629), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [36133] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4608), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [36197] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4931), 1, + sym_grit_metavariable, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2509), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [36273] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6343), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3934), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [36387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4604), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [36451] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [36515] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2532), 1, + sym_attribute_specifier, + STATE(2991), 1, + sym_enumerator_list, + ACTIONS(5478), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5476), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [36587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5070), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [36651] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6406), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3841), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [36765] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6488), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [36847] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2742), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6391), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [36915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5074), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [36979] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2941), 1, + sym_attribute_specifier, + ACTIONS(5635), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5637), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [37047] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6406), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3872), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [37161] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2944), 1, + sym_attribute_specifier, + ACTIONS(5548), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5550), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [37229] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [37293] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6343), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2819), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3934), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [37407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [37471] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4985), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [37535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5107), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [37599] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6523), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3904), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [37713] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2555), 1, + sym_attribute_specifier, + STATE(3005), 1, + sym_enumerator_list, + ACTIONS(5455), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5453), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [37785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5131), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [37849] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2835), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3878), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [37963] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6099), 1, + sym__identifier, + ACTIONS(6476), 1, + sym_grit_metavariable, + STATE(2648), 1, + sym__string_literal, + STATE(2800), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4766), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4764), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [38039] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6470), 1, + anon_sym_AMP_AMP, + ACTIONS(6474), 1, + anon_sym_and, + ACTIONS(5752), 25, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5754), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [38107] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5866), 1, + anon_sym___attribute__, + STATE(2938), 1, + sym_attribute_specifier, + ACTIONS(5530), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5532), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [38175] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6550), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3899), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [38289] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6274), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6276), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [38367] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6262), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [38445] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6510), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [38527] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5010), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [38593] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3910), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [38707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5289), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [38771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5018), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [38835] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6337), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2825), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3885), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [38949] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6412), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2854), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3889), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [39063] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6523), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2849), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3904), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [39177] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6132), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3893), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [39291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5345), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [39355] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5341), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [39419] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6532), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2842), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3820), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [39533] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4645), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [39599] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5337), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [39663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5263), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [39727] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6169), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3864), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [39841] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5014), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [39905] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [39971] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 38, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [40037] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5259), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40101] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5195), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40165] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6512), 1, + anon_sym_SEMI, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [40247] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3878), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [40361] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6412), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2874), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3896), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [40475] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5084), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40539] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5171), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40603] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [40667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5139), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40731] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5107), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6013), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_try, + [40859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(5115), 44, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [40923] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3117), 1, + sym_attribute_specifier, + ACTIONS(5645), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5647), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [40990] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5285), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [41053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5014), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5012), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_try, + anon_sym_requires, + [41116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6417), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [41179] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + ACTIONS(6516), 1, + anon_sym_LBRACK, + ACTIONS(6518), 1, + sym_auto, + ACTIONS(6520), 1, + anon_sym_decltype, + STATE(3395), 1, + sym_new_declarator, + STATE(3428), 1, + sym_decltype_auto, + STATE(3906), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5143), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41258] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6522), 1, + anon_sym_LPAREN2, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6526), 1, + anon_sym_LBRACK, + STATE(3239), 1, + sym_parameter_list, + STATE(2949), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5506), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5508), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5325), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [41394] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + ACTIONS(6516), 1, + anon_sym_LBRACK, + ACTIONS(6518), 1, + sym_auto, + ACTIONS(6520), 1, + anon_sym_decltype, + STATE(3399), 1, + sym_new_declarator, + STATE(3428), 1, + sym_decltype_auto, + STATE(3935), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5099), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41473] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6522), 1, + anon_sym_LPAREN2, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6526), 1, + anon_sym_LBRACK, + STATE(3239), 1, + sym_parameter_list, + STATE(2949), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5604), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5606), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41546] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6528), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6530), 1, + anon_sym_AMP_AMP, + ACTIONS(6532), 1, + anon_sym_or, + ACTIONS(6534), 1, + anon_sym_and, + ACTIONS(5778), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5780), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [41617] = 52, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6538), 1, + anon_sym_COMMA, + ACTIONS(6540), 1, + anon_sym_RPAREN, + ACTIONS(6542), 1, + anon_sym_DASH, + ACTIONS(6544), 1, + anon_sym_PLUS, + ACTIONS(6546), 1, + anon_sym_STAR, + ACTIONS(6548), 1, + anon_sym_SLASH, + ACTIONS(6550), 1, + anon_sym_PERCENT, + ACTIONS(6552), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6554), 1, + anon_sym_AMP_AMP, + ACTIONS(6556), 1, + anon_sym_PIPE, + ACTIONS(6558), 1, + anon_sym_CARET, + ACTIONS(6560), 1, + anon_sym_AMP, + ACTIONS(6562), 1, + anon_sym_EQ_EQ, + ACTIONS(6564), 1, + anon_sym_BANG_EQ, + ACTIONS(6566), 1, + anon_sym_GT, + ACTIONS(6568), 1, + anon_sym_GT_EQ, + ACTIONS(6570), 1, + anon_sym_LT_EQ, + ACTIONS(6572), 1, + anon_sym_LT, + ACTIONS(6574), 1, + anon_sym_LT_LT, + ACTIONS(6576), 1, + anon_sym_GT_GT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6580), 1, + anon_sym_EQ, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6584), 1, + anon_sym_STAR_EQ, + ACTIONS(6586), 1, + anon_sym_SLASH_EQ, + ACTIONS(6588), 1, + anon_sym_PERCENT_EQ, + ACTIONS(6590), 1, + anon_sym_PLUS_EQ, + ACTIONS(6592), 1, + anon_sym_DASH_EQ, + ACTIONS(6594), 1, + anon_sym_LT_LT_EQ, + ACTIONS(6596), 1, + anon_sym_GT_GT_EQ, + ACTIONS(6598), 1, + anon_sym_AMP_EQ, + ACTIONS(6600), 1, + anon_sym_CARET_EQ, + ACTIONS(6602), 1, + anon_sym_PIPE_EQ, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6608), 1, + anon_sym_or, + ACTIONS(6610), 1, + anon_sym_and, + ACTIONS(6612), 1, + anon_sym_bitor, + ACTIONS(6614), 1, + anon_sym_xor, + ACTIONS(6616), 1, + anon_sym_bitand, + ACTIONS(6618), 1, + anon_sym_not_eq, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6604), 3, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [41778] = 52, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6538), 1, + anon_sym_COMMA, + ACTIONS(6542), 1, + anon_sym_DASH, + ACTIONS(6544), 1, + anon_sym_PLUS, + ACTIONS(6546), 1, + anon_sym_STAR, + ACTIONS(6548), 1, + anon_sym_SLASH, + ACTIONS(6550), 1, + anon_sym_PERCENT, + ACTIONS(6552), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6554), 1, + anon_sym_AMP_AMP, + ACTIONS(6556), 1, + anon_sym_PIPE, + ACTIONS(6558), 1, + anon_sym_CARET, + ACTIONS(6560), 1, + anon_sym_AMP, + ACTIONS(6562), 1, + anon_sym_EQ_EQ, + ACTIONS(6564), 1, + anon_sym_BANG_EQ, + ACTIONS(6566), 1, + anon_sym_GT, + ACTIONS(6568), 1, + anon_sym_GT_EQ, + ACTIONS(6570), 1, + anon_sym_LT_EQ, + ACTIONS(6572), 1, + anon_sym_LT, + ACTIONS(6574), 1, + anon_sym_LT_LT, + ACTIONS(6576), 1, + anon_sym_GT_GT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6580), 1, + anon_sym_EQ, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6584), 1, + anon_sym_STAR_EQ, + ACTIONS(6586), 1, + anon_sym_SLASH_EQ, + ACTIONS(6588), 1, + anon_sym_PERCENT_EQ, + ACTIONS(6590), 1, + anon_sym_PLUS_EQ, + ACTIONS(6592), 1, + anon_sym_DASH_EQ, + ACTIONS(6594), 1, + anon_sym_LT_LT_EQ, + ACTIONS(6596), 1, + anon_sym_GT_GT_EQ, + ACTIONS(6598), 1, + anon_sym_AMP_EQ, + ACTIONS(6600), 1, + anon_sym_CARET_EQ, + ACTIONS(6602), 1, + anon_sym_PIPE_EQ, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6608), 1, + anon_sym_or, + ACTIONS(6610), 1, + anon_sym_and, + ACTIONS(6612), 1, + anon_sym_bitor, + ACTIONS(6614), 1, + anon_sym_xor, + ACTIONS(6616), 1, + anon_sym_bitand, + ACTIONS(6618), 1, + anon_sym_not_eq, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6628), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6604), 3, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [41939] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4617), 1, + anon_sym_LBRACE, + ACTIONS(4624), 1, + anon_sym_LT, + STATE(2864), 1, + sym_template_argument_list, + ACTIONS(4619), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42010] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5103), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [42073] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6522), 1, + anon_sym_LPAREN2, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6526), 1, + anon_sym_LBRACK, + STATE(3239), 1, + sym_parameter_list, + STATE(2949), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5624), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5626), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [42146] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(3789), 1, + anon_sym_SEMI, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3763), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [42221] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6630), 1, + sym__identifier, + ACTIONS(6632), 1, + sym_grit_metavariable, + STATE(3744), 1, + sym__string_literal, + STATE(2910), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(5447), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(5451), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4766), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4764), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42296] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3114), 1, + sym_attribute_specifier, + ACTIONS(5639), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5641), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [42363] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + ACTIONS(6516), 1, + anon_sym_LBRACK, + ACTIONS(6518), 1, + sym_auto, + ACTIONS(6520), 1, + anon_sym_decltype, + STATE(3428), 1, + sym_decltype_auto, + STATE(3436), 1, + sym_new_declarator, + STATE(3863), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5050), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [42442] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42507] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [42572] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6409), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42635] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6530), 1, + anon_sym_AMP_AMP, + ACTIONS(6534), 1, + anon_sym_and, + ACTIONS(5752), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5754), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42702] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42767] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5030), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [42830] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6634), 1, + sym__identifier, + ACTIONS(6640), 1, + sym_grit_metavariable, + STATE(3744), 1, + sym__string_literal, + STATE(2908), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(6637), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6643), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4775), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4773), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42905] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6423), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [42968] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6630), 1, + sym__identifier, + ACTIONS(6632), 1, + sym_grit_metavariable, + STATE(3744), 1, + sym__string_literal, + STATE(2908), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(5447), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(5451), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4788), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4786), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [43043] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4617), 1, + anon_sym_LBRACE, + ACTIONS(4686), 1, + anon_sym_LT, + STATE(2943), 1, + sym_template_argument_list, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43114] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4979), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DASH_GT_STAR, + [43177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4998), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [43240] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3156), 1, + sym_attribute_specifier, + ACTIONS(5540), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5542), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43307] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3155), 1, + sym_attribute_specifier, + ACTIONS(5496), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5498), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43374] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3130), 1, + sym_attribute_specifier, + ACTIONS(5614), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5616), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43441] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3133), 1, + sym_attribute_specifier, + ACTIONS(5590), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5592), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43508] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6256), 1, + sym_auto, + ACTIONS(6258), 1, + anon_sym_decltype, + STATE(3027), 1, + sym_decltype_auto, + ACTIONS(5000), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5002), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43577] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(6646), 1, + anon_sym_LBRACK, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3925), 1, + sym_template_argument_list, + ACTIONS(3786), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 5, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + sym_grit_metavariable, + ACTIONS(3763), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [43654] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3137), 1, + sym_attribute_specifier, + ACTIONS(5586), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5588), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43721] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + ACTIONS(6516), 1, + anon_sym_LBRACK, + ACTIONS(6518), 1, + sym_auto, + ACTIONS(6520), 1, + anon_sym_decltype, + STATE(3428), 1, + sym_decltype_auto, + STATE(3477), 1, + sym_new_declarator, + STATE(3822), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5135), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43800] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3138), 1, + sym_attribute_specifier, + ACTIONS(5582), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5584), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43867] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3149), 1, + sym_attribute_specifier, + ACTIONS(5631), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5633), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [43934] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6522), 1, + anon_sym_LPAREN2, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6526), 1, + anon_sym_LBRACK, + STATE(3239), 1, + sym_parameter_list, + STATE(2949), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5552), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5554), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44007] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3147), 1, + sym_attribute_specifier, + ACTIONS(5548), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5550), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [44074] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5191), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [44137] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3148), 1, + sym_attribute_specifier, + ACTIONS(5635), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5637), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [44204] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3763), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [44277] = 52, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6538), 1, + anon_sym_COMMA, + ACTIONS(6542), 1, + anon_sym_DASH, + ACTIONS(6544), 1, + anon_sym_PLUS, + ACTIONS(6546), 1, + anon_sym_STAR, + ACTIONS(6548), 1, + anon_sym_SLASH, + ACTIONS(6550), 1, + anon_sym_PERCENT, + ACTIONS(6552), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6554), 1, + anon_sym_AMP_AMP, + ACTIONS(6556), 1, + anon_sym_PIPE, + ACTIONS(6558), 1, + anon_sym_CARET, + ACTIONS(6560), 1, + anon_sym_AMP, + ACTIONS(6562), 1, + anon_sym_EQ_EQ, + ACTIONS(6564), 1, + anon_sym_BANG_EQ, + ACTIONS(6566), 1, + anon_sym_GT, + ACTIONS(6568), 1, + anon_sym_GT_EQ, + ACTIONS(6570), 1, + anon_sym_LT_EQ, + ACTIONS(6572), 1, + anon_sym_LT, + ACTIONS(6574), 1, + anon_sym_LT_LT, + ACTIONS(6576), 1, + anon_sym_GT_GT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6580), 1, + anon_sym_EQ, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6584), 1, + anon_sym_STAR_EQ, + ACTIONS(6586), 1, + anon_sym_SLASH_EQ, + ACTIONS(6588), 1, + anon_sym_PERCENT_EQ, + ACTIONS(6590), 1, + anon_sym_PLUS_EQ, + ACTIONS(6592), 1, + anon_sym_DASH_EQ, + ACTIONS(6594), 1, + anon_sym_LT_LT_EQ, + ACTIONS(6596), 1, + anon_sym_GT_GT_EQ, + ACTIONS(6598), 1, + anon_sym_AMP_EQ, + ACTIONS(6600), 1, + anon_sym_CARET_EQ, + ACTIONS(6602), 1, + anon_sym_PIPE_EQ, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6608), 1, + anon_sym_or, + ACTIONS(6610), 1, + anon_sym_and, + ACTIONS(6612), 1, + anon_sym_bitor, + ACTIONS(6614), 1, + anon_sym_xor, + ACTIONS(6616), 1, + anon_sym_bitand, + ACTIONS(6618), 1, + anon_sym_not_eq, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6649), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6604), 3, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [44438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5235), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [44501] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6522), 1, + anon_sym_LPAREN2, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6526), 1, + anon_sym_LBRACK, + STATE(3239), 1, + sym_parameter_list, + STATE(2949), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5544), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5546), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44574] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6117), 1, + anon_sym___attribute__, + STATE(3144), 1, + sym_attribute_specifier, + ACTIONS(5530), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5532), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [44641] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6653), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6651), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(3601), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(3599), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [44707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5259), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [44769] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3484), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5665), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44837] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [44919] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5107), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [44981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5195), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [45043] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6661), 1, + sym__identifier, + ACTIONS(6663), 1, + sym_grit_metavariable, + STATE(3772), 1, + sym__string_literal, + STATE(2961), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(4701), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4705), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4788), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4786), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [45117] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6665), 1, + anon_sym_LPAREN2, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6669), 1, + anon_sym_LBRACK, + STATE(3505), 1, + sym_parameter_list, + STATE(3067), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5506), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5508), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [45189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5337), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [45251] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2564), 1, + sym_attribute_specifier, + ACTIONS(5637), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5635), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [45317] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4645), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45381] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5263), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [45443] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [45551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5103), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [45613] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + ACTIONS(6697), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [45725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4979), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4977), 41, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [45787] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6524), 1, + anon_sym_LBRACK_LBRACK, + STATE(2953), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5675), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5677), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45853] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4998), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [45915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5345), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [45977] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(5628), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5276), 36, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_try, + anon_sym_requires, + [46047] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6699), 1, + anon_sym_LBRACK_LBRACK, + STATE(2953), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5696), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5698), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5341), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [46175] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5211), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [46237] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [46317] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [46401] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2526), 1, + sym_attribute_specifier, + ACTIONS(5647), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5645), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [46467] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(3789), 8, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5032), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [46535] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2542), 1, + sym_attribute_specifier, + ACTIONS(5641), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5639), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [46601] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6702), 1, + sym__identifier, + ACTIONS(6708), 1, + sym_grit_metavariable, + STATE(3772), 1, + sym__string_literal, + STATE(2961), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(6705), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(6711), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4775), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4773), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [46675] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [46763] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + ACTIONS(6697), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [46875] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3540), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5655), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46943] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + [47033] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [47127] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [47223] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3474), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5689), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47291] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4617), 1, + anon_sym_LBRACE, + ACTIONS(4989), 1, + anon_sym_LT, + STATE(3160), 1, + sym_template_argument_list, + ACTIONS(4619), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47361] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6738), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4781), 1, + sym__function_attributes_start, + STATE(4926), 1, + sym_ref_qualifier, + STATE(5780), 1, + sym__function_attributes_end, + STATE(5986), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5266), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [47473] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6661), 1, + sym__identifier, + ACTIONS(6663), 1, + sym_grit_metavariable, + STATE(3772), 1, + sym__string_literal, + STATE(2939), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(4701), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4705), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4766), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4764), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [47547] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [47647] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_EQ, + anon_sym_or, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [47751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5022), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [47813] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3523), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5673), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47881] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [47959] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5014), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [48023] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6665), 1, + anon_sym_LPAREN2, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6669), 1, + anon_sym_LBRACK, + STATE(3505), 1, + sym_parameter_list, + STATE(3067), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5624), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5626), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [48095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5070), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [48157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5074), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [48219] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2558), 1, + sym_attribute_specifier, + ACTIONS(5532), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5530), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [48285] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + ACTIONS(6697), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [48397] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3597), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6740), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(3573), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(3571), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [48463] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3605), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6651), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(3601), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(3599), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [48529] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6742), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6651), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(3601), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(3599), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [48595] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2568), 1, + sym_attribute_specifier, + ACTIONS(5633), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5631), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [48661] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(4617), 8, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(4610), 43, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [48729] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2576), 1, + sym_attribute_specifier, + ACTIONS(5616), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5614), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [48795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5107), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [48857] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5111), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [48919] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2540), 1, + sym_attribute_specifier, + ACTIONS(5550), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5548), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [48985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5203), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [49047] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6747), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4738), 1, + sym__function_attributes_start, + STATE(4935), 1, + sym_ref_qualifier, + STATE(5792), 1, + sym__function_attributes_end, + STATE(5920), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6744), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5261), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [49159] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2536), 1, + sym_attribute_specifier, + ACTIONS(5592), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5590), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [49225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5115), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [49287] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6756), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6754), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(6752), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(6750), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [49353] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6758), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6651), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(3601), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(3599), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [49419] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6766), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6764), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(6762), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(6760), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [49485] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5084), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [49547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [49609] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2525), 1, + sym_attribute_specifier, + ACTIONS(5588), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5586), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [49675] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + ACTIONS(6464), 1, + anon_sym_LBRACE, + STATE(3075), 1, + sym_enumerator_list, + STATE(3434), 1, + sym_attribute_specifier, + ACTIONS(5476), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5478), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [49745] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6372), 1, + sym_auto, + ACTIONS(6374), 1, + anon_sym_decltype, + STATE(3108), 1, + sym_decltype_auto, + ACTIONS(5000), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5002), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [49813] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2538), 1, + sym_attribute_specifier, + ACTIONS(5584), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5582), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [49879] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2517), 1, + sym_attribute_specifier, + ACTIONS(5498), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5496), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [49945] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6665), 1, + anon_sym_LPAREN2, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6669), 1, + anon_sym_LBRACK, + STATE(3505), 1, + sym_parameter_list, + STATE(3067), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5604), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5606), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [50017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5026), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50141] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6768), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6754), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(6752), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(6750), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [50207] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [50315] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5018), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50377] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + ACTIONS(6464), 1, + anon_sym_LBRACE, + STATE(3062), 1, + sym_enumerator_list, + STATE(3504), 1, + sym_attribute_specifier, + ACTIONS(5453), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5455), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5139), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50571] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6665), 1, + anon_sym_LPAREN2, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6669), 1, + anon_sym_LBRACK, + STATE(3505), 1, + sym_parameter_list, + STATE(3067), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5544), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5546), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [50643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50705] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5191), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [50767] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5285), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [50829] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5119), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [50891] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(3441), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5459), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(6770), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [50963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5123), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5391), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5127), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5131), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51211] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [51319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5235), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [51381] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5164), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51443] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 1, + anon_sym_const, + ACTIONS(4654), 1, + anon_sym_AMP, + ACTIONS(4647), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + ACTIONS(4652), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4650), 17, + anon_sym___extension__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + ACTIONS(4645), 18, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [51513] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + STATE(2519), 1, + sym_attribute_specifier, + ACTIONS(5542), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5540), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [51579] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [51687] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6778), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6776), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(6774), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(6772), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [51753] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5271), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5267), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [51877] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5030), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [51939] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6665), 1, + anon_sym_LPAREN2, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6669), 1, + anon_sym_LBRACK, + STATE(3505), 1, + sym_parameter_list, + STATE(3067), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5552), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5554), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [52011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5289), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [52073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [52135] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6786), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(6784), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(6782), 20, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_not, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DASH_GT, + ACTIONS(6780), 31, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_compl, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [52201] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5325), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [52263] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [52374] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6820), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [52437] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [52548] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6254), 1, + anon_sym_LBRACK, + STATE(3193), 1, + sym_new_declarator, + ACTIONS(5764), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5766), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [52613] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [52720] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5014), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [52781] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3542), 1, + sym_attribute_specifier, + ACTIONS(5540), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5542), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [52846] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6844), 1, + anon_sym_QMARK, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 16, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [52957] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [53064] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6844), 1, + anon_sym_QMARK, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 16, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [53175] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [53282] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6844), 1, + anon_sym_QMARK, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 16, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [53393] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [53474] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [53553] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [53636] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [53723] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + [53812] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [53905] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [54000] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [54099] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_EQ, + anon_sym_or, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [54202] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6856), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5828), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5830), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [54265] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3543), 1, + sym_attribute_specifier, + ACTIONS(5496), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5498), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [54330] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [54407] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [54514] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6826), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6828), 1, + anon_sym_AMP_AMP, + ACTIONS(6830), 1, + anon_sym_PIPE, + ACTIONS(6834), 1, + anon_sym_AMP, + ACTIONS(6840), 1, + anon_sym_GT_EQ, + ACTIONS(6846), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6848), 1, + anon_sym_or, + ACTIONS(6850), 1, + anon_sym_and, + ACTIONS(6852), 1, + anon_sym_bitor, + ACTIONS(6854), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6822), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6832), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6842), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6824), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6836), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6838), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [54621] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6860), 1, + anon_sym___attribute__, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4819), 1, + sym__function_attributes_start, + STATE(5078), 1, + sym_ref_qualifier, + STATE(5752), 1, + sym__function_attributes_end, + STATE(5770), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5287), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [54732] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6667), 1, + anon_sym_LBRACK_LBRACK, + STATE(3109), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5675), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5677), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [54797] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2679), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(2677), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [54858] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [54965] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3755), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5689), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [55032] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6874), 1, + anon_sym_LT, + STATE(2943), 1, + sym_template_argument_list, + ACTIONS(5855), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55097] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6278), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6280), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [55172] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3511), 1, + sym_attribute_specifier, + ACTIONS(5631), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5633), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [55237] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3509), 1, + sym_attribute_specifier, + ACTIONS(5635), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5637), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [55302] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3506), 1, + sym_attribute_specifier, + ACTIONS(5548), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5550), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [55367] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3503), 1, + sym_attribute_specifier, + ACTIONS(5530), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5532), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [55432] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(3763), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [55503] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3803), 1, + sym_grit_metavariable, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2846), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [55576] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3626), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5665), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [55643] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6874), 1, + anon_sym_LT, + STATE(1704), 1, + sym_template_argument_list, + ACTIONS(5855), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55708] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3557), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5655), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [55775] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6879), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(2843), 1, + sym__enum_base_clause, + STATE(2981), 1, + sym_enumerator_list, + ACTIONS(5774), 8, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5772), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [55848] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6536), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6582), 1, + anon_sym_QMARK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [55959] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6115), 1, + anon_sym_LT, + STATE(3228), 1, + sym_template_argument_list, + ACTIONS(5768), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5770), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56026] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [56107] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [56186] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [56269] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [56356] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6881), 1, + anon_sym_LT, + STATE(2864), 1, + sym_template_argument_list, + ACTIONS(5855), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [56421] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_DASH_GT_STAR, + [56510] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_DASH_GT_STAR, + [56603] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_DASH_GT_STAR, + [56698] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6884), 1, + anon_sym_namespace, + ACTIONS(6218), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [56761] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3803), 1, + sym_grit_metavariable, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2846), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [56834] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [56933] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6262), 2, + anon_sym_EQ, + anon_sym_or, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [57036] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6262), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [57111] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [57188] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3660), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5673), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [57255] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [57362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5084), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5014), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57484] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5119), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57545] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6888), 26, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym__number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(6886), 27, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_not, + anon_sym_compl, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + [57606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5123), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5127), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5131), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5164), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57850] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6890), 1, + anon_sym_LBRACK_LBRACK, + STATE(3109), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5696), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5698), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [57915] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3442), 1, + sym_attribute_specifier, + ACTIONS(5582), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5584), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [57980] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3440), 1, + sym_attribute_specifier, + ACTIONS(5586), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5588), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [58045] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3433), 1, + sym_attribute_specifier, + ACTIONS(5590), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5592), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [58110] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3426), 1, + sym_attribute_specifier, + ACTIONS(5614), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5616), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [58175] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5271), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5267), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5171), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5211), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5203), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58480] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6320), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6322), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT_STAR, + [58553] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6606), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6792), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6794), 1, + anon_sym_AMP_AMP, + ACTIONS(6796), 1, + anon_sym_PIPE, + ACTIONS(6800), 1, + anon_sym_AMP, + ACTIONS(6806), 1, + anon_sym_GT_EQ, + ACTIONS(6810), 1, + anon_sym_or, + ACTIONS(6812), 1, + anon_sym_and, + ACTIONS(6814), 1, + anon_sym_bitor, + ACTIONS(6816), 1, + anon_sym_bitand, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6788), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6798), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6808), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6790), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6802), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6804), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_DASH_GT_STAR, + [58660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5171), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58721] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5171), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58782] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6324), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6326), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [58857] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6328), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6330), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [58932] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6893), 1, + anon_sym_namespace, + ACTIONS(6218), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [58995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5014), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [59056] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6620), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6274), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6276), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [59131] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6336), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6338), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT_STAR, + [59204] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3803), 1, + sym_grit_metavariable, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2509), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [59277] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5026), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5022), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59399] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6895), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [59462] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5070), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6897), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [59586] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5074), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5107), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59708] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5111), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59769] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5115), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59830] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5107), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5139), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59952] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6899), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [60015] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6901), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5828), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5830), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [60078] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6218), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(6216), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [60139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5195), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60200] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5259), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60261] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6903), 1, + anon_sym_LPAREN2, + STATE(2617), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3400), 1, + sym_argument_list, + STATE(3918), 1, + sym_initializer_list, + ACTIONS(6186), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(5012), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [60334] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5263), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60395] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5337), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5341), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60517] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3377), 1, + sym_attribute_specifier, + ACTIONS(5645), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5647), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [60582] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6115), 1, + anon_sym_LT, + STATE(3228), 1, + sym_template_argument_list, + ACTIONS(5786), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5788), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60649] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6237), 1, + anon_sym___attribute__, + STATE(3385), 1, + sym_attribute_specifier, + ACTIONS(5639), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5641), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [60714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5345), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60775] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3803), 1, + sym_grit_metavariable, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2509), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [60848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5018), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5289), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60970] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4617), 1, + anon_sym_LBRACE, + ACTIONS(5159), 1, + anon_sym_LT, + STATE(3257), 1, + sym_template_argument_list, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [61039] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5010), 1, + anon_sym_LBRACE, + ACTIONS(5014), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [61102] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6906), 1, + anon_sym___attribute__, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3950), 1, + sym_field_declaration_list, + STATE(4047), 1, + sym_attribute_specifier, + STATE(7012), 1, + sym_virtual_specifier, + STATE(7743), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(4943), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [61179] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4645), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61242] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6860), 1, + anon_sym___attribute__, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6913), 1, + anon_sym_requires, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4826), 1, + sym__function_attributes_start, + STATE(5062), 1, + sym_ref_qualifier, + STATE(5740), 1, + sym__function_attributes_end, + STATE(5774), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5274), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [61353] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5391), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61414] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5010), 1, + anon_sym_LBRACE, + ACTIONS(5014), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [61479] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(3532), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6916), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5461), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [61548] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6918), 1, + anon_sym_namespace, + ACTIONS(6218), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [61611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6920), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [61674] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6922), 1, + anon_sym_namespace, + ACTIONS(6218), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [61737] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6881), 1, + anon_sym_LT, + STATE(1565), 1, + sym_template_argument_list, + ACTIONS(5855), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [61802] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 1, + anon_sym_const, + ACTIONS(4654), 1, + anon_sym_AMP, + ACTIONS(4647), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + ACTIONS(4652), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4650), 17, + anon_sym___extension__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + ACTIONS(4645), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [61871] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6924), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [61934] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6926), 1, + sym__identifier, + ACTIONS(6931), 1, + sym_primitive_type, + ACTIONS(6933), 1, + sym_grit_metavariable, + STATE(3207), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3451), 1, + sym_identifier, + ACTIONS(6929), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5040), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + ACTIONS(5038), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [62007] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6936), 1, + anon_sym_typedef, + ACTIONS(2679), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [62070] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6879), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(2828), 1, + sym__enum_base_clause, + STATE(2994), 1, + sym_enumerator_list, + ACTIONS(5792), 8, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5790), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [62143] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6340), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [62247] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [62329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4922), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [62389] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6976), 1, + anon_sym_LT, + STATE(1892), 1, + sym_template_argument_list, + ACTIONS(5855), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62453] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6338), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [62525] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4918), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [62585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5683), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5685), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62645] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6979), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + STATE(3532), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6916), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(3771), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [62715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5709), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5711), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62775] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + ACTIONS(6983), 1, + anon_sym_EQ, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(6981), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3763), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [62849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6409), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [62909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6423), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [62969] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5738), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5740), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5734), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5736), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5679), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5681), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4812), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [63209] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6328), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6330), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [63283] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6324), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6326), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [63357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5830), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5812), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63477] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6989), 1, + anon_sym_RPAREN, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [63633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4800), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [63693] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6417), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [63753] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [63859] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [63965] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [64041] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_EQ, + anon_sym_or, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [64143] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [64241] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [64335] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [64427] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + [64515] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [64601] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [64683] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4852), 1, + sym_primitive_type, + STATE(1655), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4856), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5276), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5273), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [64749] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [64827] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6282), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [64931] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [65011] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7103), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 15, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [65121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5191), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [65181] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [65287] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7103), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 15, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [65397] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [65503] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(7071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7073), 1, + anon_sym_AMP_AMP, + ACTIONS(7075), 1, + anon_sym_PIPE, + ACTIONS(7079), 1, + anon_sym_AMP, + ACTIONS(7085), 1, + anon_sym_GT_EQ, + ACTIONS(7089), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7091), 1, + anon_sym_or, + ACTIONS(7093), 1, + anon_sym_and, + ACTIONS(7095), 1, + anon_sym_bitor, + ACTIONS(7097), 1, + anon_sym_bitand, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7103), 1, + anon_sym_QMARK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7067), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7077), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7087), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7069), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7081), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7083), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 15, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [65613] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6322), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [65685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4804), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [65745] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7105), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [65901] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [65963] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [66025] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(5076), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3773), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66091] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5806), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5808), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66151] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7107), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [66307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5657), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5659), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66367] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(5076), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3773), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66433] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5643), 1, + sym_literal_suffix, + ACTIONS(3773), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66495] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 1, + anon_sym_COLON_COLON, + ACTIONS(5760), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5762), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5064), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66617] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6316), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [66721] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3757), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3755), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [66781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6423), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66841] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6029), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66901] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7117), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4861), 1, + sym__function_attributes_start, + STATE(5208), 1, + sym_ref_qualifier, + STATE(5661), 1, + sym_trailing_return_type, + STATE(5736), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(7112), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5311), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [67011] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [67073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4936), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [67133] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6409), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67193] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(4617), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4610), 37, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [67259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5667), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5669), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4842), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [67379] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [67455] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6913), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4916), 1, + sym__function_attributes_start, + STATE(5139), 1, + sym_ref_qualifier, + STATE(5774), 1, + sym_trailing_return_type, + STATE(5854), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5294), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [67565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4914), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [67625] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6913), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4898), 1, + sym__function_attributes_start, + STATE(5159), 1, + sym_ref_qualifier, + STATE(5670), 1, + sym__function_attributes_end, + STATE(5774), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(7112), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5308), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [67735] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6262), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [67809] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [67909] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6262), 4, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [68005] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_GT2, + [68097] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7117), 1, + anon_sym_requires, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4915), 1, + sym__function_attributes_start, + STATE(5126), 1, + sym_ref_qualifier, + STATE(5661), 1, + sym_trailing_return_type, + STATE(5883), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5316), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [68207] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_GT2, + [68297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4910), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [68357] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_GT2, + [68443] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [68527] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6540), 1, + anon_sym_RPAREN, + ACTIONS(6671), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6673), 1, + anon_sym_AMP_AMP, + ACTIONS(6675), 1, + anon_sym_PIPE, + ACTIONS(6679), 1, + anon_sym_AMP, + ACTIONS(6685), 1, + anon_sym_GT_EQ, + ACTIONS(6687), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6689), 1, + anon_sym_or, + ACTIONS(6691), 1, + anon_sym_and, + ACTIONS(6693), 1, + anon_sym_bitor, + ACTIONS(6695), 1, + anon_sym_bitand, + ACTIONS(6697), 1, + anon_sym_QMARK, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7130), 1, + anon_sym_EQ, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6655), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6659), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6677), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6657), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6681), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6683), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6604), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [68641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4998), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [68701] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [68779] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4645), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [68841] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_EQ, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3801), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [68911] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [68991] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(7132), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7134), 1, + anon_sym_QMARK, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6015), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 14, + anon_sym_COMMA, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [69099] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6274), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6276), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [69173] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4816), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [69233] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7158), 1, + anon_sym_QMARK, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 15, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [69343] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [69449] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7170), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [69605] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5820), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5822), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [69665] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7158), 1, + anon_sym_QMARK, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 15, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [69775] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [69881] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5103), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [69941] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6518), 1, + sym_auto, + ACTIONS(6520), 1, + anon_sym_decltype, + STATE(3428), 1, + sym_decltype_auto, + ACTIONS(5000), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5002), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [70007] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5830), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [70067] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4911), 1, + sym__function_attributes_start, + STATE(5190), 1, + sym_ref_qualifier, + STATE(5770), 1, + sym_trailing_return_type, + STATE(5867), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5298), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [70177] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6278), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6280), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [70251] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6332), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7158), 1, + anon_sym_QMARK, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 15, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [70361] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(2402), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [70421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4846), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [70481] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [70561] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 12, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [70639] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5643), 1, + sym_literal_suffix, + ACTIONS(4992), 25, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4994), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [70701] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4835), 1, + sym__function_attributes_start, + STATE(5149), 1, + sym_ref_qualifier, + STATE(5675), 1, + sym__function_attributes_end, + STATE(5710), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7112), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5297), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [70811] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 10, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [70893] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5325), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [70953] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6881), 1, + anon_sym_LT, + STATE(1585), 1, + sym_template_argument_list, + ACTIONS(5855), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [71017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4824), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [71077] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5030), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [71137] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7174), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [71293] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [71379] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6218), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6216), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [71439] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6366), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(6364), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [71499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3755), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3757), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [71559] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3773), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [71625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6417), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [71685] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6278), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6280), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [71759] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + anon_sym_bitand, + [71847] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7176), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [72003] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3773), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [72069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6013), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [72129] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7178), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [72285] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7180), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5828), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5830), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [72347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4820), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [72407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4808), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [72467] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4796), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [72527] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [72619] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7182), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [72775] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6976), 1, + anon_sym_LT, + STATE(3160), 1, + sym_template_argument_list, + ACTIONS(5855), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [72839] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_bitor, + [72933] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7191), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(7187), 4, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(7189), 5, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_explicit, + anon_sym_operator, + ACTIONS(7194), 11, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_auto, + anon_sym_typename, + ACTIONS(7184), 29, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + [72999] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 3, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [73097] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_EQ, + anon_sym_or, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [73199] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6150), 1, + anon_sym_LT, + STATE(3356), 1, + sym_template_argument_list, + ACTIONS(5768), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5770), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [73265] = 51, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6624), 1, + anon_sym_DOT_STAR, + ACTIONS(6626), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(6987), 1, + anon_sym_COMMA, + ACTIONS(6991), 1, + anon_sym_DASH, + ACTIONS(6993), 1, + anon_sym_PLUS, + ACTIONS(6995), 1, + anon_sym_STAR, + ACTIONS(6997), 1, + anon_sym_SLASH, + ACTIONS(6999), 1, + anon_sym_PERCENT, + ACTIONS(7001), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7003), 1, + anon_sym_AMP_AMP, + ACTIONS(7005), 1, + anon_sym_PIPE, + ACTIONS(7007), 1, + anon_sym_CARET, + ACTIONS(7009), 1, + anon_sym_AMP, + ACTIONS(7011), 1, + anon_sym_EQ_EQ, + ACTIONS(7013), 1, + anon_sym_BANG_EQ, + ACTIONS(7015), 1, + anon_sym_GT, + ACTIONS(7017), 1, + anon_sym_GT_EQ, + ACTIONS(7019), 1, + anon_sym_LT_EQ, + ACTIONS(7021), 1, + anon_sym_LT, + ACTIONS(7023), 1, + anon_sym_LT_LT, + ACTIONS(7025), 1, + anon_sym_GT_GT, + ACTIONS(7027), 1, + anon_sym_EQ, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7031), 1, + anon_sym_STAR_EQ, + ACTIONS(7033), 1, + anon_sym_SLASH_EQ, + ACTIONS(7035), 1, + anon_sym_PERCENT_EQ, + ACTIONS(7037), 1, + anon_sym_PLUS_EQ, + ACTIONS(7039), 1, + anon_sym_DASH_EQ, + ACTIONS(7041), 1, + anon_sym_LT_LT_EQ, + ACTIONS(7043), 1, + anon_sym_GT_GT_EQ, + ACTIONS(7045), 1, + anon_sym_AMP_EQ, + ACTIONS(7047), 1, + anon_sym_CARET_EQ, + ACTIONS(7049), 1, + anon_sym_PIPE_EQ, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7053), 1, + anon_sym_or, + ACTIONS(7055), 1, + anon_sym_and, + ACTIONS(7057), 1, + anon_sym_bitor, + ACTIONS(7059), 1, + anon_sym_xor, + ACTIONS(7061), 1, + anon_sym_bitand, + ACTIONS(7063), 1, + anon_sym_not_eq, + ACTIONS(7196), 1, + anon_sym_RPAREN, + STATE(1357), 1, + sym__binary_fold_operator, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + STATE(8033), 1, + sym__fold_operator, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [73421] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6262), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [73495] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [73571] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [73677] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4796), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [73737] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4848), 1, + sym__function_attributes_start, + STATE(5142), 1, + sym_ref_qualifier, + STATE(5710), 1, + sym_trailing_return_type, + STATE(5894), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5318), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [73847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5064), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [73907] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6322), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [73979] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7140), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7142), 1, + anon_sym_AMP_AMP, + ACTIONS(7144), 1, + anon_sym_PIPE, + ACTIONS(7148), 1, + anon_sym_AMP, + ACTIONS(7154), 1, + anon_sym_GT_EQ, + ACTIONS(7160), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7162), 1, + anon_sym_or, + ACTIONS(7164), 1, + anon_sym_and, + ACTIONS(7166), 1, + anon_sym_bitor, + ACTIONS(7168), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7136), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7146), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7156), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7138), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7150), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7152), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + [74085] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(7132), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7134), 1, + anon_sym_QMARK, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6344), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 14, + anon_sym_COMMA, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [74193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4796), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [74253] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(3789), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5032), 37, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [74319] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6324), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6326), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [74393] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6328), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6330), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [74467] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5824), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5826), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [74527] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6646), 1, + anon_sym_LBRACK, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(3786), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(3763), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [74601] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6348), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [74705] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4792), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [74765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5285), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [74825] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6338), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [74897] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6370), 1, + anon_sym_LBRACK, + STATE(3382), 1, + sym_new_declarator, + ACTIONS(5764), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5766), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [74961] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6942), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6944), 1, + anon_sym_AMP_AMP, + ACTIONS(6946), 1, + anon_sym_PIPE, + ACTIONS(6950), 1, + anon_sym_AMP, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6960), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6962), 1, + anon_sym_or, + ACTIONS(6964), 1, + anon_sym_and, + ACTIONS(6966), 1, + anon_sym_bitor, + ACTIONS(6968), 1, + anon_sym_bitand, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(7132), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7134), 1, + anon_sym_QMARK, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6352), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(6938), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6948), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(6956), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6970), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6940), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6952), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6954), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 14, + anon_sym_COMMA, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_GT2, + [75069] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6268), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6274), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + ACTIONS(6276), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + [75143] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3761), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3759), 45, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [75203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4838), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [75263] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5235), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [75323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5721), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5723), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5649), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5651), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75443] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(5449), 1, + sym_grit_metavariable, + STATE(3744), 1, + sym__string_literal, + STATE(2899), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(5447), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(5451), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [75515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(4850), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [75575] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6150), 1, + anon_sym_LT, + STATE(3356), 1, + sym_template_argument_list, + ACTIONS(5786), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5788), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [75641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5717), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5719), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75701] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5713), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5715), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75761] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(5449), 1, + sym_grit_metavariable, + STATE(3744), 1, + sym__string_literal, + STATE(2899), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(5447), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(5451), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [75833] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6874), 1, + anon_sym_LT, + STATE(1581), 1, + sym_template_argument_list, + ACTIONS(5855), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75897] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3759), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3761), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [75957] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4862), 1, + sym__function_attributes_start, + STATE(5199), 1, + sym_ref_qualifier, + STATE(5708), 1, + sym__function_attributes_end, + STATE(5770), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7112), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5312), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [76067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 21, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(2450), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [76127] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76367] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6029), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [76547] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 1, + anon_sym_COLON_COLON, + ACTIONS(5760), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5762), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [76608] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(6421), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + [76667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5649), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5651), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [76726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5064), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5976), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5978), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5968), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5970), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [76903] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5721), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5723), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [76962] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6979), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(5032), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(3789), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [77027] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7204), 1, + anon_sym___attribute__, + ACTIONS(7207), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7210), 1, + anon_sym___declspec, + ACTIONS(7216), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6160), 2, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(7213), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3364), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7201), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(7198), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6158), 14, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [77104] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7229), 1, + anon_sym___attribute__, + ACTIONS(7232), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7235), 1, + anon_sym___declspec, + ACTIONS(7241), 1, + sym_virtual, + ACTIONS(7244), 1, + anon_sym_explicit, + STATE(3068), 1, + sym_alignas_qualifier, + ACTIONS(7238), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7221), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(7219), 7, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + ACTIONS(7226), 9, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + STATE(3365), 9, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + ACTIONS(7223), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [77183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5800), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5802), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [77242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [77301] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [77360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [77419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5816), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5818), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [77478] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [77537] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5443), 1, + anon_sym_EQ, + ACTIONS(5445), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [77600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5717), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5719), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [77659] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [77718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5203), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [77777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5820), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5822), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [77836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5211), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [77895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5171), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [77954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6029), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5713), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5715), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [78072] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2771), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5812), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [78190] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5267), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [78249] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7247), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(2828), 1, + sym__enum_base_clause, + STATE(2994), 1, + sym_enumerator_list, + ACTIONS(5792), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5790), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [78320] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5271), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [78379] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6057), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4820), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5966), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4808), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5958), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78674] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3501), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78733] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2450), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78792] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4933), 1, + sym__function_attributes_start, + STATE(5238), 1, + sym_ref_qualifier, + STATE(6065), 1, + sym__function_attributes_end, + STATE(6111), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5323), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [78901] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7255), 1, + anon_sym_AMP_AMP, + ACTIONS(7257), 1, + anon_sym_or, + ACTIONS(7259), 1, + anon_sym_and, + ACTIONS(5778), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5780), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [78968] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + STATE(3940), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5689), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4842), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79092] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7261), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(4610), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4617), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [79157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5888), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79216] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + STATE(3839), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5655), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79281] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5966), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79340] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6013), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79458] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7247), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(2843), 1, + sym__enum_base_clause, + STATE(2981), 1, + sym_enumerator_list, + ACTIONS(5774), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5772), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [79529] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79588] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5824), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5826), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [79647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6073), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6075), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79706] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7266), 1, + anon_sym_RPAREN, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7378), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [79817] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3508), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5620), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7274), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5618), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [79880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6043), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6045), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [79939] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4934), 1, + sym__function_attributes_start, + STATE(5231), 1, + sym_ref_qualifier, + STATE(5966), 1, + sym__function_attributes_end, + STATE(6099), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5329), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [80048] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80107] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6017), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80166] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5830), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80284] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3953), 1, + sym_field_declaration_list, + STATE(7000), 1, + sym_virtual_specifier, + STATE(7531), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(4943), 38, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [80359] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7280), 1, + anon_sym_LT, + STATE(3257), 1, + sym_template_argument_list, + ACTIONS(5855), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [80422] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6051), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6053), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80481] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4812), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4800), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80599] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80658] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3510), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5610), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7283), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5608), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [80721] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4612), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80780] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5391), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [80839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_EQ, + ACTIONS(3801), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [80902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5932), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5934), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [80961] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5026), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81020] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5022), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5164), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81138] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5683), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5685), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [81197] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7280), 1, + anon_sym_LT, + STATE(1916), 1, + sym_template_argument_list, + ACTIONS(5855), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [81260] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4850), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [81319] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(1994), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4678), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(5461), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [81386] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5070), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81445] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5074), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [81563] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + STATE(3866), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5673), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [81628] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7285), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + STATE(1994), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4678), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3771), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [81697] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5872), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [81756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5107), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5111), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81874] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5576), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7287), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5574), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [81937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5115), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [81996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5131), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [82055] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5107), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [82114] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3457), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5012), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7289), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [82177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5127), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [82236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(1867), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [82295] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5974), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [82354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5946), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [82413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5954), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [82472] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3526), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7291), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5620), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5618), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [82535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5139), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [82594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(1867), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [82653] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7293), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5828), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5830), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [82714] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6881), 1, + anon_sym_LT, + STATE(1599), 1, + sym_template_argument_list, + ACTIONS(5855), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [82777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2402), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [82836] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5536), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7287), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5534), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [82899] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [82958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5119), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [83017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6409), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(6407), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + [83076] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4703), 1, + sym_grit_metavariable, + ACTIONS(5725), 1, + sym_literal_suffix, + STATE(3772), 1, + sym__string_literal, + STATE(2971), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(4701), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4705), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [83147] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3457), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5323), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7289), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5325), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [83210] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5982), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83269] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4057), 1, + anon_sym_EQ, + ACTIONS(4059), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [83332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5942), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83391] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5892), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3759), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3761), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [83509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6417), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(6415), 27, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + [83568] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5904), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83627] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4703), 1, + sym_grit_metavariable, + ACTIONS(5725), 1, + sym_literal_suffix, + STATE(3772), 1, + sym__string_literal, + STATE(2971), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(4701), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(4705), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(4992), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [83698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3755), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3757), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [83757] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5900), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83816] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5421), 3, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83877] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5896), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83936] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5876), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [83995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84054] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6514), 1, + anon_sym_LPAREN2, + STATE(3862), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5665), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6007), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84178] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5123), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [84237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4816), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84296] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4846), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84355] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5880), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84414] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5884), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84473] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5995), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84532] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5014), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [84591] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7255), 1, + anon_sym_AMP_AMP, + ACTIONS(7259), 1, + anon_sym_and, + ACTIONS(5752), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5754), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84654] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4824), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84713] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [84772] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5926), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [84949] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5930), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5084), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [85067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5844), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5846), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6047), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6049), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85244] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5840), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5842), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85303] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7295), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4948), 1, + sym__function_attributes_start, + STATE(5246), 1, + sym_ref_qualifier, + STATE(6068), 1, + sym__function_attributes_end, + STATE(6190), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6744), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5320), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [85412] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4792), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85471] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4838), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85530] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5679), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5681), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [85589] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5986), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [85648] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5195), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [85707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5259), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [85766] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5667), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5669), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [85825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5263), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [85884] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5657), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5659), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [85943] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5600), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7287), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5598), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [86006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5337), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [86065] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5596), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(7287), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5594), 42, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [86128] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5341), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [86187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5345), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [86246] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5734), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5736), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [86305] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5738), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5740), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [86364] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5709), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5711), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [86423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6061), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6067), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86541] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3525), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7298), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5596), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5594), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [86604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6021), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5962), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6071), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6093), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6083), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [86899] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7109), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7300), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4951), 1, + sym__function_attributes_start, + STATE(5233), 1, + sym_ref_qualifier, + STATE(5964), 1, + sym__function_attributes_end, + STATE(6114), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5333), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [87008] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3525), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7303), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4852), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(4854), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87071] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3525), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7298), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5600), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5598), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87134] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + ACTIONS(6983), 1, + anon_sym_EQ, + STATE(2739), 1, + sym_template_argument_list, + ACTIONS(6981), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(3789), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5032), 37, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [87203] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3529), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7306), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5323), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5325), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87266] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3525), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7298), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5536), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5534), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5999), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87388] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6003), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87447] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3525), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7298), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5576), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5574), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87510] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5725), 1, + sym_literal_suffix, + ACTIONS(3765), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3773), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + [87571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4804), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87630] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6025), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87689] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6033), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6037), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87807] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5725), 1, + sym_literal_suffix, + ACTIONS(4994), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(4992), 26, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + [87868] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3518), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5610), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5608), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [87931] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6041), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [87990] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5806), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5808), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5289), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [88108] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5018), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + sym_auto, + anon_sym_decltype, + anon_sym_DASH_GT_STAR, + [88167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88225] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5548), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [88333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4846), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88391] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7332), 1, + anon_sym_enum, + ACTIONS(7334), 1, + anon_sym_class, + ACTIONS(7336), 1, + anon_sym_struct, + ACTIONS(7338), 1, + anon_sym_union, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7344), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4456), 1, + sym_type_specifier, + STATE(4729), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4842), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(5836), 1, + sym_type_descriptor, + STATE(6438), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3797), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7328), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [88499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4838), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4792), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88615] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7846), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [88723] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4910), 4, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(4908), 46, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [88781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4800), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4812), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88897] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4804), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [88955] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8239), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [89063] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4808), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6041), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4820), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89237] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7888), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [89345] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4697), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4699), 12, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3765), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3773), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + [89407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89465] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8276), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [89573] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89631] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_DASH_GT_STAR, + [89721] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(6264), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_DASH_GT_STAR, + [89807] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [89891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [89949] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5844), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5846), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [90007] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5872), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [90065] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7999), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [90173] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2474), 1, + anon_sym_enum, + ACTIONS(2476), 1, + anon_sym_class, + ACTIONS(2478), 1, + anon_sym_struct, + ACTIONS(2480), 1, + anon_sym_union, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(2510), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(7370), 1, + sym_primitive_type, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4328), 1, + sym_type_specifier, + STATE(4822), 1, + sym_identifier, + STATE(6202), 1, + sym_type_descriptor, + STATE(6354), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2711), 2, + sym_decltype, + sym_template_type, + STATE(3779), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [90281] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7372), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7374), 1, + anon_sym_AMP_AMP, + ACTIONS(7376), 1, + anon_sym_or, + ACTIONS(7378), 1, + anon_sym_and, + ACTIONS(5778), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5780), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [90347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4850), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [90405] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5552), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [90513] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4979), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [90573] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5547), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [90681] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [90739] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(7384), 1, + anon_sym_enum, + ACTIONS(7386), 1, + anon_sym_class, + ACTIONS(7388), 1, + anon_sym_struct, + ACTIONS(7390), 1, + anon_sym_union, + ACTIONS(7392), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(3812), 1, + sym_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4209), 1, + sym_type_specifier, + STATE(5836), 1, + sym_type_descriptor, + STATE(6399), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3788), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [90847] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4979), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [90907] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(6264), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [90987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4842), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [91045] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8503), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [91153] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4985), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [91211] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [91287] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5385), 1, + anon_sym_EQ, + ACTIONS(5387), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [91349] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [91407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5840), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5842), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [91465] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8269), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [91573] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [91651] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_EQ, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3801), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3765), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + [91721] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 1, + anon_sym_EQ, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [91827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6025), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [91885] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7732), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [91993] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(5032), 5, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3789), 42, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_try, + anon_sym_requires, + [92057] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7988), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [92165] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5581), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [92273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6007), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5888), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92389] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5880), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5884), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92505] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8121), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [92613] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3803), 1, + sym_grit_metavariable, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(4987), 1, + sym_literal_suffix, + STATE(2648), 1, + sym__string_literal, + STATE(2509), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(3208), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3212), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + ACTIONS(3773), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [92685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5926), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5930), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92801] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8257), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [92909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6061), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [92967] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6067), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93025] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5859), 1, + anon_sym_LT, + STATE(1956), 1, + sym_template_argument_list, + ACTIONS(5855), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5857), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [93087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93145] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6003), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93261] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7973), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [93369] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6344), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [93475] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5999), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93533] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6051), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6053), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93591] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8515), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [93699] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6278), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6280), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [93771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5794), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5796), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93829] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8343), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [93937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6037), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [93995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6033), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94053] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5566), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [94161] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5570), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [94269] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(4188), 1, + sym_type_specifier, + STATE(5836), 1, + sym_type_descriptor, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3803), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [94377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3501), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94435] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5995), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94493] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5958), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4816), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94609] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8222), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [94717] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5954), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94775] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7374), 1, + anon_sym_AMP_AMP, + ACTIONS(7378), 1, + anon_sym_and, + ACTIONS(5752), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5754), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4824), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [94895] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8487), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [95061] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8376), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95169] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(7422), 1, + sym_primitive_type, + ACTIONS(7424), 1, + anon_sym_enum, + ACTIONS(7426), 1, + anon_sym_class, + ACTIONS(7428), 1, + anon_sym_struct, + ACTIONS(7430), 1, + anon_sym_union, + ACTIONS(7432), 1, + sym_auto, + ACTIONS(7434), 1, + anon_sym_decltype, + ACTIONS(7436), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4156), 1, + sym_type_specifier, + STATE(4203), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4393), 1, + sym_identifier, + STATE(5143), 1, + sym_qualified_type_identifier, + STATE(5186), 1, + sym_decltype_auto, + STATE(6202), 1, + sym_type_descriptor, + STATE(6440), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3807), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4963), 2, + sym_decltype, + sym_template_type, + ACTIONS(7420), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(5187), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95277] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4124), 1, + sym_type_specifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(5836), 1, + sym_type_descriptor, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3785), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [95443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [95501] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5472), 1, + anon_sym_EQ, + ACTIONS(5474), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [95563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [95621] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7861), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95729] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4612), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [95787] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8350), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [95895] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8437), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [96003] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_DASH_GT_STAR, + [96097] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8358), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [96205] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6021), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [96263] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4077), 1, + sym_type_specifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(5836), 1, + sym_type_descriptor, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3814), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [96371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5064), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [96429] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [96487] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(5010), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [96547] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + ACTIONS(7452), 1, + anon_sym_LBRACE, + ACTIONS(7454), 1, + anon_sym_COLON, + STATE(3880), 1, + sym__enum_base_clause, + STATE(3959), 1, + sym_enumerator_list, + STATE(4040), 1, + sym_attribute_specifier, + ACTIONS(5772), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5774), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [96617] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8341), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [96725] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4645), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [96785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4918), 4, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(4916), 46, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [96843] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5537), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [96951] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5555), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97059] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5572), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6083), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [97225] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4107), 1, + sym_type_specifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(5836), 1, + sym_type_descriptor, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3811), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5900), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [97391] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8230), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(2771), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [97557] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8434), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6093), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [97723] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_DASH_GT_STAR, + [97823] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8443), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [97931] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8383), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [98039] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4644), 1, + sym_type_specifier, + STATE(4696), 1, + sym_identifier, + STATE(6202), 1, + sym_type_descriptor, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3795), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [98147] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [98219] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + ACTIONS(7452), 1, + anon_sym_LBRACE, + ACTIONS(7454), 1, + anon_sym_COLON, + STATE(3937), 1, + sym__enum_base_clause, + STATE(3946), 1, + sym_enumerator_list, + STATE(4053), 1, + sym_attribute_specifier, + ACTIONS(5790), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5792), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [98289] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6262), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6264), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [98363] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3529), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7306), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5014), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [98425] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6352), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(6985), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7029), 1, + anon_sym_QMARK, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [98531] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5573), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [98639] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8398), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [98747] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5583), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [98855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6071), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [98913] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6029), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [98971] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6348), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [99073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5986), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [99131] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8403), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [99239] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8422), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [99347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4604), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [99405] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5562), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [99513] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5892), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [99571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6057), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [99629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6047), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6049), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [99687] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8132), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [99795] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6516), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_new_declarator, + ACTIONS(5764), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5766), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [99857] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4608), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [99915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4629), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [99973] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5932), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5934), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [100031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4600), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [100089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4641), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [100147] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4637), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [100205] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6340), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [100307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(4633), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [100365] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8064), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [100473] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6336), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6338), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT_STAR, + [100543] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4621), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(3925), 1, + sym_template_argument_list, + ACTIONS(4614), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4617), 5, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + sym_grit_metavariable, + ACTIONS(4610), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [100611] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4870), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8114), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3770), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [100719] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8130), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [100827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6043), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6045), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [100885] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8435), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [100993] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6073), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6075), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101051] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4187), 1, + sym_type_specifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(5836), 1, + sym_type_descriptor, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(3774), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [101159] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5556), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [101267] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6320), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6322), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT_STAR, + [101337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6017), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101395] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5571), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [101503] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5567), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [101611] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(2402), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101669] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(6013), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5966), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(2450), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [101843] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(5836), 1, + sym_type_descriptor, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [101951] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7458), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(5101), 1, + sym__function_attributes_start, + STATE(5252), 1, + sym_ref_qualifier, + STATE(6097), 1, + sym__function_attributes_end, + STATE(6326), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6744), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5402), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [102059] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5565), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [102167] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8031), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [102275] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5982), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [102333] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8028), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [102441] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_DASH_GT_STAR, + [102539] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4922), 4, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(4920), 46, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [102597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5962), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [102655] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7461), 1, + anon_sym_LBRACK, + STATE(3810), 1, + sym_new_declarator, + ACTIONS(5764), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5766), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [102717] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6328), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6330), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [102789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5942), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [102847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4604), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [102905] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4242), 1, + sym_type_specifier, + STATE(4696), 1, + sym_identifier, + STATE(6202), 1, + sym_type_descriptor, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3782), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [103013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4608), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103071] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4629), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4600), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4914), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [103245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4641), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4637), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103361] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 23, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4633), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [103419] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5550), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [103527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4936), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [103585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5816), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5818), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [103643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5800), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5802), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [103701] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6324), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(6326), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_GT_STAR, + [103773] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4910), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [103831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4918), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [103889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4922), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [103947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5904), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104005] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(7994), 1, + sym_type_descriptor, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [104113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5946), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104171] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(7470), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(7467), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7465), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7463), 30, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [104237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5830), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104295] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4645), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [104355] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6282), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [104457] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(5059), 1, + sym__function_attributes_start, + STATE(5256), 1, + sym_ref_qualifier, + STATE(6120), 1, + sym__function_attributes_end, + STATE(6316), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(4151), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4267), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5362), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6714), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [104565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5896), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104623] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5876), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104681] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4969), 1, + sym_type_specifier, + STATE(4975), 1, + sym_identifier, + STATE(5541), 1, + sym__type_definition_type, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3815), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [104789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(1867), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [104847] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(4610), 5, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4617), 42, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_try, + anon_sym_requires, + [104911] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5974), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [104969] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4797), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(8417), 1, + sym_type_descriptor, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(3790), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [105077] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + ACTIONS(6316), 1, + anon_sym_EQ, + ACTIONS(6578), 1, + anon_sym_LBRACK, + ACTIONS(6818), 1, + anon_sym_DOT_STAR, + ACTIONS(7051), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7356), 1, + anon_sym_AMP, + ACTIONS(7362), 1, + anon_sym_GT_EQ, + ACTIONS(7366), 1, + anon_sym_bitand, + ACTIONS(7398), 1, + anon_sym_PIPE, + ACTIONS(7400), 1, + anon_sym_CARET, + ACTIONS(7402), 1, + anon_sym_bitor, + ACTIONS(7404), 1, + anon_sym_xor, + STATE(3361), 1, + sym_subscript_argument_list, + STATE(3388), 1, + sym_argument_list, + ACTIONS(6622), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(7065), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7352), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7364), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7394), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7396), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7354), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(7358), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7360), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_GT_STAR, + [105179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5964), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5966), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [105237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5968), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5970), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [105295] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5976), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + ACTIONS(5978), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [105353] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7477), 1, + sym_auto, + ACTIONS(7479), 1, + anon_sym_decltype, + STATE(3971), 1, + sym_new_declarator, + STATE(4068), 1, + sym_decltype_auto, + STATE(3834), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5050), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [105426] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5643), 1, + sym_literal_suffix, + ACTIONS(3773), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [105485] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4936), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [105542] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7477), 1, + sym_auto, + ACTIONS(7479), 1, + anon_sym_decltype, + STATE(3952), 1, + sym_new_declarator, + STATE(4068), 1, + sym_decltype_auto, + STATE(3824), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5143), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [105615] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4839), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [105720] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5942), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [105777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4910), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [105834] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4914), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [105891] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4183), 1, + sym_type_specifier, + STATE(4185), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [105996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6093), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [106053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4918), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106110] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(1867), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4914), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106224] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2474), 1, + anon_sym_enum, + ACTIONS(2476), 1, + anon_sym_class, + ACTIONS(2478), 1, + anon_sym_struct, + ACTIONS(2480), 1, + anon_sym_union, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(2510), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(7370), 1, + sym_primitive_type, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4276), 1, + sym_type_specifier, + STATE(4822), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2711), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [106329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4936), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106386] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5643), 1, + sym_literal_suffix, + ACTIONS(4992), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4994), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [106445] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4233), 1, + sym_type_specifier, + STATE(4696), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [106550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4910), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106607] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4918), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106664] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4099), 1, + sym_type_specifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [106769] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4922), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106826] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4922), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [106883] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(7384), 1, + anon_sym_enum, + ACTIONS(7386), 1, + anon_sym_class, + ACTIONS(7388), 1, + anon_sym_struct, + ACTIONS(7390), 1, + anon_sym_union, + ACTIONS(7392), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(3812), 1, + sym_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4205), 1, + sym_type_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [106988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(2771), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [107045] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4696), 1, + sym_identifier, + STATE(4743), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107150] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6043), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3793), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4220), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107243] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4676), 1, + anon_sym_SEMI, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(6646), 1, + anon_sym_LBRACK, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(3786), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3771), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [107316] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6033), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4198), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6417), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [107466] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(4724), 1, + sym_type_specifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107571] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6013), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3799), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4225), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107664] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7332), 1, + anon_sym_enum, + ACTIONS(7334), 1, + anon_sym_class, + ACTIONS(7336), 1, + anon_sym_struct, + ACTIONS(7338), 1, + anon_sym_union, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7344), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4589), 1, + sym_type_specifier, + STATE(4729), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4842), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6438), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7328), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107769] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + ACTIONS(4979), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [107826] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6009), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4206), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [107919] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2474), 1, + anon_sym_enum, + ACTIONS(2476), 1, + anon_sym_class, + ACTIONS(2478), 1, + anon_sym_struct, + ACTIONS(2480), 1, + anon_sym_union, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(2510), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(7370), 1, + sym_primitive_type, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4789), 1, + sym_type_specifier, + STATE(4822), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2711), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108024] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7477), 1, + sym_auto, + ACTIONS(7479), 1, + anon_sym_decltype, + STATE(3945), 1, + sym_new_declarator, + STATE(4068), 1, + sym_decltype_auto, + STATE(3829), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5099), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [108097] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_EQ, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(3801), 13, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_and_eq, + anon_sym_or_eq, + anon_sym_xor_eq, + ACTIONS(3765), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_xor, + anon_sym_DOT, + [108160] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(4184), 1, + sym_type_specifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108265] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6072), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3808), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4193), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5812), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [108415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6003), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [108472] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(7422), 1, + sym_primitive_type, + ACTIONS(7424), 1, + anon_sym_enum, + ACTIONS(7426), 1, + anon_sym_class, + ACTIONS(7428), 1, + anon_sym_struct, + ACTIONS(7430), 1, + anon_sym_union, + ACTIONS(7432), 1, + sym_auto, + ACTIONS(7434), 1, + anon_sym_decltype, + ACTIONS(7436), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(4139), 1, + sym_type_specifier, + STATE(4203), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4393), 1, + sym_identifier, + STATE(5143), 1, + sym_qualified_type_identifier, + STATE(5186), 1, + sym_decltype_auto, + STATE(6440), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4963), 2, + sym_decltype, + sym_template_type, + ACTIONS(7420), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(5187), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108577] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6044), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4204), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108670] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7477), 1, + sym_auto, + ACTIONS(7479), 1, + anon_sym_decltype, + STATE(3962), 1, + sym_new_declarator, + STATE(4068), 1, + sym_decltype_auto, + STATE(3920), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5135), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [108743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5812), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [108800] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4120), 1, + sym_type_specifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [108905] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(3441), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3763), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(6770), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 37, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_try, + anon_sym_requires, + [108972] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(4014), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [109029] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4085), 1, + sym_type_specifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2494), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109134] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4975), 1, + sym_identifier, + STATE(5086), 1, + sym_type_specifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1732), 2, + sym_decltype, + sym_template_type, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109239] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6409), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [109296] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(6423), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [109353] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6183), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3821), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4241), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109445] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7527), 1, + anon_sym_requires, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5230), 1, + sym__function_attributes_start, + STATE(5276), 1, + sym_ref_qualifier, + STATE(6267), 1, + sym__function_attributes_end, + STATE(6373), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6714), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6910), 2, + anon_sym_final, + anon_sym_override, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5561), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109551] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6523), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109649] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6151), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4236), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5962), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [109797] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6153), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [109895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6057), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [109951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5896), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110007] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110063] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5974), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6071), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110175] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5876), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6021), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [110287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5880), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5995), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5884), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110455] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5999), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110511] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6132), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [110609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5986), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [110665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5872), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [110721] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5010), 1, + anon_sym_SEMI, + ACTIONS(5014), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [110781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6041), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [110837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6071), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [110893] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6417), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [110991] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5010), 1, + anon_sym_SEMI, + ACTIONS(5014), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5012), 40, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [111049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5958), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [111105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3501), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [111161] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6007), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [111217] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4824), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5942), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4846), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111441] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6067), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111497] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2555), 1, + sym_attribute_specifier, + STATE(3965), 1, + sym_enumerator_list, + ACTIONS(5453), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5455), 40, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [111561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5982), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6061), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111729] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4792), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4838), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111841] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7530), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5752), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5754), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111899] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4796), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [111955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6083), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [112011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4910), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [112067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6067), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [112123] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5995), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5999), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112235] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6112), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [112333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4816), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112389] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6083), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112445] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4850), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112501] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6003), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112557] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6171), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [112655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2402), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5958), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112767] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6417), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [112865] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6061), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [112921] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3501), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [112977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4918), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [113033] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7285), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(5032), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3789), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [113095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4800), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [113151] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6406), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [113249] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4842), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [113305] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + ACTIONS(7452), 1, + anon_sym_LBRACE, + STATE(3981), 1, + sym_enumerator_list, + STATE(4070), 1, + sym_attribute_specifier, + ACTIONS(5453), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5455), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [113369] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6863), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5227), 1, + sym__function_attributes_start, + STATE(5270), 1, + sym_ref_qualifier, + STATE(6296), 1, + sym__function_attributes_end, + STATE(6398), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6714), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5868), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5579), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [113475] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2450), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [113531] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6160), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [113629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5892), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [113685] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6343), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [113783] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4922), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [113839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6007), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [113895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7536), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(7534), 42, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [113951] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [114049] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2532), 1, + sym_attribute_specifier, + STATE(3970), 1, + sym_enumerator_list, + ACTIONS(5476), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5478), 40, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [114113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5930), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [114169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4914), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [114225] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6169), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [114323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2771), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [114379] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5930), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [114435] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6409), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [114533] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6093), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [114589] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4812), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [114645] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6520), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [114743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6025), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [114799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5872), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [114855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6033), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [114911] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6037), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [114967] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6550), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [115065] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5926), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6057), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5900), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [115233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(4936), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_GT2, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [115289] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4820), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115345] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6406), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [115443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5982), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [115499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6017), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115555] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6017), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [115611] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5926), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [115667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4808), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115723] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5904), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [115779] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7530), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7538), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5778), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5780), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5888), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [115895] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7295), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5224), 1, + sym__function_attributes_start, + STATE(5281), 1, + sym_ref_qualifier, + STATE(6190), 1, + sym_trailing_return_type, + STATE(6325), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6714), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6744), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5564), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [116001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5962), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [116057] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3765), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5892), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5946), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6037), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116281] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4654), 1, + anon_sym_LBRACK, + ACTIONS(4647), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4650), 6, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(4643), 39, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [116341] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4804), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6025), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116453] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5954), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5904), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5884), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116621] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5900), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116677] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5880), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116733] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_LBRACK, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5223), 1, + sym__function_attributes_start, + STATE(5278), 1, + sym_ref_qualifier, + STATE(6111), 1, + sym_trailing_return_type, + STATE(6323), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6714), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4210), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(4712), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6109), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5553), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [116839] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6346), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [116937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5876), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [116993] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6041), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117049] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + ACTIONS(7452), 1, + anon_sym_LBRACE, + STATE(3944), 1, + sym_enumerator_list, + STATE(4046), 1, + sym_attribute_specifier, + ACTIONS(5476), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5478), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5888), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5974), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [117225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(5896), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [117281] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(6033), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [117337] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7544), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(4610), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4617), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [117399] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6347), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [117497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4074), 1, + sym_attribute_specifier, + ACTIONS(5548), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5550), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117556] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + STATE(3936), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5655), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117617] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4044), 1, + sym_attribute_specifier, + ACTIONS(5590), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5592), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117676] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4038), 1, + sym_attribute_specifier, + ACTIONS(5614), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5616), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117735] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2568), 1, + sym_attribute_specifier, + ACTIONS(5631), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5633), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [117794] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2538), 1, + sym_attribute_specifier, + ACTIONS(5582), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5584), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [117853] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4056), 1, + sym_attribute_specifier, + ACTIONS(5586), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5588), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117912] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4057), 1, + sym_attribute_specifier, + ACTIONS(5582), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5584), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [117971] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + STATE(3825), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5689), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [118032] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2525), 1, + sym_attribute_specifier, + ACTIONS(5586), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5588), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [118091] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4621), 1, + anon_sym_LBRACK, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(4614), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4617), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(4610), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [118156] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6227), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4402), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [118247] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(7553), 1, + anon_sym_LBRACK, + STATE(2603), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4240), 1, + sym_template_argument_list, + ACTIONS(3786), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3771), 4, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + sym_grit_metavariable, + ACTIONS(3791), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 32, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [118316] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + STATE(1626), 1, + sym_template_argument_list, + STATE(2394), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4695), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5459), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5461), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [118379] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2536), 1, + sym_attribute_specifier, + ACTIONS(5590), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5592), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [118438] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4069), 1, + sym_attribute_specifier, + ACTIONS(5530), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5532), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [118497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2576), 1, + sym_attribute_specifier, + ACTIONS(5614), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5616), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [118556] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6223), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4404), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [118647] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + STATE(3832), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5665), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [118708] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6228), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3955), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4246), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [118799] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4048), 1, + sym_attribute_specifier, + ACTIONS(5645), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5647), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [118858] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2517), 1, + sym_attribute_specifier, + ACTIONS(5496), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5498), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [118917] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4058), 1, + sym_attribute_specifier, + ACTIONS(5635), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5637), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [118976] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2558), 1, + sym_attribute_specifier, + ACTIONS(5530), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5532), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119035] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4067), 1, + sym_attribute_specifier, + ACTIONS(5631), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5633), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [119094] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2542), 1, + sym_attribute_specifier, + ACTIONS(5639), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5641), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119153] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2540), 1, + sym_attribute_specifier, + ACTIONS(5548), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5550), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119212] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + STATE(3859), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5673), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [119273] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2526), 1, + sym_attribute_specifier, + ACTIONS(5645), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5647), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119332] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6229), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3961), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4388), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [119423] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4054), 1, + sym_attribute_specifier, + ACTIONS(5639), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5641), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [119482] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7561), 1, + anon_sym_COLON, + STATE(1736), 1, + sym_attribute_specifier, + STATE(2372), 1, + sym__enum_base_clause, + STATE(2442), 1, + sym_enumerator_list, + ACTIONS(5772), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5774), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [119549] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7565), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7563), 35, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [119604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7569), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7567), 35, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [119659] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2519), 1, + sym_attribute_specifier, + ACTIONS(5540), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5542), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119718] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7561), 1, + anon_sym_COLON, + STATE(1859), 1, + sym_attribute_specifier, + STATE(2362), 1, + sym__enum_base_clause, + STATE(2413), 1, + sym_enumerator_list, + ACTIONS(5790), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5792), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [119785] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(2564), 1, + sym_attribute_specifier, + ACTIONS(5635), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5637), 41, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_LBRACE, + anon_sym_static, + anon_sym_EQ, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [119844] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4061), 1, + sym_attribute_specifier, + ACTIONS(5496), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5498), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [119903] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6906), 1, + anon_sym___attribute__, + STATE(4041), 1, + sym_attribute_specifier, + ACTIONS(5540), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5542), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [119962] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6564), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4032), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4530), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120056] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6351), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4004), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4461), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120150] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6336), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4486), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120244] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(6272), 1, + sym__type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3989), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4535), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120338] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1984), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4015), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4584), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120432] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6216), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4005), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4511), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120526] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6216), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4511), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120620] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1984), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4030), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4415), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120714] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6310), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4552), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [120804] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5191), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [120858] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(4182), 1, + sym_new_declarator, + STATE(3920), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5135), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [120928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5285), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [120982] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3006), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4529), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121076] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6564), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4530), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121170] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3015), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4007), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4421), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121264] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(4169), 1, + sym_new_declarator, + STATE(3829), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5099), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [121334] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4027), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4482), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121428] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6591), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4540), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121522] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(4191), 1, + sym_new_declarator, + STATE(3824), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5143), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [121592] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7477), 1, + sym_auto, + ACTIONS(7479), 1, + anon_sym_decltype, + STATE(4068), 1, + sym_decltype_auto, + ACTIONS(5000), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5002), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [121652] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(2531), 1, + sym_attribute_specifier, + STATE(3001), 1, + sym_field_declaration_list, + STATE(6889), 1, + sym_virtual_specifier, + STATE(7660), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(4941), 31, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [121722] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6345), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4479), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121816] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(6265), 1, + sym__type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4509), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [121910] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6345), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3985), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4479), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122004] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2940), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4489), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122098] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1984), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4025), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4579), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122192] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4021), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4419), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122286] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4568), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122380] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6067), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4475), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122474] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4645), 1, + anon_sym_SEMI, + ACTIONS(4654), 1, + anon_sym_LBRACK, + ACTIONS(4647), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4650), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + sym_grit_metavariable, + ACTIONS(4643), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [122534] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5103), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [122588] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5235), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [122642] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4419), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122736] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2931), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4024), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4501), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122830] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2940), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3995), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4489), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [122924] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7687), 1, + anon_sym_LT, + STATE(2394), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(4695), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3771), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [122988] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2888), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4022), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4420), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123082] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6300), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3991), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4582), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123172] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4494), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123266] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2891), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4577), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123360] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6023), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4011), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4411), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123454] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2888), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4420), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123548] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4482), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123642] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5325), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [123696] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4562), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123790] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6023), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4411), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123884] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4010), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4583), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [123978] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4583), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [124072] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(7692), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(7689), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7465), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7463), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [124134] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6618), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4413), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [124228] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5014), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124284] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(4166), 1, + sym_new_declarator, + STATE(3834), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5050), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [124354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(4998), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 20, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5030), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124462] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(6029), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7581), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4028), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4429), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7489), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [124556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5026), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5345), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5022), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5289), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124768] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5556), 1, + anon_sym_STAR, + ACTIONS(7695), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7699), 1, + anon_sym_AMP_AMP, + ACTIONS(7701), 1, + anon_sym_AMP, + ACTIONS(7703), 1, + anon_sym_EQ, + STATE(3393), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6483), 1, + sym__declarator, + STATE(6677), 1, + sym__abstract_declarator, + STATE(6694), 1, + sym_abstract_reference_declarator, + STATE(7275), 1, + sym_variadic_reference_declarator, + STATE(7294), 1, + sym_variadic_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7697), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [124875] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5171), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5070), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [124981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5171), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5074), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5203), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125140] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5211), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125193] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6401), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4072), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4734), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [125282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5084), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5171), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125388] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5014), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125441] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5267), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125494] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5271), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5107), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5111), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125653] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5115), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5337), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125759] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5123), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125812] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5107), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125865] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5018), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125918] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5127), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [125971] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5131), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126024] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7687), 1, + anon_sym_LT, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(5032), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3789), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [126083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5139), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126136] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5524), 1, + anon_sym_STAR, + ACTIONS(7711), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7713), 1, + anon_sym_AMP_AMP, + ACTIONS(7715), 1, + anon_sym_AMP, + ACTIONS(7717), 1, + anon_sym_EQ, + STATE(3754), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6470), 1, + sym__declarator, + STATE(6659), 1, + sym__abstract_declarator, + STATE(6723), 1, + sym_abstract_reference_declarator, + STATE(7275), 1, + sym_variadic_reference_declarator, + STATE(7294), 1, + sym_variadic_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7697), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [126243] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5341), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126296] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5164), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126349] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5195), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5259), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126455] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(7719), 1, + anon_sym_LT, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(4610), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(4617), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [126514] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6367), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4592), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [126603] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5119), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126656] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 19, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(5263), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [126709] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7752), 1, + anon_sym_QMARK, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7722), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(7726), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [126813] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5399), 1, + anon_sym_STAR, + ACTIONS(5401), 1, + anon_sym_AMP_AMP, + ACTIONS(5403), 1, + anon_sym_AMP, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7711), 1, + anon_sym_DOT_DOT_DOT, + STATE(2970), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6339), 1, + sym__declarator, + STATE(6453), 1, + sym__abstract_declarator, + STATE(7402), 1, + sym_variadic_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7766), 3, + anon_sym_COMMA, + anon_sym_EQ, + anon_sym_GT2, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [126913] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6079), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4196), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7768), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [126997] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6527), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4096), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4778), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [127087] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6479), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4083), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4803), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5395), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [127175] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3971), 1, + sym_new_declarator, + STATE(3834), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5050), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [127243] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7752), 1, + anon_sym_QMARK, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6344), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6346), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [127347] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6278), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6280), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [127413] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6488), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4776), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [127501] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6131), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4098), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4754), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [127591] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6058), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4214), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7794), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [127675] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7798), 1, + sym_primitive_type, + STATE(2952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3408), 1, + sym_identifier, + ACTIONS(7796), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(5040), 30, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + sym_virtual, + [127739] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7752), 1, + anon_sym_QMARK, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6015), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6017), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [127843] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3952), 1, + sym_new_declarator, + STATE(3824), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5143), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [127911] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5986), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [127963] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7800), 1, + anon_sym_typedef, + ACTIONS(2679), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [128017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5954), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [128069] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(7802), 1, + anon_sym_COLON, + STATE(2618), 1, + sym__enum_base_clause, + STATE(2665), 1, + sym_enumerator_list, + STATE(2813), 1, + sym_attribute_specifier, + ACTIONS(5772), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5774), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [128133] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(6021), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [128185] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [128251] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6108), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4775), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [128341] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6543), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4807), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [128431] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6543), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4119), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4807), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [128521] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6134), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4768), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [128611] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6010), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4216), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7794), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [128695] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7798), 1, + sym_primitive_type, + STATE(2952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3408), 1, + sym_identifier, + ACTIONS(7796), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5040), 25, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [128759] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6134), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4095), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4768), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [128849] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 13, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [128923] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5946), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [128975] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6316), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + sym_grit_metavariable, + [129075] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 13, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [129147] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3962), 1, + sym_new_declarator, + STATE(3920), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5135), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [129215] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(5991), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4224), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7768), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [129299] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5399), 1, + anon_sym_STAR, + ACTIONS(5401), 1, + anon_sym_AMP_AMP, + ACTIONS(5403), 1, + anon_sym_AMP, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7695), 1, + anon_sym_DOT_DOT_DOT, + STATE(2970), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6339), 1, + sym__declarator, + STATE(6453), 1, + sym__abstract_declarator, + STATE(7402), 1, + sym_variadic_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7766), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [129399] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [129469] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6322), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_grit_metavariable, + [129533] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6340), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + sym_grit_metavariable, + [129633] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6324), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6326), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [129699] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 13, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + sym_grit_metavariable, + [129775] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7752), 1, + anon_sym_QMARK, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6352), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6354), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [129879] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4612), 1, + anon_sym_SEMI, + ACTIONS(4621), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(4614), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4617), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(4610), 33, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [129943] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 10, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6264), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + sym_grit_metavariable, + [130023] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6348), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + sym_grit_metavariable, + [130123] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6328), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6330), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + sym_grit_metavariable, + [130189] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6555), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2560), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4780), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2558), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [130279] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6034), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4192), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7794), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [130363] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 3, + aux_sym_preproc_elif_token1, + anon_sym_or, + sym__identifier, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + sym_grit_metavariable, + [130459] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + sym__identifier, + ACTIONS(6338), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_grit_metavariable, + [130523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7808), 1, + anon_sym_typedef, + ACTIONS(2679), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2677), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [130577] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6015), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4223), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7768), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [130661] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 9, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + sym__identifier, + ACTIONS(6264), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + sym_grit_metavariable, + [130745] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7734), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7736), 1, + anon_sym_AMP_AMP, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7756), 1, + anon_sym_or, + ACTIONS(7758), 1, + anon_sym_and, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6282), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + sym_grit_metavariable, + [130845] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 7, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + sym__identifier, + ACTIONS(6264), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + sym_grit_metavariable, + [130931] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7738), 2, + anon_sym_PIPE, + anon_sym_bitor, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 4, + aux_sym_preproc_elif_token1, + anon_sym_or, + anon_sym_and, + sym__identifier, + ACTIONS(6264), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + sym_grit_metavariable, + [131023] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6270), 1, + anon_sym_DOT, + ACTIONS(7732), 1, + anon_sym_SLASH, + ACTIONS(7740), 1, + anon_sym_CARET, + ACTIONS(7748), 1, + anon_sym_GT_EQ, + ACTIONS(7754), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7760), 1, + anon_sym_xor, + ACTIONS(7762), 1, + anon_sym_not_eq, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6272), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7728), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7730), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7742), 2, + anon_sym_AMP, + anon_sym_bitand, + ACTIONS(7744), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(7750), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7746), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6262), 6, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + sym__identifier, + ACTIONS(6264), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + sym_grit_metavariable, + [131113] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(7802), 1, + anon_sym_COLON, + STATE(2580), 1, + sym__enum_base_clause, + STATE(2696), 1, + sym_enumerator_list, + STATE(2778), 1, + sym_attribute_specifier, + ACTIONS(5790), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5792), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [131177] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7461), 1, + anon_sym_LBRACK, + ACTIONS(7475), 1, + anon_sym_LPAREN2, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3945), 1, + sym_new_declarator, + STATE(3829), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5099), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [131245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2613), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2608), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [131296] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3007), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(3005), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [131347] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5399), 1, + anon_sym_STAR, + ACTIONS(5401), 1, + anon_sym_AMP_AMP, + ACTIONS(5403), 1, + anon_sym_AMP, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2970), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6339), 1, + sym__declarator, + STATE(6453), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7766), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [131442] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(4994), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [131495] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + ACTIONS(7812), 1, + anon_sym_LBRACK, + STATE(2770), 1, + sym_decltype_auto, + STATE(4248), 1, + sym_new_declarator, + STATE(4805), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5133), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5135), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [131562] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + ACTIONS(7812), 1, + anon_sym_LBRACK, + STATE(2770), 1, + sym_decltype_auto, + STATE(4316), 1, + sym_new_declarator, + STATE(4741), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5141), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5143), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [131629] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7814), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(2828), 1, + sym__enum_base_clause, + STATE(2994), 1, + sym_enumerator_list, + ACTIONS(5792), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5790), 31, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [131692] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7816), 1, + sym_auto, + ACTIONS(7818), 1, + anon_sym_decltype, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5110), 1, + sym_decltype_auto, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6192), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4239), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [131775] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 17, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(3765), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [131828] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6417), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [131879] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(1867), 40, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [131930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2921), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2919), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [131981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6409), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [132032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 18, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + sym_literal_suffix, + ACTIONS(6423), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [132083] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + ACTIONS(7812), 1, + anon_sym_LBRACK, + STATE(2770), 1, + sym_decltype_auto, + STATE(4329), 1, + sym_new_declarator, + STATE(4758), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5097), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5099), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [132150] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2783), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2781), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [132201] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + ACTIONS(7812), 1, + anon_sym_LBRACK, + STATE(2770), 1, + sym_decltype_auto, + STATE(4407), 1, + sym_new_declarator, + STATE(4752), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5048), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5050), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [132268] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7822), 1, + sym_primitive_type, + STATE(4165), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4324), 1, + sym_identifier, + ACTIONS(7820), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5040), 25, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [132331] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(57), 1, + anon_sym___inline, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + ACTIONS(7826), 1, + anon_sym___declspec, + ACTIONS(7828), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + ACTIONS(6085), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6087), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + STATE(4235), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7824), 8, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [132410] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7832), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4401), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5776), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7830), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [132475] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6508), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(4160), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4832), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5395), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [132562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2753), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2751), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [132613] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7840), 1, + anon_sym_COLON, + STATE(1859), 1, + sym_attribute_specifier, + STATE(2362), 1, + sym__enum_base_clause, + STATE(2413), 1, + sym_enumerator_list, + ACTIONS(5790), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5792), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [132676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2769), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2767), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [132727] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7816), 1, + sym_auto, + ACTIONS(7818), 1, + anon_sym_decltype, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(5110), 1, + sym_decltype_auto, + STATE(6087), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4231), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [132810] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7814), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(2843), 1, + sym__enum_base_clause, + STATE(2981), 1, + sym_enumerator_list, + ACTIONS(5774), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5772), 31, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [132873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7569), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7567), 29, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [132924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2757), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(2755), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_typename, + anon_sym_template, + [132975] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7489), 1, + sym_ms_restrict_modifier, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(3977), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6495), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7491), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7493), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3750), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4811), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [133062] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7840), 1, + anon_sym_COLON, + STATE(1736), 1, + sym_attribute_specifier, + STATE(2372), 1, + sym__enum_base_clause, + STATE(2442), 1, + sym_enumerator_list, + ACTIONS(5772), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5774), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [133125] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(57), 1, + anon_sym___inline, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + ACTIONS(7826), 1, + anon_sym___declspec, + ACTIONS(7842), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + ACTIONS(5912), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(5914), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + STATE(4229), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7824), 8, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [133204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7565), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(7563), 29, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [133255] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6278), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6280), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [133319] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(7844), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5276), 25, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [133377] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(3859), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5673), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [133433] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7847), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7849), 1, + anon_sym_AMP_AMP, + ACTIONS(7851), 1, + anon_sym_or, + ACTIONS(7853), 1, + anon_sym_and, + ACTIONS(5778), 15, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5780), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [133491] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6452), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4186), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4886), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5395), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [133577] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(3936), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5655), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [133633] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(5032), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3789), 35, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [133689] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7849), 1, + anon_sym_AMP_AMP, + ACTIONS(7853), 1, + anon_sym_and, + ACTIONS(5752), 16, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym__identifier, + ACTIONS(5754), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + sym_grit_metavariable, + [133743] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6322), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [133805] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [133869] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(4240), 1, + sym_template_argument_list, + ACTIONS(4614), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4617), 4, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + sym_grit_metavariable, + ACTIONS(4610), 32, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [133929] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7844), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4854), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + sym_grit_metavariable, + ACTIONS(4852), 27, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [133983] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(3441), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3763), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6770), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 31, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [134043] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6328), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6330), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [134107] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7869), 1, + sym_ms_restrict_modifier, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5259), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6541), 1, + sym__abstract_declarator, + ACTIONS(7871), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7873), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4890), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5113), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(5416), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134193] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7869), 1, + sym_ms_restrict_modifier, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5259), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6551), 1, + sym__abstract_declarator, + ACTIONS(7871), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7873), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4178), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4904), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5395), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134279] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6324), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6326), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [134343] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(4610), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4617), 35, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [134399] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(3832), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5665), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [134455] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6211), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4284), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134537] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6224), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4390), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134619] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(4317), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3763), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_COLON, + ACTIONS(7879), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [134679] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6458), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4834), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134765] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6205), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4306), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134847] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6231), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4350), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [134929] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(4317), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5459), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_COLON, + ACTIONS(7879), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [134989] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6338), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [135051] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(3825), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5689), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [135107] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6026), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7881), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [135182] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6044), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [135257] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7883), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5752), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5754), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [135308] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6583), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4939), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [135393] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6062), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7885), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [135468] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6409), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [135517] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6022), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [135592] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7913), 1, + anon_sym_SEMI, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(6686), 1, + aux_sym_field_declaration_repeat1, + STATE(8509), 1, + sym_attribute_specifier, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [135695] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5014), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(5012), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + anon_sym_operator, + [135746] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [135797] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + ACTIONS(7923), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(6734), 1, + aux_sym_field_declaration_repeat1, + STATE(8099), 1, + sym_attribute_specifier, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [135900] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7927), 1, + sym_primitive_type, + STATE(4238), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4643), 1, + sym_identifier, + ACTIONS(7925), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5040), 22, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [135961] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6037), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136036] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6306), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4559), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136117] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6007), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136192] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5524), 1, + anon_sym_STAR, + ACTIONS(5526), 1, + anon_sym_AMP_AMP, + ACTIONS(5528), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6339), 1, + sym__declarator, + STATE(6562), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7766), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136285] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [136336] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2573), 1, + sym_decltype_auto, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6305), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4534), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136417] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + STATE(4815), 1, + sym_alignas_qualifier, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7832), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4723), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(4740), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5831), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7830), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [136480] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6620), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4195), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4947), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5395), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136565] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6586), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4031), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4929), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [136650] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5556), 1, + anon_sym_STAR, + ACTIONS(5558), 1, + anon_sym_AMP_AMP, + ACTIONS(5560), 1, + anon_sym_AMP, + STATE(3393), 1, + sym_parameter_list, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6339), 1, + sym__declarator, + STATE(6613), 1, + sym__abstract_declarator, + STATE(8273), 1, + sym_ms_based_modifier, + ACTIONS(7766), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136743] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6039), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7881), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [136818] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6417), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [136867] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6008), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7881), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [136942] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7937), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(7935), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [136991] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + ACTIONS(7939), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(6710), 1, + aux_sym_field_declaration_repeat1, + STATE(7935), 1, + sym_attribute_specifier, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [137094] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(2558), 1, + sym_ms_restrict_modifier, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4158), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6582), 1, + sym__abstract_declarator, + ACTIONS(7517), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7519), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4212), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(4927), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5395), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137179] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6033), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137254] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7943), 1, + anon_sym_LPAREN2, + ACTIONS(7945), 6, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + sym_grit_metavariable, + ACTIONS(7941), 34, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [137305] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7883), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7947), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5778), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(5780), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [137358] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6011), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7885), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [137433] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6040), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7885), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [137508] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6009), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6423), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [137632] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7198), 1, + anon_sym_const, + ACTIONS(7201), 1, + anon_sym___inline, + ACTIONS(7955), 1, + anon_sym___attribute__, + ACTIONS(7958), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7961), 1, + anon_sym___declspec, + ACTIONS(7967), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6158), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(7964), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6160), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + STATE(4227), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7952), 8, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(7949), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137702] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7977), 1, + anon_sym_const, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(7972), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(7980), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7974), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7970), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [137760] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(57), 1, + anon_sym___inline, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7826), 1, + anon_sym___declspec, + ACTIONS(7983), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6201), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6203), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + STATE(4227), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7824), 8, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137830] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(7985), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(4854), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(4852), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [137882] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6191), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [137956] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7988), 1, + anon_sym_COMMA, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8014), 1, + anon_sym_SEMI, + ACTIONS(8016), 1, + anon_sym_RBRACE, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7364), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [138056] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(1814), 1, + sym_decltype_auto, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6366), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4692), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138136] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(4640), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5459), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8026), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [138194] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(57), 1, + anon_sym___inline, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7826), 1, + anon_sym___declspec, + ACTIONS(7983), 1, + sym_virtual, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6152), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(6154), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + STATE(4227), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(7824), 8, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138264] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6121), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138338] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4031), 1, + anon_sym_STAR, + ACTIONS(4033), 1, + anon_sym_AMP_AMP, + ACTIONS(4035), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(7766), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(5595), 1, + sym__scope_resolution, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6414), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(6613), 1, + sym__abstract_declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138430] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 1, + sym_grit_metavariable, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4852), 2, + sym_primitive_type, + sym__identifier, + ACTIONS(7985), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5276), 22, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [138486] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6149), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138560] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4652), 1, + anon_sym_LBRACK, + ACTIONS(4647), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(4650), 5, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(4643), 32, + anon_sym_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + sym_auto, + anon_sym_decltype, + sym_virtual, + anon_sym_operator, + [138612] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6151), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138686] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(1814), 1, + sym_decltype_auto, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6424), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4733), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [138766] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8028), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [138861] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8064), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7469), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [138958] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8066), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7464), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [139055] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6227), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [139128] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8068), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7188), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [139225] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + STATE(4808), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5663), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5665), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [139278] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [139343] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(1191), 1, + sym__fold_operator, + ACTIONS(8072), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(8070), 25, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [139392] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4800), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [139439] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6017), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [139532] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [139601] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [139668] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [139739] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [139814] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + [139891] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + [139972] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8076), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7204), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [140069] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + [140152] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4812), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [140199] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + [140284] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + [140371] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_or, + [140458] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + [140543] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [140608] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7832), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7830), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [140665] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [140754] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + [140837] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + [140926] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + [141007] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + [141084] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_QMARK, + [141173] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [141248] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [141319] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(2770), 1, + sym_decltype_auto, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6490), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4809), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7794), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [141398] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5155), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5638), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7420), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [141485] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8078), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7196), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [141582] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6346), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [141675] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8080), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7457), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [141772] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8082), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7357), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [141869] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8084), 1, + anon_sym_COMMA, + ACTIONS(8086), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7438), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [141966] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [142033] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6239), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [142106] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8114), 1, + anon_sym_RBRACK, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7108), 1, + aux_sym_subscript_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [142203] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(5395), 1, + anon_sym_COLON, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7869), 1, + sym_ms_restrict_modifier, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5259), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6709), 1, + sym__abstract_declarator, + ACTIONS(7871), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7873), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4408), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(5180), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [142286] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_QMARK, + [142375] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8130), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7325), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [142472] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8132), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7282), 1, + aux_sym_subscript_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [142569] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8172), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7236), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [142666] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8174), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7095), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [142763] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8176), 1, + anon_sym_COMMA, + ACTIONS(8178), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7176), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [142860] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_QMARK, + [142949] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8180), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7210), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [143046] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8182), 1, + anon_sym_COMMA, + ACTIONS(8184), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7255), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [143143] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6346), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [143236] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [143305] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8186), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7392), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [143402] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5536), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8188), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5534), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [143453] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8190), 1, + anon_sym_LT, + STATE(4673), 1, + sym_template_argument_list, + ACTIONS(4610), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4617), 33, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [143506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(1867), 36, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [143553] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_QMARK, + [143642] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6354), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [143735] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8192), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7091), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [143832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4808), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [143879] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6209), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [143952] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8194), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7418), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144049] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8196), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7054), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144146] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8198), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7369), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144243] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5141), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5636), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7428), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [144330] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8200), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7183), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [144427] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8202), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8204), 1, + anon_sym_COMMA, + ACTIONS(8206), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7073), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144524] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6017), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4820), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [144664] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4804), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [144711] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + STATE(4757), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5687), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5689), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [144764] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5576), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8188), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5574), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [144815] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8208), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7332), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [144912] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [145001] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8210), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7156), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [145098] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5157), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5649), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7140), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [145185] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8190), 1, + anon_sym_LT, + STATE(4673), 1, + sym_template_argument_list, + ACTIONS(5032), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3789), 33, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [145238] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4362), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5610), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8212), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5608), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [145289] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4363), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5620), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8214), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5618), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [145340] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4029), 1, + anon_sym_LPAREN2, + ACTIONS(4031), 1, + anon_sym_STAR, + ACTIONS(4033), 1, + anon_sym_AMP_AMP, + ACTIONS(4035), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5407), 1, + anon_sym_LBRACK, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + STATE(3393), 1, + sym_parameter_list, + STATE(5595), 1, + sym__scope_resolution, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6493), 1, + sym_identifier, + STATE(6549), 1, + sym__declarator, + STATE(6747), 1, + sym__abstract_declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [145429] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8216), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7128), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [145526] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8218), 1, + anon_sym_COMMA, + ACTIONS(8220), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7107), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [145623] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(2770), 1, + sym_decltype_auto, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6481), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4794), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7768), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [145702] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + STATE(4792), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5653), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5655), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [145755] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8222), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(3851), 1, + sym__enum_base_clause, + STATE(3967), 1, + sym_enumerator_list, + ACTIONS(5772), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5774), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [145814] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8222), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(3890), 1, + sym__enum_base_clause, + STATE(3958), 1, + sym_enumerator_list, + ACTIONS(5790), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5792), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [145873] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8224), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7100), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [145970] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8226), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7303), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [146067] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8228), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7425), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [146164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4846), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [146211] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + [146300] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8230), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7067), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [146397] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8232), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7089), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [146494] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8234), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7424), 1, + aux_sym_subscript_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [146591] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8236), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7263), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [146688] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4299), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5012), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8238), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [146739] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8240), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7217), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [146836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4796), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [146883] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8016), 1, + anon_sym_RBRACE, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8242), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7364), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [146980] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(8244), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [147073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4796), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [147120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4796), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [147167] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8246), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7310), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [147264] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6354), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [147357] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6225), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [147430] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8248), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7149), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [147527] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [147592] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + [147679] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + [147764] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + [147847] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5212), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5650), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7312), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [147934] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + [148015] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [148104] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + [148181] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5162), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5639), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7104), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [148268] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8028), 1, + anon_sym_SEMI, + ACTIONS(8250), 1, + anon_sym_COMMA, + ACTIONS(8253), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [148365] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5596), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8188), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5594), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [148416] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4175), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5600), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8188), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5598), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [148467] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8014), 1, + anon_sym_SEMI, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8255), 1, + anon_sym_COMMA, + ACTIONS(8258), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [148564] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [148639] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [148710] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [148777] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8260), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7441), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [148874] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [148943] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6354), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149036] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6017), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149129] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4299), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5323), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8238), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5325), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [149180] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8262), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7262), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149277] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8264), 1, + anon_sym_COMMA, + ACTIONS(8266), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7305), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149374] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4850), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [149421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(2450), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [149468] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8268), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7356), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149565] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8270), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7287), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(2402), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [149709] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8204), 1, + anon_sym_COMMA, + ACTIONS(8272), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7073), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149806] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(8274), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7254), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [149903] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4842), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [149950] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8276), 1, + anon_sym_RPAREN, + ACTIONS(8278), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [150047] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5166), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5618), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7436), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [150134] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8280), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7445), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [150231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4792), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [150278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4816), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [150325] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6223), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [150398] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8282), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(3851), 1, + sym__enum_base_clause, + STATE(3967), 1, + sym_enumerator_list, + ACTIONS(5772), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5774), 29, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + sym_virtual, + [150457] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6222), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [150530] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8282), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(3890), 1, + sym__enum_base_clause, + STATE(3958), 1, + sym_enumerator_list, + ACTIONS(5790), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym___inline, + anon_sym_const, + ACTIONS(5792), 29, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_extern, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym___inline__, + anon_sym___forceinline, + anon_sym_thread_local, + anon_sym___thread, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + sym_virtual, + [150589] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(8284), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [150682] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8190), 1, + anon_sym_LT, + STATE(4640), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4673), 1, + sym_template_argument_list, + ACTIONS(3763), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8026), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [150739] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8204), 1, + anon_sym_COMMA, + ACTIONS(8286), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7435), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [150836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4838), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [150883] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8290), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8288), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [150978] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + [151067] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8292), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + STATE(7484), 1, + aux_sym_argument_list_repeat1, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [151164] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_QMARK, + [151253] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5179), 1, + sym_ms_call_modifier, + STATE(5610), 1, + sym__scope_resolution, + STATE(5657), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7389), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [151340] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(8296), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(8294), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [151397] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6271), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [151470] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7893), 1, + anon_sym_SLASH, + ACTIONS(7899), 1, + anon_sym_PIPE, + ACTIONS(7903), 1, + anon_sym_AMP, + ACTIONS(7909), 1, + anon_sym_GT_EQ, + ACTIONS(7915), 1, + anon_sym_QMARK, + ACTIONS(7917), 1, + anon_sym_LT_EQ_GT, + ACTIONS(7919), 1, + anon_sym_bitor, + ACTIONS(7921), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7889), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7891), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7895), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7897), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(7901), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(7911), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6346), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + ACTIONS(7905), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(7907), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [151563] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6221), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [151636] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [151725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4824), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [151772] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(7810), 1, + anon_sym_LPAREN2, + STATE(4765), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(5671), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5673), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [151825] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(5416), 1, + anon_sym_COLON, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7869), 1, + sym_ms_restrict_modifier, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5259), 1, + sym_ms_unaligned_ptr_modifier, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6687), 1, + sym__abstract_declarator, + ACTIONS(7871), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(7873), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5113), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(5121), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [151908] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + ACTIONS(8298), 1, + anon_sym_GT2, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + STATE(7494), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [152005] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(4992), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [152053] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6067), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152131] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5138), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6443), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [152215] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6604), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152293] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6328), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6330), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [152353] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152431] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8300), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [152525] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6324), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6326), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [152585] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6278), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6280), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [152645] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152723] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2891), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152801] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2940), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [152879] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [152967] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8304), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153061] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6354), 2, + anon_sym_COMMA, + anon_sym_COLON, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153153] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5188), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6380), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [153237] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8338), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153329] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + [153417] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6346), 2, + anon_sym_COMMA, + anon_sym_COLON, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153509] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6023), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [153587] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8340), 1, + anon_sym_COMMA, + ACTIONS(8342), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153681] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8344), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [153775] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + [153863] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6322), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [153921] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [154009] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8346), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [154103] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6017), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [154195] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8348), 1, + anon_sym_COMMA, + ACTIONS(8350), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [154289] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8352), 1, + anon_sym_COMMA, + ACTIONS(8354), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [154383] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [154447] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [154507] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + [154593] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + [154677] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + [154759] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + [154839] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8028), 1, + anon_sym_COLON, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [154933] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8358), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [155025] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8360), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [155119] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6017), 2, + anon_sym_COMMA, + anon_sym_COLON, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [155211] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + [155287] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8362), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [155379] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [155453] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [155521] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [155591] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [155657] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [155725] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6514), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4831), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7768), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [155803] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6017), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [155895] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4829), 1, + sym_field_declaration_list, + STATE(4901), 1, + sym_attribute_specifier, + STATE(6987), 1, + sym_virtual_specifier, + STATE(7529), 1, + sym_base_class_clause, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4941), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(4943), 26, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_try, + anon_sym_requires, + [155957] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8366), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [156049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2679), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(2677), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [156095] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6345), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [156173] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [156239] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6262), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [156309] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8368), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [156403] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [156477] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + [156553] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8028), 1, + anon_sym_SEMI, + ACTIONS(8302), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [156647] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + [156727] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + [156809] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + [156893] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_or, + [156979] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6278), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6280), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [157039] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8370), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [157133] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8253), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [157225] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6031), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [157303] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6342), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [157391] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6346), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [157483] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8258), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [157575] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6336), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [157653] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6350), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [157741] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8372), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [157833] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [157911] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8374), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [158005] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6350), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [158093] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6354), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [158185] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6314), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [158263] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [158333] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 7, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [158399] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3006), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [158477] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [158549] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6328), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6330), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [158609] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(8376), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7970), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(7977), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7972), 16, + anon_sym_AMP, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [158663] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6262), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [158727] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2011), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [158805] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8383), 1, + anon_sym___attribute__, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(8381), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8379), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [158855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6423), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [158901] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [158975] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8386), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [159069] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6262), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_GT2, + [159145] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_GT2, + [159225] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2888), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [159303] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6262), 1, + anon_sym_PIPE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_GT2, + [159385] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8014), 1, + anon_sym_SEMI, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [159479] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7726), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [159571] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6338), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [159629] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8338), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [159721] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6346), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [159813] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6409), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [159859] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(6255), 1, + sym__type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [159937] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8388), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [160031] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(6265), 1, + sym__type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [160109] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6284), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + [160197] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5137), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6433), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [160281] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6324), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6326), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + [160341] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8390), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [160435] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_or, + anon_sym_GT2, + [160521] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6284), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [160609] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8392), 1, + anon_sym_COMMA, + ACTIONS(8394), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [160703] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8396), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [160797] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6264), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [160857] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8398), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [160951] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(6262), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6264), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_GT2, + [161015] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8400), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [161109] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5119), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6393), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [161193] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6264), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_or, + anon_sym_and, + anon_sym_GT2, + [161277] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(4652), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4645), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [161325] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8402), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [161419] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8404), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [161513] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2978), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [161591] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6618), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [161669] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8406), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [161763] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6320), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6322), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [161821] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [161869] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6303), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [161941] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(6216), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [162019] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8408), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [162113] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5132), 1, + sym_ms_call_modifier, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6560), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [162197] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6318), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_QMARK, + [162285] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8410), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [162379] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6564), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [162457] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8412), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [162549] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6354), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [162641] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8417), 1, + anon_sym_const, + STATE(4815), 1, + sym_alignas_qualifier, + ACTIONS(7972), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(8420), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(8414), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7970), 19, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [162697] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8423), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [162791] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8425), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [162885] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(6336), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(6338), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [162943] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8427), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163037] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8429), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163131] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8431), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163225] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3773), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3765), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [163277] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6342), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [163365] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6322), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [163437] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8433), 1, + anon_sym_COMMA, + ACTIONS(8435), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163531] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8412), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [163623] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8437), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163717] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8439), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163811] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5140), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6432), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [163895] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8278), 1, + anon_sym_SEMI, + ACTIONS(8302), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [163989] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6312), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [164061] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8441), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164155] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5158), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6375), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [164239] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2011), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [164317] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(6318), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [164405] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8443), 1, + anon_sym_COMMA, + ACTIONS(8445), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164499] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8447), 1, + anon_sym_COMMA, + ACTIONS(8449), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164593] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8451), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5219), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5217), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + anon_sym_operator, + anon_sym_try, + anon_sym_requires, + [164733] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2011), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [164811] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8453), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164905] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8302), 1, + anon_sym_COMMA, + ACTIONS(8455), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [164999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___attribute__, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6417), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [165045] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8457), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165139] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8459), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165233] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(1994), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5459), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4678), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [165289] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8461), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165381] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8288), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165473] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2897), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [165551] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8463), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [165643] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [165721] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7128), 1, + anon_sym_COMMA, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8465), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165815] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8467), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [165909] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6310), 1, + sym__abstract_declarator, + ACTIONS(6726), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4228), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + ACTIONS(6720), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [165981] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(2005), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [166059] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1931), 1, + sym_alignas_qualifier, + STATE(1967), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [166137] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5165), 1, + sym_ms_call_modifier, + STATE(5591), 1, + sym__scope_resolution, + STATE(6421), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [166221] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7812), 1, + anon_sym_LBRACK, + STATE(4690), 1, + sym_new_declarator, + ACTIONS(5764), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5766), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [166271] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8469), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [166363] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8356), 1, + anon_sym_COMMA, + ACTIONS(8471), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [166457] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(4905), 1, + sym_decltype_auto, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6504), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4825), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7794), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [166535] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8338), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [166627] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + ACTIONS(6958), 1, + anon_sym_LBRACK, + ACTIONS(6972), 1, + anon_sym_DOT, + ACTIONS(8134), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8142), 1, + anon_sym_SLASH, + ACTIONS(8148), 1, + anon_sym_PIPE, + ACTIONS(8152), 1, + anon_sym_AMP, + ACTIONS(8158), 1, + anon_sym_LT_LT, + ACTIONS(8160), 1, + anon_sym_GT_GT, + ACTIONS(8162), 1, + anon_sym_QMARK, + ACTIONS(8164), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8166), 1, + anon_sym_bitor, + ACTIONS(8168), 1, + anon_sym_bitand, + STATE(3763), 1, + sym_argument_list, + STATE(3764), 1, + sym_subscript_argument_list, + ACTIONS(6974), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(8138), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8140), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8144), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8146), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8150), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8170), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8338), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(8154), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8156), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [166719] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6450), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [166790] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8473), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [166881] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8475), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [166972] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8477), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167063] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8479), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167154] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4530), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167245] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8481), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167336] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8483), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167427] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8485), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167518] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8487), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167609] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4500), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167700] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8489), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167791] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8491), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167882] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8493), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [167973] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4397), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168064] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8495), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168155] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8497), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168246] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8499), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168337] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8501), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168428] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8503), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168519] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8505), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168610] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8507), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168701] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8509), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168792] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8511), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168883] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8513), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [168974] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4367), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169065] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8202), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8515), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169156] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8517), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169247] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4363), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169338] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8519), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169429] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8521), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169520] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8523), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169611] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + ACTIONS(8527), 1, + anon_sym_COLON, + STATE(4756), 1, + sym__enum_base_clause, + STATE(4812), 1, + sym_enumerator_list, + STATE(4880), 1, + sym_attribute_specifier, + ACTIONS(5790), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5792), 28, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [169668] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4365), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169759] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8529), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169850] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8531), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [169941] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8533), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170032] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4516), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170123] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8535), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170214] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8537), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170305] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4518), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170396] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8539), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170487] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8541), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170578] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8543), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170669] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5536), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8545), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5534), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [170718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6417), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [170763] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5725), 1, + sym_literal_suffix, + ACTIONS(4992), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(4994), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [170810] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8547), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [170901] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5576), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8545), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5574), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [170950] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8549), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171041] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4651), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5610), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5608), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [171090] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4652), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5620), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8553), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5618), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [171139] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(1814), 1, + sym_decltype_auto, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6548), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4906), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7768), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [171216] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8555), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171307] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(2394), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5459), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4695), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5461), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [171362] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8557), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171453] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6423), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [171498] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8559), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171589] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8561), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171680] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5596), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8545), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5594), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [171729] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4230), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5600), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8545), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5598), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [171778] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4636), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5323), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8563), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5325), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [171827] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + ACTIONS(8527), 1, + anon_sym_COLON, + STATE(4787), 1, + sym__enum_base_clause, + STATE(4820), 1, + sym_enumerator_list, + STATE(4896), 1, + sym_attribute_specifier, + ACTIONS(5772), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5774), 28, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [171884] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8565), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [171975] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8567), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172066] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8569), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172157] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8571), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172248] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8573), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172339] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8575), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172430] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8577), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5820), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5822), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [172566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(6409), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [172611] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8579), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172702] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5806), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5808), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [172747] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8581), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172838] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8583), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [172929] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8585), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173020] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4985), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [173156] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8587), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173247] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4502), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4650), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [173383] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8589), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173474] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4337), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173565] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4444), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173656] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8591), 1, + anon_sym_RBRACE, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173747] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4385), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173838] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4387), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [173929] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8593), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174020] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4389), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174111] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4393), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174202] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8290), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174293] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8595), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174384] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4510), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174475] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8597), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174566] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4979), 33, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [174613] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8599), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174704] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(4977), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4979), 33, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [174751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5810), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5812), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [174796] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4379), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [174887] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6384), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [174958] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8601), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175049] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8603), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175140] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8605), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175231] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + STATE(1994), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3763), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4678), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 26, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [175286] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8609), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175377] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(8611), 1, + anon_sym___attribute__, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4949), 1, + sym_field_declaration_list, + STATE(5204), 1, + sym_attribute_specifier, + STATE(6840), 1, + sym_virtual_specifier, + STATE(7618), 1, + sym_base_class_clause, + ACTIONS(4941), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 26, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175438] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8615), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175529] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8617), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175620] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4604), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4608), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175710] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4629), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175755] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4600), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175800] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4512), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [175891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4641), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175936] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4637), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [175981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4633), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [176026] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8619), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176117] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8621), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176208] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5824), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5826), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [176253] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + STATE(4815), 1, + sym_alignas_qualifier, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(7832), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7830), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [176308] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8623), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176399] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8625), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176490] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8627), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176581] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8629), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176672] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4528), 1, + anon_sym_RBRACK, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176763] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8631), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176854] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8633), 1, + anon_sym_COMMA, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [176945] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5391), 34, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [176990] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5008), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(5010), 33, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [177037] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8635), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177128] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + STATE(4815), 1, + sym_alignas_qualifier, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(8296), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(8294), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [177183] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(1814), 1, + sym_decltype_auto, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6558), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4891), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7794), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [177260] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8310), 1, + anon_sym_SLASH, + ACTIONS(8316), 1, + anon_sym_PIPE, + ACTIONS(8320), 1, + anon_sym_AMP, + ACTIONS(8326), 1, + anon_sym_GT_EQ, + ACTIONS(8330), 1, + anon_sym_QMARK, + ACTIONS(8332), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8334), 1, + anon_sym_bitor, + ACTIONS(8336), 1, + anon_sym_bitand, + ACTIONS(8637), 1, + anon_sym_COLON, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(7101), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8306), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8308), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8312), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8314), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8318), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8328), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8322), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8324), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177351] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8639), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177442] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8641), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177533] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8094), 1, + anon_sym_SLASH, + ACTIONS(8100), 1, + anon_sym_PIPE, + ACTIONS(8104), 1, + anon_sym_AMP, + ACTIONS(8110), 1, + anon_sym_GT_EQ, + ACTIONS(8116), 1, + anon_sym_QMARK, + ACTIONS(8118), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8120), 1, + anon_sym_bitor, + ACTIONS(8122), 1, + anon_sym_bitand, + ACTIONS(8643), 1, + anon_sym_RBRACK, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8092), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8096), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8098), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8102), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8112), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8106), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8108), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177624] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7587), 1, + sym_grit_metavariable, + ACTIONS(7822), 1, + sym_primitive_type, + STATE(4165), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4324), 1, + sym_identifier, + ACTIONS(7820), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5038), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_COLON, + ACTIONS(5040), 22, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [177681] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8645), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177772] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + ACTIONS(8647), 1, + anon_sym_SEMI, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [177863] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(1839), 1, + sym_attribute_specifier, + STATE(5242), 1, + sym_field_declaration_list, + STATE(6788), 1, + sym_virtual_specifier, + STATE(7567), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4943), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(4941), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [177924] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6370), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [177995] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6367), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [178066] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8034), 1, + anon_sym_SLASH, + ACTIONS(8040), 1, + anon_sym_PIPE, + ACTIONS(8044), 1, + anon_sym_AMP, + ACTIONS(8050), 1, + anon_sym_GT_EQ, + ACTIONS(8054), 1, + anon_sym_QMARK, + ACTIONS(8056), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8058), 1, + anon_sym_bitor, + ACTIONS(8060), 1, + anon_sym_bitand, + ACTIONS(8649), 1, + anon_sym_RPAREN, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(8030), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(8032), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(8036), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8038), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8042), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8052), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8046), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8048), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [178157] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5725), 1, + sym_literal_suffix, + ACTIONS(3773), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5952), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5954), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178248] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8658), 1, + anon_sym_requires, + STATE(4942), 1, + sym_ref_qualifier, + STATE(5798), 1, + sym__function_attributes_end, + STATE(5933), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5258), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [178330] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8661), 1, + anon_sym_LT, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(4610), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4617), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [178380] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8663), 1, + anon_sym___attribute__, + STATE(4740), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(8381), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(8379), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [178428] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6055), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6057), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178472] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8666), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(8668), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5778), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5780), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178520] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6594), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4919), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7794), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [178596] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5898), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5900), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178640] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3501), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178684] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(4676), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5076), 1, + anon_sym_LPAREN2, + ACTIONS(5079), 1, + anon_sym_LBRACK, + ACTIONS(3773), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3765), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [178736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5902), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5904), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178780] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + ACTIONS(8670), 1, + anon_sym_LBRACE, + ACTIONS(8672), 1, + anon_sym_COLON, + STATE(4859), 1, + sym__enum_base_clause, + STATE(4944), 1, + sym_enumerator_list, + STATE(5209), 1, + sym_attribute_specifier, + ACTIONS(5790), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5792), 28, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [178836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6015), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6017), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6091), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6093), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5956), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5958), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [178968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5997), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5999), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179012] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1811), 1, + anon_sym_enum, + ACTIONS(1813), 1, + anon_sym_class, + ACTIONS(1815), 1, + anon_sym_struct, + ACTIONS(1817), 1, + anon_sym_union, + ACTIONS(1845), 1, + anon_sym_typename, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2867), 1, + sym_primitive_type, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(8674), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8678), 1, + anon_sym_EQ, + STATE(2495), 1, + sym_type_specifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2520), 1, + sym_decltype_auto, + STATE(3126), 1, + sym_qualified_type_identifier, + STATE(3183), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + ACTIONS(8676), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [179102] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6134), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [179176] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(3789), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5032), 28, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [179226] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(4827), 1, + sym_enumerator_list, + STATE(4843), 1, + sym_attribute_specifier, + ACTIONS(5476), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5478), 29, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [179278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5894), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5896), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179322] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5874), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5876), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179366] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6005), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6007), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179410] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8674), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8678), 1, + anon_sym_EQ, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3527), 1, + sym_identifier, + STATE(5490), 1, + sym_ms_declspec_modifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(8676), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5519), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5175), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [179506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6069), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6071), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5940), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5942), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179594] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(2770), 1, + sym_decltype_auto, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6598), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4928), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7768), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [179670] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8668), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5752), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5754), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179716] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6081), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6083), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [179760] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + ACTIONS(6266), 1, + anon_sym_LBRACK, + ACTIONS(6431), 1, + anon_sym_DOT, + ACTIONS(7724), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7994), 1, + anon_sym_SLASH, + ACTIONS(8000), 1, + anon_sym_PIPE, + ACTIONS(8004), 1, + anon_sym_AMP, + ACTIONS(8010), 1, + anon_sym_GT_EQ, + ACTIONS(8018), 1, + anon_sym_QMARK, + ACTIONS(8020), 1, + anon_sym_LT_EQ_GT, + ACTIONS(8022), 1, + anon_sym_bitor, + ACTIONS(8024), 1, + anon_sym_bitand, + STATE(2417), 1, + sym_argument_list, + STATE(2418), 1, + sym_subscript_argument_list, + ACTIONS(6433), 2, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + ACTIONS(7764), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(7990), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(7992), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(7996), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(7998), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(8002), 2, + anon_sym_CARET, + anon_sym_xor, + ACTIONS(8012), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(8006), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_not_eq, + ACTIONS(8008), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [179848] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + ACTIONS(4617), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(4610), 28, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_COLON, + sym__identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [179898] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6108), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [179972] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6001), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6003), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180016] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4979), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [180060] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6035), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6037), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180104] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6065), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6067), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180148] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(2771), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180192] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6059), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6061), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180236] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6193), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [180310] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6482), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6196), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [180380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6019), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6021), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180424] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6543), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [180498] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8661), 1, + anon_sym_LT, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(5032), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3789), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [180548] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6554), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [180622] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(4925), 1, + sym_ref_qualifier, + STATE(5782), 1, + sym__function_attributes_end, + STATE(5954), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5260), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [180704] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(4610), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(4617), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [180754] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + ACTIONS(8670), 1, + anon_sym_LBRACE, + ACTIONS(8672), 1, + anon_sym_COLON, + STATE(4836), 1, + sym__enum_base_clause, + STATE(4924), 1, + sym_enumerator_list, + STATE(5112), 1, + sym_attribute_specifier, + ACTIONS(5772), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5774), 28, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [180810] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5944), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5946), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180854] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(5032), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3789), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_or, + anon_sym_and, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [180904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3773), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3765), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [180948] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(4816), 1, + sym_enumerator_list, + STATE(4889), 1, + sym_attribute_specifier, + ACTIONS(5453), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5455), 29, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [181000] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6023), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6025), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181044] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(6380), 1, + sym_auto, + ACTIONS(6382), 1, + anon_sym_decltype, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(2770), 1, + sym_decltype_auto, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6588), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4921), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7794), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [181120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5890), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5892), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5886), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5888), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181208] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6039), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6041), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5870), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5872), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181296] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6469), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7885), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [181366] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6031), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(6033), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181410] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5984), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5986), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181454] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6573), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4936), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7768), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [181530] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5972), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5974), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181574] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5878), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5880), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181618] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5882), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5884), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5980), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5982), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181706] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(4987), 1, + sym_literal_suffix, + ACTIONS(3773), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DOT, + ACTIONS(3765), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [181754] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6488), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5416), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [181824] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5924), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5926), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5960), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5962), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181912] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5928), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5930), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [181956] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6555), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(2562), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + ACTIONS(2556), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [182030] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5993), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(5995), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + anon_sym_GT2, + [182074] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6485), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7881), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [182144] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(4636), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8563), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [182192] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6500), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6196), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [182261] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4844), 1, + sym_attribute_specifier, + ACTIONS(5590), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5592), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182308] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4841), 1, + sym_attribute_specifier, + ACTIONS(5540), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5542), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182355] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4869), 1, + sym_attribute_specifier, + ACTIONS(5614), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5616), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2677), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(2679), 32, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [182445] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4837), 1, + sym_attribute_specifier, + ACTIONS(5496), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5498), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182492] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4873), 1, + sym_attribute_specifier, + ACTIONS(5635), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5637), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182539] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4877), 1, + sym_attribute_specifier, + ACTIONS(5639), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5641), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182586] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(4972), 1, + sym_ref_qualifier, + STATE(5748), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5279), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [182667] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4892), 1, + sym_attribute_specifier, + ACTIONS(5530), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5532), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182714] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4865), 1, + sym_attribute_specifier, + ACTIONS(5631), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5633), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182761] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8661), 1, + anon_sym_LT, + STATE(2394), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2585), 1, + sym_template_argument_list, + ACTIONS(3763), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4695), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [182814] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7804), 1, + sym_auto, + ACTIONS(7806), 1, + anon_sym_decltype, + STATE(4905), 1, + sym_decltype_auto, + ACTIONS(5000), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5002), 29, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [182863] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5217), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5219), 32, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [182906] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6496), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7881), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [182975] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5064), 1, + sym_ref_qualifier, + STATE(5659), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5271), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [183056] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4881), 1, + sym_attribute_specifier, + ACTIONS(5548), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5550), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183103] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4899), 1, + sym_attribute_specifier, + ACTIONS(5645), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5647), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183150] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4849), 1, + sym_attribute_specifier, + ACTIONS(5586), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5588), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183197] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + STATE(4867), 1, + sym_attribute_specifier, + ACTIONS(5582), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5584), 30, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183244] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6505), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7885), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [183313] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_const, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(4815), 1, + sym_alignas_qualifier, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6495), 1, + sym__abstract_declarator, + ACTIONS(6868), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4543), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(6858), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [183382] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3825), 1, + anon_sym_SEMI, + ACTIONS(3773), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3765), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_or, + anon_sym_and, + anon_sym_bitor, + anon_sym_xor, + anon_sym_bitand, + anon_sym_not_eq, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT, + [183427] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6430), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6196), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [183495] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5134), 1, + sym_ref_qualifier, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5745), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5310), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [183575] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + ACTIONS(8670), 1, + anon_sym_LBRACE, + STATE(4931), 1, + sym_enumerator_list, + STATE(5147), 1, + sym_attribute_specifier, + ACTIONS(5453), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5455), 28, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [183625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5018), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183667] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8698), 1, + anon_sym_COLON, + STATE(1859), 1, + sym_attribute_specifier, + STATE(4961), 1, + sym__enum_base_clause, + STATE(5243), 1, + sym_enumerator_list, + ACTIONS(5792), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5790), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [183721] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7794), 1, + anon_sym_COLON, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(1814), 1, + sym_decltype_auto, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6704), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5192), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [183795] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4088), 1, + sym_type_specifier, + STATE(4974), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [183881] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5289), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [183923] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(4317), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3763), 4, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_COLON, + ACTIONS(7879), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3771), 22, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [183975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5074), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5070), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184059] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5103), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184101] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5123), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184143] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5107), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184185] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5215), 1, + sym_ref_qualifier, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5893), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5299), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [184265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5111), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5325), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184349] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(8716), 1, + sym_primitive_type, + ACTIONS(8718), 1, + anon_sym_enum, + ACTIONS(8720), 1, + anon_sym_class, + ACTIONS(8722), 1, + anon_sym_struct, + ACTIONS(8724), 1, + anon_sym_union, + ACTIONS(8726), 1, + sym_auto, + ACTIONS(8728), 1, + anon_sym_decltype, + ACTIONS(8730), 1, + anon_sym_typename, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2637), 1, + sym_identifier, + STATE(2887), 1, + sym_type_specifier, + STATE(3458), 1, + sym_qualified_type_identifier, + STATE(3493), 1, + sym_decltype_auto, + STATE(4993), 1, + sym_argument_list, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(3235), 2, + sym_decltype, + sym_template_type, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3485), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184435] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(8736), 1, + sym_primitive_type, + ACTIONS(8738), 1, + anon_sym_enum, + ACTIONS(8740), 1, + anon_sym_class, + ACTIONS(8742), 1, + anon_sym_struct, + ACTIONS(8744), 1, + anon_sym_union, + ACTIONS(8746), 1, + sym_auto, + ACTIONS(8748), 1, + anon_sym_decltype, + ACTIONS(8750), 1, + anon_sym_typename, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3181), 1, + sym_identifier, + STATE(3769), 1, + sym_type_specifier, + STATE(4050), 1, + sym_decltype_auto, + STATE(5025), 1, + sym_argument_list, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4033), 2, + sym_decltype, + sym_template_type, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4052), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184521] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(8756), 1, + sym_primitive_type, + ACTIONS(8758), 1, + anon_sym_enum, + ACTIONS(8760), 1, + anon_sym_class, + ACTIONS(8762), 1, + anon_sym_struct, + ACTIONS(8764), 1, + anon_sym_union, + ACTIONS(8766), 1, + sym_auto, + ACTIONS(8768), 1, + anon_sym_decltype, + ACTIONS(8770), 1, + anon_sym_typename, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2499), 1, + sym_identifier, + STATE(2646), 1, + sym_type_specifier, + STATE(2999), 1, + sym_decltype_auto, + STATE(3007), 1, + sym_qualified_type_identifier, + STATE(4971), 1, + sym_argument_list, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2903), 2, + sym_decltype, + sym_template_type, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3000), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184607] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8772), 1, + anon_sym_enum, + ACTIONS(8774), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3437), 1, + sym_identifier, + STATE(4088), 1, + sym_type_specifier, + STATE(5042), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184693] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5139), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184735] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5131), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [184777] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(8756), 1, + sym_primitive_type, + ACTIONS(8758), 1, + anon_sym_enum, + ACTIONS(8760), 1, + anon_sym_class, + ACTIONS(8762), 1, + anon_sym_struct, + ACTIONS(8764), 1, + anon_sym_union, + ACTIONS(8766), 1, + sym_auto, + ACTIONS(8768), 1, + anon_sym_decltype, + ACTIONS(8770), 1, + anon_sym_typename, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2499), 1, + sym_identifier, + STATE(2630), 1, + sym_type_specifier, + STATE(2999), 1, + sym_decltype_auto, + STATE(3007), 1, + sym_qualified_type_identifier, + STATE(4986), 1, + sym_argument_list, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2903), 2, + sym_decltype, + sym_template_type, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3000), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184863] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(8780), 1, + sym_primitive_type, + ACTIONS(8782), 1, + anon_sym_enum, + ACTIONS(8784), 1, + anon_sym_class, + ACTIONS(8786), 1, + anon_sym_struct, + ACTIONS(8788), 1, + anon_sym_union, + ACTIONS(8790), 1, + sym_auto, + ACTIONS(8792), 1, + anon_sym_decltype, + ACTIONS(8794), 1, + anon_sym_typename, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2537), 1, + sym_identifier, + STATE(2716), 1, + sym_type_specifier, + STATE(3045), 1, + sym_qualified_type_identifier, + STATE(3101), 1, + sym_decltype_auto, + STATE(4994), 1, + sym_argument_list, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2977), 2, + sym_decltype, + sym_template_type, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3102), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [184949] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + ACTIONS(8670), 1, + anon_sym_LBRACE, + STATE(4946), 1, + sym_enumerator_list, + STATE(5120), 1, + sym_attribute_specifier, + ACTIONS(5476), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5478), 28, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [184999] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4001), 1, + sym_type_specifier, + STATE(5063), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [185085] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5201), 1, + sym_ref_qualifier, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5732), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5314), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [185165] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5193), 1, + sym_ref_qualifier, + STATE(5696), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5317), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [185245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5345), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185287] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8799), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(5824), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5826), 29, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [185331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5341), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185373] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8808), 1, + anon_sym_enum, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8820), 1, + anon_sym_typename, + STATE(1791), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4973), 1, + sym_argument_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [185459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5115), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185501] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8824), 1, + anon_sym_enum, + ACTIONS(8826), 1, + anon_sym_typename, + STATE(1804), 1, + sym_type_specifier, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(5026), 1, + sym_argument_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [185587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5026), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185629] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7637), 1, + sym_auto, + ACTIONS(7639), 1, + anon_sym_decltype, + ACTIONS(7768), 1, + anon_sym_COLON, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(1814), 1, + sym_decltype_auto, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6722), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5169), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [185703] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8834), 1, + sym_primitive_type, + ACTIONS(8836), 1, + anon_sym_enum, + ACTIONS(8838), 1, + anon_sym_class, + ACTIONS(8840), 1, + anon_sym_struct, + ACTIONS(8842), 1, + anon_sym_union, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(8846), 1, + anon_sym_typename, + STATE(1791), 1, + sym_type_specifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2010), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(5046), 1, + sym_argument_list, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [185789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5084), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5337), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5171), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185915] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8848), 1, + anon_sym_COLON, + STATE(2547), 1, + sym_attribute_specifier, + STATE(3851), 1, + sym__enum_base_clause, + STATE(3967), 1, + sym_enumerator_list, + ACTIONS(5772), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5774), 25, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [185969] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5285), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5271), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5030), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186095] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(8736), 1, + sym_primitive_type, + ACTIONS(8738), 1, + anon_sym_enum, + ACTIONS(8740), 1, + anon_sym_class, + ACTIONS(8742), 1, + anon_sym_struct, + ACTIONS(8744), 1, + anon_sym_union, + ACTIONS(8746), 1, + sym_auto, + ACTIONS(8748), 1, + anon_sym_decltype, + ACTIONS(8750), 1, + anon_sym_typename, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3181), 1, + sym_identifier, + STATE(3809), 1, + sym_type_specifier, + STATE(4050), 1, + sym_decltype_auto, + STATE(5028), 1, + sym_argument_list, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4033), 2, + sym_decltype, + sym_template_type, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4052), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [186181] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5267), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186223] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5263), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186265] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4106), 1, + sym_type_specifier, + STATE(4964), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [186351] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5107), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5127), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186435] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(8848), 1, + anon_sym_COLON, + STATE(2522), 1, + sym_attribute_specifier, + STATE(3890), 1, + sym__enum_base_clause, + STATE(3958), 1, + sym_enumerator_list, + ACTIONS(5790), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5792), 25, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186489] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6458), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [186557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5171), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186599] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8698), 1, + anon_sym_COLON, + STATE(1736), 1, + sym_attribute_specifier, + STATE(4957), 1, + sym__enum_base_clause, + STATE(5239), 1, + sym_enumerator_list, + ACTIONS(5774), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5772), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [186653] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5259), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186695] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6535), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6196), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [186763] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6539), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7881), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [186831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5195), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [186873] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(8716), 1, + sym_primitive_type, + ACTIONS(8718), 1, + anon_sym_enum, + ACTIONS(8720), 1, + anon_sym_class, + ACTIONS(8722), 1, + anon_sym_struct, + ACTIONS(8724), 1, + anon_sym_union, + ACTIONS(8726), 1, + sym_auto, + ACTIONS(8728), 1, + anon_sym_decltype, + ACTIONS(8730), 1, + anon_sym_typename, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2637), 1, + sym_identifier, + STATE(2921), 1, + sym_type_specifier, + STATE(3458), 1, + sym_qualified_type_identifier, + STATE(3493), 1, + sym_decltype_auto, + STATE(5033), 1, + sym_argument_list, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(3235), 2, + sym_decltype, + sym_template_type, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3485), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [186959] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(5213), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5461), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5459), 25, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [187009] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5235), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187051] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5022), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187093] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8808), 1, + anon_sym_enum, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8820), 1, + anon_sym_typename, + STATE(1804), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4992), 1, + sym_argument_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [187179] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5154), 1, + sym_ref_qualifier, + STATE(5671), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5303), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [187259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5211), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187301] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5191), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5203), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187385] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8834), 1, + sym_primitive_type, + ACTIONS(8836), 1, + anon_sym_enum, + ACTIONS(8838), 1, + anon_sym_class, + ACTIONS(8840), 1, + anon_sym_struct, + ACTIONS(8842), 1, + anon_sym_union, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(8846), 1, + anon_sym_typename, + STATE(1804), 1, + sym_type_specifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2010), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(5044), 1, + sym_argument_list, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [187471] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(4460), 1, + sym_alignas_qualifier, + ACTIONS(8853), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4903), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7972), 6, + anon_sym_AMP, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + ACTIONS(7970), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_EQ, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(8850), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [187521] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6541), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [187589] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5164), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187631] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + ACTIONS(7875), 1, + anon_sym_const, + STATE(3919), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6557), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7885), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [187699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5014), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187741] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(7370), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(8858), 1, + anon_sym_enum, + ACTIONS(8860), 1, + anon_sym_class, + ACTIONS(8862), 1, + anon_sym_struct, + ACTIONS(8864), 1, + anon_sym_union, + ACTIONS(8866), 1, + anon_sym_typename, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4018), 1, + sym_identifier, + STATE(4136), 1, + sym_type_specifier, + STATE(5060), 1, + sym_argument_list, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [187827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5171), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [187869] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8772), 1, + anon_sym_enum, + ACTIONS(8774), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3437), 1, + sym_identifier, + STATE(4106), 1, + sym_type_specifier, + STATE(5029), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [187955] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5125), 1, + sym_ref_qualifier, + STATE(5772), 1, + sym_trailing_return_type, + STATE(5841), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5295), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [188035] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8824), 1, + anon_sym_enum, + ACTIONS(8826), 1, + anon_sym_typename, + STATE(1791), 1, + sym_type_specifier, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(4996), 1, + sym_argument_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [188121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5119), 31, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [188163] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(8780), 1, + sym_primitive_type, + ACTIONS(8782), 1, + anon_sym_enum, + ACTIONS(8784), 1, + anon_sym_class, + ACTIONS(8786), 1, + anon_sym_struct, + ACTIONS(8788), 1, + anon_sym_union, + ACTIONS(8790), 1, + sym_auto, + ACTIONS(8792), 1, + anon_sym_decltype, + ACTIONS(8794), 1, + anon_sym_typename, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2537), 1, + sym_identifier, + STATE(2725), 1, + sym_type_specifier, + STATE(3045), 1, + sym_qualified_type_identifier, + STATE(3101), 1, + sym_decltype_auto, + STATE(4982), 1, + sym_argument_list, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2977), 2, + sym_decltype, + sym_template_type, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3102), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [188249] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5133), 1, + sym_ref_qualifier, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5881), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5309), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [188329] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5116), 1, + sym_ref_qualifier, + STATE(5773), 1, + sym_trailing_return_type, + STATE(5860), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5302), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [188409] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(7370), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(8858), 1, + anon_sym_enum, + ACTIONS(8860), 1, + anon_sym_class, + ACTIONS(8862), 1, + anon_sym_struct, + ACTIONS(8864), 1, + anon_sym_union, + ACTIONS(8866), 1, + anon_sym_typename, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4018), 1, + sym_identifier, + STATE(4137), 1, + sym_type_specifier, + STATE(5077), 1, + sym_argument_list, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [188495] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(3993), 1, + sym_type_specifier, + STATE(5092), 1, + sym_argument_list, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [188581] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6596), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7881), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [188648] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5207), 1, + sym_attribute_specifier, + ACTIONS(5639), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5641), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [188693] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6585), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7881), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [188760] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(8868), 1, + anon_sym_COLON, + STATE(2580), 1, + sym__enum_base_clause, + STATE(2696), 1, + sym_enumerator_list, + STATE(2778), 1, + sym_attribute_specifier, + ACTIONS(5790), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5792), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [188813] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5114), 1, + sym_attribute_specifier, + ACTIONS(5645), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5647), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [188858] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5145), 1, + sym_attribute_specifier, + ACTIONS(5530), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5532), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [188903] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5791), 1, + sym__function_attributes_end, + STATE(5980), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5265), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [188976] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5782), 1, + sym__function_attributes_end, + STATE(5954), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5260), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [189049] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6586), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [189116] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6624), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7885), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [189183] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6589), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6196), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [189250] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5176), 1, + sym_attribute_specifier, + ACTIONS(5540), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5542), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [189295] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5174), 1, + sym_attribute_specifier, + ACTIONS(5496), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5498), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [189340] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5161), 1, + sym_attribute_specifier, + ACTIONS(5631), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5633), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [189385] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5235), 1, + sym_ref_qualifier, + STATE(6000), 1, + sym__function_attributes_end, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5322), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [189464] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5244), 1, + sym_ref_qualifier, + STATE(5924), 1, + sym__function_attributes_end, + STATE(6203), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5332), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [189543] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8658), 1, + anon_sym_requires, + STATE(5798), 1, + sym__function_attributes_end, + STATE(5933), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5258), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [189616] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6608), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7885), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [189683] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5156), 1, + sym_attribute_specifier, + ACTIONS(5635), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5637), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [189728] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5189), 1, + sym_attribute_specifier, + ACTIONS(5614), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5616), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [189773] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6626), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(6196), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [189840] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8874), 1, + anon_sym_COLON, + STATE(1859), 1, + sym_attribute_specifier, + STATE(2362), 1, + sym__enum_base_clause, + STATE(2413), 1, + sym_enumerator_list, + ACTIONS(5790), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5792), 25, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [189893] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5908), 1, + anon_sym___attribute__, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(8868), 1, + anon_sym_COLON, + STATE(2618), 1, + sym__enum_base_clause, + STATE(2665), 1, + sym_enumerator_list, + STATE(2813), 1, + sym_attribute_specifier, + ACTIONS(5772), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5774), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [189946] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8879), 1, + anon_sym_requires, + STATE(5801), 1, + sym__function_attributes_end, + STATE(5944), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5267), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [190019] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7972), 1, + anon_sym_AMP, + ACTIONS(8850), 1, + anon_sym_const, + STATE(4460), 1, + sym_alignas_qualifier, + ACTIONS(8885), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(8882), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(7970), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [190070] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5118), 1, + sym_attribute_specifier, + ACTIONS(5590), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5592), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [190115] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8874), 1, + anon_sym_COLON, + STATE(1736), 1, + sym_attribute_specifier, + STATE(2372), 1, + sym__enum_base_clause, + STATE(2442), 1, + sym_enumerator_list, + ACTIONS(5772), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5774), 25, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [190168] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5152), 1, + sym_attribute_specifier, + ACTIONS(5548), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5550), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [190213] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_const, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(4460), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6583), 1, + sym__abstract_declarator, + ACTIONS(7523), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4943), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(5416), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7515), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [190280] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(5240), 1, + sym_ref_qualifier, + STATE(6056), 1, + sym__function_attributes_end, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5327), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [190359] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5124), 1, + sym_attribute_specifier, + ACTIONS(5586), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5588), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [190404] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8611), 1, + anon_sym___attribute__, + STATE(5127), 1, + sym_attribute_specifier, + ACTIONS(5582), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5584), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [190449] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8891), 1, + anon_sym_requires, + STATE(5241), 1, + sym_ref_qualifier, + STATE(5968), 1, + sym__function_attributes_end, + STATE(6107), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5331), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [190528] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8894), 1, + sym__identifier, + ACTIONS(8900), 1, + sym_primitive_type, + ACTIONS(8903), 1, + sym_grit_metavariable, + STATE(5171), 1, + sym_identifier, + STATE(5191), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5038), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + ACTIONS(8897), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5040), 19, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + [190580] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2809), 1, + sym__class_declaration, + STATE(2818), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(5483), 1, + sym_ms_declspec_modifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5484), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5148), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [190666] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2873), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [190752] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2873), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [190838] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2873), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [190924] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + STATE(1857), 1, + sym_attribute_specifier, + STATE(5228), 1, + sym_enumerator_list, + ACTIONS(5455), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5453), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [190972] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8824), 1, + anon_sym_enum, + ACTIONS(8826), 1, + anon_sym_typename, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1982), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191052] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(8736), 1, + sym_primitive_type, + ACTIONS(8738), 1, + anon_sym_enum, + ACTIONS(8740), 1, + anon_sym_class, + ACTIONS(8742), 1, + anon_sym_struct, + ACTIONS(8744), 1, + anon_sym_union, + ACTIONS(8746), 1, + sym_auto, + ACTIONS(8748), 1, + anon_sym_decltype, + ACTIONS(8750), 1, + anon_sym_typename, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3181), 1, + sym_identifier, + STATE(4002), 1, + sym_type_specifier, + STATE(4050), 1, + sym_decltype_auto, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4033), 2, + sym_decltype, + sym_template_type, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4052), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191132] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(7370), 1, + sym_primitive_type, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(8858), 1, + anon_sym_enum, + ACTIONS(8860), 1, + anon_sym_class, + ACTIONS(8862), 1, + anon_sym_struct, + ACTIONS(8864), 1, + anon_sym_union, + ACTIONS(8866), 1, + anon_sym_typename, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2709), 1, + sym_type_specifier, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4018), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191212] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + STATE(1759), 1, + sym_attribute_specifier, + STATE(5236), 1, + sym_enumerator_list, + ACTIONS(5478), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5476), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [191260] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8834), 1, + sym_primitive_type, + ACTIONS(8836), 1, + anon_sym_enum, + ACTIONS(8838), 1, + anon_sym_class, + ACTIONS(8840), 1, + anon_sym_struct, + ACTIONS(8842), 1, + anon_sym_union, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(8846), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1982), 1, + sym_type_specifier, + STATE(2010), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191340] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5014), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [191382] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4080), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191462] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2474), 1, + anon_sym_enum, + ACTIONS(2476), 1, + anon_sym_class, + ACTIONS(2478), 1, + anon_sym_struct, + ACTIONS(2480), 1, + anon_sym_union, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(2510), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(7370), 1, + sym_primitive_type, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2709), 1, + sym_type_specifier, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4822), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191542] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2215), 1, + sym__class_declaration_item, + STATE(2241), 1, + sym__class_declaration, + STATE(5432), 1, + sym_ms_declspec_modifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5433), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5172), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [191628] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2212), 1, + sym__class_declaration, + STATE(2215), 1, + sym__class_declaration_item, + STATE(5432), 1, + sym_ms_declspec_modifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5433), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5172), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [191714] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2208), 1, + sym__class_declaration, + STATE(2215), 1, + sym__class_declaration_item, + STATE(5432), 1, + sym_ms_declspec_modifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5433), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5172), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [191800] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5004), 1, + sym_auto, + ACTIONS(5006), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5251), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(8908), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(8906), 8, + anon_sym_AMP, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [191854] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(6746), 1, + sym_type_specifier, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [191934] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(8756), 1, + sym_primitive_type, + ACTIONS(8758), 1, + anon_sym_enum, + ACTIONS(8760), 1, + anon_sym_class, + ACTIONS(8762), 1, + anon_sym_struct, + ACTIONS(8764), 1, + anon_sym_union, + ACTIONS(8766), 1, + sym_auto, + ACTIONS(8768), 1, + anon_sym_decltype, + ACTIONS(8770), 1, + anon_sym_typename, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2499), 1, + sym_identifier, + STATE(2686), 1, + sym_type_specifier, + STATE(2999), 1, + sym_decltype_auto, + STATE(3007), 1, + sym_qualified_type_identifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2903), 2, + sym_decltype, + sym_template_type, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3000), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [192014] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8910), 1, + anon_sym___attribute__, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + STATE(5747), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5284), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [192086] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8808), 1, + anon_sym_enum, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8820), 1, + anon_sym_typename, + STATE(1745), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [192166] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4131), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [192246] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + STATE(5213), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3771), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(8916), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3763), 20, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [192296] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2831), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [192382] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(7442), 1, + anon_sym_enum, + ACTIONS(7444), 1, + anon_sym_class, + ACTIONS(7446), 1, + anon_sym_struct, + ACTIONS(7448), 1, + anon_sym_union, + ACTIONS(7450), 1, + anon_sym_typename, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4185), 1, + sym_identifier, + STATE(4823), 1, + sym_type_specifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [192462] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2831), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [192548] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2831), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [192634] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5835), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7312), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [192710] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2783), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [192796] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(8780), 1, + sym_primitive_type, + ACTIONS(8782), 1, + anon_sym_enum, + ACTIONS(8784), 1, + anon_sym_class, + ACTIONS(8786), 1, + anon_sym_struct, + ACTIONS(8788), 1, + anon_sym_union, + ACTIONS(8790), 1, + sym_auto, + ACTIONS(8792), 1, + anon_sym_decltype, + ACTIONS(8794), 1, + anon_sym_typename, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2537), 1, + sym_identifier, + STATE(2708), 1, + sym_type_specifier, + STATE(3045), 1, + sym_qualified_type_identifier, + STATE(3101), 1, + sym_decltype_auto, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2977), 2, + sym_decltype, + sym_template_type, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3102), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [192876] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2783), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [192962] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4996), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4998), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [193002] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2783), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193088] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(8756), 1, + sym_primitive_type, + ACTIONS(8758), 1, + anon_sym_enum, + ACTIONS(8760), 1, + anon_sym_class, + ACTIONS(8762), 1, + anon_sym_struct, + ACTIONS(8764), 1, + anon_sym_union, + ACTIONS(8766), 1, + sym_auto, + ACTIONS(8768), 1, + anon_sym_decltype, + ACTIONS(8770), 1, + anon_sym_typename, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2499), 1, + sym_identifier, + STATE(2659), 1, + sym_type_specifier, + STATE(2999), 1, + sym_decltype_auto, + STATE(3007), 1, + sym_qualified_type_identifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2903), 2, + sym_decltype, + sym_template_type, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3000), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193168] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(67), 1, + anon_sym_enum, + ACTIONS(69), 1, + anon_sym_class, + ACTIONS(71), 1, + anon_sym_struct, + ACTIONS(73), 1, + anon_sym_union, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(129), 1, + anon_sym_typename, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2867), 1, + sym_primitive_type, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + STATE(2495), 1, + sym_type_specifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2520), 1, + sym_decltype_auto, + STATE(2928), 1, + sym_identifier, + STATE(3126), 1, + sym_qualified_type_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193248] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1785), 1, + sym__class_declaration, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(5458), 1, + sym_ms_declspec_modifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5461), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5177), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193334] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193420] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193506] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193592] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8808), 1, + anon_sym_enum, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8820), 1, + anon_sym_typename, + STATE(1771), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193672] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(8716), 1, + sym_primitive_type, + ACTIONS(8718), 1, + anon_sym_enum, + ACTIONS(8720), 1, + anon_sym_class, + ACTIONS(8722), 1, + anon_sym_struct, + ACTIONS(8724), 1, + anon_sym_union, + ACTIONS(8726), 1, + sym_auto, + ACTIONS(8728), 1, + anon_sym_decltype, + ACTIONS(8730), 1, + anon_sym_typename, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2637), 1, + sym_identifier, + STATE(2890), 1, + sym_type_specifier, + STATE(3458), 1, + sym_qualified_type_identifier, + STATE(3493), 1, + sym_decltype_auto, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(3235), 2, + sym_decltype, + sym_template_type, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3485), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193752] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(8780), 1, + sym_primitive_type, + ACTIONS(8782), 1, + anon_sym_enum, + ACTIONS(8784), 1, + anon_sym_class, + ACTIONS(8786), 1, + anon_sym_struct, + ACTIONS(8788), 1, + anon_sym_union, + ACTIONS(8790), 1, + sym_auto, + ACTIONS(8792), 1, + anon_sym_decltype, + ACTIONS(8794), 1, + anon_sym_typename, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2537), 1, + sym_identifier, + STATE(2706), 1, + sym_type_specifier, + STATE(3045), 1, + sym_qualified_type_identifier, + STATE(3101), 1, + sym_decltype_auto, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2977), 2, + sym_decltype, + sym_template_type, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3102), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193832] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2852), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [193918] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8824), 1, + anon_sym_enum, + ACTIONS(8826), 1, + anon_sym_typename, + STATE(1745), 1, + sym_type_specifier, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [193998] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2803), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194084] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2852), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194170] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1747), 1, + anon_sym_enum, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(1783), 1, + anon_sym_typename, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1727), 1, + sym_type_specifier, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(4696), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [194250] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1749), 1, + anon_sym_class, + ACTIONS(1751), 1, + anon_sym_struct, + ACTIONS(1753), 1, + anon_sym_union, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7348), 1, + anon_sym_enum, + ACTIONS(7350), 1, + anon_sym_typename, + STATE(1727), 1, + sym_type_specifier, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4696), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [194330] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2852), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194416] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2776), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194502] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2803), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194588] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2776), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194674] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5916), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7420), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [194750] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2776), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [194836] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7816), 1, + sym_auto, + ACTIONS(7818), 1, + anon_sym_decltype, + STATE(5110), 1, + sym_decltype_auto, + ACTIONS(5000), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5002), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [194882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5285), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [194922] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5235), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [194962] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1811), 1, + anon_sym_enum, + ACTIONS(1813), 1, + anon_sym_class, + ACTIONS(1815), 1, + anon_sym_struct, + ACTIONS(1817), 1, + anon_sym_union, + ACTIONS(1845), 1, + anon_sym_typename, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2867), 1, + sym_primitive_type, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + STATE(2495), 1, + sym_type_specifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2520), 1, + sym_decltype_auto, + STATE(3077), 1, + sym_identifier, + STATE(3126), 1, + sym_qualified_type_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [195042] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5447), 1, + sym_ms_declspec_modifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5448), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5151), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195128] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5447), 1, + sym_ms_declspec_modifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5448), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5151), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195214] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(5490), 1, + sym_ms_declspec_modifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5519), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5175), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195300] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8772), 1, + anon_sym_enum, + ACTIONS(8774), 1, + anon_sym_typename, + STATE(1727), 1, + sym_type_specifier, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3437), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [195380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5028), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5030), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [195420] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(5490), 1, + sym_ms_declspec_modifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5519), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5175), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195506] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(5490), 1, + sym_ms_declspec_modifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5519), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5175), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195592] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5447), 1, + sym_ms_declspec_modifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5448), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5151), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195678] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5103), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [195718] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(8920), 1, + anon_sym_LPAREN2, + STATE(2449), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3716), 1, + sym_argument_list, + STATE(4791), 1, + sym_initializer_list, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5922), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [195770] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(5603), 1, + sym__scope_resolution, + STATE(5799), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7302), 1, + sym_init_declarator, + STATE(7902), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [195846] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2803), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [195932] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5191), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [195972] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5913), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7436), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [196048] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(8736), 1, + sym_primitive_type, + ACTIONS(8738), 1, + anon_sym_enum, + ACTIONS(8740), 1, + anon_sym_class, + ACTIONS(8742), 1, + anon_sym_struct, + ACTIONS(8744), 1, + anon_sym_union, + ACTIONS(8746), 1, + sym_auto, + ACTIONS(8748), 1, + anon_sym_decltype, + ACTIONS(8750), 1, + anon_sym_typename, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3181), 1, + sym_identifier, + STATE(3801), 1, + sym_type_specifier, + STATE(4050), 1, + sym_decltype_auto, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4033), 2, + sym_decltype, + sym_template_type, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4052), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196128] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8824), 1, + anon_sym_enum, + ACTIONS(8826), 1, + anon_sym_typename, + STATE(1771), 1, + sym_type_specifier, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196208] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5834), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7302), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [196284] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(8736), 1, + sym_primitive_type, + ACTIONS(8738), 1, + anon_sym_enum, + ACTIONS(8740), 1, + anon_sym_class, + ACTIONS(8742), 1, + anon_sym_struct, + ACTIONS(8744), 1, + anon_sym_union, + ACTIONS(8746), 1, + sym_auto, + ACTIONS(8748), 1, + anon_sym_decltype, + ACTIONS(8750), 1, + anon_sym_typename, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3181), 1, + sym_identifier, + STATE(3766), 1, + sym_type_specifier, + STATE(4050), 1, + sym_decltype_auto, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4033), 2, + sym_decltype, + sym_template_type, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4052), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196364] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8772), 1, + anon_sym_enum, + ACTIONS(8774), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3437), 1, + sym_identifier, + STATE(4080), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196444] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1781), 1, + sym__class_declaration, + STATE(1782), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(5518), 1, + sym_ms_declspec_modifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5521), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5168), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [196530] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1784), 1, + sym__class_declaration, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(5518), 1, + sym_ms_declspec_modifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5521), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5168), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [196616] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1727), 1, + sym_type_specifier, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196696] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(8716), 1, + sym_primitive_type, + ACTIONS(8718), 1, + anon_sym_enum, + ACTIONS(8720), 1, + anon_sym_class, + ACTIONS(8722), 1, + anon_sym_struct, + ACTIONS(8724), 1, + anon_sym_union, + ACTIONS(8726), 1, + sym_auto, + ACTIONS(8728), 1, + anon_sym_decltype, + ACTIONS(8730), 1, + anon_sym_typename, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2637), 1, + sym_identifier, + STATE(2901), 1, + sym_type_specifier, + STATE(3458), 1, + sym_qualified_type_identifier, + STATE(3493), 1, + sym_decltype_auto, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(3235), 2, + sym_decltype, + sym_template_type, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3485), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [196776] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2208), 1, + sym__class_declaration, + STATE(2215), 1, + sym__class_declaration_item, + STATE(5506), 1, + sym_ms_declspec_modifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5503), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5173), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [196862] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2212), 1, + sym__class_declaration, + STATE(2215), 1, + sym__class_declaration_item, + STATE(5506), 1, + sym_ms_declspec_modifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5503), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5173), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [196948] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1785), 1, + sym__class_declaration, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(5518), 1, + sym_ms_declspec_modifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5521), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5168), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197034] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2215), 1, + sym__class_declaration_item, + STATE(2241), 1, + sym__class_declaration, + STATE(5506), 1, + sym_ms_declspec_modifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5503), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5173), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197120] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3575), 1, + anon_sym_COLON_COLON, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(3581), 1, + anon_sym_enum, + ACTIONS(3583), 1, + anon_sym_class, + ACTIONS(3585), 1, + anon_sym_struct, + ACTIONS(3587), 1, + anon_sym_union, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(3593), 1, + anon_sym_typename, + STATE(2495), 1, + sym_type_specifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(3812), 1, + sym_identifier, + STATE(4086), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6410), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(3577), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [197200] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2805), 1, + sym__class_declaration, + STATE(2818), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(5459), 1, + sym_ms_declspec_modifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5460), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5217), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197286] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2809), 1, + sym__class_declaration, + STATE(2818), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(5459), 1, + sym_ms_declspec_modifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5460), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5217), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197372] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2818), 1, + sym__class_declaration_item, + STATE(2844), 1, + sym__class_declaration, + STATE(4779), 1, + sym_identifier, + STATE(5459), 1, + sym_ms_declspec_modifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5460), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5217), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197458] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8772), 1, + anon_sym_enum, + ACTIONS(8774), 1, + anon_sym_typename, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3437), 1, + sym_identifier, + STATE(4131), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [197538] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(8756), 1, + sym_primitive_type, + ACTIONS(8758), 1, + anon_sym_enum, + ACTIONS(8760), 1, + anon_sym_class, + ACTIONS(8762), 1, + anon_sym_struct, + ACTIONS(8764), 1, + anon_sym_union, + ACTIONS(8766), 1, + sym_auto, + ACTIONS(8768), 1, + anon_sym_decltype, + ACTIONS(8770), 1, + anon_sym_typename, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2499), 1, + sym_identifier, + STATE(2918), 1, + sym_type_specifier, + STATE(2999), 1, + sym_decltype_auto, + STATE(3007), 1, + sym_qualified_type_identifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2903), 2, + sym_decltype, + sym_template_type, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3000), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [197618] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8834), 1, + sym_primitive_type, + ACTIONS(8836), 1, + anon_sym_enum, + ACTIONS(8838), 1, + anon_sym_class, + ACTIONS(8840), 1, + anon_sym_struct, + ACTIONS(8842), 1, + anon_sym_union, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(8846), 1, + anon_sym_typename, + STATE(1771), 1, + sym_type_specifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2010), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [197698] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4856), 1, + sym__class_declaration, + STATE(5522), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5517), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5202), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197784] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8834), 1, + sym_primitive_type, + ACTIONS(8836), 1, + anon_sym_enum, + ACTIONS(8838), 1, + anon_sym_class, + ACTIONS(8840), 1, + anon_sym_struct, + ACTIONS(8842), 1, + anon_sym_union, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(8846), 1, + anon_sym_typename, + STATE(1745), 1, + sym_type_specifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2010), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [197864] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1784), 1, + sym__class_declaration, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(5458), 1, + sym_ms_declspec_modifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5461), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5177), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [197950] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4884), 1, + sym__class_declaration, + STATE(5522), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5517), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5202), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198036] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1781), 1, + sym__class_declaration, + STATE(1782), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(5458), 1, + sym_ms_declspec_modifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5461), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5177), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198122] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4913), 1, + sym__class_declaration, + STATE(5522), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5517), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5202), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198208] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2867), 1, + sym_primitive_type, + ACTIONS(2869), 1, + anon_sym_enum, + ACTIONS(2871), 1, + anon_sym_class, + ACTIONS(2873), 1, + anon_sym_struct, + ACTIONS(2875), 1, + anon_sym_union, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(2879), 1, + anon_sym_typename, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + STATE(2495), 1, + sym_type_specifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2520), 1, + sym_decltype_auto, + STATE(2928), 1, + sym_identifier, + STATE(3126), 1, + sym_qualified_type_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [198288] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(2495), 1, + sym_type_specifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [198368] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3459), 1, + sym__class_declaration, + STATE(3479), 1, + sym__class_declaration_item, + STATE(5467), 1, + sym_ms_declspec_modifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5468), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5111), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198454] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5840), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7428), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [198530] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(8716), 1, + sym_primitive_type, + ACTIONS(8718), 1, + anon_sym_enum, + ACTIONS(8720), 1, + anon_sym_class, + ACTIONS(8722), 1, + anon_sym_struct, + ACTIONS(8724), 1, + anon_sym_union, + ACTIONS(8726), 1, + sym_auto, + ACTIONS(8728), 1, + anon_sym_decltype, + ACTIONS(8730), 1, + anon_sym_typename, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2637), 1, + sym_identifier, + STATE(3270), 1, + sym_type_specifier, + STATE(3458), 1, + sym_qualified_type_identifier, + STATE(3493), 1, + sym_decltype_auto, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(3235), 2, + sym_decltype, + sym_template_type, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3485), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [198610] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3446), 1, + sym__class_declaration, + STATE(3479), 1, + sym__class_declaration_item, + STATE(5467), 1, + sym_ms_declspec_modifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5468), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5111), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5323), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5325), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [198736] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3443), 1, + sym__class_declaration, + STATE(3479), 1, + sym__class_declaration_item, + STATE(5467), 1, + sym_ms_declspec_modifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5468), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5111), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [198822] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5253), 1, + sym_ref_qualifier, + STATE(6113), 1, + sym__function_attributes_end, + STATE(6307), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5339), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [198900] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(7370), 1, + sym_primitive_type, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(8858), 1, + anon_sym_enum, + ACTIONS(8860), 1, + anon_sym_class, + ACTIONS(8862), 1, + anon_sym_struct, + ACTIONS(8864), 1, + anon_sym_union, + ACTIONS(8866), 1, + anon_sym_typename, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4018), 1, + sym_identifier, + STATE(4148), 1, + sym_type_specifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [198980] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(7314), 1, + sym_primitive_type, + ACTIONS(7316), 1, + anon_sym_enum, + ACTIONS(7318), 1, + anon_sym_class, + ACTIONS(7320), 1, + anon_sym_struct, + ACTIONS(7322), 1, + anon_sym_union, + ACTIONS(7324), 1, + anon_sym_typename, + STATE(1727), 1, + sym_type_specifier, + STATE(1767), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4975), 1, + sym_identifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [199060] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5659), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5271), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [199132] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(3998), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [199212] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8910), 1, + anon_sym___attribute__, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5739), 1, + sym__function_attributes_end, + STATE(5768), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5285), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [199284] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4059), 1, + sym__class_declaration_item, + STATE(4063), 1, + sym__class_declaration, + STATE(5533), 1, + sym_ms_declspec_modifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5534), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5196), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199370] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4059), 1, + sym__class_declaration_item, + STATE(4062), 1, + sym__class_declaration, + STATE(5533), 1, + sym_ms_declspec_modifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5534), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5196), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199456] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4059), 1, + sym__class_declaration_item, + STATE(4073), 1, + sym__class_declaration, + STATE(5533), 1, + sym_ms_declspec_modifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5534), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5196), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199542] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4913), 1, + sym__class_declaration, + STATE(5474), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5476), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5167), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199628] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5904), 1, + sym__declarator, + STATE(5947), 1, + sym_identifier, + STATE(7302), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [199704] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(8806), 1, + sym_primitive_type, + ACTIONS(8808), 1, + anon_sym_enum, + ACTIONS(8810), 1, + anon_sym_class, + ACTIONS(8812), 1, + anon_sym_struct, + ACTIONS(8814), 1, + anon_sym_union, + ACTIONS(8816), 1, + sym_auto, + ACTIONS(8818), 1, + anon_sym_decltype, + ACTIONS(8820), 1, + anon_sym_typename, + STATE(1982), 1, + sym_type_specifier, + STATE(2176), 1, + sym_identifier, + STATE(2233), 1, + sym_decltype_auto, + STATE(2282), 1, + sym_qualified_type_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1988), 2, + sym_decltype, + sym_template_type, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2236), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [199784] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1785), 1, + sym__class_declaration, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(5487), 1, + sym_ms_declspec_modifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5489), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5153), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199870] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1782), 1, + sym__class_declaration_item, + STATE(1784), 1, + sym__class_declaration, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(5487), 1, + sym_ms_declspec_modifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5489), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5153), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [199956] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1781), 1, + sym__class_declaration, + STATE(1782), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(5487), 1, + sym_ms_declspec_modifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5489), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5153), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200042] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4884), 1, + sym__class_declaration, + STATE(5474), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5476), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5167), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200128] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5445), 1, + sym_ms_declspec_modifier, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5444), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5195), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200214] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4846), 1, + sym__class_declaration_item, + STATE(4856), 1, + sym__class_declaration, + STATE(5474), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5476), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5167), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200300] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2506), 1, + sym_auto, + ACTIONS(2508), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(7370), 1, + sym_primitive_type, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(8858), 1, + anon_sym_enum, + ACTIONS(8860), 1, + anon_sym_class, + ACTIONS(8862), 1, + anon_sym_struct, + ACTIONS(8864), 1, + anon_sym_union, + ACTIONS(8866), 1, + anon_sym_typename, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2801), 1, + sym_qualified_type_identifier, + STATE(2876), 1, + sym_decltype_auto, + STATE(4018), 1, + sym_identifier, + STATE(4146), 1, + sym_type_specifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2711), 2, + sym_decltype, + sym_template_type, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2868), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [200380] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5748), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5279), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [200452] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200538] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2805), 1, + sym__class_declaration, + STATE(2818), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(5483), 1, + sym_ms_declspec_modifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5484), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5148), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200624] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3105), 1, + sym__class_declaration_item, + STATE(3107), 1, + sym__class_declaration, + STATE(5525), 1, + sym_ms_declspec_modifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5526), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5178), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200710] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3105), 1, + sym__class_declaration_item, + STATE(3106), 1, + sym__class_declaration, + STATE(5525), 1, + sym_ms_declspec_modifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5526), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5178), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200796] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3103), 1, + sym__class_declaration, + STATE(3105), 1, + sym__class_declaration_item, + STATE(5525), 1, + sym_ms_declspec_modifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5526), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5178), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [200882] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(8780), 1, + sym_primitive_type, + ACTIONS(8782), 1, + anon_sym_enum, + ACTIONS(8784), 1, + anon_sym_class, + ACTIONS(8786), 1, + anon_sym_struct, + ACTIONS(8788), 1, + anon_sym_union, + ACTIONS(8790), 1, + sym_auto, + ACTIONS(8792), 1, + anon_sym_decltype, + ACTIONS(8794), 1, + anon_sym_typename, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2537), 1, + sym_identifier, + STATE(3003), 1, + sym_type_specifier, + STATE(3045), 1, + sym_qualified_type_identifier, + STATE(3101), 1, + sym_decltype_auto, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2977), 2, + sym_decltype, + sym_template_type, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3102), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [200962] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(7330), 1, + sym_primitive_type, + ACTIONS(7332), 1, + anon_sym_enum, + ACTIONS(7334), 1, + anon_sym_class, + ACTIONS(7336), 1, + anon_sym_struct, + ACTIONS(7338), 1, + anon_sym_union, + ACTIONS(7340), 1, + sym_auto, + ACTIONS(7342), 1, + anon_sym_decltype, + ACTIONS(7344), 1, + anon_sym_typename, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4729), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4823), 1, + sym_type_specifier, + STATE(4842), 1, + sym_identifier, + STATE(4872), 1, + sym_decltype_auto, + STATE(6438), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7328), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4907), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [201042] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5004), 1, + sym_auto, + ACTIONS(5006), 1, + anon_sym_decltype, + STATE(1814), 1, + sym_decltype_auto, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5255), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(8933), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(8931), 8, + anon_sym_AMP, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [201096] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5198), 1, + sym__class_declaration_item, + STATE(5206), 1, + sym__class_declaration, + STATE(5513), 1, + sym_ms_declspec_modifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5516), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5129), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201182] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5198), 1, + sym__class_declaration_item, + STATE(5205), 1, + sym__class_declaration, + STATE(5513), 1, + sym_ms_declspec_modifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5516), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5129), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201268] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5194), 1, + sym__class_declaration, + STATE(5198), 1, + sym__class_declaration_item, + STATE(5513), 1, + sym_ms_declspec_modifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5516), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5129), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201354] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(7408), 1, + anon_sym_enum, + ACTIONS(7410), 1, + anon_sym_class, + ACTIONS(7412), 1, + anon_sym_struct, + ACTIONS(7414), 1, + anon_sym_union, + ACTIONS(7416), 1, + anon_sym_typename, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4176), 1, + sym_identifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(6693), 1, + sym_type_specifier, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [201434] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(7422), 1, + sym_primitive_type, + ACTIONS(7424), 1, + anon_sym_enum, + ACTIONS(7426), 1, + anon_sym_class, + ACTIONS(7428), 1, + anon_sym_struct, + ACTIONS(7430), 1, + anon_sym_union, + ACTIONS(7432), 1, + sym_auto, + ACTIONS(7434), 1, + anon_sym_decltype, + ACTIONS(7436), 1, + anon_sym_typename, + STATE(4203), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4393), 1, + sym_identifier, + STATE(5007), 1, + sym_type_specifier, + STATE(5143), 1, + sym_qualified_type_identifier, + STATE(5186), 1, + sym_decltype_auto, + STATE(6440), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(4963), 2, + sym_decltype, + sym_template_type, + ACTIONS(7420), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(5187), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [201514] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1779), 1, + sym_auto, + ACTIONS(1781), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7270), 1, + sym_primitive_type, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(8702), 1, + anon_sym_enum, + ACTIONS(8704), 1, + anon_sym_class, + ACTIONS(8706), 1, + anon_sym_struct, + ACTIONS(8708), 1, + anon_sym_union, + ACTIONS(8710), 1, + anon_sym_typename, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1767), 1, + sym_decltype_auto, + STATE(1901), 1, + sym_qualified_type_identifier, + STATE(3437), 1, + sym_identifier, + STATE(4034), 1, + sym_type_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(1732), 2, + sym_decltype, + sym_template_type, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1761), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [201594] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(5501), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5502), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5117), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201680] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(5501), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5502), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5117), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201766] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(5501), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5502), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5117), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201852] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3019), 1, + sym__class_declaration, + STATE(3021), 1, + sym__class_declaration_item, + STATE(5479), 1, + sym_ms_declspec_modifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5478), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5164), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [201938] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3021), 1, + sym__class_declaration_item, + STATE(3023), 1, + sym__class_declaration, + STATE(5479), 1, + sym_ms_declspec_modifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5478), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5164), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202024] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5445), 1, + sym_ms_declspec_modifier, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5444), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5195), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202110] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3021), 1, + sym__class_declaration_item, + STATE(3024), 1, + sym__class_declaration, + STATE(5479), 1, + sym_ms_declspec_modifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5478), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5164), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202196] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5495), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5496), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5131), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202282] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8935), 1, + anon_sym_requires, + STATE(5249), 1, + sym_ref_qualifier, + STATE(6098), 1, + sym__function_attributes_end, + STATE(6329), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5392), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [202360] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5495), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5496), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5131), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202446] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2543), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5495), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5496), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5131), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202532] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202618] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2530), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5438), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5439), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5182), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202704] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(5965), 1, + sym__declarator, + STATE(7712), 1, + sym_init_declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [202780] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2535), 1, + sym__class_declaration, + STATE(2544), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5445), 1, + sym_ms_declspec_modifier, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5444), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5195), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [202866] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + sym_auto, + ACTIONS(123), 1, + anon_sym_decltype, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(3579), 1, + sym_primitive_type, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(7384), 1, + anon_sym_enum, + ACTIONS(7386), 1, + anon_sym_class, + ACTIONS(7388), 1, + anon_sym_struct, + ACTIONS(7390), 1, + anon_sym_union, + ACTIONS(7392), 1, + anon_sym_typename, + STATE(2495), 1, + sym_type_specifier, + STATE(2520), 1, + sym_decltype_auto, + STATE(2885), 1, + sym_qualified_type_identifier, + STATE(3812), 1, + sym_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6399), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_dependent_type_identifier, + STATE(2494), 2, + sym_decltype, + sym_template_type, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2523), 7, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_class_specifier, + sym_dependent_type, + [202946] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2818), 1, + sym__class_declaration_item, + STATE(2844), 1, + sym__class_declaration, + STATE(4064), 1, + sym_identifier, + STATE(5483), 1, + sym_ms_declspec_modifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5484), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5148), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [203032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5162), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5164), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203071] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3371), 1, + sym__class_declaration_item, + STATE(5471), 1, + sym_ms_declspec_modifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5469), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [203154] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5020), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5022), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203193] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8938), 1, + sym_ms_restrict_modifier, + STATE(5259), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(7463), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(8941), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(8944), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(5113), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(7465), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [203242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5211), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203281] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + ACTIONS(8947), 1, + anon_sym_COLON, + STATE(4787), 1, + sym__enum_base_clause, + STATE(4820), 1, + sym_enumerator_list, + STATE(4896), 1, + sym_attribute_specifier, + ACTIONS(5772), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5774), 22, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [203332] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5768), 1, + sym_trailing_return_type, + STATE(5870), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5306), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [203403] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(5505), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5504), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [203486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5070), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203525] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6434), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [203598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5072), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5074), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203637] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(6196), 1, + anon_sym_COLON, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6714), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [203702] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6339), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [203775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5107), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203814] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5111), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [203853] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + STATE(5905), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5305), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [203924] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5881), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5309), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [203995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5115), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [204034] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6414), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204107] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5197), 1, + sym__class_declaration_item, + STATE(5428), 1, + sym_ms_declspec_modifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5514), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [204190] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6561), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204263] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5498), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5497), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [204346] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6549), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204419] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + STATE(5878), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5313), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [204490] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + STATE(5743), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5293), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [204561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5107), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [204600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5139), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [204639] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6441), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204712] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6463), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204785] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5773), 1, + sym_trailing_return_type, + STATE(5860), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5302), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [204856] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6460), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [204929] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6389), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [205002] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5893), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5299), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [205073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5014), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [205112] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6538), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [205185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5195), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [205224] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6445), 1, + anon_sym_STAR, + ACTIONS(6447), 1, + anon_sym_AMP_AMP, + ACTIONS(6449), 1, + anon_sym_AMP, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + STATE(5603), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6200), 1, + sym__declarator, + STATE(7902), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [205297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5257), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5259), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [205336] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2877), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(5486), 1, + sym_ms_declspec_modifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5485), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [205419] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5745), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5310), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [205490] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(8525), 1, + anon_sym_LBRACE, + ACTIONS(8947), 1, + anon_sym_COLON, + STATE(4756), 1, + sym__enum_base_clause, + STATE(4812), 1, + sym_enumerator_list, + STATE(4880), 1, + sym_attribute_specifier, + ACTIONS(5790), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(5792), 22, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [205541] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5452), 1, + sym_ms_declspec_modifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5450), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [205624] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5263), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [205663] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1825), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(5529), 1, + sym_ms_declspec_modifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5512), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [205746] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5672), 1, + sym__function_attributes_end, + STATE(5768), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5300), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [205817] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6442), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [205890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5335), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5337), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [205929] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6379), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206002] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6372), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206075] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5671), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5303), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [206146] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6537), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5339), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5341), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [206258] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6425), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5343), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5345), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [206370] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3013), 1, + sym__class_declaration_item, + STATE(5456), 1, + sym_ms_declspec_modifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5457), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [206453] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6390), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206526] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6462), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [206599] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4874), 1, + sym__class_declaration_item, + STATE(5480), 1, + sym_ms_declspec_modifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5477), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [206682] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1825), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(5446), 1, + sym_ms_declspec_modifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5451), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [206765] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(7885), 1, + anon_sym_COLON, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6706), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [206830] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(5219), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8958), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5608), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5610), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [206873] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(5211), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8961), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5618), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5620), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [206916] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2042), 1, + sym__class_declaration_item, + STATE(5437), 1, + sym_ms_declspec_modifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5436), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [206999] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2042), 1, + sym__class_declaration_item, + STATE(5494), 1, + sym_ms_declspec_modifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5500), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [207082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5016), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5018), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [207121] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(5473), 1, + sym_ms_declspec_modifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5482), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [207204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5289), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [207243] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1825), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(5492), 1, + sym_ms_declspec_modifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5491), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [207326] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3122), 1, + sym__class_declaration_item, + STATE(5528), 1, + sym_ms_declspec_modifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5527), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [207409] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6378), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [207482] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(5416), 1, + anon_sym_COLON, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6687), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [207547] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(5183), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5325), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5323), 25, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [207588] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(5449), 1, + sym_ms_declspec_modifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5454), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [207671] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8964), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5534), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5536), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [207714] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6414), 1, + sym__declarator, + STATE(6493), 1, + sym_identifier, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [207787] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5389), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5391), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [207826] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5082), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5084), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [207865] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5014), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [207904] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6385), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [207977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5026), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208016] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5772), 1, + sym_trailing_return_type, + STATE(5841), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5295), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [208087] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8967), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5273), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5276), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [208130] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7875), 1, + anon_sym_const, + ACTIONS(7881), 1, + anon_sym_COLON, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(5466), 1, + sym_alignas_qualifier, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6685), 1, + sym__abstract_declarator, + ACTIONS(7877), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7867), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [208195] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5692), 1, + sym__function_attributes_end, + STATE(5723), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5301), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [208266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5119), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208305] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2529), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(5434), 1, + sym_ms_declspec_modifier, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5430), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [208388] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4043), 1, + sym__class_declaration_item, + STATE(5531), 1, + sym_ms_declspec_modifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5532), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [208471] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5171), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208510] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5123), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208549] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5696), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5317), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [208620] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5171), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208659] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + STATE(5731), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5315), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [208730] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4874), 1, + sym__class_declaration_item, + STATE(5429), 1, + sym_ms_declspec_modifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5511), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [208813] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6480), 1, + anon_sym_STAR, + ACTIONS(6482), 1, + anon_sym_AMP_AMP, + ACTIONS(6484), 1, + anon_sym_AMP, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6472), 1, + sym__declarator, + STATE(8273), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [208886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5203), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5127), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [208964] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5131), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [209003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5271), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [209042] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5732), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5314), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [209113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5267), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [209152] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6522), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [209225] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8971), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5598), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5600), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [209268] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6490), 1, + anon_sym_STAR, + ACTIONS(6492), 1, + anon_sym_AMP_AMP, + ACTIONS(6494), 1, + anon_sym_AMP, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + STATE(5591), 1, + sym__scope_resolution, + STATE(6444), 1, + sym__declarator, + STATE(6540), 1, + sym_identifier, + STATE(8024), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [209341] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8974), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5574), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5576), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [209384] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(6435), 1, + anon_sym_STAR, + ACTIONS(6437), 1, + anon_sym_AMP_AMP, + ACTIONS(6439), 1, + anon_sym_AMP, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5610), 1, + sym__scope_resolution, + STATE(5947), 1, + sym_identifier, + STATE(6177), 1, + sym__declarator, + STATE(8495), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [209457] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + STATE(5889), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5304), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [209528] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6441), 1, + anon_sym_LBRACK, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6500), 1, + anon_sym_STAR, + ACTIONS(6502), 1, + anon_sym_AMP_AMP, + ACTIONS(6504), 1, + anon_sym_AMP, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + STATE(5607), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6518), 1, + sym__declarator, + STATE(8116), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [209601] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4959), 1, + anon_sym___attribute__, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4965), 1, + anon_sym___declspec, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2877), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(5463), 1, + sym_ms_declspec_modifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(4967), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5462), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + [209684] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2851), 1, + anon_sym_LPAREN2, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2855), 1, + anon_sym_STAR, + ACTIONS(2857), 1, + anon_sym_AMP, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(6441), 1, + anon_sym_LBRACK, + STATE(5595), 1, + sym__scope_resolution, + STATE(6493), 1, + sym_identifier, + STATE(6534), 1, + sym__declarator, + STATE(8140), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(6299), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [209757] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2012), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(8977), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5594), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(5596), 21, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [209800] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5171), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___extension__, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [209839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1776), 1, + sym_attribute_specifier, + ACTIONS(5584), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5582), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [209881] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6903), 1, + anon_sym_LPAREN2, + STATE(1980), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3398), 1, + sym_initializer_list, + STATE(3400), 1, + sym_argument_list, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5602), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 19, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + [209931] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5288), 1, + sym_ref_qualifier, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6321), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5575), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [210007] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(5290), 1, + sym_ref_qualifier, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6328), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5576), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [210083] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1868), 1, + sym_attribute_specifier, + ACTIONS(5542), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5540), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210125] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1860), 1, + sym_attribute_specifier, + ACTIONS(5641), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5639), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210167] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5273), 1, + sym_ref_qualifier, + STATE(6277), 1, + sym__function_attributes_end, + STATE(6383), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5586), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [210243] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1735), 1, + sym_attribute_specifier, + ACTIONS(5498), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5496), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210285] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1887), 1, + sym_attribute_specifier, + ACTIONS(5633), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5631), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210327] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6716), 1, + anon_sym_AMP_AMP, + ACTIONS(6718), 1, + anon_sym_AMP, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8980), 1, + anon_sym_requires, + STATE(5286), 1, + sym_ref_qualifier, + STATE(6263), 1, + sym__function_attributes_end, + STATE(6371), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5559), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [210403] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5924), 1, + sym__function_attributes_end, + STATE(6203), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5332), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [210473] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1841), 1, + sym_attribute_specifier, + ACTIONS(5647), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5645), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210515] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8891), 1, + anon_sym_requires, + STATE(5968), 1, + sym__function_attributes_end, + STATE(6107), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5331), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [210585] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1886), 1, + sym_attribute_specifier, + ACTIONS(5637), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5635), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210627] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6006), 1, + sym__function_attributes_end, + STATE(6170), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5324), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [210697] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1858), 1, + sym_attribute_specifier, + ACTIONS(5550), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5548), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210739] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(6183), 1, + anon_sym_LPAREN2, + STATE(1980), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2489), 1, + sym_argument_list, + STATE(3938), 1, + sym_initializer_list, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5602), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5014), 19, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + [210789] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6000), 1, + sym__function_attributes_end, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5322), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [210859] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1835), 1, + sym_attribute_specifier, + ACTIONS(5532), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5530), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [210901] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6080), 1, + sym__function_attributes_end, + STATE(6144), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5325), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [210971] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8986), 1, + anon_sym_requires, + STATE(5981), 1, + sym__function_attributes_end, + STATE(6101), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5328), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [211041] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1775), 1, + sym_attribute_specifier, + ACTIONS(5588), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5586), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [211083] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1758), 1, + sym_attribute_specifier, + ACTIONS(5592), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5590), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [211125] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5961), 1, + sym__function_attributes_end, + STATE(6188), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5319), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [211195] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8989), 1, + anon_sym_COLON, + STATE(1859), 1, + sym_attribute_specifier, + STATE(2362), 1, + sym__enum_base_clause, + STATE(2413), 1, + sym_enumerator_list, + ACTIONS(5790), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5792), 22, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [211245] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6056), 1, + sym__function_attributes_end, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5327), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [211315] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + STATE(1737), 1, + sym_attribute_specifier, + ACTIONS(5616), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(5614), 24, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [211357] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5703), 1, + anon_sym___attribute__, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8989), 1, + anon_sym_COLON, + STATE(1736), 1, + sym_attribute_specifier, + STATE(2372), 1, + sym__enum_base_clause, + STATE(2442), 1, + sym_enumerator_list, + ACTIONS(5772), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5774), 22, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [211407] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8991), 1, + anon_sym_requires, + STATE(6103), 1, + sym__function_attributes_end, + STATE(6331), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5380), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [211476] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(5183), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5014), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(8994), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(5012), 20, + anon_sym_AMP, + anon_sym___extension__, + anon_sym___based, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym__identifier, + sym_auto, + anon_sym_decltype, + [211517] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(8999), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(8997), 8, + anon_sym_AMP, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [211562] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8935), 1, + anon_sym_requires, + STATE(6098), 1, + sym__function_attributes_end, + STATE(6329), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5392), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [211631] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6105), 1, + sym__function_attributes_end, + STATE(6301), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5347), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8870), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [211700] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9001), 1, + anon_sym_LBRACK_LBRACK, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5698), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_DASH_GT, + sym_grit_metavariable, + anon_sym_GT2, + ACTIONS(5696), 15, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + sym_virtual, + anon_sym_template, + anon_sym_try, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_requires, + [211741] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(1931), 1, + sym_alignas_qualifier, + ACTIONS(63), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(4492), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(9006), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + sym_grit_metavariable, + ACTIONS(9004), 8, + anon_sym_AMP, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym__identifier, + ACTIONS(61), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [211786] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6113), 1, + sym__function_attributes_end, + STATE(6307), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5339), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [211855] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(5592), 1, + sym_ms_call_modifier, + STATE(6575), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(49), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [211919] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8879), 1, + anon_sym_requires, + STATE(5801), 1, + sym__function_attributes_end, + STATE(5944), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [211981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7567), 3, + anon_sym_AMP, + sym_ms_restrict_modifier, + anon_sym_const, + ACTIONS(7569), 25, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [212017] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5791), 1, + sym__function_attributes_end, + STATE(5980), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [212079] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8658), 1, + anon_sym_requires, + STATE(5798), 1, + sym__function_attributes_end, + STATE(5933), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [212141] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(5590), 1, + sym_ms_call_modifier, + STATE(6577), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(49), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [212205] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(5594), 1, + sym_ms_call_modifier, + STATE(6616), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(49), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [212269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7563), 3, + anon_sym_AMP, + sym_ms_restrict_modifier, + anon_sym_const, + ACTIONS(7565), 25, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [212305] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5806), 1, + sym__function_attributes_end, + STATE(5922), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [212367] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5782), 1, + sym__function_attributes_end, + STATE(5954), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [212429] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9015), 1, + anon_sym_requires, + STATE(5803), 1, + sym__function_attributes_end, + STATE(5950), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [212491] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(5602), 1, + sym_ms_call_modifier, + STATE(6590), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + ACTIONS(49), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [212555] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(9018), 1, + anon_sym_LPAREN2, + ACTIONS(9020), 1, + anon_sym_LBRACE, + ACTIONS(9024), 1, + anon_sym_requires, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2409), 1, + sym_requirement_seq, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(7557), 1, + sym_requires_parameter_list, + ACTIONS(9022), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2892), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [212622] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(6277), 1, + sym__function_attributes_end, + STATE(6383), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5586), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [212689] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8910), 1, + anon_sym___attribute__, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5739), 1, + sym__function_attributes_end, + STATE(5768), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [212750] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(9026), 1, + anon_sym_LPAREN2, + ACTIONS(9028), 1, + anon_sym_LBRACE, + ACTIONS(9032), 1, + anon_sym_requires, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(3396), 1, + sym_requirement_seq, + STATE(5886), 1, + sym_lambda_capture_specifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(7585), 1, + sym_requires_parameter_list, + ACTIONS(9030), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3394), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [212817] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(6276), 1, + sym__function_attributes_end, + STATE(6377), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5582), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [212884] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5659), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [212945] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9018), 1, + anon_sym_LPAREN2, + ACTIONS(9020), 1, + anon_sym_LBRACE, + ACTIONS(9024), 1, + anon_sym_requires, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2409), 1, + sym_requirement_seq, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(7557), 1, + sym_requires_parameter_list, + ACTIONS(9034), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2796), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213012] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8980), 1, + anon_sym_requires, + STATE(6263), 1, + sym__function_attributes_end, + STATE(6371), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5559), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213079] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(9036), 1, + anon_sym_LPAREN2, + ACTIONS(9038), 1, + anon_sym_LBRACE, + ACTIONS(9042), 1, + anon_sym_requires, + STATE(2579), 1, + sym_template_type, + STATE(4064), 1, + sym_identifier, + STATE(4382), 1, + sym_requirement_seq, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(7576), 1, + sym_requires_parameter_list, + ACTIONS(9040), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4742), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213146] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6321), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5575), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213213] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8910), 1, + anon_sym___attribute__, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + STATE(5747), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [213274] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(9044), 1, + anon_sym_LPAREN2, + ACTIONS(9046), 1, + anon_sym_LBRACE, + ACTIONS(9050), 1, + anon_sym_requires, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3879), 1, + sym_requirement_seq, + STATE(5900), 1, + sym_lambda_capture_specifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(7645), 1, + sym_requires_parameter_list, + ACTIONS(9048), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3917), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213341] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6328), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5576), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213408] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(9052), 1, + anon_sym_LPAREN2, + ACTIONS(9054), 1, + anon_sym_LBRACE, + ACTIONS(9058), 1, + anon_sym_requires, + STATE(3240), 1, + sym_requirement_seq, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(7620), 1, + sym_requires_parameter_list, + ACTIONS(9056), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4167), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213475] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(9052), 1, + anon_sym_LPAREN2, + ACTIONS(9054), 1, + anon_sym_LBRACE, + ACTIONS(9058), 1, + anon_sym_requires, + STATE(1730), 1, + sym_template_type, + STATE(3240), 1, + sym_requirement_seq, + STATE(3876), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(7620), 1, + sym_requires_parameter_list, + ACTIONS(9060), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4222), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213542] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9062), 1, + anon_sym___attribute__, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + STATE(5760), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [213603] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9062), 1, + anon_sym___attribute__, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5738), 1, + sym__function_attributes_end, + STATE(5766), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [213664] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9074), 1, + anon_sym_requires, + STATE(6261), 1, + sym__function_attributes_end, + STATE(6368), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5580), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213731] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8680), 1, + anon_sym___attribute__, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5748), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [213792] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6170), 1, + sym_trailing_return_type, + STATE(6320), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5578), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213859] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(9077), 1, + anon_sym_LPAREN2, + ACTIONS(9079), 1, + anon_sym_LBRACE, + ACTIONS(9083), 1, + anon_sym_requires, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(3581), 1, + sym_requirement_seq, + STATE(5856), 1, + sym_lambda_capture_specifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(7602), 1, + sym_requires_parameter_list, + ACTIONS(9081), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3572), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [213926] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6734), 1, + anon_sym_noexcept, + ACTIONS(6736), 1, + anon_sym_throw, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6144), 1, + sym_trailing_return_type, + STATE(6330), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + STATE(5587), 3, + sym__function_exception_specification, + sym_noexcept, + sym_throw_specifier, + [213993] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + ACTIONS(5010), 1, + anon_sym_LBRACE, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5014), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [214032] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(5744), 1, + sym_ms_call_modifier, + STATE(6545), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + ACTIONS(1739), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [214092] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + STATE(5686), 1, + sym_trailing_return_type, + STATE(5741), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(9088), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [214152] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5773), 1, + sym_trailing_return_type, + STATE(5860), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214212] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + STATE(5905), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214272] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5010), 1, + anon_sym_LBRACE, + ACTIONS(5012), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5014), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [214308] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5745), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [214368] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5772), 1, + sym_trailing_return_type, + STATE(5841), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214428] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + STATE(5889), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [214488] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5679), 1, + sym__function_attributes_end, + STATE(5766), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(9088), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [214548] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + STATE(5683), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(9088), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [214608] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5768), 1, + sym_trailing_return_type, + STATE(5870), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214668] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5672), 1, + sym__function_attributes_end, + STATE(5768), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [214728] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + STATE(5686), 1, + sym_trailing_return_type, + STATE(5888), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [214788] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + STATE(5895), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214848] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5766), 1, + sym_trailing_return_type, + STATE(5884), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [214908] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7972), 1, + anon_sym_AMP, + ACTIONS(9094), 1, + anon_sym_const, + STATE(5466), 1, + sym_alignas_qualifier, + ACTIONS(9097), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5307), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(7970), 8, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(9091), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + [214952] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5671), 1, + sym__function_attributes_end, + STATE(5773), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [215012] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + STATE(5878), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [215072] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + STATE(5743), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [215132] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5732), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [215192] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(5696), 1, + sym__function_attributes_end, + STATE(5772), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8695), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [215252] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9100), 1, + anon_sym_requires, + STATE(5668), 1, + sym_trailing_return_type, + STATE(5833), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [215312] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + STATE(5731), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [215372] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9100), 1, + anon_sym_requires, + STATE(5668), 1, + sym_trailing_return_type, + STATE(5728), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(9088), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [215432] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + STATE(5881), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [215492] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(5692), 1, + sym__function_attributes_end, + STATE(5723), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8955), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [215552] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + STATE(5893), 1, + sym__function_attributes_end, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [215612] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + STATE(5974), 1, + sym__function_attributes_end, + STATE(6182), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [215671] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6056), 1, + sym__function_attributes_end, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [215730] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9103), 1, + anon_sym_RPAREN, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5611), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [215783] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6006), 1, + sym__function_attributes_end, + STATE(6170), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [215842] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6000), 1, + sym__function_attributes_end, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [215901] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(6005), 1, + sym__function_attributes_end, + STATE(6093), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [215960] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9119), 1, + anon_sym_requires, + STATE(6077), 1, + sym__function_attributes_end, + STATE(6178), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [216019] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + ACTIONS(9122), 1, + anon_sym_RPAREN, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5616), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216072] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6080), 1, + sym__function_attributes_end, + STATE(6144), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + [216131] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9085), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9124), 1, + anon_sym_requires, + STATE(5988), 1, + sym__function_attributes_end, + STATE(6086), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [216190] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + STATE(5924), 1, + sym__function_attributes_end, + STATE(6203), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [216249] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + ACTIONS(9127), 1, + anon_sym_RPAREN, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5608), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216302] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8986), 1, + anon_sym_requires, + STATE(5981), 1, + sym__function_attributes_end, + STATE(6101), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [216361] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8949), 1, + anon_sym_LBRACK_LBRACK, + STATE(5961), 1, + sym__function_attributes_end, + STATE(6188), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [216420] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8692), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8891), 1, + anon_sym_requires, + STATE(5968), 1, + sym__function_attributes_end, + STATE(6107), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [216479] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5685), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216529] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5701), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216579] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(9032), 1, + anon_sym_requires, + ACTIONS(9145), 1, + anon_sym_LPAREN2, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(5886), 1, + sym_lambda_capture_specifier, + STATE(6456), 1, + sym__scope_resolution, + ACTIONS(9147), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3487), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [216637] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9024), 1, + anon_sym_requires, + ACTIONS(9149), 1, + anon_sym_LPAREN2, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6435), 1, + sym__scope_resolution, + ACTIONS(9151), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2847), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [216695] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9024), 1, + anon_sym_requires, + ACTIONS(9149), 1, + anon_sym_LPAREN2, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6435), 1, + sym__scope_resolution, + ACTIONS(9153), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2397), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [216753] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6105), 1, + sym__function_attributes_end, + STATE(6301), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [216811] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5755), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216861] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6467), 1, + sym__scope_resolution, + ACTIONS(9157), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5734), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [216919] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5674), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [216969] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(1730), 1, + sym_template_type, + STATE(4785), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6423), 1, + sym__scope_resolution, + ACTIONS(9163), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6503), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217027] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9167), 1, + anon_sym_COLON_COLON, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(1985), 1, + sym_identifier, + STATE(2294), 1, + sym_template_type, + STATE(5861), 1, + sym_lambda_capture_specifier, + STATE(6455), 1, + sym__scope_resolution, + ACTIONS(9169), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(1645), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217085] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(1730), 1, + sym_template_type, + STATE(4785), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6423), 1, + sym__scope_resolution, + ACTIONS(9173), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3284), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217143] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6467), 1, + sym__scope_resolution, + ACTIONS(9175), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5733), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217201] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(6089), 1, + sym__function_attributes_end, + STATE(6308), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [217259] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + ACTIONS(9177), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(5912), 1, + sym_identifier, + STATE(6449), 1, + sym__scope_resolution, + ACTIONS(9179), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6148), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217317] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(9024), 1, + anon_sym_requires, + ACTIONS(9149), 1, + anon_sym_LPAREN2, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6359), 1, + sym__scope_resolution, + ACTIONS(9153), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2397), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217375] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6438), 1, + sym__scope_resolution, + ACTIONS(9181), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6403), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217433] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5749), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [217483] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + ACTIONS(9177), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(5912), 1, + sym_identifier, + STATE(6449), 1, + sym__scope_resolution, + ACTIONS(9183), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6143), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217541] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(9042), 1, + anon_sym_requires, + ACTIONS(9185), 1, + anon_sym_LPAREN2, + STATE(2579), 1, + sym_template_type, + STATE(4064), 1, + sym_identifier, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6457), 1, + sym__scope_resolution, + ACTIONS(9187), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4406), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217599] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(9024), 1, + anon_sym_requires, + ACTIONS(9149), 1, + anon_sym_LPAREN2, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(5845), 1, + sym_lambda_capture_specifier, + STATE(6359), 1, + sym__scope_resolution, + ACTIONS(9189), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2905), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217657] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(133), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(3715), 1, + anon_sym_COLON_COLON, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9191), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(3702), 1, + sym_identifier, + STATE(5355), 1, + sym__scope_resolution, + STATE(6782), 1, + sym_operator_cast, + STATE(6798), 1, + sym_qualified_operator_cast_identifier, + STATE(8052), 1, + sym_decltype, + STATE(8227), 1, + sym_ms_based_modifier, + [217733] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(1730), 1, + sym_template_type, + STATE(3876), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6465), 1, + sym__scope_resolution, + ACTIONS(9193), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4194), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217791] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6445), 1, + sym__scope_resolution, + ACTIONS(9195), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5707), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217849] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(9042), 1, + anon_sym_requires, + ACTIONS(9185), 1, + anon_sym_LPAREN2, + STATE(2579), 1, + sym_template_type, + STATE(4064), 1, + sym_identifier, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6457), 1, + sym__scope_resolution, + ACTIONS(9197), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4764), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217907] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(9032), 1, + anon_sym_requires, + ACTIONS(9145), 1, + anon_sym_LPAREN2, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(5886), 1, + sym_lambda_capture_specifier, + STATE(6456), 1, + sym__scope_resolution, + ACTIONS(9199), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3486), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [217965] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5709), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218015] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(1730), 1, + sym_template_type, + STATE(3876), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6465), 1, + sym__scope_resolution, + ACTIONS(9173), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3284), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218073] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6113), 1, + sym__function_attributes_end, + STATE(6307), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [218131] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(9083), 1, + anon_sym_requires, + ACTIONS(9201), 1, + anon_sym_LPAREN2, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(5856), 1, + sym_lambda_capture_specifier, + STATE(6439), 1, + sym__scope_resolution, + ACTIONS(9203), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3632), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218189] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(9083), 1, + anon_sym_requires, + ACTIONS(9201), 1, + anon_sym_LPAREN2, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(5856), 1, + sym_lambda_capture_specifier, + STATE(6439), 1, + sym__scope_resolution, + ACTIONS(9205), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3631), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218247] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5703), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218297] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6438), 1, + sym__scope_resolution, + ACTIONS(9175), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5733), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218355] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5623), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218405] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5631), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218455] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7503), 1, + anon_sym_STAR, + ACTIONS(7505), 1, + anon_sym_AMP_AMP, + ACTIONS(7507), 1, + anon_sym_AMP, + STATE(3234), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6063), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [218503] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7665), 1, + sym_grit_metavariable, + ACTIONS(9207), 1, + anon_sym_TILDE, + ACTIONS(9209), 1, + anon_sym_COLON_COLON, + ACTIONS(9211), 1, + anon_sym_template, + ACTIONS(9213), 1, + anon_sym_operator, + STATE(1560), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5370), 1, + sym__scope_resolution, + STATE(6782), 1, + sym_operator_cast, + STATE(6798), 1, + sym_qualified_operator_cast_identifier, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [218579] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5632), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218629] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6438), 1, + sym__scope_resolution, + ACTIONS(9215), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6404), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218687] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5682), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218737] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5681), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218787] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(1730), 1, + sym_template_type, + STATE(4785), 1, + sym_identifier, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6423), 1, + sym__scope_resolution, + ACTIONS(9217), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6510), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218845] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6399), 1, + sym__scope_resolution, + ACTIONS(9219), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6126), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [218903] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5664), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [218953] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5757), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219003] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5699), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219053] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9221), 1, + anon_sym_requires, + STATE(6106), 1, + sym__function_attributes_end, + STATE(6332), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [219111] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5754), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219161] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5761), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219211] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5630), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219261] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6399), 1, + sym__scope_resolution, + ACTIONS(9224), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6124), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219319] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6399), 1, + sym__scope_resolution, + ACTIONS(9169), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(1645), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219377] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5759), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219427] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5633), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219477] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6436), 1, + sym__scope_resolution, + ACTIONS(9173), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3284), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219535] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(6436), 1, + sym__scope_resolution, + ACTIONS(9226), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4171), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219593] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6445), 1, + sym__scope_resolution, + ACTIONS(9228), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5730), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219651] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5694), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219701] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8991), 1, + anon_sym_requires, + STATE(6103), 1, + sym__function_attributes_end, + STATE(6331), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [219759] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9167), 1, + anon_sym_COLON_COLON, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(1985), 1, + sym_identifier, + STATE(2294), 1, + sym_template_type, + STATE(5861), 1, + sym_lambda_capture_specifier, + STATE(6455), 1, + sym__scope_resolution, + ACTIONS(9230), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2324), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219817] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7483), 1, + anon_sym_STAR, + ACTIONS(7485), 1, + anon_sym_AMP_AMP, + ACTIONS(7487), 1, + anon_sym_AMP, + ACTIONS(7495), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6041), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [219865] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5627), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [219915] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(9232), 1, + anon_sym_LPAREN2, + ACTIONS(9236), 1, + anon_sym_requires, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(5915), 1, + sym_lambda_capture_specifier, + STATE(6440), 1, + sym__scope_resolution, + ACTIONS(9234), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5971), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [219973] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5693), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220023] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5691), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220073] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(9232), 1, + anon_sym_LPAREN2, + ACTIONS(9236), 1, + anon_sym_requires, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(5915), 1, + sym_lambda_capture_specifier, + STATE(6440), 1, + sym__scope_resolution, + ACTIONS(9238), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5970), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220131] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5762), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220181] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5700), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220231] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8935), 1, + anon_sym_requires, + STATE(6098), 1, + sym__function_attributes_end, + STATE(6329), 1, + sym_trailing_return_type, + STATE(6669), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5568), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5763), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_GT2, + [220289] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5711), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220339] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5634), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220389] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(9050), 1, + anon_sym_requires, + ACTIONS(9240), 1, + anon_sym_LPAREN2, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(5900), 1, + sym_lambda_capture_specifier, + STATE(6461), 1, + sym__scope_resolution, + ACTIONS(9242), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3857), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220447] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5690), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220497] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5662), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220547] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(9232), 1, + anon_sym_LPAREN2, + ACTIONS(9236), 1, + anon_sym_requires, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(5915), 1, + sym_lambda_capture_specifier, + STATE(6440), 1, + sym__scope_resolution, + ACTIONS(9244), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5984), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220605] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5702), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220655] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(9042), 1, + anon_sym_requires, + ACTIONS(9185), 1, + anon_sym_LPAREN2, + STATE(2579), 1, + sym_template_type, + STATE(4779), 1, + sym_identifier, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6354), 1, + sym__scope_resolution, + ACTIONS(9246), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6335), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220713] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5635), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220763] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(9042), 1, + anon_sym_requires, + ACTIONS(9185), 1, + anon_sym_LPAREN2, + STATE(2579), 1, + sym_template_type, + STATE(4779), 1, + sym_identifier, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6354), 1, + sym__scope_resolution, + ACTIONS(9248), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(6313), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220821] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(9042), 1, + anon_sym_requires, + ACTIONS(9185), 1, + anon_sym_LPAREN2, + STATE(2579), 1, + sym_template_type, + STATE(4779), 1, + sym_identifier, + STATE(5909), 1, + sym_lambda_capture_specifier, + STATE(6354), 1, + sym__scope_resolution, + ACTIONS(9187), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(4406), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220879] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5862), 1, + sym_lambda_capture_specifier, + STATE(6445), 1, + sym__scope_resolution, + ACTIONS(9169), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(1645), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [220937] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5689), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [220987] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(9050), 1, + anon_sym_requires, + ACTIONS(9240), 1, + anon_sym_LPAREN2, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(5900), 1, + sym_lambda_capture_specifier, + STATE(6461), 1, + sym__scope_resolution, + ACTIONS(9250), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3846), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [221045] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(9155), 1, + anon_sym_LPAREN2, + ACTIONS(9159), 1, + anon_sym_requires, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(5844), 1, + sym_lambda_capture_specifier, + STATE(6467), 1, + sym__scope_resolution, + ACTIONS(9252), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(5750), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [221103] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5637), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221153] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(9165), 1, + anon_sym_LPAREN2, + ACTIONS(9167), 1, + anon_sym_COLON_COLON, + ACTIONS(9171), 1, + anon_sym_requires, + STATE(1985), 1, + sym_identifier, + STATE(2294), 1, + sym_template_type, + STATE(5861), 1, + sym_lambda_capture_specifier, + STATE(6455), 1, + sym__scope_resolution, + ACTIONS(9254), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(2302), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [221211] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2372), 1, + anon_sym_LBRACK, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9058), 1, + anon_sym_requires, + ACTIONS(9161), 1, + anon_sym_LPAREN2, + ACTIONS(9177), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(5885), 1, + sym_lambda_capture_specifier, + STATE(5912), 1, + sym_identifier, + STATE(6449), 1, + sym__scope_resolution, + ACTIONS(9173), 2, + sym_true, + sym_false, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + STATE(3284), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [221269] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(133), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2863), 1, + anon_sym_COLON_COLON, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9256), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(4174), 1, + sym_identifier, + STATE(5421), 1, + sym__scope_resolution, + STATE(6782), 1, + sym_operator_cast, + STATE(6798), 1, + sym_qualified_operator_cast_identifier, + STATE(8052), 1, + sym_decltype, + STATE(8227), 1, + sym_ms_based_modifier, + [221345] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5619), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221395] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5621), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221445] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7497), 1, + anon_sym_STAR, + ACTIONS(7499), 1, + anon_sym_AMP_AMP, + ACTIONS(7501), 1, + anon_sym_AMP, + STATE(3161), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6012), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [221493] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5663), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221543] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(9131), 1, + anon_sym_LPAREN2, + ACTIONS(9133), 1, + anon_sym_defined, + ACTIONS(9139), 1, + sym__number_literal, + ACTIONS(9143), 1, + sym_grit_metavariable, + STATE(5609), 1, + sym_identifier, + STATE(5706), 1, + sym__char_literal, + ACTIONS(9135), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9137), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9141), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5688), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221593] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9105), 1, + anon_sym_LPAREN2, + ACTIONS(9107), 1, + anon_sym_defined, + ACTIONS(9113), 1, + sym__number_literal, + ACTIONS(9117), 1, + sym_grit_metavariable, + STATE(5540), 1, + sym_identifier, + STATE(5653), 1, + sym__char_literal, + ACTIONS(9109), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(9111), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9115), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(5628), 8, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_number_literal, + sym_char_literal, + [221643] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5135), 1, + sym__class_declaration_item, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5520), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [221708] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4883), 1, + sym__class_declaration_item, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5507), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [221773] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [221838] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [221903] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2070), 1, + sym__class_declaration_item, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5436), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [221968] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2029), 1, + sym__class_declaration_item, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222033] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5435), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222098] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222163] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2045), 1, + sym__class_declaration_item, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222228] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2256), 1, + sym__class_declaration_item, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5442), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222293] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5454), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222358] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222423] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7509), 1, + anon_sym_STAR, + ACTIONS(7511), 1, + anon_sym_AMP_AMP, + ACTIONS(7513), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6184), 1, + sym__abstract_declarator, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [222470] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9260), 1, + anon_sym_SEMI, + ACTIONS(9262), 1, + anon_sym_LBRACE, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(9266), 1, + anon_sym_EQ, + ACTIONS(9268), 1, + anon_sym_COLON, + ACTIONS(9270), 1, + anon_sym_try, + STATE(2074), 1, + sym_compound_statement, + STATE(2077), 1, + sym_default_method_clause, + STATE(2078), 1, + sym_delete_method_clause, + STATE(2079), 1, + sym_pure_virtual_clause, + STATE(2081), 1, + sym_try_statement, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6691), 1, + sym_bitfield_clause, + STATE(6726), 1, + aux_sym_field_declaration_repeat1, + STATE(6732), 1, + sym_initializer_list, + STATE(8345), 1, + sym_attribute_specifier, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [222541] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2173), 1, + sym__class_declaration_item, + STATE(6359), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222606] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1889), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222671] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222736] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5430), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222801] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1777), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5443), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222866] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5450), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222931] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [222996] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5475), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223061] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223126] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1773), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223191] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4003), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5431), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5217), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(5219), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [223287] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223352] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(2951), 1, + sym__class_declaration_item, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223417] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(2937), 1, + sym__class_declaration_item, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5455), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223482] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(2989), 1, + sym__class_declaration_item, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223547] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1842), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5491), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223612] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2788), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5462), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223677] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2802), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223742] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1829), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223807] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2841), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223872] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2880), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5464), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [223937] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2861), 1, + sym__class_declaration_item, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224002] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2677), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(2679), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym___extension__, + anon_sym_LBRACK, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym_mutable, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_alignas, + anon_sym__Alignas, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [224098] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3378), 1, + sym__class_declaration_item, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5469), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224163] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3374), 1, + sym__class_declaration_item, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224228] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3439), 1, + sym__class_declaration_item, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224293] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(133), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4961), 1, + anon_sym_COLON_COLON, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9272), 1, + anon_sym_template, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5470), 1, + sym__scope_resolution, + STATE(6515), 1, + sym_identifier, + STATE(6782), 1, + sym_operator_cast, + STATE(6798), 1, + sym_qualified_operator_cast_identifier, + STATE(8227), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [224362] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3444), 1, + sym__class_declaration_item, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5472), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224427] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3150), 1, + sym_field_declaration_list, + STATE(3512), 1, + sym__class_declaration_item, + STATE(6461), 1, + sym__scope_resolution, + STATE(6929), 1, + sym_virtual_specifier, + STATE(7804), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2610), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224492] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5465), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224557] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4887), 1, + sym__class_declaration_item, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5477), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224622] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(2959), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224687] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4909), 1, + sym__class_declaration_item, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224752] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4847), 1, + sym__class_declaration_item, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224817] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3016), 1, + sym__class_declaration_item, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224882] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(5868), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2797), 1, + sym_field_declaration_list, + STATE(3037), 1, + sym__class_declaration_item, + STATE(6456), 1, + sym__scope_resolution, + STATE(6791), 1, + sym_virtual_specifier, + STATE(7554), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2382), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5457), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [224947] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4883), 1, + sym__class_declaration_item, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5481), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225012] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4863), 1, + sym__class_declaration_item, + STATE(6467), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225077] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225142] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2788), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5485), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225207] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2802), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225272] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2841), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225337] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2880), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5488), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225402] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1842), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5512), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225467] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(5910), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2664), 1, + sym_field_declaration_list, + STATE(2861), 1, + sym__class_declaration_item, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(6812), 1, + sym_virtual_specifier, + STATE(7613), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2398), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225532] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1829), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225597] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5482), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225662] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1773), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225727] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1777), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5509), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225792] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2173), 1, + sym__class_declaration_item, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225857] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2256), 1, + sym__class_declaration_item, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5493), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225922] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5497), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [225987] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226052] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226117] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5499), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226182] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(3594), 1, + sym_identifier, + STATE(3972), 1, + sym_field_declaration_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226247] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2045), 1, + sym__class_declaration_item, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226312] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2575), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5504), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226377] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226442] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2029), 1, + sym__class_declaration_item, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226507] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2524), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226572] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2553), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5508), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226637] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2021), 1, + sym_field_declaration_list, + STATE(2070), 1, + sym__class_declaration_item, + STATE(6435), 1, + sym__scope_resolution, + STATE(6828), 1, + sym_virtual_specifier, + STATE(7607), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(1699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5500), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226702] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4863), 1, + sym__class_declaration_item, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226767] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2569), 1, + sym__class_declaration_item, + STATE(3972), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(7002), 1, + sym_virtual_specifier, + STATE(7535), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3415), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226832] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(1889), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [226897] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(9268), 1, + anon_sym_COLON, + ACTIONS(9274), 1, + anon_sym_SEMI, + ACTIONS(9276), 1, + anon_sym_LBRACE, + ACTIONS(9278), 1, + anon_sym_EQ, + ACTIONS(9280), 1, + anon_sym_try, + STATE(1880), 1, + sym_compound_statement, + STATE(1881), 1, + sym_default_method_clause, + STATE(1882), 1, + sym_delete_method_clause, + STATE(1883), 1, + sym_pure_virtual_clause, + STATE(1884), 1, + sym_try_statement, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6711), 1, + sym_bitfield_clause, + STATE(6715), 1, + sym_initializer_list, + STATE(6717), 1, + aux_sym_field_declaration_repeat1, + STATE(7931), 1, + sym_attribute_specifier, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [226968] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4847), 1, + sym__class_declaration_item, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227033] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1773), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227098] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5220), 1, + sym__class_declaration_item, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5514), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227163] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5123), 1, + sym__class_declaration_item, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227228] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1889), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227293] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5200), 1, + sym__class_declaration_item, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227358] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4909), 1, + sym__class_declaration_item, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227423] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1842), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5451), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227488] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6141), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2552), 1, + sym__class_declaration_item, + STATE(2958), 1, + sym_field_declaration_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(6942), 1, + sym_virtual_specifier, + STATE(7805), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2513), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227553] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4923), 1, + sym_field_declaration_list, + STATE(5163), 1, + sym__class_declaration_item, + STATE(6440), 1, + sym__scope_resolution, + STATE(6810), 1, + sym_virtual_specifier, + STATE(7599), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227618] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1829), 1, + sym__class_declaration_item, + STATE(4755), 1, + sym_identifier, + STATE(5232), 1, + sym_field_declaration_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(6790), 1, + sym_virtual_specifier, + STATE(7569), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4732), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227683] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4828), 1, + sym_field_declaration_list, + STATE(4887), 1, + sym__class_declaration_item, + STATE(6438), 1, + sym__scope_resolution, + STATE(6876), 1, + sym_virtual_specifier, + STATE(7514), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(4458), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5511), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227748] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4039), 1, + sym__class_declaration_item, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227813] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(9268), 1, + anon_sym_COLON, + ACTIONS(9282), 1, + anon_sym_SEMI, + ACTIONS(9284), 1, + anon_sym_LBRACE, + ACTIONS(9286), 1, + anon_sym_EQ, + ACTIONS(9288), 1, + anon_sym_try, + STATE(2137), 1, + sym_compound_statement, + STATE(2141), 1, + sym_default_method_clause, + STATE(2151), 1, + sym_delete_method_clause, + STATE(2157), 1, + sym_pure_virtual_clause, + STATE(2163), 1, + sym_try_statement, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6749), 1, + aux_sym_field_declaration_repeat1, + STATE(6752), 1, + sym_initializer_list, + STATE(6753), 1, + sym_bitfield_clause, + STATE(8377), 1, + sym_attribute_specifier, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [227884] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3116), 1, + sym__class_declaration_item, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5527), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [227949] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3121), 1, + sym__class_declaration_item, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228014] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3136), 1, + sym__class_declaration_item, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228079] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3139), 1, + sym__class_declaration_item, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5530), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228144] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5705), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(1777), 1, + sym__class_declaration_item, + STATE(2390), 1, + sym_field_declaration_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(6777), 1, + sym_virtual_specifier, + STATE(7555), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2128), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5515), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228209] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6119), 1, + anon_sym_LBRACE, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2883), 1, + sym_field_declaration_list, + STATE(3153), 1, + sym__class_declaration_item, + STATE(6439), 1, + sym__scope_resolution, + STATE(6910), 1, + sym_virtual_specifier, + STATE(7673), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(2504), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228274] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4060), 1, + sym__class_declaration_item, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5523), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228339] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4055), 1, + sym__class_declaration_item, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228404] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4051), 1, + sym__class_declaration_item, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5532), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228469] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(6143), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3964), 1, + sym_field_declaration_list, + STATE(4045), 1, + sym__class_declaration_item, + STATE(6436), 1, + sym__scope_resolution, + STATE(6992), 1, + sym_virtual_specifier, + STATE(7730), 1, + sym_base_class_clause, + ACTIONS(4951), 2, + anon_sym_final, + anon_sym_override, + STATE(3159), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [228534] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7555), 1, + anon_sym_STAR, + ACTIONS(7557), 1, + anon_sym_AMP_AMP, + ACTIONS(7559), 1, + anon_sym_AMP, + STATE(3249), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6226), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [228580] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9292), 1, + anon_sym_COLON_COLON, + ACTIONS(9294), 1, + anon_sym_template, + ACTIONS(9296), 1, + anon_sym_operator, + STATE(2183), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5536), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [228650] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6970), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [228706] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9298), 1, + anon_sym_TILDE, + ACTIONS(9300), 1, + anon_sym_COLON_COLON, + ACTIONS(9302), 1, + anon_sym_template, + ACTIONS(9304), 1, + anon_sym_operator, + STATE(2183), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5538), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8247), 1, + sym_ms_based_modifier, + [228776] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7685), 1, + sym_grit_metavariable, + ACTIONS(9306), 1, + anon_sym_TILDE, + ACTIONS(9308), 1, + anon_sym_COLON_COLON, + ACTIONS(9310), 1, + anon_sym_template, + ACTIONS(9312), 1, + anon_sym_operator, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2911), 1, + sym_identifier, + STATE(3349), 1, + sym_operator_name, + STATE(3350), 1, + sym_qualified_identifier, + STATE(3351), 1, + sym_pointer_type_declarator, + STATE(3352), 1, + sym_template_function, + STATE(3353), 1, + sym_destructor_name, + STATE(3354), 1, + sym_dependent_identifier, + STATE(5539), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8248), 1, + sym_ms_based_modifier, + [228846] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9316), 1, + anon_sym_LPAREN2, + STATE(5642), 1, + sym_preproc_argument_list, + ACTIONS(9318), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9314), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [228880] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6999), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [228936] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(9207), 1, + anon_sym_TILDE, + ACTIONS(9320), 1, + anon_sym_COLON_COLON, + ACTIONS(9322), 1, + anon_sym_template, + ACTIONS(9324), 1, + anon_sym_operator, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(2895), 1, + sym_identifier, + STATE(5542), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [229006] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4037), 1, + anon_sym_COLON_COLON, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9326), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(3954), 1, + sym_identifier, + STATE(5543), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8227), 1, + sym_ms_based_modifier, + [229076] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(9298), 1, + anon_sym_TILDE, + ACTIONS(9302), 1, + anon_sym_template, + ACTIONS(9304), 1, + anon_sym_operator, + ACTIONS(9328), 1, + anon_sym_COLON_COLON, + STATE(2183), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5544), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8091), 1, + sym_ms_based_modifier, + [229146] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7685), 1, + sym_grit_metavariable, + ACTIONS(9306), 1, + anon_sym_TILDE, + ACTIONS(9312), 1, + anon_sym_operator, + ACTIONS(9330), 1, + anon_sym_COLON_COLON, + ACTIONS(9332), 1, + anon_sym_template, + STATE(1698), 1, + sym_identifier, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(3349), 1, + sym_operator_name, + STATE(3350), 1, + sym_qualified_identifier, + STATE(3351), 1, + sym_pointer_type_declarator, + STATE(3352), 1, + sym_template_function, + STATE(3353), 1, + sym_destructor_name, + STATE(3354), 1, + sym_dependent_identifier, + STATE(5545), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8248), 1, + sym_ms_based_modifier, + [229216] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7547), 1, + anon_sym_STAR, + ACTIONS(7549), 1, + anon_sym_AMP_AMP, + ACTIONS(7551), 1, + anon_sym_AMP, + STATE(3242), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6248), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [229262] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6953), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229318] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6827), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229374] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(9334), 1, + anon_sym_TILDE, + ACTIONS(9336), 1, + anon_sym_COLON_COLON, + ACTIONS(9338), 1, + anon_sym_template, + ACTIONS(9340), 1, + anon_sym_operator, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(3157), 1, + sym_identifier, + STATE(3544), 1, + sym_template_function, + STATE(3634), 1, + sym_pointer_type_declarator, + STATE(3638), 1, + sym_destructor_name, + STATE(3639), 1, + sym_dependent_identifier, + STATE(3641), 1, + sym_qualified_identifier, + STATE(3643), 1, + sym_operator_name, + STATE(5549), 1, + sym__scope_resolution, + STATE(7878), 1, + sym_ms_based_modifier, + STATE(8052), 1, + sym_decltype, + [229444] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6946), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229500] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7665), 1, + sym_grit_metavariable, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9296), 1, + anon_sym_operator, + ACTIONS(9342), 1, + anon_sym_COLON_COLON, + ACTIONS(9344), 1, + anon_sym_template, + STATE(1589), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5551), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [229570] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6941), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229626] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6117), 1, + sym_trailing_return_type, + STATE(6321), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + [229682] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(9348), 1, + anon_sym_LBRACK, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5746), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9346), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [229720] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6912), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229776] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6903), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [229832] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9294), 1, + anon_sym_template, + ACTIONS(9296), 1, + anon_sym_operator, + ACTIONS(9350), 1, + anon_sym_COLON_COLON, + STATE(2183), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5557), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8247), 1, + sym_ms_based_modifier, + [229902] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(9352), 1, + anon_sym_TILDE, + ACTIONS(9354), 1, + anon_sym_COLON_COLON, + ACTIONS(9356), 1, + anon_sym_template, + ACTIONS(9358), 1, + anon_sym_operator, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1720), 1, + sym_identifier, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(3402), 1, + sym_operator_name, + STATE(3404), 1, + sym_qualified_identifier, + STATE(3411), 1, + sym_dependent_identifier, + STATE(3413), 1, + sym_destructor_name, + STATE(3420), 1, + sym_template_function, + STATE(3422), 1, + sym_pointer_type_declarator, + STATE(5558), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8248), 1, + sym_ms_based_modifier, + [229972] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9074), 1, + anon_sym_requires, + STATE(6261), 1, + sym__function_attributes_end, + STATE(6368), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + [230028] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + ACTIONS(9360), 1, + anon_sym_SEMI, + STATE(5510), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(7816), 1, + sym_attribute_specifier, + STATE(8585), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [230086] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(8980), 1, + anon_sym_requires, + STATE(6263), 1, + sym__function_attributes_end, + STATE(6371), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + [230142] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6845), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230198] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + ACTIONS(9362), 1, + anon_sym_SEMI, + STATE(5441), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8150), 1, + sym_attribute_specifier, + STATE(8585), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [230256] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6139), 1, + sym_trailing_return_type, + STATE(6328), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + [230312] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6780), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230368] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6860), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230424] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6774), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230480] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(9366), 1, + anon_sym_LBRACK, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5776), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9364), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [230518] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(9352), 1, + anon_sym_TILDE, + ACTIONS(9358), 1, + anon_sym_operator, + ACTIONS(9368), 1, + anon_sym_COLON_COLON, + ACTIONS(9370), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2969), 1, + sym_identifier, + STATE(3402), 1, + sym_operator_name, + STATE(3404), 1, + sym_qualified_identifier, + STATE(3411), 1, + sym_dependent_identifier, + STATE(3413), 1, + sym_destructor_name, + STATE(3420), 1, + sym_template_function, + STATE(3422), 1, + sym_pointer_type_declarator, + STATE(5569), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8248), 1, + sym_ms_based_modifier, + [230588] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6829), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230644] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6989), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230700] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6932), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230756] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6892), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [230812] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(9334), 1, + anon_sym_TILDE, + ACTIONS(9340), 1, + anon_sym_operator, + ACTIONS(9372), 1, + anon_sym_COLON_COLON, + ACTIONS(9374), 1, + anon_sym_template, + STATE(1807), 1, + sym_identifier, + STATE(2624), 1, + sym_template_type, + STATE(2625), 1, + sym_dependent_type_identifier, + STATE(2645), 1, + sym_qualified_type_identifier, + STATE(3544), 1, + sym_template_function, + STATE(3634), 1, + sym_pointer_type_declarator, + STATE(3638), 1, + sym_destructor_name, + STATE(3639), 1, + sym_dependent_identifier, + STATE(3641), 1, + sym_qualified_identifier, + STATE(3643), 1, + sym_operator_name, + STATE(5574), 1, + sym__scope_resolution, + STATE(7878), 1, + sym_ms_based_modifier, + STATE(8052), 1, + sym_decltype, + [230882] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6170), 1, + sym_trailing_return_type, + STATE(6320), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + [230938] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6144), 1, + sym_trailing_return_type, + STATE(6330), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + [230994] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(9352), 1, + anon_sym_TILDE, + ACTIONS(9358), 1, + anon_sym_operator, + ACTIONS(9376), 1, + sym__identifier, + ACTIONS(9378), 1, + anon_sym_COLON_COLON, + ACTIONS(9380), 1, + sym_grit_metavariable, + ACTIONS(9382), 1, + anon_sym_template, + STATE(1576), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(3402), 1, + sym_operator_name, + STATE(3404), 1, + sym_qualified_identifier, + STATE(3411), 1, + sym_dependent_identifier, + STATE(3413), 1, + sym_destructor_name, + STATE(3420), 1, + sym_template_function, + STATE(3422), 1, + sym_pointer_type_declarator, + STATE(5577), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8248), 1, + sym_ms_based_modifier, + [231064] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(6093), 1, + sym_trailing_return_type, + STATE(6319), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(9008), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + [231120] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8683), 1, + anon_sym_LBRACK_LBRACK, + STATE(6277), 1, + sym__function_attributes_end, + STATE(6383), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8651), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + [231176] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9384), 1, + anon_sym_requires, + STATE(6260), 1, + sym__function_attributes_end, + STATE(6365), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9008), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + [231232] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6926), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [231288] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9065), 1, + anon_sym_LBRACK_LBRACK, + STATE(6275), 1, + sym__function_attributes_end, + STATE(6376), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9008), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + [231344] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6489), 1, + sym__type_declarator, + STATE(6948), 1, + sym__type_definition_declarators, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [231400] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4671), 1, + anon_sym_COLON_COLON, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9387), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(4115), 1, + sym_identifier, + STATE(5584), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8227), 1, + sym_ms_based_modifier, + [231470] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7665), 1, + sym_grit_metavariable, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9296), 1, + anon_sym_operator, + ACTIONS(9389), 1, + anon_sym_COLON_COLON, + ACTIONS(9391), 1, + anon_sym_template, + STATE(1578), 1, + sym_identifier, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5585), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [231540] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8913), 1, + anon_sym_LBRACK_LBRACK, + STATE(6276), 1, + sym__function_attributes_end, + STATE(6377), 1, + sym_trailing_return_type, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(8870), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + [231596] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9119), 1, + anon_sym_requires, + STATE(6178), 1, + sym_trailing_return_type, + STATE(6333), 1, + sym__function_attributes_end, + STATE(6655), 1, + sym_gnu_asm_expression, + ACTIONS(6728), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9008), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5626), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5820), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + [231652] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + ACTIONS(9393), 1, + anon_sym_SEMI, + STATE(5524), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8549), 1, + sym_attribute_specifier, + STATE(8585), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [231710] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9296), 1, + anon_sym_operator, + ACTIONS(9395), 1, + anon_sym_COLON_COLON, + ACTIONS(9397), 1, + anon_sym_template, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(1919), 1, + sym_identifier, + STATE(2423), 1, + sym_pointer_type_declarator, + STATE(2426), 1, + sym_template_function, + STATE(2427), 1, + sym_destructor_name, + STATE(2428), 1, + sym_dependent_identifier, + STATE(2430), 1, + sym_qualified_identifier, + STATE(2432), 1, + sym_operator_name, + STATE(5589), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + STATE(8329), 1, + sym_ms_based_modifier, + [231780] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6574), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [231833] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6496), 1, + anon_sym_COLON_COLON, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9399), 1, + anon_sym_template, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5591), 1, + sym__scope_resolution, + STATE(6524), 1, + sym_identifier, + STATE(8227), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [231896] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6600), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [231949] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(7603), 1, + anon_sym_AMP_AMP, + ACTIONS(7605), 1, + anon_sym_AMP, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(6269), 1, + sym__type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232002] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6578), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232055] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5694), 1, + anon_sym_COLON_COLON, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9272), 1, + anon_sym_template, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5595), 1, + sym__scope_resolution, + STATE(6515), 1, + sym_identifier, + STATE(8227), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [232118] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(7613), 1, + anon_sym_STAR, + ACTIONS(7615), 1, + anon_sym_AMP_AMP, + ACTIONS(7617), 1, + anon_sym_AMP, + STATE(1990), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8329), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232171] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7629), 1, + anon_sym_STAR, + ACTIONS(7631), 1, + anon_sym_AMP_AMP, + ACTIONS(7633), 1, + anon_sym_AMP, + STATE(3524), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6302), 1, + sym__abstract_declarator, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [232216] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7657), 1, + sym__identifier, + ACTIONS(7659), 1, + anon_sym_STAR, + ACTIONS(7661), 1, + anon_sym_AMP_AMP, + ACTIONS(7663), 1, + anon_sym_AMP, + ACTIONS(7665), 1, + sym_grit_metavariable, + STATE(1990), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8247), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232269] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6502), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232322] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7673), 1, + anon_sym_LPAREN2, + ACTIONS(7675), 1, + anon_sym_STAR, + ACTIONS(7677), 1, + anon_sym_AMP_AMP, + ACTIONS(7679), 1, + anon_sym_AMP, + ACTIONS(7683), 1, + sym_primitive_type, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(2924), 1, + sym__type_declarator, + STATE(3337), 1, + sym_identifier, + STATE(3338), 1, + sym_pointer_type_declarator, + STATE(8248), 1, + sym_ms_based_modifier, + ACTIONS(7681), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3342), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232375] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7641), 1, + sym__identifier, + ACTIONS(7643), 1, + anon_sym_LPAREN2, + ACTIONS(7645), 1, + anon_sym_STAR, + ACTIONS(7647), 1, + anon_sym_AMP_AMP, + ACTIONS(7649), 1, + anon_sym_AMP, + ACTIONS(7653), 1, + sym_primitive_type, + ACTIONS(7655), 1, + sym_grit_metavariable, + STATE(3035), 1, + sym__type_declarator, + STATE(3358), 1, + sym_pointer_type_declarator, + STATE(3362), 1, + sym_identifier, + STATE(7878), 1, + sym_ms_based_modifier, + ACTIONS(7651), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3373), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232428] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6622), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232481] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6443), 1, + anon_sym_TILDE, + ACTIONS(6451), 1, + anon_sym_COLON_COLON, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7601), 1, + anon_sym_STAR, + ACTIONS(9401), 1, + anon_sym_template, + STATE(5603), 1, + sym__scope_resolution, + STATE(5928), 1, + sym_identifier, + STATE(6213), 1, + sym_qualified_identifier, + STATE(6217), 1, + sym_dependent_identifier, + STATE(6235), 1, + sym_destructor_name, + STATE(6251), 1, + sym_operator_name, + STATE(6268), 1, + sym_template_function, + STATE(6270), 1, + sym_pointer_type_declarator, + STATE(8510), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [232544] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(7577), 1, + anon_sym_AMP_AMP, + ACTIONS(7579), 1, + anon_sym_AMP, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6619), 1, + sym__type_declarator, + STATE(8237), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232597] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7619), 1, + sym__identifier, + ACTIONS(7621), 1, + anon_sym_STAR, + ACTIONS(7623), 1, + anon_sym_AMP_AMP, + ACTIONS(7625), 1, + anon_sym_AMP, + ACTIONS(7627), 1, + sym_grit_metavariable, + STATE(1990), 1, + sym__type_declarator, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(8091), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [232650] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9405), 1, + anon_sym_LBRACK, + ACTIONS(9403), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [232679] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6498), 1, + anon_sym_TILDE, + ACTIONS(6506), 1, + anon_sym_COLON_COLON, + ACTIONS(6508), 1, + anon_sym_operator, + ACTIONS(7575), 1, + anon_sym_STAR, + ACTIONS(9407), 1, + anon_sym_template, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5607), 1, + sym__scope_resolution, + STATE(6515), 1, + sym_identifier, + STATE(8237), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [232742] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(9411), 1, + anon_sym_RPAREN, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + STATE(7368), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [232797] = 5, + ACTIONS(9314), 1, + anon_sym_LF, + ACTIONS(9437), 1, + anon_sym_LPAREN2, + ACTIONS(9439), 1, + sym_comment, + STATE(5726), 1, + sym_preproc_argument_list, + ACTIONS(9318), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [232830] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5397), 1, + anon_sym_TILDE, + ACTIONS(5405), 1, + anon_sym_COLON_COLON, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(9441), 1, + anon_sym_template, + STATE(5610), 1, + sym__scope_resolution, + STATE(5928), 1, + sym_identifier, + STATE(6213), 1, + sym_qualified_identifier, + STATE(6217), 1, + sym_dependent_identifier, + STATE(6235), 1, + sym_destructor_name, + STATE(6251), 1, + sym_operator_name, + STATE(6268), 1, + sym_template_function, + STATE(6270), 1, + sym_pointer_type_declarator, + STATE(8307), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [232893] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9443), 1, + anon_sym_RPAREN, + STATE(7430), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [232948] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1785), 1, + anon_sym_operator, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2853), 1, + anon_sym_TILDE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + ACTIONS(9447), 1, + anon_sym_template, + STATE(2817), 1, + sym_pointer_type_declarator, + STATE(2820), 1, + sym_template_function, + STATE(2827), 1, + sym_destructor_name, + STATE(2837), 1, + sym_dependent_identifier, + STATE(2839), 1, + sym_qualified_identifier, + STATE(2878), 1, + sym_operator_name, + STATE(5612), 1, + sym__scope_resolution, + STATE(6844), 1, + sym_identifier, + STATE(8227), 1, + sym_ms_based_modifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [233011] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1867), 1, + anon_sym_LPAREN2, + ACTIONS(9453), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9449), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233042] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(7573), 1, + anon_sym_LPAREN2, + ACTIONS(7585), 1, + sym_primitive_type, + ACTIONS(7589), 1, + anon_sym_STAR, + ACTIONS(7591), 1, + anon_sym_AMP_AMP, + ACTIONS(7593), 1, + anon_sym_AMP, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2025), 1, + sym_pointer_type_declarator, + STATE(2180), 1, + sym_identifier, + STATE(6304), 1, + sym__type_declarator, + STATE(8227), 1, + sym_ms_based_modifier, + ACTIONS(7583), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2175), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [233095] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7599), 1, + anon_sym_LPAREN2, + ACTIONS(7609), 1, + sym_primitive_type, + ACTIONS(7667), 1, + anon_sym_STAR, + ACTIONS(7669), 1, + anon_sym_AMP_AMP, + ACTIONS(7671), 1, + anon_sym_AMP, + STATE(6030), 1, + sym__type_declarator, + STATE(6230), 1, + sym_pointer_type_declarator, + STATE(6233), 1, + sym_identifier, + STATE(8307), 1, + sym_ms_based_modifier, + ACTIONS(7607), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(6208), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + sym_reference_type_declarator, + [233148] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9457), 1, + anon_sym_RPAREN, + STATE(7078), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233203] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7705), 1, + anon_sym_STAR, + ACTIONS(7707), 1, + anon_sym_AMP_AMP, + ACTIONS(7709), 1, + anon_sym_AMP, + STATE(3498), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6394), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [233247] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1863), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9463), 1, + anon_sym_SEMI, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9471), 1, + anon_sym_try, + STATE(690), 1, + sym_compound_statement, + STATE(693), 1, + sym_try_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7226), 1, + sym_gnu_asm_expression, + STATE(7271), 1, + aux_sym_declaration_repeat1, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [233305] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9475), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9473), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9479), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9477), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233361] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9483), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9481), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233393] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9485), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6210), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(6781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [233447] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9489), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [233497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9493), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9491), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233525] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9495), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6250), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7194), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [233579] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9366), 1, + anon_sym_LBRACK, + STATE(4740), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5831), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9364), 13, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [233615] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9483), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(9481), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [233657] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9483), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9481), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [233685] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9499), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + ACTIONS(4786), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(5654), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [233723] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9481), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [233771] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9481), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [233817] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9483), 1, + anon_sym_PIPE, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9481), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [233863] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9483), 1, + anon_sym_PIPE, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9481), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [233907] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9483), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(9481), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [233947] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9483), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9481), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [233983] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9503), 1, + anon_sym_SEMI, + ACTIONS(9505), 1, + anon_sym_LBRACE, + ACTIONS(9507), 1, + anon_sym_try, + STATE(667), 1, + sym_compound_statement, + STATE(671), 1, + sym_try_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7490), 1, + aux_sym_declaration_repeat1, + STATE(7491), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234041] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9483), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9481), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234075] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9509), 1, + anon_sym_SEMI, + ACTIONS(9511), 1, + anon_sym_LBRACE, + ACTIONS(9513), 1, + anon_sym_try, + STATE(531), 1, + sym_try_statement, + STATE(574), 1, + sym_compound_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7267), 1, + aux_sym_declaration_repeat1, + STATE(7268), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234133] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9515), 1, + anon_sym_SEMI, + ACTIONS(9517), 1, + anon_sym_LBRACE, + STATE(1740), 1, + sym_compound_statement, + STATE(1742), 1, + sym_try_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7137), 1, + aux_sym_declaration_repeat1, + STATE(7366), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234191] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9521), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9519), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6417), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9525), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9523), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234275] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6421), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6423), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234303] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9527), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6288), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(5622), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(6905), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [234357] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(9531), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + ACTIONS(9529), 2, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7006), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [234399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9535), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9533), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234427] = 4, + ACTIONS(1865), 1, + anon_sym_LPAREN2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9449), 1, + anon_sym_LF, + ACTIONS(9453), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234457] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9539), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9537), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234485] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9541), 1, + anon_sym_SEMI, + ACTIONS(9543), 1, + anon_sym_LBRACE, + STATE(2170), 1, + sym_compound_statement, + STATE(2172), 1, + sym_try_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7115), 1, + sym_gnu_asm_expression, + STATE(7118), 1, + aux_sym_declaration_repeat1, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234543] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9545), 1, + anon_sym_SEMI, + ACTIONS(9547), 1, + anon_sym_LBRACE, + ACTIONS(9549), 1, + anon_sym_try, + STATE(391), 1, + sym_compound_statement, + STATE(393), 1, + sym_try_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7182), 1, + aux_sym_declaration_repeat1, + STATE(7208), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234601] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9348), 1, + anon_sym_LBRACK, + STATE(4740), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5818), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9346), 13, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [234637] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9551), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6278), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(5625), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7437), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [234691] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6407), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6409), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234719] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9553), 1, + sym__identifier, + ACTIONS(9559), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + ACTIONS(4773), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(5654), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9556), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9562), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [234757] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9567), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9565), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234785] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(9499), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + ACTIONS(4764), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(5629), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [234823] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9569), 1, + anon_sym_SEMI, + ACTIONS(9571), 1, + anon_sym_LBRACE, + STATE(2102), 1, + sym_try_statement, + STATE(2103), 1, + sym_compound_statement, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7348), 1, + aux_sym_declaration_repeat1, + STATE(7349), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [234881] = 3, + ACTIONS(1867), 1, + anon_sym_LF, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(1865), 19, + anon_sym_LPAREN2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [234909] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5768), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [234948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9575), 1, + anon_sym_LBRACK, + ACTIONS(9573), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [234975] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235010] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9577), 1, + anon_sym_LF, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235055] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9599), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235100] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9601), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235145] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235180] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [235215] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9100), 1, + anon_sym_requires, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235250] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9610), 1, + anon_sym_requires, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235285] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(9620), 1, + anon_sym_requires, + ACTIONS(9617), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235320] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5773), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [235359] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5768), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [235398] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5766), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [235437] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9491), 1, + anon_sym_LF, + ACTIONS(9493), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [235464] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9623), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235509] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [235548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9627), 1, + anon_sym_LBRACK, + ACTIONS(9625), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [235575] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9631), 1, + anon_sym_LBRACK, + ACTIONS(9629), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [235602] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [235637] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9633), 1, + anon_sym_requires, + STATE(5765), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [235676] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235711] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9483), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [235740] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9483), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [235767] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(5678), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [235806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4802), 1, + anon_sym_LBRACK, + ACTIONS(4804), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [235833] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9483), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235878] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235913] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [235948] = 11, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9483), 2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [235991] = 10, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9483), 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236032] = 9, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9483), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236071] = 8, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(9483), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [236108] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [236147] = 7, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(9483), 7, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [236182] = 6, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9483), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236215] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [236250] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [236289] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 1, + anon_sym_LBRACK, + ACTIONS(4838), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 1, + anon_sym_LBRACK, + ACTIONS(4792), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236343] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9636), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236388] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9638), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236433] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9481), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9483), 13, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [236464] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9640), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236509] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9642), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236554] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 1, + anon_sym_LBRACK, + ACTIONS(4846), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236581] = 3, + ACTIONS(6423), 1, + anon_sym_LF, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(6421), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [236608] = 3, + ACTIONS(6409), 1, + anon_sym_LF, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(6407), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [236635] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5778), 1, + anon_sym_LBRACK, + ACTIONS(9644), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(9646), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5780), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [236666] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7124), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5772), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [236705] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9648), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236750] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [236785] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9650), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [236830] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7782), 1, + anon_sym_STAR, + ACTIONS(7784), 1, + anon_sym_AMP_AMP, + ACTIONS(7786), 1, + anon_sym_AMP, + STATE(3719), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6475), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(7766), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [236873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4798), 1, + anon_sym_LBRACK, + ACTIONS(4800), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236900] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4810), 1, + anon_sym_LBRACK, + ACTIONS(4812), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236927] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 1, + anon_sym_LBRACK, + ACTIONS(2402), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4806), 1, + anon_sym_LBRACK, + ACTIONS(4808), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [236981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 1, + anon_sym_LBRACK, + ACTIONS(2450), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4818), 1, + anon_sym_LBRACK, + ACTIONS(4820), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237035] = 3, + ACTIONS(6417), 1, + anon_sym_LF, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(6415), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [237062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 1, + anon_sym_LBRACK, + ACTIONS(4796), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 1, + anon_sym_LBRACK, + ACTIONS(4796), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4794), 1, + anon_sym_LBRACK, + ACTIONS(4796), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237143] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237178] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9654), 1, + anon_sym_LBRACK, + ACTIONS(9652), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [237205] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 1, + anon_sym_LBRACK, + ACTIONS(4850), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237232] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9523), 1, + anon_sym_LF, + ACTIONS(9525), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [237259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9658), 1, + anon_sym_LBRACK, + ACTIONS(9656), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [237286] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9610), 1, + anon_sym_requires, + STATE(5669), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237325] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4840), 1, + anon_sym_LBRACK, + ACTIONS(4842), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237352] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5752), 1, + anon_sym_LBRACK, + ACTIONS(9646), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_or, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [237381] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9100), 1, + anon_sym_requires, + STATE(5668), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237420] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4822), 1, + anon_sym_LBRACK, + ACTIONS(4824), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237486] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5752), 1, + anon_sym_LBRACK, + ACTIONS(9660), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 16, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4814), 1, + anon_sym_LBRACK, + ACTIONS(4816), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_or, + anon_sym_and, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [237542] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237581] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9565), 1, + anon_sym_LF, + ACTIONS(9567), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [237608] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9633), 1, + anon_sym_requires, + STATE(5765), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [237647] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5766), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [237686] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5773), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [237725] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(5680), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237764] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(6047), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [237813] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5686), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237852] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(6525), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [237901] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [237940] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9664), 1, + anon_sym_LBRACK, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9662), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [237971] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [238010] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [238049] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9666), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [238094] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5778), 1, + anon_sym_LBRACK, + ACTIONS(9660), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(9668), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 14, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [238125] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9537), 1, + anon_sym_LF, + ACTIONS(9539), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238152] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5772), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [238191] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9533), 1, + anon_sym_LF, + ACTIONS(9535), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238218] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9670), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [238263] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9672), 1, + anon_sym_RPAREN, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238312] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9519), 1, + anon_sym_LF, + ACTIONS(9521), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238339] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9417), 1, + anon_sym_SLASH, + ACTIONS(9419), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9421), 1, + anon_sym_AMP_AMP, + ACTIONS(9423), 1, + anon_sym_PIPE, + ACTIONS(9425), 1, + anon_sym_CARET, + ACTIONS(9427), 1, + anon_sym_AMP, + ACTIONS(9674), 1, + anon_sym_RPAREN, + ACTIONS(9413), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9415), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(9429), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9431), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(9433), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(9435), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238388] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9477), 1, + anon_sym_LF, + ACTIONS(9479), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238415] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9473), 1, + anon_sym_LF, + ACTIONS(9475), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [238442] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6870), 1, + anon_sym_DASH_GT, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(5678), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [238481] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9676), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [238526] = 12, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9583), 1, + anon_sym_PIPE_PIPE, + ACTIONS(9585), 1, + anon_sym_AMP_AMP, + ACTIONS(9587), 1, + anon_sym_PIPE, + ACTIONS(9589), 1, + anon_sym_CARET, + ACTIONS(9591), 1, + anon_sym_AMP, + ACTIONS(9678), 1, + anon_sym_LF, + ACTIONS(9579), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(9593), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(9597), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(9581), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(9595), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [238571] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9366), 1, + anon_sym_LBRACK, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9364), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [238602] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9682), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5769), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + ACTIONS(9680), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [238633] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(9684), 1, + anon_sym_requires, + ACTIONS(9617), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238668] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9633), 1, + anon_sym_requires, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238703] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(6453), 1, + anon_sym_operator, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7788), 1, + anon_sym_STAR, + ACTIONS(7790), 1, + anon_sym_AMP_AMP, + ACTIONS(7792), 1, + anon_sym_AMP, + STATE(6129), 1, + sym__field_declarator, + STATE(6317), 1, + sym_identifier, + STATE(6327), 1, + sym_operator_name, + STATE(8585), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [238752] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238787] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9689), 1, + anon_sym_LBRACK, + ACTIONS(9691), 2, + anon_sym_final, + anon_sym_override, + STATE(5769), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + ACTIONS(9687), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [238818] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238853] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(7774), 1, + anon_sym_LPAREN2, + ACTIONS(7776), 1, + anon_sym_STAR, + ACTIONS(7778), 1, + anon_sym_AMP_AMP, + ACTIONS(7780), 1, + anon_sym_AMP, + STATE(6528), 1, + sym__field_declarator, + STATE(6674), 1, + sym_identifier, + STATE(6678), 1, + sym_operator_name, + STATE(8310), 1, + sym_ms_based_modifier, + STATE(6361), 7, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + [238902] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238937] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [238972] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 11, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [239007] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9696), 1, + anon_sym_LPAREN2, + ACTIONS(9698), 1, + anon_sym_LBRACK, + ACTIONS(9694), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [239036] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9348), 1, + anon_sym_LBRACK, + STATE(5254), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9346), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [239067] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(9700), 1, + sym_primitive_type, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3432), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(1879), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239113] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(9702), 1, + sym_primitive_type, + STATE(2296), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2478), 1, + sym_identifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(2889), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8754), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239159] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7480), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239197] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + STATE(5954), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [239233] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7071), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239271] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + STATE(5980), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [239307] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4764), 1, + anon_sym_RPAREN, + ACTIONS(9499), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + STATE(5795), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239343] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(9704), 1, + sym_primitive_type, + STATE(4149), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4189), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(4850), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7440), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239389] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(9706), 1, + sym_primitive_type, + STATE(3020), 1, + sym_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6399), 1, + sym__scope_resolution, + STATE(2545), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239435] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(9700), 1, + sym_primitive_type, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3432), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(1879), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239481] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7414), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239519] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7403), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239557] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(9531), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7276), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239595] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7412), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239633] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + STATE(5922), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [239669] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(8658), 1, + anon_sym_requires, + STATE(5933), 1, + sym_trailing_return_type, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [239705] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7057), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239743] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(9708), 1, + sym_primitive_type, + STATE(1966), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2037), 1, + sym_identifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(2281), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8822), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239789] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4786), 1, + anon_sym_RPAREN, + ACTIONS(9499), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + STATE(5800), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239825] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(9710), 1, + sym_primitive_type, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3957), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(2713), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [239871] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7415), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [239909] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(8879), 1, + anon_sym_requires, + STATE(5944), 1, + sym_trailing_return_type, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [239945] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9712), 1, + anon_sym_SEMI, + ACTIONS(9714), 1, + anon_sym_COLON, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7040), 1, + sym_gnu_asm_expression, + STATE(7045), 1, + aux_sym_declaration_repeat1, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [239997] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4773), 1, + anon_sym_RPAREN, + ACTIONS(9559), 1, + sym_grit_metavariable, + ACTIONS(9716), 1, + sym__identifier, + STATE(6028), 1, + sym__string_literal, + STATE(5800), 4, + sym_string_literal, + sym_identifier, + sym_raw_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(9556), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9562), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240033] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(9015), 1, + anon_sym_requires, + STATE(5950), 1, + sym_trailing_return_type, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [240069] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7127), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240107] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(9722), 1, + anon_sym_requires, + STATE(5956), 1, + sym_trailing_return_type, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [240143] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(9725), 1, + sym_primitive_type, + STATE(4203), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4234), 1, + sym_identifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(5057), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7420), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240189] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7088), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240227] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6730), 1, + anon_sym_DASH_GT, + ACTIONS(6738), 1, + anon_sym_requires, + STATE(5978), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [240263] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9700), 1, + sym_primitive_type, + STATE(1743), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4574), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(1879), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1741), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240309] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5696), 1, + anon_sym_LBRACK, + ACTIONS(9727), 1, + anon_sym_LBRACK_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5698), 14, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [240339] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7380), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240377] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7126), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240415] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(9730), 1, + sym_primitive_type, + STATE(2496), 1, + sym_identifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6363), 1, + sym__scope_resolution, + STATE(2545), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240461] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(9732), 1, + sym_primitive_type, + STATE(2355), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2515), 1, + sym_identifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(3039), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8778), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240507] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9700), 1, + sym_primitive_type, + STATE(1995), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4574), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(1879), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7346), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240553] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7289), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [240591] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(9708), 1, + sym_primitive_type, + STATE(2037), 1, + sym_identifier, + STATE(2375), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6359), 1, + sym__scope_resolution, + STATE(2281), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8804), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240637] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3575), 1, + anon_sym_COLON_COLON, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(9706), 1, + sym_primitive_type, + STATE(3020), 1, + sym_identifier, + STATE(4086), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6410), 1, + sym__scope_resolution, + STATE(2545), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3577), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240683] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(9706), 1, + sym_primitive_type, + STATE(3020), 1, + sym_identifier, + STATE(4100), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6445), 1, + sym__scope_resolution, + STATE(2545), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7382), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240729] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9664), 1, + anon_sym_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9662), 14, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [240759] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7481), 1, + anon_sym_LPAREN2, + ACTIONS(7495), 1, + anon_sym_LBRACK, + ACTIONS(7834), 1, + anon_sym_STAR, + ACTIONS(7836), 1, + anon_sym_AMP_AMP, + ACTIONS(7838), 1, + anon_sym_AMP, + STATE(3819), 1, + sym_parameter_list, + STATE(5864), 1, + sym__function_declarator_seq, + STATE(6507), 1, + sym__abstract_declarator, + ACTIONS(7766), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(5863), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [240801] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9366), 1, + anon_sym_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9364), 14, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [240831] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(9704), 1, + sym_primitive_type, + STATE(4189), 1, + sym_identifier, + STATE(4729), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6438), 1, + sym__scope_resolution, + STATE(4850), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7328), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240877] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(9734), 1, + sym_primitive_type, + STATE(4894), 1, + sym_identifier, + STATE(4952), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6418), 1, + sym__scope_resolution, + STATE(1879), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(7312), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240923] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9736), 1, + sym_primitive_type, + STATE(1945), 1, + sym_identifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6435), 1, + sym__scope_resolution, + STATE(2281), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8832), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [240969] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7300), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [241007] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(9730), 1, + sym_primitive_type, + STATE(2496), 1, + sym_identifier, + STATE(2498), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6413), 1, + sym__scope_resolution, + STATE(2545), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(53), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [241053] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(9738), 1, + sym_primitive_type, + STATE(2505), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2594), 1, + sym_identifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(3282), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8714), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [241099] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(9740), 1, + sym_primitive_type, + STATE(3164), 1, + sym_identifier, + STATE(3171), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(6436), 1, + sym__scope_resolution, + STATE(4026), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(8734), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [241145] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(5852), 1, + sym_string_literal, + STATE(6157), 2, + sym_identifier, + sym_raw_string_literal, + STATE(7145), 2, + sym__string, + sym_concatenated_string, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [241183] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(9710), 1, + sym_primitive_type, + STATE(1969), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4646), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(2713), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2470), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [241229] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(9352), 1, + anon_sym_TILDE, + ACTIONS(9742), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(9745), 1, + anon_sym_COLON_COLON, + ACTIONS(9747), 1, + anon_sym_template, + STATE(3084), 1, + sym_identifier, + STATE(6078), 1, + sym__scope_resolution, + STATE(7779), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(3409), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [241277] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9348), 1, + anon_sym_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9346), 14, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [241307] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(9290), 1, + anon_sym_TILDE, + ACTIONS(9749), 1, + anon_sym_COLON_COLON, + ACTIONS(9751), 1, + anon_sym_template, + STATE(2316), 1, + sym_identifier, + STATE(5993), 1, + sym__scope_resolution, + STATE(7762), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(2468), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [241352] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9610), 1, + anon_sym_requires, + STATE(5669), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [241389] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9712), 1, + anon_sym_SEMI, + ACTIONS(9753), 1, + anon_sym_EQ, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7040), 1, + sym_gnu_asm_expression, + STATE(7045), 1, + aux_sym_declaration_repeat1, + STATE(7421), 1, + sym_initializer_list, + STATE(7744), 1, + sym_argument_list, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [241440] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9545), 1, + anon_sym_SEMI, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7182), 1, + aux_sym_declaration_repeat1, + STATE(7208), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [241489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9757), 1, + anon_sym_LBRACK, + ACTIONS(9755), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [241514] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(9613), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [241539] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9759), 1, + anon_sym_LBRACE, + ACTIONS(9761), 1, + anon_sym_requires, + STATE(1639), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6073), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6907), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [241588] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(8142), 1, + sym_concatenated_string, + STATE(6057), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [241625] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9503), 1, + anon_sym_SEMI, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7490), 1, + aux_sym_declaration_repeat1, + STATE(7491), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [241674] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5723), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [241711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8870), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [241736] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(8105), 1, + sym_concatenated_string, + STATE(6014), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [241773] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5725), 1, + sym_compound_statement, + STATE(5848), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6921), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [241822] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2421), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(5892), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6808), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [241871] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7861), 1, + anon_sym_STAR, + ACTIONS(7863), 1, + anon_sym_AMP_AMP, + ACTIONS(7865), 1, + anon_sym_AMP, + STATE(3919), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6552), 1, + sym__abstract_declarator, + ACTIONS(7766), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [241912] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(8060), 1, + sym_concatenated_string, + STATE(5997), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [241949] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5713), 1, + sym_compound_statement, + STATE(6032), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6916), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [241998] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3877), 1, + sym_compound_statement, + STATE(6070), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(7009), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9773), 1, + anon_sym_LBRACK, + ACTIONS(9771), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242072] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(7991), 1, + sym_concatenated_string, + STATE(6035), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [242109] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + STATE(5656), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(4994), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [242142] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9298), 1, + anon_sym_TILDE, + ACTIONS(9751), 1, + anon_sym_template, + ACTIONS(9777), 1, + anon_sym_COLON_COLON, + STATE(2316), 1, + sym_identifier, + STATE(6016), 1, + sym__scope_resolution, + STATE(7762), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(2468), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [242187] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8689), 1, + anon_sym_requires, + STATE(5773), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [242224] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(8220), 1, + sym_concatenated_string, + STATE(6049), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [242261] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3573), 1, + sym_compound_statement, + STATE(5857), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6825), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242310] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3552), 1, + sym_compound_statement, + STATE(6066), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6858), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242359] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9783), 1, + anon_sym___attribute__, + ACTIONS(9788), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(5858), 3, + sym_attribute_specifier, + sym_alignas_qualifier, + aux_sym__class_declaration_repeat1, + ACTIONS(9786), 4, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + sym_grit_metavariable, + ACTIONS(9781), 7, + anon_sym___declspec, + anon_sym_COLON, + sym__identifier, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_template, + [242390] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(7838), 1, + sym_concatenated_string, + STATE(6053), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [242427] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8926), 1, + anon_sym_requires, + STATE(5768), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [242464] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9759), 1, + anon_sym_LBRACE, + ACTIONS(9763), 1, + anon_sym_LT, + STATE(1653), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(5838), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6974), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242513] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + STATE(1653), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(5911), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6923), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9793), 1, + anon_sym_LBRACK, + ACTIONS(9791), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9797), 1, + anon_sym_LBRACK, + ACTIONS(9795), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9801), 1, + anon_sym_LBRACK, + ACTIONS(9799), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242637] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(9803), 1, + aux_sym_preproc_if_token2, + ACTIONS(9805), 1, + aux_sym_preproc_else_token1, + ACTIONS(9807), 1, + aux_sym_preproc_elif_token1, + STATE(6252), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(6256), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(6506), 1, + sym_identifier, + STATE(6517), 1, + sym_enumerator, + ACTIONS(9809), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8003), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(8021), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [242682] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5772), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [242719] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8651), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242744] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(9298), 1, + anon_sym_TILDE, + ACTIONS(9811), 1, + anon_sym_COLON_COLON, + ACTIONS(9813), 1, + anon_sym_template, + STATE(2316), 1, + sym_identifier, + STATE(6055), 1, + sym__scope_resolution, + STATE(7626), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(2468), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [242789] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9071), 1, + anon_sym_requires, + STATE(5766), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [242826] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9817), 1, + anon_sym_LBRACK, + ACTIONS(9815), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242851] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4610), 1, + anon_sym_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + ACTIONS(4617), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [242882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9821), 1, + anon_sym_LBRACK, + ACTIONS(9819), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242907] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9825), 1, + anon_sym_LBRACK, + ACTIONS(9823), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [242932] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3419), 1, + sym_compound_statement, + STATE(5999), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6909), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [242981] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6453), 1, + sym__abstract_declarator, + ACTIONS(7766), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243022] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(9352), 1, + anon_sym_TILDE, + ACTIONS(9745), 1, + anon_sym_COLON_COLON, + ACTIONS(9747), 1, + anon_sym_template, + STATE(3084), 1, + sym_identifier, + STATE(6078), 1, + sym__scope_resolution, + STATE(7779), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(3409), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [243067] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9100), 1, + anon_sym_requires, + STATE(5668), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243104] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(9805), 1, + aux_sym_preproc_else_token1, + ACTIONS(9807), 1, + aux_sym_preproc_elif_token1, + ACTIONS(9829), 1, + aux_sym_preproc_if_token2, + STATE(6232), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(6234), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(6506), 1, + sym_identifier, + STATE(6517), 1, + sym_enumerator, + ACTIONS(9809), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8004), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + STATE(8005), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [243149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9833), 1, + anon_sym_LBRACK, + ACTIONS(9831), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243174] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8952), 1, + anon_sym_requires, + STATE(5667), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243211] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3195), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6071), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6917), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243260] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8796), 1, + anon_sym_requires, + STATE(5665), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243297] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9633), 1, + anon_sym_requires, + STATE(5765), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [243334] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3340), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(5882), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6764), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243383] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3431), 1, + sym_compound_statement, + STATE(5875), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6807), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9603), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243457] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(5680), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243494] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5686), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243531] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(4251), 1, + sym_compound_statement, + STATE(6004), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6769), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243580] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(9334), 1, + anon_sym_TILDE, + ACTIONS(9839), 1, + anon_sym_COLON_COLON, + ACTIONS(9841), 1, + anon_sym_template, + STATE(3310), 1, + sym_identifier, + STATE(6054), 1, + sym__scope_resolution, + STATE(7748), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + STATE(3705), 4, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + sym_qualified_field_identifier, + [243625] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2453), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6042), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(7007), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243674] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(5687), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243711] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7126), 1, + anon_sym_DASH_GT, + ACTIONS(7172), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(5695), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [243748] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(5678), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [243785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9845), 1, + anon_sym_LBRACK, + ACTIONS(9843), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243810] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(9805), 1, + aux_sym_preproc_else_token1, + ACTIONS(9807), 1, + aux_sym_preproc_elif_token1, + ACTIONS(9847), 1, + aux_sym_preproc_if_token2, + STATE(6282), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(6293), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(6506), 1, + sym_identifier, + STATE(6517), 1, + sym_enumerator, + ACTIONS(9809), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8520), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + STATE(8521), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [243855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9851), 1, + anon_sym_LBRACK, + ACTIONS(9849), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9855), 1, + anon_sym_LBRACK, + ACTIONS(9853), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243905] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3867), 1, + sym_compound_statement, + STATE(5849), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6906), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [243954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9859), 1, + anon_sym_LBRACK, + ACTIONS(9857), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [243979] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5937), 1, + sym_compound_statement, + STATE(6060), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(7014), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [244028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9865), 1, + anon_sym_LBRACK, + ACTIONS(9863), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244053] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9712), 1, + anon_sym_SEMI, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7040), 1, + sym_gnu_asm_expression, + STATE(7045), 1, + aux_sym_declaration_repeat1, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [244102] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6872), 1, + anon_sym_requires, + ACTIONS(7122), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(5666), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [244139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9869), 1, + anon_sym_LBRACK, + ACTIONS(9867), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9873), 1, + anon_sym_LBRACK, + ACTIONS(9871), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9008), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244214] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(4375), 1, + sym_compound_statement, + STATE(5890), 1, + sym_template_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6794), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [244263] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(9805), 1, + aux_sym_preproc_else_token1, + ACTIONS(9807), 1, + aux_sym_preproc_elif_token1, + ACTIONS(9875), 1, + aux_sym_preproc_if_token2, + STATE(6281), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(6284), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(6506), 1, + sym_identifier, + STATE(6517), 1, + sym_enumerator, + ACTIONS(9809), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(7891), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(7894), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [244308] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9761), 1, + anon_sym_requires, + STATE(1639), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6081), 1, + sym_requires_clause, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6951), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [244357] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(5032), 1, + anon_sym_COLON, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + ACTIONS(3789), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [244388] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9463), 1, + anon_sym_SEMI, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7226), 1, + sym_gnu_asm_expression, + STATE(7271), 1, + aux_sym_declaration_repeat1, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [244437] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(6101), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6123), 1, + sym_identifier, + STATE(8368), 1, + sym_concatenated_string, + STATE(5998), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(153), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [244474] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9763), 1, + anon_sym_LT, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5902), 1, + sym_template_parameter_list, + STATE(5957), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(7001), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [244523] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + ACTIONS(9509), 1, + anon_sym_SEMI, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7267), 1, + aux_sym_declaration_repeat1, + STATE(7268), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [244572] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4796), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244594] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2662), 1, + sym_enumerator_list, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + ACTIONS(9877), 2, + anon_sym_class, + anon_sym_struct, + STATE(4922), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [244640] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6464), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3152), 1, + sym_enumerator_list, + STATE(6461), 1, + sym__scope_resolution, + ACTIONS(9879), 2, + anon_sym_class, + anon_sym_struct, + STATE(2812), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [244686] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8658), 1, + anon_sym_requires, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [244716] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 1, + anon_sym_LBRACK, + ACTIONS(9881), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(5830), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [244742] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [244772] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2017), 1, + sym_enumerator_list, + STATE(6359), 1, + sym__scope_resolution, + ACTIONS(9883), 2, + anon_sym_class, + anon_sym_struct, + STATE(2699), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [244818] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6188), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [244854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4804), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [244876] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6311), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7038), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [244920] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(2483), 1, + sym_enumerator_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + ACTIONS(9885), 2, + anon_sym_class, + anon_sym_struct, + STATE(3979), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [244966] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(4619), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(4612), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [244996] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4838), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245018] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7929), 1, + anon_sym_STAR, + ACTIONS(7931), 1, + anon_sym_AMP_AMP, + ACTIONS(7933), 1, + anon_sym_AMP, + STATE(3754), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6562), 1, + sym__abstract_declarator, + ACTIONS(7766), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [245058] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4792), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245080] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(2483), 1, + sym_enumerator_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + ACTIONS(9887), 2, + anon_sym_class, + anon_sym_struct, + STATE(5245), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245126] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8879), 1, + anon_sym_requires, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [245156] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4846), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245178] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2402), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245200] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5953), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + ACTIONS(9680), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245226] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4800), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245248] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4812), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245270] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4808), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245292] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2450), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245314] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4820), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245336] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6344), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7194), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [245380] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2017), 1, + sym_enumerator_list, + STATE(6359), 1, + sym__scope_resolution, + ACTIONS(9889), 2, + anon_sym_class, + anon_sym_struct, + STATE(2497), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245426] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9015), 1, + anon_sym_requires, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [245456] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(2483), 1, + sym_enumerator_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + ACTIONS(9891), 2, + anon_sym_class, + anon_sym_struct, + STATE(4940), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245502] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6613), 1, + sym__abstract_declarator, + ACTIONS(7766), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [245542] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(7553), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(4676), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [245572] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6348), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [245616] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(3969), 1, + sym_enumerator_list, + STATE(6426), 1, + sym__scope_resolution, + ACTIONS(9893), 2, + anon_sym_class, + anon_sym_struct, + STATE(4391), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245662] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9722), 1, + anon_sym_requires, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [245692] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(2483), 1, + sym_enumerator_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + ACTIONS(9895), 2, + anon_sym_class, + anon_sym_struct, + STATE(4154), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245738] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4796), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245760] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9897), 2, + anon_sym_final, + anon_sym_override, + STATE(5953), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + ACTIONS(9687), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245786] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [245816] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4818), 1, + sym_enumerator_list, + STATE(6467), 1, + sym__scope_resolution, + ACTIONS(9900), 2, + anon_sym_class, + anon_sym_struct, + STATE(4624), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245862] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9905), 1, + anon_sym_requires, + ACTIONS(9902), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [245892] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4850), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245914] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(2960), 1, + sym_enumerator_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + ACTIONS(9908), 2, + anon_sym_class, + anon_sym_struct, + STATE(3384), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [245960] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4842), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [245982] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(6207), 1, + anon_sym_LBRACE, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2799), 1, + sym_enumerator_list, + STATE(6456), 1, + sym__scope_resolution, + ACTIONS(9910), 2, + anon_sym_class, + anon_sym_struct, + STATE(2588), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246028] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(6182), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246064] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(4755), 1, + sym_identifier, + STATE(5226), 1, + sym_enumerator_list, + STATE(6418), 1, + sym__scope_resolution, + ACTIONS(9912), 2, + anon_sym_class, + anon_sym_struct, + STATE(4838), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246110] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4796), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [246132] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8891), 1, + anon_sym_requires, + STATE(6107), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246168] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9461), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9467), 1, + anon_sym_EQ, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7625), 1, + sym_gnu_asm_expression, + ACTIONS(9469), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(9914), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(7744), 2, + sym_argument_list, + sym_initializer_list, + [246212] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6203), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246248] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2017), 1, + sym_enumerator_list, + STATE(6435), 1, + sym__scope_resolution, + ACTIONS(9916), 2, + anon_sym_class, + anon_sym_struct, + STATE(2329), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246294] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8986), 1, + anon_sym_requires, + STATE(6101), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246330] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3755), 1, + anon_sym_LBRACK, + ACTIONS(3757), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [246354] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4824), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [246376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9918), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [246400] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2959), 1, + sym_identifier, + STATE(2960), 1, + sym_enumerator_list, + STATE(6446), 1, + sym__scope_resolution, + ACTIONS(9920), 2, + anon_sym_class, + anon_sym_struct, + STATE(4138), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246446] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4816), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_or, + anon_sym_and, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [246468] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(6180), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246504] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4818), 1, + sym_enumerator_list, + STATE(6438), 1, + sym__scope_resolution, + ACTIONS(9922), 2, + anon_sym_class, + anon_sym_struct, + STATE(5150), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246550] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6324), 1, + sym_access_specifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6784), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + ACTIONS(9487), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [246594] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7452), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3974), 1, + sym_enumerator_list, + STATE(6436), 1, + sym__scope_resolution, + ACTIONS(9924), 2, + anon_sym_class, + anon_sym_struct, + STATE(3672), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246640] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [246670] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6248), 1, + anon_sym_LBRACE, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2900), 1, + sym_enumerator_list, + STATE(6439), 1, + sym__scope_resolution, + ACTIONS(9926), 2, + anon_sym_class, + anon_sym_struct, + STATE(2663), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246716] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [246746] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9124), 1, + anon_sym_requires, + STATE(6086), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [246782] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8670), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4920), 1, + sym_enumerator_list, + STATE(6440), 1, + sym__scope_resolution, + ACTIONS(9928), 2, + anon_sym_class, + anon_sym_struct, + STATE(4748), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246828] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(2959), 1, + sym_identifier, + STATE(2960), 1, + sym_enumerator_list, + STATE(6363), 1, + sym__scope_resolution, + ACTIONS(9930), 2, + anon_sym_class, + anon_sym_struct, + STATE(3173), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [246874] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9918), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(9932), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [246900] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3759), 1, + anon_sym_LBRACK, + ACTIONS(3761), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [246924] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6738), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [246954] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3969), 1, + sym_enumerator_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + ACTIONS(9934), 2, + anon_sym_class, + anon_sym_struct, + STATE(4331), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [247000] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7276), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9936), 1, + anon_sym_requires, + STATE(6090), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [247036] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(3969), 1, + sym_enumerator_list, + STATE(6438), 1, + sym__scope_resolution, + ACTIONS(9939), 2, + anon_sym_class, + anon_sym_struct, + STATE(4885), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [247082] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2662), 1, + sym_enumerator_list, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + ACTIONS(9941), 2, + anon_sym_class, + anon_sym_struct, + STATE(4130), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [247128] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [247157] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9951), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7496), 2, + sym_preproc_call, + sym_enumerator, + STATE(7814), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [247196] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(9749), 1, + anon_sym_COLON_COLON, + ACTIONS(9751), 1, + anon_sym_template, + STATE(2327), 1, + sym_identifier, + STATE(2334), 1, + sym_qualified_field_identifier, + STATE(2364), 1, + sym_dependent_field_identifier, + STATE(2366), 1, + sym_template_method, + STATE(5993), 1, + sym__scope_resolution, + STATE(7762), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [247241] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(9953), 1, + anon_sym_COLON_COLON, + STATE(6082), 1, + sym__scope_resolution, + STATE(6570), 1, + sym_identifier, + STATE(7588), 1, + sym_operator_name, + STATE(7652), 1, + sym_field_initializer, + STATE(6801), 2, + sym_template_method, + sym_qualified_field_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [247284] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9955), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7661), 2, + sym_preproc_call, + sym_enumerator, + STATE(8128), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [247323] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9957), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7687), 2, + sym_preproc_call, + sym_enumerator, + STATE(8067), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(5992), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [247362] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(9959), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [247393] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(9961), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [247424] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3500), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6991), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [247467] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + STATE(6170), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [247500] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9963), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7759), 2, + sym_preproc_call, + sym_enumerator, + STATE(7925), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6050), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [247539] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(5857), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [247566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6027), 1, + anon_sym_LBRACK, + ACTIONS(6029), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [247589] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(4395), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6826), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [247632] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + STATE(6122), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [247665] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + STATE(6093), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [247698] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247727] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247756] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247785] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247814] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247843] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247872] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247901] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(9979), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [247932] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3161), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [247961] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(9751), 1, + anon_sym_template, + ACTIONS(9777), 1, + anon_sym_COLON_COLON, + STATE(2327), 1, + sym_identifier, + STATE(2334), 1, + sym_qualified_field_identifier, + STATE(2364), 1, + sym_dependent_field_identifier, + STATE(2366), 1, + sym_template_method, + STATE(6016), 1, + sym__scope_resolution, + STATE(7762), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [248006] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9981), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7525), 2, + sym_preproc_call, + sym_enumerator, + STATE(8491), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6027), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [248045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4920), 1, + sym__identifier, + ACTIONS(4922), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248068] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9983), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7781), 2, + sym_preproc_call, + sym_enumerator, + STATE(7876), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [248107] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4898), 1, + sym__identifier, + ACTIONS(4014), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248130] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5828), 1, + anon_sym_LBRACK, + ACTIONS(5830), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LT, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248153] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248182] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6146), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5508), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248213] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4916), 1, + sym__identifier, + ACTIONS(4918), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248236] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5696), 1, + anon_sym_LBRACK, + ACTIONS(9987), 1, + anon_sym_LBRACK_LBRACK, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5698), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248263] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248292] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9990), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7544), 2, + sym_preproc_call, + sym_enumerator, + STATE(8394), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [248331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4908), 1, + sym__identifier, + ACTIONS(4910), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248354] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6146), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5546), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248385] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6146), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5554), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248416] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6146), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5626), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [248447] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5697), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6760), 1, + sym_abstract_function_declarator, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [248490] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248519] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248548] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(9992), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248579] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(9953), 1, + anon_sym_COLON_COLON, + STATE(6082), 1, + sym__scope_resolution, + STATE(6570), 1, + sym_identifier, + STATE(7426), 1, + sym_field_initializer, + STATE(7588), 1, + sym_operator_name, + STATE(6801), 2, + sym_template_method, + sym_qualified_field_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [248622] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [248651] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9994), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7724), 2, + sym_preproc_call, + sym_enumerator, + STATE(8008), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6019), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [248690] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [248719] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248748] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248777] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2435), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6796), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [248820] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3244), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [248849] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [248878] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(9996), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7540), 2, + sym_preproc_call, + sym_enumerator, + STATE(8450), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6048), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [248917] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4934), 1, + sym__identifier, + ACTIONS(4936), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [248940] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(9268), 1, + anon_sym_COLON, + ACTIONS(10000), 1, + anon_sym_EQ, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(7042), 1, + sym_initializer_list, + STATE(7048), 1, + sym_bitfield_clause, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(9998), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [248983] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10002), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7728), 2, + sym_preproc_call, + sym_enumerator, + STATE(8309), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249022] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(10004), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [249053] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10006), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7640), 2, + sym_preproc_call, + sym_enumerator, + STATE(8159), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249092] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4912), 1, + sym__identifier, + ACTIONS(4914), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [249115] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10008), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7617), 2, + sym_preproc_call, + sym_enumerator, + STATE(8207), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6064), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249154] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(10010), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [249185] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(9839), 1, + anon_sym_COLON_COLON, + ACTIONS(9841), 1, + anon_sym_template, + STATE(3341), 1, + sym_identifier, + STATE(3609), 1, + sym_qualified_field_identifier, + STATE(3611), 1, + sym_dependent_field_identifier, + STATE(3618), 1, + sym_template_method, + STATE(6054), 1, + sym__scope_resolution, + STATE(7748), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [249230] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(9811), 1, + anon_sym_COLON_COLON, + ACTIONS(9813), 1, + anon_sym_template, + STATE(2327), 1, + sym_identifier, + STATE(2334), 1, + sym_qualified_field_identifier, + STATE(2364), 1, + sym_dependent_field_identifier, + STATE(2366), 1, + sym_template_method, + STATE(6055), 1, + sym__scope_resolution, + STATE(7626), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [249275] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6144), 1, + sym_trailing_return_type, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [249308] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + ACTIONS(10012), 1, + anon_sym_RPAREN, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [249339] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [249368] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10014), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7722), 2, + sym_preproc_call, + sym_enumerator, + STATE(8016), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6076), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249407] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(5929), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(7018), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [249450] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10016), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7750), 2, + sym_preproc_call, + sym_enumerator, + STATE(7951), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249489] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [249518] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [249547] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10018), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7641), 2, + sym_preproc_call, + sym_enumerator, + STATE(8141), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249586] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(7251), 1, + anon_sym_requires, + STATE(6117), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [249619] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3548), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6873), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [249662] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6146), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5606), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [249693] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6139), 1, + sym_trailing_return_type, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [249726] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10020), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7740), 2, + sym_preproc_call, + sym_enumerator, + STATE(7978), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6061), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249765] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3393), 1, + sym_parameter_list, + STATE(3856), 1, + sym_compound_statement, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6944), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [249808] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3335), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6843), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [249851] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [249880] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(9759), 1, + anon_sym_LBRACE, + STATE(1649), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6778), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [249923] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10022), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7708), 2, + sym_preproc_call, + sym_enumerator, + STATE(8039), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [249962] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10024), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7682), 2, + sym_preproc_call, + sym_enumerator, + STATE(8070), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6074), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [250001] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10026), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7583), 2, + sym_preproc_call, + sym_enumerator, + STATE(8292), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [250040] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(10028), 1, + anon_sym_requires, + STATE(6145), 1, + sym_trailing_return_type, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [250073] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(9745), 1, + anon_sym_COLON_COLON, + ACTIONS(9747), 1, + anon_sym_template, + STATE(3151), 1, + sym_identifier, + STATE(3489), 1, + sym_template_method, + STATE(3490), 1, + sym_dependent_field_identifier, + STATE(3494), 1, + sym_qualified_field_identifier, + STATE(6078), 1, + sym__scope_resolution, + STATE(7779), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [250118] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3234), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 11, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [250147] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7249), 1, + anon_sym_DASH_GT, + ACTIONS(9119), 1, + anon_sym_requires, + STATE(6178), 1, + sym_trailing_return_type, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [250180] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(1649), 1, + sym_compound_statement, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6763), 1, + sym__abstract_declarator, + STATE(6964), 1, + sym_abstract_function_declarator, + STATE(6175), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [250223] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + ACTIONS(9953), 1, + anon_sym_COLON_COLON, + ACTIONS(10031), 1, + anon_sym_template, + STATE(2334), 1, + sym_qualified_field_identifier, + STATE(2364), 1, + sym_dependent_field_identifier, + STATE(2366), 1, + sym_template_method, + STATE(6082), 1, + sym__scope_resolution, + STATE(6699), 1, + sym_identifier, + STATE(7588), 1, + sym_operator_name, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [250268] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9947), 1, + aux_sym_preproc_if_token1, + ACTIONS(10033), 1, + anon_sym_RBRACE, + STATE(7056), 1, + sym_identifier, + ACTIONS(9949), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(7561), 2, + sym_preproc_call, + sym_enumerator, + STATE(8051), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(5995), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [250307] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9603), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [250327] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2694), 1, + sym_enumerator_list, + STATE(4064), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(4092), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [250369] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(9936), 1, + anon_sym_requires, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [250399] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [250427] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6205), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + STATE(2579), 1, + sym_template_type, + STATE(2694), 1, + sym_enumerator_list, + STATE(4779), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(4941), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [250469] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + STATE(6309), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [250501] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(10037), 1, + anon_sym_requires, + ACTIONS(9617), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [250531] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10040), 1, + anon_sym_SEMI, + ACTIONS(10042), 1, + anon_sym_LBRACE, + ACTIONS(10044), 1, + anon_sym_EQ, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10048), 1, + anon_sym_try, + STATE(2140), 1, + sym_compound_statement, + STATE(7651), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(2138), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [250569] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(2988), 1, + sym_enumerator_list, + STATE(3322), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(3403), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [250611] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [250639] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10050), 1, + anon_sym_SEMI, + ACTIONS(10052), 1, + anon_sym_EQ, + ACTIONS(10054), 1, + anon_sym_try, + STATE(700), 1, + sym_compound_statement, + STATE(7517), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(703), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [250677] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10042), 1, + anon_sym_LBRACE, + ACTIONS(10044), 1, + anon_sym_EQ, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10048), 1, + anon_sym_try, + ACTIONS(10056), 1, + anon_sym_SEMI, + STATE(2207), 1, + sym_compound_statement, + STATE(7761), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(2202), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [250715] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10058), 1, + anon_sym_SEMI, + ACTIONS(10060), 1, + anon_sym_EQ, + ACTIONS(10062), 1, + anon_sym_try, + STATE(385), 1, + sym_compound_statement, + STATE(7736), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(304), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [250753] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8935), 1, + anon_sym_requires, + STATE(6329), 1, + sym_trailing_return_type, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [250785] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(8991), 1, + anon_sym_requires, + STATE(6331), 1, + sym_trailing_return_type, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [250817] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [250847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9843), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [250867] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9124), 1, + anon_sym_requires, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [250897] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9799), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [250917] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(9221), 1, + anon_sym_requires, + STATE(6332), 1, + sym_trailing_return_type, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [250949] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(6464), 1, + anon_sym_LBRACE, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + STATE(2748), 1, + sym_identifier, + STATE(2853), 1, + sym_template_type, + STATE(3113), 1, + sym_enumerator_list, + STATE(6461), 1, + sym__scope_resolution, + STATE(2794), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [250991] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + STATE(6308), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [251023] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(10064), 1, + anon_sym_requires, + STATE(6334), 1, + sym_trailing_return_type, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [251055] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(8986), 1, + anon_sym_requires, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [251085] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10067), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [251117] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8651), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251137] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9815), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251157] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [251185] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10069), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [251217] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + STATE(6301), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [251249] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8891), 1, + anon_sym_requires, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [251279] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10071), 1, + anon_sym_SEMI, + ACTIONS(10073), 1, + anon_sym_EQ, + ACTIONS(10075), 1, + anon_sym_try, + STATE(659), 1, + sym_compound_statement, + STATE(7794), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(655), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [251317] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(3960), 1, + sym_enumerator_list, + STATE(6426), 1, + sym__scope_resolution, + STATE(4389), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [251359] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [251387] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10077), 1, + anon_sym_SEMI, + ACTIONS(10079), 1, + anon_sym_EQ, + ACTIONS(10081), 1, + anon_sym_try, + STATE(547), 1, + sym_compound_statement, + STATE(7497), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(530), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [251425] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(6486), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(2959), 1, + sym_identifier, + STATE(2988), 1, + sym_enumerator_list, + STATE(6363), 1, + sym__scope_resolution, + STATE(3082), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [251467] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7456), 1, + anon_sym_DASH_GT, + ACTIONS(7473), 1, + anon_sym_requires, + STATE(6307), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [251499] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251527] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [251555] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + STATE(5783), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [251583] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5752), 1, + anon_sym_LBRACK, + ACTIONS(10083), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 11, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_or, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [251607] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(2959), 1, + sym_identifier, + STATE(2988), 1, + sym_enumerator_list, + STATE(6446), 1, + sym__scope_resolution, + STATE(4157), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [251649] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5778), 1, + anon_sym_LBRACK, + ACTIONS(10083), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(10085), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 9, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [251675] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9867), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251695] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10079), 1, + anon_sym_EQ, + ACTIONS(10081), 1, + anon_sym_try, + ACTIONS(10087), 1, + anon_sym_SEMI, + STATE(552), 1, + sym_compound_statement, + STATE(7573), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(567), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [251733] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10089), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [251765] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(4170), 1, + sym_identifier, + STATE(4814), 1, + sym_enumerator_list, + STATE(6467), 1, + sym__scope_resolution, + STATE(4654), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [251807] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10091), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [251839] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10093), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [251871] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9863), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251891] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10095), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [251923] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9857), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [251943] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(2412), 1, + sym_enumerator_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(3975), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [251985] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10097), 1, + anon_sym_SEMI, + ACTIONS(10099), 1, + anon_sym_LBRACE, + ACTIONS(10101), 1, + anon_sym_EQ, + ACTIONS(10103), 1, + anon_sym_try, + STATE(1820), 1, + sym_compound_statement, + STATE(7792), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1818), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [252023] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(2412), 1, + sym_enumerator_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(5248), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252065] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8983), 1, + anon_sym_requires, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [252093] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9853), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252113] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9849), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252133] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10107), 1, + anon_sym_LBRACK, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10105), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [252159] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10109), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(10111), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5780), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [252183] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9119), 1, + anon_sym_requires, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [252211] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10113), 1, + anon_sym_requires, + ACTIONS(9902), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [252239] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5675), 1, + anon_sym_LBRACK, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5677), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [252265] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(3960), 1, + sym_enumerator_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(4875), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10111), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_or, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [252329] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252357] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10116), 1, + anon_sym_SEMI, + ACTIONS(10118), 1, + anon_sym_LBRACE, + ACTIONS(10120), 1, + anon_sym_EQ, + ACTIONS(10122), 1, + anon_sym_try, + STATE(2066), 1, + sym_compound_statement, + STATE(7542), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(2064), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [252395] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252423] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(6486), 1, + anon_sym_LBRACE, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3960), 1, + sym_enumerator_list, + STATE(4170), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(4330), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252465] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10069), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [252497] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10118), 1, + anon_sym_LBRACE, + ACTIONS(10120), 1, + anon_sym_EQ, + ACTIONS(10122), 1, + anon_sym_try, + ACTIONS(10124), 1, + anon_sym_SEMI, + STATE(2271), 1, + sym_compound_statement, + STATE(7518), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(2272), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [252535] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9871), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252555] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9008), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252575] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9775), 1, + sym_grit_metavariable, + STATE(6028), 1, + sym__string_literal, + STATE(5656), 2, + sym_string_literal, + sym_raw_string_literal, + ACTIONS(9497), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(9501), 5, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [252603] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7766), 1, + anon_sym_COLON, + ACTIONS(8124), 1, + anon_sym_STAR, + ACTIONS(8126), 1, + anon_sym_AMP_AMP, + ACTIONS(8128), 1, + anon_sym_AMP, + STATE(3933), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6707), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [252641] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(2412), 1, + sym_enumerator_list, + STATE(3876), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(4161), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252683] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10093), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [252715] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10052), 1, + anon_sym_EQ, + ACTIONS(10054), 1, + anon_sym_try, + ACTIONS(10126), 1, + anon_sym_SEMI, + STATE(759), 1, + sym_compound_statement, + STATE(7765), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(756), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [252753] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2007), 1, + sym_enumerator_list, + STATE(6435), 1, + sym__scope_resolution, + STATE(2322), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252795] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9771), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252815] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + STATE(1730), 1, + sym_template_type, + STATE(4755), 1, + sym_identifier, + STATE(5247), 1, + sym_enumerator_list, + STATE(6418), 1, + sym__scope_resolution, + STATE(4888), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252857] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(8670), 1, + anon_sym_LBRACE, + STATE(4322), 1, + sym_identifier, + STATE(4721), 1, + sym_template_type, + STATE(4938), 1, + sym_enumerator_list, + STATE(6440), 1, + sym__scope_resolution, + STATE(4783), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [252899] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9613), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [252919] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10060), 1, + anon_sym_EQ, + ACTIONS(10062), 1, + anon_sym_try, + ACTIONS(10128), 1, + anon_sym_SEMI, + STATE(368), 1, + sym_compound_statement, + STATE(7575), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(366), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [252957] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10130), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [252989] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10132), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [253021] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [253049] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10132), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [253081] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(6248), 1, + anon_sym_LBRACE, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + STATE(2622), 1, + sym_identifier, + STATE(2660), 1, + sym_template_type, + STATE(2916), 1, + sym_enumerator_list, + STATE(6439), 1, + sym__scope_resolution, + STATE(2627), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253123] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10130), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [253155] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4650), 1, + anon_sym_COLON_COLON, + ACTIONS(4652), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(4645), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [253179] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9791), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253199] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10099), 1, + anon_sym_LBRACE, + ACTIONS(10101), 1, + anon_sym_EQ, + ACTIONS(10103), 1, + anon_sym_try, + ACTIONS(10134), 1, + anon_sym_SEMI, + STATE(1746), 1, + sym_compound_statement, + STATE(7672), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1747), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [253237] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3280), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10136), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym_try, + [253269] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10028), 1, + anon_sym_requires, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [253297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4910), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(4014), 11, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + sym_grit_metavariable, + anon_sym_R_DQUOTE, + anon_sym_LR_DQUOTE, + anon_sym_uR_DQUOTE, + anon_sym_UR_DQUOTE, + anon_sym_u8R_DQUOTE, + [253319] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [253349] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2007), 1, + sym_enumerator_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(2491), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253391] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [253421] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253449] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253477] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(6207), 1, + anon_sym_LBRACE, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + STATE(2518), 1, + sym_identifier, + STATE(2599), 1, + sym_template_type, + STATE(2777), 1, + sym_enumerator_list, + STATE(6456), 1, + sym__scope_resolution, + STATE(2582), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253519] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9795), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253539] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10073), 1, + anon_sym_EQ, + ACTIONS(10075), 1, + anon_sym_try, + ACTIONS(10138), 1, + anon_sym_SEMI, + STATE(632), 1, + sym_compound_statement, + STATE(7594), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(662), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [253577] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [253607] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9831), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253627] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8888), 1, + anon_sym_requires, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + [253655] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253683] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2993), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253711] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + STATE(3066), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6338), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10140), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [253743] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5850), 1, + anon_sym_LBRACE, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + STATE(1730), 1, + sym_template_type, + STATE(2412), 1, + sym_enumerator_list, + STATE(4785), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(4945), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253785] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8870), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253805] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(7452), 1, + anon_sym_LBRACE, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + STATE(3363), 1, + sym_identifier, + STATE(3652), 1, + sym_template_type, + STATE(3947), 1, + sym_enumerator_list, + STATE(6436), 1, + sym__scope_resolution, + STATE(3653), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9819), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253867] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9823), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [253887] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + ACTIONS(8525), 1, + anon_sym_LBRACE, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(4814), 1, + sym_enumerator_list, + STATE(6438), 1, + sym__scope_resolution, + STATE(5115), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [253929] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3347), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10136), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [253961] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5457), 1, + anon_sym_LBRACE, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + STATE(1741), 1, + sym_identifier, + STATE(1923), 1, + sym_template_type, + STATE(2007), 1, + sym_enumerator_list, + STATE(6359), 1, + sym__scope_resolution, + STATE(2698), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [254003] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9755), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_try, + anon_sym_requires, + [254023] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [254053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5679), 1, + anon_sym_LBRACK, + ACTIONS(5681), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254074] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [254101] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10079), 1, + anon_sym_EQ, + ACTIONS(10081), 1, + anon_sym_try, + STATE(547), 1, + sym_compound_statement, + STATE(7497), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(530), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [254136] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(7521), 1, + anon_sym_LBRACK, + ACTIONS(7855), 1, + anon_sym_STAR, + ACTIONS(7857), 1, + anon_sym_AMP_AMP, + ACTIONS(7859), 1, + anon_sym_AMP, + STATE(2970), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6526), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [254171] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5717), 1, + anon_sym_LBRACK, + ACTIONS(5719), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254192] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [254219] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(10142), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6784), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [254258] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [254285] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5713), 1, + anon_sym_LBRACK, + ACTIONS(5715), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254327] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6546), 1, + sym_identifier, + STATE(8367), 1, + sym_qualified_identifier, + ACTIONS(10144), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [254364] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6521), 1, + sym_identifier, + STATE(7829), 1, + sym_qualified_identifier, + ACTIONS(10146), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [254401] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6341), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5508), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [254430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254451] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10148), 1, + aux_sym_preproc_if_token2, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6252), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(8021), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [254486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10158), 1, + anon_sym_LBRACK, + ACTIONS(10156), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5066), 1, + anon_sym_LBRACK, + ACTIONS(5064), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254528] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254555] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254582] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254609] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254636] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254663] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254690] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [254717] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [254744] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5649), 1, + anon_sym_LBRACK, + ACTIONS(5651), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254792] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3249), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [254819] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10160), 1, + aux_sym_preproc_if_token2, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(7871), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [254856] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5721), 1, + anon_sym_LBRACK, + ACTIONS(5723), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254877] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10168), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(7885), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [254912] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254933] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5667), 1, + anon_sym_LBRACK, + ACTIONS(5669), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10172), 1, + anon_sym_LBRACK, + ACTIONS(10170), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [254975] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10060), 1, + anon_sym_EQ, + ACTIONS(10062), 1, + anon_sym_try, + STATE(368), 1, + sym_compound_statement, + STATE(7575), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(366), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [255010] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [255037] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6011), 1, + anon_sym_LBRACK, + ACTIONS(6013), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255058] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10174), 1, + aux_sym_preproc_if_token2, + STATE(6282), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8521), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [255095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10178), 1, + anon_sym_LBRACK, + ACTIONS(10176), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255116] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10079), 1, + anon_sym_EQ, + ACTIONS(10081), 1, + anon_sym_try, + STATE(552), 1, + sym_compound_statement, + STATE(7573), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(567), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [255151] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10060), 1, + anon_sym_EQ, + ACTIONS(10062), 1, + anon_sym_try, + STATE(385), 1, + sym_compound_statement, + STATE(7736), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(304), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [255186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10182), 1, + anon_sym_LBRACK, + ACTIONS(10180), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255207] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10186), 1, + anon_sym_LBRACK, + ACTIONS(10184), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255228] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9803), 1, + aux_sym_preproc_if_token2, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + STATE(6256), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8003), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [255265] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [255292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10190), 1, + anon_sym_LBRACK, + ACTIONS(10188), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255313] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(10192), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7038), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [255352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255373] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10194), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(8103), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [255408] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6559), 1, + sym_identifier, + STATE(8071), 1, + sym_qualified_identifier, + ACTIONS(10196), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [255445] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10200), 1, + anon_sym_LBRACK, + ACTIONS(10198), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255466] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6341), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5626), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [255495] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10202), 1, + aux_sym_preproc_if_token2, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8101), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [255532] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6531), 1, + sym_identifier, + STATE(8291), 1, + sym_qualified_identifier, + ACTIONS(10204), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [255569] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6556), 1, + sym_identifier, + STATE(8286), 1, + sym_qualified_identifier, + ACTIONS(10206), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [255606] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10073), 1, + anon_sym_EQ, + ACTIONS(10075), 1, + anon_sym_try, + STATE(659), 1, + sym_compound_statement, + STATE(7794), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(655), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [255641] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(10208), 1, + anon_sym_requires, + STATE(6364), 1, + sym_trailing_return_type, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [255674] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9384), 1, + anon_sym_requires, + STATE(6365), 1, + sym_trailing_return_type, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [255707] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10052), 1, + anon_sym_EQ, + ACTIONS(10054), 1, + anon_sym_try, + STATE(759), 1, + sym_compound_statement, + STATE(7765), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(756), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [255742] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(9074), 1, + anon_sym_requires, + STATE(6368), 1, + sym_trailing_return_type, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [255775] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6702), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [255810] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6341), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5606), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [255839] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10211), 1, + sym__identifier, + ACTIONS(10214), 1, + aux_sym_preproc_if_token1, + ACTIONS(10220), 1, + sym_preproc_directive, + ACTIONS(10223), 1, + anon_sym_RBRACE, + ACTIONS(10225), 1, + sym_grit_metavariable, + STATE(7056), 1, + sym_identifier, + ACTIONS(10217), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(8492), 2, + sym_preproc_call, + sym_enumerator, + STATE(6266), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [255874] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8980), 1, + anon_sym_requires, + STATE(6371), 1, + sym_trailing_return_type, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [255907] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255928] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6341), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5554), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [255957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(4612), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [255978] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3242), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 9, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [256005] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9985), 1, + anon_sym_LBRACK, + STATE(6236), 1, + sym_parameter_list, + STATE(6341), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5546), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [256034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5657), 1, + anon_sym_LBRACK, + ACTIONS(5659), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256055] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10230), 1, + anon_sym_LBRACK, + ACTIONS(10228), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256076] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + STATE(6374), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [256109] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + STATE(6376), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [256142] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + STATE(6377), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [256175] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(10232), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7194), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [256214] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6533), 1, + sym_identifier, + STATE(8523), 1, + sym_qualified_identifier, + ACTIONS(10234), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [256251] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4657), 1, + anon_sym_LPAREN2, + ACTIONS(4659), 1, + anon_sym_STAR, + ACTIONS(4661), 1, + anon_sym_AMP_AMP, + ACTIONS(4663), 1, + anon_sym_AMP, + ACTIONS(7521), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6186), 1, + sym__function_declarator_seq, + STATE(6747), 1, + sym__abstract_declarator, + STATE(6175), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [256286] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10236), 1, + aux_sym_preproc_if_token2, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8032), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [256323] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10238), 1, + aux_sym_preproc_if_token2, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(7910), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [256360] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6553), 1, + sym_identifier, + STATE(8164), 1, + sym_qualified_identifier, + ACTIONS(10240), 2, + anon_sym_enum, + anon_sym_namespace, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [256397] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10242), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(8037), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [256432] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9875), 1, + aux_sym_preproc_if_token2, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + STATE(6281), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(7891), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [256469] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10244), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6284), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(7894), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [256504] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10162), 1, + aux_sym_preproc_else_token1, + ACTIONS(10164), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10246), 1, + aux_sym_preproc_if_token2, + STATE(6232), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10166), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(8005), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [256541] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + ACTIONS(10248), 1, + sym_virtual, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6781), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [256580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5683), 1, + anon_sym_LBRACK, + ACTIONS(5685), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256601] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5709), 1, + anon_sym_LBRACK, + ACTIONS(5711), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256622] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7534), 6, + anon_sym_AMP, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + ACTIONS(7536), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + sym_grit_metavariable, + [256643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5738), 1, + anon_sym_LBRACK, + ACTIONS(5740), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256664] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10150), 1, + aux_sym_preproc_else_token1, + ACTIONS(10152), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10250), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + ACTIONS(10154), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(7892), 3, + sym_preproc_else_in_enumerator_list_no_comma, + sym_preproc_elif_in_enumerator_list_no_comma, + sym_preproc_elifdef_in_enumerator_list_no_comma, + [256699] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10073), 1, + anon_sym_EQ, + ACTIONS(10075), 1, + anon_sym_try, + STATE(632), 1, + sym_compound_statement, + STATE(7594), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(662), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [256734] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5734), 1, + anon_sym_LBRACK, + ACTIONS(5736), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256755] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7525), 1, + anon_sym_DASH_GT, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + STATE(6383), 1, + sym_trailing_return_type, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [256788] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10254), 1, + anon_sym_LBRACK, + ACTIONS(10252), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256809] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(10046), 1, + anon_sym_COLON, + ACTIONS(10052), 1, + anon_sym_EQ, + ACTIONS(10054), 1, + anon_sym_try, + STATE(700), 1, + sym_compound_statement, + STATE(7517), 1, + sym_field_initializer_list, + ACTIONS(4676), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(703), 4, + sym_constructor_try_statement, + sym_default_method_clause, + sym_delete_method_clause, + sym_pure_virtual_clause, + [256844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7553), 1, + anon_sym_LBRACK, + ACTIONS(4676), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + anon_sym_GT2, + anon_sym_try, + [256865] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [256891] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [256917] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [256943] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [256969] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5554), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [256997] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [257023] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [257049] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257075] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257101] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257127] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [257153] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7193), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [257189] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [257215] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10256), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_LBRACK, + anon_sym_or, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [257235] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5626), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [257263] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10258), 1, + sym__identifier, + ACTIONS(10262), 1, + sym_system_lib_string, + ACTIONS(10264), 1, + sym_grit_metavariable, + STATE(7409), 1, + sym_identifier, + STATE(8154), 1, + sym__string_literal, + STATE(8268), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(10260), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [257293] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7473), 1, + anon_sym_requires, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257319] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10268), 1, + anon_sym_LT, + ACTIONS(10270), 1, + anon_sym_LBRACK, + STATE(6396), 1, + sym_template_argument_list, + ACTIONS(10266), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [257343] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10258), 1, + sym__identifier, + ACTIONS(10264), 1, + sym_grit_metavariable, + ACTIONS(10272), 1, + sym_system_lib_string, + STATE(7152), 1, + sym_identifier, + STATE(8154), 1, + sym__string_literal, + STATE(8038), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(10260), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [257373] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(6122), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257403] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(6093), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257433] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(6170), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257463] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3524), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_try, + anon_sym_requires, + [257489] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7251), 1, + anon_sym_requires, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + STATE(6117), 1, + sym_trailing_return_type, + ACTIONS(6732), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257519] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6950), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [257555] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8888), 1, + anon_sym_requires, + STATE(6139), 1, + sym_trailing_return_type, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257585] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8935), 1, + anon_sym_requires, + ACTIONS(8655), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6195), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257611] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10268), 1, + anon_sym_LT, + ACTIONS(10276), 1, + anon_sym_LBRACK, + STATE(6419), 1, + sym_template_argument_list, + ACTIONS(10274), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [257635] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(8983), 1, + anon_sym_requires, + STATE(6144), 1, + sym_trailing_return_type, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257665] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8991), 1, + anon_sym_requires, + ACTIONS(8876), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6156), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257691] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(9119), 1, + anon_sym_requires, + STATE(6178), 1, + sym_trailing_return_type, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257721] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9221), 1, + anon_sym_requires, + ACTIONS(9012), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6084), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257747] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10064), 1, + anon_sym_requires, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257773] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7542), 1, + anon_sym_DASH_GT, + ACTIONS(10028), 1, + anon_sym_requires, + STATE(6145), 1, + sym_trailing_return_type, + ACTIONS(9719), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6166), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_COLON, + [257803] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10278), 1, + anon_sym_requires, + ACTIONS(9902), 2, + anon_sym_final, + anon_sym_override, + STATE(5936), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(6163), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [257829] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10256), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(10281), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [257851] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5606), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [257879] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10130), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [257909] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10285), 1, + anon_sym_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10283), 8, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [257933] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10136), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [257963] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10289), 1, + anon_sym_LBRACK, + ACTIONS(10291), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(6960), 1, + sym_gnu_asm_input_operand, + STATE(7834), 1, + sym_string_literal, + ACTIONS(10287), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [257993] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5675), 1, + anon_sym_LBRACK, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5677), 8, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [258017] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10291), 1, + sym_grit_metavariable, + ACTIONS(10295), 1, + anon_sym_LBRACK, + STATE(3251), 1, + sym__string_literal, + STATE(6803), 1, + sym_gnu_asm_output_operand, + STATE(8274), 1, + sym_string_literal, + ACTIONS(10293), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [258047] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10093), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [258077] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(7038), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [258113] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5508), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [258141] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10132), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [258171] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10069), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [258201] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2292), 1, + sym_template_type, + STATE(3594), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(6784), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [258237] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10258), 1, + sym__identifier, + ACTIONS(10264), 1, + sym_grit_metavariable, + ACTIONS(10297), 1, + sym_system_lib_string, + STATE(7468), 1, + sym_identifier, + STATE(8154), 1, + sym__string_literal, + STATE(8506), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(10260), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [258267] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10258), 1, + sym__identifier, + ACTIONS(10264), 1, + sym_grit_metavariable, + ACTIONS(10299), 1, + sym_system_lib_string, + STATE(7195), 1, + sym_identifier, + STATE(8154), 1, + sym__string_literal, + STATE(7809), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(10260), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [258297] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5546), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [258325] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10107), 1, + anon_sym_LBRACK, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10105), 8, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_asm, + anon_sym___asm__, + [258349] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(10301), 1, + sym__identifier, + ACTIONS(10303), 1, + anon_sym_COLON_COLON, + ACTIONS(10305), 1, + sym_grit_metavariable, + STATE(2614), 1, + sym_identifier, + STATE(2746), 1, + sym_template_type, + STATE(6464), 1, + sym__scope_resolution, + STATE(2700), 2, + sym__class_name, + sym_qualified_type_identifier, + STATE(8052), 2, + sym_decltype, + sym_dependent_type_identifier, + [258385] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7368), 1, + anon_sym_COLON_COLON, + ACTIONS(10307), 1, + anon_sym_template, + STATE(2624), 1, + sym_template_type, + STATE(2625), 1, + sym_dependent_type_identifier, + STATE(2645), 1, + sym_qualified_type_identifier, + STATE(4739), 1, + sym_identifier, + STATE(6354), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [258422] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10313), 1, + anon_sym_delete, + ACTIONS(10315), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [258445] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6988), 1, + sym_identifier, + STATE(8006), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [258478] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10319), 1, + anon_sym_LBRACK, + ACTIONS(10317), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [258497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10315), 1, + anon_sym_new, + ACTIONS(10321), 1, + anon_sym_delete, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [258520] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + ACTIONS(8802), 1, + anon_sym_COLON_COLON, + ACTIONS(10323), 1, + anon_sym_template, + STATE(1770), 1, + sym_identifier, + STATE(1900), 1, + sym_template_type, + STATE(1913), 1, + sym_dependent_type_identifier, + STATE(1953), 1, + sym_qualified_type_identifier, + STATE(6359), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [258557] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(656), 1, + sym_declaration_list, + STATE(6509), 1, + sym_attribute_declaration, + STATE(7346), 1, + sym_identifier, + STATE(7669), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [258594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10276), 1, + anon_sym_LBRACK, + ACTIONS(10274), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [258613] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6756), 1, + sym_identifier, + STATE(8517), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [258646] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4710), 1, + anon_sym_COLON_COLON, + ACTIONS(10329), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(2987), 1, + sym_identifier, + STATE(6363), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [258683] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(10331), 1, + anon_sym_requires, + ACTIONS(9617), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258710] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(10208), 1, + anon_sym_requires, + ACTIONS(9607), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258737] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [258762] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [258787] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(9384), 1, + anon_sym_requires, + ACTIONS(9068), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258814] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10334), 1, + anon_sym_delete, + ACTIONS(10336), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [258837] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [258862] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(9074), 1, + anon_sym_requires, + ACTIONS(8923), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258889] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2249), 1, + sym_try_statement, + STATE(2251), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [258924] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(8980), 1, + anon_sym_requires, + ACTIONS(8686), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258951] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9615), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5850), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9613), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [258978] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2247), 1, + sym_compound_statement, + STATE(2248), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259013] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9605), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5837), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9603), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [259040] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(9010), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5887), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(9008), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [259067] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(2087), 1, + sym_compound_statement, + STATE(2130), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259102] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2237), 1, + sym_compound_statement, + STATE(2238), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259137] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(2133), 1, + sym_compound_statement, + STATE(2139), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259172] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5675), 1, + anon_sym_LBRACK, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(5677), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_try, + [259195] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(568), 1, + sym_declaration_list, + STATE(6499), 1, + sym_attribute_declaration, + STATE(6795), 1, + sym_identifier, + STATE(7578), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [259232] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8872), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5908), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8870), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [259259] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [259284] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(2255), 1, + sym_compound_statement, + STATE(2258), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259319] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(7019), 1, + sym_identifier, + STATE(8442), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [259352] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10338), 1, + anon_sym_delete, + ACTIONS(10340), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [259375] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10342), 1, + anon_sym_delete, + ACTIONS(10344), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [259398] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9507), 1, + anon_sym_try, + STATE(558), 1, + sym_compound_statement, + STATE(647), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259433] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1797), 1, + sym_compound_statement, + STATE(1812), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259468] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10348), 1, + anon_sym_LBRACK, + ACTIONS(10346), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [259487] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6869), 1, + sym_identifier, + STATE(7987), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [259520] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9507), 1, + anon_sym_try, + STATE(666), 1, + sym_try_statement, + STATE(672), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [259555] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [259580] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(310), 1, + sym_declaration_list, + STATE(6511), 1, + sym_attribute_declaration, + STATE(7345), 1, + sym_identifier, + STATE(7667), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [259617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5760), 1, + anon_sym_LBRACK, + ACTIONS(5762), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [259636] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6913), 1, + sym_identifier, + STATE(8380), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [259669] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7532), 1, + anon_sym_requires, + ACTIONS(8653), 1, + anon_sym_LBRACK, + ACTIONS(5707), 2, + anon_sym_final, + anon_sym_override, + STATE(5764), 2, + sym_virtual_specifier, + aux_sym__function_postfix_repeat1, + STATE(5842), 2, + sym__function_postfix, + sym_requires_clause, + ACTIONS(8651), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [259696] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7380), 1, + anon_sym_COLON_COLON, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(3759), 1, + sym_identifier, + STATE(6399), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [259733] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(621), 1, + sym_declaration_list, + STATE(6516), 1, + sym_attribute_declaration, + STATE(6847), 1, + sym_identifier, + STATE(7628), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [259770] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [259795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10352), 1, + anon_sym_LBRACK, + ACTIONS(10350), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [259814] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5752), 1, + anon_sym_LBRACK, + ACTIONS(10354), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_or, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [259835] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5778), 1, + anon_sym_LBRACK, + ACTIONS(10354), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(10356), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 6, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [259858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10360), 1, + anon_sym_LBRACK, + ACTIONS(10358), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [259877] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10132), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [259906] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10364), 1, + anon_sym_LBRACK, + ACTIONS(10362), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [259925] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6994), 1, + sym_identifier, + STATE(7984), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [259958] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10093), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [259987] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3575), 1, + anon_sym_COLON_COLON, + ACTIONS(3589), 1, + sym_grit_metavariable, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(3759), 1, + sym_identifier, + STATE(6410), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260024] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10366), 1, + anon_sym_delete, + ACTIONS(10368), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260047] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10130), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [260076] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(4665), 1, + anon_sym_COLON_COLON, + ACTIONS(10370), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(3238), 1, + sym_identifier, + STATE(6413), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260113] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10136), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [260142] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10368), 1, + anon_sym_new, + ACTIONS(10372), 1, + anon_sym_delete, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260165] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10374), 1, + anon_sym_delete, + ACTIONS(10376), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260188] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10069), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_try, + [260217] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(7310), 1, + anon_sym_COLON_COLON, + ACTIONS(10378), 1, + anon_sym_template, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(4767), 1, + sym_identifier, + STATE(6418), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260254] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5844), 1, + anon_sym_LBRACK, + ACTIONS(5846), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [260273] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10380), 1, + anon_sym_delete, + ACTIONS(10382), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260296] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1762), 1, + sym_compound_statement, + STATE(1763), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260331] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10384), 1, + anon_sym_delete, + ACTIONS(10386), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260354] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7268), 1, + anon_sym_COLON_COLON, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(10388), 1, + anon_sym_template, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(4782), 1, + sym_identifier, + STATE(6423), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260391] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [260416] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1755), 1, + sym_compound_statement, + STATE(1757), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260451] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(8929), 1, + anon_sym_COLON_COLON, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2948), 1, + sym_qualified_type_identifier, + STATE(3759), 1, + sym_identifier, + STATE(6426), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260488] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10390), 1, + anon_sym_delete, + ACTIONS(10392), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260511] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10368), 1, + anon_sym_new, + ACTIONS(10394), 1, + anon_sym_delete, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260534] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10396), 1, + anon_sym_delete, + ACTIONS(10398), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [260557] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2970), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [260582] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(705), 1, + sym_declaration_list, + STATE(6501), 1, + sym_attribute_declaration, + STATE(6852), 1, + sym_identifier, + STATE(7692), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [260619] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9549), 1, + anon_sym_try, + STATE(382), 1, + sym_compound_statement, + STATE(394), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260654] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9471), 1, + anon_sym_try, + STATE(714), 1, + sym_compound_statement, + STATE(731), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260689] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9507), 1, + anon_sym_try, + STATE(579), 1, + sym_compound_statement, + STATE(581), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260724] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(8828), 1, + sym__identifier, + ACTIONS(8830), 1, + anon_sym_COLON_COLON, + ACTIONS(8844), 1, + sym_grit_metavariable, + ACTIONS(10323), 1, + anon_sym_template, + STATE(1770), 1, + sym_identifier, + STATE(1900), 1, + sym_template_type, + STATE(1913), 1, + sym_dependent_type_identifier, + STATE(1953), 1, + sym_qualified_type_identifier, + STATE(6435), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260761] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8732), 1, + anon_sym_COLON_COLON, + ACTIONS(10400), 1, + anon_sym_template, + STATE(3397), 1, + sym_identifier, + STATE(3575), 1, + sym_template_type, + STATE(3579), 1, + sym_dependent_type_identifier, + STATE(3798), 1, + sym_qualified_type_identifier, + STATE(6436), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260798] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(536), 1, + sym_declaration_list, + STATE(6498), 1, + sym_attribute_declaration, + STATE(7133), 1, + sym_identifier, + STATE(7719), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [260835] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7326), 1, + anon_sym_COLON_COLON, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2948), 1, + sym_qualified_type_identifier, + STATE(3759), 1, + sym_identifier, + STATE(6438), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260872] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + ACTIONS(8776), 1, + anon_sym_COLON_COLON, + ACTIONS(10402), 1, + anon_sym_template, + STATE(2587), 1, + sym_identifier, + STATE(2642), 1, + sym_template_type, + STATE(2644), 1, + sym_dependent_type_identifier, + STATE(2703), 1, + sym_qualified_type_identifier, + STATE(6439), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260909] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(7418), 1, + anon_sym_COLON_COLON, + ACTIONS(10404), 1, + anon_sym_template, + STATE(4300), 1, + sym_identifier, + STATE(4687), 1, + sym_dependent_type_identifier, + STATE(4689), 1, + sym_template_type, + STATE(4770), 1, + sym_qualified_type_identifier, + STATE(6440), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [260946] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9471), 1, + anon_sym_try, + STATE(689), 1, + sym_try_statement, + STATE(691), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [260981] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9513), 1, + anon_sym_try, + STATE(610), 1, + sym_compound_statement, + STATE(611), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261016] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9513), 1, + anon_sym_try, + STATE(625), 1, + sym_compound_statement, + STATE(630), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261051] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9549), 1, + anon_sym_try, + STATE(365), 1, + sym_compound_statement, + STATE(377), 1, + sym_try_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261086] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7406), 1, + anon_sym_COLON_COLON, + ACTIONS(10406), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2323), 1, + sym_qualified_type_identifier, + STATE(4181), 1, + sym_identifier, + STATE(6445), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261123] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(8918), 1, + anon_sym_COLON_COLON, + ACTIONS(10329), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2948), 1, + sym_qualified_type_identifier, + STATE(2987), 1, + sym_identifier, + STATE(6446), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261160] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10410), 1, + anon_sym_LBRACK, + ACTIONS(10408), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [261179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10414), 1, + anon_sym_LBRACK, + ACTIONS(10412), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [261198] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(7264), 1, + sym__identifier, + ACTIONS(7272), 1, + sym_grit_metavariable, + ACTIONS(9177), 1, + anon_sym_COLON_COLON, + ACTIONS(10416), 1, + anon_sym_template, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(5872), 1, + sym_identifier, + STATE(6449), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261235] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3498), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [261260] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10315), 1, + anon_sym_new, + ACTIONS(10418), 1, + anon_sym_delete, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [261283] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2970), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [261308] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2970), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [261333] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(392), 1, + sym_declaration_list, + STATE(6492), 1, + sym_attribute_declaration, + STATE(6773), 1, + sym_identifier, + STATE(7543), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [261370] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(3569), 1, + sym__identifier, + ACTIONS(3589), 1, + sym_grit_metavariable, + ACTIONS(9167), 1, + anon_sym_COLON_COLON, + ACTIONS(10420), 1, + anon_sym_template, + STATE(1963), 1, + sym_identifier, + STATE(2286), 1, + sym_qualified_type_identifier, + STATE(2301), 1, + sym_template_type, + STATE(2304), 1, + sym_dependent_type_identifier, + STATE(6455), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261407] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + ACTIONS(8752), 1, + anon_sym_COLON_COLON, + ACTIONS(10422), 1, + anon_sym_template, + STATE(2565), 1, + sym_identifier, + STATE(2581), 1, + sym_dependent_type_identifier, + STATE(2601), 1, + sym_template_type, + STATE(2695), 1, + sym_qualified_type_identifier, + STATE(6456), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261444] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5516), 1, + sym__identifier, + ACTIONS(5522), 1, + sym_grit_metavariable, + ACTIONS(8856), 1, + anon_sym_COLON_COLON, + ACTIONS(10307), 1, + anon_sym_template, + STATE(2624), 1, + sym_template_type, + STATE(2625), 1, + sym_dependent_type_identifier, + STATE(2645), 1, + sym_qualified_type_identifier, + STATE(4071), 1, + sym_identifier, + STATE(6457), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261481] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2970), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_try, + [261506] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10424), 1, + anon_sym_delete, + ACTIONS(10426), 1, + anon_sym_new, + ACTIONS(10311), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10309), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [261529] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9549), 1, + anon_sym_try, + STATE(328), 1, + sym_try_statement, + STATE(331), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261564] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(6121), 1, + sym__identifier, + ACTIONS(6127), 1, + sym_grit_metavariable, + ACTIONS(8712), 1, + anon_sym_COLON_COLON, + ACTIONS(10428), 1, + anon_sym_template, + STATE(2718), 1, + sym_identifier, + STATE(2869), 1, + sym_template_type, + STATE(2870), 1, + sym_dependent_type_identifier, + STATE(2912), 1, + sym_qualified_type_identifier, + STATE(6461), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261601] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9471), 1, + anon_sym_try, + STATE(724), 1, + sym_try_statement, + STATE(737), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261636] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(9513), 1, + anon_sym_try, + STATE(546), 1, + sym_try_statement, + STATE(605), 1, + sym_compound_statement, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261671] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(10301), 1, + sym__identifier, + ACTIONS(10303), 1, + anon_sym_COLON_COLON, + ACTIONS(10305), 1, + sym_grit_metavariable, + ACTIONS(10430), 1, + anon_sym_template, + STATE(2609), 1, + sym_identifier, + STATE(2737), 1, + sym_qualified_type_identifier, + STATE(2752), 1, + sym_template_type, + STATE(2760), 1, + sym_dependent_type_identifier, + STATE(6464), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261708] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(5036), 1, + sym__identifier, + ACTIONS(5046), 1, + sym_grit_metavariable, + ACTIONS(8700), 1, + anon_sym_COLON_COLON, + ACTIONS(10388), 1, + anon_sym_template, + STATE(1714), 1, + sym_dependent_type_identifier, + STATE(1716), 1, + sym_template_type, + STATE(1853), 1, + sym_qualified_type_identifier, + STATE(3942), 1, + sym_identifier, + STATE(6465), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261745] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(699), 1, + sym_declaration_list, + STATE(6513), 1, + sym_attribute_declaration, + STATE(7044), 1, + sym_identifier, + STATE(7755), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [261782] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(7438), 1, + anon_sym_COLON_COLON, + ACTIONS(10406), 1, + anon_sym_template, + STATE(2317), 1, + sym_template_type, + STATE(2320), 1, + sym_dependent_type_identifier, + STATE(2948), 1, + sym_qualified_type_identifier, + STATE(4181), 1, + sym_identifier, + STATE(6467), 1, + sym__scope_resolution, + STATE(8052), 1, + sym_decltype, + [261819] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 1, + anon_sym_template, + ACTIONS(1903), 1, + anon_sym_decltype, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(9445), 1, + anon_sym_COLON_COLON, + STATE(5612), 1, + sym__scope_resolution, + STATE(6888), 1, + sym_identifier, + STATE(7807), 1, + sym_qualified_identifier, + STATE(8052), 3, + sym_decltype, + sym_template_type, + sym_dependent_type_identifier, + [261852] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [261876] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10434), 1, + anon_sym_EQ, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + ACTIONS(10432), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261906] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10289), 1, + anon_sym_LBRACK, + ACTIONS(10291), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(7220), 1, + sym_gnu_asm_input_operand, + STATE(7834), 1, + sym_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [261932] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10436), 1, + anon_sym_EQ, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(7912), 1, + sym_initializer_list, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [261964] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10438), 1, + sym__identifier, + ACTIONS(10443), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10445), 1, + sym_grit_metavariable, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + ACTIONS(10441), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [261992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 1, + anon_sym_LBRACK, + ACTIONS(4629), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262010] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4602), 1, + anon_sym_LBRACK, + ACTIONS(4604), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262052] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4606), 1, + anon_sym_LBRACK, + ACTIONS(4608), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262070] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10291), 1, + sym_grit_metavariable, + ACTIONS(10295), 1, + anon_sym_LBRACK, + STATE(3251), 1, + sym__string_literal, + STATE(7062), 1, + sym_gnu_asm_output_operand, + STATE(8274), 1, + sym_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [262096] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262120] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10448), 1, + sym__identifier, + ACTIONS(10453), 1, + aux_sym_preproc_elif_token1, + ACTIONS(10455), 1, + sym_grit_metavariable, + STATE(6506), 1, + sym_identifier, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + ACTIONS(10451), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [262146] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262170] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262194] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10458), 1, + anon_sym_EQ, + STATE(3316), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + ACTIONS(10432), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [262224] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 1, + anon_sym_LBRACK, + ACTIONS(4633), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262242] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 1, + anon_sym_LBRACK, + ACTIONS(4637), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262284] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4639), 1, + anon_sym_LBRACK, + ACTIONS(4641), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262302] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262326] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10460), 1, + anon_sym_COMMA, + STATE(2057), 1, + sym_parameter_list, + STATE(6924), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(10462), 2, + anon_sym_SEMI, + anon_sym___attribute__, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [262356] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3719), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [262380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4598), 1, + anon_sym_LBRACK, + ACTIONS(4600), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_try, + [262398] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(310), 1, + sym_declaration_list, + STATE(7345), 1, + sym_identifier, + STATE(7667), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262429] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2864), 1, + sym_template_argument_list, + ACTIONS(7553), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(4676), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [262452] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10466), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10464), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [262469] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9969), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262492] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9967), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262515] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10470), 1, + anon_sym_AMP, + ACTIONS(10472), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(10468), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [262534] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(564), 1, + sym_declaration_list, + STATE(7103), 1, + sym_identifier, + STATE(7778), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262565] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(656), 1, + sym_declaration_list, + STATE(7346), 1, + sym_identifier, + STATE(7669), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262596] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9965), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262619] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(699), 1, + sym_declaration_list, + STATE(7044), 1, + sym_identifier, + STATE(7755), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262650] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(10474), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [262675] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5752), 1, + anon_sym_AMP, + ACTIONS(10476), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(5754), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_or, + [262694] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9971), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262717] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9973), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262740] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10482), 1, + anon_sym_EQ, + ACTIONS(10478), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(10480), 6, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [262759] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9975), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262782] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9977), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262805] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(532), 1, + sym_declaration_list, + STATE(7178), 1, + sym_identifier, + STATE(7798), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262836] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5778), 1, + anon_sym_AMP, + ACTIONS(10476), 2, + anon_sym_AMP_AMP, + anon_sym_and, + ACTIONS(10484), 2, + anon_sym_PIPE_PIPE, + anon_sym_or, + ACTIONS(5780), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACE, + anon_sym_LBRACK, + [262857] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(346), 1, + sym_declaration_list, + STATE(7231), 1, + sym_identifier, + STATE(7668), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262888] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10488), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10486), 5, + anon_sym___based, + sym__identifier, + anon_sym_decltype, + anon_sym_template, + anon_sym_operator, + [262905] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(764), 1, + sym_declaration_list, + STATE(7252), 1, + sym_identifier, + STATE(7738), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [262936] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9945), 1, + anon_sym_LBRACK, + STATE(3819), 1, + sym_parameter_list, + STATE(5907), 1, + sym__function_declarator_seq, + ACTIONS(9943), 5, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [262959] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2864), 1, + sym_template_argument_list, + ACTIONS(4619), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(4612), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [262982] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(536), 1, + sym_declaration_list, + STATE(7133), 1, + sym_identifier, + STATE(7719), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [263013] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10492), 1, + anon_sym_COMMA, + ACTIONS(10490), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(10494), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [263031] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10136), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263057] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10496), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263083] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10069), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263109] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10498), 1, + anon_sym_SEMI, + ACTIONS(10500), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(7020), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263135] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10502), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263161] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10093), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263187] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4619), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(4612), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [263209] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10504), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263235] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(2970), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(10506), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [263257] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10091), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263283] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10089), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263309] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10508), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263335] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10291), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(8120), 1, + sym_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [263355] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10510), 1, + anon_sym_SEMI, + ACTIONS(10512), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(6824), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263381] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10130), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263407] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10514), 1, + anon_sym_SEMI, + ACTIONS(10516), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(7028), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263433] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10518), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263459] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263481] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10520), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263507] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10522), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263533] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10524), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263559] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263581] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(7553), 1, + anon_sym_LBRACK, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(4676), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [263603] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263625] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2864), 1, + sym_template_argument_list, + ACTIONS(5857), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [263645] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10095), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263671] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10526), 1, + anon_sym_SEMI, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263697] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10528), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263723] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10530), 1, + anon_sym_SEMI, + ACTIONS(10532), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(6761), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263749] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10291), 1, + sym_grit_metavariable, + STATE(3251), 1, + sym__string_literal, + STATE(8078), 1, + sym_string_literal, + ACTIONS(113), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [263769] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263791] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10534), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263817] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10132), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263843] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263865] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [263887] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10536), 1, + anon_sym_SEMI, + ACTIONS(10538), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(6830), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263913] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10140), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263939] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9264), 1, + anon_sym_LBRACK, + ACTIONS(10067), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6391), 1, + sym__function_declarator_seq, + STATE(6671), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263965] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10540), 1, + anon_sym_SEMI, + ACTIONS(10542), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(7016), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [263991] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [264013] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3919), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 4, + anon_sym_COLON, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [264035] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10544), 1, + anon_sym_SEMI, + ACTIONS(10546), 1, + anon_sym_EQ, + STATE(1626), 1, + sym_template_argument_list, + STATE(6980), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264061] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10548), 1, + anon_sym_RPAREN, + STATE(3410), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264087] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + ACTIONS(10550), 1, + anon_sym_COLON, + STATE(3881), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6352), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264113] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264134] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10554), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10552), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264149] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5508), 1, + anon_sym_COLON, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6666), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10558), 1, + anon_sym_AMP, + ACTIONS(10556), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [264187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10562), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10560), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264202] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10566), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10564), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264217] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2325), 1, + sym_template_type, + STATE(2356), 1, + sym_template_method, + STATE(7588), 1, + sym_operator_name, + STATE(7589), 1, + sym_identifier, + [264242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10443), 2, + aux_sym_preproc_elif_token1, + sym__identifier, + ACTIONS(10441), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_grit_metavariable, + [264257] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(2305), 1, + sym_template_argument_list, + STATE(7200), 2, + sym_argument_list, + sym_initializer_list, + [264280] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2325), 1, + sym_template_type, + STATE(3587), 1, + sym_template_method, + STATE(7748), 1, + sym_operator_name, + STATE(7802), 1, + sym_identifier, + [264305] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7789), 1, + sym_identifier, + STATE(7849), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [264330] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [264351] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10568), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264374] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10570), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264397] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9465), 1, + anon_sym_LBRACK, + STATE(3272), 1, + sym_parameter_list, + STATE(6297), 1, + sym__function_declarator_seq, + STATE(6142), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264420] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10572), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264443] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10574), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264466] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10223), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10576), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264481] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10580), 1, + anon_sym_AMP, + ACTIONS(10578), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [264496] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(8674), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8678), 1, + anon_sym_EQ, + STATE(7063), 1, + sym_identifier, + ACTIONS(8676), 2, + anon_sym_COMMA, + anon_sym_GT2, + [264519] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264540] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [264561] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(6174), 1, + sym_template_argument_list, + ACTIONS(5857), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_try, + [264580] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264601] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9969), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264622] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10584), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10582), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264637] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264658] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264679] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10586), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264702] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(5546), 1, + anon_sym_COLON, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6666), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5948), 1, + anon_sym_AMP, + ACTIONS(5950), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [264740] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10590), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10588), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264755] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9971), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [264776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10594), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10592), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264791] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9967), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [264812] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10596), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + STATE(6517), 1, + sym_enumerator, + STATE(6661), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(6663), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [264837] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9943), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [264858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6077), 1, + anon_sym_AMP, + ACTIONS(6079), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [264873] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10598), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10602), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10600), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264911] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10606), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10604), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [264926] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5936), 1, + anon_sym_AMP, + ACTIONS(5938), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [264941] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(5626), 1, + anon_sym_COLON, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6666), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [264964] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2325), 1, + sym_template_type, + STATE(2356), 1, + sym_template_method, + STATE(7737), 1, + sym_identifier, + STATE(7762), 1, + sym_operator_name, + [264989] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10608), 1, + anon_sym_LBRACK, + ACTIONS(10611), 1, + anon_sym_EQ, + ACTIONS(10613), 1, + anon_sym_DOT, + STATE(6606), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [265008] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7788), 1, + sym_identifier, + STATE(7859), 1, + sym_nested_namespace_specifier, + STATE(8063), 1, + sym__namespace_specifier, + [265033] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [265054] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7610), 1, + sym_identifier, + STATE(8063), 1, + sym__namespace_specifier, + STATE(8225), 1, + sym_nested_namespace_specifier, + [265079] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10616), 1, + anon_sym_LBRACK, + ACTIONS(10618), 1, + anon_sym_EQ, + ACTIONS(10620), 1, + anon_sym_DOT, + STATE(6606), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [265098] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7041), 1, + sym__namespace_specifier, + STATE(7447), 1, + sym_identifier, + STATE(7538), 1, + sym_nested_namespace_specifier, + [265123] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7527), 1, + sym_identifier, + STATE(8063), 1, + sym__namespace_specifier, + STATE(8479), 1, + sym_nested_namespace_specifier, + [265148] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9975), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [265169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10624), 1, + anon_sym_AMP, + ACTIONS(10622), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [265184] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10325), 1, + anon_sym_COLON_COLON, + ACTIONS(10327), 1, + anon_sym_inline, + STATE(7447), 1, + sym_identifier, + STATE(7449), 1, + sym__namespace_specifier, + STATE(7500), 1, + sym_nested_namespace_specifier, + [265209] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10626), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [265232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4159), 1, + anon_sym_AMP, + ACTIONS(4157), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [265247] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(5606), 1, + anon_sym_COLON, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6666), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [265270] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(5554), 1, + anon_sym_COLON, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(2057), 1, + sym_parameter_list, + STATE(6666), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [265293] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9977), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [265314] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2325), 1, + sym_template_type, + STATE(2356), 1, + sym_template_method, + STATE(7626), 1, + sym_operator_name, + STATE(7737), 1, + sym_identifier, + [265339] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5514), 1, + anon_sym_LBRACK, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10628), 1, + anon_sym_RPAREN, + STATE(2057), 1, + sym_parameter_list, + STATE(6381), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [265362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10554), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10552), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [265377] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9973), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + [265398] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(5409), 1, + anon_sym_operator, + STATE(2325), 1, + sym_template_type, + STATE(3497), 1, + sym_template_method, + STATE(7777), 1, + sym_identifier, + STATE(7779), 1, + sym_operator_name, + [265423] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(9965), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [265444] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10562), 2, + anon_sym_RBRACE, + sym_grit_metavariable, + ACTIONS(10560), 5, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + sym__identifier, + [265459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10470), 1, + anon_sym_AMP, + ACTIONS(10468), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [265474] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(9549), 1, + anon_sym_try, + ACTIONS(10630), 1, + anon_sym_SEMI, + ACTIONS(10632), 1, + anon_sym_EQ, + STATE(343), 2, + sym_compound_statement, + sym_try_statement, + [265494] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10634), 1, + anon_sym_LPAREN2, + STATE(6667), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265510] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(9513), 1, + anon_sym_try, + ACTIONS(10638), 1, + anon_sym_SEMI, + ACTIONS(10640), 1, + anon_sym_EQ, + STATE(590), 2, + sym_compound_statement, + sym_try_statement, + [265530] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10642), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265546] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10644), 1, + anon_sym_LPAREN2, + STATE(6660), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265562] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10646), 1, + anon_sym_LPAREN2, + STATE(6632), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265578] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10648), 1, + anon_sym_LPAREN2, + STATE(6637), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265594] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(10042), 1, + anon_sym_LBRACE, + ACTIONS(10650), 1, + anon_sym_SEMI, + ACTIONS(10652), 1, + anon_sym_EQ, + STATE(2109), 2, + sym_compound_statement, + sym_try_statement, + [265614] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10654), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265630] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(9507), 1, + anon_sym_try, + ACTIONS(10656), 1, + anon_sym_SEMI, + ACTIONS(10658), 1, + anon_sym_EQ, + STATE(556), 2, + sym_compound_statement, + sym_try_statement, + [265650] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10662), 2, + anon_sym_COLON_COLON, + sym_grit_metavariable, + ACTIONS(10660), 4, + sym__identifier, + anon_sym_decltype, + sym_virtual, + anon_sym_template, + [265664] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10664), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265680] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(9471), 1, + anon_sym_try, + ACTIONS(10666), 1, + anon_sym_SEMI, + ACTIONS(10668), 1, + anon_sym_EQ, + STATE(741), 2, + sym_compound_statement, + sym_try_statement, + [265700] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + ACTIONS(9513), 1, + anon_sym_try, + ACTIONS(10670), 1, + anon_sym_SEMI, + ACTIONS(10672), 1, + anon_sym_EQ, + STATE(624), 2, + sym_compound_statement, + sym_try_statement, + [265720] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(5857), 3, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [265738] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + ACTIONS(9549), 1, + anon_sym_try, + ACTIONS(10674), 1, + anon_sym_SEMI, + ACTIONS(10676), 1, + anon_sym_EQ, + STATE(309), 2, + sym_compound_statement, + sym_try_statement, + [265758] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(6741), 1, + sym_template_parameter_list, + STATE(7680), 1, + sym_identifier, + [265780] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(800), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [265802] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10678), 1, + anon_sym_LPAREN2, + STATE(6648), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265818] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10680), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265834] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10682), 1, + anon_sym_LPAREN2, + STATE(6640), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265850] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(10118), 1, + anon_sym_LBRACE, + ACTIONS(10684), 1, + anon_sym_SEMI, + ACTIONS(10686), 1, + anon_sym_EQ, + STATE(2276), 2, + sym_compound_statement, + sym_try_statement, + [265870] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(4012), 1, + sym_template_argument_list, + ACTIONS(5857), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [265888] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10688), 1, + anon_sym_LPAREN2, + STATE(6662), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [265904] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + ACTIONS(9507), 1, + anon_sym_try, + ACTIONS(10690), 1, + anon_sym_SEMI, + ACTIONS(10692), 1, + anon_sym_EQ, + STATE(657), 2, + sym_compound_statement, + sym_try_statement, + [265924] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(797), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [265946] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7120), 1, + anon_sym___attribute__, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + STATE(5651), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5831), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [265964] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9288), 1, + anon_sym_try, + ACTIONS(10042), 1, + anon_sym_LBRACE, + ACTIONS(10694), 1, + anon_sym_SEMI, + ACTIONS(10696), 1, + anon_sym_EQ, + STATE(2190), 2, + sym_compound_statement, + sym_try_statement, + [265984] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(801), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [266006] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(9471), 1, + anon_sym_try, + ACTIONS(10698), 1, + anon_sym_SEMI, + ACTIONS(10700), 1, + anon_sym_EQ, + STATE(758), 2, + sym_compound_statement, + sym_try_statement, + [266026] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3754), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(10432), 2, + anon_sym_COMMA, + anon_sym_GT2, + [266046] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10702), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [266062] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10704), 1, + aux_sym_preproc_if_token2, + STATE(6473), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + [266084] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10706), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [266100] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10708), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + STATE(6480), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [266120] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(802), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [266142] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(10099), 1, + anon_sym_LBRACE, + ACTIONS(10710), 1, + anon_sym_SEMI, + ACTIONS(10712), 1, + anon_sym_EQ, + STATE(1802), 2, + sym_compound_statement, + sym_try_statement, + [266162] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5675), 1, + anon_sym_LBRACK, + ACTIONS(7540), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5677), 2, + anon_sym_LPAREN2, + anon_sym_COLON, + STATE(5808), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [266180] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10714), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10636), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [266196] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(798), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [266218] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4963), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6722), 1, + anon_sym___attribute__, + STATE(5554), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(5776), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [266236] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(799), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [266258] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10285), 1, + anon_sym_LBRACK, + ACTIONS(10283), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [266276] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + ACTIONS(10716), 1, + aux_sym_preproc_if_token2, + STATE(6506), 1, + sym_identifier, + STATE(6663), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [266296] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4669), 1, + anon_sym_LT, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(796), 1, + sym_template_parameter_list, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [266318] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10270), 1, + anon_sym_LBRACK, + STATE(6396), 1, + sym_template_argument_list, + ACTIONS(10266), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [266336] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9280), 1, + anon_sym_try, + ACTIONS(10099), 1, + anon_sym_LBRACE, + ACTIONS(10718), 1, + anon_sym_SEMI, + ACTIONS(10720), 1, + anon_sym_EQ, + STATE(1749), 2, + sym_compound_statement, + sym_try_statement, + [266356] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + ACTIONS(10596), 1, + aux_sym_preproc_if_token2, + STATE(6661), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(7056), 1, + sym_identifier, + STATE(7908), 1, + sym_enumerator, + [266378] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + ACTIONS(10432), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [266398] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10276), 1, + anon_sym_LBRACK, + STATE(6419), 1, + sym_template_argument_list, + ACTIONS(10274), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [266416] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10722), 1, + anon_sym_LPAREN2, + STATE(6679), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(10724), 3, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [266432] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9270), 1, + anon_sym_try, + ACTIONS(10118), 1, + anon_sym_LBRACE, + ACTIONS(10727), 1, + anon_sym_SEMI, + ACTIONS(10729), 1, + anon_sym_EQ, + STATE(2061), 2, + sym_compound_statement, + sym_try_statement, + [266452] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10731), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(7856), 1, + sym_attribute_specifier, + [266471] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(4240), 1, + sym_template_argument_list, + ACTIONS(5857), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [266488] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(3345), 1, + sym_identifier, + STATE(3401), 1, + sym_template_function, + [266507] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10733), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(7941), 1, + sym_attribute_specifier, + [266526] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9967), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266545] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10735), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8563), 1, + sym_attribute_specifier, + [266564] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9969), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266583] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10737), 1, + anon_sym_SEMI, + STATE(6713), 1, + aux_sym_field_declaration_repeat1, + STATE(7939), 1, + sym_attribute_specifier, + [266602] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10739), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8560), 1, + sym_attribute_specifier, + [266621] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6743), 1, + sym_identifier, + [266640] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10741), 1, + anon_sym_SEMI, + STATE(6705), 1, + aux_sym_field_declaration_repeat1, + STATE(8471), 1, + sym_attribute_specifier, + [266659] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6584), 1, + sym_identifier, + [266678] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(2573), 1, + sym_decltype_auto, + ACTIONS(10743), 2, + anon_sym_COMMA, + anon_sym_GT2, + [266695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10745), 1, + anon_sym_EQ, + ACTIONS(9791), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [266708] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10747), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8584), 1, + sym_attribute_specifier, + [266727] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + ACTIONS(10749), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266746] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2445), 1, + sym_template_function, + STATE(3283), 1, + sym_identifier, + [266765] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + ACTIONS(10753), 1, + anon_sym_COLON_COLON, + STATE(7776), 1, + sym_argument_list, + ACTIONS(10751), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [266782] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2305), 1, + sym_template_argument_list, + ACTIONS(5788), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [266799] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6682), 1, + sym_identifier, + [266818] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6542), 1, + sym_identifier, + [266837] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + ACTIONS(10755), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266856] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(2445), 1, + sym_template_function, + STATE(3608), 1, + sym_identifier, + [266875] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9971), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266894] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10757), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8470), 1, + sym_attribute_specifier, + [266913] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9973), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266932] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9975), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266951] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + STATE(2584), 1, + sym_template_type, + STATE(3430), 1, + sym_identifier, + STATE(3715), 1, + sym_template_function, + [266970] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9977), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [266989] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10759), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8056), 1, + sym_attribute_specifier, + [267008] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10761), 1, + anon_sym_SEMI, + STATE(6721), 1, + aux_sym_field_declaration_repeat1, + STATE(8046), 1, + sym_attribute_specifier, + [267027] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(3177), 1, + sym_identifier, + STATE(3401), 1, + sym_template_function, + [267046] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10763), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(7979), 1, + sym_attribute_specifier, + [267065] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9965), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [267084] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10765), 1, + anon_sym_SEMI, + STATE(6725), 1, + aux_sym_field_declaration_repeat1, + STATE(8057), 1, + sym_attribute_specifier, + [267103] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(6002), 1, + sym_identifier, + STATE(6240), 1, + sym_template_function, + [267122] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10767), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8066), 1, + sym_attribute_specifier, + [267141] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(3071), 1, + sym_identifier, + STATE(3297), 1, + sym_template_function, + [267160] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2445), 1, + sym_template_function, + STATE(3455), 1, + sym_identifier, + [267179] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10769), 1, + anon_sym_SEMI, + STATE(6736), 1, + aux_sym_field_declaration_repeat1, + STATE(8111), 1, + sym_attribute_specifier, + [267198] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10771), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8115), 1, + sym_attribute_specifier, + [267217] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(9943), 1, + anon_sym_COLON, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3933), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [267236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10773), 1, + anon_sym_EQ, + ACTIONS(9791), 4, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [267249] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10775), 1, + anon_sym_SEMI, + STATE(6689), 1, + aux_sym_field_declaration_repeat1, + STATE(8498), 1, + sym_attribute_specifier, + [267268] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10777), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8074), 1, + sym_attribute_specifier, + [267287] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10779), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8494), 1, + sym_attribute_specifier, + [267306] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(3416), 1, + sym_identifier, + STATE(3715), 1, + sym_template_function, + [267325] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6542), 1, + sym_identifier, + [267344] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6651), 1, + sym_identifier, + [267363] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + ACTIONS(10781), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [267382] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(6643), 1, + sym_identifier, + [267401] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10783), 1, + anon_sym_SEMI, + STATE(6695), 1, + aux_sym_field_declaration_repeat1, + STATE(8486), 1, + sym_attribute_specifier, + [267420] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5862), 1, + sym__identifier, + ACTIONS(5864), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2369), 1, + sym_identifier, + STATE(2445), 1, + sym_template_function, + [267439] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10785), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8148), 1, + sym_attribute_specifier, + [267458] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(3089), 1, + sym_identifier, + [267477] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10787), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(8293), 1, + sym_attribute_specifier, + [267496] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10789), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10791), 1, + anon_sym_RPAREN, + STATE(7083), 1, + sym_identifier, + [267515] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(3305), 1, + sym_identifier, + STATE(3401), 1, + sym_template_function, + [267534] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(3080), 1, + sym_identifier, + STATE(3297), 1, + sym_template_function, + [267553] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7404), 1, + sym_identifier, + ACTIONS(10793), 2, + anon_sym_COMMA, + anon_sym_GT2, + [267570] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10795), 2, + anon_sym_class, + anon_sym_typename, + STATE(7606), 3, + sym_type_parameter_declaration, + sym_variadic_type_parameter_declaration, + sym_optional_type_parameter_declaration, + [267583] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7601), 1, + sym_identifier, + ACTIONS(10797), 2, + anon_sym_COMMA, + anon_sym_GT2, + [267600] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5855), 1, + anon_sym_LBRACK, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(3925), 1, + sym_template_argument_list, + ACTIONS(5857), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [267617] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(7439), 1, + sym_identifier, + [267636] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7404), 1, + sym_identifier, + ACTIONS(10793), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [267653] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7770), 1, + sym_auto, + ACTIONS(7772), 1, + anon_sym_decltype, + STATE(2573), 1, + sym_decltype_auto, + ACTIONS(10799), 2, + anon_sym_COMMA, + anon_sym_GT2, + [267670] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + ACTIONS(10801), 1, + anon_sym_RPAREN, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [267689] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2369), 1, + sym_identifier, + STATE(2445), 1, + sym_template_function, + [267708] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10803), 1, + anon_sym_SEMI, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + STATE(7825), 1, + sym_attribute_specifier, + [267727] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(6002), 1, + sym_identifier, + STATE(6240), 1, + sym_template_function, + [267746] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(2881), 1, + sym_template_function, + STATE(3168), 1, + sym_identifier, + [267765] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10805), 1, + anon_sym_SEMI, + STATE(6681), 1, + aux_sym_field_declaration_repeat1, + STATE(7840), 1, + sym_attribute_specifier, + [267784] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(7887), 1, + anon_sym_COMMA, + ACTIONS(10807), 1, + anon_sym_SEMI, + STATE(6684), 1, + aux_sym_field_declaration_repeat1, + STATE(7847), 1, + sym_attribute_specifier, + [267803] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10809), 1, + anon_sym_DQUOTE, + ACTIONS(10811), 1, + aux_sym__string_literal_token1, + ACTIONS(10813), 1, + sym_escape_sequence, + STATE(7027), 1, + aux_sym__string_literal_repeat1, + [267819] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10815), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [267833] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(10819), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [267849] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 1, + anon_sym_LBRACE, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + STATE(2387), 1, + sym_initializer_list, + STATE(2489), 1, + sym_argument_list, + [267865] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(7637), 1, + sym_identifier, + [267881] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7411), 1, + sym_compound_statement, + STATE(7603), 1, + sym_field_initializer_list, + [267897] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(5684), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [267911] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10821), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [267925] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10823), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [267939] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + ACTIONS(10035), 1, + anon_sym_LBRACK, + STATE(3393), 1, + sym_parameter_list, + STATE(6155), 1, + sym__function_declarator_seq, + [267955] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3189), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [267969] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10825), 1, + anon_sym_DQUOTE, + ACTIONS(10827), 1, + aux_sym__string_literal_token1, + ACTIONS(10829), 1, + sym_escape_sequence, + STATE(6786), 1, + aux_sym__string_literal_repeat1, + [267985] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10831), 1, + anon_sym_DQUOTE, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [268001] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10839), 1, + anon_sym_GT2, + STATE(7390), 1, + aux_sym_template_argument_list_repeat1, + [268017] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10841), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [268031] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(4386), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268045] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10843), 1, + aux_sym_preproc_include_token2, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(10847), 1, + sym_preproc_arg, + STATE(7562), 1, + sym_preproc_params, + [268061] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2657), 1, + sym_field_declaration_list, + STATE(7577), 1, + sym_base_class_clause, + [268077] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10512), 1, + anon_sym_EQ, + STATE(6824), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [268091] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(10851), 1, + anon_sym_EQ, + STATE(341), 1, + sym_declaration_list, + [268107] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10853), 1, + anon_sym_SEMI, + STATE(6832), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268121] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10855), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268135] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10857), 1, + anon_sym___except, + ACTIONS(10859), 1, + anon_sym___finally, + STATE(895), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [268149] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2422), 1, + sym_field_declaration_list, + STATE(7717), 1, + sym_base_class_clause, + [268165] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9759), 1, + anon_sym_LBRACE, + STATE(1640), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268179] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9020), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(2409), 1, + sym_requirement_seq, + STATE(7557), 1, + sym_requires_parameter_list, + [268195] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10863), 1, + anon_sym_SEMI, + STATE(6775), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268209] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10865), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10869), 1, + anon_sym_LBRACE, + STATE(7443), 1, + aux_sym_base_class_clause_repeat1, + [268225] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10871), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [268235] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10546), 1, + anon_sym_EQ, + STATE(6980), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [268249] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10873), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10875), 1, + anon_sym_LBRACE, + STATE(7199), 1, + aux_sym_base_class_clause_repeat1, + [268265] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10877), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [268279] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(10879), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [268295] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10881), 1, + anon_sym_DQUOTE, + ACTIONS(10883), 1, + aux_sym__string_literal_token1, + ACTIONS(10885), 1, + sym_escape_sequence, + STATE(6865), 1, + aux_sym__string_literal_repeat1, + [268311] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5234), 1, + sym_field_declaration_list, + STATE(7565), 1, + sym_base_class_clause, + [268327] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10887), 1, + anon_sym_DQUOTE, + ACTIONS(10889), 1, + aux_sym__string_literal_token1, + ACTIONS(10891), 1, + sym_escape_sequence, + STATE(6815), 1, + aux_sym__string_literal_repeat1, + [268343] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5221), 1, + sym_field_declaration_list, + STATE(7566), 1, + sym_base_class_clause, + [268359] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2791), 1, + sym_field_declaration_list, + STATE(7714), 1, + sym_base_class_clause, + [268375] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10893), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268389] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2584), 1, + sym_template_type, + STATE(7739), 1, + sym_identifier, + [268405] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(4261), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268419] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(10895), 1, + anon_sym_EQ, + STATE(636), 1, + sym_declaration_list, + [268435] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2486), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268449] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9046), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(3879), 1, + sym_requirement_seq, + STATE(7645), 1, + sym_requires_parameter_list, + [268465] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10871), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_try, + [268475] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10897), 1, + anon_sym_DQUOTE, + ACTIONS(10899), 1, + aux_sym__string_literal_token1, + ACTIONS(10901), 1, + sym_escape_sequence, + STATE(6836), 1, + aux_sym__string_literal_repeat1, + [268491] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10903), 1, + anon_sym_GT2, + STATE(7450), 1, + aux_sym_template_argument_list_repeat1, + [268507] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7225), 2, + sym_argument_list, + sym_initializer_list, + [268521] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9028), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(3396), 1, + sym_requirement_seq, + STATE(7585), 1, + sym_requires_parameter_list, + [268537] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10905), 1, + anon_sym_COMMA, + STATE(6957), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(10907), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [268551] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(10909), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [268567] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10911), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [268581] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10913), 1, + anon_sym_COMMA, + STATE(6806), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(10916), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [268595] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3418), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268609] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2454), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268623] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(10918), 1, + aux_sym_preproc_include_token2, + ACTIONS(10920), 1, + sym_preproc_arg, + STATE(7729), 1, + sym_preproc_params, + [268639] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4950), 1, + sym_field_declaration_list, + STATE(7623), 1, + sym_base_class_clause, + [268655] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7595), 1, + sym_argument_list, + ACTIONS(10922), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [268669] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2626), 1, + sym_field_declaration_list, + STATE(7533), 1, + sym_base_class_clause, + [268685] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(7693), 1, + sym_identifier, + [268701] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10924), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [268715] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(10926), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [268731] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10928), 1, + anon_sym_SEMI, + ACTIONS(10930), 1, + anon_sym_DASH_GT, + ACTIONS(10932), 1, + anon_sym_noexcept, + STATE(7853), 1, + sym_trailing_return_type, + [268747] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10934), 1, + anon_sym_EQ, + STATE(6938), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [268761] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3400), 1, + sym_argument_list, + STATE(3918), 1, + sym_initializer_list, + [268777] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10936), 1, + anon_sym_DQUOTE, + ACTIONS(10938), 1, + aux_sym__string_literal_token1, + ACTIONS(10940), 1, + sym_escape_sequence, + STATE(6878), 1, + aux_sym__string_literal_repeat1, + [268793] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + ACTIONS(10942), 1, + anon_sym_LBRACE, + STATE(5959), 1, + sym_requirement_seq, + STATE(7677), 1, + sym_requires_parameter_list, + [268809] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(10944), 1, + aux_sym_preproc_include_token2, + ACTIONS(10946), 1, + sym_preproc_arg, + STATE(7520), 1, + sym_preproc_params, + [268825] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10948), 1, + anon_sym___except, + ACTIONS(10950), 1, + anon_sym___finally, + STATE(442), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [268839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3716), 1, + sym_argument_list, + STATE(4791), 1, + sym_initializer_list, + [268855] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10952), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [268869] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3553), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268883] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9837), 1, + anon_sym_LBRACE, + STATE(4315), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [268897] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10954), 1, + anon_sym_SEMI, + STATE(6945), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268911] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4949), 1, + anon_sym_COLON, + STATE(1996), 1, + sym_field_declaration_list, + STATE(7726), 1, + sym_base_class_clause, + [268927] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10956), 1, + anon_sym_SEMI, + STATE(6861), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268941] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10958), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [268955] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10960), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268969] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10962), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [268983] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2312), 1, + sym_template_type, + STATE(7624), 1, + sym_identifier, + [268999] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2762), 1, + sym_template_type, + STATE(7678), 1, + sym_identifier, + [269015] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10964), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [269029] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(10966), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269045] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9054), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(3240), 1, + sym_requirement_seq, + STATE(7620), 1, + sym_requires_parameter_list, + [269061] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(1926), 1, + sym_template_type, + STATE(7768), 1, + sym_identifier, + [269077] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10532), 1, + anon_sym_EQ, + STATE(6761), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [269091] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4937), 1, + sym_field_declaration_list, + STATE(7642), 1, + sym_base_class_clause, + [269107] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(10968), 1, + anon_sym_DOT_DOT_DOT, + STATE(7700), 1, + sym_identifier, + [269123] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(10970), 1, + aux_sym_preproc_include_token2, + ACTIONS(10972), 1, + sym_preproc_arg, + STATE(7563), 1, + sym_preproc_params, + [269139] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3218), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [269153] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(4612), 1, + anon_sym_SEMI, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1704), 1, + sym_template_argument_list, + [269169] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10974), 1, + anon_sym_SEMI, + STATE(6934), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269183] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7249), 1, + sym_compound_statement, + STATE(7596), 1, + sym_field_initializer_list, + [269199] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(10976), 1, + anon_sym_EQ, + STATE(613), 1, + sym_declaration_list, + [269215] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10978), 1, + anon_sym___except, + ACTIONS(10980), 1, + anon_sym___finally, + STATE(415), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [269229] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10982), 1, + anon_sym___except, + ACTIONS(10984), 1, + anon_sym___finally, + STATE(274), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [269243] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10986), 1, + anon_sym_DQUOTE, + ACTIONS(10988), 1, + aux_sym__string_literal_token1, + ACTIONS(10990), 1, + sym_escape_sequence, + STATE(6804), 1, + aux_sym__string_literal_repeat1, + [269259] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7298), 1, + sym_attribute, + [269275] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(10992), 1, + anon_sym_EQ, + STATE(684), 1, + sym_declaration_list, + [269291] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(7521), 1, + sym_identifier, + [269307] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2834), 1, + sym_field_declaration_list, + STATE(7633), 1, + sym_base_class_clause, + [269323] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(7635), 1, + sym_identifier, + [269339] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(10994), 1, + anon_sym_GT2, + STATE(7286), 1, + aux_sym_template_argument_list_repeat1, + [269355] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2458), 1, + sym_field_declaration_list, + STATE(7797), 1, + sym_base_class_clause, + [269371] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3549), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [269385] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7416), 1, + sym_attribute, + [269401] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10996), 1, + anon_sym_SEMI, + STATE(6874), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269415] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(10998), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269429] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7086), 1, + sym_compound_statement, + STATE(7763), 1, + sym_field_initializer_list, + [269445] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + ACTIONS(11000), 1, + anon_sym_LBRACE, + STATE(1651), 1, + sym_requirement_seq, + STATE(7799), 1, + sym_requires_parameter_list, + [269461] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11002), 1, + anon_sym_GT2, + STATE(7316), 1, + aux_sym_template_argument_list_repeat1, + [269477] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11004), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269493] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11006), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [269507] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11008), 4, + anon_sym_LPAREN2, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + [269517] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + ACTIONS(6252), 1, + anon_sym_LPAREN2, + STATE(3398), 1, + sym_initializer_list, + STATE(3400), 1, + sym_argument_list, + [269533] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11010), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [269549] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7470), 1, + sym_attribute, + [269565] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7587), 1, + sym_grit_metavariable, + ACTIONS(11012), 1, + anon_sym_LPAREN2, + STATE(5620), 1, + sym_identifier, + [269581] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11014), 1, + anon_sym_DQUOTE, + ACTIONS(11016), 1, + aux_sym__string_literal_token1, + ACTIONS(11019), 1, + sym_escape_sequence, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269597] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9779), 1, + anon_sym_LBRACE, + STATE(3554), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [269611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11022), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269625] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11024), 1, + anon_sym_COMMA, + STATE(6875), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(11027), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [269639] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4830), 1, + sym_field_declaration_list, + STATE(7534), 1, + sym_base_class_clause, + [269655] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11029), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [269669] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11031), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269685] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11033), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [269699] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7186), 1, + sym_compound_statement, + STATE(7647), 1, + sym_field_initializer_list, + [269715] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11035), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269729] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(11037), 1, + aux_sym_preproc_include_token2, + ACTIONS(11039), 1, + sym_preproc_arg, + STATE(7771), 1, + sym_preproc_params, + [269745] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11041), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269761] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2840), 1, + sym_template_type, + STATE(7605), 1, + sym_identifier, + [269777] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11043), 1, + anon_sym_DQUOTE, + ACTIONS(11045), 1, + aux_sym__string_literal_token1, + ACTIONS(11047), 1, + sym_escape_sequence, + STATE(6883), 1, + aux_sym__string_literal_repeat1, + [269793] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11049), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11051), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [269807] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11054), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269823] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11056), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [269839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(2942), 1, + sym_field_declaration_list, + STATE(7742), 1, + sym_base_class_clause, + [269855] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11058), 1, + anon_sym_DQUOTE, + ACTIONS(11060), 1, + aux_sym__string_literal_token1, + ACTIONS(11062), 1, + sym_escape_sequence, + STATE(6887), 1, + aux_sym__string_literal_repeat1, + [269871] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11064), 1, + anon_sym_DQUOTE, + ACTIONS(11066), 1, + aux_sym__string_literal_token1, + ACTIONS(11068), 1, + sym_escape_sequence, + STATE(6915), 1, + aux_sym__string_literal_repeat1, + [269887] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11070), 1, + anon_sym_SEMI, + STATE(6762), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [269901] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9038), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(4382), 1, + sym_requirement_seq, + STATE(7576), 1, + sym_requires_parameter_list, + [269917] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(4670), 1, + sym_template_type, + STATE(7772), 1, + sym_identifier, + [269933] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7297), 1, + sym_attribute, + [269949] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11072), 1, + anon_sym_GT2, + STATE(7237), 1, + aux_sym_template_argument_list_repeat1, + [269965] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11074), 1, + anon_sym_GT2, + STATE(7094), 1, + aux_sym_template_argument_list_repeat1, + [269981] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11076), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [269997] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + ACTIONS(6368), 1, + anon_sym_LPAREN2, + STATE(3598), 1, + sym_initializer_list, + STATE(3716), 1, + sym_argument_list, + [270013] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10538), 1, + anon_sym_EQ, + STATE(6830), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [270027] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11078), 1, + anon_sym_DQUOTE, + ACTIONS(11080), 1, + aux_sym__string_literal_token1, + ACTIONS(11082), 1, + sym_escape_sequence, + STATE(6898), 1, + aux_sym__string_literal_repeat1, + [270043] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11084), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270057] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11086), 1, + anon_sym_SEMI, + STATE(6969), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270071] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11088), 1, + anon_sym_COMMA, + STATE(6875), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(11090), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [270085] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11092), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11094), 1, + anon_sym_LBRACE, + STATE(7218), 1, + aux_sym_base_class_clause_repeat1, + [270101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3898), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270115] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9759), 1, + anon_sym_LBRACE, + STATE(1637), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270129] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11096), 1, + anon_sym_COMMA, + STATE(6908), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(11099), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [270143] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3499), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270157] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2922), 1, + sym_field_declaration_list, + STATE(7690), 1, + sym_base_class_clause, + [270173] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2589), 1, + sym_template_type, + STATE(7551), 1, + sym_identifier, + [270189] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11101), 1, + anon_sym_SEMI, + STATE(6937), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270203] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11103), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [270219] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11105), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [270233] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11107), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [270249] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(5698), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270263] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9835), 1, + anon_sym_LBRACE, + STATE(3328), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270277] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11109), 1, + anon_sym_GT2, + STATE(7211), 1, + aux_sym_template_argument_list_repeat1, + [270293] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9079), 1, + anon_sym_LBRACE, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + STATE(3581), 1, + sym_requirement_seq, + STATE(7602), 1, + sym_requires_parameter_list, + [270309] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7172), 1, + sym_compound_statement, + STATE(7671), 1, + sym_field_initializer_list, + [270325] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9765), 1, + anon_sym_LBRACE, + STATE(5714), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270339] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11111), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270353] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(1642), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270367] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10460), 1, + anon_sym_COMMA, + STATE(6806), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(11113), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [270381] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11115), 1, + anon_sym_COMMA, + STATE(6925), 1, + aux_sym_field_declaration_repeat1, + ACTIONS(11118), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [270395] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11120), 1, + anon_sym_SEMI, + STATE(6954), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270409] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11122), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [270425] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11124), 1, + anon_sym_GT2, + STATE(7488), 1, + aux_sym_template_argument_list_repeat1, + [270441] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3110), 1, + sym_field_declaration_list, + STATE(7756), 1, + sym_base_class_clause, + [270457] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(11126), 1, + aux_sym_preproc_include_token2, + ACTIONS(11128), 1, + sym_preproc_arg, + STATE(7630), 1, + sym_preproc_params, + [270473] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11130), 1, + anon_sym_DQUOTE, + ACTIONS(11132), 1, + aux_sym__string_literal_token1, + ACTIONS(11134), 1, + sym_escape_sequence, + STATE(6927), 1, + aux_sym__string_literal_repeat1, + [270489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11136), 1, + anon_sym_SEMI, + STATE(7003), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270503] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11138), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [270517] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11140), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270531] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7221), 1, + sym_attribute, + [270547] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2927), 1, + sym_field_declaration_list, + STATE(7711), 1, + sym_base_class_clause, + [270563] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11142), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270577] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11144), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [270591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10542), 1, + anon_sym_EQ, + STATE(7016), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [270605] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11146), 1, + anon_sym_COMMA, + STATE(6940), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(11149), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [270619] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11151), 1, + anon_sym_SEMI, + STATE(6831), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270633] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3004), 1, + sym_field_declaration_list, + STATE(7654), 1, + sym_base_class_clause, + [270649] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11153), 1, + anon_sym_GT2, + STATE(7184), 1, + aux_sym_template_argument_list_repeat1, + [270665] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3926), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270679] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11155), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270693] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11157), 1, + anon_sym_SEMI, + STATE(6990), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270707] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11159), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [270723] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11161), 1, + anon_sym_SEMI, + STATE(6881), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270737] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11163), 1, + anon_sym_GT2, + STATE(7146), 1, + aux_sym_template_argument_list_repeat1, + [270753] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11165), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11167), 1, + anon_sym_LBRACE, + STATE(7046), 1, + aux_sym_base_class_clause_repeat1, + [270769] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(1637), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270783] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11169), 1, + anon_sym_GT2, + STATE(7169), 1, + aux_sym_template_argument_list_repeat1, + [270799] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11171), 1, + anon_sym_SEMI, + STATE(6965), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270813] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11173), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270827] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11175), 1, + anon_sym_DQUOTE, + ACTIONS(11177), 1, + aux_sym__string_literal_token1, + ACTIONS(11179), 1, + sym_escape_sequence, + STATE(6947), 1, + aux_sym__string_literal_repeat1, + [270843] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7482), 1, + sym_compound_statement, + STATE(7696), 1, + sym_field_initializer_list, + [270859] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10905), 1, + anon_sym_COMMA, + STATE(6940), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(11181), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [270873] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11183), 1, + anon_sym_GT2, + STATE(7157), 1, + aux_sym_template_argument_list_repeat1, + [270889] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10861), 1, + anon_sym_LPAREN2, + ACTIONS(11185), 1, + anon_sym_LBRACE, + STATE(5729), 1, + sym_requirement_seq, + STATE(7516), 1, + sym_requires_parameter_list, + [270905] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11187), 1, + anon_sym_COMMA, + STATE(7015), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(11189), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [270919] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11191), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [270935] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11193), 1, + anon_sym_DQUOTE, + ACTIONS(11195), 1, + aux_sym__string_literal_token1, + ACTIONS(11197), 1, + sym_escape_sequence, + STATE(6961), 1, + aux_sym__string_literal_repeat1, + [270951] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7123), 1, + sym_attribute, + [270967] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(1640), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [270981] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11199), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [270995] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11201), 1, + anon_sym___except, + ACTIONS(11203), 1, + anon_sym___finally, + STATE(498), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [271009] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10845), 1, + anon_sym_LPAREN, + ACTIONS(11205), 1, + aux_sym_preproc_include_token2, + ACTIONS(11207), 1, + sym_preproc_arg, + STATE(7646), 1, + sym_preproc_params, + [271025] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7539), 1, + sym_attribute, + [271041] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11209), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271055] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11211), 1, + anon_sym_SEMI, + STATE(6792), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271069] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11213), 1, + anon_sym_GT2, + STATE(7129), 1, + aux_sym_template_argument_list_repeat1, + [271085] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11215), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [271101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11217), 1, + anon_sym_EQ, + STATE(6879), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271115] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9759), 1, + anon_sym_LBRACE, + STATE(1642), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271129] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9129), 1, + sym__identifier, + ACTIONS(11219), 1, + anon_sym_LPAREN2, + ACTIONS(11221), 1, + sym_grit_metavariable, + STATE(5758), 1, + sym_identifier, + [271145] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(1718), 1, + sym_template_type, + STATE(7760), 1, + sym_identifier, + [271161] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11223), 1, + anon_sym_DQUOTE, + ACTIONS(11225), 1, + aux_sym__string_literal_token1, + ACTIONS(11227), 1, + sym_escape_sequence, + STATE(6972), 1, + aux_sym__string_literal_repeat1, + [271177] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7386), 1, + sym_attribute, + [271193] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11229), 1, + anon_sym_DQUOTE, + ACTIONS(11231), 1, + aux_sym__string_literal_token1, + ACTIONS(11233), 1, + sym_escape_sequence, + STATE(6997), 1, + aux_sym__string_literal_repeat1, + [271209] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11235), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271223] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2649), 1, + sym_template_type, + STATE(7495), 1, + sym_identifier, + [271239] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6698), 1, + sym_identifier, + STATE(7394), 1, + sym_attribute, + [271255] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11237), 1, + anon_sym_GT2, + STATE(7101), 1, + aux_sym_template_argument_list_repeat1, + [271271] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + ACTIONS(4949), 1, + anon_sym_COLON, + STATE(2015), 1, + sym_field_declaration_list, + STATE(7783), 1, + sym_base_class_clause, + [271287] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11239), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [271303] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11241), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [271317] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4817), 1, + sym_field_declaration_list, + STATE(7545), 1, + sym_base_class_clause, + [271333] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11243), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [271349] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11245), 1, + anon_sym_SEMI, + STATE(6902), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271363] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11247), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271377] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9827), 1, + anon_sym_LBRACE, + STATE(3534), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271391] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3951), 1, + sym_field_declaration_list, + STATE(7745), 1, + sym_base_class_clause, + [271407] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11249), 1, + anon_sym_DQUOTE, + ACTIONS(11251), 1, + aux_sym__string_literal_token1, + ACTIONS(11253), 1, + sym_escape_sequence, + STATE(6985), 1, + aux_sym__string_literal_repeat1, + [271423] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11255), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [271439] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11257), 1, + anon_sym___except, + ACTIONS(11259), 1, + anon_sym___finally, + STATE(442), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [271453] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11261), 1, + anon_sym_SQUOTE, + STATE(6886), 1, + aux_sym__char_literal_repeat1, + ACTIONS(10817), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [271467] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11263), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [271483] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11265), 1, + anon_sym_DQUOTE, + ACTIONS(11267), 1, + aux_sym__string_literal_token1, + ACTIONS(11269), 1, + sym_escape_sequence, + STATE(6766), 1, + aux_sym__string_literal_repeat1, + [271499] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11271), 1, + anon_sym_SEMI, + STATE(6922), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271513] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3980), 1, + sym_field_declaration_list, + STATE(7528), 1, + sym_base_class_clause, + [271529] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(5938), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271543] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3949), 1, + sym_field_declaration_list, + STATE(7530), 1, + sym_base_class_clause, + [271559] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6722), 1, + anon_sym___attribute__, + ACTIONS(11273), 1, + anon_sym_SEMI, + STATE(4495), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [271573] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + ACTIONS(11275), 1, + anon_sym_RPAREN, + STATE(7223), 1, + sym_identifier, + [271589] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11277), 1, + anon_sym_GT2, + STATE(7068), 1, + aux_sym_template_argument_list_repeat1, + [271605] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11088), 1, + anon_sym_COMMA, + STATE(6904), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(11279), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [271619] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9767), 1, + anon_sym_LBRACE, + STATE(2419), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271633] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(7784), 1, + sym_identifier, + [271649] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9769), 1, + anon_sym_LBRACE, + STATE(3855), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271663] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(2325), 1, + sym_template_type, + STATE(7680), 1, + sym_identifier, + [271679] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11281), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [271695] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3966), 1, + sym_field_declaration_list, + STATE(7752), 1, + sym_base_class_clause, + [271711] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11283), 1, + anon_sym_GT2, + STATE(7032), 1, + aux_sym_template_argument_list_repeat1, + [271727] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(5931), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271741] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11187), 1, + anon_sym_COMMA, + STATE(6908), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(11285), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [271755] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11287), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271769] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10500), 1, + anon_sym_EQ, + STATE(7020), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271783] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9861), 1, + anon_sym_LBRACE, + STATE(5925), 1, + sym_compound_statement, + ACTIONS(9791), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [271797] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 1, + anon_sym_COLON_COLON, + ACTIONS(6103), 1, + anon_sym_LT, + ACTIONS(11289), 1, + anon_sym_SEMI, + STATE(1626), 1, + sym_template_argument_list, + [271813] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11291), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271827] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(10516), 1, + anon_sym_EQ, + STATE(7028), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271841] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11293), 1, + anon_sym_GT2, + STATE(7427), 1, + aux_sym_template_argument_list_repeat1, + [271857] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4949), 1, + anon_sym_COLON, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3074), 1, + sym_field_declaration_list, + STATE(7614), 1, + sym_base_class_clause, + [271873] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + ACTIONS(5052), 1, + anon_sym_LPAREN2, + STATE(2489), 1, + sym_argument_list, + STATE(3938), 1, + sym_initializer_list, + [271889] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11295), 1, + anon_sym_DQUOTE, + ACTIONS(11297), 1, + aux_sym__string_literal_token1, + ACTIONS(11299), 1, + sym_escape_sequence, + STATE(7011), 1, + aux_sym__string_literal_repeat1, + [271905] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(3583), 1, + sym_template_type, + STATE(7796), 1, + sym_identifier, + [271921] = 5, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(10833), 1, + aux_sym__string_literal_token1, + ACTIONS(10835), 1, + sym_escape_sequence, + ACTIONS(11301), 1, + anon_sym_DQUOTE, + STATE(6872), 1, + aux_sym__string_literal_repeat1, + [271937] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(11303), 1, + anon_sym_EQ, + STATE(6025), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [271951] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(10046), 1, + anon_sym_COLON, + STATE(7034), 1, + sym_compound_statement, + STATE(7747), 1, + sym_field_initializer_list, + [271967] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11305), 1, + anon_sym_GT2, + STATE(7130), 1, + aux_sym_template_argument_list_repeat1, + [271980] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5862), 1, + sym__identifier, + ACTIONS(5864), 1, + sym_grit_metavariable, + STATE(2393), 1, + sym_identifier, + [271993] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11307), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272006] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11309), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272019] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11311), 1, + anon_sym_catch, + STATE(1902), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [272030] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11313), 1, + anon_sym_RPAREN, + ACTIONS(11315), 1, + anon_sym_COLON, + STATE(7309), 1, + sym_gnu_asm_input_operand_list, + [272043] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6817), 1, + sym_identifier, + [272056] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11317), 1, + anon_sym_GT2, + STATE(7171), 1, + aux_sym_template_argument_list_repeat1, + [272069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11319), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11321), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [272080] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11323), 1, + anon_sym_RPAREN, + STATE(7132), 1, + sym_gnu_asm_input_operand_list, + [272093] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11325), 1, + anon_sym_SEMI, + STATE(7163), 1, + aux_sym_declaration_repeat1, + [272106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11329), 1, + anon_sym_COLON_COLON, + ACTIONS(11327), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [272117] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11331), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [272126] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11333), 1, + anon_sym_GT2, + STATE(7033), 1, + aux_sym_template_argument_list_repeat1, + [272139] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(770), 1, + sym_declaration_list, + [272152] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11335), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [272165] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11337), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [272178] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11339), 1, + anon_sym_GT2, + STATE(7429), 1, + aux_sym_template_argument_list_repeat1, + [272191] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11341), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [272200] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11343), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [272213] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7864), 1, + sym_identifier, + [272226] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11347), 1, + anon_sym_RPAREN, + STATE(7164), 1, + aux_sym_parameter_list_repeat1, + [272239] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11349), 1, + anon_sym_RPAREN, + STATE(7391), 1, + aux_sym_parameter_list_repeat1, + [272252] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11351), 1, + anon_sym_default, + ACTIONS(11353), 1, + anon_sym_delete, + ACTIONS(11355), 1, + anon_sym_0, + [272265] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(11357), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [272278] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11337), 1, + anon_sym_LBRACE, + STATE(7202), 1, + aux_sym_base_class_clause_repeat1, + [272291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11359), 1, + anon_sym_EQ, + ACTIONS(10480), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [272302] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11361), 1, + anon_sym_RPAREN, + ACTIONS(11363), 1, + anon_sym_COLON, + STATE(7400), 1, + sym_gnu_asm_output_operand_list, + [272315] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11365), 1, + anon_sym_RPAREN, + ACTIONS(11367), 1, + anon_sym_COLON, + STATE(7191), 1, + sym_gnu_asm_clobber_list, + [272328] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7699), 1, + sym_identifier, + [272341] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8264), 1, + anon_sym_COMMA, + ACTIONS(8266), 1, + anon_sym_RBRACE, + STATE(7305), 1, + aux_sym_initializer_list_repeat1, + [272354] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8223), 1, + sym_identifier, + [272367] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11369), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [272376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6983), 1, + anon_sym_EQ, + ACTIONS(6981), 2, + anon_sym_COMMA, + anon_sym_GT2, + [272387] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11371), 1, + anon_sym_GT2, + STATE(7069), 1, + aux_sym_template_argument_list_repeat1, + [272400] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11373), 1, + anon_sym_RPAREN, + STATE(7201), 1, + sym_gnu_asm_input_operand_list, + [272413] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7875), 1, + sym_identifier, + [272426] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11375), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272439] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11377), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272452] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11379), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272465] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8234), 1, + anon_sym_RBRACK, + STATE(7424), 1, + aux_sym_subscript_argument_list_repeat1, + [272478] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11381), 1, + anon_sym_RPAREN, + STATE(7410), 1, + sym_gnu_asm_output_operand_list, + [272491] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10301), 1, + sym__identifier, + ACTIONS(10305), 1, + sym_grit_metavariable, + STATE(7321), 1, + sym_identifier, + [272504] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8204), 1, + anon_sym_COMMA, + ACTIONS(11383), 1, + anon_sym_RBRACK, + STATE(7247), 1, + aux_sym_lambda_capture_specifier_repeat1, + [272517] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11385), 1, + anon_sym_COMMA, + ACTIONS(11388), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [272530] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8262), 1, + anon_sym_RPAREN, + STATE(7262), 1, + aux_sym_argument_list_repeat1, + [272543] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11392), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [272556] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6220), 1, + sym_identifier, + [272569] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(11394), 1, + anon_sym_RPAREN, + STATE(7326), 1, + aux_sym_preproc_argument_list_repeat1, + [272582] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8016), 1, + anon_sym_RBRACE, + ACTIONS(8242), 1, + anon_sym_COMMA, + STATE(7364), 1, + aux_sym_initializer_list_repeat1, + [272595] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7285), 1, + sym_identifier, + [272608] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11396), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [272621] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11398), 1, + anon_sym_RPAREN, + ACTIONS(11400), 1, + anon_sym_COLON, + STATE(8073), 1, + sym_gnu_asm_goto_list, + [272634] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11402), 1, + anon_sym_COMMA, + ACTIONS(11404), 1, + anon_sym_RPAREN, + STATE(7373), 1, + aux_sym_preproc_params_repeat1, + [272647] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8232), 1, + anon_sym_RPAREN, + STATE(7089), 1, + aux_sym_argument_list_repeat1, + [272660] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11406), 1, + anon_sym_COMMA, + ACTIONS(11409), 1, + anon_sym_RPAREN, + STATE(7085), 1, + aux_sym_throw_specifier_repeat1, + [272673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11411), 1, + anon_sym_catch, + STATE(252), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [272684] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6835), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11413), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [272695] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11415), 1, + anon_sym_RPAREN, + STATE(7121), 1, + sym_gnu_asm_output_operand_list, + [272708] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8194), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [272721] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(11419), 1, + anon_sym_constexpr, + STATE(143), 1, + sym_condition_clause, + [272734] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8240), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [272747] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8211), 1, + sym_identifier, + [272760] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11421), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272773] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11423), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272786] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11425), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272799] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + STATE(5897), 1, + sym_identifier, + [272812] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11427), 1, + anon_sym_GT2, + STATE(7102), 1, + aux_sym_template_argument_list_repeat1, + [272825] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(11429), 1, + anon_sym_constexpr, + STATE(188), 1, + sym_condition_clause, + [272838] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8218), 1, + anon_sym_COMMA, + ACTIONS(8220), 1, + anon_sym_RBRACE, + STATE(7107), 1, + aux_sym_initializer_list_repeat1, + [272851] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11431), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272864] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11433), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272877] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11435), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [272890] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(580), 1, + sym_declaration_list, + [272903] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11437), 1, + anon_sym_SEMI, + STATE(7168), 1, + aux_sym_declaration_repeat1, + [272916] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(16), 1, + sym_identifier, + [272929] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6809), 1, + sym_identifier, + [272942] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4055), 1, + anon_sym_RBRACE, + ACTIONS(11443), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [272955] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(11445), 1, + anon_sym_RBRACK, + STATE(7359), 1, + aux_sym_subscript_argument_list_repeat1, + [272968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11447), 1, + anon_sym_catch, + STATE(397), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [272979] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6842), 1, + sym_identifier, + [272992] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11449), 1, + anon_sym_RPAREN, + STATE(7391), 1, + aux_sym_parameter_list_repeat1, + [273005] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11451), 1, + anon_sym_RPAREN, + STATE(8512), 1, + sym_gnu_asm_goto_list, + [273018] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6811), 1, + sym_identifier, + [273031] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6821), 1, + sym_identifier, + [273044] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11453), 1, + anon_sym_SEMI, + STATE(7442), 1, + aux_sym_declaration_repeat1, + [273057] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11455), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273070] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8271), 1, + sym_identifier, + [273083] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11457), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273096] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11459), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [273109] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11461), 1, + anon_sym_RPAREN, + STATE(8474), 1, + sym_gnu_asm_goto_list, + [273122] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11463), 1, + anon_sym_RPAREN, + STATE(7235), 1, + sym_gnu_asm_input_operand_list, + [273135] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11465), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [273144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11467), 1, + anon_sym_RBRACK_RBRACK, + STATE(7119), 1, + aux_sym_attribute_declaration_repeat1, + [273157] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11469), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273170] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6805), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11471), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [273181] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11473), 1, + anon_sym_RPAREN, + STATE(7229), 1, + sym_gnu_asm_output_operand_list, + [273194] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11475), 1, + anon_sym_RPAREN, + STATE(7239), 1, + sym_gnu_asm_output_operand_list, + [273207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11477), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273220] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11479), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273233] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11481), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273246] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11483), 1, + anon_sym_COMMA, + ACTIONS(11485), 1, + anon_sym_RPAREN, + STATE(7085), 1, + aux_sym_throw_specifier_repeat1, + [273259] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11487), 1, + anon_sym_RPAREN, + STATE(7120), 1, + sym_gnu_asm_clobber_list, + [273272] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(562), 1, + sym_declaration_list, + [273285] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10930), 1, + anon_sym_DASH_GT, + ACTIONS(11489), 1, + anon_sym_SEMI, + STATE(7989), 1, + sym_trailing_return_type, + [273298] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7896), 1, + sym_identifier, + [273311] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11491), 1, + anon_sym_RPAREN, + STATE(7405), 1, + aux_sym_parameter_list_repeat1, + [273324] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11493), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273337] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11495), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273350] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11497), 1, + anon_sym_COMMA, + ACTIONS(11499), 1, + anon_sym_GT2, + STATE(7401), 1, + aux_sym_template_parameter_list_repeat1, + [273363] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11501), 1, + anon_sym_SEMI, + STATE(7124), 1, + aux_sym_declaration_repeat1, + [273376] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8337), 1, + sym_identifier, + [273389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8064), 1, + anon_sym_RPAREN, + STATE(7469), 1, + aux_sym_argument_list_repeat1, + [273402] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6772), 1, + sym_identifier, + [273415] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11503), 1, + anon_sym_RPAREN, + STATE(7082), 1, + sym_gnu_asm_clobber_list, + [273428] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11505), 1, + anon_sym_RPAREN, + STATE(7065), 1, + sym_gnu_asm_output_operand_list, + [273441] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11507), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273454] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11509), 1, + anon_sym_RPAREN, + STATE(7058), 1, + sym_gnu_asm_input_operand_list, + [273467] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11511), 1, + anon_sym_RPAREN, + STATE(7985), 1, + sym_gnu_asm_goto_list, + [273480] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11513), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273493] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8192), 1, + anon_sym_RPAREN, + STATE(7091), 1, + aux_sym_argument_list_repeat1, + [273506] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11515), 1, + anon_sym_COMMA, + ACTIONS(11517), 1, + anon_sym_RPAREN, + STATE(7440), 1, + aux_sym_requires_parameter_list_repeat1, + [273519] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11519), 1, + aux_sym_preproc_include_token2, + ACTIONS(11521), 1, + anon_sym_LPAREN2, + STATE(8153), 1, + sym_preproc_argument_list, + [273532] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11523), 1, + anon_sym_GT2, + STATE(7158), 1, + aux_sym_template_argument_list_repeat1, + [273545] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7975), 1, + sym_identifier, + [273558] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7974), 1, + sym_identifier, + [273571] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11525), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273584] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11527), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273597] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11529), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273610] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11531), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [273623] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11533), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [273636] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2689), 1, + anon_sym_while, + ACTIONS(11535), 1, + anon_sym_else, + STATE(508), 1, + sym_else_clause, + [273649] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8277), 1, + sym_identifier, + [273662] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11537), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273675] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11539), 1, + anon_sym_RPAREN, + STATE(7391), 1, + aux_sym_parameter_list_repeat1, + [273688] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8371), 1, + sym_identifier, + [273701] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11541), 1, + anon_sym_default, + ACTIONS(11543), 1, + anon_sym_delete, + ACTIONS(11545), 1, + anon_sym_0, + [273714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11311), 1, + anon_sym_catch, + STATE(1909), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [273725] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11547), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273738] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11549), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11551), 1, + anon_sym_catch, + STATE(821), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [273762] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11553), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11555), 1, + anon_sym_catch, + STATE(1682), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [273786] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11557), 1, + anon_sym_GT2, + STATE(7138), 1, + aux_sym_template_argument_list_repeat1, + [273799] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11559), 1, + anon_sym_RPAREN, + STATE(7112), 1, + sym_gnu_asm_clobber_list, + [273812] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11561), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273825] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4023), 1, + anon_sym_RBRACE, + ACTIONS(11563), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [273838] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8275), 1, + sym_identifier, + [273851] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(601), 1, + sym_declaration_list, + [273864] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8244), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [273873] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11565), 1, + anon_sym_GT2, + STATE(7185), 1, + aux_sym_template_argument_list_repeat1, + [273886] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11567), 1, + anon_sym_RPAREN, + STATE(7432), 1, + sym_gnu_asm_clobber_list, + [273899] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11569), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [273912] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11571), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273925] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11573), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273938] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11575), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [273951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11577), 1, + anon_sym_catch, + STATE(1917), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [273962] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6839), 1, + sym_identifier, + [273975] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8196), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [273988] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8123), 1, + sym_identifier, + [274001] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6882), 1, + sym_identifier, + [274014] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11579), 1, + anon_sym_RPAREN, + STATE(8118), 1, + sym_gnu_asm_goto_list, + [274027] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6933), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11581), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [274038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11585), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [274049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11587), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11589), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [274060] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11521), 1, + anon_sym_LPAREN2, + ACTIONS(11591), 1, + aux_sym_preproc_include_token2, + STATE(8153), 1, + sym_preproc_argument_list, + [274073] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8260), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [274086] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11167), 1, + anon_sym_LBRACE, + STATE(7046), 1, + aux_sym_base_class_clause_repeat1, + [274099] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11593), 1, + sym__identifier, + ACTIONS(11595), 1, + sym_grit_metavariable, + STATE(376), 1, + sym_identifier, + [274112] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11167), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [274125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11597), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11599), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [274136] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11601), 1, + anon_sym_RPAREN, + STATE(7260), 1, + sym_gnu_asm_clobber_list, + [274149] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(11603), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [274162] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11605), 1, + anon_sym_catch, + STATE(354), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [274173] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11607), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [274186] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5438), 1, + anon_sym_COMMA, + ACTIONS(11609), 1, + anon_sym_RBRACK, + STATE(7228), 1, + aux_sym_structured_binding_declarator_repeat1, + [274199] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11611), 1, + anon_sym_default, + ACTIONS(11613), 1, + anon_sym_delete, + ACTIONS(11615), 1, + anon_sym_0, + [274212] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11617), 1, + anon_sym_GT2, + STATE(7212), 1, + aux_sym_template_argument_list_repeat1, + [274225] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11619), 1, + anon_sym_SEMI, + STATE(7395), 1, + aux_sym_declaration_repeat1, + [274238] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8396), 1, + sym_identifier, + [274251] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11621), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274264] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11623), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274277] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11625), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274290] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11627), 1, + anon_sym_GT2, + STATE(7486), 1, + aux_sym_template_argument_list_repeat1, + [274303] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6900), 1, + sym_identifier, + [274316] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11629), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [274325] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11631), 1, + anon_sym_GT2, + STATE(7456), 1, + aux_sym_template_argument_list_repeat1, + [274338] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(11633), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [274351] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10869), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [274364] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8240), 1, + sym_identifier, + [274377] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11635), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [274386] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11637), 1, + anon_sym_RBRACK_RBRACK, + STATE(7076), 1, + aux_sym_attribute_declaration_repeat1, + [274399] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8428), 1, + sym_identifier, + [274412] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11639), 1, + anon_sym_COMMA, + ACTIONS(11641), 1, + anon_sym_RPAREN, + STATE(7295), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [274425] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11643), 1, + anon_sym_COMMA, + ACTIONS(11645), 1, + anon_sym_LBRACE, + STATE(7365), 1, + aux_sym_field_initializer_list_repeat1, + [274438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11647), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11649), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [274449] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11651), 1, + anon_sym_SEMI, + STATE(7081), 1, + aux_sym_declaration_repeat1, + [274462] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6003), 1, + sym_identifier, + [274475] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11653), 1, + anon_sym_COMMA, + ACTIONS(11656), 1, + anon_sym_RBRACK, + STATE(7228), 1, + aux_sym_structured_binding_declarator_repeat1, + [274488] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11658), 1, + anon_sym_RPAREN, + STATE(7408), 1, + sym_gnu_asm_input_operand_list, + [274501] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11660), 1, + anon_sym_GT2, + STATE(7093), 1, + aux_sym_template_argument_list_repeat1, + [274514] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(356), 1, + sym_declaration_list, + [274527] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8420), 1, + sym_identifier, + [274540] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11662), 1, + anon_sym_GT2, + STATE(7238), 1, + aux_sym_template_argument_list_repeat1, + [274553] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11497), 1, + anon_sym_COMMA, + ACTIONS(11664), 1, + anon_sym_GT2, + STATE(7401), 1, + aux_sym_template_parameter_list_repeat1, + [274566] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11666), 1, + anon_sym_RPAREN, + STATE(7248), 1, + sym_gnu_asm_clobber_list, + [274579] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11668), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274592] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11670), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274605] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11672), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274618] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11674), 1, + anon_sym_RPAREN, + STATE(7250), 1, + sym_gnu_asm_input_operand_list, + [274631] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(2461), 1, + sym_identifier, + [274644] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8134), 1, + sym_identifier, + [274657] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + STATE(6286), 1, + sym_identifier, + [274670] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8415), 1, + sym_identifier, + [274683] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8114), 1, + anon_sym_RBRACK, + STATE(7108), 1, + aux_sym_subscript_argument_list_repeat1, + [274696] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6877), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11676), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [274707] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + STATE(6285), 1, + sym_identifier, + [274720] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8366), 1, + anon_sym_RBRACK, + ACTIONS(11678), 1, + anon_sym_COMMA, + STATE(7247), 1, + aux_sym_lambda_capture_specifier_repeat1, + [274733] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11681), 1, + anon_sym_RPAREN, + STATE(7938), 1, + sym_gnu_asm_goto_list, + [274746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11447), 1, + anon_sym_catch, + STATE(398), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [274757] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11683), 1, + anon_sym_RPAREN, + STATE(7253), 1, + sym_gnu_asm_clobber_list, + [274770] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11685), 1, + anon_sym_COMMA, + ACTIONS(11688), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [274783] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(711), 1, + sym_declaration_list, + [274796] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11690), 1, + anon_sym_RPAREN, + STATE(7971), 1, + sym_gnu_asm_goto_list, + [274809] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11692), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [274822] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4051), 1, + anon_sym_RBRACE, + ACTIONS(11694), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [274835] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8194), 1, + sym_identifier, + [274848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11555), 1, + anon_sym_catch, + STATE(1687), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [274859] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6939), 1, + sym_identifier, + [274872] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11696), 1, + anon_sym_RPAREN, + STATE(7111), 1, + aux_sym_parameter_list_repeat1, + [274885] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11698), 1, + anon_sym_RPAREN, + STATE(8169), 1, + sym_gnu_asm_goto_list, + [274898] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11593), 1, + sym__identifier, + ACTIONS(11595), 1, + sym_grit_metavariable, + STATE(383), 1, + sym_identifier, + [274911] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8066), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [274924] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11700), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [274937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11702), 1, + anon_sym_catch, + STATE(612), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [274948] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11704), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [274961] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(3233), 1, + sym_identifier, + [274974] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11706), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [274987] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11708), 1, + anon_sym_SEMI, + STATE(7116), 1, + aux_sym_declaration_repeat1, + [275000] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11710), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [275009] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11712), 1, + anon_sym_default, + ACTIONS(11714), 1, + anon_sym_delete, + ACTIONS(11716), 1, + anon_sym_0, + [275022] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11718), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [275035] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(6003), 1, + sym_identifier, + [275048] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + sym__identifier, + ACTIONS(5504), 1, + sym_grit_metavariable, + STATE(2393), 1, + sym_identifier, + [275061] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7571), 1, + sym__identifier, + ACTIONS(7587), 1, + sym_grit_metavariable, + STATE(6220), 1, + sym_identifier, + [275074] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11720), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [275083] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11722), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [275092] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11724), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [275105] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8431), 1, + sym_identifier, + [275118] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11726), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275131] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6770), 1, + sym_identifier, + [275144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(27), 1, + sym_identifier, + [275157] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(11728), 1, + anon_sym_RBRACK, + STATE(7359), 1, + aux_sym_subscript_argument_list_repeat1, + [275170] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10869), 1, + anon_sym_LBRACE, + STATE(7443), 1, + aux_sym_base_class_clause_repeat1, + [275183] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5862), 1, + sym__identifier, + ACTIONS(5864), 1, + sym_grit_metavariable, + STATE(2461), 1, + sym_identifier, + [275196] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5438), 1, + anon_sym_COMMA, + ACTIONS(11730), 1, + anon_sym_RBRACK, + STATE(7205), 1, + aux_sym_structured_binding_declarator_repeat1, + [275209] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11732), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275222] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11734), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275235] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11736), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [275248] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11738), 1, + anon_sym_RPAREN, + STATE(7375), 1, + sym_gnu_asm_output_operand_list, + [275261] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11740), 1, + anon_sym_RPAREN, + STATE(7052), 1, + aux_sym_parameter_list_repeat1, + [275274] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11497), 1, + anon_sym_COMMA, + ACTIONS(11742), 1, + anon_sym_GT2, + STATE(7139), 1, + aux_sym_template_parameter_list_repeat1, + [275287] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(11744), 1, + anon_sym_constexpr, + STATE(162), 1, + sym_condition_clause, + [275300] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7644), 1, + sym_identifier, + [275313] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11720), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [275322] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11639), 1, + anon_sym_COMMA, + ACTIONS(11746), 1, + anon_sym_RPAREN, + STATE(7307), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [275335] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8315), 1, + sym_identifier, + [275348] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11748), 1, + anon_sym_RBRACK_RBRACK, + STATE(7160), 1, + aux_sym_attribute_declaration_repeat1, + [275361] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11750), 1, + anon_sym_RBRACK_RBRACK, + STATE(7377), 1, + aux_sym_attribute_declaration_repeat1, + [275374] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6785), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11752), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [275385] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11754), 1, + anon_sym_RPAREN, + STATE(7147), 1, + sym_gnu_asm_output_operand_list, + [275398] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7017), 1, + sym_identifier, + [275411] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11756), 1, + anon_sym_SEMI, + STATE(7049), 1, + aux_sym_declaration_repeat1, + [275424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11758), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11760), 1, + anon_sym_GT2, + STATE(7318), 1, + aux_sym_template_argument_list_repeat1, + [275450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4043), 1, + anon_sym_RBRACE, + ACTIONS(11762), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [275463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(6003), 1, + sym_identifier, + [275476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11764), 1, + anon_sym_COMMA, + ACTIONS(11767), 1, + anon_sym_RPAREN, + STATE(7307), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [275489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11769), 1, + anon_sym_default, + ACTIONS(11771), 1, + anon_sym_delete, + ACTIONS(11773), 1, + anon_sym_0, + [275502] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11775), 1, + anon_sym_RPAREN, + STATE(7384), 1, + sym_gnu_asm_clobber_list, + [275515] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11777), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275528] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2673), 1, + anon_sym_while, + ACTIONS(11535), 1, + anon_sym_else, + STATE(455), 1, + sym_else_clause, + [275541] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11779), 1, + anon_sym_SEMI, + STATE(7175), 1, + aux_sym_declaration_repeat1, + [275554] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10472), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [275563] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11781), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [275572] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11783), 1, + anon_sym_GT2, + STATE(7279), 1, + aux_sym_template_argument_list_repeat1, + [275585] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11785), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11702), 1, + anon_sym_catch, + STATE(312), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [275609] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11787), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [275622] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6814), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11789), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [275633] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7021), 1, + sym_identifier, + [275646] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11791), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [275655] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11793), 1, + anon_sym_COMMA, + ACTIONS(11796), 1, + anon_sym_RPAREN, + STATE(7322), 1, + aux_sym_preproc_params_repeat1, + [275668] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7455), 1, + sym_identifier, + [275681] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11798), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [275690] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11800), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [275703] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9489), 1, + anon_sym_RPAREN, + ACTIONS(11802), 1, + anon_sym_COMMA, + STATE(7326), 1, + aux_sym_preproc_argument_list_repeat1, + [275716] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + STATE(3379), 1, + sym_identifier, + [275729] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2236), 1, + sym__identifier, + ACTIONS(5750), 1, + sym_grit_metavariable, + STATE(3359), 1, + sym_identifier, + [275742] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8113), 1, + sym_identifier, + [275755] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6220), 1, + sym_identifier, + [275768] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10837), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11805), 2, + anon_sym_COMMA, + anon_sym_GT2, + [275779] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11807), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [275792] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11809), 1, + anon_sym_RPAREN, + STATE(8053), 1, + sym_gnu_asm_goto_list, + [275805] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8182), 1, + anon_sym_COMMA, + ACTIONS(8184), 1, + anon_sym_RBRACE, + STATE(7255), 1, + aux_sym_initializer_list_repeat1, + [275818] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6768), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11811), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [275829] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8545), 1, + sym_identifier, + [275842] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(11813), 1, + anon_sym_constexpr, + STATE(135), 1, + sym_condition_clause, + [275855] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6914), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11815), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [275866] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(29), 1, + sym_identifier, + [275879] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8176), 1, + anon_sym_COMMA, + ACTIONS(8178), 1, + anon_sym_RBRACE, + STATE(7176), 1, + aux_sym_initializer_list_repeat1, + [275892] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(17), 1, + sym_identifier, + [275905] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6930), 1, + sym_identifier, + [275918] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(8132), 1, + anon_sym_RBRACK, + STATE(7282), 1, + aux_sym_subscript_argument_list_repeat1, + [275931] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11817), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [275944] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(348), 1, + sym_declaration_list, + [275957] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + STATE(533), 1, + sym_declaration_list, + [275970] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11447), 1, + anon_sym_catch, + STATE(384), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [275981] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11819), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [275994] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11821), 1, + anon_sym_SEMI, + STATE(7288), 1, + aux_sym_declaration_repeat1, + [276007] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8068), 1, + anon_sym_RPAREN, + STATE(7188), 1, + aux_sym_argument_list_repeat1, + [276020] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11823), 1, + anon_sym_RPAREN, + STATE(7333), 1, + sym_gnu_asm_clobber_list, + [276033] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11825), 1, + anon_sym_RPAREN, + STATE(8170), 1, + sym_gnu_asm_goto_list, + [276046] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8078), 1, + anon_sym_RPAREN, + STATE(7196), 1, + aux_sym_argument_list_repeat1, + [276059] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11827), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [276072] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11829), 1, + anon_sym_default, + ACTIONS(11831), 1, + anon_sym_delete, + ACTIONS(11833), 1, + anon_sym_0, + [276085] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11835), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [276098] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 1, + anon_sym_COMMA, + ACTIONS(11837), 1, + anon_sym_RPAREN, + STATE(7251), 1, + aux_sym_generic_expression_repeat1, + [276111] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11839), 1, + anon_sym_COMMA, + ACTIONS(11842), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276124] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8461), 1, + anon_sym_RBRACK, + ACTIONS(11844), 1, + anon_sym_COMMA, + STATE(7359), 1, + aux_sym_subscript_argument_list_repeat1, + [276137] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1721), 1, + sym__identifier, + ACTIONS(7685), 1, + sym_grit_metavariable, + STATE(3229), 1, + sym_identifier, + [276150] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6996), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11847), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [276161] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11849), 1, + anon_sym_RPAREN, + STATE(7351), 1, + sym_gnu_asm_input_operand_list, + [276174] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11851), 1, + anon_sym_RPAREN, + STATE(7352), 1, + sym_gnu_asm_clobber_list, + [276187] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3966), 1, + anon_sym_RBRACE, + ACTIONS(11853), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [276200] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11855), 1, + anon_sym_COMMA, + ACTIONS(11858), 1, + anon_sym_LBRACE, + STATE(7365), 1, + aux_sym_field_initializer_list_repeat1, + [276213] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11860), 1, + anon_sym_SEMI, + STATE(7467), 1, + aux_sym_declaration_repeat1, + [276226] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11577), 1, + anon_sym_catch, + STATE(1898), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [276237] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(11862), 1, + anon_sym_RPAREN, + STATE(7326), 1, + aux_sym_preproc_argument_list_repeat1, + [276250] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(11864), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [276263] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6755), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11866), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [276274] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8030), 1, + sym_identifier, + [276287] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6986), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11868), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [276298] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11402), 1, + anon_sym_COMMA, + ACTIONS(11870), 1, + anon_sym_RPAREN, + STATE(7322), 1, + aux_sym_preproc_params_repeat1, + [276311] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(8072), 1, + sym_identifier, + [276324] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11872), 1, + anon_sym_RPAREN, + STATE(7181), 1, + sym_gnu_asm_input_operand_list, + [276337] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7828), 1, + sym_identifier, + [276350] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11874), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [276363] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11483), 1, + anon_sym_COMMA, + ACTIONS(11876), 1, + anon_sym_RPAREN, + STATE(7131), 1, + aux_sym_throw_specifier_repeat1, + [276376] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11878), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [276389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11880), 1, + anon_sym_RPAREN, + STATE(7035), 1, + sym_gnu_asm_output_operand_list, + [276402] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6973), 1, + sym_identifier, + [276415] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8028), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [276424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(6783), 1, + sym_identifier, + [276437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11882), 1, + anon_sym_RPAREN, + STATE(8536), 1, + sym_gnu_asm_goto_list, + [276450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(11884), 1, + anon_sym_constexpr, + STATE(165), 1, + sym_condition_clause, + [276463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11886), 1, + anon_sym_RBRACK_RBRACK, + STATE(7454), 1, + aux_sym_attribute_declaration_repeat1, + [276476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11888), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11593), 1, + sym__identifier, + ACTIONS(11595), 1, + sym_grit_metavariable, + STATE(345), 1, + sym_identifier, + [276502] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11890), 1, + anon_sym_SEMI, + STATE(7344), 1, + aux_sym_declaration_repeat1, + [276515] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11892), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276528] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11894), 1, + anon_sym_COMMA, + ACTIONS(11897), 1, + anon_sym_RPAREN, + STATE(7391), 1, + aux_sym_parameter_list_repeat1, + [276541] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11899), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276554] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11605), 1, + anon_sym_catch, + STATE(396), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [276565] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11901), 1, + anon_sym_RBRACK_RBRACK, + STATE(7159), 1, + aux_sym_attribute_declaration_repeat1, + [276578] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11903), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [276591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11905), 1, + anon_sym_COMMA, + ACTIONS(11908), 1, + anon_sym_RPAREN, + STATE(7396), 1, + aux_sym_requires_parameter_list_repeat1, + [276604] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7835), 1, + sym_identifier, + [276617] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11910), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [276630] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11577), 1, + anon_sym_catch, + STATE(1895), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [276641] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11912), 1, + anon_sym_RPAREN, + STATE(7479), 1, + sym_gnu_asm_input_operand_list, + [276654] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11914), 1, + anon_sym_COMMA, + ACTIONS(11917), 1, + anon_sym_GT2, + STATE(7401), 1, + aux_sym_template_parameter_list_repeat1, + [276667] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11919), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [276676] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11921), 1, + anon_sym_RPAREN, + STATE(7407), 1, + sym_gnu_asm_output_operand_list, + [276689] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11923), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [276698] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11345), 1, + anon_sym_COMMA, + ACTIONS(11925), 1, + anon_sym_RPAREN, + STATE(7391), 1, + aux_sym_parameter_list_repeat1, + [276711] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11497), 1, + anon_sym_COMMA, + ACTIONS(11927), 1, + anon_sym_GT2, + STATE(7234), 1, + aux_sym_template_parameter_list_repeat1, + [276724] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11929), 1, + anon_sym_RPAREN, + STATE(7144), 1, + sym_gnu_asm_input_operand_list, + [276737] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(11931), 1, + anon_sym_RPAREN, + STATE(7148), 1, + sym_gnu_asm_clobber_list, + [276750] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11521), 1, + anon_sym_LPAREN2, + ACTIONS(11933), 1, + aux_sym_preproc_include_token2, + STATE(8153), 1, + sym_preproc_argument_list, + [276763] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11935), 1, + anon_sym_RPAREN, + STATE(7174), 1, + sym_gnu_asm_input_operand_list, + [276776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11702), 1, + anon_sym_catch, + STATE(661), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [276787] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11937), 1, + anon_sym_RPAREN, + STATE(7362), 1, + sym_gnu_asm_output_operand_list, + [276800] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(11939), 1, + anon_sym_RPAREN, + STATE(7363), 1, + sym_gnu_asm_input_operand_list, + [276813] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11941), 1, + anon_sym_RPAREN, + STATE(7039), 1, + sym_gnu_asm_output_operand_list, + [276826] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(11943), 1, + anon_sym_RPAREN, + STATE(7478), 1, + sym_gnu_asm_output_operand_list, + [276839] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(11945), 1, + anon_sym_RBRACK_RBRACK, + STATE(7379), 1, + aux_sym_attribute_declaration_repeat1, + [276852] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(7827), 1, + sym_identifier, + [276865] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(11947), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [276878] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11311), 1, + anon_sym_catch, + STATE(1896), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [276889] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11949), 1, + anon_sym_SEMI, + STATE(7265), 1, + aux_sym_declaration_repeat1, + [276902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11953), 1, + anon_sym_RPAREN, + ACTIONS(11951), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [276913] = 3, + ACTIONS(1865), 1, + sym_preproc_arg, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(1867), 2, + aux_sym_preproc_include_token2, + anon_sym_LPAREN, + [276924] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8362), 1, + anon_sym_RPAREN, + ACTIONS(11955), 1, + anon_sym_COMMA, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [276937] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8088), 1, + anon_sym_COMMA, + ACTIONS(11958), 1, + anon_sym_RBRACK, + STATE(7359), 1, + aux_sym_subscript_argument_list_repeat1, + [276950] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11960), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276963] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11643), 1, + anon_sym_COMMA, + ACTIONS(11962), 1, + anon_sym_LBRACE, + STATE(7224), 1, + aux_sym_field_initializer_list_repeat1, + [276976] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11964), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [276989] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11966), 1, + anon_sym_SEMI, + STATE(7487), 1, + aux_sym_declaration_repeat1, + [277002] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11968), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277015] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9409), 1, + anon_sym_COMMA, + ACTIONS(11970), 1, + anon_sym_RPAREN, + STATE(7326), 1, + aux_sym_preproc_argument_list_repeat1, + [277028] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11972), 1, + anon_sym_COMMA, + ACTIONS(11975), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [277041] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(11977), 1, + anon_sym_RPAREN, + STATE(8569), 1, + sym_gnu_asm_goto_list, + [277054] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8080), 1, + anon_sym_RPAREN, + STATE(7457), 1, + aux_sym_argument_list_repeat1, + [277067] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(3355), 1, + sym_identifier, + [277080] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8204), 1, + anon_sym_COMMA, + ACTIONS(11979), 1, + anon_sym_RBRACK, + STATE(7247), 1, + aux_sym_lambda_capture_specifier_repeat1, + [277093] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11981), 1, + anon_sym_SEMI, + STATE(7277), 1, + aux_sym_declaration_repeat1, + [277106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11983), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(11975), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [277117] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4049), 1, + anon_sym_RBRACE, + ACTIONS(11985), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [277130] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5857), 1, + anon_sym_SEMI, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1704), 1, + sym_template_argument_list, + [277143] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11515), 1, + anon_sym_COMMA, + ACTIONS(11987), 1, + anon_sym_RPAREN, + STATE(7396), 1, + aux_sym_requires_parameter_list_repeat1, + [277156] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(11989), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [277169] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(11991), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [277182] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10875), 1, + anon_sym_LBRACE, + STATE(7431), 1, + aux_sym_base_class_clause_repeat1, + [277195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11555), 1, + anon_sym_catch, + STATE(1686), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [277206] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11993), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277219] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7969), 1, + sym_identifier, + [277232] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10849), 3, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + [277241] = 3, + ACTIONS(9439), 1, + sym_comment, + STATE(6866), 1, + aux_sym__char_literal_repeat1, + ACTIONS(11995), 2, + aux_sym__char_literal_token1, + sym_escape_sequence, + [277252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11329), 1, + anon_sym_COLON_COLON, + ACTIONS(11997), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [277263] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(11999), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277276] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8253), 1, + anon_sym_RBRACE, + ACTIONS(12001), 1, + anon_sym_COMMA, + STATE(7451), 1, + aux_sym_initializer_list_repeat1, + [277289] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(8333), 1, + sym_identifier, + [277302] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + sym__identifier, + ACTIONS(4969), 1, + sym_grit_metavariable, + STATE(32), 1, + sym_identifier, + [277315] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(12004), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [277328] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12006), 3, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + [277337] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(12008), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277350] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8198), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [277363] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11411), 1, + anon_sym_catch, + STATE(258), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [277374] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(6003), 1, + sym_identifier, + [277387] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7597), 1, + sym__identifier, + ACTIONS(7611), 1, + sym_grit_metavariable, + STATE(6220), 1, + sym_identifier, + [277400] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + STATE(3680), 1, + sym_identifier, + [277413] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8084), 1, + anon_sym_COMMA, + ACTIONS(8086), 1, + anon_sym_RBRACE, + STATE(7438), 1, + aux_sym_initializer_list_repeat1, + [277426] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2406), 1, + sym__identifier, + ACTIONS(5838), 1, + sym_grit_metavariable, + STATE(3650), 1, + sym_identifier, + [277439] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(12010), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [277452] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(12012), 1, + anon_sym_RPAREN, + STATE(8328), 1, + sym_gnu_asm_goto_list, + [277465] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + ACTIONS(12014), 1, + anon_sym_constexpr, + STATE(176), 1, + sym_condition_clause, + [277478] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(12016), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [277491] = 4, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11521), 1, + anon_sym_LPAREN2, + ACTIONS(12018), 1, + aux_sym_preproc_include_token2, + STATE(8153), 1, + sym_preproc_argument_list, + [277504] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(8292), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [277517] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11390), 1, + anon_sym_COMMA, + ACTIONS(12020), 1, + anon_sym_RBRACK_RBRACK, + STATE(7354), 1, + aux_sym_attribute_declaration_repeat1, + [277530] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(12022), 1, + anon_sym_RPAREN, + STATE(7465), 1, + sym_gnu_asm_clobber_list, + [277543] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(12024), 1, + anon_sym_GT2, + STATE(7387), 1, + aux_sym_template_argument_list_repeat1, + [277556] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10867), 1, + anon_sym_COMMA, + ACTIONS(10875), 1, + anon_sym_LBRACE, + STATE(7199), 1, + aux_sym_base_class_clause_repeat1, + [277569] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11400), 1, + anon_sym_COLON, + ACTIONS(12026), 1, + anon_sym_RPAREN, + STATE(8205), 1, + sym_gnu_asm_goto_list, + [277582] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11593), 1, + sym__identifier, + ACTIONS(11595), 1, + sym_grit_metavariable, + STATE(330), 1, + sym_identifier, + [277595] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(3317), 1, + sym_identifier, + [277608] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(7595), 1, + sym_grit_metavariable, + STATE(7930), 1, + sym_identifier, + [277621] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11315), 1, + anon_sym_COLON, + ACTIONS(12028), 1, + anon_sym_RPAREN, + STATE(7471), 1, + sym_gnu_asm_input_operand_list, + [277634] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11367), 1, + anon_sym_COLON, + ACTIONS(12030), 1, + anon_sym_RPAREN, + STATE(7474), 1, + sym_gnu_asm_clobber_list, + [277647] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11363), 1, + anon_sym_COLON, + ACTIONS(12032), 1, + anon_sym_RPAREN, + STATE(7413), 1, + sym_gnu_asm_output_operand_list, + [277660] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12034), 1, + anon_sym_COMMA, + ACTIONS(12037), 1, + anon_sym_RBRACK_RBRACK, + STATE(7481), 1, + aux_sym_attribute_declaration_repeat1, + [277673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11605), 1, + anon_sym_catch, + STATE(399), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [277684] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11439), 1, + sym__identifier, + ACTIONS(11441), 1, + sym_grit_metavariable, + STATE(6967), 1, + sym_identifier, + [277697] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8062), 1, + anon_sym_COMMA, + ACTIONS(12039), 1, + anon_sym_RPAREN, + STATE(7423), 1, + aux_sym_argument_list_repeat1, + [277710] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + STATE(6241), 1, + sym_identifier, + [277723] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(12041), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277736] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(12043), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [277749] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(12045), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277762] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + sym__identifier, + ACTIONS(2877), 1, + sym_grit_metavariable, + STATE(5910), 1, + sym_identifier, + [277775] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(12047), 1, + anon_sym_SEMI, + STATE(7074), 1, + aux_sym_declaration_repeat1, + [277788] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9459), 1, + anon_sym_COMMA, + ACTIONS(12049), 1, + anon_sym_SEMI, + STATE(7398), 1, + aux_sym_declaration_repeat1, + [277801] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11411), 1, + anon_sym_catch, + STATE(244), 2, + sym_catch_clause, + aux_sym_constructor_try_statement_repeat1, + [277812] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12051), 1, + anon_sym_default, + ACTIONS(12053), 1, + anon_sym_delete, + ACTIONS(12055), 1, + anon_sym_0, + [277825] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8136), 1, + anon_sym_COMMA, + ACTIONS(12057), 1, + anon_sym_GT2, + STATE(7358), 1, + aux_sym_template_argument_list_repeat1, + [277838] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12059), 1, + anon_sym_LT, + STATE(2632), 1, + sym_template_argument_list, + [277848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12063), 1, + anon_sym_RBRACE, + [277858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(544), 1, + sym_compound_statement, + [277868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(170), 1, + sym_condition_clause, + [277878] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(265), 1, + sym_compound_statement, + [277888] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11997), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [277896] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12065), 1, + aux_sym_preproc_include_token2, + ACTIONS(12067), 1, + sym_preproc_arg, + [277906] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12069), 1, + aux_sym_preproc_include_token2, + ACTIONS(12071), 1, + sym_preproc_arg, + [277916] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12073), 1, + anon_sym_LPAREN2, + ACTIONS(12075), 1, + sym_raw_string_delimiter, + [277926] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12077), 1, + anon_sym_LPAREN2, + ACTIONS(12079), 1, + sym_raw_string_delimiter, + [277936] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12081), 1, + anon_sym_LPAREN2, + ACTIONS(12083), 1, + sym_raw_string_delimiter, + [277946] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12085), 1, + anon_sym_LPAREN2, + ACTIONS(12087), 1, + sym_raw_string_delimiter, + [277956] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12089), 1, + anon_sym_LPAREN2, + ACTIONS(12091), 1, + sym_raw_string_delimiter, + [277966] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12093), 1, + anon_sym_LPAREN2, + ACTIONS(12095), 1, + sym_raw_string_delimiter, + [277976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12097), 1, + anon_sym_LPAREN2, + ACTIONS(12099), 1, + sym_raw_string_delimiter, + [277986] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12101), 1, + anon_sym_LPAREN2, + ACTIONS(12103), 1, + sym_raw_string_delimiter, + [277996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12105), 1, + anon_sym_LPAREN2, + ACTIONS(12107), 1, + sym_raw_string_delimiter, + [278006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12109), 1, + anon_sym_LPAREN2, + ACTIONS(12111), 1, + sym_raw_string_delimiter, + [278016] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12113), 1, + anon_sym_LPAREN2, + ACTIONS(12115), 1, + sym_raw_string_delimiter, + [278026] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4830), 1, + sym_field_declaration_list, + [278036] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12117), 1, + anon_sym_LPAREN2, + ACTIONS(12119), 1, + sym_raw_string_delimiter, + [278046] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11185), 1, + anon_sym_LBRACE, + STATE(5716), 1, + sym_requirement_seq, + [278056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(729), 1, + sym_compound_statement, + [278066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(2094), 1, + sym_compound_statement, + [278076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12121), 1, + anon_sym_LPAREN2, + ACTIONS(12123), 1, + sym_raw_string_delimiter, + [278086] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12125), 1, + aux_sym_preproc_include_token2, + ACTIONS(12127), 1, + sym_preproc_arg, + [278096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + [278106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12129), 1, + anon_sym_LPAREN2, + ACTIONS(12131), 1, + sym_raw_string_delimiter, + [278116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2238), 1, + anon_sym_LBRACE, + STATE(3398), 1, + sym_initializer_list, + [278126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(401), 1, + sym_compound_statement, + [278136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9990), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [278146] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12133), 1, + anon_sym_LPAREN2, + ACTIONS(12135), 1, + sym_raw_string_delimiter, + [278156] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(12137), 1, + anon_sym_SEMI, + [278166] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3978), 1, + sym_field_declaration_list, + [278176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4817), 1, + sym_field_declaration_list, + [278186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3948), 1, + sym_field_declaration_list, + [278196] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3980), 1, + sym_field_declaration_list, + [278206] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(168), 1, + sym_condition_clause, + [278216] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2656), 1, + sym_field_declaration_list, + [278226] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4821), 1, + sym_field_declaration_list, + [278236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3949), 1, + sym_field_declaration_list, + [278246] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2657), 1, + sym_field_declaration_list, + [278256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12139), 1, + anon_sym_LPAREN2, + ACTIONS(12141), 1, + sym_raw_string_delimiter, + [278266] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11327), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [278274] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12037), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [278282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10002), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [278292] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12143), 1, + aux_sym_preproc_include_token2, + ACTIONS(12145), 1, + sym_preproc_arg, + [278302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(2225), 1, + sym_compound_statement, + [278312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + STATE(359), 1, + sym_declaration_list, + [278322] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12147), 1, + anon_sym_RBRACE, + [278332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8364), 1, + anon_sym_LBRACE, + STATE(4813), 1, + sym_field_declaration_list, + [278342] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1604), 1, + anon_sym_LBRACE, + STATE(883), 1, + sym_compound_statement, + [278352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(7787), 1, + sym_condition_clause, + [278362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1715), 1, + sym_compound_statement, + [278372] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8258), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [278380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(161), 1, + sym_condition_clause, + [278390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12149), 1, + anon_sym_LT, + STATE(2604), 1, + sym_template_argument_list, + [278400] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8253), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [278408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7843), 1, + sym_argument_list, + [278418] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2791), 1, + sym_field_declaration_list, + [278428] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2422), 1, + sym_field_declaration_list, + [278438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(131), 1, + sym_condition_clause, + [278448] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9020), 1, + anon_sym_LBRACE, + STATE(2470), 1, + sym_requirement_seq, + [278458] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5900), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278466] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(507), 1, + sym_compound_statement, + [278476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(461), 1, + sym_compound_statement, + [278486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9955), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [278496] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12151), 1, + aux_sym_preproc_include_token2, + ACTIONS(12153), 1, + sym_preproc_arg, + [278506] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12155), 1, + aux_sym_preproc_include_token2, + ACTIONS(12157), 1, + sym_preproc_arg, + [278516] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(481), 1, + sym_compound_statement, + [278526] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5225), 1, + sym_field_declaration_list, + [278536] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5229), 1, + sym_field_declaration_list, + [278546] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5234), 1, + sym_field_declaration_list, + [278556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7758), 1, + sym_parenthesized_expression, + [278566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(5221), 1, + sym_field_declaration_list, + [278576] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6033), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278584] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(497), 1, + sym_compound_statement, + [278594] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6037), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278602] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(578), 1, + sym_compound_statement, + [278612] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12161), 1, + aux_sym_preproc_include_token2, + ACTIONS(12163), 1, + sym_preproc_arg, + [278622] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(352), 1, + sym_compound_statement, + [278632] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9038), 1, + anon_sym_LBRACE, + STATE(4305), 1, + sym_requirement_seq, + [278642] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2654), 1, + sym_field_declaration_list, + [278652] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + STATE(638), 1, + sym_declaration_list, + [278662] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6067), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278670] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6061), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278678] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5930), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278686] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5926), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278694] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12165), 1, + anon_sym_RBRACE, + [278704] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1604), 1, + anon_sym_LBRACE, + STATE(833), 1, + sym_compound_statement, + [278714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9028), 1, + anon_sym_LBRACE, + STATE(3389), 1, + sym_requirement_seq, + [278724] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5884), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278732] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5880), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278740] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2357), 1, + sym_template_argument_list, + [278750] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2305), 1, + sym_template_argument_list, + [278760] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6007), 2, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [278768] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8362), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [278776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(8069), 1, + sym_parenthesized_expression, + [278786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_LBRACE, + STATE(3918), 1, + sym_initializer_list, + [278796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(619), 1, + sym_compound_statement, + [278806] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12167), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [278814] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7109), 1, + sym_compound_statement, + [278824] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2016), 1, + sym_compound_statement, + [278834] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12169), 1, + aux_sym_preproc_include_token2, + ACTIONS(12171), 1, + sym_preproc_arg, + [278844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4950), 1, + sym_field_declaration_list, + [278854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8276), 1, + anon_sym_RPAREN, + ACTIONS(8278), 1, + anon_sym_SEMI, + [278864] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12173), 2, + anon_sym_COMMA, + anon_sym_GT2, + [278872] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9079), 1, + anon_sym_LBRACE, + STATE(3556), 1, + sym_requirement_seq, + [278882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7264), 1, + sym_compound_statement, + [278892] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1604), 1, + anon_sym_LBRACE, + STATE(884), 1, + sym_compound_statement, + [278902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12175), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + [278912] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12177), 2, + anon_sym_COMMA, + anon_sym_GT2, + [278920] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + STATE(1996), 1, + sym_field_declaration_list, + [278930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7317), 1, + sym_compound_statement, + [278940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11917), 2, + anon_sym_COMMA, + anon_sym_GT2, + [278948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(12179), 1, + anon_sym_SEMI, + [278958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(416), 1, + sym_compound_statement, + [278968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(263), 1, + sym_compound_statement, + [278978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5910), 1, + anon_sym_LBRACE, + STATE(2626), 1, + sym_field_declaration_list, + [278988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3046), 1, + sym_field_declaration_list, + [278998] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11908), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [279006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6822), 1, + sym_compound_statement, + [279016] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10018), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [279026] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4937), 1, + sym_field_declaration_list, + [279036] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7790), 1, + sym_parameter_list, + [279046] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9054), 1, + anon_sym_LBRACE, + STATE(3301), 1, + sym_requirement_seq, + [279056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7571), 1, + sym_parenthesized_expression, + [279066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(453), 1, + sym_compound_statement, + [279076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4932), 1, + sym_field_declaration_list, + [279086] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5494), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + [279096] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12181), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [279104] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12183), 1, + anon_sym_LT, + STATE(2357), 1, + sym_template_argument_list, + [279114] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7982), 1, + sym_argument_list, + [279124] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + STATE(586), 1, + sym_declaration_list, + [279134] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11897), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [279142] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12185), 1, + aux_sym_preproc_include_token2, + ACTIONS(12187), 1, + sym_preproc_arg, + [279152] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7968), 1, + sym_argument_list, + [279162] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7833), 1, + sym_parenthesized_expression, + [279172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2808), 1, + sym_field_declaration_list, + [279182] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7643), 1, + sym_parameter_list, + [279192] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(2739), 1, + sym_template_argument_list, + [279202] = 3, + ACTIONS(1865), 1, + anon_sym_LPAREN2, + ACTIONS(1867), 1, + aux_sym_preproc_include_token2, + ACTIONS(9439), 1, + sym_comment, + [279212] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + [279222] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8229), 1, + sym_argument_list, + [279232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7399), 1, + sym_compound_statement, + [279242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12189), 1, + anon_sym_RBRACE, + [279252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12191), 1, + anon_sym_RBRACE, + [279262] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8613), 1, + anon_sym_LBRACE, + STATE(4930), 1, + sym_field_declaration_list, + [279272] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10118), 1, + anon_sym_LBRACE, + STATE(1977), 1, + sym_compound_statement, + [279282] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12193), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [279290] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9046), 1, + anon_sym_LBRACE, + STATE(3915), 1, + sym_requirement_seq, + [279300] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12195), 1, + aux_sym_preproc_include_token2, + ACTIONS(12197), 1, + sym_preproc_arg, + [279310] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7367), 1, + sym_compound_statement, + [279320] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7548), 1, + sym_parameter_list, + [279330] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12199), 1, + aux_sym_preproc_include_token2, + ACTIONS(12201), 1, + sym_preproc_arg, + [279340] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12203), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [279348] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2250), 1, + sym_compound_statement, + [279358] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11858), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [279366] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7524), 1, + sym_parameter_list, + [279376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(2986), 1, + sym_field_declaration_list, + [279386] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12205), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [279394] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8461), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [279402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(444), 1, + sym_compound_statement, + [279412] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1604), 1, + anon_sym_LBRACE, + STATE(893), 1, + sym_compound_statement, + [279422] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12207), 2, + anon_sym_COMMA, + anon_sym_GT2, + [279430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(2942), 1, + sym_field_declaration_list, + [279440] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12209), 1, + anon_sym_RBRACE, + [279450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3367), 1, + anon_sym_LBRACE, + STATE(4791), 1, + sym_initializer_list, + [279460] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8504), 1, + sym_argument_list, + [279470] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12211), 1, + aux_sym_preproc_include_token2, + ACTIONS(12213), 1, + sym_preproc_arg, + [279480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7257), 1, + sym_compound_statement, + [279490] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12215), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [279498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + STATE(386), 1, + sym_declaration_list, + [279508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4714), 1, + anon_sym_LBRACE, + STATE(353), 1, + sym_declaration_list, + [279518] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + STATE(535), 1, + sym_declaration_list, + [279528] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7546), 1, + sym_parenthesized_expression, + [279538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7444), 1, + sym_compound_statement, + [279548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1783), 1, + sym_compound_statement, + [279558] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2922), 1, + sym_field_declaration_list, + [279568] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7584), 1, + sym_parameter_list, + [279578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(487), 1, + sym_compound_statement, + [279588] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3200), 1, + anon_sym_LBRACE, + STATE(3938), 1, + sym_initializer_list, + [279598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10942), 1, + anon_sym_LBRACE, + STATE(5939), 1, + sym_requirement_seq, + [279608] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6235), 1, + anon_sym_LT, + STATE(2719), 1, + sym_template_argument_list, + [279618] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12217), 1, + anon_sym_LPAREN2, + ACTIONS(12219), 1, + sym_raw_string_delimiter, + [279628] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6103), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + [279638] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(7499), 1, + sym_condition_clause, + [279648] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10022), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [279658] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(138), 1, + sym_condition_clause, + [279668] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(142), 1, + sym_condition_clause, + [279678] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7901), 1, + sym_argument_list, + [279688] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7170), 1, + sym_compound_statement, + [279698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9951), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [279708] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2927), 1, + sym_field_declaration_list, + [279718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7492), 1, + sym_compound_statement, + [279728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2923), 1, + sym_field_declaration_list, + [279738] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11585), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [279746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + STATE(681), 1, + sym_declaration_list, + [279756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + [279766] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LBRACE, + STATE(3598), 1, + sym_initializer_list, + [279776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7657), 1, + sym_parenthesized_expression, + [279786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7393), 1, + sym_compound_statement, + [279796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6848), 1, + sym_compound_statement, + [279806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8122), 1, + sym_argument_list, + [279816] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11656), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [279824] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11796), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [279832] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12221), 1, + aux_sym_preproc_include_token2, + ACTIONS(12223), 1, + sym_preproc_arg, + [279842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8152), 1, + sym_argument_list, + [279852] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12225), 2, + anon_sym_COMMA, + anon_sym_GT2, + [279860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7597), 1, + sym_parameter_list, + [279870] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6849), 1, + sym_compound_statement, + [279880] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12227), 1, + aux_sym_preproc_include_token2, + ACTIONS(12229), 1, + sym_preproc_arg, + [279890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(144), 1, + sym_condition_clause, + [279900] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12231), 1, + anon_sym_RBRACE, + [279910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(8298), 1, + sym_parenthesized_expression, + [279920] = 3, + ACTIONS(1865), 1, + anon_sym_LPAREN2, + ACTIONS(4014), 1, + aux_sym_preproc_include_token2, + ACTIONS(9439), 1, + sym_comment, + [279930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6119), 1, + anon_sym_LBRACE, + STATE(2914), 1, + sym_field_declaration_list, + [279940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9914), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [279948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2834), 1, + sym_field_declaration_list, + [279958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5868), 1, + anon_sym_LBRACE, + STATE(2804), 1, + sym_field_declaration_list, + [279968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6776), 1, + sym_compound_statement, + [279978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2458), 1, + sym_field_declaration_list, + [279988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2465), 1, + sym_field_declaration_list, + [279998] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8208), 1, + sym_argument_list, + [280008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + STATE(537), 1, + sym_declaration_list, + [280018] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7419), 1, + sym_compound_statement, + [280028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(7604), 1, + sym_condition_clause, + [280038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10026), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [280048] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8288), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [280056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9983), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [280066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + STATE(2015), 1, + sym_field_declaration_list, + [280076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + STATE(2014), 1, + sym_field_declaration_list, + [280086] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(147), 1, + sym_condition_clause, + [280096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12233), 1, + anon_sym_RBRACE, + [280106] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12235), 1, + aux_sym_preproc_include_token2, + ACTIONS(12237), 1, + sym_preproc_arg, + [280116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3951), 1, + sym_field_declaration_list, + [280126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7347), 1, + sym_compound_statement, + [280136] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11409), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [280144] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(166), 1, + sym_condition_clause, + [280154] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12239), 1, + aux_sym_preproc_include_token2, + ACTIONS(12241), 1, + sym_preproc_arg, + [280164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(7560), 1, + sym_condition_clause, + [280174] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(373), 1, + sym_compound_statement, + [280184] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12243), 1, + anon_sym_LT, + STATE(2305), 1, + sym_template_argument_list, + [280194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + STATE(752), 1, + sym_declaration_list, + [280204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8661), 1, + anon_sym_LT, + STATE(2585), 1, + sym_template_argument_list, + [280214] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10016), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [280224] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7785), 1, + sym_parenthesized_expression, + [280234] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3029), 1, + sym_field_declaration_list, + [280244] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3966), 1, + sym_field_declaration_list, + [280254] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11951), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [280262] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3968), 1, + sym_field_declaration_list, + [280272] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(8160), 1, + sym_parenthesized_expression, + [280282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7167), 1, + sym_compound_statement, + [280292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12059), 1, + anon_sym_LT, + STATE(3568), 1, + sym_template_argument_list, + [280302] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11321), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [280310] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12245), 1, + anon_sym_RBRACE, + [280320] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7612), 1, + sym_parameter_list, + [280330] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6908), 1, + anon_sym_LBRACE, + STATE(3982), 1, + sym_field_declaration_list, + [280340] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + anon_sym_LPAREN2, + STATE(7786), 1, + sym_parameter_list, + [280350] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7866), 1, + sym_parenthesized_expression, + [280360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4716), 1, + anon_sym_LBRACE, + STATE(772), 1, + sym_declaration_list, + [280370] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3073), 1, + sym_field_declaration_list, + [280380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3074), 1, + sym_field_declaration_list, + [280390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(497), 1, + sym_compound_statement, + [280400] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10006), 1, + anon_sym_RBRACE, + ACTIONS(12061), 1, + anon_sym_COMMA, + [280410] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8607), 1, + anon_sym_LT, + STATE(2651), 1, + sym_template_argument_list, + [280420] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10042), 1, + anon_sym_LBRACE, + STATE(2091), 1, + sym_compound_statement, + [280430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12243), 1, + anon_sym_LT, + STATE(2357), 1, + sym_template_argument_list, + [280440] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7458), 1, + sym_compound_statement, + [280450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(179), 1, + sym_condition_clause, + [280460] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(768), 1, + sym_compound_statement, + [280470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6966), 1, + sym_compound_statement, + [280480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(8043), 1, + sym_argument_list, + [280490] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12243), 1, + anon_sym_LT, + STATE(1903), 1, + sym_template_argument_list, + [280500] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8372), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [280508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(7203), 1, + sym_compound_statement, + [280518] = 3, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12247), 1, + aux_sym_preproc_include_token2, + ACTIONS(12249), 1, + sym_preproc_arg, + [280528] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8190), 1, + anon_sym_LT, + STATE(4673), 1, + sym_template_argument_list, + [280538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(187), 1, + sym_condition_clause, + [280548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(7611), 1, + sym_condition_clause, + [280558] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(292), 1, + sym_compound_statement, + [280568] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12251), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [280576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12149), 1, + anon_sym_LT, + STATE(3228), 1, + sym_template_argument_list, + [280586] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4718), 1, + anon_sym_LBRACE, + STATE(528), 1, + sym_declaration_list, + [280596] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12149), 1, + anon_sym_LT, + STATE(3495), 1, + sym_template_argument_list, + [280606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12159), 1, + anon_sym_LPAREN2, + STATE(7564), 1, + sym_parenthesized_expression, + [280616] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + ACTIONS(12253), 1, + anon_sym_RBRACE, + [280626] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7635), 1, + anon_sym_LPAREN2, + STATE(7817), 1, + sym_argument_list, + [280636] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_LBRACE, + STATE(1981), 1, + sym_field_declaration_list, + [280646] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6877), 1, + anon_sym_LT, + STATE(1626), 1, + sym_template_argument_list, + [280656] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 1, + anon_sym_LBRACE, + STATE(302), 1, + sym_compound_statement, + [280666] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_LBRACE, + STATE(408), 1, + sym_compound_statement, + [280676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(491), 1, + sym_compound_statement, + [280686] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(12255), 1, + anon_sym_SEMI, + [280696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10849), 1, + anon_sym_COLON_COLON, + ACTIONS(12257), 1, + anon_sym_SEMI, + [280706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(409), 1, + sym_compound_statement, + [280716] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(6995), 1, + sym_compound_statement, + [280726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10099), 1, + anon_sym_LBRACE, + STATE(1744), 1, + sym_compound_statement, + [280736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11417), 1, + anon_sym_LPAREN2, + STATE(159), 1, + sym_condition_clause, + [280746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 1, + anon_sym_LBRACE, + STATE(643), 1, + sym_compound_statement, + [280756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 1, + anon_sym_LBRACE, + STATE(2387), 1, + sym_initializer_list, + [280766] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12259), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + [280776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5705), 1, + anon_sym_LBRACE, + STATE(2404), 1, + sym_field_declaration_list, + [280786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4712), 1, + anon_sym_LBRACE, + STATE(599), 1, + sym_declaration_list, + [280796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11000), 1, + anon_sym_LBRACE, + STATE(1641), 1, + sym_requirement_seq, + [280806] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4317), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [280814] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8272), 1, + anon_sym_RBRACK, + ACTIONS(12261), 1, + anon_sym_COMMA, + [280824] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12059), 1, + anon_sym_LT, + STATE(3356), 1, + sym_template_argument_list, + [280834] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(453), 1, + sym_compound_statement, + [280844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_LBRACE, + STATE(3110), 1, + sym_field_declaration_list, + [280854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6141), 1, + anon_sym_LBRACE, + STATE(3004), 1, + sym_field_declaration_list, + [280864] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11589), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [280872] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11056), 1, + anon_sym_SEMI, + [280879] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12263), 1, + anon_sym_LPAREN2, + [280886] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11591), 1, + aux_sym_preproc_include_token2, + [280893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12265), 1, + aux_sym_preproc_if_token2, + [280900] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12267), 1, + anon_sym_DQUOTE, + [280907] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12269), 1, + anon_sym_DQUOTE, + [280914] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12271), 1, + anon_sym_RPAREN, + [280921] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12063), 1, + anon_sym_RBRACE, + [280928] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12273), 1, + anon_sym_SEMI, + [280935] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12275), 1, + anon_sym_SEMI, + [280942] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12277), 1, + anon_sym_RPAREN, + [280949] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12279), 1, + anon_sym_DQUOTE, + [280956] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8300), 1, + anon_sym_RPAREN, + [280963] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8396), 1, + anon_sym_RPAREN, + [280970] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12281), 1, + aux_sym_preproc_include_token2, + [280977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8645), 1, + anon_sym_RPAREN, + [280984] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12283), 1, + aux_sym_preproc_if_token2, + [280991] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8427), 1, + anon_sym_RPAREN, + [280998] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12285), 1, + anon_sym_SEMI, + [281005] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8014), 1, + anon_sym_SEMI, + [281012] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12287), 1, + anon_sym_RBRACK, + [281019] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12289), 1, + anon_sym_RPAREN, + [281026] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10498), 1, + anon_sym_SEMI, + [281033] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12291), 1, + sym_raw_string_delimiter, + [281040] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12293), 1, + anon_sym_DQUOTE, + [281047] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12295), 1, + anon_sym_DQUOTE, + [281054] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12297), 1, + anon_sym_SEMI, + [281061] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12299), 1, + anon_sym_LPAREN2, + [281068] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12301), 1, + anon_sym_RPAREN, + [281075] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12303), 1, + aux_sym_preproc_include_token2, + [281082] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12305), 1, + anon_sym_DQUOTE, + [281089] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10010), 1, + anon_sym_RPAREN, + [281096] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12307), 1, + anon_sym_SEMI, + [281103] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12309), 1, + anon_sym_SEMI, + [281110] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12311), 1, + anon_sym_DQUOTE, + [281117] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12313), 1, + anon_sym_DQUOTE, + [281124] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12315), 1, + anon_sym_STAR, + [281131] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12317), 1, + anon_sym_SEMI, + [281138] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12319), 1, + anon_sym_SEMI, + [281145] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12321), 1, + anon_sym_SEMI, + [281152] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12323), 1, + anon_sym_SEMI, + [281159] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12325), 1, + anon_sym_SEMI, + [281166] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12327), 1, + anon_sym_SEMI, + [281173] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12329), 1, + anon_sym_DQUOTE, + [281180] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12331), 1, + anon_sym_DQUOTE, + [281187] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8278), 1, + anon_sym_SEMI, + [281194] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11489), 1, + anon_sym_SEMI, + [281201] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12333), 1, + anon_sym_LBRACE, + [281208] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6649), 1, + anon_sym_RPAREN, + [281215] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12335), 1, + anon_sym_SEMI, + [281222] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12337), 1, + anon_sym_DQUOTE, + [281229] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12339), 1, + anon_sym_DQUOTE, + [281236] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12341), 1, + anon_sym_SEMI, + [281243] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12343), 1, + aux_sym_preproc_if_token2, + [281250] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12345), 1, + anon_sym_SEMI, + [281257] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12347), 1, + anon_sym_SEMI, + [281264] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12349), 1, + anon_sym_RBRACE, + [281271] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12351), 1, + anon_sym_RPAREN, + [281278] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12353), 1, + anon_sym_SEMI, + [281285] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12355), 1, + anon_sym_SEMI, + [281292] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12357), 1, + anon_sym_SEMI, + [281299] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12359), 1, + anon_sym_DQUOTE, + [281306] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12361), 1, + anon_sym_RPAREN, + [281313] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12363), 1, + anon_sym_DQUOTE, + [281320] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12365), 1, + aux_sym_preproc_if_token2, + [281327] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12367), 1, + anon_sym_SEMI, + [281334] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12369), 1, + anon_sym_RPAREN, + [281341] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12371), 1, + anon_sym_RBRACE, + [281348] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12373), 1, + anon_sym_RPAREN, + [281355] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12253), 1, + anon_sym_RBRACE, + [281362] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12375), 1, + anon_sym_DQUOTE, + [281369] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12377), 1, + anon_sym_STAR, + [281376] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12379), 1, + anon_sym_RPAREN, + [281383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12381), 1, + anon_sym_RPAREN, + [281390] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8429), 1, + anon_sym_COLON, + [281397] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12383), 1, + anon_sym_while, + [281404] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12385), 1, + aux_sym_preproc_if_token2, + [281411] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12387), 1, + aux_sym_preproc_include_token2, + [281418] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12389), 1, + aux_sym_preproc_if_token2, + [281425] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12391), 1, + aux_sym_preproc_if_token2, + [281432] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12393), 1, + anon_sym_DQUOTE, + [281439] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12395), 1, + anon_sym_SEMI, + [281446] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12397), 1, + anon_sym_DQUOTE, + [281453] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12399), 1, + anon_sym_RPAREN, + [281460] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12401), 1, + aux_sym_preproc_if_token2, + [281467] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12403), 1, + aux_sym_preproc_if_token2, + [281474] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4236), 1, + anon_sym_DOT_DOT_DOT, + [281481] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12405), 1, + aux_sym_preproc_if_token2, + [281488] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8360), 1, + anon_sym_SEMI, + [281495] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12407), 1, + anon_sym_RPAREN, + [281502] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8390), 1, + anon_sym_COLON, + [281509] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12409), 1, + anon_sym_RPAREN, + [281516] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12411), 1, + sym_auto, + [281523] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12413), 1, + anon_sym_RBRACE, + [281530] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12415), 1, + anon_sym_RPAREN, + [281537] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12417), 1, + anon_sym_STAR, + [281544] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12419), 1, + aux_sym_preproc_if_token2, + [281551] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8537), 1, + anon_sym_RPAREN, + [281558] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12421), 1, + anon_sym_DQUOTE, + [281565] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12423), 1, + anon_sym_DQUOTE, + [281572] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8266), 1, + anon_sym_RBRACE, + [281579] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10492), 1, + anon_sym_COMMA, + [281586] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12425), 1, + aux_sym_preproc_if_token2, + [281593] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12427), 1, + aux_sym_preproc_if_token2, + [281600] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12429), 1, + anon_sym_RPAREN, + [281607] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11953), 1, + anon_sym_RPAREN, + [281614] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12431), 1, + anon_sym_RBRACE, + [281621] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12433), 1, + aux_sym_preproc_if_token2, + [281628] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12435), 1, + aux_sym_preproc_include_token2, + [281635] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12437), 1, + sym_auto, + [281642] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8459), 1, + anon_sym_RPAREN, + [281649] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12439), 1, + aux_sym_preproc_if_token2, + [281656] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12441), 1, + aux_sym_preproc_if_token2, + [281663] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12443), 1, + anon_sym_RBRACE, + [281670] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12445), 1, + anon_sym_RPAREN, + [281677] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12447), 1, + anon_sym_SEMI, + [281684] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12449), 1, + anon_sym_LPAREN2, + [281691] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8441), 1, + anon_sym_COLON, + [281698] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10006), 1, + anon_sym_RBRACE, + [281705] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12451), 1, + anon_sym_LPAREN2, + [281712] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12453), 1, + sym_raw_string_content, + [281719] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12455), 1, + anon_sym_SEMI, + [281726] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12457), 1, + anon_sym_RPAREN, + [281733] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12459), 1, + anon_sym_SEMI, + [281740] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12461), 1, + anon_sym_SEMI, + [281747] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12463), 1, + anon_sym_RPAREN, + [281754] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12465), 1, + anon_sym_RPAREN, + [281761] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12467), 1, + anon_sym_RPAREN, + [281768] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12469), 1, + anon_sym_SEMI, + [281775] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12471), 1, + anon_sym_RPAREN, + [281782] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12473), 1, + anon_sym_RPAREN, + [281789] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12475), 1, + anon_sym_RPAREN, + [281796] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12477), 1, + anon_sym_SEMI, + [281803] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12479), 1, + anon_sym_SEMI, + [281810] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12481), 1, + anon_sym_SEMI, + [281817] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12483), 1, + anon_sym_DQUOTE, + [281824] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6540), 1, + anon_sym_RPAREN, + [281831] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12485), 1, + anon_sym_SEMI, + [281838] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12487), 1, + anon_sym_RPAREN, + [281845] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12489), 1, + anon_sym_RPAREN, + [281852] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12491), 1, + anon_sym_RPAREN, + [281859] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12493), 1, + aux_sym_preproc_include_token2, + [281866] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12495), 1, + anon_sym_COLON, + [281873] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12497), 1, + anon_sym_SEMI, + [281880] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12245), 1, + anon_sym_RBRACE, + [281887] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12499), 1, + anon_sym_LPAREN2, + [281894] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8437), 1, + anon_sym_COLON, + [281901] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12501), 1, + sym_auto, + [281908] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12503), 1, + anon_sym_RPAREN, + [281915] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12505), 1, + anon_sym_RPAREN, + [281922] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12507), 1, + anon_sym_RPAREN, + [281929] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8451), 1, + anon_sym_COLON, + [281936] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12509), 1, + anon_sym_SEMI, + [281943] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12511), 1, + anon_sym_SEMI, + [281950] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12513), 1, + anon_sym_RPAREN, + [281957] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12515), 1, + sym_auto, + [281964] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8344), 1, + anon_sym_RPAREN, + [281971] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4377), 1, + anon_sym_SEMI, + [281978] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12517), 1, + anon_sym_SEMI, + [281985] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8585), 1, + anon_sym_RPAREN, + [281992] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12519), 1, + anon_sym_RPAREN, + [281999] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12521), 1, + anon_sym_RPAREN, + [282006] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12523), 1, + anon_sym_RPAREN, + [282013] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12525), 1, + anon_sym_RPAREN, + [282020] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12527), 1, + anon_sym_RPAREN, + [282027] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8565), 1, + anon_sym_RPAREN, + [282034] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12529), 1, + anon_sym_RPAREN, + [282041] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12531), 1, + anon_sym_RPAREN, + [282048] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12533), 1, + anon_sym_RBRACK, + [282055] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12535), 1, + aux_sym_preproc_include_token2, + [282062] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12537), 1, + aux_sym_preproc_include_token2, + [282069] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10016), 1, + anon_sym_RBRACE, + [282076] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12539), 1, + anon_sym_SEMI, + [282083] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12541), 1, + anon_sym_SEMI, + [282090] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8016), 1, + anon_sym_RBRACE, + [282097] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12543), 1, + anon_sym_RPAREN, + [282104] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9565), 1, + aux_sym_preproc_include_token2, + [282111] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11255), 1, + anon_sym_SEMI, + [282118] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12545), 1, + anon_sym_RPAREN, + [282125] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12547), 1, + anon_sym_RPAREN, + [282132] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11010), 1, + anon_sym_SEMI, + [282139] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12549), 1, + anon_sym_SEMI, + [282146] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12551), 1, + anon_sym_SEMI, + [282153] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12553), 1, + anon_sym_RPAREN, + [282160] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9992), 1, + anon_sym_RPAREN, + [282167] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12555), 1, + anon_sym_RPAREN, + [282174] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12557), 1, + sym_raw_string_delimiter, + [282181] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12559), 1, + anon_sym_RPAREN, + [282188] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12561), 1, + aux_sym_preproc_if_token2, + [282195] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12563), 1, + anon_sym_RPAREN, + [282202] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12565), 1, + anon_sym_RPAREN, + [282209] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12567), 1, + anon_sym_RPAREN, + [282216] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12569), 1, + anon_sym_RPAREN, + [282223] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12571), 1, + anon_sym_RPAREN, + [282230] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12573), 1, + anon_sym_COLON, + [282237] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12575), 1, + anon_sym_RBRACE, + [282244] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12577), 1, + aux_sym_preproc_if_token2, + [282251] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12579), 1, + aux_sym_preproc_if_token2, + [282258] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12581), 1, + aux_sym_preproc_if_token2, + [282265] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11243), 1, + anon_sym_SEMI, + [282272] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12583), 1, + aux_sym_preproc_include_token2, + [282279] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9983), 1, + anon_sym_RBRACE, + [282286] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12585), 1, + anon_sym_LPAREN2, + [282293] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12587), 1, + anon_sym_RPAREN, + [282300] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8220), 1, + anon_sym_RBRACE, + [282307] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + anon_sym_RPAREN, + [282314] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12589), 1, + anon_sym_RPAREN, + [282321] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12591), 1, + anon_sym_RPAREN, + [282328] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12593), 1, + anon_sym_RPAREN, + [282335] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10026), 1, + anon_sym_RBRACE, + [282342] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12595), 1, + aux_sym_preproc_if_token2, + [282349] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12597), 1, + aux_sym_preproc_if_token2, + [282356] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12599), 1, + anon_sym_LPAREN2, + [282363] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12601), 1, + anon_sym_SEMI, + [282370] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12603), 1, + aux_sym_preproc_if_token2, + [282377] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12605), 1, + anon_sym_RPAREN, + [282384] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4359), 1, + anon_sym_SEMI, + [282391] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12607), 1, + anon_sym_STAR, + [282398] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12609), 1, + anon_sym_RPAREN, + [282405] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12611), 1, + anon_sym_SEMI, + [282412] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12613), 1, + anon_sym_DQUOTE, + [282419] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12615), 1, + anon_sym_SEMI, + [282426] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12617), 1, + anon_sym_DQUOTE, + [282433] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12619), 1, + anon_sym_RPAREN, + [282440] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12621), 1, + anon_sym_SEMI, + [282447] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12623), 1, + aux_sym_preproc_if_token2, + [282454] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12625), 1, + anon_sym_DOT_DOT_DOT, + [282461] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12627), 1, + anon_sym_DOT_DOT_DOT, + [282468] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12630), 1, + anon_sym_LPAREN2, + [282475] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12632), 1, + anon_sym_COLON, + [282482] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12634), 1, + aux_sym_preproc_if_token2, + [282489] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11519), 1, + aux_sym_preproc_include_token2, + [282496] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12231), 1, + anon_sym_RBRACE, + [282503] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12636), 1, + aux_sym_preproc_if_token2, + [282510] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12638), 1, + aux_sym_preproc_if_token2, + [282517] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12640), 1, + anon_sym_COLON, + [282524] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12642), 1, + anon_sym_RPAREN, + [282531] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12644), 1, + anon_sym_SEMI, + [282538] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8471), 1, + anon_sym_COLON, + [282545] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12646), 1, + anon_sym_SEMI, + [282552] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12648), 1, + aux_sym_preproc_if_token2, + [282559] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12650), 1, + anon_sym_RPAREN, + [282566] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12652), 1, + aux_sym_preproc_if_token2, + [282573] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8423), 1, + anon_sym_SEMI, + [282580] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9955), 1, + anon_sym_RBRACE, + [282587] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + anon_sym_COLON_COLON, + [282594] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12654), 1, + anon_sym_RPAREN, + [282601] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12656), 1, + sym_auto, + [282608] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12658), 1, + sym_auto, + [282615] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12660), 1, + anon_sym_SEMI, + [282622] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12662), 1, + anon_sym_SEMI, + [282629] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9533), 1, + aux_sym_preproc_include_token2, + [282636] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12664), 1, + anon_sym_RPAREN, + [282643] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9959), 1, + anon_sym_RPAREN, + [282650] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12666), 1, + anon_sym_RPAREN, + [282657] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12668), 1, + sym_raw_string_delimiter, + [282664] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11329), 1, + anon_sym_COLON_COLON, + [282671] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12670), 1, + anon_sym_RPAREN, + [282678] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12672), 1, + aux_sym_preproc_if_token2, + [282685] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12674), 1, + anon_sym_SEMI, + [282692] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9951), 1, + anon_sym_RBRACE, + [282699] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12676), 1, + aux_sym_preproc_if_token2, + [282706] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12678), 1, + anon_sym_SEMI, + [282713] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10022), 1, + anon_sym_RBRACE, + [282720] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10544), 1, + anon_sym_SEMI, + [282727] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12680), 1, + anon_sym_EQ, + [282734] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12682), 1, + anon_sym_RPAREN, + [282741] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12684), 1, + anon_sym_SEMI, + [282748] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8304), 1, + anon_sym_SEMI, + [282755] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12686), 1, + aux_sym_preproc_include_token2, + [282762] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8400), 1, + anon_sym_COLON, + [282769] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12688), 1, + anon_sym_LPAREN2, + [282776] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12690), 1, + anon_sym_RPAREN, + [282783] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12692), 1, + aux_sym_preproc_if_token2, + [282790] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12694), 1, + anon_sym_LPAREN2, + [282797] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12696), 1, + aux_sym_preproc_if_token2, + [282804] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8398), 1, + anon_sym_COLON, + [282811] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12698), 1, + anon_sym_SEMI, + [282818] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12700), 1, + anon_sym_SEMI, + [282825] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12702), 1, + anon_sym_COLON, + [282832] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12704), 1, + anon_sym_DQUOTE, + [282839] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12706), 1, + anon_sym_LPAREN2, + [282846] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12708), 1, + sym_raw_string_content, + [282853] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8178), 1, + anon_sym_RBRACE, + [282860] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12710), 1, + anon_sym_STAR, + [282867] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12712), 1, + aux_sym_preproc_if_token2, + [282874] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12714), 1, + anon_sym_RPAREN, + [282881] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8388), 1, + anon_sym_SEMI, + [282888] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8479), 1, + anon_sym_RPAREN, + [282895] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12716), 1, + anon_sym_SEMI, + [282902] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12718), 1, + aux_sym_preproc_include_token2, + [282909] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8184), 1, + anon_sym_RBRACE, + [282916] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12720), 1, + anon_sym_SEMI, + [282923] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12722), 1, + anon_sym_RPAREN, + [282930] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12724), 1, + aux_sym_preproc_if_token2, + [282937] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12726), 1, + anon_sym_RPAREN, + [282944] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12728), 1, + aux_sym_preproc_if_token2, + [282951] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12730), 1, + aux_sym_preproc_if_token2, + [282958] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9979), 1, + anon_sym_RPAREN, + [282965] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12732), 1, + anon_sym_DQUOTE, + [282972] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12734), 1, + sym_raw_string_delimiter, + [282979] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8573), 1, + anon_sym_RPAREN, + [282986] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12736), 1, + anon_sym_RPAREN, + [282993] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12738), 1, + anon_sym_RPAREN, + [283000] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12740), 1, + anon_sym_SEMI, + [283007] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12742), 1, + anon_sym_SEMI, + [283014] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12744), 1, + anon_sym_RPAREN, + [283021] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12746), 1, + anon_sym_COLON, + [283028] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12748), 1, + anon_sym_SEMI, + [283035] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12750), 1, + anon_sym_STAR, + [283042] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4167), 1, + anon_sym_DOT_DOT_DOT, + [283049] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12752), 1, + anon_sym_RPAREN, + [283056] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12754), 1, + anon_sym_LPAREN2, + [283063] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12756), 1, + anon_sym_LPAREN2, + [283070] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12758), 1, + anon_sym_SEMI, + [283077] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12760), 1, + anon_sym_RPAREN, + [283084] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12762), 1, + anon_sym_RPAREN, + [283091] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12764), 1, + anon_sym_LPAREN2, + [283098] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9537), 1, + aux_sym_preproc_include_token2, + [283105] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12766), 1, + anon_sym_DQUOTE, + [283112] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8457), 1, + anon_sym_COLON, + [283119] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12209), 1, + anon_sym_RBRACE, + [283126] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12768), 1, + anon_sym_RPAREN, + [283133] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12770), 1, + anon_sym_SEMI, + [283140] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12772), 1, + anon_sym_DQUOTE, + [283147] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12774), 1, + anon_sym_SEMI, + [283154] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12776), 1, + anon_sym_RPAREN, + [283161] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12778), 1, + anon_sym_RPAREN, + [283168] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12780), 1, + aux_sym_preproc_include_token2, + [283175] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12782), 1, + aux_sym_preproc_if_token2, + [283182] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12784), 1, + anon_sym_RPAREN, + [283189] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12786), 1, + aux_sym_preproc_if_token2, + [283196] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12788), 1, + aux_sym_preproc_include_token2, + [283203] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12790), 1, + anon_sym_STAR, + [283210] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12191), 1, + anon_sym_RBRACE, + [283217] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10012), 1, + anon_sym_RPAREN, + [283224] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12792), 1, + anon_sym_SEMI, + [283231] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12794), 1, + sym_raw_string_delimiter, + [283238] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12796), 1, + anon_sym_RPAREN, + [283245] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12798), 1, + anon_sym_RPAREN, + [283252] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12800), 1, + anon_sym_RPAREN, + [283259] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12802), 1, + anon_sym_SEMI, + [283266] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12804), 1, + anon_sym_RPAREN, + [283273] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12806), 1, + anon_sym_SEMI, + [283280] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12808), 1, + anon_sym_LPAREN2, + [283287] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12810), 1, + anon_sym_RPAREN, + [283294] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(9523), 1, + aux_sym_preproc_include_token2, + [283301] = 2, + ACTIONS(4910), 1, + aux_sym_preproc_include_token2, + ACTIONS(9439), 1, + sym_comment, + [283308] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12812), 1, + anon_sym_RPAREN, + [283315] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8425), 1, + anon_sym_COLON, + [283322] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12814), 1, + aux_sym_preproc_if_token2, + [283329] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12816), 1, + sym_raw_string_delimiter, + [283336] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12189), 1, + anon_sym_RBRACE, + [283343] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12818), 1, + anon_sym_SEMI, + [283350] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12820), 1, + aux_sym_preproc_if_token2, + [283357] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12822), 1, + ts_builtin_sym_end, + [283364] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12824), 1, + anon_sym_LPAREN2, + [283371] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10536), 1, + anon_sym_SEMI, + [283378] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12826), 1, + anon_sym_SEMI, + [283385] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12828), 1, + anon_sym_RPAREN, + [283392] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12830), 1, + sym_auto, + [283399] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12832), 1, + sym_raw_string_delimiter, + [283406] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12834), 1, + anon_sym_RPAREN, + [283413] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12836), 1, + anon_sym_RPAREN, + [283420] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12838), 1, + anon_sym_RPAREN, + [283427] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12840), 1, + anon_sym_LPAREN2, + [283434] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12842), 1, + anon_sym_RPAREN, + [283441] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12844), 1, + sym_raw_string_delimiter, + [283448] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12846), 1, + anon_sym_RPAREN, + [283455] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12848), 1, + anon_sym_RPAREN, + [283462] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12850), 1, + sym_raw_string_delimiter, + [283469] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12852), 1, + aux_sym_preproc_include_token2, + [283476] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12854), 1, + anon_sym_RPAREN, + [283483] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12856), 1, + sym_raw_string_delimiter, + [283490] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12858), 1, + anon_sym_RPAREN, + [283497] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12860), 1, + sym_raw_string_delimiter, + [283504] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12862), 1, + anon_sym_RPAREN, + [283511] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12864), 1, + sym_raw_string_delimiter, + [283518] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12866), 1, + anon_sym_RPAREN, + [283525] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12868), 1, + sym_raw_string_delimiter, + [283532] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12870), 1, + anon_sym_RPAREN, + [283539] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12872), 1, + sym_raw_string_delimiter, + [283546] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12874), 1, + anon_sym_RPAREN, + [283553] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12876), 1, + sym_raw_string_delimiter, + [283560] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12878), 1, + anon_sym_RPAREN, + [283567] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12880), 1, + anon_sym_RPAREN, + [283574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12882), 1, + anon_sym_LPAREN2, + [283581] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12884), 1, + anon_sym_RPAREN, + [283588] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12886), 1, + anon_sym_LPAREN2, + [283595] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12888), 1, + anon_sym_LPAREN2, + [283602] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12890), 1, + anon_sym_LPAREN2, + [283609] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12892), 1, + aux_sym_preproc_if_token2, + [283616] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12894), 1, + sym_auto, + [283623] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12896), 1, + anon_sym_LPAREN2, + [283630] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 1, + anon_sym_DOT_DOT_DOT, + [283637] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12898), 1, + anon_sym_RPAREN, + [283644] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12900), 1, + anon_sym_LPAREN2, + [283651] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12902), 1, + aux_sym_preproc_if_token2, + [283658] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12904), 1, + anon_sym_RPAREN, + [283665] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12906), 1, + anon_sym_SEMI, + [283672] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10018), 1, + anon_sym_RBRACE, + [283679] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12908), 1, + anon_sym_RPAREN, + [283686] = 2, + ACTIONS(4918), 1, + aux_sym_preproc_include_token2, + ACTIONS(9439), 1, + sym_comment, + [283693] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12910), 1, + anon_sym_DQUOTE, + [283700] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12912), 1, + anon_sym_SEMI, + [283707] = 2, + ACTIONS(4922), 1, + aux_sym_preproc_include_token2, + ACTIONS(9439), 1, + sym_comment, + [283714] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8410), 1, + anon_sym_SEMI, + [283721] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12914), 1, + anon_sym_while, + [283728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12916), 1, + anon_sym_LPAREN2, + [283735] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12918), 1, + anon_sym_LBRACE, + [283742] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12920), 1, + anon_sym_LPAREN2, + [283749] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12922), 1, + sym_raw_string_delimiter, + [283756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4152), 1, + anon_sym_DOT_DOT_DOT, + [283763] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10004), 1, + anon_sym_RPAREN, + [283770] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_COMMA, + [283777] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12926), 1, + anon_sym_SEMI, + [283784] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12928), 1, + anon_sym_EQ, + [283791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12930), 1, + sym_raw_string_content, + [283798] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12932), 1, + anon_sym_SEMI, + [283805] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12934), 1, + aux_sym_preproc_include_token2, + [283812] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12936), 1, + anon_sym_STAR, + [283819] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12938), 1, + anon_sym_SEMI, + [283826] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12940), 1, + anon_sym_RPAREN, + [283833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12942), 1, + anon_sym_SEMI, + [283840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12944), 1, + anon_sym_SEMI, + [283847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12946), 1, + anon_sym_RPAREN, + [283854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_DASH, + [283861] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8455), 1, + anon_sym_SEMI, + [283868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12948), 1, + anon_sym_DQUOTE, + [283875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12950), 1, + anon_sym_SEMI, + [283882] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12952), 1, + anon_sym_STAR, + [283889] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12954), 1, + anon_sym_RPAREN, + [283896] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12956), 1, + anon_sym_COMMA, + [283903] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12958), 1, + anon_sym_RPAREN, + [283910] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4209), 1, + anon_sym_DOT_DOT_DOT, + [283917] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8431), 1, + anon_sym_COLON, + [283924] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PLUS, + [283931] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4201), 1, + anon_sym_DOT_DOT_DOT, + [283938] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_STAR, + [283945] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12960), 1, + anon_sym_SLASH, + [283952] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12962), 1, + anon_sym_STAR, + [283959] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12964), 1, + anon_sym_STAR, + [283966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PERCENT, + [283973] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 1, + anon_sym_DOT_DOT_DOT, + [283980] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8276), 1, + anon_sym_RPAREN, + [283987] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PIPE_PIPE, + [283994] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12966), 1, + anon_sym_RPAREN, + [284001] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4216), 1, + anon_sym_DOT_DOT_DOT, + [284008] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12968), 1, + anon_sym_RPAREN, + [284015] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12970), 1, + anon_sym_RPAREN, + [284022] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12972), 1, + anon_sym_COLON, + [284029] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12974), 1, + anon_sym_LPAREN2, + [284036] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12976), 1, + anon_sym_RPAREN, + [284043] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12978), 1, + anon_sym_RPAREN, + [284050] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12980), 1, + aux_sym_preproc_if_token2, + [284057] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_AMP_AMP, + [284064] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4223), 1, + anon_sym_DOT_DOT_DOT, + [284071] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12982), 1, + aux_sym_preproc_include_token2, + [284078] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PIPE, + [284085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8346), 1, + anon_sym_SEMI, + [284092] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4239), 1, + anon_sym_DOT_DOT_DOT, + [284099] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(11933), 1, + aux_sym_preproc_include_token2, + [284106] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12984), 1, + anon_sym_SEMI, + [284113] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 1, + anon_sym_DOT_DOT_DOT, + [284120] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12986), 1, + anon_sym_SEMI, + [284127] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_AMP, + [284134] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12988), 1, + anon_sym_STAR, + [284141] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12990), 1, + anon_sym_LPAREN2, + [284148] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12992), 1, + anon_sym_RPAREN, + [284155] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12994), 1, + anon_sym_COLON, + [284162] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12996), 1, + anon_sym_RPAREN, + [284169] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8408), 1, + anon_sym_SEMI, + [284176] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_EQ_EQ, + [284183] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_BANG_EQ, + [284190] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8465), 1, + anon_sym_RPAREN, + [284197] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4329), 1, + anon_sym_DOT_DOT_DOT, + [284204] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_GT, + [284211] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_GT_EQ, + [284218] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8406), 1, + anon_sym_RPAREN, + [284225] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10540), 1, + anon_sym_SEMI, + [284232] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12998), 1, + anon_sym_SEMI, + [284239] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13000), 1, + anon_sym_SEMI, + [284246] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_LT_EQ, + [284253] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13002), 1, + anon_sym_COLON, + [284260] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10510), 1, + anon_sym_SEMI, + [284267] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12165), 1, + anon_sym_RBRACE, + [284274] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13004), 1, + anon_sym_SEMI, + [284281] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13006), 1, + anon_sym_RPAREN, + [284288] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_LT, + [284295] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13008), 1, + anon_sym_RPAREN, + [284302] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_LT_LT, + [284309] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13010), 1, + anon_sym_SEMI, + [284316] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13012), 1, + anon_sym_RPAREN, + [284323] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13014), 1, + aux_sym_preproc_if_token2, + [284330] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13016), 1, + anon_sym_SEMI, + [284337] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13018), 1, + anon_sym_SEMI, + [284344] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13020), 1, + anon_sym_RPAREN, + [284351] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10662), 1, + anon_sym_COLON, + [284358] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_GT_GT, + [284365] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13022), 1, + anon_sym_SEMI, + [284372] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13024), 1, + anon_sym_STAR, + [284379] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13026), 1, + anon_sym_LBRACE, + [284386] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12233), 1, + anon_sym_RBRACE, + [284393] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13028), 1, + anon_sym_STAR, + [284400] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_EQ, + [284407] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13030), 1, + aux_sym_preproc_include_token2, + [284414] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8453), 1, + anon_sym_SEMI, + [284421] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8386), 1, + anon_sym_SEMI, + [284428] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13032), 1, + anon_sym_SEMI, + [284435] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13034), 1, + anon_sym_DQUOTE, + [284442] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13036), 1, + aux_sym_preproc_if_token2, + [284449] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8635), 1, + anon_sym_RPAREN, + [284456] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13038), 1, + anon_sym_LPAREN2, + [284463] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_STAR_EQ, + [284470] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13040), 1, + anon_sym_LPAREN2, + [284477] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13042), 1, + anon_sym_LPAREN2, + [284484] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13044), 1, + anon_sym_LPAREN2, + [284491] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13046), 1, + anon_sym_RPAREN, + [284498] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13048), 1, + anon_sym_LPAREN2, + [284505] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_SLASH_EQ, + [284512] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13050), 1, + anon_sym_RPAREN, + [284519] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13052), 1, + anon_sym_RPAREN, + [284526] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13054), 1, + anon_sym_STAR, + [284533] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13056), 1, + anon_sym_while, + [284540] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8374), 1, + anon_sym_SEMI, + [284547] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13058), 1, + anon_sym_LPAREN2, + [284554] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13060), 1, + anon_sym_RPAREN, + [284561] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13062), 1, + anon_sym_LPAREN2, + [284568] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13064), 1, + anon_sym_DQUOTE, + [284575] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13066), 1, + anon_sym_LPAREN2, + [284582] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13068), 1, + anon_sym_EQ, + [284589] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13070), 1, + sym_raw_string_content, + [284596] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13072), 1, + anon_sym_SEMI, + [284603] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13074), 1, + anon_sym_SEMI, + [284610] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13076), 1, + anon_sym_SEMI, + [284617] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13078), 1, + anon_sym_RPAREN, + [284624] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13080), 1, + anon_sym_COMMA, + [284631] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13082), 1, + anon_sym_RPAREN, + [284638] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13084), 1, + anon_sym_SEMI, + [284645] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8467), 1, + anon_sym_COLON, + [284652] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13086), 1, + anon_sym_RPAREN, + [284659] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13088), 1, + anon_sym_DQUOTE, + [284666] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13090), 1, + anon_sym_RPAREN, + [284673] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13092), 1, + anon_sym_COLON, + [284680] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13094), 1, + anon_sym_SEMI, + [284687] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13096), 1, + anon_sym_SEMI, + [284694] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PERCENT_EQ, + [284701] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13098), 1, + anon_sym_LPAREN2, + [284708] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PLUS_EQ, + [284715] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13100), 1, + anon_sym_LPAREN2, + [284722] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13102), 1, + anon_sym_LPAREN2, + [284729] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13104), 1, + anon_sym_SEMI, + [284736] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13106), 1, + anon_sym_LPAREN2, + [284743] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13108), 1, + anon_sym_LPAREN2, + [284750] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13110), 1, + anon_sym_RPAREN, + [284757] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13112), 1, + anon_sym_SEMI, + [284764] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_DASH_EQ, + [284771] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13114), 1, + anon_sym_while, + [284778] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13116), 1, + anon_sym_COLON, + [284785] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13118), 1, + anon_sym_LPAREN2, + [284792] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10530), 1, + anon_sym_SEMI, + [284799] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9961), 1, + anon_sym_RPAREN, + [284806] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_LT_LT_EQ, + [284813] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13120), 1, + sym_raw_string_delimiter, + [284820] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13122), 1, + anon_sym_EQ, + [284827] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13124), 1, + sym_raw_string_content, + [284834] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_GT_GT_EQ, + [284841] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_AMP_EQ, + [284848] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13126), 1, + anon_sym_RPAREN, + [284855] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13128), 1, + anon_sym_COMMA, + [284862] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13130), 1, + anon_sym_SEMI, + [284869] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_CARET_EQ, + [284876] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8439), 1, + anon_sym_COLON, + [284883] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11103), 1, + anon_sym_SEMI, + [284890] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_PIPE_EQ, + [284897] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13132), 1, + anon_sym_RPAREN, + [284904] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13134), 1, + anon_sym_COLON, + [284911] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_or, + [284918] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13136), 1, + anon_sym_LPAREN2, + [284925] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13138), 1, + anon_sym_LPAREN2, + [284932] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13140), 1, + anon_sym_LPAREN2, + [284939] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13142), 1, + anon_sym_SEMI, + [284946] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13144), 1, + anon_sym_LPAREN2, + [284953] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_and, + [284960] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_bitor, + [284967] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13146), 1, + anon_sym_while, + [284974] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13148), 1, + anon_sym_LPAREN2, + [284981] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12147), 1, + anon_sym_RBRACE, + [284988] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_xor, + [284995] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13150), 1, + anon_sym_EQ, + [285002] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13152), 1, + sym_raw_string_content, + [285009] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13154), 1, + anon_sym_COMMA, + [285016] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8517), 1, + anon_sym_RPAREN, + [285023] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13156), 1, + anon_sym_DQUOTE, + [285030] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_bitand, + [285037] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13158), 1, + anon_sym_RPAREN, + [285044] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13160), 1, + anon_sym_COLON, + [285051] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_not_eq, + [285058] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13162), 1, + anon_sym_LPAREN2, + [285065] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13164), 1, + anon_sym_LPAREN2, + [285072] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13166), 1, + anon_sym_LPAREN2, + [285079] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13168), 1, + aux_sym_preproc_include_token2, + [285086] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13170), 1, + anon_sym_LPAREN2, + [285093] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13172), 1, + anon_sym_LPAREN2, + [285100] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8086), 1, + anon_sym_RBRACE, + [285107] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13174), 1, + anon_sym_LPAREN2, + [285114] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13176), 1, + anon_sym_RPAREN, + [285121] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_DOT_STAR, + [285128] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13178), 1, + anon_sym_EQ, + [285135] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13180), 1, + sym_raw_string_content, + [285142] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13182), 1, + anon_sym_COMMA, + [285149] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13184), 1, + anon_sym_SEMI, + [285156] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8368), 1, + anon_sym_COLON, + [285163] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13186), 1, + anon_sym_RPAREN, + [285170] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13188), 1, + anon_sym_RPAREN, + [285177] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13190), 1, + anon_sym_COLON, + [285184] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_DASH_GT_STAR, + [285191] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13192), 1, + anon_sym_LPAREN2, + [285198] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13194), 1, + sym_auto, + [285205] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13196), 1, + anon_sym_LPAREN2, + [285212] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13198), 1, + anon_sym_RPAREN, + [285219] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13200), 1, + anon_sym_RPAREN, + [285226] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13202), 1, + anon_sym_SEMI, + [285233] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4514), 1, + anon_sym_SEMI, + [285240] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13204), 1, + anon_sym_EQ, + [285247] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13206), 1, + sym_raw_string_content, + [285254] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13208), 1, + anon_sym_SEMI, + [285261] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13210), 1, + anon_sym_RPAREN, + [285268] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13212), 1, + anon_sym_SEMI, + [285275] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13214), 1, + anon_sym_RPAREN, + [285282] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13216), 1, + anon_sym_SEMI, + [285289] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13218), 1, + anon_sym_LPAREN2, + [285296] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13220), 1, + anon_sym_LPAREN2, + [285303] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13222), 1, + aux_sym_preproc_include_token2, + [285310] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13224), 1, + sym_raw_string_content, + [285317] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11289), 1, + anon_sym_SEMI, + [285324] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13226), 1, + anon_sym_COMMA, + [285331] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13228), 1, + anon_sym_RPAREN, + [285338] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13230), 1, + aux_sym_preproc_if_token2, + [285345] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13232), 1, + anon_sym_LPAREN2, + [285352] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13234), 1, + anon_sym_LPAREN2, + [285359] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13236), 1, + aux_sym_preproc_if_token2, + [285366] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13238), 1, + sym_raw_string_content, + [285373] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10002), 1, + anon_sym_RBRACE, + [285380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13240), 1, + anon_sym_RPAREN, + [285387] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13242), 1, + anon_sym_LPAREN2, + [285394] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13244), 1, + anon_sym_LPAREN2, + [285401] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13246), 1, + sym_raw_string_content, + [285408] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13248), 1, + anon_sym_RPAREN, + [285415] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13250), 1, + sym_raw_string_content, + [285422] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13252), 1, + anon_sym_RPAREN, + [285429] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13254), 1, + sym_raw_string_content, + [285436] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13256), 1, + anon_sym_RPAREN, + [285443] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13258), 1, + sym_raw_string_content, + [285450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13260), 1, + anon_sym_RPAREN, + [285457] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13262), 1, + sym_raw_string_content, + [285464] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13264), 1, + anon_sym_RPAREN, + [285471] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13266), 1, + sym_raw_string_content, + [285478] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13268), 1, + anon_sym_RPAREN, + [285485] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13270), 1, + sym_raw_string_content, + [285492] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13272), 1, + anon_sym_RPAREN, + [285499] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13274), 1, + sym_raw_string_content, + [285506] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13276), 1, + anon_sym_RPAREN, + [285513] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13278), 1, + anon_sym_SEMI, + [285520] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13280), 1, + anon_sym_SEMI, + [285527] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13282), 1, + anon_sym_LPAREN2, + [285534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13284), 1, + anon_sym_LPAREN2, + [285541] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13286), 1, + anon_sym_RPAREN, + [285548] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8404), 1, + anon_sym_COLON, + [285555] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13288), 1, + anon_sym_RPAREN, + [285562] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13290), 1, + anon_sym_SEMI, + [285569] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13292), 1, + anon_sym_LPAREN2, + [285576] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13294), 1, + anon_sym_SEMI, + [285583] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8370), 1, + anon_sym_SEMI, + [285590] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13296), 1, + anon_sym_COLON, + [285597] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13298), 1, + aux_sym_preproc_if_token2, + [285604] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13300), 1, + anon_sym_SEMI, + [285611] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13302), 1, + sym_raw_string_content, + [285618] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13304), 1, + anon_sym_SEMI, + [285625] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13306), 1, + anon_sym_SEMI, + [285632] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13308), 1, + anon_sym_SEMI, + [285639] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13310), 1, + anon_sym_SEMI, + [285646] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13312), 1, + anon_sym_LPAREN2, + [285653] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13314), 1, + anon_sym_LPAREN2, + [285660] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9990), 1, + anon_sym_RBRACE, + [285667] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12061), 1, + anon_sym_COMMA, + [285674] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13316), 1, + anon_sym_RPAREN, + [285681] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13318), 1, + anon_sym_SEMI, + [285688] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13320), 1, + anon_sym_STAR, + [285695] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13322), 1, + sym_raw_string_content, + [285702] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13324), 1, + anon_sym_SEMI, + [285709] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13326), 1, + anon_sym_SEMI, + [285716] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13328), 1, + anon_sym_LPAREN2, + [285723] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13330), 1, + anon_sym_LPAREN2, + [285730] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13332), 1, + anon_sym_LPAREN2, + [285737] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13334), 1, + anon_sym_DQUOTE, + [285744] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13336), 1, + anon_sym_RPAREN, + [285751] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13338), 1, + anon_sym_RPAREN, + [285758] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13340), 1, + anon_sym_RPAREN, + [285765] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(12018), 1, + aux_sym_preproc_include_token2, + [285772] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13342), 1, + sym_raw_string_content, + [285779] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13344), 1, + aux_sym_preproc_include_token2, + [285786] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13346), 1, + anon_sym_SEMI, + [285793] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13348), 1, + anon_sym_STAR, + [285800] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13350), 1, + anon_sym_LPAREN2, + [285807] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13352), 1, + anon_sym_RPAREN, + [285814] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13354), 1, + aux_sym_preproc_include_token2, + [285821] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13356), 1, + aux_sym_preproc_if_token2, + [285828] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13358), 1, + anon_sym_SEMI, + [285835] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13360), 1, + sym_raw_string_content, + [285842] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10819), 1, + anon_sym_SEMI, + [285849] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13362), 1, + anon_sym_DQUOTE, + [285856] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13364), 1, + anon_sym_LPAREN2, + [285863] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13366), 1, + aux_sym_preproc_if_token2, + [285870] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13368), 1, + aux_sym_preproc_if_token2, + [285877] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(12924), 1, + anon_sym_CARET, + [285884] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(10514), 1, + anon_sym_SEMI, + [285891] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13370), 1, + sym_raw_string_content, + [285898] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13372), 1, + anon_sym_RPAREN, + [285905] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13374), 1, + anon_sym_SEMI, + [285912] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13376), 1, + anon_sym_LPAREN2, + [285919] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6628), 1, + anon_sym_RPAREN, + [285926] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13378), 1, + anon_sym_RPAREN, + [285933] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13380), 1, + anon_sym_RPAREN, + [285940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13382), 1, + sym_raw_string_content, + [285947] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13384), 1, + anon_sym_RPAREN, + [285954] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13386), 1, + anon_sym_RPAREN, + [285961] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13388), 1, + anon_sym_RPAREN, + [285968] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13390), 1, + sym_raw_string_content, + [285975] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13392), 1, + anon_sym_RPAREN, + [285982] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13394), 1, + anon_sym_LPAREN2, + [285989] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13396), 1, + sym_raw_string_content, + [285996] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13398), 1, + anon_sym_RPAREN, + [286003] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13400), 1, + sym_raw_string_content, + [286010] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13402), 1, + anon_sym_RPAREN, + [286017] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13404), 1, + sym_raw_string_content, + [286024] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13406), 1, + anon_sym_RPAREN, + [286031] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13408), 1, + sym_raw_string_content, + [286038] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13410), 1, + anon_sym_SEMI, + [286045] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13412), 1, + sym_raw_string_content, + [286052] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8402), 1, + anon_sym_SEMI, + [286059] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13414), 1, + sym_raw_string_content, + [286066] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13416), 1, + anon_sym_SEMI, + [286073] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13418), 1, + sym_raw_string_content, + [286080] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13420), 1, + anon_sym_SEMI, + [286087] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13422), 1, + sym_raw_string_content, + [286094] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13424), 1, + anon_sym_SEMI, + [286101] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13426), 1, + sym_raw_string_content, + [286108] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13428), 1, + anon_sym_LPAREN2, + [286115] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13430), 1, + anon_sym_LPAREN2, + [286122] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13432), 1, + anon_sym_RPAREN, + [286129] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13434), 1, + anon_sym_LPAREN2, + [286136] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13436), 1, + anon_sym_LPAREN2, + [286143] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13438), 1, + anon_sym_SEMI, + [286150] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13440), 1, + anon_sym_LPAREN2, + [286157] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13442), 1, + anon_sym_LPAREN2, + [286164] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13444), 1, + anon_sym_SEMI, + [286171] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13446), 1, + anon_sym_LPAREN2, + [286178] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13448), 1, + anon_sym_LPAREN2, + [286185] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13450), 1, + anon_sym_RPAREN, + [286192] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13452), 1, + anon_sym_LPAREN2, + [286199] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13454), 1, + anon_sym_LPAREN2, + [286206] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13456), 1, + anon_sym_RPAREN, + [286213] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13458), 1, + anon_sym_LPAREN2, + [286220] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13460), 1, + anon_sym_LPAREN2, + [286227] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13462), 1, + anon_sym_LPAREN2, + [286234] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13464), 1, + anon_sym_LPAREN2, + [286241] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13466), 1, + anon_sym_LPAREN2, + [286248] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13468), 1, + anon_sym_LPAREN2, + [286255] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13470), 1, + anon_sym_LPAREN2, + [286262] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13472), 1, + anon_sym_LPAREN2, + [286269] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13474), 1, + anon_sym_LPAREN2, + [286276] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13476), 1, + anon_sym_LPAREN2, + [286283] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13478), 1, + anon_sym_LPAREN2, + [286290] = 2, + ACTIONS(9439), 1, + sym_comment, + ACTIONS(13480), 1, + aux_sym_preproc_include_token2, + [286297] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13482), 1, + anon_sym_SEMI, + [286304] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13484), 1, + sym_auto, + [286311] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13486), 1, + anon_sym_SEMI, + [286318] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13488), 1, + anon_sym_STAR, + [286325] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13490), 1, + anon_sym_LPAREN2, + [286332] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13492), 1, + anon_sym_LPAREN2, + [286339] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13494), 1, + anon_sym_LPAREN2, + [286346] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13496), 1, + anon_sym_LPAREN2, + [286353] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13498), 1, + anon_sym_LPAREN2, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(2333)] = 0, + [SMALL_STATE(2334)] = 83, + [SMALL_STATE(2335)] = 154, + [SMALL_STATE(2336)] = 225, + [SMALL_STATE(2337)] = 300, + [SMALL_STATE(2338)] = 371, + [SMALL_STATE(2339)] = 442, + [SMALL_STATE(2340)] = 517, + [SMALL_STATE(2341)] = 600, + [SMALL_STATE(2342)] = 671, + [SMALL_STATE(2343)] = 742, + [SMALL_STATE(2344)] = 817, + [SMALL_STATE(2345)] = 888, + [SMALL_STATE(2346)] = 959, + [SMALL_STATE(2347)] = 1030, + [SMALL_STATE(2348)] = 1105, + [SMALL_STATE(2349)] = 1176, + [SMALL_STATE(2350)] = 1247, + [SMALL_STATE(2351)] = 1318, + [SMALL_STATE(2352)] = 1393, + [SMALL_STATE(2353)] = 1464, + [SMALL_STATE(2354)] = 1535, + [SMALL_STATE(2355)] = 1608, + [SMALL_STATE(2356)] = 1691, + [SMALL_STATE(2357)] = 1762, + [SMALL_STATE(2358)] = 1833, + [SMALL_STATE(2359)] = 1908, + [SMALL_STATE(2360)] = 1979, + [SMALL_STATE(2361)] = 2050, + [SMALL_STATE(2362)] = 2121, + [SMALL_STATE(2363)] = 2200, + [SMALL_STATE(2364)] = 2271, + [SMALL_STATE(2365)] = 2342, + [SMALL_STATE(2366)] = 2413, + [SMALL_STATE(2367)] = 2484, + [SMALL_STATE(2368)] = 2563, + [SMALL_STATE(2369)] = 2634, + [SMALL_STATE(2370)] = 2709, + [SMALL_STATE(2371)] = 2780, + [SMALL_STATE(2372)] = 2851, + [SMALL_STATE(2373)] = 2930, + [SMALL_STATE(2374)] = 3001, + [SMALL_STATE(2375)] = 3072, + [SMALL_STATE(2376)] = 3155, + [SMALL_STATE(2377)] = 3230, + [SMALL_STATE(2378)] = 3301, + [SMALL_STATE(2379)] = 3376, + [SMALL_STATE(2380)] = 3451, + [SMALL_STATE(2381)] = 3522, + [SMALL_STATE(2382)] = 3593, + [SMALL_STATE(2383)] = 3679, + [SMALL_STATE(2384)] = 3749, + [SMALL_STATE(2385)] = 3819, + [SMALL_STATE(2386)] = 3889, + [SMALL_STATE(2387)] = 3959, + [SMALL_STATE(2388)] = 4029, + [SMALL_STATE(2389)] = 4099, + [SMALL_STATE(2390)] = 4169, + [SMALL_STATE(2391)] = 4243, + [SMALL_STATE(2392)] = 4313, + [SMALL_STATE(2393)] = 4383, + [SMALL_STATE(2394)] = 4453, + [SMALL_STATE(2395)] = 4527, + [SMALL_STATE(2396)] = 4597, + [SMALL_STATE(2397)] = 4667, + [SMALL_STATE(2398)] = 4737, + [SMALL_STATE(2399)] = 4823, + [SMALL_STATE(2400)] = 4917, + [SMALL_STATE(2401)] = 4991, + [SMALL_STATE(2402)] = 5061, + [SMALL_STATE(2403)] = 5131, + [SMALL_STATE(2404)] = 5201, + [SMALL_STATE(2405)] = 5275, + [SMALL_STATE(2406)] = 5345, + [SMALL_STATE(2407)] = 5415, + [SMALL_STATE(2408)] = 5485, + [SMALL_STATE(2409)] = 5555, + [SMALL_STATE(2410)] = 5625, + [SMALL_STATE(2411)] = 5695, + [SMALL_STATE(2412)] = 5765, + [SMALL_STATE(2413)] = 5839, + [SMALL_STATE(2414)] = 5913, + [SMALL_STATE(2415)] = 5987, + [SMALL_STATE(2416)] = 6057, + [SMALL_STATE(2417)] = 6127, + [SMALL_STATE(2418)] = 6197, + [SMALL_STATE(2419)] = 6267, + [SMALL_STATE(2420)] = 6337, + [SMALL_STATE(2421)] = 6411, + [SMALL_STATE(2422)] = 6481, + [SMALL_STATE(2423)] = 6555, + [SMALL_STATE(2424)] = 6625, + [SMALL_STATE(2425)] = 6695, + [SMALL_STATE(2426)] = 6765, + [SMALL_STATE(2427)] = 6835, + [SMALL_STATE(2428)] = 6905, + [SMALL_STATE(2429)] = 6975, + [SMALL_STATE(2430)] = 7045, + [SMALL_STATE(2431)] = 7115, + [SMALL_STATE(2432)] = 7185, + [SMALL_STATE(2433)] = 7255, + [SMALL_STATE(2434)] = 7333, + [SMALL_STATE(2435)] = 7403, + [SMALL_STATE(2436)] = 7473, + [SMALL_STATE(2437)] = 7547, + [SMALL_STATE(2438)] = 7617, + [SMALL_STATE(2439)] = 7687, + [SMALL_STATE(2440)] = 7757, + [SMALL_STATE(2441)] = 7827, + [SMALL_STATE(2442)] = 7901, + [SMALL_STATE(2443)] = 7975, + [SMALL_STATE(2444)] = 8049, + [SMALL_STATE(2445)] = 8123, + [SMALL_STATE(2446)] = 8193, + [SMALL_STATE(2447)] = 8263, + [SMALL_STATE(2448)] = 8333, + [SMALL_STATE(2449)] = 8403, + [SMALL_STATE(2450)] = 8477, + [SMALL_STATE(2451)] = 8551, + [SMALL_STATE(2452)] = 8621, + [SMALL_STATE(2453)] = 8695, + [SMALL_STATE(2454)] = 8765, + [SMALL_STATE(2455)] = 8835, + [SMALL_STATE(2456)] = 8905, + [SMALL_STATE(2457)] = 8975, + [SMALL_STATE(2458)] = 9045, + [SMALL_STATE(2459)] = 9119, + [SMALL_STATE(2460)] = 9189, + [SMALL_STATE(2461)] = 9259, + [SMALL_STATE(2462)] = 9329, + [SMALL_STATE(2463)] = 9399, + [SMALL_STATE(2464)] = 9469, + [SMALL_STATE(2465)] = 9539, + [SMALL_STATE(2466)] = 9613, + [SMALL_STATE(2467)] = 9683, + [SMALL_STATE(2468)] = 9753, + [SMALL_STATE(2469)] = 9823, + [SMALL_STATE(2470)] = 9893, + [SMALL_STATE(2471)] = 9963, + [SMALL_STATE(2472)] = 10033, + [SMALL_STATE(2473)] = 10103, + [SMALL_STATE(2474)] = 10173, + [SMALL_STATE(2475)] = 10243, + [SMALL_STATE(2476)] = 10313, + [SMALL_STATE(2477)] = 10383, + [SMALL_STATE(2478)] = 10453, + [SMALL_STATE(2479)] = 10531, + [SMALL_STATE(2480)] = 10601, + [SMALL_STATE(2481)] = 10671, + [SMALL_STATE(2482)] = 10741, + [SMALL_STATE(2483)] = 10811, + [SMALL_STATE(2484)] = 10885, + [SMALL_STATE(2485)] = 10955, + [SMALL_STATE(2486)] = 11025, + [SMALL_STATE(2487)] = 11095, + [SMALL_STATE(2488)] = 11165, + [SMALL_STATE(2489)] = 11259, + [SMALL_STATE(2490)] = 11329, + [SMALL_STATE(2491)] = 11399, + [SMALL_STATE(2492)] = 11480, + [SMALL_STATE(2493)] = 11561, + [SMALL_STATE(2494)] = 11630, + [SMALL_STATE(2495)] = 11701, + [SMALL_STATE(2496)] = 11776, + [SMALL_STATE(2497)] = 11855, + [SMALL_STATE(2498)] = 11936, + [SMALL_STATE(2499)] = 12017, + [SMALL_STATE(2500)] = 12096, + [SMALL_STATE(2501)] = 12165, + [SMALL_STATE(2502)] = 12234, + [SMALL_STATE(2503)] = 12303, + [SMALL_STATE(2504)] = 12372, + [SMALL_STATE(2505)] = 12457, + [SMALL_STATE(2506)] = 12538, + [SMALL_STATE(2507)] = 12607, + [SMALL_STATE(2508)] = 12676, + [SMALL_STATE(2509)] = 12745, + [SMALL_STATE(2510)] = 12826, + [SMALL_STATE(2511)] = 12907, + [SMALL_STATE(2512)] = 12976, + [SMALL_STATE(2513)] = 13045, + [SMALL_STATE(2514)] = 13130, + [SMALL_STATE(2515)] = 13203, + [SMALL_STATE(2516)] = 13280, + [SMALL_STATE(2517)] = 13352, + [SMALL_STATE(2518)] = 13420, + [SMALL_STATE(2519)] = 13494, + [SMALL_STATE(2520)] = 13562, + [SMALL_STATE(2521)] = 13630, + [SMALL_STATE(2522)] = 13698, + [SMALL_STATE(2523)] = 13766, + [SMALL_STATE(2524)] = 13834, + [SMALL_STATE(2525)] = 13902, + [SMALL_STATE(2526)] = 13970, + [SMALL_STATE(2527)] = 14038, + [SMALL_STATE(2528)] = 14106, + [SMALL_STATE(2529)] = 14226, + [SMALL_STATE(2530)] = 14294, + [SMALL_STATE(2531)] = 14362, + [SMALL_STATE(2532)] = 14430, + [SMALL_STATE(2533)] = 14498, + [SMALL_STATE(2534)] = 14566, + [SMALL_STATE(2535)] = 14634, + [SMALL_STATE(2536)] = 14702, + [SMALL_STATE(2537)] = 14770, + [SMALL_STATE(2538)] = 14848, + [SMALL_STATE(2539)] = 14916, + [SMALL_STATE(2540)] = 15002, + [SMALL_STATE(2541)] = 15070, + [SMALL_STATE(2542)] = 15156, + [SMALL_STATE(2543)] = 15224, + [SMALL_STATE(2544)] = 15292, + [SMALL_STATE(2545)] = 15360, + [SMALL_STATE(2546)] = 15428, + [SMALL_STATE(2547)] = 15496, + [SMALL_STATE(2548)] = 15564, + [SMALL_STATE(2549)] = 15644, + [SMALL_STATE(2550)] = 15712, + [SMALL_STATE(2551)] = 15784, + [SMALL_STATE(2552)] = 15856, + [SMALL_STATE(2553)] = 15924, + [SMALL_STATE(2554)] = 15992, + [SMALL_STATE(2555)] = 16060, + [SMALL_STATE(2556)] = 16128, + [SMALL_STATE(2557)] = 16196, + [SMALL_STATE(2558)] = 16270, + [SMALL_STATE(2559)] = 16338, + [SMALL_STATE(2560)] = 16410, + [SMALL_STATE(2561)] = 16482, + [SMALL_STATE(2562)] = 16550, + [SMALL_STATE(2563)] = 16670, + [SMALL_STATE(2564)] = 16738, + [SMALL_STATE(2565)] = 16806, + [SMALL_STATE(2566)] = 16880, + [SMALL_STATE(2567)] = 16952, + [SMALL_STATE(2568)] = 17020, + [SMALL_STATE(2569)] = 17088, + [SMALL_STATE(2570)] = 17156, + [SMALL_STATE(2571)] = 17224, + [SMALL_STATE(2572)] = 17300, + [SMALL_STATE(2573)] = 17368, + [SMALL_STATE(2574)] = 17436, + [SMALL_STATE(2575)] = 17508, + [SMALL_STATE(2576)] = 17576, + [SMALL_STATE(2577)] = 17644, + [SMALL_STATE(2578)] = 17716, + [SMALL_STATE(2579)] = 17802, + [SMALL_STATE(2580)] = 17871, + [SMALL_STATE(2581)] = 17946, + [SMALL_STATE(2582)] = 18015, + [SMALL_STATE(2583)] = 18094, + [SMALL_STATE(2584)] = 18165, + [SMALL_STATE(2585)] = 18232, + [SMALL_STATE(2586)] = 18299, + [SMALL_STATE(2587)] = 18370, + [SMALL_STATE(2588)] = 18443, + [SMALL_STATE(2589)] = 18522, + [SMALL_STATE(2590)] = 18589, + [SMALL_STATE(2591)] = 18664, + [SMALL_STATE(2592)] = 18735, + [SMALL_STATE(2593)] = 18810, + [SMALL_STATE(2594)] = 18877, + [SMALL_STATE(2595)] = 18952, + [SMALL_STATE(2596)] = 19023, + [SMALL_STATE(2597)] = 19094, + [SMALL_STATE(2598)] = 19161, + [SMALL_STATE(2599)] = 19228, + [SMALL_STATE(2600)] = 19297, + [SMALL_STATE(2601)] = 19364, + [SMALL_STATE(2602)] = 19433, + [SMALL_STATE(2603)] = 19504, + [SMALL_STATE(2604)] = 19575, + [SMALL_STATE(2605)] = 19642, + [SMALL_STATE(2606)] = 19713, + [SMALL_STATE(2607)] = 19788, + [SMALL_STATE(2608)] = 19859, + [SMALL_STATE(2609)] = 19930, + [SMALL_STATE(2610)] = 20003, + [SMALL_STATE(2611)] = 20086, + [SMALL_STATE(2612)] = 20153, + [SMALL_STATE(2613)] = 20224, + [SMALL_STATE(2614)] = 20295, + [SMALL_STATE(2615)] = 20368, + [SMALL_STATE(2616)] = 20443, + [SMALL_STATE(2617)] = 20514, + [SMALL_STATE(2618)] = 20585, + [SMALL_STATE(2619)] = 20660, + [SMALL_STATE(2620)] = 20727, + [SMALL_STATE(2621)] = 20794, + [SMALL_STATE(2622)] = 20865, + [SMALL_STATE(2623)] = 20938, + [SMALL_STATE(2624)] = 21009, + [SMALL_STATE(2625)] = 21078, + [SMALL_STATE(2626)] = 21147, + [SMALL_STATE(2627)] = 21217, + [SMALL_STATE(2628)] = 21295, + [SMALL_STATE(2629)] = 21363, + [SMALL_STATE(2630)] = 21433, + [SMALL_STATE(2631)] = 21515, + [SMALL_STATE(2632)] = 21581, + [SMALL_STATE(2633)] = 21647, + [SMALL_STATE(2634)] = 21765, + [SMALL_STATE(2635)] = 21831, + [SMALL_STATE(2636)] = 21897, + [SMALL_STATE(2637)] = 21963, + [SMALL_STATE(2638)] = 22039, + [SMALL_STATE(2639)] = 22105, + [SMALL_STATE(2640)] = 22171, + [SMALL_STATE(2641)] = 22237, + [SMALL_STATE(2642)] = 22303, + [SMALL_STATE(2643)] = 22371, + [SMALL_STATE(2644)] = 22437, + [SMALL_STATE(2645)] = 22505, + [SMALL_STATE(2646)] = 22571, + [SMALL_STATE(2647)] = 22653, + [SMALL_STATE(2648)] = 22719, + [SMALL_STATE(2649)] = 22785, + [SMALL_STATE(2650)] = 22851, + [SMALL_STATE(2651)] = 22931, + [SMALL_STATE(2652)] = 22997, + [SMALL_STATE(2653)] = 23067, + [SMALL_STATE(2654)] = 23133, + [SMALL_STATE(2655)] = 23203, + [SMALL_STATE(2656)] = 23283, + [SMALL_STATE(2657)] = 23353, + [SMALL_STATE(2658)] = 23423, + [SMALL_STATE(2659)] = 23493, + [SMALL_STATE(2660)] = 23575, + [SMALL_STATE(2661)] = 23643, + [SMALL_STATE(2662)] = 23709, + [SMALL_STATE(2663)] = 23779, + [SMALL_STATE(2664)] = 23857, + [SMALL_STATE(2665)] = 23927, + [SMALL_STATE(2666)] = 23997, + [SMALL_STATE(2667)] = 24077, + [SMALL_STATE(2668)] = 24195, + [SMALL_STATE(2669)] = 24305, + [SMALL_STATE(2670)] = 24415, + [SMALL_STATE(2671)] = 24493, + [SMALL_STATE(2672)] = 24573, + [SMALL_STATE(2673)] = 24653, + [SMALL_STATE(2674)] = 24735, + [SMALL_STATE(2675)] = 24841, + [SMALL_STATE(2676)] = 24911, + [SMALL_STATE(2677)] = 25013, + [SMALL_STATE(2678)] = 25113, + [SMALL_STATE(2679)] = 25211, + [SMALL_STATE(2680)] = 25307, + [SMALL_STATE(2681)] = 25399, + [SMALL_STATE(2682)] = 25487, + [SMALL_STATE(2683)] = 25571, + [SMALL_STATE(2684)] = 25657, + [SMALL_STATE(2685)] = 25771, + [SMALL_STATE(2686)] = 25849, + [SMALL_STATE(2687)] = 25931, + [SMALL_STATE(2688)] = 26001, + [SMALL_STATE(2689)] = 26119, + [SMALL_STATE(2690)] = 26237, + [SMALL_STATE(2691)] = 26347, + [SMALL_STATE(2692)] = 26461, + [SMALL_STATE(2693)] = 26571, + [SMALL_STATE(2694)] = 26685, + [SMALL_STATE(2695)] = 26755, + [SMALL_STATE(2696)] = 26821, + [SMALL_STATE(2697)] = 26891, + [SMALL_STATE(2698)] = 26957, + [SMALL_STATE(2699)] = 27034, + [SMALL_STATE(2700)] = 27111, + [SMALL_STATE(2701)] = 27176, + [SMALL_STATE(2702)] = 27267, + [SMALL_STATE(2703)] = 27332, + [SMALL_STATE(2704)] = 27397, + [SMALL_STATE(2705)] = 27462, + [SMALL_STATE(2706)] = 27527, + [SMALL_STATE(2707)] = 27608, + [SMALL_STATE(2708)] = 27673, + [SMALL_STATE(2709)] = 27754, + [SMALL_STATE(2710)] = 27825, + [SMALL_STATE(2711)] = 27890, + [SMALL_STATE(2712)] = 27957, + [SMALL_STATE(2713)] = 28022, + [SMALL_STATE(2714)] = 28087, + [SMALL_STATE(2715)] = 28152, + [SMALL_STATE(2716)] = 28217, + [SMALL_STATE(2717)] = 28298, + [SMALL_STATE(2718)] = 28363, + [SMALL_STATE(2719)] = 28434, + [SMALL_STATE(2720)] = 28499, + [SMALL_STATE(2721)] = 28564, + [SMALL_STATE(2722)] = 28629, + [SMALL_STATE(2723)] = 28694, + [SMALL_STATE(2724)] = 28763, + [SMALL_STATE(2725)] = 28832, + [SMALL_STATE(2726)] = 28913, + [SMALL_STATE(2727)] = 28986, + [SMALL_STATE(2728)] = 29053, + [SMALL_STATE(2729)] = 29120, + [SMALL_STATE(2730)] = 29185, + [SMALL_STATE(2731)] = 29276, + [SMALL_STATE(2732)] = 29345, + [SMALL_STATE(2733)] = 29410, + [SMALL_STATE(2734)] = 29479, + [SMALL_STATE(2735)] = 29548, + [SMALL_STATE(2736)] = 29613, + [SMALL_STATE(2737)] = 29730, + [SMALL_STATE(2738)] = 29795, + [SMALL_STATE(2739)] = 29860, + [SMALL_STATE(2740)] = 29925, + [SMALL_STATE(2741)] = 29994, + [SMALL_STATE(2742)] = 30085, + [SMALL_STATE(2743)] = 30154, + [SMALL_STATE(2744)] = 30219, + [SMALL_STATE(2745)] = 30284, + [SMALL_STATE(2746)] = 30401, + [SMALL_STATE(2747)] = 30468, + [SMALL_STATE(2748)] = 30559, + [SMALL_STATE(2749)] = 30630, + [SMALL_STATE(2750)] = 30721, + [SMALL_STATE(2751)] = 30786, + [SMALL_STATE(2752)] = 30877, + [SMALL_STATE(2753)] = 30944, + [SMALL_STATE(2754)] = 31009, + [SMALL_STATE(2755)] = 31074, + [SMALL_STATE(2756)] = 31139, + [SMALL_STATE(2757)] = 31204, + [SMALL_STATE(2758)] = 31269, + [SMALL_STATE(2759)] = 31334, + [SMALL_STATE(2760)] = 31399, + [SMALL_STATE(2761)] = 31466, + [SMALL_STATE(2762)] = 31531, + [SMALL_STATE(2763)] = 31596, + [SMALL_STATE(2764)] = 31687, + [SMALL_STATE(2765)] = 31760, + [SMALL_STATE(2766)] = 31825, + [SMALL_STATE(2767)] = 31889, + [SMALL_STATE(2768)] = 31953, + [SMALL_STATE(2769)] = 32025, + [SMALL_STATE(2770)] = 32103, + [SMALL_STATE(2771)] = 32167, + [SMALL_STATE(2772)] = 32281, + [SMALL_STATE(2773)] = 32349, + [SMALL_STATE(2774)] = 32463, + [SMALL_STATE(2775)] = 32577, + [SMALL_STATE(2776)] = 32691, + [SMALL_STATE(2777)] = 32773, + [SMALL_STATE(2778)] = 32841, + [SMALL_STATE(2779)] = 32905, + [SMALL_STATE(2780)] = 32973, + [SMALL_STATE(2781)] = 33041, + [SMALL_STATE(2782)] = 33123, + [SMALL_STATE(2783)] = 33237, + [SMALL_STATE(2784)] = 33319, + [SMALL_STATE(2785)] = 33397, + [SMALL_STATE(2786)] = 33473, + [SMALL_STATE(2787)] = 33545, + [SMALL_STATE(2788)] = 33621, + [SMALL_STATE(2789)] = 33685, + [SMALL_STATE(2790)] = 33753, + [SMALL_STATE(2791)] = 33831, + [SMALL_STATE(2792)] = 33899, + [SMALL_STATE(2793)] = 34013, + [SMALL_STATE(2794)] = 34127, + [SMALL_STATE(2795)] = 34203, + [SMALL_STATE(2796)] = 34267, + [SMALL_STATE(2797)] = 34339, + [SMALL_STATE(2798)] = 34407, + [SMALL_STATE(2799)] = 34471, + [SMALL_STATE(2800)] = 34539, + [SMALL_STATE(2801)] = 34615, + [SMALL_STATE(2802)] = 34679, + [SMALL_STATE(2803)] = 34743, + [SMALL_STATE(2804)] = 34825, + [SMALL_STATE(2805)] = 34893, + [SMALL_STATE(2806)] = 34957, + [SMALL_STATE(2807)] = 35031, + [SMALL_STATE(2808)] = 35095, + [SMALL_STATE(2809)] = 35163, + [SMALL_STATE(2810)] = 35227, + [SMALL_STATE(2811)] = 35303, + [SMALL_STATE(2812)] = 35367, + [SMALL_STATE(2813)] = 35443, + [SMALL_STATE(2814)] = 35507, + [SMALL_STATE(2815)] = 35571, + [SMALL_STATE(2816)] = 35635, + [SMALL_STATE(2817)] = 35699, + [SMALL_STATE(2818)] = 35763, + [SMALL_STATE(2819)] = 35827, + [SMALL_STATE(2820)] = 35941, + [SMALL_STATE(2821)] = 36005, + [SMALL_STATE(2822)] = 36069, + [SMALL_STATE(2823)] = 36133, + [SMALL_STATE(2824)] = 36197, + [SMALL_STATE(2825)] = 36273, + [SMALL_STATE(2826)] = 36387, + [SMALL_STATE(2827)] = 36451, + [SMALL_STATE(2828)] = 36515, + [SMALL_STATE(2829)] = 36587, + [SMALL_STATE(2830)] = 36651, + [SMALL_STATE(2831)] = 36765, + [SMALL_STATE(2832)] = 36847, + [SMALL_STATE(2833)] = 36915, + [SMALL_STATE(2834)] = 36979, + [SMALL_STATE(2835)] = 37047, + [SMALL_STATE(2836)] = 37161, + [SMALL_STATE(2837)] = 37229, + [SMALL_STATE(2838)] = 37293, + [SMALL_STATE(2839)] = 37407, + [SMALL_STATE(2840)] = 37471, + [SMALL_STATE(2841)] = 37535, + [SMALL_STATE(2842)] = 37599, + [SMALL_STATE(2843)] = 37713, + [SMALL_STATE(2844)] = 37785, + [SMALL_STATE(2845)] = 37849, + [SMALL_STATE(2846)] = 37963, + [SMALL_STATE(2847)] = 38039, + [SMALL_STATE(2848)] = 38107, + [SMALL_STATE(2849)] = 38175, + [SMALL_STATE(2850)] = 38289, + [SMALL_STATE(2851)] = 38367, + [SMALL_STATE(2852)] = 38445, + [SMALL_STATE(2853)] = 38527, + [SMALL_STATE(2854)] = 38593, + [SMALL_STATE(2855)] = 38707, + [SMALL_STATE(2856)] = 38771, + [SMALL_STATE(2857)] = 38835, + [SMALL_STATE(2858)] = 38949, + [SMALL_STATE(2859)] = 39063, + [SMALL_STATE(2860)] = 39177, + [SMALL_STATE(2861)] = 39291, + [SMALL_STATE(2862)] = 39355, + [SMALL_STATE(2863)] = 39419, + [SMALL_STATE(2864)] = 39533, + [SMALL_STATE(2865)] = 39599, + [SMALL_STATE(2866)] = 39663, + [SMALL_STATE(2867)] = 39727, + [SMALL_STATE(2868)] = 39841, + [SMALL_STATE(2869)] = 39905, + [SMALL_STATE(2870)] = 39971, + [SMALL_STATE(2871)] = 40037, + [SMALL_STATE(2872)] = 40101, + [SMALL_STATE(2873)] = 40165, + [SMALL_STATE(2874)] = 40247, + [SMALL_STATE(2875)] = 40361, + [SMALL_STATE(2876)] = 40475, + [SMALL_STATE(2877)] = 40539, + [SMALL_STATE(2878)] = 40603, + [SMALL_STATE(2879)] = 40667, + [SMALL_STATE(2880)] = 40731, + [SMALL_STATE(2881)] = 40795, + [SMALL_STATE(2882)] = 40859, + [SMALL_STATE(2883)] = 40923, + [SMALL_STATE(2884)] = 40990, + [SMALL_STATE(2885)] = 41053, + [SMALL_STATE(2886)] = 41116, + [SMALL_STATE(2887)] = 41179, + [SMALL_STATE(2888)] = 41258, + [SMALL_STATE(2889)] = 41331, + [SMALL_STATE(2890)] = 41394, + [SMALL_STATE(2891)] = 41473, + [SMALL_STATE(2892)] = 41546, + [SMALL_STATE(2893)] = 41617, + [SMALL_STATE(2894)] = 41778, + [SMALL_STATE(2895)] = 41939, + [SMALL_STATE(2896)] = 42010, + [SMALL_STATE(2897)] = 42073, + [SMALL_STATE(2898)] = 42146, + [SMALL_STATE(2899)] = 42221, + [SMALL_STATE(2900)] = 42296, + [SMALL_STATE(2901)] = 42363, + [SMALL_STATE(2902)] = 42442, + [SMALL_STATE(2903)] = 42507, + [SMALL_STATE(2904)] = 42572, + [SMALL_STATE(2905)] = 42635, + [SMALL_STATE(2906)] = 42702, + [SMALL_STATE(2907)] = 42767, + [SMALL_STATE(2908)] = 42830, + [SMALL_STATE(2909)] = 42905, + [SMALL_STATE(2910)] = 42968, + [SMALL_STATE(2911)] = 43043, + [SMALL_STATE(2912)] = 43114, + [SMALL_STATE(2913)] = 43177, + [SMALL_STATE(2914)] = 43240, + [SMALL_STATE(2915)] = 43307, + [SMALL_STATE(2916)] = 43374, + [SMALL_STATE(2917)] = 43441, + [SMALL_STATE(2918)] = 43508, + [SMALL_STATE(2919)] = 43577, + [SMALL_STATE(2920)] = 43654, + [SMALL_STATE(2921)] = 43721, + [SMALL_STATE(2922)] = 43800, + [SMALL_STATE(2923)] = 43867, + [SMALL_STATE(2924)] = 43934, + [SMALL_STATE(2925)] = 44007, + [SMALL_STATE(2926)] = 44074, + [SMALL_STATE(2927)] = 44137, + [SMALL_STATE(2928)] = 44204, + [SMALL_STATE(2929)] = 44277, + [SMALL_STATE(2930)] = 44438, + [SMALL_STATE(2931)] = 44501, + [SMALL_STATE(2932)] = 44574, + [SMALL_STATE(2933)] = 44641, + [SMALL_STATE(2934)] = 44707, + [SMALL_STATE(2935)] = 44769, + [SMALL_STATE(2936)] = 44837, + [SMALL_STATE(2937)] = 44919, + [SMALL_STATE(2938)] = 44981, + [SMALL_STATE(2939)] = 45043, + [SMALL_STATE(2940)] = 45117, + [SMALL_STATE(2941)] = 45189, + [SMALL_STATE(2942)] = 45251, + [SMALL_STATE(2943)] = 45317, + [SMALL_STATE(2944)] = 45381, + [SMALL_STATE(2945)] = 45443, + [SMALL_STATE(2946)] = 45551, + [SMALL_STATE(2947)] = 45613, + [SMALL_STATE(2948)] = 45725, + [SMALL_STATE(2949)] = 45787, + [SMALL_STATE(2950)] = 45853, + [SMALL_STATE(2951)] = 45915, + [SMALL_STATE(2952)] = 45977, + [SMALL_STATE(2953)] = 46047, + [SMALL_STATE(2954)] = 46113, + [SMALL_STATE(2955)] = 46175, + [SMALL_STATE(2956)] = 46237, + [SMALL_STATE(2957)] = 46317, + [SMALL_STATE(2958)] = 46401, + [SMALL_STATE(2959)] = 46467, + [SMALL_STATE(2960)] = 46535, + [SMALL_STATE(2961)] = 46601, + [SMALL_STATE(2962)] = 46675, + [SMALL_STATE(2963)] = 46763, + [SMALL_STATE(2964)] = 46875, + [SMALL_STATE(2965)] = 46943, + [SMALL_STATE(2966)] = 47033, + [SMALL_STATE(2967)] = 47127, + [SMALL_STATE(2968)] = 47223, + [SMALL_STATE(2969)] = 47291, + [SMALL_STATE(2970)] = 47361, + [SMALL_STATE(2971)] = 47473, + [SMALL_STATE(2972)] = 47547, + [SMALL_STATE(2973)] = 47647, + [SMALL_STATE(2974)] = 47751, + [SMALL_STATE(2975)] = 47813, + [SMALL_STATE(2976)] = 47881, + [SMALL_STATE(2977)] = 47959, + [SMALL_STATE(2978)] = 48023, + [SMALL_STATE(2979)] = 48095, + [SMALL_STATE(2980)] = 48157, + [SMALL_STATE(2981)] = 48219, + [SMALL_STATE(2982)] = 48285, + [SMALL_STATE(2983)] = 48397, + [SMALL_STATE(2984)] = 48463, + [SMALL_STATE(2985)] = 48529, + [SMALL_STATE(2986)] = 48595, + [SMALL_STATE(2987)] = 48661, + [SMALL_STATE(2988)] = 48729, + [SMALL_STATE(2989)] = 48795, + [SMALL_STATE(2990)] = 48857, + [SMALL_STATE(2991)] = 48919, + [SMALL_STATE(2992)] = 48985, + [SMALL_STATE(2993)] = 49047, + [SMALL_STATE(2994)] = 49159, + [SMALL_STATE(2995)] = 49225, + [SMALL_STATE(2996)] = 49287, + [SMALL_STATE(2997)] = 49353, + [SMALL_STATE(2998)] = 49419, + [SMALL_STATE(2999)] = 49485, + [SMALL_STATE(3000)] = 49547, + [SMALL_STATE(3001)] = 49609, + [SMALL_STATE(3002)] = 49675, + [SMALL_STATE(3003)] = 49745, + [SMALL_STATE(3004)] = 49813, + [SMALL_STATE(3005)] = 49879, + [SMALL_STATE(3006)] = 49945, + [SMALL_STATE(3007)] = 50017, + [SMALL_STATE(3008)] = 50079, + [SMALL_STATE(3009)] = 50141, + [SMALL_STATE(3010)] = 50207, + [SMALL_STATE(3011)] = 50315, + [SMALL_STATE(3012)] = 50377, + [SMALL_STATE(3013)] = 50447, + [SMALL_STATE(3014)] = 50509, + [SMALL_STATE(3015)] = 50571, + [SMALL_STATE(3016)] = 50643, + [SMALL_STATE(3017)] = 50705, + [SMALL_STATE(3018)] = 50767, + [SMALL_STATE(3019)] = 50829, + [SMALL_STATE(3020)] = 50891, + [SMALL_STATE(3021)] = 50963, + [SMALL_STATE(3022)] = 51025, + [SMALL_STATE(3023)] = 51087, + [SMALL_STATE(3024)] = 51149, + [SMALL_STATE(3025)] = 51211, + [SMALL_STATE(3026)] = 51319, + [SMALL_STATE(3027)] = 51381, + [SMALL_STATE(3028)] = 51443, + [SMALL_STATE(3029)] = 51513, + [SMALL_STATE(3030)] = 51579, + [SMALL_STATE(3031)] = 51687, + [SMALL_STATE(3032)] = 51753, + [SMALL_STATE(3033)] = 51815, + [SMALL_STATE(3034)] = 51877, + [SMALL_STATE(3035)] = 51939, + [SMALL_STATE(3036)] = 52011, + [SMALL_STATE(3037)] = 52073, + [SMALL_STATE(3038)] = 52135, + [SMALL_STATE(3039)] = 52201, + [SMALL_STATE(3040)] = 52263, + [SMALL_STATE(3041)] = 52374, + [SMALL_STATE(3042)] = 52437, + [SMALL_STATE(3043)] = 52548, + [SMALL_STATE(3044)] = 52613, + [SMALL_STATE(3045)] = 52720, + [SMALL_STATE(3046)] = 52781, + [SMALL_STATE(3047)] = 52846, + [SMALL_STATE(3048)] = 52957, + [SMALL_STATE(3049)] = 53064, + [SMALL_STATE(3050)] = 53175, + [SMALL_STATE(3051)] = 53282, + [SMALL_STATE(3052)] = 53393, + [SMALL_STATE(3053)] = 53474, + [SMALL_STATE(3054)] = 53553, + [SMALL_STATE(3055)] = 53636, + [SMALL_STATE(3056)] = 53723, + [SMALL_STATE(3057)] = 53812, + [SMALL_STATE(3058)] = 53905, + [SMALL_STATE(3059)] = 54000, + [SMALL_STATE(3060)] = 54099, + [SMALL_STATE(3061)] = 54202, + [SMALL_STATE(3062)] = 54265, + [SMALL_STATE(3063)] = 54330, + [SMALL_STATE(3064)] = 54407, + [SMALL_STATE(3065)] = 54514, + [SMALL_STATE(3066)] = 54621, + [SMALL_STATE(3067)] = 54732, + [SMALL_STATE(3068)] = 54797, + [SMALL_STATE(3069)] = 54858, + [SMALL_STATE(3070)] = 54965, + [SMALL_STATE(3071)] = 55032, + [SMALL_STATE(3072)] = 55097, + [SMALL_STATE(3073)] = 55172, + [SMALL_STATE(3074)] = 55237, + [SMALL_STATE(3075)] = 55302, + [SMALL_STATE(3076)] = 55367, + [SMALL_STATE(3077)] = 55432, + [SMALL_STATE(3078)] = 55503, + [SMALL_STATE(3079)] = 55576, + [SMALL_STATE(3080)] = 55643, + [SMALL_STATE(3081)] = 55708, + [SMALL_STATE(3082)] = 55775, + [SMALL_STATE(3083)] = 55848, + [SMALL_STATE(3084)] = 55959, + [SMALL_STATE(3085)] = 56026, + [SMALL_STATE(3086)] = 56107, + [SMALL_STATE(3087)] = 56186, + [SMALL_STATE(3088)] = 56269, + [SMALL_STATE(3089)] = 56356, + [SMALL_STATE(3090)] = 56421, + [SMALL_STATE(3091)] = 56510, + [SMALL_STATE(3092)] = 56603, + [SMALL_STATE(3093)] = 56698, + [SMALL_STATE(3094)] = 56761, + [SMALL_STATE(3095)] = 56834, + [SMALL_STATE(3096)] = 56933, + [SMALL_STATE(3097)] = 57036, + [SMALL_STATE(3098)] = 57111, + [SMALL_STATE(3099)] = 57188, + [SMALL_STATE(3100)] = 57255, + [SMALL_STATE(3101)] = 57362, + [SMALL_STATE(3102)] = 57423, + [SMALL_STATE(3103)] = 57484, + [SMALL_STATE(3104)] = 57545, + [SMALL_STATE(3105)] = 57606, + [SMALL_STATE(3106)] = 57667, + [SMALL_STATE(3107)] = 57728, + [SMALL_STATE(3108)] = 57789, + [SMALL_STATE(3109)] = 57850, + [SMALL_STATE(3110)] = 57915, + [SMALL_STATE(3111)] = 57980, + [SMALL_STATE(3112)] = 58045, + [SMALL_STATE(3113)] = 58110, + [SMALL_STATE(3114)] = 58175, + [SMALL_STATE(3115)] = 58236, + [SMALL_STATE(3116)] = 58297, + [SMALL_STATE(3117)] = 58358, + [SMALL_STATE(3118)] = 58419, + [SMALL_STATE(3119)] = 58480, + [SMALL_STATE(3120)] = 58553, + [SMALL_STATE(3121)] = 58660, + [SMALL_STATE(3122)] = 58721, + [SMALL_STATE(3123)] = 58782, + [SMALL_STATE(3124)] = 58857, + [SMALL_STATE(3125)] = 58932, + [SMALL_STATE(3126)] = 58995, + [SMALL_STATE(3127)] = 59056, + [SMALL_STATE(3128)] = 59131, + [SMALL_STATE(3129)] = 59204, + [SMALL_STATE(3130)] = 59277, + [SMALL_STATE(3131)] = 59338, + [SMALL_STATE(3132)] = 59399, + [SMALL_STATE(3133)] = 59462, + [SMALL_STATE(3134)] = 59523, + [SMALL_STATE(3135)] = 59586, + [SMALL_STATE(3136)] = 59647, + [SMALL_STATE(3137)] = 59708, + [SMALL_STATE(3138)] = 59769, + [SMALL_STATE(3139)] = 59830, + [SMALL_STATE(3140)] = 59891, + [SMALL_STATE(3141)] = 59952, + [SMALL_STATE(3142)] = 60015, + [SMALL_STATE(3143)] = 60078, + [SMALL_STATE(3144)] = 60139, + [SMALL_STATE(3145)] = 60200, + [SMALL_STATE(3146)] = 60261, + [SMALL_STATE(3147)] = 60334, + [SMALL_STATE(3148)] = 60395, + [SMALL_STATE(3149)] = 60456, + [SMALL_STATE(3150)] = 60517, + [SMALL_STATE(3151)] = 60582, + [SMALL_STATE(3152)] = 60649, + [SMALL_STATE(3153)] = 60714, + [SMALL_STATE(3154)] = 60775, + [SMALL_STATE(3155)] = 60848, + [SMALL_STATE(3156)] = 60909, + [SMALL_STATE(3157)] = 60970, + [SMALL_STATE(3158)] = 61039, + [SMALL_STATE(3159)] = 61102, + [SMALL_STATE(3160)] = 61179, + [SMALL_STATE(3161)] = 61242, + [SMALL_STATE(3162)] = 61353, + [SMALL_STATE(3163)] = 61414, + [SMALL_STATE(3164)] = 61479, + [SMALL_STATE(3165)] = 61548, + [SMALL_STATE(3166)] = 61611, + [SMALL_STATE(3167)] = 61674, + [SMALL_STATE(3168)] = 61737, + [SMALL_STATE(3169)] = 61802, + [SMALL_STATE(3170)] = 61871, + [SMALL_STATE(3171)] = 61934, + [SMALL_STATE(3172)] = 62007, + [SMALL_STATE(3173)] = 62070, + [SMALL_STATE(3174)] = 62143, + [SMALL_STATE(3175)] = 62247, + [SMALL_STATE(3176)] = 62329, + [SMALL_STATE(3177)] = 62389, + [SMALL_STATE(3178)] = 62453, + [SMALL_STATE(3179)] = 62525, + [SMALL_STATE(3180)] = 62585, + [SMALL_STATE(3181)] = 62645, + [SMALL_STATE(3182)] = 62715, + [SMALL_STATE(3183)] = 62775, + [SMALL_STATE(3184)] = 62849, + [SMALL_STATE(3185)] = 62909, + [SMALL_STATE(3186)] = 62969, + [SMALL_STATE(3187)] = 63029, + [SMALL_STATE(3188)] = 63089, + [SMALL_STATE(3189)] = 63149, + [SMALL_STATE(3190)] = 63209, + [SMALL_STATE(3191)] = 63283, + [SMALL_STATE(3192)] = 63357, + [SMALL_STATE(3193)] = 63417, + [SMALL_STATE(3194)] = 63477, + [SMALL_STATE(3195)] = 63633, + [SMALL_STATE(3196)] = 63693, + [SMALL_STATE(3197)] = 63753, + [SMALL_STATE(3198)] = 63859, + [SMALL_STATE(3199)] = 63965, + [SMALL_STATE(3200)] = 64041, + [SMALL_STATE(3201)] = 64143, + [SMALL_STATE(3202)] = 64241, + [SMALL_STATE(3203)] = 64335, + [SMALL_STATE(3204)] = 64427, + [SMALL_STATE(3205)] = 64515, + [SMALL_STATE(3206)] = 64601, + [SMALL_STATE(3207)] = 64683, + [SMALL_STATE(3208)] = 64749, + [SMALL_STATE(3209)] = 64827, + [SMALL_STATE(3210)] = 64931, + [SMALL_STATE(3211)] = 65011, + [SMALL_STATE(3212)] = 65121, + [SMALL_STATE(3213)] = 65181, + [SMALL_STATE(3214)] = 65287, + [SMALL_STATE(3215)] = 65397, + [SMALL_STATE(3216)] = 65503, + [SMALL_STATE(3217)] = 65613, + [SMALL_STATE(3218)] = 65685, + [SMALL_STATE(3219)] = 65745, + [SMALL_STATE(3220)] = 65901, + [SMALL_STATE(3221)] = 65963, + [SMALL_STATE(3222)] = 66025, + [SMALL_STATE(3223)] = 66091, + [SMALL_STATE(3224)] = 66151, + [SMALL_STATE(3225)] = 66307, + [SMALL_STATE(3226)] = 66367, + [SMALL_STATE(3227)] = 66433, + [SMALL_STATE(3228)] = 66495, + [SMALL_STATE(3229)] = 66557, + [SMALL_STATE(3230)] = 66617, + [SMALL_STATE(3231)] = 66721, + [SMALL_STATE(3232)] = 66781, + [SMALL_STATE(3233)] = 66841, + [SMALL_STATE(3234)] = 66901, + [SMALL_STATE(3235)] = 67011, + [SMALL_STATE(3236)] = 67073, + [SMALL_STATE(3237)] = 67133, + [SMALL_STATE(3238)] = 67193, + [SMALL_STATE(3239)] = 67259, + [SMALL_STATE(3240)] = 67319, + [SMALL_STATE(3241)] = 67379, + [SMALL_STATE(3242)] = 67455, + [SMALL_STATE(3243)] = 67565, + [SMALL_STATE(3244)] = 67625, + [SMALL_STATE(3245)] = 67735, + [SMALL_STATE(3246)] = 67809, + [SMALL_STATE(3247)] = 67909, + [SMALL_STATE(3248)] = 68005, + [SMALL_STATE(3249)] = 68097, + [SMALL_STATE(3250)] = 68207, + [SMALL_STATE(3251)] = 68297, + [SMALL_STATE(3252)] = 68357, + [SMALL_STATE(3253)] = 68443, + [SMALL_STATE(3254)] = 68527, + [SMALL_STATE(3255)] = 68641, + [SMALL_STATE(3256)] = 68701, + [SMALL_STATE(3257)] = 68779, + [SMALL_STATE(3258)] = 68841, + [SMALL_STATE(3259)] = 68911, + [SMALL_STATE(3260)] = 68991, + [SMALL_STATE(3261)] = 69099, + [SMALL_STATE(3262)] = 69173, + [SMALL_STATE(3263)] = 69233, + [SMALL_STATE(3264)] = 69343, + [SMALL_STATE(3265)] = 69449, + [SMALL_STATE(3266)] = 69605, + [SMALL_STATE(3267)] = 69665, + [SMALL_STATE(3268)] = 69775, + [SMALL_STATE(3269)] = 69881, + [SMALL_STATE(3270)] = 69941, + [SMALL_STATE(3271)] = 70007, + [SMALL_STATE(3272)] = 70067, + [SMALL_STATE(3273)] = 70177, + [SMALL_STATE(3274)] = 70251, + [SMALL_STATE(3275)] = 70361, + [SMALL_STATE(3276)] = 70421, + [SMALL_STATE(3277)] = 70481, + [SMALL_STATE(3278)] = 70561, + [SMALL_STATE(3279)] = 70639, + [SMALL_STATE(3280)] = 70701, + [SMALL_STATE(3281)] = 70811, + [SMALL_STATE(3282)] = 70893, + [SMALL_STATE(3283)] = 70953, + [SMALL_STATE(3284)] = 71017, + [SMALL_STATE(3285)] = 71077, + [SMALL_STATE(3286)] = 71137, + [SMALL_STATE(3287)] = 71293, + [SMALL_STATE(3288)] = 71379, + [SMALL_STATE(3289)] = 71439, + [SMALL_STATE(3290)] = 71499, + [SMALL_STATE(3291)] = 71559, + [SMALL_STATE(3292)] = 71625, + [SMALL_STATE(3293)] = 71685, + [SMALL_STATE(3294)] = 71759, + [SMALL_STATE(3295)] = 71847, + [SMALL_STATE(3296)] = 72003, + [SMALL_STATE(3297)] = 72069, + [SMALL_STATE(3298)] = 72129, + [SMALL_STATE(3299)] = 72285, + [SMALL_STATE(3300)] = 72347, + [SMALL_STATE(3301)] = 72407, + [SMALL_STATE(3302)] = 72467, + [SMALL_STATE(3303)] = 72527, + [SMALL_STATE(3304)] = 72619, + [SMALL_STATE(3305)] = 72775, + [SMALL_STATE(3306)] = 72839, + [SMALL_STATE(3307)] = 72933, + [SMALL_STATE(3308)] = 72999, + [SMALL_STATE(3309)] = 73097, + [SMALL_STATE(3310)] = 73199, + [SMALL_STATE(3311)] = 73265, + [SMALL_STATE(3312)] = 73421, + [SMALL_STATE(3313)] = 73495, + [SMALL_STATE(3314)] = 73571, + [SMALL_STATE(3315)] = 73677, + [SMALL_STATE(3316)] = 73737, + [SMALL_STATE(3317)] = 73847, + [SMALL_STATE(3318)] = 73907, + [SMALL_STATE(3319)] = 73979, + [SMALL_STATE(3320)] = 74085, + [SMALL_STATE(3321)] = 74193, + [SMALL_STATE(3322)] = 74253, + [SMALL_STATE(3323)] = 74319, + [SMALL_STATE(3324)] = 74393, + [SMALL_STATE(3325)] = 74467, + [SMALL_STATE(3326)] = 74527, + [SMALL_STATE(3327)] = 74601, + [SMALL_STATE(3328)] = 74705, + [SMALL_STATE(3329)] = 74765, + [SMALL_STATE(3330)] = 74825, + [SMALL_STATE(3331)] = 74897, + [SMALL_STATE(3332)] = 74961, + [SMALL_STATE(3333)] = 75069, + [SMALL_STATE(3334)] = 75143, + [SMALL_STATE(3335)] = 75203, + [SMALL_STATE(3336)] = 75263, + [SMALL_STATE(3337)] = 75323, + [SMALL_STATE(3338)] = 75383, + [SMALL_STATE(3339)] = 75443, + [SMALL_STATE(3340)] = 75515, + [SMALL_STATE(3341)] = 75575, + [SMALL_STATE(3342)] = 75641, + [SMALL_STATE(3343)] = 75701, + [SMALL_STATE(3344)] = 75761, + [SMALL_STATE(3345)] = 75833, + [SMALL_STATE(3346)] = 75897, + [SMALL_STATE(3347)] = 75957, + [SMALL_STATE(3348)] = 76067, + [SMALL_STATE(3349)] = 76127, + [SMALL_STATE(3350)] = 76187, + [SMALL_STATE(3351)] = 76247, + [SMALL_STATE(3352)] = 76307, + [SMALL_STATE(3353)] = 76367, + [SMALL_STATE(3354)] = 76427, + [SMALL_STATE(3355)] = 76487, + [SMALL_STATE(3356)] = 76547, + [SMALL_STATE(3357)] = 76608, + [SMALL_STATE(3358)] = 76667, + [SMALL_STATE(3359)] = 76726, + [SMALL_STATE(3360)] = 76785, + [SMALL_STATE(3361)] = 76844, + [SMALL_STATE(3362)] = 76903, + [SMALL_STATE(3363)] = 76962, + [SMALL_STATE(3364)] = 77027, + [SMALL_STATE(3365)] = 77104, + [SMALL_STATE(3366)] = 77183, + [SMALL_STATE(3367)] = 77242, + [SMALL_STATE(3368)] = 77301, + [SMALL_STATE(3369)] = 77360, + [SMALL_STATE(3370)] = 77419, + [SMALL_STATE(3371)] = 77478, + [SMALL_STATE(3372)] = 77537, + [SMALL_STATE(3373)] = 77600, + [SMALL_STATE(3374)] = 77659, + [SMALL_STATE(3375)] = 77718, + [SMALL_STATE(3376)] = 77777, + [SMALL_STATE(3377)] = 77836, + [SMALL_STATE(3378)] = 77895, + [SMALL_STATE(3379)] = 77954, + [SMALL_STATE(3380)] = 78013, + [SMALL_STATE(3381)] = 78072, + [SMALL_STATE(3382)] = 78131, + [SMALL_STATE(3383)] = 78190, + [SMALL_STATE(3384)] = 78249, + [SMALL_STATE(3385)] = 78320, + [SMALL_STATE(3386)] = 78379, + [SMALL_STATE(3387)] = 78438, + [SMALL_STATE(3388)] = 78497, + [SMALL_STATE(3389)] = 78556, + [SMALL_STATE(3390)] = 78615, + [SMALL_STATE(3391)] = 78674, + [SMALL_STATE(3392)] = 78733, + [SMALL_STATE(3393)] = 78792, + [SMALL_STATE(3394)] = 78901, + [SMALL_STATE(3395)] = 78968, + [SMALL_STATE(3396)] = 79033, + [SMALL_STATE(3397)] = 79092, + [SMALL_STATE(3398)] = 79157, + [SMALL_STATE(3399)] = 79216, + [SMALL_STATE(3400)] = 79281, + [SMALL_STATE(3401)] = 79340, + [SMALL_STATE(3402)] = 79399, + [SMALL_STATE(3403)] = 79458, + [SMALL_STATE(3404)] = 79529, + [SMALL_STATE(3405)] = 79588, + [SMALL_STATE(3406)] = 79647, + [SMALL_STATE(3407)] = 79706, + [SMALL_STATE(3408)] = 79817, + [SMALL_STATE(3409)] = 79880, + [SMALL_STATE(3410)] = 79939, + [SMALL_STATE(3411)] = 80048, + [SMALL_STATE(3412)] = 80107, + [SMALL_STATE(3413)] = 80166, + [SMALL_STATE(3414)] = 80225, + [SMALL_STATE(3415)] = 80284, + [SMALL_STATE(3416)] = 80359, + [SMALL_STATE(3417)] = 80422, + [SMALL_STATE(3418)] = 80481, + [SMALL_STATE(3419)] = 80540, + [SMALL_STATE(3420)] = 80599, + [SMALL_STATE(3421)] = 80658, + [SMALL_STATE(3422)] = 80721, + [SMALL_STATE(3423)] = 80780, + [SMALL_STATE(3424)] = 80839, + [SMALL_STATE(3425)] = 80902, + [SMALL_STATE(3426)] = 80961, + [SMALL_STATE(3427)] = 81020, + [SMALL_STATE(3428)] = 81079, + [SMALL_STATE(3429)] = 81138, + [SMALL_STATE(3430)] = 81197, + [SMALL_STATE(3431)] = 81260, + [SMALL_STATE(3432)] = 81319, + [SMALL_STATE(3433)] = 81386, + [SMALL_STATE(3434)] = 81445, + [SMALL_STATE(3435)] = 81504, + [SMALL_STATE(3436)] = 81563, + [SMALL_STATE(3437)] = 81628, + [SMALL_STATE(3438)] = 81697, + [SMALL_STATE(3439)] = 81756, + [SMALL_STATE(3440)] = 81815, + [SMALL_STATE(3441)] = 81874, + [SMALL_STATE(3442)] = 81937, + [SMALL_STATE(3443)] = 81996, + [SMALL_STATE(3444)] = 82055, + [SMALL_STATE(3445)] = 82114, + [SMALL_STATE(3446)] = 82177, + [SMALL_STATE(3447)] = 82236, + [SMALL_STATE(3448)] = 82295, + [SMALL_STATE(3449)] = 82354, + [SMALL_STATE(3450)] = 82413, + [SMALL_STATE(3451)] = 82472, + [SMALL_STATE(3452)] = 82535, + [SMALL_STATE(3453)] = 82594, + [SMALL_STATE(3454)] = 82653, + [SMALL_STATE(3455)] = 82714, + [SMALL_STATE(3456)] = 82777, + [SMALL_STATE(3457)] = 82836, + [SMALL_STATE(3458)] = 82899, + [SMALL_STATE(3459)] = 82958, + [SMALL_STATE(3460)] = 83017, + [SMALL_STATE(3461)] = 83076, + [SMALL_STATE(3462)] = 83147, + [SMALL_STATE(3463)] = 83210, + [SMALL_STATE(3464)] = 83269, + [SMALL_STATE(3465)] = 83332, + [SMALL_STATE(3466)] = 83391, + [SMALL_STATE(3467)] = 83450, + [SMALL_STATE(3468)] = 83509, + [SMALL_STATE(3469)] = 83568, + [SMALL_STATE(3470)] = 83627, + [SMALL_STATE(3471)] = 83698, + [SMALL_STATE(3472)] = 83757, + [SMALL_STATE(3473)] = 83816, + [SMALL_STATE(3474)] = 83877, + [SMALL_STATE(3475)] = 83936, + [SMALL_STATE(3476)] = 83995, + [SMALL_STATE(3477)] = 84054, + [SMALL_STATE(3478)] = 84119, + [SMALL_STATE(3479)] = 84178, + [SMALL_STATE(3480)] = 84237, + [SMALL_STATE(3481)] = 84296, + [SMALL_STATE(3482)] = 84355, + [SMALL_STATE(3483)] = 84414, + [SMALL_STATE(3484)] = 84473, + [SMALL_STATE(3485)] = 84532, + [SMALL_STATE(3486)] = 84591, + [SMALL_STATE(3487)] = 84654, + [SMALL_STATE(3488)] = 84713, + [SMALL_STATE(3489)] = 84772, + [SMALL_STATE(3490)] = 84831, + [SMALL_STATE(3491)] = 84890, + [SMALL_STATE(3492)] = 84949, + [SMALL_STATE(3493)] = 85008, + [SMALL_STATE(3494)] = 85067, + [SMALL_STATE(3495)] = 85126, + [SMALL_STATE(3496)] = 85185, + [SMALL_STATE(3497)] = 85244, + [SMALL_STATE(3498)] = 85303, + [SMALL_STATE(3499)] = 85412, + [SMALL_STATE(3500)] = 85471, + [SMALL_STATE(3501)] = 85530, + [SMALL_STATE(3502)] = 85589, + [SMALL_STATE(3503)] = 85648, + [SMALL_STATE(3504)] = 85707, + [SMALL_STATE(3505)] = 85766, + [SMALL_STATE(3506)] = 85825, + [SMALL_STATE(3507)] = 85884, + [SMALL_STATE(3508)] = 85943, + [SMALL_STATE(3509)] = 86006, + [SMALL_STATE(3510)] = 86065, + [SMALL_STATE(3511)] = 86128, + [SMALL_STATE(3512)] = 86187, + [SMALL_STATE(3513)] = 86246, + [SMALL_STATE(3514)] = 86305, + [SMALL_STATE(3515)] = 86364, + [SMALL_STATE(3516)] = 86423, + [SMALL_STATE(3517)] = 86482, + [SMALL_STATE(3518)] = 86541, + [SMALL_STATE(3519)] = 86604, + [SMALL_STATE(3520)] = 86663, + [SMALL_STATE(3521)] = 86722, + [SMALL_STATE(3522)] = 86781, + [SMALL_STATE(3523)] = 86840, + [SMALL_STATE(3524)] = 86899, + [SMALL_STATE(3525)] = 87008, + [SMALL_STATE(3526)] = 87071, + [SMALL_STATE(3527)] = 87134, + [SMALL_STATE(3528)] = 87203, + [SMALL_STATE(3529)] = 87266, + [SMALL_STATE(3530)] = 87329, + [SMALL_STATE(3531)] = 87388, + [SMALL_STATE(3532)] = 87447, + [SMALL_STATE(3533)] = 87510, + [SMALL_STATE(3534)] = 87571, + [SMALL_STATE(3535)] = 87630, + [SMALL_STATE(3536)] = 87689, + [SMALL_STATE(3537)] = 87748, + [SMALL_STATE(3538)] = 87807, + [SMALL_STATE(3539)] = 87868, + [SMALL_STATE(3540)] = 87931, + [SMALL_STATE(3541)] = 87990, + [SMALL_STATE(3542)] = 88049, + [SMALL_STATE(3543)] = 88108, + [SMALL_STATE(3544)] = 88167, + [SMALL_STATE(3545)] = 88225, + [SMALL_STATE(3546)] = 88333, + [SMALL_STATE(3547)] = 88391, + [SMALL_STATE(3548)] = 88499, + [SMALL_STATE(3549)] = 88557, + [SMALL_STATE(3550)] = 88615, + [SMALL_STATE(3551)] = 88723, + [SMALL_STATE(3552)] = 88781, + [SMALL_STATE(3553)] = 88839, + [SMALL_STATE(3554)] = 88897, + [SMALL_STATE(3555)] = 88955, + [SMALL_STATE(3556)] = 89063, + [SMALL_STATE(3557)] = 89121, + [SMALL_STATE(3558)] = 89179, + [SMALL_STATE(3559)] = 89237, + [SMALL_STATE(3560)] = 89345, + [SMALL_STATE(3561)] = 89407, + [SMALL_STATE(3562)] = 89465, + [SMALL_STATE(3563)] = 89573, + [SMALL_STATE(3564)] = 89631, + [SMALL_STATE(3565)] = 89721, + [SMALL_STATE(3566)] = 89807, + [SMALL_STATE(3567)] = 89891, + [SMALL_STATE(3568)] = 89949, + [SMALL_STATE(3569)] = 90007, + [SMALL_STATE(3570)] = 90065, + [SMALL_STATE(3571)] = 90173, + [SMALL_STATE(3572)] = 90281, + [SMALL_STATE(3573)] = 90347, + [SMALL_STATE(3574)] = 90405, + [SMALL_STATE(3575)] = 90513, + [SMALL_STATE(3576)] = 90573, + [SMALL_STATE(3577)] = 90681, + [SMALL_STATE(3578)] = 90739, + [SMALL_STATE(3579)] = 90847, + [SMALL_STATE(3580)] = 90907, + [SMALL_STATE(3581)] = 90987, + [SMALL_STATE(3582)] = 91045, + [SMALL_STATE(3583)] = 91153, + [SMALL_STATE(3584)] = 91211, + [SMALL_STATE(3585)] = 91287, + [SMALL_STATE(3586)] = 91349, + [SMALL_STATE(3587)] = 91407, + [SMALL_STATE(3588)] = 91465, + [SMALL_STATE(3589)] = 91573, + [SMALL_STATE(3590)] = 91651, + [SMALL_STATE(3591)] = 91721, + [SMALL_STATE(3592)] = 91827, + [SMALL_STATE(3593)] = 91885, + [SMALL_STATE(3594)] = 91993, + [SMALL_STATE(3595)] = 92057, + [SMALL_STATE(3596)] = 92165, + [SMALL_STATE(3597)] = 92273, + [SMALL_STATE(3598)] = 92331, + [SMALL_STATE(3599)] = 92389, + [SMALL_STATE(3600)] = 92447, + [SMALL_STATE(3601)] = 92505, + [SMALL_STATE(3602)] = 92613, + [SMALL_STATE(3603)] = 92685, + [SMALL_STATE(3604)] = 92743, + [SMALL_STATE(3605)] = 92801, + [SMALL_STATE(3606)] = 92909, + [SMALL_STATE(3607)] = 92967, + [SMALL_STATE(3608)] = 93025, + [SMALL_STATE(3609)] = 93087, + [SMALL_STATE(3610)] = 93145, + [SMALL_STATE(3611)] = 93203, + [SMALL_STATE(3612)] = 93261, + [SMALL_STATE(3613)] = 93369, + [SMALL_STATE(3614)] = 93475, + [SMALL_STATE(3615)] = 93533, + [SMALL_STATE(3616)] = 93591, + [SMALL_STATE(3617)] = 93699, + [SMALL_STATE(3618)] = 93771, + [SMALL_STATE(3619)] = 93829, + [SMALL_STATE(3620)] = 93937, + [SMALL_STATE(3621)] = 93995, + [SMALL_STATE(3622)] = 94053, + [SMALL_STATE(3623)] = 94161, + [SMALL_STATE(3624)] = 94269, + [SMALL_STATE(3625)] = 94377, + [SMALL_STATE(3626)] = 94435, + [SMALL_STATE(3627)] = 94493, + [SMALL_STATE(3628)] = 94551, + [SMALL_STATE(3629)] = 94609, + [SMALL_STATE(3630)] = 94717, + [SMALL_STATE(3631)] = 94775, + [SMALL_STATE(3632)] = 94837, + [SMALL_STATE(3633)] = 94895, + [SMALL_STATE(3634)] = 95003, + [SMALL_STATE(3635)] = 95061, + [SMALL_STATE(3636)] = 95169, + [SMALL_STATE(3637)] = 95277, + [SMALL_STATE(3638)] = 95385, + [SMALL_STATE(3639)] = 95443, + [SMALL_STATE(3640)] = 95501, + [SMALL_STATE(3641)] = 95563, + [SMALL_STATE(3642)] = 95621, + [SMALL_STATE(3643)] = 95729, + [SMALL_STATE(3644)] = 95787, + [SMALL_STATE(3645)] = 95895, + [SMALL_STATE(3646)] = 96003, + [SMALL_STATE(3647)] = 96097, + [SMALL_STATE(3648)] = 96205, + [SMALL_STATE(3649)] = 96263, + [SMALL_STATE(3650)] = 96371, + [SMALL_STATE(3651)] = 96429, + [SMALL_STATE(3652)] = 96487, + [SMALL_STATE(3653)] = 96547, + [SMALL_STATE(3654)] = 96617, + [SMALL_STATE(3655)] = 96725, + [SMALL_STATE(3656)] = 96785, + [SMALL_STATE(3657)] = 96843, + [SMALL_STATE(3658)] = 96951, + [SMALL_STATE(3659)] = 97059, + [SMALL_STATE(3660)] = 97167, + [SMALL_STATE(3661)] = 97225, + [SMALL_STATE(3662)] = 97333, + [SMALL_STATE(3663)] = 97391, + [SMALL_STATE(3664)] = 97499, + [SMALL_STATE(3665)] = 97557, + [SMALL_STATE(3666)] = 97665, + [SMALL_STATE(3667)] = 97723, + [SMALL_STATE(3668)] = 97823, + [SMALL_STATE(3669)] = 97931, + [SMALL_STATE(3670)] = 98039, + [SMALL_STATE(3671)] = 98147, + [SMALL_STATE(3672)] = 98219, + [SMALL_STATE(3673)] = 98289, + [SMALL_STATE(3674)] = 98363, + [SMALL_STATE(3675)] = 98425, + [SMALL_STATE(3676)] = 98531, + [SMALL_STATE(3677)] = 98639, + [SMALL_STATE(3678)] = 98747, + [SMALL_STATE(3679)] = 98855, + [SMALL_STATE(3680)] = 98913, + [SMALL_STATE(3681)] = 98971, + [SMALL_STATE(3682)] = 99073, + [SMALL_STATE(3683)] = 99131, + [SMALL_STATE(3684)] = 99239, + [SMALL_STATE(3685)] = 99347, + [SMALL_STATE(3686)] = 99405, + [SMALL_STATE(3687)] = 99513, + [SMALL_STATE(3688)] = 99571, + [SMALL_STATE(3689)] = 99629, + [SMALL_STATE(3690)] = 99687, + [SMALL_STATE(3691)] = 99795, + [SMALL_STATE(3692)] = 99857, + [SMALL_STATE(3693)] = 99915, + [SMALL_STATE(3694)] = 99973, + [SMALL_STATE(3695)] = 100031, + [SMALL_STATE(3696)] = 100089, + [SMALL_STATE(3697)] = 100147, + [SMALL_STATE(3698)] = 100205, + [SMALL_STATE(3699)] = 100307, + [SMALL_STATE(3700)] = 100365, + [SMALL_STATE(3701)] = 100473, + [SMALL_STATE(3702)] = 100543, + [SMALL_STATE(3703)] = 100611, + [SMALL_STATE(3704)] = 100719, + [SMALL_STATE(3705)] = 100827, + [SMALL_STATE(3706)] = 100885, + [SMALL_STATE(3707)] = 100993, + [SMALL_STATE(3708)] = 101051, + [SMALL_STATE(3709)] = 101159, + [SMALL_STATE(3710)] = 101267, + [SMALL_STATE(3711)] = 101337, + [SMALL_STATE(3712)] = 101395, + [SMALL_STATE(3713)] = 101503, + [SMALL_STATE(3714)] = 101611, + [SMALL_STATE(3715)] = 101669, + [SMALL_STATE(3716)] = 101727, + [SMALL_STATE(3717)] = 101785, + [SMALL_STATE(3718)] = 101843, + [SMALL_STATE(3719)] = 101951, + [SMALL_STATE(3720)] = 102059, + [SMALL_STATE(3721)] = 102167, + [SMALL_STATE(3722)] = 102275, + [SMALL_STATE(3723)] = 102333, + [SMALL_STATE(3724)] = 102441, + [SMALL_STATE(3725)] = 102539, + [SMALL_STATE(3726)] = 102597, + [SMALL_STATE(3727)] = 102655, + [SMALL_STATE(3728)] = 102717, + [SMALL_STATE(3729)] = 102789, + [SMALL_STATE(3730)] = 102847, + [SMALL_STATE(3731)] = 102905, + [SMALL_STATE(3732)] = 103013, + [SMALL_STATE(3733)] = 103071, + [SMALL_STATE(3734)] = 103129, + [SMALL_STATE(3735)] = 103187, + [SMALL_STATE(3736)] = 103245, + [SMALL_STATE(3737)] = 103303, + [SMALL_STATE(3738)] = 103361, + [SMALL_STATE(3739)] = 103419, + [SMALL_STATE(3740)] = 103527, + [SMALL_STATE(3741)] = 103585, + [SMALL_STATE(3742)] = 103643, + [SMALL_STATE(3743)] = 103701, + [SMALL_STATE(3744)] = 103773, + [SMALL_STATE(3745)] = 103831, + [SMALL_STATE(3746)] = 103889, + [SMALL_STATE(3747)] = 103947, + [SMALL_STATE(3748)] = 104005, + [SMALL_STATE(3749)] = 104113, + [SMALL_STATE(3750)] = 104171, + [SMALL_STATE(3751)] = 104237, + [SMALL_STATE(3752)] = 104295, + [SMALL_STATE(3753)] = 104355, + [SMALL_STATE(3754)] = 104457, + [SMALL_STATE(3755)] = 104565, + [SMALL_STATE(3756)] = 104623, + [SMALL_STATE(3757)] = 104681, + [SMALL_STATE(3758)] = 104789, + [SMALL_STATE(3759)] = 104847, + [SMALL_STATE(3760)] = 104911, + [SMALL_STATE(3761)] = 104969, + [SMALL_STATE(3762)] = 105077, + [SMALL_STATE(3763)] = 105179, + [SMALL_STATE(3764)] = 105237, + [SMALL_STATE(3765)] = 105295, + [SMALL_STATE(3766)] = 105353, + [SMALL_STATE(3767)] = 105426, + [SMALL_STATE(3768)] = 105485, + [SMALL_STATE(3769)] = 105542, + [SMALL_STATE(3770)] = 105615, + [SMALL_STATE(3771)] = 105720, + [SMALL_STATE(3772)] = 105777, + [SMALL_STATE(3773)] = 105834, + [SMALL_STATE(3774)] = 105891, + [SMALL_STATE(3775)] = 105996, + [SMALL_STATE(3776)] = 106053, + [SMALL_STATE(3777)] = 106110, + [SMALL_STATE(3778)] = 106167, + [SMALL_STATE(3779)] = 106224, + [SMALL_STATE(3780)] = 106329, + [SMALL_STATE(3781)] = 106386, + [SMALL_STATE(3782)] = 106445, + [SMALL_STATE(3783)] = 106550, + [SMALL_STATE(3784)] = 106607, + [SMALL_STATE(3785)] = 106664, + [SMALL_STATE(3786)] = 106769, + [SMALL_STATE(3787)] = 106826, + [SMALL_STATE(3788)] = 106883, + [SMALL_STATE(3789)] = 106988, + [SMALL_STATE(3790)] = 107045, + [SMALL_STATE(3791)] = 107150, + [SMALL_STATE(3792)] = 107243, + [SMALL_STATE(3793)] = 107316, + [SMALL_STATE(3794)] = 107409, + [SMALL_STATE(3795)] = 107466, + [SMALL_STATE(3796)] = 107571, + [SMALL_STATE(3797)] = 107664, + [SMALL_STATE(3798)] = 107769, + [SMALL_STATE(3799)] = 107826, + [SMALL_STATE(3800)] = 107919, + [SMALL_STATE(3801)] = 108024, + [SMALL_STATE(3802)] = 108097, + [SMALL_STATE(3803)] = 108160, + [SMALL_STATE(3804)] = 108265, + [SMALL_STATE(3805)] = 108358, + [SMALL_STATE(3806)] = 108415, + [SMALL_STATE(3807)] = 108472, + [SMALL_STATE(3808)] = 108577, + [SMALL_STATE(3809)] = 108670, + [SMALL_STATE(3810)] = 108743, + [SMALL_STATE(3811)] = 108800, + [SMALL_STATE(3812)] = 108905, + [SMALL_STATE(3813)] = 108972, + [SMALL_STATE(3814)] = 109029, + [SMALL_STATE(3815)] = 109134, + [SMALL_STATE(3816)] = 109239, + [SMALL_STATE(3817)] = 109296, + [SMALL_STATE(3818)] = 109353, + [SMALL_STATE(3819)] = 109445, + [SMALL_STATE(3820)] = 109551, + [SMALL_STATE(3821)] = 109649, + [SMALL_STATE(3822)] = 109741, + [SMALL_STATE(3823)] = 109797, + [SMALL_STATE(3824)] = 109895, + [SMALL_STATE(3825)] = 109951, + [SMALL_STATE(3826)] = 110007, + [SMALL_STATE(3827)] = 110063, + [SMALL_STATE(3828)] = 110119, + [SMALL_STATE(3829)] = 110175, + [SMALL_STATE(3830)] = 110231, + [SMALL_STATE(3831)] = 110287, + [SMALL_STATE(3832)] = 110343, + [SMALL_STATE(3833)] = 110399, + [SMALL_STATE(3834)] = 110455, + [SMALL_STATE(3835)] = 110511, + [SMALL_STATE(3836)] = 110609, + [SMALL_STATE(3837)] = 110665, + [SMALL_STATE(3838)] = 110721, + [SMALL_STATE(3839)] = 110781, + [SMALL_STATE(3840)] = 110837, + [SMALL_STATE(3841)] = 110893, + [SMALL_STATE(3842)] = 110991, + [SMALL_STATE(3843)] = 111049, + [SMALL_STATE(3844)] = 111105, + [SMALL_STATE(3845)] = 111161, + [SMALL_STATE(3846)] = 111217, + [SMALL_STATE(3847)] = 111273, + [SMALL_STATE(3848)] = 111329, + [SMALL_STATE(3849)] = 111385, + [SMALL_STATE(3850)] = 111441, + [SMALL_STATE(3851)] = 111497, + [SMALL_STATE(3852)] = 111561, + [SMALL_STATE(3853)] = 111617, + [SMALL_STATE(3854)] = 111673, + [SMALL_STATE(3855)] = 111729, + [SMALL_STATE(3856)] = 111785, + [SMALL_STATE(3857)] = 111841, + [SMALL_STATE(3858)] = 111899, + [SMALL_STATE(3859)] = 111955, + [SMALL_STATE(3860)] = 112011, + [SMALL_STATE(3861)] = 112067, + [SMALL_STATE(3862)] = 112123, + [SMALL_STATE(3863)] = 112179, + [SMALL_STATE(3864)] = 112235, + [SMALL_STATE(3865)] = 112333, + [SMALL_STATE(3866)] = 112389, + [SMALL_STATE(3867)] = 112445, + [SMALL_STATE(3868)] = 112501, + [SMALL_STATE(3869)] = 112557, + [SMALL_STATE(3870)] = 112655, + [SMALL_STATE(3871)] = 112711, + [SMALL_STATE(3872)] = 112767, + [SMALL_STATE(3873)] = 112865, + [SMALL_STATE(3874)] = 112921, + [SMALL_STATE(3875)] = 112977, + [SMALL_STATE(3876)] = 113033, + [SMALL_STATE(3877)] = 113095, + [SMALL_STATE(3878)] = 113151, + [SMALL_STATE(3879)] = 113249, + [SMALL_STATE(3880)] = 113305, + [SMALL_STATE(3881)] = 113369, + [SMALL_STATE(3882)] = 113475, + [SMALL_STATE(3883)] = 113531, + [SMALL_STATE(3884)] = 113629, + [SMALL_STATE(3885)] = 113685, + [SMALL_STATE(3886)] = 113783, + [SMALL_STATE(3887)] = 113839, + [SMALL_STATE(3888)] = 113895, + [SMALL_STATE(3889)] = 113951, + [SMALL_STATE(3890)] = 114049, + [SMALL_STATE(3891)] = 114113, + [SMALL_STATE(3892)] = 114169, + [SMALL_STATE(3893)] = 114225, + [SMALL_STATE(3894)] = 114323, + [SMALL_STATE(3895)] = 114379, + [SMALL_STATE(3896)] = 114435, + [SMALL_STATE(3897)] = 114533, + [SMALL_STATE(3898)] = 114589, + [SMALL_STATE(3899)] = 114645, + [SMALL_STATE(3900)] = 114743, + [SMALL_STATE(3901)] = 114799, + [SMALL_STATE(3902)] = 114855, + [SMALL_STATE(3903)] = 114911, + [SMALL_STATE(3904)] = 114967, + [SMALL_STATE(3905)] = 115065, + [SMALL_STATE(3906)] = 115121, + [SMALL_STATE(3907)] = 115177, + [SMALL_STATE(3908)] = 115233, + [SMALL_STATE(3909)] = 115289, + [SMALL_STATE(3910)] = 115345, + [SMALL_STATE(3911)] = 115443, + [SMALL_STATE(3912)] = 115499, + [SMALL_STATE(3913)] = 115555, + [SMALL_STATE(3914)] = 115611, + [SMALL_STATE(3915)] = 115667, + [SMALL_STATE(3916)] = 115723, + [SMALL_STATE(3917)] = 115779, + [SMALL_STATE(3918)] = 115839, + [SMALL_STATE(3919)] = 115895, + [SMALL_STATE(3920)] = 116001, + [SMALL_STATE(3921)] = 116057, + [SMALL_STATE(3922)] = 116113, + [SMALL_STATE(3923)] = 116169, + [SMALL_STATE(3924)] = 116225, + [SMALL_STATE(3925)] = 116281, + [SMALL_STATE(3926)] = 116341, + [SMALL_STATE(3927)] = 116397, + [SMALL_STATE(3928)] = 116453, + [SMALL_STATE(3929)] = 116509, + [SMALL_STATE(3930)] = 116565, + [SMALL_STATE(3931)] = 116621, + [SMALL_STATE(3932)] = 116677, + [SMALL_STATE(3933)] = 116733, + [SMALL_STATE(3934)] = 116839, + [SMALL_STATE(3935)] = 116937, + [SMALL_STATE(3936)] = 116993, + [SMALL_STATE(3937)] = 117049, + [SMALL_STATE(3938)] = 117113, + [SMALL_STATE(3939)] = 117169, + [SMALL_STATE(3940)] = 117225, + [SMALL_STATE(3941)] = 117281, + [SMALL_STATE(3942)] = 117337, + [SMALL_STATE(3943)] = 117399, + [SMALL_STATE(3944)] = 117497, + [SMALL_STATE(3945)] = 117556, + [SMALL_STATE(3946)] = 117617, + [SMALL_STATE(3947)] = 117676, + [SMALL_STATE(3948)] = 117735, + [SMALL_STATE(3949)] = 117794, + [SMALL_STATE(3950)] = 117853, + [SMALL_STATE(3951)] = 117912, + [SMALL_STATE(3952)] = 117971, + [SMALL_STATE(3953)] = 118032, + [SMALL_STATE(3954)] = 118091, + [SMALL_STATE(3955)] = 118156, + [SMALL_STATE(3956)] = 118247, + [SMALL_STATE(3957)] = 118316, + [SMALL_STATE(3958)] = 118379, + [SMALL_STATE(3959)] = 118438, + [SMALL_STATE(3960)] = 118497, + [SMALL_STATE(3961)] = 118556, + [SMALL_STATE(3962)] = 118647, + [SMALL_STATE(3963)] = 118708, + [SMALL_STATE(3964)] = 118799, + [SMALL_STATE(3965)] = 118858, + [SMALL_STATE(3966)] = 118917, + [SMALL_STATE(3967)] = 118976, + [SMALL_STATE(3968)] = 119035, + [SMALL_STATE(3969)] = 119094, + [SMALL_STATE(3970)] = 119153, + [SMALL_STATE(3971)] = 119212, + [SMALL_STATE(3972)] = 119273, + [SMALL_STATE(3973)] = 119332, + [SMALL_STATE(3974)] = 119423, + [SMALL_STATE(3975)] = 119482, + [SMALL_STATE(3976)] = 119549, + [SMALL_STATE(3977)] = 119604, + [SMALL_STATE(3978)] = 119659, + [SMALL_STATE(3979)] = 119718, + [SMALL_STATE(3980)] = 119785, + [SMALL_STATE(3981)] = 119844, + [SMALL_STATE(3982)] = 119903, + [SMALL_STATE(3983)] = 119962, + [SMALL_STATE(3984)] = 120056, + [SMALL_STATE(3985)] = 120150, + [SMALL_STATE(3986)] = 120244, + [SMALL_STATE(3987)] = 120338, + [SMALL_STATE(3988)] = 120432, + [SMALL_STATE(3989)] = 120526, + [SMALL_STATE(3990)] = 120620, + [SMALL_STATE(3991)] = 120714, + [SMALL_STATE(3992)] = 120804, + [SMALL_STATE(3993)] = 120858, + [SMALL_STATE(3994)] = 120928, + [SMALL_STATE(3995)] = 120982, + [SMALL_STATE(3996)] = 121076, + [SMALL_STATE(3997)] = 121170, + [SMALL_STATE(3998)] = 121264, + [SMALL_STATE(3999)] = 121334, + [SMALL_STATE(4000)] = 121428, + [SMALL_STATE(4001)] = 121522, + [SMALL_STATE(4002)] = 121592, + [SMALL_STATE(4003)] = 121652, + [SMALL_STATE(4004)] = 121722, + [SMALL_STATE(4005)] = 121816, + [SMALL_STATE(4006)] = 121910, + [SMALL_STATE(4007)] = 122004, + [SMALL_STATE(4008)] = 122098, + [SMALL_STATE(4009)] = 122192, + [SMALL_STATE(4010)] = 122286, + [SMALL_STATE(4011)] = 122380, + [SMALL_STATE(4012)] = 122474, + [SMALL_STATE(4013)] = 122534, + [SMALL_STATE(4014)] = 122588, + [SMALL_STATE(4015)] = 122642, + [SMALL_STATE(4016)] = 122736, + [SMALL_STATE(4017)] = 122830, + [SMALL_STATE(4018)] = 122924, + [SMALL_STATE(4019)] = 122988, + [SMALL_STATE(4020)] = 123082, + [SMALL_STATE(4021)] = 123172, + [SMALL_STATE(4022)] = 123266, + [SMALL_STATE(4023)] = 123360, + [SMALL_STATE(4024)] = 123454, + [SMALL_STATE(4025)] = 123548, + [SMALL_STATE(4026)] = 123642, + [SMALL_STATE(4027)] = 123696, + [SMALL_STATE(4028)] = 123790, + [SMALL_STATE(4029)] = 123884, + [SMALL_STATE(4030)] = 123978, + [SMALL_STATE(4031)] = 124072, + [SMALL_STATE(4032)] = 124134, + [SMALL_STATE(4033)] = 124228, + [SMALL_STATE(4034)] = 124284, + [SMALL_STATE(4035)] = 124354, + [SMALL_STATE(4036)] = 124408, + [SMALL_STATE(4037)] = 124462, + [SMALL_STATE(4038)] = 124556, + [SMALL_STATE(4039)] = 124609, + [SMALL_STATE(4040)] = 124662, + [SMALL_STATE(4041)] = 124715, + [SMALL_STATE(4042)] = 124768, + [SMALL_STATE(4043)] = 124875, + [SMALL_STATE(4044)] = 124928, + [SMALL_STATE(4045)] = 124981, + [SMALL_STATE(4046)] = 125034, + [SMALL_STATE(4047)] = 125087, + [SMALL_STATE(4048)] = 125140, + [SMALL_STATE(4049)] = 125193, + [SMALL_STATE(4050)] = 125282, + [SMALL_STATE(4051)] = 125335, + [SMALL_STATE(4052)] = 125388, + [SMALL_STATE(4053)] = 125441, + [SMALL_STATE(4054)] = 125494, + [SMALL_STATE(4055)] = 125547, + [SMALL_STATE(4056)] = 125600, + [SMALL_STATE(4057)] = 125653, + [SMALL_STATE(4058)] = 125706, + [SMALL_STATE(4059)] = 125759, + [SMALL_STATE(4060)] = 125812, + [SMALL_STATE(4061)] = 125865, + [SMALL_STATE(4062)] = 125918, + [SMALL_STATE(4063)] = 125971, + [SMALL_STATE(4064)] = 126024, + [SMALL_STATE(4065)] = 126083, + [SMALL_STATE(4066)] = 126136, + [SMALL_STATE(4067)] = 126243, + [SMALL_STATE(4068)] = 126296, + [SMALL_STATE(4069)] = 126349, + [SMALL_STATE(4070)] = 126402, + [SMALL_STATE(4071)] = 126455, + [SMALL_STATE(4072)] = 126514, + [SMALL_STATE(4073)] = 126603, + [SMALL_STATE(4074)] = 126656, + [SMALL_STATE(4075)] = 126709, + [SMALL_STATE(4076)] = 126813, + [SMALL_STATE(4077)] = 126913, + [SMALL_STATE(4078)] = 126997, + [SMALL_STATE(4079)] = 127087, + [SMALL_STATE(4080)] = 127175, + [SMALL_STATE(4081)] = 127243, + [SMALL_STATE(4082)] = 127347, + [SMALL_STATE(4083)] = 127413, + [SMALL_STATE(4084)] = 127501, + [SMALL_STATE(4085)] = 127591, + [SMALL_STATE(4086)] = 127675, + [SMALL_STATE(4087)] = 127739, + [SMALL_STATE(4088)] = 127843, + [SMALL_STATE(4089)] = 127911, + [SMALL_STATE(4090)] = 127963, + [SMALL_STATE(4091)] = 128017, + [SMALL_STATE(4092)] = 128069, + [SMALL_STATE(4093)] = 128133, + [SMALL_STATE(4094)] = 128185, + [SMALL_STATE(4095)] = 128251, + [SMALL_STATE(4096)] = 128341, + [SMALL_STATE(4097)] = 128431, + [SMALL_STATE(4098)] = 128521, + [SMALL_STATE(4099)] = 128611, + [SMALL_STATE(4100)] = 128695, + [SMALL_STATE(4101)] = 128759, + [SMALL_STATE(4102)] = 128849, + [SMALL_STATE(4103)] = 128923, + [SMALL_STATE(4104)] = 128975, + [SMALL_STATE(4105)] = 129075, + [SMALL_STATE(4106)] = 129147, + [SMALL_STATE(4107)] = 129215, + [SMALL_STATE(4108)] = 129299, + [SMALL_STATE(4109)] = 129399, + [SMALL_STATE(4110)] = 129469, + [SMALL_STATE(4111)] = 129533, + [SMALL_STATE(4112)] = 129633, + [SMALL_STATE(4113)] = 129699, + [SMALL_STATE(4114)] = 129775, + [SMALL_STATE(4115)] = 129879, + [SMALL_STATE(4116)] = 129943, + [SMALL_STATE(4117)] = 130023, + [SMALL_STATE(4118)] = 130123, + [SMALL_STATE(4119)] = 130189, + [SMALL_STATE(4120)] = 130279, + [SMALL_STATE(4121)] = 130363, + [SMALL_STATE(4122)] = 130459, + [SMALL_STATE(4123)] = 130523, + [SMALL_STATE(4124)] = 130577, + [SMALL_STATE(4125)] = 130661, + [SMALL_STATE(4126)] = 130745, + [SMALL_STATE(4127)] = 130845, + [SMALL_STATE(4128)] = 130931, + [SMALL_STATE(4129)] = 131023, + [SMALL_STATE(4130)] = 131113, + [SMALL_STATE(4131)] = 131177, + [SMALL_STATE(4132)] = 131245, + [SMALL_STATE(4133)] = 131296, + [SMALL_STATE(4134)] = 131347, + [SMALL_STATE(4135)] = 131442, + [SMALL_STATE(4136)] = 131495, + [SMALL_STATE(4137)] = 131562, + [SMALL_STATE(4138)] = 131629, + [SMALL_STATE(4139)] = 131692, + [SMALL_STATE(4140)] = 131775, + [SMALL_STATE(4141)] = 131828, + [SMALL_STATE(4142)] = 131879, + [SMALL_STATE(4143)] = 131930, + [SMALL_STATE(4144)] = 131981, + [SMALL_STATE(4145)] = 132032, + [SMALL_STATE(4146)] = 132083, + [SMALL_STATE(4147)] = 132150, + [SMALL_STATE(4148)] = 132201, + [SMALL_STATE(4149)] = 132268, + [SMALL_STATE(4150)] = 132331, + [SMALL_STATE(4151)] = 132410, + [SMALL_STATE(4152)] = 132475, + [SMALL_STATE(4153)] = 132562, + [SMALL_STATE(4154)] = 132613, + [SMALL_STATE(4155)] = 132676, + [SMALL_STATE(4156)] = 132727, + [SMALL_STATE(4157)] = 132810, + [SMALL_STATE(4158)] = 132873, + [SMALL_STATE(4159)] = 132924, + [SMALL_STATE(4160)] = 132975, + [SMALL_STATE(4161)] = 133062, + [SMALL_STATE(4162)] = 133125, + [SMALL_STATE(4163)] = 133204, + [SMALL_STATE(4164)] = 133255, + [SMALL_STATE(4165)] = 133319, + [SMALL_STATE(4166)] = 133377, + [SMALL_STATE(4167)] = 133433, + [SMALL_STATE(4168)] = 133491, + [SMALL_STATE(4169)] = 133577, + [SMALL_STATE(4170)] = 133633, + [SMALL_STATE(4171)] = 133689, + [SMALL_STATE(4172)] = 133743, + [SMALL_STATE(4173)] = 133805, + [SMALL_STATE(4174)] = 133869, + [SMALL_STATE(4175)] = 133929, + [SMALL_STATE(4176)] = 133983, + [SMALL_STATE(4177)] = 134043, + [SMALL_STATE(4178)] = 134107, + [SMALL_STATE(4179)] = 134193, + [SMALL_STATE(4180)] = 134279, + [SMALL_STATE(4181)] = 134343, + [SMALL_STATE(4182)] = 134399, + [SMALL_STATE(4183)] = 134455, + [SMALL_STATE(4184)] = 134537, + [SMALL_STATE(4185)] = 134619, + [SMALL_STATE(4186)] = 134679, + [SMALL_STATE(4187)] = 134765, + [SMALL_STATE(4188)] = 134847, + [SMALL_STATE(4189)] = 134929, + [SMALL_STATE(4190)] = 134989, + [SMALL_STATE(4191)] = 135051, + [SMALL_STATE(4192)] = 135107, + [SMALL_STATE(4193)] = 135182, + [SMALL_STATE(4194)] = 135257, + [SMALL_STATE(4195)] = 135308, + [SMALL_STATE(4196)] = 135393, + [SMALL_STATE(4197)] = 135468, + [SMALL_STATE(4198)] = 135517, + [SMALL_STATE(4199)] = 135592, + [SMALL_STATE(4200)] = 135695, + [SMALL_STATE(4201)] = 135746, + [SMALL_STATE(4202)] = 135797, + [SMALL_STATE(4203)] = 135900, + [SMALL_STATE(4204)] = 135961, + [SMALL_STATE(4205)] = 136036, + [SMALL_STATE(4206)] = 136117, + [SMALL_STATE(4207)] = 136192, + [SMALL_STATE(4208)] = 136285, + [SMALL_STATE(4209)] = 136336, + [SMALL_STATE(4210)] = 136417, + [SMALL_STATE(4211)] = 136480, + [SMALL_STATE(4212)] = 136565, + [SMALL_STATE(4213)] = 136650, + [SMALL_STATE(4214)] = 136743, + [SMALL_STATE(4215)] = 136818, + [SMALL_STATE(4216)] = 136867, + [SMALL_STATE(4217)] = 136942, + [SMALL_STATE(4218)] = 136991, + [SMALL_STATE(4219)] = 137094, + [SMALL_STATE(4220)] = 137179, + [SMALL_STATE(4221)] = 137254, + [SMALL_STATE(4222)] = 137305, + [SMALL_STATE(4223)] = 137358, + [SMALL_STATE(4224)] = 137433, + [SMALL_STATE(4225)] = 137508, + [SMALL_STATE(4226)] = 137583, + [SMALL_STATE(4227)] = 137632, + [SMALL_STATE(4228)] = 137702, + [SMALL_STATE(4229)] = 137760, + [SMALL_STATE(4230)] = 137830, + [SMALL_STATE(4231)] = 137882, + [SMALL_STATE(4232)] = 137956, + [SMALL_STATE(4233)] = 138056, + [SMALL_STATE(4234)] = 138136, + [SMALL_STATE(4235)] = 138194, + [SMALL_STATE(4236)] = 138264, + [SMALL_STATE(4237)] = 138338, + [SMALL_STATE(4238)] = 138430, + [SMALL_STATE(4239)] = 138486, + [SMALL_STATE(4240)] = 138560, + [SMALL_STATE(4241)] = 138612, + [SMALL_STATE(4242)] = 138686, + [SMALL_STATE(4243)] = 138766, + [SMALL_STATE(4244)] = 138861, + [SMALL_STATE(4245)] = 138958, + [SMALL_STATE(4246)] = 139055, + [SMALL_STATE(4247)] = 139128, + [SMALL_STATE(4248)] = 139225, + [SMALL_STATE(4249)] = 139278, + [SMALL_STATE(4250)] = 139343, + [SMALL_STATE(4251)] = 139392, + [SMALL_STATE(4252)] = 139439, + [SMALL_STATE(4253)] = 139532, + [SMALL_STATE(4254)] = 139601, + [SMALL_STATE(4255)] = 139668, + [SMALL_STATE(4256)] = 139739, + [SMALL_STATE(4257)] = 139814, + [SMALL_STATE(4258)] = 139891, + [SMALL_STATE(4259)] = 139972, + [SMALL_STATE(4260)] = 140069, + [SMALL_STATE(4261)] = 140152, + [SMALL_STATE(4262)] = 140199, + [SMALL_STATE(4263)] = 140284, + [SMALL_STATE(4264)] = 140371, + [SMALL_STATE(4265)] = 140458, + [SMALL_STATE(4266)] = 140543, + [SMALL_STATE(4267)] = 140608, + [SMALL_STATE(4268)] = 140665, + [SMALL_STATE(4269)] = 140754, + [SMALL_STATE(4270)] = 140837, + [SMALL_STATE(4271)] = 140926, + [SMALL_STATE(4272)] = 141007, + [SMALL_STATE(4273)] = 141084, + [SMALL_STATE(4274)] = 141173, + [SMALL_STATE(4275)] = 141248, + [SMALL_STATE(4276)] = 141319, + [SMALL_STATE(4277)] = 141398, + [SMALL_STATE(4278)] = 141485, + [SMALL_STATE(4279)] = 141582, + [SMALL_STATE(4280)] = 141675, + [SMALL_STATE(4281)] = 141772, + [SMALL_STATE(4282)] = 141869, + [SMALL_STATE(4283)] = 141966, + [SMALL_STATE(4284)] = 142033, + [SMALL_STATE(4285)] = 142106, + [SMALL_STATE(4286)] = 142203, + [SMALL_STATE(4287)] = 142286, + [SMALL_STATE(4288)] = 142375, + [SMALL_STATE(4289)] = 142472, + [SMALL_STATE(4290)] = 142569, + [SMALL_STATE(4291)] = 142666, + [SMALL_STATE(4292)] = 142763, + [SMALL_STATE(4293)] = 142860, + [SMALL_STATE(4294)] = 142949, + [SMALL_STATE(4295)] = 143046, + [SMALL_STATE(4296)] = 143143, + [SMALL_STATE(4297)] = 143236, + [SMALL_STATE(4298)] = 143305, + [SMALL_STATE(4299)] = 143402, + [SMALL_STATE(4300)] = 143453, + [SMALL_STATE(4301)] = 143506, + [SMALL_STATE(4302)] = 143553, + [SMALL_STATE(4303)] = 143642, + [SMALL_STATE(4304)] = 143735, + [SMALL_STATE(4305)] = 143832, + [SMALL_STATE(4306)] = 143879, + [SMALL_STATE(4307)] = 143952, + [SMALL_STATE(4308)] = 144049, + [SMALL_STATE(4309)] = 144146, + [SMALL_STATE(4310)] = 144243, + [SMALL_STATE(4311)] = 144330, + [SMALL_STATE(4312)] = 144427, + [SMALL_STATE(4313)] = 144524, + [SMALL_STATE(4314)] = 144617, + [SMALL_STATE(4315)] = 144664, + [SMALL_STATE(4316)] = 144711, + [SMALL_STATE(4317)] = 144764, + [SMALL_STATE(4318)] = 144815, + [SMALL_STATE(4319)] = 144912, + [SMALL_STATE(4320)] = 145001, + [SMALL_STATE(4321)] = 145098, + [SMALL_STATE(4322)] = 145185, + [SMALL_STATE(4323)] = 145238, + [SMALL_STATE(4324)] = 145289, + [SMALL_STATE(4325)] = 145340, + [SMALL_STATE(4326)] = 145429, + [SMALL_STATE(4327)] = 145526, + [SMALL_STATE(4328)] = 145623, + [SMALL_STATE(4329)] = 145702, + [SMALL_STATE(4330)] = 145755, + [SMALL_STATE(4331)] = 145814, + [SMALL_STATE(4332)] = 145873, + [SMALL_STATE(4333)] = 145970, + [SMALL_STATE(4334)] = 146067, + [SMALL_STATE(4335)] = 146164, + [SMALL_STATE(4336)] = 146211, + [SMALL_STATE(4337)] = 146300, + [SMALL_STATE(4338)] = 146397, + [SMALL_STATE(4339)] = 146494, + [SMALL_STATE(4340)] = 146591, + [SMALL_STATE(4341)] = 146688, + [SMALL_STATE(4342)] = 146739, + [SMALL_STATE(4343)] = 146836, + [SMALL_STATE(4344)] = 146883, + [SMALL_STATE(4345)] = 146980, + [SMALL_STATE(4346)] = 147073, + [SMALL_STATE(4347)] = 147120, + [SMALL_STATE(4348)] = 147167, + [SMALL_STATE(4349)] = 147264, + [SMALL_STATE(4350)] = 147357, + [SMALL_STATE(4351)] = 147430, + [SMALL_STATE(4352)] = 147527, + [SMALL_STATE(4353)] = 147592, + [SMALL_STATE(4354)] = 147679, + [SMALL_STATE(4355)] = 147764, + [SMALL_STATE(4356)] = 147847, + [SMALL_STATE(4357)] = 147934, + [SMALL_STATE(4358)] = 148015, + [SMALL_STATE(4359)] = 148104, + [SMALL_STATE(4360)] = 148181, + [SMALL_STATE(4361)] = 148268, + [SMALL_STATE(4362)] = 148365, + [SMALL_STATE(4363)] = 148416, + [SMALL_STATE(4364)] = 148467, + [SMALL_STATE(4365)] = 148564, + [SMALL_STATE(4366)] = 148639, + [SMALL_STATE(4367)] = 148710, + [SMALL_STATE(4368)] = 148777, + [SMALL_STATE(4369)] = 148874, + [SMALL_STATE(4370)] = 148943, + [SMALL_STATE(4371)] = 149036, + [SMALL_STATE(4372)] = 149129, + [SMALL_STATE(4373)] = 149180, + [SMALL_STATE(4374)] = 149277, + [SMALL_STATE(4375)] = 149374, + [SMALL_STATE(4376)] = 149421, + [SMALL_STATE(4377)] = 149468, + [SMALL_STATE(4378)] = 149565, + [SMALL_STATE(4379)] = 149662, + [SMALL_STATE(4380)] = 149709, + [SMALL_STATE(4381)] = 149806, + [SMALL_STATE(4382)] = 149903, + [SMALL_STATE(4383)] = 149950, + [SMALL_STATE(4384)] = 150047, + [SMALL_STATE(4385)] = 150134, + [SMALL_STATE(4386)] = 150231, + [SMALL_STATE(4387)] = 150278, + [SMALL_STATE(4388)] = 150325, + [SMALL_STATE(4389)] = 150398, + [SMALL_STATE(4390)] = 150457, + [SMALL_STATE(4391)] = 150530, + [SMALL_STATE(4392)] = 150589, + [SMALL_STATE(4393)] = 150682, + [SMALL_STATE(4394)] = 150739, + [SMALL_STATE(4395)] = 150836, + [SMALL_STATE(4396)] = 150883, + [SMALL_STATE(4397)] = 150978, + [SMALL_STATE(4398)] = 151067, + [SMALL_STATE(4399)] = 151164, + [SMALL_STATE(4400)] = 151253, + [SMALL_STATE(4401)] = 151340, + [SMALL_STATE(4402)] = 151397, + [SMALL_STATE(4403)] = 151470, + [SMALL_STATE(4404)] = 151563, + [SMALL_STATE(4405)] = 151636, + [SMALL_STATE(4406)] = 151725, + [SMALL_STATE(4407)] = 151772, + [SMALL_STATE(4408)] = 151825, + [SMALL_STATE(4409)] = 151908, + [SMALL_STATE(4410)] = 152005, + [SMALL_STATE(4411)] = 152053, + [SMALL_STATE(4412)] = 152131, + [SMALL_STATE(4413)] = 152215, + [SMALL_STATE(4414)] = 152293, + [SMALL_STATE(4415)] = 152353, + [SMALL_STATE(4416)] = 152431, + [SMALL_STATE(4417)] = 152525, + [SMALL_STATE(4418)] = 152585, + [SMALL_STATE(4419)] = 152645, + [SMALL_STATE(4420)] = 152723, + [SMALL_STATE(4421)] = 152801, + [SMALL_STATE(4422)] = 152879, + [SMALL_STATE(4423)] = 152967, + [SMALL_STATE(4424)] = 153061, + [SMALL_STATE(4425)] = 153153, + [SMALL_STATE(4426)] = 153237, + [SMALL_STATE(4427)] = 153329, + [SMALL_STATE(4428)] = 153417, + [SMALL_STATE(4429)] = 153509, + [SMALL_STATE(4430)] = 153587, + [SMALL_STATE(4431)] = 153681, + [SMALL_STATE(4432)] = 153775, + [SMALL_STATE(4433)] = 153863, + [SMALL_STATE(4434)] = 153921, + [SMALL_STATE(4435)] = 154009, + [SMALL_STATE(4436)] = 154103, + [SMALL_STATE(4437)] = 154195, + [SMALL_STATE(4438)] = 154289, + [SMALL_STATE(4439)] = 154383, + [SMALL_STATE(4440)] = 154447, + [SMALL_STATE(4441)] = 154507, + [SMALL_STATE(4442)] = 154593, + [SMALL_STATE(4443)] = 154677, + [SMALL_STATE(4444)] = 154759, + [SMALL_STATE(4445)] = 154839, + [SMALL_STATE(4446)] = 154933, + [SMALL_STATE(4447)] = 155025, + [SMALL_STATE(4448)] = 155119, + [SMALL_STATE(4449)] = 155211, + [SMALL_STATE(4450)] = 155287, + [SMALL_STATE(4451)] = 155379, + [SMALL_STATE(4452)] = 155453, + [SMALL_STATE(4453)] = 155521, + [SMALL_STATE(4454)] = 155591, + [SMALL_STATE(4455)] = 155657, + [SMALL_STATE(4456)] = 155725, + [SMALL_STATE(4457)] = 155803, + [SMALL_STATE(4458)] = 155895, + [SMALL_STATE(4459)] = 155957, + [SMALL_STATE(4460)] = 156049, + [SMALL_STATE(4461)] = 156095, + [SMALL_STATE(4462)] = 156173, + [SMALL_STATE(4463)] = 156239, + [SMALL_STATE(4464)] = 156309, + [SMALL_STATE(4465)] = 156403, + [SMALL_STATE(4466)] = 156477, + [SMALL_STATE(4467)] = 156553, + [SMALL_STATE(4468)] = 156647, + [SMALL_STATE(4469)] = 156727, + [SMALL_STATE(4470)] = 156809, + [SMALL_STATE(4471)] = 156893, + [SMALL_STATE(4472)] = 156979, + [SMALL_STATE(4473)] = 157039, + [SMALL_STATE(4474)] = 157133, + [SMALL_STATE(4475)] = 157225, + [SMALL_STATE(4476)] = 157303, + [SMALL_STATE(4477)] = 157391, + [SMALL_STATE(4478)] = 157483, + [SMALL_STATE(4479)] = 157575, + [SMALL_STATE(4480)] = 157653, + [SMALL_STATE(4481)] = 157741, + [SMALL_STATE(4482)] = 157833, + [SMALL_STATE(4483)] = 157911, + [SMALL_STATE(4484)] = 158005, + [SMALL_STATE(4485)] = 158093, + [SMALL_STATE(4486)] = 158185, + [SMALL_STATE(4487)] = 158263, + [SMALL_STATE(4488)] = 158333, + [SMALL_STATE(4489)] = 158399, + [SMALL_STATE(4490)] = 158477, + [SMALL_STATE(4491)] = 158549, + [SMALL_STATE(4492)] = 158609, + [SMALL_STATE(4493)] = 158663, + [SMALL_STATE(4494)] = 158727, + [SMALL_STATE(4495)] = 158805, + [SMALL_STATE(4496)] = 158855, + [SMALL_STATE(4497)] = 158901, + [SMALL_STATE(4498)] = 158975, + [SMALL_STATE(4499)] = 159069, + [SMALL_STATE(4500)] = 159145, + [SMALL_STATE(4501)] = 159225, + [SMALL_STATE(4502)] = 159303, + [SMALL_STATE(4503)] = 159385, + [SMALL_STATE(4504)] = 159479, + [SMALL_STATE(4505)] = 159571, + [SMALL_STATE(4506)] = 159629, + [SMALL_STATE(4507)] = 159721, + [SMALL_STATE(4508)] = 159813, + [SMALL_STATE(4509)] = 159859, + [SMALL_STATE(4510)] = 159937, + [SMALL_STATE(4511)] = 160031, + [SMALL_STATE(4512)] = 160109, + [SMALL_STATE(4513)] = 160197, + [SMALL_STATE(4514)] = 160281, + [SMALL_STATE(4515)] = 160341, + [SMALL_STATE(4516)] = 160435, + [SMALL_STATE(4517)] = 160521, + [SMALL_STATE(4518)] = 160609, + [SMALL_STATE(4519)] = 160703, + [SMALL_STATE(4520)] = 160797, + [SMALL_STATE(4521)] = 160857, + [SMALL_STATE(4522)] = 160951, + [SMALL_STATE(4523)] = 161015, + [SMALL_STATE(4524)] = 161109, + [SMALL_STATE(4525)] = 161193, + [SMALL_STATE(4526)] = 161277, + [SMALL_STATE(4527)] = 161325, + [SMALL_STATE(4528)] = 161419, + [SMALL_STATE(4529)] = 161513, + [SMALL_STATE(4530)] = 161591, + [SMALL_STATE(4531)] = 161669, + [SMALL_STATE(4532)] = 161763, + [SMALL_STATE(4533)] = 161821, + [SMALL_STATE(4534)] = 161869, + [SMALL_STATE(4535)] = 161941, + [SMALL_STATE(4536)] = 162019, + [SMALL_STATE(4537)] = 162113, + [SMALL_STATE(4538)] = 162197, + [SMALL_STATE(4539)] = 162285, + [SMALL_STATE(4540)] = 162379, + [SMALL_STATE(4541)] = 162457, + [SMALL_STATE(4542)] = 162549, + [SMALL_STATE(4543)] = 162641, + [SMALL_STATE(4544)] = 162697, + [SMALL_STATE(4545)] = 162791, + [SMALL_STATE(4546)] = 162885, + [SMALL_STATE(4547)] = 162943, + [SMALL_STATE(4548)] = 163037, + [SMALL_STATE(4549)] = 163131, + [SMALL_STATE(4550)] = 163225, + [SMALL_STATE(4551)] = 163277, + [SMALL_STATE(4552)] = 163365, + [SMALL_STATE(4553)] = 163437, + [SMALL_STATE(4554)] = 163531, + [SMALL_STATE(4555)] = 163623, + [SMALL_STATE(4556)] = 163717, + [SMALL_STATE(4557)] = 163811, + [SMALL_STATE(4558)] = 163895, + [SMALL_STATE(4559)] = 163989, + [SMALL_STATE(4560)] = 164061, + [SMALL_STATE(4561)] = 164155, + [SMALL_STATE(4562)] = 164239, + [SMALL_STATE(4563)] = 164317, + [SMALL_STATE(4564)] = 164405, + [SMALL_STATE(4565)] = 164499, + [SMALL_STATE(4566)] = 164593, + [SMALL_STATE(4567)] = 164687, + [SMALL_STATE(4568)] = 164733, + [SMALL_STATE(4569)] = 164811, + [SMALL_STATE(4570)] = 164905, + [SMALL_STATE(4571)] = 164999, + [SMALL_STATE(4572)] = 165045, + [SMALL_STATE(4573)] = 165139, + [SMALL_STATE(4574)] = 165233, + [SMALL_STATE(4575)] = 165289, + [SMALL_STATE(4576)] = 165381, + [SMALL_STATE(4577)] = 165473, + [SMALL_STATE(4578)] = 165551, + [SMALL_STATE(4579)] = 165643, + [SMALL_STATE(4580)] = 165721, + [SMALL_STATE(4581)] = 165815, + [SMALL_STATE(4582)] = 165909, + [SMALL_STATE(4583)] = 165981, + [SMALL_STATE(4584)] = 166059, + [SMALL_STATE(4585)] = 166137, + [SMALL_STATE(4586)] = 166221, + [SMALL_STATE(4587)] = 166271, + [SMALL_STATE(4588)] = 166363, + [SMALL_STATE(4589)] = 166457, + [SMALL_STATE(4590)] = 166535, + [SMALL_STATE(4591)] = 166627, + [SMALL_STATE(4592)] = 166719, + [SMALL_STATE(4593)] = 166790, + [SMALL_STATE(4594)] = 166881, + [SMALL_STATE(4595)] = 166972, + [SMALL_STATE(4596)] = 167063, + [SMALL_STATE(4597)] = 167154, + [SMALL_STATE(4598)] = 167245, + [SMALL_STATE(4599)] = 167336, + [SMALL_STATE(4600)] = 167427, + [SMALL_STATE(4601)] = 167518, + [SMALL_STATE(4602)] = 167609, + [SMALL_STATE(4603)] = 167700, + [SMALL_STATE(4604)] = 167791, + [SMALL_STATE(4605)] = 167882, + [SMALL_STATE(4606)] = 167973, + [SMALL_STATE(4607)] = 168064, + [SMALL_STATE(4608)] = 168155, + [SMALL_STATE(4609)] = 168246, + [SMALL_STATE(4610)] = 168337, + [SMALL_STATE(4611)] = 168428, + [SMALL_STATE(4612)] = 168519, + [SMALL_STATE(4613)] = 168610, + [SMALL_STATE(4614)] = 168701, + [SMALL_STATE(4615)] = 168792, + [SMALL_STATE(4616)] = 168883, + [SMALL_STATE(4617)] = 168974, + [SMALL_STATE(4618)] = 169065, + [SMALL_STATE(4619)] = 169156, + [SMALL_STATE(4620)] = 169247, + [SMALL_STATE(4621)] = 169338, + [SMALL_STATE(4622)] = 169429, + [SMALL_STATE(4623)] = 169520, + [SMALL_STATE(4624)] = 169611, + [SMALL_STATE(4625)] = 169668, + [SMALL_STATE(4626)] = 169759, + [SMALL_STATE(4627)] = 169850, + [SMALL_STATE(4628)] = 169941, + [SMALL_STATE(4629)] = 170032, + [SMALL_STATE(4630)] = 170123, + [SMALL_STATE(4631)] = 170214, + [SMALL_STATE(4632)] = 170305, + [SMALL_STATE(4633)] = 170396, + [SMALL_STATE(4634)] = 170487, + [SMALL_STATE(4635)] = 170578, + [SMALL_STATE(4636)] = 170669, + [SMALL_STATE(4637)] = 170718, + [SMALL_STATE(4638)] = 170763, + [SMALL_STATE(4639)] = 170810, + [SMALL_STATE(4640)] = 170901, + [SMALL_STATE(4641)] = 170950, + [SMALL_STATE(4642)] = 171041, + [SMALL_STATE(4643)] = 171090, + [SMALL_STATE(4644)] = 171139, + [SMALL_STATE(4645)] = 171216, + [SMALL_STATE(4646)] = 171307, + [SMALL_STATE(4647)] = 171362, + [SMALL_STATE(4648)] = 171453, + [SMALL_STATE(4649)] = 171498, + [SMALL_STATE(4650)] = 171589, + [SMALL_STATE(4651)] = 171680, + [SMALL_STATE(4652)] = 171729, + [SMALL_STATE(4653)] = 171778, + [SMALL_STATE(4654)] = 171827, + [SMALL_STATE(4655)] = 171884, + [SMALL_STATE(4656)] = 171975, + [SMALL_STATE(4657)] = 172066, + [SMALL_STATE(4658)] = 172157, + [SMALL_STATE(4659)] = 172248, + [SMALL_STATE(4660)] = 172339, + [SMALL_STATE(4661)] = 172430, + [SMALL_STATE(4662)] = 172521, + [SMALL_STATE(4663)] = 172566, + [SMALL_STATE(4664)] = 172611, + [SMALL_STATE(4665)] = 172702, + [SMALL_STATE(4666)] = 172747, + [SMALL_STATE(4667)] = 172838, + [SMALL_STATE(4668)] = 172929, + [SMALL_STATE(4669)] = 173020, + [SMALL_STATE(4670)] = 173111, + [SMALL_STATE(4671)] = 173156, + [SMALL_STATE(4672)] = 173247, + [SMALL_STATE(4673)] = 173338, + [SMALL_STATE(4674)] = 173383, + [SMALL_STATE(4675)] = 173474, + [SMALL_STATE(4676)] = 173565, + [SMALL_STATE(4677)] = 173656, + [SMALL_STATE(4678)] = 173747, + [SMALL_STATE(4679)] = 173838, + [SMALL_STATE(4680)] = 173929, + [SMALL_STATE(4681)] = 174020, + [SMALL_STATE(4682)] = 174111, + [SMALL_STATE(4683)] = 174202, + [SMALL_STATE(4684)] = 174293, + [SMALL_STATE(4685)] = 174384, + [SMALL_STATE(4686)] = 174475, + [SMALL_STATE(4687)] = 174566, + [SMALL_STATE(4688)] = 174613, + [SMALL_STATE(4689)] = 174704, + [SMALL_STATE(4690)] = 174751, + [SMALL_STATE(4691)] = 174796, + [SMALL_STATE(4692)] = 174887, + [SMALL_STATE(4693)] = 174958, + [SMALL_STATE(4694)] = 175049, + [SMALL_STATE(4695)] = 175140, + [SMALL_STATE(4696)] = 175231, + [SMALL_STATE(4697)] = 175286, + [SMALL_STATE(4698)] = 175377, + [SMALL_STATE(4699)] = 175438, + [SMALL_STATE(4700)] = 175529, + [SMALL_STATE(4701)] = 175620, + [SMALL_STATE(4702)] = 175665, + [SMALL_STATE(4703)] = 175710, + [SMALL_STATE(4704)] = 175755, + [SMALL_STATE(4705)] = 175800, + [SMALL_STATE(4706)] = 175891, + [SMALL_STATE(4707)] = 175936, + [SMALL_STATE(4708)] = 175981, + [SMALL_STATE(4709)] = 176026, + [SMALL_STATE(4710)] = 176117, + [SMALL_STATE(4711)] = 176208, + [SMALL_STATE(4712)] = 176253, + [SMALL_STATE(4713)] = 176308, + [SMALL_STATE(4714)] = 176399, + [SMALL_STATE(4715)] = 176490, + [SMALL_STATE(4716)] = 176581, + [SMALL_STATE(4717)] = 176672, + [SMALL_STATE(4718)] = 176763, + [SMALL_STATE(4719)] = 176854, + [SMALL_STATE(4720)] = 176945, + [SMALL_STATE(4721)] = 176990, + [SMALL_STATE(4722)] = 177037, + [SMALL_STATE(4723)] = 177128, + [SMALL_STATE(4724)] = 177183, + [SMALL_STATE(4725)] = 177260, + [SMALL_STATE(4726)] = 177351, + [SMALL_STATE(4727)] = 177442, + [SMALL_STATE(4728)] = 177533, + [SMALL_STATE(4729)] = 177624, + [SMALL_STATE(4730)] = 177681, + [SMALL_STATE(4731)] = 177772, + [SMALL_STATE(4732)] = 177863, + [SMALL_STATE(4733)] = 177924, + [SMALL_STATE(4734)] = 177995, + [SMALL_STATE(4735)] = 178066, + [SMALL_STATE(4736)] = 178157, + [SMALL_STATE(4737)] = 178204, + [SMALL_STATE(4738)] = 178248, + [SMALL_STATE(4739)] = 178330, + [SMALL_STATE(4740)] = 178380, + [SMALL_STATE(4741)] = 178428, + [SMALL_STATE(4742)] = 178472, + [SMALL_STATE(4743)] = 178520, + [SMALL_STATE(4744)] = 178596, + [SMALL_STATE(4745)] = 178640, + [SMALL_STATE(4746)] = 178684, + [SMALL_STATE(4747)] = 178736, + [SMALL_STATE(4748)] = 178780, + [SMALL_STATE(4749)] = 178836, + [SMALL_STATE(4750)] = 178880, + [SMALL_STATE(4751)] = 178924, + [SMALL_STATE(4752)] = 178968, + [SMALL_STATE(4753)] = 179012, + [SMALL_STATE(4754)] = 179102, + [SMALL_STATE(4755)] = 179176, + [SMALL_STATE(4756)] = 179226, + [SMALL_STATE(4757)] = 179278, + [SMALL_STATE(4758)] = 179322, + [SMALL_STATE(4759)] = 179366, + [SMALL_STATE(4760)] = 179410, + [SMALL_STATE(4761)] = 179506, + [SMALL_STATE(4762)] = 179550, + [SMALL_STATE(4763)] = 179594, + [SMALL_STATE(4764)] = 179670, + [SMALL_STATE(4765)] = 179716, + [SMALL_STATE(4766)] = 179760, + [SMALL_STATE(4767)] = 179848, + [SMALL_STATE(4768)] = 179898, + [SMALL_STATE(4769)] = 179972, + [SMALL_STATE(4770)] = 180016, + [SMALL_STATE(4771)] = 180060, + [SMALL_STATE(4772)] = 180104, + [SMALL_STATE(4773)] = 180148, + [SMALL_STATE(4774)] = 180192, + [SMALL_STATE(4775)] = 180236, + [SMALL_STATE(4776)] = 180310, + [SMALL_STATE(4777)] = 180380, + [SMALL_STATE(4778)] = 180424, + [SMALL_STATE(4779)] = 180498, + [SMALL_STATE(4780)] = 180548, + [SMALL_STATE(4781)] = 180622, + [SMALL_STATE(4782)] = 180704, + [SMALL_STATE(4783)] = 180754, + [SMALL_STATE(4784)] = 180810, + [SMALL_STATE(4785)] = 180854, + [SMALL_STATE(4786)] = 180904, + [SMALL_STATE(4787)] = 180948, + [SMALL_STATE(4788)] = 181000, + [SMALL_STATE(4789)] = 181044, + [SMALL_STATE(4790)] = 181120, + [SMALL_STATE(4791)] = 181164, + [SMALL_STATE(4792)] = 181208, + [SMALL_STATE(4793)] = 181252, + [SMALL_STATE(4794)] = 181296, + [SMALL_STATE(4795)] = 181366, + [SMALL_STATE(4796)] = 181410, + [SMALL_STATE(4797)] = 181454, + [SMALL_STATE(4798)] = 181530, + [SMALL_STATE(4799)] = 181574, + [SMALL_STATE(4800)] = 181618, + [SMALL_STATE(4801)] = 181662, + [SMALL_STATE(4802)] = 181706, + [SMALL_STATE(4803)] = 181754, + [SMALL_STATE(4804)] = 181824, + [SMALL_STATE(4805)] = 181868, + [SMALL_STATE(4806)] = 181912, + [SMALL_STATE(4807)] = 181956, + [SMALL_STATE(4808)] = 182030, + [SMALL_STATE(4809)] = 182074, + [SMALL_STATE(4810)] = 182144, + [SMALL_STATE(4811)] = 182192, + [SMALL_STATE(4812)] = 182261, + [SMALL_STATE(4813)] = 182308, + [SMALL_STATE(4814)] = 182355, + [SMALL_STATE(4815)] = 182402, + [SMALL_STATE(4816)] = 182445, + [SMALL_STATE(4817)] = 182492, + [SMALL_STATE(4818)] = 182539, + [SMALL_STATE(4819)] = 182586, + [SMALL_STATE(4820)] = 182667, + [SMALL_STATE(4821)] = 182714, + [SMALL_STATE(4822)] = 182761, + [SMALL_STATE(4823)] = 182814, + [SMALL_STATE(4824)] = 182863, + [SMALL_STATE(4825)] = 182906, + [SMALL_STATE(4826)] = 182975, + [SMALL_STATE(4827)] = 183056, + [SMALL_STATE(4828)] = 183103, + [SMALL_STATE(4829)] = 183150, + [SMALL_STATE(4830)] = 183197, + [SMALL_STATE(4831)] = 183244, + [SMALL_STATE(4832)] = 183313, + [SMALL_STATE(4833)] = 183382, + [SMALL_STATE(4834)] = 183427, + [SMALL_STATE(4835)] = 183495, + [SMALL_STATE(4836)] = 183575, + [SMALL_STATE(4837)] = 183625, + [SMALL_STATE(4838)] = 183667, + [SMALL_STATE(4839)] = 183721, + [SMALL_STATE(4840)] = 183795, + [SMALL_STATE(4841)] = 183881, + [SMALL_STATE(4842)] = 183923, + [SMALL_STATE(4843)] = 183975, + [SMALL_STATE(4844)] = 184017, + [SMALL_STATE(4845)] = 184059, + [SMALL_STATE(4846)] = 184101, + [SMALL_STATE(4847)] = 184143, + [SMALL_STATE(4848)] = 184185, + [SMALL_STATE(4849)] = 184265, + [SMALL_STATE(4850)] = 184307, + [SMALL_STATE(4851)] = 184349, + [SMALL_STATE(4852)] = 184435, + [SMALL_STATE(4853)] = 184521, + [SMALL_STATE(4854)] = 184607, + [SMALL_STATE(4855)] = 184693, + [SMALL_STATE(4856)] = 184735, + [SMALL_STATE(4857)] = 184777, + [SMALL_STATE(4858)] = 184863, + [SMALL_STATE(4859)] = 184949, + [SMALL_STATE(4860)] = 184999, + [SMALL_STATE(4861)] = 185085, + [SMALL_STATE(4862)] = 185165, + [SMALL_STATE(4863)] = 185245, + [SMALL_STATE(4864)] = 185287, + [SMALL_STATE(4865)] = 185331, + [SMALL_STATE(4866)] = 185373, + [SMALL_STATE(4867)] = 185459, + [SMALL_STATE(4868)] = 185501, + [SMALL_STATE(4869)] = 185587, + [SMALL_STATE(4870)] = 185629, + [SMALL_STATE(4871)] = 185703, + [SMALL_STATE(4872)] = 185789, + [SMALL_STATE(4873)] = 185831, + [SMALL_STATE(4874)] = 185873, + [SMALL_STATE(4875)] = 185915, + [SMALL_STATE(4876)] = 185969, + [SMALL_STATE(4877)] = 186011, + [SMALL_STATE(4878)] = 186053, + [SMALL_STATE(4879)] = 186095, + [SMALL_STATE(4880)] = 186181, + [SMALL_STATE(4881)] = 186223, + [SMALL_STATE(4882)] = 186265, + [SMALL_STATE(4883)] = 186351, + [SMALL_STATE(4884)] = 186393, + [SMALL_STATE(4885)] = 186435, + [SMALL_STATE(4886)] = 186489, + [SMALL_STATE(4887)] = 186557, + [SMALL_STATE(4888)] = 186599, + [SMALL_STATE(4889)] = 186653, + [SMALL_STATE(4890)] = 186695, + [SMALL_STATE(4891)] = 186763, + [SMALL_STATE(4892)] = 186831, + [SMALL_STATE(4893)] = 186873, + [SMALL_STATE(4894)] = 186959, + [SMALL_STATE(4895)] = 187009, + [SMALL_STATE(4896)] = 187051, + [SMALL_STATE(4897)] = 187093, + [SMALL_STATE(4898)] = 187179, + [SMALL_STATE(4899)] = 187259, + [SMALL_STATE(4900)] = 187301, + [SMALL_STATE(4901)] = 187343, + [SMALL_STATE(4902)] = 187385, + [SMALL_STATE(4903)] = 187471, + [SMALL_STATE(4904)] = 187521, + [SMALL_STATE(4905)] = 187589, + [SMALL_STATE(4906)] = 187631, + [SMALL_STATE(4907)] = 187699, + [SMALL_STATE(4908)] = 187741, + [SMALL_STATE(4909)] = 187827, + [SMALL_STATE(4910)] = 187869, + [SMALL_STATE(4911)] = 187955, + [SMALL_STATE(4912)] = 188035, + [SMALL_STATE(4913)] = 188121, + [SMALL_STATE(4914)] = 188163, + [SMALL_STATE(4915)] = 188249, + [SMALL_STATE(4916)] = 188329, + [SMALL_STATE(4917)] = 188409, + [SMALL_STATE(4918)] = 188495, + [SMALL_STATE(4919)] = 188581, + [SMALL_STATE(4920)] = 188648, + [SMALL_STATE(4921)] = 188693, + [SMALL_STATE(4922)] = 188760, + [SMALL_STATE(4923)] = 188813, + [SMALL_STATE(4924)] = 188858, + [SMALL_STATE(4925)] = 188903, + [SMALL_STATE(4926)] = 188976, + [SMALL_STATE(4927)] = 189049, + [SMALL_STATE(4928)] = 189116, + [SMALL_STATE(4929)] = 189183, + [SMALL_STATE(4930)] = 189250, + [SMALL_STATE(4931)] = 189295, + [SMALL_STATE(4932)] = 189340, + [SMALL_STATE(4933)] = 189385, + [SMALL_STATE(4934)] = 189464, + [SMALL_STATE(4935)] = 189543, + [SMALL_STATE(4936)] = 189616, + [SMALL_STATE(4937)] = 189683, + [SMALL_STATE(4938)] = 189728, + [SMALL_STATE(4939)] = 189773, + [SMALL_STATE(4940)] = 189840, + [SMALL_STATE(4941)] = 189893, + [SMALL_STATE(4942)] = 189946, + [SMALL_STATE(4943)] = 190019, + [SMALL_STATE(4944)] = 190070, + [SMALL_STATE(4945)] = 190115, + [SMALL_STATE(4946)] = 190168, + [SMALL_STATE(4947)] = 190213, + [SMALL_STATE(4948)] = 190280, + [SMALL_STATE(4949)] = 190359, + [SMALL_STATE(4950)] = 190404, + [SMALL_STATE(4951)] = 190449, + [SMALL_STATE(4952)] = 190528, + [SMALL_STATE(4953)] = 190580, + [SMALL_STATE(4954)] = 190666, + [SMALL_STATE(4955)] = 190752, + [SMALL_STATE(4956)] = 190838, + [SMALL_STATE(4957)] = 190924, + [SMALL_STATE(4958)] = 190972, + [SMALL_STATE(4959)] = 191052, + [SMALL_STATE(4960)] = 191132, + [SMALL_STATE(4961)] = 191212, + [SMALL_STATE(4962)] = 191260, + [SMALL_STATE(4963)] = 191340, + [SMALL_STATE(4964)] = 191382, + [SMALL_STATE(4965)] = 191462, + [SMALL_STATE(4966)] = 191542, + [SMALL_STATE(4967)] = 191628, + [SMALL_STATE(4968)] = 191714, + [SMALL_STATE(4969)] = 191800, + [SMALL_STATE(4970)] = 191854, + [SMALL_STATE(4971)] = 191934, + [SMALL_STATE(4972)] = 192014, + [SMALL_STATE(4973)] = 192086, + [SMALL_STATE(4974)] = 192166, + [SMALL_STATE(4975)] = 192246, + [SMALL_STATE(4976)] = 192296, + [SMALL_STATE(4977)] = 192382, + [SMALL_STATE(4978)] = 192462, + [SMALL_STATE(4979)] = 192548, + [SMALL_STATE(4980)] = 192634, + [SMALL_STATE(4981)] = 192710, + [SMALL_STATE(4982)] = 192796, + [SMALL_STATE(4983)] = 192876, + [SMALL_STATE(4984)] = 192962, + [SMALL_STATE(4985)] = 193002, + [SMALL_STATE(4986)] = 193088, + [SMALL_STATE(4987)] = 193168, + [SMALL_STATE(4988)] = 193248, + [SMALL_STATE(4989)] = 193334, + [SMALL_STATE(4990)] = 193420, + [SMALL_STATE(4991)] = 193506, + [SMALL_STATE(4992)] = 193592, + [SMALL_STATE(4993)] = 193672, + [SMALL_STATE(4994)] = 193752, + [SMALL_STATE(4995)] = 193832, + [SMALL_STATE(4996)] = 193918, + [SMALL_STATE(4997)] = 193998, + [SMALL_STATE(4998)] = 194084, + [SMALL_STATE(4999)] = 194170, + [SMALL_STATE(5000)] = 194250, + [SMALL_STATE(5001)] = 194330, + [SMALL_STATE(5002)] = 194416, + [SMALL_STATE(5003)] = 194502, + [SMALL_STATE(5004)] = 194588, + [SMALL_STATE(5005)] = 194674, + [SMALL_STATE(5006)] = 194750, + [SMALL_STATE(5007)] = 194836, + [SMALL_STATE(5008)] = 194882, + [SMALL_STATE(5009)] = 194922, + [SMALL_STATE(5010)] = 194962, + [SMALL_STATE(5011)] = 195042, + [SMALL_STATE(5012)] = 195128, + [SMALL_STATE(5013)] = 195214, + [SMALL_STATE(5014)] = 195300, + [SMALL_STATE(5015)] = 195380, + [SMALL_STATE(5016)] = 195420, + [SMALL_STATE(5017)] = 195506, + [SMALL_STATE(5018)] = 195592, + [SMALL_STATE(5019)] = 195678, + [SMALL_STATE(5020)] = 195718, + [SMALL_STATE(5021)] = 195770, + [SMALL_STATE(5022)] = 195846, + [SMALL_STATE(5023)] = 195932, + [SMALL_STATE(5024)] = 195972, + [SMALL_STATE(5025)] = 196048, + [SMALL_STATE(5026)] = 196128, + [SMALL_STATE(5027)] = 196208, + [SMALL_STATE(5028)] = 196284, + [SMALL_STATE(5029)] = 196364, + [SMALL_STATE(5030)] = 196444, + [SMALL_STATE(5031)] = 196530, + [SMALL_STATE(5032)] = 196616, + [SMALL_STATE(5033)] = 196696, + [SMALL_STATE(5034)] = 196776, + [SMALL_STATE(5035)] = 196862, + [SMALL_STATE(5036)] = 196948, + [SMALL_STATE(5037)] = 197034, + [SMALL_STATE(5038)] = 197120, + [SMALL_STATE(5039)] = 197200, + [SMALL_STATE(5040)] = 197286, + [SMALL_STATE(5041)] = 197372, + [SMALL_STATE(5042)] = 197458, + [SMALL_STATE(5043)] = 197538, + [SMALL_STATE(5044)] = 197618, + [SMALL_STATE(5045)] = 197698, + [SMALL_STATE(5046)] = 197784, + [SMALL_STATE(5047)] = 197864, + [SMALL_STATE(5048)] = 197950, + [SMALL_STATE(5049)] = 198036, + [SMALL_STATE(5050)] = 198122, + [SMALL_STATE(5051)] = 198208, + [SMALL_STATE(5052)] = 198288, + [SMALL_STATE(5053)] = 198368, + [SMALL_STATE(5054)] = 198454, + [SMALL_STATE(5055)] = 198530, + [SMALL_STATE(5056)] = 198610, + [SMALL_STATE(5057)] = 198696, + [SMALL_STATE(5058)] = 198736, + [SMALL_STATE(5059)] = 198822, + [SMALL_STATE(5060)] = 198900, + [SMALL_STATE(5061)] = 198980, + [SMALL_STATE(5062)] = 199060, + [SMALL_STATE(5063)] = 199132, + [SMALL_STATE(5064)] = 199212, + [SMALL_STATE(5065)] = 199284, + [SMALL_STATE(5066)] = 199370, + [SMALL_STATE(5067)] = 199456, + [SMALL_STATE(5068)] = 199542, + [SMALL_STATE(5069)] = 199628, + [SMALL_STATE(5070)] = 199704, + [SMALL_STATE(5071)] = 199784, + [SMALL_STATE(5072)] = 199870, + [SMALL_STATE(5073)] = 199956, + [SMALL_STATE(5074)] = 200042, + [SMALL_STATE(5075)] = 200128, + [SMALL_STATE(5076)] = 200214, + [SMALL_STATE(5077)] = 200300, + [SMALL_STATE(5078)] = 200380, + [SMALL_STATE(5079)] = 200452, + [SMALL_STATE(5080)] = 200538, + [SMALL_STATE(5081)] = 200624, + [SMALL_STATE(5082)] = 200710, + [SMALL_STATE(5083)] = 200796, + [SMALL_STATE(5084)] = 200882, + [SMALL_STATE(5085)] = 200962, + [SMALL_STATE(5086)] = 201042, + [SMALL_STATE(5087)] = 201096, + [SMALL_STATE(5088)] = 201182, + [SMALL_STATE(5089)] = 201268, + [SMALL_STATE(5090)] = 201354, + [SMALL_STATE(5091)] = 201434, + [SMALL_STATE(5092)] = 201514, + [SMALL_STATE(5093)] = 201594, + [SMALL_STATE(5094)] = 201680, + [SMALL_STATE(5095)] = 201766, + [SMALL_STATE(5096)] = 201852, + [SMALL_STATE(5097)] = 201938, + [SMALL_STATE(5098)] = 202024, + [SMALL_STATE(5099)] = 202110, + [SMALL_STATE(5100)] = 202196, + [SMALL_STATE(5101)] = 202282, + [SMALL_STATE(5102)] = 202360, + [SMALL_STATE(5103)] = 202446, + [SMALL_STATE(5104)] = 202532, + [SMALL_STATE(5105)] = 202618, + [SMALL_STATE(5106)] = 202704, + [SMALL_STATE(5107)] = 202780, + [SMALL_STATE(5108)] = 202866, + [SMALL_STATE(5109)] = 202946, + [SMALL_STATE(5110)] = 203032, + [SMALL_STATE(5111)] = 203071, + [SMALL_STATE(5112)] = 203154, + [SMALL_STATE(5113)] = 203193, + [SMALL_STATE(5114)] = 203242, + [SMALL_STATE(5115)] = 203281, + [SMALL_STATE(5116)] = 203332, + [SMALL_STATE(5117)] = 203403, + [SMALL_STATE(5118)] = 203486, + [SMALL_STATE(5119)] = 203525, + [SMALL_STATE(5120)] = 203598, + [SMALL_STATE(5121)] = 203637, + [SMALL_STATE(5122)] = 203702, + [SMALL_STATE(5123)] = 203775, + [SMALL_STATE(5124)] = 203814, + [SMALL_STATE(5125)] = 203853, + [SMALL_STATE(5126)] = 203924, + [SMALL_STATE(5127)] = 203995, + [SMALL_STATE(5128)] = 204034, + [SMALL_STATE(5129)] = 204107, + [SMALL_STATE(5130)] = 204190, + [SMALL_STATE(5131)] = 204263, + [SMALL_STATE(5132)] = 204346, + [SMALL_STATE(5133)] = 204419, + [SMALL_STATE(5134)] = 204490, + [SMALL_STATE(5135)] = 204561, + [SMALL_STATE(5136)] = 204600, + [SMALL_STATE(5137)] = 204639, + [SMALL_STATE(5138)] = 204712, + [SMALL_STATE(5139)] = 204785, + [SMALL_STATE(5140)] = 204856, + [SMALL_STATE(5141)] = 204929, + [SMALL_STATE(5142)] = 205002, + [SMALL_STATE(5143)] = 205073, + [SMALL_STATE(5144)] = 205112, + [SMALL_STATE(5145)] = 205185, + [SMALL_STATE(5146)] = 205224, + [SMALL_STATE(5147)] = 205297, + [SMALL_STATE(5148)] = 205336, + [SMALL_STATE(5149)] = 205419, + [SMALL_STATE(5150)] = 205490, + [SMALL_STATE(5151)] = 205541, + [SMALL_STATE(5152)] = 205624, + [SMALL_STATE(5153)] = 205663, + [SMALL_STATE(5154)] = 205746, + [SMALL_STATE(5155)] = 205817, + [SMALL_STATE(5156)] = 205890, + [SMALL_STATE(5157)] = 205929, + [SMALL_STATE(5158)] = 206002, + [SMALL_STATE(5159)] = 206075, + [SMALL_STATE(5160)] = 206146, + [SMALL_STATE(5161)] = 206219, + [SMALL_STATE(5162)] = 206258, + [SMALL_STATE(5163)] = 206331, + [SMALL_STATE(5164)] = 206370, + [SMALL_STATE(5165)] = 206453, + [SMALL_STATE(5166)] = 206526, + [SMALL_STATE(5167)] = 206599, + [SMALL_STATE(5168)] = 206682, + [SMALL_STATE(5169)] = 206765, + [SMALL_STATE(5170)] = 206830, + [SMALL_STATE(5171)] = 206873, + [SMALL_STATE(5172)] = 206916, + [SMALL_STATE(5173)] = 206999, + [SMALL_STATE(5174)] = 207082, + [SMALL_STATE(5175)] = 207121, + [SMALL_STATE(5176)] = 207204, + [SMALL_STATE(5177)] = 207243, + [SMALL_STATE(5178)] = 207326, + [SMALL_STATE(5179)] = 207409, + [SMALL_STATE(5180)] = 207482, + [SMALL_STATE(5181)] = 207547, + [SMALL_STATE(5182)] = 207588, + [SMALL_STATE(5183)] = 207671, + [SMALL_STATE(5184)] = 207714, + [SMALL_STATE(5185)] = 207787, + [SMALL_STATE(5186)] = 207826, + [SMALL_STATE(5187)] = 207865, + [SMALL_STATE(5188)] = 207904, + [SMALL_STATE(5189)] = 207977, + [SMALL_STATE(5190)] = 208016, + [SMALL_STATE(5191)] = 208087, + [SMALL_STATE(5192)] = 208130, + [SMALL_STATE(5193)] = 208195, + [SMALL_STATE(5194)] = 208266, + [SMALL_STATE(5195)] = 208305, + [SMALL_STATE(5196)] = 208388, + [SMALL_STATE(5197)] = 208471, + [SMALL_STATE(5198)] = 208510, + [SMALL_STATE(5199)] = 208549, + [SMALL_STATE(5200)] = 208620, + [SMALL_STATE(5201)] = 208659, + [SMALL_STATE(5202)] = 208730, + [SMALL_STATE(5203)] = 208813, + [SMALL_STATE(5204)] = 208886, + [SMALL_STATE(5205)] = 208925, + [SMALL_STATE(5206)] = 208964, + [SMALL_STATE(5207)] = 209003, + [SMALL_STATE(5208)] = 209042, + [SMALL_STATE(5209)] = 209113, + [SMALL_STATE(5210)] = 209152, + [SMALL_STATE(5211)] = 209225, + [SMALL_STATE(5212)] = 209268, + [SMALL_STATE(5213)] = 209341, + [SMALL_STATE(5214)] = 209384, + [SMALL_STATE(5215)] = 209457, + [SMALL_STATE(5216)] = 209528, + [SMALL_STATE(5217)] = 209601, + [SMALL_STATE(5218)] = 209684, + [SMALL_STATE(5219)] = 209757, + [SMALL_STATE(5220)] = 209800, + [SMALL_STATE(5221)] = 209839, + [SMALL_STATE(5222)] = 209881, + [SMALL_STATE(5223)] = 209931, + [SMALL_STATE(5224)] = 210007, + [SMALL_STATE(5225)] = 210083, + [SMALL_STATE(5226)] = 210125, + [SMALL_STATE(5227)] = 210167, + [SMALL_STATE(5228)] = 210243, + [SMALL_STATE(5229)] = 210285, + [SMALL_STATE(5230)] = 210327, + [SMALL_STATE(5231)] = 210403, + [SMALL_STATE(5232)] = 210473, + [SMALL_STATE(5233)] = 210515, + [SMALL_STATE(5234)] = 210585, + [SMALL_STATE(5235)] = 210627, + [SMALL_STATE(5236)] = 210697, + [SMALL_STATE(5237)] = 210739, + [SMALL_STATE(5238)] = 210789, + [SMALL_STATE(5239)] = 210859, + [SMALL_STATE(5240)] = 210901, + [SMALL_STATE(5241)] = 210971, + [SMALL_STATE(5242)] = 211041, + [SMALL_STATE(5243)] = 211083, + [SMALL_STATE(5244)] = 211125, + [SMALL_STATE(5245)] = 211195, + [SMALL_STATE(5246)] = 211245, + [SMALL_STATE(5247)] = 211315, + [SMALL_STATE(5248)] = 211357, + [SMALL_STATE(5249)] = 211407, + [SMALL_STATE(5250)] = 211476, + [SMALL_STATE(5251)] = 211517, + [SMALL_STATE(5252)] = 211562, + [SMALL_STATE(5253)] = 211631, + [SMALL_STATE(5254)] = 211700, + [SMALL_STATE(5255)] = 211741, + [SMALL_STATE(5256)] = 211786, + [SMALL_STATE(5257)] = 211855, + [SMALL_STATE(5258)] = 211919, + [SMALL_STATE(5259)] = 211981, + [SMALL_STATE(5260)] = 212017, + [SMALL_STATE(5261)] = 212079, + [SMALL_STATE(5262)] = 212141, + [SMALL_STATE(5263)] = 212205, + [SMALL_STATE(5264)] = 212269, + [SMALL_STATE(5265)] = 212305, + [SMALL_STATE(5266)] = 212367, + [SMALL_STATE(5267)] = 212429, + [SMALL_STATE(5268)] = 212491, + [SMALL_STATE(5269)] = 212555, + [SMALL_STATE(5270)] = 212622, + [SMALL_STATE(5271)] = 212689, + [SMALL_STATE(5272)] = 212750, + [SMALL_STATE(5273)] = 212817, + [SMALL_STATE(5274)] = 212884, + [SMALL_STATE(5275)] = 212945, + [SMALL_STATE(5276)] = 213012, + [SMALL_STATE(5277)] = 213079, + [SMALL_STATE(5278)] = 213146, + [SMALL_STATE(5279)] = 213213, + [SMALL_STATE(5280)] = 213274, + [SMALL_STATE(5281)] = 213341, + [SMALL_STATE(5282)] = 213408, + [SMALL_STATE(5283)] = 213475, + [SMALL_STATE(5284)] = 213542, + [SMALL_STATE(5285)] = 213603, + [SMALL_STATE(5286)] = 213664, + [SMALL_STATE(5287)] = 213731, + [SMALL_STATE(5288)] = 213792, + [SMALL_STATE(5289)] = 213859, + [SMALL_STATE(5290)] = 213926, + [SMALL_STATE(5291)] = 213993, + [SMALL_STATE(5292)] = 214032, + [SMALL_STATE(5293)] = 214092, + [SMALL_STATE(5294)] = 214152, + [SMALL_STATE(5295)] = 214212, + [SMALL_STATE(5296)] = 214272, + [SMALL_STATE(5297)] = 214308, + [SMALL_STATE(5298)] = 214368, + [SMALL_STATE(5299)] = 214428, + [SMALL_STATE(5300)] = 214488, + [SMALL_STATE(5301)] = 214548, + [SMALL_STATE(5302)] = 214608, + [SMALL_STATE(5303)] = 214668, + [SMALL_STATE(5304)] = 214728, + [SMALL_STATE(5305)] = 214788, + [SMALL_STATE(5306)] = 214848, + [SMALL_STATE(5307)] = 214908, + [SMALL_STATE(5308)] = 214952, + [SMALL_STATE(5309)] = 215012, + [SMALL_STATE(5310)] = 215072, + [SMALL_STATE(5311)] = 215132, + [SMALL_STATE(5312)] = 215192, + [SMALL_STATE(5313)] = 215252, + [SMALL_STATE(5314)] = 215312, + [SMALL_STATE(5315)] = 215372, + [SMALL_STATE(5316)] = 215432, + [SMALL_STATE(5317)] = 215492, + [SMALL_STATE(5318)] = 215552, + [SMALL_STATE(5319)] = 215612, + [SMALL_STATE(5320)] = 215671, + [SMALL_STATE(5321)] = 215730, + [SMALL_STATE(5322)] = 215783, + [SMALL_STATE(5323)] = 215842, + [SMALL_STATE(5324)] = 215901, + [SMALL_STATE(5325)] = 215960, + [SMALL_STATE(5326)] = 216019, + [SMALL_STATE(5327)] = 216072, + [SMALL_STATE(5328)] = 216131, + [SMALL_STATE(5329)] = 216190, + [SMALL_STATE(5330)] = 216249, + [SMALL_STATE(5331)] = 216302, + [SMALL_STATE(5332)] = 216361, + [SMALL_STATE(5333)] = 216420, + [SMALL_STATE(5334)] = 216479, + [SMALL_STATE(5335)] = 216529, + [SMALL_STATE(5336)] = 216579, + [SMALL_STATE(5337)] = 216637, + [SMALL_STATE(5338)] = 216695, + [SMALL_STATE(5339)] = 216753, + [SMALL_STATE(5340)] = 216811, + [SMALL_STATE(5341)] = 216861, + [SMALL_STATE(5342)] = 216919, + [SMALL_STATE(5343)] = 216969, + [SMALL_STATE(5344)] = 217027, + [SMALL_STATE(5345)] = 217085, + [SMALL_STATE(5346)] = 217143, + [SMALL_STATE(5347)] = 217201, + [SMALL_STATE(5348)] = 217259, + [SMALL_STATE(5349)] = 217317, + [SMALL_STATE(5350)] = 217375, + [SMALL_STATE(5351)] = 217433, + [SMALL_STATE(5352)] = 217483, + [SMALL_STATE(5353)] = 217541, + [SMALL_STATE(5354)] = 217599, + [SMALL_STATE(5355)] = 217657, + [SMALL_STATE(5356)] = 217733, + [SMALL_STATE(5357)] = 217791, + [SMALL_STATE(5358)] = 217849, + [SMALL_STATE(5359)] = 217907, + [SMALL_STATE(5360)] = 217965, + [SMALL_STATE(5361)] = 218015, + [SMALL_STATE(5362)] = 218073, + [SMALL_STATE(5363)] = 218131, + [SMALL_STATE(5364)] = 218189, + [SMALL_STATE(5365)] = 218247, + [SMALL_STATE(5366)] = 218297, + [SMALL_STATE(5367)] = 218355, + [SMALL_STATE(5368)] = 218405, + [SMALL_STATE(5369)] = 218455, + [SMALL_STATE(5370)] = 218503, + [SMALL_STATE(5371)] = 218579, + [SMALL_STATE(5372)] = 218629, + [SMALL_STATE(5373)] = 218687, + [SMALL_STATE(5374)] = 218737, + [SMALL_STATE(5375)] = 218787, + [SMALL_STATE(5376)] = 218845, + [SMALL_STATE(5377)] = 218903, + [SMALL_STATE(5378)] = 218953, + [SMALL_STATE(5379)] = 219003, + [SMALL_STATE(5380)] = 219053, + [SMALL_STATE(5381)] = 219111, + [SMALL_STATE(5382)] = 219161, + [SMALL_STATE(5383)] = 219211, + [SMALL_STATE(5384)] = 219261, + [SMALL_STATE(5385)] = 219319, + [SMALL_STATE(5386)] = 219377, + [SMALL_STATE(5387)] = 219427, + [SMALL_STATE(5388)] = 219477, + [SMALL_STATE(5389)] = 219535, + [SMALL_STATE(5390)] = 219593, + [SMALL_STATE(5391)] = 219651, + [SMALL_STATE(5392)] = 219701, + [SMALL_STATE(5393)] = 219759, + [SMALL_STATE(5394)] = 219817, + [SMALL_STATE(5395)] = 219865, + [SMALL_STATE(5396)] = 219915, + [SMALL_STATE(5397)] = 219973, + [SMALL_STATE(5398)] = 220023, + [SMALL_STATE(5399)] = 220073, + [SMALL_STATE(5400)] = 220131, + [SMALL_STATE(5401)] = 220181, + [SMALL_STATE(5402)] = 220231, + [SMALL_STATE(5403)] = 220289, + [SMALL_STATE(5404)] = 220339, + [SMALL_STATE(5405)] = 220389, + [SMALL_STATE(5406)] = 220447, + [SMALL_STATE(5407)] = 220497, + [SMALL_STATE(5408)] = 220547, + [SMALL_STATE(5409)] = 220605, + [SMALL_STATE(5410)] = 220655, + [SMALL_STATE(5411)] = 220713, + [SMALL_STATE(5412)] = 220763, + [SMALL_STATE(5413)] = 220821, + [SMALL_STATE(5414)] = 220879, + [SMALL_STATE(5415)] = 220937, + [SMALL_STATE(5416)] = 220987, + [SMALL_STATE(5417)] = 221045, + [SMALL_STATE(5418)] = 221103, + [SMALL_STATE(5419)] = 221153, + [SMALL_STATE(5420)] = 221211, + [SMALL_STATE(5421)] = 221269, + [SMALL_STATE(5422)] = 221345, + [SMALL_STATE(5423)] = 221395, + [SMALL_STATE(5424)] = 221445, + [SMALL_STATE(5425)] = 221493, + [SMALL_STATE(5426)] = 221543, + [SMALL_STATE(5427)] = 221593, + [SMALL_STATE(5428)] = 221643, + [SMALL_STATE(5429)] = 221708, + [SMALL_STATE(5430)] = 221773, + [SMALL_STATE(5431)] = 221838, + [SMALL_STATE(5432)] = 221903, + [SMALL_STATE(5433)] = 221968, + [SMALL_STATE(5434)] = 222033, + [SMALL_STATE(5435)] = 222098, + [SMALL_STATE(5436)] = 222163, + [SMALL_STATE(5437)] = 222228, + [SMALL_STATE(5438)] = 222293, + [SMALL_STATE(5439)] = 222358, + [SMALL_STATE(5440)] = 222423, + [SMALL_STATE(5441)] = 222470, + [SMALL_STATE(5442)] = 222541, + [SMALL_STATE(5443)] = 222606, + [SMALL_STATE(5444)] = 222671, + [SMALL_STATE(5445)] = 222736, + [SMALL_STATE(5446)] = 222801, + [SMALL_STATE(5447)] = 222866, + [SMALL_STATE(5448)] = 222931, + [SMALL_STATE(5449)] = 222996, + [SMALL_STATE(5450)] = 223061, + [SMALL_STATE(5451)] = 223126, + [SMALL_STATE(5452)] = 223191, + [SMALL_STATE(5453)] = 223256, + [SMALL_STATE(5454)] = 223287, + [SMALL_STATE(5455)] = 223352, + [SMALL_STATE(5456)] = 223417, + [SMALL_STATE(5457)] = 223482, + [SMALL_STATE(5458)] = 223547, + [SMALL_STATE(5459)] = 223612, + [SMALL_STATE(5460)] = 223677, + [SMALL_STATE(5461)] = 223742, + [SMALL_STATE(5462)] = 223807, + [SMALL_STATE(5463)] = 223872, + [SMALL_STATE(5464)] = 223937, + [SMALL_STATE(5465)] = 224002, + [SMALL_STATE(5466)] = 224067, + [SMALL_STATE(5467)] = 224098, + [SMALL_STATE(5468)] = 224163, + [SMALL_STATE(5469)] = 224228, + [SMALL_STATE(5470)] = 224293, + [SMALL_STATE(5471)] = 224362, + [SMALL_STATE(5472)] = 224427, + [SMALL_STATE(5473)] = 224492, + [SMALL_STATE(5474)] = 224557, + [SMALL_STATE(5475)] = 224622, + [SMALL_STATE(5476)] = 224687, + [SMALL_STATE(5477)] = 224752, + [SMALL_STATE(5478)] = 224817, + [SMALL_STATE(5479)] = 224882, + [SMALL_STATE(5480)] = 224947, + [SMALL_STATE(5481)] = 225012, + [SMALL_STATE(5482)] = 225077, + [SMALL_STATE(5483)] = 225142, + [SMALL_STATE(5484)] = 225207, + [SMALL_STATE(5485)] = 225272, + [SMALL_STATE(5486)] = 225337, + [SMALL_STATE(5487)] = 225402, + [SMALL_STATE(5488)] = 225467, + [SMALL_STATE(5489)] = 225532, + [SMALL_STATE(5490)] = 225597, + [SMALL_STATE(5491)] = 225662, + [SMALL_STATE(5492)] = 225727, + [SMALL_STATE(5493)] = 225792, + [SMALL_STATE(5494)] = 225857, + [SMALL_STATE(5495)] = 225922, + [SMALL_STATE(5496)] = 225987, + [SMALL_STATE(5497)] = 226052, + [SMALL_STATE(5498)] = 226117, + [SMALL_STATE(5499)] = 226182, + [SMALL_STATE(5500)] = 226247, + [SMALL_STATE(5501)] = 226312, + [SMALL_STATE(5502)] = 226377, + [SMALL_STATE(5503)] = 226442, + [SMALL_STATE(5504)] = 226507, + [SMALL_STATE(5505)] = 226572, + [SMALL_STATE(5506)] = 226637, + [SMALL_STATE(5507)] = 226702, + [SMALL_STATE(5508)] = 226767, + [SMALL_STATE(5509)] = 226832, + [SMALL_STATE(5510)] = 226897, + [SMALL_STATE(5511)] = 226968, + [SMALL_STATE(5512)] = 227033, + [SMALL_STATE(5513)] = 227098, + [SMALL_STATE(5514)] = 227163, + [SMALL_STATE(5515)] = 227228, + [SMALL_STATE(5516)] = 227293, + [SMALL_STATE(5517)] = 227358, + [SMALL_STATE(5518)] = 227423, + [SMALL_STATE(5519)] = 227488, + [SMALL_STATE(5520)] = 227553, + [SMALL_STATE(5521)] = 227618, + [SMALL_STATE(5522)] = 227683, + [SMALL_STATE(5523)] = 227748, + [SMALL_STATE(5524)] = 227813, + [SMALL_STATE(5525)] = 227884, + [SMALL_STATE(5526)] = 227949, + [SMALL_STATE(5527)] = 228014, + [SMALL_STATE(5528)] = 228079, + [SMALL_STATE(5529)] = 228144, + [SMALL_STATE(5530)] = 228209, + [SMALL_STATE(5531)] = 228274, + [SMALL_STATE(5532)] = 228339, + [SMALL_STATE(5533)] = 228404, + [SMALL_STATE(5534)] = 228469, + [SMALL_STATE(5535)] = 228534, + [SMALL_STATE(5536)] = 228580, + [SMALL_STATE(5537)] = 228650, + [SMALL_STATE(5538)] = 228706, + [SMALL_STATE(5539)] = 228776, + [SMALL_STATE(5540)] = 228846, + [SMALL_STATE(5541)] = 228880, + [SMALL_STATE(5542)] = 228936, + [SMALL_STATE(5543)] = 229006, + [SMALL_STATE(5544)] = 229076, + [SMALL_STATE(5545)] = 229146, + [SMALL_STATE(5546)] = 229216, + [SMALL_STATE(5547)] = 229262, + [SMALL_STATE(5548)] = 229318, + [SMALL_STATE(5549)] = 229374, + [SMALL_STATE(5550)] = 229444, + [SMALL_STATE(5551)] = 229500, + [SMALL_STATE(5552)] = 229570, + [SMALL_STATE(5553)] = 229626, + [SMALL_STATE(5554)] = 229682, + [SMALL_STATE(5555)] = 229720, + [SMALL_STATE(5556)] = 229776, + [SMALL_STATE(5557)] = 229832, + [SMALL_STATE(5558)] = 229902, + [SMALL_STATE(5559)] = 229972, + [SMALL_STATE(5560)] = 230028, + [SMALL_STATE(5561)] = 230086, + [SMALL_STATE(5562)] = 230142, + [SMALL_STATE(5563)] = 230198, + [SMALL_STATE(5564)] = 230256, + [SMALL_STATE(5565)] = 230312, + [SMALL_STATE(5566)] = 230368, + [SMALL_STATE(5567)] = 230424, + [SMALL_STATE(5568)] = 230480, + [SMALL_STATE(5569)] = 230518, + [SMALL_STATE(5570)] = 230588, + [SMALL_STATE(5571)] = 230644, + [SMALL_STATE(5572)] = 230700, + [SMALL_STATE(5573)] = 230756, + [SMALL_STATE(5574)] = 230812, + [SMALL_STATE(5575)] = 230882, + [SMALL_STATE(5576)] = 230938, + [SMALL_STATE(5577)] = 230994, + [SMALL_STATE(5578)] = 231064, + [SMALL_STATE(5579)] = 231120, + [SMALL_STATE(5580)] = 231176, + [SMALL_STATE(5581)] = 231232, + [SMALL_STATE(5582)] = 231288, + [SMALL_STATE(5583)] = 231344, + [SMALL_STATE(5584)] = 231400, + [SMALL_STATE(5585)] = 231470, + [SMALL_STATE(5586)] = 231540, + [SMALL_STATE(5587)] = 231596, + [SMALL_STATE(5588)] = 231652, + [SMALL_STATE(5589)] = 231710, + [SMALL_STATE(5590)] = 231780, + [SMALL_STATE(5591)] = 231833, + [SMALL_STATE(5592)] = 231896, + [SMALL_STATE(5593)] = 231949, + [SMALL_STATE(5594)] = 232002, + [SMALL_STATE(5595)] = 232055, + [SMALL_STATE(5596)] = 232118, + [SMALL_STATE(5597)] = 232171, + [SMALL_STATE(5598)] = 232216, + [SMALL_STATE(5599)] = 232269, + [SMALL_STATE(5600)] = 232322, + [SMALL_STATE(5601)] = 232375, + [SMALL_STATE(5602)] = 232428, + [SMALL_STATE(5603)] = 232481, + [SMALL_STATE(5604)] = 232544, + [SMALL_STATE(5605)] = 232597, + [SMALL_STATE(5606)] = 232650, + [SMALL_STATE(5607)] = 232679, + [SMALL_STATE(5608)] = 232742, + [SMALL_STATE(5609)] = 232797, + [SMALL_STATE(5610)] = 232830, + [SMALL_STATE(5611)] = 232893, + [SMALL_STATE(5612)] = 232948, + [SMALL_STATE(5613)] = 233011, + [SMALL_STATE(5614)] = 233042, + [SMALL_STATE(5615)] = 233095, + [SMALL_STATE(5616)] = 233148, + [SMALL_STATE(5617)] = 233203, + [SMALL_STATE(5618)] = 233247, + [SMALL_STATE(5619)] = 233305, + [SMALL_STATE(5620)] = 233333, + [SMALL_STATE(5621)] = 233361, + [SMALL_STATE(5622)] = 233393, + [SMALL_STATE(5623)] = 233447, + [SMALL_STATE(5624)] = 233497, + [SMALL_STATE(5625)] = 233525, + [SMALL_STATE(5626)] = 233579, + [SMALL_STATE(5627)] = 233615, + [SMALL_STATE(5628)] = 233657, + [SMALL_STATE(5629)] = 233685, + [SMALL_STATE(5630)] = 233723, + [SMALL_STATE(5631)] = 233771, + [SMALL_STATE(5632)] = 233817, + [SMALL_STATE(5633)] = 233863, + [SMALL_STATE(5634)] = 233907, + [SMALL_STATE(5635)] = 233947, + [SMALL_STATE(5636)] = 233983, + [SMALL_STATE(5637)] = 234041, + [SMALL_STATE(5638)] = 234075, + [SMALL_STATE(5639)] = 234133, + [SMALL_STATE(5640)] = 234191, + [SMALL_STATE(5641)] = 234219, + [SMALL_STATE(5642)] = 234247, + [SMALL_STATE(5643)] = 234275, + [SMALL_STATE(5644)] = 234303, + [SMALL_STATE(5645)] = 234357, + [SMALL_STATE(5646)] = 234399, + [SMALL_STATE(5647)] = 234427, + [SMALL_STATE(5648)] = 234457, + [SMALL_STATE(5649)] = 234485, + [SMALL_STATE(5650)] = 234543, + [SMALL_STATE(5651)] = 234601, + [SMALL_STATE(5652)] = 234637, + [SMALL_STATE(5653)] = 234691, + [SMALL_STATE(5654)] = 234719, + [SMALL_STATE(5655)] = 234757, + [SMALL_STATE(5656)] = 234785, + [SMALL_STATE(5657)] = 234823, + [SMALL_STATE(5658)] = 234881, + [SMALL_STATE(5659)] = 234909, + [SMALL_STATE(5660)] = 234948, + [SMALL_STATE(5661)] = 234975, + [SMALL_STATE(5662)] = 235010, + [SMALL_STATE(5663)] = 235055, + [SMALL_STATE(5664)] = 235100, + [SMALL_STATE(5665)] = 235145, + [SMALL_STATE(5666)] = 235180, + [SMALL_STATE(5667)] = 235215, + [SMALL_STATE(5668)] = 235250, + [SMALL_STATE(5669)] = 235285, + [SMALL_STATE(5670)] = 235320, + [SMALL_STATE(5671)] = 235359, + [SMALL_STATE(5672)] = 235398, + [SMALL_STATE(5673)] = 235437, + [SMALL_STATE(5674)] = 235464, + [SMALL_STATE(5675)] = 235509, + [SMALL_STATE(5676)] = 235548, + [SMALL_STATE(5677)] = 235575, + [SMALL_STATE(5678)] = 235602, + [SMALL_STATE(5679)] = 235637, + [SMALL_STATE(5680)] = 235676, + [SMALL_STATE(5681)] = 235711, + [SMALL_STATE(5682)] = 235740, + [SMALL_STATE(5683)] = 235767, + [SMALL_STATE(5684)] = 235806, + [SMALL_STATE(5685)] = 235833, + [SMALL_STATE(5686)] = 235878, + [SMALL_STATE(5687)] = 235913, + [SMALL_STATE(5688)] = 235948, + [SMALL_STATE(5689)] = 235991, + [SMALL_STATE(5690)] = 236032, + [SMALL_STATE(5691)] = 236071, + [SMALL_STATE(5692)] = 236108, + [SMALL_STATE(5693)] = 236147, + [SMALL_STATE(5694)] = 236182, + [SMALL_STATE(5695)] = 236215, + [SMALL_STATE(5696)] = 236250, + [SMALL_STATE(5697)] = 236289, + [SMALL_STATE(5698)] = 236316, + [SMALL_STATE(5699)] = 236343, + [SMALL_STATE(5700)] = 236388, + [SMALL_STATE(5701)] = 236433, + [SMALL_STATE(5702)] = 236464, + [SMALL_STATE(5703)] = 236509, + [SMALL_STATE(5704)] = 236554, + [SMALL_STATE(5705)] = 236581, + [SMALL_STATE(5706)] = 236608, + [SMALL_STATE(5707)] = 236635, + [SMALL_STATE(5708)] = 236666, + [SMALL_STATE(5709)] = 236705, + [SMALL_STATE(5710)] = 236750, + [SMALL_STATE(5711)] = 236785, + [SMALL_STATE(5712)] = 236830, + [SMALL_STATE(5713)] = 236873, + [SMALL_STATE(5714)] = 236900, + [SMALL_STATE(5715)] = 236927, + [SMALL_STATE(5716)] = 236954, + [SMALL_STATE(5717)] = 236981, + [SMALL_STATE(5718)] = 237008, + [SMALL_STATE(5719)] = 237035, + [SMALL_STATE(5720)] = 237062, + [SMALL_STATE(5721)] = 237089, + [SMALL_STATE(5722)] = 237116, + [SMALL_STATE(5723)] = 237143, + [SMALL_STATE(5724)] = 237178, + [SMALL_STATE(5725)] = 237205, + [SMALL_STATE(5726)] = 237232, + [SMALL_STATE(5727)] = 237259, + [SMALL_STATE(5728)] = 237286, + [SMALL_STATE(5729)] = 237325, + [SMALL_STATE(5730)] = 237352, + [SMALL_STATE(5731)] = 237381, + [SMALL_STATE(5732)] = 237420, + [SMALL_STATE(5733)] = 237459, + [SMALL_STATE(5734)] = 237486, + [SMALL_STATE(5735)] = 237515, + [SMALL_STATE(5736)] = 237542, + [SMALL_STATE(5737)] = 237581, + [SMALL_STATE(5738)] = 237608, + [SMALL_STATE(5739)] = 237647, + [SMALL_STATE(5740)] = 237686, + [SMALL_STATE(5741)] = 237725, + [SMALL_STATE(5742)] = 237764, + [SMALL_STATE(5743)] = 237813, + [SMALL_STATE(5744)] = 237852, + [SMALL_STATE(5745)] = 237901, + [SMALL_STATE(5746)] = 237940, + [SMALL_STATE(5747)] = 237971, + [SMALL_STATE(5748)] = 238010, + [SMALL_STATE(5749)] = 238049, + [SMALL_STATE(5750)] = 238094, + [SMALL_STATE(5751)] = 238125, + [SMALL_STATE(5752)] = 238152, + [SMALL_STATE(5753)] = 238191, + [SMALL_STATE(5754)] = 238218, + [SMALL_STATE(5755)] = 238263, + [SMALL_STATE(5756)] = 238312, + [SMALL_STATE(5757)] = 238339, + [SMALL_STATE(5758)] = 238388, + [SMALL_STATE(5759)] = 238415, + [SMALL_STATE(5760)] = 238442, + [SMALL_STATE(5761)] = 238481, + [SMALL_STATE(5762)] = 238526, + [SMALL_STATE(5763)] = 238571, + [SMALL_STATE(5764)] = 238602, + [SMALL_STATE(5765)] = 238633, + [SMALL_STATE(5766)] = 238668, + [SMALL_STATE(5767)] = 238703, + [SMALL_STATE(5768)] = 238752, + [SMALL_STATE(5769)] = 238787, + [SMALL_STATE(5770)] = 238818, + [SMALL_STATE(5771)] = 238853, + [SMALL_STATE(5772)] = 238902, + [SMALL_STATE(5773)] = 238937, + [SMALL_STATE(5774)] = 238972, + [SMALL_STATE(5775)] = 239007, + [SMALL_STATE(5776)] = 239036, + [SMALL_STATE(5777)] = 239067, + [SMALL_STATE(5778)] = 239113, + [SMALL_STATE(5779)] = 239159, + [SMALL_STATE(5780)] = 239197, + [SMALL_STATE(5781)] = 239233, + [SMALL_STATE(5782)] = 239271, + [SMALL_STATE(5783)] = 239307, + [SMALL_STATE(5784)] = 239343, + [SMALL_STATE(5785)] = 239389, + [SMALL_STATE(5786)] = 239435, + [SMALL_STATE(5787)] = 239481, + [SMALL_STATE(5788)] = 239519, + [SMALL_STATE(5789)] = 239557, + [SMALL_STATE(5790)] = 239595, + [SMALL_STATE(5791)] = 239633, + [SMALL_STATE(5792)] = 239669, + [SMALL_STATE(5793)] = 239705, + [SMALL_STATE(5794)] = 239743, + [SMALL_STATE(5795)] = 239789, + [SMALL_STATE(5796)] = 239825, + [SMALL_STATE(5797)] = 239871, + [SMALL_STATE(5798)] = 239909, + [SMALL_STATE(5799)] = 239945, + [SMALL_STATE(5800)] = 239997, + [SMALL_STATE(5801)] = 240033, + [SMALL_STATE(5802)] = 240069, + [SMALL_STATE(5803)] = 240107, + [SMALL_STATE(5804)] = 240143, + [SMALL_STATE(5805)] = 240189, + [SMALL_STATE(5806)] = 240227, + [SMALL_STATE(5807)] = 240263, + [SMALL_STATE(5808)] = 240309, + [SMALL_STATE(5809)] = 240339, + [SMALL_STATE(5810)] = 240377, + [SMALL_STATE(5811)] = 240415, + [SMALL_STATE(5812)] = 240461, + [SMALL_STATE(5813)] = 240507, + [SMALL_STATE(5814)] = 240553, + [SMALL_STATE(5815)] = 240591, + [SMALL_STATE(5816)] = 240637, + [SMALL_STATE(5817)] = 240683, + [SMALL_STATE(5818)] = 240729, + [SMALL_STATE(5819)] = 240759, + [SMALL_STATE(5820)] = 240801, + [SMALL_STATE(5821)] = 240831, + [SMALL_STATE(5822)] = 240877, + [SMALL_STATE(5823)] = 240923, + [SMALL_STATE(5824)] = 240969, + [SMALL_STATE(5825)] = 241007, + [SMALL_STATE(5826)] = 241053, + [SMALL_STATE(5827)] = 241099, + [SMALL_STATE(5828)] = 241145, + [SMALL_STATE(5829)] = 241183, + [SMALL_STATE(5830)] = 241229, + [SMALL_STATE(5831)] = 241277, + [SMALL_STATE(5832)] = 241307, + [SMALL_STATE(5833)] = 241352, + [SMALL_STATE(5834)] = 241389, + [SMALL_STATE(5835)] = 241440, + [SMALL_STATE(5836)] = 241489, + [SMALL_STATE(5837)] = 241514, + [SMALL_STATE(5838)] = 241539, + [SMALL_STATE(5839)] = 241588, + [SMALL_STATE(5840)] = 241625, + [SMALL_STATE(5841)] = 241674, + [SMALL_STATE(5842)] = 241711, + [SMALL_STATE(5843)] = 241736, + [SMALL_STATE(5844)] = 241773, + [SMALL_STATE(5845)] = 241822, + [SMALL_STATE(5846)] = 241871, + [SMALL_STATE(5847)] = 241912, + [SMALL_STATE(5848)] = 241949, + [SMALL_STATE(5849)] = 241998, + [SMALL_STATE(5850)] = 242047, + [SMALL_STATE(5851)] = 242072, + [SMALL_STATE(5852)] = 242109, + [SMALL_STATE(5853)] = 242142, + [SMALL_STATE(5854)] = 242187, + [SMALL_STATE(5855)] = 242224, + [SMALL_STATE(5856)] = 242261, + [SMALL_STATE(5857)] = 242310, + [SMALL_STATE(5858)] = 242359, + [SMALL_STATE(5859)] = 242390, + [SMALL_STATE(5860)] = 242427, + [SMALL_STATE(5861)] = 242464, + [SMALL_STATE(5862)] = 242513, + [SMALL_STATE(5863)] = 242562, + [SMALL_STATE(5864)] = 242587, + [SMALL_STATE(5865)] = 242612, + [SMALL_STATE(5866)] = 242637, + [SMALL_STATE(5867)] = 242682, + [SMALL_STATE(5868)] = 242719, + [SMALL_STATE(5869)] = 242744, + [SMALL_STATE(5870)] = 242789, + [SMALL_STATE(5871)] = 242826, + [SMALL_STATE(5872)] = 242851, + [SMALL_STATE(5873)] = 242882, + [SMALL_STATE(5874)] = 242907, + [SMALL_STATE(5875)] = 242932, + [SMALL_STATE(5876)] = 242981, + [SMALL_STATE(5877)] = 243022, + [SMALL_STATE(5878)] = 243067, + [SMALL_STATE(5879)] = 243104, + [SMALL_STATE(5880)] = 243149, + [SMALL_STATE(5881)] = 243174, + [SMALL_STATE(5882)] = 243211, + [SMALL_STATE(5883)] = 243260, + [SMALL_STATE(5884)] = 243297, + [SMALL_STATE(5885)] = 243334, + [SMALL_STATE(5886)] = 243383, + [SMALL_STATE(5887)] = 243432, + [SMALL_STATE(5888)] = 243457, + [SMALL_STATE(5889)] = 243494, + [SMALL_STATE(5890)] = 243531, + [SMALL_STATE(5891)] = 243580, + [SMALL_STATE(5892)] = 243625, + [SMALL_STATE(5893)] = 243674, + [SMALL_STATE(5894)] = 243711, + [SMALL_STATE(5895)] = 243748, + [SMALL_STATE(5896)] = 243785, + [SMALL_STATE(5897)] = 243810, + [SMALL_STATE(5898)] = 243855, + [SMALL_STATE(5899)] = 243880, + [SMALL_STATE(5900)] = 243905, + [SMALL_STATE(5901)] = 243954, + [SMALL_STATE(5902)] = 243979, + [SMALL_STATE(5903)] = 244028, + [SMALL_STATE(5904)] = 244053, + [SMALL_STATE(5905)] = 244102, + [SMALL_STATE(5906)] = 244139, + [SMALL_STATE(5907)] = 244164, + [SMALL_STATE(5908)] = 244189, + [SMALL_STATE(5909)] = 244214, + [SMALL_STATE(5910)] = 244263, + [SMALL_STATE(5911)] = 244308, + [SMALL_STATE(5912)] = 244357, + [SMALL_STATE(5913)] = 244388, + [SMALL_STATE(5914)] = 244437, + [SMALL_STATE(5915)] = 244474, + [SMALL_STATE(5916)] = 244523, + [SMALL_STATE(5917)] = 244572, + [SMALL_STATE(5918)] = 244594, + [SMALL_STATE(5919)] = 244640, + [SMALL_STATE(5920)] = 244686, + [SMALL_STATE(5921)] = 244716, + [SMALL_STATE(5922)] = 244742, + [SMALL_STATE(5923)] = 244772, + [SMALL_STATE(5924)] = 244818, + [SMALL_STATE(5925)] = 244854, + [SMALL_STATE(5926)] = 244876, + [SMALL_STATE(5927)] = 244920, + [SMALL_STATE(5928)] = 244966, + [SMALL_STATE(5929)] = 244996, + [SMALL_STATE(5930)] = 245018, + [SMALL_STATE(5931)] = 245058, + [SMALL_STATE(5932)] = 245080, + [SMALL_STATE(5933)] = 245126, + [SMALL_STATE(5934)] = 245156, + [SMALL_STATE(5935)] = 245178, + [SMALL_STATE(5936)] = 245200, + [SMALL_STATE(5937)] = 245226, + [SMALL_STATE(5938)] = 245248, + [SMALL_STATE(5939)] = 245270, + [SMALL_STATE(5940)] = 245292, + [SMALL_STATE(5941)] = 245314, + [SMALL_STATE(5942)] = 245336, + [SMALL_STATE(5943)] = 245380, + [SMALL_STATE(5944)] = 245426, + [SMALL_STATE(5945)] = 245456, + [SMALL_STATE(5946)] = 245502, + [SMALL_STATE(5947)] = 245542, + [SMALL_STATE(5948)] = 245572, + [SMALL_STATE(5949)] = 245616, + [SMALL_STATE(5950)] = 245662, + [SMALL_STATE(5951)] = 245692, + [SMALL_STATE(5952)] = 245738, + [SMALL_STATE(5953)] = 245760, + [SMALL_STATE(5954)] = 245786, + [SMALL_STATE(5955)] = 245816, + [SMALL_STATE(5956)] = 245862, + [SMALL_STATE(5957)] = 245892, + [SMALL_STATE(5958)] = 245914, + [SMALL_STATE(5959)] = 245960, + [SMALL_STATE(5960)] = 245982, + [SMALL_STATE(5961)] = 246028, + [SMALL_STATE(5962)] = 246064, + [SMALL_STATE(5963)] = 246110, + [SMALL_STATE(5964)] = 246132, + [SMALL_STATE(5965)] = 246168, + [SMALL_STATE(5966)] = 246212, + [SMALL_STATE(5967)] = 246248, + [SMALL_STATE(5968)] = 246294, + [SMALL_STATE(5969)] = 246330, + [SMALL_STATE(5970)] = 246354, + [SMALL_STATE(5971)] = 246376, + [SMALL_STATE(5972)] = 246400, + [SMALL_STATE(5973)] = 246446, + [SMALL_STATE(5974)] = 246468, + [SMALL_STATE(5975)] = 246504, + [SMALL_STATE(5976)] = 246550, + [SMALL_STATE(5977)] = 246594, + [SMALL_STATE(5978)] = 246640, + [SMALL_STATE(5979)] = 246670, + [SMALL_STATE(5980)] = 246716, + [SMALL_STATE(5981)] = 246746, + [SMALL_STATE(5982)] = 246782, + [SMALL_STATE(5983)] = 246828, + [SMALL_STATE(5984)] = 246874, + [SMALL_STATE(5985)] = 246900, + [SMALL_STATE(5986)] = 246924, + [SMALL_STATE(5987)] = 246954, + [SMALL_STATE(5988)] = 247000, + [SMALL_STATE(5989)] = 247036, + [SMALL_STATE(5990)] = 247082, + [SMALL_STATE(5991)] = 247128, + [SMALL_STATE(5992)] = 247157, + [SMALL_STATE(5993)] = 247196, + [SMALL_STATE(5994)] = 247241, + [SMALL_STATE(5995)] = 247284, + [SMALL_STATE(5996)] = 247323, + [SMALL_STATE(5997)] = 247362, + [SMALL_STATE(5998)] = 247393, + [SMALL_STATE(5999)] = 247424, + [SMALL_STATE(6000)] = 247467, + [SMALL_STATE(6001)] = 247500, + [SMALL_STATE(6002)] = 247539, + [SMALL_STATE(6003)] = 247566, + [SMALL_STATE(6004)] = 247589, + [SMALL_STATE(6005)] = 247632, + [SMALL_STATE(6006)] = 247665, + [SMALL_STATE(6007)] = 247698, + [SMALL_STATE(6008)] = 247727, + [SMALL_STATE(6009)] = 247756, + [SMALL_STATE(6010)] = 247785, + [SMALL_STATE(6011)] = 247814, + [SMALL_STATE(6012)] = 247843, + [SMALL_STATE(6013)] = 247872, + [SMALL_STATE(6014)] = 247901, + [SMALL_STATE(6015)] = 247932, + [SMALL_STATE(6016)] = 247961, + [SMALL_STATE(6017)] = 248006, + [SMALL_STATE(6018)] = 248045, + [SMALL_STATE(6019)] = 248068, + [SMALL_STATE(6020)] = 248107, + [SMALL_STATE(6021)] = 248130, + [SMALL_STATE(6022)] = 248153, + [SMALL_STATE(6023)] = 248182, + [SMALL_STATE(6024)] = 248213, + [SMALL_STATE(6025)] = 248236, + [SMALL_STATE(6026)] = 248263, + [SMALL_STATE(6027)] = 248292, + [SMALL_STATE(6028)] = 248331, + [SMALL_STATE(6029)] = 248354, + [SMALL_STATE(6030)] = 248385, + [SMALL_STATE(6031)] = 248416, + [SMALL_STATE(6032)] = 248447, + [SMALL_STATE(6033)] = 248490, + [SMALL_STATE(6034)] = 248519, + [SMALL_STATE(6035)] = 248548, + [SMALL_STATE(6036)] = 248579, + [SMALL_STATE(6037)] = 248622, + [SMALL_STATE(6038)] = 248651, + [SMALL_STATE(6039)] = 248690, + [SMALL_STATE(6040)] = 248719, + [SMALL_STATE(6041)] = 248748, + [SMALL_STATE(6042)] = 248777, + [SMALL_STATE(6043)] = 248820, + [SMALL_STATE(6044)] = 248849, + [SMALL_STATE(6045)] = 248878, + [SMALL_STATE(6046)] = 248917, + [SMALL_STATE(6047)] = 248940, + [SMALL_STATE(6048)] = 248983, + [SMALL_STATE(6049)] = 249022, + [SMALL_STATE(6050)] = 249053, + [SMALL_STATE(6051)] = 249092, + [SMALL_STATE(6052)] = 249115, + [SMALL_STATE(6053)] = 249154, + [SMALL_STATE(6054)] = 249185, + [SMALL_STATE(6055)] = 249230, + [SMALL_STATE(6056)] = 249275, + [SMALL_STATE(6057)] = 249308, + [SMALL_STATE(6058)] = 249339, + [SMALL_STATE(6059)] = 249368, + [SMALL_STATE(6060)] = 249407, + [SMALL_STATE(6061)] = 249450, + [SMALL_STATE(6062)] = 249489, + [SMALL_STATE(6063)] = 249518, + [SMALL_STATE(6064)] = 249547, + [SMALL_STATE(6065)] = 249586, + [SMALL_STATE(6066)] = 249619, + [SMALL_STATE(6067)] = 249662, + [SMALL_STATE(6068)] = 249693, + [SMALL_STATE(6069)] = 249726, + [SMALL_STATE(6070)] = 249765, + [SMALL_STATE(6071)] = 249808, + [SMALL_STATE(6072)] = 249851, + [SMALL_STATE(6073)] = 249880, + [SMALL_STATE(6074)] = 249923, + [SMALL_STATE(6075)] = 249962, + [SMALL_STATE(6076)] = 250001, + [SMALL_STATE(6077)] = 250040, + [SMALL_STATE(6078)] = 250073, + [SMALL_STATE(6079)] = 250118, + [SMALL_STATE(6080)] = 250147, + [SMALL_STATE(6081)] = 250180, + [SMALL_STATE(6082)] = 250223, + [SMALL_STATE(6083)] = 250268, + [SMALL_STATE(6084)] = 250307, + [SMALL_STATE(6085)] = 250327, + [SMALL_STATE(6086)] = 250369, + [SMALL_STATE(6087)] = 250399, + [SMALL_STATE(6088)] = 250427, + [SMALL_STATE(6089)] = 250469, + [SMALL_STATE(6090)] = 250501, + [SMALL_STATE(6091)] = 250531, + [SMALL_STATE(6092)] = 250569, + [SMALL_STATE(6093)] = 250611, + [SMALL_STATE(6094)] = 250639, + [SMALL_STATE(6095)] = 250677, + [SMALL_STATE(6096)] = 250715, + [SMALL_STATE(6097)] = 250753, + [SMALL_STATE(6098)] = 250785, + [SMALL_STATE(6099)] = 250817, + [SMALL_STATE(6100)] = 250847, + [SMALL_STATE(6101)] = 250867, + [SMALL_STATE(6102)] = 250897, + [SMALL_STATE(6103)] = 250917, + [SMALL_STATE(6104)] = 250949, + [SMALL_STATE(6105)] = 250991, + [SMALL_STATE(6106)] = 251023, + [SMALL_STATE(6107)] = 251055, + [SMALL_STATE(6108)] = 251085, + [SMALL_STATE(6109)] = 251117, + [SMALL_STATE(6110)] = 251137, + [SMALL_STATE(6111)] = 251157, + [SMALL_STATE(6112)] = 251185, + [SMALL_STATE(6113)] = 251217, + [SMALL_STATE(6114)] = 251249, + [SMALL_STATE(6115)] = 251279, + [SMALL_STATE(6116)] = 251317, + [SMALL_STATE(6117)] = 251359, + [SMALL_STATE(6118)] = 251387, + [SMALL_STATE(6119)] = 251425, + [SMALL_STATE(6120)] = 251467, + [SMALL_STATE(6121)] = 251499, + [SMALL_STATE(6122)] = 251527, + [SMALL_STATE(6123)] = 251555, + [SMALL_STATE(6124)] = 251583, + [SMALL_STATE(6125)] = 251607, + [SMALL_STATE(6126)] = 251649, + [SMALL_STATE(6127)] = 251675, + [SMALL_STATE(6128)] = 251695, + [SMALL_STATE(6129)] = 251733, + [SMALL_STATE(6130)] = 251765, + [SMALL_STATE(6131)] = 251807, + [SMALL_STATE(6132)] = 251839, + [SMALL_STATE(6133)] = 251871, + [SMALL_STATE(6134)] = 251891, + [SMALL_STATE(6135)] = 251923, + [SMALL_STATE(6136)] = 251943, + [SMALL_STATE(6137)] = 251985, + [SMALL_STATE(6138)] = 252023, + [SMALL_STATE(6139)] = 252065, + [SMALL_STATE(6140)] = 252093, + [SMALL_STATE(6141)] = 252113, + [SMALL_STATE(6142)] = 252133, + [SMALL_STATE(6143)] = 252159, + [SMALL_STATE(6144)] = 252183, + [SMALL_STATE(6145)] = 252211, + [SMALL_STATE(6146)] = 252239, + [SMALL_STATE(6147)] = 252265, + [SMALL_STATE(6148)] = 252307, + [SMALL_STATE(6149)] = 252329, + [SMALL_STATE(6150)] = 252357, + [SMALL_STATE(6151)] = 252395, + [SMALL_STATE(6152)] = 252423, + [SMALL_STATE(6153)] = 252465, + [SMALL_STATE(6154)] = 252497, + [SMALL_STATE(6155)] = 252535, + [SMALL_STATE(6156)] = 252555, + [SMALL_STATE(6157)] = 252575, + [SMALL_STATE(6158)] = 252603, + [SMALL_STATE(6159)] = 252641, + [SMALL_STATE(6160)] = 252683, + [SMALL_STATE(6161)] = 252715, + [SMALL_STATE(6162)] = 252753, + [SMALL_STATE(6163)] = 252795, + [SMALL_STATE(6164)] = 252815, + [SMALL_STATE(6165)] = 252857, + [SMALL_STATE(6166)] = 252899, + [SMALL_STATE(6167)] = 252919, + [SMALL_STATE(6168)] = 252957, + [SMALL_STATE(6169)] = 252989, + [SMALL_STATE(6170)] = 253021, + [SMALL_STATE(6171)] = 253049, + [SMALL_STATE(6172)] = 253081, + [SMALL_STATE(6173)] = 253123, + [SMALL_STATE(6174)] = 253155, + [SMALL_STATE(6175)] = 253179, + [SMALL_STATE(6176)] = 253199, + [SMALL_STATE(6177)] = 253237, + [SMALL_STATE(6178)] = 253269, + [SMALL_STATE(6179)] = 253297, + [SMALL_STATE(6180)] = 253319, + [SMALL_STATE(6181)] = 253349, + [SMALL_STATE(6182)] = 253391, + [SMALL_STATE(6183)] = 253421, + [SMALL_STATE(6184)] = 253449, + [SMALL_STATE(6185)] = 253477, + [SMALL_STATE(6186)] = 253519, + [SMALL_STATE(6187)] = 253539, + [SMALL_STATE(6188)] = 253577, + [SMALL_STATE(6189)] = 253607, + [SMALL_STATE(6190)] = 253627, + [SMALL_STATE(6191)] = 253655, + [SMALL_STATE(6192)] = 253683, + [SMALL_STATE(6193)] = 253711, + [SMALL_STATE(6194)] = 253743, + [SMALL_STATE(6195)] = 253785, + [SMALL_STATE(6196)] = 253805, + [SMALL_STATE(6197)] = 253847, + [SMALL_STATE(6198)] = 253867, + [SMALL_STATE(6199)] = 253887, + [SMALL_STATE(6200)] = 253929, + [SMALL_STATE(6201)] = 253961, + [SMALL_STATE(6202)] = 254003, + [SMALL_STATE(6203)] = 254023, + [SMALL_STATE(6204)] = 254053, + [SMALL_STATE(6205)] = 254074, + [SMALL_STATE(6206)] = 254101, + [SMALL_STATE(6207)] = 254136, + [SMALL_STATE(6208)] = 254171, + [SMALL_STATE(6209)] = 254192, + [SMALL_STATE(6210)] = 254219, + [SMALL_STATE(6211)] = 254258, + [SMALL_STATE(6212)] = 254285, + [SMALL_STATE(6213)] = 254306, + [SMALL_STATE(6214)] = 254327, + [SMALL_STATE(6215)] = 254364, + [SMALL_STATE(6216)] = 254401, + [SMALL_STATE(6217)] = 254430, + [SMALL_STATE(6218)] = 254451, + [SMALL_STATE(6219)] = 254486, + [SMALL_STATE(6220)] = 254507, + [SMALL_STATE(6221)] = 254528, + [SMALL_STATE(6222)] = 254555, + [SMALL_STATE(6223)] = 254582, + [SMALL_STATE(6224)] = 254609, + [SMALL_STATE(6225)] = 254636, + [SMALL_STATE(6226)] = 254663, + [SMALL_STATE(6227)] = 254690, + [SMALL_STATE(6228)] = 254717, + [SMALL_STATE(6229)] = 254744, + [SMALL_STATE(6230)] = 254771, + [SMALL_STATE(6231)] = 254792, + [SMALL_STATE(6232)] = 254819, + [SMALL_STATE(6233)] = 254856, + [SMALL_STATE(6234)] = 254877, + [SMALL_STATE(6235)] = 254912, + [SMALL_STATE(6236)] = 254933, + [SMALL_STATE(6237)] = 254954, + [SMALL_STATE(6238)] = 254975, + [SMALL_STATE(6239)] = 255010, + [SMALL_STATE(6240)] = 255037, + [SMALL_STATE(6241)] = 255058, + [SMALL_STATE(6242)] = 255095, + [SMALL_STATE(6243)] = 255116, + [SMALL_STATE(6244)] = 255151, + [SMALL_STATE(6245)] = 255186, + [SMALL_STATE(6246)] = 255207, + [SMALL_STATE(6247)] = 255228, + [SMALL_STATE(6248)] = 255265, + [SMALL_STATE(6249)] = 255292, + [SMALL_STATE(6250)] = 255313, + [SMALL_STATE(6251)] = 255352, + [SMALL_STATE(6252)] = 255373, + [SMALL_STATE(6253)] = 255408, + [SMALL_STATE(6254)] = 255445, + [SMALL_STATE(6255)] = 255466, + [SMALL_STATE(6256)] = 255495, + [SMALL_STATE(6257)] = 255532, + [SMALL_STATE(6258)] = 255569, + [SMALL_STATE(6259)] = 255606, + [SMALL_STATE(6260)] = 255641, + [SMALL_STATE(6261)] = 255674, + [SMALL_STATE(6262)] = 255707, + [SMALL_STATE(6263)] = 255742, + [SMALL_STATE(6264)] = 255775, + [SMALL_STATE(6265)] = 255810, + [SMALL_STATE(6266)] = 255839, + [SMALL_STATE(6267)] = 255874, + [SMALL_STATE(6268)] = 255907, + [SMALL_STATE(6269)] = 255928, + [SMALL_STATE(6270)] = 255957, + [SMALL_STATE(6271)] = 255978, + [SMALL_STATE(6272)] = 256005, + [SMALL_STATE(6273)] = 256034, + [SMALL_STATE(6274)] = 256055, + [SMALL_STATE(6275)] = 256076, + [SMALL_STATE(6276)] = 256109, + [SMALL_STATE(6277)] = 256142, + [SMALL_STATE(6278)] = 256175, + [SMALL_STATE(6279)] = 256214, + [SMALL_STATE(6280)] = 256251, + [SMALL_STATE(6281)] = 256286, + [SMALL_STATE(6282)] = 256323, + [SMALL_STATE(6283)] = 256360, + [SMALL_STATE(6284)] = 256397, + [SMALL_STATE(6285)] = 256432, + [SMALL_STATE(6286)] = 256469, + [SMALL_STATE(6287)] = 256504, + [SMALL_STATE(6288)] = 256541, + [SMALL_STATE(6289)] = 256580, + [SMALL_STATE(6290)] = 256601, + [SMALL_STATE(6291)] = 256622, + [SMALL_STATE(6292)] = 256643, + [SMALL_STATE(6293)] = 256664, + [SMALL_STATE(6294)] = 256699, + [SMALL_STATE(6295)] = 256734, + [SMALL_STATE(6296)] = 256755, + [SMALL_STATE(6297)] = 256788, + [SMALL_STATE(6298)] = 256809, + [SMALL_STATE(6299)] = 256844, + [SMALL_STATE(6300)] = 256865, + [SMALL_STATE(6301)] = 256891, + [SMALL_STATE(6302)] = 256917, + [SMALL_STATE(6303)] = 256943, + [SMALL_STATE(6304)] = 256969, + [SMALL_STATE(6305)] = 256997, + [SMALL_STATE(6306)] = 257023, + [SMALL_STATE(6307)] = 257049, + [SMALL_STATE(6308)] = 257075, + [SMALL_STATE(6309)] = 257101, + [SMALL_STATE(6310)] = 257127, + [SMALL_STATE(6311)] = 257153, + [SMALL_STATE(6312)] = 257189, + [SMALL_STATE(6313)] = 257215, + [SMALL_STATE(6314)] = 257235, + [SMALL_STATE(6315)] = 257263, + [SMALL_STATE(6316)] = 257293, + [SMALL_STATE(6317)] = 257319, + [SMALL_STATE(6318)] = 257343, + [SMALL_STATE(6319)] = 257373, + [SMALL_STATE(6320)] = 257403, + [SMALL_STATE(6321)] = 257433, + [SMALL_STATE(6322)] = 257463, + [SMALL_STATE(6323)] = 257489, + [SMALL_STATE(6324)] = 257519, + [SMALL_STATE(6325)] = 257555, + [SMALL_STATE(6326)] = 257585, + [SMALL_STATE(6327)] = 257611, + [SMALL_STATE(6328)] = 257635, + [SMALL_STATE(6329)] = 257665, + [SMALL_STATE(6330)] = 257691, + [SMALL_STATE(6331)] = 257721, + [SMALL_STATE(6332)] = 257747, + [SMALL_STATE(6333)] = 257773, + [SMALL_STATE(6334)] = 257803, + [SMALL_STATE(6335)] = 257829, + [SMALL_STATE(6336)] = 257851, + [SMALL_STATE(6337)] = 257879, + [SMALL_STATE(6338)] = 257909, + [SMALL_STATE(6339)] = 257933, + [SMALL_STATE(6340)] = 257963, + [SMALL_STATE(6341)] = 257993, + [SMALL_STATE(6342)] = 258017, + [SMALL_STATE(6343)] = 258047, + [SMALL_STATE(6344)] = 258077, + [SMALL_STATE(6345)] = 258113, + [SMALL_STATE(6346)] = 258141, + [SMALL_STATE(6347)] = 258171, + [SMALL_STATE(6348)] = 258201, + [SMALL_STATE(6349)] = 258237, + [SMALL_STATE(6350)] = 258267, + [SMALL_STATE(6351)] = 258297, + [SMALL_STATE(6352)] = 258325, + [SMALL_STATE(6353)] = 258349, + [SMALL_STATE(6354)] = 258385, + [SMALL_STATE(6355)] = 258422, + [SMALL_STATE(6356)] = 258445, + [SMALL_STATE(6357)] = 258478, + [SMALL_STATE(6358)] = 258497, + [SMALL_STATE(6359)] = 258520, + [SMALL_STATE(6360)] = 258557, + [SMALL_STATE(6361)] = 258594, + [SMALL_STATE(6362)] = 258613, + [SMALL_STATE(6363)] = 258646, + [SMALL_STATE(6364)] = 258683, + [SMALL_STATE(6365)] = 258710, + [SMALL_STATE(6366)] = 258737, + [SMALL_STATE(6367)] = 258762, + [SMALL_STATE(6368)] = 258787, + [SMALL_STATE(6369)] = 258814, + [SMALL_STATE(6370)] = 258837, + [SMALL_STATE(6371)] = 258862, + [SMALL_STATE(6372)] = 258889, + [SMALL_STATE(6373)] = 258924, + [SMALL_STATE(6374)] = 258951, + [SMALL_STATE(6375)] = 258978, + [SMALL_STATE(6376)] = 259013, + [SMALL_STATE(6377)] = 259040, + [SMALL_STATE(6378)] = 259067, + [SMALL_STATE(6379)] = 259102, + [SMALL_STATE(6380)] = 259137, + [SMALL_STATE(6381)] = 259172, + [SMALL_STATE(6382)] = 259195, + [SMALL_STATE(6383)] = 259232, + [SMALL_STATE(6384)] = 259259, + [SMALL_STATE(6385)] = 259284, + [SMALL_STATE(6386)] = 259319, + [SMALL_STATE(6387)] = 259352, + [SMALL_STATE(6388)] = 259375, + [SMALL_STATE(6389)] = 259398, + [SMALL_STATE(6390)] = 259433, + [SMALL_STATE(6391)] = 259468, + [SMALL_STATE(6392)] = 259487, + [SMALL_STATE(6393)] = 259520, + [SMALL_STATE(6394)] = 259555, + [SMALL_STATE(6395)] = 259580, + [SMALL_STATE(6396)] = 259617, + [SMALL_STATE(6397)] = 259636, + [SMALL_STATE(6398)] = 259669, + [SMALL_STATE(6399)] = 259696, + [SMALL_STATE(6400)] = 259733, + [SMALL_STATE(6401)] = 259770, + [SMALL_STATE(6402)] = 259795, + [SMALL_STATE(6403)] = 259814, + [SMALL_STATE(6404)] = 259835, + [SMALL_STATE(6405)] = 259858, + [SMALL_STATE(6406)] = 259877, + [SMALL_STATE(6407)] = 259906, + [SMALL_STATE(6408)] = 259925, + [SMALL_STATE(6409)] = 259958, + [SMALL_STATE(6410)] = 259987, + [SMALL_STATE(6411)] = 260024, + [SMALL_STATE(6412)] = 260047, + [SMALL_STATE(6413)] = 260076, + [SMALL_STATE(6414)] = 260113, + [SMALL_STATE(6415)] = 260142, + [SMALL_STATE(6416)] = 260165, + [SMALL_STATE(6417)] = 260188, + [SMALL_STATE(6418)] = 260217, + [SMALL_STATE(6419)] = 260254, + [SMALL_STATE(6420)] = 260273, + [SMALL_STATE(6421)] = 260296, + [SMALL_STATE(6422)] = 260331, + [SMALL_STATE(6423)] = 260354, + [SMALL_STATE(6424)] = 260391, + [SMALL_STATE(6425)] = 260416, + [SMALL_STATE(6426)] = 260451, + [SMALL_STATE(6427)] = 260488, + [SMALL_STATE(6428)] = 260511, + [SMALL_STATE(6429)] = 260534, + [SMALL_STATE(6430)] = 260557, + [SMALL_STATE(6431)] = 260582, + [SMALL_STATE(6432)] = 260619, + [SMALL_STATE(6433)] = 260654, + [SMALL_STATE(6434)] = 260689, + [SMALL_STATE(6435)] = 260724, + [SMALL_STATE(6436)] = 260761, + [SMALL_STATE(6437)] = 260798, + [SMALL_STATE(6438)] = 260835, + [SMALL_STATE(6439)] = 260872, + [SMALL_STATE(6440)] = 260909, + [SMALL_STATE(6441)] = 260946, + [SMALL_STATE(6442)] = 260981, + [SMALL_STATE(6443)] = 261016, + [SMALL_STATE(6444)] = 261051, + [SMALL_STATE(6445)] = 261086, + [SMALL_STATE(6446)] = 261123, + [SMALL_STATE(6447)] = 261160, + [SMALL_STATE(6448)] = 261179, + [SMALL_STATE(6449)] = 261198, + [SMALL_STATE(6450)] = 261235, + [SMALL_STATE(6451)] = 261260, + [SMALL_STATE(6452)] = 261283, + [SMALL_STATE(6453)] = 261308, + [SMALL_STATE(6454)] = 261333, + [SMALL_STATE(6455)] = 261370, + [SMALL_STATE(6456)] = 261407, + [SMALL_STATE(6457)] = 261444, + [SMALL_STATE(6458)] = 261481, + [SMALL_STATE(6459)] = 261506, + [SMALL_STATE(6460)] = 261529, + [SMALL_STATE(6461)] = 261564, + [SMALL_STATE(6462)] = 261601, + [SMALL_STATE(6463)] = 261636, + [SMALL_STATE(6464)] = 261671, + [SMALL_STATE(6465)] = 261708, + [SMALL_STATE(6466)] = 261745, + [SMALL_STATE(6467)] = 261782, + [SMALL_STATE(6468)] = 261819, + [SMALL_STATE(6469)] = 261852, + [SMALL_STATE(6470)] = 261876, + [SMALL_STATE(6471)] = 261906, + [SMALL_STATE(6472)] = 261932, + [SMALL_STATE(6473)] = 261964, + [SMALL_STATE(6474)] = 261992, + [SMALL_STATE(6475)] = 262010, + [SMALL_STATE(6476)] = 262034, + [SMALL_STATE(6477)] = 262052, + [SMALL_STATE(6478)] = 262070, + [SMALL_STATE(6479)] = 262096, + [SMALL_STATE(6480)] = 262120, + [SMALL_STATE(6481)] = 262146, + [SMALL_STATE(6482)] = 262170, + [SMALL_STATE(6483)] = 262194, + [SMALL_STATE(6484)] = 262224, + [SMALL_STATE(6485)] = 262242, + [SMALL_STATE(6486)] = 262266, + [SMALL_STATE(6487)] = 262284, + [SMALL_STATE(6488)] = 262302, + [SMALL_STATE(6489)] = 262326, + [SMALL_STATE(6490)] = 262356, + [SMALL_STATE(6491)] = 262380, + [SMALL_STATE(6492)] = 262398, + [SMALL_STATE(6493)] = 262429, + [SMALL_STATE(6494)] = 262452, + [SMALL_STATE(6495)] = 262469, + [SMALL_STATE(6496)] = 262492, + [SMALL_STATE(6497)] = 262515, + [SMALL_STATE(6498)] = 262534, + [SMALL_STATE(6499)] = 262565, + [SMALL_STATE(6500)] = 262596, + [SMALL_STATE(6501)] = 262619, + [SMALL_STATE(6502)] = 262650, + [SMALL_STATE(6503)] = 262675, + [SMALL_STATE(6504)] = 262694, + [SMALL_STATE(6505)] = 262717, + [SMALL_STATE(6506)] = 262740, + [SMALL_STATE(6507)] = 262759, + [SMALL_STATE(6508)] = 262782, + [SMALL_STATE(6509)] = 262805, + [SMALL_STATE(6510)] = 262836, + [SMALL_STATE(6511)] = 262857, + [SMALL_STATE(6512)] = 262888, + [SMALL_STATE(6513)] = 262905, + [SMALL_STATE(6514)] = 262936, + [SMALL_STATE(6515)] = 262959, + [SMALL_STATE(6516)] = 262982, + [SMALL_STATE(6517)] = 263013, + [SMALL_STATE(6518)] = 263031, + [SMALL_STATE(6519)] = 263057, + [SMALL_STATE(6520)] = 263083, + [SMALL_STATE(6521)] = 263109, + [SMALL_STATE(6522)] = 263135, + [SMALL_STATE(6523)] = 263161, + [SMALL_STATE(6524)] = 263187, + [SMALL_STATE(6525)] = 263209, + [SMALL_STATE(6526)] = 263235, + [SMALL_STATE(6527)] = 263257, + [SMALL_STATE(6528)] = 263283, + [SMALL_STATE(6529)] = 263309, + [SMALL_STATE(6530)] = 263335, + [SMALL_STATE(6531)] = 263355, + [SMALL_STATE(6532)] = 263381, + [SMALL_STATE(6533)] = 263407, + [SMALL_STATE(6534)] = 263433, + [SMALL_STATE(6535)] = 263459, + [SMALL_STATE(6536)] = 263481, + [SMALL_STATE(6537)] = 263507, + [SMALL_STATE(6538)] = 263533, + [SMALL_STATE(6539)] = 263559, + [SMALL_STATE(6540)] = 263581, + [SMALL_STATE(6541)] = 263603, + [SMALL_STATE(6542)] = 263625, + [SMALL_STATE(6543)] = 263645, + [SMALL_STATE(6544)] = 263671, + [SMALL_STATE(6545)] = 263697, + [SMALL_STATE(6546)] = 263723, + [SMALL_STATE(6547)] = 263749, + [SMALL_STATE(6548)] = 263769, + [SMALL_STATE(6549)] = 263791, + [SMALL_STATE(6550)] = 263817, + [SMALL_STATE(6551)] = 263843, + [SMALL_STATE(6552)] = 263865, + [SMALL_STATE(6553)] = 263887, + [SMALL_STATE(6554)] = 263913, + [SMALL_STATE(6555)] = 263939, + [SMALL_STATE(6556)] = 263965, + [SMALL_STATE(6557)] = 263991, + [SMALL_STATE(6558)] = 264013, + [SMALL_STATE(6559)] = 264035, + [SMALL_STATE(6560)] = 264061, + [SMALL_STATE(6561)] = 264087, + [SMALL_STATE(6562)] = 264113, + [SMALL_STATE(6563)] = 264134, + [SMALL_STATE(6564)] = 264149, + [SMALL_STATE(6565)] = 264172, + [SMALL_STATE(6566)] = 264187, + [SMALL_STATE(6567)] = 264202, + [SMALL_STATE(6568)] = 264217, + [SMALL_STATE(6569)] = 264242, + [SMALL_STATE(6570)] = 264257, + [SMALL_STATE(6571)] = 264280, + [SMALL_STATE(6572)] = 264305, + [SMALL_STATE(6573)] = 264330, + [SMALL_STATE(6574)] = 264351, + [SMALL_STATE(6575)] = 264374, + [SMALL_STATE(6576)] = 264397, + [SMALL_STATE(6577)] = 264420, + [SMALL_STATE(6578)] = 264443, + [SMALL_STATE(6579)] = 264466, + [SMALL_STATE(6580)] = 264481, + [SMALL_STATE(6581)] = 264496, + [SMALL_STATE(6582)] = 264519, + [SMALL_STATE(6583)] = 264540, + [SMALL_STATE(6584)] = 264561, + [SMALL_STATE(6585)] = 264580, + [SMALL_STATE(6586)] = 264601, + [SMALL_STATE(6587)] = 264622, + [SMALL_STATE(6588)] = 264637, + [SMALL_STATE(6589)] = 264658, + [SMALL_STATE(6590)] = 264679, + [SMALL_STATE(6591)] = 264702, + [SMALL_STATE(6592)] = 264725, + [SMALL_STATE(6593)] = 264740, + [SMALL_STATE(6594)] = 264755, + [SMALL_STATE(6595)] = 264776, + [SMALL_STATE(6596)] = 264791, + [SMALL_STATE(6597)] = 264812, + [SMALL_STATE(6598)] = 264837, + [SMALL_STATE(6599)] = 264858, + [SMALL_STATE(6600)] = 264873, + [SMALL_STATE(6601)] = 264896, + [SMALL_STATE(6602)] = 264911, + [SMALL_STATE(6603)] = 264926, + [SMALL_STATE(6604)] = 264941, + [SMALL_STATE(6605)] = 264964, + [SMALL_STATE(6606)] = 264989, + [SMALL_STATE(6607)] = 265008, + [SMALL_STATE(6608)] = 265033, + [SMALL_STATE(6609)] = 265054, + [SMALL_STATE(6610)] = 265079, + [SMALL_STATE(6611)] = 265098, + [SMALL_STATE(6612)] = 265123, + [SMALL_STATE(6613)] = 265148, + [SMALL_STATE(6614)] = 265169, + [SMALL_STATE(6615)] = 265184, + [SMALL_STATE(6616)] = 265209, + [SMALL_STATE(6617)] = 265232, + [SMALL_STATE(6618)] = 265247, + [SMALL_STATE(6619)] = 265270, + [SMALL_STATE(6620)] = 265293, + [SMALL_STATE(6621)] = 265314, + [SMALL_STATE(6622)] = 265339, + [SMALL_STATE(6623)] = 265362, + [SMALL_STATE(6624)] = 265377, + [SMALL_STATE(6625)] = 265398, + [SMALL_STATE(6626)] = 265423, + [SMALL_STATE(6627)] = 265444, + [SMALL_STATE(6628)] = 265459, + [SMALL_STATE(6629)] = 265474, + [SMALL_STATE(6630)] = 265494, + [SMALL_STATE(6631)] = 265510, + [SMALL_STATE(6632)] = 265530, + [SMALL_STATE(6633)] = 265546, + [SMALL_STATE(6634)] = 265562, + [SMALL_STATE(6635)] = 265578, + [SMALL_STATE(6636)] = 265594, + [SMALL_STATE(6637)] = 265614, + [SMALL_STATE(6638)] = 265630, + [SMALL_STATE(6639)] = 265650, + [SMALL_STATE(6640)] = 265664, + [SMALL_STATE(6641)] = 265680, + [SMALL_STATE(6642)] = 265700, + [SMALL_STATE(6643)] = 265720, + [SMALL_STATE(6644)] = 265738, + [SMALL_STATE(6645)] = 265758, + [SMALL_STATE(6646)] = 265780, + [SMALL_STATE(6647)] = 265802, + [SMALL_STATE(6648)] = 265818, + [SMALL_STATE(6649)] = 265834, + [SMALL_STATE(6650)] = 265850, + [SMALL_STATE(6651)] = 265870, + [SMALL_STATE(6652)] = 265888, + [SMALL_STATE(6653)] = 265904, + [SMALL_STATE(6654)] = 265924, + [SMALL_STATE(6655)] = 265946, + [SMALL_STATE(6656)] = 265964, + [SMALL_STATE(6657)] = 265984, + [SMALL_STATE(6658)] = 266006, + [SMALL_STATE(6659)] = 266026, + [SMALL_STATE(6660)] = 266046, + [SMALL_STATE(6661)] = 266062, + [SMALL_STATE(6662)] = 266084, + [SMALL_STATE(6663)] = 266100, + [SMALL_STATE(6664)] = 266120, + [SMALL_STATE(6665)] = 266142, + [SMALL_STATE(6666)] = 266162, + [SMALL_STATE(6667)] = 266180, + [SMALL_STATE(6668)] = 266196, + [SMALL_STATE(6669)] = 266218, + [SMALL_STATE(6670)] = 266236, + [SMALL_STATE(6671)] = 266258, + [SMALL_STATE(6672)] = 266276, + [SMALL_STATE(6673)] = 266296, + [SMALL_STATE(6674)] = 266318, + [SMALL_STATE(6675)] = 266336, + [SMALL_STATE(6676)] = 266356, + [SMALL_STATE(6677)] = 266378, + [SMALL_STATE(6678)] = 266398, + [SMALL_STATE(6679)] = 266416, + [SMALL_STATE(6680)] = 266432, + [SMALL_STATE(6681)] = 266452, + [SMALL_STATE(6682)] = 266471, + [SMALL_STATE(6683)] = 266488, + [SMALL_STATE(6684)] = 266507, + [SMALL_STATE(6685)] = 266526, + [SMALL_STATE(6686)] = 266545, + [SMALL_STATE(6687)] = 266564, + [SMALL_STATE(6688)] = 266583, + [SMALL_STATE(6689)] = 266602, + [SMALL_STATE(6690)] = 266621, + [SMALL_STATE(6691)] = 266640, + [SMALL_STATE(6692)] = 266659, + [SMALL_STATE(6693)] = 266678, + [SMALL_STATE(6694)] = 266695, + [SMALL_STATE(6695)] = 266708, + [SMALL_STATE(6696)] = 266727, + [SMALL_STATE(6697)] = 266746, + [SMALL_STATE(6698)] = 266765, + [SMALL_STATE(6699)] = 266782, + [SMALL_STATE(6700)] = 266799, + [SMALL_STATE(6701)] = 266818, + [SMALL_STATE(6702)] = 266837, + [SMALL_STATE(6703)] = 266856, + [SMALL_STATE(6704)] = 266875, + [SMALL_STATE(6705)] = 266894, + [SMALL_STATE(6706)] = 266913, + [SMALL_STATE(6707)] = 266932, + [SMALL_STATE(6708)] = 266951, + [SMALL_STATE(6709)] = 266970, + [SMALL_STATE(6710)] = 266989, + [SMALL_STATE(6711)] = 267008, + [SMALL_STATE(6712)] = 267027, + [SMALL_STATE(6713)] = 267046, + [SMALL_STATE(6714)] = 267065, + [SMALL_STATE(6715)] = 267084, + [SMALL_STATE(6716)] = 267103, + [SMALL_STATE(6717)] = 267122, + [SMALL_STATE(6718)] = 267141, + [SMALL_STATE(6719)] = 267160, + [SMALL_STATE(6720)] = 267179, + [SMALL_STATE(6721)] = 267198, + [SMALL_STATE(6722)] = 267217, + [SMALL_STATE(6723)] = 267236, + [SMALL_STATE(6724)] = 267249, + [SMALL_STATE(6725)] = 267268, + [SMALL_STATE(6726)] = 267287, + [SMALL_STATE(6727)] = 267306, + [SMALL_STATE(6728)] = 267325, + [SMALL_STATE(6729)] = 267344, + [SMALL_STATE(6730)] = 267363, + [SMALL_STATE(6731)] = 267382, + [SMALL_STATE(6732)] = 267401, + [SMALL_STATE(6733)] = 267420, + [SMALL_STATE(6734)] = 267439, + [SMALL_STATE(6735)] = 267458, + [SMALL_STATE(6736)] = 267477, + [SMALL_STATE(6737)] = 267496, + [SMALL_STATE(6738)] = 267515, + [SMALL_STATE(6739)] = 267534, + [SMALL_STATE(6740)] = 267553, + [SMALL_STATE(6741)] = 267570, + [SMALL_STATE(6742)] = 267583, + [SMALL_STATE(6743)] = 267600, + [SMALL_STATE(6744)] = 267617, + [SMALL_STATE(6745)] = 267636, + [SMALL_STATE(6746)] = 267653, + [SMALL_STATE(6747)] = 267670, + [SMALL_STATE(6748)] = 267689, + [SMALL_STATE(6749)] = 267708, + [SMALL_STATE(6750)] = 267727, + [SMALL_STATE(6751)] = 267746, + [SMALL_STATE(6752)] = 267765, + [SMALL_STATE(6753)] = 267784, + [SMALL_STATE(6754)] = 267803, + [SMALL_STATE(6755)] = 267819, + [SMALL_STATE(6756)] = 267833, + [SMALL_STATE(6757)] = 267849, + [SMALL_STATE(6758)] = 267865, + [SMALL_STATE(6759)] = 267881, + [SMALL_STATE(6760)] = 267897, + [SMALL_STATE(6761)] = 267911, + [SMALL_STATE(6762)] = 267925, + [SMALL_STATE(6763)] = 267939, + [SMALL_STATE(6764)] = 267955, + [SMALL_STATE(6765)] = 267969, + [SMALL_STATE(6766)] = 267985, + [SMALL_STATE(6767)] = 268001, + [SMALL_STATE(6768)] = 268017, + [SMALL_STATE(6769)] = 268031, + [SMALL_STATE(6770)] = 268045, + [SMALL_STATE(6771)] = 268061, + [SMALL_STATE(6772)] = 268077, + [SMALL_STATE(6773)] = 268091, + [SMALL_STATE(6774)] = 268107, + [SMALL_STATE(6775)] = 268121, + [SMALL_STATE(6776)] = 268135, + [SMALL_STATE(6777)] = 268149, + [SMALL_STATE(6778)] = 268165, + [SMALL_STATE(6779)] = 268179, + [SMALL_STATE(6780)] = 268195, + [SMALL_STATE(6781)] = 268209, + [SMALL_STATE(6782)] = 268225, + [SMALL_STATE(6783)] = 268235, + [SMALL_STATE(6784)] = 268249, + [SMALL_STATE(6785)] = 268265, + [SMALL_STATE(6786)] = 268279, + [SMALL_STATE(6787)] = 268295, + [SMALL_STATE(6788)] = 268311, + [SMALL_STATE(6789)] = 268327, + [SMALL_STATE(6790)] = 268343, + [SMALL_STATE(6791)] = 268359, + [SMALL_STATE(6792)] = 268375, + [SMALL_STATE(6793)] = 268389, + [SMALL_STATE(6794)] = 268405, + [SMALL_STATE(6795)] = 268419, + [SMALL_STATE(6796)] = 268435, + [SMALL_STATE(6797)] = 268449, + [SMALL_STATE(6798)] = 268465, + [SMALL_STATE(6799)] = 268475, + [SMALL_STATE(6800)] = 268491, + [SMALL_STATE(6801)] = 268507, + [SMALL_STATE(6802)] = 268521, + [SMALL_STATE(6803)] = 268537, + [SMALL_STATE(6804)] = 268551, + [SMALL_STATE(6805)] = 268567, + [SMALL_STATE(6806)] = 268581, + [SMALL_STATE(6807)] = 268595, + [SMALL_STATE(6808)] = 268609, + [SMALL_STATE(6809)] = 268623, + [SMALL_STATE(6810)] = 268639, + [SMALL_STATE(6811)] = 268655, + [SMALL_STATE(6812)] = 268669, + [SMALL_STATE(6813)] = 268685, + [SMALL_STATE(6814)] = 268701, + [SMALL_STATE(6815)] = 268715, + [SMALL_STATE(6816)] = 268731, + [SMALL_STATE(6817)] = 268747, + [SMALL_STATE(6818)] = 268761, + [SMALL_STATE(6819)] = 268777, + [SMALL_STATE(6820)] = 268793, + [SMALL_STATE(6821)] = 268809, + [SMALL_STATE(6822)] = 268825, + [SMALL_STATE(6823)] = 268839, + [SMALL_STATE(6824)] = 268855, + [SMALL_STATE(6825)] = 268869, + [SMALL_STATE(6826)] = 268883, + [SMALL_STATE(6827)] = 268897, + [SMALL_STATE(6828)] = 268911, + [SMALL_STATE(6829)] = 268927, + [SMALL_STATE(6830)] = 268941, + [SMALL_STATE(6831)] = 268955, + [SMALL_STATE(6832)] = 268969, + [SMALL_STATE(6833)] = 268983, + [SMALL_STATE(6834)] = 268999, + [SMALL_STATE(6835)] = 269015, + [SMALL_STATE(6836)] = 269029, + [SMALL_STATE(6837)] = 269045, + [SMALL_STATE(6838)] = 269061, + [SMALL_STATE(6839)] = 269077, + [SMALL_STATE(6840)] = 269091, + [SMALL_STATE(6841)] = 269107, + [SMALL_STATE(6842)] = 269123, + [SMALL_STATE(6843)] = 269139, + [SMALL_STATE(6844)] = 269153, + [SMALL_STATE(6845)] = 269169, + [SMALL_STATE(6846)] = 269183, + [SMALL_STATE(6847)] = 269199, + [SMALL_STATE(6848)] = 269215, + [SMALL_STATE(6849)] = 269229, + [SMALL_STATE(6850)] = 269243, + [SMALL_STATE(6851)] = 269259, + [SMALL_STATE(6852)] = 269275, + [SMALL_STATE(6853)] = 269291, + [SMALL_STATE(6854)] = 269307, + [SMALL_STATE(6855)] = 269323, + [SMALL_STATE(6856)] = 269339, + [SMALL_STATE(6857)] = 269355, + [SMALL_STATE(6858)] = 269371, + [SMALL_STATE(6859)] = 269385, + [SMALL_STATE(6860)] = 269401, + [SMALL_STATE(6861)] = 269415, + [SMALL_STATE(6862)] = 269429, + [SMALL_STATE(6863)] = 269445, + [SMALL_STATE(6864)] = 269461, + [SMALL_STATE(6865)] = 269477, + [SMALL_STATE(6866)] = 269493, + [SMALL_STATE(6867)] = 269507, + [SMALL_STATE(6868)] = 269517, + [SMALL_STATE(6869)] = 269533, + [SMALL_STATE(6870)] = 269549, + [SMALL_STATE(6871)] = 269565, + [SMALL_STATE(6872)] = 269581, + [SMALL_STATE(6873)] = 269597, + [SMALL_STATE(6874)] = 269611, + [SMALL_STATE(6875)] = 269625, + [SMALL_STATE(6876)] = 269639, + [SMALL_STATE(6877)] = 269655, + [SMALL_STATE(6878)] = 269669, + [SMALL_STATE(6879)] = 269685, + [SMALL_STATE(6880)] = 269699, + [SMALL_STATE(6881)] = 269715, + [SMALL_STATE(6882)] = 269729, + [SMALL_STATE(6883)] = 269745, + [SMALL_STATE(6884)] = 269761, + [SMALL_STATE(6885)] = 269777, + [SMALL_STATE(6886)] = 269793, + [SMALL_STATE(6887)] = 269807, + [SMALL_STATE(6888)] = 269823, + [SMALL_STATE(6889)] = 269839, + [SMALL_STATE(6890)] = 269855, + [SMALL_STATE(6891)] = 269871, + [SMALL_STATE(6892)] = 269887, + [SMALL_STATE(6893)] = 269901, + [SMALL_STATE(6894)] = 269917, + [SMALL_STATE(6895)] = 269933, + [SMALL_STATE(6896)] = 269949, + [SMALL_STATE(6897)] = 269965, + [SMALL_STATE(6898)] = 269981, + [SMALL_STATE(6899)] = 269997, + [SMALL_STATE(6900)] = 270013, + [SMALL_STATE(6901)] = 270027, + [SMALL_STATE(6902)] = 270043, + [SMALL_STATE(6903)] = 270057, + [SMALL_STATE(6904)] = 270071, + [SMALL_STATE(6905)] = 270085, + [SMALL_STATE(6906)] = 270101, + [SMALL_STATE(6907)] = 270115, + [SMALL_STATE(6908)] = 270129, + [SMALL_STATE(6909)] = 270143, + [SMALL_STATE(6910)] = 270157, + [SMALL_STATE(6911)] = 270173, + [SMALL_STATE(6912)] = 270189, + [SMALL_STATE(6913)] = 270203, + [SMALL_STATE(6914)] = 270219, + [SMALL_STATE(6915)] = 270233, + [SMALL_STATE(6916)] = 270249, + [SMALL_STATE(6917)] = 270263, + [SMALL_STATE(6918)] = 270277, + [SMALL_STATE(6919)] = 270293, + [SMALL_STATE(6920)] = 270309, + [SMALL_STATE(6921)] = 270325, + [SMALL_STATE(6922)] = 270339, + [SMALL_STATE(6923)] = 270353, + [SMALL_STATE(6924)] = 270367, + [SMALL_STATE(6925)] = 270381, + [SMALL_STATE(6926)] = 270395, + [SMALL_STATE(6927)] = 270409, + [SMALL_STATE(6928)] = 270425, + [SMALL_STATE(6929)] = 270441, + [SMALL_STATE(6930)] = 270457, + [SMALL_STATE(6931)] = 270473, + [SMALL_STATE(6932)] = 270489, + [SMALL_STATE(6933)] = 270503, + [SMALL_STATE(6934)] = 270517, + [SMALL_STATE(6935)] = 270531, + [SMALL_STATE(6936)] = 270547, + [SMALL_STATE(6937)] = 270563, + [SMALL_STATE(6938)] = 270577, + [SMALL_STATE(6939)] = 270591, + [SMALL_STATE(6940)] = 270605, + [SMALL_STATE(6941)] = 270619, + [SMALL_STATE(6942)] = 270633, + [SMALL_STATE(6943)] = 270649, + [SMALL_STATE(6944)] = 270665, + [SMALL_STATE(6945)] = 270679, + [SMALL_STATE(6946)] = 270693, + [SMALL_STATE(6947)] = 270707, + [SMALL_STATE(6948)] = 270723, + [SMALL_STATE(6949)] = 270737, + [SMALL_STATE(6950)] = 270753, + [SMALL_STATE(6951)] = 270769, + [SMALL_STATE(6952)] = 270783, + [SMALL_STATE(6953)] = 270799, + [SMALL_STATE(6954)] = 270813, + [SMALL_STATE(6955)] = 270827, + [SMALL_STATE(6956)] = 270843, + [SMALL_STATE(6957)] = 270859, + [SMALL_STATE(6958)] = 270873, + [SMALL_STATE(6959)] = 270889, + [SMALL_STATE(6960)] = 270905, + [SMALL_STATE(6961)] = 270919, + [SMALL_STATE(6962)] = 270935, + [SMALL_STATE(6963)] = 270951, + [SMALL_STATE(6964)] = 270967, + [SMALL_STATE(6965)] = 270981, + [SMALL_STATE(6966)] = 270995, + [SMALL_STATE(6967)] = 271009, + [SMALL_STATE(6968)] = 271025, + [SMALL_STATE(6969)] = 271041, + [SMALL_STATE(6970)] = 271055, + [SMALL_STATE(6971)] = 271069, + [SMALL_STATE(6972)] = 271085, + [SMALL_STATE(6973)] = 271101, + [SMALL_STATE(6974)] = 271115, + [SMALL_STATE(6975)] = 271129, + [SMALL_STATE(6976)] = 271145, + [SMALL_STATE(6977)] = 271161, + [SMALL_STATE(6978)] = 271177, + [SMALL_STATE(6979)] = 271193, + [SMALL_STATE(6980)] = 271209, + [SMALL_STATE(6981)] = 271223, + [SMALL_STATE(6982)] = 271239, + [SMALL_STATE(6983)] = 271255, + [SMALL_STATE(6984)] = 271271, + [SMALL_STATE(6985)] = 271287, + [SMALL_STATE(6986)] = 271303, + [SMALL_STATE(6987)] = 271317, + [SMALL_STATE(6988)] = 271333, + [SMALL_STATE(6989)] = 271349, + [SMALL_STATE(6990)] = 271363, + [SMALL_STATE(6991)] = 271377, + [SMALL_STATE(6992)] = 271391, + [SMALL_STATE(6993)] = 271407, + [SMALL_STATE(6994)] = 271423, + [SMALL_STATE(6995)] = 271439, + [SMALL_STATE(6996)] = 271453, + [SMALL_STATE(6997)] = 271467, + [SMALL_STATE(6998)] = 271483, + [SMALL_STATE(6999)] = 271499, + [SMALL_STATE(7000)] = 271513, + [SMALL_STATE(7001)] = 271529, + [SMALL_STATE(7002)] = 271543, + [SMALL_STATE(7003)] = 271559, + [SMALL_STATE(7004)] = 271573, + [SMALL_STATE(7005)] = 271589, + [SMALL_STATE(7006)] = 271605, + [SMALL_STATE(7007)] = 271619, + [SMALL_STATE(7008)] = 271633, + [SMALL_STATE(7009)] = 271649, + [SMALL_STATE(7010)] = 271663, + [SMALL_STATE(7011)] = 271679, + [SMALL_STATE(7012)] = 271695, + [SMALL_STATE(7013)] = 271711, + [SMALL_STATE(7014)] = 271727, + [SMALL_STATE(7015)] = 271741, + [SMALL_STATE(7016)] = 271755, + [SMALL_STATE(7017)] = 271769, + [SMALL_STATE(7018)] = 271783, + [SMALL_STATE(7019)] = 271797, + [SMALL_STATE(7020)] = 271813, + [SMALL_STATE(7021)] = 271827, + [SMALL_STATE(7022)] = 271841, + [SMALL_STATE(7023)] = 271857, + [SMALL_STATE(7024)] = 271873, + [SMALL_STATE(7025)] = 271889, + [SMALL_STATE(7026)] = 271905, + [SMALL_STATE(7027)] = 271921, + [SMALL_STATE(7028)] = 271937, + [SMALL_STATE(7029)] = 271951, + [SMALL_STATE(7030)] = 271967, + [SMALL_STATE(7031)] = 271980, + [SMALL_STATE(7032)] = 271993, + [SMALL_STATE(7033)] = 272006, + [SMALL_STATE(7034)] = 272019, + [SMALL_STATE(7035)] = 272030, + [SMALL_STATE(7036)] = 272043, + [SMALL_STATE(7037)] = 272056, + [SMALL_STATE(7038)] = 272069, + [SMALL_STATE(7039)] = 272080, + [SMALL_STATE(7040)] = 272093, + [SMALL_STATE(7041)] = 272106, + [SMALL_STATE(7042)] = 272117, + [SMALL_STATE(7043)] = 272126, + [SMALL_STATE(7044)] = 272139, + [SMALL_STATE(7045)] = 272152, + [SMALL_STATE(7046)] = 272165, + [SMALL_STATE(7047)] = 272178, + [SMALL_STATE(7048)] = 272191, + [SMALL_STATE(7049)] = 272200, + [SMALL_STATE(7050)] = 272213, + [SMALL_STATE(7051)] = 272226, + [SMALL_STATE(7052)] = 272239, + [SMALL_STATE(7053)] = 272252, + [SMALL_STATE(7054)] = 272265, + [SMALL_STATE(7055)] = 272278, + [SMALL_STATE(7056)] = 272291, + [SMALL_STATE(7057)] = 272302, + [SMALL_STATE(7058)] = 272315, + [SMALL_STATE(7059)] = 272328, + [SMALL_STATE(7060)] = 272341, + [SMALL_STATE(7061)] = 272354, + [SMALL_STATE(7062)] = 272367, + [SMALL_STATE(7063)] = 272376, + [SMALL_STATE(7064)] = 272387, + [SMALL_STATE(7065)] = 272400, + [SMALL_STATE(7066)] = 272413, + [SMALL_STATE(7067)] = 272426, + [SMALL_STATE(7068)] = 272439, + [SMALL_STATE(7069)] = 272452, + [SMALL_STATE(7070)] = 272465, + [SMALL_STATE(7071)] = 272478, + [SMALL_STATE(7072)] = 272491, + [SMALL_STATE(7073)] = 272504, + [SMALL_STATE(7074)] = 272517, + [SMALL_STATE(7075)] = 272530, + [SMALL_STATE(7076)] = 272543, + [SMALL_STATE(7077)] = 272556, + [SMALL_STATE(7078)] = 272569, + [SMALL_STATE(7079)] = 272582, + [SMALL_STATE(7080)] = 272595, + [SMALL_STATE(7081)] = 272608, + [SMALL_STATE(7082)] = 272621, + [SMALL_STATE(7083)] = 272634, + [SMALL_STATE(7084)] = 272647, + [SMALL_STATE(7085)] = 272660, + [SMALL_STATE(7086)] = 272673, + [SMALL_STATE(7087)] = 272684, + [SMALL_STATE(7088)] = 272695, + [SMALL_STATE(7089)] = 272708, + [SMALL_STATE(7090)] = 272721, + [SMALL_STATE(7091)] = 272734, + [SMALL_STATE(7092)] = 272747, + [SMALL_STATE(7093)] = 272760, + [SMALL_STATE(7094)] = 272773, + [SMALL_STATE(7095)] = 272786, + [SMALL_STATE(7096)] = 272799, + [SMALL_STATE(7097)] = 272812, + [SMALL_STATE(7098)] = 272825, + [SMALL_STATE(7099)] = 272838, + [SMALL_STATE(7100)] = 272851, + [SMALL_STATE(7101)] = 272864, + [SMALL_STATE(7102)] = 272877, + [SMALL_STATE(7103)] = 272890, + [SMALL_STATE(7104)] = 272903, + [SMALL_STATE(7105)] = 272916, + [SMALL_STATE(7106)] = 272929, + [SMALL_STATE(7107)] = 272942, + [SMALL_STATE(7108)] = 272955, + [SMALL_STATE(7109)] = 272968, + [SMALL_STATE(7110)] = 272979, + [SMALL_STATE(7111)] = 272992, + [SMALL_STATE(7112)] = 273005, + [SMALL_STATE(7113)] = 273018, + [SMALL_STATE(7114)] = 273031, + [SMALL_STATE(7115)] = 273044, + [SMALL_STATE(7116)] = 273057, + [SMALL_STATE(7117)] = 273070, + [SMALL_STATE(7118)] = 273083, + [SMALL_STATE(7119)] = 273096, + [SMALL_STATE(7120)] = 273109, + [SMALL_STATE(7121)] = 273122, + [SMALL_STATE(7122)] = 273135, + [SMALL_STATE(7123)] = 273144, + [SMALL_STATE(7124)] = 273157, + [SMALL_STATE(7125)] = 273170, + [SMALL_STATE(7126)] = 273181, + [SMALL_STATE(7127)] = 273194, + [SMALL_STATE(7128)] = 273207, + [SMALL_STATE(7129)] = 273220, + [SMALL_STATE(7130)] = 273233, + [SMALL_STATE(7131)] = 273246, + [SMALL_STATE(7132)] = 273259, + [SMALL_STATE(7133)] = 273272, + [SMALL_STATE(7134)] = 273285, + [SMALL_STATE(7135)] = 273298, + [SMALL_STATE(7136)] = 273311, + [SMALL_STATE(7137)] = 273324, + [SMALL_STATE(7138)] = 273337, + [SMALL_STATE(7139)] = 273350, + [SMALL_STATE(7140)] = 273363, + [SMALL_STATE(7141)] = 273376, + [SMALL_STATE(7142)] = 273389, + [SMALL_STATE(7143)] = 273402, + [SMALL_STATE(7144)] = 273415, + [SMALL_STATE(7145)] = 273428, + [SMALL_STATE(7146)] = 273441, + [SMALL_STATE(7147)] = 273454, + [SMALL_STATE(7148)] = 273467, + [SMALL_STATE(7149)] = 273480, + [SMALL_STATE(7150)] = 273493, + [SMALL_STATE(7151)] = 273506, + [SMALL_STATE(7152)] = 273519, + [SMALL_STATE(7153)] = 273532, + [SMALL_STATE(7154)] = 273545, + [SMALL_STATE(7155)] = 273558, + [SMALL_STATE(7156)] = 273571, + [SMALL_STATE(7157)] = 273584, + [SMALL_STATE(7158)] = 273597, + [SMALL_STATE(7159)] = 273610, + [SMALL_STATE(7160)] = 273623, + [SMALL_STATE(7161)] = 273636, + [SMALL_STATE(7162)] = 273649, + [SMALL_STATE(7163)] = 273662, + [SMALL_STATE(7164)] = 273675, + [SMALL_STATE(7165)] = 273688, + [SMALL_STATE(7166)] = 273701, + [SMALL_STATE(7167)] = 273714, + [SMALL_STATE(7168)] = 273725, + [SMALL_STATE(7169)] = 273738, + [SMALL_STATE(7170)] = 273751, + [SMALL_STATE(7171)] = 273762, + [SMALL_STATE(7172)] = 273775, + [SMALL_STATE(7173)] = 273786, + [SMALL_STATE(7174)] = 273799, + [SMALL_STATE(7175)] = 273812, + [SMALL_STATE(7176)] = 273825, + [SMALL_STATE(7177)] = 273838, + [SMALL_STATE(7178)] = 273851, + [SMALL_STATE(7179)] = 273864, + [SMALL_STATE(7180)] = 273873, + [SMALL_STATE(7181)] = 273886, + [SMALL_STATE(7182)] = 273899, + [SMALL_STATE(7183)] = 273912, + [SMALL_STATE(7184)] = 273925, + [SMALL_STATE(7185)] = 273938, + [SMALL_STATE(7186)] = 273951, + [SMALL_STATE(7187)] = 273962, + [SMALL_STATE(7188)] = 273975, + [SMALL_STATE(7189)] = 273988, + [SMALL_STATE(7190)] = 274001, + [SMALL_STATE(7191)] = 274014, + [SMALL_STATE(7192)] = 274027, + [SMALL_STATE(7193)] = 274038, + [SMALL_STATE(7194)] = 274049, + [SMALL_STATE(7195)] = 274060, + [SMALL_STATE(7196)] = 274073, + [SMALL_STATE(7197)] = 274086, + [SMALL_STATE(7198)] = 274099, + [SMALL_STATE(7199)] = 274112, + [SMALL_STATE(7200)] = 274125, + [SMALL_STATE(7201)] = 274136, + [SMALL_STATE(7202)] = 274149, + [SMALL_STATE(7203)] = 274162, + [SMALL_STATE(7204)] = 274173, + [SMALL_STATE(7205)] = 274186, + [SMALL_STATE(7206)] = 274199, + [SMALL_STATE(7207)] = 274212, + [SMALL_STATE(7208)] = 274225, + [SMALL_STATE(7209)] = 274238, + [SMALL_STATE(7210)] = 274251, + [SMALL_STATE(7211)] = 274264, + [SMALL_STATE(7212)] = 274277, + [SMALL_STATE(7213)] = 274290, + [SMALL_STATE(7214)] = 274303, + [SMALL_STATE(7215)] = 274316, + [SMALL_STATE(7216)] = 274325, + [SMALL_STATE(7217)] = 274338, + [SMALL_STATE(7218)] = 274351, + [SMALL_STATE(7219)] = 274364, + [SMALL_STATE(7220)] = 274377, + [SMALL_STATE(7221)] = 274386, + [SMALL_STATE(7222)] = 274399, + [SMALL_STATE(7223)] = 274412, + [SMALL_STATE(7224)] = 274425, + [SMALL_STATE(7225)] = 274438, + [SMALL_STATE(7226)] = 274449, + [SMALL_STATE(7227)] = 274462, + [SMALL_STATE(7228)] = 274475, + [SMALL_STATE(7229)] = 274488, + [SMALL_STATE(7230)] = 274501, + [SMALL_STATE(7231)] = 274514, + [SMALL_STATE(7232)] = 274527, + [SMALL_STATE(7233)] = 274540, + [SMALL_STATE(7234)] = 274553, + [SMALL_STATE(7235)] = 274566, + [SMALL_STATE(7236)] = 274579, + [SMALL_STATE(7237)] = 274592, + [SMALL_STATE(7238)] = 274605, + [SMALL_STATE(7239)] = 274618, + [SMALL_STATE(7240)] = 274631, + [SMALL_STATE(7241)] = 274644, + [SMALL_STATE(7242)] = 274657, + [SMALL_STATE(7243)] = 274670, + [SMALL_STATE(7244)] = 274683, + [SMALL_STATE(7245)] = 274696, + [SMALL_STATE(7246)] = 274707, + [SMALL_STATE(7247)] = 274720, + [SMALL_STATE(7248)] = 274733, + [SMALL_STATE(7249)] = 274746, + [SMALL_STATE(7250)] = 274757, + [SMALL_STATE(7251)] = 274770, + [SMALL_STATE(7252)] = 274783, + [SMALL_STATE(7253)] = 274796, + [SMALL_STATE(7254)] = 274809, + [SMALL_STATE(7255)] = 274822, + [SMALL_STATE(7256)] = 274835, + [SMALL_STATE(7257)] = 274848, + [SMALL_STATE(7258)] = 274859, + [SMALL_STATE(7259)] = 274872, + [SMALL_STATE(7260)] = 274885, + [SMALL_STATE(7261)] = 274898, + [SMALL_STATE(7262)] = 274911, + [SMALL_STATE(7263)] = 274924, + [SMALL_STATE(7264)] = 274937, + [SMALL_STATE(7265)] = 274948, + [SMALL_STATE(7266)] = 274961, + [SMALL_STATE(7267)] = 274974, + [SMALL_STATE(7268)] = 274987, + [SMALL_STATE(7269)] = 275000, + [SMALL_STATE(7270)] = 275009, + [SMALL_STATE(7271)] = 275022, + [SMALL_STATE(7272)] = 275035, + [SMALL_STATE(7273)] = 275048, + [SMALL_STATE(7274)] = 275061, + [SMALL_STATE(7275)] = 275074, + [SMALL_STATE(7276)] = 275083, + [SMALL_STATE(7277)] = 275092, + [SMALL_STATE(7278)] = 275105, + [SMALL_STATE(7279)] = 275118, + [SMALL_STATE(7280)] = 275131, + [SMALL_STATE(7281)] = 275144, + [SMALL_STATE(7282)] = 275157, + [SMALL_STATE(7283)] = 275170, + [SMALL_STATE(7284)] = 275183, + [SMALL_STATE(7285)] = 275196, + [SMALL_STATE(7286)] = 275209, + [SMALL_STATE(7287)] = 275222, + [SMALL_STATE(7288)] = 275235, + [SMALL_STATE(7289)] = 275248, + [SMALL_STATE(7290)] = 275261, + [SMALL_STATE(7291)] = 275274, + [SMALL_STATE(7292)] = 275287, + [SMALL_STATE(7293)] = 275300, + [SMALL_STATE(7294)] = 275313, + [SMALL_STATE(7295)] = 275322, + [SMALL_STATE(7296)] = 275335, + [SMALL_STATE(7297)] = 275348, + [SMALL_STATE(7298)] = 275361, + [SMALL_STATE(7299)] = 275374, + [SMALL_STATE(7300)] = 275385, + [SMALL_STATE(7301)] = 275398, + [SMALL_STATE(7302)] = 275411, + [SMALL_STATE(7303)] = 275424, + [SMALL_STATE(7304)] = 275437, + [SMALL_STATE(7305)] = 275450, + [SMALL_STATE(7306)] = 275463, + [SMALL_STATE(7307)] = 275476, + [SMALL_STATE(7308)] = 275489, + [SMALL_STATE(7309)] = 275502, + [SMALL_STATE(7310)] = 275515, + [SMALL_STATE(7311)] = 275528, + [SMALL_STATE(7312)] = 275541, + [SMALL_STATE(7313)] = 275554, + [SMALL_STATE(7314)] = 275563, + [SMALL_STATE(7315)] = 275572, + [SMALL_STATE(7316)] = 275585, + [SMALL_STATE(7317)] = 275598, + [SMALL_STATE(7318)] = 275609, + [SMALL_STATE(7319)] = 275622, + [SMALL_STATE(7320)] = 275633, + [SMALL_STATE(7321)] = 275646, + [SMALL_STATE(7322)] = 275655, + [SMALL_STATE(7323)] = 275668, + [SMALL_STATE(7324)] = 275681, + [SMALL_STATE(7325)] = 275690, + [SMALL_STATE(7326)] = 275703, + [SMALL_STATE(7327)] = 275716, + [SMALL_STATE(7328)] = 275729, + [SMALL_STATE(7329)] = 275742, + [SMALL_STATE(7330)] = 275755, + [SMALL_STATE(7331)] = 275768, + [SMALL_STATE(7332)] = 275779, + [SMALL_STATE(7333)] = 275792, + [SMALL_STATE(7334)] = 275805, + [SMALL_STATE(7335)] = 275818, + [SMALL_STATE(7336)] = 275829, + [SMALL_STATE(7337)] = 275842, + [SMALL_STATE(7338)] = 275855, + [SMALL_STATE(7339)] = 275866, + [SMALL_STATE(7340)] = 275879, + [SMALL_STATE(7341)] = 275892, + [SMALL_STATE(7342)] = 275905, + [SMALL_STATE(7343)] = 275918, + [SMALL_STATE(7344)] = 275931, + [SMALL_STATE(7345)] = 275944, + [SMALL_STATE(7346)] = 275957, + [SMALL_STATE(7347)] = 275970, + [SMALL_STATE(7348)] = 275981, + [SMALL_STATE(7349)] = 275994, + [SMALL_STATE(7350)] = 276007, + [SMALL_STATE(7351)] = 276020, + [SMALL_STATE(7352)] = 276033, + [SMALL_STATE(7353)] = 276046, + [SMALL_STATE(7354)] = 276059, + [SMALL_STATE(7355)] = 276072, + [SMALL_STATE(7356)] = 276085, + [SMALL_STATE(7357)] = 276098, + [SMALL_STATE(7358)] = 276111, + [SMALL_STATE(7359)] = 276124, + [SMALL_STATE(7360)] = 276137, + [SMALL_STATE(7361)] = 276150, + [SMALL_STATE(7362)] = 276161, + [SMALL_STATE(7363)] = 276174, + [SMALL_STATE(7364)] = 276187, + [SMALL_STATE(7365)] = 276200, + [SMALL_STATE(7366)] = 276213, + [SMALL_STATE(7367)] = 276226, + [SMALL_STATE(7368)] = 276237, + [SMALL_STATE(7369)] = 276250, + [SMALL_STATE(7370)] = 276263, + [SMALL_STATE(7371)] = 276274, + [SMALL_STATE(7372)] = 276287, + [SMALL_STATE(7373)] = 276298, + [SMALL_STATE(7374)] = 276311, + [SMALL_STATE(7375)] = 276324, + [SMALL_STATE(7376)] = 276337, + [SMALL_STATE(7377)] = 276350, + [SMALL_STATE(7378)] = 276363, + [SMALL_STATE(7379)] = 276376, + [SMALL_STATE(7380)] = 276389, + [SMALL_STATE(7381)] = 276402, + [SMALL_STATE(7382)] = 276415, + [SMALL_STATE(7383)] = 276424, + [SMALL_STATE(7384)] = 276437, + [SMALL_STATE(7385)] = 276450, + [SMALL_STATE(7386)] = 276463, + [SMALL_STATE(7387)] = 276476, + [SMALL_STATE(7388)] = 276489, + [SMALL_STATE(7389)] = 276502, + [SMALL_STATE(7390)] = 276515, + [SMALL_STATE(7391)] = 276528, + [SMALL_STATE(7392)] = 276541, + [SMALL_STATE(7393)] = 276554, + [SMALL_STATE(7394)] = 276565, + [SMALL_STATE(7395)] = 276578, + [SMALL_STATE(7396)] = 276591, + [SMALL_STATE(7397)] = 276604, + [SMALL_STATE(7398)] = 276617, + [SMALL_STATE(7399)] = 276630, + [SMALL_STATE(7400)] = 276641, + [SMALL_STATE(7401)] = 276654, + [SMALL_STATE(7402)] = 276667, + [SMALL_STATE(7403)] = 276676, + [SMALL_STATE(7404)] = 276689, + [SMALL_STATE(7405)] = 276698, + [SMALL_STATE(7406)] = 276711, + [SMALL_STATE(7407)] = 276724, + [SMALL_STATE(7408)] = 276737, + [SMALL_STATE(7409)] = 276750, + [SMALL_STATE(7410)] = 276763, + [SMALL_STATE(7411)] = 276776, + [SMALL_STATE(7412)] = 276787, + [SMALL_STATE(7413)] = 276800, + [SMALL_STATE(7414)] = 276813, + [SMALL_STATE(7415)] = 276826, + [SMALL_STATE(7416)] = 276839, + [SMALL_STATE(7417)] = 276852, + [SMALL_STATE(7418)] = 276865, + [SMALL_STATE(7419)] = 276878, + [SMALL_STATE(7420)] = 276889, + [SMALL_STATE(7421)] = 276902, + [SMALL_STATE(7422)] = 276913, + [SMALL_STATE(7423)] = 276924, + [SMALL_STATE(7424)] = 276937, + [SMALL_STATE(7425)] = 276950, + [SMALL_STATE(7426)] = 276963, + [SMALL_STATE(7427)] = 276976, + [SMALL_STATE(7428)] = 276989, + [SMALL_STATE(7429)] = 277002, + [SMALL_STATE(7430)] = 277015, + [SMALL_STATE(7431)] = 277028, + [SMALL_STATE(7432)] = 277041, + [SMALL_STATE(7433)] = 277054, + [SMALL_STATE(7434)] = 277067, + [SMALL_STATE(7435)] = 277080, + [SMALL_STATE(7436)] = 277093, + [SMALL_STATE(7437)] = 277106, + [SMALL_STATE(7438)] = 277117, + [SMALL_STATE(7439)] = 277130, + [SMALL_STATE(7440)] = 277143, + [SMALL_STATE(7441)] = 277156, + [SMALL_STATE(7442)] = 277169, + [SMALL_STATE(7443)] = 277182, + [SMALL_STATE(7444)] = 277195, + [SMALL_STATE(7445)] = 277206, + [SMALL_STATE(7446)] = 277219, + [SMALL_STATE(7447)] = 277232, + [SMALL_STATE(7448)] = 277241, + [SMALL_STATE(7449)] = 277252, + [SMALL_STATE(7450)] = 277263, + [SMALL_STATE(7451)] = 277276, + [SMALL_STATE(7452)] = 277289, + [SMALL_STATE(7453)] = 277302, + [SMALL_STATE(7454)] = 277315, + [SMALL_STATE(7455)] = 277328, + [SMALL_STATE(7456)] = 277337, + [SMALL_STATE(7457)] = 277350, + [SMALL_STATE(7458)] = 277363, + [SMALL_STATE(7459)] = 277374, + [SMALL_STATE(7460)] = 277387, + [SMALL_STATE(7461)] = 277400, + [SMALL_STATE(7462)] = 277413, + [SMALL_STATE(7463)] = 277426, + [SMALL_STATE(7464)] = 277439, + [SMALL_STATE(7465)] = 277452, + [SMALL_STATE(7466)] = 277465, + [SMALL_STATE(7467)] = 277478, + [SMALL_STATE(7468)] = 277491, + [SMALL_STATE(7469)] = 277504, + [SMALL_STATE(7470)] = 277517, + [SMALL_STATE(7471)] = 277530, + [SMALL_STATE(7472)] = 277543, + [SMALL_STATE(7473)] = 277556, + [SMALL_STATE(7474)] = 277569, + [SMALL_STATE(7475)] = 277582, + [SMALL_STATE(7476)] = 277595, + [SMALL_STATE(7477)] = 277608, + [SMALL_STATE(7478)] = 277621, + [SMALL_STATE(7479)] = 277634, + [SMALL_STATE(7480)] = 277647, + [SMALL_STATE(7481)] = 277660, + [SMALL_STATE(7482)] = 277673, + [SMALL_STATE(7483)] = 277684, + [SMALL_STATE(7484)] = 277697, + [SMALL_STATE(7485)] = 277710, + [SMALL_STATE(7486)] = 277723, + [SMALL_STATE(7487)] = 277736, + [SMALL_STATE(7488)] = 277749, + [SMALL_STATE(7489)] = 277762, + [SMALL_STATE(7490)] = 277775, + [SMALL_STATE(7491)] = 277788, + [SMALL_STATE(7492)] = 277801, + [SMALL_STATE(7493)] = 277812, + [SMALL_STATE(7494)] = 277825, + [SMALL_STATE(7495)] = 277838, + [SMALL_STATE(7496)] = 277848, + [SMALL_STATE(7497)] = 277858, + [SMALL_STATE(7498)] = 277868, + [SMALL_STATE(7499)] = 277878, + [SMALL_STATE(7500)] = 277888, + [SMALL_STATE(7501)] = 277896, + [SMALL_STATE(7502)] = 277906, + [SMALL_STATE(7503)] = 277916, + [SMALL_STATE(7504)] = 277926, + [SMALL_STATE(7505)] = 277936, + [SMALL_STATE(7506)] = 277946, + [SMALL_STATE(7507)] = 277956, + [SMALL_STATE(7508)] = 277966, + [SMALL_STATE(7509)] = 277976, + [SMALL_STATE(7510)] = 277986, + [SMALL_STATE(7511)] = 277996, + [SMALL_STATE(7512)] = 278006, + [SMALL_STATE(7513)] = 278016, + [SMALL_STATE(7514)] = 278026, + [SMALL_STATE(7515)] = 278036, + [SMALL_STATE(7516)] = 278046, + [SMALL_STATE(7517)] = 278056, + [SMALL_STATE(7518)] = 278066, + [SMALL_STATE(7519)] = 278076, + [SMALL_STATE(7520)] = 278086, + [SMALL_STATE(7521)] = 278096, + [SMALL_STATE(7522)] = 278106, + [SMALL_STATE(7523)] = 278116, + [SMALL_STATE(7524)] = 278126, + [SMALL_STATE(7525)] = 278136, + [SMALL_STATE(7526)] = 278146, + [SMALL_STATE(7527)] = 278156, + [SMALL_STATE(7528)] = 278166, + [SMALL_STATE(7529)] = 278176, + [SMALL_STATE(7530)] = 278186, + [SMALL_STATE(7531)] = 278196, + [SMALL_STATE(7532)] = 278206, + [SMALL_STATE(7533)] = 278216, + [SMALL_STATE(7534)] = 278226, + [SMALL_STATE(7535)] = 278236, + [SMALL_STATE(7536)] = 278246, + [SMALL_STATE(7537)] = 278256, + [SMALL_STATE(7538)] = 278266, + [SMALL_STATE(7539)] = 278274, + [SMALL_STATE(7540)] = 278282, + [SMALL_STATE(7541)] = 278292, + [SMALL_STATE(7542)] = 278302, + [SMALL_STATE(7543)] = 278312, + [SMALL_STATE(7544)] = 278322, + [SMALL_STATE(7545)] = 278332, + [SMALL_STATE(7546)] = 278342, + [SMALL_STATE(7547)] = 278352, + [SMALL_STATE(7548)] = 278362, + [SMALL_STATE(7549)] = 278372, + [SMALL_STATE(7550)] = 278380, + [SMALL_STATE(7551)] = 278390, + [SMALL_STATE(7552)] = 278400, + [SMALL_STATE(7553)] = 278408, + [SMALL_STATE(7554)] = 278418, + [SMALL_STATE(7555)] = 278428, + [SMALL_STATE(7556)] = 278438, + [SMALL_STATE(7557)] = 278448, + [SMALL_STATE(7558)] = 278458, + [SMALL_STATE(7559)] = 278466, + [SMALL_STATE(7560)] = 278476, + [SMALL_STATE(7561)] = 278486, + [SMALL_STATE(7562)] = 278496, + [SMALL_STATE(7563)] = 278506, + [SMALL_STATE(7564)] = 278516, + [SMALL_STATE(7565)] = 278526, + [SMALL_STATE(7566)] = 278536, + [SMALL_STATE(7567)] = 278546, + [SMALL_STATE(7568)] = 278556, + [SMALL_STATE(7569)] = 278566, + [SMALL_STATE(7570)] = 278576, + [SMALL_STATE(7571)] = 278584, + [SMALL_STATE(7572)] = 278594, + [SMALL_STATE(7573)] = 278602, + [SMALL_STATE(7574)] = 278612, + [SMALL_STATE(7575)] = 278622, + [SMALL_STATE(7576)] = 278632, + [SMALL_STATE(7577)] = 278642, + [SMALL_STATE(7578)] = 278652, + [SMALL_STATE(7579)] = 278662, + [SMALL_STATE(7580)] = 278670, + [SMALL_STATE(7581)] = 278678, + [SMALL_STATE(7582)] = 278686, + [SMALL_STATE(7583)] = 278694, + [SMALL_STATE(7584)] = 278704, + [SMALL_STATE(7585)] = 278714, + [SMALL_STATE(7586)] = 278724, + [SMALL_STATE(7587)] = 278732, + [SMALL_STATE(7588)] = 278740, + [SMALL_STATE(7589)] = 278750, + [SMALL_STATE(7590)] = 278760, + [SMALL_STATE(7591)] = 278768, + [SMALL_STATE(7592)] = 278776, + [SMALL_STATE(7593)] = 278786, + [SMALL_STATE(7594)] = 278796, + [SMALL_STATE(7595)] = 278806, + [SMALL_STATE(7596)] = 278814, + [SMALL_STATE(7597)] = 278824, + [SMALL_STATE(7598)] = 278834, + [SMALL_STATE(7599)] = 278844, + [SMALL_STATE(7600)] = 278854, + [SMALL_STATE(7601)] = 278864, + [SMALL_STATE(7602)] = 278872, + [SMALL_STATE(7603)] = 278882, + [SMALL_STATE(7604)] = 278892, + [SMALL_STATE(7605)] = 278902, + [SMALL_STATE(7606)] = 278912, + [SMALL_STATE(7607)] = 278920, + [SMALL_STATE(7608)] = 278930, + [SMALL_STATE(7609)] = 278940, + [SMALL_STATE(7610)] = 278948, + [SMALL_STATE(7611)] = 278958, + [SMALL_STATE(7612)] = 278968, + [SMALL_STATE(7613)] = 278978, + [SMALL_STATE(7614)] = 278988, + [SMALL_STATE(7615)] = 278998, + [SMALL_STATE(7616)] = 279006, + [SMALL_STATE(7617)] = 279016, + [SMALL_STATE(7618)] = 279026, + [SMALL_STATE(7619)] = 279036, + [SMALL_STATE(7620)] = 279046, + [SMALL_STATE(7621)] = 279056, + [SMALL_STATE(7622)] = 279066, + [SMALL_STATE(7623)] = 279076, + [SMALL_STATE(7624)] = 279086, + [SMALL_STATE(7625)] = 279096, + [SMALL_STATE(7626)] = 279104, + [SMALL_STATE(7627)] = 279114, + [SMALL_STATE(7628)] = 279124, + [SMALL_STATE(7629)] = 279134, + [SMALL_STATE(7630)] = 279142, + [SMALL_STATE(7631)] = 279152, + [SMALL_STATE(7632)] = 279162, + [SMALL_STATE(7633)] = 279172, + [SMALL_STATE(7634)] = 279182, + [SMALL_STATE(7635)] = 279192, + [SMALL_STATE(7636)] = 279202, + [SMALL_STATE(7637)] = 279212, + [SMALL_STATE(7638)] = 279222, + [SMALL_STATE(7639)] = 279232, + [SMALL_STATE(7640)] = 279242, + [SMALL_STATE(7641)] = 279252, + [SMALL_STATE(7642)] = 279262, + [SMALL_STATE(7643)] = 279272, + [SMALL_STATE(7644)] = 279282, + [SMALL_STATE(7645)] = 279290, + [SMALL_STATE(7646)] = 279300, + [SMALL_STATE(7647)] = 279310, + [SMALL_STATE(7648)] = 279320, + [SMALL_STATE(7649)] = 279330, + [SMALL_STATE(7650)] = 279340, + [SMALL_STATE(7651)] = 279348, + [SMALL_STATE(7652)] = 279358, + [SMALL_STATE(7653)] = 279366, + [SMALL_STATE(7654)] = 279376, + [SMALL_STATE(7655)] = 279386, + [SMALL_STATE(7656)] = 279394, + [SMALL_STATE(7657)] = 279402, + [SMALL_STATE(7658)] = 279412, + [SMALL_STATE(7659)] = 279422, + [SMALL_STATE(7660)] = 279430, + [SMALL_STATE(7661)] = 279440, + [SMALL_STATE(7662)] = 279450, + [SMALL_STATE(7663)] = 279460, + [SMALL_STATE(7664)] = 279470, + [SMALL_STATE(7665)] = 279480, + [SMALL_STATE(7666)] = 279490, + [SMALL_STATE(7667)] = 279498, + [SMALL_STATE(7668)] = 279508, + [SMALL_STATE(7669)] = 279518, + [SMALL_STATE(7670)] = 279528, + [SMALL_STATE(7671)] = 279538, + [SMALL_STATE(7672)] = 279548, + [SMALL_STATE(7673)] = 279558, + [SMALL_STATE(7674)] = 279568, + [SMALL_STATE(7675)] = 279578, + [SMALL_STATE(7676)] = 279588, + [SMALL_STATE(7677)] = 279598, + [SMALL_STATE(7678)] = 279608, + [SMALL_STATE(7679)] = 279618, + [SMALL_STATE(7680)] = 279628, + [SMALL_STATE(7681)] = 279638, + [SMALL_STATE(7682)] = 279648, + [SMALL_STATE(7683)] = 279658, + [SMALL_STATE(7684)] = 279668, + [SMALL_STATE(7685)] = 279678, + [SMALL_STATE(7686)] = 279688, + [SMALL_STATE(7687)] = 279698, + [SMALL_STATE(7688)] = 279708, + [SMALL_STATE(7689)] = 279718, + [SMALL_STATE(7690)] = 279728, + [SMALL_STATE(7691)] = 279738, + [SMALL_STATE(7692)] = 279746, + [SMALL_STATE(7693)] = 279756, + [SMALL_STATE(7694)] = 279766, + [SMALL_STATE(7695)] = 279776, + [SMALL_STATE(7696)] = 279786, + [SMALL_STATE(7697)] = 279796, + [SMALL_STATE(7698)] = 279806, + [SMALL_STATE(7699)] = 279816, + [SMALL_STATE(7700)] = 279824, + [SMALL_STATE(7701)] = 279832, + [SMALL_STATE(7702)] = 279842, + [SMALL_STATE(7703)] = 279852, + [SMALL_STATE(7704)] = 279860, + [SMALL_STATE(7705)] = 279870, + [SMALL_STATE(7706)] = 279880, + [SMALL_STATE(7707)] = 279890, + [SMALL_STATE(7708)] = 279900, + [SMALL_STATE(7709)] = 279910, + [SMALL_STATE(7710)] = 279920, + [SMALL_STATE(7711)] = 279930, + [SMALL_STATE(7712)] = 279940, + [SMALL_STATE(7713)] = 279948, + [SMALL_STATE(7714)] = 279958, + [SMALL_STATE(7715)] = 279968, + [SMALL_STATE(7716)] = 279978, + [SMALL_STATE(7717)] = 279988, + [SMALL_STATE(7718)] = 279998, + [SMALL_STATE(7719)] = 280008, + [SMALL_STATE(7720)] = 280018, + [SMALL_STATE(7721)] = 280028, + [SMALL_STATE(7722)] = 280038, + [SMALL_STATE(7723)] = 280048, + [SMALL_STATE(7724)] = 280056, + [SMALL_STATE(7725)] = 280066, + [SMALL_STATE(7726)] = 280076, + [SMALL_STATE(7727)] = 280086, + [SMALL_STATE(7728)] = 280096, + [SMALL_STATE(7729)] = 280106, + [SMALL_STATE(7730)] = 280116, + [SMALL_STATE(7731)] = 280126, + [SMALL_STATE(7732)] = 280136, + [SMALL_STATE(7733)] = 280144, + [SMALL_STATE(7734)] = 280154, + [SMALL_STATE(7735)] = 280164, + [SMALL_STATE(7736)] = 280174, + [SMALL_STATE(7737)] = 280184, + [SMALL_STATE(7738)] = 280194, + [SMALL_STATE(7739)] = 280204, + [SMALL_STATE(7740)] = 280214, + [SMALL_STATE(7741)] = 280224, + [SMALL_STATE(7742)] = 280234, + [SMALL_STATE(7743)] = 280244, + [SMALL_STATE(7744)] = 280254, + [SMALL_STATE(7745)] = 280262, + [SMALL_STATE(7746)] = 280272, + [SMALL_STATE(7747)] = 280282, + [SMALL_STATE(7748)] = 280292, + [SMALL_STATE(7749)] = 280302, + [SMALL_STATE(7750)] = 280310, + [SMALL_STATE(7751)] = 280320, + [SMALL_STATE(7752)] = 280330, + [SMALL_STATE(7753)] = 280340, + [SMALL_STATE(7754)] = 280350, + [SMALL_STATE(7755)] = 280360, + [SMALL_STATE(7756)] = 280370, + [SMALL_STATE(7757)] = 280380, + [SMALL_STATE(7758)] = 280390, + [SMALL_STATE(7759)] = 280400, + [SMALL_STATE(7760)] = 280410, + [SMALL_STATE(7761)] = 280420, + [SMALL_STATE(7762)] = 280430, + [SMALL_STATE(7763)] = 280440, + [SMALL_STATE(7764)] = 280450, + [SMALL_STATE(7765)] = 280460, + [SMALL_STATE(7766)] = 280470, + [SMALL_STATE(7767)] = 280480, + [SMALL_STATE(7768)] = 280490, + [SMALL_STATE(7769)] = 280500, + [SMALL_STATE(7770)] = 280508, + [SMALL_STATE(7771)] = 280518, + [SMALL_STATE(7772)] = 280528, + [SMALL_STATE(7773)] = 280538, + [SMALL_STATE(7774)] = 280548, + [SMALL_STATE(7775)] = 280558, + [SMALL_STATE(7776)] = 280568, + [SMALL_STATE(7777)] = 280576, + [SMALL_STATE(7778)] = 280586, + [SMALL_STATE(7779)] = 280596, + [SMALL_STATE(7780)] = 280606, + [SMALL_STATE(7781)] = 280616, + [SMALL_STATE(7782)] = 280626, + [SMALL_STATE(7783)] = 280636, + [SMALL_STATE(7784)] = 280646, + [SMALL_STATE(7785)] = 280656, + [SMALL_STATE(7786)] = 280666, + [SMALL_STATE(7787)] = 280676, + [SMALL_STATE(7788)] = 280686, + [SMALL_STATE(7789)] = 280696, + [SMALL_STATE(7790)] = 280706, + [SMALL_STATE(7791)] = 280716, + [SMALL_STATE(7792)] = 280726, + [SMALL_STATE(7793)] = 280736, + [SMALL_STATE(7794)] = 280746, + [SMALL_STATE(7795)] = 280756, + [SMALL_STATE(7796)] = 280766, + [SMALL_STATE(7797)] = 280776, + [SMALL_STATE(7798)] = 280786, + [SMALL_STATE(7799)] = 280796, + [SMALL_STATE(7800)] = 280806, + [SMALL_STATE(7801)] = 280814, + [SMALL_STATE(7802)] = 280824, + [SMALL_STATE(7803)] = 280834, + [SMALL_STATE(7804)] = 280844, + [SMALL_STATE(7805)] = 280854, + [SMALL_STATE(7806)] = 280864, + [SMALL_STATE(7807)] = 280872, + [SMALL_STATE(7808)] = 280879, + [SMALL_STATE(7809)] = 280886, + [SMALL_STATE(7810)] = 280893, + [SMALL_STATE(7811)] = 280900, + [SMALL_STATE(7812)] = 280907, + [SMALL_STATE(7813)] = 280914, + [SMALL_STATE(7814)] = 280921, + [SMALL_STATE(7815)] = 280928, + [SMALL_STATE(7816)] = 280935, + [SMALL_STATE(7817)] = 280942, + [SMALL_STATE(7818)] = 280949, + [SMALL_STATE(7819)] = 280956, + [SMALL_STATE(7820)] = 280963, + [SMALL_STATE(7821)] = 280970, + [SMALL_STATE(7822)] = 280977, + [SMALL_STATE(7823)] = 280984, + [SMALL_STATE(7824)] = 280991, + [SMALL_STATE(7825)] = 280998, + [SMALL_STATE(7826)] = 281005, + [SMALL_STATE(7827)] = 281012, + [SMALL_STATE(7828)] = 281019, + [SMALL_STATE(7829)] = 281026, + [SMALL_STATE(7830)] = 281033, + [SMALL_STATE(7831)] = 281040, + [SMALL_STATE(7832)] = 281047, + [SMALL_STATE(7833)] = 281054, + [SMALL_STATE(7834)] = 281061, + [SMALL_STATE(7835)] = 281068, + [SMALL_STATE(7836)] = 281075, + [SMALL_STATE(7837)] = 281082, + [SMALL_STATE(7838)] = 281089, + [SMALL_STATE(7839)] = 281096, + [SMALL_STATE(7840)] = 281103, + [SMALL_STATE(7841)] = 281110, + [SMALL_STATE(7842)] = 281117, + [SMALL_STATE(7843)] = 281124, + [SMALL_STATE(7844)] = 281131, + [SMALL_STATE(7845)] = 281138, + [SMALL_STATE(7846)] = 281145, + [SMALL_STATE(7847)] = 281152, + [SMALL_STATE(7848)] = 281159, + [SMALL_STATE(7849)] = 281166, + [SMALL_STATE(7850)] = 281173, + [SMALL_STATE(7851)] = 281180, + [SMALL_STATE(7852)] = 281187, + [SMALL_STATE(7853)] = 281194, + [SMALL_STATE(7854)] = 281201, + [SMALL_STATE(7855)] = 281208, + [SMALL_STATE(7856)] = 281215, + [SMALL_STATE(7857)] = 281222, + [SMALL_STATE(7858)] = 281229, + [SMALL_STATE(7859)] = 281236, + [SMALL_STATE(7860)] = 281243, + [SMALL_STATE(7861)] = 281250, + [SMALL_STATE(7862)] = 281257, + [SMALL_STATE(7863)] = 281264, + [SMALL_STATE(7864)] = 281271, + [SMALL_STATE(7865)] = 281278, + [SMALL_STATE(7866)] = 281285, + [SMALL_STATE(7867)] = 281292, + [SMALL_STATE(7868)] = 281299, + [SMALL_STATE(7869)] = 281306, + [SMALL_STATE(7870)] = 281313, + [SMALL_STATE(7871)] = 281320, + [SMALL_STATE(7872)] = 281327, + [SMALL_STATE(7873)] = 281334, + [SMALL_STATE(7874)] = 281341, + [SMALL_STATE(7875)] = 281348, + [SMALL_STATE(7876)] = 281355, + [SMALL_STATE(7877)] = 281362, + [SMALL_STATE(7878)] = 281369, + [SMALL_STATE(7879)] = 281376, + [SMALL_STATE(7880)] = 281383, + [SMALL_STATE(7881)] = 281390, + [SMALL_STATE(7882)] = 281397, + [SMALL_STATE(7883)] = 281404, + [SMALL_STATE(7884)] = 281411, + [SMALL_STATE(7885)] = 281418, + [SMALL_STATE(7886)] = 281425, + [SMALL_STATE(7887)] = 281432, + [SMALL_STATE(7888)] = 281439, + [SMALL_STATE(7889)] = 281446, + [SMALL_STATE(7890)] = 281453, + [SMALL_STATE(7891)] = 281460, + [SMALL_STATE(7892)] = 281467, + [SMALL_STATE(7893)] = 281474, + [SMALL_STATE(7894)] = 281481, + [SMALL_STATE(7895)] = 281488, + [SMALL_STATE(7896)] = 281495, + [SMALL_STATE(7897)] = 281502, + [SMALL_STATE(7898)] = 281509, + [SMALL_STATE(7899)] = 281516, + [SMALL_STATE(7900)] = 281523, + [SMALL_STATE(7901)] = 281530, + [SMALL_STATE(7902)] = 281537, + [SMALL_STATE(7903)] = 281544, + [SMALL_STATE(7904)] = 281551, + [SMALL_STATE(7905)] = 281558, + [SMALL_STATE(7906)] = 281565, + [SMALL_STATE(7907)] = 281572, + [SMALL_STATE(7908)] = 281579, + [SMALL_STATE(7909)] = 281586, + [SMALL_STATE(7910)] = 281593, + [SMALL_STATE(7911)] = 281600, + [SMALL_STATE(7912)] = 281607, + [SMALL_STATE(7913)] = 281614, + [SMALL_STATE(7914)] = 281621, + [SMALL_STATE(7915)] = 281628, + [SMALL_STATE(7916)] = 281635, + [SMALL_STATE(7917)] = 281642, + [SMALL_STATE(7918)] = 281649, + [SMALL_STATE(7919)] = 281656, + [SMALL_STATE(7920)] = 281663, + [SMALL_STATE(7921)] = 281670, + [SMALL_STATE(7922)] = 281677, + [SMALL_STATE(7923)] = 281684, + [SMALL_STATE(7924)] = 281691, + [SMALL_STATE(7925)] = 281698, + [SMALL_STATE(7926)] = 281705, + [SMALL_STATE(7927)] = 281712, + [SMALL_STATE(7928)] = 281719, + [SMALL_STATE(7929)] = 281726, + [SMALL_STATE(7930)] = 281733, + [SMALL_STATE(7931)] = 281740, + [SMALL_STATE(7932)] = 281747, + [SMALL_STATE(7933)] = 281754, + [SMALL_STATE(7934)] = 281761, + [SMALL_STATE(7935)] = 281768, + [SMALL_STATE(7936)] = 281775, + [SMALL_STATE(7937)] = 281782, + [SMALL_STATE(7938)] = 281789, + [SMALL_STATE(7939)] = 281796, + [SMALL_STATE(7940)] = 281803, + [SMALL_STATE(7941)] = 281810, + [SMALL_STATE(7942)] = 281817, + [SMALL_STATE(7943)] = 281824, + [SMALL_STATE(7944)] = 281831, + [SMALL_STATE(7945)] = 281838, + [SMALL_STATE(7946)] = 281845, + [SMALL_STATE(7947)] = 281852, + [SMALL_STATE(7948)] = 281859, + [SMALL_STATE(7949)] = 281866, + [SMALL_STATE(7950)] = 281873, + [SMALL_STATE(7951)] = 281880, + [SMALL_STATE(7952)] = 281887, + [SMALL_STATE(7953)] = 281894, + [SMALL_STATE(7954)] = 281901, + [SMALL_STATE(7955)] = 281908, + [SMALL_STATE(7956)] = 281915, + [SMALL_STATE(7957)] = 281922, + [SMALL_STATE(7958)] = 281929, + [SMALL_STATE(7959)] = 281936, + [SMALL_STATE(7960)] = 281943, + [SMALL_STATE(7961)] = 281950, + [SMALL_STATE(7962)] = 281957, + [SMALL_STATE(7963)] = 281964, + [SMALL_STATE(7964)] = 281971, + [SMALL_STATE(7965)] = 281978, + [SMALL_STATE(7966)] = 281985, + [SMALL_STATE(7967)] = 281992, + [SMALL_STATE(7968)] = 281999, + [SMALL_STATE(7969)] = 282006, + [SMALL_STATE(7970)] = 282013, + [SMALL_STATE(7971)] = 282020, + [SMALL_STATE(7972)] = 282027, + [SMALL_STATE(7973)] = 282034, + [SMALL_STATE(7974)] = 282041, + [SMALL_STATE(7975)] = 282048, + [SMALL_STATE(7976)] = 282055, + [SMALL_STATE(7977)] = 282062, + [SMALL_STATE(7978)] = 282069, + [SMALL_STATE(7979)] = 282076, + [SMALL_STATE(7980)] = 282083, + [SMALL_STATE(7981)] = 282090, + [SMALL_STATE(7982)] = 282097, + [SMALL_STATE(7983)] = 282104, + [SMALL_STATE(7984)] = 282111, + [SMALL_STATE(7985)] = 282118, + [SMALL_STATE(7986)] = 282125, + [SMALL_STATE(7987)] = 282132, + [SMALL_STATE(7988)] = 282139, + [SMALL_STATE(7989)] = 282146, + [SMALL_STATE(7990)] = 282153, + [SMALL_STATE(7991)] = 282160, + [SMALL_STATE(7992)] = 282167, + [SMALL_STATE(7993)] = 282174, + [SMALL_STATE(7994)] = 282181, + [SMALL_STATE(7995)] = 282188, + [SMALL_STATE(7996)] = 282195, + [SMALL_STATE(7997)] = 282202, + [SMALL_STATE(7998)] = 282209, + [SMALL_STATE(7999)] = 282216, + [SMALL_STATE(8000)] = 282223, + [SMALL_STATE(8001)] = 282230, + [SMALL_STATE(8002)] = 282237, + [SMALL_STATE(8003)] = 282244, + [SMALL_STATE(8004)] = 282251, + [SMALL_STATE(8005)] = 282258, + [SMALL_STATE(8006)] = 282265, + [SMALL_STATE(8007)] = 282272, + [SMALL_STATE(8008)] = 282279, + [SMALL_STATE(8009)] = 282286, + [SMALL_STATE(8010)] = 282293, + [SMALL_STATE(8011)] = 282300, + [SMALL_STATE(8012)] = 282307, + [SMALL_STATE(8013)] = 282314, + [SMALL_STATE(8014)] = 282321, + [SMALL_STATE(8015)] = 282328, + [SMALL_STATE(8016)] = 282335, + [SMALL_STATE(8017)] = 282342, + [SMALL_STATE(8018)] = 282349, + [SMALL_STATE(8019)] = 282356, + [SMALL_STATE(8020)] = 282363, + [SMALL_STATE(8021)] = 282370, + [SMALL_STATE(8022)] = 282377, + [SMALL_STATE(8023)] = 282384, + [SMALL_STATE(8024)] = 282391, + [SMALL_STATE(8025)] = 282398, + [SMALL_STATE(8026)] = 282405, + [SMALL_STATE(8027)] = 282412, + [SMALL_STATE(8028)] = 282419, + [SMALL_STATE(8029)] = 282426, + [SMALL_STATE(8030)] = 282433, + [SMALL_STATE(8031)] = 282440, + [SMALL_STATE(8032)] = 282447, + [SMALL_STATE(8033)] = 282454, + [SMALL_STATE(8034)] = 282461, + [SMALL_STATE(8035)] = 282468, + [SMALL_STATE(8036)] = 282475, + [SMALL_STATE(8037)] = 282482, + [SMALL_STATE(8038)] = 282489, + [SMALL_STATE(8039)] = 282496, + [SMALL_STATE(8040)] = 282503, + [SMALL_STATE(8041)] = 282510, + [SMALL_STATE(8042)] = 282517, + [SMALL_STATE(8043)] = 282524, + [SMALL_STATE(8044)] = 282531, + [SMALL_STATE(8045)] = 282538, + [SMALL_STATE(8046)] = 282545, + [SMALL_STATE(8047)] = 282552, + [SMALL_STATE(8048)] = 282559, + [SMALL_STATE(8049)] = 282566, + [SMALL_STATE(8050)] = 282573, + [SMALL_STATE(8051)] = 282580, + [SMALL_STATE(8052)] = 282587, + [SMALL_STATE(8053)] = 282594, + [SMALL_STATE(8054)] = 282601, + [SMALL_STATE(8055)] = 282608, + [SMALL_STATE(8056)] = 282615, + [SMALL_STATE(8057)] = 282622, + [SMALL_STATE(8058)] = 282629, + [SMALL_STATE(8059)] = 282636, + [SMALL_STATE(8060)] = 282643, + [SMALL_STATE(8061)] = 282650, + [SMALL_STATE(8062)] = 282657, + [SMALL_STATE(8063)] = 282664, + [SMALL_STATE(8064)] = 282671, + [SMALL_STATE(8065)] = 282678, + [SMALL_STATE(8066)] = 282685, + [SMALL_STATE(8067)] = 282692, + [SMALL_STATE(8068)] = 282699, + [SMALL_STATE(8069)] = 282706, + [SMALL_STATE(8070)] = 282713, + [SMALL_STATE(8071)] = 282720, + [SMALL_STATE(8072)] = 282727, + [SMALL_STATE(8073)] = 282734, + [SMALL_STATE(8074)] = 282741, + [SMALL_STATE(8075)] = 282748, + [SMALL_STATE(8076)] = 282755, + [SMALL_STATE(8077)] = 282762, + [SMALL_STATE(8078)] = 282769, + [SMALL_STATE(8079)] = 282776, + [SMALL_STATE(8080)] = 282783, + [SMALL_STATE(8081)] = 282790, + [SMALL_STATE(8082)] = 282797, + [SMALL_STATE(8083)] = 282804, + [SMALL_STATE(8084)] = 282811, + [SMALL_STATE(8085)] = 282818, + [SMALL_STATE(8086)] = 282825, + [SMALL_STATE(8087)] = 282832, + [SMALL_STATE(8088)] = 282839, + [SMALL_STATE(8089)] = 282846, + [SMALL_STATE(8090)] = 282853, + [SMALL_STATE(8091)] = 282860, + [SMALL_STATE(8092)] = 282867, + [SMALL_STATE(8093)] = 282874, + [SMALL_STATE(8094)] = 282881, + [SMALL_STATE(8095)] = 282888, + [SMALL_STATE(8096)] = 282895, + [SMALL_STATE(8097)] = 282902, + [SMALL_STATE(8098)] = 282909, + [SMALL_STATE(8099)] = 282916, + [SMALL_STATE(8100)] = 282923, + [SMALL_STATE(8101)] = 282930, + [SMALL_STATE(8102)] = 282937, + [SMALL_STATE(8103)] = 282944, + [SMALL_STATE(8104)] = 282951, + [SMALL_STATE(8105)] = 282958, + [SMALL_STATE(8106)] = 282965, + [SMALL_STATE(8107)] = 282972, + [SMALL_STATE(8108)] = 282979, + [SMALL_STATE(8109)] = 282986, + [SMALL_STATE(8110)] = 282993, + [SMALL_STATE(8111)] = 283000, + [SMALL_STATE(8112)] = 283007, + [SMALL_STATE(8113)] = 283014, + [SMALL_STATE(8114)] = 283021, + [SMALL_STATE(8115)] = 283028, + [SMALL_STATE(8116)] = 283035, + [SMALL_STATE(8117)] = 283042, + [SMALL_STATE(8118)] = 283049, + [SMALL_STATE(8119)] = 283056, + [SMALL_STATE(8120)] = 283063, + [SMALL_STATE(8121)] = 283070, + [SMALL_STATE(8122)] = 283077, + [SMALL_STATE(8123)] = 283084, + [SMALL_STATE(8124)] = 283091, + [SMALL_STATE(8125)] = 283098, + [SMALL_STATE(8126)] = 283105, + [SMALL_STATE(8127)] = 283112, + [SMALL_STATE(8128)] = 283119, + [SMALL_STATE(8129)] = 283126, + [SMALL_STATE(8130)] = 283133, + [SMALL_STATE(8131)] = 283140, + [SMALL_STATE(8132)] = 283147, + [SMALL_STATE(8133)] = 283154, + [SMALL_STATE(8134)] = 283161, + [SMALL_STATE(8135)] = 283168, + [SMALL_STATE(8136)] = 283175, + [SMALL_STATE(8137)] = 283182, + [SMALL_STATE(8138)] = 283189, + [SMALL_STATE(8139)] = 283196, + [SMALL_STATE(8140)] = 283203, + [SMALL_STATE(8141)] = 283210, + [SMALL_STATE(8142)] = 283217, + [SMALL_STATE(8143)] = 283224, + [SMALL_STATE(8144)] = 283231, + [SMALL_STATE(8145)] = 283238, + [SMALL_STATE(8146)] = 283245, + [SMALL_STATE(8147)] = 283252, + [SMALL_STATE(8148)] = 283259, + [SMALL_STATE(8149)] = 283266, + [SMALL_STATE(8150)] = 283273, + [SMALL_STATE(8151)] = 283280, + [SMALL_STATE(8152)] = 283287, + [SMALL_STATE(8153)] = 283294, + [SMALL_STATE(8154)] = 283301, + [SMALL_STATE(8155)] = 283308, + [SMALL_STATE(8156)] = 283315, + [SMALL_STATE(8157)] = 283322, + [SMALL_STATE(8158)] = 283329, + [SMALL_STATE(8159)] = 283336, + [SMALL_STATE(8160)] = 283343, + [SMALL_STATE(8161)] = 283350, + [SMALL_STATE(8162)] = 283357, + [SMALL_STATE(8163)] = 283364, + [SMALL_STATE(8164)] = 283371, + [SMALL_STATE(8165)] = 283378, + [SMALL_STATE(8166)] = 283385, + [SMALL_STATE(8167)] = 283392, + [SMALL_STATE(8168)] = 283399, + [SMALL_STATE(8169)] = 283406, + [SMALL_STATE(8170)] = 283413, + [SMALL_STATE(8171)] = 283420, + [SMALL_STATE(8172)] = 283427, + [SMALL_STATE(8173)] = 283434, + [SMALL_STATE(8174)] = 283441, + [SMALL_STATE(8175)] = 283448, + [SMALL_STATE(8176)] = 283455, + [SMALL_STATE(8177)] = 283462, + [SMALL_STATE(8178)] = 283469, + [SMALL_STATE(8179)] = 283476, + [SMALL_STATE(8180)] = 283483, + [SMALL_STATE(8181)] = 283490, + [SMALL_STATE(8182)] = 283497, + [SMALL_STATE(8183)] = 283504, + [SMALL_STATE(8184)] = 283511, + [SMALL_STATE(8185)] = 283518, + [SMALL_STATE(8186)] = 283525, + [SMALL_STATE(8187)] = 283532, + [SMALL_STATE(8188)] = 283539, + [SMALL_STATE(8189)] = 283546, + [SMALL_STATE(8190)] = 283553, + [SMALL_STATE(8191)] = 283560, + [SMALL_STATE(8192)] = 283567, + [SMALL_STATE(8193)] = 283574, + [SMALL_STATE(8194)] = 283581, + [SMALL_STATE(8195)] = 283588, + [SMALL_STATE(8196)] = 283595, + [SMALL_STATE(8197)] = 283602, + [SMALL_STATE(8198)] = 283609, + [SMALL_STATE(8199)] = 283616, + [SMALL_STATE(8200)] = 283623, + [SMALL_STATE(8201)] = 283630, + [SMALL_STATE(8202)] = 283637, + [SMALL_STATE(8203)] = 283644, + [SMALL_STATE(8204)] = 283651, + [SMALL_STATE(8205)] = 283658, + [SMALL_STATE(8206)] = 283665, + [SMALL_STATE(8207)] = 283672, + [SMALL_STATE(8208)] = 283679, + [SMALL_STATE(8209)] = 283686, + [SMALL_STATE(8210)] = 283693, + [SMALL_STATE(8211)] = 283700, + [SMALL_STATE(8212)] = 283707, + [SMALL_STATE(8213)] = 283714, + [SMALL_STATE(8214)] = 283721, + [SMALL_STATE(8215)] = 283728, + [SMALL_STATE(8216)] = 283735, + [SMALL_STATE(8217)] = 283742, + [SMALL_STATE(8218)] = 283749, + [SMALL_STATE(8219)] = 283756, + [SMALL_STATE(8220)] = 283763, + [SMALL_STATE(8221)] = 283770, + [SMALL_STATE(8222)] = 283777, + [SMALL_STATE(8223)] = 283784, + [SMALL_STATE(8224)] = 283791, + [SMALL_STATE(8225)] = 283798, + [SMALL_STATE(8226)] = 283805, + [SMALL_STATE(8227)] = 283812, + [SMALL_STATE(8228)] = 283819, + [SMALL_STATE(8229)] = 283826, + [SMALL_STATE(8230)] = 283833, + [SMALL_STATE(8231)] = 283840, + [SMALL_STATE(8232)] = 283847, + [SMALL_STATE(8233)] = 283854, + [SMALL_STATE(8234)] = 283861, + [SMALL_STATE(8235)] = 283868, + [SMALL_STATE(8236)] = 283875, + [SMALL_STATE(8237)] = 283882, + [SMALL_STATE(8238)] = 283889, + [SMALL_STATE(8239)] = 283896, + [SMALL_STATE(8240)] = 283903, + [SMALL_STATE(8241)] = 283910, + [SMALL_STATE(8242)] = 283917, + [SMALL_STATE(8243)] = 283924, + [SMALL_STATE(8244)] = 283931, + [SMALL_STATE(8245)] = 283938, + [SMALL_STATE(8246)] = 283945, + [SMALL_STATE(8247)] = 283952, + [SMALL_STATE(8248)] = 283959, + [SMALL_STATE(8249)] = 283966, + [SMALL_STATE(8250)] = 283973, + [SMALL_STATE(8251)] = 283980, + [SMALL_STATE(8252)] = 283987, + [SMALL_STATE(8253)] = 283994, + [SMALL_STATE(8254)] = 284001, + [SMALL_STATE(8255)] = 284008, + [SMALL_STATE(8256)] = 284015, + [SMALL_STATE(8257)] = 284022, + [SMALL_STATE(8258)] = 284029, + [SMALL_STATE(8259)] = 284036, + [SMALL_STATE(8260)] = 284043, + [SMALL_STATE(8261)] = 284050, + [SMALL_STATE(8262)] = 284057, + [SMALL_STATE(8263)] = 284064, + [SMALL_STATE(8264)] = 284071, + [SMALL_STATE(8265)] = 284078, + [SMALL_STATE(8266)] = 284085, + [SMALL_STATE(8267)] = 284092, + [SMALL_STATE(8268)] = 284099, + [SMALL_STATE(8269)] = 284106, + [SMALL_STATE(8270)] = 284113, + [SMALL_STATE(8271)] = 284120, + [SMALL_STATE(8272)] = 284127, + [SMALL_STATE(8273)] = 284134, + [SMALL_STATE(8274)] = 284141, + [SMALL_STATE(8275)] = 284148, + [SMALL_STATE(8276)] = 284155, + [SMALL_STATE(8277)] = 284162, + [SMALL_STATE(8278)] = 284169, + [SMALL_STATE(8279)] = 284176, + [SMALL_STATE(8280)] = 284183, + [SMALL_STATE(8281)] = 284190, + [SMALL_STATE(8282)] = 284197, + [SMALL_STATE(8283)] = 284204, + [SMALL_STATE(8284)] = 284211, + [SMALL_STATE(8285)] = 284218, + [SMALL_STATE(8286)] = 284225, + [SMALL_STATE(8287)] = 284232, + [SMALL_STATE(8288)] = 284239, + [SMALL_STATE(8289)] = 284246, + [SMALL_STATE(8290)] = 284253, + [SMALL_STATE(8291)] = 284260, + [SMALL_STATE(8292)] = 284267, + [SMALL_STATE(8293)] = 284274, + [SMALL_STATE(8294)] = 284281, + [SMALL_STATE(8295)] = 284288, + [SMALL_STATE(8296)] = 284295, + [SMALL_STATE(8297)] = 284302, + [SMALL_STATE(8298)] = 284309, + [SMALL_STATE(8299)] = 284316, + [SMALL_STATE(8300)] = 284323, + [SMALL_STATE(8301)] = 284330, + [SMALL_STATE(8302)] = 284337, + [SMALL_STATE(8303)] = 284344, + [SMALL_STATE(8304)] = 284351, + [SMALL_STATE(8305)] = 284358, + [SMALL_STATE(8306)] = 284365, + [SMALL_STATE(8307)] = 284372, + [SMALL_STATE(8308)] = 284379, + [SMALL_STATE(8309)] = 284386, + [SMALL_STATE(8310)] = 284393, + [SMALL_STATE(8311)] = 284400, + [SMALL_STATE(8312)] = 284407, + [SMALL_STATE(8313)] = 284414, + [SMALL_STATE(8314)] = 284421, + [SMALL_STATE(8315)] = 284428, + [SMALL_STATE(8316)] = 284435, + [SMALL_STATE(8317)] = 284442, + [SMALL_STATE(8318)] = 284449, + [SMALL_STATE(8319)] = 284456, + [SMALL_STATE(8320)] = 284463, + [SMALL_STATE(8321)] = 284470, + [SMALL_STATE(8322)] = 284477, + [SMALL_STATE(8323)] = 284484, + [SMALL_STATE(8324)] = 284491, + [SMALL_STATE(8325)] = 284498, + [SMALL_STATE(8326)] = 284505, + [SMALL_STATE(8327)] = 284512, + [SMALL_STATE(8328)] = 284519, + [SMALL_STATE(8329)] = 284526, + [SMALL_STATE(8330)] = 284533, + [SMALL_STATE(8331)] = 284540, + [SMALL_STATE(8332)] = 284547, + [SMALL_STATE(8333)] = 284554, + [SMALL_STATE(8334)] = 284561, + [SMALL_STATE(8335)] = 284568, + [SMALL_STATE(8336)] = 284575, + [SMALL_STATE(8337)] = 284582, + [SMALL_STATE(8338)] = 284589, + [SMALL_STATE(8339)] = 284596, + [SMALL_STATE(8340)] = 284603, + [SMALL_STATE(8341)] = 284610, + [SMALL_STATE(8342)] = 284617, + [SMALL_STATE(8343)] = 284624, + [SMALL_STATE(8344)] = 284631, + [SMALL_STATE(8345)] = 284638, + [SMALL_STATE(8346)] = 284645, + [SMALL_STATE(8347)] = 284652, + [SMALL_STATE(8348)] = 284659, + [SMALL_STATE(8349)] = 284666, + [SMALL_STATE(8350)] = 284673, + [SMALL_STATE(8351)] = 284680, + [SMALL_STATE(8352)] = 284687, + [SMALL_STATE(8353)] = 284694, + [SMALL_STATE(8354)] = 284701, + [SMALL_STATE(8355)] = 284708, + [SMALL_STATE(8356)] = 284715, + [SMALL_STATE(8357)] = 284722, + [SMALL_STATE(8358)] = 284729, + [SMALL_STATE(8359)] = 284736, + [SMALL_STATE(8360)] = 284743, + [SMALL_STATE(8361)] = 284750, + [SMALL_STATE(8362)] = 284757, + [SMALL_STATE(8363)] = 284764, + [SMALL_STATE(8364)] = 284771, + [SMALL_STATE(8365)] = 284778, + [SMALL_STATE(8366)] = 284785, + [SMALL_STATE(8367)] = 284792, + [SMALL_STATE(8368)] = 284799, + [SMALL_STATE(8369)] = 284806, + [SMALL_STATE(8370)] = 284813, + [SMALL_STATE(8371)] = 284820, + [SMALL_STATE(8372)] = 284827, + [SMALL_STATE(8373)] = 284834, + [SMALL_STATE(8374)] = 284841, + [SMALL_STATE(8375)] = 284848, + [SMALL_STATE(8376)] = 284855, + [SMALL_STATE(8377)] = 284862, + [SMALL_STATE(8378)] = 284869, + [SMALL_STATE(8379)] = 284876, + [SMALL_STATE(8380)] = 284883, + [SMALL_STATE(8381)] = 284890, + [SMALL_STATE(8382)] = 284897, + [SMALL_STATE(8383)] = 284904, + [SMALL_STATE(8384)] = 284911, + [SMALL_STATE(8385)] = 284918, + [SMALL_STATE(8386)] = 284925, + [SMALL_STATE(8387)] = 284932, + [SMALL_STATE(8388)] = 284939, + [SMALL_STATE(8389)] = 284946, + [SMALL_STATE(8390)] = 284953, + [SMALL_STATE(8391)] = 284960, + [SMALL_STATE(8392)] = 284967, + [SMALL_STATE(8393)] = 284974, + [SMALL_STATE(8394)] = 284981, + [SMALL_STATE(8395)] = 284988, + [SMALL_STATE(8396)] = 284995, + [SMALL_STATE(8397)] = 285002, + [SMALL_STATE(8398)] = 285009, + [SMALL_STATE(8399)] = 285016, + [SMALL_STATE(8400)] = 285023, + [SMALL_STATE(8401)] = 285030, + [SMALL_STATE(8402)] = 285037, + [SMALL_STATE(8403)] = 285044, + [SMALL_STATE(8404)] = 285051, + [SMALL_STATE(8405)] = 285058, + [SMALL_STATE(8406)] = 285065, + [SMALL_STATE(8407)] = 285072, + [SMALL_STATE(8408)] = 285079, + [SMALL_STATE(8409)] = 285086, + [SMALL_STATE(8410)] = 285093, + [SMALL_STATE(8411)] = 285100, + [SMALL_STATE(8412)] = 285107, + [SMALL_STATE(8413)] = 285114, + [SMALL_STATE(8414)] = 285121, + [SMALL_STATE(8415)] = 285128, + [SMALL_STATE(8416)] = 285135, + [SMALL_STATE(8417)] = 285142, + [SMALL_STATE(8418)] = 285149, + [SMALL_STATE(8419)] = 285156, + [SMALL_STATE(8420)] = 285163, + [SMALL_STATE(8421)] = 285170, + [SMALL_STATE(8422)] = 285177, + [SMALL_STATE(8423)] = 285184, + [SMALL_STATE(8424)] = 285191, + [SMALL_STATE(8425)] = 285198, + [SMALL_STATE(8426)] = 285205, + [SMALL_STATE(8427)] = 285212, + [SMALL_STATE(8428)] = 285219, + [SMALL_STATE(8429)] = 285226, + [SMALL_STATE(8430)] = 285233, + [SMALL_STATE(8431)] = 285240, + [SMALL_STATE(8432)] = 285247, + [SMALL_STATE(8433)] = 285254, + [SMALL_STATE(8434)] = 285261, + [SMALL_STATE(8435)] = 285268, + [SMALL_STATE(8436)] = 285275, + [SMALL_STATE(8437)] = 285282, + [SMALL_STATE(8438)] = 285289, + [SMALL_STATE(8439)] = 285296, + [SMALL_STATE(8440)] = 285303, + [SMALL_STATE(8441)] = 285310, + [SMALL_STATE(8442)] = 285317, + [SMALL_STATE(8443)] = 285324, + [SMALL_STATE(8444)] = 285331, + [SMALL_STATE(8445)] = 285338, + [SMALL_STATE(8446)] = 285345, + [SMALL_STATE(8447)] = 285352, + [SMALL_STATE(8448)] = 285359, + [SMALL_STATE(8449)] = 285366, + [SMALL_STATE(8450)] = 285373, + [SMALL_STATE(8451)] = 285380, + [SMALL_STATE(8452)] = 285387, + [SMALL_STATE(8453)] = 285394, + [SMALL_STATE(8454)] = 285401, + [SMALL_STATE(8455)] = 285408, + [SMALL_STATE(8456)] = 285415, + [SMALL_STATE(8457)] = 285422, + [SMALL_STATE(8458)] = 285429, + [SMALL_STATE(8459)] = 285436, + [SMALL_STATE(8460)] = 285443, + [SMALL_STATE(8461)] = 285450, + [SMALL_STATE(8462)] = 285457, + [SMALL_STATE(8463)] = 285464, + [SMALL_STATE(8464)] = 285471, + [SMALL_STATE(8465)] = 285478, + [SMALL_STATE(8466)] = 285485, + [SMALL_STATE(8467)] = 285492, + [SMALL_STATE(8468)] = 285499, + [SMALL_STATE(8469)] = 285506, + [SMALL_STATE(8470)] = 285513, + [SMALL_STATE(8471)] = 285520, + [SMALL_STATE(8472)] = 285527, + [SMALL_STATE(8473)] = 285534, + [SMALL_STATE(8474)] = 285541, + [SMALL_STATE(8475)] = 285548, + [SMALL_STATE(8476)] = 285555, + [SMALL_STATE(8477)] = 285562, + [SMALL_STATE(8478)] = 285569, + [SMALL_STATE(8479)] = 285576, + [SMALL_STATE(8480)] = 285583, + [SMALL_STATE(8481)] = 285590, + [SMALL_STATE(8482)] = 285597, + [SMALL_STATE(8483)] = 285604, + [SMALL_STATE(8484)] = 285611, + [SMALL_STATE(8485)] = 285618, + [SMALL_STATE(8486)] = 285625, + [SMALL_STATE(8487)] = 285632, + [SMALL_STATE(8488)] = 285639, + [SMALL_STATE(8489)] = 285646, + [SMALL_STATE(8490)] = 285653, + [SMALL_STATE(8491)] = 285660, + [SMALL_STATE(8492)] = 285667, + [SMALL_STATE(8493)] = 285674, + [SMALL_STATE(8494)] = 285681, + [SMALL_STATE(8495)] = 285688, + [SMALL_STATE(8496)] = 285695, + [SMALL_STATE(8497)] = 285702, + [SMALL_STATE(8498)] = 285709, + [SMALL_STATE(8499)] = 285716, + [SMALL_STATE(8500)] = 285723, + [SMALL_STATE(8501)] = 285730, + [SMALL_STATE(8502)] = 285737, + [SMALL_STATE(8503)] = 285744, + [SMALL_STATE(8504)] = 285751, + [SMALL_STATE(8505)] = 285758, + [SMALL_STATE(8506)] = 285765, + [SMALL_STATE(8507)] = 285772, + [SMALL_STATE(8508)] = 285779, + [SMALL_STATE(8509)] = 285786, + [SMALL_STATE(8510)] = 285793, + [SMALL_STATE(8511)] = 285800, + [SMALL_STATE(8512)] = 285807, + [SMALL_STATE(8513)] = 285814, + [SMALL_STATE(8514)] = 285821, + [SMALL_STATE(8515)] = 285828, + [SMALL_STATE(8516)] = 285835, + [SMALL_STATE(8517)] = 285842, + [SMALL_STATE(8518)] = 285849, + [SMALL_STATE(8519)] = 285856, + [SMALL_STATE(8520)] = 285863, + [SMALL_STATE(8521)] = 285870, + [SMALL_STATE(8522)] = 285877, + [SMALL_STATE(8523)] = 285884, + [SMALL_STATE(8524)] = 285891, + [SMALL_STATE(8525)] = 285898, + [SMALL_STATE(8526)] = 285905, + [SMALL_STATE(8527)] = 285912, + [SMALL_STATE(8528)] = 285919, + [SMALL_STATE(8529)] = 285926, + [SMALL_STATE(8530)] = 285933, + [SMALL_STATE(8531)] = 285940, + [SMALL_STATE(8532)] = 285947, + [SMALL_STATE(8533)] = 285954, + [SMALL_STATE(8534)] = 285961, + [SMALL_STATE(8535)] = 285968, + [SMALL_STATE(8536)] = 285975, + [SMALL_STATE(8537)] = 285982, + [SMALL_STATE(8538)] = 285989, + [SMALL_STATE(8539)] = 285996, + [SMALL_STATE(8540)] = 286003, + [SMALL_STATE(8541)] = 286010, + [SMALL_STATE(8542)] = 286017, + [SMALL_STATE(8543)] = 286024, + [SMALL_STATE(8544)] = 286031, + [SMALL_STATE(8545)] = 286038, + [SMALL_STATE(8546)] = 286045, + [SMALL_STATE(8547)] = 286052, + [SMALL_STATE(8548)] = 286059, + [SMALL_STATE(8549)] = 286066, + [SMALL_STATE(8550)] = 286073, + [SMALL_STATE(8551)] = 286080, + [SMALL_STATE(8552)] = 286087, + [SMALL_STATE(8553)] = 286094, + [SMALL_STATE(8554)] = 286101, + [SMALL_STATE(8555)] = 286108, + [SMALL_STATE(8556)] = 286115, + [SMALL_STATE(8557)] = 286122, + [SMALL_STATE(8558)] = 286129, + [SMALL_STATE(8559)] = 286136, + [SMALL_STATE(8560)] = 286143, + [SMALL_STATE(8561)] = 286150, + [SMALL_STATE(8562)] = 286157, + [SMALL_STATE(8563)] = 286164, + [SMALL_STATE(8564)] = 286171, + [SMALL_STATE(8565)] = 286178, + [SMALL_STATE(8566)] = 286185, + [SMALL_STATE(8567)] = 286192, + [SMALL_STATE(8568)] = 286199, + [SMALL_STATE(8569)] = 286206, + [SMALL_STATE(8570)] = 286213, + [SMALL_STATE(8571)] = 286220, + [SMALL_STATE(8572)] = 286227, + [SMALL_STATE(8573)] = 286234, + [SMALL_STATE(8574)] = 286241, + [SMALL_STATE(8575)] = 286248, + [SMALL_STATE(8576)] = 286255, + [SMALL_STATE(8577)] = 286262, + [SMALL_STATE(8578)] = 286269, + [SMALL_STATE(8579)] = 286276, + [SMALL_STATE(8580)] = 286283, + [SMALL_STATE(8581)] = 286290, + [SMALL_STATE(8582)] = 286297, + [SMALL_STATE(8583)] = 286304, + [SMALL_STATE(8584)] = 286311, + [SMALL_STATE(8585)] = 286318, + [SMALL_STATE(8586)] = 286325, + [SMALL_STATE(8587)] = 286332, + [SMALL_STATE(8588)] = 286339, + [SMALL_STATE(8589)] = 286346, + [SMALL_STATE(8590)] = 286353, +}; + +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, 0, 0), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(822), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6318), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7483), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5342), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7453), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7502), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1218), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5184), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(814), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3170), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3658), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2592), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8499), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6355), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6963), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8478), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7553), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3888), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2498), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(986), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3288), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3125), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1931), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8410), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2548), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5983), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5079), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5105), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5104), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7385), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7547), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1246), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8365), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7550), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8360), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(931), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8351), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8340), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7477), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1249), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1082), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8336), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8334), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8203), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6633), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4226), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7448), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6787), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4833), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3837), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2520), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8258), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3307), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4221), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4987), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1569), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(774), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7608), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1274), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1083), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6431), + [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6253), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8215), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7374), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1084), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1285), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7679), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4860), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5283), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6349), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7280), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7981), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5400), + [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7281), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7541), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3166), + [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3686), + [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2606), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(968), + [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3093), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7466), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7735), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1343), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8481), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7532), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8197), + [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(925), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8483), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8485), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7296), + [211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7791), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7839), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7072), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3826), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1570), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7731), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1152), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6382), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6257), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8473), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7061), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1169), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1353), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1709), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1954), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1944), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1946), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1696), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1959), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6350), + [259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7342), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5403), + [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7339), + [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5365), + [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7341), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7664), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3041), + [279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3545), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2615), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3165), + [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7292), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7681), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1498), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8290), + [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7733), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8472), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(929), + [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7940), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7928), + [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7336), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7705), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8044), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1568), + [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7689), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1138), + [319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6454), + [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6214), + [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8490), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7141), + [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1139), + [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1509), + [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(565), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598), + [335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(561), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 2, 0, 12), + [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(683), + [343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(663), + [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(761), + [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(665), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 3, 0, 12), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, 0, 80), + [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575), + [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), + [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), + [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, 0, 80), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(718), + [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(753), + [369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(822), + [372] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6350), + [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7342), + [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5403), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [383] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7339), + [386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7664), + [389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(115), + [392] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1219), + [398] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(250), + [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5184), + [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(814), + [410] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(270), + [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3041), + [416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3545), + [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2615), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6355), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6963), + [431] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [434] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7553), + [437] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3888), + [440] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [443] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2498), + [446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(986), + [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3165), + [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [458] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2548), + [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5983), + [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5079), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5105), + [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5104), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7292), + [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7681), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1498), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8290), + [488] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7733), + [491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [494] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8472), + [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(929), + [500] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7940), + [503] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7928), + [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7336), + [509] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7705), + [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8044), + [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1249), + [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1082), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8336), + [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8334), + [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8203), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6633), + [533] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(4226), + [536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7448), + [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6787), + [542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3826), + [545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3837), + [548] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(853), + [551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2520), + [554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8258), + [557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3307), + [560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(4221), + [563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(4987), + [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1568), + [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(774), + [572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7689), + [575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1274), + [578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1138), + [581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6454), + [584] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6214), + [587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8490), + [590] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7141), + [593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1139), + [596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1509), + [599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7679), + [602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1289), + [605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(4860), + [608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5283), + [611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6315), + [614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7110), + [617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5425), + [620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7105), + [623] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7706), + [626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(477), + [629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3141), + [632] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3678), + [635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2590), + [638] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3167), + [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7337), + [647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7774), + [650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1386), + [653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7949), + [656] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7683), + [659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(160), + [662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8489), + [665] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(939), + [668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8288), + [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8287), + [674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7092), + [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7766), + [680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8236), + [683] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1571), + [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7770), + [689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1187), + [692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6400), + [695] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6258), + [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8511), + [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7165), + [704] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1185), + [707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1484), + [710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6315), + [712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7110), + [714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5425), + [716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2, 0, 0), + [718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7105), + [720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7706), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3141), + [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3678), + [728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2590), + [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3167), + [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7337), + [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7774), + [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1386), + [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7949), + [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7683), + [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), + [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8489), + [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(939), + [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8288), + [752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8287), + [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7092), + [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7766), + [758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8236), + [760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1571), + [762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7770), + [764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1187), + [766] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6400), + [768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6258), + [770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8511), + [772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7165), + [774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185), + [776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1484), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(846), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2008), + [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2018), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2484), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2451), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1, 0, 0), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3392), + [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3870), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3456), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3348), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3882), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4379), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4376), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [824] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6349), + [827] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7280), + [830] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(5400), + [833] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7281), + [836] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7541), + [839] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(458), + [842] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3166), + [845] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3686), + [848] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2606), + [851] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(44), + [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [856] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(3093), + [859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7466), + [862] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7735), + [865] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1343), + [868] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8481), + [871] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7532), + [874] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(174), + [877] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8197), + [880] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(925), + [883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8483), + [886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8485), + [889] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7296), + [892] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7791), + [895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7839), + [898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1570), + [901] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7731), + [904] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1152), + [907] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6382), + [910] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(6257), + [913] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(8473), + [916] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(7061), + [919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1169), + [922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1353), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2287), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2299), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3275), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5715), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5717), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3714), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1971), + [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3717), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1725), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1733), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1972), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5935), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5940), + [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), + [969] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(822), + [972] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6318), + [975] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7483), + [978] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5342), + [981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7453), + [984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7502), + [987] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(115), + [990] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1219), + [996] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(250), + [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5184), + [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(814), + [1008] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3170), + [1011] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3658), + [1014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2592), + [1017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [1020] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6355), + [1023] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6963), + [1026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [1029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7553), + [1032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3888), + [1035] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [1038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2498), + [1041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(986), + [1044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [1047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3125), + [1050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [1053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [1056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2548), + [1059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5983), + [1062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5079), + [1065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5105), + [1068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5104), + [1071] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7385), + [1074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7547), + [1077] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1246), + [1080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8365), + [1083] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7550), + [1086] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(132), + [1089] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8360), + [1092] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(931), + [1095] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8351), + [1098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8340), + [1101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7477), + [1104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1249), + [1107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1082), + [1110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8336), + [1113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8334), + [1116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8203), + [1119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6633), + [1122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(4226), + [1125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7448), + [1128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6787), + [1131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(4833), + [1134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3837), + [1137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(853), + [1140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2520), + [1143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8258), + [1146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(3307), + [1149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(4221), + [1152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(4987), + [1155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1569), + [1158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(774), + [1161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7608), + [1164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1274), + [1167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1083), + [1170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6431), + [1173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(6253), + [1176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(8215), + [1179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7374), + [1182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1084), + [1185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1285), + [1188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(7679), + [1191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1289), + [1194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(4860), + [1197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(5283), + [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0), + [1202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(822), + [1205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [1207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(218), + [1210] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [1213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [1216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1454), + [1219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [1221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1454), + [1224] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(270), + [1227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3041), + [1230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3545), + [1233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [1236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [1239] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(6355), + [1242] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(6851), + [1245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [1248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [1251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2498), + [1254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(994), + [1257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [1260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [1263] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2548), + [1266] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5983), + [1269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5079), + [1272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5105), + [1275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5104), + [1278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7292), + [1281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7681), + [1284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7733), + [1287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [1290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8472), + [1293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(929), + [1296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7940), + [1299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7928), + [1302] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7336), + [1305] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7705), + [1308] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8044), + [1311] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1249), + [1314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1082), + [1317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8336), + [1320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8334), + [1323] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8203), + [1326] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(6633), + [1329] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4226), + [1332] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7448), + [1335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(6787), + [1338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3826), + [1341] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3837), + [1344] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(942), + [1347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2520), + [1350] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8258), + [1353] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1958), + [1356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4987), + [1359] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7010), + [1362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7689), + [1365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1274), + [1368] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1138), + [1371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1139), + [1374] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1509), + [1377] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7679), + [1380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1289), + [1383] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4860), + [1386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5283), + [1389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, 0, 16), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1454), + [1395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 16), + [1397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1454), + [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6851), + [1401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942), + [1405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1958), + [1407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7010), + [1409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2, 0, 0), + [1411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2, 0, 0), + [1413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 0), + [1415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 0), + [1417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 16), + [1419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 16), + [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7697), + [1425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8477), + [1427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(448), + [1430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3170), + [1433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3658), + [1436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [1439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7385), + [1442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7547), + [1445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7550), + [1448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(132), + [1451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8360), + [1454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(931), + [1457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8351), + [1460] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8340), + [1463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7477), + [1466] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7697), + [1469] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8477), + [1472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7608), + [1475] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1083), + [1478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1084), + [1481] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1285), + [1484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(477), + [1487] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3141), + [1490] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3678), + [1493] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [1496] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7337), + [1499] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7774), + [1502] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7683), + [1505] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(160), + [1508] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8489), + [1511] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(939), + [1514] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8288), + [1517] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8287), + [1520] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7092), + [1523] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7766), + [1526] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8236), + [1529] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7770), + [1532] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1187), + [1535] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1185), + [1538] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1484), + [1541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(458), + [1544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3166), + [1547] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3686), + [1550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(44), + [1553] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7466), + [1556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7735), + [1559] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7532), + [1562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(174), + [1565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8197), + [1568] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(925), + [1571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8483), + [1574] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8485), + [1577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7296), + [1580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7791), + [1583] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7839), + [1586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7731), + [1589] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1152), + [1592] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1169), + [1595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1353), + [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), + [1600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4123), + [1602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3720), + [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7098), + [1608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7721), + [1610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7773), + [1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [1614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8500), + [1616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(937), + [1618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8084), + [1620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8096), + [1622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7117), + [1624] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7715), + [1626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8165), + [1628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7686), + [1630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172), + [1632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1165), + [1634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1385), + [1636] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(873), + [1639] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(4123), + [1642] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3720), + [1645] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(36), + [1648] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7098), + [1651] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7721), + [1654] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7773), + [1657] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(152), + [1660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8500), + [1663] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(937), + [1666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8084), + [1669] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8096), + [1672] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7117), + [1675] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7715), + [1678] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(8165), + [1681] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7686), + [1684] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1172), + [1687] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1165), + [1690] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1385), + [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4090), + [1697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3712), + [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6982), + [1701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7036), + [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1500), + [1707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1500), + [1709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6451), + [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1496), + [1713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1096), + [1715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1486), + [1717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7381), + [1719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1480), + [1721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1035), + [1723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4250), + [1725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [1727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1264), + [1729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1263), + [1731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1264), + [1733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [1735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(813), + [1737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6387), + [1739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6291), + [1741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1743), + [1743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(986), + [1745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5222), + [1747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5945), + [1749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5049), + [1751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5047), + [1753] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4988), + [1755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1255), + [1757] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1151), + [1759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7808), + [1761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8555), + [1763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8586), + [1765] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6649), + [1767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3232), + [1769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7335), + [1771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6998), + [1773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3435), + [1775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3438), + [1777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1602), + [1779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1767), + [1781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8200), + [1783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4999), + [1785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2984), + [1787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1204), + [1789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7537), + [1791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1203), + [1793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4857), + [1795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5272), + [1797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7854), + [1799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [1801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1267), + [1803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1267), + [1805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1235), + [1807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6369), + [1809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3146), + [1811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5958), + [1813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5017), + [1815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5016), + [1817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5013), + [1819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), + [1821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1148), + [1823] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8357), + [1825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8561), + [1827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8588), + [1829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6635), + [1831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3817), + [1833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7192), + [1835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6891), + [1837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3921), + [1839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3901), + [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(973), + [1843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1949), + [1845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5010), + [1847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1305), + [1849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7513), + [1851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1306), + [1853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4851), + [1855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5280), + [1857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7290), + [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4864), + [1861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [1865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 2), + [1867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 2), + [1869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, 0, 47), + [1871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, 0, 47), + [1873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1320), + [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1320), + [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6422), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), + [1881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6757), + [1883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1141), + [1885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8323), + [1887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8558), + [1889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8587), + [1891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6634), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2761), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7372), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6789), + [1899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2475), + [1901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2383), + [1903] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7926), + [1905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1198), + [1907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7515), + [1909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1199), + [1911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4902), + [1913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5275), + [1915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1556), + [1917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1372), + [1919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1372), + [1921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6415), + [1923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1136), + [1925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2909), + [1927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7087), + [1929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6799), + [1931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1920), + [1933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1392), + [1935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7526), + [1937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1391), + [1939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4868), + [1941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5269), + [1943] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7024), + [1945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1965), + [1947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1315), + [1949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315), + [1951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6411), + [1953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1143), + [1955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3185), + [1957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7370), + [1959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6901), + [1961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2178), + [1963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1481), + [1965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7505), + [1967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1491), + [1969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7090), + [1971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1502), + [1973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8001), + [1975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7727), + [1977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8322), + [1979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7616), + [1981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1556), + [1984] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(218), + [1987] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1218), + [1990] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1218), + [1993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1454), + [1996] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(458), + [1999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(6355), + [2002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(6851), + [2005] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(44), + [2008] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(994), + [2011] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7024), + [2014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7466), + [2017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7735), + [2020] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1343), + [2023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8481), + [2026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7532), + [2029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(174), + [2032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8197), + [2035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(925), + [2038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8483), + [2041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8485), + [2044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7296), + [2047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7791), + [2050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7839), + [2053] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1249), + [2056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1082), + [2059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8336), + [2062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8334), + [2065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8203), + [2068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(6633), + [2071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(4226), + [2074] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7448), + [2077] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(6787), + [2080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(3826), + [2083] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(3837), + [2086] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1965), + [2089] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7926), + [2092] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7010), + [2095] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7731), + [2098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1274), + [2101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1152), + [2104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1169), + [2107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1353), + [2110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7679), + [2113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1289), + [2116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(4860), + [2119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(5283), + [2122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(477), + [2125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(40), + [2128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7337), + [2131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7774), + [2134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1386), + [2137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7949), + [2140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7683), + [2143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(160), + [2146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8489), + [2149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(939), + [2152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8288), + [2155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8287), + [2158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7092), + [2161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7766), + [2164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8236), + [2167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7770), + [2170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1187), + [2173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1185), + [2176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1484), + [2179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(448), + [2182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(57), + [2185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7385), + [2188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7547), + [2191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1246), + [2194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8365), + [2197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7550), + [2200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(132), + [2203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8360), + [2206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(931), + [2209] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8351), + [2212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8340), + [2215] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7477), + [2218] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7697), + [2221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8477), + [2224] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7608), + [2227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1083), + [2230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1084), + [2233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1285), + [2236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1580), + [2238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848), + [2240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6868), + [2242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2228), + [2244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(270), + [2247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(68), + [2250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7292), + [2253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7681), + [2256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1498), + [2259] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8290), + [2262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7733), + [2265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(171), + [2268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8472), + [2271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(929), + [2274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7940), + [2277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7928), + [2280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7336), + [2283] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7705), + [2286] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8044), + [2289] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7689), + [2292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1138), + [2295] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1139), + [2298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1509), + [2301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7090), + [2304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1502), + [2307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8001), + [2310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7727), + [2313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8322), + [2316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7616), + [2319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(873), + [2322] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(36), + [2325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7098), + [2328] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7721), + [2331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7773), + [2334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(152), + [2337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8500), + [2340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(937), + [2343] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8084), + [2346] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8096), + [2349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7117), + [2352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7715), + [2355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(8165), + [2358] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(7686), + [2361] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1172), + [2364] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1165), + [2367] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1385), + [2370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [2372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(994), + [2374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1611), + [2376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1238), + [2378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238), + [2380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6420), + [2382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1180), + [2384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1526), + [2386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1516), + [2388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4897), + [2390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1210), + [2392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210), + [2394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6428), + [2396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1188), + [2398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1482), + [2400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1485), + [2402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0), + [2404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0), + [2406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1594), + [2408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1297), + [2410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1297), + [2412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6427), + [2414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844), + [2416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6899), + [2418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1146), + [2420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8407), + [2422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8567), + [2424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8590), + [2426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6630), + [2428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3357), + [2430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7319), + [2432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6977), + [2434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3577), + [2436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3569), + [2438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2289), + [2440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1458), + [2442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7509), + [2444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1461), + [2446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4914), + [2448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5289), + [2450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0), + [2452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0), + [2454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), + [2456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6818), + [2458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2210), + [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [2462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), + [2464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1290), + [2466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1367), + [2468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6459), + [2470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1969), + [2472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5020), + [2474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5918), + [2476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5039), + [2478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5040), + [2480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5041), + [2482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1291), + [2484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1147), + [2486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8387), + [2488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8564), + [2490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8589), + [2492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6652), + [2494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4648), + [2496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7245), + [2498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6979), + [2500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4786), + [2502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4793), + [2504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1612), + [2506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2876), + [2508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8389), + [2510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4965), + [2512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2306), + [2514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1208), + [2516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7512), + [2518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1205), + [2520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4917), + [2522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5277), + [2524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1614), + [2526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1587), + [2528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1604), + [2530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2631), + [2532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1669), + [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2611), + [2536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1558), + [2538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2826), + [2540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6476), + [2542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1724), + [2544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1597), + [2546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2753), + [2548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3730), + [2550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3685), + [2552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4701), + [2554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1681), + [2556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4460), + [2558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4158), + [2560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4163), + [2562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8196), + [2564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2022), + [2566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, 0, 11), + [2568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, 0, 11), + [2570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7751), + [2572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), + [2574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), + [2576] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7751), + [2579] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(1556), + [2582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1033), + [2584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), + [2586] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(6355), + [2589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), + [2591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(7024), + [2594] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(1930), + [2597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(7926), + [2600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), SHIFT(7010), + [2603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(1556), + [2606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1032), + [2608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_statement, 1, 0, 0), + [2610] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(6355), + [2613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_statement, 1, 0, 0), + [2615] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(7024), + [2618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(1930), + [2621] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(7926), + [2624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_init_statement, 1, 0, 0), SHIFT(7010), + [2627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(1556), + [2630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1038), + [2632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [2634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(6355), + [2637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [2639] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(7024), + [2642] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(1930), + [2645] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(7926), + [2648] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), SHIFT(7010), + [2651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [2653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1370), + [2655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1369), + [2657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1998), + [2659] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5237), + [2661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1613), + [2663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_try_statement, 3, 0, 11), + [2665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_try_statement, 3, 0, 11), + [2667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_try_statement, 4, 0, 48), + [2669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_try_statement, 4, 0, 48), + [2671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 53), + [2673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 53), + [2675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), + [2677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [2679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [2681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1930), + [2683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 3, 0, 161), + [2685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, 0, 161), + [2687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 105), + [2689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 105), + [2691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 54), + [2693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 54), + [2695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 169), + [2697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 169), + [2699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 54), + [2701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 54), + [2703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [2705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [2707] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_loop, 5, 0, 153), + [2709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_loop, 5, 0, 153), + [2711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [2713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [2715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 55), + [2717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 55), + [2719] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [2721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [2723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_try_statement, 3, 0, 11), + [2725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_try_statement, 3, 0, 11), + [2727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_return_statement, 3, 0, 0), + [2729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_return_statement, 3, 0, 0), + [2731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [2733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [2735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [2737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [2739] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 73), + [2741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 73), + [2743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 106), + [2745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 106), + [2747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 152), + [2749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 152), + [2751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, 0, 87), + [2753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, 0, 87), + [2755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 133), + [2757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 133), + [2759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 115), + [2761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 115), + [2763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, 0, 148), + [2765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, 0, 148), + [2767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 87), + [2769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 87), + [2771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2, 0, 0), + [2773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 3, 0, 0), + [2775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 3, 0, 0), + [2777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 116), + [2779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 116), + [2781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, 0, 133), + [2783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, 0, 133), + [2785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 66), + [2787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 66), + [2789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_finally_clause, 2, 0, 11), + [2791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_finally_clause, 2, 0, 11), + [2793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [2795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [2797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_yield_statement, 3, 0, 0), + [2799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_yield_statement, 3, 0, 0), + [2801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [2803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [2805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_return_statement, 2, 0, 0), + [2807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_return_statement, 2, 0, 0), + [2809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [2811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [2813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 147), + [2815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 147), + [2817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 2, 0, 0), + [2819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 2, 0, 0), + [2821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_except_clause, 3, 0, 179), + [2823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_except_clause, 3, 0, 179), + [2825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 80), + [2827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 80), + [2829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 7), + [2831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 7), + [2833] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1960), + [2835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7190), + [2837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5351), + [2839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1875), + [2841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7388), + [2843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(707), + [2845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5401), + [2847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7475), + [2849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7734), + [2851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4537), + [2853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7077), + [2855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2858), + [2857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5184), + [2859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3134), + [2861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3623), + [2863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5421), + [2865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7080), + [2867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2629), + [2869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5972), + [2871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5011), + [2873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5012), + [2875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5018), + [2877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960), + [2879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5051), + [2881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6673), + [2883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1632), + [2885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8304), + [2887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6215), + [2889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8519), + [2891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2184), + [2893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, 0, 177), + [2895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, 0, 177), + [2897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 3, 0, 0), + [2899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 3, 0, 0), + [2901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_definition, 3, 0, 77), + [2903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_definition, 3, 0, 77), + [2905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 3, 0, 48), + [2907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 3, 0, 48), + [2909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, 0, 46), + [2911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, 0, 46), + [2913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7653), + [2915] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 5, 0, 176), + [2917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 5, 0, 176), + [2919] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_declaration, 6, 0, 195), + [2921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_declaration, 6, 0, 195), + [2923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 81), + [2925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 81), + [2927] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7653), + [2930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2206), + [2932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, 0, 78), + [2934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, 0, 78), + [2936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, 0, 5), + [2938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, 0, 5), + [2940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, 0, 40), + [2942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, 0, 40), + [2944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, 0, 12), + [2946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, 0, 12), + [2948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 4, 0, 0), + [2950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 4, 0, 0), + [2952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, 0, 12), + [2954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, 0, 12), + [2956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, 0, 39), + [2958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, 0, 39), + [2960] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7619), + [2963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_instantiation, 3, 0, 7), + [2965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_instantiation, 3, 0, 7), + [2967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_declaration, 3, 0, 57), + [2969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_declaration, 3, 0, 57), + [2971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 171), + [2973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 171), + [2975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_declaration, 4, 0, 57), + [2977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_declaration, 4, 0, 57), + [2979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 2, 0, 12), + [2981] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 80), + [2983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2084), + [2985] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_definition, 5, 0, 12), + [2987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_definition, 5, 0, 12), + [2989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_assert_declaration, 5, 0, 165), + [2991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_assert_declaration, 5, 0, 165), + [2993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0), + [2995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0), + [2997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_assert_declaration, 7, 0, 206), + [2999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_assert_declaration, 7, 0, 206), + [3001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, 0, 80), + [3003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, 0, 80), + [3005] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_declaration, 5, 0, 164), + [3007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_declaration, 5, 0, 164), + [3009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_alias_definition, 5, 0, 163), + [3011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_alias_definition, 5, 0, 163), + [3013] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 3, 0, 60), + [3015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 3, 0, 60), + [3017] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_alias_definition, 5, 0, 162), + [3019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_alias_definition, 5, 0, 162), + [3021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_definition, 2, 0, 23), + [3023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_definition, 2, 0, 23), + [3025] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_instantiation, 4, 0, 58), + [3027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_instantiation, 4, 0, 58), + [3029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1865), + [3031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 4, 0, 94), + [3033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 4, 0, 94), + [3035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0), + [3037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0), + [3039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 4, 0, 95), + [3041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 4, 0, 95), + [3043] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7753), + [3046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 2, 0, 24), + [3048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 2, 0, 24), + [3050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_declaration, 4, 0, 0), + [3052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_declaration, 4, 0, 0), + [3054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 69), + [3056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 69), + [3058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 5, 0, 138), + [3060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 5, 0, 138), + [3062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7753), + [3064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1878), + [3066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 5, 0, 137), + [3068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 5, 0, 137), + [3070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 3, 0, 7), + [3072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 3, 0, 7), + [3074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 12), + [3076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 12), + [3078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 3, 0, 50), + [3080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 3, 0, 50), + [3082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_declaration, 3, 0, 0), + [3084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_declaration, 3, 0, 0), + [3086] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1855), + [3088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, 0, 130), + [3090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, 0, 130), + [3092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 2, 0, 0), + [3094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 2, 0, 0), + [3096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [3098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [3100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 113), + [3102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 113), + [3104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 2, 0, 24), + [3106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 2, 0, 24), + [3108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [3111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [3114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 2, 0, 23), + [3116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 2, 0, 23), + [3118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 129), + [3120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 129), + [3122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, 0, 128), + [3124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, 0, 128), + [3126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, 0, 80), + [3128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 12), + [3130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 4, 0, 127), + [3132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 4, 0, 127), + [3134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 4, 0, 123), + [3136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 4, 0, 123), + [3138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_declaration, 2, 0, 24), + [3140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_declaration, 2, 0, 24), + [3142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2115), + [3144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2181), + [3146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2121), + [3148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2118), + [3150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pure_virtual_clause, 3, 0, 0), + [3152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pure_virtual_clause, 3, 0, 0), + [3154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 118), + [3156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 118), + [3158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2067), + [3160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7619), + [3162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 77), + [3164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, 0, 77), + [3166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 4, 0, 96), + [3168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 4, 0, 96), + [3170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, 0, 79), + [3172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, 0, 79), + [3174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_method_clause, 3, 0, 0), + [3176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_method_clause, 3, 0, 0), + [3178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_declaration, 3, 0, 7), + [3180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_declaration, 3, 0, 7), + [3182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_method_clause, 3, 0, 0), + [3184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_method_clause, 3, 0, 0), + [3186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 67), + [3188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 67), + [3190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 2, 0, 11), + [3192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 2, 0, 11), + [3194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1312), + [3196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1312), + [3198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6388), + [3200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829), + [3202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1144), + [3204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4145), + [3206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7361), + [3208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6754), + [3210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1381), + [3212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7522), + [3214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1379), + [3216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4852), + [3218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5282), + [3220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [3222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [3224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [3226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1960), + [3229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7190), + [3232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5351), + [3235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [3237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7388), + [3240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7734), + [3243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4537), + [3246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7077), + [3249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(2858), + [3252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5184), + [3255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5184), + [3258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3134), + [3261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3623), + [3264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [3267] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [3270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5421), + [3273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6982), + [3276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [3279] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7553), + [3282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(2498), + [3285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7080), + [3288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [3291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [3294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(2629), + [3297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5972), + [3300] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5011), + [3303] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5012), + [3306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5018), + [3309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1960), + [3312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(2520), + [3315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8258), + [3318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3307), + [3321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(4221), + [3324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5051), + [3327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6673), + [3330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(774), + [3333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1632), + [3336] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8304), + [3339] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6215), + [3342] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8519), + [3345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1304), + [3347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), + [3349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6358), + [3351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1145), + [3353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4496), + [3355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7338), + [3357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6931), + [3359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2194), + [3361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1364), + [3363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7506), + [3365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1363), + [3367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), + [3369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6823), + [3371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2311), + [3373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1501), + [3375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1501), + [3377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6429), + [3379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1099), + [3381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1508), + [3383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1510), + [3385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4854), + [3387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1341), + [3389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341), + [3391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6416), + [3393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1140), + [3395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1352), + [3397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1356), + [3399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4840), + [3401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7106), + [3403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5382), + [3405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7198), + [3407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7574), + [3409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3172), + [3411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3739), + [3413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2704), + [3415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6664), + [3417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1627), + [3419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6283), + [3421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8501), + [3423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3336), + [3425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1772), + [3427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [3429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [3431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4895), + [3433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4845), + [3435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7114), + [3437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5379), + [3439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1, 0, 0), + [3441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7261), + [3443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7501), + [3445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3132), + [3447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3596), + [3449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6657), + [3451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1633), + [3453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6279), + [3455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8527), + [3457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2715), + [3459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7114), + [3462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5379), + [3465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7261), + [3468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7501), + [3471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3132), + [3474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3596), + [3477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6657), + [3480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1633), + [3483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6279), + [3486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8527), + [3489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2, 0, 0), + [3491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5009), + [3493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2046), + [3495] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [3498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [3501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_pack_expansion, 2, 0, 26), + [3503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [3505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), + [3507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_pack_expansion, 2, 0, 26), + [3509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1366), + [3511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1347), + [3513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5019), + [3515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2896), + [3517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2572), + [3519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3026), + [3521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7106), + [3524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5382), + [3527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7198), + [3530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7574), + [3533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3172), + [3536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(3739), + [3539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [3541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6664), + [3544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1627), + [3547] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(6283), + [3550] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(8501), + [3553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2946), + [3555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2028), + [3557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2930), + [3559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1849), + [3561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4014), + [3563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3269), + [3565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4013), + [3567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2534), + [3569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1862), + [3571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3271), + [3573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3271), + [3575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6410), + [3577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4086), + [3579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3445), + [3581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5949), + [3583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5098), + [3585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5075), + [3587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5107), + [3589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1862), + [3591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1947), + [3593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5038), + [3595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3142), + [3597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7434), + [3599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6021), + [3601] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6021), + [3603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5921), + [3605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7306), + [3607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1093), + [3609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1813), + [3611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1672), + [3613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5871), + [3615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8356), + [3617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1101), + [3619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(787), + [3621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6447), + [3623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1183), + [3625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3513), + [3627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182), + [3629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(783), + [3631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6135), + [3633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1110), + [3635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2259), + [3637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), + [3639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(777), + [3641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3429), + [3643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1153), + [3645] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795), + [3647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6289), + [3649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1162), + [3651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(785), + [3653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6141), + [3655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1159), + [3657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6140), + [3659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), + [3661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(791), + [3663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3180), + [3665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1112), + [3667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6110), + [3669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1106), + [3671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775), + [3673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5898), + [3675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1094), + [3677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6402), + [3679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), + [3681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6242), + [3683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1108), + [3685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5899), + [3687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1081), + [3689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(779), + [3691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2093), + [3693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1092), + [3695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3187), + [3697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2321), + [3699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149), + [3701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788), + [3703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6249), + [3705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1128), + [3707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(789), + [3709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5901), + [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1154), + [3713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6295), + [3715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5355), + [3717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7301), + [3719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7243), + [3721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5393), + [3723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6654), + [3725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1631), + [3727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7383), + [3729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6668), + [3731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1630), + [3733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7258), + [3735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6670), + [3737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1628), + [3739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7187), + [3741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6646), + [3743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1629), + [3745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7143), + [3747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7320), + [3749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7278), + [3751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7214), + [3753] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7209), + [3755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [3757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [3759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [3761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [3763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 4), + [3765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [3767] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [3771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), + [3773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [3775] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [3778] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [3781] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(237), + [3784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6512), + [3786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), + [3789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_name, 1, 0, 4), + [3791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2603), + [3793] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), REDUCE(sym_expression, 1, 0, 0), + [3797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1049), + [3799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [3801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1049), + [3803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2648), + [3805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [3807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [3809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), + [3811] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [3814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [3817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [3819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [3821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), + [3823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), + [3825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [3827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [3829] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7674), + [3832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7674), + [3834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8011), + [3836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3894), + [3838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016), + [3840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2720), + [3842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1271), + [3844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3909), + [3846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6353), + [3848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3300), + [3850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1556), + [3853] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(218), + [3856] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [3859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1218), + [3862] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1454), + [3865] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(2720), + [3868] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(6355), + [3871] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1271), + [3874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), + [3876] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(994), + [3879] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(7024), + [3882] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1249), + [3885] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1082), + [3888] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(8336), + [3891] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(8334), + [3894] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(8203), + [3897] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(6633), + [3900] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(4226), + [3903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(7448), + [3906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(6787), + [3909] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(3826), + [3912] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(3837), + [3915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1930), + [3918] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(7926), + [3921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(6353), + [3924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(7010), + [3927] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1274), + [3930] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(7679), + [3933] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(1289), + [3936] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(4860), + [3939] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2, 0, 0), SHIFT_REPEAT(5283), + [3942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4335), + [3944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3789), + [3946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1644), + [3948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4314), + [3950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1652), + [3952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5934), + [3954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5941), + [3956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3387), + [3958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8411), + [3960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4773), + [3962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3276), + [3964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3546), + [3966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3806), + [3968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3481), + [3970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8098), + [3972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2472), + [3974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2473), + [3976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7907), + [3978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3664), + [3980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5718), + [3982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2396), + [3984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8090), + [3986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3381), + [3988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3849), + [3990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5704), + [3992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3558), + [3994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), + [3996] = {.entry = {.count = 5, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 1), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), REDUCE(sym_user_defined_literal, 1, 0, 0), + [4002] = {.entry = {.count = 5, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 1), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), REDUCE(sym_user_defined_literal, 1, 0, 0), + [4008] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 2), REDUCE(sym_user_defined_literal, 1, 0, 0), + [4011] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 2), REDUCE(sym_user_defined_literal, 1, 0, 0), + [4014] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), + [4017] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 1), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_string_literal, 1, 0, 0), + [4021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3522), + [4023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3531), + [4025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3897), + [4027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4711), + [4029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [4031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2101), + [4033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4237), + [4035] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4237), + [4037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5543), + [4039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(792), + [4041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3666), + [4043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3610), + [4045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4750), + [4047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2490), + [4049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4769), + [4051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2439), + [4053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3775), + [4055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3868), + [4057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1043), + [4059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043), + [4061] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(229), + [4064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1047), + [4066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6993), + [4068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2501), + [4070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7510), + [4072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), + [4074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3923), + [4076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1355), + [4078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2407), + [4080] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1423), + [4082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2729), + [4084] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1338), + [4086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4103), + [4088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1424), + [4090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3449), + [4092] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1537), + [4094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3749), + [4096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1371), + [4098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4784), + [4100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1336), + [4102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [4104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [4106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1216), + [4108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8020), + [4110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1307), + [4112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4496), + [4114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1091), + [4116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8026), + [4118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [4120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7965), + [4122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1100), + [4124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7960), + [4126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [4128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1211), + [4130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8433), + [4132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1155), + [4134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8429), + [4136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), + [4138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [4140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067), + [4142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(981), + [4144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7800), + [4146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(966), + [4148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3707), + [4150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), + [4152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8374), + [4155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(953), + [4157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 2, 0, 0), + [4159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 2, 0, 0), + [4161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298), + [4163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1240), + [4165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1020), + [4167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8378), + [4170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8381), + [4173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), + [4175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), + [4177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964), + [4179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1014), + [4181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(970), + [4183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1504), + [4185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6617), + [4187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), + [4189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999), + [4191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(967), + [4193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1282), + [4195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1795), + [4197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3406), + [4199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(997), + [4201] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8369), + [4204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(996), + [4206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8363), + [4209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8373), + [4212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1013), + [4214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1002), + [4216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8355), + [4219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), + [4221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1019), + [4223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8353), + [4226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971), + [4228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1316), + [4230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1212), + [4232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1313), + [4234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1799), + [4236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8326), + [4239] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8320), + [4242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(979), + [4244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1021), + [4246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8311), + [4249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2482), + [4251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(989), + [4253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000), + [4255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(998), + [4257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(995), + [4259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), + [4261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(987), + [4263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975), + [4265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961), + [4267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [4269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [4271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [4273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1513), + [4275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1483), + [4277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [4279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1248), + [4281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 1, 80), + [4283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1433), + [4285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1207), + [4287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 1, 107), + [4289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 1, 0), + [4291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1374), + [4293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 1, 107), + [4295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1239), + [4297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206), + [4299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [4301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1555), + [4303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [4305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 1, 151), + [4307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1493), + [4309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1302), + [4311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1542), + [4313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 1, 188), + [4315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1400), + [4317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_default_capture, 1, 0, 0), + [4319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [4321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1507), + [4323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1375), + [4325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1495), + [4327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [4329] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8221), + [4332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1269), + [4334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8246), + [4337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2261), + [4339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7952), + [4341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [4343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [4345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [4347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7967), + [4349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8059), + [4351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8171), + [4353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8347), + [4355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7996), + [4357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8505), + [4359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765), + [4361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004), + [4363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3225), + [4365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5865), + [4367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6357), + [4369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7997), + [4371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [4373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7990), + [4375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [4377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2051), + [4379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6405), + [4381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8530), + [4383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3186), + [4385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6219), + [4387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5873), + [4389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5874), + [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5727), + [4393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2032), + [4395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7992), + [4397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6102), + [4399] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8233), + [4402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8243), + [4405] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8245), + [4408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8249), + [4411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8252), + [4414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8262), + [4417] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8265), + [4420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8522), + [4423] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8272), + [4426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8279), + [4429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8280), + [4432] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8283), + [4435] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8284), + [4438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8289), + [4441] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8295), + [4444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5903), + [4446] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8297), + [4449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8305), + [4452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8384), + [4455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8390), + [4458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8391), + [4461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8395), + [4464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8401), + [4467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8332), + [4469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [4471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8404), + [4474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [4476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [4478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [4480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [4482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [4484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [4486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [4488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8412), + [4490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [4492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8393), + [4494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [4496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8366), + [4498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6245), + [4502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3514), + [4504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8217), + [4506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [4510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6292), + [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6273), + [4514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2164), + [4516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6198), + [4518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6197), + [4520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879), + [4522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [4524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(880), + [4526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6133), + [4530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3507), + [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [4536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [4538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1015), + [4540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018), + [4542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954), + [4544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972), + [4546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), + [4548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1979), + [4550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), + [4552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(977), + [4554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957), + [4556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(960), + [4558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(993), + [4560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), + [4562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(991), + [4564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1010), + [4566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1009), + [4568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(958), + [4570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008), + [4572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), + [4574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), + [4576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), + [4578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), + [4580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(985), + [4582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944), + [4584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(980), + [4586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(984), + [4588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(945), + [4590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969), + [4592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [4594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), + [4596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1012), + [4598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, 2, 0), + [4600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, 2, 0), + [4602] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 2, 0, 0), + [4604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 2, 0, 0), + [4606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, 1, 0), + [4608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, 1, 0), + [4610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), + [4612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_identifier, 2, 0, 36), + [4614] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_qualified_identifier, 2, 0, 36), REDUCE(sym_qualified_type_identifier, 2, 0, 37), + [4617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), + [4619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), + [4621] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), REDUCE(sym_qualified_type_identifier, 2, 0, 37), + [4624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), SHIFT(233), + [4627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, 3, 0), + [4629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, 3, 0), + [4631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, 2, 0), + [4633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, 2, 0), + [4635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, 3, 0), + [4637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, 3, 0), + [4639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, 1, 0), + [4641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, 1, 0), + [4643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_type, 2, 0, 30), + [4645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_function, 2, 0, 31), + [4647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_template_type, 2, 0, 30), REDUCE(sym_template_function, 2, 0, 31), + [4650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_type, 2, 0, 30), + [4652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_function, 2, 0, 31), + [4654] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_template_type, 2, 0, 30), REDUCE(sym_template_function, 2, 0, 31), + [4657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1566), + [4659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4211), + [4661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5946), + [4663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5946), + [4665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6413), + [4667] = {.entry = {.count = 1, .reusable = false}}, SHIFT(778), + [4669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1646), + [4671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5584), + [4673] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(228), + [4676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), + [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1994), + [4680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6819), + [4682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2298), + [4684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7519), + [4686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), SHIFT(228), + [4689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(231), + [4692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(232), + [4695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2394), + [4697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1051), + [4699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1051), + [4701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6962), + [4703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3772), + [4705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7508), + [4707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(236), + [4710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6363), + [4712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [4714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [4716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [4718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [4720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4997), + [4722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5003), + [4724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5022), + [4726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4956), + [4728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4955), + [4730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4954), + [4732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5001), + [4734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4998), + [4736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4995), + [4738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4981), + [4740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4983), + [4742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4985), + [4744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4989), + [4746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4990), + [4748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4991), + [4750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4976), + [4752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4978), + [4754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4979), + [4756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5002), + [4758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5004), + [4760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5006), + [4762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1679), + [4764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [4766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675), + [4770] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1679), + [4773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [4775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [4777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6789), + [4780] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1675), + [4783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7515), + [4786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [4788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [4790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 125), + [4792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 125), + [4794] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fold_expression, 3, 0, 42), + [4796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fold_expression, 3, 0, 42), + [4798] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, 0, 75), + [4800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, 0, 75), + [4802] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, 0, 175), + [4804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, 0, 175), + [4806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_expression, 3, 0, 65), + [4808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_expression, 3, 0, 65), + [4810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, 0, 74), + [4812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, 0, 74), + [4814] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__requirement_clause_constraint, 3, 0, 0), + [4816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__requirement_clause_constraint, 3, 0, 0), + [4818] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requirement_seq, 2, 0, 0), + [4820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requirement_seq, 2, 0, 0), + [4822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_conjunction, 3, 0, 70), + [4824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_conjunction, 3, 0, 70), + [4826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4760), + [4828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4753), + [4830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6645), + [4832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2485), + [4834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6599), + [4836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, 0, 126), + [4838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, 0, 126), + [4840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_expression, 2, 0, 19), + [4842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_expression, 2, 0, 19), + [4844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requirement_seq, 3, 0, 0), + [4846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requirement_seq, 3, 0, 0), + [4848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 2, 0, 34), + [4850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 2, 0, 34), + [4852] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [4854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [4856] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(1655), + [4859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_clause, 4, 0, 146), + [4861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_clause, 4, 0, 146), + [4863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7136), + [4865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3325), + [4867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7259), + [4869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2350), + [4871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7051), + [4873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3405), + [4875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_clause, 3, 0, 16), + [4877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_clause, 3, 0, 16), + [4879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [4881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [4883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1813), + [4886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1672), + [4889] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(8356), + [4892] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(227), + [4895] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(1684), + [4898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_string_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), + [4901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7629), + [4903] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7648), + [4905] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7648), + [4908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 1, 0, 0), + [4910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 1, 0, 0), + [4912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 5, 0, 0), + [4914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 5, 0, 0), + [4916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 2, 0, 0), + [4918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 2, 0, 0), + [4920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 3, 0, 0), + [4922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 3, 0, 0), + [4924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(239), + [4927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1029), + [4929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1029), + [4931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(2648), + [4934] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 7, 0, 207), + [4936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 7, 0, 207), + [4938] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(1697), + [4941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 1, 0, 8), + [4943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 1, 0, 8), + [4945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8405), + [4947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(749), + [4949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5644), + [4951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5896), + [4953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [4955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3068), + [4957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3143), + [4959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8193), + [4961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5470), + [4963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6870), + [4965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8195), + [4967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8321), + [4969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [4971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3365), + [4973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1684), + [4975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2, 0, 0), + [4977] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 36), + [4979] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_identifier, 2, 0, 36), + [4981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6494), + [4983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_type_identifier, 2, 0, 0), + [4985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_type_identifier, 2, 0, 0), + [4987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2425), + [4989] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), SHIFT(231), + [4992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string, 1, 0, 0), + [4994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 1, 0, 0), + [4996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decltype, 4, 0, 0), + [4998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decltype, 4, 0, 0), + [5000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_type, 2, -1, 0), + [5002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_type, 2, -1, 0), + [5004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1814), + [5006] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8119), + [5008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_name, 1, 0, 0), + [5010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_name, 1, 0, 0), + [5012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), + [5014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), + [5016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 6, 0, 142), + [5018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 6, 0, 142), + [5020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 49), + [5022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 49), + [5024] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 48), + [5026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 48), + [5028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [5030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [5032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_name, 1, 0, 4), + [5034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227), + [5036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1666), + [5038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [5040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [5042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1861), + [5044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2006), + [5046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1666), + [5048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 92), + [5050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 92), + [5052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919), + [5054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1541), + [5056] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2136), + [5058] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7923), + [5060] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2290), + [5062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2328), + [5064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_name, 2, 0, 0), + [5066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_name, 2, 0, 0), + [5068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 50), + [5070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 50), + [5072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 51), + [5074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 51), + [5076] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_expression, 1, 0, 0), + [5079] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_expression, 1, 0, 0), + [5082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_placeholder_type_specifier, 1, 0, 0), + [5084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_placeholder_type_specifier, 1, 0, 0), + [5086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 56), + [5088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 56), + [5090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_list_item, 2, 0, 0), + [5092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_list_item, 2, 0, 0), + [5094] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(227), + [5097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, 0, 63), + [5099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, 0, 63), + [5101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [5103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [5105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration, 3, 0, 103), + [5107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration, 3, 0, 103), + [5109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 3, 0, 52), + [5111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 3, 0, 52), + [5113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 3, 0, 11), + [5115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 3, 0, 11), + [5117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 2, 0, 14), + [5119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 2, 0, 14), + [5121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration, 1, 0, 15), + [5123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration, 1, 0, 15), + [5125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 14), + [5127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 14), + [5129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 14), + [5131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 14), + [5133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, 0, 47), + [5135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, 0, 47), + [5137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decltype_auto, 4, 0, 0), + [5139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decltype_auto, 4, 0, 0), + [5141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, 0, 18), + [5143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, 0, 18), + [5145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2290), + [5148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6819), + [5151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2328), + [5154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7519), + [5157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1074), + [5159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), SHIFT(242), + [5162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_placeholder_type_specifier, 2, 0, 25), + [5164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_placeholder_type_specifier, 2, 0, 25), + [5166] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(233), + [5169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration, 2, 0, 14), + [5171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration, 2, 0, 14), + [5173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 7, 0, 208), + [5175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 7, 0, 208), + [5177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 6, 0, 199), + [5179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 6, 0, 199), + [5181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 6, 0, 198), + [5183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 6, 0, 198), + [5185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 6, 0, 208), + [5187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 6, 0, 208), + [5189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [5191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [5193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 96), + [5195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 96), + [5197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 6, 0, 194), + [5199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 6, 0, 194), + [5201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 2, 0, 8), + [5203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 2, 0, 8), + [5205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 177), + [5207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 177), + [5209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 2, 0, 13), + [5211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 2, 0, 13), + [5213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 181), + [5215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 181), + [5217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [5219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [5221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 199), + [5223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 199), + [5225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 180), + [5227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 180), + [5229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 198), + [5231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 198), + [5233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [5235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [5237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 66), + [5239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 66), + [5241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, 0, 194), + [5243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, 0, 194), + [5245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 130), + [5247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 130), + [5249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 80), + [5251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 80), + [5253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 129), + [5255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 129), + [5257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 98), + [5259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 98), + [5261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 101), + [5263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 101), + [5265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 12), + [5267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 12), + [5269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 11), + [5271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 11), + [5273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [5276] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [5279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 12), + [5281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 12), + [5283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [5285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [5287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 5, 0, 143), + [5289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 5, 0, 143), + [5291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 181), + [5293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 181), + [5295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 180), + [5297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 180), + [5299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 66), + [5301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 66), + [5303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 56), + [5305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 56), + [5307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 12), + [5309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 12), + [5311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 66), + [5313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 66), + [5315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 81), + [5317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 81), + [5319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 80), + [5321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 80), + [5323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_base_clause, 2, 0, 99), + [5325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_base_clause, 2, 0, 99), + [5327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_method_definition, 3, 0, 67), + [5329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_method_definition, 3, 0, 67), + [5331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_method_definition, 3, 0, 66), + [5333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_method_definition, 3, 0, 66), + [5335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 4, 0, 104), + [5337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 4, 0, 104), + [5339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 4, 0, 48), + [5341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 4, 0, 48), + [5343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration, 4, 0, 144), + [5345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration, 4, 0, 144), + [5347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2326), + [5350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6885), + [5353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2332), + [5356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7503), + [5359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2326), + [5361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6885), + [5363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2332), + [5365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7503), + [5367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2335), + [5369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6955), + [5371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2353), + [5373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7507), + [5375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7634), + [5377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7704), + [5379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(7059), + [5382] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(6246), + [5385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1060), + [5387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1060), + [5389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [5391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [5393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), + [5395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0), + [5397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7330), + [5399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1911), + [5401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4134), + [5403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4134), + [5405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5610), + [5407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), + [5409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2933), + [5411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2315), + [5413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, 0, 36), SHIFT(227), + [5416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0), + [5418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(234), + [5421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), + [5423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2335), + [5426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6955), + [5429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2353), + [5432] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7507), + [5435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7704), + [5438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7059), + [5440] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_constructor_try_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(7634), + [5443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1066), + [5445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1066), + [5447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6890), + [5449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3744), + [5451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7504), + [5453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 98), + [5455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 98), + [5457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6038), + [5459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_base_clause, 2, 0, 100), + [5461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_base_clause, 2, 0, 100), + [5463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2283), + [5465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3364), + [5467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), SHIFT(242), + [5470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2359), + [5472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1062), + [5474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062), + [5476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 51), + [5478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 51), + [5480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(2169), + [5483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1999), + [5485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2280), + [5487] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(2169), + [5490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2506), + [5492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2503), + [5494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [5496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 142), + [5498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 142), + [5500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1973), + [5502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2358), + [5504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1556), + [5506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 3, 1, 43), + [5508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, 1, 43), + [5510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1667), + [5512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6935), + [5514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(790), + [5516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2345), + [5518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2269), + [5520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2436), + [5522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2345), + [5524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2013), + [5526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4207), + [5528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4207), + [5530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 96), + [5532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 96), + [5534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [5536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [5538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1655), + [5540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 4, 0, 143), + [5542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 4, 0, 143), + [5544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 2, 1, 7), + [5546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, 1, 7), + [5548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 101), + [5550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 101), + [5552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reference_type_declarator, 2, 1, 0), + [5554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_type_declarator, 2, 1, 0), + [5556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1991), + [5558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4213), + [5560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4213), + [5562] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2506), + [5565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6993), + [5568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2503), + [5571] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7510), + [5574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 32), + [5576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 32), + [5578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2502), + [5580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2502), + [5582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 2, 0, 11), + [5584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 2, 0, 11), + [5586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 2, 0, 52), + [5588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 2, 0, 52), + [5590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 50), + [5592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 50), + [5594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 18), + [5596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 18), + [5598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 38), + [5600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 38), + [5602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1980), + [5604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 4, 1, 86), + [5606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, 1, 86), + [5608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 18), + [5610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 18), + [5612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2002), + [5614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 48), + [5616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 48), + [5618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 38), + [5620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 38), + [5622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2003), + [5624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 5, 1, 170), + [5626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, 1, 170), + [5628] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2012), + [5631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 3, 0, 48), + [5633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 3, 0, 48), + [5635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 3, 0, 104), + [5637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 3, 0, 104), + [5639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 11), + [5641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 11), + [5643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3360), + [5645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_declaration_item, 1, 0, 13), + [5647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_declaration_item, 1, 0, 13), + [5649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 45), + [5651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 45), + [5653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 112), + [5655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 112), + [5657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, 0, 172), + [5659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, 0, 172), + [5661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2343), + [5663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 91), + [5665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 91), + [5667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, 0, 88), + [5669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, 0, 88), + [5671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, 0, 136), + [5673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, 0, 136), + [5675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [5677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [5679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [5681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [5683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, 0, 24), + [5685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, 0, 24), + [5687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, 0, 62), + [5689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, 0, 62), + [5691] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2100), + [5694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5595), + [5696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [5698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [5700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6935), + [5703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8354), + [5705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), + [5707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5896), + [5709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [5711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [5713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 44), + [5715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 44), + [5717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 0), + [5719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 0), + [5721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 4), + [5723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 4), + [5725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3765), + [5727] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2242), + [5730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2279), + [5732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2242), + [5734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 24), + [5736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 24), + [5738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 119), + [5740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 119), + [5742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2252), + [5744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2253), + [5746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2367), + [5748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2551), + [5750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1580), + [5752] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_disjunction, 3, 0, 70), + [5754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_disjunction, 3, 0, 70), + [5756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5344), + [5758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5344), + [5760] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_method, 2, 0, 120), + [5762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_method, 2, 0, 120), + [5764] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_declarator, 3, 0, 166), + [5766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_declarator, 3, 0, 166), + [5768] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 71), + [5770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 71), + [5772] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 49), + [5774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 49), + [5776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5823), + [5778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_clause, 2, 0, 20), + [5780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_clause, 2, 0, 20), + [5782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5419), + [5784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5419), + [5786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_field_identifier, 2, 0, 121), + [5788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_field_identifier, 2, 0, 121), + [5790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 12), + [5792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 12), + [5794] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_field_identifier, 2, 0, 36), + [5796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_field_identifier, 2, 0, 36), + [5798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2347), + [5800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [5802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [5804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2379), + [5806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4, 0, 0), + [5808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [5810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_declarator, 4, 0, 166), + [5812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_declarator, 4, 0, 166), + [5814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1697), + [5816] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 42), + [5818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 42), + [5820] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), + [5822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [5824] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), + [5826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [5828] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_name, 2, 0, 0), + [5830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_name, 2, 0, 0), + [5832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2461), + [5834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2433), + [5836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2583), + [5838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1594), + [5840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_field_identifier, 2, 0, 0), + [5842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_field_identifier, 2, 0, 0), + [5844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_method, 2, 0, 31), + [5846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_method, 2, 0, 31), + [5848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2378), + [5850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5996), + [5852] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2376), + [5855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), + [5857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_identifier, 3, 0, 76), + [5859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), SHIFT(227), + [5862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2169), + [5864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2169), + [5866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8385), + [5868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), + [5870] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_null, 1, 0, 0), + [5872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null, 1, 0, 0), + [5874] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 111), + [5876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 111), + [5878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 213), + [5880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 213), + [5882] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 212), + [5884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 212), + [5886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 2, 0, 10), + [5888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 2, 0, 10), + [5890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 8, 0, 0), + [5892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 8, 0, 0), + [5894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 110), + [5896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 110), + [5898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 4, 0, 108), + [5900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 4, 0, 108), + [5902] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignof_expression, 4, 0, 47), + [5904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignof_expression, 4, 0, 47), + [5906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2100), + [5908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8424), + [5910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), + [5912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [5914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [5916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2573), + [5918] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8537), + [5920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2578), + [5922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2449), + [5924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 205), + [5926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 205), + [5928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 204), + [5930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 204), + [5932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_user_defined_literal, 1, 0, 0), + [5934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_user_defined_literal, 1, 0, 0), + [5936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 4, 0, 0), + [5938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 4, 0, 0), + [5940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3, 0, 0), + [5942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3, 0, 0), + [5944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), + [5946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [5948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 3, 0, 0), + [5950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 3, 0, 0), + [5952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), + [5954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [5956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 27), + [5958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 27), + [5960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, 0, 90), + [5962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, 0, 90), + [5964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 9), + [5966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 9), + [5968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 2, 0, 28), + [5970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 2, 0, 28), + [5972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 9, 0, 0), + [5974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 9, 0, 0), + [5976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__user_defined_literal, 2, 0, 0), + [5978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__user_defined_literal, 2, 0, 0), + [5980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, 0, 85), + [5982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, 0, 85), + [5984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [5986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [5988] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2444), + [5991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2452), + [5993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, 0, 134), + [5995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, 0, 134), + [5997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, 0, 135), + [5999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, 0, 135), + [6001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4, 0, 0), + [6003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4, 0, 0), + [6005] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 9, 0, 216), + [6007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 9, 0, 216), + [6009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2441), + [6011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_identifier, 2, 0, 0), + [6013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_identifier, 2, 0, 0), + [6015] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 70), + [6017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 70), + [6019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, 0, 0), + [6021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, 0, 0), + [6023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 5, 0, 154), + [6025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 5, 0, 154), + [6027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_name, 3, 0, 0), + [6029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_name, 3, 0, 0), + [6031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 156), + [6033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 156), + [6035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 157), + [6037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 157), + [6039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, 0, 167), + [6041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, 0, 167), + [6043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 72), + [6045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 72), + [6047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_argument_list, 3, 0, 0), + [6049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_argument_list, 3, 0, 0), + [6051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_argument_list, 4, 0, 0), + [6053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_argument_list, 4, 0, 0), + [6055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, 0, 61), + [6057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, 0, 61), + [6059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 192), + [6061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 192), + [6063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2566), + [6065] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 191), + [6067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 191), + [6069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_offsetof_expression, 6, 0, 189), + [6071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_offsetof_expression, 6, 0, 189), + [6073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_argument_list, 2, 0, 0), + [6075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_argument_list, 2, 0, 0), + [6077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 2, 0, 0), + [6079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 2, 0, 0), + [6081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 6, 0, 178), + [6083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 6, 0, 178), + [6085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 18), + [6087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 18), + [6089] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2539), + [6091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5, 0, 0), + [6093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5, 0, 0), + [6095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8405), + [6097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5794), + [6099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2634), + [6101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2628), + [6103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [6105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1960), + [6108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2557), + [6110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2613), + [6112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1960), + [6115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), + [6117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8452), + [6119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(740), + [6121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2554), + [6123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2571), + [6125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2734), + [6127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2554), + [6129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2634), + [6132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6754), + [6135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2628), + [6138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7522), + [6141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), + [6143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5644), + [6145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2623), + [6147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2516), + [6150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), + [6152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, 0, 18), + [6154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, 0, 18), + [6156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2541), + [6158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [6160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [6162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3068), + [6165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3143), + [6168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8193), + [6171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(6870), + [6174] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8195), + [6177] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8321), + [6180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(2541), + [6183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(919), + [6186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2617), + [6188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2574), + [6190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2577), + [6192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2560), + [6194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2376), + [6196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0), + [6198] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(231), + [6201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [6203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [6205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6045), + [6207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6083), + [6209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5778), + [6211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2595), + [6213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(242), + [6216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [6218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [6220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6850), + [6222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), SHIFT(3551), + [6225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2740), + [6227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2444), + [6229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2616), + [6231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2607), + [6233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2612), + [6235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [6237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8438), + [6239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(682), + [6241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2596), + [6243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(2616), + [6246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2605), + [6248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6075), + [6250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5812), + [6252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), + [6254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1429), + [6256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3027), + [6258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8019), + [6260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), + [6262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 70), + [6264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 70), + [6266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007), + [6268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2415), + [6270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5853), + [6272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5853), + [6274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, 0, 6), + [6276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, 0, 6), + [6278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 0, 85), + [6280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 0, 85), + [6282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 2, 0, 0), + [6284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 2, 0, 0), + [6286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1277), + [6288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1278), + [6290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1279), + [6292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1280), + [6294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1281), + [6296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1222), + [6298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1283), + [6300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1286), + [6302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1287), + [6304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1287), + [6306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1288), + [6308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202), + [6310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1279), + [6312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1280), + [6314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1286), + [6316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 3, 0, 0), + [6318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 3, 0, 0), + [6320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_await_expression, 2, 0, 6), + [6322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_await_expression, 2, 0, 6), + [6324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, 0, 16), + [6326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, 0, 16), + [6328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 6), + [6330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 6), + [6332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2411), + [6334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1031), + [6336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 6), + [6338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 6), + [6340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 4, 0, 0), + [6342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 4, 0, 0), + [6344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 4, 0, 122), + [6346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 4, 0, 122), + [6348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 5, 0, 0), + [6350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 5, 0, 0), + [6352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 173), + [6354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 173), + [6356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5815), + [6358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_requirement, 2, 0, 0), + [6360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_requirement, 2, 0, 0), + [6362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [6364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [6366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [6368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923), + [6370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346), + [6372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3108), + [6374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8163), + [6376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 4, 0, 0), + [6378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 4, 0, 0), + [6380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2770), + [6382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8035), + [6384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__requirement, 1, 0, 64), + [6386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__requirement, 1, 0, 64), + [6388] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(234), + [6391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2742), + [6393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2516), + [6395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [6397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 5, 0, 0), + [6399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 5, 0, 0), + [6401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2724), + [6403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2731), + [6405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2058), + [6407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 1, 0, 0), + [6409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 1, 0, 0), + [6411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725), + [6413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1808), + [6415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__char_literal, 3, 0, 0), + [6417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__char_literal, 3, 0, 0), + [6419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [6421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 1), + [6423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 1), + [6425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2274), + [6427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 6, 0, 0), + [6429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 6, 0, 0), + [6431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5832), + [6433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5832), + [6435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2771), + [6437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5214), + [6439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5214), + [6441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7080), + [6443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7460), + [6445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2775), + [6447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5146), + [6449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5146), + [6451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5603), + [6453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2997), + [6455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2262), + [6457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698), + [6459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [6461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(3488), + [6464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6001), + [6466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5826), + [6468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5337), + [6470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5338), + [6472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5337), + [6474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5338), + [6476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3488), + [6478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2182), + [6480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2857), + [6482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5122), + [6484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5122), + [6486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6059), + [6488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1888), + [6490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2875), + [6492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5128), + [6494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5128), + [6496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5591), + [6498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7274), + [6500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2863), + [6502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5216), + [6504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5216), + [6506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5607), + [6508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2985), + [6510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [6512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [6514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918), + [6516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1408), + [6518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3428), + [6520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8081), + [6522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1662), + [6524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6895), + [6526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(784), + [6528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5354), + [6530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5349), + [6532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5354), + [6534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5349), + [6536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3391), + [6538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1078), + [6540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2337), + [6542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1113), + [6544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1114), + [6546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1115), + [6548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1080), + [6550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1116), + [6552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), + [6554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1118), + [6556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1119), + [6558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1120), + [6560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1121), + [6562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1122), + [6564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1123), + [6566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1124), + [6568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125), + [6570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1126), + [6572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1127), + [6574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1129), + [6576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1130), + [6578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(976), + [6580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1006), + [6582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1072), + [6584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003), + [6586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001), + [6588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(992), + [6590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(988), + [6592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), + [6594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), + [6596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), + [6598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [6600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), + [6602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [6604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1065), + [6606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1317), + [6608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1131), + [6610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1132), + [6612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1133), + [6614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1134), + [6616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1135), + [6618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1137), + [6620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3390), + [6622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5877), + [6624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5830), + [6626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8034), + [6628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3366), + [6630] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3758), + [6632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3651), + [6634] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(3758), + [6637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6890), + [6640] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(3651), + [6643] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7504), + [6646] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 4), + [6649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3742), + [6651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5921), + [6653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7227), + [6655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1292), + [6657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1293), + [6659] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1310), + [6661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3777), + [6663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3813), + [6665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1668), + [6667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6859), + [6669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(780), + [6671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294), + [6673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1295), + [6675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1296), + [6677] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1300), + [6679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1303), + [6681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), + [6683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1309), + [6685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1309), + [6687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1322), + [6689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1294), + [6691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1295), + [6693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1296), + [6695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1303), + [6697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1070), + [6699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6895), + [6702] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(3777), + [6705] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6962), + [6708] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(3813), + [6711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7508), + [6714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), + [6716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5606), + [6718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5606), + [6720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1931), + [6722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8499), + [6724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), + [6726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8410), + [6728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6647), + [6730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3636), + [6732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6100), + [6734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5775), + [6736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8009), + [6738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5408), + [6740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3142), + [6742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7272), + [6744] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(6100), + [6747] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5408), + [6750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2434), + [6752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2434), + [6754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2354), + [6756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7284), + [6758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7459), + [6760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3751), + [6762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3751), + [6764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3454), + [6766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7461), + [6768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7240), + [6770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3441), + [6772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3414), + [6774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3414), + [6776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3299), + [6778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7327), + [6780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3192), + [6782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3192), + [6784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3061), + [6786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7266), + [6788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1334), + [6790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1331), + [6792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1330), + [6794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1329), + [6796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1328), + [6798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1327), + [6800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1326), + [6802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1325), + [6804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1324), + [6806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1324), + [6808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1323), + [6810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1330), + [6812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1329), + [6814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1328), + [6816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1326), + [6818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5877), + [6820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3657), + [6822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1252), + [6824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1253), + [6826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254), + [6828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1256), + [6830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1257), + [6832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1258), + [6834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1259), + [6836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260), + [6838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1261), + [6840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1261), + [6842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1265), + [6844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1025), + [6846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487), + [6848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1254), + [6850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1256), + [6852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1257), + [6854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1259), + [6856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3233), + [6858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4815), + [6860] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(8319), + [6863] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(6978), + [6866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4815), + [6868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8386), + [6870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3637), + [6872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5417), + [6874] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), SHIFT(228), + [6877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [6879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5811), + [6881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), SHIFT(233), + [6884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6360), + [6886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binary_fold_operator, 3, 0, 131), + [6888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binary_fold_operator, 3, 0, 131), + [6890] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6859), + [6893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6466), + [6895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3576), + [6897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3622), + [6899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3676), + [6901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3355), + [6903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(922), + [6906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8354), + [6908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762), + [6910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5896), + [6913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5417), + [6916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3532), + [6918] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6395), + [6920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3659), + [6922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6437), + [6924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3574), + [6926] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1666), + [6929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3207), + [6931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3539), + [6933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1666), + [6936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3757), + [6938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1225), + [6940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1226), + [6942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227), + [6944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228), + [6946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1229), + [6948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1230), + [6950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1231), + [6952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233), + [6954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1236), + [6956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1237), + [6958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), + [6960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1492), + [6962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1227), + [6964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1228), + [6966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229), + [6968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231), + [6970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3627), + [6972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5891), + [6974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5891), + [6976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), SHIFT(231), + [6979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [6981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_declaration, 2, 0, 109), + [6983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5090), + [6985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3874), + [6987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8282), + [6989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2395), + [6991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1190), + [6993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1189), + [6995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1186), + [6997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1184), + [6999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1181), + [7001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179), + [7003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178), + [7005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1177), + [7007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1176), + [7009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1175), + [7011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1174), + [7013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), + [7015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1171), + [7017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1170), + [7019] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1168), + [7021] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167), + [7023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1166), + [7025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164), + [7027] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8270), + [7029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1079), + [7031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8267), + [7033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7893), + [7035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8263), + [7037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8254), + [7039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8250), + [7041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8244), + [7043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8241), + [7045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8219), + [7047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8117), + [7049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8201), + [7051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1441), + [7053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1163), + [7055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161), + [7057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1160), + [7059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1158), + [7061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), + [7063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156), + [7065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3871), + [7067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1547), + [7069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1548), + [7071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1550), + [7073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1552), + [7075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1553), + [7077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1554), + [7079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1551), + [7081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1549), + [7083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1539), + [7085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1539), + [7087] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1528), + [7089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1512), + [7091] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1550), + [7093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1552), + [7095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1553), + [7097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1551), + [7099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5869), + [7101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5869), + [7103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1069), + [7105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4387), + [7107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1643), + [7109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(6870), + [7112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(6647), + [7115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3649), + [7117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5357), + [7120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8319), + [7122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3708), + [7124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3661), + [7126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3624), + [7128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1107), + [7130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1065), + [7132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3625), + [7134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1045), + [7136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1447), + [7138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1448), + [7140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1450), + [7142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1451), + [7144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1452), + [7146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1453), + [7148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1456), + [7150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192), + [7152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1464), + [7154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464), + [7156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1465), + [7158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1050), + [7160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490), + [7162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1450), + [7164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1451), + [7166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452), + [7168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456), + [7170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5735), + [7172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5357), + [7174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3262), + [7176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5973), + [7178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3628), + [7180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3379), + [7182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3865), + [7184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__constructor_specifiers, 1, 0, 0), REDUCE(aux_sym__declaration_specifiers_repeat1, 1, 0, 0), + [7187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_specifiers, 1, 0, 0), + [7189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_specifiers, 1, 0, 0), + [7191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__constructor_specifiers, 1, 0, 0), REDUCE(aux_sym__declaration_specifiers_repeat1, 1, 0, 0), + [7194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 1, 0, 0), + [7196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3480), + [7198] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [7201] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [7204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [7207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(6982), + [7210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [7213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [7216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3364), + [7219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), + [7221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), + [7223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(3068), + [7226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(3143), + [7229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(8193), + [7232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(6870), + [7235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(8195), + [7238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(8321), + [7241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(3365), + [7244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(4221), + [7247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5825), + [7249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3731), + [7251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5352), + [7253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5359), + [7255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5336), + [7257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5359), + [7259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5336), + [7261] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(239), + [7264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4142), + [7266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5724), + [7268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6423), + [7270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2004), + [7272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4142), + [7274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3508), + [7276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3578), + [7278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5376), + [7280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 3, 0, 76), SHIFT(242), + [7283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3510), + [7285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), + [7287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2012), + [7289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3457), + [7291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3526), + [7293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3680), + [7295] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5352), + [7298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3525), + [7300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5376), + [7303] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(3525), + [7306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3529), + [7308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3518), + [7310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6418), + [7312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4952), + [7314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5250), + [7316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5962), + [7318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5030), + [7320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5031), + [7322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5036), + [7324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5061), + [7326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6438), + [7328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4729), + [7330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4341), + [7332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5975), + [7334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5050), + [7336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5048), + [7338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5045), + [7340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4872), + [7342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8426), + [7344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5085), + [7346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1995), + [7348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5932), + [7350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5000), + [7352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1243), + [7354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1241), + [7356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1462), + [7358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193), + [7360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1194), + [7362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1194), + [7364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1196), + [7366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1462), + [7368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6354), + [7370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2514), + [7372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5364), + [7374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5363), + [7376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5364), + [7378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5363), + [7380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6399), + [7382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4100), + [7384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5989), + [7386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5103), + [7388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5102), + [7390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5100), + [7392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5108), + [7394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224), + [7396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223), + [7398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1215), + [7400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1214), + [7402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1215), + [7404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214), + [7406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6445), + [7408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5987), + [7410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5095), + [7412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5094), + [7414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5093), + [7416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5052), + [7418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6440), + [7420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4203), + [7422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4810), + [7424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5982), + [7426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5089), + [7428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5088), + [7430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5087), + [7432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5186), + [7434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8439), + [7436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5091), + [7438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6467), + [7440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4149), + [7442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5955), + [7444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5068), + [7446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5074), + [7448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5076), + [7450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4977), + [7452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6069), + [7454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5827), + [7456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3571), + [7458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5410), + [7461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1272), + [7463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [7465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [7467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(3977), + [7470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(3976), + [7473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5410), + [7475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921), + [7477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4068), + [7479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8172), + [7481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567), + [7483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3791), + [7485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5394), + [7487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5394), + [7489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3977), + [7491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3977), + [7493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3976), + [7495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(794), + [7497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3796), + [7499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5424), + [7501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5424), + [7503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3804), + [7505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5369), + [7507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5369), + [7509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3818), + [7511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5440), + [7513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5440), + [7515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4460), + [7517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4158), + [7519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4163), + [7521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), + [7523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8196), + [7525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3547), + [7527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 1, 0, 21), SHIFT(5372), + [7530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5416), + [7532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5372), + [7534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [7536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [7538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5405), + [7540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6978), + [7542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3670), + [7544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(236), + [7547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3963), + [7549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5546), + [7551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5546), + [7553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), + [7555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3973), + [7557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5535), + [7559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5535), + [7561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5786), + [7563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [7565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [7567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [7569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [7571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2511), + [7573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5257), + [7575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4000), + [7577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5604), + [7579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5604), + [7581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3976), + [7583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2153), + [7585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2175), + [7587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2511), + [7589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3984), + [7591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5614), + [7593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5614), + [7595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [7597] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4301), + [7599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5263), + [7601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3986), + [7603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5593), + [7605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5593), + [7607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6212), + [7609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6208), + [7611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4301), + [7613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3987), + [7615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5596), + [7617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5596), + [7619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3453), + [7621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3990), + [7623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5605), + [7625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5605), + [7627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3453), + [7629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4020), + [7631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5597), + [7633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5597), + [7635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(920), + [7637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1814), + [7639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8119), + [7641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3447), + [7643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5262), + [7645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3997), + [7647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5601), + [7649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5601), + [7651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3380), + [7653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3373), + [7655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3447), + [7657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1105), + [7659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4008), + [7661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5598), + [7663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5598), + [7665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1105), + [7667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4037), + [7669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5615), + [7671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5615), + [7673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5268), + [7675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4016), + [7677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5600), + [7679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5600), + [7681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3343), + [7683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3342), + [7685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1035), + [7687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [7689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(4158), + [7692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(4163), + [7695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6745), + [7697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, 0, 56), + [7699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4108), + [7701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4108), + [7703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1527), + [7705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4049), + [7707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5617), + [7709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5617), + [7711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6740), + [7713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4076), + [7715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4076), + [7717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425), + [7719] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, 0, 37), SHIFT(232), + [7722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 3, 0, 141), + [7724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3844), + [7726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, 0, 141), + [7728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1382), + [7730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1405), + [7732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1405), + [7734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1396), + [7736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1395), + [7738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1394), + [7740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393), + [7742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1389), + [7744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1387), + [7746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1384), + [7748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384), + [7750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383), + [7752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1034), + [7754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377), + [7756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1396), + [7758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1395), + [7760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1393), + [7762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387), + [7764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3843), + [7766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_reference_declarator, 1, 0, 0), + [7768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, 0, 3), + [7770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2573), + [7772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8537), + [7774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5292), + [7776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4078), + [7778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5771), + [7780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5771), + [7782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4079), + [7784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5712), + [7786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5712), + [7788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4084), + [7790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5767), + [7792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5767), + [7794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 18), + [7796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2952), + [7798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3421), + [7800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3709), + [7802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5796), + [7804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4905), + [7806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8124), + [7808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3713), + [7810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924), + [7812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1365), + [7814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5811), + [7816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5110), + [7818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8151), + [7820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4165), + [7822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4323), + [7824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3288), + [7826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8478), + [7828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4235), + [7830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_attributes_start, 1, 0, 0), + [7832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_attributes_start, 1, 0, 0), + [7834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4152), + [7836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5819), + [7838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5819), + [7840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5777), + [7842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4229), + [7844] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(4175), + [7847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5389), + [7849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5388), + [7851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5389), + [7853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5388), + [7855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4168), + [7857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5876), + [7859] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5876), + [7861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4179), + [7863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5846), + [7865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5846), + [7867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5466), + [7869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5259), + [7871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5259), + [7873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5264), + [7875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5466), + [7877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8406), + [7879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4317), + [7881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 18), + [7883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5361), + [7885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 3), + [7887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5742), + [7889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1398), + [7891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1401), + [7893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1401), + [7895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1404), + [7897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1407), + [7899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1422), + [7901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1430), + [7903] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1350), + [7905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432), + [7907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1434), + [7909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1434), + [7911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437), + [7913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2191), + [7915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1040), + [7917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1354), + [7919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1422), + [7921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1350), + [7923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1852), + [7925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4238), + [7927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4642), + [7929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4219), + [7931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5930), + [7933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5930), + [7935] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_function_specifier, 4, 0, 0), + [7937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_explicit_function_specifier, 4, 0, 0), + [7939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2119), + [7941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_function_specifier, 1, 0, 0), + [7943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1529), + [7945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_explicit_function_specifier, 1, 0, 0), + [7947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5356), + [7949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [7952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(3288), + [7955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [7958] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(6963), + [7961] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8478), + [7964] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [7967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(4227), + [7970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [7972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [7974] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [7977] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1931), + [7980] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [7983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4227), + [7985] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(4230), + [7988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840), + [7990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1431), + [7992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1476), + [7994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1476), + [7996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1475), + [7998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1474), + [8000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1473), + [8002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472), + [8004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1471), + [8006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1470), + [8008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1469), + [8010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1469), + [8012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1467), + [8014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [8016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3771), + [8018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1039), + [8020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466), + [8022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473), + [8024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1471), + [8026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4640), + [8028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, 0, 83), + [8030] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1468), + [8032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1463), + [8034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1463), + [8036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457), + [8038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449), + [8040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1445), + [8042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1444), + [8044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1442), + [8046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1440), + [8048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1530), + [8050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1530), + [8052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436), + [8054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1063), + [8056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1435), + [8058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445), + [8060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442), + [8062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932), + [8064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4737), + [8066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3836), + [8068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2410), + [8070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1191), + [8072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191), + [8074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3703), + [8076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3884), + [8078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3450), + [8080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3630), + [8082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3687), + [8084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), + [8086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4762), + [8088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1052), + [8090] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1409), + [8092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1410), + [8094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1410), + [8096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1411), + [8098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1412), + [8100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1413), + [8102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414), + [8104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1415), + [8106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1416), + [8108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1417), + [8110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417), + [8112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1418), + [8114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3496), + [8116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1030), + [8118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419), + [8120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1413), + [8122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1415), + [8124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4286), + [8126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6158), + [8128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6158), + [8130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2388), + [8132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2469), + [8134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4745), + [8136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [8138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1359), + [8140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339), + [8142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1339), + [8144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1332), + [8146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1319), + [8148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1301), + [8150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1284), + [8152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1275), + [8154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250), + [8156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1477), + [8158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1406), + [8160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1406), + [8162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1054), + [8164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517), + [8166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1301), + [8168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275), + [8170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4751), + [8172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3732), + [8174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588), + [8176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861), + [8178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3465), + [8180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4702), + [8182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(900), + [8184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2406), + [8186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2636), + [8188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4175), + [8190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [8192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4091), + [8194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2738), + [8196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2431), + [8198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3682), + [8200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1691), + [8202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), + [8204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321), + [8206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6497), + [8208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4790), + [8210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2754), + [8212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4362), + [8214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4363), + [8216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2823), + [8218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(904), + [8220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3848), + [8222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5817), + [8224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2303), + [8226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1559), + [8228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1731), + [8230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3692), + [8232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2721), + [8234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3689), + [8236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6477), + [8238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4299), + [8240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4089), + [8242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(859), + [8244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 4, 0, 176), + [8246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1598), + [8248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2598), + [8250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT(1142), + [8253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), + [8255] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 139), SHIFT(1142), + [8258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 139), + [8260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3502), + [8262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3928), + [8264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), + [8266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3729), + [8268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3466), + [8270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1603), + [8272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6628), + [8274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3922), + [8276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1671), + [8278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(898), + [8280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1660), + [8282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5816), + [8284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2, 0, 0), + [8286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6614), + [8288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, 0, 114), + [8290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_declaration, 4, 0, 183), + [8292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4796), + [8294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_attributes_start, 2, 0, 0), + [8296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_attributes_start, 2, 0, 0), + [8298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1617), + [8300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 1, 184), + [8302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1142), + [8304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [8306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1518), + [8308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1519), + [8310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1519), + [8312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1520), + [8314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521), + [8316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1522), + [8318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1523), + [8320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1525), + [8322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1531), + [8324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1532), + [8326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1532), + [8328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1533), + [8330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1055), + [8332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534), + [8334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1522), + [8336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1525), + [8338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_parameter_declaration, 4, 0, 194), + [8340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5914), + [8342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7862), + [8344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 5, 1, 200), + [8346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867), + [8348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5839), + [8350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8352), + [8352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5851), + [8354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7845), + [8356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097), + [8358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 4, 0, 0), + [8360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [8362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [8364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [8366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_capture_specifier_repeat1, 2, 0, 0), + [8368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1266), + [8370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [8372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 140), + [8374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [8376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8410), + [8379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), + [8381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), + [8383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(8499), + [8386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [8388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028), + [8390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1497), + [8392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5859), + [8394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8231), + [8396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 1, 185), + [8398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494), + [8400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348), + [8402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [8404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1402), + [8406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 1, 149), + [8408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1057), + [8410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [8412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_parameter_declaration, 3, 0, 160), + [8414] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4815), + [8417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4815), + [8420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8386), + [8423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [8425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1373), + [8427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 1, 187), + [8429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1506), + [8431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1443), + [8433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5855), + [8435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8418), + [8437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489), + [8439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397), + [8441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244), + [8443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5847), + [8445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8228), + [8447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5843), + [8449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8306), + [8451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209), + [8453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1048), + [8455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2735), + [8457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1499), + [8459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1661), + [8461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_subscript_argument_list_repeat1, 2, 0, 0), + [8463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, 1, 0), + [8465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 1, 150), + [8467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1545), + [8469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 3, 0, 0), + [8471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1426), + [8473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2950), + [8475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2260), + [8477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2913), + [8479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4567), + [8481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4217), + [8483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778), + [8485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1726), + [8487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2023), + [8489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2026), + [8491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unary_left_fold, 3, 0, 70), + [8493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3684), + [8495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [8497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3644), + [8499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4035), + [8501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [8503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3605), + [8505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [8507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7122), + [8509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1843), + [8511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [8513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3727), + [8515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7313), + [8517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4824), + [8519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2500), + [8521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2308), + [8523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [8525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6017), + [8527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5784), + [8529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2192), + [8531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732), + [8533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [8535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [8537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5453), + [8539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), + [8541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [8543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7269), + [8545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4230), + [8547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771), + [8549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [8551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4651), + [8553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4652), + [8555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [8557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3691), + [8559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [8561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882), + [8563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4636), + [8565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1906), + [8567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864), + [8569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1794), + [8571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3669), + [8573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2712), + [8575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5676), + [8577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3331), + [8579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2714), + [8581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2113), + [8583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), + [8585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_range_loop_body, 5, 0, 201), + [8587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3683), + [8589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [8591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6816), + [8593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [8595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [8597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [8599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2060), + [8601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [8603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [8605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3043), + [8607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [8609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), + [8611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8446), + [8613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722), + [8615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4984), + [8617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [8619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1845), + [8621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [8623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [8625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3255), + [8627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860), + [8629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [8631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binary_fold, 3, 0, 84), + [8633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3562), + [8635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__assignment_expression_lhs, 3, 0, 70), + [8637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [8639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [8641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [8643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4586), + [8645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_range_loop_body, 4, 0, 186), + [8647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2257), + [8649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7324), + [8651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), + [8653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), + [8655] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(6100), + [8658] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5408), + [8661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [8663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(8319), + [8666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5358), + [8668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5353), + [8670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6052), + [8672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5804), + [8674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6742), + [8676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_declaration, 1, 0, 0), + [8678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4970), + [8680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(8319), + [8683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(6978), + [8686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5896), + [8689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5417), + [8692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(6870), + [8695] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(6647), + [8698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5822), + [8700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6465), + [8702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5927), + [8704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5073), + [8706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5072), + [8708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5071), + [8710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5032), + [8712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6461), + [8714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2505), + [8716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2832), + [8718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5919), + [8720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5053), + [8722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5056), + [8724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5058), + [8726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3493), + [8728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8409), + [8730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5055), + [8732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6436), + [8734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3171), + [8736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3674), + [8738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5977), + [8740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5067), + [8742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5066), + [8744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5065), + [8746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4050), + [8748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8453), + [8750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4959), + [8752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6456), + [8754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2296), + [8756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2586), + [8758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5960), + [8760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5096), + [8762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5097), + [8764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5099), + [8766] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2999), + [8768] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8325), + [8770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5043), + [8772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5951), + [8774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5014), + [8776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6439), + [8778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2355), + [8780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2652), + [8782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5979), + [8784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5083), + [8786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5082), + [8788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5081), + [8790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3101), + [8792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8447), + [8794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5084), + [8796] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5357), + [8799] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym_argument_list, 2, 0, 0), + [8802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6359), + [8804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2375), + [8806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2351), + [8808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5923), + [8810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4966), + [8812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4967), + [8814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4968), + [8816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2233), + [8818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8359), + [8820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5070), + [8822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1966), + [8824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5943), + [8826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4958), + [8828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1932), + [8830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6435), + [8832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1955), + [8834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2295), + [8836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5967), + [8838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5037), + [8840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5035), + [8842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5034), + [8844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1932), + [8846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4962), + [8848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5785), + [8850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4460), + [8853] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8196), + [8856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6457), + [8858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5990), + [8860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5080), + [8862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4953), + [8864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5109), + [8866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4960), + [8868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5829), + [8870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), + [8872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), + [8874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5807), + [8876] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(6100), + [8879] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5408), + [8882] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4460), + [8885] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8196), + [8888] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5352), + [8891] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5376), + [8894] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1862), + [8897] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(5191), + [8900] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(5170), + [8903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1862), + [8906] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [8908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [8910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(8319), + [8913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(6978), + [8916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5213), + [8918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6446), + [8920] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(923), + [8923] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5896), + [8926] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5417), + [8929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6426), + [8931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 18), + [8933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 18), + [8935] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5410), + [8938] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(5259), + [8941] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(5259), + [8944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(5264), + [8947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5821), + [8949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(6870), + [8952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5357), + [8955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(6647), + [8958] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 18), SHIFT(5219), + [8961] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 38), SHIFT(5211), + [8964] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), SHIFT(2012), + [8967] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT(2012), + [8971] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 38), SHIFT(2012), + [8974] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 32), SHIFT(2012), + [8977] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 18), SHIFT(2012), + [8980] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 2, 0, 21), SHIFT(5372), + [8983] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5352), + [8986] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5376), + [8989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5813), + [8991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5410), + [8994] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(5183), + [8997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [8999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [9001] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6870), + [9004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 3, 0, 18), + [9006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 3, 0, 18), + [9008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), + [9010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), + [9012] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(6100), + [9015] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5408), + [9018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [9020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843), + [9022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2892), + [9024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6779), + [9026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [9028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), + [9030] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3394), + [9032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6802), + [9034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2796), + [9036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [9038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), + [9040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4742), + [9042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6893), + [9044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [9046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(825), + [9048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3917), + [9050] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6797), + [9052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [9054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826), + [9056] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4167), + [9058] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6837), + [9060] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4222), + [9062] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(8319), + [9065] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(6978), + [9068] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5896), + [9071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5417), + [9074] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 3, 0, 21), SHIFT(5372), + [9077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [9079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), + [9081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3572), + [9083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6919), + [9085] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(6870), + [9088] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(6647), + [9091] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5466), + [9094] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(5466), + [9097] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(8406), + [9100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5357), + [9103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5655), + [9105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5340), + [9107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6871), + [9109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5422), + [9111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5422), + [9113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5643), + [9115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7125), + [9117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5613), + [9119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5352), + [9122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5737), + [9124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5376), + [9127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7983), + [9129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5658), + [9131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5378), + [9133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6975), + [9135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5386), + [9137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5386), + [9139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5705), + [9141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7299), + [9143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5647), + [9145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936), + [9147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3487), + [9149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(935), + [9151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2847), + [9153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2397), + [9155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [9157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5734), + [9159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6959), + [9161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), + [9163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6503), + [9165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(941), + [9167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6455), + [9169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1645), + [9171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6863), + [9173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3284), + [9175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5733), + [9177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6449), + [9179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6148), + [9181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6403), + [9183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6143), + [9185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940), + [9187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4406), + [9189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2905), + [9191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6690), + [9193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4194), + [9195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5707), + [9197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4764), + [9199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3486), + [9201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926), + [9203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3632), + [9205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3631), + [9207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7476), + [9209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5370), + [9211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6751), + [9213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(773), + [9215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6404), + [9217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6510), + [9219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6126), + [9221] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5410), + [9224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6124), + [9226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4171), + [9228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5730), + [9230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2324), + [9232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938), + [9234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5971), + [9236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6820), + [9238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5970), + [9240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928), + [9242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3857), + [9244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5984), + [9246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6335), + [9248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6313), + [9250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3846), + [9252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5750), + [9254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2302), + [9256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6700), + [9258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1659), + [9260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2069), + [9262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [9264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(776), + [9266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934), + [9268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1273), + [9270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7639), + [9272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6701), + [9274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1876), + [9276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [9278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927), + [9280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7665), + [9282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2134), + [9284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [9286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930), + [9288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7720), + [9290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7273), + [9292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5536), + [9294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6748), + [9296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3009), + [9298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7031), + [9300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5538), + [9302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6733), + [9304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2996), + [9306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7360), + [9308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5539), + [9310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6718), + [9312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3038), + [9314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [9316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5321), + [9318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [9320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5542), + [9322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6735), + [9324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2983), + [9326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6729), + [9328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5544), + [9330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5545), + [9332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6739), + [9334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7463), + [9336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5549), + [9338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6727), + [9340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2998), + [9342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5551), + [9344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6719), + [9346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_attributes_end, 2, 0, 0), + [9348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_attributes_end, 2, 0, 0), + [9350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5557), + [9352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7328), + [9354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5558), + [9356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6712), + [9358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3031), + [9360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1768), + [9362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2044), + [9364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_attributes_end, 1, 0, 0), + [9366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_attributes_end, 1, 0, 0), + [9368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5569), + [9370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6738), + [9372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5574), + [9374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6708), + [9376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1590), + [9378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5577), + [9380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1590), + [9382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6683), + [9384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 4, 0, 21), SHIFT(5372), + [9387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6731), + [9389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5585), + [9391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6697), + [9393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2030), + [9395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5589), + [9397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6703), + [9399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6692), + [9401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6716), + [9403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_qualifier, 1, 0, 0), + [9405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_qualifier, 1, 0, 0), + [9407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6728), + [9409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5367), + [9411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8125), + [9413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5423), + [9415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5427), + [9417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5427), + [9419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5383), + [9421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5368), + [9423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5371), + [9425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5387), + [9427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5395), + [9429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5404), + [9431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5411), + [9433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5411), + [9435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5418), + [9437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5326), + [9439] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [9441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6750), + [9443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5648), + [9445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5612), + [9447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6744), + [9449] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 1), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), + [9453] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 1), REDUCE(sym_char_literal, 1, 0, 0), REDUCE(sym_identifier, 1, 0, 2), + [9457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5751), + [9459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5106), + [9461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [9463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [9465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(793), + [9467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1053), + [9469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6633), + [9471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7608), + [9473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 6), + [9475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, 0, 6), + [9477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [9479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [9481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 70), + [9483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, 0, 70), + [9485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5976), + [9487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6639), + [9489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), + [9491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [9493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [9495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5926), + [9497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7025), + [9499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6020), + [9501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7511), + [9503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [9505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [9507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7770), + [9509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [9511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [9513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7731), + [9515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1779), + [9517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [9519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [9521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [9523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, 0, 9), + [9525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, 0, 9), + [9527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5948), + [9529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 1, 0, 0), + [9531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6179), + [9533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [9535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [9537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [9539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [9541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2043), + [9543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [9545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [9547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [9549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7689), + [9551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5942), + [9553] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(2511), + [9556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7025), + [9559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(6020), + [9562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(7511), + [9565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [9567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [9569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2187), + [9571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [9573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 4, 0, 0), + [9575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 4, 0, 0), + [9577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6247), + [9579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5374), + [9581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5373), + [9583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5334), + [9585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5426), + [9587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5415), + [9589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5406), + [9591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5398), + [9593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5397), + [9595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5391), + [9597] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5335), + [9599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [9601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6218), + [9603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), + [9605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), + [9607] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5896), + [9610] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5357), + [9613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), + [9615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), + [9617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5896), + [9620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5357), + [9623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [9625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 4, 0, 0), + [9627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 4, 0, 0), + [9629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 5, 0, 0), + [9631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 5, 0, 0), + [9633] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5417), + [9636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [9638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [9640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6287), + [9642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [9644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5390), + [9646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5414), + [9648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5866), + [9650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [9652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 3, 0, 0), + [9654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 3, 0, 0), + [9656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 3, 0, 0), + [9658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 3, 0, 0), + [9660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5346), + [9662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_attributes_end, 3, 0, 0), + [9664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_attributes_end, 3, 0, 0), + [9666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [9668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5341), + [9670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5879), + [9672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5624), + [9674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5673), + [9676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [9678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [9680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_postfix, 1, 0, 0), + [9682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_postfix, 1, 0, 0), + [9684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5417), + [9687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__function_postfix_repeat1, 2, 0, 0), + [9689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__function_postfix_repeat1, 2, 0, 0), + [9691] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(5896), + [9694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 1, 0, 0), + [9696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1109), + [9698] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 1, 0, 0), + [9700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2024), + [9702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2559), + [9704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4372), + [9706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3462), + [9708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2336), + [9710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2400), + [9712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(862), + [9714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1037), + [9716] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(822), + [9719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(6100), + [9722] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5408), + [9725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4653), + [9727] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6978), + [9730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2591), + [9732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2608), + [9734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5181), + [9736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2246), + [9738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2723), + [9740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3528), + [9742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8414), + [9745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6078), + [9747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6625), + [9749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5993), + [9751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6605), + [9753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1036), + [9755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_return_type, 2, 0, 0), + [9757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_trailing_return_type, 2, 0, 0), + [9759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [9761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5375), + [9763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1647), + [9765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [9767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [9769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [9771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declarator_seq, 7, 0, 21), + [9773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declarator_seq, 7, 0, 21), + [9775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6028), + [9777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6016), + [9779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [9781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__class_declaration_repeat1, 2, 0, 0), + [9783] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__class_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(8193), + [9786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__class_declaration_repeat1, 2, 0, 0), + [9788] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__class_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(8321), + [9791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1, 0, 0), + [9793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__abstract_declarator, 1, 0, 0), + [9795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, 0, 35), + [9797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 1, 0, 35), + [9799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, 0, 172), + [9801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 5, 0, 172), + [9803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 3, 0, 80), + [9805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6597), + [9807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5360), + [9809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7489), + [9811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6055), + [9813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6621), + [9815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 24), + [9817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 24), + [9819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 119), + [9821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 119), + [9823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 174), + [9825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 174), + [9827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [9829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6563), + [9831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0), + [9833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0), + [9835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [9837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [9839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6054), + [9841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6571), + [9843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_virtual_specifier, 1, 0, 0), + [9845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_virtual_specifier, 1, 0, 0), + [9847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6627), + [9849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 24), + [9851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 24), + [9853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0), + [9855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0), + [9857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0), + [9859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0), + [9861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [9863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 124), + [9865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 124), + [9867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0), + [9869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0), + [9871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, 0, 22), + [9873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 2, 0, 22), + [9875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 2, 0, 12), + [9877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6088), + [9879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6104), + [9881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6003), + [9883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6201), + [9885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6136), + [9887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6138), + [9889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6181), + [9891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6194), + [9893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6116), + [9895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6159), + [9897] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__function_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(6100), + [9900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6130), + [9902] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(6100), + [9905] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5408), + [9908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6092), + [9910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6185), + [9912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6164), + [9914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 7), + [9916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6162), + [9918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5399), + [9920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6125), + [9922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6199), + [9924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6196), + [9926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6172), + [9928] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6165), + [9930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6119), + [9932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5396), + [9934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6152), + [9936] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5376), + [9939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6147), + [9941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6085), + [9943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 41), + [9945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(786), + [9947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5381), + [9949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7096), + [9951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1738), + [9953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6082), + [9955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2907), + [9957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1866), + [9959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8112), + [9961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8085), + [9963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3329), + [9965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 86), + [9967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, 0, 132), + [9969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 43), + [9971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 62), + [9973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 82), + [9975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_reference_declarator, 2, 0, 0), + [9977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 7), + [9979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8497), + [9981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4876), + [9983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2239), + [9985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(781), + [9987] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(6963), + [9990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4878), + [9992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7922), + [9994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2033), + [9996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2702), + [9998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, 0, 7), + [10000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1076), + [10002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2710), + [10004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7848), + [10006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3285), + [10008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5008), + [10010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8526), + [10012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8339), + [10014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2533), + [10016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4036), + [10018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5015), + [10020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3994), + [10022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3034), + [10024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3018), + [10026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2556), + [10028] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5352), + [10031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6568), + [10033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2884), + [10035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), + [10037] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5376), + [10040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2034), + [10042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [10044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7053), + [10046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6036), + [10048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7029), + [10050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(748), + [10052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7493), + [10054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6759), + [10056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2166), + [10058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [10060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7308), + [10062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6862), + [10064] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5410), + [10067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, 1, 86), + [10069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, 1, 170), + [10071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(673), + [10073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7355), + [10075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6846), + [10077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [10079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7166), + [10081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6956), + [10083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5385), + [10085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5384), + [10087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [10089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_field_declarator, 2, 1, 0), + [10091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, 1, 7), + [10093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, 1, 43), + [10095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, 1, 43), + [10097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1811), + [10099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [10101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7206), + [10103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6920), + [10105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [10107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [10109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5348), + [10111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5420), + [10113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5352), + [10116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2232), + [10118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [10120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7270), + [10122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6880), + [10124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2105), + [10126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [10128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [10130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, 1, 7), + [10132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, 1, 86), + [10134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1734), + [10136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_declarator, 2, 1, 0), + [10138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), + [10140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, 1, 170), + [10142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6324), + [10144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6468), + [10146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6356), + [10148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 3, 0, 80), + [10150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6672), + [10152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5377), + [10154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7242), + [10156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, 0, 172), + [10158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, 0, 172), + [10160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6593), + [10162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6676), + [10164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5407), + [10166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7246), + [10168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7874), + [10170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_binding_declarator, 4, -1, 0), + [10172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_binding_declarator, 4, -1, 0), + [10174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6566), + [10176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 24), + [10178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 24), + [10180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 119), + [10182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 119), + [10184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_binding_declarator, 3, -1, 0), + [10186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_binding_declarator, 3, -1, 0), + [10188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, 0, 24), + [10190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, 0, 24), + [10192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6311), + [10194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 80), + [10196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6397), + [10198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [10200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [10202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 80), + [10204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6392), + [10206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6362), + [10208] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 5, 0, 21), SHIFT(5372), + [10211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(125), + [10214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5409), + [10217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7485), + [10220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(7502), + [10223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [10225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(125), + [10228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [10230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [10232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6344), + [10234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6386), + [10236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 12), + [10238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6567), + [10240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6408), + [10242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 12), + [10244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 2, 0, 12), + [10246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6623), + [10248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6348), + [10250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7900), + [10252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, 1, 22), + [10254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, 1, 22), + [10256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5413), + [10258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7636), + [10260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6765), + [10262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8268), + [10264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7710), + [10266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 102), + [10268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [10270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 102), + [10272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8038), + [10274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 0), + [10276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 0), + [10278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5410), + [10281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5412), + [10283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [10285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [10287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 1, 0, 0), + [10289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7154), + [10291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3251), + [10293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 1, 0, 0), + [10295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7417), + [10297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8506), + [10299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7809), + [10301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2546), + [10303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6464), + [10305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2546), + [10307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6793), + [10309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 1, 0, 0), + [10311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 1, 0, 0), + [10313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1505), + [10315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4918), + [10317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, 0, 172), + [10319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, 0, 172), + [10321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1362), + [10323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6838), + [10325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6615), + [10327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7323), + [10329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6855), + [10331] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_declarator_seq, 6, 0, 21), SHIFT(5372), + [10334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1311), + [10336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4893), + [10338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1213), + [10340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4853), + [10342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1378), + [10344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4879), + [10346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, 1, 22), + [10348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, 1, 22), + [10350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 24), + [10352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 24), + [10354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5366), + [10356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5350), + [10358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 119), + [10360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 119), + [10362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [10364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [10366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1538), + [10368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4912), + [10370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6853), + [10372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1376), + [10374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1403), + [10376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4882), + [10378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6758), + [10380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1515), + [10382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4866), + [10384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200), + [10386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4871), + [10388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6813), + [10390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1478), + [10392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4858), + [10394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1488), + [10396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1514), + [10398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4910), + [10400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7026), + [10402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6981), + [10404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6894), + [10406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7008), + [10408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, 0, 24), + [10410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, 0, 24), + [10412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [10414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [10416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6976), + [10418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1479), + [10420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6833), + [10422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6911), + [10424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1245), + [10426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4908), + [10428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6884), + [10430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6834), + [10432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 66), + [10434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1344), + [10436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1511), + [10438] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(125), + [10441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [10443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [10445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(125), + [10448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(1960), + [10451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [10453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [10455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(1960), + [10458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1460), + [10460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5599), + [10462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 1, 0, 24), + [10464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 2, 0, 33), + [10466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 2, 0, 33), + [10468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 3, 0, 0), + [10470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 3, 0, 0), + [10472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3, 0, 0), + [10474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 7), + [10476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5345), + [10478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 1, 0, 8), + [10480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, 0, 8), + [10482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1543), + [10484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5343), + [10486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 2, 0, 29), + [10488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 2, 0, 29), + [10490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [10492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6569), + [10494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [10496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695), + [10498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739), + [10500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3690), + [10502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(744), + [10504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6407), + [10506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast, 3, 0, 58), + [10508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [10510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [10512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3642), + [10514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2148), + [10516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3721), + [10518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [10520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [10522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [10524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [10526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [10528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6448), + [10530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [10532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3663), + [10534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6254), + [10536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2179), + [10538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3550), + [10540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), + [10542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3647), + [10544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [10546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3706), + [10548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6274), + [10550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1061), + [10552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 80), + [10554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 80), + [10556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 6, 0, 0), + [10558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 6, 0, 0), + [10560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 12), + [10562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 12), + [10564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 12), + [10566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 12), + [10568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3515), + [10570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2089), + [10572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3501), + [10574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6290), + [10576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [10578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 4, 0, 0), + [10580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 4, 0, 0), + [10582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 81), + [10584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 81), + [10586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3188), + [10588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 80), + [10590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 80), + [10592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 130), + [10594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 130), + [10596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 1, 0, 0), + [10598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2142), + [10600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 129), + [10602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 129), + [10604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 177), + [10606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 177), + [10608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(1299), + [10611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), + [10613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(7072), + [10616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299), + [10618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1073), + [10620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7072), + [10622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 5, 0, 0), + [10624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 5, 0, 0), + [10626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6204), + [10628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3182), + [10630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [10632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1535), + [10634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5793), + [10636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6867), + [10638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [10640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420), + [10642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5809), + [10644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5810), + [10646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5814), + [10648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5805), + [10650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2110), + [10652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1427), + [10654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5802), + [10656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), + [10658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361), + [10660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_specifier, 1, 0, 0), + [10662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_specifier, 1, 0, 0), + [10664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5828), + [10666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754), + [10668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1221), + [10670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [10672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1439), + [10674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [10676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1544), + [10678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5779), + [10680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5790), + [10682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5824), + [10684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2277), + [10686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1337), + [10688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5781), + [10690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653), + [10692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1380), + [10694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2198), + [10696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399), + [10698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747), + [10700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455), + [10702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5788), + [10704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 2, 0, 0), + [10706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5787), + [10708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 2, 0, 0), + [10710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1803), + [10712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1358), + [10714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5797), + [10716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 1, 0, 0), + [10718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1748), + [10720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1342), + [10722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), + [10724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(6867), + [10727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2063), + [10729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1333), + [10731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2146), + [10733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2144), + [10735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2218), + [10737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2131), + [10739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2220), + [10741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2123), + [10743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type_parameter_declaration, 4, 0, 193), + [10745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459), + [10747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2203), + [10749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5906), + [10751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 8), + [10753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7113), + [10755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5880), + [10757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2197), + [10759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2284), + [10761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1872), + [10763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2278), + [10765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1870), + [10767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1869), + [10769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1851), + [10771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1848), + [10773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1345), + [10775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2195), + [10777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1846), + [10779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2126), + [10781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6127), + [10783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2124), + [10785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1837), + [10787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1833), + [10789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7083), + [10791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7598), + [10793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_declarator, 1, 0, 0), + [10795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6581), + [10797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type_parameter_declaration, 2, 0, 0), + [10799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type_parameter_declaration, 3, 0, 159), + [10801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6189), + [10803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2147), + [10805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2152), + [10807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2159), + [10809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2653), + [10811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7027), + [10813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7027), + [10815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3196), + [10817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6886), + [10819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [10821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3645), + [10823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [10825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8209), + [10827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6786), + [10829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6786), + [10831] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2349), + [10833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6872), + [10835] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6872), + [10837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7703), + [10839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2638), + [10841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3292), + [10843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [10845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6737), + [10847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8226), + [10849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__namespace_specifier, 1, 0, 17), + [10851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6609), + [10853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(905), + [10855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(907), + [10857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7670), + [10859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7658), + [10861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1693), + [10863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(890), + [10865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7473), + [10867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5652), + [10869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 3, 0, 0), + [10871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_operator_cast_identifier, 2, 0, 36), + [10873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7197), + [10875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 4, 0, 0), + [10877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5719), + [10879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8212), + [10881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3179), + [10883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6865), + [10885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6865), + [10887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1688), + [10889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6815), + [10891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6815), + [10893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [10895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6607), + [10897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1986), + [10899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6836), + [10901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6836), + [10903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1663), + [10905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6478), + [10907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 2, 0, 155), + [10909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3725), + [10911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5641), + [10913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 117), SHIFT_REPEAT(5599), + [10916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 117), + [10918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2080), + [10920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8076), + [10922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 93), + [10924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3468), + [10926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1689), + [10928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2707), + [10930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3718), + [10932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7134), + [10934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3616), + [10936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2297), + [10938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6878), + [10940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6878), + [10942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), + [10944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2267), + [10946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8508), + [10948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7568), + [10950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7803), + [10952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3595), + [10954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [10956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1821), + [10958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3559), + [10960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [10962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), + [10964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2886), + [10966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1968), + [10968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7700), + [10970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [10972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8312), + [10974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [10976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6572), + [10978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7780), + [10980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7675), + [10982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7741), + [10984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7775), + [10986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3656), + [10988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6804), + [10990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6804), + [10992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6612), + [10994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1609), + [10996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1816), + [10998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1815), + [11000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830), + [11002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1595), + [11004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3176), + [11006] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4215), + [11008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_qualifier, 1, 0, 0), + [11010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [11012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7376), + [11014] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), + [11016] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(6872), + [11019] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(6872), + [11022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801), + [11024] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 214), SHIFT_REPEAT(5789), + [11027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 214), + [11029] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4637), + [11031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2318), + [11033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3601), + [11035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [11037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1800), + [11039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7884), + [11041] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2319), + [11043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2293), + [11045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6883), + [11047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6883), + [11049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__char_literal_repeat1, 2, 0, 0), + [11051] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__char_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(6886), + [11054] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3746), + [11056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [11058] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3745), + [11060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6887), + [11062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6887), + [11064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2567), + [11066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6915), + [11068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6915), + [11070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [11072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3733), + [11074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1584), + [11076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2365), + [11078] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2361), + [11080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6898), + [11082] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6898), + [11084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4155), + [11086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4159), + [11088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5789), + [11090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 3, 0, 210), + [11092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7283), + [11094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 2, 0, 0), + [11096] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 202), SHIFT_REPEAT(6471), + [11099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 202), + [11101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [11103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), + [11105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4571), + [11107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2549), + [11109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4703), + [11111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2108), + [11113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 2, 0, 89), + [11115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, 0, 182), SHIFT_REPEAT(5742), + [11118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, 0, 182), + [11120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2088), + [11122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3787), + [11124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1616), + [11126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [11128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8178), + [11130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3784), + [11132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6927), + [11134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6927), + [11136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [11138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3794), + [11140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [11142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [11144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3633), + [11146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 202), SHIFT_REPEAT(6478), + [11149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 202), + [11151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [11153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694), + [11155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [11157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2048), + [11159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2371), + [11161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [11163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2620), + [11165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7055), + [11167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 5, 0, 0), + [11169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1561), + [11171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2125), + [11173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2127), + [11175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2363), + [11177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6947), + [11179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6947), + [11181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 3, 0, 190), + [11183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2755), + [11185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845), + [11187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6471), + [11189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 2, 0, 155), + [11191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3786), + [11193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3776), + [11195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6961), + [11197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6961), + [11199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2171), + [11201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7695), + [11203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7559), + [11205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), + [11207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8139), + [11209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4147), + [11211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [11213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2822), + [11215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2455), + [11217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3588), + [11219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7371), + [11221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5658), + [11223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2459), + [11225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6972), + [11227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6972), + [11229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3875), + [11231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6997), + [11233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6997), + [11235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3629), + [11237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2291), + [11239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2508), + [11241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2750), + [11243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1754), + [11245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4153), + [11247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2104), + [11249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2493), + [11251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6985), + [11253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6985), + [11255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2201), + [11257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7621), + [11259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7622), + [11261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4141), + [11263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3886), + [11265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2380), + [11267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6766), + [11269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6766), + [11271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2099), + [11273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [11275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 1, 0, 0), + [11277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3693), + [11279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 2, 0, 203), + [11281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6018), + [11283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6474), + [11285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 3, 0, 190), + [11287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3654), + [11289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2086), + [11291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3704), + [11293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1729), + [11295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6024), + [11297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7011), + [11299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7011), + [11301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2661), + [11303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3723), + [11305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2821), + [11307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6486), + [11309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6484), + [11311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7704), + [11313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2477), + [11315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6340), + [11317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1557), + [11319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7691), + [11321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 4, 0, 0), + [11323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4774), + [11325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865), + [11327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_namespace_specifier, 3, 0, 0), + [11329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6611), + [11331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 3, 0, 197), + [11333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6491), + [11335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [11337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 6, 0, 0), + [11339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1728), + [11341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 3, 0, 7), + [11343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881), + [11345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1680), + [11347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3376), + [11349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4665), + [11351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7965), + [11353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7964), + [11355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7960), + [11357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2457), + [11359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314), + [11361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3662), + [11363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6342), + [11365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3517), + [11367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5645), + [11369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 155), + [11371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3695), + [11373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3516), + [11375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3696), + [11377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3697), + [11379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3699), + [11381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4744), + [11383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6580), + [11385] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 117), SHIFT_REPEAT(5106), + [11388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 117), + [11390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6968), + [11392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2377), + [11394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5753), + [11396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [11398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3831), + [11400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7004), + [11402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6841), + [11404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7649), + [11406] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_throw_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(3593), + [11409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_throw_specifier_repeat1, 2, 0, 0), + [11411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7751), + [11413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6835), + [11415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3931), + [11417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [11419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7498), + [11421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1591), + [11423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1586), + [11425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1582), + [11427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2288), + [11429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7764), + [11431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2307), + [11433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2300), + [11435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2313), + [11437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1774), + [11439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7422), + [11441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7422), + [11443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863), + [11445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3417), + [11447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7619), + [11449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2341), + [11451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4806), + [11453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2047), + [11455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [11457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2073), + [11459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), + [11461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4799), + [11463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3941), + [11465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_range_designator, 5, 0, 196), + [11467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), + [11469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2076), + [11471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6805), + [11473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3907), + [11475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3924), + [11477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2816), + [11479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2815), + [11481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2814), + [11483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3593), + [11485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5677), + [11487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4804), + [11489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2732), + [11491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3266), + [11493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1788), + [11495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2593), + [11497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1654), + [11499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6603), + [11501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2040), + [11503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3914), + [11505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3537), + [11507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2597), + [11509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3536), + [11511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3895), + [11513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2600), + [11515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1695), + [11517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8308), + [11519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), + [11521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5330), + [11523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2756), + [11525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2757), + [11527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2758), + [11529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2759), + [11531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3231), + [11533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3290), + [11535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [11537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866), + [11539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3541), + [11541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8551), + [11543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8553), + [11545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8582), + [11547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1789), + [11549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1563), + [11551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7674), + [11553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562), + [11555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7648), + [11557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2619), + [11559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4772), + [11561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [11563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), + [11565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1673), + [11567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2479), + [11569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [11571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1676), + [11573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1677), + [11575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1678), + [11577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7634), + [11579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3492), + [11581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6933), + [11583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7666), + [11585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 5, 0, 0), + [11587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7749), + [11589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 3, 0, 0), + [11591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [11593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1780), + [11595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1780), + [11597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7650), + [11599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 2, 0, 102), + [11601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3491), + [11603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 7, 0, 0), + [11605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7753), + [11607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3827), + [11609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6237), + [11611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8020), + [11613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8023), + [11615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8026), + [11617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4704), + [11619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [11621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4706), + [11623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4707), + [11625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4708), + [11627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1615), + [11629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 4, 0, 209), + [11631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1658), + [11633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4093), + [11635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 155), + [11637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2348), + [11639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7293), + [11641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 2, 0, 211), + [11643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5994), + [11645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 3, 0, 0), + [11647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7655), + [11649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 2, 0, 0), + [11651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [11653] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structured_binding_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(7059), + [11656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structured_binding_declarator_repeat1, 2, 0, 0), + [11658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3902), + [11660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1579), + [11662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3734), + [11664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2405), + [11666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3850), + [11668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3736), + [11670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3737), + [11672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3738), + [11674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3853), + [11676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6877), + [11678] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_capture_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(1321), + [11681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3891), + [11683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3905), + [11685] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(3703), + [11688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), + [11690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3932), + [11692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3939), + [11694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888), + [11696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2346), + [11698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3482), + [11700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6487), + [11702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7653), + [11704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [11706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [11708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [11710] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 4, 0, 209), + [11712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8433), + [11714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8430), + [11716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8429), + [11718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [11720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter_declaration, 2, 0, 66), + [11722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 203), + [11724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [11726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1606), + [11728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2474), + [11730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6246), + [11732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1605), + [11734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1608), + [11736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2156), + [11738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2391), + [11740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4662), + [11742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6592), + [11744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7684), + [11746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 3, 0, 215), + [11748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3346), + [11750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), + [11752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6785), + [11754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3472), + [11756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(878), + [11758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564), + [11760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1600), + [11762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), + [11764] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 217), SHIFT_REPEAT(7293), + [11767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 217), + [11769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7844), + [11771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7865), + [11773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7867), + [11775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2401), + [11777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1596), + [11779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [11781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 7, 0, 218), + [11783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1610), + [11785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1601), + [11787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1593), + [11789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6814), + [11791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, 0, 97), + [11793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), SHIFT_REPEAT(6841), + [11796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), + [11798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 7, 0, 218), + [11800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2424), + [11802] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5367), + [11805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, 3, 0), + [11807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4798), + [11809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7587), + [11811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6768), + [11813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7707), + [11815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6914), + [11817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2158), + [11819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2160), + [11821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2162), + [11823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7582), + [11825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7581), + [11827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2053), + [11829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7959), + [11831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7950), + [11833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7944), + [11835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3448), + [11837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3760), + [11839] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(246), + [11842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, 0, 0), + [11844] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_subscript_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1052), + [11847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6996), + [11849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7580), + [11851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7579), + [11853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(901), + [11855] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(5994), + [11858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2, 0, 0), + [11860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1787), + [11862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8058), + [11864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3648), + [11866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6755), + [11868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6986), + [11870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7701), + [11872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2462), + [11874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(877), + [11876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5660), + [11878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3471), + [11880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2463), + [11882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2385), + [11884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7793), + [11886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5985), + [11888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2643), + [11890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2186), + [11892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2641), + [11894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1680), + [11897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [11899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2640), + [11901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3334), + [11903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [11905] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requires_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1695), + [11908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_requires_parameter_list_repeat1, 2, 0, 0), + [11910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [11912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3621), + [11914] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1654), + [11917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_parameter_list_repeat1, 2, 0, 0), + [11919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_reference_declarator, 2, 0, 0), + [11921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3903), + [11923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_declarator, 2, 0, 0), + [11925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3223), + [11927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2408), + [11929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3873), + [11931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3861), + [11933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [11935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4795), + [11937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7572), + [11939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7570), + [11941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4771), + [11943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3620), + [11945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3467), + [11947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2743), + [11949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [11951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 2, 0, 68), + [11953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_declaration, 3, 0, 145), + [11955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(932), + [11958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3615), + [11960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1717), + [11962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 2, 0, 0), + [11964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1722), + [11966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [11968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1723), + [11970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5646), + [11972] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 2, 0, 0), SHIFT_REPEAT(5652), + [11975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 2, 0, 0), + [11977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2402), + [11979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6565), + [11981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [11983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7806), + [11985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886), + [11987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8216), + [11989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3519), + [11991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2129), + [11993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1670), + [11995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6866), + [11997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_namespace_specifier, 2, 0, 0), + [11999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1665), + [12001] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(908), + [12004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5969), + [12006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__namespace_specifier, 2, 0, 59), + [12008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664), + [12010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3830), + [12012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3599), + [12014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7556), + [12016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1827), + [12018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [12020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2200), + [12022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3603), + [12024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2639), + [12026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3604), + [12028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3606), + [12030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3607), + [12032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7558), + [12034] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(6968), + [12037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), + [12039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4777), + [12041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1618), + [12043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [12045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1619), + [12047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [12049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [12051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8362), + [12053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7980), + [12055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8302), + [12057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1620), + [12059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [12061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6579), + [12063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1834), + [12065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2235), + [12067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8581), + [12069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), + [12071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7976), + [12073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8468), + [12075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8580), + [12077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8466), + [12079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8579), + [12081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8464), + [12083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8578), + [12085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8462), + [12087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8577), + [12089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8460), + [12091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8576), + [12093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8458), + [12095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8575), + [12097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8456), + [12099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8574), + [12101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8454), + [12103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8573), + [12105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8449), + [12107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8572), + [12109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8441), + [12111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8571), + [12113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8432), + [12115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8570), + [12117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8416), + [12119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8568), + [12121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8397), + [12123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8565), + [12125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2055), + [12127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8408), + [12129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8372), + [12131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8562), + [12133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8338), + [12135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8559), + [12137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [12139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8224), + [12141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8556), + [12143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [12145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8513), + [12147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4900), + [12149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [12151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [12153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7836), + [12155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [12157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8440), + [12159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023), + [12161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2254), + [12163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8264), + [12165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2570), + [12167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 93), + [12169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 2, 0, 0), + [12171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2, 0, 0), + [12173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type_parameter_declaration, 3, 0, 158), + [12175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [12177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_template_parameter_declaration, 3, 0, 57), + [12179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [12181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 3, 0, 168), + [12183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [12185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [12187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7948), + [12189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3212), + [12191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5023), + [12193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 211), + [12195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728), + [12197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8007), + [12199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 3, 0, 0), + [12201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3, 0, 0), + [12203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3, 0, 102), + [12205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3, 0, 0), + [12207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, 2, 0), + [12209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2926), + [12211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [12213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7821), + [12215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 6, 0, 0), + [12217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8089), + [12219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8088), + [12221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 4, 0, 0), + [12223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4, 0, 0), + [12225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_pack_expansion, 2, 0, 26), + [12227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [12229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8135), + [12231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3017), + [12233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2722), + [12235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2083), + [12237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7915), + [12239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1824), + [12241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7977), + [12243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [12245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3992), + [12247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1751), + [12249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8097), + [12251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 8), + [12253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2107), + [12255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [12257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [12259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [12261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1318), + [12263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3748), + [12265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), + [12267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2373), + [12269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2368), + [12271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [12273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), + [12275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1874), + [12277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1908), + [12279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2647), + [12281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [12283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), + [12285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2149), + [12287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6547), + [12289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5640), + [12291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8518), + [12293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3780), + [12295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3778), + [12297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [12299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388), + [12301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3535), + [12303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), + [12305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2512), + [12307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [12309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2145), + [12311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2635), + [12313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3735), + [12315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2, 0, 0), + [12317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [12319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2240), + [12321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2245), + [12323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2143), + [12325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(727), + [12327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [12329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3236), + [12331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3740), + [12333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 2, 0, 0), + [12335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2273), + [12337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2374), + [12339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2360), + [12341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [12343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, 0, 177), + [12345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [12347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [12349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 129), + [12351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3927), + [12353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [12355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [12357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [12359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2352), + [12361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1026), + [12363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2310), + [12365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6602), + [12367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [12369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1068), + [12371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 80), + [12373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3840), + [12375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2314), + [12377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4017), + [12379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [12381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2446), + [12383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7592), + [12385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2090), + [12387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1750), + [12389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8002), + [12391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2082), + [12393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3768), + [12395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2097), + [12397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3773), + [12399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1648), + [12401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 81), + [12403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7913), + [12405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 81), + [12407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3289), + [12409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1650), + [12411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7990), + [12413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 12), + [12415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2041), + [12417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2774), + [12419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [12421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2471), + [12423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2481), + [12425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [12427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6595), + [12429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1638), + [12431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 5, 0, 130), + [12433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [12435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2092), + [12437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7992), + [12439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2264), + [12441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 81), + [12443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 81), + [12445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1042), + [12447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2096), + [12449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7954), + [12451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1349), + [12453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8413), + [12455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [12457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2344), + [12459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [12461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1873), + [12463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3302), + [12465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3315), + [12467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3321), + [12469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2243), + [12471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8235), + [12473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1056), + [12475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3930), + [12477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2285), + [12479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [12481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2275), + [12483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2507), + [12485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [12487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [12489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [12491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [12493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [12495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [12497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [12499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7452), + [12501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7997), + [12503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7841), + [12505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2447), + [12507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [12509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), + [12511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2052), + [12513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [12515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7967), + [12517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2050), + [12519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4065), + [12521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5185), + [12523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3521), + [12525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [12527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3887), + [12529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3747), + [12531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7215), + [12533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6530), + [12535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676), + [12537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1796), + [12539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2227), + [12541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [12543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3162), + [12545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3833), + [12547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3741), + [12549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), + [12551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2765), + [12553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3014), + [12555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1792), + [12557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7818), + [12559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3469), + [12561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [12563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3452), + [12565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2114), + [12567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2448), + [12569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3929), + [12571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [12573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [12575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 6, 0, 177), + [12577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 129), + [12579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7863), + [12581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6601), + [12583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), + [12585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3407), + [12587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [12589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1075), + [12591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [12593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [12595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1856), + [12597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1854), + [12599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7899), + [12601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764), + [12603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 129), + [12605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [12607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2845), + [12609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [12611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1766), + [12613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6046), + [12615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2174), + [12617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6051), + [12619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5756), + [12621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2155), + [12623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 4, 0, 130), + [12625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8427), + [12627] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1, 0, 0), SHIFT(8423), + [12630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8583), + [12632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1769), + [12634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 4, 0, 130), + [12636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765), + [12638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 4, 0, 130), + [12640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2038), + [12642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1899), + [12644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [12646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1850), + [12648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 129), + [12650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8210), + [12652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 4, 0, 130), + [12654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7590), + [12656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8059), + [12658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7996), + [12660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2229), + [12662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1847), + [12664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3140), + [12666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [12668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8106), + [12670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2392), + [12672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, 0, 129), + [12674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1844), + [12676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [12678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [12680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276), + [12682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3845), + [12684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1830), + [12686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2189), + [12688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7241), + [12690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8400), + [12692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1877), + [12694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8055), + [12696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), + [12698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), + [12700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), + [12702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2035), + [12704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2370), + [12706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7927), + [12708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8079), + [12710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4029), + [12712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1840), + [12714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8316), + [12716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [12718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1786), + [12720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1838), + [12722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5952), + [12724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 5, 0, 177), + [12726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5917), + [12728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 5, 0, 177), + [12730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, 0, 177), + [12732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2330), + [12734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8502), + [12736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5963), + [12738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046), + [12740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1836), + [12742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [12744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2705), + [12746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262), + [12748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1831), + [12750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2859), + [12752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3483), + [12754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7916), + [12756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1251), + [12758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1574), + [12760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2697), + [12762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4761), + [12764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8425), + [12766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3908), + [12768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [12770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1798), + [12772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3892), + [12774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1809), + [12776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8348), + [12778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7314), + [12780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [12782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [12784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024), + [12786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 3, 0, 81), + [12788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [12790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2792), + [12792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), + [12794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8335), + [12796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), + [12798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4347), + [12800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4346), + [12802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1828), + [12804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4343), + [12806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2068), + [12808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8167), + [12810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4720), + [12812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8131), + [12814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [12816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8126), + [12818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [12820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [12822] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [12824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8054), + [12826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(902), + [12828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8029), + [12830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8171), + [12832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8027), + [12834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3478), + [12836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7586), + [12838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5136), + [12840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7962), + [12842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7837), + [12844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7942), + [12846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [12848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7906), + [12850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7905), + [12852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [12854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7889), + [12856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7887), + [12858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7858), + [12860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7857), + [12862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7832), + [12864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7831), + [12866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7812), + [12868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7811), + [12870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7842), + [12872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7851), + [12874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7870), + [12876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7877), + [12878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [12880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [12882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7698), + [12884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2460), + [12886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7329), + [12888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [12890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [12892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [12894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8530), + [12896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1111), + [12898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1059), + [12900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536), + [12902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), + [12904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3600), + [12906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [12908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3022), + [12910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2309), + [12912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [12914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7632), + [12916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1503), + [12918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 4, 0, 0), + [12920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7397), + [12922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7850), + [12924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3104), + [12926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [12928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1428), + [12930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8232), + [12932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [12934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [12936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4006), + [12938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), + [12940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3423), + [12942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [12944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [12946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7868), + [12948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1983), + [12950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [12952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3983), + [12954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [12956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7446), + [12958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3592), + [12960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3104), + [12962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3999), + [12964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4019), + [12966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8370), + [12968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3847), + [12970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3854), + [12972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1446), + [12974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), + [12976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3858), + [12978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1041), + [12980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [12982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2071), + [12984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575), + [12986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [12988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2838), + [12990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7155), + [12992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4788), + [12994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1524), + [12996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3828), + [12998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [13000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [13002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [13004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1826), + [13006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3561), + [13008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3563), + [13010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), + [13012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3567), + [13014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [13016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1863), + [13018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [13020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1027), + [13022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1793), + [13024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4023), + [13026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 3, 0, 0), + [13028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4097), + [13030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [13032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [13034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1685), + [13036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2120), + [13038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7702), + [13040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [13042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [13044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3700), + [13046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [13048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098), + [13050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1064), + [13052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3597), + [13054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4009), + [13056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7746), + [13058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7256), + [13060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3900), + [13062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3668), + [13064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2527), + [13066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3665), + [13068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1540), + [13070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7936), + [13072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2263), + [13074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [13076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [13078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675), + [13080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7222), + [13082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [13084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2122), + [13086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4855), + [13088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2561), + [13090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7830), + [13092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1546), + [13094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [13096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2244), + [13098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7767), + [13100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [13102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3570), + [13104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), + [13106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1095), + [13108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [13110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1077), + [13112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), + [13114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7754), + [13116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [13118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7050), + [13120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8087), + [13122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1438), + [13124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7955), + [13126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [13128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7066), + [13130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2165), + [13132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7993), + [13134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1390), + [13136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7718), + [13138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [13140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3582), + [13142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2231), + [13144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1090), + [13146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7709), + [13148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7177), + [13150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1368), + [13152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8048), + [13154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7189), + [13156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3243), + [13158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8062), + [13160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360), + [13162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7685), + [13164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [13166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3612), + [13168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2226), + [13170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1089), + [13172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [13174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7219), + [13176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8218), + [13178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1351), + [13180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8093), + [13182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7232), + [13184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(696), + [13186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3679), + [13188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8107), + [13190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340), + [13192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7663), + [13194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8347), + [13196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1088), + [13198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unary_right_fold, 3, 0, 70), + [13200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2480), + [13202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2167), + [13204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335), + [13206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8133), + [13208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2150), + [13210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3916), + [13212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [13214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8144), + [13216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [13218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7638), + [13220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1087), + [13222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [13224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8155), + [13226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7162), + [13228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8158), + [13230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2177), + [13232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7631), + [13234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1086), + [13236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2188), + [13238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8166), + [13240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8168), + [13242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7627), + [13244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1085), + [13246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8173), + [13248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8174), + [13250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8176), + [13252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8177), + [13254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8179), + [13256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8180), + [13258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8181), + [13260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8182), + [13262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8183), + [13264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8184), + [13266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8185), + [13268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8186), + [13270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8187), + [13272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8188), + [13274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8189), + [13276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8190), + [13278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2221), + [13280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2196), + [13282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [13284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270), + [13286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4759), + [13288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [13290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [13292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7135), + [13294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704), + [13296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [13298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2193), + [13300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [13302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8253), + [13304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [13306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2199), + [13308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4143), + [13310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2116), + [13312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [13314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1247), + [13316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), + [13318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2204), + [13320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2793), + [13322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8349), + [13324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1864), + [13326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2219), + [13328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7782), + [13330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [13332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242), + [13334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1692), + [13336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4747), + [13338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2807), + [13340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2879), + [13342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8382), + [13344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2059), + [13346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2217), + [13348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3988), + [13350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234), + [13352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4800), + [13354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [13356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2213), + [13358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4133), + [13360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8402), + [13362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1976), + [13364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232), + [13366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7920), + [13368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6587), + [13370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8421), + [13372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [13374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [13376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220), + [13378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1071), + [13380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2563), + [13382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8436), + [13384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5720), + [13386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3367), + [13388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5721), + [13390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8444), + [13392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2440), + [13394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8199), + [13396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8451), + [13398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3368), + [13400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8455), + [13402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3369), + [13404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8457), + [13406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3370), + [13408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8459), + [13410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [13412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8461), + [13414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8463), + [13416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2132), + [13418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8465), + [13420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [13422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8467), + [13424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [13426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8469), + [13428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3555), + [13430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8484), + [13432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5722), + [13434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3619), + [13436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8496), + [13438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2224), + [13440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3635), + [13442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8507), + [13444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2223), + [13446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3677), + [13448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8516), + [13450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1058), + [13452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3761), + [13454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8524), + [13456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2386), + [13458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8531), + [13460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8535), + [13462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8538), + [13464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8540), + [13466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8542), + [13468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8544), + [13470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8546), + [13472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8548), + [13474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8550), + [13476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8552), + [13478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8554), + [13480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2266), + [13482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [13484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8505), + [13486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2222), + [13488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4101), + [13490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1217), + [13492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1201), + [13494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1197), + [13496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195), + [13498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1421), +}; + +enum ts_external_scanner_symbol_identifiers { + ts_external_token_raw_string_delimiter = 0, + ts_external_token_raw_string_content = 1, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token_raw_string_delimiter] = sym_raw_string_delimiter, + [ts_external_token_raw_string_content] = sym_raw_string_content, +}; + +static const bool ts_external_scanner_states[4][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token_raw_string_delimiter] = true, + [ts_external_token_raw_string_content] = true, + }, + [2] = { + [ts_external_token_raw_string_delimiter] = true, + }, + [3] = { + [ts_external_token_raw_string_content] = true, + }, +}; + +#ifdef __cplusplus +extern "C" { +#endif +void *tree_sitter_cpp_external_scanner_create(void); +void tree_sitter_cpp_external_scanner_destroy(void *); +bool tree_sitter_cpp_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_cpp_external_scanner_serialize(void *, char *); +void tree_sitter_cpp_external_scanner_deserialize(void *, const char *, unsigned); + +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC const TSLanguage *tree_sitter_cpp(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym__identifier, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_cpp_external_scanner_create, + tree_sitter_cpp_external_scanner_destroy, + tree_sitter_cpp_external_scanner_scan, + tree_sitter_cpp_external_scanner_serialize, + tree_sitter_cpp_external_scanner_deserialize, + }, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/resources/language-metavariables/tree-sitter-cpp/src/scanner.c b/resources/language-metavariables/tree-sitter-cpp/src/scanner.c new file mode 100644 index 000000000..a1dac441e --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/src/scanner.c @@ -0,0 +1,148 @@ +#include "tree_sitter/alloc.h" +#include "tree_sitter/parser.h" + +#include +#include +#include + +enum TokenType { RAW_STRING_DELIMITER, RAW_STRING_CONTENT }; + +/// The spec limits delimiters to 16 chars +#define MAX_DELIMITER_LENGTH 16 + +typedef struct { + uint8_t delimiter_length; + wchar_t delimiter[MAX_DELIMITER_LENGTH]; +} Scanner; + +static inline void advance(TSLexer *lexer) { lexer->advance(lexer, false); } + +static inline void reset(Scanner *scanner) { + scanner->delimiter_length = 0; + memset(scanner->delimiter, 0, sizeof scanner->delimiter); +} + +/// Scan the raw string delimiter in R"delimiter(content)delimiter" +static bool scan_raw_string_delimiter(Scanner *scanner, TSLexer *lexer) { + if (scanner->delimiter_length > 0) { + // Closing delimiter: must exactly match the opening delimiter. + // We already checked this when scanning content, but this is how we + // know when to stop. We can't stop at ", because R"""hello""" is valid. + for (int i = 0; i < scanner->delimiter_length; ++i) { + if (lexer->lookahead != scanner->delimiter[i]) { + return false; + } + advance(lexer); + } + reset(scanner); + return true; + } + + // Opening delimiter: record the d-char-sequence up to (. + // d-char is any basic character except parens, backslashes, and spaces. + for (;;) { + if (scanner->delimiter_length >= MAX_DELIMITER_LENGTH || lexer->eof(lexer) || lexer->lookahead == '\\' || + iswspace(lexer->lookahead)) { + return false; + } + if (lexer->lookahead == '(') { + // Rather than create a token for an empty delimiter, we fail and + // let the grammar fall back to a delimiter-less rule. + return scanner->delimiter_length > 0; + } + scanner->delimiter[scanner->delimiter_length++] = lexer->lookahead; + advance(lexer); + } +} + +/// Scan the raw string content in R"delimiter(content)delimiter" +static bool scan_raw_string_content(Scanner *scanner, TSLexer *lexer) { + // The progress made through the delimiter since the last ')'. + // The delimiter may not contain ')' so a single counter suffices. + for (int delimiter_index = -1;;) { + // If we hit EOF, consider the content to terminate there. + // This forms an incomplete raw_string_literal, and models the code + // well. + if (lexer->eof(lexer)) { + lexer->mark_end(lexer); + return true; + } + + if (delimiter_index >= 0) { + if (delimiter_index == scanner->delimiter_length) { + if (lexer->lookahead == '"') { + return true; + } + delimiter_index = -1; + } else { + if (lexer->lookahead == scanner->delimiter[delimiter_index]) { + delimiter_index += 1; + } else { + delimiter_index = -1; + } + } + } + + if (delimiter_index == -1 && lexer->lookahead == ')') { + // The content doesn't include the )delimiter" part. + // We must still scan through it, but exclude it from the token. + lexer->mark_end(lexer); + delimiter_index = 0; + } + + advance(lexer); + } +} + +void *tree_sitter_cpp_external_scanner_create() { + Scanner *scanner = (Scanner *)ts_calloc(1, sizeof(Scanner)); + memset(scanner, 0, sizeof(Scanner)); + return scanner; +} + +bool tree_sitter_cpp_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) { + Scanner *scanner = (Scanner *)payload; + + if (valid_symbols[RAW_STRING_DELIMITER] && valid_symbols[RAW_STRING_CONTENT]) { + // we're in error recovery + return false; + } + + // No skipping leading whitespace: raw-string grammar is space-sensitive. + if (valid_symbols[RAW_STRING_DELIMITER]) { + lexer->result_symbol = RAW_STRING_DELIMITER; + return scan_raw_string_delimiter(scanner, lexer); + } + + if (valid_symbols[RAW_STRING_CONTENT]) { + lexer->result_symbol = RAW_STRING_CONTENT; + return scan_raw_string_content(scanner, lexer); + } + + return false; +} + +unsigned tree_sitter_cpp_external_scanner_serialize(void *payload, char *buffer) { + static_assert(MAX_DELIMITER_LENGTH * sizeof(wchar_t) < TREE_SITTER_SERIALIZATION_BUFFER_SIZE, + "Serialized delimiter is too long!"); + + Scanner *scanner = (Scanner *)payload; + size_t size = scanner->delimiter_length * sizeof(wchar_t); + memcpy(buffer, scanner->delimiter, size); + return (unsigned)size; +} + +void tree_sitter_cpp_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) { + assert(length % sizeof(wchar_t) == 0 && "Can't decode serialized delimiter!"); + + Scanner *scanner = (Scanner *)payload; + scanner->delimiter_length = length / sizeof(wchar_t); + if (length > 0) { + memcpy(&scanner->delimiter[0], buffer, length); + } +} + +void tree_sitter_cpp_external_scanner_destroy(void *payload) { + Scanner *scanner = (Scanner *)payload; + ts_free(scanner); +} diff --git a/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/alloc.h b/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/alloc.h new file mode 100644 index 000000000..1f4466d75 --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/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/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/array.h b/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/array.h new file mode 100644 index 000000000..15a3b233b --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/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/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/parser.h b/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/parser.h new file mode 100644 index 000000000..17f0e94bf --- /dev/null +++ b/resources/language-metavariables/tree-sitter-cpp/src/tree_sitter/parser.h @@ -0,0 +1,265 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/resources/metavariable-grammars/c-metavariable-grammar.js b/resources/metavariable-grammars/c-metavariable-grammar.js new file mode 100644 index 000000000..2fc7aef44 --- /dev/null +++ b/resources/metavariable-grammars/c-metavariable-grammar.js @@ -0,0 +1,1483 @@ +/** + * @file C grammar for tree-sitter + * @author Max Brunsfeld + * @author Amaan Qureshi + * @license MIT + */ + +/// +// @ts-check +const PREC = { + PAREN_DECLARATOR: -10, + ASSIGNMENT: -2, + CONDITIONAL: -1, + DEFAULT: 0, + LOGICAL_OR: 1, + LOGICAL_AND: 2, + INCLUSIVE_OR: 3, + EXCLUSIVE_OR: 4, + BITWISE_AND: 5, + EQUAL: 6, + RELATIONAL: 7, + OFFSETOF: 8, + SHIFT: 9, + ADD: 10, + MULTIPLY: 11, + CAST: 12, + SIZEOF: 13, + UNARY: 14, + CALL: 15, + FIELD: 16, + SUBSCRIPT: 17, + GRIT_METAVARIABLE: 100, +}; + +module.exports = grammar({ + name: 'c', + + conflicts: $ => [ + [$.type_specifier, $._declarator], + [$.type_specifier, $._declarator, $.macro_type_specifier], + [$.type_specifier, $.expression], + [$.type_specifier, $.expression, $.macro_type_specifier], + [$.type_specifier, $.macro_type_specifier], + [$.type_specifier, $.sized_type_specifier], + [$.sized_type_specifier], + [$.attributed_statement], + [$._declaration_modifiers, $.attributed_statement], + [$.enum_specifier], + [$.type_specifier, $._old_style_parameter_list], + [$.parameter_list, $._old_style_parameter_list], + [$.function_declarator, $._function_declaration_declarator], + [$._block_item, $.statement], + [$._top_level_item, $._top_level_statement], + [$.type_specifier, $._top_level_expression_statement], + + // Grit-caused conflicts + [$.linkage_specification, $.storage_class_specifier], + [$.identifier, $.char_literal, $.string_literal], + [$.identifier, $.string_literal], + [$.type_specifier, $.concatenated_string], + [$.identifier, $.char_literal], + [$.expression, $.concatenated_string], + [$.identifier, $.number_literal, $.char_literal, $.string_literal], + [$.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal] + ], + + extras: $ => [ + /\s|\\\r?\n/, + $.comment, + ], + + inline: $ => [ + $._type_identifier, + $._field_identifier, + $._statement_identifier, + $._non_case_statement, + $._assignment_left_expression, + $._expression_not_binary, + ], + + supertypes: $ => [ + $.expression, + $.statement, + $.type_specifier, + $._declarator, + $._field_declarator, + $._type_declarator, + $._abstract_declarator, + ], + + word: $ => $._identifier, + + rules: { + translation_unit: $ => repeat($._top_level_item), + + // Top level items are block items with the exception of the expression statement + _top_level_item: $ => choice( + $.function_definition, + alias($._old_style_function_definition, $.function_definition), + $.linkage_specification, + $.declaration, + $._top_level_statement, + $.attributed_statement, + $.type_definition, + $._empty_declaration, + $.preproc_if, + $.preproc_ifdef, + $.preproc_include, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + ), + + _block_item: $ => choice( + $.function_definition, + alias($._old_style_function_definition, $.function_definition), + $.linkage_specification, + $.declaration, + $.statement, + $.attributed_statement, + $.type_definition, + $._empty_declaration, + $.preproc_if, + $.preproc_ifdef, + $.preproc_include, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + ), + + // Preprocesser + + preproc_include: $ => seq( + preprocessor('include'), + field('path', choice( + $.string_literal, + $.system_lib_string, + $.identifier, + alias($.preproc_call_expression, $.call_expression), + )), + token.immediate(/\r?\n/), + ), + + preproc_def: $ => seq( + preprocessor('define'), + field('name', $.identifier), + field('value', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + preproc_function_def: $ => seq( + preprocessor('define'), + field('name', $.identifier), + field('parameters', $.preproc_params), + field('value', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + preproc_params: $ => seq( + token.immediate('('), commaSep(choice($.identifier, '...')), ')', + ), + + preproc_call: $ => seq( + field('directive', $.preproc_directive), + field('argument', optional($.preproc_arg)), + token.immediate(/\r?\n/), + ), + + ...preprocIf('', $ => $._block_item), + ...preprocIf('_in_field_declaration_list', $ => $._field_declaration_list_item), + ...preprocIf('_in_enumerator_list', $ => seq($.enumerator, ',')), + ...preprocIf('_in_enumerator_list_no_comma', $ => $.enumerator, -1), + + preproc_arg: _ => token(prec(-1, /\S([^/\n]|\/[^*]|\\\r?\n)*/)), + preproc_directive: _ => /#[ \t]*[a-zA-Z0-9]\w*/, + + _preproc_expression: $ => choice( + $.identifier, + alias($.preproc_call_expression, $.call_expression), + $.number_literal, + $.char_literal, + $.preproc_defined, + alias($.preproc_unary_expression, $.unary_expression), + alias($.preproc_binary_expression, $.binary_expression), + alias($.preproc_parenthesized_expression, $.parenthesized_expression), + ), + + preproc_parenthesized_expression: $ => seq( + '(', + $._preproc_expression, + ')', + ), + + preproc_defined: $ => choice( + prec(PREC.CALL, seq('defined', '(', $.identifier, ')')), + seq('defined', $.identifier), + ), + + preproc_unary_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', choice('!', '~', '-', '+')), + field('argument', $._preproc_expression), + )), + + preproc_call_expression: $ => prec(PREC.CALL, seq( + field('function', $.identifier), + field('arguments', alias($.preproc_argument_list, $.argument_list)), + )), + + preproc_argument_list: $ => seq( + '(', + commaSep($._preproc_expression), + ')', + ), + + preproc_binary_expression: $ => { + const table = [ + ['+', PREC.ADD], + ['-', PREC.ADD], + ['*', PREC.MULTIPLY], + ['/', PREC.MULTIPLY], + ['%', PREC.MULTIPLY], + ['||', PREC.LOGICAL_OR], + ['&&', PREC.LOGICAL_AND], + ['|', PREC.INCLUSIVE_OR], + ['^', PREC.EXCLUSIVE_OR], + ['&', PREC.BITWISE_AND], + ['==', PREC.EQUAL], + ['!=', PREC.EQUAL], + ['>', PREC.RELATIONAL], + ['>=', PREC.RELATIONAL], + ['<=', PREC.RELATIONAL], + ['<', PREC.RELATIONAL], + ['<<', PREC.SHIFT], + ['>>', PREC.SHIFT], + ]; + + return choice(...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $._preproc_expression), + // @ts-ignore + field('operator', operator), + field('right', $._preproc_expression), + )); + })); + }, + + // Main Grammar + + function_definition: $ => seq( + optional($.ms_call_modifier), + $._declaration_specifiers, + optional($.ms_call_modifier), + field('declarator', $._declarator), + field('body', $.compound_statement), + ), + + _old_style_function_definition: $ => seq( + optional($.ms_call_modifier), + $._declaration_specifiers, + field('declarator', alias($._old_style_function_declarator, $.function_declarator)), + repeat($.declaration), + field('body', $.compound_statement), + ), + + declaration: $ => seq( + $._declaration_specifiers, + commaSep1(field('declarator', choice( + seq( + optional($.ms_call_modifier), + $._declaration_declarator, + optional($.gnu_asm_expression), + ), + $.init_declarator, + ))), + ';', + ), + + type_definition: $ => seq( + optional('__extension__'), + 'typedef', + $._type_definition_type, + $._type_definition_declarators, + repeat($.attribute_specifier), + ';', + ), + _type_definition_type: $ => seq(repeat($.type_qualifier), field('type', $.type_specifier), repeat($.type_qualifier)), + _type_definition_declarators: $ => commaSep1(field('declarator', $._type_declarator)), + + _declaration_modifiers: $ => choice( + $.storage_class_specifier, + $.type_qualifier, + $.attribute_specifier, + $.attribute_declaration, + $.ms_declspec_modifier, + ), + + _declaration_specifiers: $ => prec.right(seq( + repeat($._declaration_modifiers), + field('type', $.type_specifier), + repeat($._declaration_modifiers), + )), + + linkage_specification: $ => seq( + 'extern', + field('value', $.string_literal), + field('body', choice( + $.function_definition, + $.declaration, + $.declaration_list, + )), + ), + + attribute_specifier: $ => seq( + '__attribute__', + '(', + $.argument_list, + ')', + ), + + attribute: $ => seq( + optional(seq(field('prefix', $.identifier), '::')), + field('name', $.identifier), + optional($.argument_list), + ), + + attribute_declaration: $ => seq( + '[[', + commaSep1($.attribute), + ']]', + ), + + ms_declspec_modifier: $ => seq( + '__declspec', + '(', + $.identifier, + ')', + ), + + ms_based_modifier: $ => seq( + '__based', + $.argument_list, + ), + + ms_call_modifier: _ => choice( + '__cdecl', + '__clrcall', + '__stdcall', + '__fastcall', + '__thiscall', + '__vectorcall', + ), + + ms_restrict_modifier: _ => '__restrict', + + ms_unsigned_ptr_modifier: _ => '__uptr', + + ms_signed_ptr_modifier: _ => '__sptr', + + ms_unaligned_ptr_modifier: _ => choice('_unaligned', '__unaligned'), + + ms_pointer_modifier: $ => choice( + $.ms_unaligned_ptr_modifier, + $.ms_restrict_modifier, + $.ms_unsigned_ptr_modifier, + $.ms_signed_ptr_modifier, + ), + + declaration_list: $ => seq( + '{', + repeat($._block_item), + '}', + ), + + _declarator: $ => choice( + $.attributed_declarator, + $.pointer_declarator, + $.function_declarator, + $.array_declarator, + $.parenthesized_declarator, + $.identifier, + ), + + _declaration_declarator: $ => choice( + $.attributed_declarator, + $.pointer_declarator, + alias($._function_declaration_declarator, $.function_declarator), + $.array_declarator, + $.parenthesized_declarator, + $.identifier, + ), + + _field_declarator: $ => choice( + alias($.attributed_field_declarator, $.attributed_declarator), + alias($.pointer_field_declarator, $.pointer_declarator), + alias($.function_field_declarator, $.function_declarator), + alias($.array_field_declarator, $.array_declarator), + alias($.parenthesized_field_declarator, $.parenthesized_declarator), + $._field_identifier, + ), + + _type_declarator: $ => choice( + alias($.attributed_type_declarator, $.attributed_declarator), + alias($.pointer_type_declarator, $.pointer_declarator), + alias($.function_type_declarator, $.function_declarator), + alias($.array_type_declarator, $.array_declarator), + alias($.parenthesized_type_declarator, $.parenthesized_declarator), + $._type_identifier, + alias(choice('signed', 'unsigned', 'long', 'short'), $.primitive_type), + $.primitive_type, + ), + + _abstract_declarator: $ => choice( + $.abstract_pointer_declarator, + $.abstract_function_declarator, + $.abstract_array_declarator, + $.abstract_parenthesized_declarator, + ), + + parenthesized_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._declarator, + ')', + )), + parenthesized_field_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._field_declarator, + ')', + )), + parenthesized_type_declarator: $ => prec.dynamic(PREC.PAREN_DECLARATOR, seq( + '(', + optional($.ms_call_modifier), + $._type_declarator, + ')', + )), + abstract_parenthesized_declarator: $ => prec(1, seq( + '(', + optional($.ms_call_modifier), + $._abstract_declarator, + ')', + )), + + + attributed_declarator: $ => prec.right(seq( + $._declarator, + repeat1($.attribute_declaration), + )), + attributed_field_declarator: $ => prec.right(seq( + $._field_declarator, + repeat1($.attribute_declaration), + )), + attributed_type_declarator: $ => prec.right(seq( + $._type_declarator, + repeat1($.attribute_declaration), + )), + + pointer_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._declarator), + ))), + pointer_field_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._field_declarator), + ))), + pointer_type_declarator: $ => prec.dynamic(1, prec.right(seq( + optional($.ms_based_modifier), + '*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', $._type_declarator), + ))), + abstract_pointer_declarator: $ => prec.dynamic(1, prec.right(seq('*', + repeat($.ms_pointer_modifier), + repeat($.type_qualifier), + field('declarator', optional($._abstract_declarator)), + ))), + + function_declarator: $ => prec.right(1, + seq( + field('declarator', $._declarator), + field('parameters', $.parameter_list), + optional($.gnu_asm_expression), + repeat(choice( + $.attribute_specifier, + $.identifier, + alias($.preproc_call_expression, $.call_expression), + )), + ), + ), + + _function_declaration_declarator: $ => prec.right(1, + seq( + field('declarator', $._declarator), + field('parameters', $.parameter_list), + optional($.gnu_asm_expression), + repeat($.attribute_specifier), + )), + + function_field_declarator: $ => prec(1, seq( + field('declarator', $._field_declarator), + field('parameters', $.parameter_list), + )), + function_type_declarator: $ => prec(1, seq( + field('declarator', $._type_declarator), + field('parameters', $.parameter_list), + )), + abstract_function_declarator: $ => prec(1, seq( + field('declarator', optional($._abstract_declarator)), + field('parameters', $.parameter_list), + )), + + _old_style_function_declarator: $ => seq( + field('declarator', $._declarator), + field('parameters', alias($._old_style_parameter_list, $.parameter_list)), + ), + + array_declarator: $ => prec(1, seq( + field('declarator', $._declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + array_field_declarator: $ => prec(1, seq( + field('declarator', $._field_declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + array_type_declarator: $ => prec(1, seq( + field('declarator', $._type_declarator), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + abstract_array_declarator: $ => prec(1, seq( + field('declarator', optional($._abstract_declarator)), + '[', + repeat(choice($.type_qualifier, 'static')), + field('size', optional(choice($.expression, '*'))), + ']', + )), + + init_declarator: $ => seq( + field('declarator', $._declarator), + '=', + field('value', choice($.initializer_list, $.expression)), + ), + + compound_statement: $ => seq( + '{', + repeat($._block_item), + '}', + ), + + storage_class_specifier: _ => choice( + 'extern', + 'static', + 'auto', + 'register', + 'inline', + '__inline', + '__inline__', + '__forceinline', + 'thread_local', + '__thread', + ), + + type_qualifier: $ => choice( + 'const', + 'constexpr', + 'volatile', + 'restrict', + '__restrict__', + '__extension__', + '_Atomic', + '_Noreturn', + 'noreturn', + $.alignas_qualifier, + ), + + alignas_qualifier: $ => seq( + choice('alignas', '_Alignas'), + '(', + choice($.expression, $.type_descriptor), + ')', + ), + + type_specifier: $ => choice( + $.struct_specifier, + $.union_specifier, + $.enum_specifier, + $.macro_type_specifier, + $.sized_type_specifier, + $.primitive_type, + $._type_identifier, + ), + + sized_type_specifier: $ => choice( + seq( + repeat(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + field('type', optional(choice( + prec.dynamic(-1, $._type_identifier), + $.primitive_type, + ))), + repeat1(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + ), + seq( + repeat1(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + field('type', optional(choice( + prec.dynamic(-1, $._type_identifier), + $.primitive_type, + ))), + repeat(choice( + 'signed', + 'unsigned', + 'long', + 'short', + )), + ), + ), + + primitive_type: _ => token(choice( + 'bool', + 'char', + 'int', + 'float', + 'double', + 'void', + 'size_t', + 'ssize_t', + 'ptrdiff_t', + 'intptr_t', + 'uintptr_t', + 'charptr_t', + 'nullptr_t', + 'max_align_t', + ...[8, 16, 32, 64].map(n => `int${n}_t`), + ...[8, 16, 32, 64].map(n => `uint${n}_t`), + ...[8, 16, 32, 64].map(n => `char${n}_t`), + )), + + enum_specifier: $ => seq( + 'enum', + choice( + seq( + field('name', $._type_identifier), + optional(seq(':', field('underlying_type', $.primitive_type))), + field('body', optional($.enumerator_list)), + ), + field('body', $.enumerator_list), + ), + optional($.attribute_specifier), + ), + + enumerator_list: $ => seq( + '{', + repeat(choice( + seq($.enumerator, ','), + alias($.preproc_if_in_enumerator_list, $.preproc_if), + alias($.preproc_ifdef_in_enumerator_list, $.preproc_ifdef), + seq($.preproc_call, ','), + )), + optional(seq( + choice( + $.enumerator, + alias($.preproc_if_in_enumerator_list_no_comma, $.preproc_if), + alias($.preproc_ifdef_in_enumerator_list_no_comma, $.preproc_ifdef), + $.preproc_call, + ), + )), + '}', + ), + + struct_specifier: $ => prec.right(seq( + 'struct', + optional($.attribute_specifier), + optional($.ms_declspec_modifier), + choice( + seq( + field('name', $._type_identifier), + field('body', optional($.field_declaration_list)), + ), + field('body', $.field_declaration_list), + ), + optional($.attribute_specifier), + )), + + union_specifier: $ => prec.right(seq( + 'union', + optional($.ms_declspec_modifier), + choice( + seq( + field('name', $._type_identifier), + field('body', optional($.field_declaration_list)), + ), + field('body', $.field_declaration_list), + ), + optional($.attribute_specifier), + )), + + field_declaration_list: $ => seq( + '{', + repeat($._field_declaration_list_item), + '}', + ), + + _field_declaration_list_item: $ => choice( + $.field_declaration, + $.preproc_def, + $.preproc_function_def, + $.preproc_call, + alias($.preproc_if_in_field_declaration_list, $.preproc_if), + alias($.preproc_ifdef_in_field_declaration_list, $.preproc_ifdef), + ), + + field_declaration: $ => seq( + $._declaration_specifiers, + optional($._field_declaration_declarator), + optional($.attribute_specifier), + ';', + ), + _field_declaration_declarator: $ => commaSep1(seq( + field('declarator', $._field_declarator), + optional($.bitfield_clause), + )), + + bitfield_clause: $ => seq(':', $.expression), + + enumerator: $ => seq( + field('name', $.identifier), + optional(seq('=', field('value', $.expression))), + ), + + variadic_parameter: _ => '...', + + parameter_list: $ => seq( + '(', + commaSep(choice($.parameter_declaration, $.variadic_parameter)), + ')', + ), + _old_style_parameter_list: $ => seq( + '(', + commaSep(choice($.identifier, $.variadic_parameter)), + ')', + ), + + parameter_declaration: $ => seq( + $._declaration_specifiers, + optional(field('declarator', choice( + $._declarator, + $._abstract_declarator, + ))), + ), + + // Statements + + attributed_statement: $ => seq( + repeat1($.attribute_declaration), + $.statement, + ), + + statement: $ => choice( + $.case_statement, + $._non_case_statement, + ), + + _non_case_statement: $ => choice( + $.attributed_statement, + $.labeled_statement, + $.compound_statement, + $.expression_statement, + $.if_statement, + $.switch_statement, + $.do_statement, + $.while_statement, + $.for_statement, + $.return_statement, + $.break_statement, + $.continue_statement, + $.goto_statement, + $.seh_try_statement, + $.seh_leave_statement, + ), + + _top_level_statement: $ => choice( + $.case_statement, + $.attributed_statement, + $.labeled_statement, + $.compound_statement, + alias($._top_level_expression_statement, $.expression_statement), + $.if_statement, + $.switch_statement, + $.do_statement, + $.while_statement, + $.for_statement, + $.return_statement, + $.break_statement, + $.continue_statement, + $.goto_statement, + ), + + labeled_statement: $ => seq( + field('label', $._statement_identifier), + ':', + $.statement, + ), + + // This is missing binary expressions, others were kept so that macro code can be parsed better and code examples + _top_level_expression_statement: $ => seq( + $._expression_not_binary, + ';', + ), + + expression_statement: $ => seq( + optional(choice( + $.expression, + $.comma_expression, + )), + ';', + ), + + if_statement: $ => prec.right(seq( + 'if', + field('condition', $.parenthesized_expression), + field('consequence', $.statement), + optional(field('alternative', $.else_clause)), + )), + + else_clause: $ => seq('else', $.statement), + + switch_statement: $ => seq( + 'switch', + field('condition', $.parenthesized_expression), + field('body', $.compound_statement), + ), + + case_statement: $ => prec.right(seq( + choice( + seq('case', field('value', $.expression)), + 'default', + ), + ':', + repeat(choice( + $._non_case_statement, + $.declaration, + $.type_definition, + )), + )), + + while_statement: $ => seq( + 'while', + field('condition', $.parenthesized_expression), + field('body', $.statement), + ), + + do_statement: $ => seq( + 'do', + field('body', $.statement), + 'while', + field('condition', $.parenthesized_expression), + ';', + ), + + for_statement: $ => seq( + 'for', + '(', + $._for_statement_body, + ')', + field('body', $.statement), + ), + _for_statement_body: $ => seq( + choice( + field('initializer', $.declaration), + seq(field('initializer', optional(choice($.expression, $.comma_expression))), ';'), + ), + field('condition', optional(choice($.expression, $.comma_expression))), + ';', + field('update', optional(choice($.expression, $.comma_expression))), + ), + + return_statement: $ => seq( + 'return', + optional(choice($.expression, $.comma_expression)), + ';', + ), + + break_statement: _ => seq( + 'break', ';', + ), + + continue_statement: _ => seq( + 'continue', ';', + ), + + goto_statement: $ => seq( + 'goto', + field('label', $._statement_identifier), + ';', + ), + + seh_try_statement: $ => seq( + '__try', + field('body', $.compound_statement), + choice($.seh_except_clause, $.seh_finally_clause), + ), + + seh_except_clause: $ => seq( + '__except', + field('filter', $.parenthesized_expression), + field('body', $.compound_statement), + ), + + seh_finally_clause: $ => seq( + '__finally', + field('body', $.compound_statement), + ), + + seh_leave_statement: _ => seq( + '__leave', ';', + ), + + // Expressions + + expression: $ => choice( + $._expression_not_binary, + $.binary_expression, + ), + + _expression_not_binary: $ => choice( + $.conditional_expression, + $.assignment_expression, + $.unary_expression, + $.update_expression, + $.cast_expression, + $.pointer_expression, + $.sizeof_expression, + $.alignof_expression, + $.offsetof_expression, + $.generic_expression, + $.subscript_expression, + $.call_expression, + $.field_expression, + $.compound_literal_expression, + $.identifier, + $.number_literal, + $._string, + $.true, + $.false, + $.null, + $.char_literal, + $.parenthesized_expression, + $.gnu_asm_expression, + ), + + _string: $ => prec.left(choice( + $.string_literal, + $.concatenated_string, + )), + + comma_expression: $ => seq( + field('left', $.expression), + ',', + field('right', choice($.expression, $.comma_expression)), + ), + + conditional_expression: $ => prec.right(PREC.CONDITIONAL, seq( + field('condition', $.expression), + '?', + optional(field('consequence', choice($.expression, $.comma_expression))), + ':', + field('alternative', $.expression), + )), + + _assignment_left_expression: $ => choice( + $.identifier, + $.call_expression, + $.field_expression, + $.pointer_expression, + $.subscript_expression, + $.parenthesized_expression, + ), + + + //assignment_expression: $ => choice($._assignment_expression, $.grit_metavariable), + assignment_expression: $ => prec.right(PREC.ASSIGNMENT, seq( + field('left', $._assignment_left_expression), + field('operator', choice( + '=', + '*=', + '/=', + '%=', + '+=', + '-=', + '<<=', + '>>=', + '&=', + '^=', + '|=', + )), + field('right', $.expression), + )), + + pointer_expression: $ => prec.left(PREC.CAST, seq( + field('operator', choice('*', '&')), + field('argument', $.expression), + )), + + unary_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', choice('!', '~', '-', '+')), + field('argument', $.expression), + )), + + binary_expression: $ => { + const table = [ + ['+', PREC.ADD], + ['-', PREC.ADD], + ['*', PREC.MULTIPLY], + ['/', PREC.MULTIPLY], + ['%', PREC.MULTIPLY], + ['||', PREC.LOGICAL_OR], + ['&&', PREC.LOGICAL_AND], + ['|', PREC.INCLUSIVE_OR], + ['^', PREC.EXCLUSIVE_OR], + ['&', PREC.BITWISE_AND], + ['==', PREC.EQUAL], + ['!=', PREC.EQUAL], + ['>', PREC.RELATIONAL], + ['>=', PREC.RELATIONAL], + ['<=', PREC.RELATIONAL], + ['<', PREC.RELATIONAL], + ['<<', PREC.SHIFT], + ['>>', PREC.SHIFT], + ]; + + return choice(...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $.expression), + // @ts-ignore + field('operator', operator), + field('right', $.expression), + )); + })); + }, + + update_expression: $ => { + const argument = field('argument', $.expression); + const operator = field('operator', choice('--', '++')); + return prec.right(PREC.UNARY, choice( + seq(operator, argument), + seq(argument, operator), + )); + }, + + cast_expression: $ => prec(PREC.CAST, seq( + '(', + field('type', $.type_descriptor), + ')', + field('value', $.expression), + )), + + type_descriptor: $ => seq( + repeat($.type_qualifier), + field('type', $.type_specifier), + repeat($.type_qualifier), + field('declarator', optional($._abstract_declarator)), + ), + + sizeof_expression: $ => prec(PREC.SIZEOF, seq( + 'sizeof', + choice( + field('value', $.expression), + seq('(', field('type', $.type_descriptor), ')'), + ), + )), + + alignof_expression: $ => prec(PREC.SIZEOF, seq( + choice('__alignof__', '__alignof', '_alignof', 'alignof', '_Alignof'), + seq('(', field('type', $.type_descriptor), ')'), + )), + + offsetof_expression: $ => prec(PREC.OFFSETOF, seq( + 'offsetof', + seq('(', field('type', $.type_descriptor), ',', field('member', $._field_identifier), ')'), + )), + + generic_expression: $ => prec(PREC.CALL, seq( + '_Generic', + '(', + $.expression, + ',', + commaSep1(seq($.type_descriptor, ':', $.expression)), + ')', + )), + + subscript_expression: $ => prec(PREC.SUBSCRIPT, seq( + field('argument', $.expression), + '[', + field('index', $.expression), + ']', + )), + + call_expression: $ => prec(PREC.CALL, seq( + field('function', $.expression), + field('arguments', $.argument_list), + )), + + gnu_asm_expression: $ => prec(PREC.CALL, seq( + choice('asm', '__asm__'), + repeat($.gnu_asm_qualifier), + '(', + field('assembly_code', $._string), + optional(seq( + field('output_operands', $.gnu_asm_output_operand_list), + optional(seq( + field('input_operands', $.gnu_asm_input_operand_list), + optional(seq( + field('clobbers', $.gnu_asm_clobber_list), + optional(field('goto_labels', $.gnu_asm_goto_list)), + )), + )), + )), + ')', + )), + + gnu_asm_qualifier: _ => choice( + 'volatile', + 'inline', + 'goto', + ), + + gnu_asm_output_operand_list: $ => seq( + ':', + commaSep(field('operand', $.gnu_asm_output_operand)), + ), + + gnu_asm_output_operand: $ => seq( + optional(seq( + '[', + field('symbol', $.identifier), + ']', + )), + field('constraint', $.string_literal), + '(', + field('value', $.identifier), + ')', + ), + + gnu_asm_input_operand_list: $ => seq( + ':', + commaSep(field('operand', $.gnu_asm_input_operand)), + ), + + gnu_asm_input_operand: $ => seq( + optional(seq( + '[', + field('symbol', $.identifier), + ']', + )), + field('constraint', $.string_literal), + '(', + field('value', $.expression), + ')', + ), + + gnu_asm_clobber_list: $ => seq( + ':', + commaSep(field('register', $._string)), + ), + + gnu_asm_goto_list: $ => seq( + ':', + commaSep(field('label', $.identifier)), + ), + + // The compound_statement is added to parse macros taking statements as arguments, e.g. MYFORLOOP(1, 10, i, { foo(i); bar(i); }) + argument_list: $ => seq('(', commaSep(choice(seq(optional('__extension__'), $.expression), $.compound_statement)), ')'), + + field_expression: $ => seq( + prec(PREC.FIELD, seq( + field('argument', $.expression), + field('operator', choice('.', '->')), + )), + field('field', $._field_identifier), + ), + + compound_literal_expression: $ => seq( + '(', + field('type', $.type_descriptor), + ')', + field('value', $.initializer_list), + ), + + parenthesized_expression: $ => seq( + '(', + choice($.expression, $.comma_expression), + ')', + ), + + initializer_list: $ => seq( + '{', + commaSep(choice( + $.initializer_pair, + $.expression, + $.initializer_list, + )), + optional(','), + '}', + ), + + initializer_pair: $ => choice( + seq( + field('designator', repeat1(choice( + $.subscript_designator, + $.field_designator, + $.subscript_range_designator, + ))), + '=', + field('value', choice($.expression, $.initializer_list)), + ), + seq( + field('designator', $._field_identifier), + ':', + field('value', choice($.expression, $.initializer_list)), + ), + ), + + subscript_designator: $ => seq('[', $.expression, ']'), + + subscript_range_designator: $ => seq('[', field('start', $.expression), '...', field('end', $.expression), ']'), + + field_designator: $ => seq('.', $._field_identifier), + + number_literal: $ => choice($._number_literal, $.grit_metavariable), + _number_literal: _ => { + const separator = '\''; + const hex = /[0-9a-fA-F]/; + const decimal = /[0-9]/; + const hexDigits = seq(repeat1(hex), repeat(seq(separator, repeat1(hex)))); + const decimalDigits = seq(repeat1(decimal), repeat(seq(separator, repeat1(decimal)))); + return token(seq( + optional(/[-\+]/), + optional(choice(/0[xX]/, /0[bB]/)), + choice( + seq( + choice( + decimalDigits, + seq(/0[bB]/, decimalDigits), + seq(/0[xX]/, hexDigits), + ), + optional(seq('.', optional(hexDigits))), + ), + seq('.', decimalDigits), + ), + optional(seq( + /[eEpP]/, + optional(seq( + optional(/[-\+]/), + hexDigits, + )), + )), + /[uUlLwWfFbBdD]*/, + )); + }, + + char_literal: $ => choice($.grit_metavariable, $._char_literal), + _char_literal: $ => seq( + choice('L\'', 'u\'', 'U\'', 'u8\'', '\''), + repeat1(choice( + $.escape_sequence, + alias(token.immediate(/[^\n']/), $.character), + )), + '\'', + ), + + // Must concatenate at least 2 nodes, one of which must be a string_literal. + // Identifier is added to parse macros that are strings, like PRIu64. + concatenated_string: $ => prec.right(seq( + choice( + seq($.identifier, $.string_literal), + seq($.string_literal, $.string_literal), + seq($.string_literal, $.identifier), + ), + repeat(choice($.string_literal, $.identifier)), + )), + + string_literal: $ => choice($.grit_metavariable, $._string_literal), + + _string_literal: $ => seq( + choice('L"', 'u"', 'U"', 'u8"', '"'), + repeat(choice( + alias(token.immediate(prec(1, /[^\\"\n]+/)), $.string_content), + $.escape_sequence, + )), + '"', + ), + + escape_sequence: _ => token(prec(1, seq( + '\\', + choice( + /[^xuU]/, + /\d{2,3}/, + /x[0-9a-fA-F]{2,}/, + /u[0-9a-fA-F]{4}/, + /U[0-9a-fA-F]{8}/, + ), + ))), + + system_lib_string: _ => token(seq( + '<', + repeat(choice(/[^>\n]/, '\\>')), + '>', + )), + + true: _ => token(choice('TRUE', 'true')), + false: _ => token(choice('FALSE', 'false')), + null: _ => choice('NULL', 'nullptr'), + + identifier: $ => field('identifier', choice($.grit_metavariable, $._identifier)), + _identifier: $ => + // eslint-disable-next-line max-len + /(\p{XID_Start}|\$|_|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})(\p{XID_Continue}|\$|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})*/, + + _type_identifier: $ => alias( + $.identifier, + $.type_identifier, + ), + _field_identifier: $ => alias($.identifier, $.field_identifier), + _statement_identifier: $ => alias($.identifier, $.statement_identifier), + + _empty_declaration: $ => seq( + $.type_specifier, + ';', + ), + + macro_type_specifier: $ => prec.dynamic(-1, seq( + field('name', $.identifier), + '(', + field('type', $.type_descriptor), + ')', + )), + + // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 + comment: _ => token(choice( + seq('//', /(\\+(.|\r?\n)|[^\\\n])*/), + seq( + '/*', + /[^*]*\*+([^/*][^*]*\*+)*/, + '/', + ), + )), + + grit_metavariable: ($) => token(prec(PREC.GRIT_METAVARIABLE, choice("µ...", /µ[a-zA-Z_][a-zA-Z0-9_]*/))), + }, +}); + +module.exports.PREC = PREC; + +/** + * + * @param {string} suffix + * + * @param {RuleBuilder} content + * + * @param {number} precedence + * + * @return {RuleBuilders} + */ +function preprocIf(suffix, content, precedence = 0) { + /** + * + * @param {GrammarSymbols} $ + * + * @return {ChoiceRule} + * + */ + function alternativeBlock($) { + return choice( + suffix ? alias($['preproc_else' + suffix], $.preproc_else) : $.preproc_else, + suffix ? alias($['preproc_elif' + suffix], $.preproc_elif) : $.preproc_elif, + suffix ? alias($['preproc_elifdef' + suffix], $.preproc_elifdef) : $.preproc_elifdef, + ); + } + + return { + ['preproc_if' + suffix]: $ => prec(precedence, seq( + preprocessor('if'), + field('condition', $._preproc_expression), + '\n', + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + preprocessor('endif'), + )), + + ['preproc_ifdef' + suffix]: $ => prec(precedence, seq( + choice(preprocessor('ifdef'), preprocessor('ifndef')), + field('name', $.identifier), + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + preprocessor('endif'), + )), + + ['preproc_else' + suffix]: $ => prec(precedence, seq( + preprocessor('else'), + repeat(content($)), + )), + + ['preproc_elif' + suffix]: $ => prec(precedence, seq( + preprocessor('elif'), + field('condition', $._preproc_expression), + '\n', + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + )), + + ['preproc_elifdef' + suffix]: $ => prec(precedence, seq( + choice(preprocessor('elifdef'), preprocessor('elifndef')), + field('name', $.identifier), + repeat(content($)), + field('alternative', optional(alternativeBlock($))), + )), + }; +} + +/** + * Creates a preprocessor regex rule + * + * @param {RegExp|Rule|String} command + * + * @return {AliasRule} + */ +function preprocessor(command) { + return alias(new RegExp('#[ \t]*' + command), '#' + command); +} + +/** + * Creates a rule to optionally match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {ChoiceRule} + * + */ +function commaSep(rule) { + return optional(commaSep1(rule)); +} + +/** + * Creates a rule to match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {SeqRule} + * + */ +function commaSep1(rule) { + return seq(rule, repeat(seq(',', rule))); +} diff --git a/resources/metavariable-grammars/cpp-metavariable-grammar.js b/resources/metavariable-grammars/cpp-metavariable-grammar.js new file mode 100644 index 000000000..6a6817bb5 --- /dev/null +++ b/resources/metavariable-grammars/cpp-metavariable-grammar.js @@ -0,0 +1,1430 @@ +/** + * @file C++ grammar for tree-sitter + * @author Max Brunsfeld + * @author Amaan Qureshi + * @author John Drouhard + * @license MIT + */ + +/// +// @ts-check + +const C = require('../tree-sitter-c/grammar'); + +// GRIT_METAVARIABLE is in c-metavariable-gramma.js. +const PREC = Object.assign(C.PREC, { + LAMBDA: 18, + NEW: C.PREC.CALL + 1, + STRUCTURED_BINDING: -1, + THREE_WAY: C.PREC.RELATIONAL + 1, +}); + +const FOLD_OPERATORS = [ + '+', '-', '*', '/', '%', + '^', '&', '|', + '=', '<', '>', + '<<', '>>', + '+=', '-=', '*=', '/=', '%=', '^=', '&=', '|=', + '>>=', '<<=', + '==', '!=', '<=', '>=', + '&&', '||', + ',', + '.*', '->*', + 'or', 'and', 'bitor', 'xor', 'bitand', 'not_eq', +]; + +const ASSIGNMENT_OPERATORS = [ + '=', + '*=', + '/=', + '%=', + '+=', + '-=', + '<<=', + '>>=', + '&=', + '^=', + '|=', + 'and_eq', + 'or_eq', + 'xor_eq', +]; + +module.exports = grammar(C, { + name: 'cpp', + + externals: $ => [ + $.raw_string_delimiter, + $.raw_string_content, + ], + + conflicts: $ => [ + // C + [$.type_specifier, $._declarator], + [$.type_specifier, $.expression], + [$.sized_type_specifier], + [$.attributed_statement], + [$._declaration_modifiers, $.attributed_statement], + [$._top_level_item, $._top_level_statement], + [$._block_item, $.statement], + // Grit + [$.linkage_specification, $.storage_class_specifier], + [$.identifier, $.user_defined_literal, $.string_literal, $.char_literal], + [$.identifier, $.user_defined_literal], + [$.identifier, $.string_literal], + [$.char_literal, $.string_literal], + //[$.type_specifier, $.concatenated_string], + [$.identifier, $.char_literal], + [$.expression, $.concatenated_string], + + // C++ + [$.template_function, $.template_type], + [$.template_function, $.template_type, $.expression], + [$.template_function, $.template_type, $.qualified_identifier], + [$.template_type, $.qualified_type_identifier], + [$.qualified_type_identifier, $.qualified_identifier], + [$.comma_expression, $.initializer_list], + [$.expression, $._declarator], + [$.expression, $.structured_binding_declarator], + [$.expression, $._declarator, $.type_specifier], + [$.parameter_list, $.argument_list], + [$.type_specifier, $.call_expression], + [$._declaration_specifiers, $._constructor_specifiers], + [$._binary_fold_operator, $._fold_operator], + [$._function_declarator_seq], + [$.type_specifier, $.sized_type_specifier], + [$.initializer_pair, $.comma_expression], + [$.expression_statement, $._for_statement_body], + [$.init_statement, $._for_statement_body], + // Grit + [$.identifier, $.user_defined_literal, $.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal, $.string_literal], + [$.identifier, $.number_literal, $.char_literal], + [$.number_literal, $.char_literal, $.string_literal], + ], + + inline: ($, original) => original.concat([ + $._namespace_identifier, + ]), + + precedences: $ => [ + [$.argument_list, $.type_qualifier], + [$._expression_not_binary, $._class_name], + ], + + rules: { + _top_level_item: ($, original) => choice( + ...original.members.filter((member) => member.content?.name != '_old_style_function_definition'), + $.namespace_definition, + $.concept_definition, + $.namespace_alias_definition, + $.using_declaration, + $.alias_declaration, + $.static_assert_declaration, + $.template_declaration, + $.template_instantiation, + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + ), + + _block_item: ($, original) => choice( + ...original.members.filter((member) => member.content?.name != '_old_style_function_definition'), + $.namespace_definition, + $.concept_definition, + $.namespace_alias_definition, + $.using_declaration, + $.alias_declaration, + $.static_assert_declaration, + $.template_declaration, + $.template_instantiation, + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + ), + + // Types + + placeholder_type_specifier: $ => prec(1, seq( + field('constraint', optional($.type_specifier)), + choice($.auto, alias($.decltype_auto, $.decltype)), + )), + + auto: _ => 'auto', + decltype_auto: $ => seq( + 'decltype', + '(', + $.auto, + ')', + ), + decltype: $ => seq( + 'decltype', + '(', + $.expression, + ')', + ), + + type_specifier: $ => choice( + $.struct_specifier, + $.union_specifier, + $.enum_specifier, + $.class_specifier, + $.sized_type_specifier, + $.primitive_type, + $.template_type, + $.dependent_type, + $.placeholder_type_specifier, + $.decltype, + prec.right(choice( + alias($.qualified_type_identifier, $.qualified_identifier), + $._type_identifier, + )), + ), + + type_qualifier: (_, original) => choice( + original, + 'mutable', + 'constinit', + 'consteval', + ), + + type_descriptor: (_, original) => prec.right(original), + + // When used in a trailing return type, these specifiers can now occur immediately before + // a compound statement. This introduces a shift/reduce conflict that needs to be resolved + // with an associativity. + _class_declaration: $ => seq( + repeat(choice($.attribute_specifier, $.alignas_qualifier)), + optional($.ms_declspec_modifier), + repeat($.attribute_declaration), + $._class_declaration_item, + ), + _class_declaration_item: $ => prec.right(seq( + choice( + field('name', $._class_name), + seq( + optional(field('name', $._class_name)), + optional($.virtual_specifier), + optional($.base_class_clause), + field('body', $.field_declaration_list), + ), + ), + optional($.attribute_specifier), + )), + + class_specifier: $ => seq( + 'class', + $._class_declaration, + ), + + union_specifier: $ => seq( + 'union', + $._class_declaration, + ), + + struct_specifier: $ => seq( + 'struct', + $._class_declaration, + ), + + _class_name: $ => prec.right(choice( + $._type_identifier, + $.template_type, + alias($.qualified_type_identifier, $.qualified_identifier), + )), + + function_definition: ($, original) => ({ + ...original, + members: original.members.map( + (e) => e.name !== 'body' ? + e : + field('body', choice(e.content, $.try_statement))), + }), + + declaration: $ => seq( + $._declaration_specifiers, + commaSep1(field('declarator', choice( + seq( + // C uses _declaration_declarator here for some nice macro parsing in function declarators, + // but this causes a world of pain for C++ so we'll just stick to the normal _declarator here. + $._declarator, + optional($.gnu_asm_expression), + ), + $.init_declarator, + ))), + ';', + ), + + virtual_specifier: _ => choice( + 'final', // the only legal value here for classes + 'override', // legal for functions in addition to final, plus permutations. + ), + + virtual: _ => 'virtual', + + _declaration_modifiers: ($, original) => choice( + original, + $.virtual, + ), + + explicit_function_specifier: $ => choice( + 'explicit', + prec(PREC.CALL, seq( + 'explicit', + '(', + $.expression, + ')', + )), + ), + + base_class_clause: $ => seq( + ':', + commaSep1(seq( + repeat($.attribute_declaration), + optional(choice( + $.access_specifier, + seq($.access_specifier, optional($.virtual)), + seq($.virtual, optional($.access_specifier)), + )), + $._class_name, + optional('...'), + )), + ), + + enum_specifier: $ => prec.right(seq( + 'enum', + optional(choice('class', 'struct')), + choice( + seq( + field('name', $._class_name), + optional($._enum_base_clause), + optional(field('body', $.enumerator_list)), + ), + field('body', $.enumerator_list), + ), + optional($.attribute_specifier), + )), + + _enum_base_clause: $ => prec.left(seq( + ':', + field('base', choice( + alias($.qualified_type_identifier, $.qualified_identifier), + $._type_identifier, + $.primitive_type, + $.sized_type_specifier, + )), + )), + + // The `auto` storage class is removed in C++0x in order to allow for the `auto` type. + storage_class_specifier: (_, original) => choice( + ...original.members.filter((member) => member.value !== 'auto'), + 'thread_local', + ), + + dependent_type: $ => prec.dynamic(-1, prec.right(seq( + 'typename', + $.type_specifier, + ))), + + // Declarations + + template_declaration: $ => seq( + 'template', + field('parameters', $.template_parameter_list), + optional($.requires_clause), + choice( + $._empty_declaration, + $.alias_declaration, + $.declaration, + $.template_declaration, + $.function_definition, + $.concept_definition, + $.friend_declaration, + alias($.constructor_or_destructor_declaration, $.declaration), + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + alias($.operator_cast_definition, $.function_definition), + ), + ), + + template_instantiation: $ => seq( + 'template', + optional($._declaration_specifiers), + field('declarator', $._declarator), + ';', + ), + + template_parameter_list: $ => seq( + '<', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.type_parameter_declaration, + $.variadic_parameter_declaration, + $.variadic_type_parameter_declaration, + $.optional_type_parameter_declaration, + $.template_template_parameter_declaration, + )), + alias(token(prec(1, '>')), '>'), + ), + + type_parameter_declaration: $ => prec(1, seq( + choice('typename', 'class'), + optional($._type_identifier), + )), + + variadic_type_parameter_declaration: $ => prec(1, seq( + choice('typename', 'class'), + '...', + optional($._type_identifier), + )), + + optional_type_parameter_declaration: $ => seq( + choice('typename', 'class'), + optional(field('name', $._type_identifier)), + '=', + field('default_type', $.type_specifier), + ), + + template_template_parameter_declaration: $ => seq( + 'template', + field('parameters', $.template_parameter_list), + choice( + $.type_parameter_declaration, + $.variadic_type_parameter_declaration, + $.optional_type_parameter_declaration, + ), + ), + + parameter_list: $ => seq( + '(', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.variadic_parameter_declaration, + '...', + )), + ')', + ), + + optional_parameter_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', optional(choice($._declarator, $.abstract_reference_declarator))), + '=', + field('default_value', $.expression), + ), + + variadic_parameter_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', choice( + $.variadic_declarator, + alias($.variadic_reference_declarator, $.reference_declarator), + )), + ), + + variadic_declarator: $ => seq( + '...', + optional($.identifier), + ), + + variadic_reference_declarator: $ => seq( + choice('&&', '&'), + $.variadic_declarator, + ), + + init_declarator: ($, original) => choice( + original, + seq( + field('declarator', $._declarator), + field('value', choice( + $.argument_list, + $.initializer_list, + )), + ), + ), + + operator_cast: $ => prec.right(1, seq( + 'operator', + $._declaration_specifiers, + field('declarator', $._abstract_declarator), + )), + + // Avoid ambiguity between compound statement and initializer list in a construct like: + // A b {}; + compound_statement: (_, original) => prec(-1, original), + + field_initializer_list: $ => seq( + ':', + commaSep1($.field_initializer), + ), + + field_initializer: $ => prec(1, seq( + choice( + $._field_identifier, + $.template_method, + alias($.qualified_field_identifier, $.qualified_identifier), + ), + choice($.initializer_list, $.argument_list), + optional('...'), + )), + + _field_declaration_list_item: ($, original) => choice( + original, + $.template_declaration, + alias($.inline_method_definition, $.function_definition), + alias($.constructor_or_destructor_definition, $.function_definition), + alias($.constructor_or_destructor_declaration, $.declaration), + alias($.operator_cast_definition, $.function_definition), + alias($.operator_cast_declaration, $.declaration), + $.friend_declaration, + seq($.access_specifier, ':'), + $.alias_declaration, + $.using_declaration, + $.type_definition, + $.static_assert_declaration, + ), + + field_declaration: $ => seq( + $._declaration_specifiers, + commaSep(seq( + field('declarator', $._field_declarator), + optional(choice( + $.bitfield_clause, + field('default_value', $.initializer_list), + seq('=', field('default_value', choice($.expression, $.initializer_list))), + )), + )), + optional($.attribute_specifier), + ';', + ), + + inline_method_definition: $ => seq( + $._declaration_specifiers, + field('declarator', $._field_declarator), + choice( + field('body', choice($.compound_statement, $.try_statement)), + $.default_method_clause, + $.delete_method_clause, + $.pure_virtual_clause, + ), + ), + + _constructor_specifiers: $ => choice( + $._declaration_modifiers, + $.explicit_function_specifier, + ), + + operator_cast_definition: $ => seq( + repeat($._constructor_specifiers), + field('declarator', choice( + $.operator_cast, + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + )), + field('body', choice($.compound_statement, $.try_statement)), + ), + + operator_cast_declaration: $ => prec(1, seq( + repeat($._constructor_specifiers), + field('declarator', choice( + $.operator_cast, + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + )), + optional(seq('=', field('default_value', $.expression))), + ';', + )), + + constructor_try_statement: $ => seq( + 'try', + optional($.field_initializer_list), + field('body', $.compound_statement), + repeat1($.catch_clause), + ), + + constructor_or_destructor_definition: $ => seq( + repeat($._constructor_specifiers), + field('declarator', $.function_declarator), + choice( + seq( + optional($.field_initializer_list), + field('body', $.compound_statement), + ), + alias($.constructor_try_statement, $.try_statement), + $.default_method_clause, + $.delete_method_clause, + $.pure_virtual_clause, + ), + ), + + constructor_or_destructor_declaration: $ => seq( + repeat($._constructor_specifiers), + field('declarator', $.function_declarator), + ';', + ), + + default_method_clause: _ => seq('=', 'default', ';'), + delete_method_clause: _ => seq('=', 'delete', ';'), + pure_virtual_clause: _ => seq('=', '0', ';'), + + friend_declaration: $ => seq( + 'friend', + choice( + $.declaration, + $.function_definition, + seq( + optional(choice( + 'class', + 'struct', + 'union', + )), + $._class_name, ';', + ), + ), + ), + + access_specifier: _ => choice( + 'public', + 'private', + 'protected', + ), + + _declarator: ($, original) => choice( + original, + $.reference_declarator, + $.qualified_identifier, + $.template_function, + $.operator_name, + $.destructor_name, + $.structured_binding_declarator, + ), + + _field_declarator: ($, original) => choice( + original, + alias($.reference_field_declarator, $.reference_declarator), + $.template_method, + $.operator_name, + ), + + _type_declarator: ($, original) => choice( + original, + alias($.reference_type_declarator, $.reference_declarator), + ), + + _abstract_declarator: ($, original) => choice( + original, + $.abstract_reference_declarator, + ), + + reference_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._declarator))), + reference_field_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._field_declarator))), + reference_type_declarator: $ => prec.dynamic(1, prec.right(seq(choice('&', '&&'), $._type_declarator))), + abstract_reference_declarator: $ => prec.right(seq(choice('&', '&&'), optional($._abstract_declarator))), + + structured_binding_declarator: $ => prec.dynamic(PREC.STRUCTURED_BINDING, seq( + '[', commaSep1($.identifier), ']', + )), + + ref_qualifier: _ => choice('&', '&&'), + + _function_declarator_seq: $ => seq( + field('parameters', $.parameter_list), + optional($._function_attributes_start), + optional($.ref_qualifier), + optional($._function_exception_specification), + optional($._function_attributes_end), + optional($.trailing_return_type), + optional($._function_postfix), + ), + + _function_attributes_start: $ => prec(1, choice( + seq(repeat1($.attribute_specifier), repeat($.type_qualifier)), + seq(repeat($.attribute_specifier), repeat1($.type_qualifier)), + )), + + _function_exception_specification: $ => choice( + $.noexcept, + $.throw_specifier, + ), + + _function_attributes_end: $ => prec.right(seq( + optional($.gnu_asm_expression), + choice( + seq(repeat1($.attribute_specifier), repeat($.attribute_declaration)), + seq(repeat($.attribute_specifier), repeat1($.attribute_declaration)), + ), + )), + + _function_postfix: $ => prec.right(choice( + repeat1($.virtual_specifier), + $.requires_clause, + )), + + function_declarator: $ => prec.dynamic(1, seq( + field('declarator', $._declarator), + $._function_declarator_seq, + )), + + function_field_declarator: $ => prec.dynamic(1, seq( + field('declarator', $._field_declarator), + $._function_declarator_seq, + )), + + abstract_function_declarator: $ => seq( + field('declarator', optional($._abstract_declarator)), + $._function_declarator_seq, + ), + + trailing_return_type: $ => seq('->', $.type_descriptor), + + noexcept: $ => prec.right(seq( + 'noexcept', + optional( + seq( + '(', + optional($.expression), + ')', + ), + ), + )), + + throw_specifier: $ => seq( + 'throw', + seq( + '(', + commaSep($.type_descriptor), + ')', + ), + ), + + template_type: $ => seq( + field('name', $._type_identifier), + field('arguments', $.template_argument_list), + ), + + template_method: $ => seq( + field('name', choice($._field_identifier, $.operator_name)), + field('arguments', $.template_argument_list), + ), + + template_function: $ => seq( + field('name', $.identifier), + field('arguments', $.template_argument_list), + ), + + template_argument_list: $ => seq( + '<', + commaSep(choice( + prec.dynamic(3, $.type_descriptor), + prec.dynamic(2, alias($.type_parameter_pack_expansion, $.parameter_pack_expansion)), + prec.dynamic(1, $.expression), + )), + alias(token(prec(1, '>')), '>'), + ), + + namespace_definition: $ => seq( + optional('inline'), + 'namespace', + optional($.attribute_declaration), + field('name', optional( + choice( + $._namespace_identifier, + $.nested_namespace_specifier, + ))), + field('body', $.declaration_list), + ), + + namespace_alias_definition: $ => seq( + 'namespace', + field('name', $._namespace_identifier), + '=', + choice( + $._namespace_identifier, + $.nested_namespace_specifier, + ), + ';', + ), + + _namespace_specifier: $ => seq( + optional('inline'), + $._namespace_identifier, + ), + + nested_namespace_specifier: $ => prec(1, seq( + optional($._namespace_specifier), + '::', + choice( + $.nested_namespace_specifier, + $._namespace_specifier, + ), + )), + + using_declaration: $ => seq( + 'using', + optional(choice('namespace', 'enum')), + choice( + $.identifier, + $.qualified_identifier, + ), + ';', + ), + + alias_declaration: $ => seq( + 'using', + field('name', $._type_identifier), + repeat($.attribute_declaration), + '=', + field('type', $.type_descriptor), + ';', + ), + + static_assert_declaration: $ => seq( + 'static_assert', + '(', + field('condition', $.expression), + optional(seq( + ',', + field('message', choice( + $.string_literal, + $.raw_string_literal, + $.concatenated_string, + )), + )), + ')', + ';', + ), + + concept_definition: $ => seq( + 'concept', + field('name', $.identifier), + '=', + $.expression, + ';', + ), + + // Statements + + _top_level_statement: ($, original) => choice( + original, + $.co_return_statement, + $.co_yield_statement, + $.for_range_loop, + $.try_statement, + $.throw_statement, + ), + + _non_case_statement: ($, original) => choice( + original, + $.co_return_statement, + $.co_yield_statement, + $.for_range_loop, + $.try_statement, + $.throw_statement, + ), + + switch_statement: $ => seq( + 'switch', + field('condition', $.condition_clause), + field('body', $.compound_statement), + ), + + while_statement: $ => seq( + 'while', + field('condition', $.condition_clause), + field('body', $.statement), + ), + + if_statement: $ => prec.right(seq( + 'if', + optional('constexpr'), + field('condition', $.condition_clause), + field('consequence', $.statement), + optional(field('alternative', $.else_clause)), + )), + + // Using prec(1) instead of prec.dynamic(1) causes issues with the + // range loop's declaration specifiers if `int` is passed in, it'll + // always prefer the standard for loop and give us a parse error. + _for_statement_body: ($, original) => prec.dynamic(1, original), + for_range_loop: $ => seq( + 'for', + '(', + $._for_range_loop_body, + ')', + field('body', $.statement), + ), + _for_range_loop_body: $ => seq( + field('initializer', optional($.init_statement)), + $._declaration_specifiers, + field('declarator', $._declarator), + ':', + field('right', choice( + $.expression, + $.initializer_list, + )), + ), + + init_statement: $ => choice( + $.alias_declaration, + $.type_definition, + $.declaration, + $.expression_statement, + ), + + condition_clause: $ => seq( + '(', + field('initializer', optional($.init_statement)), + field('value', choice( + $.expression, + $.comma_expression, + alias($.condition_declaration, $.declaration), + )), + ')', + ), + + condition_declaration: $ => seq( + $._declaration_specifiers, + field('declarator', $._declarator), + choice( + seq( + '=', + field('value', $.expression), + ), + field('value', $.initializer_list), + ), + ), + + return_statement: ($, original) => seq( + choice( + original, + seq('return', $.initializer_list, ';'), + ), + ), + + co_return_statement: $ => seq( + 'co_return', + optional($.expression), + ';', + ), + + co_yield_statement: $ => seq( + 'co_yield', + $.expression, + ';', + ), + + throw_statement: $ => seq( + 'throw', + optional($.expression), + ';', + ), + + try_statement: $ => seq( + 'try', + field('body', $.compound_statement), + repeat1($.catch_clause), + ), + + catch_clause: $ => seq( + 'catch', + field('parameters', $.parameter_list), + field('body', $.compound_statement), + ), + + // Expressions + + _expression_not_binary: ($, original) => choice( + original, + $.co_await_expression, + $.requires_expression, + $.requires_clause, + $.template_function, + $.qualified_identifier, + $.new_expression, + $.delete_expression, + $.lambda_expression, + $.parameter_pack_expansion, + $.this, + $.raw_string_literal, + $.user_defined_literal, + $.fold_expression, + ), + + raw_string_literal: $ => seq( + choice('R"', 'LR"', 'uR"', 'UR"', 'u8R"'), + choice( + seq( + field('delimiter', $.raw_string_delimiter), + '(', + $.raw_string_content, + ')', + $.raw_string_delimiter, + ), + seq( + '(', + $.raw_string_content, + ')', + )), + '"', + ), + + subscript_expression: $ => prec(PREC.SUBSCRIPT, seq( + field('argument', $.expression), + field('indices', $.subscript_argument_list), + )), + + subscript_argument_list: $ => seq( + '[', + commaSep(choice($.expression, $.initializer_list)), + ']', + ), + + call_expression: ($, original) => choice(original, seq( + field('function', $.primitive_type), + field('arguments', $.argument_list), + )), + + co_await_expression: $ => prec.left(PREC.UNARY, seq( + field('operator', 'co_await'), + field('argument', $.expression), + )), + + new_expression: $ => prec.right(PREC.NEW, seq( + optional('::'), + 'new', + field('placement', optional($.argument_list)), + field('type', $.type_specifier), + field('declarator', optional($.new_declarator)), + field('arguments', optional(choice( + $.argument_list, + $.initializer_list, + ))), + )), + + new_declarator: $ => prec.right(seq( + '[', + field('length', $.expression), + ']', + optional($.new_declarator), + )), + + delete_expression: $ => seq( + optional('::'), + 'delete', + optional(seq('[', ']')), + $.expression, + ), + + field_expression: $ => prec.right(seq( + prec(PREC.FIELD, seq( + field('argument', $.expression), + field('operator', choice('.', '.*', '->')), + )), + field('field', choice( + $._field_identifier, + alias($.qualified_field_identifier, $.qualified_identifier), + $.destructor_name, + $.template_method, + alias($.dependent_field_identifier, $.dependent_name), + )), + )), + + type_requirement: $ => seq('typename', $._class_name), + + compound_requirement: $ => seq( + '{', $.expression, '}', + optional('noexcept'), + optional($.trailing_return_type), + ';', + ), + + _requirement: $ => choice( + alias($.expression_statement, $.simple_requirement), + $.type_requirement, + $.compound_requirement, + ), + + requirement_seq: $ => seq('{', repeat($._requirement), '}'), + + constraint_conjunction: $ => prec.left(PREC.LOGICAL_AND, seq( + field('left', $._requirement_clause_constraint), + field('operator', choice('&&', 'and')), + field('right', $._requirement_clause_constraint)), + ), + + constraint_disjunction: $ => prec.left(PREC.LOGICAL_OR, seq( + field('left', $._requirement_clause_constraint), + field('operator', choice('||', 'or')), + field('right', $._requirement_clause_constraint)), + ), + + _requirement_clause_constraint: $ => choice( + // Primary expressions" + $.true, + $.false, + $._class_name, + $.fold_expression, + $.lambda_expression, + $.requires_expression, + + // Parenthesized expressions + seq('(', $.expression, ')'), + + // conjunction or disjunction of the above + $.constraint_conjunction, + $.constraint_disjunction, + ), + + requires_clause: $ => seq( + 'requires', + field('constraint', $._requirement_clause_constraint), + ), + + requires_parameter_list: $ => seq( + '(', + commaSep(choice( + $.parameter_declaration, + $.optional_parameter_declaration, + $.variadic_parameter_declaration, + )), + ')', + ), + + requires_expression: $ => seq( + 'requires', + field('parameters', optional(alias($.requires_parameter_list, $.parameter_list))), + field('requirements', $.requirement_seq), + ), + + lambda_expression: $ => seq( + field('captures', $.lambda_capture_specifier), + optional(seq( + field('template_parameters', $.template_parameter_list), + optional(field('constraint', $.requires_clause)), + )), + optional(field('declarator', $.abstract_function_declarator)), + field('body', $.compound_statement), + ), + + lambda_capture_specifier: $ => prec(PREC.LAMBDA, seq( + '[', + choice( + $.lambda_default_capture, + commaSep($.expression), + seq( + $.lambda_default_capture, + ',', commaSep1($.expression), + ), + ), + ']', + )), + + lambda_default_capture: _ => choice('=', '&'), + + _fold_operator: _ => choice(...FOLD_OPERATORS), + _binary_fold_operator: _ => choice(...FOLD_OPERATORS.map((operator) => seq(field('operator', operator), '...', operator))), + + _unary_left_fold: $ => seq( + field('left', '...'), + field('operator', $._fold_operator), + field('right', $.expression), + ), + _unary_right_fold: $ => seq( + field('left', $.expression), + field('operator', $._fold_operator), + field('right', '...'), + ), + _binary_fold: $ => seq( + field('left', $.expression), + $._binary_fold_operator, + field('right', $.expression), + ), + + fold_expression: $ => seq( + '(', + choice( + $._unary_right_fold, + $._unary_left_fold, + $._binary_fold, + ), + ')', + ), + + parameter_pack_expansion: $ => prec(-1, seq( + field('pattern', $.expression), + '...', + )), + + type_parameter_pack_expansion: $ => seq( + field('pattern', $.type_descriptor), + '...', + ), + + sizeof_expression: ($, original) => prec.right(PREC.SIZEOF, choice( + original, + seq( + 'sizeof', '...', + '(', + field('value', $.identifier), + ')', + ), + )), + + unary_expression: ($, original) => choice( + original, + prec.left(PREC.UNARY, seq( + field('operator', choice('not', 'compl')), + field('argument', $.expression), + )), + ), + + binary_expression: ($, original) => { + const table = [ + ['<=>', PREC.THREE_WAY], + ['or', PREC.LOGICAL_OR], + ['and', PREC.LOGICAL_AND], + ['bitor', PREC.INCLUSIVE_OR], + ['xor', PREC.EXCLUSIVE_OR], + ['bitand', PREC.BITWISE_AND], + ['not_eq', PREC.EQUAL], + ]; + + return choice( + original, + ...table.map(([operator, precedence]) => { + return prec.left(precedence, seq( + field('left', $.expression), + // @ts-ignore + field('operator', operator), + field('right', $.expression), + )); + })); + }, + + // The compound_statement is added to parse macros taking statements as arguments, e.g. MYFORLOOP(1, 10, i, { foo(i); bar(i); }) + argument_list: $ => seq( + '(', + commaSep(choice(seq(optional('__extension__'), $.expression), $.initializer_list, $.compound_statement)), + ')', + ), + + destructor_name: $ => prec(1, seq('~', $.identifier)), + + compound_literal_expression: ($, original) => choice( + original, + seq( + field('type', choice($._class_name, $.primitive_type)), + field('value', $.initializer_list), + ), + ), + + dependent_identifier: $ => seq('template', $.template_function), + dependent_field_identifier: $ => seq('template', $.template_method), + dependent_type_identifier: $ => seq('template', $.template_type), + + _scope_resolution: $ => prec(1, seq( + field('scope', optional(choice( + $._namespace_identifier, + $.template_type, + $.decltype, + alias($.dependent_type_identifier, $.dependent_name), + ))), + '::', + )), + + qualified_field_identifier: $ => prec.right(seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_field_identifier, $.dependent_name), + alias($.qualified_field_identifier, $.qualified_identifier), + $.template_method, + $._field_identifier, + )), + )), + + qualified_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_identifier, $.dependent_name), + $.qualified_identifier, + $.template_function, + seq(optional('template'), $.identifier), + $.operator_name, + $.destructor_name, + $.pointer_type_declarator, + )), + ), + + qualified_type_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.dependent_type_identifier, $.dependent_name), + alias($.qualified_type_identifier, $.qualified_identifier), + $.template_type, + $._type_identifier, + )), + ), + + qualified_operator_cast_identifier: $ => seq( + $._scope_resolution, + field('name', choice( + alias($.qualified_operator_cast_identifier, $.qualified_identifier), + $.operator_cast, + )), + ), + + _assignment_left_expression: ($, original) => choice( + original, + $.qualified_identifier, + $.user_defined_literal, + ), + + assignment_expression: $ => prec.right(PREC.ASSIGNMENT, seq( + field('left', $._assignment_left_expression), + field('operator', choice(...ASSIGNMENT_OPERATORS)), + field('right', choice($.expression, $.initializer_list)), + )), + + _assignment_expression_lhs: $ => seq( + field('left', $.expression), + field('operator', choice(...ASSIGNMENT_OPERATORS)), + field('right', choice($.expression, $.initializer_list)), + ), + + // This prevents an ambiguity between fold expressions + // and assignment expressions within parentheses. + parenthesized_expression: ($, original) => choice( + original, + seq('(', alias($._assignment_expression_lhs, $.assignment_expression), ')'), + ), + + operator_name: $ => prec(1, seq( + 'operator', + choice( + 'co_await', + '+', '-', '*', '/', '%', + '^', '&', '|', '~', + '!', '=', '<', '>', + '+=', '-=', '*=', '/=', '%=', '^=', '&=', '|=', + '<<', '>>', '>>=', '<<=', + '==', '!=', '<=', '>=', + '<=>', + '&&', '||', + '++', '--', + ',', + '->*', + '->', + '()', '[]', + 'xor', 'bitand', 'bitor', 'compl', + 'not', 'xor_eq', 'and_eq', 'or_eq', 'not_eq', + 'and', 'or', + seq(choice('new', 'delete'), optional('[]')), + seq('""', $.identifier), + ), + )), + + this: _ => 'this', + + concatenated_string: $ => prec.right(seq( + choice($.identifier, $.string_literal, $.raw_string_literal), + choice($.string_literal, $.raw_string_literal), + repeat(choice($.identifier, $.string_literal, $.raw_string_literal)), + )), + + + number_literal: $ => field('number_literal', choice($.grit_metavariable, $._number_literal)), + _number_literal: $ => { + const sign = /[-\+]/; + const separator = '\''; + const binary = /[01]/; + const binaryDigits = seq(repeat1(binary), repeat(seq(separator, repeat1(binary)))); + const decimal = /[0-9]/; + const firstDecimal = /[1-9]/; + const intDecimalDigits = seq(firstDecimal, repeat(decimal), repeat(seq(separator, repeat1(decimal)))); + const floatDecimalDigits = seq(repeat1(decimal), repeat(seq(separator, repeat1(decimal)))); + const hex = /[0-9a-fA-F]/; + const hexDigits = seq(repeat1(hex), repeat(seq(separator, repeat1(hex)))); + const octal = /[0-7]/; + const octalDigits = seq('0', repeat(octal), repeat(seq(separator, repeat1(octal)))); + const hexExponent = seq(/[pP]/, optional(sign), floatDecimalDigits); + const decimalExponent = seq(/[eE]/, optional(sign), floatDecimalDigits); + const intSuffix = /(ll|LL)[uU]?|[uU](ll|LL)?|[uU][lL]?|[uU][zZ]?|[lL][uU]?|[zZ][uU]?/; + const floatSuffix = /([fF](16|32|64|128)?)|[lL]|(bf16|BF16)/; + + return token(seq( + optional(sign), + choice( + seq( + choice( + seq(choice('0b', '0B'), binaryDigits), + intDecimalDigits, + seq(choice('0x', '0X'), hexDigits), + octalDigits, + ), + optional(intSuffix), + ), + seq( + choice( + seq(floatDecimalDigits, decimalExponent), + seq(floatDecimalDigits, '.', optional(floatDecimalDigits), optional(decimalExponent)), + seq('.', floatDecimalDigits, optional(decimalExponent)), + seq( + choice('0x', '0X'), + choice( + hexDigits, + seq(hexDigits, '.', optional(hexDigits)), + seq('.', hexDigits)), + hexExponent, + ), + ), + optional(floatSuffix), + ), + ), + )); + }, + + literal_suffix: _ => token.immediate(/[a-zA-Z_]\w*/), + + identifier: $ => field('identifier', choice($.grit_metavariable, $._identifier)), + _identifier: $ => + // eslint-disable-next-line max-len + /(\p{XID_Start}|\$|_|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})(\p{XID_Continue}|\$|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})*/, + + user_defined_literal: $ => choice($._user_defined_literal, $.grit_metavariable), + _user_defined_literal: $ => seq( + choice( + $.number_literal, + $.char_literal, + $.string_literal, + $.raw_string_literal, + $.concatenated_string, + ), + $.literal_suffix, + ), + + _namespace_identifier: $ => alias($.identifier, $.namespace_identifier), + grit_metavariable: ($) => token(prec(PREC.GRIT_METAVARIABLE, choice("µ...", /µ[a-zA-Z_][a-zA-Z0-9_]*/))), + }, +}); + +/** + * Creates a rule to optionally match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {ChoiceRule} + * + */ +function commaSep(rule) { + return optional(commaSep1(rule)); +} + +/** + * Creates a rule to match one or more of the rules separated by a comma + * + * @param {Rule} rule + * + * @return {SeqRule} + * + */ +function commaSep1(rule) { + return seq(rule, repeat(seq(',', rule))); +} diff --git a/resources/node-types/c-node-types.json b/resources/node-types/c-node-types.json new file mode 100644 index 000000000..ec2d205c6 --- /dev/null +++ b/resources/node-types/c-node-types.json @@ -0,0 +1,4627 @@ +[ + { + "type": "_abstract_declarator", + "named": true, + "subtypes": [ + { + "type": "abstract_array_declarator", + "named": true + }, + { + "type": "abstract_function_declarator", + "named": true + }, + { + "type": "abstract_parenthesized_declarator", + "named": true + }, + { + "type": "abstract_pointer_declarator", + "named": true + } + ] + }, + { + "type": "_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + { + "type": "_field_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + { + "type": "_type_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + { + "type": "expression", + "named": true, + "subtypes": [ + { + "type": "alignof_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "cast_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "compound_literal_expression", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "conditional_expression", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "generic_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "offsetof_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "sizeof_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + }, + { + "type": "type_specifier", + "named": true, + "subtypes": [ + { + "type": "enum_specifier", + "named": true + }, + { + "type": "macro_type_specifier", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "struct_specifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "union_specifier", + "named": true + } + ] + }, + { + "type": "abstract_array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "abstract_parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "abstract_pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "alignas_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "alignof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "%=", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "|=", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "prefix": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attribute_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "attribute_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attributed_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "attributed_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + } + }, + { + "type": "bitfield_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "break_statement", + "named": true, + "fields": {} + }, + { + "type": "call_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "case_statement", + "named": true, + "fields": { + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "cast_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "char_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "character", + "named": true + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "comma_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "compound_literal_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "compound_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "concatenated_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "conditional_expression", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {} + }, + { + "type": "declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "init_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "do_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "enum_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "enumerator_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "underlying_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + } + ] + } + }, + { + "type": "enumerator", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enumerator_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enumerator", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "field_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_field_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "bitfield_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_declaration", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "field_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + } + }, + { + "type": "field_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + } + ] + } + } + }, + { + "type": "field_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "update": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "function_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "generic_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_clobber_list", + "named": true, + "fields": { + "register": { + "multiple": true, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_expression", + "named": true, + "fields": { + "assembly_code": { + "multiple": false, + "required": true, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + }, + "clobbers": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_clobber_list", + "named": true + } + ] + }, + "goto_labels": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_goto_list", + "named": true + } + ] + }, + "input_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand_list", + "named": true + } + ] + }, + "output_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_qualifier", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_goto_list", + "named": true, + "fields": { + "label": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_qualifier", + "named": true, + "fields": {} + }, + { + "type": "goto_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + } + }, + { + "type": "init_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "initializer_pair", + "named": true + } + ] + } + }, + { + "type": "initializer_pair", + "named": true, + "fields": { + "designator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_designator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "subscript_designator", + "named": true + }, + { + "type": "subscript_range_designator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "linkage_specification", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "declaration_list", + "named": true + }, + { + "type": "function_definition", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "macro_type_specifier", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "ms_based_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "ms_call_modifier", + "named": true, + "fields": {} + }, + { + "type": "ms_declspec_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "ms_pointer_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + } + ] + } + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true, + "fields": {} + }, + { + "type": "null", + "named": true, + "fields": {} + }, + { + "type": "number_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "offsetof_expression", + "named": true, + "fields": { + "member": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter", + "named": true + } + ] + } + }, + { + "type": "parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "pointer_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&", + "named": false + }, + { + "type": "*", + "named": false + } + ] + } + } + }, + { + "type": "preproc_call", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + }, + "directive": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_directive", + "named": true + } + ] + } + } + }, + { + "type": "preproc_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_defined", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elif", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_else", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_function_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_params", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_if", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_ifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "preproc_include", + "named": true, + "fields": { + "path": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "system_lib_string", + "named": true + } + ] + } + } + }, + { + "type": "preproc_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "seh_except_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "filter": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "seh_finally_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + } + }, + { + "type": "seh_leave_statement", + "named": true, + "fields": {} + }, + { + "type": "seh_try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "seh_except_clause", + "named": true + }, + { + "type": "seh_finally_clause", + "named": true + } + ] + } + }, + { + "type": "sized_type_specifier", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "sizeof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "statement_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "storage_class_specifier", + "named": true, + "fields": {} + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "string_content", + "named": true + } + ] + } + }, + { + "type": "struct_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + } + ] + } + }, + { + "type": "subscript_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "index": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "subscript_range_designator", + "named": true, + "fields": { + "end": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "start": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "translation_unit", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "type_definition", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_descriptor", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "type_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "~", + "named": false + } + ] + } + } + }, + { + "type": "union_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + } + ] + } + }, + { + "type": "update_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "++", + "named": false + }, + { + "type": "--", + "named": false + } + ] + } + } + }, + { + "type": "variadic_parameter", + "named": true, + "fields": {} + }, + { + "type": "while_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "\n", + "named": false + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "#define", + "named": false + }, + { + "type": "#elif", + "named": false + }, + { + "type": "#elifdef", + "named": false + }, + { + "type": "#elifndef", + "named": false + }, + { + "type": "#else", + "named": false + }, + { + "type": "#endif", + "named": false + }, + { + "type": "#if", + "named": false + }, + { + "type": "#ifdef", + "named": false + }, + { + "type": "#ifndef", + "named": false + }, + { + "type": "#include", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "++", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "L\"", + "named": false + }, + { + "type": "L'", + "named": false + }, + { + "type": "NULL", + "named": false + }, + { + "type": "U\"", + "named": false + }, + { + "type": "U'", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "[[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "]]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "_Alignas", + "named": false + }, + { + "type": "_Alignof", + "named": false + }, + { + "type": "_Atomic", + "named": false + }, + { + "type": "_Generic", + "named": false + }, + { + "type": "_Noreturn", + "named": false + }, + { + "type": "__alignof", + "named": false + }, + { + "type": "__alignof__", + "named": false + }, + { + "type": "__asm__", + "named": false + }, + { + "type": "__attribute__", + "named": false + }, + { + "type": "__based", + "named": false + }, + { + "type": "__cdecl", + "named": false + }, + { + "type": "__clrcall", + "named": false + }, + { + "type": "__declspec", + "named": false + }, + { + "type": "__except", + "named": false + }, + { + "type": "__extension__", + "named": false + }, + { + "type": "__fastcall", + "named": false + }, + { + "type": "__finally", + "named": false + }, + { + "type": "__forceinline", + "named": false + }, + { + "type": "__inline", + "named": false + }, + { + "type": "__inline__", + "named": false + }, + { + "type": "__leave", + "named": false + }, + { + "type": "__restrict__", + "named": false + }, + { + "type": "__stdcall", + "named": false + }, + { + "type": "__thiscall", + "named": false + }, + { + "type": "__thread", + "named": false + }, + { + "type": "__try", + "named": false + }, + { + "type": "__unaligned", + "named": false + }, + { + "type": "__vectorcall", + "named": false + }, + { + "type": "_alignof", + "named": false + }, + { + "type": "_unaligned", + "named": false + }, + { + "type": "alignas", + "named": false + }, + { + "type": "alignof", + "named": false + }, + { + "type": "asm", + "named": false + }, + { + "type": "auto", + "named": false + }, + { + "type": "break", + "named": false + }, + { + "type": "case", + "named": false + }, + { + "type": "character", + "named": true + }, + { + "type": "comment", + "named": true + }, + { + "type": "const", + "named": false + }, + { + "type": "constexpr", + "named": false + }, + { + "type": "continue", + "named": false + }, + { + "type": "default", + "named": false + }, + { + "type": "defined", + "named": false + }, + { + "type": "do", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "extern", + "named": false + }, + { + "type": "false", + "named": true + }, + { + "type": "for", + "named": false + }, + { + "type": "goto", + "named": false + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "inline", + "named": false + }, + { + "type": "long", + "named": false + }, + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + }, + { + "type": "noreturn", + "named": false + }, + { + "type": "nullptr", + "named": false + }, + { + "type": "offsetof", + "named": false + }, + { + "type": "preproc_arg", + "named": true + }, + { + "type": "preproc_directive", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "register", + "named": false + }, + { + "type": "restrict", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "short", + "named": false + }, + { + "type": "signed", + "named": false + }, + { + "type": "sizeof", + "named": false + }, + { + "type": "static", + "named": false + }, + { + "type": "string_content", + "named": true + }, + { + "type": "struct", + "named": false + }, + { + "type": "switch", + "named": false + }, + { + "type": "system_lib_string", + "named": true + }, + { + "type": "thread_local", + "named": false + }, + { + "type": "true", + "named": true + }, + { + "type": "typedef", + "named": false + }, + { + "type": "u\"", + "named": false + }, + { + "type": "u'", + "named": false + }, + { + "type": "u8\"", + "named": false + }, + { + "type": "u8'", + "named": false + }, + { + "type": "union", + "named": false + }, + { + "type": "unsigned", + "named": false + }, + { + "type": "volatile", + "named": false + }, + { + "type": "while", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + }, + { + "type": "~", + "named": false + } +] \ No newline at end of file diff --git a/resources/node-types/cpp-node-types.json b/resources/node-types/cpp-node-types.json new file mode 100644 index 000000000..6e81f5072 --- /dev/null +++ b/resources/node-types/cpp-node-types.json @@ -0,0 +1,8038 @@ +[ + { + "type": "_abstract_declarator", + "named": true, + "subtypes": [ + { + "type": "abstract_array_declarator", + "named": true + }, + { + "type": "abstract_function_declarator", + "named": true + }, + { + "type": "abstract_parenthesized_declarator", + "named": true + }, + { + "type": "abstract_pointer_declarator", + "named": true + }, + { + "type": "abstract_reference_declarator", + "named": true + } + ] + }, + { + "type": "_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "structured_binding_declarator", + "named": true + }, + { + "type": "template_function", + "named": true + } + ] + }, + { + "type": "_field_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + }, + { + "type": "_type_declarator", + "named": true, + "subtypes": [ + { + "type": "array_declarator", + "named": true + }, + { + "type": "attributed_declarator", + "named": true + }, + { + "type": "function_declarator", + "named": true + }, + { + "type": "parenthesized_declarator", + "named": true + }, + { + "type": "pointer_declarator", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "reference_declarator", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + { + "type": "expression", + "named": true, + "subtypes": [ + { + "type": "alignof_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "cast_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "co_await_expression", + "named": true + }, + { + "type": "compound_literal_expression", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "conditional_expression", + "named": true + }, + { + "type": "delete_expression", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "fold_expression", + "named": true + }, + { + "type": "generic_expression", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "lambda_expression", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "offsetof_expression", + "named": true + }, + { + "type": "parameter_pack_expansion", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "pointer_expression", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "requires_expression", + "named": true + }, + { + "type": "sizeof_expression", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "template_function", + "named": true + }, + { + "type": "this", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + }, + { + "type": "user_defined_literal", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + }, + { + "type": "type_specifier", + "named": true, + "subtypes": [ + { + "type": "class_specifier", + "named": true + }, + { + "type": "decltype", + "named": true + }, + { + "type": "dependent_type", + "named": true + }, + { + "type": "enum_specifier", + "named": true + }, + { + "type": "placeholder_type_specifier", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "struct_specifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "union_specifier", + "named": true + } + ] + }, + { + "type": "abstract_array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "noexcept", + "named": true + }, + { + "type": "ref_qualifier", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "throw_specifier", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "abstract_parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "abstract_pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "abstract_reference_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + } + }, + { + "type": "access_specifier", + "named": true, + "fields": {} + }, + { + "type": "alias_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "alignas_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "alignof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "array_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "*", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "%=", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "and_eq", + "named": false + }, + { + "type": "or_eq", + "named": false + }, + { + "type": "xor_eq", + "named": false + }, + { + "type": "|=", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "prefix": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attribute_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "attribute_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "attributed_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "attributed_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "base_class_clause", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "<=>", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + } + }, + { + "type": "bitfield_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "break_statement", + "named": true, + "fields": {} + }, + { + "type": "call_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "primitive_type", + "named": true + } + ] + } + } + }, + { + "type": "case_statement", + "named": true, + "fields": { + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "seh_leave_statement", + "named": true + }, + { + "type": "seh_try_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "cast_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "catch_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "char_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "character", + "named": true + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + } + ] + } + }, + { + "type": "class_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "co_await_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "co_await", + "named": false + } + ] + } + } + }, + { + "type": "co_return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "co_yield_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "comma_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "compound_literal_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_descriptor", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "compound_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + } + ] + } + }, + { + "type": "compound_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "concatenated_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "concept_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "condition_clause", + "named": true, + "fields": { + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "init_statement", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "conditional_expression", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "constraint_conjunction", + "named": true, + "fields": { + "left": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&&", + "named": false + }, + { + "type": "and", + "named": false + } + ] + }, + "right": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "constraint_disjunction", + "named": true, + "fields": { + "left": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "or", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {} + }, + { + "type": "declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "init_declarator", + "named": true + }, + { + "type": "operator_cast", + "named": true + } + ] + }, + "default_value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "explicit_function_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "decltype", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "auto", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "default_method_clause", + "named": true, + "fields": {} + }, + { + "type": "delete_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "delete_method_clause", + "named": true, + "fields": {} + }, + { + "type": "dependent_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_function", + "named": true + }, + { + "type": "template_method", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + }, + { + "type": "dependent_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "destructor_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "do_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "enum_specifier", + "named": true, + "fields": { + "base": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "sized_type_specifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "enumerator_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + } + ] + } + }, + { + "type": "enumerator", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enumerator_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enumerator", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + } + ] + } + }, + { + "type": "explicit_function_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "field_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_field_declarator", + "named": true + } + ] + }, + "default_value": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "bitfield_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "field_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + } + }, + { + "type": "field_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "dependent_name", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": ".*", + "named": false + } + ] + } + } + }, + { + "type": "field_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "field_initializer", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_method", + "named": true + } + ] + } + }, + { + "type": "field_initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_initializer", + "named": true + } + ] + } + }, + { + "type": "fold_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "...", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->*", + "named": false + }, + { + "type": ".*", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "...", + "named": false + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "for_range_loop", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "init_statement", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "initializer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + }, + "update": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "friend_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "function_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "gnu_asm_expression", + "named": true + }, + { + "type": "noexcept", + "named": true + }, + { + "type": "ref_qualifier", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "throw_specifier", + "named": true + }, + { + "type": "trailing_return_type", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "function_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "compound_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "operator_cast", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "default_method_clause", + "named": true + }, + { + "type": "delete_method_clause", + "named": true + }, + { + "type": "explicit_function_specifier", + "named": true + }, + { + "type": "field_initializer_list", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "pure_virtual_clause", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "generic_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_clobber_list", + "named": true, + "fields": { + "register": { + "multiple": true, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_expression", + "named": true, + "fields": { + "assembly_code": { + "multiple": false, + "required": true, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + }, + "clobbers": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_clobber_list", + "named": true + } + ] + }, + "goto_labels": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_goto_list", + "named": true + } + ] + }, + "input_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand_list", + "named": true + } + ] + }, + "output_operands": { + "multiple": false, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_qualifier", + "named": true + } + ] + } + }, + { + "type": "gnu_asm_goto_list", + "named": true, + "fields": { + "label": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_input_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_input_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + }, + "symbol": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_output_operand_list", + "named": true, + "fields": { + "operand": { + "multiple": true, + "required": false, + "types": [ + { + "type": "gnu_asm_output_operand", + "named": true + } + ] + } + } + }, + { + "type": "gnu_asm_qualifier", + "named": true, + "fields": {} + }, + { + "type": "goto_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + } + }, + { + "type": "init_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "init_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + } + ] + } + }, + { + "type": "initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + }, + { + "type": "initializer_pair", + "named": true + } + ] + } + }, + { + "type": "initializer_pair", + "named": true, + "fields": { + "designator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "field_designator", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "subscript_designator", + "named": true + }, + { + "type": "subscript_range_designator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "lambda_capture_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "lambda_default_capture", + "named": true + } + ] + } + }, + { + "type": "lambda_default_capture", + "named": true, + "fields": {} + }, + { + "type": "lambda_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "captures": { + "multiple": false, + "required": true, + "types": [ + { + "type": "lambda_capture_specifier", + "named": true + } + ] + }, + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "requires_clause", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "abstract_function_declarator", + "named": true + } + ] + }, + "template_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + } + }, + { + "type": "linkage_specification", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "declaration_list", + "named": true + }, + { + "type": "function_definition", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "ms_based_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + } + }, + { + "type": "ms_call_modifier", + "named": true, + "fields": {} + }, + { + "type": "ms_declspec_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "ms_pointer_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + } + ] + } + }, + { + "type": "ms_unaligned_ptr_modifier", + "named": true, + "fields": {} + }, + { + "type": "namespace_alias_definition", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "namespace_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + { + "type": "namespace_definition", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + } + ] + } + }, + { + "type": "namespace_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "nested_namespace_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "nested_namespace_specifier", + "named": true + } + ] + } + }, + { + "type": "new_declarator", + "named": true, + "fields": { + "length": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "new_declarator", + "named": true + } + ] + } + }, + { + "type": "new_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + }, + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "new_declarator", + "named": true + } + ] + }, + "placement": { + "multiple": false, + "required": false, + "types": [ + { + "type": "argument_list", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + } + }, + { + "type": "noexcept", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "null", + "named": true, + "fields": {} + }, + { + "type": "number_literal", + "named": true, + "fields": { + "number_literal": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "offsetof_expression", + "named": true, + "fields": { + "member": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "operator_cast", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "operator_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "optional_parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "abstract_reference_declarator", + "named": true + } + ] + }, + "default_value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "optional_type_parameter_declaration", + "named": true, + "fields": { + "default_type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + }, + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "optional_parameter_declaration", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter", + "named": true + }, + { + "type": "variadic_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "parameter_pack_expansion", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + } + }, + { + "type": "parenthesized_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "ms_call_modifier", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + } + }, + { + "type": "placeholder_type_specifier", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "auto", + "named": true + }, + { + "type": "decltype", + "named": true + } + ] + } + }, + { + "type": "pointer_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "pointer_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "&", + "named": false + }, + { + "type": "*", + "named": false + } + ] + } + } + }, + { + "type": "pointer_type_declarator", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "ms_based_modifier", + "named": true + }, + { + "type": "ms_pointer_modifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "preproc_call", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + }, + "directive": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_directive", + "named": true + } + ] + } + } + }, + { + "type": "preproc_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_defined", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "preproc_elif", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_elifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_else", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_function_def", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "preproc_params", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_arg", + "named": true + } + ] + } + } + }, + { + "type": "preproc_if", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_ifdef", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "preproc_elif", + "named": true + }, + { + "type": "preproc_elifdef", + "named": true + }, + { + "type": "preproc_else", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "access_specifier", + "named": true + }, + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "enumerator", + "named": true + }, + { + "type": "field_declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + } + ] + } + }, + { + "type": "preproc_include", + "named": true, + "fields": { + "path": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "system_lib_string", + "named": true + } + ] + } + } + }, + { + "type": "preproc_params", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "pure_virtual_clause", + "named": true, + "fields": {} + }, + { + "type": "qualified_identifier", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": "dependent_name", + "named": true + }, + { + "type": "destructor_name", + "named": true + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "operator_cast", + "named": true + }, + { + "type": "operator_name", + "named": true + }, + { + "type": "pointer_type_declarator", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template", + "named": false + }, + { + "type": "template_function", + "named": true + }, + { + "type": "template_method", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "scope": { + "multiple": false, + "required": false, + "types": [ + { + "type": "decltype", + "named": true + }, + { + "type": "dependent_name", + "named": true + }, + { + "type": "namespace_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + } + }, + { + "type": "raw_string_literal", + "named": true, + "fields": { + "delimiter": { + "multiple": false, + "required": false, + "types": [ + { + "type": "raw_string_delimiter", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "raw_string_content", + "named": true + }, + { + "type": "raw_string_delimiter", + "named": true + } + ] + } + }, + { + "type": "ref_qualifier", + "named": true, + "fields": {} + }, + { + "type": "reference_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + }, + { + "type": "_field_declarator", + "named": true + }, + { + "type": "_type_declarator", + "named": true + }, + { + "type": "variadic_declarator", + "named": true + } + ] + } + }, + { + "type": "requirement_seq", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "compound_requirement", + "named": true + }, + { + "type": "simple_requirement", + "named": true + }, + { + "type": "type_requirement", + "named": true + } + ] + } + }, + { + "type": "requires_clause", + "named": true, + "fields": { + "constraint": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "constraint_conjunction", + "named": true + }, + { + "type": "constraint_disjunction", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "requires_expression", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + }, + "requirements": { + "multiple": false, + "required": true, + "types": [ + { + "type": "requirement_seq", + "named": true + } + ] + } + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + { + "type": "seh_except_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "filter": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parenthesized_expression", + "named": true + } + ] + } + } + }, + { + "type": "seh_finally_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + } + }, + { + "type": "seh_leave_statement", + "named": true, + "fields": {} + }, + { + "type": "seh_try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "seh_except_clause", + "named": true + }, + { + "type": "seh_finally_clause", + "named": true + } + ] + } + }, + { + "type": "simple_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "comma_expression", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "sized_type_specifier", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "primitive_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "sizeof_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "statement_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "static_assert_declaration", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "message": { + "multiple": false, + "required": false, + "types": [ + { + "type": "concatenated_string", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + } + }, + { + "type": "storage_class_specifier", + "named": true, + "fields": {} + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "string_content", + "named": true + } + ] + } + }, + { + "type": "struct_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "structured_binding_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "subscript_argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "initializer_list", + "named": true + } + ] + } + }, + { + "type": "subscript_designator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "indices": { + "multiple": false, + "required": true, + "types": [ + { + "type": "subscript_argument_list", + "named": true + } + ] + } + } + }, + { + "type": "subscript_range_designator", + "named": true, + "fields": { + "end": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "start": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + } + } + }, + { + "type": "template_argument_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "template_declaration", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "friend_declaration", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "requires_clause", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "type_specifier", + "named": true + } + ] + } + }, + { + "type": "template_function", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, + { + "type": "template_instantiation", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "template_method", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "operator_name", + "named": true + } + ] + } + } + }, + { + "type": "template_parameter_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "optional_parameter_declaration", + "named": true + }, + { + "type": "optional_type_parameter_declaration", + "named": true + }, + { + "type": "parameter_declaration", + "named": true + }, + { + "type": "template_template_parameter_declaration", + "named": true + }, + { + "type": "type_parameter_declaration", + "named": true + }, + { + "type": "variadic_parameter_declaration", + "named": true + }, + { + "type": "variadic_type_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "template_template_parameter_declaration", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_parameter_list", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "optional_type_parameter_declaration", + "named": true + }, + { + "type": "type_parameter_declaration", + "named": true + }, + { + "type": "variadic_type_parameter_declaration", + "named": true + } + ] + } + }, + { + "type": "template_type", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_argument_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "throw_specifier", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "throw_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "trailing_return_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_descriptor", + "named": true + } + ] + } + }, + { + "type": "translation_unit", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alias_declaration", + "named": true + }, + { + "type": "attributed_statement", + "named": true + }, + { + "type": "break_statement", + "named": true + }, + { + "type": "case_statement", + "named": true + }, + { + "type": "co_return_statement", + "named": true + }, + { + "type": "co_yield_statement", + "named": true + }, + { + "type": "compound_statement", + "named": true + }, + { + "type": "concept_definition", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "declaration", + "named": true + }, + { + "type": "do_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + }, + { + "type": "for_range_loop", + "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "function_definition", + "named": true + }, + { + "type": "goto_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "labeled_statement", + "named": true + }, + { + "type": "linkage_specification", + "named": true + }, + { + "type": "namespace_alias_definition", + "named": true + }, + { + "type": "namespace_definition", + "named": true + }, + { + "type": "preproc_call", + "named": true + }, + { + "type": "preproc_def", + "named": true + }, + { + "type": "preproc_function_def", + "named": true + }, + { + "type": "preproc_if", + "named": true + }, + { + "type": "preproc_ifdef", + "named": true + }, + { + "type": "preproc_include", + "named": true + }, + { + "type": "return_statement", + "named": true + }, + { + "type": "static_assert_declaration", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "template_declaration", + "named": true + }, + { + "type": "template_instantiation", + "named": true + }, + { + "type": "throw_statement", + "named": true + }, + { + "type": "try_statement", + "named": true + }, + { + "type": "type_definition", + "named": true + }, + { + "type": "type_specifier", + "named": true + }, + { + "type": "using_declaration", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "try_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "compound_statement", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "catch_clause", + "named": true + }, + { + "type": "field_initializer_list", + "named": true + } + ] + } + }, + { + "type": "type_definition", + "named": true, + "fields": { + "declarator": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_type_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_descriptor", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_abstract_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_identifier", + "named": true, + "fields": { + "identifier": { + "multiple": false, + "required": true, + "types": [ + { + "type": "grit_metavariable", + "named": true + } + ] + } + } + }, + { + "type": "type_parameter_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "type_qualifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + } + ] + } + }, + { + "type": "type_requirement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "preproc_defined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "compl", + "named": false + }, + { + "type": "not", + "named": false + }, + { + "type": "~", + "named": false + } + ] + } + } + }, + { + "type": "union_specifier", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "qualified_identifier", + "named": true + }, + { + "type": "template_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "alignas_qualifier", + "named": true + }, + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "base_class_clause", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "virtual_specifier", + "named": true + } + ] + } + }, + { + "type": "update_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "++", + "named": false + }, + { + "type": "--", + "named": false + } + ] + } + } + }, + { + "type": "user_defined_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "char_literal", + "named": true + }, + { + "type": "concatenated_string", + "named": true + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "literal_suffix", + "named": true + }, + { + "type": "number_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + } + }, + { + "type": "using_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "qualified_identifier", + "named": true + } + ] + } + }, + { + "type": "variadic_declarator", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "variadic_parameter", + "named": true, + "fields": {} + }, + { + "type": "variadic_parameter_declaration", + "named": true, + "fields": { + "declarator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "reference_declarator", + "named": true + }, + { + "type": "variadic_declarator", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_specifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_declaration", + "named": true + }, + { + "type": "attribute_specifier", + "named": true + }, + { + "type": "ms_declspec_modifier", + "named": true + }, + { + "type": "storage_class_specifier", + "named": true + }, + { + "type": "type_qualifier", + "named": true + }, + { + "type": "virtual", + "named": true + } + ] + } + }, + { + "type": "variadic_type_parameter_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "virtual_specifier", + "named": true, + "fields": {} + }, + { + "type": "while_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "condition_clause", + "named": true + } + ] + } + } + }, + { + "type": "\n", + "named": false + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "\"\"", + "named": false + }, + { + "type": "#define", + "named": false + }, + { + "type": "#elif", + "named": false + }, + { + "type": "#elifdef", + "named": false + }, + { + "type": "#elifndef", + "named": false + }, + { + "type": "#else", + "named": false + }, + { + "type": "#endif", + "named": false + }, + { + "type": "#if", + "named": false + }, + { + "type": "#ifdef", + "named": false + }, + { + "type": "#ifndef", + "named": false + }, + { + "type": "#include", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "'", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": "()", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "++", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": "->*", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": ".*", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "0", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "<=>", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "L\"", + "named": false + }, + { + "type": "L'", + "named": false + }, + { + "type": "LR\"", + "named": false + }, + { + "type": "NULL", + "named": false + }, + { + "type": "R\"", + "named": false + }, + { + "type": "U\"", + "named": false + }, + { + "type": "U'", + "named": false + }, + { + "type": "UR\"", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "[[", + "named": false + }, + { + "type": "[]", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "]]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "_Alignas", + "named": false + }, + { + "type": "_Alignof", + "named": false + }, + { + "type": "_Atomic", + "named": false + }, + { + "type": "_Generic", + "named": false + }, + { + "type": "_Noreturn", + "named": false + }, + { + "type": "__alignof", + "named": false + }, + { + "type": "__alignof__", + "named": false + }, + { + "type": "__asm__", + "named": false + }, + { + "type": "__attribute__", + "named": false + }, + { + "type": "__based", + "named": false + }, + { + "type": "__cdecl", + "named": false + }, + { + "type": "__clrcall", + "named": false + }, + { + "type": "__declspec", + "named": false + }, + { + "type": "__except", + "named": false + }, + { + "type": "__extension__", + "named": false + }, + { + "type": "__fastcall", + "named": false + }, + { + "type": "__finally", + "named": false + }, + { + "type": "__forceinline", + "named": false + }, + { + "type": "__inline", + "named": false + }, + { + "type": "__inline__", + "named": false + }, + { + "type": "__leave", + "named": false + }, + { + "type": "__restrict__", + "named": false + }, + { + "type": "__stdcall", + "named": false + }, + { + "type": "__thiscall", + "named": false + }, + { + "type": "__thread", + "named": false + }, + { + "type": "__try", + "named": false + }, + { + "type": "__unaligned", + "named": false + }, + { + "type": "__vectorcall", + "named": false + }, + { + "type": "_alignof", + "named": false + }, + { + "type": "_unaligned", + "named": false + }, + { + "type": "alignas", + "named": false + }, + { + "type": "alignof", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "and_eq", + "named": false + }, + { + "type": "asm", + "named": false + }, + { + "type": "auto", + "named": true + }, + { + "type": "bitand", + "named": false + }, + { + "type": "bitor", + "named": false + }, + { + "type": "break", + "named": false + }, + { + "type": "case", + "named": false + }, + { + "type": "catch", + "named": false + }, + { + "type": "character", + "named": true + }, + { + "type": "class", + "named": false + }, + { + "type": "co_await", + "named": false + }, + { + "type": "co_return", + "named": false + }, + { + "type": "co_yield", + "named": false + }, + { + "type": "comment", + "named": true + }, + { + "type": "compl", + "named": false + }, + { + "type": "concept", + "named": false + }, + { + "type": "const", + "named": false + }, + { + "type": "consteval", + "named": false + }, + { + "type": "constexpr", + "named": false + }, + { + "type": "constinit", + "named": false + }, + { + "type": "continue", + "named": false + }, + { + "type": "decltype", + "named": false + }, + { + "type": "default", + "named": false + }, + { + "type": "defined", + "named": false + }, + { + "type": "delete", + "named": false + }, + { + "type": "do", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "explicit", + "named": false + }, + { + "type": "extern", + "named": false + }, + { + "type": "false", + "named": true + }, + { + "type": "final", + "named": false + }, + { + "type": "for", + "named": false + }, + { + "type": "friend", + "named": false + }, + { + "type": "goto", + "named": false + }, + { + "type": "grit_metavariable", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "inline", + "named": false + }, + { + "type": "literal_suffix", + "named": true + }, + { + "type": "long", + "named": false + }, + { + "type": "ms_restrict_modifier", + "named": true + }, + { + "type": "ms_signed_ptr_modifier", + "named": true + }, + { + "type": "ms_unsigned_ptr_modifier", + "named": true + }, + { + "type": "mutable", + "named": false + }, + { + "type": "namespace", + "named": false + }, + { + "type": "new", + "named": false + }, + { + "type": "noexcept", + "named": false + }, + { + "type": "noreturn", + "named": false + }, + { + "type": "not", + "named": false + }, + { + "type": "not_eq", + "named": false + }, + { + "type": "nullptr", + "named": false + }, + { + "type": "offsetof", + "named": false + }, + { + "type": "operator", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "or_eq", + "named": false + }, + { + "type": "override", + "named": false + }, + { + "type": "preproc_arg", + "named": true + }, + { + "type": "preproc_directive", + "named": true + }, + { + "type": "primitive_type", + "named": true + }, + { + "type": "private", + "named": false + }, + { + "type": "protected", + "named": false + }, + { + "type": "public", + "named": false + }, + { + "type": "raw_string_content", + "named": true + }, + { + "type": "raw_string_delimiter", + "named": true + }, + { + "type": "register", + "named": false + }, + { + "type": "requires", + "named": false + }, + { + "type": "restrict", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "short", + "named": false + }, + { + "type": "signed", + "named": false + }, + { + "type": "sizeof", + "named": false + }, + { + "type": "static", + "named": false + }, + { + "type": "static_assert", + "named": false + }, + { + "type": "string_content", + "named": true + }, + { + "type": "struct", + "named": false + }, + { + "type": "switch", + "named": false + }, + { + "type": "system_lib_string", + "named": true + }, + { + "type": "template", + "named": false + }, + { + "type": "this", + "named": true + }, + { + "type": "thread_local", + "named": false + }, + { + "type": "throw", + "named": false + }, + { + "type": "true", + "named": true + }, + { + "type": "try", + "named": false + }, + { + "type": "typedef", + "named": false + }, + { + "type": "typename", + "named": false + }, + { + "type": "u\"", + "named": false + }, + { + "type": "u'", + "named": false + }, + { + "type": "u8\"", + "named": false + }, + { + "type": "u8'", + "named": false + }, + { + "type": "u8R\"", + "named": false + }, + { + "type": "uR\"", + "named": false + }, + { + "type": "union", + "named": false + }, + { + "type": "unsigned", + "named": false + }, + { + "type": "using", + "named": false + }, + { + "type": "virtual", + "named": true + }, + { + "type": "volatile", + "named": false + }, + { + "type": "while", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "xor_eq", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + }, + { + "type": "~", + "named": false + } +] \ No newline at end of file